summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
committerroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
commit8fbc0076a4827ddc6af92e0b9daa4c4c31450808 (patch)
tree03fd0e2921ebd53228d9a93e32ed3976b636cbea
parente445a313723389ba9ee1fded025c567dae5b21ea (diff)
Fri Jul 19 01:09:18 PDT 2013
-rw-r--r--community/0ad/PKGBUILD45
-rw-r--r--community/0ad/boost-1.50.patch39
-rw-r--r--community/6tunnel/PKGBUILD23
-rw-r--r--community/9base/913
-rw-r--r--community/9base/PKGBUILD48
-rw-r--r--community/9base/plan9.sh4
-rw-r--r--community/abe/PKGBUILD42
-rw-r--r--community/abe/abe.desktop8
-rw-r--r--community/abe/abe.patch24
-rw-r--r--community/account-plugins/PKGBUILD31
-rw-r--r--community/account-plugins/account-plugins.install11
-rw-r--r--community/acpi/PKGBUILD24
-rw-r--r--community/acpid/PKGBUILD52
-rw-r--r--community/acpid/acpid.service10
-rw-r--r--community/acpid/acpid.socket8
-rw-r--r--community/acpid/anything3
-rw-r--r--community/acpid/handler.sh77
-rw-r--r--community/activity-log-manager/PKGBUILD36
-rw-r--r--community/activity-log-manager/activity-log-manager.install11
-rw-r--r--community/addinclude/PKGBUILD34
-rw-r--r--community/adesklets/PKGBUILD53
-rw-r--r--community/adesklets/adesklets.install31
-rw-r--r--community/adesklets/fontconfig-2.4.patch50
-rw-r--r--community/adesklets/posix_signal.patch81
-rw-r--r--community/adns-python/PKGBUILD25
-rw-r--r--community/adns/PKGBUILD23
-rw-r--r--community/adns/so-fix.patch10
-rwxr-xr-xcommunity/aegisub/PKGBUILD36
-rwxr-xr-xcommunity/aegisub/aegisub.install14
-rw-r--r--community/afpfs-ng/01-gcrypt.patch26
-rw-r--r--community/afpfs-ng/02-pointer.patch280
-rw-r--r--community/afpfs-ng/10-fix-errno.patch23
-rw-r--r--community/afpfs-ng/20-build-error-fixes.patch125
-rw-r--r--community/afpfs-ng/21-header-path-fix.patch16
-rw-r--r--community/afpfs-ng/30-include-fixes.patch44
-rw-r--r--community/afpfs-ng/PKGBUILD66
-rw-r--r--community/afpfs-ng/fix_afpfs-ng_includes.patch3082
-rw-r--r--community/agave/PKGBUILD42
-rw-r--r--community/agave/agave-0.4.7-mdv-fix-str-fmt.patch12
-rw-r--r--community/agave/agave.install22
-rw-r--r--community/agave/drop-libgnome.patch66
-rw-r--r--community/agave/schemebox.patch11
-rw-r--r--community/agg/PKGBUILD34
-rw-r--r--community/agg/agg-2.4-depends.patch48
-rw-r--r--community/agg/agg-2.5-pkgconfig.patch10
-rw-r--r--community/agsync/PKGBUILD25
-rw-r--r--community/aiccu/02-allow-tunnels.patch61
-rw-r--r--community/aiccu/03-no-quiet-gcc.patch16
-rw-r--r--community/aiccu/04-skip-strip.patch16
-rw-r--r--community/aiccu/05-spelling-error.patch46
-rw-r--r--community/aiccu/06-setup-script.patch40
-rw-r--r--community/aiccu/PKGBUILD52
-rw-r--r--community/aiccu/aiccu.service12
-rw-r--r--community/aide/PKGBUILD41
-rw-r--r--community/aide/aide.conf146
-rw-r--r--community/aircrack-ng/ChangeLog66
-rw-r--r--community/aircrack-ng/PKGBUILD91
-rw-r--r--community/alex/PKGBUILD35
-rw-r--r--community/algol68g/PKGBUILD41
-rw-r--r--community/algol68g/plotutils.patch20
-rw-r--r--community/allegro/PKGBUILD40
-rw-r--r--community/alleyoop/PKGBUILD65
-rw-r--r--community/alleyoop/alleyoop.desktop11
-rw-r--r--community/alleyoop/alleyoop.install15
-rw-r--r--community/alltray/PKGBUILD27
-rw-r--r--community/almanah/PKGBUILD40
-rw-r--r--community/almanah/almanah.install12
-rw-r--r--community/almanah/eds-3.8.patch2609
-rw-r--r--community/almanah/update-gtkspell3-support.patch90
-rw-r--r--community/alure/PKGBUILD35
-rw-r--r--community/amidi-plug/PKGBUILD23
-rw-r--r--community/amsn/PKGBUILD46
-rw-r--r--community/amsn/amsn-0.98.9-no-rebuild-on-install.patch14
-rw-r--r--community/amsn/amsn-0.98.9-v4l2.patch44
-rw-r--r--community/amsn/amsn.changelog11
-rw-r--r--community/antiword/PKGBUILD34
-rw-r--r--community/antiword/antiword-helper13
-rw-r--r--community/antiword/antiword.install16
-rw-r--r--community/anyfs-tools/PKGBUILD42
-rw-r--r--community/anyfs-tools/anyfs-tools.install7
-rw-r--r--community/anyfs-tools/disable-build-ext2fs.patch20
-rw-r--r--community/apcupsd/PKGBUILD46
-rw-r--r--community/apcupsd/apcupsd-tmpfiles.conf2
-rw-r--r--community/apcupsd/apcupsd.service8
-rw-r--r--community/apg/ChangeLog3
-rw-r--r--community/apg/PKGBUILD26
-rw-r--r--community/apitrace/PKGBUILD33
-rw-r--r--community/apitrace/gcc-4.7-fix.patch39
-rw-r--r--community/apper/PKGBUILD45
-rw-r--r--community/apper/apper.install29
-rw-r--r--community/apvlv/PKGBUILD44
-rw-r--r--community/apvlv/apvlv-poppler015.patch12
-rw-r--r--community/apvlv/apvlv.desktop17
-rw-r--r--community/apvlv/apvlv.install7
-rw-r--r--community/apvlv/poppler-gdk.patch150
-rw-r--r--community/aqbanking/PKGBUILD27
-rw-r--r--community/arch/PKGBUILD29
-rw-r--r--community/aria2/PKGBUILD45
-rw-r--r--community/ario/PKGBUILD30
-rw-r--r--community/ario/ario.changelog36
-rw-r--r--community/ario/ario.install11
-rw-r--r--community/arm-elf-binutils/PKGBUILD54
-rw-r--r--community/arm-elf-gcc-base/PKGBUILD61
-rw-r--r--community/arm-wince-cegcc-gcc-base/PKGBUILD55
-rw-r--r--community/arm-wince-cegcc-gcc/PKGBUILD66
-rw-r--r--community/armagetronad/PKGBUILD45
-rw-r--r--community/arp-scan/PKGBUILD26
-rw-r--r--community/arpack/PKGBUILD36
-rw-r--r--community/arptables/PKGBUILD49
-rw-r--r--community/arptables/arptables.service11
-rw-r--r--community/arptables/arptables.systemd21
-rw-r--r--community/arpwatch/LICENSE18
-rw-r--r--community/arpwatch/PKGBUILD48
-rw-r--r--community/arpwatch/arpwatch.service11
-rw-r--r--community/ascii/PKGBUILD33
-rw-r--r--community/aspell-ca/PKGBUILD27
-rw-r--r--community/aspell-cs/PKGBUILD27
-rw-r--r--community/aspell-pl/PKGBUILD26
-rw-r--r--community/aspell-uk/PKGBUILD37
-rw-r--r--community/assimp/PKGBUILD30
-rw-r--r--community/astromenace/PKGBUILD42
-rw-r--r--community/astromenace/astromenace.desktop10
-rw-r--r--community/astromenace/astromenace.patch12
-rw-r--r--community/astromenace/astromenace.pngbin0 -> 6789 bytes
-rw-r--r--community/astromenace/astromenace.sh3
-rw-r--r--community/astyle/PKGBUILD34
-rw-r--r--community/at/PKGBUILD33
-rw-r--r--community/at/atd.service9
-rw-r--r--community/atanks/PKGBUILD32
-rw-r--r--community/atop/PKGBUILD30
-rw-r--r--community/audit/PKGBUILD63
-rw-r--r--community/audit/python2.patch11
-rw-r--r--community/augeas/PKGBUILD28
-rw-r--r--community/aumix/PKGBUILD40
-rw-r--r--community/aumix/aumix.desktop12
-rw-r--r--community/aumix/aumix.install13
-rw-r--r--community/autocutsel/PKGBUILD25
-rw-r--r--community/autocutsel/autocutsel.install20
-rw-r--r--community/autofs/0001-autofs-5.0.5-include-krb5-library.patch206
-rw-r--r--community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch59
-rw-r--r--community/autofs/PKGBUILD52
-rw-r--r--community/autofs/auto.master6
-rw-r--r--community/autofs/auto.misc7
-rw-r--r--community/autofs/autofs.install4
-rw-r--r--community/autossh/LICENSE16
-rw-r--r--community/autossh/PKGBUILD33
-rw-r--r--community/avant-window-navigator/688_687.diff23
-rw-r--r--community/avant-window-navigator/821_820.diff96
-rw-r--r--community/avant-window-navigator/824_823.diff40
-rw-r--r--community/avant-window-navigator/PKGBUILD67
-rw-r--r--community/avant-window-navigator/avant-window-navigator.install22
-rw-r--r--community/avfs/PKGBUILD31
-rw-r--r--community/avifile/PKGBUILD47
-rw-r--r--community/avifile/gcc.patch145
-rw-r--r--community/avifile/videodev.patch180
-rw-r--r--community/avr-binutils/PKGBUILD89
-rw-r--r--community/avr-binutils/avr-binutils.install17
-rw-r--r--community/avr-binutils/avr-size.patch432
-rw-r--r--community/avr-binutils/binutils-2.23.2-texinfo-5.0.patch162
-rw-r--r--community/avr-gcc/PKGBUILD101
-rw-r--r--community/avr-gdb/PKGBUILD55
-rw-r--r--community/avrdude/PKGBUILD30
-rw-r--r--community/awesome/PKGBUILD67
-rw-r--r--community/awesome/awesome.desktop7
-rw-r--r--community/awn-extras-applets/PKGBUILD89
-rw-r--r--community/awn-extras-applets/add-battery-upower-support.patch200
-rw-r--r--community/awn-extras-applets/awn-extras-applets.install23
-rw-r--r--community/awn-extras-applets/awn-extras-glib2.32.patch226
-rw-r--r--community/awn-extras-applets/awn-extras-libnotify0.7.patch12
-rw-r--r--community/awn-extras-applets/cairo-menu-upower.patch51
-rw-r--r--community/awn-extras-applets/check-dependencies.patch71
-rw-r--r--community/awn-extras-applets/fix-shinyswitcher-scrolling.patch96
-rw-r--r--community/awn-extras-applets/fix-weather-applet.patch48
-rw-r--r--community/awn-extras-applets/remove-settings-menu.patch229
-rw-r--r--community/axel/PKGBUILD28
-rw-r--r--community/balsa/PKGBUILD45
-rw-r--r--community/balsa/balsa.changelog2
-rw-r--r--community/balsa/balsa.install12
-rw-r--r--community/bam/PKGBUILD22
-rw-r--r--community/barrage/PKGBUILD30
-rw-r--r--community/barrage/barrage.changelog2
-rw-r--r--community/barrage/barrage.install11
-rw-r--r--community/bbpager/02_gcc43.dpatch40
-rw-r--r--community/bbpager/PKGBUILD36
-rw-r--r--community/bbpager/fix-linking-ugly.diff12
-rw-r--r--community/bbrun/PKGBUILD20
-rw-r--r--community/bcg729/PKGBUILD25
-rw-r--r--community/bchunk/PKGBUILD30
-rw-r--r--community/beaver/PKGBUILD34
-rw-r--r--community/beaver/beaver.install13
-rw-r--r--community/beye/PKGBUILD48
-rw-r--r--community/beye/biew-610-fix_localedep-1.patch26
-rw-r--r--community/beye/biew-610-portable_configure-1.patch167
-rw-r--r--community/beye/biew-610-setup_window-1.patch28
-rw-r--r--community/bibutils/PKGBUILD27
-rw-r--r--community/bin2iso/PKGBUILD28
-rw-r--r--community/bind/127.0.0.zone11
-rw-r--r--community/bind/PKGBUILD81
-rw-r--r--community/bind/bind.install23
-rw-r--r--community/bind/localhost.zone10
-rw-r--r--community/bind/named.conf64
-rw-r--r--community/bind/named.logrotate6
-rw-r--r--community/bind/named.service11
-rw-r--r--community/bind/tmpfiles.d1
-rw-r--r--community/bird/PKGBUILD89
-rw-r--r--community/bird/bird.service11
-rw-r--r--community/bird/bird6.service11
-rw-r--r--community/bitcoin/PKGBUILD57
-rw-r--r--community/bitcoin/bitcoin-qt.install11
-rw-r--r--community/bless/PKGBUILD26
-rw-r--r--community/blobby2/PKGBUILD36
-rw-r--r--community/blobby2/blobby2.desktop11
-rw-r--r--community/blobby2/blobby2.pngbin0 -> 8032 bytes
-rw-r--r--community/blobwars/PKGBUILD41
-rw-r--r--community/blobwars/blobwars.install11
-rw-r--r--community/blueman/PKGBUILD46
-rw-r--r--community/blueman/blueman.install11
-rw-r--r--community/bochs/PKGBUILD27
-rw-r--r--community/bomberclone/PKGBUILD37
-rw-r--r--community/bomberclone/bomberclone-0.11.9-build-fix.patch444
-rw-r--r--community/bomberclone/bomberclone.desktop10
-rw-r--r--community/bonnie++/PKGBUILD33
-rw-r--r--community/bonnie++/move_away_from_sbin.patch14
-rw-r--r--community/botan/PKGBUILD35
-rw-r--r--community/box2d/PKGBUILD44
-rw-r--r--community/brise/PKGBUILD27
-rw-r--r--community/bsd-games/PKGBUILD104
-rw-r--r--community/bsd-games/bad-ntohl-cast.diff22
-rw-r--r--community/bsd-games/bsd-games-2.17-64bit.patch43
-rw-r--r--community/bsd-games/bsd-games.install11
-rw-r--r--community/bsd-games/config.params15
-rw-r--r--community/bsd-games/gamescreen.h.diff15
-rw-r--r--community/bsd-games/getline.diff194
-rw-r--r--community/bsd-games/null-check.diff24
-rw-r--r--community/bsd-games/number.c.diff156
-rw-r--r--community/bsd-games/stdio.h.diff14
-rw-r--r--community/bsdiff/Makefile.patch25
-rw-r--r--community/bsdiff/PKGBUILD24
-rw-r--r--community/btanks/PKGBUILD75
-rw-r--r--community/btanks/btanks.install7
-rw-r--r--community/btanks/btanks_desktop10
-rw-r--r--community/btanks/btanks_script6
-rw-r--r--community/btanks/bted_script6
-rw-r--r--community/btanks/gcc-4.6.patch70
-rw-r--r--community/btanks/lua52.patch21
-rw-r--r--community/bti/PKGBUILD29
-rw-r--r--community/bullet/PKGBUILD74
-rw-r--r--community/bullet/bullet.pc11
-rw-r--r--community/buoh/PKGBUILD40
-rw-r--r--community/buoh/buoh-libsoup24.patch71
-rw-r--r--community/buoh/buoh.install22
-rw-r--r--community/busybox/PKGBUILD31
-rw-r--r--community/busybox/busybox.install14
-rw-r--r--community/busybox/config1034
-rw-r--r--community/bwbar/PKGBUILD28
-rw-r--r--community/bwm-ng/PKGBUILD29
-rw-r--r--community/c++-gtk-utils/PKGBUILD29
-rw-r--r--community/cabextract/PKGBUILD28
-rw-r--r--community/cadaver/ChangeLog3
-rw-r--r--community/cadaver/PKGBUILD25
-rw-r--r--community/cairo-clock/PKGBUILD35
-rw-r--r--community/cairo-clock/cairo-clock.patch18
-rwxr-xr-xcommunity/cairo-dock-plugins/PKGBUILD66
-rw-r--r--community/cairo-dock-plugins/python.patch49
-rwxr-xr-xcommunity/cairo-dock/PKGBUILD45
-rwxr-xr-xcommunity/cairo-dock/gldit-rpath.patch13
-rw-r--r--community/calc/PKGBUILD62
-rw-r--r--community/calcurse/PKGBUILD29
-rw-r--r--community/calcurse/calcurse.install8
-rw-r--r--community/calf/PKGBUILD30
-rw-r--r--community/calf/calf.install14
-rw-r--r--community/canorus/PKGBUILD35
-rw-r--r--community/cantata/PKGBUILD36
-rw-r--r--community/cantata/cantata.install12
-rw-r--r--community/caph/PKGBUILD36
-rw-r--r--community/caph/caph.desktop7
-rw-r--r--community/castget/PKGBUILD28
-rw-r--r--community/castget/castget.changelog6
-rw-r--r--community/catdoc/PKGBUILD31
-rw-r--r--community/catdvi/PKGBUILD37
-rw-r--r--community/catdvi/texlive2008.patch58
-rw-r--r--community/ccd2iso/ChangeLog3
-rw-r--r--community/ccd2iso/PKGBUILD28
-rw-r--r--community/ccid/PKGBUILD31
-rw-r--r--community/cclive/PKGBUILD28
-rw-r--r--community/ccmalloc/PKGBUILD28
-rw-r--r--community/ccrypt/PKGBUILD30
-rw-r--r--community/ccze/PKGBUILD35
-rw-r--r--community/ccze/ccze-fix-segfault.diff11
-rw-r--r--community/cdargs/PKGBUILD36
-rw-r--r--community/cdargs/cdargs.install3
-rw-r--r--community/cdbxx/PKGBUILD25
-rw-r--r--community/cdcd/PKGBUILD44
-rw-r--r--community/cdcd/cdcd-0.6.6-x86_64.patch11
-rw-r--r--community/cdcd/cdcd.install20
-rw-r--r--community/cdck/PKGBUILD30
-rw-r--r--community/cdcover/PKGBUILD32
-rw-r--r--community/cdcover/cdcover.install7
-rw-r--r--community/cddb-py/PKGBUILD26
-rw-r--r--community/cdemu-daemon/PKGBUILD54
-rw-r--r--community/cdemu-daemon/cdemu-daemon.install42
-rw-r--r--community/cdemu-daemon/system-arch.patch121
-rw-r--r--community/cegui/PKGBUILD51
-rw-r--r--community/cegui/cegui-0.7.6-python-detection.patch11
-rw-r--r--community/cellwriter/PKGBUILD34
-rw-r--r--community/cellwriter/cellwriter.install14
-rw-r--r--community/celt0.5.1/PKGBUILD29
-rw-r--r--community/centerim/PKGBUILD32
-rw-r--r--community/cgit/PKGBUILD45
-rw-r--r--community/cgit/apache.example.conf25
-rw-r--r--community/cgit/cgit.install7
-rw-r--r--community/cgoban/PKGBUILD27
-rw-r--r--community/checkinstall/PKGBUILD27
-rw-r--r--community/checkinstall/build-fix.patch154
-rw-r--r--community/chicken/PKGBUILD31
-rw-r--r--community/chmsee/PKGBUILD52
-rw-r--r--community/chmsee/chmsee2
-rw-r--r--community/chmsee/chmsee.install11
-rw-r--r--community/chntpw/PKGBUILD34
-rw-r--r--community/choqok/PKGBUILD37
-rw-r--r--community/choqok/choqok.install11
-rw-r--r--community/chromium-bsu/PKGBUILD29
-rw-r--r--community/chromium-bsu/chromium-bsu.install11
-rw-r--r--community/chrony/PKGBUILD48
-rw-r--r--community/chrony/service11
-rw-r--r--community/chrootuid/PKGBUILD30
-rw-r--r--community/chrpath/PKGBUILD25
-rw-r--r--community/chuck/PKGBUILD40
-rw-r--r--community/cinnamon-control-center/PKGBUILD65
-rw-r--r--community/cinnamon-control-center/cinnamon-control-center.install11
-rw-r--r--community/cinnamon-control-center/gnomerrlabeler.patch766
-rw-r--r--community/cinnamon-control-center/idle-delay.patch71
-rw-r--r--community/cinnamon-screensaver/PKGBUILD53
-rw-r--r--community/cinnamon-screensaver/cinnamon-screensaver.desktop11
-rw-r--r--community/cinnamon-screensaver/cinnamon-screensaver.pam3
-rw-r--r--community/cinnamon-screensaver/cinnamon2d-screensaver.desktop11
-rw-r--r--community/cinnamon-screensaver/fix-dbus-compatibility.patch149
-rw-r--r--community/cinnamon/PKGBUILD85
-rw-r--r--community/cinnamon/cinnamon.install11
-rw-r--r--community/cinnamon/fallback-helpers.patch20
-rw-r--r--community/cinnamon/fix-control-center-check.patch12
-rw-r--r--community/cinnamon/gnome-3.8.patch4186
-rw-r--r--community/cinnamon/idle-dim.patch35
-rw-r--r--community/cinnamon/keyboard_applet.patch142
-rw-r--r--community/cinnamon/switch-applications.patch31
-rw-r--r--community/cksfv/PKGBUILD26
-rw-r--r--community/clamz/PKGBUILD31
-rw-r--r--community/clamz/clamz.install16
-rw-r--r--community/clanlib/PKGBUILD37
-rw-r--r--community/classpath/PKGBUILD62
-rw-r--r--community/clearsilver/PKGBUILD55
-rw-r--r--community/clearsilver/clearsilver-ruby-1.9.patch244
-rw-r--r--community/clewn/ChangeLog5
-rw-r--r--community/clewn/PKGBUILD23
-rw-r--r--community/clewn/clewn.install14
-rw-r--r--community/clinica/PKGBUILD42
-rw-r--r--community/clinica/clinica.install11
-rw-r--r--community/clipit/PKGBUILD28
-rw-r--r--community/clipit/clipit.install7
-rw-r--r--community/clusterssh/ChangeLog3
-rw-r--r--community/clusterssh/PKGBUILD28
-rw-r--r--community/cmatrix/PKGBUILD30
-rw-r--r--community/cmatrix/cmatrix.install3
-rw-r--r--community/cmus/PKGBUILD46
-rw-r--r--community/cmus/cmus-2.5.0-opus-support.patch417
-rw-r--r--community/codeblocks/PKGBUILD33
-rw-r--r--community/codeblocks/codeblocks.install26
-rw-r--r--community/collectd/PKGBUILD76
-rw-r--r--community/collectd/libperl.patch29
-rw-r--r--community/collectd/service13
-rw-r--r--community/commoncpp2/PKGBUILD38
-rw-r--r--community/commoncpp2/commoncpp2.install22
-rw-r--r--community/confuse/PKGBUILD28
-rw-r--r--community/connman/PKGBUILD49
-rw-r--r--community/connman/allow_group_network.diff12
-rw-r--r--community/conntrack-tools/01-config-file-path.patch12
-rw-r--r--community/conntrack-tools/PKGBUILD49
-rw-r--r--community/conntrack-tools/conntrack-tools.install9
-rw-r--r--community/conntrack-tools/conntrackd.service8
-rw-r--r--community/consonance/PKGBUILD40
-rw-r--r--community/consonance/cdio-includes.patch12
-rw-r--r--community/consonance/consonance.install14
-rw-r--r--community/consonance/libnotify.patch18
-rw-r--r--community/converseen/PKGBUILD38
-rw-r--r--community/converseen/converseen.install11
-rw-r--r--community/corkscrew/ChangeLog3
-rw-r--r--community/corkscrew/PKGBUILD25
-rw-r--r--community/couchdb/PKGBUILD48
-rw-r--r--community/couchdb/couchdb.install22
-rw-r--r--community/couchdb/couchdb.service12
-rw-r--r--community/couchdb/couchdb.tmpfiles1
-rw-r--r--community/cppcheck/PKGBUILD34
-rw-r--r--community/cpuburn/PKGBUILD30
-rw-r--r--community/cpuburn/cpuburn.patch41
-rw-r--r--community/cpulimit/PKGBUILD21
-rw-r--r--community/credentials-preferences/PKGBUILD41
-rw-r--r--community/credentials-preferences/credentials-preferences.install11
-rw-r--r--community/critter/PKGBUILD44
-rw-r--r--community/critter/criticalmass-1.0.2-libpng15.patch31
-rw-r--r--community/critter/critter-gcc43.patch69
-rw-r--r--community/critter/critter.desktop9
-rw-r--r--community/cromfs/PKGBUILD34
-rw-r--r--community/cromfs/make-generic.patch25
-rw-r--r--community/csfml/PKGBUILD34
-rw-r--r--community/ctpl/PKGBUILD30
-rw-r--r--community/cuetools/PKGBUILD33
-rw-r--r--community/cuetools/cuetag.patch37
-rw-r--r--community/cuneiform/PKGBUILD48
-rw-r--r--community/curlftpfs/PKGBUILD30
-rw-r--r--community/curlftpfs/ioerror.patch11
-rw-r--r--community/cutter/ChangeLog3
-rw-r--r--community/cutter/PKGBUILD21
-rw-r--r--community/cuyo/PKGBUILD34
-rw-r--r--community/cuyo/cuyo.changelog8
-rw-r--r--community/cuyo/cuyo.diff6
-rw-r--r--community/cuyo/cuyo.install12
-rw-r--r--community/cwiid/PKGBUILD50
-rw-r--r--community/cwiid/cwiid.install10
-rw-r--r--community/cython/PKGBUILD38
-rw-r--r--community/dante/PKGBUILD37
-rw-r--r--community/dante/sockd.service12
-rw-r--r--community/darkhttpd/PKGBUILD26
-rw-r--r--community/darkstat/PKGBUILD32
-rw-r--r--community/darkstat/darkstat.conf2
-rw-r--r--community/darkstat/darkstat.install20
-rw-r--r--community/darkstat/darkstat.service17
-rw-r--r--community/darktable/PKGBUILD44
-rw-r--r--community/darktable/darktable.install11
-rw-r--r--community/datemath/PKGBUILD24
-rw-r--r--community/datemath/y2k.patch29
-rw-r--r--community/dbmail/PKGBUILD71
-rw-r--r--community/dbmail/dbmail-2.2.10-pam-support.patch251
-rw-r--r--community/dbmail/dbmail-imapd.service11
-rw-r--r--community/dbmail/dbmail-imapd.xinetd13
-rw-r--r--community/dbmail/dbmail-lmtpd.service11
-rw-r--r--community/dbmail/dbmail-lmtpd.xinetd13
-rw-r--r--community/dbmail/dbmail-pop3d.service11
-rw-r--r--community/dbmail/dbmail-pop3d.xinetd13
-rw-r--r--community/dbmail/dbmail-timsieved.service11
-rw-r--r--community/dbmail/dbmail-timsieved.xinetd15
-rw-r--r--community/dbmail/dbmail.tmpfiles1
-rw-r--r--community/dcfldd/PKGBUILD26
-rw-r--r--community/deadbeef/PKGBUILD48
-rw-r--r--community/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch118
-rw-r--r--community/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch25
-rw-r--r--community/deadbeef/deadbeef.install19
-rw-r--r--community/dee/PKGBUILD34
-rw-r--r--community/deja-dup/PKGBUILD42
-rw-r--r--community/deja-dup/deja-dup.install12
-rw-r--r--community/deja-dup/libsecret-1.vapi79
-rw-r--r--community/delegate/ChangeLog3
-rw-r--r--community/delegate/PKGBUILD35
-rw-r--r--community/delegate/delegate.install6
-rw-r--r--community/denemo/PKGBUILD31
-rw-r--r--community/desmume/PKGBUILD44
-rw-r--r--community/desmume/desmume.install11
-rw-r--r--community/devil/PKGBUILD38
-rw-r--r--community/devil/devil.install11
-rw-r--r--community/devil/libpng14.patch33
-rw-r--r--community/devilspie/PKGBUILD34
-rw-r--r--community/dfm/PKGBUILD22
-rw-r--r--community/dgen-sdl/PKGBUILD35
-rw-r--r--community/dhex/PKGBUILD27
-rw-r--r--community/dia/PKGBUILD51
-rw-r--r--community/dia/dia-overflow-fix.patch28
-rw-r--r--community/dia/dia.install13
-rw-r--r--community/dictd/PKGBUILD55
-rw-r--r--community/dictd/colorit.conf32
-rw-r--r--community/dictd/dict.conf6
-rw-r--r--community/dictd/dictd.conf25
-rw-r--r--community/dictd/dictd.confd7
-rw-r--r--community/dictd/dictd.service11
-rw-r--r--community/dictd/dictd.xinetd12
-rw-r--r--community/dictd/site.info6
-rw-r--r--community/dietlibc/PKGBUILD24
-rw-r--r--community/dillo/PKGBUILD28
-rw-r--r--community/directfb/PKGBUILD28
-rw-r--r--community/discid/PKGBUILD20
-rw-r--r--community/distcc/PKGBUILD56
-rw-r--r--community/distcc/distccd.conf.d7
-rw-r--r--community/distcc/distccd.service12
-rw-r--r--community/djview4/PKGBUILD38
-rw-r--r--community/djview4/install12
-rw-r--r--community/dmd/PKGBUILD106
-rw-r--r--community/dmenu/PKGBUILD30
-rw-r--r--community/dnstracer/PKGBUILD24
-rw-r--r--community/docbook2x/PKGBUILD36
-rw-r--r--community/docbook2x/datadir.diff18
-rw-r--r--community/docbook2x/docbook2x.install18
-rw-r--r--community/dopewars/PKGBUILD47
-rw-r--r--community/dopewars/dopewars.install20
-rw-r--r--community/dos2unix/PKGBUILD28
-rw-r--r--community/dosbox/PKGBUILD48
-rw-r--r--community/dosbox/dosbox.pngbin0 -> 4691 bytes
-rw-r--r--community/dosbox/gcc46.patch12
-rw-r--r--community/doublecmd/PKGBUILD72
-rw-r--r--community/doublecmd/doublecmd.install34
-rw-r--r--community/drbd/01-remove-old-sanity-check.diff24
-rw-r--r--community/drbd/PKGBUILD67
-rw-r--r--community/drbd/drbd.service19
-rw-r--r--community/drivel/PKGBUILD31
-rw-r--r--community/drivel/drivel.install22
-rw-r--r--community/dsniff/PKGBUILD40
-rw-r--r--community/dspam/PKGBUILD86
-rw-r--r--community/dspam/dspam.install40
-rw-r--r--community/dspam/dspam.logrotated10
-rw-r--r--community/dspam/dspam.service11
-rw-r--r--community/dspam/dspam.tmpfiles1
-rw-r--r--community/dspam/dspam_maintenance.cron6
-rw-r--r--community/dtach/PKGBUILD30
-rw-r--r--community/dumb/CVE-2006-3668.patch16
-rw-r--r--community/dumb/PKGBUILD63
-rw-r--r--community/dumb/as-needed.patch72
-rw-r--r--community/dunst/PKGBUILD28
-rw-r--r--community/duplicity/PKGBUILD53
-rw-r--r--community/duplicity/botobackend.patch13
-rw-r--r--community/duplicity/duplicity-0.6.17-fix-memleak.patch29
-rw-r--r--community/duplicity/u1backend.patch16
-rw-r--r--community/dvdbackup/PKGBUILD31
-rw-r--r--community/dvdisaster/PKGBUILD35
-rw-r--r--community/dvdisaster/dvdisaster.desktop10
-rw-r--r--community/dvdrtools/PKGBUILD29
-rw-r--r--community/dvtm/0001-Makefile-respect-DESTDIR-in-tic-invocation.patch25
-rw-r--r--community/dvtm/PKGBUILD42
-rw-r--r--community/dvtm/config.h157
-rw-r--r--community/dwb/PKGBUILD26
-rw-r--r--community/dwb/dwb.install13
-rw-r--r--community/dwdiff/PKGBUILD24
-rw-r--r--community/dwm/PKGBUILD40
-rw-r--r--community/dwm/config.h105
-rw-r--r--community/dwm/dwm.desktop7
-rw-r--r--community/dwm/dwm.install4
-rw-r--r--community/dxpc/PKGBUILD22
-rw-r--r--community/dynamite/PKGBUILD20
-rw-r--r--community/dzen2/PKGBUILD37
-rw-r--r--community/e3/PKGBUILD35
-rw-r--r--community/easystroke/PKGBUILD31
-rw-r--r--community/easystroke/easystroke.install13
-rw-r--r--community/ebtables/PKGBUILD51
-rw-r--r--community/ebtables/ebtables.install9
-rw-r--r--community/ebtables/ebtables.service11
-rw-r--r--community/ebtables/ebtables.systemd21
-rw-r--r--community/echat/PKGBUILD29
-rw-r--r--community/ecryptfs-utils/PKGBUILD32
-rw-r--r--community/efax-gtk/PKGBUILD33
-rw-r--r--community/efax-gtk/efax-gtk.install11
-rw-r--r--community/ejabberd/PKGBUILD45
-rw-r--r--community/ejabberd/ejabberd.install25
-rw-r--r--community/ejabberd/ejabberd.logrotate12
-rw-r--r--community/ejabberd/ejabberd.service13
-rw-r--r--community/ekg/PKGBUILD22
-rw-r--r--community/ekg2/PKGBUILD44
-rw-r--r--community/electricsheep/PKGBUILD59
-rw-r--r--community/elinks/PKGBUILD40
-rw-r--r--community/emacs-nox/PKGBUILD46
-rw-r--r--community/emacs-nox/emacs-nox.changelog29
-rw-r--r--community/emacs-nox/emacs-nox.install25
-rw-r--r--community/emelfm2/PKGBUILD30
-rw-r--r--community/emerillon/PKGBUILD29
-rw-r--r--community/emerillon/emerillon.install11
-rw-r--r--community/encfs/PKGBUILD33
-rw-r--r--community/enet/PKGBUILD28
-rw-r--r--community/enigma/PKGBUILD29
-rw-r--r--community/enter/PKGBUILD23
-rw-r--r--community/epic4/PKGBUILD41
-rw-r--r--community/erlang-cl/PKGBUILD42
-rw-r--r--community/erlang-nox/PKGBUILD58
-rw-r--r--community/erlang-sdl/PKGBUILD32
-rw-r--r--community/erlang/PKGBUILD76
-rw-r--r--community/esmtp/PKGBUILD36
-rw-r--r--community/espeak/PKGBUILD32
-rw-r--r--community/espeakup/PKGBUILD30
-rw-r--r--community/espeakup/espeakup.conf.d6
-rw-r--r--community/espeakup/espeakup.modules-load.d1
-rw-r--r--community/espeakup/espeakup.service15
-rw-r--r--community/etherape/PKGBUILD29
-rw-r--r--community/etl/PKGBUILD28
-rw-r--r--community/ettercap/PKGBUILD73
-rw-r--r--community/ettercap/ettercap-gtk.install14
-rw-r--r--community/ettercap/ettercap.desktop8
-rw-r--r--community/ettercap/org.archlinux.pkexec.ettercap.policy19
-rw-r--r--community/evilwm/LICENSE40
-rw-r--r--community/evilwm/PKGBUILD26
-rw-r--r--community/exfat-utils/PKGBUILD27
-rw-r--r--community/exim/PKGBUILD83
-rw-r--r--community/exim/aliases35
-rw-r--r--community/exim/exim-submission.socket10
-rw-r--r--community/exim/exim-submission@.service11
-rw-r--r--community/exim/exim.Makefile1227
-rw-r--r--community/exim/exim.install25
-rw-r--r--community/exim/exim.logrotate6
-rw-r--r--community/exim/exim.service10
-rw-r--r--community/exim/exim.socket10
-rw-r--r--community/exim/exim@.service7
-rw-r--r--community/expac/PKGBUILD28
-rw-r--r--community/ext3grep/PKGBUILD33
-rw-r--r--community/ext3grep/ext3grep-build.patch26
-rw-r--r--community/ext3grep/ext3grep.changelog6
-rw-r--r--community/ext4magic/PKGBUILD26
-rw-r--r--community/extremetuxracer/PKGBUILD46
-rw-r--r--community/extremetuxracer/extremetuxracer.desktop12
-rw-r--r--community/extremetuxracer/extremetuxracer.pngbin0 -> 3611 bytes
-rw-r--r--community/extremetuxracer/libpng15.patch57
-rw-r--r--community/extundelete/PKGBUILD28
-rw-r--r--community/extundelete/extundelete.changelog12
-rw-r--r--community/fatrat/PKGBUILD42
-rw-r--r--community/fatrat/QTBUG-22829-workaround.diff12
-rw-r--r--community/fatrat/pion-5.0.diff1570
-rw-r--r--community/fb-client/PKGBUILD28
-rw-r--r--community/fbdump/PKGBUILD20
-rw-r--r--community/fbgetty/PKGBUILD32
-rw-r--r--community/fbgrab/PKGBUILD24
-rw-r--r--community/fbpanel/PKGBUILD23
-rw-r--r--community/fbreader/PKGBUILD29
-rw-r--r--community/fbterm/PKGBUILD32
-rw-r--r--community/fbterm/fbterm.install22
-rw-r--r--community/fbv/ChangeLog2
-rw-r--r--community/fbv/PKGBUILD29
-rw-r--r--community/fceux/PKGBUILD48
-rw-r--r--community/fceux/fceux.install13
-rw-r--r--community/fcgiwrap/LICENSE24
-rw-r--r--community/fcgiwrap/PKGBUILD33
-rw-r--r--community/fcgiwrap/fcgiwrap.service13
-rw-r--r--community/fcitx-anthy/PKGBUILD33
-rw-r--r--community/fcitx-anthy/fcitx-anthy.install11
-rw-r--r--community/fcitx-chewing/PKGBUILD29
-rw-r--r--community/fcitx-cloudpinyin/PKGBUILD30
-rw-r--r--community/fcitx-configtool/PKGBUILD32
-rw-r--r--community/fcitx-fbterm/PKGBUILD34
-rw-r--r--community/fcitx-fbterm/fcitx-fbterm.install16
-rw-r--r--community/fcitx-googlepinyin/PKGBUILD31
-rw-r--r--community/fcitx-googlepinyin/fcitx-googlepinyin.install11
-rw-r--r--community/fcitx-hangul/PKGBUILD33
-rw-r--r--community/fcitx-hangul/fcitx-hangul.install11
-rw-r--r--community/fcitx-kkc/PKGBUILD32
-rw-r--r--community/fcitx-kkc/fcitx-kkc.install11
-rw-r--r--community/fcitx-libpinyin/PKGBUILD35
-rw-r--r--community/fcitx-libpinyin/fcitx-libpinyin.install11
-rw-r--r--community/fcitx-m17n/PKGBUILD29
-rw-r--r--community/fcitx-mozc/PKGBUILD120
-rw-r--r--community/fcitx-mozc/mozc_1.10.1390.102_remove_warn_as_error.patch12
-rw-r--r--community/fcitx-qt5/PKGBUILD29
-rw-r--r--community/fcitx-rime/PKGBUILD32
-rw-r--r--community/fcitx-rime/fcitx-rime.install11
-rw-r--r--community/fcitx-sayura/PKGBUILD31
-rw-r--r--community/fcitx-sayura/fcitx-sayura.install11
-rw-r--r--community/fcitx-sunpinyin/PKGBUILD31
-rw-r--r--community/fcitx-sunpinyin/fcitx-sunpinyin.install11
-rw-r--r--community/fcitx-ui-light/PKGBUILD33
-rw-r--r--community/fcitx-unikey/PKGBUILD31
-rw-r--r--community/fcitx-unikey/fcitx-unikey.install11
-rw-r--r--community/fcitx/PKGBUILD121
-rw-r--r--community/fcitx/fcitx-gtk2.install11
-rw-r--r--community/fcitx/fcitx-gtk3.install11
-rw-r--r--community/fcitx/fcitx.install14
-rw-r--r--community/fcrackzip/ChangeLog3
-rw-r--r--community/fcrackzip/PKGBUILD28
-rw-r--r--community/fcron/PKGBUILD80
-rw-r--r--community/fcron/fcron.install13
-rw-r--r--community/fcron/systab.orig4
-rw-r--r--community/fdm/PKGBUILD35
-rw-r--r--community/fdupes/ChangeLog11
-rw-r--r--community/fdupes/LICENSE22
-rw-r--r--community/fdupes/PKGBUILD29
-rw-r--r--community/ffmpeg-compat/PKGBUILD58
-rw-r--r--community/ffmpeg2theora/PKGBUILD30
-rwxr-xr-xcommunity/ffmpegsource/PKGBUILD47
-rwxr-xr-xcommunity/ffmpegsource/autoconf.patch22
-rw-r--r--community/filezilla/PKGBUILD34
-rw-r--r--community/filezilla/filezilla.install11
-rw-r--r--community/fillets-ng/PKGBUILD42
-rw-r--r--community/fillets-ng/fillets-ng.changelog23
-rw-r--r--community/fillets-ng/fillets-ng.install4
-rw-r--r--community/fillets-ng/lua-config10
-rw-r--r--community/fish/PKGBUILD37
-rw-r--r--community/fish/fish.install11
-rw-r--r--community/flac123/PKGBUILD29
-rw-r--r--community/flam3/PKGBUILD31
-rw-r--r--community/flam3/flam3-3.0.1-libpng15.patch76
-rw-r--r--community/flashrom/PKGBUILD30
-rw-r--r--community/fldiff/PKGBUILD31
-rw-r--r--community/fldiff/build-fix.patch31
-rw-r--r--community/fldiff/fldiff.install11
-rw-r--r--community/flickcurl/PKGBUILD25
-rw-r--r--community/flightgear/PKGBUILD42
-rw-r--r--community/flobopuyo/PKGBUILD46
-rw-r--r--community/flobopuyo/flobopuyo-0.20-gcc4.patch25
-rw-r--r--community/flobopuyo/flobopuyo-0.20-libs.patch136
-rw-r--r--community/flobopuyo/flobopuyo-makefile.patch21
-rw-r--r--community/flobopuyo/flobopuyo.changelog16
-rw-r--r--community/flobopuyo/flobopuyo.desktop10
-rw-r--r--community/flobopuyo/flobopuyo.pngbin0 -> 2564 bytes
-rw-r--r--community/flowcanvas/PKGBUILD32
-rw-r--r--community/flowcanvas/flowcanvas.install13
-rw-r--r--community/floyd/PKGBUILD28
-rw-r--r--community/floyd/build-fix.patch30
-rw-r--r--community/flumotion/PKGBUILD44
-rw-r--r--community/fonteditfs/ChangeLog3
-rw-r--r--community/fonteditfs/PKGBUILD21
-rw-r--r--community/fortune-mod/01_all_fortune_all-fix.patch21
-rw-r--r--community/fortune-mod/LICENSE35
-rw-r--r--community/fortune-mod/PKGBUILD36
-rw-r--r--community/fox/PKGBUILD44
-rw-r--r--community/fpc/PKGBUILD69
-rw-r--r--community/fpc/fpc-gdb.patch737
-rw-r--r--community/freedroid/PKGBUILD32
-rw-r--r--community/freedroid/freedroid.desktop8
-rw-r--r--community/freedroid/paraicon.pngbin0 -> 1000 bytes
-rw-r--r--community/freedroidrpg/PKGBUILD33
-rw-r--r--community/freedroidrpg/freedroidrpg.desktop11
-rw-r--r--community/freedroidrpg/freedroidrpg.jpgbin0 -> 12697 bytes
-rw-r--r--community/freehdl/PKGBUILD30
-rw-r--r--community/freehdl/freehdl.install20
-rw-r--r--community/freeimage/PKGBUILD42
-rw-r--r--community/freemat/ChangeLog3
-rw-r--r--community/freemat/PKGBUILD46
-rw-r--r--community/freemat/build-fix.patch11
-rw-r--r--community/freemat/freemat.install7
-rw-r--r--community/freeorion/PKGBUILD121
-rw-r--r--community/freeorion/cmake_python.patch23
-rw-r--r--community/freeorion/freeorion.install13
-rw-r--r--community/freeorion/freeorion.sh143
-rw-r--r--community/freeradius-client/PKGBUILD28
-rw-r--r--community/freeradius/PKGBUILD51
-rw-r--r--community/freeradius/freeradius.install17
-rw-r--r--community/freeradius/freeradius.service15
-rw-r--r--community/freeradius/freeradius.tmpfiles1
-rw-r--r--community/freeradius/krb5-build-fix.patch21
-rw-r--r--community/freerdp/PKGBUILD34
-rw-r--r--community/freerdp/freerdp.changelog2
-rw-r--r--community/freetalk/ChangeLog3
-rw-r--r--community/freetalk/PKGBUILD36
-rw-r--r--community/freetalk/freetalk-3.2-glibc210.patch68
-rw-r--r--community/freetalk/freetalk.install19
-rw-r--r--community/freewrl/PKGBUILD37
-rw-r--r--community/frei0r-plugins/PKGBUILD26
-rw-r--r--community/fssos-nsvs/PKGBUILD30
-rw-r--r--community/fssos-nsvs/fssos-nsvs.install17
-rw-r--r--community/fssos-nsvs/nsvsd.service8
-rw-r--r--community/fswebcam/PKGBUILD36
-rw-r--r--community/fuse-exfat/PKGBUILD26
-rw-r--r--community/fuseiso/PKGBUILD33
-rw-r--r--community/fuseiso/fuseiso-20070708-largeiso.patch48
-rw-r--r--community/fwbuilder/PKGBUILD38
-rw-r--r--community/fwbuilder/fwbuilder-gcc47.patch13
-rw-r--r--community/fwbuilder/fwbuilder.install14
-rw-r--r--community/fwbuilder/fwbuilder.xml11
-rw-r--r--community/fxdesktop/PKGBUILD30
-rw-r--r--community/fxprocessview/PKGBUILD37
-rw-r--r--community/fxprocessview/build-fix.patch41
-rw-r--r--community/g2sc/PKGBUILD29
-rw-r--r--community/galculator/PKGBUILD31
-rw-r--r--community/galculator/galculator.install11
-rw-r--r--community/gambas3/PKGBUILD909
-rw-r--r--community/gambas3/gambas3-3.4.1-llvm-3.3.patch86
-rw-r--r--community/gambas3/gambas3-runtime.install10
-rw-r--r--community/gambas3/gambas3-script.install15
-rw-r--r--community/gammu/PKGBUILD36
-rw-r--r--community/garmindev/51-garmin.rules1
-rw-r--r--community/garmindev/PKGBUILD39
-rw-r--r--community/garmindev/garmindev.changelog8
-rw-r--r--community/garmindev/garmindev.install8
-rw-r--r--community/gauche/PKGBUILD34
-rw-r--r--community/gauche/gauche.install21
-rw-r--r--community/gavl/PKGBUILD28
-rw-r--r--community/gcolor2/PKGBUILD39
-rw-r--r--community/gcolor2/gcolor2-0.4-amd64.patch46
-rw-r--r--community/gcolor2/gcolor2.desktop10
-rw-r--r--community/gcompris/PKGBUILD36
-rw-r--r--community/gdal/PKGBUILD68
-rw-r--r--community/gdal/gdal-1.5.1-python-install.patch10
-rw-r--r--community/gdal/gdal.changelog11
-rw-r--r--community/gdesklets/PKGBUILD48
-rw-r--r--community/gdesklets/fix-vfs.patch11
-rw-r--r--community/gdesklets/gdesklets-core-0.36.3-.in-files.patch149
-rw-r--r--community/gdesklets/gdesklets.install13
-rw-r--r--community/gdesklets/make-gconf-optional.patch36
-rw-r--r--community/gdk-pixbuf/PKGBUILD51
-rw-r--r--community/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch48
-rw-r--r--community/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_secure.patch19
-rw-r--r--community/gdk-pixbuf/gdk-pixbuf-0.22.0-loaders.patch134
-rw-r--r--community/gdk-pixbuf/gdk-pixbuf-0.22.0.patch129
-rw-r--r--community/gdk-pixbuf/libpng15.patch30
-rw-r--r--community/gdlmm/0001-Don-t-wrap-gdl_dock_layout_get_layouts_ui.patch58
-rw-r--r--community/gdlmm/PKGBUILD34
-rw-r--r--community/gdmap/ChangeLog5
-rw-r--r--community/gdmap/PKGBUILD36
-rw-r--r--community/gdmap/gtk-fix.patch50
-rw-r--r--community/geany-plugins/PKGBUILD36
-rw-r--r--community/geany-plugins/geany-plugins.install14
-rw-r--r--community/geany/PKGBUILD51
-rw-r--r--community/geany/geany.install14
-rwxr-xr-xcommunity/geary/PKGBUILD32
-rwxr-xr-xcommunity/geary/geary.install17
-rw-r--r--community/gebabbel/PKGBUILD46
-rw-r--r--community/gebabbel/gebabbel-0.4.patch7
-rw-r--r--community/gebabbel/gebabbel.changelog3
-rw-r--r--community/gebabbel/gebabbel.desktop7
-rw-r--r--community/gecko-mediaplayer/PKGBUILD30
-rw-r--r--community/gecko-mediaplayer/firefox-8.patch48
-rw-r--r--community/geda-gaf/ChangeLog57
-rw-r--r--community/geda-gaf/PKGBUILD38
-rw-r--r--community/geda-gaf/geda-gaf.install19
-rw-r--r--community/gedit-plugins/PKGBUILD37
-rw-r--r--community/gedit-plugins/gedit-plugins.install23
-rw-r--r--community/gemrb/PKGBUILD34
-rw-r--r--community/gemrb/gemrb.install24
-rw-r--r--community/gen2shp/PKGBUILD27
-rw-r--r--community/gendesk/PKGBUILD33
-rw-r--r--community/geos/PKGBUILD31
-rw-r--r--community/geos/geos.changelog11
-rw-r--r--community/gerbv/ChangeLog31
-rw-r--r--community/gerbv/PKGBUILD32
-rw-r--r--community/gerbv/gerbv.install21
-rw-r--r--community/gftp/PKGBUILD25
-rw-r--r--community/gigedit/PKGBUILD35
-rw-r--r--community/giggle/PKGBUILD40
-rw-r--r--community/giggle/giggle.install13
-rw-r--r--community/giggle/gtksourceview3.7.patch36
-rw-r--r--community/gigi/PKGBUILD80
-rw-r--r--community/gimmage/ChangeLog15
-rw-r--r--community/gimmage/PKGBUILD27
-rw-r--r--community/gimp-dbp/PKGBUILD25
-rw-r--r--community/gimp-plugin-fblur/PKGBUILD24
-rw-r--r--community/gimp-plugin-lqr/PKGBUILD27
-rw-r--r--community/gimp-plugin-mathmap/PKGBUILD36
-rw-r--r--community/gimp-plugin-mathmap/fix_libnoise_build.patch12
-rw-r--r--community/gimp-plugin-mathmap/libpng15.patch170
-rw-r--r--community/gimp-plugin-wavelet-decompose/PKGBUILD26
-rw-r--r--community/gimp-plugin-wavelet-decompose/po_install.diff21
-rw-r--r--community/gimp-plugin-wavelet-denoise/PKGBUILD32
-rw-r--r--community/gimp-plugin-wavelet-denoise/libm_buildfix.diff10
-rw-r--r--community/gimp-plugin-wavelet-denoise/po_install.diff21
-rw-r--r--community/gimp-refocus/PKGBUILD35
-rw-r--r--community/gimp-refocus/refocus-gimp-2.0.patch209
-rw-r--r--community/gimp-refocus/refocus-gimp-preview.patch440
-rw-r--r--community/gimp-refocus/refocus-mirror-fix.patch54
-rw-r--r--community/gimp-ufraw/PKGBUILD43
-rw-r--r--community/gimp-ufraw/gimp-ufraw.install (renamed from community/icedtea-web-java7/icedtea-web-java7.install)2
-rw-r--r--community/ginac/PKGBUILD37
-rw-r--r--community/ginac/ginac.install20
-rw-r--r--community/girara/PKGBUILD81
-rw-r--r--community/gitg/PKGBUILD28
-rw-r--r--community/gitg/gitg.install13
-rw-r--r--community/gkrellm/PKGBUILD37
-rw-r--r--community/gkrellm/gkrellm.service11
-rw-r--r--community/gl-117/PKGBUILD29
-rw-r--r--community/gl-117/gl-117.desktop5
-rw-r--r--community/gl-117/gl-117.pngbin0 -> 1279 bytes
-rw-r--r--community/glabels/PKGBUILD35
-rw-r--r--community/glabels/glabels-3.0.0-new-eds.patch71
-rw-r--r--community/glabels/glabels.install15
-rw-r--r--community/glee/Makefile55
-rw-r--r--community/glee/PKGBUILD31
-rw-r--r--community/glee/glee.pc12
-rw-r--r--community/glfw/PKGBUILD41
-rw-r--r--community/glitz/PKGBUILD31
-rw-r--r--community/gliv/PKGBUILD32
-rw-r--r--community/gliv/gliv.changelog5
-rw-r--r--community/glob2/PKGBUILD43
-rw-r--r--community/glob2/glob2-0.9.4.1-gcc44.patch87
-rw-r--r--community/glob2/glob2.install13
-rw-r--r--community/glom/PKGBUILD37
-rw-r--r--community/glom/glom.install13
-rw-r--r--community/gloox/PKGBUILD26
-rw-r--r--community/gluon/PKGBUILD42
-rw-r--r--community/gluon/gcc47.patch31
-rw-r--r--community/gluon/gluon.install15
-rw-r--r--community/glusterfs/PKGBUILD64
-rw-r--r--community/glusterfs/glusterd.service10
-rw-r--r--community/gmerlin/PKGBUILD45
-rw-r--r--community/gmerlin/cdio-api-fixes.patch104
-rw-r--r--community/gmerlin/gmerlin-texi.patch1846
-rw-r--r--community/gmerlin/gmerlin.install25
-rw-r--r--community/gmic/PKGBUILD63
-rw-r--r--community/gmic/opencv-buildfix.patch20
-rw-r--r--community/gmime24/PKGBUILD36
-rw-r--r--community/gmpc/PKGBUILD29
-rw-r--r--community/gmpc/gmpc.install11
-rw-r--r--community/gmrun/PKGBUILD30
-rw-r--r--community/gmrun/gcc43.patch51
-rw-r--r--community/gmtk/PKGBUILD28
-rw-r--r--community/gnac/PKGBUILD33
-rw-r--r--community/gnac/gnac.install13
-rw-r--r--community/gnash/PKGBUILD86
-rw-r--r--community/gnash/gnash-0.8.10-boost-1.50.patch12
-rw-r--r--community/gnash/gnash-gtk.install22
-rw-r--r--community/gnash/nodebug.patch48
-rw-r--r--community/gnokii/PKGBUILD47
-rw-r--r--community/gnokii/gnokii.patch12
-rw-r--r--community/gnome-applets/01_battstat_upower.patch622
-rw-r--r--community/gnome-applets/PKGBUILD61
-rw-r--r--community/gnome-applets/disable-gweather-applet.patch12
-rw-r--r--community/gnome-applets/fix-autoconf.patch12
-rw-r--r--community/gnome-applets/gnome-applets-cpupower.patch12
-rw-r--r--community/gnome-applets/gnome-applets.install24
-rw-r--r--community/gnome-commander/PKGBUILD42
-rw-r--r--community/gnome-commander/gnome-commander.install22
-rw-r--r--community/gnome-do/PKGBUILD39
-rw-r--r--community/gnome-do/gio-gnomedesktop.patch252
-rw-r--r--community/gnome-do/gnome-do.install22
-rw-r--r--community/gnome-hearts/PKGBUILD32
-rw-r--r--community/gnome-hearts/gnome-hearts.install13
-rw-r--r--community/gnome-media/PKGBUILD45
-rw-r--r--community/gnome-media/gnome-media.install26
-rw-r--r--community/gnome-media/grecord-Should-call-gnome-control-center-sound-not.patch35
-rw-r--r--community/gnome-media/grecord-add-PULSEPROPmediarole.patch26
-rw-r--r--community/gnome-media/grecord-send-eos-before-we-stop-record.patch41
-rw-r--r--community/gnome-menus2/PKGBUILD33
-rw-r--r--community/gnome-mplayer/PKGBUILD33
-rw-r--r--community/gnome-mplayer/gnome-mplayer.install22
-rw-r--r--community/gnome-packagekit/PKGBUILD43
-rw-r--r--community/gnome-packagekit/gnome-packagekit.install19
-rw-r--r--community/gnome-panel/0001-Add-the-GNOME-Flashback-session.patch95
-rw-r--r--community/gnome-panel/18_fix_force_quit_applet.patch98
-rw-r--r--community/gnome-panel/PKGBUILD79
-rw-r--r--community/gnome-panel/drop-gweather-xml-include.patch10
-rw-r--r--community/gnome-panel/fix-autoconf.patch11
-rw-r--r--community/gnome-panel/gnome-desktop-3.8.patch199
-rw-r--r--community/gnome-panel/gnome-panel.install12
-rw-r--r--community/gnome-phone-manager/PKGBUILD35
-rw-r--r--community/gnome-phone-manager/gnome-phone-manager-0.68-eds.patch470
-rw-r--r--community/gnome-phone-manager/gnome-phone-manager.install17
-rw-r--r--community/gnome-ppp/PKGBUILD29
-rw-r--r--community/gnome-ppp/gnome-ppp-0.3.23-implicit-decl.patch10
-rw-r--r--community/gnome-ppp/gnome-ppp-0.3.23-wvdial-notify.patch83
-rw-r--r--community/gnome-ppp/gnome-ppp.install11
-rw-r--r--community/gnome-screensaver/PKGBUILD45
-rw-r--r--community/gnome-screensaver/fix-autoconf.patch12
-rw-r--r--community/gnome-screensaver/gnome-screensaver.pam3
-rw-r--r--community/gnome-screensaver/move-desktop-file.patch34
-rw-r--r--community/gnome-settings-daemon-compat/PKGBUILD75
-rw-r--r--community/gnome-settings-daemon-compat/draw-background-unconditionally.patch162
-rw-r--r--community/gnome-settings-daemon-compat/move-desktop-file.patch60
-rw-r--r--community/gnome-settings-daemon-compat/remove-libgsd-dependency.patch160
-rw-r--r--community/gnome-settings-daemon-compat/revert-input-sources.patch123
-rw-r--r--community/gnome-settings-daemon-compat/sessionisactive-port.patch73
-rw-r--r--community/gnome-settings-daemon-compat/standalone-background-helper.patch437
-rw-r--r--community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch564
-rw-r--r--community/gnome-settings-daemon-compat/xinput.patch36
-rw-r--r--community/gnome-settings-daemon-updates/PKGBUILD40
-rw-r--r--community/gnome-settings-daemon-updates/arch.patch325
-rw-r--r--community/gnome-settings-daemon-updates/gnome-settings-daemon.install12
-rw-r--r--community/gnome-subtitles/PKGBUILD35
-rw-r--r--community/gnome-subtitles/gnome-subtitles.install22
-rw-r--r--community/gnome-web-photo/PKGBUILD29
-rw-r--r--community/gnonlin/PKGBUILD33
-rw-r--r--community/gnote/PKGBUILD33
-rw-r--r--community/gnote/gnote.install21
-rw-r--r--community/gnubiff-gtk/PKGBUILD28
-rw-r--r--community/gnubiff/PKGBUILD29
-rw-r--r--community/gnucap/PKGBUILD31
-rw-r--r--community/gnuchess/PKGBUILD30
-rw-r--r--community/gnujump/PKGBUILD39
-rw-r--r--community/gnujump/gnujump.desktop8
-rw-r--r--community/gnunet-gtk/PKGBUILD28
-rw-r--r--community/gnunet/PKGBUILD38
-rw-r--r--community/gnunet/defaults.conf483
-rw-r--r--community/gnunet/gnunet.install7
-rw-r--r--community/gnunet/gnunet.service10
-rw-r--r--community/gnustep-back/ChangeLog2
-rw-r--r--community/gnustep-back/PKGBUILD36
-rw-r--r--community/gnustep-base/ChangeLog6
-rw-r--r--community/gnustep-base/PKGBUILD36
-rw-r--r--community/gnustep-gui/ChangeLog2
-rw-r--r--community/gnustep-gui/PKGBUILD33
-rw-r--r--community/go/PKGBUILD144
-rw-r--r--community/go/go.install13
-rw-r--r--community/go/go.sh1
-rw-r--r--community/goaccess/PKGBUILD26
-rw-r--r--community/gobby/ChangeLog3
-rw-r--r--community/gobby/PKGBUILD29
-rw-r--r--community/gocr/PKGBUILD33
-rw-r--r--community/gogglesmm/PKGBUILD30
-rw-r--r--community/gogglesmm/gogglesmm.install11
-rw-r--r--community/golangide/PKGBUILD87
-rw-r--r--community/golangide/golangide.pngbin0 -> 7430 bytes
-rw-r--r--community/golangide/golangide.sh7
-rw-r--r--community/goldendict/PKGBUILD40
-rw-r--r--community/goldendict/gcc47.patch23
-rw-r--r--community/goldendict/goldendict-paths.diff10
-rw-r--r--community/goldendict/goldendict.changelog11
-rw-r--r--community/goobox/PKGBUILD32
-rw-r--r--community/goobox/goobox.install13
-rw-r--r--community/goocanvas/PKGBUILD28
-rw-r--r--community/goocanvas1/PKGBUILD31
-rw-r--r--community/goocanvasmm/PKGBUILD34
-rw-r--r--community/google-gadgets/PKGBUILD164
-rw-r--r--community/google-gadgets/gcc47.patch325
-rw-r--r--community/google-gadgets/glibc231.patch25
-rw-r--r--community/google-gadgets/google-gadgets-common.install15
-rw-r--r--community/google-gadgets/google-gadgets.changelog8
-rw-r--r--community/google-gadgets/google-gadgets.install15
-rw-r--r--community/google-gadgets/wifi-types.patch36
-rw-r--r--community/google-glog/PKGBUILD34
-rw-r--r--community/gource/PKGBUILD30
-rw-r--r--community/gpac/PKGBUILD47
-rw-r--r--community/gpg-crypter/PKGBUILD30
-rw-r--r--community/gpg-crypter/gpg-crypter.changelog2
-rw-r--r--community/gphpedit/PKGBUILD29
-rw-r--r--community/gphpedit/gphpedit.install12
-rw-r--r--community/gpicview/PKGBUILD30
-rw-r--r--community/gpicview/gpicview.install11
-rw-r--r--community/gpointing-device-settings/PKGBUILD40
-rw-r--r--community/gprolog/PKGBUILD42
-rw-r--r--community/gpsbabel/PKGBUILD46
-rw-r--r--community/gpsdrive/PKGBUILD67
-rw-r--r--community/gpsdrive/gpsdrive.install4
-rw-r--r--community/gpsim/PKGBUILD23
-rw-r--r--community/gpsmanshp/PKGBUILD35
-rw-r--r--community/gputils/PKGBUILD27
-rw-r--r--community/gq/PKGBUILD23
-rw-r--r--community/gq/gq.install12
-rw-r--r--community/grace/PKGBUILD33
-rw-r--r--community/grafx2/PKGBUILD42
-rw-r--r--community/grafx2/grafx2.install14
-rw-r--r--community/grsync/PKGBUILD27
-rw-r--r--community/grsync/grsync.install13
-rw-r--r--community/gshutdown/PKGBUILD28
-rw-r--r--community/gsimplecal/PKGBUILD31
-rw-r--r--community/gsmartcontrol/PKGBUILD50
-rw-r--r--community/gsmartcontrol/gsmartcontrol.desktop9
-rw-r--r--community/gsmartcontrol/gsmartcontrol.install14
-rw-r--r--community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy19
-rw-r--r--community/gsoap/LICENSE163
-rw-r--r--community/gsoap/PKGBUILD34
-rw-r--r--community/gsql/PKGBUILD37
-rw-r--r--community/gsql/gsql.install24
-rw-r--r--community/gstreamermm/PKGBUILD36
-rw-r--r--community/gstreamermm/gstreamermm.changelog9
-rw-r--r--community/gtest/PKGBUILD43
-rw-r--r--community/gtk-aurora-engine/PKGBUILD33
-rw-r--r--community/gtk-chtheme/PKGBUILD29
-rw-r--r--community/gtk-engine-murrine/PKGBUILD34
-rw-r--r--community/gtk-engine-unico/PKGBUILD27
-rw-r--r--community/gtk-theme-switch2/PKGBUILD30
-rw-r--r--community/gtk2+extra/PKGBUILD25
-rw-r--r--community/gtk2+extra/build-fix.patch85
-rw-r--r--community/gtk2_prefs/PKGBUILD24
-rw-r--r--community/gtk2fontsel/PKGBUILD27
-rw-r--r--community/gtk2hs-buildtools/0001-fix-for-ghc-7.6.1-changes.patch69
-rw-r--r--community/gtk2hs-buildtools/PKGBUILD27
-rw-r--r--community/gtkballs/PKGBUILD26
-rw-r--r--community/gtkdatabox/PKGBUILD28
-rw-r--r--community/gtkdialog/PKGBUILD32
-rw-r--r--community/gtkdialog/gtkdialog.install22
-rw-r--r--community/gtkhotkey/PKGBUILD40
-rw-r--r--community/gtkperf/PKGBUILD21
-rw-r--r--community/gtkpod/PKGBUILD40
-rw-r--r--community/gtkpod/gtkpod-2.1.3-gdl-3.6.patch59
-rw-r--r--community/gtkpod/gtkpod.install12
-rw-r--r--community/gtksourceviewmm/PKGBUILD28
-rw-r--r--community/gtkspell3/PKGBUILD30
-rw-r--r--community/gtkwave/PKGBUILD39
-rw-r--r--community/gtkwave/gtkwave.install6
-rw-r--r--community/gtranslator/PKGBUILD42
-rw-r--r--community/gtranslator/gtkspell3-port.patch97
-rw-r--r--community/gtranslator/gtranslator.changelog61
-rw-r--r--community/gtranslator/gtranslator.install13
-rw-r--r--community/gtypist/PKGBUILD33
-rw-r--r--community/gtypist/gtypist.install18
-rw-r--r--community/gtypist/ncurses.patch83
-rw-r--r--community/guake/PKGBUILD41
-rw-r--r--community/guake/guake-fix-notification.patch42
-rw-r--r--community/guake/guake.install22
-rwxr-xr-xcommunity/guayadeque/PKGBUILD35
-rwxr-xr-xcommunity/guayadeque/guayadeque.install13
-rw-r--r--community/guichan/PKGBUILD32
-rw-r--r--community/guifications/PKGBUILD27
-rw-r--r--community/guitarix2/PKGBUILD37
-rw-r--r--community/guitarix2/guitarix2.install11
-rw-r--r--community/gummi/PKGBUILD35
-rw-r--r--community/gummi/gummi.install14
-rw-r--r--community/guvcview/PKGBUILD31
-rw-r--r--community/gwenhywfar/PKGBUILD31
-rw-r--r--community/gwget/PKGBUILD50
-rw-r--r--community/gwget/drop-libgnomeui.patch290
-rw-r--r--community/gwget/gwget-1.0.4-glib-2.32.patch12
-rw-r--r--community/gwget/gwget-1.0.4-notify-0.7.patch24
-rw-r--r--community/gwget/gwget.install17
-rw-r--r--community/gwibber/PKGBUILD56
-rw-r--r--community/gwibber/gtkspell3-port.patch29
-rw-r--r--community/gwibber/gwibber.install12
-rw-r--r--community/gwibber/lp_1051801.patch12
-rw-r--r--community/gwibber/lp_1088775.patch16
-rw-r--r--community/gwibber/lp_934530.patch21
-rw-r--r--community/gxmessage/PKGBUILD32
-rw-r--r--community/gxmessage/gxmessage.desktop10
-rw-r--r--community/gxmessage/gxmessage.install4
-rw-r--r--community/haddock/PKGBUILD47
-rw-r--r--community/haddock/haddock.install25
-rw-r--r--community/happy/PKGBUILD29
-rw-r--r--community/hardlink/PKGBUILD27
-rw-r--r--community/hashcash/PKGBUILD26
-rw-r--r--community/haskell-base64-bytestring/PKGBUILD40
-rw-r--r--community/haskell-base64-bytestring/haskell-base64-bytestring.install23
-rw-r--r--community/haskell-blaze-builder/PKGBUILD41
-rw-r--r--community/haskell-blaze-builder/haskell-blaze-builder.install24
-rw-r--r--community/haskell-blaze-html/PKGBUILD36
-rw-r--r--community/haskell-blaze-html/haskell-blaze-html.install23
-rw-r--r--community/haskell-blaze-markup/PKGBUILD38
-rw-r--r--community/haskell-blaze-markup/haskell-blaze-markup.install22
-rw-r--r--community/haskell-bytestring-show/PKGBUILD43
-rw-r--r--community/haskell-bytestring-show/haskell-bytestring-show.install24
-rw-r--r--community/haskell-cairo/PKGBUILD45
-rw-r--r--community/haskell-cairo/gtk2hs-cairo.install18
-rw-r--r--community/haskell-citeproc-hs/PKGBUILD42
-rw-r--r--community/haskell-citeproc-hs/haskell-citeproc-hs.install23
-rw-r--r--community/haskell-data-default-class/PKGBUILD35
-rw-r--r--community/haskell-data-default-class/haskell-data-default-class.install18
-rw-r--r--community/haskell-data-default-instances-base/PKGBUILD35
-rw-r--r--community/haskell-data-default-instances-base/haskell-data-default-instances-base.install18
-rw-r--r--community/haskell-data-default-instances-containers/PKGBUILD35
-rw-r--r--community/haskell-data-default-instances-containers/haskell-data-default-instances-containers.install18
-rw-r--r--community/haskell-data-default-instances-dlist/PKGBUILD35
-rw-r--r--community/haskell-data-default-instances-dlist/haskell-data-default-instances-dlist.install18
-rw-r--r--community/haskell-data-default-instances-old-locale/PKGBUILD35
-rw-r--r--community/haskell-data-default-instances-old-locale/haskell-data-default-instances-old-locale.install18
-rw-r--r--community/haskell-data-default/PKGBUILD35
-rw-r--r--community/haskell-data-default/haskell-data-default.install18
-rw-r--r--community/haskell-dataenc/0001-update-build-deps-for-ghc-7.6.1.patch25
-rw-r--r--community/haskell-dataenc/PKGBUILD46
-rw-r--r--community/haskell-dataenc/haskell-dataenc.install18
-rw-r--r--community/haskell-digest/PKGBUILD39
-rw-r--r--community/haskell-digest/haskell-digest.install23
-rw-r--r--community/haskell-dlist/PKGBUILD44
-rw-r--r--community/haskell-dlist/haskell-dlist.install26
-rw-r--r--community/haskell-extensible-exceptions/PKGBUILD39
-rw-r--r--community/haskell-extensible-exceptions/haskell-extensible-exceptions.install19
-rw-r--r--community/haskell-ghc-paths/PKGBUILD45
-rw-r--r--community/haskell-ghc-paths/haskell-ghc-paths.install18
-rw-r--r--community/haskell-glib/PKGBUILD44
-rw-r--r--community/haskell-glib/gtk2hs-glib.install18
-rw-r--r--community/haskell-gtk/PKGBUILD48
-rw-r--r--community/haskell-gtk/ghc-7.6.1.patch574
-rw-r--r--community/haskell-gtk/gtk-gthread.h-include.patch15
-rw-r--r--community/haskell-gtk/gtk2hs-gtk.install18
-rw-r--r--community/haskell-haskeline/PKGBUILD40
-rw-r--r--community/haskell-haskeline/haskell-haskeline.install18
-rw-r--r--community/haskell-highlighting-kate/PKGBUILD37
-rw-r--r--community/haskell-highlighting-kate/haskell-highlighting-kate.install23
-rw-r--r--community/haskell-hs-bibutils/PKGBUILD44
-rw-r--r--community/haskell-hs-bibutils/haskell-hs-bibutils.install23
-rw-r--r--community/haskell-hslogger/PKGBUILD36
-rw-r--r--community/haskell-hslogger/haskell-hslogger.install18
-rw-r--r--community/haskell-html/PKGBUILD40
-rw-r--r--community/haskell-html/haskell-html.install19
-rw-r--r--community/haskell-json/PKGBUILD39
-rw-r--r--community/haskell-json/haskell-json.install23
-rw-r--r--community/haskell-pandoc-types/PKGBUILD40
-rw-r--r--community/haskell-pandoc-types/haskell-pandoc-types.install23
-rw-r--r--community/haskell-pandoc/PKGBUILD40
-rw-r--r--community/haskell-pandoc/haskell-pandoc.install23
-rw-r--r--community/haskell-pango/PKGBUILD47
-rw-r--r--community/haskell-pango/gtk2hs-pango.install18
-rw-r--r--community/haskell-pcre-light/PKGBUILD42
-rw-r--r--community/haskell-pcre-light/haskell-pcre-light.install23
-rw-r--r--community/haskell-primitive/PKGBUILD39
-rw-r--r--community/haskell-primitive/haskell-primitive.install26
-rw-r--r--community/haskell-quickcheck/0001-update-code-to-support-extensible-exceptions-no-long.patch50
-rw-r--r--community/haskell-quickcheck/PKGBUILD49
-rw-r--r--community/haskell-quickcheck/haskell-quickcheck.install18
-rw-r--r--community/haskell-regex-base/PKGBUILD43
-rw-r--r--community/haskell-regex-base/haskell-regex-base.install18
-rw-r--r--community/haskell-regex-compat/PKGBUILD41
-rw-r--r--community/haskell-regex-compat/haskell-regex-compat.install18
-rw-r--r--community/haskell-regex-posix/PKGBUILD41
-rw-r--r--community/haskell-regex-posix/haskell-regex-posix.install18
-rw-r--r--community/haskell-stm/PKGBUILD37
-rw-r--r--community/haskell-stm/haskell-stm.install18
-rw-r--r--community/haskell-syb/PKGBUILD37
-rw-r--r--community/haskell-syb/haskell-syb.install18
-rw-r--r--community/haskell-tagsoup/PKGBUILD36
-rw-r--r--community/haskell-tagsoup/haskell-tagsoup.install23
-rw-r--r--community/haskell-tar/PKGBUILD45
-rw-r--r--community/haskell-tar/haskell-tar.install24
-rw-r--r--community/haskell-temporary/PKGBUILD35
-rw-r--r--community/haskell-temporary/haskell-temporary.install23
-rw-r--r--community/haskell-terminfo/PKGBUILD41
-rw-r--r--community/haskell-terminfo/haskell-terminfo.install18
-rw-r--r--community/haskell-texmath/PKGBUILD40
-rw-r--r--community/haskell-texmath/haskell-texmath.install23
-rw-r--r--community/haskell-utf8-string/PKGBUILD39
-rw-r--r--community/haskell-utf8-string/haskell-utf8-string.install18
-rw-r--r--community/haskell-vector/PKGBUILD39
-rw-r--r--community/haskell-vector/haskell-vector.install26
-rw-r--r--community/haskell-x11-xft/PKGBUILD38
-rw-r--r--community/haskell-x11-xft/haskell-x11-xft.install18
-rw-r--r--community/haskell-x11/PKGBUILD41
-rw-r--r--community/haskell-x11/hsmod.install18
-rw-r--r--community/haskell-xhtml/PKGBUILD50
-rw-r--r--community/haskell-xhtml/haskell-xhtml.install19
-rw-r--r--community/haskell-xml/PKGBUILD41
-rw-r--r--community/haskell-xml/haskell-xml.install23
-rw-r--r--community/haskell-zip-archive/PKGBUILD43
-rw-r--r--community/haskell-zip-archive/haskell-zip-archive.install23
-rw-r--r--community/hatari/PKGBUILD28
-rw-r--r--community/haveged/PKGBUILD34
-rw-r--r--community/haveged/service11
-rw-r--r--community/hawknl/PKGBUILD36
-rw-r--r--community/hawknl/hawknl.patch27
-rw-r--r--community/hdapsd/PKGBUILD31
-rw-r--r--community/hdapsd/hdapsd.systemd12
-rw-r--r--community/hedgewars/PKGBUILD55
-rw-r--r--community/hedgewars/build-fix.patch11
-rw-r--r--community/hedgewars/hedgewars.desktop8
-rw-r--r--community/hedgewars/hedgewars.pngbin0 -> 7329 bytes
-rw-r--r--community/hercules/PKGBUILD35
-rw-r--r--community/herqq/PKGBUILD27
-rw-r--r--community/hevea/PKGBUILD30
-rw-r--r--community/hevea/hevea.install13
-rw-r--r--community/hex-a-hop/PKGBUILD26
-rw-r--r--community/hex-a-hop/hex-a-hop.desktop11
-rwxr-xr-xcommunity/higan-gtk/PKGBUILD74
-rwxr-xr-xcommunity/higan-gtk/higan13
-rwxr-xr-xcommunity/higan-gtk/higan.desktop8
-rwxr-xr-xcommunity/higan-gtk/purify.desktop8
-rwxr-xr-xcommunity/higan-qt/PKGBUILD80
-rwxr-xr-xcommunity/higan-qt/higan13
-rwxr-xr-xcommunity/higan-qt/higan.desktop8
-rwxr-xr-xcommunity/higan-qt/purify.desktop8
-rw-r--r--community/highlight/PKGBUILD40
-rw-r--r--community/hitori/PKGBUILD28
-rw-r--r--community/hitori/hitori.install11
-rw-r--r--community/homebank/PKGBUILD30
-rw-r--r--community/homebank/homebank.changelog2
-rw-r--r--community/homebank/homebank.install13
-rw-r--r--community/hostapd/PKGBUILD63
-rw-r--r--community/hostapd/config92
-rw-r--r--community/hostapd/hostapd.install7
-rw-r--r--community/hostapd/hostapd.service11
-rw-r--r--community/hping/Makefile.patch30
-rw-r--r--community/hping/PKGBUILD36
-rw-r--r--community/hping/bytesex.h.patch18
-rw-r--r--community/hsetroot/PKGBUILD26
-rw-r--r--community/hsolink/PKGBUILD28
-rw-r--r--community/hsolink/hsolink.install3
-rw-r--r--community/ht/PKGBUILD25
-rw-r--r--community/html2text/PKGBUILD30
-rw-r--r--community/httperf/PKGBUILD28
-rw-r--r--community/httptunnel/PKGBUILD26
-rw-r--r--community/hubbub/PKGBUILD34
-rw-r--r--community/hwinfo/PKGBUILD48
-rw-r--r--community/hwinfo/custom_ioctl.patch16
-rw-r--r--community/i2c-tools/PKGBUILD34
-rw-r--r--community/i3-wm/PKGBUILD68
-rw-r--r--community/i3lock/PKGBUILD39
-rw-r--r--community/i3status/PKGBUILD36
-rw-r--r--community/i3status/i3status.install9
-rw-r--r--community/i7z/PKGBUILD33
-rw-r--r--community/iasl/LICENSE33
-rw-r--r--community/iasl/PKGBUILD42
-rw-r--r--community/iasl/iasl.install17
-rw-r--r--community/iat/PKGBUILD29
-rw-r--r--community/ibam/PKGBUILD34
-rw-r--r--community/ibam/ibam-0.5.2-sysfs.patch17
-rw-r--r--community/ibam/ibam.install8
-rw-r--r--community/ibus-anthy/PKGBUILD37
-rw-r--r--community/ibus-anthy/ibus-anthy.install11
-rw-r--r--community/ibus-chewing/PKGBUILD33
-rw-r--r--community/ibus-chewing/ibus-chewing.install17
-rw-r--r--community/ibus-hangul/PKGBUILD30
-rw-r--r--community/ibus-hangul/ibus-hangul.install11
-rw-r--r--community/ibus-kkc/PKGBUILD27
-rw-r--r--community/ibus-libpinyin/PKGBUILD54
-rw-r--r--community/ibus-libpinyin/automake-1.13.patch10
-rw-r--r--community/ibus-m17n/PKGBUILD32
-rw-r--r--community/ibus-pinyin/PKGBUILD36
-rw-r--r--community/ibus-qt/0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch75
-rw-r--r--community/ibus-qt/PKGBUILD31
-rw-r--r--community/ibus-rime/PKGBUILD28
-rw-r--r--community/ibus-rime/ibus-rime.install3
-rw-r--r--community/ibus-sunpinyin/PKGBUILD34
-rw-r--r--community/ibus-table-extraphrase/PKGBUILD30
-rw-r--r--community/ibus-unikey/PKGBUILD31
-rw-r--r--community/icecast/PKGBUILD52
-rw-r--r--community/icecast/icecast.logrotate8
-rw-r--r--community/icecast/icecast.service9
-rw-r--r--community/icecast/start-by-nobody.patch15
-rw-r--r--community/icedtea-web-java7/PKGBUILD91
-rw-r--r--community/icedtea-web-java7/openjdk-hotfix.patch56
-rw-r--r--community/icewm-utils/PKGBUILD113
-rw-r--r--community/icewm-utils/icets-fix-icewmtray-crash.diff13
-rw-r--r--community/ico2xpm/ChangeLog2
-rw-r--r--community/ico2xpm/PKGBUILD24
-rw-r--r--community/icoutils/PKGBUILD29
-rw-r--r--community/id3lib-rcc/PKGBUILD43
-rw-r--r--community/id3lib-rcc/arch.patch39
-rw-r--r--community/id3lib-rcc/id3lib-gcc4.patch189
-rw-r--r--community/idesk/PKGBUILD33
-rw-r--r--community/iec16022/PKGBUILD28
-rw-r--r--community/iftop/PKGBUILD30
-rw-r--r--community/ifuse/PKGBUILD27
-rw-r--r--community/igmpproxy/PKGBUILD30
-rw-r--r--community/igmpproxy/igmpproxy.service10
-rw-r--r--community/imdbpy/PKGBUILD39
-rw-r--r--community/incron/PKGBUILD47
-rw-r--r--community/incron/incron.install13
-rw-r--r--community/incron/incrond.service10
-rw-r--r--community/inn/PKGBUILD125
-rw-r--r--community/inn/inn.install22
-rw-r--r--community/inn/inn.tmpfiles1
-rw-r--r--community/inn/innd.service16
-rw-r--r--community/inn/site.make.patch32
-rw-r--r--community/inotify-tools/PKGBUILD22
-rw-r--r--community/inputattach/0001-Add-w8001-flag.patch27
-rw-r--r--community/inputattach/0002-Allow-for-custom-baud-rates.patch70
-rw-r--r--community/inputattach/PKGBUILD50
-rw-r--r--community/inputattach/inputattach.conf.d10
-rw-r--r--community/inputattach/inputattach.service11
-rwxr-xr-xcommunity/inputattach/inputattachctl14
-rw-r--r--community/instead-launcher/PKGBUILD27
-rw-r--r--community/instead/PKGBUILD28
-rw-r--r--community/intel-gpu-tools/PKGBUILD27
-rw-r--r--community/intellij-idea-libs/PKGBUILD25
-rw-r--r--community/ioping/PKGBUILD26
-rw-r--r--community/iperf/PKGBUILD45
-rw-r--r--community/iperf/client.cpp.patch17
-rw-r--r--community/iperf/iperf-tcp.service9
-rw-r--r--community/iperf/iperf-udp.service9
-rw-r--r--community/iperf/iperf.install11
-rw-r--r--community/ipguard/PKGBUILD34
-rw-r--r--community/ipguard/build-fix-le.patch24
-rw-r--r--community/ipset/PKGBUILD41
-rw-r--r--community/ipset/ipset.service12
-rw-r--r--community/iptstate/PKGBUILD27
-rw-r--r--community/ipvsadm/01-fix-not-showing-all-server.patch24
-rw-r--r--community/ipvsadm/PKGBUILD54
-rw-r--r--community/ipvsadm/ipvsadm.install10
-rw-r--r--community/ipvsadm/ipvsadm.service11
-rw-r--r--community/ipvsadm/ipvsadm.systemd21
-rw-r--r--community/irrlicht/PKGBUILD70
-rw-r--r--community/irrlicht/irrlicht-1.7.2-libpng15.patch40
-rw-r--r--community/iverilog/PKGBUILD31
-rw-r--r--community/jack2/40-hpet-permissions.rules2
-rw-r--r--community/jack2/99-audio.conf2
-rw-r--r--community/jack2/PKGBUILD128
-rw-r--r--community/jad/PKGBUILD31
-rw-r--r--community/jansson/PKGBUILD31
-rw-r--r--community/javasqlite/PKGBUILD31
-rw-r--r--community/jbig2dec/PKGBUILD33
-rw-r--r--community/jbig2dec/jbig2dec-0.11-libpng15.patch31
-rw-r--r--community/jbigkit/PKGBUILD39
-rw-r--r--community/jemalloc/PKGBUILD30
-rw-r--r--community/jhead/LICENSE12
-rw-r--r--community/jhead/PKGBUILD31
-rw-r--r--community/john/PKGBUILD131
-rw-r--r--community/john/john.install10
-rw-r--r--community/john/params.h.patch13
-rw-r--r--community/jshon/PKGBUILD23
-rw-r--r--community/judy/PKGBUILD23
-rw-r--r--community/jwm/PKGBUILD27
-rw-r--r--community/kaa-base/PKGBUILD26
-rw-r--r--community/kaa-imlib2/PKGBUILD19
-rw-r--r--community/kaa-metadata/PKGBUILD29
-rw-r--r--community/kadu/PKGBUILD40
-rw-r--r--community/kadu/kadu.install12
-rw-r--r--community/kakasi/PKGBUILD26
-rw-r--r--community/kaudiocreator/PKGBUILD35
-rw-r--r--community/kaudiocreator/kaudiocreator.install11
-rw-r--r--community/kbibtex/PKGBUILD33
-rw-r--r--community/kbibtex/kbibtex.install15
-rw-r--r--community/kcheckers/PKGBUILD27
-rw-r--r--community/kcheckers/kcheckers.desktop9
-rw-r--r--community/kchmviewer/PKGBUILD40
-rw-r--r--community/kchmviewer/kchmviewer.changelog29
-rw-r--r--community/kchmviewer/kchmviewer.install12
-rw-r--r--community/kcm-fcitx/PKGBUILD31
-rw-r--r--community/kdbg/PKGBUILD32
-rw-r--r--community/kde-gtk-config/PKGBUILD36
-rw-r--r--community/kde-gtk-config/kde-gtk-config.install11
-rw-r--r--community/kde4-kio-rapip/PKGBUILD28
-rw-r--r--community/kde4-kio-rapip/kde4-kio-rapip.install14
-rw-r--r--community/kdenlive/PKGBUILD42
-rw-r--r--community/kdenlive/kdenlive.install13
-rw-r--r--community/kdesvn/PKGBUILD41
-rw-r--r--community/kdesvn/kdesvn.changelog58
-rw-r--r--community/kdesvn/kdesvn.install12
-rw-r--r--community/keepalived/PKGBUILD38
-rw-r--r--community/keepalived/keepalived.service9
-rw-r--r--community/keepassx/ChangeLog16
-rw-r--r--community/keepassx/PKGBUILD31
-rw-r--r--community/keepassx/keepassx.install12
-rw-r--r--community/keybinder2/PKGBUILD43
-rw-r--r--community/kgraphviewer/PKGBUILD33
-rw-r--r--community/kgraphviewer/kgraphviewer.install11
-rw-r--r--community/kicad/PKGBUILD54
-rw-r--r--community/kicad/kicad-boost-polygon-declare-gtlsort-earlier.patch11
-rw-r--r--community/kicad/kicad.install15
-rw-r--r--community/kid3/PKGBUILD40
-rw-r--r--community/kid3/kid3.changelog41
-rw-r--r--community/kid3/kid3.install12
-rw-r--r--community/kimtoy/PKGBUILD33
-rw-r--r--community/kimtoy/kimtoy.install11
-rw-r--r--community/kio-mtp/PKGBUILD29
-rw-r--r--community/kiwi/PKGBUILD32
-rw-r--r--community/klavaro/PKGBUILD30
-rw-r--r--community/klavaro/klavaro.install10
-rw-r--r--community/kleansweep/ChangeLog2
-rw-r--r--community/kleansweep/PKGBUILD27
-rw-r--r--community/kleansweep/kubuntu_03_fix_scons_chmod_error.patch23
-rw-r--r--community/kmess/PKGBUILD40
-rw-r--r--community/kmess/kmess.install11
-rw-r--r--community/kmscon/PKGBUILD48
-rw-r--r--community/kmymoney/PKGBUILD49
-rw-r--r--community/kmymoney/git-fixes.diff43
-rw-r--r--community/kmymoney/kmymoney.changelog32
-rw-r--r--community/kmymoney/kmymoney.install13
-rw-r--r--community/knemo/PKGBUILD40
-rw-r--r--community/knemo/knemo.install11
-rw-r--r--community/kovpn/ChangeLog2
-rw-r--r--community/kovpn/PKGBUILD43
-rw-r--r--community/kovpn/kovpn.install12
-rw-r--r--community/kpartsplugin/LICENSE28
-rw-r--r--community/kpartsplugin/PKGBUILD33
-rw-r--r--community/kphotoalbum/PKGBUILD40
-rw-r--r--community/kphotoalbum/kphotoalbum.install12
-rw-r--r--community/kpovmodeler/PKGBUILD36
-rw-r--r--community/kpovmodeler/kpovmodeler.install11
-rw-r--r--community/krecipes/PKGBUILD38
-rw-r--r--community/krecipes/krecipes.install12
-rw-r--r--community/krename/PKGBUILD31
-rw-r--r--community/krename/krename.install11
-rw-r--r--community/kshutdown/PKGBUILD32
-rw-r--r--community/kshutdown/kshutdown.install13
-rw-r--r--community/ksniffer/PKGBUILD23
-rw-r--r--community/ksshaskpass/PKGBUILD35
-rw-r--r--community/ksshaskpass/ksshaskpass.sh1
-rw-r--r--community/ktechlab/PKGBUILD30
-rw-r--r--community/ktikz/PKGBUILD27
-rw-r--r--community/ktikz/ktikz.install14
-rw-r--r--community/ktoblzcheck/PKGBUILD30
-rw-r--r--community/ktoblzcheck/ktoblzcheck-python3.patch57
-rw-r--r--community/kuickshow/PKGBUILD32
-rw-r--r--community/kuickshow/kuickshow.install12
-rw-r--r--community/kvirc/PKGBUILD33
-rw-r--r--community/kvirc/kvirc-4.0.4-gcc-4.7.0.patch62
-rw-r--r--community/kvirc/kvirc.install13
-rw-r--r--community/kvpnc/PKGBUILD44
-rw-r--r--community/kvpnc/kvpnc.install52
-rw-r--r--community/kvpnc/vpnc-paths.patch20
-rw-r--r--community/kwalletcli/PKGBUILD29
-rw-r--r--community/kyotocabinet/PKGBUILD30
-rw-r--r--community/lal/PKGBUILD28
-rw-r--r--community/lash/PKGBUILD36
-rw-r--r--community/lash/lash.install6
-rw-r--r--community/lash/makefile.patch14
-rw-r--r--community/launchy/PKGBUILD33
-rw-r--r--community/launchy/fix-linking.patch11
-rw-r--r--community/lazarus/ChangeLog18
-rw-r--r--community/lazarus/PKGBUILD124
-rw-r--r--community/lazarus/lazarus-ide.install34
-rw-r--r--community/lazarus/lazcontrols2.diff46
-rw-r--r--community/lcdproc/PKGBUILD48
-rw-r--r--community/lcdproc/lcdd.service11
-rw-r--r--community/ldc/PKGBUILD47
-rw-r--r--community/leafnode/PKGBUILD34
-rw-r--r--community/leafnode/leafnode.install14
-rw-r--r--community/leafnode/leafnode.xinetd18
-rw-r--r--community/leptonica/PKGBUILD27
-rw-r--r--community/lgi/PKGBUILD52
-rw-r--r--community/libaccounts-glib/PKGBUILD37
-rw-r--r--community/libaccounts-qt/PKGBUILD44
-rw-r--r--community/libacpi/PKGBUILD23
-rw-r--r--community/libalkimia/PKGBUILD35
-rw-r--r--community/libc++/PKGBUILD29
-rw-r--r--community/libc++/libc++.install7
-rw-r--r--community/libc++abi/PKGBUILD28
-rw-r--r--community/libcec/PKGBUILD34
-rw-r--r--community/libcgns2/PKGBUILD47
-rw-r--r--community/libclastfm/PKGBUILD31
-rw-r--r--community/libcoverart/PKGBUILD29
-rw-r--r--community/libcryptui/PKGBUILD30
-rw-r--r--community/libcryptui/libcryptui.install11
-rw-r--r--community/libcss/PKGBUILD34
-rw-r--r--community/libcuefile/PKGBUILD33
-rw-r--r--community/libdaq/PKGBUILD28
-rw-r--r--community/libdbi-drivers/PKGBUILD40
-rw-r--r--community/libdbi-drivers/libdbi-drivers.install19
-rw-r--r--community/libdbi/PKGBUILD29
-rw-r--r--community/libdbi/libdbi.install13
-rw-r--r--community/libdesktop-agnostic/PKGBUILD36
-rw-r--r--community/libdlna/PKGBUILD27
-rw-r--r--community/libdnet/PKGBUILD34
-rw-r--r--community/libdnet/libdnet.install3
-rw-r--r--community/libdom/PKGBUILD32
-rw-r--r--community/libee/PKGBUILD28
-rw-r--r--community/libesmtp/PKGBUILD28
-rw-r--r--community/libestr/PKGBUILD25
-rw-r--r--community/libev/PKGBUILD34
-rw-r--r--community/libexosip2/ChangeLog7
-rw-r--r--community/libexosip2/PKGBUILD27
-rw-r--r--community/libextractor/PKGBUILD38
-rw-r--r--community/libextractor/libextractor.install20
-rw-r--r--community/libfakekey/PKGBUILD26
-rw-r--r--community/libfaketime/PKGBUILD32
-rw-r--r--community/libfaketime/libfaketime-0.9.1-fix-README-NEWS.patch29
-rw-r--r--community/libfaketime/libfaketime-0.9.1-fix-as-needed.patch39
-rw-r--r--community/libfbclient/ChangeLog26
-rw-r--r--community/libfbclient/LICENSE44
-rw-r--r--community/libfbclient/PKGBUILD47
-rw-r--r--community/libfm/PKGBUILD37
-rw-r--r--community/libfm/libfm.install15
-rw-r--r--community/libgdamm/PKGBUILD39
-rw-r--r--community/libgeotiff/PKGBUILD32
-rw-r--r--community/libgeotiff/libgeotiff.changelog2
-rw-r--r--community/libgexiv2/PKGBUILD30
-rw-r--r--community/libgig/PKGBUILD31
-rw-r--r--community/libgit2-glib/PKGBUILD35
-rw-r--r--community/libgit2/PKGBUILD33
-rw-r--r--community/libgnome-media-profiles/PKGBUILD34
-rw-r--r--community/libgnome-media-profiles/libgnome-media-profiles.install21
-rw-r--r--community/libgooglepinyin/PKGBUILD34
-rw-r--r--community/libgoom2/PKGBUILD30
-rw-r--r--community/libgringotts/PKGBUILD31
-rw-r--r--community/libgringotts/libgringotts.changelog6
-rw-r--r--community/libgtksourceviewmm2/PKGBUILD31
-rw-r--r--community/libharu/PKGBUILD34
-rw-r--r--community/libharu/libpng15.patch302
-rw-r--r--community/libhx/PKGBUILD27
-rw-r--r--community/libident/PKGBUILD37
-rw-r--r--community/libident/libident.pc10
-rw-r--r--community/libinfinity/PKGBUILD31
-rw-r--r--community/libiptcdata/PKGBUILD27
-rw-r--r--community/libircclient/PKGBUILD51
-rw-r--r--community/libircclient/shared.patch44
-rw-r--r--community/libkkc-data/ChangeLog14
-rw-r--r--community/libkkc-data/PKGBUILD26
-rw-r--r--community/libkkc/PKGBUILD32
-rw-r--r--community/liblinebreak/PKGBUILD25
-rw-r--r--community/liblockfile/PKGBUILD33
-rw-r--r--community/libmaa/PKGBUILD26
-rw-r--r--community/libmatchbox/PKGBUILD28
-rw-r--r--community/libmatchbox/libpng15.patch23
-rw-r--r--community/libmatio/PKGBUILD34
-rw-r--r--community/libmediainfo/PKGBUILD39
-rw-r--r--community/libmediainfo/libmediainfo-0.7.50-libmms.patch50
-rw-r--r--community/libmemcached/PKGBUILD45
-rw-r--r--community/libmemcached/gcc-4.8.patch183
-rw-r--r--community/libmicrohttpd/PKGBUILD37
-rw-r--r--community/libmicrohttpd/libmicrohttpd.install20
-rw-r--r--community/libmilter/PKGBUILD47
-rw-r--r--community/libmirage/PKGBUILD36
-rw-r--r--community/libmirage/libmirage.install11
-rw-r--r--community/libmnl/PKGBUILD27
-rw-r--r--community/libmusicbrainz4/PKGBUILD27
-rw-r--r--community/libnetfilter_acct/PKGBUILD29
-rw-r--r--community/libnetfilter_conntrack/PKGBUILD30
-rw-r--r--community/libnetfilter_cthelper/PKGBUILD26
-rw-r--r--community/libnetfilter_cttimeout/PKGBUILD26
-rw-r--r--community/libnetfilter_log/PKGBUILD29
-rw-r--r--community/libnetfilter_queue/PKGBUILD29
-rw-r--r--community/libnewt/PKGBUILD44
-rw-r--r--community/libnfnetlink/PKGBUILD30
-rw-r--r--community/libnfs/PKGBUILD27
-rw-r--r--community/libnids/PKGBUILD30
-rw-r--r--community/libnoise/CMakeLists.txt101
-rw-r--r--community/libnoise/PKGBUILD34
-rw-r--r--community/libnsbmp/PKGBUILD33
-rw-r--r--community/libnsgif/PKGBUILD34
-rw-r--r--community/liboggz/PKGBUILD36
-rw-r--r--community/libopenraw/PKGBUILD32
-rw-r--r--community/libopensync/PKGBUILD33
-rw-r--r--community/liboping/PKGBUILD35
-rw-r--r--community/liboping/install8
-rw-r--r--community/libosip2/ChangeLog11
-rw-r--r--community/libosip2/PKGBUILD49
-rw-r--r--community/libpaper/PKGBUILD34
-rw-r--r--community/libpar2/PKGBUILD40
-rw-r--r--community/libpar2/libpar2-0.2-bugfixes.patch60
-rw-r--r--community/libpar2/libpar2-0.2-cancel.patch236
-rw-r--r--community/libparserutils/PKGBUILD35
-rw-r--r--community/libpinyin/PKGBUILD34
-rw-r--r--community/libpng12/PKGBUILD50
-rw-r--r--community/libpqxx/ChangeLog9
-rw-r--r--community/libpqxx/PKGBUILD24
-rw-r--r--community/libraw/PKGBUILD35
-rw-r--r--community/libraw/libraw.changelog17
-rw-r--r--community/librcc/PKGBUILD49
-rw-r--r--community/librcc/librcc-strnlen.patch17
-rw-r--r--community/librcc/librcc.install6
-rw-r--r--community/librcd/PKGBUILD22
-rw-r--r--community/libreplaygain/PKGBUILD34
-rw-r--r--community/librime/PKGBUILD28
-rw-r--r--community/librsync/PKGBUILD35
-rw-r--r--community/librsync/lfs-overflow.patch55
-rw-r--r--community/librtfcomp/PKGBUILD26
-rw-r--r--community/libshairport/PKGBUILD33
-rw-r--r--community/libsieve/PKGBUILD20
-rw-r--r--community/libsignon-glib/PKGBUILD34
-rw-r--r--community/libsmf/PKGBUILD28
-rw-r--r--community/libstatgrab/PKGBUILD30
-rw-r--r--community/libstatgrab/libstatgrab.changelog11
-rw-r--r--community/libsynaptics/PKGBUILD26
-rw-r--r--community/libsynaptics/libsynaptics-gcc433.patch10
-rw-r--r--community/libtaginfo/PKGBUILD25
-rw-r--r--community/libtommath/PKGBUILD32
-rw-r--r--community/libtommath/libtommath-0.42.0-makefile.patch44
-rw-r--r--community/libtorrent/PKGBUILD34
-rw-r--r--community/libunwind/PKGBUILD36
-rw-r--r--community/libuser/PKGBUILD34
-rw-r--r--community/libvirt-glib/PKGBUILD28
-rw-r--r--community/libvirt/PKGBUILD88
-rw-r--r--community/libvirt/libvirt.install19
-rw-r--r--community/libvirt/libvirt.tmpfiles.d4
-rw-r--r--community/libvirt/libvirtd-guests.conf.d11
-rw-r--r--community/libvirt/libvirtd.conf.d3
-rw-r--r--community/libwapcaplet/PKGBUILD33
-rw-r--r--community/libwww/PKGBUILD25
-rw-r--r--community/libx86/PKGBUILD41
-rw-r--r--community/libx86/libx86-ifmask.patch21
-rw-r--r--community/libx86emu/PKGBUILD36
-rw-r--r--community/libxdg-basedir/LICENSE24
-rw-r--r--community/libxdg-basedir/PKGBUILD32
-rw-r--r--community/libyaml/PKGBUILD26
-rw-r--r--community/libzdb/PKGBUILD25
-rw-r--r--community/libzen/PKGBUILD39
-rwxr-xr-xcommunity/lightdm-gtk2-greeter/PKGBUILD34
-rwxr-xr-xcommunity/lightdm-gtk3-greeter/PKGBUILD34
-rwxr-xr-xcommunity/lightdm-kde-greeter/PKGBUILD44
-rwxr-xr-xcommunity/lightdm-kde-greeter/lightdm-kde-greeter.conf2
-rwxr-xr-xcommunity/lightdm/PKGBUILD121
-rwxr-xr-xcommunity/lightdm/lightdm-autologin.pam13
-rwxr-xr-xcommunity/lightdm/lightdm-default-config.patch43
-rwxr-xr-xcommunity/lightdm/lightdm-lock-screen-before-switch.patch55
-rwxr-xr-xcommunity/lightdm/lightdm-use-login1.patch514
-rwxr-xr-xcommunity/lightdm/lightdm.install18
-rwxr-xr-xcommunity/lightdm/lightdm.pam7
-rwxr-xr-xcommunity/lightdm/lightdm.rules15
-rwxr-xr-xcommunity/lightdm/lightdm.service14
-rwxr-xr-xcommunity/lightdm/lightdm.tmpfiles1
-rwxr-xr-xcommunity/lightdm/xsession73
-rw-r--r--community/lilypond/PKGBUILD49
-rw-r--r--community/lilypond/lilypond.install48
-rw-r--r--community/lilypond/texlive-workaround.patch88
-rw-r--r--community/lilyterm/PKGBUILD33
-rw-r--r--community/lincity-ng/PKGBUILD27
-rw-r--r--community/linphone/ChangeLog33
-rw-r--r--community/linphone/PKGBUILD36
-rw-r--r--community/linux-tools/PKGBUILD168
-rw-r--r--community/linux-tools/cpupower.default29
-rw-r--r--community/linux-tools/cpupower.install13
-rw-r--r--community/linux-tools/cpupower.service10
-rw-r--r--community/linux-tools/cpupower.systemd32
-rw-r--r--community/linux-tools/usbipd.service9
-rw-r--r--community/linuxdcpp/PKGBUILD30
-rw-r--r--community/linuxdcpp/linuxdcpp.install12
-rw-r--r--community/linuxdoc-tools/PKGBUILD23
-rw-r--r--community/linuxsampler/PKGBUILD38
-rw-r--r--community/linuxsampler/license.txt7
-rw-r--r--community/linuxtv-dvb-apps/PKGBUILD32
-rw-r--r--community/lksctp-tools/PKGBUILD35
-rw-r--r--community/lmms/PKGBUILD45
-rw-r--r--community/lmms/lmms.install11
-rw-r--r--community/lmms/zynaddsubfx_unlink.patch10
-rw-r--r--community/lockdev/PKGBUILD32
-rw-r--r--community/lockfile-progs/PKGBUILD28
-rw-r--r--community/log4cpp/PKGBUILD28
-rw-r--r--community/lomoco/PKGBUILD40
-rw-r--r--community/lomoco/lomoco.sh21
-rw-r--r--community/lomoco/lomoco_mouse.conf5
-rw-r--r--community/lorcon/PKGBUILD43
-rw-r--r--community/lout/PKGBUILD36
-rw-r--r--community/lout/lout.install11
-rw-r--r--community/lout/makefile.arch45
-rw-r--r--community/love/PKGBUILD51
-rw-r--r--community/love/love.install13
-rw-r--r--community/lrzip/PKGBUILD44
-rw-r--r--community/lrzsz/PKGBUILD26
-rw-r--r--community/lrzsz/lrzsz.patch40
-rw-r--r--community/lsdvd/PKGBUILD28
-rw-r--r--community/lsdvd/stdint_usage.patch22
-rw-r--r--community/lshw/PKGBUILD34
-rw-r--r--community/lsscsi/PKGBUILD27
-rw-r--r--community/ltris/PKGBUILD34
-rw-r--r--community/ltris/ltris.changelog30
-rw-r--r--community/ltris/ltris.install4
-rw-r--r--community/lua-zlib/ChangeLog42
-rw-r--r--community/lua-zlib/PKGBUILD42
-rw-r--r--community/luabitop/PKGBUILD45
-rw-r--r--community/luaexpat/PKGBUILD56
-rw-r--r--community/luaexpat/config.5126
-rw-r--r--community/luaexpat/config.5226
-rw-r--r--community/luaexpat/lua52.patch372
-rw-r--r--community/luafilesystem/LICENSE22
-rw-r--r--community/luafilesystem/PKGBUILD46
-rw-r--r--community/luajit/PKGBUILD29
-rw-r--r--community/luakit/0001-Dont-mark-desktop-file-as-executable.patch24
-rw-r--r--community/luakit/PKGBUILD35
-rw-r--r--community/luakit/luakit.install14
-rw-r--r--community/luaposix/PKGBUILD64
-rw-r--r--community/luasec/PKGBUILD49
-rw-r--r--community/luasocket/PKGBUILD50
-rw-r--r--community/luasocket/luasocket-unixsocket.patch33
-rw-r--r--community/luasql/PKGBUILD60
-rw-r--r--community/luasql/lua52.patch283
-rw-r--r--community/luminancehdr/PKGBUILD33
-rw-r--r--community/luminancehdr/luminancehdr.changelog51
-rw-r--r--community/luminancehdr/luminancehdr.install12
-rw-r--r--community/luxrays/PKGBUILD65
-rw-r--r--community/luxrays/luxmark_scenes_path.diff20
-rw-r--r--community/lwm/PKGBUILD33
-rw-r--r--community/lwp/PKGBUILD22
-rw-r--r--community/lxappearance-obconf/PKGBUILD28
-rw-r--r--community/lxappearance/PKGBUILD30
-rw-r--r--community/lxappearance/gtk-3.0.patch111
-rw-r--r--community/lxc/PKGBUILD53
-rw-r--r--community/lxdm/PKGBUILD82
-rw-r--r--community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch11
-rw-r--r--community/lxdm/lxdm-0.4.1-conf.patch11
-rw-r--r--community/lxdm/lxdm-0.4.1-event-check-bug.patch21
-rw-r--r--community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch13
-rw-r--r--community/lxdm/lxdm-0.4.1-kill_user_processes.patch35
-rw-r--r--community/lxdm/lxdm-0.4.1-modern-systems.patch26
-rw-r--r--community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch13
-rw-r--r--community/lxdm/lxdm-0.4.1-pam-env-vars.patch50
-rw-r--r--community/lxdm/lxdm.install21
-rw-r--r--community/lxdm/lxdm.pam10
-rw-r--r--community/lxdm/lxdm.service9
-rw-r--r--community/lxinput/PKGBUILD28
-rw-r--r--community/lxlauncher/PKGBUILD28
-rw-r--r--community/lxlauncher/intltool.patch16
-rw-r--r--community/lxlauncher/lxlauncher-0.2.1-dsofix.patch12
-rw-r--r--community/lxlauncher/lxlauncher-0.2.1-fix-SUSE-lint-warnings.patch32
-rw-r--r--community/lxlauncher/lxlauncher-0.2.1-fix-for-the-new-behavior-of-libmenu-cache-0.3-series.patch125
-rw-r--r--community/lxmenu-data/PKGBUILD26
-rw-r--r--community/lxmusic/PKGBUILD30
-rw-r--r--community/lxmusic/libnotify-0.7.patch27
-rw-r--r--community/lxnm/PKGBUILD25
-rw-r--r--community/lxpanel/PKGBUILD40
-rw-r--r--community/lxpanel/lxpanel-0.5.12-automake-1.14-support.patch15
-rw-r--r--community/lxrandr/PKGBUILD27
-rw-r--r--community/lxsession/PKGBUILD33
-rw-r--r--community/lxsession/lxsession-0.4.6.1-logind-support.patch608
-rw-r--r--community/lxshortcut/PKGBUILD34
-rw-r--r--community/lxtask/PKGBUILD26
-rw-r--r--community/lxterminal/PKGBUILD34
-rw-r--r--community/lxterminal/shift-keybinds.patch39
-rw-r--r--community/macchanger/PKGBUILD27
-rw-r--r--community/madman/PKGBUILD60
-rw-r--r--community/madman/fake-g++.sh5
-rw-r--r--community/mahjong/PKGBUILD26
-rw-r--r--community/mailman/PKGBUILD82
-rw-r--r--community/mailman/mailman-2.1-build.patch694
-rw-r--r--community/mailman/mailman.install30
-rw-r--r--community/mailman/mailman.profile.csh1
-rw-r--r--community/mailman/mailman.profile.sh3
-rw-r--r--community/mailman/mailman.service13
-rw-r--r--community/mailutils/PKGBUILD43
-rw-r--r--community/mailutils/build-fix.patch13
-rw-r--r--community/mailutils/mailutils.install20
-rw-r--r--community/mairix/PKGBUILD29
-rw-r--r--community/mairix/mairix.install14
-rw-r--r--community/makedev/PKGBUILD28
-rw-r--r--community/mandvd/PKGBUILD37
-rw-r--r--community/mandvd/mandvd.changelog10
-rw-r--r--community/mapnik/PKGBUILD46
-rw-r--r--community/mapnik/mapnik-2.1.0-compile-fix-for-boost-1.53.patch36
-rw-r--r--community/mapnik/mapnik.install11
-rw-r--r--community/marisa/ChangeLog10
-rw-r--r--community/marisa/PKGBUILD109
-rw-r--r--community/mashup/PKGBUILD30
-rw-r--r--community/matchbox-desktop/PKGBUILD22
-rw-r--r--community/matchbox-keyboard/PKGBUILD21
-rw-r--r--community/matchbox-panel/PKGBUILD21
-rw-r--r--community/matchbox-window-manager/PKGBUILD27
-rw-r--r--community/mathomatic/PKGBUILD48
-rw-r--r--community/mayavi/PKGBUILD69
-rw-r--r--community/mayavi/vtk-5.10.patch83
-rw-r--r--community/mcabber/PKGBUILD41
-rw-r--r--community/mcdp/PKGBUILD29
-rw-r--r--community/mcelog/PKGBUILD39
-rw-r--r--community/mcelog/mcelog.service11
-rw-r--r--community/mdf2iso/ChangeLog9
-rw-r--r--community/mdf2iso/PKGBUILD33
-rw-r--r--community/mdf2iso/lfs.patch683
-rw-r--r--community/mediainfo-gui/PKGBUILD34
-rw-r--r--community/mediainfo-gui/mediainfo-gui.install11
-rw-r--r--community/mediainfo/PKGBUILD26
-rw-r--r--community/mediaproxy/PKGBUILD37
-rw-r--r--community/mediaproxy/mediaproxy-dispatcher.service11
-rw-r--r--community/mediaproxy/mediaproxy-relay.service11
-rw-r--r--community/mediaproxy/mediaproxy.tmpfiles1
-rw-r--r--community/medit/PKGBUILD34
-rw-r--r--community/medit/medit.install11
-rw-r--r--community/mednafen/PKGBUILD36
-rw-r--r--community/mednafen/mednafen.install5
-rw-r--r--community/megaglest/PKGBUILD39
-rw-r--r--community/menu-cache/PKGBUILD31
-rw-r--r--community/mesa-dri1/PKGBUILD97
-rw-r--r--community/metacity/PKGBUILD55
-rw-r--r--community/metacity/application-switcher.patch26
-rw-r--r--community/metacity/enable_compositing.patch12
-rw-r--r--community/metacity/fix_compositing_startup.patch12
-rw-r--r--community/metacity/fix_force_quit.patch222
-rw-r--r--community/metacity/fix_shadows.patch39
-rw-r--r--community/metacity/metacity.install19
-rw-r--r--community/metakit/PKGBUILD38
-rw-r--r--community/metamail/PKGBUILD35
-rw-r--r--community/metamail/license37
-rw-r--r--community/metapixel/PKGBUILD32
-rw-r--r--community/metapixel/metapixel-1.0.2-libpng-1.5.patch174
-rw-r--r--community/mezogis/ChangeLog3
-rw-r--r--community/mezogis/PKGBUILD26
-rw-r--r--community/mfs/PKGBUILD129
-rw-r--r--community/mfs/mfs.install24
-rw-r--r--community/mfs/mfscgiserv.service13
-rw-r--r--community/mfs/mfschunkserver.service14
-rw-r--r--community/mfs/mfsmaster.service13
-rw-r--r--community/mfs/mfsmetalogger.service13
-rw-r--r--community/mftrace/PKGBUILD21
-rw-r--r--community/mg/PKGBUILD34
-rw-r--r--community/mg/README74
-rw-r--r--community/mg/cleanup.patch163
-rw-r--r--community/midori/PKGBUILD43
-rw-r--r--community/midori/midori.install14
-rw-r--r--community/milkytracker/PKGBUILD55
-rw-r--r--community/milkytracker/milkytracker.install16
-rw-r--r--community/milkytracker/milkytracker.patch632
-rw-r--r--community/mimetex/PKGBUILD19
-rw-r--r--community/minbif/PKGBUILD48
-rw-r--r--community/minbif/minbif-gcc-4.7.patch98
-rw-r--r--community/minbif/minbif.install18
-rw-r--r--community/minbif/minbif.service11
-rw-r--r--community/minbif/minbif.tmpfiles.conf1
-rw-r--r--community/minetest/PKGBUILD36
-rw-r--r--community/minetest/minetest.install17
-rw-r--r--community/ming/PKGBUILD28
-rw-r--r--community/mingw32-binutils/PKGBUILD37
-rw-r--r--community/mingw32-gcc-base/PKGBUILD80
-rw-r--r--community/mingw32-gcc-base/gcc-1-mingw-float.patch18
-rw-r--r--community/mingw32-gcc/PKGBUILD78
-rw-r--r--community/mingw32-gcc/gcc-1-mingw-float.patch18
-rw-r--r--community/mingw32-pthreads/PKGBUILD33
-rw-r--r--community/minidlna/PKGBUILD39
-rw-r--r--community/minidlna/changelog4
-rw-r--r--community/minidlna/minidlna.install7
-rw-r--r--community/minidlna/minidlna.service12
-rw-r--r--community/minidlna/minidlna.tmpfiles5
-rw-r--r--community/minitube/PKGBUILD25
-rw-r--r--community/minitube/minitube.install11
-rw-r--r--community/miniupnpc/PKGBUILD25
-rw-r--r--community/minizip/LICENSE54
-rw-r--r--community/minizip/PKGBUILD44
-rw-r--r--community/miredo/PKGBUILD46
-rw-r--r--community/miredo/miredo.install8
-rw-r--r--community/miredo/miredo.service10
-rw-r--r--community/mixxx/PKGBUILD28
-rw-r--r--community/mksh/PKGBUILD34
-rw-r--r--community/mksh/mksh.install9
-rw-r--r--community/mktorrent/PKGBUILD20
-rw-r--r--community/mlt/PKGBUILD59
-rw-r--r--community/mlt/fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch37
-rw-r--r--community/mmsrip/PKGBUILD27
-rw-r--r--community/mod_wsgi/PKGBUILD35
-rw-r--r--community/mod_wsgi/mod_wsgi.install14
-rw-r--r--community/mod_wsgi2/PKGBUILD35
-rw-r--r--community/mod_wsgi2/mod_wsgi2.install16
-rw-r--r--community/mongodb/PKGBUILD82
-rw-r--r--community/mongodb/SConscript.client.patch13
-rw-r--r--community/mongodb/mongodb.conf8
-rw-r--r--community/mongodb/mongodb.install32
-rw-r--r--community/mongodb/mongodb.service10
-rw-r--r--community/mongodb/removeWerror.patch21
-rw-r--r--community/monica/PKGBUILD33
-rw-r--r--community/monica/monica.desktop10
-rw-r--r--community/monica/monica.svg248
-rw-r--r--community/monit/PKGBUILD37
-rw-r--r--community/monit/monit.changelog40
-rw-r--r--community/monit/monit.service13
-rw-r--r--community/moreutils/PKGBUILD34
-rw-r--r--community/mosh/PKGBUILD35
-rw-r--r--community/motion/PKGBUILD48
-rw-r--r--community/motion/ffmpeg-0.8.patch112
-rw-r--r--community/motion/ffmpeg-compat.patch172
-rw-r--r--community/motion/linux-headers.patch35
-rw-r--r--community/motion/motion.service12
-rw-r--r--community/motion/motion.tmpfiles1
-rw-r--r--community/motion/rc.motion37
-rw-r--r--community/mp3gain/PKGBUILD27
-rw-r--r--community/mp3gain/build-fix.patch22
-rw-r--r--community/mp3info/ChangeLog2
-rw-r--r--community/mp3info/PKGBUILD26
-rw-r--r--community/mp3splt-gtk/PKGBUILD29
-rw-r--r--community/mp3splt-gtk/mp3splt-gtk.changelog33
-rw-r--r--community/mp3splt-gtk/mp3splt-gtk.install4
-rw-r--r--community/mp3unicode/PKGBUILD27
-rw-r--r--community/mpck/PKGBUILD27
-rw-r--r--community/mpdscribble/PKGBUILD47
-rw-r--r--community/mpdscribble/mpdscribble.install22
-rw-r--r--community/mpdscribble/service9
-rw-r--r--community/mpgtx/PKGBUILD24
-rw-r--r--community/mplayer2/PKGBUILD58
-rw-r--r--community/mplayer2/mplayer2.install11
-rw-r--r--community/mrtg/PKGBUILD29
-rw-r--r--community/mtasc/PKGBUILD29
-rw-r--r--community/mtpaint/PKGBUILD37
-rw-r--r--community/mtpaint/libpng15.patch21
-rw-r--r--community/mtpaint/mtpaint.install13
-rw-r--r--community/mtpfs/PKGBUILD29
-rw-r--r--community/muffin/PKGBUILD40
-rw-r--r--community/muffin/muffin.install10
-rw-r--r--community/muffin/switch-applications.patch20
-rw-r--r--community/multitail/PKGBUILD29
-rw-r--r--community/mumble/PKGBUILD58
-rw-r--r--community/mumble/mumble.install11
-rw-r--r--community/mumble/mumble11x.desktop11
-rw-r--r--community/mupdf/PKGBUILD46
-rw-r--r--community/mupdf/mupdf-1.2-fix-dirty-flag-handling.patch88
-rw-r--r--community/mupdf/mupdf.install12
-rw-r--r--community/murmur/0003-fix-long-username-query.patch42
-rw-r--r--community/murmur/0004-fix-username-validation.patch36
-rw-r--r--community/murmur/ChangeLog36
-rw-r--r--community/murmur/PKGBUILD49
-rw-r--r--community/murmur/murmur.dbus.conf22
-rw-r--r--community/murmur/murmur.install16
-rw-r--r--community/murmur/murmur.service11
-rw-r--r--community/musepack-tools/PKGBUILD43
-rw-r--r--community/musepack-tools/math.patch12
-rw-r--r--community/mxml/PKGBUILD27
-rw-r--r--community/mygui/PKGBUILD79
-rw-r--r--community/mygui/mygui.install3
-rw-r--r--community/myodbc/PKGBUILD33
-rw-r--r--community/mypaint/PKGBUILD32
-rw-r--r--community/mypaint/mypaint.install13
-rw-r--r--community/mysql++/PKGBUILD41
-rw-r--r--community/mysql++/mysql++-fix-cstring.patch11
-rw-r--r--community/mysql++/mysql++-fix-size_t.patch21
-rw-r--r--community/mythplugins/PKGBUILD138
-rw-r--r--community/mythplugins/cdparanoia.patch52
-rw-r--r--community/mythplugins/mtd.rc36
-rw-r--r--community/mythplugins/mythplugins-mythweb.install4
-rw-r--r--community/mythplugins/mythplugins-mythzoneminder.install3
-rw-r--r--community/mythtv/PKGBUILD75
-rw-r--r--community/mythtv/alsa.patch66
-rw-r--r--community/mythtv/mythbackend.service14
-rw-r--r--community/mythtv/mythtv.install22
-rw-r--r--community/naev/PKGBUILD30
-rw-r--r--community/namazu/PKGBUILD28
-rw-r--r--community/nautilus-actions/PKGBUILD43
-rw-r--r--community/nautilus-actions/nautilus-actions.install24
-rw-r--r--community/nbd/PKGBUILD40
-rw-r--r--community/nbd/config33
-rw-r--r--community/nbd/nbd.install13
-rw-r--r--community/nbd/nbd.service10
-rw-r--r--community/nbtscan/PKGBUILD31
-rw-r--r--community/nbtscan/nbtscan.1.gzbin0 -> 1890 bytes
-rw-r--r--community/ncdu/PKGBUILD28
-rw-r--r--community/ncmpcpp/PKGBUILD38
-rw-r--r--community/ncmpcpp/ncmpcpp.install19
-rw-r--r--community/ncrack/PKGBUILD25
-rw-r--r--community/ndisc6/PKGBUILD46
-rw-r--r--community/ndisc6/ndisc6.install8
-rw-r--r--community/ndisc6/rdnssd.service12
-rw-r--r--community/neatx/PKGBUILD39
-rw-r--r--community/neatx/constants.archlinux.patch42
-rw-r--r--community/neatx/neatx.install18
-rw-r--r--community/nemesis/PKGBUILD42
-rw-r--r--community/nemesis/nemesis-proto_tcp.c.diff46
-rw-r--r--community/nemiver/PKGBUILD42
-rw-r--r--community/nemiver/nemiver.install14
-rw-r--r--community/nemo-fileroller/PKGBUILD41
-rw-r--r--community/nemo-fileroller/configure.in_fix.patch39
-rw-r--r--community/nemo/PKGBUILD51
-rw-r--r--community/nemo/nemo.install14
-rw-r--r--community/nemo/remove-desktop-background.patch1050
-rw-r--r--community/nemo/tracker-0.16.patch33
-rw-r--r--community/nestopia/ChangeLog12
-rw-r--r--community/nestopia/PKGBUILD31
-rw-r--r--community/nestopia/build-fix.patch18
-rw-r--r--community/net6/PKGBUILD28
-rw-r--r--community/netbrake/PKGBUILD39
-rw-r--r--community/netbrake/arch-x86_64.patch39
-rw-r--r--community/netcf/PKGBUILD34
-rw-r--r--community/nethack/PKGBUILD67
-rw-r--r--community/nethack/nethack.install12
-rw-r--r--community/nethogs/PKGBUILD32
-rw-r--r--community/nethogs/gcc44.patch11
-rw-r--r--community/netselect/PKGBUILD32
-rw-r--r--community/netselect/license.txt35
-rw-r--r--community/netstat-nat/PKGBUILD20
-rw-r--r--community/netsurf-buildsystem/PKGBUILD30
-rw-r--r--community/netsurf/PKGBUILD57
-rw-r--r--community/netsurf/netsurf.install14
-rw-r--r--community/netwatch/PKGBUILD26
-rw-r--r--community/newsbeuter/PKGBUILD34
-rw-r--r--community/newsbeuter/newsbeuter.changelog30
-rw-r--r--community/newsbeuter/newsbeuter.install6
-rw-r--r--community/nfacct/PKGBUILD33
-rw-r--r--community/nginx/PKGBUILD102
-rw-r--r--community/nginx/logrotate9
-rw-r--r--community/nginx/nginx.install15
-rw-r--r--community/nginx/service14
-rw-r--r--community/ngircd/PKGBUILD40
-rw-r--r--community/ngircd/ngircd.service11
-rw-r--r--community/ngrep/PKGBUILD44
-rw-r--r--community/ngrep/ngrep-1.45-fix-ipv6.patch41
-rw-r--r--community/ngrep/ngrep-1.45-use-system-pcre.patch60
-rw-r--r--community/ngspice/PKGBUILD37
-rw-r--r--community/nickle/PKGBUILD25
-rw-r--r--community/nload/PKGBUILD27
-rw-r--r--community/nmon/PKGBUILD25
-rw-r--r--community/nodejs/PKGBUILD66
-rw-r--r--community/noip/PKGBUILD42
-rw-r--r--community/noip/noip.install6
-rw-r--r--community/noip/noip.service10
-rw-r--r--community/nomacs/PKGBUILD30
-rw-r--r--community/nomacs/nomacs.install11
-rw-r--r--community/normalize/PKGBUILD44
-rw-r--r--community/normalize/normalize-0.7.7-audiofile-pkgconfig.patch55
-rw-r--r--community/normalize/normalize-0.7.7-m4.patch553
-rw-r--r--community/notification-daemon/PKGBUILD34
-rw-r--r--community/notification-daemon/notification-daemon.install22
-rw-r--r--community/notify-osd/PKGBUILD34
-rw-r--r--community/notify-osd/notify-osd.install12
-rw-r--r--community/notion/ChangleLog5
-rw-r--r--community/notion/PKGBUILD82
-rw-r--r--community/notmuch/PKGBUILD105
-rw-r--r--community/nrg2iso/PKGBUILD29
-rw-r--r--community/nsd/PKGBUILD41
-rw-r--r--community/nsd/install12
-rw-r--r--community/nsd/service13
-rw-r--r--community/nss-pam-ldapd/PKGBUILD43
-rw-r--r--community/nss-pam-ldapd/nslcd.service12
-rw-r--r--community/nss-pam-ldapd/nss-pam-ldapd.install12
-rw-r--r--community/ntop/PKGBUILD42
-rw-r--r--community/ntop/ntop.install8
-rw-r--r--community/ntop/ntop.service14
-rw-r--r--community/numlockx/PKGBUILD33
-rw-r--r--community/nzbget/PKGBUILD32
-rw-r--r--community/nzbget/nzbget.changelog36
-rw-r--r--community/oath-toolkit/PKGBUILD37
-rw-r--r--community/obby/PKGBUILD23
-rw-r--r--community/obconf/PKGBUILD33
-rw-r--r--community/obconf/config-file.patch28
-rw-r--r--community/obconf/obconf.install12
-rw-r--r--community/obexfs/PKGBUILD25
-rw-r--r--community/ocaml-findlib/PKGBUILD37
-rw-r--r--community/odt2txt/PKGBUILD21
-rw-r--r--community/ogle-gui/PKGBUILD27
-rw-r--r--community/oidentd/PKGBUILD35
-rw-r--r--community/oidentd/service8
-rw-r--r--community/oidentd/socket9
-rw-r--r--community/ois/PKGBUILD27
-rw-r--r--community/onboard/PKGBUILD30
-rw-r--r--community/onboard/onboard.install13
-rw-r--r--community/oolite/PKGBUILD44
-rw-r--r--community/oolite/oolite6
-rw-r--r--community/openarena/PKGBUILD70
-rw-r--r--community/openarena/openarena-server.desktop8
-rw-r--r--community/openarena/openarena-server.pngbin0 -> 2302 bytes
-rw-r--r--community/openarena/openarena.desktop7
-rw-r--r--community/openarena/openarena.pngbin0 -> 2255 bytes
-rw-r--r--community/openarena/strcpy-memmove.patch20
-rw-r--r--community/openbox/PKGBUILD60
-rw-r--r--community/openbox/openbox-3.5.0-Fix-crash-on-NET_WM_MOVERESIZE_CANCEL.patch28
-rw-r--r--community/openbox/openbox-3.5.0-title-matching.patch11
-rw-r--r--community/openbox/openbox-3.5.0-which-2.20.patch11
-rw-r--r--community/openbsd-netcat/PKGBUILD39
-rw-r--r--community/opencc/PKGBUILD41
-rw-r--r--community/openclonk/PKGBUILD36
-rw-r--r--community/openclonk/openclonk.install11
-rw-r--r--community/opencolorio/PKGBUILD34
-rw-r--r--community/opendkim/PKGBUILD54
-rw-r--r--community/opendkim/opendkim.conf1
-rw-r--r--community/opendkim/opendkim.install11
-rw-r--r--community/opendkim/opendkim.service11
-rw-r--r--community/openimageio/PKGBUILD44
-rw-r--r--community/openimageio/fix32bit-fail.patch13
-rw-r--r--community/openlierox/PKGBUILD65
-rw-r--r--community/openmotif/PKGBUILD34
-rw-r--r--community/openntpd/PKGBUILD62
-rw-r--r--community/openntpd/linux-adjtimex.patch168
-rw-r--r--community/openntpd/openntpd.install15
-rw-r--r--community/openntpd/openntpd.service10
-rw-r--r--community/openntpd/openntpd.tmpfiles1
-rw-r--r--community/openocd/PKGBUILD31
-rw-r--r--community/openocd/openocd.install22
-rw-r--r--community/opensc/PKGBUILD43
-rw-r--r--community/openscenegraph/PKGBUILD55
-rw-r--r--community/openscenegraph/osg-xine-1.2.patch14
-rw-r--r--community/openshadinglanguage/PKGBUILD43
-rw-r--r--community/openshadinglanguage/llvm32.patch71
-rw-r--r--community/opensips/PKGBUILD78
-rw-r--r--community/opensips/opensips.install3
-rw-r--r--community/opensips/opensips.service11
-rw-r--r--community/opensmtpd/PKGBUILD72
-rw-r--r--community/opensmtpd/opensmtpd.install29
-rw-r--r--community/opensmtpd/smtpd.service10
-rw-r--r--community/opensmtpd/smtpd.socket8
-rw-r--r--community/openssh-askpass/PKGBUILD36
-rw-r--r--community/openssh-askpass/openssh-askpass.sh1
-rw-r--r--community/openthreads/PKGBUILD36
-rw-r--r--community/openttd/PKGBUILD33
-rw-r--r--community/openttd/openttd.install17
-rw-r--r--community/ophcrack/PKGBUILD36
-rw-r--r--community/ophcrack/ophcrack.desktop8
-rw-r--r--community/oprofile/PKGBUILD46
-rw-r--r--community/oprofile/oprofile.install21
-rw-r--r--community/optipng/PKGBUILD30
-rw-r--r--community/opus-tools/PKGBUILD29
-rw-r--r--community/opusfile/PKGBUILD28
-rw-r--r--community/orange/PKGBUILD22
-rw-r--r--community/os-prober/PKGBUILD44
-rw-r--r--community/osdbattery/PKGBUILD36
-rw-r--r--community/osdbattery/osdbattery.install9
-rw-r--r--community/osdbattery/showbatt12
-rw-r--r--community/osdlyrics/PKGBUILD31
-rw-r--r--community/osdlyrics/osdlyrics.install15
-rw-r--r--community/osec/PKGBUILD29
-rw-r--r--community/osec/osec.install16
-rw-r--r--community/osiris/ChangeLog3
-rw-r--r--community/osiris/PKGBUILD49
-rw-r--r--community/osiris/osiris.install17
-rw-r--r--community/osiris/osirisd.service10
-rw-r--r--community/osiris/osirismd.service10
-rw-r--r--community/osmo/ChangeLog12
-rw-r--r--community/osmo/PKGBUILD36
-rw-r--r--community/osmo/osmo-0.2.10-libnotify-0.7.patch48
-rw-r--r--community/osmo/osmo.install12
-rw-r--r--community/ozerocdoff/PKGBUILD37
-rw-r--r--community/ozerocdoff/remove-old-rules.patch79
-rw-r--r--community/p2c/PKGBUILD47
-rw-r--r--community/p3scan/PKGBUILD59
-rw-r--r--community/p3scan/p3scan.install7
-rw-r--r--community/p3scan/p3scan.service10
-rw-r--r--community/p3scan/p3scan.tmpfiles1
-rw-r--r--community/packagekit/PKGBUILD105
-rw-r--r--community/packagekit/adopt.patch13
-rw-r--r--community/packagekit/alpm.patch1621
-rw-r--r--community/packagekit/libarchive.patch39
-rw-r--r--community/packagekit/packagekit.install11
-rw-r--r--community/packeth/PKGBUILD28
-rw-r--r--community/paco/ChangeLog3
-rw-r--r--community/paco/PKGBUILD24
-rw-r--r--community/pam_mount/PKGBUILD41
-rw-r--r--community/pam_mount/pam_mount-git.patch1345
-rw-r--r--community/pam_mysql/PKGBUILD29
-rw-r--r--community/pam_pwcheck/PKGBUILD24
-rw-r--r--community/paps/PKGBUILD27
-rw-r--r--community/par2cmdline/PKGBUILD34
-rw-r--r--community/parcellite/ChangeLog17
-rw-r--r--community/parcellite/PKGBUILD22
-rw-r--r--community/parcellite/history_menu_crash_patch39
-rw-r--r--community/pari/PKGBUILD37
-rw-r--r--community/parole/PKGBUILD37
-rw-r--r--community/parole/parole.install12
-rw-r--r--community/parrot/PKGBUILD37
-rw-r--r--community/partclone/PKGBUILD32
-rw-r--r--community/partimage/PKGBUILD47
-rw-r--r--community/partimage/partimage-0.6.9-zlib-1.2.6.patch35
-rw-r--r--community/partimage/partimage.install22
-rw-r--r--community/partimage/partimaged-gencrt18
-rw-r--r--community/partimage/partimaged.service10
-rw-r--r--community/passenger/PKGBUILD36
-rw-r--r--community/passenger/passenger.install32
-rw-r--r--community/patchage/PKGBUILD32
-rw-r--r--community/patchage/patchage.install13
-rw-r--r--community/patchutils/PKGBUILD27
-rw-r--r--community/pawm/PKGBUILD23
-rw-r--r--community/pax-utils/PKGBUILD31
-rw-r--r--community/pbzip2/PKGBUILD39
-rw-r--r--community/pcmanfm/PKGBUILD33
-rw-r--r--community/pcmanfm/pcmanfm.install11
-rw-r--r--community/pcsc-perl/PKGBUILD30
-rw-r--r--community/pcsc-tools/PKGBUILD30
-rw-r--r--community/pcsclite/PKGBUILD41
-rw-r--r--community/pd/PKGBUILD37
-rw-r--r--community/pdf2djvu/PKGBUILD37
-rw-r--r--community/pdf2svg/PKGBUILD26
-rw-r--r--community/pdfedit/PKGBUILD36
-rw-r--r--community/pdfedit/pdfedit.desktop9
-rw-r--r--community/pdfedit/pdfedit.pngbin0 -> 1881 bytes
-rw-r--r--community/pdflib-lite/PKGBUILD49
-rw-r--r--community/pdmenu/ChangeLog3
-rw-r--r--community/pdmenu/PKGBUILD25
-rw-r--r--community/pdns-recursor/PKGBUILD40
-rw-r--r--community/pdns-recursor/pdns-recursor.service10
-rw-r--r--community/pdns/PKGBUILD61
-rw-r--r--community/pdns/pdns.conf417
-rw-r--r--community/pdns/pdns.install11
-rw-r--r--community/pdns/pdns.service12
-rw-r--r--community/pdnsd/PKGBUILD29
-rw-r--r--community/pdnsd/service9
-rw-r--r--community/pekwm/PKGBUILD58
-rw-r--r--community/pekwm/pekwm_kdm.desktop5
-rw-r--r--community/percona-server/PKGBUILD103
-rw-r--r--community/percona-server/my.cnf145
-rw-r--r--community/percona-server/mysqld-post.sh8
-rw-r--r--community/percona-server/mysqld-tmpfile.conf1
-rw-r--r--community/percona-server/mysqld.service16
-rw-r--r--community/percona-server/percona.install37
-rw-r--r--community/performous/PKGBUILD48
-rw-r--r--community/performous/fix-noisy-sound-output.patch440
-rw-r--r--community/performous/performous-0.7.0-cmake.patch155
-rw-r--r--community/perl-berkeleydb/PKGBUILD32
-rw-r--r--community/perl-class-data-inheritable/PKGBUILD23
-rw-r--r--community/perl-class-factory-util/PKGBUILD31
-rw-r--r--community/perl-class-methodmaker/PKGBUILD28
-rw-r--r--community/perl-clone/PKGBUILD28
-rw-r--r--community/perl-crypt-blowfish/PKGBUILD33
-rw-r--r--community/perl-crypt-blowfish/perl-5.18.patch13
-rw-r--r--community/perl-crypt-des/PKGBUILD33
-rw-r--r--community/perl-crypt-des/perl-5.18.patch13
-rw-r--r--community/perl-curses/PKGBUILD29
-rw-r--r--community/perl-data-dumper/PKGBUILD26
-rw-r--r--community/perl-data-structure-util/PKGBUILD26
-rw-r--r--community/perl-datetime-format-builder/PKGBUILD30
-rw-r--r--community/perl-datetime-format-mail/PKGBUILD26
-rw-r--r--community/perl-datetime/PKGBUILD37
-rw-r--r--community/perl-dbd-odbc/PKGBUILD28
-rw-r--r--community/perl-dbd-pg/PKGBUILD28
-rw-r--r--community/perl-dbd-sqlite2/PKGBUILD31
-rw-r--r--community/perl-dbd-sybase/PKGBUILD28
-rw-r--r--community/perl-device-serialport/PKGBUILD29
-rw-r--r--community/perl-file-rsyncp/PKGBUILD31
-rw-r--r--community/perl-fuse/PKGBUILD27
-rw-r--r--community/perl-gd/PKGBUILD29
-rw-r--r--community/perl-gnome2-wnck/PKGBUILD27
-rw-r--r--community/perl-gssapi/PKGBUILD32
-rw-r--r--community/perl-gstreamer-interfaces/PKGBUILD32
-rw-r--r--community/perl-gstreamer/PKGBUILD28
-rw-r--r--community/perl-gtk2-sexy/PKGBUILD30
-rw-r--r--community/perl-gtk2-trayicon/PKGBUILD29
-rw-r--r--community/perl-gtk2-webkit/PKGBUILD28
-rw-r--r--community/perl-html-strip/PKGBUILD27
-rw-r--r--community/perl-inline-java/PKGBUILD29
-rw-r--r--community/perl-io-dirent/PKGBUILD31
-rw-r--r--community/perl-io-string/PKGBUILD25
-rw-r--r--community/perl-io-tty/PKGBUILD27
-rw-r--r--community/perl-json-xs/PKGBUILD29
-rw-r--r--community/perl-lchown/PKGBUILD46
-rw-r--r--community/perl-libapreq2/PKGBUILD31
-rw-r--r--community/perl-linux-pid/PKGBUILD42
-rw-r--r--community/perl-mail-box-parser-c/PKGBUILD31
-rw-r--r--community/perl-mail-transport-dbx/PKGBUILD31
-rw-r--r--community/perl-net-dbus/PKGBUILD28
-rw-r--r--community/perl-net-libidn/PKGBUILD31
-rw-r--r--community/perl-package-stash-xs/PKGBUILD46
-rw-r--r--community/perl-params-classify/PKGBUILD27
-rw-r--r--community/perl-params-util/PKGBUILD45
-rw-r--r--community/perl-params-validate/PKGBUILD27
-rw-r--r--community/perl-string-crc32/PKGBUILD31
-rw-r--r--community/perl-term-readline-gnu/PKGBUILD46
-rw-r--r--community/perl-term-readline-gnu/termcap-bad-ncurses-good.patch18
-rw-r--r--community/perl-text-charwidth/PKGBUILD31
-rw-r--r--community/perl-text-kakasi/ChangeLog3
-rw-r--r--community/perl-text-kakasi/PKGBUILD33
-rw-r--r--community/perl-tie-hash-indexed/PKGBUILD32
-rw-r--r--community/perl-tk-tablematrix/PKGBUILD33
-rw-r--r--community/perl-www-curl/PKGBUILD32
-rw-r--r--community/perl-xml-fast/PKGBUILD32
-rw-r--r--community/perl-xml-libxml/PKGBUILD36
-rw-r--r--community/perl-xml-libxml/perl-xml-libxml.install15
-rw-r--r--community/perl-xml-libxslt/PKGBUILD32
-rw-r--r--community/perl-xmms/PKGBUILD31
-rw-r--r--community/pgadmin3/ChangeLog28
-rw-r--r--community/pgadmin3/PKGBUILD40
-rw-r--r--community/phantomjs/PKGBUILD42
-rw-r--r--community/php-geoip/PKGBUILD32
-rw-r--r--community/php-memcache/PKGBUILD33
-rw-r--r--community/php-memcache/php-memcache.install10
-rw-r--r--community/php-memcached/PKGBUILD32
-rw-r--r--community/php-mongo/PKGBUILD31
-rw-r--r--community/php-mongo/mongo.ini28
-rw-r--r--community/pianobar/PKGBUILD25
-rw-r--r--community/picard/PKGBUILD29
-rw-r--r--community/picard/install12
-rw-r--r--community/picocom/PKGBUILD33
-rw-r--r--community/picocom/picocom.install19
-rw-r--r--community/pidgin-encryption/PKGBUILD27
-rw-r--r--community/pidgin-encryption/fix_header_escaping.patch64
-rw-r--r--community/pidgin-encryption/log_crash.patch11
-rw-r--r--community/pidgin-gfire/PKGBUILD29
-rw-r--r--community/pidgin-gfire/gfire-libnotify.patch21
-rw-r--r--community/pidgin-hotkeys/PKGBUILD31
-rw-r--r--community/pidgin-hotkeys/pidgin-hotkeys.patch24
-rw-r--r--community/pidgin-kwallet/PKGBUILD31
-rw-r--r--community/pidgin-libnotify/PKGBUILD38
-rw-r--r--community/pidgin-libnotify/language_fixes.patch536
-rw-r--r--community/pidgin-libnotify/pidgin-libnotify-0.14-libnotify-0.7.patch18
-rw-r--r--community/pidgin-libnotify/pidgin-libnotify-getfocus.patch69
-rw-r--r--community/pidgin-libnotify/pidgin-libnotify-showbutton.patch10
-rw-r--r--community/pidgin-lwqq/PKGBUILD37
-rw-r--r--community/pidgin-lwqq/pidgin-lwqq.install11
-rw-r--r--community/pidgin-otr/PKGBUILD31
-rw-r--r--community/pidgin-talkfilters/PKGBUILD27
-rw-r--r--community/pidgin-toobars/PKGBUILD26
-rw-r--r--community/pigz/PKGBUILD41
-rw-r--r--community/pigz/pigz-2.3-make.patch25
-rw-r--r--community/pinfo/ChangeLog3
-rw-r--r--community/pinfo/PKGBUILD26
-rw-r--r--community/pingus/ChangeLog21
-rw-r--r--community/pingus/PKGBUILD36
-rw-r--r--community/pingus/pingus-0.7.6-gcc470-udl.patch22
-rw-r--r--community/pingus/pingus.desktop9
-rw-r--r--community/pinot/PKGBUILD60
-rw-r--r--community/pinot/pinot.changelog14
-rw-r--r--community/pinot/pinot.install15
-rw-r--r--community/pion/PKGBUILD44
-rw-r--r--community/plan9port/PKGBUILD68
-rw-r--r--community/plan9port/plan9.install21
-rw-r--r--community/plan9port/plan9.sh2
-rw-r--r--community/plib/ChangeLog12
-rw-r--r--community/plib/PKGBUILD30
-rw-r--r--community/png2ico/PKGBUILD27
-rw-r--r--community/podofo/PKGBUILD34
-rw-r--r--community/poedit/PKGBUILD31
-rw-r--r--community/poedit/poedit.install12
-rw-r--r--community/pokerth/PKGBUILD36
-rw-r--r--community/polipo/PKGBUILD52
-rw-r--r--community/polipo/polipo.conf.d4
-rw-r--r--community/polipo/polipo.install25
-rw-r--r--community/polipo/polipo.service11
-rw-r--r--community/polkit-gnome/PKGBUILD33
-rw-r--r--community/polkit-gnome/polkit-gnome-authentication-agent-1.desktop88
-rw-r--r--community/pork/PKGBUILD27
-rw-r--r--community/portaudio/PKGBUILD31
-rw-r--r--community/portaudio_cpp/PKGBUILD28
-rw-r--r--community/postgis/PKGBUILD36
-rw-r--r--community/postgis/postgis.changelog25
-rw-r--r--community/pound/ChangeLog22
-rw-r--r--community/pound/PKGBUILD41
-rw-r--r--community/pound/pound.cfg85
-rw-r--r--community/pound/pound.runit23
-rw-r--r--community/pound/pound.service10
-rw-r--r--community/powertop/PKGBUILD29
-rw-r--r--community/powertop/powertop.changelog14
-rw-r--r--community/pppd-ldap-simple/PKGBUILD20
-rw-r--r--community/pppd-ldap/PKGBUILD41
-rw-r--r--community/pptpd/ChangeLog3
-rw-r--r--community/pptpd/PKGBUILD49
-rw-r--r--community/pptpd/pptpd.service10
-rw-r--r--community/pptpd/unrecognized-opt.patch13
-rw-r--r--community/pragha/PKGBUILD47
-rw-r--r--community/pragha/cdio-includes.patch11
-rw-r--r--community/pragha/pragha.install10
-rw-r--r--community/prelink/PKGBUILD37
-rw-r--r--community/prelink/arch-x86_64-dynamic_linker.patch12
-rw-r--r--community/prelink/prelink.conf24
-rw-r--r--community/premake/PKGBUILD25
-rw-r--r--community/premake3/PKGBUILD28
-rw-r--r--community/primus/PKGBUILD37
-rw-r--r--community/privoxy/PKGBUILD66
-rw-r--r--community/privoxy/privoxy.install19
-rw-r--r--community/privoxy/privoxy.logrotate.d8
-rw-r--r--community/privoxy/privoxy.service12
-rw-r--r--community/processing/PKGBUILD46
-rw-r--r--community/procstatd/PKGBUILD29
-rw-r--r--community/proj/PKGBUILD39
-rw-r--r--community/proj/proj.changelog11
-rw-r--r--community/projectm/PKGBUILD84
-rw-r--r--community/projectm/projectm-install-vera-ttf.patch12
-rw-r--r--community/projectm/projectm-test-opengl.patch19
-rw-r--r--community/prosody/ChangeLog398
-rw-r--r--community/prosody/PKGBUILD59
-rw-r--r--community/prosody/fix-config.patch32
-rw-r--r--community/prosody/prosody.install37
-rw-r--r--community/prosody/prosody.logrotated9
-rw-r--r--community/prosody/prosody.service13
-rw-r--r--community/prosody/prosody.tmpfile.d1
-rw-r--r--community/protobuf/PKGBUILD40
-rw-r--r--community/proxytunnel/PKGBUILD21
-rw-r--r--community/psimedia/PKGBUILD36
-rw-r--r--community/pspshrink/PKGBUILD30
-rw-r--r--community/pspshrink/pspshrink.install19
-rw-r--r--community/psqlodbc/PKGBUILD29
-rw-r--r--community/pstotext/PKGBUILD27
-rw-r--r--community/puzzles/PKGBUILD39
-rw-r--r--community/pv/PKGBUILD28
-rw-r--r--community/pwgen/PKGBUILD31
-rw-r--r--community/pwmanager/ChangeLog5
-rw-r--r--community/pwmanager/PKGBUILD30
-rw-r--r--community/pwmanager/build-fix.patch57
-rw-r--r--community/pwsafe/PKGBUILD35
-rw-r--r--community/pwsafe/pwsafe-XChangeProperty.patch20
-rw-r--r--community/pygoocanvas/PKGBUILD27
-rw-r--r--community/pyid3lib/PKGBUILD24
-rw-r--r--community/pyid3lib/pyid3lib-0.5.1-py25.patch57
-rw-r--r--community/pylibacl/PKGBUILD19
-rw-r--r--community/pymad/PKGBUILD24
-rw-r--r--community/pympd/ChangeLog2
-rw-r--r--community/pympd/PKGBUILD32
-rw-r--r--community/pyogg/PKGBUILD25
-rw-r--r--community/pypanel/PKGBUILD21
-rw-r--r--community/pyqt3/PKGBUILD32
-rw-r--r--community/pysol-sound-server/PKGBUILD24
-rw-r--r--community/pystatgrab/PKGBUILD21
-rw-r--r--community/pystatgrab/pystatgrab.changelog5
-rw-r--r--community/python-basemap/PKGBUILD83
-rw-r--r--community/python-bsddb/LICENSE19
-rw-r--r--community/python-bsddb/PKGBUILD49
-rw-r--r--community/python-cchardet/PKGBUILD51
-rw-r--r--community/python-cx_freeze/PKGBUILD39
-rw-r--r--community/python-gnupginterface/PKGBUILD21
-rw-r--r--community/python-matplotlib/PKGBUILD75
-rw-r--r--community/python-mpi4py/PKGBUILD43
-rw-r--r--community/python-numarray/LICENSE9
-rw-r--r--community/python-numarray/PKGBUILD33
-rw-r--r--community/python-numexpr/PKGBUILD52
-rw-r--r--community/python-openbabel/PKGBUILD58
-rw-r--r--community/python-psutil/PKGBUILD43
-rw-r--r--community/python-psycopg1/PKGBUILD34
-rw-r--r--community/python-psycopg2/ChangeLog25
-rw-r--r--community/python-psycopg2/PKGBUILD35
-rw-r--r--community/python-pybox2d/PKGBUILD25
-rw-r--r--community/python-pygit2/PKGBUILD31
-rw-r--r--community/python-pymongo/PKGBUILD38
-rw-r--r--community/python-pyopencl/LICENSE.txt20
-rw-r--r--community/python-pyopencl/PKGBUILD61
-rw-r--r--community/python-pyproj/PKGBUILD49
-rw-r--r--community/python-pytables/PKGBUILD52
-rw-r--r--community/python-pyxattr/PKGBUILD33
-rw-r--r--community/python-pyzmq/PKGBUILD50
-rw-r--r--community/python-reportlab/ChangeLog18
-rw-r--r--community/python-reportlab/PKGBUILD35
-rw-r--r--community/python-scipy/PKGBUILD84
-rw-r--r--community/python-sfml/PKGBUILD27
-rw-r--r--community/python-simplejson/PKGBUILD37
-rw-r--r--community/python-simplejson/python-simplejson.changelog20
-rw-r--r--community/python-sqlalchemy/PKGBUILD51
-rw-r--r--community/python-yaml/PKGBUILD36
-rw-r--r--community/python-yaml/python-yaml.install7
-rw-r--r--community/python2-cheetah/Changelog12
-rw-r--r--community/python2-cheetah/PKGBUILD33
-rw-r--r--community/python2-cjson/PKGBUILD19
-rw-r--r--community/python2-fonttools/PKGBUILD35
-rw-r--r--community/python2-fuse/PKGBUILD25
-rw-r--r--community/python2-gevent-beta/PKGBUILD34
-rw-r--r--community/python2-gevent/PKGBUILD30
-rw-r--r--community/python2-gnutls/PKGBUILD23
-rw-r--r--community/python2-gnutls/gnutls3.patch271
-rw-r--r--community/python2-greenlet/PKGBUILD26
-rw-r--r--community/python2-imaging/PKGBUILD54
-rw-r--r--community/python2-lcms/PKGBUILD37
-rw-r--r--community/python2-ldap/PKGBUILD29
-rw-r--r--community/python2-m2crypto/PKGBUILD27
-rw-r--r--community/python2-m2crypto/openssl1.patch531
-rw-r--r--community/python2-nautilus/PKGBUILD33
-rw-r--r--community/python2-netifaces/PKGBUILD24
-rw-r--r--community/python2-poppler/PKGBUILD47
-rw-r--r--community/python2-poppler/pypoppler-0.12.1-poppler-0.16.0.patch11
-rw-r--r--community/python2-pybluez/PKGBUILD23
-rw-r--r--community/python2-pycdio/PKGBUILD23
-rw-r--r--community/python2-pychm/PKGBUILD25
-rw-r--r--community/python2-pysqlite-legacy/PKGBUILD24
-rw-r--r--community/python2-pyxmpp/PKGBUILD26
-rw-r--r--community/python2-tagpy/PKGBUILD56
-rw-r--r--community/python2-tagpy/taglib1.7.patch37
-rw-r--r--community/python2-traits/PKGBUILD31
-rw-r--r--community/python2-vorbissimple/PKGBUILD21
-rw-r--r--community/python2-xapian/PKGBUILD34
-rw-r--r--community/pyvorbis/PKGBUILD30
-rw-r--r--community/pyvorbis/pyogg-ticket2-fix.patch27
-rw-r--r--community/pyvorbis/pyvorbis-1.4-python2.5.patch60
-rw-r--r--community/pyzy/PKGBUILD49
-rw-r--r--community/qcad/PKGBUILD65
-rw-r--r--community/qcad/QCad.desktop9
-rw-r--r--community/qconf/PKGBUILD26
-rw-r--r--community/qgit/0001-Cause-qgit-to-use-git-config-everywhere.patch39
-rw-r--r--community/qgit/PKGBUILD36
-rw-r--r--community/qgit/qgit.desktop11
-rw-r--r--community/qgit/qgit.pngbin0 -> 164 bytes
-rw-r--r--community/qgo/PKGBUILD35
-rw-r--r--community/qgo/gcc43.patch37
-rw-r--r--community/qgo/gcc45.patch205
-rw-r--r--community/qingy/PKGBUILD37
-rw-r--r--community/qingy/qingy.install20
-rw-r--r--community/qingy/qingy.logrotate9
-rw-r--r--community/qingy/qingy@.service21
-rw-r--r--community/qiv/PKGBUILD25
-rw-r--r--community/qlandkartegt/PKGBUILD42
-rw-r--r--community/qlandkartegt/qlandkartegt-mimetypes.xml7
-rw-r--r--community/qlandkartegt/qlandkartegt.changelog60
-rw-r--r--community/qlandkartegt/qlandkartegt.install7
-rw-r--r--community/qmmp/PKGBUILD44
-rw-r--r--community/qmmp/qmmp.changelog99
-rw-r--r--community/qmmp/qmmp.install12
-rw-r--r--community/qmpdclient/PKGBUILD33
-rw-r--r--community/qmpdclient/qmpdclient.changelog12
-rw-r--r--community/qmpdclient/qmpdclient.install11
-rw-r--r--community/qps/PKGBUILD29
-rw-r--r--community/qpxtool/PKGBUILD35
-rw-r--r--community/qpxtool/libpng15.patch127
-rw-r--r--community/qscintilla-qt3/PKGBUILD32
-rw-r--r--community/qstardict/PKGBUILD30
-rw-r--r--community/qstardict/qstardict.changelog14
-rw-r--r--community/qsvn/PKGBUILD37
-rw-r--r--community/qsvn/lib64-fix.patch12
-rw-r--r--community/qsvn/qsvn.changelog32
-rw-r--r--community/qsynergy/PKGBUILD27
-rw-r--r--community/qt-recordmydesktop/PKGBUILD42
-rw-r--r--community/qt-recordmydesktop/pyqt4.patch11
-rw-r--r--community/qt4pas/PKGBUILD33
-rw-r--r--community/qtcreator/PKGBUILD51
-rw-r--r--community/qtcreator/fix-build.patch10
-rw-r--r--community/qtcreator/qtcreator.desktop9
-rw-r--r--community/qtcreator/qtcreator.install12
-rw-r--r--community/qtcurve-gtk2/PKGBUILD34
-rw-r--r--community/qtcurve-kde3/PKGBUILD50
-rw-r--r--community/qtcurve-kde3/bypass-kde-config.patch24
-rw-r--r--community/qtcurve-kde3/kdeglobals2
-rw-r--r--community/qtcurve-kde4/PKGBUILD42
-rw-r--r--community/qtcurve-kde4/bypass-kde-config.patch32
-rw-r--r--community/qtcurve-kde4/fix-kwin_decoration-macro.patch15
-rw-r--r--community/qtemu/PKGBUILD32
-rw-r--r--community/qtfm/PKGBUILD30
-rw-r--r--community/qtfm/qtfm.changelog14
-rw-r--r--community/qtfm/qtfm.install11
-rw-r--r--community/qtmpc/PKGBUILD33
-rw-r--r--community/qtmpc/qtmpc-0.6.1-underlinking.patch40
-rw-r--r--community/qtmpc/qtmpc.install11
-rw-r--r--community/qtractor/PKGBUILD33
-rw-r--r--community/qtractor/qtractor.install13
-rw-r--r--community/qtscrobbler/PKGBUILD43
-rw-r--r--community/qtscrobbler/qtscrobbler.install9
-rw-r--r--community/qtspim/PKGBUILD64
-rw-r--r--community/quagga/PKGBUILD84
-rw-r--r--community/quagga/babeld.service16
-rw-r--r--community/quagga/bgpd.service16
-rw-r--r--community/quagga/isisd.service16
-rw-r--r--community/quagga/ospf6d.service16
-rw-r--r--community/quagga/ospfd.service16
-rw-r--r--community/quagga/quagga.install36
-rw-r--r--community/quagga/ripd.service16
-rw-r--r--community/quagga/ripngd.service16
-rw-r--r--community/quagga/zebra.service16
-rw-r--r--community/quassel/PKGBUILD90
-rw-r--r--community/quassel/quassel-client.install9
-rw-r--r--community/quassel/quassel.conf2
-rw-r--r--community/quassel/quassel.install21
-rw-r--r--community/quassel/quassel.service12
-rw-r--r--community/qucs/ChangeLog3
-rw-r--r--community/qucs/PKGBUILD29
-rw-r--r--community/quesoglc/PKGBUILD29
-rw-r--r--community/qupzilla/PKGBUILD37
-rw-r--r--community/qupzilla/qupzilla.install12
-rw-r--r--community/quvi/PKGBUILD28
-rw-r--r--community/radeontool/PKGBUILD29
-rw-r--r--community/radeontool/license.txt22
-rw-r--r--community/radvd/PKGBUILD42
-rw-r--r--community/radvd/radvd.service9
-rw-r--r--community/ragel/PKGBUILD31
-rw-r--r--community/rapidsvn/PKGBUILD38
-rw-r--r--community/rapidsvn/rapidsvn.desktop10
-rw-r--r--community/raptor1/PKGBUILD36
-rw-r--r--community/raptor1/curl.patch11
-rw-r--r--community/ratpoison/PKGBUILD49
-rw-r--r--community/ratpoison/ratpoison.desktop8
-rw-r--r--community/ratpoison/ratpoison.install20
-rw-r--r--community/raul/PKGBUILD34
-rw-r--r--community/raul/raul-0.8.0-ldconfig.patch10
-rw-r--r--community/raw-thumbnailer/PKGBUILD27
-rw-r--r--community/rawstudio/PKGBUILD37
-rw-r--r--community/rawstudio/libpng15.patch40
-rw-r--r--community/rawstudio/rawstudio.install11
-rw-r--r--community/rawtherapee/PKGBUILD34
-rw-r--r--community/rawtherapee/rawtherapee.install17
-rw-r--r--community/rblcheck/01-change-filename-tags-for-directories.patch21
-rw-r--r--community/rblcheck/02-fix-configure.patch20
-rw-r--r--community/rblcheck/03-custom-rbl.patch21
-rw-r--r--community/rblcheck/PKGBUILD39
-rwxr-xr-xcommunity/rbutil/PKGBUILD41
-rwxr-xr-xcommunity/rbutil/rbutil.desktop11
-rw-r--r--community/rdiff-backup/PKGBUILD27
-rw-r--r--community/recoll/PKGBUILD62
-rw-r--r--community/recoll/recoll.install13
-rw-r--r--community/recorditnow/PKGBUILD47
-rw-r--r--community/recorditnow/cmake.patch13
-rw-r--r--community/recorditnow/recorditnow.install11
-rw-r--r--community/recordmydesktop/PKGBUILD29
-rw-r--r--community/recordmydesktop/recordmydesktop-bitrate.patch50
-rw-r--r--community/recordmydesktop/shmstr-to-shmproto.patch20
-rw-r--r--community/recoverdm/ChangeLog3
-rw-r--r--community/recoverdm/PKGBUILD21
-rw-r--r--community/redis/PKGBUILD40
-rw-r--r--community/redis/redis.logrotate5
-rw-r--r--community/redis/redis.service14
-rw-r--r--community/redshift/165_164.diff55
-rw-r--r--community/redshift/PKGBUILD44
-rw-r--r--community/redshift/redshift.install11
-rw-r--r--community/regexxer/PKGBUILD33
-rw-r--r--community/regexxer/regexxer-glib2.32.patch35
-rw-r--r--community/regexxer/regexxer.install12
-rw-r--r--community/rekonq/PKGBUILD33
-rw-r--r--community/rekonq/rekonq.install12
-rw-r--r--community/remind/ChangeLog3
-rw-r--r--community/remind/PKGBUILD29
-rw-r--r--community/remmina/PKGBUILD61
-rw-r--r--community/remmina/remmina.install11
-rw-r--r--community/renameutils/PKGBUILD32
-rw-r--r--community/reptyr/PKGBUILD25
-rw-r--r--community/rexima/ChangeLog2
-rw-r--r--community/rexima/PKGBUILD25
-rw-r--r--community/ripperx/PKGBUILD29
-rw-r--r--community/ristretto/PKGBUILD34
-rw-r--r--community/ristretto/ristretto.install13
-rw-r--r--community/rlog/PKGBUILD30
-rw-r--r--community/rlog/rlog-section.patch74
-rw-r--r--community/rlwrap/ChangeLog5
-rw-r--r--community/rlwrap/PKGBUILD30
-rw-r--r--community/rng-tools/PKGBUILD33
-rw-r--r--community/rng-tools/rngd.conf1
-rw-r--r--community/rng-tools/rngd.service9
-rw-r--r--community/rocksndiamonds/PKGBUILD34
-rw-r--r--community/rocksndiamonds/rocksndiamonds.desktop10
-rw-r--r--community/rogue/PKGBUILD28
-rw-r--r--community/rote/PKGBUILD22
-rw-r--r--community/rox/PKGBUILD44
-rw-r--r--community/rox/rox.desktop7
-rw-r--r--community/rox/rox.sh2
-rw-r--r--community/rox/rox.svg493
-rw-r--r--community/roxterm/PKGBUILD32
-rw-r--r--community/roxterm/roxterm.install11
-rw-r--r--community/rpc2/PKGBUILD22
-rw-r--r--community/rss-glx/PKGBUILD50
-rw-r--r--community/rss-glx/rss-glx-desktops.tar.bz2bin0 -> 2204 bytes
-rw-r--r--community/rss-glx/rss-glx.install12
-rw-r--r--community/rsyslog/PKGBUILD59
-rw-r--r--community/rsyslog/rsyslog.conf44
-rw-r--r--community/rsyslog/rsyslog.logrotate7
-rw-r--r--community/rtl-sdr/PKGBUILD51
-rw-r--r--community/rtorrent/PKGBUILD33
-rw-r--r--community/ruby-cairo/PKGBUILD33
-rw-r--r--community/ruby-gtk2/PKGBUILD89
-rw-r--r--community/ruby-gtk3/PKGBUILD50
-rwxr-xr-xcommunity/ruby-iconv/PKGBUILD24
-rw-r--r--community/ruby-ncurses/PKGBUILD41
-rw-r--r--community/rust/PKGBUILD62
-rw-r--r--community/rust/rust.install11
-rw-r--r--community/rusxmms/PKGBUILD63
-rw-r--r--community/rxvt-unicode/01-fix-tabber-perl-ext.patch12
-rw-r--r--community/rxvt-unicode/PKGBUILD92
-rw-r--r--community/rxvt-unicode/urxvt-tabbed.desktop9
-rw-r--r--community/rxvt-unicode/urxvt.desktop9
-rw-r--r--community/rxvt-unicode/urxvtc.desktop9
-rw-r--r--community/rxvt/PKGBUILD45
-rw-r--r--community/sage-mathematics/PKGBUILD108
-rw-r--r--community/sage-mathematics/SAGE-notebook.desktop19
-rw-r--r--community/sage-mathematics/sage-mathematics.install60
-rw-r--r--community/sage-mathematics/sage.service8
-rw-r--r--community/sakura/PKGBUILD38
-rw-r--r--community/sakura/sakura.install12
-rw-r--r--community/sarg/PKGBUILD39
-rw-r--r--community/sbxkb/PKGBUILD22
-rw-r--r--community/scantailor/PKGBUILD32
-rw-r--r--community/schroot/PKGBUILD77
-rw-r--r--community/schroot/arch32-config11
-rw-r--r--community/schroot/arch32-copyfiles6
-rw-r--r--community/schroot/arch32-example10
-rw-r--r--community/schroot/arch32-mount12
-rw-r--r--community/schroot/arch32-nssdatabases6
-rw-r--r--community/schroot/colon-completion.patch20
-rw-r--r--community/schroot/fix-bash-completion.patch11
-rw-r--r--community/schroot/pam.d.schroot.patch15
-rw-r--r--community/scite/PKGBUILD50
-rw-r--r--community/scite/scite.install13
-rw-r--r--community/scorched3d/PKGBUILD62
-rw-r--r--community/scorched3d/libpng14.patch38
-rw-r--r--community/scorched3d/scorched3d-42.1-fixups.patch58
-rw-r--r--community/scorched3d/scorched3d-42.1-gcc43.patch24
-rw-r--r--community/scorched3d/scorched3d-libpng1.5.patch74
-rw-r--r--community/scorched3d/scorched3d.install11
-rw-r--r--community/scponly/PKGBUILD36
-rw-r--r--community/scponly/setup_chroot.sh275
-rw-r--r--community/scratch/PKGBUILD40
-rw-r--r--community/scratch/scratch.install9
-rw-r--r--community/scrot/PKGBUILD29
-rw-r--r--community/scrypt/LICENSE23
-rw-r--r--community/scrypt/PKGBUILD28
-rw-r--r--community/scummvm-tools/PKGBUILD34
-rw-r--r--community/scummvm/PKGBUILD28
-rw-r--r--community/sdcc/PKGBUILD44
-rw-r--r--community/sdcv/PKGBUILD39
-rw-r--r--community/sdcv/sdcv-0.4.2-headers.patch46
-rw-r--r--community/sdcv/sdcv.changelog3
-rw-r--r--community/sdd/PKGBUILD33
-rw-r--r--community/sdd/build-fix.patch78
-rw-r--r--community/seahorse-nautilus/PKGBUILD35
-rw-r--r--community/seahorse-nautilus/glib236.patch12
-rw-r--r--community/seahorse-nautilus/seahorse-nautilus.install12
-rw-r--r--community/sensors-applet/PKGBUILD40
-rw-r--r--community/sensors-applet/gtk38.patch127
-rw-r--r--community/sensors-applet/sensors-applet.install12
-rw-r--r--community/ser2net/PKGBUILD30
-rw-r--r--community/ser2net/ser2net.service11
-rw-r--r--community/setconf/PKGBUILD29
-rw-r--r--community/sfk/PKGBUILD27
-rw-r--r--community/sfml/PKGBUILD39
-rw-r--r--community/sfml/sfml.install3
-rw-r--r--community/shake/PKGBUILD31
-rw-r--r--community/shake/shake.install7
-rw-r--r--community/shapelib/LICENSE21
-rw-r--r--community/shapelib/PKGBUILD40
-rw-r--r--community/shell-fm/PKGBUILD31
-rw-r--r--community/shfs-utils/PKGBUILD34
-rw-r--r--community/shfs-utils/shfs-utils-make.patch5
-rw-r--r--community/shntool/PKGBUILD27
-rw-r--r--community/shotwell/PKGBUILD43
-rw-r--r--community/shotwell/libraw-0.15.2.patch33
-rw-r--r--community/shotwell/no-libexec.patch26
-rw-r--r--community/shotwell/shotwell.install17
-rw-r--r--community/shuffle/ChangeLog3
-rw-r--r--community/shuffle/LICENSE88
-rw-r--r--community/shuffle/PKGBUILD30
-rw-r--r--community/siege/PKGBUILD32
-rw-r--r--community/sigil/PKGBUILD49
-rw-r--r--community/sigil/sigil.install12
-rw-r--r--community/signon-keyring-extension/PKGBUILD30
-rw-r--r--community/signon-plugin-oauth2/PKGBUILD34
-rw-r--r--community/signon-ui/Makefile31
-rw-r--r--community/signon-ui/PKGBUILD30
-rw-r--r--community/signon/PKGBUILD52
-rw-r--r--community/signon/signon.install6
-rw-r--r--community/signon/use_keyring.patch12
-rw-r--r--community/silly/PKGBUILD34
-rw-r--r--community/silly/silly-libpng1.5.patch14
-rw-r--r--community/simavr/PKGBUILD31
-rw-r--r--community/simgear/PKGBUILD30
-rw-r--r--community/simh/LICENSE24
-rw-r--r--community/simh/PKGBUILD39
-rw-r--r--community/simh/simh.install23
-rw-r--r--community/simple-scan/PKGBUILD28
-rw-r--r--community/simple-scan/simple-scan.install18
-rw-r--r--community/sisctrl/PKGBUILD43
-rw-r--r--community/sk1/PKGBUILD46
-rw-r--r--community/sk1/build-fix.patch14
-rw-r--r--community/sk1/sk1.desktop59
-rw-r--r--community/sk1libs/PKGBUILD24
-rw-r--r--community/skrooge/PKGBUILD34
-rw-r--r--community/skrooge/skrooge.changelog29
-rw-r--r--community/skrooge/skrooge.install14
-rw-r--r--community/sleuthkit/PKGBUILD33
-rw-r--r--community/sleuthkit/sleuthkit.changelog8
-rw-r--r--community/slimevolley/PKGBUILD33
-rw-r--r--community/slimevolley/link-libm.patch14
-rw-r--r--community/sloccount/PKGBUILD27
-rw-r--r--community/slock/PKGBUILD26
-rw-r--r--community/slrn/PKGBUILD34
-rw-r--r--community/smalltalk/PKGBUILD60
-rw-r--r--community/smalltalk/smalltalk.install22
-rw-r--r--community/smbnetfs/PKGBUILD47
-rw-r--r--community/smbnetfs/conf-smbnetfs1
-rw-r--r--community/smbnetfs/smbnetfs.install24
-rw-r--r--community/smbnetfs/smbnetfs.service13
-rw-r--r--community/smem/PKGBUILD33
-rw-r--r--community/smtube/PKGBUILD31
-rw-r--r--community/smtube/smtube.install12
-rw-r--r--community/sniffit/PKGBUILD39
-rw-r--r--community/sniffit/sniffit-fix.patch937
-rw-r--r--community/snownews/PKGBUILD22
-rw-r--r--community/solfege/PKGBUILD52
-rw-r--r--community/spacefm/PKGBUILD37
-rw-r--r--community/spacefm/spacefm.install14
-rw-r--r--community/spawn-fcgi/PKGBUILD29
-rw-r--r--community/speed-dreams/PKGBUILD56
-rw-r--r--community/speed-dreams/speed-dreams.desktop9
-rw-r--r--community/spice-gtk3/PKGBUILD36
-rw-r--r--community/spice/PKGBUILD26
-rw-r--r--community/splint/PKGBUILD30
-rw-r--r--community/splint/splint.sh2
-rw-r--r--community/splix/PKGBUILD31
-rw-r--r--community/splix/splix.install19
-rw-r--r--community/spring/PKGBUILD48
-rw-r--r--community/spring/boost-1.50.patch2539
-rw-r--r--community/spring/gcc48.patch22
-rw-r--r--community/spring/spring.install12
-rw-r--r--community/springlobby/PKGBUILD33
-rw-r--r--community/springlobby/springlobby.desktop10
-rw-r--r--community/springlobby/springlobby.install11
-rw-r--r--community/springlobby/springlobby.pngbin0 -> 5819 bytes
-rwxr-xr-xcommunity/sqlheavy/PKGBUILD40
-rw-r--r--community/sqlite2/LICENSE33
-rw-r--r--community/sqlite2/PKGBUILD34
-rw-r--r--community/sqlitebrowser/PKGBUILD37
-rw-r--r--community/sqliteman/PKGBUILD32
-rw-r--r--community/sqliteman/sqliteman.install12
-rw-r--r--community/squashfs-tools/PKGBUILD27
-rw-r--r--community/squeak-vm/PKGBUILD41
-rw-r--r--community/squid/PKGBUILD105
-rw-r--r--community/squid/squid.cron9
-rw-r--r--community/squid/squid.install26
-rw-r--r--community/squid/squid.pam4
-rw-r--r--community/squid/squid.service13
-rw-r--r--community/sshguard/ChangeLog3
-rw-r--r--community/sshguard/PKGBUILD40
-rw-r--r--community/sshguard/sshguard-journalctl2
-rw-r--r--community/sshguard/sshguard.install14
-rw-r--r--community/sshguard/sshguard.service10
-rw-r--r--community/sshpass/PKGBUILD28
-rw-r--r--community/sslh/PKGBUILD45
-rw-r--r--community/sslh/sslh-fork.service10
-rw-r--r--community/sslh/sslh-select.service9
-rw-r--r--community/sslh/sslh.install13
-rw-r--r--community/stalonetray/PKGBUILD21
-rw-r--r--community/stardict/PKGBUILD80
-rw-r--r--community/stardict/gcc46.patch11
-rw-r--r--community/stardict/glib2.patch36
-rw-r--r--community/stardict/zlib.patch35
-rw-r--r--community/steghide/ChangeLog4
-rw-r--r--community/steghide/PKGBUILD44
-rw-r--r--community/steghide/buildsystem.patch10
-rw-r--r--community/steghide/gcc-4.2.patch75
-rw-r--r--community/steghide/steghide-climits.patch11
-rw-r--r--community/stfl/PKGBUILD34
-rw-r--r--community/stfl/stfl-archlinux.patch24
-rw-r--r--community/stfl/stfl.changelog26
-rw-r--r--community/stk/PKGBUILD66
-rw-r--r--community/stk/runtime.patch18
-rw-r--r--community/stk/stk.license39
-rw-r--r--community/stone-soup/PKGBUILD67
-rw-r--r--community/stone-soup/stone-soup.install11
-rw-r--r--community/stress/PKGBUILD25
-rw-r--r--community/stunnel/Makefile.patch21
-rw-r--r--community/stunnel/PKGBUILD61
-rw-r--r--community/stunnel/stunnel.install31
-rw-r--r--community/stunnel/stunnel.tmpfiles.conf1
-rw-r--r--community/stuntrally/PKGBUILD37
-rw-r--r--community/stuntrally/stuntrally.install13
-rw-r--r--community/subtitleeditor/PKGBUILD38
-rw-r--r--community/subtitleeditor/subtitleeditor.changelog60
-rw-r--r--community/subtitleeditor/subtitleeditor.install12
-rw-r--r--community/subtle/PKGBUILD42
-rw-r--r--community/subtle/subtle.install7
-rw-r--r--community/sunpinyin/PKGBUILD35
-rw-r--r--community/supercollider/PKGBUILD35
-rw-r--r--community/supercollider/supercollider.install12
-rw-r--r--community/supertux/PKGBUILD43
-rw-r--r--community/supertux/supertux2-0.3.3-squirrel-gcc47.patch36
-rw-r--r--community/supertuxkart/PKGBUILD56
-rw-r--r--community/surf/PKGBUILD44
-rw-r--r--community/surf/config.h95
-rw-r--r--community/surf/surf.install28
-rw-r--r--community/swarp/PKGBUILD28
-rw-r--r--community/swarp/config.mk13
-rw-r--r--community/swftools/PKGBUILD44
-rw-r--r--community/swftools/swftools-0.9.2.patch11
-rw-r--r--community/swftools/swftools.changelog8
-rw-r--r--community/sxiv/PKGBUILD35
-rw-r--r--community/sxiv/config.h154
-rw-r--r--community/sxiv/sxiv.desktop7
-rw-r--r--community/sxiv/sxiv.install12
-rw-r--r--community/sylpheed/PKGBUILD37
-rw-r--r--community/sylpheed/sylpheed.install11
-rw-r--r--community/synapse/PKGBUILD54
-rw-r--r--community/synapse/check-null-exec.patch16
-rw-r--r--community/synapse/fix-check-desktop.patch30
-rw-r--r--community/synapse/synapse.install13
-rw-r--r--community/synce-libmimedir/PKGBUILD25
-rw-r--r--community/synce-librapi/PKGBUILD23
-rw-r--r--community/synce-libsynce/PKGBUILD26
-rw-r--r--community/synce-rra/PKGBUILD23
-rw-r--r--community/synce-serial/PKGBUILD27
-rw-r--r--community/synce-vdccm/PKGBUILD24
-rw-r--r--community/synce-vdccm/build-fix.patch123
-rw-r--r--community/synergy/PKGBUILD62
-rw-r--r--community/synergy/synergy.desktop9
-rw-r--r--community/synergy/synergy.pngbin0 -> 25433 bytes
-rw-r--r--community/synergy/synergys.service10
-rw-r--r--community/synergy/synergys.socket9
-rw-r--r--community/synfig/PKGBUILD46
-rw-r--r--community/synfig/build-fix.patch31
-rw-r--r--community/synfig/ffmpeg-0.8.patch60
-rw-r--r--community/synfig/ffmpeg-loop.patch56
-rw-r--r--community/synfigstudio/PKGBUILD45
-rw-r--r--community/synfigstudio/synfigstudio.install12
-rw-r--r--community/sysprof/PKGBUILD28
-rw-r--r--community/sysprof/sysprof.install12
-rw-r--r--community/sysstat/PKGBUILD49
-rw-r--r--community/sysstat/lib64-fix.patch17
-rw-r--r--community/sysstat/sysstat.service11
-rw-r--r--community/sysvbanner/PKGBUILD28
-rw-r--r--community/sysvbanner/man.patch16
-rw-r--r--community/t1utils/LICENSE22
-rw-r--r--community/t1utils/PKGBUILD28
-rw-r--r--community/tabbed/PKGBUILD36
-rw-r--r--community/tabbed/config.h49
-rw-r--r--community/tabbed/tabbed.install28
-rw-r--r--community/taglib-rcc/PKGBUILD38
-rw-r--r--community/talkfilters/PKGBUILD26
-rw-r--r--community/talkfilters/talkfilters.install21
-rw-r--r--community/task/PKGBUILD42
-rw-r--r--community/tcc/ChangeLog3
-rw-r--r--community/tcc/PKGBUILD50
-rw-r--r--community/tcpflow/PKGBUILD27
-rw-r--r--community/tcpreplay/PKGBUILD28
-rw-r--r--community/tcsh/PKGBUILD43
-rw-r--r--community/tcsh/csh.cshrc96
-rw-r--r--community/tcsh/csh.login71
-rw-r--r--community/tcsh/tcsh-6.17.00-ls-colors-var.patch13
-rw-r--r--community/tcsh/tcsh.install23
-rw-r--r--community/tdfsb/PKGBUILD35
-rw-r--r--community/tdfsb/tdfsb.desktop9
-rw-r--r--community/tdfsb/tdfsb.pngbin0 -> 3556 bytes
-rw-r--r--community/tdl/ChangeLog3
-rw-r--r--community/tdl/PKGBUILD26
-rw-r--r--community/tea/PKGBUILD34
-rw-r--r--community/tea/tea.desktop10
-rw-r--r--community/tea/tea.install4
-rw-r--r--community/teeworlds/PKGBUILD48
-rw-r--r--community/teeworlds/teeworlds.desktop14
-rw-r--r--community/teeworlds/teeworlds.pngbin0 -> 1701 bytes
-rw-r--r--community/tellico/PKGBUILD37
-rw-r--r--community/tellico/tellico.changelog5
-rw-r--r--community/tellico/tellico.install13
-rw-r--r--community/tesseract/PKGBUILD122
-rw-r--r--community/tesseract/tesseract.install7
-rw-r--r--community/texmaker/PKGBUILD29
-rw-r--r--community/texmaker/texmaker.install7
-rw-r--r--community/texvc/PKGBUILD26
-rw-r--r--community/the_silver_searcher/PKGBUILD30
-rw-r--r--community/thttpd/PKGBUILD71
-rw-r--r--community/thttpd/config7
-rw-r--r--community/thttpd/discreet.patch34
-rw-r--r--community/thttpd/forwarded-for.patch16
-rw-r--r--community/thttpd/getline.patch21
-rw-r--r--community/thttpd/logrotate.d12
-rw-r--r--community/thttpd/service10
-rw-r--r--community/tig/PKGBUILD30
-rw-r--r--community/tigervnc/PKGBUILD69
-rw-r--r--community/tigervnc/vncserver.service28
-rw-r--r--community/tigervnc/vncviewer.desktop10
-rw-r--r--community/tigervnc/xserver114.patch84
-rw-r--r--community/tightvnc/PKGBUILD67
-rw-r--r--community/tightvnc/vncserver.service29
-rw-r--r--community/tilda/PKGBUILD42
-rw-r--r--community/tilda/tilda-conf-sigsegv.patch11
-rw-r--r--community/tilda/tilda-fix.patch24
-rw-r--r--community/tilda/tilda-glib2.patch11
-rw-r--r--community/tilda/tilda.changelog20
-rw-r--r--community/tiled-qt/PKGBUILD26
-rw-r--r--community/tiled-qt/tiled-qt.install11
-rwxr-xr-xcommunity/tiled-qt/tiled.desktop10
-rw-r--r--community/tinc/PKGBUILD39
-rw-r--r--community/tinc/tinc.install20
-rw-r--r--community/tinc/tincd@.service10
-rw-r--r--community/tint2/PKGBUILD43
-rw-r--r--community/tint2/add-power-now-support.patch19
-rw-r--r--community/tinyproxy/PKGBUILD43
-rw-r--r--community/tinyproxy/tinyproxy.install9
-rw-r--r--community/tinyproxy/tinyproxy.service11
-rw-r--r--community/tinyproxy/tinyproxy.tmpfiles.conf1
-rw-r--r--community/tinyxml/PKGBUILD62
-rw-r--r--community/tinyxml/entity.patch64
-rw-r--r--community/tinyxml/tinyxml-2.5.3-stl.patch12
-rw-r--r--community/tinyxml/tinyxml.pc10
-rw-r--r--community/tipp10/PKGBUILD40
-rw-r--r--community/tipp10/defines.h.patch14
-rw-r--r--community/tipp10/gcc-4.5.patch99
-rw-r--r--community/tix/PKGBUILD46
-rw-r--r--community/tix/tcl-tk-path.patch22
-rw-r--r--community/tksystray/PKGBUILD23
-rw-r--r--community/tktheme/PKGBUILD24
-rw-r--r--community/tls/PKGBUILD31
-rw-r--r--community/tls/tls.patch28
-rw-r--r--community/tmux/LICENSE13
-rw-r--r--community/tmux/PKGBUILD36
-rw-r--r--community/tmw/PKGBUILD28
-rw-r--r--community/tnef/PKGBUILD21
-rw-r--r--community/tnftp/PKGBUILD27
-rw-r--r--community/toolame/PKGBUILD25
-rw-r--r--community/toolame/toolame-02l.patch86
-rw-r--r--community/tor/PKGBUILD47
-rw-r--r--community/tor/tor.install17
-rw-r--r--community/tor/tor.service13
-rw-r--r--community/tor/torrc189
-rw-r--r--community/torch/PKGBUILD33
-rw-r--r--community/torcs/PKGBUILD34
-rw-r--r--community/torcs/torcs.desktop9
-rw-r--r--community/torcs/torcs.sh2
-rw-r--r--community/torsocks/PKGBUILD30
-rw-r--r--community/transset-df/PKGBUILD24
-rw-r--r--community/trayion/PKGBUILD21
-rw-r--r--community/trayion/trayion.install19
-rw-r--r--community/tre/PKGBUILD33
-rw-r--r--community/tremulous/PKGBUILD77
-rw-r--r--community/tremulous/fix_fs26749.patch21
-rw-r--r--community/tremulous/tremded.sh17
-rw-r--r--community/tremulous/tremdedrc1
-rw-r--r--community/tremulous/tremulous.desktop8
-rw-r--r--community/tremulous/tremulous.sh14
-rw-r--r--community/tremulous/tremulous.xpm90
-rw-r--r--community/trickle/PKGBUILD33
-rw-r--r--community/tuxcards/PKGBUILD32
-rw-r--r--community/tuxcards/tuxcards.desktop10
-rw-r--r--community/tuxcmd-modules/PKGBUILD31
-rw-r--r--community/tuxcmd/PKGBUILD33
-rw-r--r--community/tuxcmd/tuxcmd.install11
-rw-r--r--community/tuxguitar/PKGBUILD133
-rw-r--r--community/tuxguitar/tuxguitar.desktop13
-rw-r--r--community/tuxguitar/tuxguitar.install11
-rw-r--r--community/tuxguitar/tuxguitar.xml18
-rw-r--r--community/tuxpaint-config/PKGBUILD37
-rw-r--r--community/tuxpaint/PKGBUILD63
-rw-r--r--community/tuxpaint/tuxpaint-0.9.21-libpng1.5.patch19
-rw-r--r--community/tvision/PKGBUILD25
-rw-r--r--community/tvision/tvision-build-fix.patch13
-rw-r--r--community/tvtime/PKGBUILD41
-rw-r--r--community/tvtime/tvtime-1.0.2+linux-headers-2.6.18.patch16
-rw-r--r--community/tvtime/tvtime-1.0.2-gcc41.patch57
-rw-r--r--community/tvtime/tvtime-1.0.2-locale_t.patchbin0 -> 887 bytes
-rw-r--r--community/twin/PKGBUILD30
-rw-r--r--community/twolame/PKGBUILD30
-rw-r--r--community/typespeed/PKGBUILD30
-rw-r--r--community/typespeed/typespeed.install16
-rw-r--r--community/ubuntuone-client-gnome/PKGBUILD36
-rw-r--r--community/ubuntuone-client-gnome/disable-gsd-plugin.patch21
-rw-r--r--community/ubuntuone-client-gnome/ubuntuone-client-gnome.install11
-rw-r--r--community/ubuntuone-client/PKGBUILD49
-rw-r--r--community/ubuntuone-client/fix-notify-hint.patch19
-rw-r--r--community/ubuntuone-client/ubuntuone-client.install11
-rw-r--r--community/ucarp/01-fix-getopt.patch11
-rw-r--r--community/ucarp/02-fix-downscript-on-error.c12
-rw-r--r--community/ucarp/PKGBUILD56
-rw-r--r--community/ucarp/ucarp.8147
-rw-r--r--community/ucarp/ucarp.service8
-rw-r--r--community/ucl/PKGBUILD28
-rw-r--r--community/ude/PKGBUILD36
-rw-r--r--community/udevil/PKGBUILD39
-rw-r--r--community/udevil/udevil.install4
-rw-r--r--community/uget/PKGBUILD30
-rw-r--r--community/uget/uget.install11
-rw-r--r--community/ulogd/PKGBUILD60
-rw-r--r--community/ulogd/ulogd.conf20
-rw-r--r--community/ulogd/ulogd.logrotate10
-rw-r--r--community/ulogd/ulogd.service9
-rw-r--r--community/ultimate-ircd/PKGBUILD61
-rw-r--r--community/ultimate-ircd/conf-fix.patch25
-rw-r--r--community/ultimate-ircd/ircd.install31
-rw-r--r--community/ultimate-ircd/ultimate-ircd.service12
-rw-r--r--community/ultimate-ircd/ultimate-ircd.tmpfiles1
-rw-r--r--community/unbound/PKGBUILD48
-rw-r--r--community/unbound/conf4
-rw-r--r--community/unbound/install10
-rw-r--r--community/unbound/service12
-rw-r--r--community/unclutter/PKGBUILD25
-rw-r--r--community/unhide/PKGBUILD31
-rw-r--r--community/uniconvertor/PKGBUILD29
-rw-r--r--community/unifdef/PKGBUILD26
-rw-r--r--community/unionfs-fuse/PKGBUILD26
-rw-r--r--community/units/PKGBUILD29
-rw-r--r--community/units/units.install18
-rw-r--r--community/unpaper/PKGBUILD30
-rw-r--r--community/unrealircd/PKGBUILD72
-rw-r--r--community/unrealircd/arch-fixes.patch89
-rw-r--r--community/unrealircd/unrealircd.service12
-rw-r--r--community/unrtf/PKGBUILD29
-rw-r--r--community/unrtf/unrtf.changelog14
-rw-r--r--community/unshield/PKGBUILD27
-rw-r--r--community/unshield/libunshield.c.patch12
-rw-r--r--community/uptimed/PKGBUILD46
-rw-r--r--community/uptimed/service11
-rw-r--r--community/uptimed/uptimed.install3
-rw-r--r--community/upx/PKGBUILD30
-rw-r--r--community/uqm/PKGBUILD54
-rw-r--r--community/uqm/config.state14
-rw-r--r--community/uqm/uqm2
-rw-r--r--community/uqm/uqm.desktop10
-rw-r--r--community/uqm/uqm.pngbin0 -> 3630 bytes
-rw-r--r--community/uriparser/PKGBUILD28
-rw-r--r--community/usb_modeswitch/PKGBUILD46
-rw-r--r--community/usbredir/PKGBUILD28
-rw-r--r--community/usbview/PKGBUILD43
-rw-r--r--community/usbview/usbview.install16
-rw-r--r--community/ushare/PKGBUILD53
-rw-r--r--community/ushare/segfault.patch61
-rw-r--r--community/ushare/upnp-build-fix.patch156
-rw-r--r--community/ushare/ushare-config.patch22
-rw-r--r--community/ushare/ushare.install17
-rw-r--r--community/ushare/ushare.service11
-rw-r--r--community/ussp-push/PKGBUILD34
-rw-r--r--community/ussp-push/build-fix.patch66
-rw-r--r--community/ustr/PKGBUILD20
-rw-r--r--community/uucp/PKGBUILD44
-rw-r--r--community/uudeview/PKGBUILD30
-rw-r--r--community/uzbl/PKGBUILD67
-rw-r--r--community/uzbl/uzbl.install17
-rw-r--r--community/v8/PKGBUILD59
-rw-r--r--community/vamps/PKGBUILD29
-rw-r--r--community/vbetool/PKGBUILD32
-rw-r--r--community/vbindiff/PKGBUILD25
-rw-r--r--community/vdrift/PKGBUILD54
-rw-r--r--community/vdrift/vdrift-2012-07-22c_bullet281_patch.diff898
-rw-r--r--community/vdrift/vdrift.install11
-rw-r--r--community/vidalia/PKGBUILD31
-rw-r--r--community/vidalia/vidalia.install11
-rw-r--r--community/viewnior/PKGBUILD24
-rw-r--r--community/viewnior/viewnior.install13
-rw-r--r--community/vifm/PKGBUILD27
-rw-r--r--community/vifm/vifm.changelog32
-rw-r--r--community/viking/PKGBUILD33
-rw-r--r--community/viking/viking.changelog20
-rw-r--r--community/viking/viking.install12
-rw-r--r--community/vile/PKGBUILD59
-rw-r--r--community/virtkey/PKGBUILD46
-rw-r--r--community/virtualbox-modules-lts/PKGBUILD68
-rwxr-xr-xcommunity/virtualbox-modules-lts/build.sh25
-rw-r--r--community/virtualbox-modules-lts/virtualbox-guest-modules-lts.install21
-rw-r--r--community/virtualbox-modules-lts/virtualbox-host-modules-lts.install23
-rw-r--r--community/virtualbox-modules/PKGBUILD65
-rwxr-xr-xcommunity/virtualbox-modules/build.sh25
-rw-r--r--community/virtualbox-modules/virtualbox-guest-modules.install21
-rw-r--r--community/virtualbox-modules/virtualbox-host-modules.install23
-rw-r--r--community/virtualgl/PKGBUILD37
-rw-r--r--community/virtviewer/PKGBUILD26
-rw-r--r--community/visitors/PKGBUILD25
-rw-r--r--community/vlan/PKGBUILD32
-rw-r--r--community/vmoviedb/PKGBUILD31
-rw-r--r--community/vmoviedb/vmoviedb.install23
-rw-r--r--community/vmpk/PKGBUILD28
-rw-r--r--community/vmpk/vmpk.install12
-rw-r--r--community/vnstat/PKGBUILD36
-rw-r--r--community/vnstat/service9
-rw-r--r--community/vobcopy/PKGBUILD28
-rw-r--r--community/volumeicon/PKGBUILD34
-rw-r--r--community/vor/PKGBUILD43
-rw-r--r--community/vor/vor.pngbin0 -> 1336 bytes
-rw-r--r--community/vorbisgain/PKGBUILD28
-rw-r--r--community/vorbissimple/PKGBUILD22
-rw-r--r--community/vsftpd/PKGBUILD57
-rw-r--r--community/vsftpd/vsftpd-ssl.service10
-rw-r--r--community/vsftpd/vsftpd-ssl.socket9
-rw-r--r--community/vsftpd/vsftpd-ssl@.service9
-rw-r--r--community/vsftpd/vsftpd.install17
-rw-r--r--community/vsftpd/vsftpd.service10
-rw-r--r--community/vsftpd/vsftpd.socket9
-rw-r--r--community/vsftpd/vsftpd.xinetd10
-rw-r--r--community/vsftpd/vsftpd@.service8
-rw-r--r--community/vtk/PKGBUILD116
-rw-r--r--community/vtk/ffmpeg-0.11.diff46
-rw-r--r--community/vtk/ffmpeg-0.8.diff66
-rw-r--r--community/vtk/python-destdir.diff11
-rw-r--r--community/vtk/tcl-8.6.diff13
-rw-r--r--community/vym/PKGBUILD45
-rw-r--r--community/vym/vym.changelog23
-rw-r--r--community/vym/vym.desktop38
-rw-r--r--community/vym/vym.install11
-rw-r--r--community/vyqchat/PKGBUILD33
-rw-r--r--community/vyqchat/build-fix.patch36
-rw-r--r--community/w3cam/PKGBUILD32
-rw-r--r--community/warmux/PKGBUILD41
-rw-r--r--community/warmux/gcc-fix.patch36
-rw-r--r--community/warmux/include-zlib.patch11
-rw-r--r--community/warzone2100/PKGBUILD29
-rw-r--r--community/wavegain/PKGBUILD32
-rw-r--r--community/wbar/PKGBUILD28
-rw-r--r--community/wbar/wbar.changelog12
-rw-r--r--community/wdm/PKGBUILD33
-rw-r--r--community/webfs/PKGBUILD39
-rw-r--r--community/webfs/webfs.patch250
-rw-r--r--community/webfs/webfsd.conf5
-rw-r--r--community/webfs/webfsd.service11
-rw-r--r--community/wesnoth/PKGBUILD55
-rw-r--r--community/wesnoth/wesnoth.install14
-rw-r--r--community/wesnoth/wesnoth.tmpfiles.conf1
-rw-r--r--community/wesnoth/wesnothd.service9
-rw-r--r--community/wesnoth/wesnothd.tmpfiles.conf1
-rw-r--r--community/weston/PKGBUILD35
-rw-r--r--community/widelands/6233_6232.diff59
-rw-r--r--community/widelands/PKGBUILD54
-rw-r--r--community/widelands/widelands-0.16-libpng15.patch61
-rw-r--r--community/widelands/widelands-build15-gcc-4.5-patch51
-rw-r--r--community/widelands/widelands.desktop8
-rw-r--r--community/widelands/widelands.pngbin0 -> 19494 bytes
-rw-r--r--community/widelands/widelands.sh3
-rw-r--r--community/windowlab/PKGBUILD28
-rw-r--r--community/winff/PKGBUILD56
-rw-r--r--community/winff/winff.install14
-rw-r--r--community/wings3d/PKGBUILD53
-rw-r--r--community/wings3d/wings3d.install14
-rw-r--r--community/wings3d/wings3d.sh2
-rw-r--r--community/wkhtmltopdf/PKGBUILD30
-rw-r--r--community/wmctrl/PKGBUILD30
-rw-r--r--community/wmii/PKGBUILD39
-rw-r--r--community/wmii/fix-freetype-include.patch11
-rw-r--r--community/wmname/PKGBUILD25
-rw-r--r--community/wol/PKGBUILD28
-rw-r--r--community/wol/wol.install20
-rw-r--r--community/workrave/PKGBUILD29
-rw-r--r--community/wput/PKGBUILD26
-rw-r--r--community/wt/PKGBUILD53
-rw-r--r--community/wvdial/PKGBUILD30
-rw-r--r--community/wvstreams/PKGBUILD54
-rw-r--r--community/wvstreams/openssl-buildfix.patch14
-rw-r--r--community/wvstreams/wvstreams-4.6.1-gcc47.patch50
-rw-r--r--community/wvstreams/wvstreams-4.6.1-glibc212.patch24
-rw-r--r--community/wxcam/PKGBUILD32
-rw-r--r--community/wxgtk2.9/PKGBUILD38
-rw-r--r--community/wxgtk2.9/wxGTK-2.9.4-collision.patch77
-rw-r--r--community/wyrd/PKGBUILD27
-rw-r--r--community/xalan-c/1.11.0_pre797991-as-needed.patch108
-rw-r--r--community/xalan-c/1.11.0_pre797991-bugfixes.patch50
-rw-r--r--community/xalan-c/1.11.0_pre797991-parallel-build.patch62
-rw-r--r--community/xalan-c/PKGBUILD38
-rw-r--r--community/xapian-core/PKGBUILD29
-rw-r--r--community/xautolock/PKGBUILD29
-rw-r--r--community/xautomation/PKGBUILD30
-rw-r--r--community/xautomation/xautomation-1.05-fix-libs.patch24
-rw-r--r--community/xbindkeys/PKGBUILD27
-rw-r--r--community/xbmc-pvr-addons/PKGBUILD28
-rw-r--r--community/xboard/PKGBUILD46
-rw-r--r--community/xboard/xboard.desktop10
-rw-r--r--community/xboard/xboard.install15
-rw-r--r--community/xcircuit/PKGBUILD31
-rw-r--r--community/xdebug/PKGBUILD49
-rw-r--r--community/xdebug/xdebug-5.2.ini5
-rw-r--r--community/xdebug/xdebug.ini5
-rw-r--r--community/xdebug/xdebug.install18
-rw-r--r--community/xdelta/PKGBUILD29
-rw-r--r--community/xdelta/xdelta-1.1.4-aclocal.patch11
-rw-r--r--community/xdelta3/PKGBUILD31
-rw-r--r--community/xdialog/PKGBUILD33
-rw-r--r--community/xdialog/xdialog-2.3.1-gtk2.patch58
-rw-r--r--community/xdiskusage/PKGBUILD47
-rw-r--r--community/xdiskusage/stdin-is-null.patch31
-rw-r--r--community/xdotool/PKGBUILD34
-rw-r--r--community/xe-guest-utilities/PKGBUILD75
-rw-r--r--community/xe-guest-utilities/ip_address.patch16
-rw-r--r--community/xe-guest-utilities/proc-xen.mount9
-rw-r--r--community/xe-guest-utilities/tmpfile1
-rw-r--r--community/xe-guest-utilities/xe-daemon.service12
-rw-r--r--community/xe-guest-utilities/xe-linux-distribution.service11
-rw-r--r--community/xemacs/PKGBUILD57
-rw-r--r--community/xemacs/xemacs.desktop34
-rw-r--r--community/xemacs/xemacs.install35
-rw-r--r--community/xfe/PKGBUILD29
-rw-r--r--community/xfmedia/PKGBUILD42
-rw-r--r--community/xfmedia/xfmedia-dbus-0.6-support.patch14
-rw-r--r--community/xfmedia/xfmedia-empty-prev-next-fix.patch25
-rw-r--r--community/xfmedia/xfmedia-exo-0.6.patch196
-rw-r--r--community/xfmedia/xfmedia-xine-1.2.0.patch34
-rw-r--r--community/xfmedia/xfmedia.install11
-rw-r--r--community/xjadeo/PKGBUILD42
-rw-r--r--community/xjadeo/qjadeo.desktop8
-rw-r--r--community/xjadeo/xjadeo.install11
-rw-r--r--community/xkbsel/PKGBUILD31
-rw-r--r--community/xkbsel/build-fix.patch24
-rw-r--r--community/xkeycaps/PKGBUILD28
-rw-r--r--community/xkeycaps/license.txt54
-rw-r--r--community/xl2tpd/PKGBUILD49
-rw-r--r--community/xl2tpd/ipparam.patch36
-rw-r--r--community/xl2tpd/options.l2tpd24
-rw-r--r--community/xl2tpd/xl2tpd.conf.client-example19
-rw-r--r--community/xl2tpd/xl2tpd.conf.server-example21
-rw-r--r--community/xl2tpd/xl2tpd.service15
-rw-r--r--community/xl2tpd/xl2tpd.tmpfiles1
-rw-r--r--community/xloadimage/PKGBUILD46
-rw-r--r--community/xloadimage/enable-image-types.patch74
-rw-r--r--community/xloadimage/license.txt19
-rw-r--r--community/xloadimage/png15-tiff4.patch50
-rw-r--r--community/xlockmore/LICENSE18
-rw-r--r--community/xlockmore/PKGBUILD37
-rw-r--r--community/xml2/PKGBUILD30
-rw-r--r--community/xmldiff/PKGBUILD30
-rw-r--r--community/xmlrpc-c/PKGBUILD50
-rw-r--r--community/xmlstarlet/PKGBUILD34
-rw-r--r--community/xmms-imms/PKGBUILD32
-rw-r--r--community/xmms-pulse/ChangeLog4
-rw-r--r--community/xmms-pulse/PKGBUILD32
-rw-r--r--community/xmms-volnorm/PKGBUILD29
-rw-r--r--community/xmms2/PKGBUILD93
-rw-r--r--community/xmms2/ffmpeg-0.11.diff10
-rw-r--r--community/xmms2/vorbis-albumart.patch200
-rw-r--r--community/xmms2/xmms2-helpers.patch13
-rw-r--r--community/xmms2/xmms2-ruby-1.9.patch59
-rw-r--r--community/xmms2/xmms2.install3
-rw-r--r--community/xmms2/xmms2d.conf31
-rw-r--r--community/xmms2/xmms2d.service12
-rw-r--r--community/xmmsctrl/PKGBUILD24
-rw-r--r--community/xmobar/PKGBUILD31
-rw-r--r--community/xmobar/xmobar-0.15-haskell-mtl.patch12
-rw-r--r--community/xmonad-contrib/PKGBUILD37
-rw-r--r--community/xmonad-contrib/xmonad-contrib-remove-getatomname.patch19
-rw-r--r--community/xmonad-contrib/xmonad-contrib.install17
-rw-r--r--community/xmonad/PKGBUILD50
-rw-r--r--community/xmonad/xmonad-gnome-session.session6
-rw-r--r--community/xmonad/xmonad.install22
-rw-r--r--community/xmonad/xmonad.svg77
-rw-r--r--community/xmoto/PKGBUILD48
-rw-r--r--community/xmoto/system.cpp.patch10
-rw-r--r--community/xmoto/xmoto-0.5.10-libpng15.patch10
-rw-r--r--community/xmoto/xmoto.install11
-rw-r--r--community/xmove/PKGBUILD37
-rw-r--r--community/xnc/PKGBUILD33
-rw-r--r--community/xnc/libpng15.patch63
-rw-r--r--community/xnc/xnc-gcc44.patch72
-rw-r--r--community/xnee/PKGBUILD33
-rw-r--r--community/xnee/gnee.desktop9
-rw-r--r--community/xnee/xnee.changelog19
-rwxr-xr-xcommunity/xnoise/PKGBUILD37
-rw-r--r--community/xnoise/xnoise.install13
-rw-r--r--community/xonotic/PKGBUILD57
-rw-r--r--community/xonotic/xonotic-glx.desktop11
-rw-r--r--community/xonotic/xonotic-sdl.desktop11
-rw-r--r--community/xosd/PKGBUILD34
-rw-r--r--community/xpacman/PKGBUILD38
-rw-r--r--community/xpacman2/PKGBUILD25
-rw-r--r--community/xpacman2/build-fix.patch37
-rw-r--r--community/xpad/PKGBUILD27
-rw-r--r--community/xpad/xpad-gtk-2.20.patch98
-rw-r--r--community/xpad/xpad.install11
-rw-r--r--community/xplanet/PKGBUILD26
-rw-r--r--community/xplc/PKGBUILD32
-rw-r--r--community/xrestop/ChangeLog4
-rw-r--r--community/xrestop/PKGBUILD25
-rw-r--r--community/xsel/PKGBUILD24
-rw-r--r--community/xsensors/PKGBUILD42
-rw-r--r--community/xsensors/remove-unused-variables.patch39
-rw-r--r--community/xsensors/replace-deprecated-gtk.patch168
-rw-r--r--community/xsensors/xsensors.changelog11
-rw-r--r--community/xsensors/xsensors.desktop9
-rw-r--r--community/xsettings-client/PKGBUILD26
-rw-r--r--community/xtmsplit/PKGBUILD27
-rw-r--r--community/xvkbd/PKGBUILD33
-rw-r--r--community/xwax/PKGBUILD32
-rw-r--r--community/xxkb/PKGBUILD42
-rw-r--r--community/xxkb/XXkb16
-rw-r--r--community/xxkb/en22.xpm105
-rw-r--r--community/xxkb/ru22.xpm31
-rwxr-xr-xcommunity/yabause-gtk/PKGBUILD45
-rwxr-xr-xcommunity/yabause-gtk/rwx.patch20
-rwxr-xr-xcommunity/yabause-qt/PKGBUILD45
-rwxr-xr-xcommunity/yabause-qt/rwx.patch20
-rw-r--r--community/yagf/PKGBUILD31
-rw-r--r--community/yagf/yagf.install13
-rw-r--r--community/yamdi/PKGBUILD27
-rw-r--r--community/yaml-cpp/PKGBUILD26
-rw-r--r--community/yaws/PKGBUILD50
-rw-r--r--community/yaws/yaws.install13
-rw-r--r--community/yaws/yaws.service13
-rw-r--r--community/yaz/PKGBUILD37
-rw-r--r--community/yaz/yaz.changelog5
-rw-r--r--community/zathura-djvu/PKGBUILD26
-rw-r--r--community/zathura-djvu/zathura-djvu.install6
-rw-r--r--community/zathura-pdf-mupdf/PKGBUILD25
-rw-r--r--community/zathura-pdf-poppler/PKGBUILD26
-rw-r--r--community/zathura-pdf-poppler/zathura-pdf-poppler.install6
-rw-r--r--community/zathura-ps/PKGBUILD24
-rw-r--r--community/zathura-ps/zathura-ps.install6
-rw-r--r--community/zathura/PKGBUILD33
-rw-r--r--community/zathura/bash-completion29
-rw-r--r--community/zathura/zathura.install14
-rw-r--r--community/zaz/PKGBUILD32
-rw-r--r--community/zaz/zaz.install13
-rw-r--r--community/zeromq/PKGBUILD30
-rw-r--r--community/zh-autoconvert/PKGBUILD30
-rw-r--r--community/zh-autoconvert/autoconvert.patch37
-rw-r--r--community/zile/PKGBUILD26
-rw-r--r--community/zinnia/PKGBUILD29
-rw-r--r--community/zita-convolver/PKGBUILD37
-rw-r--r--community/zita-resampler/PKGBUILD64
-rw-r--r--community/znc/PKGBUILD39
-rw-r--r--community/znc/znc.install29
-rw-r--r--community/zynaddsubfx/PKGBUILD65
-rw-r--r--community/zynaddsubfx/zynaddsubfx.svg313
-rw-r--r--extra/apache/PKGBUILD8
-rw-r--r--extra/apr/PKGBUILD6
-rw-r--r--extra/gdm/PKGBUILD12
-rw-r--r--extra/gnumeric/PKGBUILD6
-rw-r--r--extra/goffice/PKGBUILD6
-rw-r--r--extra/libtxc_dxtn/PKGBUILD33
-rw-r--r--extra/mariadb/PKGBUILD6
-rw-r--r--extra/mesa/PKGBUILD18
-rw-r--r--extra/mesa/git_fixes.patch476
-rw-r--r--libre/mplayer-vaapi-libre/PKGBUILD27
-rw-r--r--libre/mplayer-vaapi-libre/demux-gif.patch19
-rw-r--r--pcr/gcc-lts/PKGBUILD299
-rw-r--r--pcr/gcc-lts/gcc-ada.install20
-rw-r--r--pcr/gcc-lts/gcc-fortran.install16
-rw-r--r--pcr/gcc-lts/gcc-go.install20
-rw-r--r--pcr/gcc-lts/gcc-libs.install16
-rw-r--r--pcr/gcc-lts/gcc.install20
-rw-r--r--pcr/otf-stix/PKGBUILD2
-rw-r--r--pcr/youtube-dl-current/PKGBUILD4
3374 files changed, 147089 insertions, 668 deletions
diff --git a/community/0ad/PKGBUILD b/community/0ad/PKGBUILD
new file mode 100644
index 000000000..fa23ed236
--- /dev/null
+++ b/community/0ad/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 94012 2013-07-13 12:30:26Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: t3ddy <t3ddy1988 "at" gmail {dot} com>
+# Contributor: Adrián Chaves Fernández (Gallaecio) <adriyetichaves@gmail.com>
+pkgname=0ad
+pkgver=a13
+_pkgver=0.0.13-alpha
+pkgrel=5
+pkgdesc="Cross-platform, 3D and historically-based real-time strategy game"
+arch=('i686' 'x86_64')
+url="http://play0ad.com/"
+license=('GPL2' 'CCPL')
+depends=('binutils' 'boost-libs' 'curl' 'enet>=1.3' 'libogg' 'libpng' 'libvorbis' 'libxml2' 'openal' 'sdl' 'wxgtk' 'zlib' 'libgl' '0ad-data' 'glu')
+makedepends=('boost' 'cmake' 'mesa' 'zip' 'python2')
+source=("http://releases.wildfiregames.com/$pkgname-$_pkgver-unix-build.tar.xz")
+md5sums=('3075c982c4af41a3586b6b6ef637d2c4')
+
+build() {
+ cd "$srcdir/$pkgname-$_pkgver/build/workspaces"
+
+ sed -i 's/unix_names = { "boost_filesystem-mt", "boost_system-mt" },/unix_names = { "boost_filesystem", "boost_system" },/g' "${srcdir}/${pkgname}-${_pkgver}/build/premake/extern_libs4.lua"
+ sed -i 's/unix_names = { "boost_signals-mt" },/unix_names = { "boost_signals" },/g' "${srcdir}/${pkgname}-${_pkgver}/build/premake/extern_libs4.lua"
+
+ unset CPPFLAGS
+
+ ./update-workspaces.sh \
+ --with-system-enet \
+ --bindir=/usr/bin \
+ --libdir=/usr/lib/0ad \
+ --datadir=/usr/share/${pkgname}/data
+
+ cd "$srcdir/$pkgname-$_pkgver/build/workspaces/gcc"
+
+ make CONFIG=Release
+}
+
+package() {
+ install -d "${pkgdir}"/usr/{bin,lib/0ad}
+ install -Dm755 "${srcdir}"/${pkgname}-${_pkgver}/binaries/system/pyrogenesis "${pkgdir}/usr/bin"
+ install -Dm755 "${srcdir}"/${pkgname}-${_pkgver}/binaries/system/*.so{,.1.0} "${pkgdir}/usr/lib/0ad"
+
+ install -Dm755 "${srcdir}/${pkgname}-${_pkgver}/build/resources/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm644 "${srcdir}/$pkgname-$_pkgver/build/resources/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ install -Dm644 "${srcdir}/$pkgname-$_pkgver/build/resources/${pkgname}.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
+}
diff --git a/community/0ad/boost-1.50.patch b/community/0ad/boost-1.50.patch
new file mode 100644
index 000000000..26ebd3e96
--- /dev/null
+++ b/community/0ad/boost-1.50.patch
@@ -0,0 +1,39 @@
+diff -ru 0ad-r11863-alpha/source/graphics/TextureManager.cpp 0ad-r11863-alpha-patched/source/graphics/TextureManager.cpp
+--- 0ad-r11863-alpha/source/graphics/TextureManager.cpp 2012-02-19 04:30:59.000000000 +0100
++++ 0ad-r11863-alpha-patched/source/graphics/TextureManager.cpp 2012-07-10 21:00:52.753251312 +0200
+@@ -425,9 +425,9 @@
+ CTextureConverter::SettingsFile* f = GetSettingsFile(settingsPath);
+ if (f)
+ files.push_back(f);
+- p = p / *it;
++ p = p / it->wstring();
+ }
+- return m_TextureConverter.ComputeSettings(srcPath.leaf(), files);
++ return m_TextureConverter.ComputeSettings(srcPath.leaf().wstring(), files);
+ }
+
+ /**
+diff -ru 0ad-r11863-alpha/source/lib/pch/pch_boost.h 0ad-r11863-alpha-patched/source/lib/pch/pch_boost.h
+--- 0ad-r11863-alpha/source/lib/pch/pch_boost.h 2012-02-16 19:01:10.000000000 +0100
++++ 0ad-r11863-alpha-patched/source/lib/pch/pch_boost.h 2012-07-10 19:51:38.413009623 +0200
+@@ -25,7 +25,7 @@
+
+ // the following boost libraries have been included in TR1 and are
+ // thus deemed usable:
+-#define BOOST_FILESYSTEM_VERSION 2
++#define BOOST_FILESYSTEM_VERSION 3
+ #include <boost/filesystem.hpp>
+ namespace fs = boost::filesystem;
+ #include <boost/shared_ptr.hpp>
+diff -ru 0ad-r11863-alpha/source/simulation2/components/ICmpAIManager.cpp 0ad-r11863-alpha-patched/source/simulation2/components/ICmpAIManager.cpp
+--- 0ad-r11863-alpha/source/simulation2/components/ICmpAIManager.cpp 2011-05-25 12:39:13.000000000 +0200
++++ 0ad-r11863-alpha-patched/source/simulation2/components/ICmpAIManager.cpp 2012-07-10 20:55:52.523233843 +0200
+@@ -53,7 +53,7 @@
+ fs::wpath components = pathname.string();
+ fs::wpath::iterator it = components.begin();
+ std::advance(it, 2);
+- std::wstring dirname = *it;
++ std::wstring dirname = it->wstring();
+
+ CScriptValRooted ai;
+ self->m_ScriptInterface.Eval("({})", ai);
diff --git a/community/6tunnel/PKGBUILD b/community/6tunnel/PKGBUILD
new file mode 100644
index 000000000..c619ab778
--- /dev/null
+++ b/community/6tunnel/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65025 2012-02-20 02:05:08Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Anders Bergh <anders1@gmail.com>
+
+pkgname=6tunnel
+pkgver=0.11rc2
+pkgrel=5
+pkgdesc="Tunnels IPv6 connections for IPv4-only applications"
+url="http://toxygen.net/6tunnel/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=()
+source=(http://toxygen.net/6tunnel/$pkgname-$pkgver.tar.gz)
+md5sums=('74e02d4f0704b3083a01feda66033449')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ autoconf
+ ./configure --prefix=/usr
+ make
+ install -Dm644 6tunnel.1 $pkgdir/usr/share/man/man1/6tunnel.1
+ install -Dm755 6tunnel $pkgdir/usr/bin/6tunnel
+}
diff --git a/community/9base/9 b/community/9base/9
new file mode 100644
index 000000000..de6a2d070
--- /dev/null
+++ b/community/9base/9
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+PLAN9=${PLAN9:-/opt/plan9}
+export PLAN9
+
+case "$PATH" in
+ $PLAN9/bin:*) ;;
+ *) export PATH=$PLAN9/bin:$PATH ;;
+esac
+
+if [ $# -gt 0 ]; then
+ exec "$@"
+fi
diff --git a/community/9base/PKGBUILD b/community/9base/PKGBUILD
new file mode 100644
index 000000000..a38a266bd
--- /dev/null
+++ b/community/9base/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 68390 2012-03-23 21:00:56Z cbrannon $
+# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Jeff Mickey <j@codemac.net>
+# Contributor: Aaron, phrakture, Griffin <aaron@archlinux.org>
+# Contributor: Jeffrey 'jf' Lim <jfs.world@gmail.com>
+
+pkgname=9base
+pkgver=6
+pkgrel=4
+pkgdesc="Port of various original Plan9 tools to unix"
+url="http://tools.suckless.org/9base"
+source=(http://dl.suckless.org/tools/$pkgname-$pkgver.tar.gz 9 plan9.sh)
+depends=(sh)
+conflicts=('plan9port' '9rc-devel')
+provides=('plan9')
+arch=('i686' 'x86_64')
+license=('custom')
+
+build()
+{
+ cd "$srcdir/$pkgname-$pkgver"
+
+ case $CARCH in
+ i686) sed -i 's#^OBJTYPE\s.*$#OBJTYPE = 386#' config.mk ;;
+ x86_64) sed -i 's#^OBJTYPE\s.*$#OBJTYPE = x86_64#' config.mk ;;
+ esac
+
+ sed -i 's#^PREFIX\s.*$#PREFIX = /opt/plan9#' config.mk
+ sed -i 's#^CFLAGS\s*+=#CFLAGS += -DPLAN9PORT #' config.mk
+
+ # Force dynamic linking. Several of the programs in 9base won't work
+ # when statically linked against the latest glibc.
+ sed -i '/-static/d' config.mk
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -m755 ../9 "$pkgdir/opt/plan9/bin/"
+ install -D -m755 ../plan9.sh "$pkgdir/etc/profile.d/plan9.sh"
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/9base/LICENSE"
+}
+
+md5sums=('5a4684c13fe19b00a50c2cf926d5cafc'
+ 'ae7108b9f26bed388e9055f35eef2986'
+ '62a9e52043d9c32967fcae9018fffb56')
diff --git a/community/9base/plan9.sh b/community/9base/plan9.sh
new file mode 100644
index 000000000..3fb0b9813
--- /dev/null
+++ b/community/9base/plan9.sh
@@ -0,0 +1,4 @@
+export PLAN9=/opt/plan9
+export PATH=$PATH:$PLAN9/bin
+export MANPATH=$MANPATH:$PLAN9/man
+
diff --git a/community/abe/PKGBUILD b/community/abe/PKGBUILD
new file mode 100644
index 000000000..9f646794f
--- /dev/null
+++ b/community/abe/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: jsteel <mail at jsteel dot org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=abe
+pkgver=1.1
+pkgrel=9
+pkgdesc="A scrolling, platform-jumping, key-collecting, ancient pyramid exploring game"
+arch=('i686' 'x86_64')
+url="http://abe.sourceforge.net"
+license=('GPL')
+depends=('sdl_mixer')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ $pkgname.patch
+ $pkgname.desktop)
+md5sums=('5537920e1746708e1a631d84d3500f5c'
+ '74802a45e21b59d3e3d34f35ade252a4'
+ '6ff678e781290bff780da154a32b9767')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ patch -Np1 -i "$srcdir"/$pkgname.patch
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir"/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+ install -dm755 "$pkgdir"/usr/share/$pkgname/images
+
+ cp -r images/ maps/ sounds/ "$pkgdir"/usr/share/$pkgname/
+
+ cd "$pkgdir"/usr/share/$pkgname/images
+ tar -xf "$srcdir"/$pkgname-$pkgver/images/images.tar abe.bmp
+ chown root:root abe.bmp
+}
diff --git a/community/abe/abe.desktop b/community/abe/abe.desktop
new file mode 100644
index 000000000..8c452e7af
--- /dev/null
+++ b/community/abe/abe.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Abe
+GenericName=Platform Game
+Comment=Retro Platform Game
+Icon=/usr/share/abe/images/abe.bmp
+Exec=abe
+Categories=Game;
diff --git a/community/abe/abe.patch b/community/abe/abe.patch
new file mode 100644
index 000000000..33b0b1af0
--- /dev/null
+++ b/community/abe/abe.patch
@@ -0,0 +1,24 @@
+diff -ur abe-1.1.orig/src/Directories.h abe-1.1/src/Directories.h
+--- abe-1.1.orig/src/Directories.h 2012-08-25 16:43:45.194974618 +0100
++++ abe-1.1/src/Directories.h 2012-08-25 16:48:07.489030577 +0100
+@@ -27,7 +27,7 @@
+
+ // BASE_DIR has not " arround it.
+ #ifndef BASE_DIR
+-#define BASE_DIR .
++#define BASE_DIR /usr/share/abe
+ #endif
+
+ #define IMAGES_DIR "images"
+diff -ur abe-1.1.orig/src/Menu.c abe-1.1/src/Menu.c
+--- abe-1.1.orig/src/Menu.c 2012-08-25 16:43:45.198307908 +0100
++++ abe-1.1/src/Menu.c 2012-08-25 16:45:00.319469631 +0100
+@@ -116,7 +116,7 @@
+ if(n == SOUND_ENABLED || n == MUSIC_ENABLED)
+ return sound_loaded;
+ else
+- return 0;
++ return 1;
+ }
+
+ void
diff --git a/community/account-plugins/PKGBUILD b/community/account-plugins/PKGBUILD
new file mode 100644
index 000000000..b5928821b
--- /dev/null
+++ b/community/account-plugins/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 79484 2012-11-06 04:10:50Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=account-plugins
+pkgver=0.9
+pkgrel=1
+pkgdesc="Account configuration plugins for credentials preferences"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/online-accounts-account-plugins"
+license=('GPL')
+depends=('credentials-preferences' 'signon-keyring-extension' 'signon-plugin-oauth2')
+makedepends=('gobject-introspection' 'vala' 'intltool')
+optdepends=('python-gobject: for account-console tool')
+options=('!libtool')
+install=$pkgname.install
+source=(https://launchpad.net/online-accounts-account-plugins/12.10/$pkgver/+download/$pkgname-$pkgver.tar.gz)
+md5sums=('58deed9e3305877bb4db426a51451ec0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/account-plugins/account-plugins.install b/community/account-plugins/account-plugins.install
new file mode 100644
index 000000000..2c455e952
--- /dev/null
+++ b/community/account-plugins/account-plugins.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/acpi/PKGBUILD b/community/acpi/PKGBUILD
new file mode 100644
index 000000000..634c26b0f
--- /dev/null
+++ b/community/acpi/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 148027 2012-01-30 03:41:28Z dan $
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=acpi
+pkgver=1.6
+pkgrel=1
+pkgdesc="Linux ACPI client providing battery, AC power, and thermal readings"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/acpiclient"
+depends=('glibc')
+source=(http://downloads.sourceforge.net/acpiclient/$pkgname-$pkgver.tar.gz)
+license=('GPL2')
+sha256sums=('ed61d20400c4fd3965dde9b49ab3ac74da02f8eca1a55454f7a1ac3fa1fd5c31')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/acpid/PKGBUILD b/community/acpid/PKGBUILD
new file mode 100644
index 000000000..0b3ff7969
--- /dev/null
+++ b/community/acpid/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 91937 2013-05-29 23:05:51Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: xduugu
+# Contributor: Manolis Tzanidakis
+# Contributor: Jonathan Schmidt <j.schmidt@archlinux.us
+
+pkgname=acpid
+pkgver=2.0.19
+pkgrel=1
+pkgdesc='A daemon for delivering ACPI power management events with netlink support'
+arch=('i686' 'x86_64')
+url='http://sourceforge.net/projects/acpid2/'
+license=('GPL')
+depends=('bash')
+optdepends=('perl: use perl based examples')
+replaces=('acpid2')
+backup=('etc/acpi/handler.sh' 'etc/acpi/events/anything')
+source=("http://downloads.sourceforge.net/sourceforge/acpid2/$pkgname-$pkgver.tar.xz"
+ 'acpid.socket'
+ 'acpid.service'
+ 'anything'
+ 'handler.sh')
+md5sums=('0b07a982e3e28cf37645f2c6269af72e'
+ 'd11700eb136e0489835ddaf977a7905b'
+ '79cc7a9dceacdeffd51f070c2ba5f023'
+ '2d37b98d6e74bab815604b8b48c6cfd4'
+ '47f44ff5f02685dce8bcdab8568f0c38')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ pushd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ popd
+
+ # default config
+ install -Dm644 anything "$pkgdir/etc/acpi/events/anything"
+ install -Dm755 handler.sh "$pkgdir/etc/acpi/handler.sh"
+
+ # systemd
+ install -Dm644 acpid.socket "$pkgdir/usr/lib/systemd/system/acpid.socket"
+ install -Dm644 acpid.service "$pkgdir/usr/lib/systemd/system/acpid.service"
+
+ # fix acpid rights
+ chmod 755 "$pkgdir/usr/bin/acpid"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/acpid/acpid.service b/community/acpid/acpid.service
new file mode 100644
index 000000000..022f72a71
--- /dev/null
+++ b/community/acpid/acpid.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=ACPI event daemon
+Requires=acpid.socket
+
+[Service]
+ExecStart=/usr/bin/acpid -f
+
+[Install]
+WantedBy=multi-user.target
+Also=acpid.socket
diff --git a/community/acpid/acpid.socket b/community/acpid/acpid.socket
new file mode 100644
index 000000000..1b23f8735
--- /dev/null
+++ b/community/acpid/acpid.socket
@@ -0,0 +1,8 @@
+[Unit]
+Description=ACPID Listen Socket
+
+[Socket]
+ListenStream=/var/run/acpid.socket
+
+[Install]
+WantedBy=sockets.target
diff --git a/community/acpid/anything b/community/acpid/anything
new file mode 100644
index 000000000..d1828989b
--- /dev/null
+++ b/community/acpid/anything
@@ -0,0 +1,3 @@
+# Pass all events to our one handler script
+event=.*
+action=/etc/acpi/handler.sh %e
diff --git a/community/acpid/handler.sh b/community/acpid/handler.sh
new file mode 100644
index 000000000..bab144d03
--- /dev/null
+++ b/community/acpid/handler.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+# Default acpi script that takes an entry for all actions
+
+case "$1" in
+ button/power)
+ case "$2" in
+ PBTN|PWRF)
+ logger 'PowerButton pressed'
+ ;;
+ *)
+ logger "ACPI action undefined: $2"
+ ;;
+ esac
+ ;;
+ button/sleep)
+ case "$2" in
+ SLPB|SBTN)
+ logger 'SleepButton pressed'
+ ;;
+ *)
+ logger "ACPI action undefined: $2"
+ ;;
+ esac
+ ;;
+ ac_adapter)
+ case "$2" in
+ AC|ACAD|ADP0)
+ case "$4" in
+ 00000000)
+ logger 'AC unpluged'
+ ;;
+ 00000001)
+ logger 'AC pluged'
+ ;;
+ esac
+ ;;
+ *)
+ logger "ACPI action undefined: $2"
+ ;;
+ esac
+ ;;
+ battery)
+ case "$2" in
+ BAT0)
+ case "$4" in
+ 00000000)
+ logger 'Battery online'
+ ;;
+ 00000001)
+ logger 'Battery offline'
+ ;;
+ esac
+ ;;
+ CPU0)
+ ;;
+ *) logger "ACPI action undefined: $2" ;;
+ esac
+ ;;
+ button/lid)
+ case "$3" in
+ close)
+ logger 'LID closed'
+ ;;
+ open)
+ logger 'LID opened'
+ ;;
+ *)
+ logger "ACPI action undefined: $3"
+ ;;
+ esac
+ ;;
+ *)
+ logger "ACPI group/action undefined: $1 / $2"
+ ;;
+esac
+
+# vim:set ts=4 sw=4 ft=sh et:
diff --git a/community/activity-log-manager/PKGBUILD b/community/activity-log-manager/PKGBUILD
new file mode 100644
index 000000000..e4a898185
--- /dev/null
+++ b/community/activity-log-manager/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92682 2013-06-12 04:38:43Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Ner0
+
+pkgname=activity-log-manager
+pkgver=0.9.5
+pkgrel=1
+pkgdesc="A graphical user interface which lets you easily control what gets logged by Zeitgeist"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/activity-log-manager"
+license=('GPL2')
+depends=('gtk3' 'libgee06' 'libzeitgeist' 'zeitgeist' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('vala' 'intltool')
+install=$pkgname.install
+source=(https://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.xz
+ http://pkgbuild.com/~bgyorgy/sources/$pkgname-translations-20121021.tar.gz)
+md5sums=('460b4439798badbf4ba4b76b31cc1d03'
+ '6167df74ce44659aa94a89f31ff4d351')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Install language files
+ rename $pkgname- '' ../po/$pkgname-*.po
+ mv -f -t po ../po/*
+ printf "%s\n" po/*.po | sed -e 's/po\///g' -e 's/\.po//g' >po/LINGUAS
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/activity-log-manager/activity-log-manager.install b/community/activity-log-manager/activity-log-manager.install
new file mode 100644
index 000000000..2c455e952
--- /dev/null
+++ b/community/activity-log-manager/activity-log-manager.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/addinclude/PKGBUILD b/community/addinclude/PKGBUILD
new file mode 100644
index 000000000..edb5f73d8
--- /dev/null
+++ b/community/addinclude/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 87598 2013-04-03 23:28:26Z arodseth $
+# Maintainer: Alexander Rdseth <rodseth@gmail.com>
+
+pkgname=addinclude
+pkgver=0.9
+pkgrel=8
+pkgdesc='Utility to add includes to C header- and sourcefiles'
+arch=('x86_64' 'i686')
+url='http://addinclude.roboticoverlords.org/'
+license=('GPL')
+makedepends=('go')
+source=("http://$pkgname.roboticoverlords.org/$pkgname-$pkgver.tbz2")
+sha256sums=('8d88014b4b166d808892f433ce12e3ee683101af5e31886faa52a44cc6f7b451')
+options=('zipman')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ source /etc/profile.d/go.sh
+ go build -o "$pkgname"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm755 "$pkgname" \
+ "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 "$pkgname.1.gz" \
+ "$pkgdir/usr/share/man/man1/$pkgname.1.gz"
+ install -Dm644 COPYING \
+ "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/adesklets/PKGBUILD b/community/adesklets/PKGBUILD
new file mode 100644
index 000000000..607ac3847
--- /dev/null
+++ b/community/adesklets/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 59648 2011-11-29 01:35:36Z ebelanger $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Fubar
+
+pkgname=adesklets
+pkgver=0.6.1
+pkgrel=12
+pkgdesc="An imlib2-based system to have interactive 'desklets'."
+arch=('i686' 'x86_64')
+url="http://adesklets.sourceforge.net/"
+license=('GPL2')
+depends=('imlib2' 'fontconfig' 'python2' 'perl' 'ttf-bitstream-vera' 'libx11')
+install=$pkgname.install
+options=('!emptydirs')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2 \
+ fontconfig-2.4.patch posix_signal.patch)
+md5sums=('cd390c9398449c5566033e2e4792bccb'
+ '0374aec97670c90713fcabc2710e2160'
+ 'd9ac15cc92f833f2446218e487e6c607')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i "${srcdir}/posix_signal.patch"
+
+ #patch for fontconfig => 2.4
+ patch -Np0 -i "${srcdir}/fontconfig-2.4.patch"
+
+ autoreconf
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr
+
+ #makefile Fix
+ sed -i 's/\/bin\/sh//' doc/Makefile
+
+ #python2 fix
+ for file in checkin installer submit; do
+ sed -i 's_/usr/bin/env python_/usr/bin/env python2_' utils/${pkgname}_${file}
+ done
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" INSTALLDIRS=vendor install
+
+ #remove the font stuff
+ rm -f "${pkgdir}"/usr/share/adesklets/{FONT_LICENSE,Vera.ttf}
+
+ find "${pkgdir}" -name '.packlist' -exec rm '{}' \;
+ find "${pkgdir}" -name 'perllocal.pod' -exec rm '{}' \;
+}
diff --git a/community/adesklets/adesklets.install b/community/adesklets/adesklets.install
new file mode 100644
index 000000000..cae17e499
--- /dev/null
+++ b/community/adesklets/adesklets.install
@@ -0,0 +1,31 @@
+infodir=/usr/share/info
+filelist=(adesklets.info adesklets_fr.info)
+
+post_install() {
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+
+ getent group adesklets > /dev/null || usr/sbin/groupadd -g 107 adesklets
+cat << EOF
+
+==> To be able to save configs of adesklets
+==> add your user to the adesklets group:
+==> # gpasswd -a USERNAME adesklets
+
+EOF
+}
+
+post_upgrade() {
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_remove() {
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+
+ usr/sbin/groupdel adesklets &>/dev/null
+}
diff --git a/community/adesklets/fontconfig-2.4.patch b/community/adesklets/fontconfig-2.4.patch
new file mode 100644
index 000000000..e7a1ad5ca
--- /dev/null
+++ b/community/adesklets/fontconfig-2.4.patch
@@ -0,0 +1,50 @@
+--- configure.ac
++++ configure.ac
+@@ -1,4 +1,4 @@
+-dnl Initialize autoconf and automake
++nl Initialize autoconf and automake
+ AC_INIT
+ AC_CONFIG_SRCDIR(src/main.c)
+ AC_PREREQ(2.52)
+@@ -428,7 +428,18 @@ AC_TRY_LINK(
+ #include <fontconfig/fontconfig.h>
+ , FcInit(),
+ AC_MSG_RESULT([yes])
+-AC_DEFINE(HAVE_FONTCONFIG_FONTCONFIG_H,1,[Define to 1 if you have the <fontconfig/fontconfig.h> header file.]),
++AC_DEFINE(HAVE_FONTCONFIG_FONTCONFIG_H,1,[Define to 1 if you have the <fontconfig/fontconfig.h> header file.])
++
++AC_MSG_CHECKING([For fontconfig FcFini()])
++AC_TRY_LINK(
++#include <fontconfig/fontconfig.h>
++, FcFini(),
++AC_MSG_RESULT([yes])
++AC_DEFINE(HAVE_FONTCONFIG_FCFINI,1,[Define to 1 if FcFini() call exists])
++,
++AC_MSG_RESULT([no]))
++
++,
+ AC_MSG_RESULT([no])
+ FONTCONFIG_LIBS=
+ FONTCONFIG_CFLAGS=
+--- src/xwindow.c
++++ src/xwindow.c
+@@ -123,9 +123,17 @@
+ if ((strlen((char*)file)>4) &&
+ (strstr((char*)file+strlen((char*)file)-4,".ttf")))
+ imlib_add_path_to_font_path(dirname((char*)file));
+- FcFontSetDestroy(fs);
+- FcObjectSetDestroy(os);
+ }
++#ifdef HAVE_FONTCONFIG_FCFINI
++ FcFini();
++#else
++ /* On FontConfig >= 2.4, this causes a segfault, probably due to the new
++ caching mechanism: we don't have to care, since FcFini() always exists,
++ and does the dirty dessalocation job just fine.
++ */
++ if (fs) FcFontSetDestroy(fs);
++ FcObjectSetDestroy(os);
++#endif
+ }
+ #endif
+ imlib_add_path_to_font_path(".");
diff --git a/community/adesklets/posix_signal.patch b/community/adesklets/posix_signal.patch
new file mode 100644
index 000000000..90b3e8a12
--- /dev/null
+++ b/community/adesklets/posix_signal.patch
@@ -0,0 +1,81 @@
+From 92e686badce5c549699a30e82458a42dbcd99183 Mon Sep 17 00:00:00 2001
+From: Sylvain <syfou@users.sourceforge.net>
+Date: Wed, 2 May 2007 13:23:18 -0400
+Subject: [PATCH] Definitive fix for the signal module importation problem
+ ...from posix_signal on some amd64 systems. Many thanks to Jason
+ Pontious for his support and patience.
+
+---
+ scripting/python/posix_signal.c | 34 ++++++++++++++++++----------------
+ 1 files changed, 18 insertions(+), 16 deletions(-)
+
+diff --git a/scripting/python/posix_signal.c b/scripting/python/posix_signal.c
+index 620248f..7c5ac25 100644
+--- a/scripting/python/posix_signal.c
++++ b/scripting/python/posix_signal.c
+@@ -1,16 +1,17 @@
+ /*--- posix_signal.c -----------------------------------------------------------
+-This is nothing but a forward port from older python code by Lance Ellinghaus,
+-Guido van Rossum & al., reformatted and put back together by Sylvain Fourmanoit <syfou@users.sourceforge.net>
+-for recent (2.2.0 final and newer) python implementations.
+-
+-The ability to temporarily delay signals delivery is a very usefull feature -
+-not all C functions are reentrant (in fact, only a few need to be 'safe'
+-according to the POSIX 1003.1-2003 list), so being able to create critical
+-code sections is a must. Although I am convinced Python's developpers
+-had good reasons, I do not know myself why 'sigprocmask' and associated
+-functions support was dropped from the signal module on systems which
+-implemented them... Since I needed them in my blissful ignorance,
+-here they are, alive and kicking. :-)
++This is nothing but a forward port from older python code by Lance
++Ellinghaus, Guido van Rossum & al., reformatted and put back together
++by Sylvain Fourmanoit <syfou@users.sourceforge.net> for recent (2.2.0
++final and newer) python implementations.
++
++The ability to temporarily delay signals delivery is a very usefull
++feature - not all C functions are reentrant (in fact, only a few need
++to be 'safe' according to the POSIX 1003.1-2003 list), so being able
++to create critical code sections is a must. Although I am convinced
++Python's developpers had good reasons, I do not know myself why
++'sigprocmask' and associated functions support was dropped from the
++signal module on systems which implemented them... Since I needed them
++in my blissful ignorance, here they are, alive and kicking. :-)
+
+ ------------------------------------------------------------------------------*/
+ #include <Python.h>
+@@ -214,8 +215,9 @@ PyMODINIT_FUNC
+ initposix_signal(void)
+ {
+ const char * KEYS [] = { "__doc__", "__name__" , NULL};
+- int i, pos=0;
++ int i;
+ char * key_str, * doc_str , * new_str;
++ Py_ssize_t pos = 0;
+ PyObject * m, * mDoc, *d,
+ * pName, * pModule, * pDict,
+ * key, * value, *x;
+@@ -236,7 +238,6 @@ initposix_signal(void)
+ /* The chunk of code below roughly perfoms python equivalent of:
+ 'from signal import *' inside what would be a pure python posix_signal
+ module ... */
+- pName=PyString_FromString("signal");
+ if ((pModule=PyImport_Import((pName=PyString_FromString("signal"))))) {
+ pDict=PyModule_GetDict(pModule);
+ while (PyDict_Next(pDict, &pos, &key, &value))
+@@ -246,10 +247,11 @@ initposix_signal(void)
+ for(i=0;KEYS[i];++i)
+ if (strncmp(key_str,KEYS[i],strlen(KEYS[i]))==0)
+ break;
+- if (!KEYS[i])
++ if (!KEYS[i]) {
+ /* This needs python 2.2 and up */
++ Py_INCREF(value);
+ PyModule_AddObject(m,key_str,value);
+- else {
++ } else {
+ if (i==0) {
+ /* Append signal module documentation */
+ if ((mDoc=PyDict_GetItemString(d,KEYS[0]))) {
+--
+1.6.5.GIT
+
diff --git a/community/adns-python/PKGBUILD b/community/adns-python/PKGBUILD
new file mode 100644
index 000000000..9c1fc0cc7
--- /dev/null
+++ b/community/adns-python/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65029 2012-02-20 02:06:35Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Ben Mazer <blm@groknil.org>
+
+pkgname=adns-python
+pkgver=1.2.1
+pkgrel=5
+pkgdesc="python bindings for adns"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/adns-python/"
+depends=('adns' 'python2')
+makedepends=()
+license=('GPL2')
+source=(http://adns-python.googlecode.com/files/adns-python-$pkgver.tar.gz)
+md5sums=('12cc7ad1b0ee8d818005e9ca4def758b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # python2 fix
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' DNSBL.py
+ sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' ADNS.py
+
+ python2 setup.py install --root=$pkgdir
+}
diff --git a/community/adns/PKGBUILD b/community/adns/PKGBUILD
new file mode 100644
index 000000000..067c928f4
--- /dev/null
+++ b/community/adns/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65027 2012-02-20 02:05:52Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=adns
+pkgver=1.4
+pkgrel=3
+pkgdesc="adns is an asyncronous replacement resolver library"
+arch=('i686' 'x86_64')
+url="http://www.chiark.greenend.org.uk/~ian/adns/"
+license=('GPL')
+depends=('glibc')
+source=(http://www.chiark.greenend.org.uk/~ian/$pkgname/ftp/$pkgname-$pkgver.tar.gz)
+md5sums=('88bc7bbf3f62a8d4fb186b8f72ead853')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ mkdir -p $pkgdir/usr/{lib,include,bin}
+ make prefix=$pkgdir/usr install
+}
diff --git a/community/adns/so-fix.patch b/community/adns/so-fix.patch
new file mode 100644
index 000000000..22d874225
--- /dev/null
+++ b/community/adns/so-fix.patch
@@ -0,0 +1,10 @@
+--- Makefile.in-old 2003-02-14 22:16:21.000000000 -0800
++++ Makefile.in 2003-02-14 22:16:59.000000000 -0800
+@@ -33,6 +33,7 @@
+ install:
+ $(INSTALL_PROGRAM) $(SHLIBFILE) $(lib_dir)/$(SHLIBFILE)
+ ln -sf $(SHLIBFILE) $(lib_dir)/$(SHLIBSONAME)
++ ln -sf $(SHLIBFILE) $(lib_dir)/$(SHLIBFORLINK)
+
+ uninstall:
+ rm -f $(lib_dir)/$(SHLIBFILE) $(lib_dir)/$(SHLIBSONAME)
diff --git a/community/aegisub/PKGBUILD b/community/aegisub/PKGBUILD
new file mode 100755
index 000000000..de1403d0b
--- /dev/null
+++ b/community/aegisub/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 93876 2013-07-11 16:18:40Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: kozec <kozec@kozec.com>
+# Contributor: Limao Luo <luolimao+AUR@gmail.com>
+
+pkgname=aegisub
+pkgver=3.0.4
+pkgrel=1
+pkgdesc="A general-purpose subtitle editor with ASS/SSA support"
+arch=('i686' 'x86_64')
+url="http://www.aegisub.org"
+license=('GPL' 'BSD')
+depends=('desktop-file-utils' 'ffmpegsource' 'fftw' 'hicolor-icon-theme' 'hunspell' 'lua51' 'wxgtk2.9' 'hicolor-icon-theme')
+makedepends=('mesa')
+install=aegisub.install
+source=("http://ftp.aegisub.org/pub/releases/${pkgname}-${pkgver}.tar.xz")
+sha256sums=('7d5d8b94da02278b3327f24dd546c0c897c4b369bd2da9e094dc60371422019a')
+
+build() {
+ cd "${srcdir}"/${pkgname}/${pkgname}
+
+ ACLOCAL=aclocal AUTOMAKE=automake ./autogen.sh --prefix=/usr --without-{portaudio,openal,oss} --with-wxdir=/usr/include/wx-2.9 --with-wx-config=/usr/bin/wx-config-2.9
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}/${pkgname}
+
+ make DESTDIR="$pkgdir" install
+
+# License
+ install -dm 755 "${pkgdir}"/usr/share/licenses/aegisub
+ install -m 644 LICENCE "${pkgdir}"/usr/share/licenses/aegisub/LICENSE
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/aegisub/aegisub.install b/community/aegisub/aegisub.install
new file mode 100755
index 000000000..af7ea4171
--- /dev/null
+++ b/community/aegisub/aegisub.install
@@ -0,0 +1,14 @@
+post_install() {
+ gtk-update-icon-cache -ftq usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/afpfs-ng/01-gcrypt.patch b/community/afpfs-ng/01-gcrypt.patch
new file mode 100644
index 000000000..7bcace281
--- /dev/null
+++ b/community/afpfs-ng/01-gcrypt.patch
@@ -0,0 +1,26 @@
+diff -ru afpfs-ng-0.8.1/configure.ac afpfs-ng-0.8.1+iPhone/configure.ac
+--- afpfs-ng-0.8.1/configure.ac 2008-03-08 16:23:12.000000000 +0000
++++ afpfs-ng-0.8.1+iPhone/configure.ac 2010-10-24 05:26:15.000000000 +0000
+@@ -50,21 +50,6 @@
+ case $host in
+ *-*-darwin*)
+ AC_MSG_CHECKING([for correct gcrypt version])
+- AC_RUN_IFELSE(
+- [AC_LANG_PROGRAM([
+- #include <gcrypt.h>
+- #include <stdio.h>],[
+- char*p= GCRYPT_VERSION;
+- unsigned int vers;
+- vers=atoi(p)*10000;
+- p=strchr(p,'.')+1;
+- vers+=atoi(p)*100;
+- p=strchr(p,'.')+1;
+- vers+=atoi(p);
+- if (vers<10400) return 1;
+- ])],
+- [AC_MSG_RESULT([yes])],
+- [AC_MSG_ERROR([version is < 1.4.0])])
+ AM_CONDITIONAL(HAVE_LIBGCRYPT, true)
+ AC_DEFINE([HAVE_LIBGCRYPT], [1] )
+ ;;
+
diff --git a/community/afpfs-ng/02-pointer.patch b/community/afpfs-ng/02-pointer.patch
new file mode 100644
index 000000000..80507b572
--- /dev/null
+++ b/community/afpfs-ng/02-pointer.patch
@@ -0,0 +1,280 @@
+diff -up afpfs-ng-0.8.1/cmdline/getstatus.c.pointer afpfs-ng-0.8.1/cmdline/getstatus.c
+--- afpfs-ng-0.8.1/cmdline/getstatus.c.pointer 2011-06-14 17:06:35.000000000 +0200
++++ afpfs-ng-0.8.1/cmdline/getstatus.c 2011-06-14 17:07:25.000000000 +0200
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <pthread.h>
+
+diff -up afpfs-ng-0.8.1/fuse/client.c.pointer afpfs-ng-0.8.1/fuse/client.c
+--- afpfs-ng-0.8.1/fuse/client.c.pointer 2008-03-08 03:44:16.000000000 +0100
++++ afpfs-ng-0.8.1/fuse/client.c 2011-06-14 17:02:15.000000000 +0200
+@@ -61,8 +61,9 @@ static int start_afpfsd(void)
+ snprintf(filename, PATH_MAX,
+ "/usr/local/bin/%s",AFPFSD_FILENAME);
+ if (access(filename,X_OK)) {
+- snprintf(filename, "/usr/bin/%s",
++ snprintf(filename, sizeof(filename), "/usr/bin/%s",
+ AFPFSD_FILENAME);
++ filename[sizeof(filename) - 1] = 0;
+ if (access(filename,X_OK)) {
+ printf("Could not find server (%s)\n",
+ filename);
+diff -up afpfs-ng-0.8.1/fuse/fuse_int.c.pointer afpfs-ng-0.8.1/fuse/fuse_int.c
+--- afpfs-ng-0.8.1/fuse/fuse_int.c.pointer 2008-03-02 06:06:24.000000000 +0100
++++ afpfs-ng-0.8.1/fuse/fuse_int.c 2011-06-14 17:02:15.000000000 +0200
+@@ -197,7 +197,7 @@ static int fuse_open(const char *path, s
+ ret = ml_open(volume,path,flags,&fp);
+
+ if (ret==0)
+- fi->fh=(void *) fp;
++ fi->fh=(unsigned long) fp;
+
+ return ret;
+ }
+diff -up afpfs-ng-0.8.1/include/afpfs-ng/afp.h.pointer afpfs-ng-0.8.1/include/afp.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/afp.h.pointer 2008-03-08 17:08:18.000000000 +0100
++++ afpfs-ng-0.8.1/include/afpfs-ng/afp.h 2011-06-14 17:02:15.000000000 +0200
+@@ -370,7 +370,7 @@ int afp_unmount_all_volumes(struct afp_s
+
+ int afp_opendt(struct afp_volume *volume, unsigned short * refnum);
+
+-int afp_closedt(struct afp_server * server, unsigned short * refnum);
++int afp_closedt(struct afp_server * server, unsigned short refnum);
+
+ int afp_getcomment(struct afp_volume *volume, unsigned int did,
+ const char * pathname, struct afp_comment * comment);
+diff -up afpfs-ng-0.8.1/include/afpfs-gn/utils.h.pointer afpfs-ng-0.8.1/include/utils.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/utils.h.pointer 2008-02-18 04:33:58.000000000 +0100
++++ afpfs-ng-0.8.1/include/afpfs-ng/utils.h 2011-06-14 17:02:15.000000000 +0200
+@@ -8,8 +8,8 @@
+ #define hton64(x) (x)
+ #define ntoh64(x) (x)
+ #else /* BYTE_ORDER == BIG_ENDIAN */
+-#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \
+- (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32))
++#define hton64(x) ((u_int64_t) (htonl((((unsigned long long)(x)) >> 32) & 0xffffffffLL)) | \
++ (u_int64_t) ((htonl((unsigned long long)(x)) & 0xffffffffLL) << 32))
+ #define ntoh64(x) (hton64(x))
+ #endif /* BYTE_ORDER == BIG_ENDIAN */
+
+diff -up afpfs-ng-0.8.1/lib/afp_url.c.pointer afpfs-ng-0.8.1/lib/afp_url.c
+--- afpfs-ng-0.8.1/lib/afp_url.c.pointer 2008-03-04 21:16:49.000000000 +0100
++++ afpfs-ng-0.8.1/lib/afp_url.c 2011-06-14 17:02:15.000000000 +0200
+@@ -33,7 +33,7 @@ static int check_port(char * port)
+ static int check_uamname(const char * uam)
+ {
+ char * p;
+- for (p=uam;*p;p++) {
++ for (p=(char *)uam;*p;p++) {
+ if (*p==' ') continue;
+ if ((*p<'A') || (*p>'z')) return -1;
+ }
+@@ -188,7 +188,7 @@ int afp_parse_url(struct afp_url * url,
+ return -1;
+
+ }
+- if (p==NULL) p=toparse;
++ if (p==NULL) p=(char *)toparse;
+
+ /* Now split on the first / */
+ if (sscanf(p,"%[^/]/%[^$]",
+diff -up afpfs-ng-0.8.1/lib/did.c.pointer afpfs-ng-0.8.1/lib/did.c
+--- afpfs-ng-0.8.1/lib/did.c.pointer 2008-02-18 04:39:17.000000000 +0100
++++ afpfs-ng-0.8.1/lib/did.c 2011-06-14 17:02:15.000000000 +0200
+@@ -226,7 +226,7 @@ int get_dirid(struct afp_volume * volume
+
+
+ /* Go to the end of last known entry */
+- p=path+(p-copy);
++ p=(char *)path+(p-copy);
+ p2=p;
+
+ while ((p=strchr(p+1,'/'))) {
+diff -up afpfs-ng-0.8.1/lib/dsi.c.pointer afpfs-ng-0.8.1/lib/dsi.c
+--- afpfs-ng-0.8.1/lib/dsi.c.pointer 2008-02-18 04:53:03.000000000 +0100
++++ afpfs-ng-0.8.1/lib/dsi.c 2011-06-14 17:02:15.000000000 +0200
+@@ -474,7 +474,7 @@ void dsi_getstatus_reply(struct afp_serv
+ }
+ server->flags=ntohs(reply1->flags);
+
+- p=(void *)((unsigned int) server->incoming_buffer + sizeof(*reply1));
++ p=(void *)((unsigned long) server->incoming_buffer + sizeof(*reply1));
+ p+=copy_from_pascal(server->server_name,p,AFP_SERVER_NAME_LEN)+1;
+
+ /* Now work our way through the variable bits */
+@@ -757,7 +757,7 @@ gotenough:
+ printf("<<< read() of rest of AFP, %d bytes\n",amount_to_read);
+ #endif
+ ret = read(server->fd, (void *)
+- (((unsigned int) server->incoming_buffer)+server->data_read),
++ (((unsigned long) server->incoming_buffer)+server->data_read),
+ amount_to_read);
+ if (ret<0) return -1;
+ if (ret==0) {
+diff -up afpfs-ng-0.8.1/lib/loop.c.pointer afpfs-ng-0.8.1/lib/loop.c
+--- afpfs-ng-0.8.1/lib/loop.c.pointer 2008-02-18 04:40:11.000000000 +0100
++++ afpfs-ng-0.8.1/lib/loop.c 2011-06-14 17:02:15.000000000 +0200
+@@ -25,7 +25,7 @@
+ static unsigned char exit_program=0;
+
+ static pthread_t ending_thread;
+-static pthread_t main_thread = NULL;
++static pthread_t main_thread = (pthread_t)NULL;
+
+ static int loop_started=0;
+ static pthread_cond_t loop_started_condition;
+diff -up afpfs-ng-0.8.1/lib/lowlevel.c.pointer afpfs-ng-0.8.1/lib/lowlevel.c
+--- afpfs-ng-0.8.1/lib/lowlevel.c.pointer 2008-02-20 02:33:17.000000000 +0100
++++ afpfs-ng-0.8.1/lib/lowlevel.c 2011-06-14 17:02:15.000000000 +0200
+@@ -582,7 +582,7 @@ int ll_getattr(struct afp_volume * volum
+ if (volume->server->using_version->av_number>=30)
+ stbuf->st_mode |= fp.unixprivs.permissions;
+ else
+- set_nonunix_perms(stbuf,&fp);
++ set_nonunix_perms(&stbuf->st_mode,&fp);
+
+ stbuf->st_uid=fp.unixprivs.uid;
+ stbuf->st_gid=fp.unixprivs.gid;
+diff -up afpfs-ng-0.8.1/lib/midlevel.c.pointer afpfs-ng-0.8.1/lib/midlevel.c
+--- afpfs-ng-0.8.1/lib/midlevel.c.pointer 2008-03-08 17:08:18.000000000 +0100
++++ afpfs-ng-0.8.1/lib/midlevel.c 2011-06-14 17:02:15.000000000 +0200
+@@ -713,7 +713,7 @@ int ml_write(struct afp_volume * volume,
+ {
+
+ int ret,err=0;
+- int totalwritten = 0;
++ size_t totalwritten = 0;
+ uint64_t sizetowrite, ignored;
+ unsigned char flags = 0;
+ unsigned int max_packet_size=volume->server->tx_quantum;
+diff -up afpfs-ng-0.8.1/lib/proto_attr.c.pointer afpfs-ng-0.8.1/lib/proto_attr.c
+--- afpfs-ng-0.8.1/lib/proto_attr.c.pointer 2008-01-30 05:37:58.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_attr.c 2011-06-14 17:02:15.000000000 +0200
+@@ -166,7 +166,7 @@ int afp_getextattr(struct afp_volume * v
+ copy_path(server,p,pathname,strlen(pathname));
+ unixpath_to_afppath(server,p);
+ p2=p+sizeof_path_header(server)+strlen(pathname);
+- if (((unsigned int ) p2) & 0x1) p2++;
++ if (((unsigned long) p2) & 0x1) p2++;
+ req2=(void *) p2;
+
+ req2->len=htons(namelen);
+diff -up afpfs-ng-0.8.1/lib/proto_desktop.c.pointer afpfs-ng-0.8.1/lib/proto_desktop.c
+--- afpfs-ng-0.8.1/lib/proto_desktop.c.pointer 2008-02-18 04:44:11.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_desktop.c 2011-06-14 17:02:15.000000000 +0200
+@@ -168,7 +168,7 @@ int afp_getcomment_reply(struct afp_serv
+ return 0;
+ }
+
+-int afp_closedt(struct afp_server * server, unsigned short * refnum)
++int afp_closedt(struct afp_server * server, unsigned short refnum)
+ {
+ struct {
+ struct dsi_header dsi_header __attribute__((__packed__));
+diff -up afpfs-ng-0.8.1/lib/proto_directory.c.pointer afpfs-ng-0.8.1/lib/proto_directory.c
+--- afpfs-ng-0.8.1/lib/proto_directory.c.pointer 2008-02-19 03:39:29.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_directory.c 2011-06-14 17:02:15.000000000 +0200
+@@ -248,6 +248,7 @@ int afp_enumerate_reply(struct afp_serve
+
+ return 0;
+ }
++
+ int afp_enumerateext2_reply(struct afp_server *server, char * buf, unsigned int size, void * other)
+ {
+
+@@ -266,8 +267,7 @@ int afp_enumerateext2_reply(struct afp_s
+ char * p = buf + sizeof(*reply);
+ int i;
+ char *max=buf+size;
+- struct afp_file_info * filebase = NULL, *filecur=NULL, *new_file=NULL;
+- void ** x = other;
++ struct afp_file_info * filebase = NULL, *filecur = NULL, *new_file = NULL, **x = (struct afp_file_info **) other;
+
+ if (reply->dsi_header.return_code.error_code) {
+ return reply->dsi_header.return_code.error_code;
+diff -up afpfs-ng-0.8.1/lib/proto_map.c.pointer afpfs-ng-0.8.1/lib/proto_map.c
+--- afpfs-ng-0.8.1/lib/proto_map.c.pointer 2008-01-30 05:37:59.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_map.c 2011-06-14 17:02:15.000000000 +0200
+@@ -122,7 +122,7 @@ int afp_mapid_reply(struct afp_server *s
+
+ if (reply->header.return_code.error_code!=kFPNoErr) return -1;
+
+- copy_from_pascal_two(name,&reply->name,255);
++ copy_from_pascal_two(name,reply->name,255);
+
+ return 0;
+ }
+diff -up afpfs-ng-0.8.1/lib/proto_session.c.pointer afpfs-ng-0.8.1/lib/proto_session.c
+--- afpfs-ng-0.8.1/lib/proto_session.c.pointer 2008-02-18 04:46:19.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_session.c 2011-06-14 17:02:15.000000000 +0200
+@@ -39,7 +39,7 @@ int afp_getsessiontoken(struct afp_serve
+ switch (type) {
+ case kLoginWithTimeAndID:
+ case kReconnWithTimeAndID: {
+- uint32_t *p = (void *) (((unsigned int) request)+
++ uint32_t *p = (void *) (((unsigned long) request)+
+ sizeof(*request));
+
+ offset=sizeof(timestamp);
+@@ -63,7 +63,7 @@ int afp_getsessiontoken(struct afp_serve
+ goto error;
+ }
+
+- data=(void *) (((unsigned int) request)+sizeof(*request)+offset);
++ data=(void *) (((unsigned long) request)+sizeof(*request)+offset);
+ request->idlength=htonl(datalen);
+ request->pad=0;
+ request->type=htons(type);
+@@ -127,7 +127,7 @@ int afp_disconnectoldsession(struct afp_
+ if ((request=malloc(sizeof(*request) + AFP_TOKEN_MAX_LEN))==NULL)
+ return -1;
+
+- token_data = request + sizeof(*request);
++ token_data = (char *)request + sizeof(*request);
+
+ request->type=htons(type);
+
+diff -up afpfs-ng-0.8.1/lib/uams.c.pointer afpfs-ng-0.8.1/lib/uams.c
+--- afpfs-ng-0.8.1/lib/uams.c.pointer 2008-01-04 04:52:44.000000000 +0100
++++ afpfs-ng-0.8.1/lib/uams.c 2011-06-14 17:02:15.000000000 +0200
+@@ -180,7 +180,7 @@ static int cleartxt_login(struct afp_ser
+ goto cleartxt_fail;
+
+ p += copy_to_pascal(p, username) + 1;
+- if ((int)p & 0x1)
++ if ((long)p & 0x1)
+ len--;
+ else
+ p++;
+@@ -230,7 +230,7 @@ static int cleartxt_passwd(struct afp_se
+ goto cleartxt_fail;
+
+ p += copy_to_pascal(p, username) + 1;
+- if ((int)p & 0x1)
++ if ((long)p & 0x1)
+ len--;
+ else
+ p++;
+@@ -580,7 +580,7 @@ static int dhx_login(struct afp_server *
+ if (ai == NULL)
+ goto dhx_noctx_fail;
+ d += copy_to_pascal(ai, username) + 1;
+- if (((int)d) % 2)
++ if (((long)d) % 2)
+ d++;
+ else
+ ai_len--;
+diff -up afpfs-ng-0.8.1/lib/utils.c.pointer afpfs-ng-0.8.1/lib/utils.c
+--- afpfs-ng-0.8.1/lib/utils.c.pointer 2008-02-18 04:53:37.000000000 +0100
++++ afpfs-ng-0.8.1/lib/utils.c 2011-06-14 17:02:15.000000000 +0200
+@@ -196,7 +196,7 @@ int invalid_filename(struct afp_server *
+ maxlen=255;
+
+
+- p=filename+1;
++ p=(char *)filename+1;
+ while ((q=strchr(p,'/'))) {
+ if (q>p+maxlen)
+ return 1;
diff --git a/community/afpfs-ng/10-fix-errno.patch b/community/afpfs-ng/10-fix-errno.patch
new file mode 100644
index 000000000..ff7ce44bd
--- /dev/null
+++ b/community/afpfs-ng/10-fix-errno.patch
@@ -0,0 +1,23 @@
+--- afpfs-ng-0.8.1/lib/afp.c 2011-09-04 19:42:42.000000000 +0200
++++ afpfs-ng-0.8.1/lib/afp.c 2011-09-04 19:39:44.000000000 +0200
+@@ -19,7 +19,6 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+-#include <errno.h>
+
+ #include <afpfs-ng/afp_protocol.h>
+ #include <afpfs-ng/libafpclient.h>
+--- afpfs-ng-0.8.1/lib/afp_url.c 2011-09-04 19:42:42.000000000 +0200
++++ afpfs-ng-0.8.1/lib/afp_url.c 2011-09-04 19:40:27.000000000 +0200
+@@ -21,7 +21,9 @@
+
+ static int check_port(char * port)
+ {
+- long long ret = strtol(port,NULL,10);
++ long long ret = 0;
++ errno = 0;
++ ret = strtol(port,NULL,10);
+ if ((ret<0) || (ret>32767)) return -1;
+ if (errno) {
+ printf("port error\n");
diff --git a/community/afpfs-ng/20-build-error-fixes.patch b/community/afpfs-ng/20-build-error-fixes.patch
new file mode 100644
index 000000000..303e2646c
--- /dev/null
+++ b/community/afpfs-ng/20-build-error-fixes.patch
@@ -0,0 +1,125 @@
+Description: Fix build errors.
+Origin: http://anonscm.debian.org/gitweb/?p=collab-maint/afpfs-ng.git;a=blob;f=debian/patches/build-error-fixes.patch
+
+--- a/lib/afp_url.c
++++ b/lib/afp_url.c
+@@ -233,7 +233,7 @@
+ }
+ }
+
+- snprintf(url->servername,strlen(p)+1,p);
++ strcpy(url->servername,p);
+ if (check_servername(url->servername)) {
+ if (verbose) printf("This isn't a valid servername\n");
+ return -1;
+@@ -263,7 +263,7 @@
+ if ((q=escape_strrchr(p,':',":"))) {
+ *q='\0';
+ q++;
+- snprintf(url->password,strlen(q)+1,q);
++ strcpy(url->password,q);
+ if (check_password(url->password)) {
+ if (verbose) printf("This isn't a valid passwd\n");
+ return -1;
+@@ -276,7 +276,7 @@
+ if ((q=strstr(p,";AUTH="))) {
+ *q='\0';
+ q+=6;
+- snprintf(url->uamname,strlen(q)+1,q);
++ strcpy(url->uamname,q);
+ if (check_uamname(url->uamname)) {
+ if (verbose) printf("This isn't a valid uamname\n");
+ return -1;
+@@ -284,7 +284,7 @@
+ }
+
+ if (strlen(p)>0) {
+- snprintf(url->username,strlen(p)+1,p);
++ strcpy(url->username,p);
+ if (check_username(url->username)) {
+ if (verbose) printf("This isn't a valid username\n");
+ return -1;;
+@@ -304,12 +304,12 @@
+ *q='\0';
+ q++;
+ }
+- snprintf(url->volumename,strlen(p)+1,p);
++ strcpy(url->volumename,p);
+
+
+ if (q) {
+ url->path[0]='/';
+- snprintf(url->path+1,strlen(q)+1,q);
++ strcpy(url->path+1,q);
+ }
+
+ done:
+--- a/fuse/commands.c
++++ b/fuse/commands.c
+@@ -163,8 +163,7 @@
+
+ if (c) {
+ len = strlen(c->client_string);
+- snprintf(c->client_string+len,
+- MAX_CLIENT_RESPONSE-len,
++ strcpy(c->client_string+len,
+ message);
+ } else {
+
+@@ -468,7 +467,7 @@
+ volume->mapping=req->map;
+ afp_detect_mapping(volume);
+
+- snprintf(volume->mountpoint,255,req->mountpoint);
++ strcpy(volume->mountpoint,req->mountpoint);
+
+ /* Create the new thread and block until we get an answer back */
+ {
+--- a/fuse/client.c
++++ b/fuse/client.c
+@@ -547,7 +547,7 @@
+ done:
+ memset(toprint,0,MAX_CLIENT_RESPONSE+200);
+ snprintf(toprint,MAX_CLIENT_RESPONSE+200,"%s",incoming_buffer+sizeof(*answer));
+- printf(toprint);
++ printf("%s",toprint);
+ return ((struct afp_server_response *) incoming_buffer)->result;
+
+ return 0;
+--- a/cmdline/cmdline_afp.c
++++ b/cmdline/cmdline_afp.c
+@@ -828,11 +828,11 @@
+ char text[40960];
+
+ afp_status_header(text,&len);
+- printf(text);
++ printf("%s",text);
+
+ len=40960;
+ afp_status_server(server,text,&len);
+- printf(text);
++ printf("%s",text);
+ return 0;
+ }
+
+--- a/cmdline/cmdline_testafp.c
++++ b/cmdline/cmdline_testafp.c
+@@ -26,12 +26,12 @@
+ struct afp_url valid_url;
+ afp_default_url(&valid_url);
+ valid_url.protocol=protocol;
+- sprintf(valid_url.servername,servername);
+- sprintf(valid_url.volumename,volumename);
+- sprintf(valid_url.path,path);
+- sprintf(valid_url.username,username);
+- sprintf(valid_url.password,password);
+- sprintf(valid_url.uamname,uamname);
++ strcpy(valid_url.servername,servername);
++ strcpy(valid_url.volumename,volumename);
++ strcpy(valid_url.path,path);
++ strcpy(valid_url.username,username);
++ strcpy(valid_url.password,password);
++ strcpy(valid_url.uamname,uamname);
+ valid_url.port=port;
+
+ if (afp_url_validate(url_string,&valid_url))
diff --git a/community/afpfs-ng/21-header-path-fix.patch b/community/afpfs-ng/21-header-path-fix.patch
new file mode 100644
index 000000000..fe79b1f59
--- /dev/null
+++ b/community/afpfs-ng/21-header-path-fix.patch
@@ -0,0 +1,16 @@
+Description: Ensure internal headers are picked instead of system headers.
+Origin: http://anonscm.debian.org/gitweb/?p=collab-maint/afpfs-ng.git;a=blob;f=debian/patches/header-path-fix.patch
+
+--- a/include/afpfs-ng/afp.h
++++ b/include/afpfs-ng/afp.h
+@@ -7,8 +7,8 @@
+ #include <netdb.h>
+ #include <sys/statvfs.h>
+ #include <pwd.h>
+-#include <afpfs-ng/afp_protocol.h>
+-#include <afpfs-ng/libafpclient.h>
++#include "afp_protocol.h"
++#include "libafpclient.h"
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
diff --git a/community/afpfs-ng/30-include-fixes.patch b/community/afpfs-ng/30-include-fixes.patch
new file mode 100644
index 000000000..de4f88392
--- /dev/null
+++ b/community/afpfs-ng/30-include-fixes.patch
@@ -0,0 +1,44 @@
+--- a/include/afpfs-ng/dsi.h 2012-02-23 10:02:07.062734160 +0100
++++ b/include/afpfs-ng/dsi.h 2012-02-23 10:09:46.297111254 +0100
+@@ -2,7 +2,7 @@
+ #ifndef __DSI_H_
+ #define __DSI_H_
+
+-#include "afpfs-ng/afp.h"
++#include "afp.h"
+
+ struct dsi_request
+ {
+--- a/include/afpfs-ng/map_def.h 2012-02-23 10:02:07.062734160 +0100
++++ b/include/afpfs-ng/map_def.h 2012-02-23 10:11:32.769953053 +0100
+@@ -1,7 +1,7 @@
+ #ifndef __MAP_H_
+ #define __MAP_H_
+
+-#include "afpfs-ng/afp.h"
++#include "afp.h"
+
+ #define AFP_MAPPING_UNKNOWN 0
+ #define AFP_MAPPING_COMMON 1
+--- a/include/afpfs-ng/midlevel.h 2012-02-23 10:02:07.062734160 +0100
++++ b/include/afpfs-ng/midlevel.h 2012-02-23 10:12:40.519943675 +0100
+@@ -2,7 +2,7 @@
+ #define __MIDLEVEL_H_
+
+ #include <utime.h>
+-#include "afpfs-ng/afp.h"
++#include "afp.h"
+
+ int ml_open(struct afp_volume * volume, const char *path, int flags,
+ struct afp_file_info **newfp);
+--- a/include/afpfs-ng/utils.h 2012-02-23 10:14:42.212332892 +0100
++++ b/include/afpfs-ng/utils.h 2012-02-23 10:14:51.116069525 +0100
+@@ -2,7 +2,7 @@
+ #define __UTILS_H_
+ #include <stdio.h>
+
+-#include "afpfs-ng/afp.h"
++#include "afp.h"
+
+ #if BYTE_ORDER == BIG_ENDIAN
+ #define hton64(x) (x)
diff --git a/community/afpfs-ng/PKGBUILD b/community/afpfs-ng/PKGBUILD
new file mode 100644
index 000000000..f8dc2d6fc
--- /dev/null
+++ b/community/afpfs-ng/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 68567 2012-03-28 10:22:57Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: slubman <slubman.dndd@laposte.net>
+
+pkgname=afpfs-ng
+pkgver=0.8.1
+pkgrel=5
+pkgdesc="A client for the Apple Filing Protocol (AFP)"
+url="http://alexthepuffin.googlepages.com/"
+license=('GPL')
+depends=('gmp' 'fuse' 'libgcrypt')
+arch=('i686' 'x86_64')
+options=(!libtool)
+source=(
+ "http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2"
+ 'fix_afpfs-ng_includes.patch'
+ '01-gcrypt.patch'
+ '02-pointer.patch'
+ '10-fix-errno.patch'
+ '20-build-error-fixes.patch'
+ '21-header-path-fix.patch'
+ '30-include-fixes.patch'
+)
+sha256sums=(
+ '688560de1cde57ab8d9e0ef7dc6436dbf0267fe8884f9014e50ff92b297b01a8'
+ '627d94ab3c1cbc002b18839f514c6fa980b0a25dfc21e8761b389fcd39f32755'
+ '18dc77b064fc02c229e0cfa071a7e31cde6d0243671ebde2f561ebdf09dc38bb'
+ '8537b086c496e776be2a6757325717cb15dee6dcf2aedccebed6b4b2332d3dc1'
+ '0e1c0c0e3a9ff6e55ccbbbc1b4de630c874ff058e2ea94360b7d90e650d04811'
+ '393662da1bcd5d3aba180a2add37d9006e0a487c3bb7bf157a15aa492f4d6a87'
+ 'f551ae9debe8ce2c4ed1d7a8bce497801ace995473876a5fefa0443353232477'
+ '71b8f52923cef39f0cccb8fdff610575958fd5dbed66e5aa4413ae6aceeec656'
+)
+
+build() {
+ cd "$pkgname-$pkgver"
+ # apply patches
+ msg2 'fix_afpfs-ng_includes.patch'
+ patch -Np1 -i "$srcdir/fix_afpfs-ng_includes.patch"
+ msg2 '01-gcrypt.patch'
+ patch -Np1 -i "$srcdir/01-gcrypt.patch"
+ msg2 '02-pointer.patch'
+ patch -Np1 -i "$srcdir/02-pointer.patch"
+ msg2 '10-fix-errno.patch'
+ patch -Np1 -i "$srcdir/10-fix-errno.patch"
+ msg2 '20-build-error-fixes.patch'
+ patch -Np1 -i "$srcdir/20-build-error-fixes.patch"
+ msg2 '21-header-path-fix.patch'
+ patch -Np1 -i "$srcdir/21-header-path-fix.patch"
+ msg2 '30-include-fixes.patch'
+ patch -Np1 -i "$srcdir/30-include-fixes.patch"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # install headers
+ cd include
+ for header in afpfs-ng/*.h; do
+ install -Dm644 "$header" "$pkgdir/usr/include/$header"
+ done
+}
diff --git a/community/afpfs-ng/fix_afpfs-ng_includes.patch b/community/afpfs-ng/fix_afpfs-ng_includes.patch
new file mode 100644
index 000000000..f507a485e
--- /dev/null
+++ b/community/afpfs-ng/fix_afpfs-ng_includes.patch
@@ -0,0 +1,3082 @@
+diff -Naur afpfs-ng-0.8.1/cmdline/cmdline_afp.c afpfs-ng-0.8.1.patch/cmdline/cmdline_afp.c
+--- afpfs-ng-0.8.1/cmdline/cmdline_afp.c 2008-02-19 02:54:19.000000000 +0100
++++ afpfs-ng-0.8.1.patch/cmdline/cmdline_afp.c 2011-09-10 12:13:50.102124369 +0200
+@@ -3,9 +3,9 @@
+
+ */
+
+-#include "afp.h"
+-#include "midlevel.h"
+-#include "map_def.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/midlevel.h"
++#include "afpfs-ng/map_def.h"
+
+ #include <string.h>
+ #include <stdio.h>
+diff -Naur afpfs-ng-0.8.1/cmdline/cmdline_testafp.c afpfs-ng-0.8.1.patch/cmdline/cmdline_testafp.c
+--- afpfs-ng-0.8.1/cmdline/cmdline_testafp.c 2008-03-04 21:16:50.000000000 +0100
++++ afpfs-ng-0.8.1.patch/cmdline/cmdline_testafp.c 2011-09-10 12:13:50.102124369 +0200
+@@ -3,8 +3,8 @@
+
+ */
+
+-#include "afp.h"
+-#include "midlevel.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/midlevel.h"
+
+ #include "cmdline_main.h"
+
+diff -Naur afpfs-ng-0.8.1/cmdline/getstatus.c afpfs-ng-0.8.1.patch/cmdline/getstatus.c
+--- afpfs-ng-0.8.1/cmdline/getstatus.c 2008-02-18 04:28:09.000000000 +0100
++++ afpfs-ng-0.8.1.patch/cmdline/getstatus.c 2011-09-10 12:13:50.109124463 +0200
+@@ -2,7 +2,7 @@
+ #include <string.h>
+ #include <pthread.h>
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ static int getstatus(char * address_string, unsigned int port)
+ {
+diff -Naur afpfs-ng-0.8.1/configure.ac afpfs-ng-0.8.1.patch/configure.ac
+--- afpfs-ng-0.8.1/configure.ac 2008-03-08 17:23:12.000000000 +0100
++++ afpfs-ng-0.8.1.patch/configure.ac 2011-09-10 12:13:50.109124463 +0200
+@@ -11,6 +11,7 @@
+ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_LIBTOOL
++AM_PROG_CC_C_O
+
+ # Checks for libraries.
+ # FIXME: Replace `main' with a function in `-lncurses':
+@@ -105,7 +106,7 @@
+
+
+
+-AC_CONFIG_FILES([lib/Makefile fuse/Makefile cmdline/Makefile Makefile docs/Makefile])
++AC_CONFIG_FILES([lib/Makefile fuse/Makefile cmdline/Makefile Makefile include/Makefile include/afpfs-ng/Makefile docs/Makefile])
+
+ AC_OUTPUT
+
+diff -Naur afpfs-ng-0.8.1/fuse/client.c afpfs-ng-0.8.1.patch/fuse/client.c
+--- afpfs-ng-0.8.1/fuse/client.c 2008-03-08 03:44:16.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/client.c 2011-09-10 12:13:50.110124477 +0200
+@@ -12,11 +12,11 @@
+ #include <grp.h>
+
+ #include "config.h"
+-#include <afp.h>
++#include <afpfs-ng/afp.h>
+ #include "afp_server.h"
+-#include "uams_def.h"
+-#include "map_def.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/uams_def.h"
++#include "afpfs-ng/map_def.h"
++#include "afpfs-ng/libafpclient.h"
+
+ #define default_uam "Cleartxt Passwrd"
+
+diff -Naur afpfs-ng-0.8.1/fuse/commands.c afpfs-ng-0.8.1.patch/fuse/commands.c
+--- afpfs-ng-0.8.1/fuse/commands.c 2008-03-08 17:06:25.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/commands.c 2011-09-10 12:13:50.110124477 +0200
+@@ -19,15 +19,15 @@
+ #include <getopt.h>
+ #include <signal.h>
+
+-#include "afp.h"
+-#include "dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
+ #include "afp_server.h"
+-#include "utils.h"
++#include "afpfs-ng/utils.h"
+ #include "daemon.h"
+-#include "uams_def.h"
+-#include "codepage.h"
+-#include "libafpclient.h"
+-#include "map_def.h"
++#include "afpfs-ng/uams_def.h"
++#include "afpfs-ng/codepage.h"
++#include "afpfs-ng/libafpclient.h"
++#include "afpfs-ng/map_def.h"
+ #include "fuse_int.h"
+ #include "fuse_error.h"
+ #include "fuse_internal.h"
+diff -Naur afpfs-ng-0.8.1/fuse/daemon.c afpfs-ng-0.8.1.patch/fuse/daemon.c
+--- afpfs-ng-0.8.1/fuse/daemon.c 2008-03-04 18:26:05.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/daemon.c 2011-09-10 12:13:50.110124477 +0200
+@@ -23,11 +23,11 @@
+ #include <signal.h>
+ #include <sys/socket.h>
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+ #include "afp_server.h"
+-#include "utils.h"
++#include "afpfs-ng/utils.h"
+ #include "daemon.h"
+ #include "commands.h"
+
+diff -Naur afpfs-ng-0.8.1/fuse/fuse_error.c afpfs-ng-0.8.1.patch/fuse/fuse_error.c
+--- afpfs-ng-0.8.1/fuse/fuse_error.c 2008-01-18 05:40:10.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/fuse_error.c 2011-09-10 12:13:50.111124491 +0200
+@@ -4,7 +4,7 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <stdio.h>
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "fuse_internal.h"
+
+ #define TMP_FILE "/tmp/fuse_stderr"
+diff -Naur afpfs-ng-0.8.1/fuse/fuse_int.c afpfs-ng-0.8.1.patch/fuse/fuse_int.c
+--- afpfs-ng-0.8.1/fuse/fuse_int.c 2008-03-02 06:06:24.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/fuse_int.c 2011-09-10 12:13:50.111124491 +0200
+@@ -18,7 +18,7 @@
+ #define FUSE_USE_VERSION 25
+
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ #include <fuse.h>
+ #include <stdio.h>
+@@ -39,10 +39,10 @@
+ #include <pwd.h>
+ #include <stdarg.h>
+
+-#include "dsi.h"
+-#include "afp_protocol.h"
+-#include "codepage.h"
+-#include "midlevel.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/codepage.h"
++#include "afpfs-ng/midlevel.h"
+ #include "fuse_error.h"
+
+ /* Uncomment the following line to enable full debugging: */
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/afp.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/afp.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h 2011-09-10 12:13:50.112124505 +0200
+@@ -0,0 +1,533 @@
++
++#ifndef _AFP_H_
++#define _AFP_H_
++
++#include <arpa/inet.h>
++#include <pthread.h>
++#include <netdb.h>
++#include <sys/statvfs.h>
++#include <pwd.h>
++#include <afpfs-ng/afp_protocol.h>
++#include <afpfs-ng/libafpclient.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <unistd.h>
++#include <netinet/in.h>
++
++
++#define AFPFS_VERSION "0.8.1"
++
++/* This is the maximum AFP version this library supports */
++#define AFP_MAX_SUPPORTED_VERSION 32
++
++/* afp_url is used to pass locations around */
++struct afp_url {
++ enum {TCPIP,AT} protocol;
++ char username[AFP_MAX_USERNAME_LEN];
++ char uamname[50];
++ char password[AFP_MAX_PASSWORD_LEN];
++ char servername[AFP_SERVER_NAME_UTF8_LEN];
++ int port;
++ char volumename[AFP_VOLUME_NAME_UTF8_LEN];
++ char path[AFP_MAX_PATH];
++
++ int requested_version;
++ char zone[AFP_ZONE_LEN]; /* Only used for Appletalk */
++ char volpassword[9];;
++};
++
++struct afp_token {
++ unsigned int length;
++ char data[AFP_TOKEN_MAX_LEN];
++};
++
++#define SERVER_MAX_VERSIONS 10
++#define SERVER_MAX_UAMS 10
++
++struct afp_rx_buffer {
++ unsigned int size;
++ unsigned int maxsize;
++ char * data;
++ int errorcode;
++};
++
++
++struct afp_file_info {
++ unsigned short attributes;
++ unsigned int did;
++ unsigned int creation_date;
++ unsigned int modification_date;
++ unsigned int backup_date;
++ unsigned int fileid;
++ unsigned short offspring;
++ char sync;
++ char finderinfo[32];
++ char name[AFP_MAX_PATH];
++ char basename[AFP_MAX_PATH];
++ char translated_name[AFP_MAX_PATH];
++ struct afp_unixprivs unixprivs;
++ unsigned int accessrights;
++ struct afp_file_info * next;
++ struct afp_file_info * largelist_next;
++ unsigned char isdir;
++ unsigned long long size;
++ unsigned short resourcesize;
++ unsigned int resource;
++ unsigned short forkid;
++ struct afp_icon * icon;
++ int eof;
++};
++
++
++#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_KNOWN 0x1
++#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_BROKEN 0x2
++#define VOLUME_EXTRA_FLAGS_SHOW_APPLEDOUBLE 0x4
++#define VOLUME_EXTRA_FLAGS_VOL_SUPPORTS_UNIX 0x8
++#define VOLUME_EXTRA_FLAGS_NO_LOCKING 0x10
++#define VOLUME_EXTRA_FLAGS_IGNORE_UNIXPRIVS 0x20
++#define VOLUME_EXTRA_FLAGS_READONLY 0x40
++
++#define AFP_VOLUME_UNMOUNTED 0
++#define AFP_VOLUME_MOUNTED 1
++#define AFP_VOLUME_UNMOUNTING 2
++
++struct afp_volume {
++ unsigned short volid;
++ char flags; /* This is from afpGetSrvrParms */
++ unsigned short attributes; /* This is from VolOpen */
++ unsigned short signature; /* This is fixed or variable */
++ unsigned int creation_date;
++ unsigned int modification_date;
++ unsigned int backup_date;
++ struct statvfs stat;
++ unsigned char mounted;
++ char mountpoint[255];
++ struct afp_server * server;
++ char volume_name[AFP_VOLUME_NAME_LEN];
++ char volume_name_printable[AFP_VOLUME_NAME_UTF8_LEN];
++ unsigned short dtrefnum;
++ char volpassword[AFP_VOLPASS_LEN];
++ unsigned int extra_flags; /* This is an afpfs-ng specific field */
++
++ /* Our directory ID cache */
++ struct did_cache_entry * did_cache_base;
++ pthread_mutex_t did_cache_mutex;
++
++ /* Our journal of open forks */
++ struct afp_file_info * open_forks;
++ pthread_mutex_t open_forks_mutex;
++
++ /* Used to trigger startup */
++ pthread_cond_t startup_condition_cond;
++
++ struct {
++ uint64_t hits;
++ uint64_t misses;
++ uint64_t expired;
++ uint64_t force_removed;
++ } did_cache_stats;
++
++ void * priv; /* This is a private structure for fuse/cmdline, etc */
++ pthread_t thread; /* This is the per-volume thread */
++
++ int mapping;
++
++};
++
++#define SERVER_STATE_CONNECTED 1
++#define SERVER_STATE_DISCONNECTED 2
++
++enum server_type{
++ AFPFS_SERVER_TYPE_UNKNOWN,
++ AFPFS_SERVER_TYPE_NETATALK,
++ AFPFS_SERVER_TYPE_AIRPORT,
++ AFPFS_SERVER_TYPE_MACINTOSH,
++};
++
++#define is_netatalk(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_NETATALK )
++#define is_airport(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_AIRPORT )
++#define is_macintosh(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_MACINTOSH )
++
++
++
++struct afp_versions {
++ char *av_name;
++ int av_number;
++};
++extern struct afp_versions afp_versions[];
++
++struct afp_server {
++
++ /* Our buffer sizes */
++ unsigned int tx_quantum;
++ unsigned int rx_quantum;
++
++ unsigned int tx_delay;
++
++ /* Connection information */
++ struct sockaddr_in address;
++ int fd;
++
++ /* Some stats, for information only */
++ struct {
++ uint64_t runt_packets;
++ uint64_t incoming_dsi;
++ uint64_t rx_bytes;
++ uint64_t tx_bytes;
++ uint64_t requests_pending;
++ } stats;
++
++ /* General information */
++ char server_name[AFP_SERVER_NAME_LEN];
++ char server_name_utf8[AFP_SERVER_NAME_UTF8_LEN];
++ char server_name_printable[AFP_SERVER_NAME_UTF8_LEN];
++
++ char machine_type[17];
++ char icon[256];
++ char signature[16];
++ unsigned short flags;
++ int connect_state;
++ enum server_type server_type;
++
++ /* This is the time we connected */
++ time_t connect_time;
++
++ /* UAMs */
++ unsigned int supported_uams;
++ unsigned int using_uam;
++
++ /* Authentication */
++ char username[AFP_MAX_USERNAME_LEN];
++ char password[AFP_MAX_PASSWORD_LEN];
++
++ /* Session */
++ struct afp_token token;
++ char need_resume;
++
++ /* Versions */
++ unsigned char requested_version;
++ unsigned char versions[SERVER_MAX_VERSIONS];
++ struct afp_versions *using_version;
++
++ /* Volumes */
++ unsigned char num_volumes;
++ struct afp_volume * volumes;
++
++ void * dsi;
++ unsigned int exit_flag;
++
++ /* Our DSI request queue */
++ pthread_mutex_t requestid_mutex;
++ pthread_mutex_t request_queue_mutex;
++ unsigned short lastrequestid;
++ unsigned short expectedrequestid;
++ struct dsi_request * command_requests;
++
++
++ char loginmesg[200];
++ char servermesg[200];
++ char path_encoding;
++
++ /* This is the data for the incoming buffer */
++ char * incoming_buffer;
++ int data_read;
++ int bufsize;
++
++ /* And this is for the outgoing queue */
++ pthread_mutex_t send_mutex;
++
++ /* This is for user mapping */
++ struct passwd passwd;
++ unsigned int server_uid, server_gid;
++ int server_gid_valid;
++
++ struct afp_server *next;
++
++ /* These are for DSI attention packets */
++ unsigned int attention_quantum;
++ unsigned int attention_len;
++ char * attention_buffer;
++
++};
++
++struct afp_extattr_info {
++ unsigned int maxsize;
++ unsigned int size;
++ char data[1024];
++};
++struct afp_comment {
++ unsigned int maxsize;
++ unsigned int size;
++ char *data;
++};
++
++struct afp_icon {
++ unsigned int maxsize;
++ unsigned int size;
++ char *data;
++};
++
++#define AFP_DEFAULT_ATTENTION_QUANTUM 1024
++
++void afp_unixpriv_to_stat(struct afp_file_info *fp,
++ struct stat *stat);
++
++int init_uams(void) ;
++
++unsigned int find_uam_by_name(const char * name);
++char * uam_bitmap_to_string(unsigned int bitmap);
++
++
++char * get_uam_names_list(void);
++
++unsigned int default_uams_mask(void);
++
++struct afp_volume * find_volume_by_name(struct afp_server * server,
++ const char * volname);
++
++struct afp_connection_request {
++ unsigned int uam_mask;
++ struct afp_url url;
++};
++
++void afp_default_url(struct afp_url *url);
++int afp_parse_url(struct afp_url * url, const char * toparse, int verbose);
++void afp_print_url(struct afp_url * url);
++int afp_url_validate(char * url_string, struct afp_url * valid_url);
++
++int afp_list_volnames(struct afp_server * server, char * names, int max);
++
++/* User mapping */
++int afp_detect_mapping(struct afp_volume * volume);
++
++/* These are some functions that help with simple status text generation */
++
++int afp_status_header(char * text, int * len);
++int afp_status_server(struct afp_server * s,char * text, int * len);
++
++
++struct afp_server * afp_server_full_connect(void * priv, struct afp_connection_request * req);
++
++void * just_end_it_now(void *other);
++void add_fd_and_signal(int fd);
++void loop_disconnect(struct afp_server *s);
++void afp_wait_for_started_loop(void);
++
++
++struct afp_versions * pick_version(unsigned char *versions,
++ unsigned char requested) ;
++int pick_uam(unsigned int u1, unsigned int u2);
++
++int afp_server_login(struct afp_server *server,
++ char * mesg, unsigned int *l, unsigned int max);
++
++
++int afp_dologin(struct afp_server *server,
++ unsigned int uam, char * username, char * passwd);
++
++void afp_free_server(struct afp_server **server);
++
++struct afp_server * afp_server_init(struct sockaddr_in * address);
++int afp_get_address(void * priv, const char * hostname, unsigned int port,
++ struct sockaddr_in * address);
++
++
++int afp_main_loop(int command_fd);
++int afp_main_quick_startup(pthread_t * thread);
++
++int afp_server_destroy(struct afp_server *s) ;
++int afp_server_reconnect(struct afp_server * s, char * mesg,
++ unsigned int *l, unsigned int max);
++int afp_server_connect(struct afp_server *s, int full);
++
++struct afp_server * afp_server_complete_connection(
++ void * priv,
++ struct afp_server * server,
++ struct sockaddr_in * address, unsigned char * versions,
++ unsigned int uams, char * username, char * password,
++ unsigned int requested_version, unsigned int uam_mask);
++
++int afp_connect_volume(struct afp_volume * volume, struct afp_server * server,
++ char * mesg, unsigned int * l, unsigned int max);
++int something_is_mounted(struct afp_server * server);
++
++int add_cache_entry(struct afp_file_info * file) ;
++struct afp_file_info * get_cache_by_name(char * name);
++struct afp_server * find_server_by_address(struct sockaddr_in * address);
++struct afp_server * find_server_by_signature(char * signature);
++struct afp_server * find_server_by_name(char * name);
++int server_still_valid(struct afp_server * server);
++
++
++struct afp_server * get_server_base(void);
++int afp_server_remove(struct afp_server * server);
++
++int afp_unmount_volume(struct afp_volume * volume);
++int afp_unmount_all_volumes(struct afp_server * server);
++
++#define volume_is_readonly(x) (((x)->attributes&kReadOnly) || \
++ ((x)->extra_flags & VOLUME_EXTRA_FLAGS_READONLY))
++
++int afp_opendt(struct afp_volume *volume, unsigned short * refnum);
++
++int afp_closedt(struct afp_server * server, unsigned short * refnum);
++
++int afp_getcomment(struct afp_volume *volume, unsigned int did,
++ const char * pathname, struct afp_comment * comment);
++
++int afp_addcomment(struct afp_volume *volume, unsigned int did,
++ const char * pathname, char * comment,uint64_t *size);
++
++int afp_geticon(struct afp_volume * volume, unsigned int filecreator,
++ unsigned int filetype, unsigned char icontype,
++ unsigned short length, struct afp_icon * icon);
++
++/* Things you want to do to a server */
++
++int afp_getsrvrmsg(struct afp_server *server, unsigned short messagetype,unsigned char utf8, unsigned char block, char * mesg);
++
++int afp_login(struct afp_server *server, char * uaname,
++ char * userauthinfo, unsigned int userauthinfo_len,
++ struct afp_rx_buffer *rx);
++
++int afp_changepassword(struct afp_server *server, char * uaname,
++ char * userauthinfo, unsigned int userauthinfo_len,
++ struct afp_rx_buffer *rx);
++
++int afp_logincont(struct afp_server *server, unsigned short id,
++ char * userauthinfo, unsigned int userauthinfo_len,
++ struct afp_rx_buffer *rx);
++
++int afp_getsessiontoken(struct afp_server * server, int type,
++ unsigned int timestamp, struct afp_token *outgoing_token,
++ struct afp_token * incoming_token);
++
++int afp_getsrvrparms(struct afp_server *server);
++
++int afp_logout(struct afp_server *server,unsigned char wait);
++
++int afp_mapname(struct afp_server * server, unsigned char subfunction,
++ char * name, unsigned int * id);
++
++int afp_mapid(struct afp_server * server, unsigned char subfunction,
++ unsigned int id, char *name);
++
++int afp_getuserinfo(struct afp_server * server, int thisuser,
++ unsigned int userid, unsigned short bitmap,
++ unsigned int *newuid, unsigned int *newgid);
++
++int afp_zzzzz(struct afp_server *server);
++
++int afp_volopen(struct afp_volume * volume,
++ unsigned short bitmap, char * password);
++
++int afp_flush(struct afp_volume * volume);
++
++int afp_getfiledirparms(struct afp_volume *volume, unsigned int did,
++ unsigned int filebitmap, unsigned int dirbitmap, const char * pathname,
++ struct afp_file_info *fp);
++
++int afp_enumerate(struct afp_volume * volume,
++ unsigned int dirid,
++ unsigned int filebitmap, unsigned int dirbitmap,
++ unsigned short reqcount,
++ unsigned short startindex,
++ char * path,
++ struct afp_file_info ** file_p);
++
++int afp_enumerateext2(struct afp_volume * volume,
++ unsigned int dirid,
++ unsigned int filebitmap, unsigned int dirbitmap,
++ unsigned short reqcount,
++ unsigned long startindex,
++ char * path,
++ struct afp_file_info ** file_p);
++
++int afp_openfork(struct afp_volume * volume,
++ unsigned char forktype,
++ unsigned int dirid,
++ unsigned short accessmode,
++ char * filename,
++ struct afp_file_info *fp);
++
++int afp_read(struct afp_volume * volume, unsigned short forkid,
++ uint32_t offset,
++ uint32_t count, struct afp_rx_buffer * rx);
++
++int afp_readext(struct afp_volume * volume, unsigned short forkid,
++ uint64_t offset,
++ uint64_t count, struct afp_rx_buffer * rx);
++
++int afp_getvolparms(struct afp_volume * volume, unsigned short bitmap);
++
++
++int afp_createdir(struct afp_volume * volume, unsigned int dirid, const char * pathname, unsigned int *did_p);
++
++int afp_delete(struct afp_volume * volume,
++ unsigned int dirid, char * pathname);
++
++
++int afp_createfile(struct afp_volume * volume, unsigned char flag,
++ unsigned int did, char * pathname);
++
++int afp_write(struct afp_volume * volume, unsigned short forkid,
++ uint32_t offset, uint32_t reqcount,
++ char * data, uint32_t * written);
++
++int afp_writeext(struct afp_volume * volume, unsigned short forkid,
++ uint64_t offset, uint64_t reqcount,
++ char * data, uint64_t * written);
++
++int afp_flushfork(struct afp_volume * volume, unsigned short forkid);
++
++int afp_closefork(struct afp_volume * volume, unsigned short forkid);
++int afp_setfileparms(struct afp_volume * volume,
++ unsigned int dirid, const char * pathname, unsigned short bitmap,
++ struct afp_file_info *fp);
++int afp_setfiledirparms(struct afp_volume * volume,
++ unsigned int dirid, const char * pathname, unsigned short bitmap,
++ struct afp_file_info *fp);
++
++int afp_setdirparms(struct afp_volume * volume,
++ unsigned int dirid, const char * pathname, unsigned short bitmap,
++ struct afp_file_info *fp);
++
++int afp_volclose(struct afp_volume * volume);
++
++
++int afp_setforkparms(struct afp_volume *volume,
++ unsigned short forkid, unsigned short bitmap, unsigned long len);
++
++int afp_byterangelock(struct afp_volume * volume,
++ unsigned char flag,
++ unsigned short forkid,
++ uint32_t offset,
++ uint32_t len, uint32_t *generated_offset);
++
++int afp_byterangelockext(struct afp_volume * volume,
++ unsigned char flag,
++ unsigned short forkid,
++ uint64_t offset,
++ uint64_t len, uint64_t *generated_offset);
++
++int afp_moveandrename(struct afp_volume *volume,
++ unsigned int src_did,
++ unsigned int dst_did,
++ char * src_path, char * dst_path, char *new_name);
++
++int afp_rename(struct afp_volume * volume,
++ unsigned int dirid,
++ char * path_from, char * path_to);
++
++int afp_listextattr(struct afp_volume * volume,
++ unsigned int dirid, unsigned short bitmap,
++ char * pathname, struct afp_extattr_info * info);
++
++/* This is a currently undocumented command */
++int afp_newcommand76(struct afp_volume * volume, unsigned int dlen, char * data);
++
++/* For debugging */
++char * afp_get_command_name(char code);
++
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/afp_protocol.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp_protocol.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/afp_protocol.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp_protocol.h 2011-09-10 12:13:50.112124505 +0200
+@@ -0,0 +1,361 @@
++
++#ifndef _AFP_PROTOCOL_H_
++#define _AFP_PROTOCOL_H_
++
++#include <sys/types.h>
++#include <stddef.h>
++#include <unistd.h>
++#include <stdint.h>
++
++/* This file defines constants for the Apple File Protocol.
++ All page references are from "Apple Filing Protocol Programming" version 3.2.
++ except where noted.
++*/
++
++#define AFP_SERVER_NAME_LEN 33
++#define AFP_SERVER_NAME_UTF8_LEN 255
++#define AFP_VOLUME_NAME_LEN 33
++#define AFP_VOLUME_NAME_UTF8_LEN 33
++#define AFP_SIGNATURE_LEN 16
++#define AFP_MACHINETYPE_LEN 33
++#define AFP_LOGINMESG_LEN 200
++#define AFP_VOLPASS_LEN 8
++#define AFP_HOSTNAME_LEN 255
++/* This is actually just a guess, and only used for appletalk */
++#define AFP_ZONE_LEN 255
++
++#define AFP_SERVER_ICON_LEN 256
++
++
++#define AFP_MAX_USERNAME_LEN 127
++#define AFP_MAX_PASSWORD_LEN 127
++
++
++/* This is the maximum length of any UAM string */
++#define AFP_UAM_LENGTH 24
++
++/* This is the maximum length of any path description */
++#define AFP_MAX_PATH 768
++
++#define AFP_VOL_FLAT 1
++#define AFP_VOL_FIXED 2
++#define AFP_VOL_VARIABLE 3
++
++/* The root directory ID, p.26 */
++
++#define AFP_ROOT_DID 2
++
++/* Path type constants, p.249 */
++
++enum {
++kFPShortName = 1,
++kFPLongName = 2,
++kFPUTF8Name = 3
++};
++
++/* fork types */
++
++#define AFP_FORKTYPE_DATA 0x0
++#define AFP_FORKTYPE_RESOURCE 0x80
++
++/* openfork access modes, from p.196 */
++
++#define AFP_OPENFORK_ALLOWREAD 1
++#define AFP_OPENFORK_ALLOWWRITE 2
++#define AFP_OPENFORK_DENYREAD 0x10
++#define AFP_OPENFORK_DENYWRITE 0x20
++
++/* Message type for getsrvmesg, p. 169*/
++
++typedef enum {
++ AFPMESG_LOGIN = 0,
++ AFPMESG_SERVER = 1
++} afpmessage_t;
++
++/* Message bitmap for getsrvrmsg */
++
++#define AFP_GETSRVRMSG_UTF8 0x2
++#define AFP_GETSRVRMSG_GETMSG 0x1
++
++
++/* Maximum Version length, p.17 */
++#define AFP_MAX_VERSION_LENGTH 16
++
++/* Maximum length of a token, this is undocumented */
++#define AFP_TOKEN_MAX_LEN 256
++
++/* The maximum size of a file for AFP 2 */
++#define AFP_MAX_AFP2_FILESIZE (4294967296)
++
++/* Unix privs, p.240 */
++
++struct afp_unixprivs {
++ uint32_t uid __attribute__((__packed__));
++ uint32_t gid __attribute__((__packed__));
++ uint32_t permissions __attribute__((__packed__));
++ uint32_t ua_permissions __attribute__((__packed__));
++
++};
++
++
++/* AFP Volume attributes bitmap, p.241 */
++
++enum {
++ kReadOnly = 0x01,
++ kHasVolumePassword = 0x02,
++ kSupportsFileIDs = 0x04,
++ kSupportsCatSearch = 0x08,
++ kSupportsBlankAccessPrivs = 0x10,
++ kSupportsUnixPrivs = 0x20,
++ kSupportsUTF8Names = 0x40,
++ kNoNetworkUserIDs = 0x80,
++ kDefaultPrivsFromParent = 0x100,
++ kNoExchangeFiles = 0x200,
++ kSupportsExtAttrs = 0x400,
++ kSupportsACLs=0x800
++};
++
++/* AFP file creation constantes, p.250 */
++enum {
++kFPSoftCreate = 0,
++kFPHardCreate = 0x80
++};
++
++/* AFP Directory attributes, taken from the protocol guide p.236 */
++
++enum {
++ kFPAttributeBit = 0x1,
++ kFPParentDirIDBit = 0x2,
++ kFPCreateDateBit = 0x4,
++ kFPModDateBit = 0x8,
++ kFPBackupDateBit = 0x10,
++ kFPFinderInfoBit = 0x20,
++ kFPLongNameBit = 0x40,
++ kFPShortNameBit = 0x80,
++ kFPNodeIDBit = 0x100,
++ kFPOffspringCountBit = 0x0200,
++ kFPOwnerIDBit = 0x0400,
++ kFPGroupIDBit = 0x0800,
++ kFPAccessRightsBit = 0x1000,
++ kFPProDOSInfoBit = 0x2000, // AFP version 2.2 and earlier
++ kFPUTF8NameBit = 0x2000, // AFP version 3.0 and later
++ kFPUnixPrivsBit = 0x8000 // AFP version 3.0 and later
++};
++
++/* AFP File bitmap, p.238. These are the ones not in the AFP Directory
++ attributes map. */
++
++enum {
++ kFPDataForkLenBit = 0x0200,
++ kFPRsrcForkLenBit = 0x0400,
++ kFPExtDataForkLenBit = 0x0800, // AFP version 3.0 and later
++ kFPLaunchLimitBit = 0x1000,
++ kFPExtRsrcForkLenBit = 0x4000, // AFP version 3.0 and later
++};
++
++/* AFP Extended Attributes Bitmap, p.238 */
++
++enum {
++ kXAttrNoFollow = 0x1,
++ kXAttrCreate = 0x2,
++ kXAttrREplace=0x4
++};
++
++
++/* AFP function codes */
++enum AFPFunction
++{
++ afpByteRangeLock = 1, afpCloseVol, afpCloseDir, afpCloseFork,
++ afpCopyFile, afpCreateDir, afpCreateFile,
++ afpDelete, afpEnumerate, afpFlush, afpFlushFork,
++ afpGetForkParms = 14, afpGetSrvrInfo, afpGetSrvrParms,
++ afpGetVolParms, afpLogin, afpLoginCont, afpLogout, afpMapID,
++ afpMapName, afpMoveAndRename, afpOpenVol, afpOpenDir, afpOpenFork,
++ afpRead, afpRename, afpSetDirParms, afpSetFileParms,
++ afpSetForkParms, afpSetVolParms, afpWrite, afpGetFileDirParms,
++ afpSetFileDirParms, afpChangePassword,
++ afpGetUserInfo=37,afpGetSrvrMsg = 38,
++ afpOpenDT=48,
++ afpCloseDT=49,
++ afpGetIcon=51, afpGetIconInfo=52,
++ afpAddComment=56, afpRemoveComment=57, afpGetComment=58,
++ afpByteRangeLockExt=59, afpReadExt, afpWriteExt,
++ afpGetAuthMethods=62,
++ afp_LoginExt=63,
++ afpGetSessionToken=64,
++ afpDisconnectOldSession=65,
++ afpEnumerateExt=66,
++ afpCatSearchExt = 67,
++ afpEnumerateExt2 = 68, afpGetExtAttr, afpSetExtAttr,
++ afpRemoveExtAttr , afpListExtAttrs,
++ afpZzzzz = 122,
++ afpAddIcon=192,
++};
++
++/* AFP Volume bitmap. Take from 242 of the protocol guide. */
++enum {
++ kFPBadVolPre222Bitmap = 0xFe00,
++ kFPBadVolBitmap = 0xF000,
++ kFPVolAttributeBit = 0x1,
++ kFPVolSignatureBit = 0x2,
++ kFPVolCreateDateBit = 0x4,
++ kFPVolModDateBit = 0x8,
++ kFPVolBackupDateBit = 0x10,
++ kFPVolIDBit = 0x20,
++ kFPVolBytesFreeBit = 0x40,
++ kFPVolBytesTotalBit = 0x80,
++ kFPVolNameBit = 0x100,
++ kFPVolExtBytesFreeBit = 0x200,
++ kFPVolExtBytesTotalBit = 0x400,
++ kFPVolBlockSizeBit = 0x800
++};
++
++/* AFP Attention Codes -- 4 bits */
++#define AFPATTN_SHUTDOWN (1 << 15) /* shutdown/disconnect */
++#define AFPATTN_CRASH (1 << 14) /* server crashed */
++#define AFPATTN_MESG (1 << 13) /* server has message */
++#define AFPATTN_NORECONNECT (1 << 12) /* don't reconnect */
++/* server notification */
++#define AFPATTN_NOTIFY (AFPATTN_MESG | AFPATTN_NORECONNECT)
++
++/* extended bitmap -- 12 bits. volchanged is only useful w/ a server
++ * notification, and time is only useful for shutdown. */
++#define AFPATTN_VOLCHANGED (1 << 0) /* volume has changed */
++#define AFPATTN_TIME(x) ((x) & 0xfff) /* time in minutes */
++
++#define kFPNoErr 0
++
++/* AFP result codes, p252 */
++#define kASPSessClosed -1072
++#define kFPAccessDenied -5000
++#define kFPAuthContinue -5001
++#define kFPBadUAM -5002
++#define kFPBadVersNum -5003
++#define kFPBitmapErr -5004
++#define kFPCantMove -5005
++#define kFPDenyConflict -5006
++#define kFPDirNotEmpty -5007
++#define kFPDiskFull -5008
++#define kFPEOFErr -5009
++#define kFPFileBusy -5010
++#define kFPFlatVol -5011
++#define kFPItemNotFound -5012
++#define kFPLockErr -5013
++#define kFPMiscErr -5014
++#define kFPNoMoreLocks -5015
++#define kFPNoServer -5016
++#define kFPObjectExists -5017
++#define kFPObjectNotFound -5018
++#define kFPParamErr -5019
++#define kFPRangeNotLocked -5020
++#define kFPRangeOverlap -5021
++#define kFPSessClosed -5022
++#define kFPUserNotAuth -5023
++#define kFPCallNotSupported -5024
++#define kFPObjectTypeErr -5025
++#define kFPTooManyFilesOpen -5026
++#define kFPServerGoingDown -5027
++#define kFPCantRename -5028
++#define kFPDirNotFound -5029
++#define kFPIconTypeError -5030
++#define kFPVolLocked -5031
++#define kFPObjectLocked -5032
++#define kFPContainsSharedErr -5033
++#define kFPIDNotFound -5034
++#define kFPIDExists -5035
++#define kFPDiffVolErr -5036
++#define kFPCatalogChanged -5037
++#define kFPSameObjectErr -5038
++#define kFPBadIDErr -5039
++#define kFPPwdSameErr -5040
++#define kFPPwdTooShortErr -5041
++#define kFPPwdExpiredErr -5042
++#define kFPInsideSharedErr -5043
++#define kFPInsideTrashErr -5044
++#define kFPPwdNeedsChangeErr -5045
++#define kFPPwdPolicyErr -5046
++#define kFPDiskQuotaExceeded –5047
++
++
++
++/* These flags determine to lock or unlock in ByteRangeLock(Ext) */
++
++enum {
++ByteRangeLock_Lock = 0,
++ByteRangeLock_Unlock = 1
++};
++
++/* These flags are used in volopen and getsrvrparm replies, p.171 */
++
++#define HasConfigInfo 0x1
++#define HasPassword 0x80
++
++/* These are the subfunction for kFPMapID, as per p.248 */
++
++enum {
++kUserIDToName = 1,
++kGroupIDToName = 2,
++kUserIDToUTF8Name = 3,
++kGroupIDToUTF8Name = 4,
++kUserUUIDToUTF8Name = 5,
++kGroupUUIDToUTF8Name = 6
++};
++
++
++/* These are the subfunction flags described in the FPMapName command, p.286.
++ Note that this is different than what's described on p. 186. */
++
++enum {
++kNameToUserID = 1,
++kNameToGroupID = 2,
++kUTF8NameToUserID = 3,
++kUTF8NameToGroupID = 4,
++kUTF8NameToUserUUID = 5,
++kUTF8NameToGroupUUID = 6
++};
++
++/* These are bits for FPGetUserInfo, p.173. */
++#define kFPGetUserInfo_USER_ID 1
++#define kFPGetUserInfo_PRI_GROUPID 2
++
++/* Flags for the replies of GetSrvrInfo and DSI GetStatus, p.240 */
++
++enum {
++ kSupportsCopyfile = 0x01,
++ kSupportsChgPwd = 0x02,
++ kDontAllowSavePwd = 0x04,
++ kSupportsSrvrMsg = 0x08,
++ kSrvrSig = 0x10,
++ kSupportsTCP = 0x20,
++ kSupportsSrvrNotify = 0x40,
++ kSupportsReconnect = 0x80,
++ kSupportsDirServices = 0x100,
++ kSupportsUTF8SrvrName = 0x200,
++ kSupportsUUIDs = 0x400,
++ kSupportsSuperClient = 0x8000
++};
++
++
++/* p.247 */
++
++enum {
++ kLoginWithoutID = 0,
++ kLoginWithID = 1,
++ kReconnWithID = 2,
++ kLoginWithTimeAndID = 3,
++ kReconnWithTimeAndID = 4,
++ kRecon1Login = 5,
++ kRecon1ReconnectLogin = 6,
++ kRecon1Refresh = 7, kGetKerberosSessionKey = 8
++};
++
++
++#define AFP_CHMOD_ALLOWED_BITS_22 \
++ (S_IRUSR |S_IWUSR | S_IRGRP | S_IWGRP |S_IROTH | S_IWOTH | S_IFREG )
++
++
++#endif
++
++
++
++
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/codepage.h afpfs-ng-0.8.1.patch/include/afpfs-ng/codepage.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/codepage.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/codepage.h 2011-09-10 12:13:50.113124518 +0200
+@@ -0,0 +1,11 @@
++#ifndef __CODE_PAGE_H_
++#define __CODE_PAGE_H_
++int convert_utf8dec_to_utf8pre(const char *src, int src_len,
++ char * dest, int dest_len);
++int convert_utf8pre_to_utf8dec(const char * src, int src_len,
++ char * dest, int dest_len);
++int convert_path_to_unix(char encoding, char * dest,
++ char * src, int dest_len);
++int convert_path_to_afp(char encoding, char * dest,
++ char * src, int dest_len);
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/dsi.h afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/dsi.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h 2011-09-10 12:13:50.115124544 +0200
+@@ -0,0 +1,33 @@
++
++#ifndef __DSI_H_
++#define __DSI_H_
++
++#include "afpfs-ng/afp.h"
++
++struct dsi_request
++{
++ unsigned short requestid;
++ unsigned char subcommand;
++ void * other;
++ unsigned char wait;
++ pthread_cond_t condition_cond;
++ struct dsi_request * next;
++ int return_code;
++};
++
++int dsi_receive(struct afp_server * server, void * data, int size);
++int dsi_getstatus(struct afp_server * server);
++
++int dsi_opensession(struct afp_server *server);
++
++int dsi_send(struct afp_server *server, char * msg, int size,int wait,unsigned char subcommand, void ** other);
++struct dsi_session * dsi_create(struct afp_server *server);
++int dsi_restart(struct afp_server *server);
++int dsi_recv(struct afp_server * server);
++
++#define DSI_BLOCK_TIMEOUT -1
++#define DSI_DONT_WAIT 0
++#define DSI_DEFAULT_TIMEOUT 5
++
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/libafpclient.h afpfs-ng-0.8.1.patch/include/afpfs-ng/libafpclient.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/libafpclient.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/libafpclient.h 2011-09-10 12:13:50.115124544 +0200
+@@ -0,0 +1,50 @@
++
++#ifndef __CLIENT_H_
++#define __CLIENT_H_
++
++#include <unistd.h>
++#include <syslog.h>
++
++#define MAX_CLIENT_RESPONSE 2048
++
++
++enum loglevels {
++ AFPFSD,
++};
++
++struct afp_server;
++struct afp_volume;
++
++struct libafpclient {
++ int (*unmount_volume) (struct afp_volume * volume);
++ void (*log_for_client)(void * priv,
++ enum loglevels loglevel, int logtype, const char *message);
++ void (*forced_ending_hook)(void);
++ int (*scan_extra_fds)(int command_fd,fd_set *set, int * max_fd);
++ void (*loop_started)(void);
++} ;
++
++extern struct libafpclient * libafpclient;
++
++void libafpclient_register(struct libafpclient * tmpclient);
++
++
++void signal_main_thread(void);
++
++/* These are logging functions */
++
++#define MAXLOGSIZE 2048
++
++#define LOG_METHOD_SYSLOG 1
++#define LOG_METHOD_STDOUT 2
++
++void set_log_method(int m);
++
++
++void log_for_client(void * priv,
++ enum loglevels loglevel, int logtype, char * message,...);
++
++void stdout_log_for_client(void * priv,
++ enum loglevels loglevel, int logtype, const char *message);
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/Makefile.am afpfs-ng-0.8.1.patch/include/afpfs-ng/Makefile.am
+--- afpfs-ng-0.8.1/include/afpfs-ng/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/Makefile.am 2011-09-10 12:13:50.115124544 +0200
+@@ -0,0 +1,6 @@
++## Process this file with automake to produce Makefile.in
++
++afpfsincludedir = $(includedir)/afpfs-ng
++
++afpfsinclude_HEADERS = afp.h afp_protocol.h libafpclient.h
++nodist_afpfsinclude_HEADERS = codepage.h dsi.h map_def.h midlevel.h uams_def.h utils.h
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/map_def.h afpfs-ng-0.8.1.patch/include/afpfs-ng/map_def.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/map_def.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/map_def.h 2011-09-10 12:13:50.116124557 +0200
+@@ -0,0 +1,15 @@
++#ifndef __MAP_H_
++#define __MAP_H_
++
++#include "afpfs-ng/afp.h"
++
++#define AFP_MAPPING_UNKNOWN 0
++#define AFP_MAPPING_COMMON 1
++#define AFP_MAPPING_LOGINIDS 2
++#define AFP_MAPPING_NAME 3
++
++unsigned int map_string_to_num(char * name);
++char * get_mapping_name(struct afp_volume * volume);
++
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/midlevel.h afpfs-ng-0.8.1.patch/include/afpfs-ng/midlevel.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/midlevel.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/midlevel.h 2011-09-10 12:13:50.116124557 +0200
+@@ -0,0 +1,64 @@
++#ifndef __MIDLEVEL_H_
++#define __MIDLEVEL_H_
++
++#include <utime.h>
++#include "afpfs-ng/afp.h"
++
++int ml_open(struct afp_volume * volume, const char *path, int flags,
++ struct afp_file_info **newfp);
++
++int ml_creat(struct afp_volume * volume, const char *path,mode_t mode);
++
++int ml_readdir(struct afp_volume * volume,
++ const char *path,
++ struct afp_file_info **base);
++
++int ml_read(struct afp_volume * volume, const char *path,
++ char *buf, size_t size, off_t offset,
++ struct afp_file_info *fp, int * eof);
++
++int ml_chmod(struct afp_volume * vol, const char * path, mode_t mode);
++
++int ml_unlink(struct afp_volume * vol, const char *path);
++
++int ml_mkdir(struct afp_volume * vol, const char * path, mode_t mode);
++
++int ml_close(struct afp_volume * volume, const char * path,
++ struct afp_file_info * fp);
++
++int ml_getattr(struct afp_volume * volume, const char *path,
++ struct stat *stbuf);
++
++int ml_write(struct afp_volume * volume, const char * path,
++ const char *data, size_t size, off_t offset,
++ struct afp_file_info * fp, uid_t uid,
++ gid_t gid);
++
++int ml_readlink(struct afp_volume * vol, const char * path,
++ char *buf, size_t size);
++
++int ml_rmdir(struct afp_volume * vol, const char *path);
++
++int ml_chown(struct afp_volume * vol, const char * path,
++ uid_t uid, gid_t gid);
++
++int ml_truncate(struct afp_volume * vol, const char * path, off_t offset);
++
++int ml_utime(struct afp_volume * vol, const char * path,
++ struct utimbuf * timebuf);
++
++int ml_symlink(struct afp_volume *vol, const char * path1, const char * path2);
++
++int ml_rename(struct afp_volume * vol,
++ const char * path_from, const char * path_to);
++
++int ml_statfs(struct afp_volume * vol, const char *path, struct statvfs *stat);
++
++void afp_ml_filebase_free(struct afp_file_info **filebase);
++
++int ml_passwd(struct afp_server *server,
++ char * username, char * oldpasswd, char * newpasswd);
++
++
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/uams_def.h afpfs-ng-0.8.1.patch/include/afpfs-ng/uams_def.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/uams_def.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/uams_def.h 2011-09-10 12:13:50.116124557 +0200
+@@ -0,0 +1,16 @@
++#ifndef __UAM_DEFS_H_
++#define __UAM_DEFS_H_
++
++#define UAM_NOUSERAUTHENT 0x1
++#define UAM_CLEARTXTPASSWRD 0x2
++#define UAM_RANDNUMEXCHANGE 0x4
++#define UAM_2WAYRANDNUM 0x8
++#define UAM_DHCAST128 0x10
++#define UAM_CLIENTKRB 0x20
++#define UAM_DHX2 0x40
++#define UAM_RECON1 0x80
++
++int uam_string_to_bitmap(char * name);
++char * uam_bitmap_to_string(unsigned int bitmap);
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/utils.h afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/utils.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h 2011-09-10 12:13:50.116124557 +0200
+@@ -0,0 +1,43 @@
++#ifndef __UTILS_H_
++#define __UTILS_H_
++#include <stdio.h>
++
++#include "afpfs-ng/afp.h"
++
++#if BYTE_ORDER == BIG_ENDIAN
++#define hton64(x) (x)
++#define ntoh64(x) (x)
++#else /* BYTE_ORDER == BIG_ENDIAN */
++#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \
++ (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32))
++#define ntoh64(x) (hton64(x))
++#endif /* BYTE_ORDER == BIG_ENDIAN */
++
++#define min(a,b) (((a)<(b)) ? (a) : (b))
++#define max(a,b) (((a)>(b)) ? (a) : (b))
++
++
++
++unsigned char unixpath_to_afppath(
++ struct afp_server * server,
++ char * buf);
++
++unsigned char sizeof_path_header(struct afp_server * server);
++
++
++
++unsigned char copy_from_pascal(char *dest, char *pascal,unsigned int max_len) ;
++unsigned short copy_from_pascal_two(char *dest, char *pascal,unsigned int max_len);
++
++unsigned char copy_to_pascal(char *dest, const char *src);
++unsigned short copy_to_pascal_two(char *dest, const char *src);
++
++void copy_path(struct afp_server * server, char * dest, const char * pathname, unsigned char len);
++
++
++char * create_path(struct afp_server * server, char * pathname, unsigned short * len);
++
++
++int invalid_filename(struct afp_server * server, const char * filename);
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afp.h afpfs-ng-0.8.1.patch/include/afp.h
+--- afpfs-ng-0.8.1/include/afp.h 2008-03-08 17:08:18.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afp.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,533 +0,0 @@
+-
+-#ifndef _AFP_H_
+-#define _AFP_H_
+-
+-#include <arpa/inet.h>
+-#include <pthread.h>
+-#include <netdb.h>
+-#include <sys/statvfs.h>
+-#include <pwd.h>
+-#include <afp_protocol.h>
+-#include <libafpclient.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <unistd.h>
+-#include <netinet/in.h>
+-
+-
+-#define AFPFS_VERSION "0.8.1"
+-
+-/* This is the maximum AFP version this library supports */
+-#define AFP_MAX_SUPPORTED_VERSION 32
+-
+-/* afp_url is used to pass locations around */
+-struct afp_url {
+- enum {TCPIP,AT} protocol;
+- char username[AFP_MAX_USERNAME_LEN];
+- char uamname[50];
+- char password[AFP_MAX_PASSWORD_LEN];
+- char servername[AFP_SERVER_NAME_UTF8_LEN];
+- int port;
+- char volumename[AFP_VOLUME_NAME_UTF8_LEN];
+- char path[AFP_MAX_PATH];
+-
+- int requested_version;
+- char zone[AFP_ZONE_LEN]; /* Only used for Appletalk */
+- char volpassword[9];;
+-};
+-
+-struct afp_token {
+- unsigned int length;
+- char data[AFP_TOKEN_MAX_LEN];
+-};
+-
+-#define SERVER_MAX_VERSIONS 10
+-#define SERVER_MAX_UAMS 10
+-
+-struct afp_rx_buffer {
+- unsigned int size;
+- unsigned int maxsize;
+- char * data;
+- int errorcode;
+-};
+-
+-
+-struct afp_file_info {
+- unsigned short attributes;
+- unsigned int did;
+- unsigned int creation_date;
+- unsigned int modification_date;
+- unsigned int backup_date;
+- unsigned int fileid;
+- unsigned short offspring;
+- char sync;
+- char finderinfo[32];
+- char name[AFP_MAX_PATH];
+- char basename[AFP_MAX_PATH];
+- char translated_name[AFP_MAX_PATH];
+- struct afp_unixprivs unixprivs;
+- unsigned int accessrights;
+- struct afp_file_info * next;
+- struct afp_file_info * largelist_next;
+- unsigned char isdir;
+- unsigned long long size;
+- unsigned short resourcesize;
+- unsigned int resource;
+- unsigned short forkid;
+- struct afp_icon * icon;
+- int eof;
+-};
+-
+-
+-#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_KNOWN 0x1
+-#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_BROKEN 0x2
+-#define VOLUME_EXTRA_FLAGS_SHOW_APPLEDOUBLE 0x4
+-#define VOLUME_EXTRA_FLAGS_VOL_SUPPORTS_UNIX 0x8
+-#define VOLUME_EXTRA_FLAGS_NO_LOCKING 0x10
+-#define VOLUME_EXTRA_FLAGS_IGNORE_UNIXPRIVS 0x20
+-#define VOLUME_EXTRA_FLAGS_READONLY 0x40
+-
+-#define AFP_VOLUME_UNMOUNTED 0
+-#define AFP_VOLUME_MOUNTED 1
+-#define AFP_VOLUME_UNMOUNTING 2
+-
+-struct afp_volume {
+- unsigned short volid;
+- char flags; /* This is from afpGetSrvrParms */
+- unsigned short attributes; /* This is from VolOpen */
+- unsigned short signature; /* This is fixed or variable */
+- unsigned int creation_date;
+- unsigned int modification_date;
+- unsigned int backup_date;
+- struct statvfs stat;
+- unsigned char mounted;
+- char mountpoint[255];
+- struct afp_server * server;
+- char volume_name[AFP_VOLUME_NAME_LEN];
+- char volume_name_printable[AFP_VOLUME_NAME_UTF8_LEN];
+- unsigned short dtrefnum;
+- char volpassword[AFP_VOLPASS_LEN];
+- unsigned int extra_flags; /* This is an afpfs-ng specific field */
+-
+- /* Our directory ID cache */
+- struct did_cache_entry * did_cache_base;
+- pthread_mutex_t did_cache_mutex;
+-
+- /* Our journal of open forks */
+- struct afp_file_info * open_forks;
+- pthread_mutex_t open_forks_mutex;
+-
+- /* Used to trigger startup */
+- pthread_cond_t startup_condition_cond;
+-
+- struct {
+- uint64_t hits;
+- uint64_t misses;
+- uint64_t expired;
+- uint64_t force_removed;
+- } did_cache_stats;
+-
+- void * priv; /* This is a private structure for fuse/cmdline, etc */
+- pthread_t thread; /* This is the per-volume thread */
+-
+- int mapping;
+-
+-};
+-
+-#define SERVER_STATE_CONNECTED 1
+-#define SERVER_STATE_DISCONNECTED 2
+-
+-enum server_type{
+- AFPFS_SERVER_TYPE_UNKNOWN,
+- AFPFS_SERVER_TYPE_NETATALK,
+- AFPFS_SERVER_TYPE_AIRPORT,
+- AFPFS_SERVER_TYPE_MACINTOSH,
+-};
+-
+-#define is_netatalk(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_NETATALK )
+-#define is_airport(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_AIRPORT )
+-#define is_macintosh(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_MACINTOSH )
+-
+-
+-
+-struct afp_versions {
+- char *av_name;
+- int av_number;
+-};
+-extern struct afp_versions afp_versions[];
+-
+-struct afp_server {
+-
+- /* Our buffer sizes */
+- unsigned int tx_quantum;
+- unsigned int rx_quantum;
+-
+- unsigned int tx_delay;
+-
+- /* Connection information */
+- struct sockaddr_in address;
+- int fd;
+-
+- /* Some stats, for information only */
+- struct {
+- uint64_t runt_packets;
+- uint64_t incoming_dsi;
+- uint64_t rx_bytes;
+- uint64_t tx_bytes;
+- uint64_t requests_pending;
+- } stats;
+-
+- /* General information */
+- char server_name[AFP_SERVER_NAME_LEN];
+- char server_name_utf8[AFP_SERVER_NAME_UTF8_LEN];
+- char server_name_printable[AFP_SERVER_NAME_UTF8_LEN];
+-
+- char machine_type[17];
+- char icon[256];
+- char signature[16];
+- unsigned short flags;
+- int connect_state;
+- enum server_type server_type;
+-
+- /* This is the time we connected */
+- time_t connect_time;
+-
+- /* UAMs */
+- unsigned int supported_uams;
+- unsigned int using_uam;
+-
+- /* Authentication */
+- char username[AFP_MAX_USERNAME_LEN];
+- char password[AFP_MAX_PASSWORD_LEN];
+-
+- /* Session */
+- struct afp_token token;
+- char need_resume;
+-
+- /* Versions */
+- unsigned char requested_version;
+- unsigned char versions[SERVER_MAX_VERSIONS];
+- struct afp_versions *using_version;
+-
+- /* Volumes */
+- unsigned char num_volumes;
+- struct afp_volume * volumes;
+-
+- void * dsi;
+- unsigned int exit_flag;
+-
+- /* Our DSI request queue */
+- pthread_mutex_t requestid_mutex;
+- pthread_mutex_t request_queue_mutex;
+- unsigned short lastrequestid;
+- unsigned short expectedrequestid;
+- struct dsi_request * command_requests;
+-
+-
+- char loginmesg[200];
+- char servermesg[200];
+- char path_encoding;
+-
+- /* This is the data for the incoming buffer */
+- char * incoming_buffer;
+- int data_read;
+- int bufsize;
+-
+- /* And this is for the outgoing queue */
+- pthread_mutex_t send_mutex;
+-
+- /* This is for user mapping */
+- struct passwd passwd;
+- unsigned int server_uid, server_gid;
+- int server_gid_valid;
+-
+- struct afp_server *next;
+-
+- /* These are for DSI attention packets */
+- unsigned int attention_quantum;
+- unsigned int attention_len;
+- char * attention_buffer;
+-
+-};
+-
+-struct afp_extattr_info {
+- unsigned int maxsize;
+- unsigned int size;
+- char data[1024];
+-};
+-struct afp_comment {
+- unsigned int maxsize;
+- unsigned int size;
+- char *data;
+-};
+-
+-struct afp_icon {
+- unsigned int maxsize;
+- unsigned int size;
+- char *data;
+-};
+-
+-#define AFP_DEFAULT_ATTENTION_QUANTUM 1024
+-
+-void afp_unixpriv_to_stat(struct afp_file_info *fp,
+- struct stat *stat);
+-
+-int init_uams(void) ;
+-
+-unsigned int find_uam_by_name(const char * name);
+-char * uam_bitmap_to_string(unsigned int bitmap);
+-
+-
+-char * get_uam_names_list(void);
+-
+-unsigned int default_uams_mask(void);
+-
+-struct afp_volume * find_volume_by_name(struct afp_server * server,
+- const char * volname);
+-
+-struct afp_connection_request {
+- unsigned int uam_mask;
+- struct afp_url url;
+-};
+-
+-void afp_default_url(struct afp_url *url);
+-int afp_parse_url(struct afp_url * url, const char * toparse, int verbose);
+-void afp_print_url(struct afp_url * url);
+-int afp_url_validate(char * url_string, struct afp_url * valid_url);
+-
+-int afp_list_volnames(struct afp_server * server, char * names, int max);
+-
+-/* User mapping */
+-int afp_detect_mapping(struct afp_volume * volume);
+-
+-/* These are some functions that help with simple status text generation */
+-
+-int afp_status_header(char * text, int * len);
+-int afp_status_server(struct afp_server * s,char * text, int * len);
+-
+-
+-struct afp_server * afp_server_full_connect(void * priv, struct afp_connection_request * req);
+-
+-void * just_end_it_now(void *other);
+-void add_fd_and_signal(int fd);
+-void loop_disconnect(struct afp_server *s);
+-void afp_wait_for_started_loop(void);
+-
+-
+-struct afp_versions * pick_version(unsigned char *versions,
+- unsigned char requested) ;
+-int pick_uam(unsigned int u1, unsigned int u2);
+-
+-int afp_server_login(struct afp_server *server,
+- char * mesg, unsigned int *l, unsigned int max);
+-
+-
+-int afp_dologin(struct afp_server *server,
+- unsigned int uam, char * username, char * passwd);
+-
+-void afp_free_server(struct afp_server **server);
+-
+-struct afp_server * afp_server_init(struct sockaddr_in * address);
+-int afp_get_address(void * priv, const char * hostname, unsigned int port,
+- struct sockaddr_in * address);
+-
+-
+-int afp_main_loop(int command_fd);
+-int afp_main_quick_startup(pthread_t * thread);
+-
+-int afp_server_destroy(struct afp_server *s) ;
+-int afp_server_reconnect(struct afp_server * s, char * mesg,
+- unsigned int *l, unsigned int max);
+-int afp_server_connect(struct afp_server *s, int full);
+-
+-struct afp_server * afp_server_complete_connection(
+- void * priv,
+- struct afp_server * server,
+- struct sockaddr_in * address, unsigned char * versions,
+- unsigned int uams, char * username, char * password,
+- unsigned int requested_version, unsigned int uam_mask);
+-
+-int afp_connect_volume(struct afp_volume * volume, struct afp_server * server,
+- char * mesg, unsigned int * l, unsigned int max);
+-int something_is_mounted(struct afp_server * server);
+-
+-int add_cache_entry(struct afp_file_info * file) ;
+-struct afp_file_info * get_cache_by_name(char * name);
+-struct afp_server * find_server_by_address(struct sockaddr_in * address);
+-struct afp_server * find_server_by_signature(char * signature);
+-struct afp_server * find_server_by_name(char * name);
+-int server_still_valid(struct afp_server * server);
+-
+-
+-struct afp_server * get_server_base(void);
+-int afp_server_remove(struct afp_server * server);
+-
+-int afp_unmount_volume(struct afp_volume * volume);
+-int afp_unmount_all_volumes(struct afp_server * server);
+-
+-#define volume_is_readonly(x) (((x)->attributes&kReadOnly) || \
+- ((x)->extra_flags & VOLUME_EXTRA_FLAGS_READONLY))
+-
+-int afp_opendt(struct afp_volume *volume, unsigned short * refnum);
+-
+-int afp_closedt(struct afp_server * server, unsigned short * refnum);
+-
+-int afp_getcomment(struct afp_volume *volume, unsigned int did,
+- const char * pathname, struct afp_comment * comment);
+-
+-int afp_addcomment(struct afp_volume *volume, unsigned int did,
+- const char * pathname, char * comment,uint64_t *size);
+-
+-int afp_geticon(struct afp_volume * volume, unsigned int filecreator,
+- unsigned int filetype, unsigned char icontype,
+- unsigned short length, struct afp_icon * icon);
+-
+-/* Things you want to do to a server */
+-
+-int afp_getsrvrmsg(struct afp_server *server, unsigned short messagetype,unsigned char utf8, unsigned char block, char * mesg);
+-
+-int afp_login(struct afp_server *server, char * uaname,
+- char * userauthinfo, unsigned int userauthinfo_len,
+- struct afp_rx_buffer *rx);
+-
+-int afp_changepassword(struct afp_server *server, char * uaname,
+- char * userauthinfo, unsigned int userauthinfo_len,
+- struct afp_rx_buffer *rx);
+-
+-int afp_logincont(struct afp_server *server, unsigned short id,
+- char * userauthinfo, unsigned int userauthinfo_len,
+- struct afp_rx_buffer *rx);
+-
+-int afp_getsessiontoken(struct afp_server * server, int type,
+- unsigned int timestamp, struct afp_token *outgoing_token,
+- struct afp_token * incoming_token);
+-
+-int afp_getsrvrparms(struct afp_server *server);
+-
+-int afp_logout(struct afp_server *server,unsigned char wait);
+-
+-int afp_mapname(struct afp_server * server, unsigned char subfunction,
+- char * name, unsigned int * id);
+-
+-int afp_mapid(struct afp_server * server, unsigned char subfunction,
+- unsigned int id, char *name);
+-
+-int afp_getuserinfo(struct afp_server * server, int thisuser,
+- unsigned int userid, unsigned short bitmap,
+- unsigned int *newuid, unsigned int *newgid);
+-
+-int afp_zzzzz(struct afp_server *server);
+-
+-int afp_volopen(struct afp_volume * volume,
+- unsigned short bitmap, char * password);
+-
+-int afp_flush(struct afp_volume * volume);
+-
+-int afp_getfiledirparms(struct afp_volume *volume, unsigned int did,
+- unsigned int filebitmap, unsigned int dirbitmap, const char * pathname,
+- struct afp_file_info *fp);
+-
+-int afp_enumerate(struct afp_volume * volume,
+- unsigned int dirid,
+- unsigned int filebitmap, unsigned int dirbitmap,
+- unsigned short reqcount,
+- unsigned short startindex,
+- char * path,
+- struct afp_file_info ** file_p);
+-
+-int afp_enumerateext2(struct afp_volume * volume,
+- unsigned int dirid,
+- unsigned int filebitmap, unsigned int dirbitmap,
+- unsigned short reqcount,
+- unsigned long startindex,
+- char * path,
+- struct afp_file_info ** file_p);
+-
+-int afp_openfork(struct afp_volume * volume,
+- unsigned char forktype,
+- unsigned int dirid,
+- unsigned short accessmode,
+- char * filename,
+- struct afp_file_info *fp);
+-
+-int afp_read(struct afp_volume * volume, unsigned short forkid,
+- uint32_t offset,
+- uint32_t count, struct afp_rx_buffer * rx);
+-
+-int afp_readext(struct afp_volume * volume, unsigned short forkid,
+- uint64_t offset,
+- uint64_t count, struct afp_rx_buffer * rx);
+-
+-int afp_getvolparms(struct afp_volume * volume, unsigned short bitmap);
+-
+-
+-int afp_createdir(struct afp_volume * volume, unsigned int dirid, const char * pathname, unsigned int *did_p);
+-
+-int afp_delete(struct afp_volume * volume,
+- unsigned int dirid, char * pathname);
+-
+-
+-int afp_createfile(struct afp_volume * volume, unsigned char flag,
+- unsigned int did, char * pathname);
+-
+-int afp_write(struct afp_volume * volume, unsigned short forkid,
+- uint32_t offset, uint32_t reqcount,
+- char * data, uint32_t * written);
+-
+-int afp_writeext(struct afp_volume * volume, unsigned short forkid,
+- uint64_t offset, uint64_t reqcount,
+- char * data, uint64_t * written);
+-
+-int afp_flushfork(struct afp_volume * volume, unsigned short forkid);
+-
+-int afp_closefork(struct afp_volume * volume, unsigned short forkid);
+-int afp_setfileparms(struct afp_volume * volume,
+- unsigned int dirid, const char * pathname, unsigned short bitmap,
+- struct afp_file_info *fp);
+-int afp_setfiledirparms(struct afp_volume * volume,
+- unsigned int dirid, const char * pathname, unsigned short bitmap,
+- struct afp_file_info *fp);
+-
+-int afp_setdirparms(struct afp_volume * volume,
+- unsigned int dirid, const char * pathname, unsigned short bitmap,
+- struct afp_file_info *fp);
+-
+-int afp_volclose(struct afp_volume * volume);
+-
+-
+-int afp_setforkparms(struct afp_volume *volume,
+- unsigned short forkid, unsigned short bitmap, unsigned long len);
+-
+-int afp_byterangelock(struct afp_volume * volume,
+- unsigned char flag,
+- unsigned short forkid,
+- uint32_t offset,
+- uint32_t len, uint32_t *generated_offset);
+-
+-int afp_byterangelockext(struct afp_volume * volume,
+- unsigned char flag,
+- unsigned short forkid,
+- uint64_t offset,
+- uint64_t len, uint64_t *generated_offset);
+-
+-int afp_moveandrename(struct afp_volume *volume,
+- unsigned int src_did,
+- unsigned int dst_did,
+- char * src_path, char * dst_path, char *new_name);
+-
+-int afp_rename(struct afp_volume * volume,
+- unsigned int dirid,
+- char * path_from, char * path_to);
+-
+-int afp_listextattr(struct afp_volume * volume,
+- unsigned int dirid, unsigned short bitmap,
+- char * pathname, struct afp_extattr_info * info);
+-
+-/* This is a currently undocumented command */
+-int afp_newcommand76(struct afp_volume * volume, unsigned int dlen, char * data);
+-
+-/* For debugging */
+-char * afp_get_command_name(char code);
+-
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/afp_protocol.h afpfs-ng-0.8.1.patch/include/afp_protocol.h
+--- afpfs-ng-0.8.1/include/afp_protocol.h 2008-02-18 04:33:43.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afp_protocol.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,361 +0,0 @@
+-
+-#ifndef _AFP_PROTOCOL_H_
+-#define _AFP_PROTOCOL_H_
+-
+-#include <sys/types.h>
+-#include <stddef.h>
+-#include <unistd.h>
+-#include <stdint.h>
+-
+-/* This file defines constants for the Apple File Protocol.
+- All page references are from "Apple Filing Protocol Programming" version 3.2.
+- except where noted.
+-*/
+-
+-#define AFP_SERVER_NAME_LEN 33
+-#define AFP_SERVER_NAME_UTF8_LEN 255
+-#define AFP_VOLUME_NAME_LEN 33
+-#define AFP_VOLUME_NAME_UTF8_LEN 33
+-#define AFP_SIGNATURE_LEN 16
+-#define AFP_MACHINETYPE_LEN 33
+-#define AFP_LOGINMESG_LEN 200
+-#define AFP_VOLPASS_LEN 8
+-#define AFP_HOSTNAME_LEN 255
+-/* This is actually just a guess, and only used for appletalk */
+-#define AFP_ZONE_LEN 255
+-
+-#define AFP_SERVER_ICON_LEN 256
+-
+-
+-#define AFP_MAX_USERNAME_LEN 127
+-#define AFP_MAX_PASSWORD_LEN 127
+-
+-
+-/* This is the maximum length of any UAM string */
+-#define AFP_UAM_LENGTH 24
+-
+-/* This is the maximum length of any path description */
+-#define AFP_MAX_PATH 768
+-
+-#define AFP_VOL_FLAT 1
+-#define AFP_VOL_FIXED 2
+-#define AFP_VOL_VARIABLE 3
+-
+-/* The root directory ID, p.26 */
+-
+-#define AFP_ROOT_DID 2
+-
+-/* Path type constants, p.249 */
+-
+-enum {
+-kFPShortName = 1,
+-kFPLongName = 2,
+-kFPUTF8Name = 3
+-};
+-
+-/* fork types */
+-
+-#define AFP_FORKTYPE_DATA 0x0
+-#define AFP_FORKTYPE_RESOURCE 0x80
+-
+-/* openfork access modes, from p.196 */
+-
+-#define AFP_OPENFORK_ALLOWREAD 1
+-#define AFP_OPENFORK_ALLOWWRITE 2
+-#define AFP_OPENFORK_DENYREAD 0x10
+-#define AFP_OPENFORK_DENYWRITE 0x20
+-
+-/* Message type for getsrvmesg, p. 169*/
+-
+-typedef enum {
+- AFPMESG_LOGIN = 0,
+- AFPMESG_SERVER = 1
+-} afpmessage_t;
+-
+-/* Message bitmap for getsrvrmsg */
+-
+-#define AFP_GETSRVRMSG_UTF8 0x2
+-#define AFP_GETSRVRMSG_GETMSG 0x1
+-
+-
+-/* Maximum Version length, p.17 */
+-#define AFP_MAX_VERSION_LENGTH 16
+-
+-/* Maximum length of a token, this is undocumented */
+-#define AFP_TOKEN_MAX_LEN 256
+-
+-/* The maximum size of a file for AFP 2 */
+-#define AFP_MAX_AFP2_FILESIZE (4294967296)
+-
+-/* Unix privs, p.240 */
+-
+-struct afp_unixprivs {
+- uint32_t uid __attribute__((__packed__));
+- uint32_t gid __attribute__((__packed__));
+- uint32_t permissions __attribute__((__packed__));
+- uint32_t ua_permissions __attribute__((__packed__));
+-
+-};
+-
+-
+-/* AFP Volume attributes bitmap, p.241 */
+-
+-enum {
+- kReadOnly = 0x01,
+- kHasVolumePassword = 0x02,
+- kSupportsFileIDs = 0x04,
+- kSupportsCatSearch = 0x08,
+- kSupportsBlankAccessPrivs = 0x10,
+- kSupportsUnixPrivs = 0x20,
+- kSupportsUTF8Names = 0x40,
+- kNoNetworkUserIDs = 0x80,
+- kDefaultPrivsFromParent = 0x100,
+- kNoExchangeFiles = 0x200,
+- kSupportsExtAttrs = 0x400,
+- kSupportsACLs=0x800
+-};
+-
+-/* AFP file creation constantes, p.250 */
+-enum {
+-kFPSoftCreate = 0,
+-kFPHardCreate = 0x80
+-};
+-
+-/* AFP Directory attributes, taken from the protocol guide p.236 */
+-
+-enum {
+- kFPAttributeBit = 0x1,
+- kFPParentDirIDBit = 0x2,
+- kFPCreateDateBit = 0x4,
+- kFPModDateBit = 0x8,
+- kFPBackupDateBit = 0x10,
+- kFPFinderInfoBit = 0x20,
+- kFPLongNameBit = 0x40,
+- kFPShortNameBit = 0x80,
+- kFPNodeIDBit = 0x100,
+- kFPOffspringCountBit = 0x0200,
+- kFPOwnerIDBit = 0x0400,
+- kFPGroupIDBit = 0x0800,
+- kFPAccessRightsBit = 0x1000,
+- kFPProDOSInfoBit = 0x2000, // AFP version 2.2 and earlier
+- kFPUTF8NameBit = 0x2000, // AFP version 3.0 and later
+- kFPUnixPrivsBit = 0x8000 // AFP version 3.0 and later
+-};
+-
+-/* AFP File bitmap, p.238. These are the ones not in the AFP Directory
+- attributes map. */
+-
+-enum {
+- kFPDataForkLenBit = 0x0200,
+- kFPRsrcForkLenBit = 0x0400,
+- kFPExtDataForkLenBit = 0x0800, // AFP version 3.0 and later
+- kFPLaunchLimitBit = 0x1000,
+- kFPExtRsrcForkLenBit = 0x4000, // AFP version 3.0 and later
+-};
+-
+-/* AFP Extended Attributes Bitmap, p.238 */
+-
+-enum {
+- kXAttrNoFollow = 0x1,
+- kXAttrCreate = 0x2,
+- kXAttrREplace=0x4
+-};
+-
+-
+-/* AFP function codes */
+-enum AFPFunction
+-{
+- afpByteRangeLock = 1, afpCloseVol, afpCloseDir, afpCloseFork,
+- afpCopyFile, afpCreateDir, afpCreateFile,
+- afpDelete, afpEnumerate, afpFlush, afpFlushFork,
+- afpGetForkParms = 14, afpGetSrvrInfo, afpGetSrvrParms,
+- afpGetVolParms, afpLogin, afpLoginCont, afpLogout, afpMapID,
+- afpMapName, afpMoveAndRename, afpOpenVol, afpOpenDir, afpOpenFork,
+- afpRead, afpRename, afpSetDirParms, afpSetFileParms,
+- afpSetForkParms, afpSetVolParms, afpWrite, afpGetFileDirParms,
+- afpSetFileDirParms, afpChangePassword,
+- afpGetUserInfo=37,afpGetSrvrMsg = 38,
+- afpOpenDT=48,
+- afpCloseDT=49,
+- afpGetIcon=51, afpGetIconInfo=52,
+- afpAddComment=56, afpRemoveComment=57, afpGetComment=58,
+- afpByteRangeLockExt=59, afpReadExt, afpWriteExt,
+- afpGetAuthMethods=62,
+- afp_LoginExt=63,
+- afpGetSessionToken=64,
+- afpDisconnectOldSession=65,
+- afpEnumerateExt=66,
+- afpCatSearchExt = 67,
+- afpEnumerateExt2 = 68, afpGetExtAttr, afpSetExtAttr,
+- afpRemoveExtAttr , afpListExtAttrs,
+- afpZzzzz = 122,
+- afpAddIcon=192,
+-};
+-
+-/* AFP Volume bitmap. Take from 242 of the protocol guide. */
+-enum {
+- kFPBadVolPre222Bitmap = 0xFe00,
+- kFPBadVolBitmap = 0xF000,
+- kFPVolAttributeBit = 0x1,
+- kFPVolSignatureBit = 0x2,
+- kFPVolCreateDateBit = 0x4,
+- kFPVolModDateBit = 0x8,
+- kFPVolBackupDateBit = 0x10,
+- kFPVolIDBit = 0x20,
+- kFPVolBytesFreeBit = 0x40,
+- kFPVolBytesTotalBit = 0x80,
+- kFPVolNameBit = 0x100,
+- kFPVolExtBytesFreeBit = 0x200,
+- kFPVolExtBytesTotalBit = 0x400,
+- kFPVolBlockSizeBit = 0x800
+-};
+-
+-/* AFP Attention Codes -- 4 bits */
+-#define AFPATTN_SHUTDOWN (1 << 15) /* shutdown/disconnect */
+-#define AFPATTN_CRASH (1 << 14) /* server crashed */
+-#define AFPATTN_MESG (1 << 13) /* server has message */
+-#define AFPATTN_NORECONNECT (1 << 12) /* don't reconnect */
+-/* server notification */
+-#define AFPATTN_NOTIFY (AFPATTN_MESG | AFPATTN_NORECONNECT)
+-
+-/* extended bitmap -- 12 bits. volchanged is only useful w/ a server
+- * notification, and time is only useful for shutdown. */
+-#define AFPATTN_VOLCHANGED (1 << 0) /* volume has changed */
+-#define AFPATTN_TIME(x) ((x) & 0xfff) /* time in minutes */
+-
+-#define kFPNoErr 0
+-
+-/* AFP result codes, p252 */
+-#define kASPSessClosed -1072
+-#define kFPAccessDenied -5000
+-#define kFPAuthContinue -5001
+-#define kFPBadUAM -5002
+-#define kFPBadVersNum -5003
+-#define kFPBitmapErr -5004
+-#define kFPCantMove -5005
+-#define kFPDenyConflict -5006
+-#define kFPDirNotEmpty -5007
+-#define kFPDiskFull -5008
+-#define kFPEOFErr -5009
+-#define kFPFileBusy -5010
+-#define kFPFlatVol -5011
+-#define kFPItemNotFound -5012
+-#define kFPLockErr -5013
+-#define kFPMiscErr -5014
+-#define kFPNoMoreLocks -5015
+-#define kFPNoServer -5016
+-#define kFPObjectExists -5017
+-#define kFPObjectNotFound -5018
+-#define kFPParamErr -5019
+-#define kFPRangeNotLocked -5020
+-#define kFPRangeOverlap -5021
+-#define kFPSessClosed -5022
+-#define kFPUserNotAuth -5023
+-#define kFPCallNotSupported -5024
+-#define kFPObjectTypeErr -5025
+-#define kFPTooManyFilesOpen -5026
+-#define kFPServerGoingDown -5027
+-#define kFPCantRename -5028
+-#define kFPDirNotFound -5029
+-#define kFPIconTypeError -5030
+-#define kFPVolLocked -5031
+-#define kFPObjectLocked -5032
+-#define kFPContainsSharedErr -5033
+-#define kFPIDNotFound -5034
+-#define kFPIDExists -5035
+-#define kFPDiffVolErr -5036
+-#define kFPCatalogChanged -5037
+-#define kFPSameObjectErr -5038
+-#define kFPBadIDErr -5039
+-#define kFPPwdSameErr -5040
+-#define kFPPwdTooShortErr -5041
+-#define kFPPwdExpiredErr -5042
+-#define kFPInsideSharedErr -5043
+-#define kFPInsideTrashErr -5044
+-#define kFPPwdNeedsChangeErr -5045
+-#define kFPPwdPolicyErr -5046
+-#define kFPDiskQuotaExceeded –5047
+-
+-
+-
+-/* These flags determine to lock or unlock in ByteRangeLock(Ext) */
+-
+-enum {
+-ByteRangeLock_Lock = 0,
+-ByteRangeLock_Unlock = 1
+-};
+-
+-/* These flags are used in volopen and getsrvrparm replies, p.171 */
+-
+-#define HasConfigInfo 0x1
+-#define HasPassword 0x80
+-
+-/* These are the subfunction for kFPMapID, as per p.248 */
+-
+-enum {
+-kUserIDToName = 1,
+-kGroupIDToName = 2,
+-kUserIDToUTF8Name = 3,
+-kGroupIDToUTF8Name = 4,
+-kUserUUIDToUTF8Name = 5,
+-kGroupUUIDToUTF8Name = 6
+-};
+-
+-
+-/* These are the subfunction flags described in the FPMapName command, p.286.
+- Note that this is different than what's described on p. 186. */
+-
+-enum {
+-kNameToUserID = 1,
+-kNameToGroupID = 2,
+-kUTF8NameToUserID = 3,
+-kUTF8NameToGroupID = 4,
+-kUTF8NameToUserUUID = 5,
+-kUTF8NameToGroupUUID = 6
+-};
+-
+-/* These are bits for FPGetUserInfo, p.173. */
+-#define kFPGetUserInfo_USER_ID 1
+-#define kFPGetUserInfo_PRI_GROUPID 2
+-
+-/* Flags for the replies of GetSrvrInfo and DSI GetStatus, p.240 */
+-
+-enum {
+- kSupportsCopyfile = 0x01,
+- kSupportsChgPwd = 0x02,
+- kDontAllowSavePwd = 0x04,
+- kSupportsSrvrMsg = 0x08,
+- kSrvrSig = 0x10,
+- kSupportsTCP = 0x20,
+- kSupportsSrvrNotify = 0x40,
+- kSupportsReconnect = 0x80,
+- kSupportsDirServices = 0x100,
+- kSupportsUTF8SrvrName = 0x200,
+- kSupportsUUIDs = 0x400,
+- kSupportsSuperClient = 0x8000
+-};
+-
+-
+-/* p.247 */
+-
+-enum {
+- kLoginWithoutID = 0,
+- kLoginWithID = 1,
+- kReconnWithID = 2,
+- kLoginWithTimeAndID = 3,
+- kReconnWithTimeAndID = 4,
+- kRecon1Login = 5,
+- kRecon1ReconnectLogin = 6,
+- kRecon1Refresh = 7, kGetKerberosSessionKey = 8
+-};
+-
+-
+-#define AFP_CHMOD_ALLOWED_BITS_22 \
+- (S_IRUSR |S_IWUSR | S_IRGRP | S_IWGRP |S_IROTH | S_IWOTH | S_IFREG )
+-
+-
+-#endif
+-
+-
+-
+-
+diff -Naur afpfs-ng-0.8.1/include/codepage.h afpfs-ng-0.8.1.patch/include/codepage.h
+--- afpfs-ng-0.8.1/include/codepage.h 2007-09-23 16:21:30.000000000 +0200
++++ afpfs-ng-0.8.1.patch/include/codepage.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-#ifndef __CODE_PAGE_H_
+-#define __CODE_PAGE_H_
+-int convert_utf8dec_to_utf8pre(const char *src, int src_len,
+- char * dest, int dest_len);
+-int convert_utf8pre_to_utf8dec(const char * src, int src_len,
+- char * dest, int dest_len);
+-int convert_path_to_unix(char encoding, char * dest,
+- char * src, int dest_len);
+-int convert_path_to_afp(char encoding, char * dest,
+- char * src, int dest_len);
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/dsi.h afpfs-ng-0.8.1.patch/include/dsi.h
+--- afpfs-ng-0.8.1/include/dsi.h 2008-02-18 04:33:24.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/dsi.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,33 +0,0 @@
+-
+-#ifndef __DSI_H_
+-#define __DSI_H_
+-
+-#include "afp.h"
+-
+-struct dsi_request
+-{
+- unsigned short requestid;
+- unsigned char subcommand;
+- void * other;
+- unsigned char wait;
+- pthread_cond_t condition_cond;
+- struct dsi_request * next;
+- int return_code;
+-};
+-
+-int dsi_receive(struct afp_server * server, void * data, int size);
+-int dsi_getstatus(struct afp_server * server);
+-
+-int dsi_opensession(struct afp_server *server);
+-
+-int dsi_send(struct afp_server *server, char * msg, int size,int wait,unsigned char subcommand, void ** other);
+-struct dsi_session * dsi_create(struct afp_server *server);
+-int dsi_restart(struct afp_server *server);
+-int dsi_recv(struct afp_server * server);
+-
+-#define DSI_BLOCK_TIMEOUT -1
+-#define DSI_DONT_WAIT 0
+-#define DSI_DEFAULT_TIMEOUT 5
+-
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/libafpclient.h afpfs-ng-0.8.1.patch/include/libafpclient.h
+--- afpfs-ng-0.8.1/include/libafpclient.h 2008-01-30 05:37:59.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/libafpclient.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,50 +0,0 @@
+-
+-#ifndef __CLIENT_H_
+-#define __CLIENT_H_
+-
+-#include <unistd.h>
+-#include <syslog.h>
+-
+-#define MAX_CLIENT_RESPONSE 2048
+-
+-
+-enum loglevels {
+- AFPFSD,
+-};
+-
+-struct afp_server;
+-struct afp_volume;
+-
+-struct libafpclient {
+- int (*unmount_volume) (struct afp_volume * volume);
+- void (*log_for_client)(void * priv,
+- enum loglevels loglevel, int logtype, const char *message);
+- void (*forced_ending_hook)(void);
+- int (*scan_extra_fds)(int command_fd,fd_set *set, int * max_fd);
+- void (*loop_started)(void);
+-} ;
+-
+-extern struct libafpclient * libafpclient;
+-
+-void libafpclient_register(struct libafpclient * tmpclient);
+-
+-
+-void signal_main_thread(void);
+-
+-/* These are logging functions */
+-
+-#define MAXLOGSIZE 2048
+-
+-#define LOG_METHOD_SYSLOG 1
+-#define LOG_METHOD_STDOUT 2
+-
+-void set_log_method(int m);
+-
+-
+-void log_for_client(void * priv,
+- enum loglevels loglevel, int logtype, char * message,...);
+-
+-void stdout_log_for_client(void * priv,
+- enum loglevels loglevel, int logtype, const char *message);
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/Makefile.am afpfs-ng-0.8.1.patch/include/Makefile.am
+--- afpfs-ng-0.8.1/include/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/Makefile.am 2011-09-10 12:13:50.126124692 +0200
+@@ -0,0 +1,3 @@
++## Process this file with automake to produce Makefile.in
++
++SUBDIRS = afpfs-ng
+diff -Naur afpfs-ng-0.8.1/include/map_def.h afpfs-ng-0.8.1.patch/include/map_def.h
+--- afpfs-ng-0.8.1/include/map_def.h 2008-01-17 05:55:46.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/map_def.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,15 +0,0 @@
+-#ifndef __MAP_H_
+-#define __MAP_H_
+-
+-#include "afp.h"
+-
+-#define AFP_MAPPING_UNKNOWN 0
+-#define AFP_MAPPING_COMMON 1
+-#define AFP_MAPPING_LOGINIDS 2
+-#define AFP_MAPPING_NAME 3
+-
+-unsigned int map_string_to_num(char * name);
+-char * get_mapping_name(struct afp_volume * volume);
+-
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/midlevel.h afpfs-ng-0.8.1.patch/include/midlevel.h
+--- afpfs-ng-0.8.1/include/midlevel.h 2007-12-24 20:39:25.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/midlevel.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,64 +0,0 @@
+-#ifndef __MIDLEVEL_H_
+-#define __MIDLEVEL_H_
+-
+-#include <utime.h>
+-#include "afp.h"
+-
+-int ml_open(struct afp_volume * volume, const char *path, int flags,
+- struct afp_file_info **newfp);
+-
+-int ml_creat(struct afp_volume * volume, const char *path,mode_t mode);
+-
+-int ml_readdir(struct afp_volume * volume,
+- const char *path,
+- struct afp_file_info **base);
+-
+-int ml_read(struct afp_volume * volume, const char *path,
+- char *buf, size_t size, off_t offset,
+- struct afp_file_info *fp, int * eof);
+-
+-int ml_chmod(struct afp_volume * vol, const char * path, mode_t mode);
+-
+-int ml_unlink(struct afp_volume * vol, const char *path);
+-
+-int ml_mkdir(struct afp_volume * vol, const char * path, mode_t mode);
+-
+-int ml_close(struct afp_volume * volume, const char * path,
+- struct afp_file_info * fp);
+-
+-int ml_getattr(struct afp_volume * volume, const char *path,
+- struct stat *stbuf);
+-
+-int ml_write(struct afp_volume * volume, const char * path,
+- const char *data, size_t size, off_t offset,
+- struct afp_file_info * fp, uid_t uid,
+- gid_t gid);
+-
+-int ml_readlink(struct afp_volume * vol, const char * path,
+- char *buf, size_t size);
+-
+-int ml_rmdir(struct afp_volume * vol, const char *path);
+-
+-int ml_chown(struct afp_volume * vol, const char * path,
+- uid_t uid, gid_t gid);
+-
+-int ml_truncate(struct afp_volume * vol, const char * path, off_t offset);
+-
+-int ml_utime(struct afp_volume * vol, const char * path,
+- struct utimbuf * timebuf);
+-
+-int ml_symlink(struct afp_volume *vol, const char * path1, const char * path2);
+-
+-int ml_rename(struct afp_volume * vol,
+- const char * path_from, const char * path_to);
+-
+-int ml_statfs(struct afp_volume * vol, const char *path, struct statvfs *stat);
+-
+-void afp_ml_filebase_free(struct afp_file_info **filebase);
+-
+-int ml_passwd(struct afp_server *server,
+- char * username, char * oldpasswd, char * newpasswd);
+-
+-
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/uams_def.h afpfs-ng-0.8.1.patch/include/uams_def.h
+--- afpfs-ng-0.8.1/include/uams_def.h 2007-09-07 15:10:51.000000000 +0200
++++ afpfs-ng-0.8.1.patch/include/uams_def.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,16 +0,0 @@
+-#ifndef __UAM_DEFS_H_
+-#define __UAM_DEFS_H_
+-
+-#define UAM_NOUSERAUTHENT 0x1
+-#define UAM_CLEARTXTPASSWRD 0x2
+-#define UAM_RANDNUMEXCHANGE 0x4
+-#define UAM_2WAYRANDNUM 0x8
+-#define UAM_DHCAST128 0x10
+-#define UAM_CLIENTKRB 0x20
+-#define UAM_DHX2 0x40
+-#define UAM_RECON1 0x80
+-
+-int uam_string_to_bitmap(char * name);
+-char * uam_bitmap_to_string(unsigned int bitmap);
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/utils.h afpfs-ng-0.8.1.patch/include/utils.h
+--- afpfs-ng-0.8.1/include/utils.h 2008-02-18 04:33:58.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/utils.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,43 +0,0 @@
+-#ifndef __UTILS_H_
+-#define __UTILS_H_
+-#include <stdio.h>
+-
+-#include "afp.h"
+-
+-#if BYTE_ORDER == BIG_ENDIAN
+-#define hton64(x) (x)
+-#define ntoh64(x) (x)
+-#else /* BYTE_ORDER == BIG_ENDIAN */
+-#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \
+- (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32))
+-#define ntoh64(x) (hton64(x))
+-#endif /* BYTE_ORDER == BIG_ENDIAN */
+-
+-#define min(a,b) (((a)<(b)) ? (a) : (b))
+-#define max(a,b) (((a)>(b)) ? (a) : (b))
+-
+-
+-
+-unsigned char unixpath_to_afppath(
+- struct afp_server * server,
+- char * buf);
+-
+-unsigned char sizeof_path_header(struct afp_server * server);
+-
+-
+-
+-unsigned char copy_from_pascal(char *dest, char *pascal,unsigned int max_len) ;
+-unsigned short copy_from_pascal_two(char *dest, char *pascal,unsigned int max_len);
+-
+-unsigned char copy_to_pascal(char *dest, const char *src);
+-unsigned short copy_to_pascal_two(char *dest, const char *src);
+-
+-void copy_path(struct afp_server * server, char * dest, const char * pathname, unsigned char len);
+-
+-
+-char * create_path(struct afp_server * server, char * pathname, unsigned short * len);
+-
+-
+-int invalid_filename(struct afp_server * server, const char * filename);
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/lib/afp.c afpfs-ng-0.8.1.patch/lib/afp.c
+--- afpfs-ng-0.8.1/lib/afp.c 2008-03-08 03:44:16.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/afp.c 2011-09-10 12:13:50.131124759 +0200
+@@ -9,7 +9,7 @@
+
+
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+ #include <config.h>
+
+ #include <stdio.h>
+@@ -21,17 +21,17 @@
+ #include <sys/socket.h>
+ #include <errno.h>
+
+-#include "afp_protocol.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "server.h"
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+ #include "dsi_protocol.h"
+-#include "utils.h"
++#include "afpfs-ng/utils.h"
+ #include "afp_replies.h"
+ #include "afp_internal.h"
+ #include "did.h"
+ #include "forklist.h"
+-#include "codepage.h"
++#include "afpfs-ng/codepage.h"
+
+ struct afp_versions afp_versions[] = {
+ { "AFPVersion 1.1", 11 },
+diff -Naur afpfs-ng-0.8.1/lib/afp_internal.h afpfs-ng-0.8.1.patch/lib/afp_internal.h
+--- afpfs-ng-0.8.1/lib/afp_internal.h 2007-11-09 05:27:20.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/afp_internal.h 2011-09-10 12:13:50.132124772 +0200
+@@ -1,7 +1,7 @@
+ #ifndef _AFP_INTERNAL_H_
+ #define _AFP_INTERNAL_H_
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ extern struct afp_versions afp_versions[];
+
+diff -Naur afpfs-ng-0.8.1/lib/afp_url.c afpfs-ng-0.8.1.patch/lib/afp_url.c
+--- afpfs-ng-0.8.1/lib/afp_url.c 2008-03-04 21:16:49.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/afp_url.c 2011-09-10 12:13:50.132124772 +0200
+@@ -3,7 +3,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <errno.h>
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ void afp_default_url(struct afp_url *url)
+ {
+diff -Naur afpfs-ng-0.8.1/lib/client.c afpfs-ng-0.8.1.patch/lib/client.c
+--- afpfs-ng-0.8.1/lib/client.c 2008-02-18 04:36:30.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/client.c 2011-09-10 12:13:50.132124772 +0200
+@@ -1,5 +1,5 @@
+-#include <afp.h>
+-#include <libafpclient.h>
++#include <afpfs-ng/afp.h>
++#include <afpfs-ng/libafpclient.h>
+
+
+ struct libafpclient * libafpclient = NULL;
+diff -Naur afpfs-ng-0.8.1/lib/codepage.c afpfs-ng-0.8.1.patch/lib/codepage.c
+--- afpfs-ng-0.8.1/lib/codepage.c 2008-02-18 04:36:54.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/codepage.c 2011-09-10 12:13:50.133124786 +0200
+@@ -14,8 +14,8 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include "afp_protocol.h"
+-#include "utils.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/utils.h"
+ #include "unicode.h"
+
+ int convert_utf8dec_to_utf8pre(const char *src, int src_len,
+diff -Naur afpfs-ng-0.8.1/lib/connect.c afpfs-ng-0.8.1.patch/lib/connect.c
+--- afpfs-ng-0.8.1/lib/connect.c 2008-02-18 04:38:59.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/connect.c 2011-09-10 12:13:50.133124786 +0200
+@@ -10,13 +10,13 @@
+ #include <string.h>
+ #include <sys/socket.h>
+
+-#include "afp.h"
+-#include "dsi.h"
+-#include "utils.h"
+-#include "uams_def.h"
+-#include "codepage.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/uams_def.h"
++#include "afpfs-ng/codepage.h"
+ #include "users.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "server.h"
+
+
+diff -Naur afpfs-ng-0.8.1/lib/did.c afpfs-ng-0.8.1.patch/lib/did.c
+--- afpfs-ng-0.8.1/lib/did.c 2008-02-18 04:39:17.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/did.c 2011-09-10 12:13:50.133124786 +0200
+@@ -9,8 +9,8 @@
+ #include <string.h>
+ #include <stdio.h>
+
+-#include "afp.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/afp_protocol.h"
+
+ #undef DID_CACHE_DISABLE
+
+diff -Naur afpfs-ng-0.8.1/lib/dsi.c afpfs-ng-0.8.1.patch/lib/dsi.c
+--- afpfs-ng-0.8.1/lib/dsi.c 2008-02-18 04:53:03.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/dsi.c 2011-09-10 12:13:50.134124800 +0200
+@@ -19,12 +19,12 @@
+ #include <signal.h>
+ #include <iconv.h>
+
+-#include "utils.h"
+-#include "dsi.h"
+-#include "afp.h"
+-#include "uams_def.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/uams_def.h"
+ #include "dsi_protocol.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "afp_internal.h"
+ #include "afp_replies.h"
+
+diff -Naur afpfs-ng-0.8.1/lib/forklist.c afpfs-ng-0.8.1.patch/lib/forklist.c
+--- afpfs-ng-0.8.1/lib/forklist.c 2008-01-17 05:49:16.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/forklist.c 2011-09-10 12:13:50.135124814 +0200
+@@ -10,7 +10,7 @@
+ */
+
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ #include <stdlib.h>
+ #include <pthread.h>
+diff -Naur afpfs-ng-0.8.1/lib/log.c afpfs-ng-0.8.1.patch/lib/log.c
+--- afpfs-ng-0.8.1/lib/log.c 2008-01-30 05:37:58.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/log.c 2011-09-10 12:13:50.135124814 +0200
+@@ -3,7 +3,7 @@
+ #include <stdarg.h>
+ #include <string.h>
+ #include <stdlib.h>
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+
+ void log_for_client(void * priv,
+ enum loglevels loglevel, int logtype, char *format, ...) {
+diff -Naur afpfs-ng-0.8.1/lib/loop.c afpfs-ng-0.8.1.patch/lib/loop.c
+--- afpfs-ng-0.8.1/lib/loop.c 2008-02-18 04:40:11.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/loop.c 2011-09-10 12:13:50.135124814 +0200
+@@ -16,9 +16,9 @@
+ #include <sys/time.h>
+ #include <signal.h>
+
+-#include "afp.h"
+-#include "dsi.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/utils.h"
+
+ #define SIGNAL_TO_USE SIGUSR2
+
+diff -Naur afpfs-ng-0.8.1/lib/lowlevel.c afpfs-ng-0.8.1.patch/lib/lowlevel.c
+--- afpfs-ng-0.8.1/lib/lowlevel.c 2008-02-20 02:33:17.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/lowlevel.c 2011-09-10 12:13:50.136124828 +0200
+@@ -19,10 +19,10 @@
+ #else
+ #include <fcntl.h>
+ #endif
+-#include "afp.h"
+-#include "afp_protocol.h"
+-#include "codepage.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/codepage.h"
++#include "afpfs-ng/utils.h"
+ #include "did.h"
+ #include "users.h"
+
+diff -Naur afpfs-ng-0.8.1/lib/map_def.c afpfs-ng-0.8.1.patch/lib/map_def.c
+--- afpfs-ng-0.8.1/lib/map_def.c 2007-09-07 15:10:59.000000000 +0200
++++ afpfs-ng-0.8.1.patch/lib/map_def.c 2011-09-10 12:13:50.136124828 +0200
+@@ -1,6 +1,6 @@
+ #include <string.h>
+-#include "afp.h"
+-#include "map_def.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/map_def.h"
+
+ static char *afp_map_strings[] = {
+ "Unknown",
+diff -Naur afpfs-ng-0.8.1/lib/meta.c afpfs-ng-0.8.1.patch/lib/meta.c
+--- afpfs-ng-0.8.1/lib/meta.c 2008-01-04 04:52:44.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/meta.c 2011-09-10 12:13:50.137124841 +0200
+@@ -17,10 +17,10 @@
+ #include <unistd.h>
+ #include <sys/time.h>
+
+-#include "afp.h"
+-#include "dsi.h"
+-#include "afp_protocol.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/utils.h"
+
+
+ int afp_meta_getattr(const char *path, struct stat *stbuf)
+diff -Naur afpfs-ng-0.8.1/lib/midlevel.c afpfs-ng-0.8.1.patch/lib/midlevel.c
+--- afpfs-ng-0.8.1/lib/midlevel.c 2008-03-08 17:08:18.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/midlevel.c 2011-09-10 12:13:50.160125150 +0200
+@@ -10,7 +10,7 @@
+ */
+
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ #include <sys/stat.h>
+ #include <string.h>
+@@ -28,9 +28,9 @@
+ #include "users.h"
+ #include "did.h"
+ #include "resource.h"
+-#include "utils.h"
+-#include "codepage.h"
+-#include "midlevel.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/codepage.h"
++#include "afpfs-ng/midlevel.h"
+ #include "afp_internal.h"
+ #include "forklist.h"
+ #include "uams.h"
+diff -Naur afpfs-ng-0.8.1/lib/proto_attr.c afpfs-ng-0.8.1.patch/lib/proto_attr.c
+--- afpfs-ng-0.8.1/lib/proto_attr.c 2008-01-30 05:37:58.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_attr.c 2011-09-10 12:13:50.168125257 +0200
+@@ -7,10 +7,10 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "dsi_protocol.h"
+
+ /* This is a new command, function 76. There are currently no docs, so this
+diff -Naur afpfs-ng-0.8.1/lib/proto_desktop.c afpfs-ng-0.8.1.patch/lib/proto_desktop.c
+--- afpfs-ng-0.8.1/lib/proto_desktop.c 2008-02-18 04:44:11.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_desktop.c 2011-09-10 12:13:50.168125257 +0200
+@@ -9,10 +9,10 @@
+ #include <string.h>
+ #include <stdlib.h>
+
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "dsi_protocol.h"
+
+ /* closedt, addicon, geticoninfo, addappl, removeappl */
+diff -Naur afpfs-ng-0.8.1/lib/proto_directory.c afpfs-ng-0.8.1.patch/lib/proto_directory.c
+--- afpfs-ng-0.8.1/lib/proto_directory.c 2008-02-19 03:39:29.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_directory.c 2011-09-10 12:13:50.168125257 +0200
+@@ -9,10 +9,10 @@
+ #include <string.h>
+ #include <stdlib.h>
+
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "dsi_protocol.h"
+ #include "afp_replies.h"
+
+diff -Naur afpfs-ng-0.8.1/lib/proto_files.c afpfs-ng-0.8.1.patch/lib/proto_files.c
+--- afpfs-ng-0.8.1/lib/proto_files.c 2008-02-18 04:46:18.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_files.c 2011-09-10 12:13:50.169125270 +0200
+@@ -8,11 +8,11 @@
+
+ #include <stdlib.h>
+ #include <string.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "afp_internal.h"
+
+ /* afp_setfileparms, afp_setdirparms and afpsetfiledirparms are all remarkably
+diff -Naur afpfs-ng-0.8.1/lib/proto_fork.c afpfs-ng-0.8.1.patch/lib/proto_fork.c
+--- afpfs-ng-0.8.1/lib/proto_fork.c 2008-01-30 05:37:58.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_fork.c 2011-09-10 12:13:50.169125270 +0200
+@@ -9,11 +9,11 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+
+ int afp_setforkparms(struct afp_volume * volume,
+ unsigned short forkid, unsigned short bitmap, unsigned long len)
+diff -Naur afpfs-ng-0.8.1/lib/proto_login.c afpfs-ng-0.8.1.patch/lib/proto_login.c
+--- afpfs-ng-0.8.1/lib/proto_login.c 2008-01-30 05:37:59.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_login.c 2011-09-10 12:13:50.169125270 +0200
+@@ -10,10 +10,10 @@
+
+ #include <stdlib.h>
+ #include <string.h>
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+ #include "dsi_protocol.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "afp_internal.h"
+
+
+diff -Naur afpfs-ng-0.8.1/lib/proto_map.c afpfs-ng-0.8.1.patch/lib/proto_map.c
+--- afpfs-ng-0.8.1/lib/proto_map.c 2008-01-30 05:37:59.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_map.c 2011-09-10 12:13:50.170125283 +0200
+@@ -9,11 +9,11 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+
+ /* This is used to pass the return values back from afp_getuserinfo_reply() */
+ struct uidgid {
+diff -Naur afpfs-ng-0.8.1/lib/proto_replyblock.c afpfs-ng-0.8.1.patch/lib/proto_replyblock.c
+--- afpfs-ng-0.8.1/lib/proto_replyblock.c 2008-02-18 04:46:19.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_replyblock.c 2011-09-10 12:13:50.170125283 +0200
+@@ -6,9 +6,9 @@
+ */
+
+ #include <string.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "afp_internal.h"
+
+
+diff -Naur afpfs-ng-0.8.1/lib/proto_server.c afpfs-ng-0.8.1.patch/lib/proto_server.c
+--- afpfs-ng-0.8.1/lib/proto_server.c 2008-02-19 02:56:21.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_server.c 2011-09-10 12:13:50.170125283 +0200
+@@ -7,12 +7,12 @@
+ */
+ #include <stdlib.h>
+ #include <string.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
+-#include "codepage.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/codepage.h"
+ #include "afp_internal.h"
+
+ int afp_getsrvrparms(struct afp_server *server)
+diff -Naur afpfs-ng-0.8.1/lib/proto_session.c afpfs-ng-0.8.1.patch/lib/proto_session.c
+--- afpfs-ng-0.8.1/lib/proto_session.c 2008-02-18 04:46:19.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_session.c 2011-09-10 12:13:50.170125283 +0200
+@@ -8,10 +8,10 @@
+ */
+ #include <stdlib.h>
+ #include <string.h>
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+ #include "dsi_protocol.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+
+ int afp_getsessiontoken(struct afp_server * server, int type,
+ unsigned int timestamp, struct afp_token *outgoing_token,
+diff -Naur afpfs-ng-0.8.1/lib/proto_volume.c afpfs-ng-0.8.1.patch/lib/proto_volume.c
+--- afpfs-ng-0.8.1/lib/proto_volume.c 2008-02-18 04:47:48.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_volume.c 2011-09-10 12:13:50.171125296 +0200
+@@ -8,13 +8,13 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "afp_internal.h"
+-#include "codepage.h"
++#include "afpfs-ng/codepage.h"
+
+ static int parse_volbitmap_reply(struct afp_server * server,
+ struct afp_volume * tmpvol,
+diff -Naur afpfs-ng-0.8.1/lib/resource.c afpfs-ng-0.8.1.patch/lib/resource.c
+--- afpfs-ng-0.8.1/lib/resource.c 2008-02-18 04:46:56.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/resource.c 2011-09-10 12:13:50.171125296 +0200
+@@ -3,11 +3,11 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+ #include "resource.h"
+ #include "lowlevel.h"
+ #include "did.h"
+-#include "midlevel.h"
++#include "afpfs-ng/midlevel.h"
+
+ #define appledouble ".AppleDouble"
+ #define finderinfo_string ".finderinfo"
+diff -Naur afpfs-ng-0.8.1/lib/server.c afpfs-ng-0.8.1.patch/lib/server.c
+--- afpfs-ng-0.8.1/lib/server.c 2008-02-19 02:56:21.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/server.c 2011-09-10 12:13:50.172125310 +0200
+@@ -8,15 +8,15 @@
+ #include <string.h>
+ #include <time.h>
+
+-#include "afp.h"
+-#include "dsi.h"
+-#include "utils.h"
+-#include "uams_def.h"
+-#include "codepage.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/uams_def.h"
++#include "afpfs-ng/codepage.h"
+ #include "users.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "afp_internal.h"
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+
+
+ struct afp_server * afp_server_complete_connection(
+diff -Naur afpfs-ng-0.8.1/lib/status.c afpfs-ng-0.8.1.patch/lib/status.c
+--- afpfs-ng-0.8.1/lib/status.c 2008-03-08 17:08:38.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/status.c 2011-09-10 12:13:50.172125310 +0200
+@@ -1,8 +1,8 @@
+ #include <string.h>
+ #include <stdio.h>
+-#include "map_def.h"
+-#include "dsi.h"
+-#include "afp.h"
++#include "afpfs-ng/map_def.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
+
+ int afp_status_header(char * text, int * len)
+ {
+diff -Naur afpfs-ng-0.8.1/lib/uams.c afpfs-ng-0.8.1.patch/lib/uams.c
+--- afpfs-ng-0.8.1/lib/uams.c 2008-01-04 04:52:44.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/uams.c 2011-09-10 12:13:50.173125324 +0200
+@@ -8,10 +8,10 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
+-#include "uams_def.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/uams_def.h"
+ #include "config.h"
+
+ #ifdef HAVE_LIBGCRYPT
+diff -Naur afpfs-ng-0.8.1/lib/users.c afpfs-ng-0.8.1.patch/lib/users.c
+--- afpfs-ng-0.8.1/lib/users.c 2008-02-18 04:48:56.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/users.c 2011-09-10 12:13:50.174125338 +0200
+@@ -3,8 +3,8 @@
+ #include <grp.h>
+ #include <string.h>
+
+-#include "afp.h"
+-#include "map_def.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/map_def.h"
+
+ /* How mapping works
+ *
+diff -Naur afpfs-ng-0.8.1/lib/utils.c afpfs-ng-0.8.1.patch/lib/utils.c
+--- afpfs-ng-0.8.1/lib/utils.c 2008-02-18 04:53:37.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/utils.c 2011-09-10 12:13:50.174125338 +0200
+@@ -8,10 +8,10 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "afp_internal.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+
+ struct afp_path_header_long {
+ unsigned char type;
+diff -Naur afpfs-ng-0.8.1/Makefile.am afpfs-ng-0.8.1.patch/Makefile.am
+--- afpfs-ng-0.8.1/Makefile.am 2008-02-18 04:24:14.000000000 +0100
++++ afpfs-ng-0.8.1.patch/Makefile.am 2011-09-10 12:13:50.176125365 +0200
+@@ -1,5 +1,5 @@
+ if HAVE_LIBFUSE
+-SUBDIRS = lib fuse cmdline docs
++SUBDIRS = lib fuse cmdline include docs
+ else
+-SUBDIRS = lib cmdline docs
++SUBDIRS = lib cmdline include docs
+ endif
diff --git a/community/agave/PKGBUILD b/community/agave/PKGBUILD
new file mode 100644
index 000000000..458e721c6
--- /dev/null
+++ b/community/agave/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 68265 2012-03-20 22:39:06Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=agave
+pkgver=0.4.7
+pkgrel=4
+pkgdesc="Colorscheme designer tool for GNOME"
+arch=('i686' 'x86_64')
+url="http://home.gna.org/colorscheme/"
+license=('GPL')
+depends=('libglademm' 'gconfmm' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('gnome-doc-utils' 'intltool' 'boost')
+install=$pkgname.install
+source=("http://download.gna.org/colorscheme/releases/$pkgname-$pkgver.tar.bz2"
+ agave-0.4.7-mdv-fix-str-fmt.patch
+ schemebox.patch
+ drop-libgnome.patch)
+md5sums=('93097881f28dcae1eca2800a763f77c3'
+ 'd96ddfe751d8fd4d13a443b94fafb0b6'
+ 'c41adfd52ecbf837f4338e67693640fc'
+ '7419d23329f847dcde12baa467b52135')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/agave-0.4.7-mdv-fix-str-fmt.patch" # Fedora patch
+ patch -Np1 -i "$srcdir/schemebox.patch" # gcs-schemebox patch
+ patch -Np1 -i "$srcdir/drop-libgnome.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-scrollkeeper --disable-gnome --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/agave/agave-0.4.7-mdv-fix-str-fmt.patch b/community/agave/agave-0.4.7-mdv-fix-str-fmt.patch
new file mode 100644
index 000000000..7487a0c4d
--- /dev/null
+++ b/community/agave/agave-0.4.7-mdv-fix-str-fmt.patch
@@ -0,0 +1,12 @@
+diff -p -up agave-0.4.7/src/dialogs/gcs-about-window.cc.strfmt agave-0.4.7/src/dialogs/gcs-about-window.cc
+--- agave-0.4.7/src/dialogs/gcs-about-window.cc.strfmt 2009-11-25 15:00:03.000000000 +0100
++++ agave-0.4.7/src/dialogs/gcs-about-window.cc 2009-11-25 15:31:43.000000000 +0100
+@@ -105,7 +105,7 @@ namespace gcs
+ catch (const Glib::Error& e)
+ {
+ Glib::ustring message = "Couldn't load Agave logo image from theme. " + e.what();
+- g_warning(message.c_str());
++ g_warning("%s", message.c_str());
+ }
+ }
+ }
diff --git a/community/agave/agave.install b/community/agave/agave.install
new file mode 100644
index 000000000..cb851dbc3
--- /dev/null
+++ b/community/agave/agave.install
@@ -0,0 +1,22 @@
+pkgname=agave
+
+post_install() {
+ gconfpkg --install ${pkgname}
+ xdg-icon-resource forceupdate
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ xdg-icon-resource forceupdate
+}
diff --git a/community/agave/drop-libgnome.patch b/community/agave/drop-libgnome.patch
new file mode 100644
index 000000000..5dd704e34
--- /dev/null
+++ b/community/agave/drop-libgnome.patch
@@ -0,0 +1,66 @@
+diff -Naur agave-0.4.4.orig/src/dialogs/gcs-about-window.cc agave-0.4.4/src/dialogs/gcs-about-window.cc
+--- agave-0.4.4.orig/src/dialogs/gcs-about-window.cc 2007-11-02 04:16:16.000000000 +0100
++++ agave-0.4.4/src/dialogs/gcs-about-window.cc 2012-03-20 22:01:55.835021376 +0100
+@@ -26,9 +26,6 @@
+ #include <cstring> // for strlen()
+
+ #include <config.h>
+-#ifdef HAVE_GNOME
+-#include <libgnome/gnome-url.h>
+-#endif // HAVE_GNOME
+
+ #include <gtkmm/icontheme.h>
+
+@@ -46,11 +43,8 @@
+ {
+ set_name(PACKAGE_NAME);
+
+-#ifdef HAVE_GNOME
+- set_url_hook(sigc::mem_fun(*this, &AboutWindow::on_link_clicked));
+ set_website(PACKAGE_WEBSITE);
+ set_website_label(_("Project Website"));
+-#endif // HAVE_GNOME
+
+ Glib::ustring version(PACKAGE_VERSION);
+ set_version(version);
+@@ -112,15 +106,6 @@
+
+
+ void
+- AboutWindow::on_link_clicked(Gtk::AboutDialog& dialog,
+- const Glib::ustring& link)
+- {
+-#ifdef HAVE_GNOME
+- gnome_url_show(link.c_str(), 0);
+-#endif // HAVE_GNOME
+- }
+-
+- void
+ AboutWindow::on_response(int response_id)
+ {
+ if (response_id == Gtk::RESPONSE_DELETE_EVENT ||
+diff -Naur agave-0.4.4.orig/src/gcs-mainwindow-actions.cc agave-0.4.4/src/gcs-mainwindow-actions.cc
+--- agave-0.4.4.orig/src/gcs-mainwindow-actions.cc 2007-11-02 04:01:16.000000000 +0100
++++ agave-0.4.4/src/gcs-mainwindow-actions.cc 2012-03-20 22:01:10.637760066 +0100
+@@ -25,7 +25,6 @@
+
+ #include <vector>
+ #include <gtk/gtk.h>
+-#include <libgnome/gnome-help.h>
+ #include <gtkmm/iconfactory.h>
+ #include <gtkmm/stock.h>
+ #include <gtkmm/clipboard.h>
+@@ -251,9 +250,10 @@
+ /* Help Menu Actions */
+ void MainWindow::on_action_help_contents(void)
+ {
+- gnome_help_display("agave.xml",
+- NULL /* link id */,
+- NULL /* GError */);
++ gtk_show_uri (NULL,
++ "ghelp:agave",
++ gtk_get_current_event_time (),
++ NULL);
+ }
+
+
diff --git a/community/agave/schemebox.patch b/community/agave/schemebox.patch
new file mode 100644
index 000000000..c00a867de
--- /dev/null
+++ b/community/agave/schemebox.patch
@@ -0,0 +1,11 @@
+--- agave-0.4.7/src/widgets/gcs-schemebox.cc 2008-02-25 21:07:02.000000000 -0600
++++ agave-0.4.7/src/widgets/gcs-schemebox.cc.new 2010-05-24 00:28:51.000000000 -0500
+@@ -45,7 +45,7 @@ namespace gcs
+
+ SchemeBox::SchemeBox(Scheme schm)
+ {
+- SchemeBox::SchemeBox();
++ SchemeBox();
+ set_scheme(schm);
+ }
+
diff --git a/community/agg/PKGBUILD b/community/agg/PKGBUILD
new file mode 100644
index 000000000..7a50506a2
--- /dev/null
+++ b/community/agg/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 55569 2011-09-14 10:30:07Z andrea $
+# Maintainer: Jonathan Conder <jonno dot conder at gmail dot com>
+
+pkgname=agg
+pkgver=2.5
+pkgrel=4
+pkgdesc="A High Quality Rendering Engine for C++"
+arch=('i686' 'x86_64')
+url="http://www.antigrain.com/"
+license=('GPL')
+depends=('gcc-libs' 'sdl' 'freetype2')
+provides=('antigrain')
+replaces=('antigrain')
+options=('!libtool' '!makeflags')
+source=("http://www.antigrain.com/${pkgname}-${pkgver}.tar.gz"
+ agg-2.4-depends.patch
+ agg-2.5-pkgconfig.patch)
+md5sums=('0229a488bc47be10a2fee6cf0b2febd6'
+ '22f8e48c137d25038181c86d5e40b110'
+ '43a19a7b1564c591e56c8d09a0fd8da5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/agg-2.4-depends.patch"
+ patch -Np1 -i "${srcdir}/agg-2.5-pkgconfig.patch"
+ sh ./autogen.sh
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/agg/agg-2.4-depends.patch b/community/agg/agg-2.4-depends.patch
new file mode 100644
index 000000000..9d4f6e309
--- /dev/null
+++ b/community/agg/agg-2.4-depends.patch
@@ -0,0 +1,48 @@
+--- agg-2.4.orig/font_freetype/Makefile.am 2005-10-18 11:45:40.000000000 +0100
++++ agg-2.4/font_freetype/Makefile.am 2006-07-10 15:11:55.000000000 +0100
+@@ -4,8 +4,9 @@
+ agginclude_HEADERS = agg_font_freetype.h
+ lib_LTLIBRARIES = libaggfontfreetype.la
+
+-libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @FREETYPE_LIBS@
++libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@
+ libaggfontfreetype_la_SOURCES = agg_font_freetype.cpp
+ libaggfontfreetype_la_CXXFLAGS = -I$(top_srcdir)/include @FREETYPE_CFLAGS@
++libaggfontfreetype_la_LIBADD = ../src/libagg.la @FREETYPE_LIBS@
+ endif
+
+--- agg-2.4.orig/src/platform/sdl/Makefile.am 2005-10-17 23:49:35.000000000 +0100
++++ agg-2.4/src/platform/sdl/Makefile.am 2006-07-10 15:11:55.000000000 +0100
+@@ -5,6 +5,6 @@
+ libaggplatformsdl_la_LDFLAGS = -version-info @AGG_LIB_VERSION@
+ libaggplatformsdl_la_SOURCES = agg_platform_support.cpp
+ libaggplatformsdl_la_CXXFLAGS = -I$(top_srcdir)/include @SDL_CFLAGS@
+-libaggplatformsdl_la_LIBADD = @SDL_LIBS@
++libaggplatformsdl_la_LIBADD = ../../libagg.la @SDL_LIBS@
+ endif
+
+--- agg-2.5.orig/configure.in 2006-10-09 05:06:36.000000000 +0100
++++ agg-2.5/configure.in 2007-01-07 14:07:39.000000000 +0000
+@@ -122,7 +122,8 @@
+ fi
+ AM_CONDITIONAL(ENABLE_X11,[test x$no_x = x -a xno != x$enable_platform -a x$win32_host != xyes])
+ AC_SUBST(x_includes)
+-AC_SUBST(x_libraries)
++test -n "$x_libraries" && X_LDFLAGS="-L$x_libraries"
++AC_SUBST(X_LDFLAGS)
+ dnl ###############################################
+
+ dnl Settung up library version
+--- agg-2.5.orig/src/platform/X11/Makefile.am 2006-12-11 00:59:45.000000000 +0000
++++ agg-2.5/src/platform/X11/Makefile.am 2007-01-07 14:07:39.000000000 +0000
+@@ -1,8 +1,8 @@
+ if ENABLE_X11
+ lib_LTLIBRARIES = libaggplatformX11.la
+
+-libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ -L@x_libraries@
++libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @X_LDFLAGS@
+ libaggplatformX11_la_SOURCES = agg_platform_support.cpp
+ libaggplatformX11_la_CXXFLAGS = -I$(top_srcdir)/include -I@x_includes@
+-libaggplatformX11_la_LIBADD = -lX11
++libaggplatformX11_la_LIBADD = ../../libagg.la -lX11
+ endif
diff --git a/community/agg/agg-2.5-pkgconfig.patch b/community/agg/agg-2.5-pkgconfig.patch
new file mode 100644
index 000000000..a303bfb90
--- /dev/null
+++ b/community/agg/agg-2.5-pkgconfig.patch
@@ -0,0 +1,10 @@
+--- agg-2.5/libagg.pc.in.orig 2007-01-07 13:58:28.000000000 +0000
++++ agg-2.5/libagg.pc.in 2007-01-07 14:02:40.000000000 +0000
+@@ -6,5 +6,6 @@
+ Name: libagg
+ Description: Anti Grain Geometry - A High Quality Rendering Engine for C++
+ Version: @VERSION@
+-Libs: -L${libdir} -Wl,-rpath,${exec_prefix}/lib -lagg
++Requires.private: freetype2
++Libs: -L${libdir} -lagg
+ Cflags: -I${includedir}
diff --git a/community/agsync/PKGBUILD b/community/agsync/PKGBUILD
new file mode 100644
index 000000000..da0d64a16
--- /dev/null
+++ b/community/agsync/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65031 2012-02-20 02:09:59Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=agsync
+pkgver=0.2_pre
+_xpkgver=${pkgver/_/-}
+pkgrel=4
+pkgdesc="AvantGo sync plugin"
+arch=('i686' 'x86_64')
+url="http://duskwood.lownewulf.com/"
+license=("GPL")
+depends=('synce-librapi')
+makedepends=('synce-libsynce')
+source=(http://duskwood.lownewulf.com/$pkgname-$_xpkgver.tgz)
+md5sums=('74de1b1452a718c85364fab5ce3c0c2a')
+
+build() {
+ cd $srcdir/$pkgname-$_xpkgver
+ make
+ mkdir -p $pkgdir/usr/{bin,lib,include}
+ cp agsync $pkgdir/usr/bin/
+ cp mal-files/mal-funcs.a $pkgdir/usr/lib/
+ cp mal-files/AG{Net,Types}.h $pkgdir/usr/include/
+}
diff --git a/community/aiccu/02-allow-tunnels.patch b/community/aiccu/02-allow-tunnels.patch
new file mode 100644
index 000000000..ec1c1dade
--- /dev/null
+++ b/community/aiccu/02-allow-tunnels.patch
@@ -0,0 +1,61 @@
+commit d7c4f7c0d34b80c188fa45228ca282fd8771a41d
+Author: Norman Rasmussen <norman@rasmussen.co.za>
+Date: Sun Jan 10 21:45:55 2010 +0000
+
+ Allow 'tunnels' mode when there's an already running instance.
+
+diff --git a/unix-console/main.c b/unix-console/main.c
+index 8a4d9a9..388d988 100755
+--- a/unix-console/main.c
++++ b/unix-console/main.c
+@@ -50,7 +50,7 @@ int sigrunning(int sig)
+ /* Close the file again */
+ fclose(f);
+
+- /* If we can HUP it, it still runs */
++ /* If we can signal it, it still runs */
+ return (pid > 0 && kill(pid, sig) == 0 ? 1 : 0);
+ }
+
+@@ -302,20 +302,6 @@ int main(int argc, char *argv[])
+ return -1;
+ }
+
+-#ifndef _WIN32
+- /* start or stop? */
+- if ( mode != A_TEST &&
+- mode != A_AUTOTEST)
+- {
+- /* Already running? */
+- if (sigrunning(mode == A_STOP ? SIGTERM : 0) == 1)
+- {
+- dolog(LOG_ERR, "Already running instance HUP'ed, exiting\n");
+- return 0;
+- }
+- }
+-#endif
+-
+ /* Verify required parameters */
+ if (!g_aiccu->username || !g_aiccu->password)
+ {
+@@ -331,6 +317,20 @@ int main(int argc, char *argv[])
+ return ret == 0 ? -1 : 0;
+ }
+
++#ifndef _WIN32
++ /* start or stop? */
++ if ( mode != A_TEST &&
++ mode != A_AUTOTEST)
++ {
++ /* Already running? */
++ if (sigrunning(mode == A_STOP ? SIGTERM : 0) == 1)
++ {
++ dolog(LOG_ERR, "Already running instance signaled, exiting\n");
++ return 0;
++ }
++ }
++#endif
++
+ /* Get our tunnel */
+ hTunnel = get_tunnel();
+
diff --git a/community/aiccu/03-no-quiet-gcc.patch b/community/aiccu/03-no-quiet-gcc.patch
new file mode 100644
index 000000000..27d14addf
--- /dev/null
+++ b/community/aiccu/03-no-quiet-gcc.patch
@@ -0,0 +1,16 @@
+It's better for us to see gcc output in the build log to ease debugging.
+Quiet builds make that much harder.
+
+Index: aiccu-20070115/unix-console/Makefile
+===================================================================
+--- aiccu-20070115.orig/unix-console/Makefile 2009-10-25 22:33:06.000000000 +0100
++++ aiccu-20070115/unix-console/Makefile 2009-10-25 22:33:12.000000000 +0100
+@@ -26,7 +26,7 @@
+
+ #CFLAGS += $(CWARNS) -D_GNU_SOURCE -D_DEBUG -g3 -O0
+ CFLAGS += $(CWARNS) -D_GNU_SOURCE
+-CC = @gcc
++CC = gcc
+ RM = rm
+
+ # Add -O3 when nothing is specified yet
diff --git a/community/aiccu/04-skip-strip.patch b/community/aiccu/04-skip-strip.patch
new file mode 100644
index 000000000..6249a0fe5
--- /dev/null
+++ b/community/aiccu/04-skip-strip.patch
@@ -0,0 +1,16 @@
+Index: aiccu-20070115/unix-console/Makefile
+===================================================================
+--- aiccu-20070115.orig/unix-console/Makefile 2009-10-25 22:31:57.000000000 +0100
++++ aiccu-20070115/unix-console/Makefile 2009-10-25 22:32:04.000000000 +0100
+@@ -145,11 +145,6 @@
+
+ aiccu: $(OBJS) ${SRCS} ${INCS}
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS)
+-ifeq ($(shell echo $(CFLAGS) | grep -c "DEBUG"),0)
+-ifeq ($(shell echo "$(RPM_OPT_FLAGS)" | wc -c),1)
+- strip $@
+-endif
+-endif
+
+ clean:
+ $(RM) -f $(OBJS) aiccu
diff --git a/community/aiccu/05-spelling-error.patch b/community/aiccu/05-spelling-error.patch
new file mode 100644
index 000000000..832dbf9ce
--- /dev/null
+++ b/community/aiccu/05-spelling-error.patch
@@ -0,0 +1,46 @@
+Fix some spelling errors to satisfy lintian
+
+--- aiccu.orig/common/aiccu_test.c
++++ aiccu/common/aiccu_test.c
+@@ -133,7 +133,7 @@
+ printf("### This confirms the reachability of the other side of the tunnel\n");
+ printf("### If it doesn't reply then check your interface and routing tables\n");
+ printf("### Don't forget to check your firewall of course\n");
+- printf("### If the previous test was succesful then this could be both\n");
++ printf("### If the previous test was successful then this could be both\n");
+ printf("### a firewalling and a routing/interface problem\n");
+ printf("\n");
+ system_arg(PING6, PINGCOUNT, hTunnel->sIPv6_POP);
+--- aiccu.orig/common/common.c
++++ aiccu/common/common.c
+@@ -484,7 +484,7 @@
+ return false;
+ }
+
+- dolog(LOG_DEBUG, "TLS Handshake completed succesfully\n");
++ dolog(LOG_DEBUG, "TLS Handshake completed successfully\n");
+
+ sock->tls_active = true;
+ return true;
+--- aiccu.orig/common/tic.c
++++ aiccu/common/tic.c
+@@ -517,8 +517,8 @@
+ struct in6_addr ipv6_ll, ipv6_local;
+ char ll[100];
+
+- /* Log that the fetch was succesful */
+- dolog(LOG_INFO, "Succesfully retrieved tunnel information for %s\n", sId);
++ /* Log that the fetch was successful */
++ dolog(LOG_INFO, "Successfully retrieved tunnel information for %s\n", sId);
+
+ /*
+ * Some TUN/TAP devices don't have any
+@@ -652,7 +652,7 @@
+ /* All went okay? */
+ if (buf[0] == '2' && buf[1] == '0' && buf[2] == '2')
+ {
+- dolog(LOG_INFO, "Succesfully retrieved POP information for %s\n", sId);
++ dolog(LOG_INFO, "Successfully retrieved POP information for %s\n", sId);
+ return pop;
+ }
+
diff --git a/community/aiccu/06-setup-script.patch b/community/aiccu/06-setup-script.patch
new file mode 100644
index 000000000..26010f809
--- /dev/null
+++ b/community/aiccu/06-setup-script.patch
@@ -0,0 +1,40 @@
+Author: Norman Rasmussen <norman@rasmussen.co.za>
+
+ Make setupscript work and add teardownscript setting.
+
+--- aiccu.orig/common/aiccu.c
++++ aiccu/common/aiccu.c
+@@ -212,9 +212,6 @@
+ fprintf(f, "# Try to automatically login and setup the tunnel?\n");
+ fprintf(f, "automatic %s\n", g_aiccu->automatic ? "true" : "false");
+ fprintf(f, "\n");
+- fprintf(f, "# Script to run after setting up the interfaces (default: none)\n");
+- fprintf(f, "%ssetupscript %s\n", g_aiccu->setupscript ? "" : "#", g_aiccu->setupscript ? g_aiccu->setupscript : "<path>");
+- fprintf(f, "\n");
+ fprintf(f, "# TLS Required?\n");
+ fprintf(f, "requiretls %s\n", g_aiccu->requiretls ? "true" : "false");
+ fprintf(f, "\n");
+@@ -231,6 +228,9 @@
+ fprintf(f, "# PID File\n");
+ fprintf(f, "pidfile %s\n", g_aiccu->pidfile);
+ fprintf(f, "\n");
++ fprintf(f, "# Script to run after setting up the interfaces (default: none)\n");
++ fprintf(f, "%ssetupscript %s\n", g_aiccu->setupscript ? "" : "#", g_aiccu->setupscript ? g_aiccu->setupscript : "<path>");
++ fprintf(f, "\n");
+ fprintf(f, "# Make heartbeats (default true)\n");
+ fprintf(f, "# In general you don't want to turn this off\n");
+ fprintf(f, "# Of course only applies to AYIYA and heartbeat tunnels not to static ones\n");
+--- aiccu.orig/unix-console/main.c
++++ aiccu/unix-console/main.c
+@@ -471,6 +471,11 @@
+ */
+ if (aiccu_setup(hTunnel, true))
+ {
++ if (g_aiccu->setupscript)
++ {
++ aiccu_exec("%s", g_aiccu->setupscript);
++ }
++
+ /* We need to stay running when doing Heartbeat or AYIYA */
+ if ( strcasecmp(hTunnel->sType, "6in4-heartbeat") == 0 ||
+ strcasecmp(hTunnel->sType, "ayiya") == 0)
diff --git a/community/aiccu/PKGBUILD b/community/aiccu/PKGBUILD
new file mode 100644
index 000000000..989bd574f
--- /dev/null
+++ b/community/aiccu/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 92564 2013-06-08 18:07:25Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgname=aiccu
+pkgver=20070115
+pkgrel=4
+pkgdesc='SixXS Automatic IPv6 Connectivity Client Utility'
+arch=('i686' 'x86_64')
+url='http://www.sixxs.net/tools/aiccu/'
+license=('custom')
+depends=('gnutls' 'iproute2')
+backup=('etc/aiccu.conf')
+source=("http://www.sixxs.net/archive/sixxs/aiccu/unix/${pkgname}_${pkgver}.tar.gz"
+ 'aiccu.service'
+ '02-allow-tunnels.patch'
+ '03-no-quiet-gcc.patch'
+ '04-skip-strip.patch'
+ '05-spelling-error.patch'
+ '06-setup-script.patch')
+md5sums=('c9bcc83644ed788e22a7c3f3d4021350'
+ '891b0fa527c1b847ce803dac047cf80d'
+ 'b9b2c0e7186f3f96366caaa39252dccc'
+ 'b38db1d95760cd9687330b7db5f4ea1d'
+ '6dfa2df27bb4859c7511bfea91337925'
+ '21a37c376ebfcf787c0e7ee8552053ac'
+ '98e73756609f4e09c45c4e5139fd5aed')
+
+prepare() {
+ cd $pkgname
+ for _p in "$srcdir"/*.patch; do
+ patch -p1 -i "$_p"
+ done
+}
+
+build() {
+ cd $pkgname
+ [[ $LDFLAGS ]] && LDFLAGS="$LDFLAGS,--no-as-needed"
+ make
+}
+
+package() {
+ install -Dm644 aiccu.service "$pkgdir/usr/lib/systemd/system/aiccu.service"
+ cd $pkgname
+ install -Dm755 unix-console/aiccu "$pkgdir/usr/bin/aiccu"
+ install -Dm640 doc/aiccu.conf "$pkgdir/etc/aiccu.conf"
+ install -Dm644 doc/aiccu.1 "$pkgdir/usr/share/man/man1/aiccu.1"
+ install -Dm644 doc/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -dm755 "$pkgdir/usr/share/doc/$pkgname"
+ install -m644 doc/{README,HOWTO,changelog} "$pkgdir/usr/share/doc/$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/aiccu/aiccu.service b/community/aiccu/aiccu.service
new file mode 100644
index 000000000..23f562ea0
--- /dev/null
+++ b/community/aiccu/aiccu.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=SixXS Automatic IPv6 Connectivity Configuration Utility
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/aiccu.pid
+ExecStart=/usr/bin/aiccu start
+ExecStop=/usr/bin/aiccu stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/aide/PKGBUILD b/community/aide/PKGBUILD
new file mode 100644
index 000000000..684526ddc
--- /dev/null
+++ b/community/aide/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 60050 2011-12-03 20:33:18Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Contributor: Thomas S Hatch <thatch45@gmail.copm>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=aide
+pkgver=0.15.1
+pkgrel=3
+pkgdesc='A file integrity checker and intrusion detection program.'
+arch=('i686' 'x86_64')
+url="http://www.cs.tut.fi/~rammer/aide.html"
+license=('GPL')
+makedepends=('mhash' 'elfutils')
+backup=('etc/aide.conf')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz \
+ aide.conf)
+md5sums=('d0b72535ff68b93a648e4d08b0ed7f07'
+ 'd3ac69ad7c12c1686f8accf2717139f6')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-mhash \
+ --with-posix-acl \
+ --with-prelink \
+ --with-xattr \
+ --with-zlib \
+ --with-e2fsattrs
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -D -m644 $srcdir/aide.conf $pkgdir/etc/aide.conf
+ mkdir -p $pkgdir/var/{log,lib}/aide/
+}
diff --git a/community/aide/aide.conf b/community/aide/aide.conf
new file mode 100644
index 000000000..b10f44bfa
--- /dev/null
+++ b/community/aide/aide.conf
@@ -0,0 +1,146 @@
+# Example configuration file for AIDE.
+#
+@@define DBDIR /var/lib/aide
+@@define LOGDIR /var/log/aide
+
+# The location of the database to be read.
+database=file:@@{DBDIR}/aide.db.gz
+
+# The location of the database to be written.
+#database_out=sql:host:port:database:login_name:passwd:table
+#database_out=file:aide.db.new
+database_out=file:@@{DBDIR}/aide.db.new.gz
+
+# Whether to gzip the output to database
+gzip_dbout=yes
+
+# Default.
+verbose=5
+
+report_url=file:@@{LOGDIR}/aide.log
+report_url=stdout
+#report_url=stderr
+#
+# Here are all the attributes we can check
+#p: permissions
+#i: inode
+#n: number of links
+#l: link name
+#u: user
+#g: group
+#s: size
+###b: block count
+#m: mtime
+#a: atime
+#c: ctime
+#S: check for growing size
+#I: ignore changed filename
+#ANF: allow new files
+#ARF: allow removed files
+#
+
+# Here are all the digests we can use
+#md5: md5 checksum
+#sha1: sha1 checksum
+#sha256: sha256 checksum
+#sha512: sha512 checksum
+#rmd160: rmd160 checksum
+#tiger: tiger checksum
+#haval: haval checksum
+#crc32: crc32 checksum
+#gost: gost checksum
+#whirlpool: whirlpool checksum
+
+# These are the default rules
+#R: p+i+l+n+u+g+s+m+c+md5
+#L: p+i+l+n+u+g
+#E: Empty group
+#>: Growing logfile p+l+u+g+i+n+S
+
+# You can create custom rules - my home made rule definition goes like this
+ALLXTRAHASHES = sha1+rmd160+sha256+sha512+whirlpool+tiger+haval+gost+crc32
+ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
+# Everything but access time (Ie. all changes)
+EVERYTHING = R+ALLXTRAHASHES
+
+# Sane, with multiple hashes
+# NORMAL = R+rmd160+sha256+whirlpool
+NORMAL = R+rmd160+sha256
+
+# For directories, don't bother doing hashes
+DIR = p+i+n+u+g+acl+xattrs
+
+# Access control only
+PERMS = p+i+u+g+acl
+
+# Logfile are special, in that they often change
+LOG = >
+
+# Just do md5 and sha256 hashes
+LSPP = R+sha256
+
+# Some files get updated automatically, so the inode/ctime/mtime change
+# but we want to know when the data inside them changes
+DATAONLY = p+n+u+g+s+acl+xattrs+md5+sha256+rmd160+tiger
+
+
+# Next decide what directories/files you want in the database.
+
+/boot NORMAL
+/bin NORMAL
+/sbin NORMAL
+/lib NORMAL
+/lib64 NORMAL
+/opt NORMAL
+/usr NORMAL
+/root NORMAL
+# These are too volatile
+!/usr/src
+!/usr/tmp
+
+# Check only permissions, inode, user and group for /etc, but
+# cover some important files closely.
+/etc PERMS
+!/etc/mtab
+# Ignore backup files
+!/etc/.*~
+/etc/exports NORMAL
+/etc/fstab NORMAL
+/etc/passwd NORMAL
+/etc/group NORMAL
+/etc/gshadow NORMAL
+/etc/shadow NORMAL
+/etc/security/opasswd NORMAL
+
+/etc/hosts.allow NORMAL
+/etc/hosts.deny NORMAL
+
+/etc/sudoers NORMAL
+/etc/skel NORMAL
+
+/etc/logrotate.d NORMAL
+
+/etc/resolv.conf DATAONLY
+
+/etc/nscd.conf NORMAL
+/etc/securetty NORMAL
+
+# Shell/X starting files
+/etc/profile NORMAL
+/etc/bashrc NORMAL
+/etc/bash_completion.d/ NORMAL
+/etc/login.defs NORMAL
+/etc/zprofile NORMAL
+/etc/zshrc NORMAL
+/etc/zlogin NORMAL
+/etc/zlogout NORMAL
+/etc/profile.d/ NORMAL
+/etc/X11/ NORMAL
+
+# Ignore logs
+!/var/lib/pacman/.*
+!/var/cache/.*
+!/var/log/.*
+!/var/run/.*
+!/var/spool/.*
+
diff --git a/community/aircrack-ng/ChangeLog b/community/aircrack-ng/ChangeLog
new file mode 100644
index 000000000..a8feddaab
--- /dev/null
+++ b/community/aircrack-ng/ChangeLog
@@ -0,0 +1,66 @@
+2011-06-28 Brad Fanella
+
+ * Fix FS#24880
+
+2011-06-15 Brad Fanella
+
+ * Fix FS#24633
+
+2011-03-16 Brad Fanella
+
+ * Fix FS#23295
+
+2011-01-17 Brad Fanella
+
+ * Fix #FS20303
+ * Split into aircrack-ng and aircrack-ng-scripts
+
+2009-09-18 Biru Ionut <ionut@archlinux.ro>
+
+ * Version bump: 1.0-rc4
+
+2009-04.14 Corrado Primier <bardo@aur.archlinux.org>
+
+ * Version bump: 1.0-rc3
+
+ * PKGBUILD: removed old compilation patch
+
+2009-02-08 Corrado Primier <bardo@aur.archlinux.org>
+
+ * Version bump: 1.0-rc2
+
+ * sha-compile-fix-64bit.patch: added, fixes compilation on 64bit hosts
+
+2008-06-15 Corrado Primier <bardo@aur.archlinux.org>
+
+ * Version bump: 1.0-rc1
+
+ * PKGBUILD: moved from $startdir to $srcdir/$pkgdir, added vim tags,
+ added sqlite3 dependency for airolib-ng support
+
+2008-05-03 Corrado Primier <bardo@aur.archlinux.org>
+
+ * Version bump: 1.0-beta2
+
+ * PKGBUILD: adapted make command to the new Makefile, added zlib and
+ openssl dependencies
+
+2008-02-25 Corrado Primier <bardo@aur.archlinux.org>
+
+ * Version bump: 0.9.3
+
+2008-02-08 Corrado Primier <bardo@aur.archlinux.org>
+
+ * PKGBUILD: fixed man page location (thanks Snowman)
+
+2008-02-07 Corrado Primier <bardo@aur.archlinux.org>
+
+ * Version bump: 0.9.2
+
+ * PKGBUILD: moved man pages to /usr/share/man
+
+2007-12-15 Corrado Primier <bardo@aur.archlinux.org>
+
+ * ChangeLog: added
+
+ * PKGBUILD: adopted, cleaned up, uploaded to [community]
diff --git a/community/aircrack-ng/PKGBUILD b/community/aircrack-ng/PKGBUILD
new file mode 100644
index 000000000..6e2021027
--- /dev/null
+++ b/community/aircrack-ng/PKGBUILD
@@ -0,0 +1,91 @@
+# $Id: PKGBUILD 92023 2013-05-30 23:34:33Z seblu $
+# Maintainer: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Daenyth <Daenyth+Arch [at] gmail [dot] com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: ice-man <icemanf@gmail.com>
+
+pkgbase=aircrack-ng
+pkgname=(aircrack-ng aircrack-ng-scripts)
+pkgver=1.1
+pkgrel=9
+arch=('i686' 'x86_64')
+url="http://www.aircrack-ng.org"
+license=('GPL2')
+source=("http://download.aircrack-ng.org/${pkgname}-${pkgver}.tar.gz")
+md5sums=('f7a24ed8fad122c4187d06bfd6f998b4')
+depends=('openssl' 'sqlite' 'iw' 'net-tools')
+
+build() {
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ make SQLITE=true unstable=true
+}
+
+package_aircrack-ng() {
+ pkgdesc="A key cracker for the 802.11 WEP and WPA-PSK protocols"
+
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} SQLITE=true unstable=true bindir=/usr/bin \
+ mandir=/usr/share/man/man1 sbindir=/usr/bin install
+
+ ### Remove installed scripts/corresponding man pages (installed in aircrack-ng-scripts) ###
+ # Scripts
+ rm ${pkgdir}/usr/bin/airdriver-ng
+ rm ${pkgdir}/usr/bin/airodump-ng-oui-update
+ # Man pages
+ mkdir -p ${srcdir}/tmp/
+ mv ${pkgdir}/usr/share/man/man1/airdriver-ng.1 ${srcdir}/tmp/
+}
+
+package_aircrack-ng-scripts() {
+ pkgdesc="Included scripts for a key cracker for the 802.11 WEP and WPA-PSK protocols"
+ depends=('python2' 'graphviz' 'python2-pylorcon')
+
+ cd ${srcdir}/aircrack-ng-${pkgver}/scripts
+ mkdir -p ${pkgdir}/usr/share/man/man1/ \
+ ${pkgdir}/usr/bin
+
+ ### AIRDRIVER-NG ###
+ # Script
+ install -Dm644 airdriver-ng ${pkgdir}/usr/bin/
+ # Libs
+ mkdir -p ${pkgdir}/usr/lib/airdrop-ng/
+ install -Dm644 airdrop-ng/lib/{colorize.py,libDumpParse.py,libOuiParse.py} \
+ ${pkgdir}/usr/lib/airdrop-ng/
+ # Man page
+ mv ${srcdir}/tmp/airdriver-ng.1 ${pkgdir}/usr/share/man/man1/
+
+ ### AIRDROP-NG ###
+ # Man page
+ install -Dm644 airdrop-ng/docs/airdrop-ng.1 ${pkgdir}/usr/share/man/man1/
+ # Script
+ sed s/python/python2/ -i airdrop-ng/airdrop-ng.py
+ install -Dm644 airdrop-ng/airdrop-ng.py ${pkgdir}/usr/bin/airdrop-ng
+ chmod +x ${pkgdir}/usr/bin/airdrop-ng
+
+ ### AIRGRAPH-NG ###
+ # Libs
+ mkdir -p ${pkgdir}/usr/lib/airgraph-ng/
+ install -Dm644 airgraph-ng/lib/lib_Airgraphviz.py \
+ ${pkgdir}/usr/lib/airgraph-ng/
+ # Man page
+ install -Dm644 airgraph-ng/man/airgraph-ng.1 ${pkgdir}/usr/share/man/man1/
+ # Script
+ sed s/python/python2/ -i airgraph-ng/airgraph-ng.py
+ sed s_/usr/local/bin/lib_/usr/lib_ -i airgraph-ng/airgraph-ng.py
+ install -Dm644 airgraph-ng/airgraph-ng.py ${pkgdir}/usr/bin/airgraph-ng
+ chmod +x ${pkgdir}/usr/bin/airgraph-ng
+
+ ### DUMP-JOIN.PY ###
+ # Man page
+ install -Dm644 airgraph-ng/man/dump-join.1 ${pkgdir}/usr/share/man/man1/
+ # Script
+ sed s/python/python2/ -i airgraph-ng/dump-join.py
+ install -Dm644 airgraph-ng/dump-join.py ${pkgdir}/usr/bin/dump-join.py
+ chmod +x ${pkgdir}/usr/bin/dump-join.py
+
+ ### AIRODUMP-NG-OUI-UPDATE ###
+ # Script
+ install -Dm644 airodump-ng-oui-update ${pkgdir}/usr/bin/
+ chmod +x ${pkgdir}/usr/bin/airodump-ng-oui-update
+
+}
diff --git a/community/alex/PKGBUILD b/community/alex/PKGBUILD
new file mode 100644
index 000000000..25345ec7e
--- /dev/null
+++ b/community/alex/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 89285 2013-04-28 16:52:06Z td123 $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Philip Nilsson <pnilsson@nullref.se>
+
+pkgname=alex
+pkgver=3.0.5
+pkgrel=2
+pkgdesc='Lexical analyser generator for Haskell'
+arch=('x86_64' 'i686')
+url='http://hackage.haskell.org/package/alex'
+license=('custom:BSD3')
+depends=('gmp')
+makedepends=('ghc=7.6.3-1' 'haskell-quickcheck>=2')
+source=("http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz")
+sha256sums=('c3326417a0538e355e5ad1871ab931b9c8145391e8b2ff79668eb643d9b99659')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ runghc Setup.lhs configure --prefix=/usr --datasubdir="$pkgname"
+ runghc Setup.lhs build
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ runghc Setup.lhs copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/alex/BSD3"
+ # doc only contains the license
+ rm -rf $pkgdir/usr/share/doc
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/algol68g/PKGBUILD b/community/algol68g/PKGBUILD
new file mode 100644
index 000000000..00b2e8305
--- /dev/null
+++ b/community/algol68g/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 94260 2013-07-18 11:12:21Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: karolina.lindqvist@kramnet.se
+
+pkgname=algol68g
+pkgver=2.7
+pkgrel=1
+pkgdesc='Algol 68 Genie, an Algol 68 compiler-interpreter'
+arch=('x86_64' 'i686')
+url='http://www.xs4all.nl/~jmvdveer/algol.html'
+license=('GPL')
+depends=('gsl' 'plotutils')
+optdepends=('postgresql-libs: for postgresql support')
+source=("http://jmvdveer.home.xs4all.nl/algol68g-$pkgver.tar.gz"
+ 'plotutils.patch'
+ 'http://www.xs4all.nl/~jmvdveer/a68gdoc.pdf')
+sha256sums=('ebcf029ae65ceafca87090cc470dd37f86ac0bdb1529cd4dd7a92454d224d325'
+ '50afcc7812d117e5f0a2f5240c9cd58f8bfcc04b3da0634b9aa0ab06183ed0aa'
+ '8cbfb480cb5dfb20f79c2391d7111fc8b727c3e9e02008ab4c0cde9acb62e7d3')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -p1 -i ../plotutils.patch
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" docdir="/usr/share/doc/$pkgname" install
+ install "$srcdir/a68gdoc.pdf" "$pkgdir/usr/share/doc/$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/algol68g/plotutils.patch b/community/algol68g/plotutils.patch
new file mode 100644
index 000000000..17c750075
--- /dev/null
+++ b/community/algol68g/plotutils.patch
@@ -0,0 +1,20 @@
+--- ./source/plotutils.c.orig 2012-04-05 00:44:52.000000000 +0200
++++ ./source/plotutils.c 2012-04-28 05:27:04.000000000 +0200
+@@ -1018,7 +1018,7 @@
+ X_COORD (&DEVICE (f)) = 0;
+ Y_COORD (&DEVICE (f)) = 0;
+ return (PLOTTER (&DEVICE (f)));
+- } else if (!strcmp (device_type, "gif")) {
++ } else if (!strcmp (device_type, "gif") || !strcmp (device_type, "png")) {
+ /*------------------------------------+
+ | Supported plotter type - pseudo GIF |
+ +------------------------------------*/
+@@ -1059,7 +1059,7 @@
+ (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BITMAPSIZE", size);
+ (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BG_COLOR", (void *) "black");
+ (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "GIF_ANIMATION", (void *) "no");
+- PLOTTER (&DEVICE (f)) = pl_newpl_r ("gif", NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f)));
++ PLOTTER (&DEVICE (f)) = pl_newpl_r (device_type, NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f)));
+ if (PLOTTER (&DEVICE (f)) == NULL) {
+ diagnostic_node (A68_RUNTIME_ERROR, p, ERROR_DEVICE_CANNOT_OPEN);
+ exit_genie (p, A68_RUNTIME_ERROR);
diff --git a/community/allegro/PKGBUILD b/community/allegro/PKGBUILD
new file mode 100644
index 000000000..b432c47e3
--- /dev/null
+++ b/community/allegro/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 93187 2013-06-27 16:11:54Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: arjan <arjan@archlinux.org>
+
+pkgname=allegro
+pkgver=5.0.10
+pkgrel=1
+pkgdesc='Portable library mainly aimed at video game and multimedia programming'
+arch=('x86_64' 'i686')
+url='http://alleg.sourceforge.net/'
+license=('custom')
+makedepends=('cmake' 'mesa-libgl' 'glu')
+depends=('jack' 'libxpm' 'libxxf86dga' 'libgl' 'physfs' 'gtk2' 'libpulse')
+source=("http://downloads.sourceforge.net/alleg/$pkgname-$pkgver.tar.gz")
+sha256sums=('71b81080f34f6e485edd0c51f22923c18ff967d5db438e591e6f3885d5bdcda1')
+
+build() {
+ cd "$srcdir"
+
+ mkdir build
+ cd build
+ cmake "../$pkgname-$pkgver" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWANT_DOCS=OFF \
+ -DWANT_PHYSFS=ON
+ make
+}
+
+package() {
+ cd "$srcdir/build"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 "../$pkgname-$pkgver/LICENSE.txt" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/alleyoop/PKGBUILD b/community/alleyoop/PKGBUILD
new file mode 100644
index 000000000..6d8ebdaf8
--- /dev/null
+++ b/community/alleyoop/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 61604 2012-01-04 18:44:15Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Angelo Theodorou <encelo@users.sourceforge.net>
+# Contributor: Lex Rivera aka x-demon <aur@x-demon.org>
+# Contributor: Gianluca Sforna <giallu@fedoraproject.org>
+pkgname=alleyoop
+pkgver=0.9.8
+pkgrel=2
+pkgdesc="Valgrind front-end for the GNOME environment"
+arch=('x86_64' 'i686')
+url="http://alleyoop.sourceforge.net/"
+license=('GPL2')
+depends=('valgrind' 'libgnomeui' 'hicolor-icon-theme')
+makedepends=('intltool')
+install=alleyoop.install
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz"
+ "http://www.roboticoverlords.org/$pkgname/${pkgname}16.png"
+ "http://www.roboticoverlords.org/$pkgname/${pkgname}32.png"
+ "http://www.roboticoverlords.org/$pkgname/${pkgname}64.png"
+ "http://www.roboticoverlords.org/$pkgname/${pkgname}128.png"
+ "http://www.roboticoverlords.org/$pkgname/${pkgname}256.png"
+ "$pkgname.desktop")
+sha256sums=('0b36fd3af83aa74d363a5d13414b7a38c3efabd2fce0fbeb2a8171998e0b6756'
+ '470287270aafada00fc1be9e47713a62b44836fca677a0a2ea29f2bcbd46926f'
+ '9f461fa169ee7fd43a1d58bc0c4afe4f807437b7d585ac4445390dac7590f4af'
+ '9e33d888ef45ae520ce8610507af6a7867e3c3cfe99beab2040a7d42e44dc1e0'
+ 'c32c5a900f4521599c497f15e8f3edb7125ebcc7571ceaa2f9ebfe45fa2dfe27'
+ '15f4fb65a102cefd9e80cdb7a7cf8ab6be02e1d773a75536396076c1136875bd'
+ 'b2b2d6fde890bb237c34874ebf27c33f1839d217d2893d6f8d05d949dab68e7b')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ msg2 "Configuring..."
+ ./configure --prefix=/usr --sysconfdir=/etc
+
+ msg2 "Compiling..."
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ msg "Packaging files..."
+ make DESTDIR="$pkgdir" install
+
+ msg "Packaging icons..."
+ for dim in 16 32 64 128 256; do
+ install -Dm644 "../${pkgname}${dim}.png" \
+ "$pkgdir/usr/share/icons/hicolor/${dim}x$dim/apps/$pkgname.png"
+ done
+
+ msg2 "Packaging desktop shortcut..."
+ install -Dm644 "../$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+
+ msg2 "Packaging license..."
+ install -Dm644 COPYING \
+ "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+ msg2 "Cleaning up..."
+ rm -r "$pkgdir/etc"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/alleyoop/alleyoop.desktop b/community/alleyoop/alleyoop.desktop
new file mode 100644
index 000000000..38b6157d7
--- /dev/null
+++ b/community/alleyoop/alleyoop.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Alleyoop
+GenericName=Memory checker
+Comment=Find memory-management problems by using Valgrind
+Exec=alleyoop
+Icon=alleyoop.png
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=Application;GNOME;Development;Debugger;
diff --git a/community/alleyoop/alleyoop.install b/community/alleyoop/alleyoop.install
new file mode 100644
index 000000000..74578e267
--- /dev/null
+++ b/community/alleyoop/alleyoop.install
@@ -0,0 +1,15 @@
+post_upgrade() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/alltray/PKGBUILD b/community/alltray/PKGBUILD
new file mode 100644
index 000000000..9ff9a652a
--- /dev/null
+++ b/community/alltray/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 65283 2012-02-20 15:18:04Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : James Rayner <iphitus@gmail.com>
+# Contributor: Roberto Salas <ro0xito@gmail.com>
+
+pkgname=alltray
+pkgver=0.7.5.1dev
+pkgrel=1
+pkgdesc="Drops any app in the tray."
+license=('GPL')
+arch=('i686' 'x86_64')
+url="http://alltray.trausch.us/"
+depends=('libxpm' 'libgtop' 'libwnck')
+options=('!libtool')
+source=(https://code.launchpad.net/alltray/trunk/${pkgver}/+download/alltray-${pkgver}.tar.gz)
+md5sums=('5842253b89a5943031b5a02bbd8fd4fb')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/almanah/PKGBUILD b/community/almanah/PKGBUILD
new file mode 100644
index 000000000..709f26825
--- /dev/null
+++ b/community/almanah/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 90849 2013-05-14 21:40:34Z andrea $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=almanah
+pkgver=0.10.1
+pkgrel=3
+pkgdesc="Small GTK+ application to allow you to keep a diary of your life"
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/Almanah_Diary"
+license=('GPL')
+depends=('evolution-data-server' 'gtkspell3' 'libcryptui' 'xdg-utils')
+makedepends=('intltool')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ eds-3.8.patch
+ update-gtkspell3-support.patch)
+sha256sums=('122789c1baea1713102b200c0401d25395ec177a66ae22635d3ae2fecc1f08bd'
+ '2407cb2cc11e61b7863bf20fc13d4614a3384e8cb7c5b534f1e3ce7a3afb2d2d'
+ '60fedd6be05ef2619c3b50539b9fdc717480e4f03a2920d8b68b09e63dc7e7db')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Port to evolution-data-server 3.8
+ patch -Np1 -i "$srcdir/eds-3.8.patch"
+
+ # Port to the new gtkspell3
+ patch -Np1 -i "$srcdir/update-gtkspell3-support.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/almanah/almanah.install b/community/almanah/almanah.install
new file mode 100644
index 000000000..6ce7836d2
--- /dev/null
+++ b/community/almanah/almanah.install
@@ -0,0 +1,12 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/almanah/eds-3.8.patch b/community/almanah/eds-3.8.patch
new file mode 100644
index 000000000..dea51eb74
--- /dev/null
+++ b/community/almanah/eds-3.8.patch
@@ -0,0 +1,2609 @@
+From e481f5abdb46d41ac00ee3393332e92f605b55e7 Mon Sep 17 00:00:00 2001
+From: Matthew Barnes <mbarnes@redhat.com>
+Date: Thu, 13 Dec 2012 14:16:58 +0000
+Subject: Bug 687229 - Embed ESourceSelector widget from libedataserverui
+
+Evolution developers are merging libedataserverui back into Evolution.
+Drop the libedataserverui dependency and embed the ECellRendererColor
+and ESourceSelector widgets from libedataserverui in event-factories.
+
+See also:
+https://mail.gnome.org/archives/distributor-list/2012-December/msg00000.html
+---
+diff --git a/configure.ac b/configure.ac
+index a529568..b89ba74 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -83,7 +83,7 @@ AC_SUBST(STANDARD_CFLAGS)
+ AC_SUBST(STANDARD_LIBS)
+
+ dnl Evolution
+-PKG_CHECK_MODULES(EVO, libecal-1.2 libedataserver-1.2 libedataserverui-3.0, have_evo=yes, have_evo=no)
++PKG_CHECK_MODULES(EVO, libecal-1.2 >= 3.5.91 libedataserver-1.2, have_evo=yes, have_evo=no)
+ if test "x$have_evo" = "xyes"; then
+ AC_DEFINE(HAVE_EVO, 1, [Defined if libecal-1.2 is installed])
+ fi
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 0de37e3..740c9f2 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -52,6 +52,10 @@ almanah_SOURCES += \
+ event-factories/calendar-debug.h \
+ event-factories/calendar-sources.c \
+ event-factories/calendar-sources.h \
++ event-factories/e-cell-renderer-color.c \
++ event-factories/e-cell-renderer-color.h \
++ event-factories/e-source-selector.c \
++ event-factories/e-source-selector.h \
+ events/calendar-appointment.c \
+ events/calendar-appointment.h \
+ events/calendar-task.c \
+diff --git a/src/event-factories/calendar-sources.c b/src/event-factories/calendar-sources.c
+index 217327d..9451a0d 100644
+--- a/src/event-factories/calendar-sources.c
++++ b/src/event-factories/calendar-sources.c
+@@ -32,7 +32,8 @@
+ #define HANDLE_LIBICAL_MEMORY
+ #include <libecal/libecal.h>
+ #include <libedataserver/libedataserver.h>
+-#include <libedataserverui/libedataserverui.h>
++
++#include "e-source-selector.h"
+
+ #undef CALENDAR_ENABLE_DEBUG
+ #include "calendar-debug.h"
+diff --git a/src/event-factories/e-cell-renderer-color.c b/src/event-factories/e-cell-renderer-color.c
+new file mode 100644
+index 0000000..748bea5
+--- /dev/null
++++ b/src/event-factories/e-cell-renderer-color.c
+@@ -0,0 +1,237 @@
++/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
++/* e-cell-renderer-color.c
++ *
++ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of version 2 of the GNU Lesser General Public
++ * License as published by the Free Software Foundation.
++ *
++ * 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 Lesser General Public
++ * License along with this program; if not, write to the
++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ * Boston, MA 02111-1307, USA.
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include "e-cell-renderer-color.h"
++
++#include <string.h>
++#include <glib/gi18n-lib.h>
++
++#define E_CELL_RENDERER_COLOR_GET_PRIVATE(obj) \
++ (G_TYPE_INSTANCE_GET_PRIVATE \
++ ((obj), E_TYPE_CELL_RENDERER_COLOR, ECellRendererColorPrivate))
++
++enum {
++ PROP_0,
++ PROP_COLOR
++};
++
++struct _ECellRendererColorPrivate {
++ GdkColor *color;
++};
++
++G_DEFINE_TYPE (
++ ECellRendererColor,
++ e_cell_renderer_color,
++ GTK_TYPE_CELL_RENDERER)
++
++static void
++cell_renderer_color_get_size (GtkCellRenderer *cell,
++ GtkWidget *widget,
++ const GdkRectangle *cell_area,
++ gint *x_offset,
++ gint *y_offset,
++ gint *width,
++ gint *height)
++{
++ gint color_width = 16;
++ gint color_height = 16;
++ gint calc_width;
++ gint calc_height;
++ gfloat xalign;
++ gfloat yalign;
++ guint xpad;
++ guint ypad;
++
++ g_object_get (
++ cell, "xalign", &xalign, "yalign", &yalign,
++ "xpad", &xpad, "ypad", &ypad, NULL);
++
++ calc_width = (gint) xpad * 2 + color_width;
++ calc_height = (gint) ypad * 2 + color_height;
++
++ if (cell_area && color_width > 0 && color_height > 0) {
++ if (x_offset) {
++ *x_offset = (((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ?
++ (1.0 - xalign) : xalign) *
++ (cell_area->width - calc_width));
++ *x_offset = MAX (*x_offset, 0);
++ }
++
++ if (y_offset) {
++ *y_offset =(yalign *
++ (cell_area->height - calc_height));
++ *y_offset = MAX (*y_offset, 0);
++ }
++ } else {
++ if (x_offset) *x_offset = 0;
++ if (y_offset) *y_offset = 0;
++ }
++
++ if (width)
++ *width = calc_width;
++
++ if (height)
++ *height = calc_height;
++}
++
++static void
++cell_renderer_color_render (GtkCellRenderer *cell,
++ cairo_t *cr,
++ GtkWidget *widget,
++ const GdkRectangle *background_area,
++ const GdkRectangle *cell_area,
++ GtkCellRendererState flags)
++{
++ ECellRendererColorPrivate *priv;
++ GdkRectangle pix_rect;
++ GdkRectangle draw_rect;
++ guint xpad;
++ guint ypad;
++
++ priv = E_CELL_RENDERER_COLOR_GET_PRIVATE (cell);
++
++ if (priv->color == NULL)
++ return;
++
++ cell_renderer_color_get_size (
++ cell, widget, cell_area,
++ &pix_rect.x, &pix_rect.y,
++ &pix_rect.width, &pix_rect.height);
++
++ g_object_get (cell, "xpad", &xpad, "ypad", &ypad, NULL);
++
++ pix_rect.x += cell_area->x + xpad;
++ pix_rect.y += cell_area->y + ypad;
++ pix_rect.width -= xpad * 2;
++ pix_rect.height -= ypad * 2;
++
++ if (!gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect))
++ return;
++
++ gdk_cairo_set_source_color (cr, priv->color);
++ cairo_rectangle (cr, pix_rect.x, pix_rect.y, draw_rect.width, draw_rect.height);
++
++ cairo_fill (cr);
++}
++
++static void
++cell_renderer_color_set_property (GObject *object,
++ guint property_id,
++ const GValue *value,
++ GParamSpec *pspec)
++{
++ ECellRendererColorPrivate *priv;
++
++ priv = E_CELL_RENDERER_COLOR_GET_PRIVATE (object);
++
++ switch (property_id) {
++ case PROP_COLOR:
++ if (priv->color != NULL)
++ gdk_color_free (priv->color);
++ priv->color = g_value_dup_boxed (value);
++ return;
++ }
++
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
++}
++
++static void
++cell_renderer_color_get_property (GObject *object,
++ guint property_id,
++ GValue *value,
++ GParamSpec *pspec)
++{
++ ECellRendererColorPrivate *priv;
++
++ priv = E_CELL_RENDERER_COLOR_GET_PRIVATE (object);
++
++ switch (property_id) {
++ case PROP_COLOR:
++ g_value_set_boxed (value, priv->color);
++ return;
++ }
++
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
++}
++
++static void
++cell_renderer_color_finalize (GObject *object)
++{
++ ECellRendererColorPrivate *priv;
++
++ priv = E_CELL_RENDERER_COLOR_GET_PRIVATE (object);
++
++ if (priv->color != NULL)
++ gdk_color_free (priv->color);
++
++ /* Chain up to parent's finalize() method. */
++ G_OBJECT_CLASS (e_cell_renderer_color_parent_class)->finalize (object);
++}
++
++static void
++e_cell_renderer_color_class_init (ECellRendererColorClass *class)
++{
++ GObjectClass *object_class;
++ GtkCellRendererClass *cell_class;
++
++ g_type_class_add_private (class, sizeof (ECellRendererColorPrivate));
++
++ object_class = G_OBJECT_CLASS (class);
++ object_class->set_property = cell_renderer_color_set_property;
++ object_class->get_property = cell_renderer_color_get_property;
++ object_class->finalize = cell_renderer_color_finalize;
++
++ cell_class = GTK_CELL_RENDERER_CLASS (class);
++ cell_class->get_size = cell_renderer_color_get_size;
++ cell_class->render = cell_renderer_color_render;
++
++ g_object_class_install_property (
++ object_class,
++ PROP_COLOR,
++ g_param_spec_boxed (
++ "color",
++ "Color Info",
++ "The color to render",
++ GDK_TYPE_COLOR,
++ G_PARAM_READWRITE));
++}
++
++static void
++e_cell_renderer_color_init (ECellRendererColor *cellcolor)
++{
++ cellcolor->priv = E_CELL_RENDERER_COLOR_GET_PRIVATE (cellcolor);
++
++ g_object_set (cellcolor, "xpad", 4, NULL);
++}
++
++/**
++ * e_cell_renderer_color_new:
++ *
++ * Since: 2.22
++ **/
++GtkCellRenderer *
++e_cell_renderer_color_new (void)
++{
++ return g_object_new (E_TYPE_CELL_RENDERER_COLOR, NULL);
++}
+diff --git a/src/event-factories/e-cell-renderer-color.h b/src/event-factories/e-cell-renderer-color.h
+new file mode 100644
+index 0000000..0e0da70
+--- /dev/null
++++ b/src/event-factories/e-cell-renderer-color.h
+@@ -0,0 +1,75 @@
++/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
++/* e-cell-renderer-color.h
++ *
++ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of version 2 of the GNU Lesser General Public
++ * License as published by the Free Software Foundation.
++ *
++ * 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 Lesser General Public
++ * License along with this program; if not, write to the
++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ * Boston, MA 02111-1307, USA.
++ */
++
++#ifndef _E_CELL_RENDERER_COLOR_H_
++#define _E_CELL_RENDERER_COLOR_H_
++
++#include <gtk/gtk.h>
++
++/* Standard GObject macros */
++#define E_TYPE_CELL_RENDERER_COLOR \
++ (e_cell_renderer_color_get_type ())
++#define E_CELL_RENDERER_COLOR(obj) \
++ (G_TYPE_CHECK_INSTANCE_CAST \
++ ((obj), E_TYPE_CELL_RENDERER_COLOR, ECellRendererColor))
++#define E_CELL_RENDERER_COLOR_CLASS(cls) \
++ (G_TYPE_CHECK_CLASS_CAST \
++ ((cls), E_TYPE_CELL_RENDERER_COLOR, ECellRendererColorClass))
++#define E_IS_CELL_RENDERER_COLOR(obj) \
++ (G_TYPE_CHECK_INSTANCE_TYPE \
++ ((obj), E_TYPE_CELL_RENDERER_COLOR))
++#define E_IS_CELL_RENDERER_COLOR_CLASS(cls) \
++ (G_TYPE_CHECK_CLASS_TYPE ((cls), E_TYPE_CELL_RENDERER_COLOR))
++#define E_CELL_RENDERER_COLOR_GET_CLASS(obj) \
++ (G_TYPE_INSTANCE_GET_CLASS \
++ ((obj), E_TYPE_CELL_RENDERER_COLOR, ECellRendererColorClass))
++
++G_BEGIN_DECLS
++
++typedef struct _ECellRendererColor ECellRendererColor;
++typedef struct _ECellRendererColorClass ECellRendererColorClass;
++typedef struct _ECellRendererColorPrivate ECellRendererColorPrivate;
++
++/**
++ * ECellRendererColor:
++ *
++ * Since: 2.22
++ **/
++struct _ECellRendererColor {
++ GtkCellRenderer parent;
++ ECellRendererColorPrivate *priv;
++};
++
++struct _ECellRendererColorClass {
++ GtkCellRendererClass parent_class;
++
++ /* Padding for future expansion */
++ void (*_gtk_reserved1) (void);
++ void (*_gtk_reserved2) (void);
++ void (*_gtk_reserved3) (void);
++ void (*_gtk_reserved4) (void);
++};
++
++GType e_cell_renderer_color_get_type (void);
++GtkCellRenderer *e_cell_renderer_color_new (void);
++
++G_END_DECLS
++
++#endif /* _E_CELL_RENDERER_COLOR_H_ */
+diff --git a/src/event-factories/e-source-selector.c b/src/event-factories/e-source-selector.c
+new file mode 100644
+index 0000000..925d9cd
+--- /dev/null
++++ b/src/event-factories/e-source-selector.c
+@@ -0,0 +1,2080 @@
++/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
++/* e-source-selector.c
++ *
++ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser 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 Lesser General Public
++ * License along with this program; if not, write to the
++ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ *
++ * Author: Ettore Perazzoli <ettore@ximian.com>
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include <string.h>
++
++#include "e-cell-renderer-color.h"
++#include "e-source-selector.h"
++
++#define E_SOURCE_SELECTOR_GET_PRIVATE(obj) \
++ (G_TYPE_INSTANCE_GET_PRIVATE \
++ ((obj), E_TYPE_SOURCE_SELECTOR, ESourceSelectorPrivate))
++
++typedef struct _AsyncContext AsyncContext;
++
++struct _ESourceSelectorPrivate {
++ ESourceRegistry *registry;
++ GHashTable *source_index;
++ gchar *extension_name;
++
++ GtkTreeRowReference *saved_primary_selection;
++
++ /* ESource -> GSource */
++ GHashTable *pending_writes;
++ GMainContext *main_context;
++
++ gboolean toggled_last;
++ gboolean select_new;
++ gboolean show_colors;
++ gboolean show_toggles;
++};
++
++struct _AsyncContext {
++ ESourceSelector *selector;
++ ESource *source;
++};
++
++enum {
++ PROP_0,
++ PROP_EXTENSION_NAME,
++ PROP_PRIMARY_SELECTION,
++ PROP_REGISTRY,
++ PROP_SHOW_COLORS,
++ PROP_SHOW_TOGGLES
++};
++
++enum {
++ SELECTION_CHANGED,
++ PRIMARY_SELECTION_CHANGED,
++ POPUP_EVENT,
++ DATA_DROPPED,
++ NUM_SIGNALS
++};
++
++enum {
++ COLUMN_NAME,
++ COLUMN_COLOR,
++ COLUMN_ACTIVE,
++ COLUMN_SHOW_COLOR,
++ COLUMN_SHOW_TOGGLE,
++ COLUMN_WEIGHT,
++ COLUMN_SOURCE,
++ NUM_COLUMNS
++};
++
++static guint signals[NUM_SIGNALS];
++
++G_DEFINE_TYPE (ESourceSelector, e_source_selector, GTK_TYPE_TREE_VIEW)
++
++/* ESafeToggleRenderer does not emit 'toggled' signal
++ * on 'activate' when mouse is not over the toggle. */
++
++typedef GtkCellRendererToggle ECellRendererSafeToggle;
++typedef GtkCellRendererToggleClass ECellRendererSafeToggleClass;
++
++/* Forward Declarations */
++GType e_cell_renderer_safe_toggle_get_type (void);
++
++G_DEFINE_TYPE (
++ ECellRendererSafeToggle,
++ e_cell_renderer_safe_toggle,
++ GTK_TYPE_CELL_RENDERER_TOGGLE)
++
++static gboolean
++safe_toggle_activate (GtkCellRenderer *cell,
++ GdkEvent *event,
++ GtkWidget *widget,
++ const gchar *path,
++ const GdkRectangle *background_area,
++ const GdkRectangle *cell_area,
++ GtkCellRendererState flags)
++{
++ gboolean point_in_cell_area = TRUE;
++
++ if (event->type == GDK_BUTTON_PRESS && cell_area != NULL) {
++ cairo_region_t *region;
++
++ region = cairo_region_create_rectangle (cell_area);
++ point_in_cell_area = cairo_region_contains_point (
++ region, event->button.x, event->button.y);
++ cairo_region_destroy (region);
++ }
++
++ if (!point_in_cell_area)
++ return FALSE;
++
++ return GTK_CELL_RENDERER_CLASS (
++ e_cell_renderer_safe_toggle_parent_class)->activate (
++ cell, event, widget, path, background_area, cell_area, flags);
++}
++
++static void
++e_cell_renderer_safe_toggle_class_init (ECellRendererSafeToggleClass *class)
++{
++ GtkCellRendererClass *cell_renderer_class;
++
++ cell_renderer_class = GTK_CELL_RENDERER_CLASS (class);
++ cell_renderer_class->activate = safe_toggle_activate;
++}
++
++static void
++e_cell_renderer_safe_toggle_init (ECellRendererSafeToggle *obj)
++{
++}
++
++static GtkCellRenderer *
++e_cell_renderer_safe_toggle_new (void)
++{
++ return g_object_new (e_cell_renderer_safe_toggle_get_type (), NULL);
++}
++
++static void
++clear_saved_primary_selection (ESourceSelector *selector)
++{
++ gtk_tree_row_reference_free (selector->priv->saved_primary_selection);
++ selector->priv->saved_primary_selection = NULL;
++}
++
++static void
++async_context_free (AsyncContext *async_context)
++{
++ if (async_context->selector != NULL)
++ g_object_unref (async_context->selector);
++
++ if (async_context->source != NULL)
++ g_object_unref (async_context->source);
++
++ g_slice_free (AsyncContext, async_context);
++}
++
++static void
++pending_writes_destroy_source (GSource *source)
++{
++ g_source_destroy (source);
++ g_source_unref (source);
++}
++
++static void
++source_selector_write_done_cb (GObject *source_object,
++ GAsyncResult *result,
++ gpointer user_data)
++{
++ ESource *source;
++ ESourceSelector *selector;
++ GError *error = NULL;
++
++ source = E_SOURCE (source_object);
++ selector = E_SOURCE_SELECTOR (user_data);
++
++ e_source_write_finish (source, result, &error);
++
++ /* FIXME Display the error in the selector somehow? */
++ if (error != NULL) {
++ g_warning ("%s: %s", G_STRFUNC, error->message);
++ g_error_free (error);
++ }
++
++ g_object_unref (selector);
++}
++
++static gboolean
++source_selector_write_idle_cb (gpointer user_data)
++{
++ AsyncContext *async_context = user_data;
++ GHashTable *pending_writes;
++
++ /* XXX This operation is not cancellable. */
++ e_source_write (
++ async_context->source, NULL,
++ source_selector_write_done_cb,
++ g_object_ref (async_context->selector));
++
++ pending_writes = async_context->selector->priv->pending_writes;
++ g_hash_table_remove (pending_writes, async_context->source);
++
++ return FALSE;
++}
++
++static void
++source_selector_cancel_write (ESourceSelector *selector,
++ ESource *source)
++{
++ GHashTable *pending_writes;
++
++ /* Cancel any pending writes for this ESource so as not
++ * to overwrite whatever change we're being notified of. */
++ pending_writes = selector->priv->pending_writes;
++ g_hash_table_remove (pending_writes, source);
++}
++
++static void
++source_selector_update_row (ESourceSelector *selector,
++ ESource *source)
++{
++ GHashTable *source_index;
++ ESourceExtension *extension = NULL;
++ GtkTreeRowReference *reference;
++ GtkTreeModel *model;
++ GtkTreePath *path;
++ GtkTreeIter iter;
++ const gchar *extension_name;
++ const gchar *display_name;
++ gboolean selected;
++
++ source_index = selector->priv->source_index;
++ reference = g_hash_table_lookup (source_index, source);
++
++ /* This function runs when ANY ESource in the registry changes.
++ * If the ESource is not in our tree model then return silently. */
++ if (reference == NULL)
++ return;
++
++ /* If we do have a row reference, it should be valid. */
++ g_return_if_fail (gtk_tree_row_reference_valid (reference));
++
++ model = gtk_tree_row_reference_get_model (reference);
++ path = gtk_tree_row_reference_get_path (reference);
++ gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_path_free (path);
++
++ display_name = e_source_get_display_name (source);
++
++ extension_name = e_source_selector_get_extension_name (selector);
++ selected = e_source_selector_source_is_selected (selector, source);
++
++ if (e_source_has_extension (source, extension_name))
++ extension = e_source_get_extension (source, extension_name);
++
++ if (extension != NULL) {
++ GdkColor color;
++ const gchar *color_spec = NULL;
++ gboolean show_color = FALSE;
++ gboolean show_toggle;
++
++ show_color =
++ E_IS_SOURCE_SELECTABLE (extension) &&
++ e_source_selector_get_show_colors (selector);
++
++ if (show_color)
++ color_spec = e_source_selectable_get_color (
++ E_SOURCE_SELECTABLE (extension));
++
++ if (color_spec != NULL && *color_spec != '\0')
++ show_color = gdk_color_parse (color_spec, &color);
++
++ show_toggle = e_source_selector_get_show_toggles (selector);
++
++ gtk_tree_store_set (
++ GTK_TREE_STORE (model), &iter,
++ COLUMN_NAME, display_name,
++ COLUMN_COLOR, show_color ? &color : NULL,
++ COLUMN_ACTIVE, selected,
++ COLUMN_SHOW_COLOR, show_color,
++ COLUMN_SHOW_TOGGLE, show_toggle,
++ COLUMN_WEIGHT, PANGO_WEIGHT_NORMAL,
++ COLUMN_SOURCE, source,
++ -1);
++ } else {
++ gtk_tree_store_set (
++ GTK_TREE_STORE (model), &iter,
++ COLUMN_NAME, display_name,
++ COLUMN_COLOR, NULL,
++ COLUMN_ACTIVE, FALSE,
++ COLUMN_SHOW_COLOR, FALSE,
++ COLUMN_SHOW_TOGGLE, FALSE,
++ COLUMN_WEIGHT, PANGO_WEIGHT_BOLD,
++ COLUMN_SOURCE, source,
++ -1);
++ }
++}
++
++static gboolean
++source_selector_traverse (GNode *node,
++ ESourceSelector *selector)
++{
++ ESource *source;
++ GHashTable *source_index;
++ GtkTreeRowReference *reference = NULL;
++ GtkTreeModel *model;
++ GtkTreePath *path;
++ GtkTreeIter iter;
++
++ /* Skip the root node. */
++ if (G_NODE_IS_ROOT (node))
++ return FALSE;
++
++ source_index = selector->priv->source_index;
++
++ model = gtk_tree_view_get_model (GTK_TREE_VIEW (selector));
++
++ if (node->parent != NULL && node->parent->data != NULL)
++ reference = g_hash_table_lookup (
++ source_index, node->parent->data);
++
++ if (gtk_tree_row_reference_valid (reference)) {
++ GtkTreeIter parent;
++
++ path = gtk_tree_row_reference_get_path (reference);
++ gtk_tree_model_get_iter (model, &parent, path);
++ gtk_tree_path_free (path);
++
++ gtk_tree_store_append (GTK_TREE_STORE (model), &iter, &parent);
++ } else
++ gtk_tree_store_append (GTK_TREE_STORE (model), &iter, NULL);
++
++ source = E_SOURCE (node->data);
++
++ path = gtk_tree_model_get_path (model, &iter);
++ reference = gtk_tree_row_reference_new (model, path);
++ g_hash_table_insert (source_index, g_object_ref (source), reference);
++ gtk_tree_path_free (path);
++
++ source_selector_update_row (selector, source);
++
++ return FALSE;
++}
++
++static void
++source_selector_save_expanded (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GQueue *queue)
++{
++ GtkTreeModel *model;
++ GtkTreeIter iter;
++ ESource *source;
++
++ model = gtk_tree_view_get_model (tree_view);
++ gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++ g_queue_push_tail (queue, source);
++}
++
++static void
++source_selector_build_model (ESourceSelector *selector)
++{
++ ESourceRegistry *registry;
++ GQueue queue = G_QUEUE_INIT;
++ GHashTable *source_index;
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ ESource *selected;
++ const gchar *extension_name;
++ GNode *root;
++
++ tree_view = GTK_TREE_VIEW (selector);
++
++ registry = e_source_selector_get_registry (selector);
++ extension_name = e_source_selector_get_extension_name (selector);
++
++ /* Make sure we have what we need to build the model, since
++ * this can get called early in the initialization phase. */
++ if (registry == NULL || extension_name == NULL)
++ return;
++
++ source_index = selector->priv->source_index;
++ selected = e_source_selector_ref_primary_selection (selector);
++
++ /* Save expanded sources to restore later. */
++ gtk_tree_view_map_expanded_rows (
++ tree_view, (GtkTreeViewMappingFunc)
++ source_selector_save_expanded, &queue);
++
++ model = gtk_tree_view_get_model (tree_view);
++ gtk_tree_store_clear (GTK_TREE_STORE (model));
++
++ g_hash_table_remove_all (source_index);
++
++ root = e_source_registry_build_display_tree (registry, extension_name);
++
++ g_node_traverse (
++ root, G_PRE_ORDER, G_TRAVERSE_ALL, -1,
++ (GNodeTraverseFunc) source_selector_traverse,
++ selector);
++
++ e_source_registry_free_display_tree (root);
++
++ /* Restore previously expanded sources. */
++ while (!g_queue_is_empty (&queue)) {
++ GtkTreeRowReference *reference;
++ ESource *source;
++
++ source = g_queue_pop_head (&queue);
++ reference = g_hash_table_lookup (source_index, source);
++
++ if (gtk_tree_row_reference_valid (reference)) {
++ GtkTreePath *path;
++
++ path = gtk_tree_row_reference_get_path (reference);
++ gtk_tree_view_expand_to_path (tree_view, path);
++ gtk_tree_path_free (path);
++ }
++
++ g_object_unref (source);
++ }
++
++ /* Restore the primary selection. */
++ if (selected != NULL) {
++ e_source_selector_set_primary_selection (selector, selected);
++ g_object_unref (selected);
++ }
++
++ /* Make sure we have a primary selection. If not, pick one. */
++ selected = e_source_selector_ref_primary_selection (selector);
++ if (selected == NULL) {
++ selected = e_source_registry_ref_default_for_extension_name (
++ registry, extension_name);
++ e_source_selector_set_primary_selection (selector, selected);
++ }
++ g_object_unref (selected);
++}
++
++static void
++source_selector_expand_to_source (ESourceSelector *selector,
++ ESource *source)
++{
++ GHashTable *source_index;
++ GtkTreeRowReference *reference;
++ GtkTreePath *path;
++
++ source_index = selector->priv->source_index;
++ reference = g_hash_table_lookup (source_index, source);
++
++ /* If the ESource is not in our tree model then return silently. */
++ if (reference == NULL)
++ return;
++
++ /* If we do have a row reference, it should be valid. */
++ g_return_if_fail (gtk_tree_row_reference_valid (reference));
++
++ /* Expand the tree view to the path containing the ESource */
++ path = gtk_tree_row_reference_get_path (reference);
++ gtk_tree_view_expand_to_path (GTK_TREE_VIEW (selector), path);
++ gtk_tree_path_free (path);
++}
++
++static void
++source_selector_source_added_cb (ESourceRegistry *registry,
++ ESource *source,
++ ESourceSelector *selector)
++{
++ source_selector_build_model (selector);
++
++ source_selector_expand_to_source (selector, source);
++}
++
++static void
++source_selector_source_changed_cb (ESourceRegistry *registry,
++ ESource *source,
++ ESourceSelector *selector)
++{
++ source_selector_cancel_write (selector, source);
++
++ source_selector_update_row (selector, source);
++}
++
++static void
++source_selector_source_removed_cb (ESourceRegistry *registry,
++ ESource *source,
++ ESourceSelector *selector)
++{
++ source_selector_build_model (selector);
++}
++
++static void
++source_selector_source_enabled_cb (ESourceRegistry *registry,
++ ESource *source,
++ ESourceSelector *selector)
++{
++ source_selector_build_model (selector);
++
++ source_selector_expand_to_source (selector, source);
++}
++
++static void
++source_selector_source_disabled_cb (ESourceRegistry *registry,
++ ESource *source,
++ ESourceSelector *selector)
++{
++ source_selector_build_model (selector);
++}
++
++static gboolean
++same_source_name_exists (ESourceSelector *selector,
++ const gchar *display_name)
++{
++ GHashTable *source_index;
++ GHashTableIter iter;
++ gpointer key;
++
++ source_index = selector->priv->source_index;
++ g_hash_table_iter_init (&iter, source_index);
++
++ while (g_hash_table_iter_next (&iter, &key, NULL)) {
++ ESource *source = E_SOURCE (key);
++ const gchar *source_name;
++
++ source_name = e_source_get_display_name (source);
++ if (g_strcmp0 (display_name, source_name) == 0)
++ return TRUE;
++ }
++
++ return FALSE;
++}
++
++static gboolean
++selection_func (GtkTreeSelection *selection,
++ GtkTreeModel *model,
++ GtkTreePath *path,
++ gboolean path_currently_selected,
++ ESourceSelector *selector)
++{
++ ESource *source;
++ GtkTreeIter iter;
++ const gchar *extension_name;
++
++ if (selector->priv->toggled_last) {
++ selector->priv->toggled_last = FALSE;
++ return FALSE;
++ }
++
++ if (path_currently_selected)
++ return TRUE;
++
++ if (!gtk_tree_model_get_iter (model, &iter, path))
++ return FALSE;
++
++ extension_name = e_source_selector_get_extension_name (selector);
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++
++ if (!e_source_has_extension (source, extension_name)) {
++ g_object_unref (source);
++ return FALSE;
++ }
++
++ clear_saved_primary_selection (selector);
++
++ g_object_unref (source);
++
++ return TRUE;
++}
++
++static void
++text_cell_edited_cb (ESourceSelector *selector,
++ const gchar *path_string,
++ const gchar *new_name)
++{
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreePath *path;
++ GtkTreeIter iter;
++ ESource *source;
++
++ tree_view = GTK_TREE_VIEW (selector);
++ model = gtk_tree_view_get_model (tree_view);
++ path = gtk_tree_path_new_from_string (path_string);
++
++ gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++ gtk_tree_path_free (path);
++
++ if (new_name == NULL || *new_name == '\0')
++ return;
++
++ if (same_source_name_exists (selector, new_name))
++ return;
++
++ e_source_set_display_name (source, new_name);
++
++ e_source_selector_queue_write (selector, source);
++}
++
++static void
++cell_toggled_callback (GtkCellRendererToggle *renderer,
++ const gchar *path_string,
++ ESourceSelector *selector)
++{
++ ESource *source;
++ GtkTreeModel *model;
++ GtkTreePath *path;
++ GtkTreeIter iter;
++
++ model = gtk_tree_view_get_model (GTK_TREE_VIEW (selector));
++ path = gtk_tree_path_new_from_string (path_string);
++
++ if (!gtk_tree_model_get_iter (model, &iter, path)) {
++ gtk_tree_path_free (path);
++ return;
++ }
++
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++
++ if (e_source_selector_source_is_selected (selector, source))
++ e_source_selector_unselect_source (selector, source);
++ else
++ e_source_selector_select_source (selector, source);
++
++ selector->priv->toggled_last = TRUE;
++
++ gtk_tree_path_free (path);
++
++ g_object_unref (source);
++}
++
++static void
++selection_changed_callback (GtkTreeSelection *selection,
++ ESourceSelector *selector)
++{
++ g_signal_emit (selector, signals[PRIMARY_SELECTION_CHANGED], 0);
++ g_object_notify (G_OBJECT (selector), "primary-selection");
++}
++
++static void
++source_selector_set_extension_name (ESourceSelector *selector,
++ const gchar *extension_name)
++{
++ g_return_if_fail (extension_name != NULL);
++ g_return_if_fail (selector->priv->extension_name == NULL);
++
++ selector->priv->extension_name = g_strdup (extension_name);
++}
++
++static void
++source_selector_set_registry (ESourceSelector *selector,
++ ESourceRegistry *registry)
++{
++ g_return_if_fail (E_IS_SOURCE_REGISTRY (registry));
++ g_return_if_fail (selector->priv->registry == NULL);
++
++ selector->priv->registry = g_object_ref (registry);
++}
++
++static void
++source_selector_set_property (GObject *object,
++ guint property_id,
++ const GValue *value,
++ GParamSpec *pspec)
++{
++ switch (property_id) {
++ case PROP_EXTENSION_NAME:
++ source_selector_set_extension_name (
++ E_SOURCE_SELECTOR (object),
++ g_value_get_string (value));
++ return;
++
++ case PROP_PRIMARY_SELECTION:
++ e_source_selector_set_primary_selection (
++ E_SOURCE_SELECTOR (object),
++ g_value_get_object (value));
++ return;
++
++ case PROP_REGISTRY:
++ source_selector_set_registry (
++ E_SOURCE_SELECTOR (object),
++ g_value_get_object (value));
++ return;
++
++ case PROP_SHOW_COLORS:
++ e_source_selector_set_show_colors (
++ E_SOURCE_SELECTOR (object),
++ g_value_get_boolean (value));
++ return;
++
++ case PROP_SHOW_TOGGLES:
++ e_source_selector_set_show_toggles (
++ E_SOURCE_SELECTOR (object),
++ g_value_get_boolean (value));
++ return;
++ }
++
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
++}
++
++static void
++source_selector_get_property (GObject *object,
++ guint property_id,
++ GValue *value,
++ GParamSpec *pspec)
++{
++ switch (property_id) {
++ case PROP_EXTENSION_NAME:
++ g_value_set_string (
++ value,
++ e_source_selector_get_extension_name (
++ E_SOURCE_SELECTOR (object)));
++ return;
++
++ case PROP_PRIMARY_SELECTION:
++ g_value_take_object (
++ value,
++ e_source_selector_ref_primary_selection (
++ E_SOURCE_SELECTOR (object)));
++ return;
++
++ case PROP_REGISTRY:
++ g_value_set_object (
++ value,
++ e_source_selector_get_registry (
++ E_SOURCE_SELECTOR (object)));
++ return;
++
++ case PROP_SHOW_COLORS:
++ g_value_set_boolean (
++ value,
++ e_source_selector_get_show_colors (
++ E_SOURCE_SELECTOR (object)));
++ return;
++
++ case PROP_SHOW_TOGGLES:
++ g_value_set_boolean (
++ value,
++ e_source_selector_get_show_toggles (
++ E_SOURCE_SELECTOR (object)));
++ return;
++ }
++
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
++}
++
++static void
++source_selector_dispose (GObject *object)
++{
++ ESourceSelectorPrivate *priv;
++
++ priv = E_SOURCE_SELECTOR_GET_PRIVATE (object);
++
++ if (priv->registry != NULL) {
++ g_signal_handlers_disconnect_matched (
++ priv->registry,
++ G_SIGNAL_MATCH_DATA,
++ 0, 0, NULL, NULL, object);
++ g_object_unref (priv->registry);
++ priv->registry = NULL;
++ }
++
++ g_hash_table_remove_all (priv->source_index);
++ g_hash_table_remove_all (priv->pending_writes);
++
++ clear_saved_primary_selection (E_SOURCE_SELECTOR (object));
++
++ /* Chain up to parent's dispose() method. */
++ G_OBJECT_CLASS (e_source_selector_parent_class)->dispose (object);
++}
++
++static void
++source_selector_finalize (GObject *object)
++{
++ ESourceSelectorPrivate *priv;
++
++ priv = E_SOURCE_SELECTOR_GET_PRIVATE (object);
++
++ g_hash_table_destroy (priv->source_index);
++ g_hash_table_destroy (priv->pending_writes);
++
++ g_free (priv->extension_name);
++
++ if (priv->main_context != NULL)
++ g_main_context_unref (priv->main_context);
++
++ /* Chain up to parent's finalize() method. */
++ G_OBJECT_CLASS (e_source_selector_parent_class)->finalize (object);
++}
++
++static void
++source_selector_constructed (GObject *object)
++{
++ ESourceRegistry *registry;
++ ESourceSelector *selector;
++
++ selector = E_SOURCE_SELECTOR (object);
++ registry = e_source_selector_get_registry (selector);
++
++ g_signal_connect (
++ registry, "source-added",
++ G_CALLBACK (source_selector_source_added_cb), selector);
++
++ g_signal_connect (
++ registry, "source-changed",
++ G_CALLBACK (source_selector_source_changed_cb), selector);
++
++ g_signal_connect (
++ registry, "source-removed",
++ G_CALLBACK (source_selector_source_removed_cb), selector);
++
++ g_signal_connect (
++ registry, "source-enabled",
++ G_CALLBACK (source_selector_source_enabled_cb), selector);
++
++ g_signal_connect (
++ registry, "source-disabled",
++ G_CALLBACK (source_selector_source_disabled_cb), selector);
++
++ source_selector_build_model (selector);
++
++ gtk_tree_view_expand_all (GTK_TREE_VIEW (selector));
++}
++
++static gboolean
++source_selector_button_press_event (GtkWidget *widget,
++ GdkEventButton *event)
++{
++ ESourceSelector *selector;
++ GtkWidgetClass *widget_class;
++ GtkTreePath *path;
++ ESource *source = NULL;
++ ESource *primary;
++ gboolean right_click = FALSE;
++ gboolean triple_click = FALSE;
++ gboolean row_exists;
++ gboolean res = FALSE;
++
++ selector = E_SOURCE_SELECTOR (widget);
++
++ selector->priv->toggled_last = FALSE;
++
++ /* Triple-clicking a source selects it exclusively. */
++
++ if (event->button == 3 && event->type == GDK_BUTTON_PRESS)
++ right_click = TRUE;
++ else if (event->button == 1 && event->type == GDK_3BUTTON_PRESS)
++ triple_click = TRUE;
++ else
++ goto chainup;
++
++ row_exists = gtk_tree_view_get_path_at_pos (
++ GTK_TREE_VIEW (widget), event->x, event->y,
++ &path, NULL, NULL, NULL);
++
++ /* Get the source/group */
++ if (row_exists) {
++ GtkTreeModel *model;
++ GtkTreeIter iter;
++
++ model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget));
++
++ gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++ }
++
++ if (source == NULL)
++ goto chainup;
++
++ primary = e_source_selector_ref_primary_selection (selector);
++ if (source != primary)
++ e_source_selector_set_primary_selection (selector, source);
++ if (primary != NULL)
++ g_object_unref (primary);
++
++ if (right_click)
++ g_signal_emit (
++ widget, signals[POPUP_EVENT], 0, source, event, &res);
++
++ if (triple_click) {
++ e_source_selector_select_exclusive (selector, source);
++ res = TRUE;
++ }
++
++ g_object_unref (source);
++
++ return res;
++
++chainup:
++
++ /* Chain up to parent's button_press_event() method. */
++ widget_class = GTK_WIDGET_CLASS (e_source_selector_parent_class);
++ return widget_class->button_press_event (widget, event);
++}
++
++static void
++source_selector_drag_leave (GtkWidget *widget,
++ GdkDragContext *context,
++ guint time_)
++{
++ GtkTreeView *tree_view;
++ GtkTreeViewDropPosition pos;
++
++ tree_view = GTK_TREE_VIEW (widget);
++ pos = GTK_TREE_VIEW_DROP_BEFORE;
++
++ gtk_tree_view_set_drag_dest_row (tree_view, NULL, pos);
++}
++
++static gboolean
++source_selector_drag_motion (GtkWidget *widget,
++ GdkDragContext *context,
++ gint x,
++ gint y,
++ guint time_)
++{
++ ESource *source = NULL;
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreePath *path = NULL;
++ GtkTreeIter iter;
++ GtkTreeViewDropPosition pos;
++ GdkDragAction action = 0;
++
++ tree_view = GTK_TREE_VIEW (widget);
++ model = gtk_tree_view_get_model (tree_view);
++
++ if (!gtk_tree_view_get_dest_row_at_pos (tree_view, x, y, &path, NULL))
++ goto exit;
++
++ if (!gtk_tree_model_get_iter (model, &iter, path))
++ goto exit;
++
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++
++ if (!e_source_get_writable (source))
++ goto exit;
++
++ pos = GTK_TREE_VIEW_DROP_INTO_OR_BEFORE;
++ gtk_tree_view_set_drag_dest_row (tree_view, path, pos);
++
++ if (gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE)
++ action = GDK_ACTION_MOVE;
++ else
++ action = gdk_drag_context_get_suggested_action (context);
++
++exit:
++ if (path != NULL)
++ gtk_tree_path_free (path);
++
++ if (source != NULL)
++ g_object_unref (source);
++
++ gdk_drag_status (context, action, time_);
++
++ return TRUE;
++}
++
++static gboolean
++source_selector_drag_drop (GtkWidget *widget,
++ GdkDragContext *context,
++ gint x,
++ gint y,
++ guint time_)
++{
++ ESource *source;
++ ESourceSelector *selector;
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreePath *path;
++ GtkTreeIter iter;
++ const gchar *extension_name;
++ gboolean drop_zone;
++ gboolean valid;
++
++ tree_view = GTK_TREE_VIEW (widget);
++ model = gtk_tree_view_get_model (tree_view);
++
++ if (!gtk_tree_view_get_path_at_pos (
++ tree_view, x, y, &path, NULL, NULL, NULL))
++ return FALSE;
++
++ valid = gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_path_free (path);
++ g_return_val_if_fail (valid, FALSE);
++
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++
++ selector = E_SOURCE_SELECTOR (widget);
++ extension_name = e_source_selector_get_extension_name (selector);
++ drop_zone = e_source_has_extension (source, extension_name);
++
++ g_object_unref (source);
++
++ return drop_zone;
++}
++
++static void
++source_selector_drag_data_received (GtkWidget *widget,
++ GdkDragContext *context,
++ gint x,
++ gint y,
++ GtkSelectionData *selection_data,
++ guint info,
++ guint time_)
++{
++ ESource *source = NULL;
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreePath *path = NULL;
++ GtkTreeIter iter;
++ GdkDragAction action;
++ gboolean delete;
++ gboolean success = FALSE;
++
++ tree_view = GTK_TREE_VIEW (widget);
++ model = gtk_tree_view_get_model (tree_view);
++
++ action = gdk_drag_context_get_selected_action (context);
++ delete = (action == GDK_ACTION_MOVE);
++
++ if (!gtk_tree_view_get_dest_row_at_pos (tree_view, x, y, &path, NULL))
++ goto exit;
++
++ if (!gtk_tree_model_get_iter (model, &iter, path))
++ goto exit;
++
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++
++ if (!e_source_get_writable (source))
++ goto exit;
++
++ g_signal_emit (
++ widget, signals[DATA_DROPPED], 0, selection_data,
++ source, gdk_drag_context_get_selected_action (context),
++ info, &success);
++
++exit:
++ if (path != NULL)
++ gtk_tree_path_free (path);
++
++ if (source != NULL)
++ g_object_unref (source);
++
++ gtk_drag_finish (context, success, delete, time_);
++}
++
++static gboolean
++source_selector_popup_menu (GtkWidget *widget)
++{
++ ESourceSelector *selector;
++ ESource *source;
++ gboolean res = FALSE;
++
++ selector = E_SOURCE_SELECTOR (widget);
++ source = e_source_selector_ref_primary_selection (selector);
++ g_signal_emit (selector, signals[POPUP_EVENT], 0, source, NULL, &res);
++
++ if (source != NULL)
++ g_object_unref (source);
++
++ return res;
++}
++
++static gboolean
++source_selector_test_collapse_row (GtkTreeView *tree_view,
++ GtkTreeIter *iter,
++ GtkTreePath *path)
++{
++ ESourceSelectorPrivate *priv;
++ GtkTreeSelection *selection;
++ GtkTreeModel *model;
++ GtkTreeIter child_iter;
++
++ priv = E_SOURCE_SELECTOR_GET_PRIVATE (tree_view);
++
++ /* Clear this because something else has been clicked on now */
++ priv->toggled_last = FALSE;
++
++ if (priv->saved_primary_selection)
++ return FALSE;
++
++ selection = gtk_tree_view_get_selection (tree_view);
++
++ if (!gtk_tree_selection_get_selected (selection, &model, &child_iter))
++ return FALSE;
++
++ if (gtk_tree_store_is_ancestor (GTK_TREE_STORE (model), iter, &child_iter)) {
++ GtkTreeRowReference *reference;
++ GtkTreePath *child_path;
++
++ child_path = gtk_tree_model_get_path (model, &child_iter);
++ reference = gtk_tree_row_reference_new (model, child_path);
++ priv->saved_primary_selection = reference;
++ gtk_tree_path_free (child_path);
++ }
++
++ return FALSE;
++}
++
++static void
++source_selector_row_expanded (GtkTreeView *tree_view,
++ GtkTreeIter *iter,
++ GtkTreePath *path)
++{
++ ESourceSelectorPrivate *priv;
++ GtkTreeModel *model;
++ GtkTreePath *child_path;
++ GtkTreeIter child_iter;
++
++ priv = E_SOURCE_SELECTOR_GET_PRIVATE (tree_view);
++
++ if (!priv->saved_primary_selection)
++ return;
++
++ model = gtk_tree_view_get_model (tree_view);
++
++ child_path = gtk_tree_row_reference_get_path (
++ priv->saved_primary_selection);
++ gtk_tree_model_get_iter (model, &child_iter, child_path);
++
++ if (gtk_tree_store_is_ancestor (GTK_TREE_STORE (model), iter, &child_iter)) {
++ GtkTreeSelection *selection;
++
++ selection = gtk_tree_view_get_selection (tree_view);
++ gtk_tree_selection_select_iter (selection, &child_iter);
++
++ clear_saved_primary_selection (E_SOURCE_SELECTOR (tree_view));
++ }
++
++ gtk_tree_path_free (child_path);
++}
++
++static gboolean
++source_selector_get_source_selected (ESourceSelector *selector,
++ ESource *source)
++{
++ ESourceSelectable *extension;
++ const gchar *extension_name;
++ gboolean selected = TRUE;
++
++ extension_name = e_source_selector_get_extension_name (selector);
++
++ if (!e_source_has_extension (source, extension_name))
++ return FALSE;
++
++ extension = e_source_get_extension (source, extension_name);
++
++ if (E_IS_SOURCE_SELECTABLE (extension))
++ selected = e_source_selectable_get_selected (extension);
++
++ return selected;
++}
++
++static void
++source_selector_set_source_selected (ESourceSelector *selector,
++ ESource *source,
++ gboolean selected)
++{
++ ESourceSelectable *extension;
++ const gchar *extension_name;
++
++ extension_name = e_source_selector_get_extension_name (selector);
++
++ if (!e_source_has_extension (source, extension_name))
++ return;
++
++ extension = e_source_get_extension (source, extension_name);
++
++ if (!E_IS_SOURCE_SELECTABLE (extension))
++ return;
++
++ if (selected != e_source_selectable_get_selected (extension)) {
++ e_source_selectable_set_selected (extension, selected);
++ e_source_selector_queue_write (selector, source);
++ }
++}
++
++static gboolean
++ess_bool_accumulator (GSignalInvocationHint *ihint,
++ GValue *out,
++ const GValue *in,
++ gpointer data)
++{
++ gboolean v_boolean;
++
++ v_boolean = g_value_get_boolean (in);
++ g_value_set_boolean (out, v_boolean);
++
++ return !v_boolean;
++}
++
++static void
++e_source_selector_class_init (ESourceSelectorClass *class)
++{
++ GObjectClass *object_class;
++ GtkWidgetClass *widget_class;
++ GtkTreeViewClass *tree_view_class;
++
++ g_type_class_add_private (class, sizeof (ESourceSelectorPrivate));
++
++ object_class = G_OBJECT_CLASS (class);
++ object_class->set_property = source_selector_set_property;
++ object_class->get_property = source_selector_get_property;
++ object_class->dispose = source_selector_dispose;
++ object_class->finalize = source_selector_finalize;
++ object_class->constructed = source_selector_constructed;
++
++ widget_class = GTK_WIDGET_CLASS (class);
++ widget_class->button_press_event = source_selector_button_press_event;
++ widget_class->drag_leave = source_selector_drag_leave;
++ widget_class->drag_motion = source_selector_drag_motion;
++ widget_class->drag_drop = source_selector_drag_drop;
++ widget_class->drag_data_received = source_selector_drag_data_received;
++ widget_class->popup_menu = source_selector_popup_menu;
++
++ tree_view_class = GTK_TREE_VIEW_CLASS (class);
++ tree_view_class->test_collapse_row = source_selector_test_collapse_row;
++ tree_view_class->row_expanded = source_selector_row_expanded;
++
++ class->get_source_selected = source_selector_get_source_selected;
++ class->set_source_selected = source_selector_set_source_selected;
++
++ g_object_class_install_property (
++ object_class,
++ PROP_EXTENSION_NAME,
++ g_param_spec_string (
++ "extension-name",
++ NULL,
++ NULL,
++ NULL,
++ G_PARAM_READWRITE |
++ G_PARAM_CONSTRUCT_ONLY |
++ G_PARAM_STATIC_STRINGS));
++
++ g_object_class_install_property (
++ object_class,
++ PROP_PRIMARY_SELECTION,
++ g_param_spec_object (
++ "primary-selection",
++ NULL,
++ NULL,
++ E_TYPE_SOURCE,
++ G_PARAM_READWRITE |
++ G_PARAM_STATIC_STRINGS));
++
++ g_object_class_install_property (
++ object_class,
++ PROP_REGISTRY,
++ g_param_spec_object (
++ "registry",
++ NULL,
++ NULL,
++ E_TYPE_SOURCE_REGISTRY,
++ G_PARAM_READWRITE |
++ G_PARAM_CONSTRUCT_ONLY |
++ G_PARAM_STATIC_STRINGS));
++
++ g_object_class_install_property (
++ object_class,
++ PROP_SHOW_COLORS,
++ g_param_spec_boolean (
++ "show-colors",
++ NULL,
++ NULL,
++ TRUE,
++ G_PARAM_READWRITE |
++ G_PARAM_STATIC_STRINGS));
++
++ g_object_class_install_property (
++ object_class,
++ PROP_SHOW_TOGGLES,
++ g_param_spec_boolean (
++ "show-toggles",
++ NULL,
++ NULL,
++ TRUE,
++ G_PARAM_READWRITE |
++ G_PARAM_STATIC_STRINGS));
++
++ signals[SELECTION_CHANGED] = g_signal_new (
++ "selection-changed",
++ G_OBJECT_CLASS_TYPE (object_class),
++ G_SIGNAL_RUN_LAST,
++ G_STRUCT_OFFSET (ESourceSelectorClass, selection_changed),
++ NULL, NULL, NULL,
++ G_TYPE_NONE, 0);
++
++ /* XXX Consider this signal deprecated. Connect
++ * to "notify::primary-selection" instead. */
++ signals[PRIMARY_SELECTION_CHANGED] = g_signal_new (
++ "primary-selection-changed",
++ G_OBJECT_CLASS_TYPE (object_class),
++ G_SIGNAL_RUN_LAST,
++ G_STRUCT_OFFSET (ESourceSelectorClass, primary_selection_changed),
++ NULL, NULL, NULL,
++ G_TYPE_NONE, 0);
++
++ signals[POPUP_EVENT] = g_signal_new (
++ "popup-event",
++ G_OBJECT_CLASS_TYPE (object_class),
++ G_SIGNAL_RUN_LAST,
++ G_STRUCT_OFFSET (ESourceSelectorClass, popup_event),
++ ess_bool_accumulator, NULL, NULL,
++ G_TYPE_BOOLEAN, 2, G_TYPE_OBJECT,
++ GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
++
++ signals[DATA_DROPPED] = g_signal_new (
++ "data-dropped",
++ G_OBJECT_CLASS_TYPE (object_class),
++ G_SIGNAL_RUN_LAST,
++ G_STRUCT_OFFSET (ESourceSelectorClass, data_dropped),
++ NULL, NULL, NULL,
++ G_TYPE_BOOLEAN, 4,
++ GTK_TYPE_SELECTION_DATA | G_SIGNAL_TYPE_STATIC_SCOPE,
++ E_TYPE_SOURCE,
++ GDK_TYPE_DRAG_ACTION,
++ G_TYPE_UINT);
++}
++
++static void
++e_source_selector_init (ESourceSelector *selector)
++{
++ GHashTable *pending_writes;
++ GtkTreeViewColumn *column;
++ GtkTreeSelection *selection;
++ GtkCellRenderer *renderer;
++ GtkTreeStore *tree_store;
++ GtkTreeView *tree_view;
++
++ pending_writes = g_hash_table_new_full (
++ (GHashFunc) g_direct_hash,
++ (GEqualFunc) g_direct_equal,
++ (GDestroyNotify) g_object_unref,
++ (GDestroyNotify) pending_writes_destroy_source);
++
++ selector->priv = E_SOURCE_SELECTOR_GET_PRIVATE (selector);
++
++ selector->priv->pending_writes = pending_writes;
++
++ selector->priv->main_context = g_main_context_get_thread_default ();
++ if (selector->priv->main_context != NULL)
++ g_main_context_ref (selector->priv->main_context);
++
++ tree_view = GTK_TREE_VIEW (selector);
++
++ gtk_tree_view_set_search_column (tree_view, COLUMN_SOURCE);
++ gtk_tree_view_set_enable_search (tree_view, TRUE);
++
++ selector->priv->toggled_last = FALSE;
++ selector->priv->select_new = FALSE;
++ selector->priv->show_colors = TRUE;
++ selector->priv->show_toggles = TRUE;
++
++ selector->priv->source_index = g_hash_table_new_full (
++ (GHashFunc) e_source_hash,
++ (GEqualFunc) e_source_equal,
++ (GDestroyNotify) g_object_unref,
++ (GDestroyNotify) gtk_tree_row_reference_free);
++
++ tree_store = gtk_tree_store_new (
++ NUM_COLUMNS,
++ G_TYPE_STRING, /* COLUMN_NAME */
++ GDK_TYPE_COLOR, /* COLUMN_COLOR */
++ G_TYPE_BOOLEAN, /* COLUMN_ACTIVE */
++ G_TYPE_BOOLEAN, /* COLUMN_SHOW_COLOR */
++ G_TYPE_BOOLEAN, /* COLUMN_SHOW_TOGGLE */
++ G_TYPE_INT, /* COLUMN_WEIGHT */
++ E_TYPE_SOURCE); /* COLUMN_SOURCE */
++
++ gtk_tree_view_set_model (tree_view, GTK_TREE_MODEL (tree_store));
++
++ column = gtk_tree_view_column_new ();
++ gtk_tree_view_append_column (tree_view, column);
++
++ renderer = e_cell_renderer_color_new ();
++ g_object_set (
++ G_OBJECT (renderer), "mode",
++ GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL);
++ gtk_tree_view_column_pack_start (column, renderer, FALSE);
++ gtk_tree_view_column_add_attribute (
++ column, renderer, "color", COLUMN_COLOR);
++ gtk_tree_view_column_add_attribute (
++ column, renderer, "visible", COLUMN_SHOW_COLOR);
++
++ renderer = e_cell_renderer_safe_toggle_new ();
++ gtk_tree_view_column_pack_start (column, renderer, FALSE);
++ gtk_tree_view_column_add_attribute (
++ column, renderer, "active", COLUMN_ACTIVE);
++ gtk_tree_view_column_add_attribute (
++ column, renderer, "visible", COLUMN_SHOW_TOGGLE);
++ g_signal_connect (
++ renderer, "toggled",
++ G_CALLBACK (cell_toggled_callback), selector);
++
++ renderer = gtk_cell_renderer_text_new ();
++ g_object_set (
++ G_OBJECT (renderer),
++ "ellipsize", PANGO_ELLIPSIZE_END, NULL);
++ g_signal_connect_swapped (
++ renderer, "edited",
++ G_CALLBACK (text_cell_edited_cb), selector);
++ gtk_tree_view_column_pack_start (column, renderer, TRUE);
++ gtk_tree_view_column_set_attributes (
++ column, renderer,
++ "text", COLUMN_NAME,
++ "weight", COLUMN_WEIGHT,
++ NULL);
++
++ selection = gtk_tree_view_get_selection (tree_view);
++ gtk_tree_selection_set_select_function (
++ selection, (GtkTreeSelectionFunc)
++ selection_func, selector, NULL);
++ g_signal_connect_object (
++ selection, "changed",
++ G_CALLBACK (selection_changed_callback),
++ G_OBJECT (selector), 0);
++
++ gtk_tree_view_set_headers_visible (tree_view, FALSE);
++}
++
++/**
++ * e_source_selector_new:
++ * @registry: an #ESourceRegistry
++ * @extension_name: the name of an #ESource extension
++ *
++ * Displays a list of sources from @registry having an extension named
++ * @extension_name. The sources are grouped by backend or groupware
++ * account, which are described by the parent source.
++ *
++ * Returns: a new #ESourceSelector
++ **/
++GtkWidget *
++e_source_selector_new (ESourceRegistry *registry,
++ const gchar *extension_name)
++{
++ g_return_val_if_fail (E_IS_SOURCE_REGISTRY (registry), NULL);
++ g_return_val_if_fail (extension_name != NULL, NULL);
++
++ return g_object_new (
++ E_TYPE_SOURCE_SELECTOR, "registry", registry,
++ "extension-name", extension_name, NULL);
++}
++
++/**
++ * e_source_selector_get_registry:
++ * @selector: an #ESourceSelector
++ *
++ * Returns the #ESourceRegistry that @selector is getting sources from.
++ *
++ * Returns: an #ESourceRegistry
++ *
++ * Since: 3.6
++ **/
++ESourceRegistry *
++e_source_selector_get_registry (ESourceSelector *selector)
++{
++ g_return_val_if_fail (E_IS_SOURCE_SELECTOR (selector), NULL);
++
++ return selector->priv->registry;
++}
++
++/**
++ * e_source_selector_get_extension_name:
++ * @selector: an #ESourceSelector
++ *
++ * Returns the extension name used to filter which sources are displayed.
++ *
++ * Returns: the #ESource extension name
++ *
++ * Since: 3.6
++ **/
++const gchar *
++e_source_selector_get_extension_name (ESourceSelector *selector)
++{
++ g_return_val_if_fail (E_IS_SOURCE_SELECTOR (selector), NULL);
++
++ return selector->priv->extension_name;
++}
++
++/**
++ * e_source_selector_get_show_colors:
++ * @selector: an #ESourceSelector
++ *
++ * Returns whether colors are shown next to data sources.
++ *
++ * Returns: %TRUE if colors are being shown
++ *
++ * Since: 3.6
++ **/
++gboolean
++e_source_selector_get_show_colors (ESourceSelector *selector)
++{
++ g_return_val_if_fail (E_IS_SOURCE_SELECTOR (selector), FALSE);
++
++ return selector->priv->show_colors;
++}
++
++/**
++ * e_source_selector_set_show_colors:
++ * @selector: an #ESourceSelector
++ * @show_colors: whether to show colors
++ *
++ * Sets whether to show colors next to data sources.
++ *
++ * Since: 3.6
++ **/
++void
++e_source_selector_set_show_colors (ESourceSelector *selector,
++ gboolean show_colors)
++{
++ g_return_if_fail (E_IS_SOURCE_SELECTOR (selector));
++
++ if ((show_colors ? 1 : 0) == (selector->priv->show_colors ? 1 : 0))
++ return;
++
++ selector->priv->show_colors = show_colors;
++
++ g_object_notify (G_OBJECT (selector), "show-colors");
++
++ source_selector_build_model (selector);
++}
++
++/**
++ * e_source_selector_get_show_toggles:
++ * @selector: an #ESourceSelector
++ *
++ * Returns whether toggles are shown next to data sources.
++ *
++ * Returns: %TRUE if toggles are being shown
++ *
++ * Since: 3.6
++ **/
++gboolean
++e_source_selector_get_show_toggles (ESourceSelector *selector)
++{
++ g_return_val_if_fail (E_IS_SOURCE_SELECTOR (selector), FALSE);
++
++ return selector->priv->show_toggles;
++}
++
++/**
++ * e_source_selector_set_show_toggles:
++ * @selector: an #ESourceSelector
++ * @show_toggles: whether to show toggles
++ *
++ * Sets whether to show toggles next to data sources.
++ *
++ * Since: 3.6
++ **/
++void
++e_source_selector_set_show_toggles (ESourceSelector *selector,
++ gboolean show_toggles)
++{
++ g_return_if_fail (E_IS_SOURCE_SELECTOR (selector));
++
++ if ((show_toggles ? 1 : 0) == (selector->priv->show_toggles ? 1 : 0))
++ return;
++
++ selector->priv->show_toggles = show_toggles;
++
++ g_object_notify (G_OBJECT (selector), "show-toggles");
++
++ source_selector_build_model (selector);
++}
++
++/* Helper for e_source_selector_get_selection() */
++static gboolean
++source_selector_check_selected (GtkTreeModel *model,
++ GtkTreePath *path,
++ GtkTreeIter *iter,
++ gpointer user_data)
++{
++ ESource *source;
++
++ struct {
++ ESourceSelector *selector;
++ GSList *list;
++ } *closure = user_data;
++
++ gtk_tree_model_get (model, iter, COLUMN_SOURCE, &source, -1);
++
++ if (e_source_selector_source_is_selected (closure->selector, source))
++ closure->list = g_slist_prepend (closure->list, source);
++ else
++ g_object_unref (source);
++
++ return FALSE;
++}
++
++/**
++ * e_source_selector_get_selection:
++ * @selector: an #ESourceSelector
++ *
++ * Get the list of selected sources, i.e. those that were enabled through the
++ * corresponding checkboxes in the tree.
++ *
++ * Returns: A list of the ESources currently selected. The sources will
++ * be in the same order as they appear on the screen, and the list should be
++ * freed using e_source_selector_free_selection().
++ **/
++GSList *
++e_source_selector_get_selection (ESourceSelector *selector)
++{
++ struct {
++ ESourceSelector *selector;
++ GSList *list;
++ } closure;
++
++ g_return_val_if_fail (E_IS_SOURCE_SELECTOR (selector), NULL);
++
++ closure.selector = selector;
++ closure.list = NULL;
++
++ gtk_tree_model_foreach (
++ gtk_tree_view_get_model (GTK_TREE_VIEW (selector)),
++ (GtkTreeModelForeachFunc) source_selector_check_selected,
++ &closure);
++
++ return g_slist_reverse (closure.list);
++}
++
++/**
++ * e_source_list_free_selection:
++ * @list: A selection list returned by e_source_selector_get_selection().
++ *
++ * Free the selection list.
++ **/
++void
++e_source_selector_free_selection (GSList *list)
++{
++ g_slist_foreach (list, (GFunc) g_object_unref, NULL);
++ g_slist_free (list);
++}
++
++/**
++ * e_source_selector_set_select_new:
++ * @selector: An #ESourceSelector widget
++ * @state: A gboolean
++ *
++ * Set whether or not to select new sources added to @selector.
++ **/
++void
++e_source_selector_set_select_new (ESourceSelector *selector,
++ gboolean state)
++{
++ g_return_if_fail (E_IS_SOURCE_SELECTOR (selector));
++
++ selector->priv->select_new = state;
++}
++
++/**
++ * e_source_selector_select_source:
++ * @selector: An #ESourceSelector widget
++ * @source: An #ESource.
++ *
++ * Select @source in @selector.
++ **/
++void
++e_source_selector_select_source (ESourceSelector *selector,
++ ESource *source)
++{
++ ESourceSelectorClass *class;
++ GtkTreeRowReference *reference;
++ GHashTable *source_index;
++
++ g_return_if_fail (E_IS_SOURCE_SELECTOR (selector));
++ g_return_if_fail (E_IS_SOURCE (source));
++
++ /* Make sure the ESource is in our tree model. */
++ source_index = selector->priv->source_index;
++ reference = g_hash_table_lookup (source_index, source);
++ g_return_if_fail (gtk_tree_row_reference_valid (reference));
++
++ class = E_SOURCE_SELECTOR_GET_CLASS (selector);
++ g_return_if_fail (class->set_source_selected != NULL);
++
++ class->set_source_selected (selector, source, TRUE);
++
++ g_signal_emit (selector, signals[SELECTION_CHANGED], 0);
++}
++
++/**
++ * e_source_selector_unselect_source:
++ * @selector: An #ESourceSelector widget
++ * @source: An #ESource.
++ *
++ * Unselect @source in @selector.
++ **/
++void
++e_source_selector_unselect_source (ESourceSelector *selector,
++ ESource *source)
++{
++ ESourceSelectorClass *class;
++ GtkTreeRowReference *reference;
++ GHashTable *source_index;
++
++ g_return_if_fail (E_IS_SOURCE_SELECTOR (selector));
++ g_return_if_fail (E_IS_SOURCE (source));
++
++ /* Make sure the ESource is in our tree model. */
++ source_index = selector->priv->source_index;
++ reference = g_hash_table_lookup (source_index, source);
++ g_return_if_fail (gtk_tree_row_reference_valid (reference));
++
++ class = E_SOURCE_SELECTOR_GET_CLASS (selector);
++ g_return_if_fail (class->set_source_selected != NULL);
++
++ class->set_source_selected (selector, source, FALSE);
++
++ g_signal_emit (selector, signals[SELECTION_CHANGED], 0);
++}
++
++/**
++ * e_source_selector_select_exclusive:
++ * @selector: An #ESourceSelector widget
++ * @source: An #ESource.
++ *
++ * Select @source in @selector and unselect all others.
++ *
++ * Since: 2.30
++ **/
++void
++e_source_selector_select_exclusive (ESourceSelector *selector,
++ ESource *source)
++{
++ ESourceSelectorClass *class;
++ GHashTable *source_index;
++ GHashTableIter iter;
++ gpointer key;
++
++ g_return_if_fail (E_IS_SOURCE_SELECTOR (selector));
++ g_return_if_fail (E_IS_SOURCE (source));
++
++ class = E_SOURCE_SELECTOR_GET_CLASS (selector);
++ g_return_if_fail (class->set_source_selected != NULL);
++
++ source_index = selector->priv->source_index;
++ g_hash_table_iter_init (&iter, source_index);
++
++ while (g_hash_table_iter_next (&iter, &key, NULL)) {
++ gboolean selected = e_source_equal (key, source);
++ class->set_source_selected (selector, key, selected);
++ }
++
++ g_signal_emit (selector, signals[SELECTION_CHANGED], 0);
++}
++
++/**
++ * e_source_selector_source_is_selected:
++ * @selector: An #ESourceSelector widget
++ * @source: An #ESource.
++ *
++ * Check whether @source is selected in @selector.
++ *
++ * Returns: %TRUE if @source is currently selected, %FALSE otherwise.
++ **/
++gboolean
++e_source_selector_source_is_selected (ESourceSelector *selector,
++ ESource *source)
++{
++ ESourceSelectorClass *class;
++ GtkTreeRowReference *reference;
++ GHashTable *source_index;
++
++ g_return_val_if_fail (E_IS_SOURCE_SELECTOR (selector), FALSE);
++ g_return_val_if_fail (E_IS_SOURCE (source), FALSE);
++
++ /* Make sure the ESource is in our tree model. */
++ source_index = selector->priv->source_index;
++ reference = g_hash_table_lookup (source_index, source);
++ g_return_val_if_fail (gtk_tree_row_reference_valid (reference), FALSE);
++
++ class = E_SOURCE_SELECTOR_GET_CLASS (selector);
++ g_return_val_if_fail (class->get_source_selected != NULL, FALSE);
++
++ return class->get_source_selected (selector, source);
++}
++
++/**
++ * e_source_selector_edit_primary_selection:
++ * @selector: An #ESourceSelector widget
++ *
++ * Allows the user to rename the primary selected source by opening an
++ * entry box directly in @selector.
++ *
++ * Since: 2.26
++ **/
++void
++e_source_selector_edit_primary_selection (ESourceSelector *selector)
++{
++ GtkTreeRowReference *reference;
++ GtkTreeSelection *selection;
++ GtkTreeViewColumn *column;
++ GtkCellRenderer *renderer;
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreePath *path = NULL;
++ GtkTreeIter iter;
++ GList *list;
++
++ g_return_if_fail (E_IS_SOURCE_SELECTOR (selector));
++
++ tree_view = GTK_TREE_VIEW (selector);
++ column = gtk_tree_view_get_column (tree_view, 0);
++ reference = selector->priv->saved_primary_selection;
++ selection = gtk_tree_view_get_selection (tree_view);
++
++ if (reference != NULL)
++ path = gtk_tree_row_reference_get_path (reference);
++ else if (gtk_tree_selection_get_selected (selection, &model, &iter))
++ path = gtk_tree_model_get_path (model, &iter);
++
++ if (path == NULL)
++ return;
++
++ /* XXX Because we stuff three renderers in a single column,
++ * we have to manually hunt for the text renderer. */
++ renderer = NULL;
++ list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column));
++ while (list != NULL) {
++ renderer = list->data;
++ if (GTK_IS_CELL_RENDERER_TEXT (renderer))
++ break;
++ list = g_list_delete_link (list, list);
++ }
++ g_list_free (list);
++
++ /* Make the text cell renderer editable, but only temporarily.
++ * We don't want editing to be activated by simply clicking on
++ * the source name. Too easy for accidental edits to occur. */
++ g_object_set (renderer, "editable", TRUE, NULL);
++ gtk_tree_view_expand_to_path (tree_view, path);
++ gtk_tree_view_set_cursor_on_cell (
++ tree_view, path, column, renderer, TRUE);
++ g_object_set (renderer, "editable", FALSE, NULL);
++
++ gtk_tree_path_free (path);
++}
++
++/**
++ * e_source_selector_ref_primary_selection:
++ * @selector: An #ESourceSelector widget
++ *
++ * Get the primary selected source. The primary selection is the one that is
++ * highlighted through the normal #GtkTreeView selection mechanism (as opposed
++ * to the "normal" selection, which is the set of source whose checkboxes are
++ * checked).
++ *
++ * The returned #ESource is referenced for thread-safety and must be
++ * unreferenced with g_object_unref() when finished with it.
++ *
++ * Returns: The selected source.
++ *
++ * Since: 3.6
++ **/
++ESource *
++e_source_selector_ref_primary_selection (ESourceSelector *selector)
++{
++ ESource *source;
++ GtkTreeRowReference *reference;
++ GtkTreeSelection *selection;
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreeIter iter;
++ const gchar *extension_name;
++ gboolean have_iter = FALSE;
++
++ g_return_val_if_fail (E_IS_SOURCE_SELECTOR (selector), NULL);
++
++ tree_view = GTK_TREE_VIEW (selector);
++ model = gtk_tree_view_get_model (tree_view);
++ selection = gtk_tree_view_get_selection (tree_view);
++
++ reference = selector->priv->saved_primary_selection;
++
++ if (gtk_tree_row_reference_valid (reference)) {
++ GtkTreePath *path;
++
++ path = gtk_tree_row_reference_get_path (reference);
++ have_iter = gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_path_free (path);
++ }
++
++ if (!have_iter)
++ have_iter = gtk_tree_selection_get_selected (
++ selection, NULL, &iter);
++
++ if (!have_iter)
++ return NULL;
++
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++
++ extension_name = e_source_selector_get_extension_name (selector);
++
++ if (!e_source_has_extension (source, extension_name)) {
++ g_object_unref (source);
++ return NULL;
++ }
++
++ return source;
++}
++
++/**
++ * e_source_selector_set_primary_selection:
++ * @selector: an #ESourceSelector widget
++ * @source: an #ESource to select
++ *
++ * Highlights @source in @selector. The highlighted #ESource is called
++ * the primary selection.
++ *
++ * Do not confuse this function with e_source_selector_select_source(),
++ * which activates the check box next to an #ESource's display name in
++ * @selector. This function does not alter the check box.
++ **/
++void
++e_source_selector_set_primary_selection (ESourceSelector *selector,
++ ESource *source)
++{
++ GHashTable *source_index;
++ GtkTreeRowReference *reference;
++ GtkTreeSelection *selection;
++ GtkTreeView *tree_view;
++ GtkTreePath *child_path;
++ GtkTreePath *parent_path;
++ const gchar *extension_name;
++
++ g_return_if_fail (E_IS_SOURCE_SELECTOR (selector));
++ g_return_if_fail (E_IS_SOURCE (source));
++
++ tree_view = GTK_TREE_VIEW (selector);
++ selection = gtk_tree_view_get_selection (tree_view);
++
++ source_index = selector->priv->source_index;
++ reference = g_hash_table_lookup (source_index, source);
++
++ /* XXX Maybe we should return a success/fail boolean? */
++ if (!gtk_tree_row_reference_valid (reference))
++ return;
++
++ extension_name = e_source_selector_get_extension_name (selector);
++
++ /* Return silently if attempting to select a parent node
++ * lacking the expected extension (e.g. On This Computer). */
++ if (!e_source_has_extension (source, extension_name))
++ return;
++
++ /* We block the signal because this all needs to be atomic */
++ g_signal_handlers_block_matched (
++ selection, G_SIGNAL_MATCH_FUNC,
++ 0, 0, NULL, selection_changed_callback, NULL);
++ gtk_tree_selection_unselect_all (selection);
++ g_signal_handlers_unblock_matched (
++ selection, G_SIGNAL_MATCH_FUNC,
++ 0, 0, NULL, selection_changed_callback, NULL);
++
++ clear_saved_primary_selection (selector);
++
++ child_path = gtk_tree_row_reference_get_path (reference);
++
++ parent_path = gtk_tree_path_copy (child_path);
++ gtk_tree_path_up (parent_path);
++
++ if (gtk_tree_view_row_expanded (tree_view, parent_path)) {
++ gtk_tree_selection_select_path (selection, child_path);
++ } else {
++ selector->priv->saved_primary_selection =
++ gtk_tree_row_reference_copy (reference);
++ g_signal_emit (selector, signals[PRIMARY_SELECTION_CHANGED], 0);
++ g_object_notify (G_OBJECT (selector), "primary-selection");
++ }
++
++ gtk_tree_path_free (child_path);
++ gtk_tree_path_free (parent_path);
++}
++
++/**
++ * e_source_selector_ref_source_by_path:
++ * @selector: an #ESourceSelector
++ * @path: a #GtkTreePath
++ *
++ * Returns the #ESource object at @path, or %NULL if @path is invalid.
++ *
++ * The returned #ESource is referenced for thread-safety and must be
++ * unreferenced with g_object_unref() when finished with it.
++ *
++ * Returns: the #ESource object at @path, or %NULL
++ *
++ * Since: 3.6
++ **/
++ESource *
++e_source_selector_ref_source_by_path (ESourceSelector *selector,
++ GtkTreePath *path)
++{
++ ESource *source = NULL;
++ GtkTreeModel *model;
++ GtkTreeIter iter;
++
++ g_return_val_if_fail (E_IS_SOURCE_SELECTOR (selector), NULL);
++ g_return_val_if_fail (path != NULL, NULL);
++
++ model = gtk_tree_view_get_model (GTK_TREE_VIEW (selector));
++
++ if (gtk_tree_model_get_iter (model, &iter, path))
++ gtk_tree_model_get (model, &iter, COLUMN_SOURCE, &source, -1);
++
++ return source;
++}
++
++/**
++ * e_source_selector_queue_write:
++ * @selector: an #ESourceSelecetor
++ * @source: an #ESource with changes to be written
++ *
++ * Queues a main loop idle callback to write changes to @source back to
++ * the D-Bus registry service.
++ *
++ * Since: 3.6
++ **/
++void
++e_source_selector_queue_write (ESourceSelector *selector,
++ ESource *source)
++{
++ GSource *idle_source;
++ GHashTable *pending_writes;
++ GMainContext *main_context;
++ AsyncContext *async_context;
++
++ g_return_if_fail (E_IS_SOURCE_SELECTOR (selector));
++ g_return_if_fail (E_IS_SOURCE (source));
++
++ main_context = selector->priv->main_context;
++ pending_writes = selector->priv->pending_writes;
++
++ idle_source = g_hash_table_lookup (pending_writes, source);
++ if (idle_source != NULL && !g_source_is_destroyed (idle_source))
++ return;
++
++ async_context = g_slice_new0 (AsyncContext);
++ async_context->selector = g_object_ref (selector);
++ async_context->source = g_object_ref (source);
++
++ /* Set a higher priority so this idle source runs before our
++ * source_selector_cancel_write() signal handler, which will
++ * cancel this idle source. Cancellation is the right thing
++ * to do when receiving changes from OTHER registry clients,
++ * but we don't want to cancel our own changes.
++ *
++ * XXX This might be an argument for using etags.
++ */
++ idle_source = g_idle_source_new ();
++ g_hash_table_insert (
++ pending_writes,
++ g_object_ref (source),
++ g_source_ref (idle_source));
++ g_source_set_callback (
++ idle_source,
++ source_selector_write_idle_cb,
++ async_context,
++ (GDestroyNotify) async_context_free);
++ g_source_set_priority (idle_source, G_PRIORITY_HIGH_IDLE);
++ g_source_attach (idle_source, main_context);
++ g_source_unref (idle_source);
++}
++
+diff --git a/src/event-factories/e-source-selector.h b/src/event-factories/e-source-selector.h
+new file mode 100644
+index 0000000..b6d3770
+--- /dev/null
++++ b/src/event-factories/e-source-selector.h
+@@ -0,0 +1,137 @@
++/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
++/* e-source-selector.h
++ *
++ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser 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 Lesser General Public
++ * License along with this program; if not, write to the
++ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ *
++ * Author: Ettore Perazzoli <ettore@ximian.com>
++ */
++
++#ifndef E_SOURCE_SELECTOR_H
++#define E_SOURCE_SELECTOR_H
++
++#include <gtk/gtk.h>
++#include <libedataserver/libedataserver.h>
++
++/* Standard GObject macros */
++#define E_TYPE_SOURCE_SELECTOR \
++ (e_source_selector_get_type ())
++#define E_SOURCE_SELECTOR(obj) \
++ (G_TYPE_CHECK_INSTANCE_CAST \
++ ((obj), E_TYPE_SOURCE_SELECTOR, ESourceSelector))
++#define E_SOURCE_SELECTOR_CLASS(cls) \
++ (G_TYPE_CHECK_CLASS_CAST \
++ ((cls), E_TYPE_SOURCE_SELECTOR, ESourceSelectorClass))
++#define E_IS_SOURCE_SELECTOR(obj) \
++ (G_TYPE_CHECK_INSTANCE_TYPE \
++ ((obj), E_TYPE_SOURCE_SELECTOR))
++#define E_IS_SOURCE_SELECTOR_CLASS(cls) \
++ (G_TYPE_CHECK_CLASS_TYPE \
++ ((cls), E_TYPE_SOURCE_SELECTOR))
++#define E_SOURCE_SELECTOR_GET_CLASS(obj) \
++ (G_TYPE_INSTANCE_GET_CLASS \
++ ((obj), E_TYPE_SOURCE_SELECTOR, ESourceSelectorClass))
++
++G_BEGIN_DECLS
++
++typedef struct _ESourceSelector ESourceSelector;
++typedef struct _ESourceSelectorClass ESourceSelectorClass;
++typedef struct _ESourceSelectorPrivate ESourceSelectorPrivate;
++
++struct _ESourceSelector {
++ GtkTreeView parent;
++ ESourceSelectorPrivate *priv;
++};
++
++struct _ESourceSelectorClass {
++ GtkTreeViewClass parent_class;
++
++ /* Methods */
++ gboolean (*get_source_selected) (ESourceSelector *selector,
++ ESource *source);
++ void (*set_source_selected) (ESourceSelector *selector,
++ ESource *source,
++ gboolean selected);
++
++ /* Signals */
++ void (*selection_changed) (ESourceSelector *selector);
++ void (*primary_selection_changed)
++ (ESourceSelector *selector);
++ gboolean (*popup_event) (ESourceSelector *selector,
++ ESource *primary,
++ GdkEventButton *event);
++ gboolean (*data_dropped) (ESourceSelector *selector,
++ GtkSelectionData *data,
++ ESource *destination,
++ GdkDragAction action,
++ guint target_info);
++
++ gpointer padding1;
++ gpointer padding2;
++ gpointer padding3;
++};
++
++GType e_source_selector_get_type (void);
++GtkWidget * e_source_selector_new (ESourceRegistry *registry,
++ const gchar *extension_name);
++ESourceRegistry *
++ e_source_selector_get_registry (ESourceSelector *selector);
++const gchar * e_source_selector_get_extension_name
++ (ESourceSelector *selector);
++gboolean e_source_selector_get_show_colors
++ (ESourceSelector *selector);
++void e_source_selector_set_show_colors
++ (ESourceSelector *selector,
++ gboolean show_colors);
++gboolean e_source_selector_get_show_toggles
++ (ESourceSelector *selector);
++void e_source_selector_set_show_toggles
++ (ESourceSelector *selector,
++ gboolean show_toggles);
++void e_source_selector_select_source (ESourceSelector *selector,
++ ESource *source);
++void e_source_selector_unselect_source
++ (ESourceSelector *selector,
++ ESource *source);
++void e_source_selector_select_exclusive
++ (ESourceSelector *selector,
++ ESource *source);
++gboolean e_source_selector_source_is_selected
++ (ESourceSelector *selector,
++ ESource *source);
++GSList * e_source_selector_get_selection (ESourceSelector *selector);
++void e_source_selector_free_selection
++ (GSList *list);
++void e_source_selector_set_select_new
++ (ESourceSelector *selector,
++ gboolean state);
++void e_source_selector_edit_primary_selection
++ (ESourceSelector *selector);
++ESource * e_source_selector_ref_primary_selection
++ (ESourceSelector *selector);
++void e_source_selector_set_primary_selection
++ (ESourceSelector *selector,
++ ESource *source);
++ESource * e_source_selector_ref_source_by_path
++ (ESourceSelector *selector,
++ GtkTreePath *path);
++void e_source_selector_queue_write (ESourceSelector *selector,
++ ESource *source);
++
++G_END_DECLS
++
++#endif /* E_SOURCE_SELECTOR_H */
+--
+cgit v0.9.1
diff --git a/community/almanah/update-gtkspell3-support.patch b/community/almanah/update-gtkspell3-support.patch
new file mode 100644
index 000000000..aa2a81159
--- /dev/null
+++ b/community/almanah/update-gtkspell3-support.patch
@@ -0,0 +1,90 @@
+From 114c4f78ac9882be51c4154751760bd4fea48403 Mon Sep 17 00:00:00 2001
+From: Álvaro Peña <alvaropg@gmail.com>
+Date: Wed, 06 Feb 2013 10:12:54 +0000
+Subject: Update GtkSpell 3 support
+
+---
+diff --git a/configure.ac b/configure.ac
+index b89ba74..fbe6889 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -95,7 +95,7 @@ AC_SUBST(EVO_LIBS)
+
+ dnl Spell checking
+ if test $spell_checking = "true"; then
+- PKG_CHECK_MODULES(SPELL_CHECKING, gtkspell-3.0)
++ PKG_CHECK_MODULES(SPELL_CHECKING, gtkspell3-3.0)
+ AC_SUBST(SPELL_CHECKING_CFLAGS)
+ AC_SUBST(SPELL_CHECKING_LIBS)
+ fi
+diff --git a/src/main-window.c b/src/main-window.c
+index fb931e1..2fe01ef 100644
+--- a/src/main-window.c
++++ b/src/main-window.c
+@@ -1109,7 +1109,7 @@ mw_calendar_day_selected_cb (AlmanahCalendarButton *calendar_button, AlmanahMain
+ AlmanahEventManager *event_manager;
+ GDate calendar_date;
+ #ifdef ENABLE_SPELL_CHECKING
+- GtkSpell *gtkspell;
++ GtkSpellChecker *gtkspell;
+ #endif /* ENABLE_SPELL_CHECKING */
+ AlmanahMainWindowPrivate *priv = main_window->priv;
+ AlmanahEntry *entry;
+@@ -1166,9 +1166,9 @@ mw_calendar_day_selected_cb (AlmanahCalendarButton *calendar_button, AlmanahMain
+
+ #ifdef ENABLE_SPELL_CHECKING
+ /* Ensure the spell-checking is updated */
+- gtkspell = gtkspell_get_from_text_view (priv->entry_view);
++ gtkspell = gtk_spell_checker_get_from_text_view (priv->entry_view);
+ if (gtkspell != NULL) {
+- gtkspell_recheck_all (gtkspell);
++ gtk_spell_checker_recheck_all (gtkspell);
+ gtk_widget_queue_draw (GTK_WIDGET (priv->entry_view));
+ }
+ #endif /* ENABLE_SPELL_CHECKING */
+@@ -1326,13 +1326,13 @@ enable_spell_checking (AlmanahMainWindow *self, GError **error)
+ {
+ AlmanahApplication *application;
+ GSettings *settings;
+- GtkSpell *gtkspell;
++ GtkSpellChecker *gtkspell;
+ gchar *spelling_language;
+ GtkTextTagTable *table;
+ GtkTextTag *tag;
+
+ /* Bail out if spell checking's already enabled */
+- if (gtkspell_get_from_text_view (self->priv->entry_view) != NULL)
++ if (gtk_spell_checker_get_from_text_view (self->priv->entry_view) != NULL)
+ return TRUE;
+
+ /* If spell checking wasn't already enabled, we have a dummy gtkspell-misspelled text tag to destroy */
+@@ -1353,7 +1353,9 @@ enable_spell_checking (AlmanahMainWindow *self, GError **error)
+ spelling_language = NULL;
+ }
+
+- gtkspell = gtkspell_new_attach (self->priv->entry_view, spelling_language, error);
++ gtkspell = gtk_spell_checker_new ();
++ gtk_spell_checker_set_language (gtkspell, spelling_language, error);
++ gtk_spell_checker_attach (gtkspell, self->priv->entry_view);
+ g_free (spelling_language);
+
+ if (gtkspell == NULL)
+@@ -1364,13 +1366,13 @@ enable_spell_checking (AlmanahMainWindow *self, GError **error)
+ static void
+ disable_spell_checking (AlmanahMainWindow *self)
+ {
+- GtkSpell *gtkspell;
++ GtkSpellChecker *gtkspell;
+ GtkTextTagTable *table;
+ GtkTextTag *tag;
+
+- gtkspell = gtkspell_get_from_text_view (self->priv->entry_view);
++ gtkspell = gtk_spell_checker_get_from_text_view (self->priv->entry_view);
+ if (gtkspell != NULL)
+- gtkspell_detach (gtkspell);
++ gtk_spell_checker_detach (gtkspell);
+
+ /* Remove the old gtkspell-misspelling text tag */
+ table = gtk_text_buffer_get_tag_table (self->priv->entry_buffer);
+--
+cgit v0.9.1
diff --git a/community/alure/PKGBUILD b/community/alure/PKGBUILD
new file mode 100644
index 000000000..0db666fa2
--- /dev/null
+++ b/community/alure/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Markus Martin <markus@archwyrm.net>
+
+pkgname=alure
+pkgver=1.2
+pkgrel=2
+pkgdesc='Utility library to help manage common tasks with OpenAL applications.'
+arch=('i686' 'x86_64')
+url='http://kcat.strangesoft.net/alure.html'
+license=('MIT')
+depends=('openal')
+makedepends=('cmake' 'libsndfile' 'libvorbis' 'flac' 'mpg123' 'dumb' 'fluidsynth')
+optdepends=('libsndfile: for uncompressed audio support'
+ 'libvorbis: for OGG Vorbis support'
+ 'flac: for FLAC support'
+ 'mpg123: for MPEG support'
+ 'dumb: for IT, XM, S3M and MOD support'
+ 'fluidsynth: for SoundFont 2 support')
+source=("http://kcat.strangesoft.net/alure-releases/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('3088aba074ad02d95ea51e705053b9f5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm0644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/community/amidi-plug/PKGBUILD b/community/amidi-plug/PKGBUILD
new file mode 100644
index 000000000..d13e19531
--- /dev/null
+++ b/community/amidi-plug/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65039 2012-02-20 02:15:30Z spupykin $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: yosh64 <yosh64.at.gmail.dot.com>
+
+pkgname=amidi-plug
+pkgver=0.7
+pkgrel=6
+pkgdesc="A MIDI input plugin for XMMS"
+arch=('i686' 'x86_64')
+url="http://www.develia.org/projects.php?l=2&f=1&p=amidiplug"
+license=('GPL2')
+depends=('xmms' 'fluidsynth')
+makedepends=('pkgconfig')
+options=('!libtool')
+source=(http://www.develia.org/files/$pkgname-$pkgver.tar.bz2)
+md5sums=('bb128c40dce0ab4afda79da01f985a09')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --with-player=xmms
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/amsn/PKGBUILD b/community/amsn/PKGBUILD
new file mode 100644
index 000000000..4cc2b5ef5
--- /dev/null
+++ b/community/amsn/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 90004 2013-05-06 19:36:15Z foutrelis $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Jeff Mickey <j@codemac.net>
+
+pkgname=amsn
+pkgver=0.98.9
+pkgrel=3
+pkgdesc="MSN client written in Tcl/Tk"
+arch=('i686' 'x86_64')
+url="http://amsn.sourceforge.net/"
+license=('GPL2')
+depends=('tk' 'tls')
+makedepends=('libjpeg' 'libpng' 'farstream' 'libv4l')
+# not compatible with farstream 0.2
+#optdepends=('farstream: for video conferencing')
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver-src.tar.bz2
+ $pkgname-$pkgver-v4l2.patch
+ $pkgname-$pkgver-no-rebuild-on-install.patch)
+sha256sums=('1fd2620489cc3627a841773a79cf28a7c9c438979c76d37f231a773a79e7f23e'
+ '5371339024548fad3b3c5330e3bc410360a383a75d1771fb656885acddfc44cf'
+ 'dd560bebcfa672ba0be56b70dbcaa069b0faba7206d9cb8ea5d61fbd50ad81a1')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ # patch for linux kernel header changes
+ patch -Np0 -i ${srcdir}/$pkgname-$pkgver-v4l2.patch
+ # build patch
+ patch -Np0 -i ${srcdir}/$pkgname-$pkgver-no-rebuild-on-install.patch
+
+ # python2 fix
+ for file in lang/missing.py plugins/music/infosongbird; do
+ sed -i 's_/usr/bin/env python_/usr/bin/env python2_' ${file}
+ done
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/amsn/amsn-0.98.9-no-rebuild-on-install.patch b/community/amsn/amsn-0.98.9-no-rebuild-on-install.patch
new file mode 100644
index 000000000..d3b6e4c55
--- /dev/null
+++ b/community/amsn/amsn-0.98.9-no-rebuild-on-install.patch
@@ -0,0 +1,14 @@
+--- Makefile.in 2012-05-18 21:28:05.000000000 +0200
++++ Makefile.in 2012-06-02 12:26:35.585073960 +0200
+@@ -261,3 +261,5 @@
+
+-install_libs:: rebuild_libs do_install_libs
++install_libs:: clean_libs
++ $(MAKE) rebuild_libs
++ $(MAKE) do_install_libs
+
+@@ -278,3 +280,3 @@
+ rebuild_libs: LIBDIR=$(libdir)/$(PACKAGE)
+-rebuild_libs: clean_libs $(LIBS_WITH_RPATH)
++rebuild_libs: $(LIBS_WITH_RPATH)
+
diff --git a/community/amsn/amsn-0.98.9-v4l2.patch b/community/amsn/amsn-0.98.9-v4l2.patch
new file mode 100644
index 000000000..b636e61fd
--- /dev/null
+++ b/community/amsn/amsn-0.98.9-v4l2.patch
@@ -0,0 +1,44 @@
+--- configure.ac 2012-05-23 21:21:14.000000000 +0200
++++ configure.ac 2012-06-02 12:29:24.836921683 +0200
+@@ -378,6 +378,10 @@
+ AC_CHECK_HEADERS(sys/videodev2.h,FOUND_OS=solaris,FOUND_OS=linux)
+ fi
+
++if test "$FOUND_OS" = "linux"; then
++ AC_CHECK_HEADERS(linux/videodev2.h)
++fi
++
+ #---------------------------------------------------------------------------------------------
+
+ dnl ---------------------------------------------------------------------
+--- utils/linux/capture/capture.h 2011-04-12 02:20:59.000000000 +0200
++++ utils/linux/capture/capture.h 2012-06-02 12:29:24.836921683 +0200
+@@ -34,7 +34,11 @@
+ #ifdef HAVE_SYS_VIDEODEV2_H
+ # include <sys/videodev2.h>
+ #else
+-# include <linux/videodev.h>
++ #ifdef HAVE_LINUX_VIDEODEV2_H
++ #include <linux/videodev2.h>
++ #else
++ #include <linux/videodev.h>
++ #endif
+ #endif
+ */
+
+--- utils/linux/capture/libng/plugins/Rules.mk 2012-05-18 17:31:32.000000000 +0200
++++ utils/linux/capture/libng/plugins/Rules.mk 2012-06-02 12:51:59.523065502 +0200
+@@ -2,6 +2,13 @@
+ TARGETS-plugins := $(capture_dir)/libng/plugins/conv-mjpeg.so
+ TARGETS-plugins += $(patsubst %,$(capture_dir)/libng/plugins/%.so,${LIBNG_PLUGINS})
+
++plugin_link_so = $(CC) $(LDFLAGS) $^ $(LDLIBS) $(capture_dir)/capture.so $(SHARED) -o $@
++ifeq ($(verbose),no)
++ echo_plugin_link_so = echo " LDP " $@
++else
++ echo_plugin_link_so = echo $(plugin_link_so)
++endif
++
+ # global targets
+ all:: $(TARGETS-plugins)
+ \ No newline at end of file
diff --git a/community/amsn/amsn.changelog b/community/amsn/amsn.changelog
new file mode 100644
index 000000000..41d497576
--- /dev/null
+++ b/community/amsn/amsn.changelog
@@ -0,0 +1,11 @@
+2012-06-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * amsn 0.98.9-1
+
+2010-12-13 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.98.4
+
+2010-03-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.98.3
+
+2009-07-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#15542 fixed in 0.97.2-14
diff --git a/community/antiword/PKGBUILD b/community/antiword/PKGBUILD
new file mode 100644
index 000000000..3d5c45644
--- /dev/null
+++ b/community/antiword/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 55537 2011-09-14 08:02:10Z andrea $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Aaron, phrakture, Griffin <aaron@archlinux.org>
+# Contributor: Gustav Munkby <grddev@gmx.net>
+
+pkgname=antiword
+pkgver=0.37
+pkgrel=3
+pkgdesc="A free MS Word reader for Linux and RISC OS"
+arch=('i686' 'x86_64')
+url="http://www.winfield.demon.nl/"
+license=('GPL')
+depends=('bash')
+install=antiword.install
+source=("http://www.winfield.demon.nl/linux/$pkgname-$pkgver.tar.gz"
+ 'antiword-helper')
+md5sums=('f868e2a269edcbc06bf77e89a55898d1'
+ '01a988376cfd4bb268120ab597c9abe3')
+
+build(){
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ sed -i "s|GLOBAL_INSTALL_DIR =.*|GLOBAL_INSTALL_DIR = /usr/bin|g" \
+ Makefile.Linux
+
+ make OPT="${CFLAGS} -DNDEBUG" LDFLAGS="${LDFLAGS}"
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make DESTDIR="${pkgdir}" global_install
+ install -m755 $srcdir/antiword-helper $pkgdir/usr/bin/
+ install -Dm644 Docs/antiword.1 $pkgdir/usr/share/man/man1/antiword.1
+}
diff --git a/community/antiword/antiword-helper b/community/antiword/antiword-helper
new file mode 100644
index 000000000..ee9fea627
--- /dev/null
+++ b/community/antiword/antiword-helper
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+[ $# -eq 2 ] || exit 1
+
+tmpfile=/tmp/aw$$.txt
+editor=${EDITOR:-`which vi`}
+terminal="$2"
+
+antiword "$1" > $tmpfile
+chmod -w $tmpfile
+$terminal -e $editor $tmpfile
+chmod +w $tmpfile
+rm $tmpfile
diff --git a/community/antiword/antiword.install b/community/antiword/antiword.install
new file mode 100644
index 000000000..010579522
--- /dev/null
+++ b/community/antiword/antiword.install
@@ -0,0 +1,16 @@
+post_install() {
+ cat << EOF
+NOTES On Antiword Integration:
+
+* If you use mozplugger, make sure to configure the
+ msword section like so (replacing <TERMINAL> with your
+ terminal of choice):
+ application/msword: doc, dot: Microsoft Word Document
+ ignore_errors exits: antiword-helper <TERMINAL> "$file"
+
+* To properly use antiword in your mailcap settings:
+ application/msword; antiword %s; copiousoutput
+
+* To enable drag-and-drop support in KDE, use the kantiword script
+EOF
+}
diff --git a/community/anyfs-tools/PKGBUILD b/community/anyfs-tools/PKGBUILD
new file mode 100644
index 000000000..d88e91149
--- /dev/null
+++ b/community/anyfs-tools/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 91828 2013-05-28 17:03:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=anyfs-tools
+pkgver=0.85.1c
+pkgrel=4
+pkgdesc="unix-way toolset for recovering and converting filesystems"
+arch=('i686' 'x86_64')
+url="http://anyfs-tools.sourceforge.net/"
+license=('GPL')
+depends=(bzip2 e2fsprogs libmpeg2 xfsprogs fuse)
+#makedepends=('linux-headers')
+install=anyfs-tools.install
+source=(http://downloads.sourceforge.net/sourceforge/anyfs-tools/${pkgname}-${pkgver}.tar.bz2
+ disable-build-ext2fs.patch)
+md5sums=('d3da0004cd0f037ec3e926acd3f520c2'
+ '5ea91297b605d51b03243adda1efed27')
+
+prepare() {
+ cd $srcdir/$pkgname-${pkgver}
+ find . -name Makefile.in -exec sed -i 's|$(INSTALLPATH)/sbin|$(INSTALLPATH)/bin|g' {} \;
+}
+
+build() {
+ cd $srcdir/$pkgname-${pkgver}
+
+ unset LDFLAGS
+ unset CFLAGS
+ patch -p1 <$srcdir/disable-build-ext2fs.patch
+
+ #Dirty Arch64 fix which doesn't affect i686
+ CFLAGS="-DNO_INLINE_FUNCS -D_INLINE_=static" \
+ ./configure --prefix=/usr --build=i686-linux-gnu
+ make -j1
+ sed -i 's|ldconfig||' src/anysurrect/Makefile
+}
+
+package() {
+ cd $srcdir/$pkgname-${pkgver}
+ make INSTALLPATH=$pkgdir/usr install
+}
diff --git a/community/anyfs-tools/anyfs-tools.install b/community/anyfs-tools/anyfs-tools.install
new file mode 100644
index 000000000..a9e3e45b5
--- /dev/null
+++ b/community/anyfs-tools/anyfs-tools.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo ">> build_e2fs tool temporary disabled"
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community/anyfs-tools/disable-build-ext2fs.patch b/community/anyfs-tools/disable-build-ext2fs.patch
new file mode 100644
index 000000000..7f35f446d
--- /dev/null
+++ b/community/anyfs-tools/disable-build-ext2fs.patch
@@ -0,0 +1,20 @@
+diff -wbBur anyfs-tools-0.85.1c/src/Makefile.in anyfs-tools-0.85.1c.my/src/Makefile.in
+--- anyfs-tools-0.85.1c/src/Makefile.in 2006-11-20 03:40:54.000000000 +0300
++++ anyfs-tools-0.85.1c.my/src/Makefile.in 2012-02-23 10:43:33.000000000 +0400
+@@ -17,7 +17,7 @@
+ REBLOCKLDFLAGS= -lany
+ BDITLDFLAGS= -lany
+
+-all: reblock build_it anysurrect_util build_e2fs_util $(XFS_UTILS) $(ANYFUSE_MODULE)
++all: reblock build_it anysurrect_util $(XFS_UTILS) $(ANYFUSE_MODULE)
+
+ reblock: $(OBJREBLOCK)
+ $(CC) $(CCFLAGS) -o $@ $(OBJREBLOCK) $(LDFLAGS) $(REBLOCKLDFLAGS)
+@@ -39,7 +39,6 @@
+ $(INSTALL) -d $(INSTALLPATH)/sbin
+ $(INSTALL) reblock build_it $(INSTALLPATH)/sbin
+ $(MAKE) $(AM_MAKEFLAGS) -C anysurrect install
+- $(MAKE) $(AM_MAKEFLAGS) -C build_e2fs install
+ $(MAKE) $(AM_MAKEFLAGS) -C build_xfs install
+ $(MAKE) $(AM_MAKEFLAGS) -C anyfuse install
+
diff --git a/community/apcupsd/PKGBUILD b/community/apcupsd/PKGBUILD
new file mode 100644
index 000000000..672f094ec
--- /dev/null
+++ b/community/apcupsd/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 93771 2013-07-10 07:27:11Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Todd Musall <tmusall@comcast.net>
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgname=apcupsd
+pkgver=3.14.10
+pkgrel=7
+pkgdesc="Power mangement and controlling most of APC's UPS models"
+arch=(i686 x86_64)
+url="http://www.apcupsd.org"
+license=('GPL')
+depends=('gcc-libs')
+optdepends=('gd: for CGI'
+ 'gconf: for frontend'
+ 'gtk2: for frontend')
+makedepends=('pkgconfig' 'gd' 'gconf' 'gtk2' 'systemd-sysvcompat')
+backup=(etc/apcupsd/apcupsd.conf etc/apcupsd/hosts.conf
+ etc/apcupsd/multimon.conf)
+source=(http://downloads.sourceforge.net/apcupsd/$pkgname-$pkgver.tar.gz
+ apcupsd.service
+ apcupsd-tmpfiles.conf)
+sha256sums=('0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032'
+ '145e88863335f077fc354b4d263b15f64af67b45a10ed37c68ebd468181e23f7'
+ 'b00cd1a31de70a172698d486583aa79113b99c1bb4b882ab906d0e37504d7f55')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --libexecdir=/usr/lib/$pkgname \
+ --sbindir=/usr/bin \
+ --enable-cgi --enable-usb --enable-net \
+ --with-upstype=usb --with-upscable=usb \
+ --with-serial-dev=/dev/usb/hid/hiddev[0-9] \
+ --enable-pthreads --enable-gapcmon
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir/apcupsd.service" "$pkgdir/usr/lib/systemd/system/apcupsd.service"
+ install -Dm644 "$srcdir/apcupsd-tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/apcupsd.conf"
+ chmod 755 "$pkgdir"/usr/bin/*
+ install -dm755 "$pkgdir/usr/lib/$pkgname/cgi-bin"
+ mv "$pkgdir"/etc/apcupsd/*.cgi "$pkgdir/usr/lib/$pkgname/cgi-bin"
+}
diff --git a/community/apcupsd/apcupsd-tmpfiles.conf b/community/apcupsd/apcupsd-tmpfiles.conf
new file mode 100644
index 000000000..0ceb4106b
--- /dev/null
+++ b/community/apcupsd/apcupsd-tmpfiles.conf
@@ -0,0 +1,2 @@
+r /etc/apcupsd/powerfail
+r /etc/nologin \ No newline at end of file
diff --git a/community/apcupsd/apcupsd.service b/community/apcupsd/apcupsd.service
new file mode 100644
index 000000000..b8dfb9b4a
--- /dev/null
+++ b/community/apcupsd/apcupsd.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=APC UPS Monitor
+
+[Service]
+ExecStart=/usr/bin/apcupsd -b
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/apg/ChangeLog b/community/apg/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/apg/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/apg/PKGBUILD b/community/apg/PKGBUILD
new file mode 100644
index 000000000..e5a6a2f4e
--- /dev/null
+++ b/community/apg/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 65041 2012-02-20 02:16:10Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: eric <eric@archlinux.org>
+# Contributor: Manolis Tzanidakis
+
+pkgname=apg
+pkgver=2.2.3
+pkgrel=3
+pkgdesc="Automated Password Generator."
+arch=(i686 x86_64)
+url="http://www.adel.nursat.kz/apg/index.shtml"
+license=('custom')
+depends=('glibc')
+source=(http://www.adel.nursat.kz/apg/download/$pkgname-$pkgver.tar.gz)
+md5sums=('3b3fc4f11e90635519fe627c1137c9ac')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's:^#\(CS_LIBS = -lnsl\)$:\1:' Makefile
+ make
+ for i in apg apgbfm; do
+ install -D -m755 $i $pkgdir/usr/bin/$i
+ install -D -m644 doc/man/$i.1 $pkgdir/usr/share/man/man1/$i.1
+ done
+ install -D -m 644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
+}
diff --git a/community/apitrace/PKGBUILD b/community/apitrace/PKGBUILD
new file mode 100644
index 000000000..43622bdca
--- /dev/null
+++ b/community/apitrace/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 89930 2013-05-05 19:53:46Z lcarlier $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Luca Bennati <lucak3 AT gmail DOT com>
+# Contributor: Glaucous <glakke1 at gmail dot com>
+
+pkgname=apitrace
+pkgver=4.0
+pkgrel=1
+pkgdesc="Graphics API Tracing"
+arch=('i686' 'x86_64')
+url="https://github.com/apitrace/apitrace"
+license=('custom')
+makedepends=('cmake' 'mesa' 'libgl' 'python2' 'qtwebkit' 'qjson')
+optdepends=('qtwebkit: GUI support' 'qjson: GUI support')
+source=("https://github.com/apitrace/apitrace/archive/${pkgver}.zip")
+md5sums=('5b2e212d91d2f184d8608c712eab69a0')
+
+build() {
+ cd ${srcdir}/apitrace-*
+
+ cmake . -Bbuild -DCMAKE_INSTALL_PREFIX=/usr -DPYTHON_EXECUTABLE='/usr/bin/python2'
+ make -C build
+}
+
+package() {
+ depends=('python2' 'libgl')
+ cd ${srcdir}/apitrace-*
+
+ make -C build DESTDIR="${pkgdir}/" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/apitrace"
+ install -m644 LICENSE "${pkgdir}/usr/share/licenses/apitrace/"
+}
diff --git a/community/apitrace/gcc-4.7-fix.patch b/community/apitrace/gcc-4.7-fix.patch
new file mode 100644
index 000000000..20cc71a3a
--- /dev/null
+++ b/community/apitrace/gcc-4.7-fix.patch
@@ -0,0 +1,39 @@
+From 8159d6c1295da8c1b342bc77686e7ecfed1e5c01 Mon Sep 17 00:00:00 2001
+From: Martin Olsson <martin@minimum.se>
+Date: Mon, 26 Mar 2012 10:40:45 +0200
+Subject: [PATCH] Fix compile error "isatty was not declared"; missing
+ unistd.h include
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When I built apitrace on Fedora 16, using the usual:
+
+ cmake -H. -Bbuild
+ make -C build
+
+...then I got this compile error:
+
+ apitrace/cli/cli_dump.cpp: In function ‘int command(int, char**)’:
+ apitrace/cli/cli_dump.cpp:176:25: error: ‘isatty’ was not declared in this scope
+---
+ cli/cli_dump.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/cli/cli_dump.cpp b/cli/cli_dump.cpp
+index 28c91af..f52b83c 100644
+--- a/cli/cli_dump.cpp
++++ b/cli/cli_dump.cpp
+@@ -28,6 +28,9 @@
+ #include <string.h>
+ #include <limits.h> // for CHAR_MAX
+ #include <getopt.h>
++#ifndef _WIN32
++#include <unistd.h> // for isatty()
++#endif
+
+ #include "cli.hpp"
+ #include "cli_pager.hpp"
+--
+1.7.10
+
diff --git a/community/apper/PKGBUILD b/community/apper/PKGBUILD
new file mode 100644
index 000000000..1dc3a6397
--- /dev/null
+++ b/community/apper/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 75865 2012-09-03 20:25:45Z idevolder $
+# Maintainer: BlackIkeEagle < ike DOT devolder AT gmail DOT com >
+# Contributor: Valeriy Lyasotskiy <onestep@ukr.net>
+# Contributor: Zom <zom@eevul.org>
+
+pkgname=apper
+_pkgmainver=0.7
+pkgver=0.7.2
+pkgrel=5
+pkgdesc="KDE tools for PackageKit"
+arch=('i686' 'x86_64')
+url="http://kde-apps.org/content/show.php/Apper?content=84745"
+license=('GPL')
+depends=('kdebase-workspace' 'packagekit-qt2>=0.6.17')
+makedepends=('cmake' 'automoc4' 'chrpath')
+install="$pkgname.install"
+provides=('kpackagekit')
+conflicts=('kpackagekit')
+replaces=('kpackagekit')
+source=("http://download.kde.org/stable/$pkgname/$pkgver/src/$pkgname-$pkgver.tar.bz2")
+sha256sums=('975fede728e7ab96d8e244ae721a2e15ae40b9fb1cd189a1f4afd46c400b219f')
+
+build() {
+ cd "$pkgname-$pkgver"
+ [ -d "build" ] && rm -rf build
+ mkdir build
+ cd build
+
+ cmake ../ \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ cd build
+ make DESTDIR="$pkgdir" install
+ # avoid gnome-packagekit conflict (stolen from fedora as suggested)
+ mv "$pkgdir/usr/share/dbus-1/services/org.freedesktop.PackageKit.service" \
+ "$pkgdir/usr/share/dbus-1/services/kde-org.freedesktop.PackageKit.service"
+ # Hack around cmake rpath bug (debian)
+ chrpath --list "$pkgdir/usr/bin/apper"
+ chrpath --replace "/usr/lib/apper" "$pkgdir/usr/bin/apper"
+}
diff --git a/community/apper/apper.install b/community/apper/apper.install
new file mode 100644
index 000000000..9837f1937
--- /dev/null
+++ b/community/apper/apper.install
@@ -0,0 +1,29 @@
+available() {
+ which "$1" >/dev/null 2>&1
+}
+
+updatemime() {
+ # Setup Menus
+ if available update-desktop-database
+ then
+ update-desktop-database -q /usr/share/applications
+ fi
+
+ # Setup MIME types
+ if available update-mime-database
+ then
+ update-mime-database /usr/share/mime >/dev/null
+ fi
+}
+
+post_install() {
+ updatemime
+}
+
+post_upgrade() {
+ updatemime
+}
+
+post_remove() {
+ updatemime
+}
diff --git a/community/apvlv/PKGBUILD b/community/apvlv/PKGBUILD
new file mode 100644
index 000000000..065bf30fa
--- /dev/null
+++ b/community/apvlv/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 88809 2013-04-22 20:09:44Z jsteel $
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: tocer.deng <tocer.deng@gmail.com>
+
+pkgname=apvlv
+pkgver=0.1.4.20121023
+pkgrel=3
+pkgdesc='A PDF Viewer, which behaves like Vim'
+arch=('i686' 'x86_64')
+url="http://naihe2010.github.com/apvlv/"
+license=('GPL')
+depends=('gtk2' 'cairo' 'poppler-glib' 'djvulibre' 'desktop-file-utils')
+makedepends=('cmake' 'libwebkit')
+install=$pkgname.install
+source=(ftp://ftp.archlinux.org/other/community/$pkgname/$pkgname-$pkgver.tar.xz
+ $pkgname.desktop)
+backup=(etc/apvlvrc)
+md5sums=('f222fc4b09b15358eb4e7f996ba810d6'
+ '54478fecb54f36d1c44d8fdc233ddbac')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DAPVLV_WITH_UMD=no ..
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver/build
+
+ make DESTDIR="$pkgdir"/ install
+
+ install -Dm644 "$srcdir"/$pkgname.desktop \
+ "$pkgdir"/usr/share/applications/$pkgname.desktop
+}
diff --git a/community/apvlv/apvlv-poppler015.patch b/community/apvlv/apvlv-poppler015.patch
new file mode 100644
index 000000000..0a261b1db
--- /dev/null
+++ b/community/apvlv/apvlv-poppler015.patch
@@ -0,0 +1,12 @@
+diff -Naur apvlv-0.1.2-Source.orig//src/ApvlvFile.cpp apvlv-0.1.2-Source.new//src/ApvlvFile.cpp
+--- apvlv-0.1.2-Source.orig//src/ApvlvFile.cpp 2011-07-29 17:19:13.000000000 +0200
++++ apvlv-0.1.2-Source.new//src/ApvlvFile.cpp 2011-07-29 17:22:22.000000000 +0200
+@@ -304,7 +304,7 @@
+ {
+ PopplerRectangle rect = { x1, y1, x2, y2 };
+ PopplerPage *page = poppler_document_get_page (mDoc, pn);
+- *out = poppler_page_get_text (page, POPPLER_SELECTION_WORD, &rect);
++ *out = poppler_page_get_selected_text (page, POPPLER_SELECTION_WORD, &rect);
+ if (*out != NULL)
+ {
+ return true;
diff --git a/community/apvlv/apvlv.desktop b/community/apvlv/apvlv.desktop
new file mode 100644
index 000000000..2f6ebd398
--- /dev/null
+++ b/community/apvlv/apvlv.desktop
@@ -0,0 +1,17 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=apvlv
+Comment=A minimalistic document viewer
+Comment[de]=Ein minimalistischer Dokumenten-Betrachter
+Comment[fr]=Un visionneur de document minimaliste
+Comment[ru]=Минималистичный просмотрщик документов
+Comment[tr]=Minimalist bir belge görüntüleyicisi
+Comment[es_CL]=Un visor de documentos minimalista
+Comment[uk_UA]=Легкий переглядач документів
+Comment[it]=Un visualizzatore di documenti minimalista
+Comment[pl]=Minimalistyczna przeglądarka dokumentów
+Exec=apvlv %f
+Terminal=false
+Categories=Office;Viewer;
+MimeType=application/pdf;application/postscript;application/eps;application/x-eps;image/eps;image/x-eps;image/vnd.djvu;
diff --git a/community/apvlv/apvlv.install b/community/apvlv/apvlv.install
new file mode 100644
index 000000000..5384f9c85
--- /dev/null
+++ b/community/apvlv/apvlv.install
@@ -0,0 +1,7 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/apvlv/poppler-gdk.patch b/community/apvlv/poppler-gdk.patch
new file mode 100644
index 000000000..ab487cf1c
--- /dev/null
+++ b/community/apvlv/poppler-gdk.patch
@@ -0,0 +1,150 @@
+diff -ruN apvlv-0.1.2-Source/src/ApvlvFile.cpp apvlv-0.1.2-Source.new/src/ApvlvFile.cpp
+--- apvlv-0.1.2-Source/src/ApvlvFile.cpp 2011-10-10 14:23:19.205606984 +0200
++++ apvlv-0.1.2-Source.new/src/ApvlvFile.cpp 2011-10-10 14:21:50.870952455 +0200
+@@ -29,6 +29,10 @@
+ #include "ApvlvUtil.hpp"
+ #include "ApvlvView.hpp"
+
++#ifndef POPPLER_WITH_GDK
++#include "poppler-gdk.h"
++#endif
++
+ #ifdef HAVE_LIBUMD
+ #define LIBUMD_ENABLE_GTK
+ #include <umd.h>
+diff -ruN apvlv-0.1.2-Source/src/poppler-gdk.h apvlv-0.1.2-Source.new/src/poppler-gdk.h
+--- apvlv-0.1.2-Source/src/poppler-gdk.h 1970-01-01 01:00:00.000000000 +0100
++++ apvlv-0.1.2-Source.new/src/poppler-gdk.h 2011-10-10 14:22:06.077846565 +0200
+@@ -0,0 +1,132 @@
++#include <goo/gtypes.h>
++
++static void
++copy_cairo_surface_to_pixbuf (cairo_surface_t *surface,
++ GdkPixbuf *pixbuf)
++{
++ int cairo_width, cairo_height, cairo_rowstride;
++ unsigned char *pixbuf_data, *dst, *cairo_data;
++ int pixbuf_rowstride, pixbuf_n_channels;
++ unsigned int *src;
++ int x, y;
++
++ cairo_width = cairo_image_surface_get_width (surface);
++ cairo_height = cairo_image_surface_get_height (surface);
++ cairo_rowstride = cairo_image_surface_get_stride (surface);
++ cairo_data = cairo_image_surface_get_data (surface);
++
++ pixbuf_data = gdk_pixbuf_get_pixels (pixbuf);
++ pixbuf_rowstride = gdk_pixbuf_get_rowstride (pixbuf);
++ pixbuf_n_channels = gdk_pixbuf_get_n_channels (pixbuf);
++
++ if (cairo_width > gdk_pixbuf_get_width (pixbuf))
++ cairo_width = gdk_pixbuf_get_width (pixbuf);
++ if (cairo_height > gdk_pixbuf_get_height (pixbuf))
++ cairo_height = gdk_pixbuf_get_height (pixbuf);
++ for (y = 0; y < cairo_height; y++)
++ {
++ src = (unsigned int *) (cairo_data + y * cairo_rowstride);
++ dst = pixbuf_data + y * pixbuf_rowstride;
++ for (x = 0; x < cairo_width; x++)
++ {
++ dst[0] = (*src >> 16) & 0xff;
++ dst[1] = (*src >> 8) & 0xff;
++ dst[2] = (*src >> 0) & 0xff;
++ if (pixbuf_n_channels == 4)
++ dst[3] = (*src >> 24) & 0xff;
++ dst += pixbuf_n_channels;
++ src++;
++ }
++ }
++}
++
++static void
++_poppler_page_render_to_pixbuf (PopplerPage *page,
++ int src_x, int src_y,
++ int src_width, int src_height,
++ double scale,
++ int rotation,
++ GBool printing,
++ GdkPixbuf *pixbuf)
++{
++ cairo_t *cr;
++ cairo_surface_t *surface;
++
++ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
++ src_width, src_height);
++ cr = cairo_create (surface);
++ cairo_save (cr);
++ switch (rotation) {
++ case 90:
++ cairo_translate (cr, src_x + src_width, -src_y);
++ break;
++ case 180:
++ cairo_translate (cr, src_x + src_width, src_y + src_height);
++ break;
++ case 270:
++ cairo_translate (cr, -src_x, src_y + src_height);
++ break;
++ default:
++ cairo_translate (cr, -src_x, -src_y);
++ }
++
++ if (scale != 1.0)
++ cairo_scale (cr, scale, scale);
++
++ if (rotation != 0)
++ cairo_rotate (cr, rotation * G_PI / 180.0);
++
++ if (printing)
++ poppler_page_render_for_printing (page, cr);
++ else
++ poppler_page_render (page, cr);
++ cairo_restore (cr);
++
++ cairo_set_operator (cr, CAIRO_OPERATOR_DEST_OVER);
++ cairo_set_source_rgb (cr, 1., 1., 1.);
++ cairo_paint (cr);
++
++ cairo_destroy (cr);
++
++ copy_cairo_surface_to_pixbuf (surface, pixbuf);
++ cairo_surface_destroy (surface);
++}
++
++/**
++ * poppler_page_render_to_pixbuf:
++ * @page: the page to render from
++ * @src_x: x coordinate of upper left corner
++ * @src_y: y coordinate of upper left corner
++ * @src_width: width of rectangle to render
++ * @src_height: height of rectangle to render
++ * @scale: scale specified as pixels per point
++ * @rotation: rotate the document by the specified degree
++ * @pixbuf: pixbuf to render into
++ *
++ * First scale the document to match the specified pixels per point,
++ * then render the rectangle given by the upper left corner at
++ * (src_x, src_y) and src_width and src_height.
++ * This function is for rendering a page that will be displayed.
++ * If you want to render a page that will be printed use
++ * poppler_page_render_to_pixbuf_for_printing() instead
++ *
++ * Deprecated: 0.16
++ **/
++void
++poppler_page_render_to_pixbuf (PopplerPage *page,
++ int src_x, int src_y,
++ int src_width, int src_height,
++ double scale,
++ int rotation,
++ GdkPixbuf *pixbuf)
++{
++ g_return_if_fail (POPPLER_IS_PAGE (page));
++ g_return_if_fail (scale > 0.0);
++ g_return_if_fail (pixbuf != NULL);
++
++ _poppler_page_render_to_pixbuf (page, src_x, src_y,
++ src_width, src_height,
++ scale, rotation,
++ gFalse,
++ pixbuf);
++}
diff --git a/community/aqbanking/PKGBUILD b/community/aqbanking/PKGBUILD
new file mode 100644
index 000000000..60dc5a9b5
--- /dev/null
+++ b/community/aqbanking/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 74854 2012-08-07 14:17:14Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: David Moore <davidm@sjsoft.com>
+
+pkgname=aqbanking
+pkgver=5.0.25
+_dnrel=95
+pkgrel=1
+pkgdesc="A library for online banking and financial applications"
+arch=(i686 x86_64)
+options=('!libtool')
+url="http://www.aquamaniac.de/aqbanking"
+license=('GPL')
+depends=('gwenhywfar' 'ktoblzcheck' 'libofx')
+options=('!makeflags' '!libtool')
+source=("aqbanking-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=03&release=${_dnrel}&file=01&dummy=aqbanking-$pkgver.tar.gz")
+md5sums=('b238639962128ce25db81870f65173d9')
+
+build() {
+ cd $srcdir/aqbanking-$pkgver
+ export PKG_CONFIG=/usr/bin/pkg-config
+ ./configure --prefix=/usr \
+ --with-backends="aqhbci aqofxconnect" \
+ --enable-gwenhywfar
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/arch/PKGBUILD b/community/arch/PKGBUILD
new file mode 100644
index 000000000..a39bf7740
--- /dev/null
+++ b/community/arch/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 64633 2012-02-17 13:20:14Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=arch
+pkgver=1.3.5
+pkgrel=9
+pkgdesc='A modern and remarkable revision control system.'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://regexps.srparish.net/www/#Gnu-arch'
+depends=('zlib' 'expat' 'krb5')
+options=('!makeflags')
+source=("ftp://ftp.gnu.org/gnu/gnu-arch/tla-${pkgver}.tar.gz")
+md5sums=('db31ee89bc4788eef1eba1cee6c176ef')
+
+build() {
+ cd "${srcdir}/tla-${pkgver}"
+
+ mkdir build
+ cd build
+ ../src/configure --prefix /usr
+ make
+}
+
+package() {
+ cd "${srcdir}/tla-${pkgver}/build"
+ make prefix="${pkgdir}/usr" install
+}
diff --git a/community/aria2/PKGBUILD b/community/aria2/PKGBUILD
new file mode 100644
index 000000000..658d13067
--- /dev/null
+++ b/community/aria2/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 91644 2013-05-26 08:19:25Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=aria2
+pkgver=1.17.1
+pkgrel=1
+pkgdesc='Download utility that supports HTTP(S), FTP, BitTorrent, and Metalink'
+arch=('i686' 'x86_64')
+url='http://aria2.sourceforge.net/'
+license=('GPL')
+depends=('gnutls' 'libxml2' 'sqlite' 'c-ares' 'ca-certificates')
+checkdepends=('cppunit')
+source=(http://downloads.sourceforge.net/aria2/aria2-${pkgver}.tar.xz)
+sha256sums=('7e18cf15afa17cf725c2ab4338751bc165e33d41917a4af9927da0855298efc0')
+
+build() {
+ cd $pkgname-$pkgver
+
+ ./configure \
+ --prefix=/usr \
+ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
+
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ # add bash completion (aria2 automatically installs to a temporary target directory)
+ install -d "$pkgdir"/usr/share/bash-completion/completions
+ install -m644 "$pkgdir"/usr/share/doc/aria2/bash_completion/aria2c \
+ "$pkgdir"/usr/share/bash-completion/completions
+ rm -rf "$pkgdir"/usr/share/doc/aria2/bash_completion
+}
diff --git a/community/ario/PKGBUILD b/community/ario/PKGBUILD
new file mode 100644
index 000000000..03a344b4c
--- /dev/null
+++ b/community/ario/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 63500 2012-02-05 11:51:34Z ibiru $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=ario
+pkgver=1.5.1
+pkgrel=2
+pkgdesc="A GTK client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster"
+arch=('i686' 'x86_64')
+url="http://ario-player.sourceforge.net/"
+license=('GPL')
+depends=('avahi' 'curl' 'dbus-glib' 'gnutls' 'hicolor-icon-theme' 'libglade' 'libmpdclient' 'libnotify' 'libsoup' 'libunique' 'taglib' 'xdg-utils')
+makedepends=('intltool' 'perl-xml-parser')
+options=('!libtool')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname-player/$pkgname-$pkgver.tar.gz)
+sha256sums=('0831281ab8634eb92424b61230eee035822f7f92d8b0526da7316c898239c91e')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+ }
+
+package () {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/ario/ario.changelog b/community/ario/ario.changelog
new file mode 100644
index 000000000..baca8a7b1
--- /dev/null
+++ b/community/ario/ario.changelog
@@ -0,0 +1,36 @@
+2012-01-26 Eric Belanger <eric@archlinux.org>
+ * Rebuild against libpng 1.5 and libtiff 4.0
+
+2011-07-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.5.1
+
+2010-08-11 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.5
+
+2010-02-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.4.4
+
+2010-01-23 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.4.3
+
+2009-12-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * updated to major version 1.4.2
+
+2009-12-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * updated to major version 1.4.1
+
+2009-12-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * updated to major version 1.4
+
+2009-05-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * 'taglib' dependency added - version 1.3-2
+
+2009-05-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * updated to major version 1.3
+
+2009-03-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * updated to major version 1.2.2
+
+2009-01-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * adopted in [community]
+ * updated to major version 1.2.1
diff --git a/community/ario/ario.install b/community/ario/ario.install
new file mode 100644
index 000000000..b711352cb
--- /dev/null
+++ b/community/ario/ario.install
@@ -0,0 +1,11 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/arm-elf-binutils/PKGBUILD b/community/arm-elf-binutils/PKGBUILD
new file mode 100644
index 000000000..15768e09e
--- /dev/null
+++ b/community/arm-elf-binutils/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 79080 2012-10-30 09:53:07Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=arm-elf-binutils
+pkgver=2.23
+pkgrel=1
+_xprefix=/usr
+pkgdesc="A set of programs to assemble and manipulate binary and object files"
+arch=(i686 x86_64)
+license=(GPL)
+options=(!libtool)
+url="http://sources.redhat.com/binutils"
+depends=('glibc' 'zlib')
+source=(ftp://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.gz)
+md5sums=('ed58f50d8920c3f1d9cb110d5c972c27')
+
+build() {
+ cd $srcdir/binutils-${pkgver}
+
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=${_xprefix} \
+ --program-prefix=arm-elf- \
+ --enable-shared \
+ --disable-multilib \
+ --with-lib-path=${_xprefix}/lib/binutils/arm-elf \
+ --disable-nls \
+ --target=arm-elf \
+ --host=$CHOST \
+ --build=$CHOST \
+ --with-sysroot=/usr/$CHOST/arm-elf \
+# --with-build-sysroot=/usr/i686-pc-linux-gnu/arm-elf/
+
+# mkdir -p $pkgdir/${_xprefix}/lib/binutils
+# sed -i 's|know (S_GET_VALUE (frag->tc_frag_data.last_map) < S_GET_VALUE (symbolP));|{know (S_GET_VALUE (frag->tc_frag_data.last_map) < S_GET_VALUE (symbolP));}|' gas/config/tc-arm.c
+
+ make configure-host
+ make tooldir=$pkgdir/${_xprefix}
+ make prefix=$pkgdir/${_xprefix} tooldir=$pkgdir/${_xprefix} install
+
+ mkdir -p $pkgdir/${_xprefix}/lib/binutils/arm-elf
+ cp -v include/libiberty.h $pkgdir/${_xprefix}/lib/binutils/arm-elf
+
+ rm -f $pkgdir/${_xprefix}/man/man1/{dlltool,nlmconv,windres}*
+
+ rm -f $pkgdir/usr/bin/ar
+ rm -f $pkgdir/usr/bin/as
+ rm -f $pkgdir/usr/bin/ld
+ rm -f $pkgdir/usr/bin/nm
+ rm -f $pkgdir/usr/bin/objdump
+ rm -f $pkgdir/usr/bin/ranlib
+ rm -f $pkgdir/usr/bin/strip
+ rm -f $pkgdir/usr/bin/objcopy
+ rm -f $pkgdir/usr/lib/libiberty.a
+ rm -rf $pkgdir/usr/share
+}
diff --git a/community/arm-elf-gcc-base/PKGBUILD b/community/arm-elf-gcc-base/PKGBUILD
new file mode 100644
index 000000000..5627f8c6e
--- /dev/null
+++ b/community/arm-elf-gcc-base/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 82198 2013-01-11 12:12:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=arm-elf-gcc-base
+pkgver=4.7.2
+pkgrel=1
+pkgdesc="The GNU Compiler Collection"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+url="http://gcc.gnu.org"
+depends=('arm-elf-binutils' 'libmpc' 'libelf')
+options=(!libtool !emptydirs zipman docs !strip)
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2)
+md5sums=('cc308a0891e778cfda7a151ab8a6e762')
+
+build() {
+ cd $srcdir/gcc-$pkgver
+
+ export CFLAGS="-O2 -pipe"
+ export CXXFLAGS="-O2 -pipe"
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ ../configure --prefix=/usr \
+ --target=arm-elf \
+ --enable-obsolete \
+ --host=$CHOST \
+ --build=$CHOST \
+ --enable-shared --disable-nls --enable-languages=c --enable-multilib \
+ --with-local-prefix=/usr/lib/arm-elf \
+ --with-as=/usr/bin/arm-elf-as --with-ld=/usr/bin/arm-elf-ld \
+ --enable-softfloat \
+ --with-float=soft \
+ --with-newlib \
+ --with-sysroot=/usr/$CHOST/arm-elf
+
+ make all-gcc all-target-libgcc
+}
+
+package() {
+ cd $srcdir/gcc-$pkgver/build
+
+ export CFLAGS="-O2 -pipe"
+ export CXXFLAGS="-O2 -pipe"
+
+ make DESTDIR=$pkgdir install-gcc install-target-libgcc
+
+ rm -f $pkgdir/usr/share/man/man7/fsf-funding.7*
+ rm -f $pkgdir/usr/share/man/man7/gfdl.7*
+ rm -f $pkgdir/usr/share/man/man7/gpl.7*
+ rm -rf $pkgdir/usr/share/info
+
+ cp -r $pkgdir/usr/libexec/* $pkgdir/usr/lib/
+ rm -rf $pkgdir/usr/libexec
+
+ # strip it manually
+ strip $pkgdir/usr/bin/* 2>/dev/null || true
+ find $pkgdir/usr/lib -type f -exec arm-elf-strip --strip-debug --strip-unneeded {} \; 2>/dev/null || true
+}
diff --git a/community/arm-wince-cegcc-gcc-base/PKGBUILD b/community/arm-wince-cegcc-gcc-base/PKGBUILD
new file mode 100644
index 000000000..50d765ac0
--- /dev/null
+++ b/community/arm-wince-cegcc-gcc-base/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 61005 2011-12-20 11:51:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=arm-wince-cegcc-gcc-base
+pkgver=0.59.1
+pkgrel=3
+_prefix=/opt/cegcc
+pkgdesc="CE GCC bundle - cross compilation tools for WinCE"
+arch=(i686 x86_64)
+license=(GPL)
+options=(!libtool)
+url="http://cegcc.sf.net"
+depends=('glibc' 'mpfr' 'cloog')
+makedepends=(arm-wince-cegcc-binutils)
+source=(http://arch.p5n.pp.ru/~sergej/dl/cegcc-$pkgver.tar.bz2)
+md5sums=('5e3c1098abdf8e5db2a3518ee3578b4b')
+
+build() {
+ cd $srcdir/cegcc/src
+
+ mkdir build-gcc-base || true
+ cd build-gcc-base
+
+ export PATH=$_prefix/bin:$PATH
+ export TARGET=arm-wince-cegcc
+ unset CFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ ../gcc-4.4.0/configure \
+ --with-gcc \
+ --with-gnu-ld \
+ --with-gnu-as \
+ --target=arm-wince-cegcc \
+ --build=$CARCH \
+ --host=$CARCH \
+ --prefix=${_prefix} \
+ --disable-threads \
+ --disable-nls \
+ --disable-shared \
+ --enable-languages=c \
+ --disable-win32-registry \
+ --disable-multilib \
+ --disable-interwork \
+ --without-headers \
+ --with-as=$_prefix/bin/arm-wince-cegcc-as \
+ --with-ld=$_prefix/bin/arm-wince-cegcc-ld \
+ --with-local-prefix=$_prefix \
+ --enable-checking
+
+ make all-gcc || (cd gcc && make) && make all-gcc
+ make DESTDIR=$pkgdir install-gcc
+ find $pkgdir/${_prefix} -type f -name \*.a -exec arm-wince-cegcc-ranlib {} \;
+ cd $pkgdir/${_prefix} && ln -s arm-wince-cegcc arm-cegcc
+}
diff --git a/community/arm-wince-cegcc-gcc/PKGBUILD b/community/arm-wince-cegcc-gcc/PKGBUILD
new file mode 100644
index 000000000..8787f4b46
--- /dev/null
+++ b/community/arm-wince-cegcc-gcc/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 61036 2011-12-20 20:10:53Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=arm-wince-cegcc-gcc
+pkgver=0.59.1
+pkgrel=4
+_prefix=/opt/cegcc
+pkgdesc="CE GCC bundle - cross compilation tools for WinCE"
+arch=(i686 x86_64)
+license=('GPL')
+options=(!libtool !strip)
+url="http://cegcc.sf.net"
+depends=('cloog' 'ppl' 'arm-wince-cegcc-binutils')
+makedepends=('arm-wince-cegcc-newlib' 'arm-wince-cegcc-w32api'
+ 'arm-wince-cegcc-importlibs' 'arm-wince-cegcc-gcc-base'
+ 'arm-wince-cegcc-cegccdll-dummy')
+conflicts=('arm-wince-cegcc-gcc-base')
+groups=('cegcc')
+source=(http://arch.p5n.pp.ru/~sergej/dl/cegcc-$pkgver.tar.bz2)
+md5sums=('5e3c1098abdf8e5db2a3518ee3578b4b')
+
+build() {
+ cd $srcdir/cegcc/src
+
+ export PATH=$_prefix/bin:$PATH
+ export TARGET=arm-wince-cegcc
+ unset CFLAGS
+ unset CXXFLAGS
+ unset CPPFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ mkdir -p build-gcc
+ cd build-gcc
+
+ [ -f Makefile ] || ../gcc-4.4.0/configure \
+ --prefix=${_prefix} \
+ --exec-prefix=${_prefix} \
+ --bindir=${_prefix}/bin \
+ --target=$TARGET \
+ --build=$CARCH \
+ --host=$CARCH \
+ --disable-nls \
+ --includedir=${_prefix}/include \
+ --with-gcc \
+ --with-ld=/opt/cegcc/bin/arm-wince-cegcc-ld \
+ --with-as=/opt/cegcc/bin/arm-wince-cegcc-as \
+ --enable-threads=win32 \
+ --enable-languages=c,c++ \
+ --disable-win32-registry \
+ --disable-multilib \
+ --disable-interwork \
+ --without-newlib \
+ --enable-checking \
+ --with-headers \
+ --disable-libssp
+
+ make
+ make DESTDIR=$pkgdir install
+ rm -f $pkgdir/$_prefix/lib/libiberty.a
+ find $pkgdir/${_prefix} -type f -name \*.a -exec arm-wince-cegcc-ranlib {} \;
+ strip $pkgdir/${_prefix}/bin/arm-wince-cegcc-* || true
+ find $pkgdir/${_prefix}/libexec/ -type f -exec strip {} \; || true
+ rm -f $pkgdir/${_prefix}/info/dir
+ cd $pkgdir/${_prefix} && ln -s arm-wince-cegcc arm-cegcc
+}
diff --git a/community/armagetronad/PKGBUILD b/community/armagetronad/PKGBUILD
new file mode 100644
index 000000000..dc36a979b
--- /dev/null
+++ b/community/armagetronad/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 90005 2013-05-06 19:36:16Z foutrelis $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Filippo 'JoeyrS' Civiletti <joeyrs@gmail.com>
+
+pkgname=armagetronad
+pkgver=0.2.8.3.2
+pkgrel=4
+pkgdesc='A Tron Clone in 3D.'
+arch=('i686' 'x86_64')
+url='http://armagetronad.net/'
+license=('GPL')
+depends=('sdl_image' 'libxml2' 'sdl_mixer' 'ftgl')
+optdepends=('python2: language updater')
+source=(http://downloads.sourceforge.net/sourceforge/armagetronad/armagetronad-$pkgver.src.tar.gz)
+md5sums=('f7796de4ef50bd33553e0a3f93fd67e6')
+
+build() {
+ cd "$srcdir/armagetronad-$pkgver"
+
+ # python2 fix
+ sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' language/update.py
+
+ sed -i 's|FTGL.h|ftgl.h|g' configure
+ sed -i 's|png_check_sig|png_sig_cmp|g' configure
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --disable-games \
+ --enable-automakedefaults \
+ --disable-uninstall
+ make
+}
+
+package() {
+ cd "$srcdir/armagetronad-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -D -m 644 "desktop/armagetronad.desktop" "$pkgdir/usr/share/applications/armagetronad.desktop"
+ install -d "$pkgdir/usr/share/pixmaps/"
+ ln -s /usr/share/armagetronad/desktop/icons/large/armagetronad.png \
+ "$pkgdir/usr/share/pixmaps/armagetronad.png"
+ mv "$pkgdir/usr/bin/armagetronad" "$pkgdir/usr/bin/armagetronad_bin"
+ printf "#!/bin/bash\n/usr/bin/armagetronad_bin --configdir /etc/armagetronad --datadir /usr/share/armagetronad" > "$pkgdir/usr/bin/armagetronad"
+ chmod +x "$pkgdir/usr/bin/armagetronad"
+}
diff --git a/community/arp-scan/PKGBUILD b/community/arp-scan/PKGBUILD
new file mode 100644
index 000000000..e18269ecd
--- /dev/null
+++ b/community/arp-scan/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 65634 2012-02-21 15:59:18Z mtorromeo $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Contributor: xav <xav at ethertricks dot net>
+
+pkgname=arp-scan
+pkgver=1.8.1
+pkgrel=2
+pkgdesc="A tool that uses ARP to discover and fingerprint IP hosts on the local network"
+arch=('i686' 'x86_64')
+url="http://www.nta-monitor.com/tools/arp-scan/"
+license=('GPL')
+depends=('libpcap' 'perl-libwww')
+source=(http://www.nta-monitor.com/tools/arp-scan/download/${pkgname}-${pkgver}.tar.gz)
+md5sums=('38db8f27fc6553a88367748ea04483d6')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+
diff --git a/community/arpack/PKGBUILD b/community/arpack/PKGBUILD
new file mode 100644
index 000000000..e74300516
--- /dev/null
+++ b/community/arpack/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 85849 2013-03-07 18:31:38Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=arpack
+pkgver=3.1.2
+pkgrel=1
+arch=('x86_64' 'i686')
+pkgdesc='Fortran77 subroutines designed to solve large scale eigenvalue problems'
+url='http://forge.scilab.org/index.php/p/arpack-ng/'
+license=('BSD')
+depends=('lapack' 'openmpi')
+provides=('arpack-ng')
+options=('!libtool')
+source=("http://forge.scilab.org/upload/$pkgname-ng/files/$pkgname-ng_$pkgver.tar.gz")
+sha256sums=('9338bda5bef5a4bafd99c18f327acb54f8be4ffc5c53d0a186e4aa27db3260f2')
+
+build() {
+ cd "$srcdir/$pkgname-ng_$pkgver"
+
+ ./configure --prefix=/usr --enable-mpi
+ make \
+ F77="mpif77" \
+ CFLAGS+=" `pkg-config --cflags ompi` " \
+ LIBS+=" `pkg-config --libs ompi` "
+}
+
+package() {
+ cd "$srcdir/$pkgname-ng_$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/arptables/PKGBUILD b/community/arptables/PKGBUILD
new file mode 100644
index 000000000..edc4066e8
--- /dev/null
+++ b/community/arptables/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 90489 2013-05-12 22:21:54Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Michal Soltys <soltys@ziu.info>
+
+pkgname=arptables
+pkgver=0.0.4
+pkgrel=2
+pkgdesc='ARP filtering utility'
+arch=('i686' 'x86_64')
+url='http://ebtables.sourceforge.net/'
+depends=('glibc' 'perl' 'bash')
+license=('GPL')
+backup=("etc/$pkgname.conf")
+source=("http://downloads.sourceforge.net/ebtables/$pkgname-v${pkgver//_/-}.tar.gz"
+ "$pkgname.systemd"
+ "$pkgname.service")
+md5sums=('c2e99c3aa9d78c9dfa30710ca3168182'
+ 'e54342a833c52b2bc67e7985e8f8fdfd'
+ 'b26771191e52905d8aea6333c26cb1c3')
+
+build() {
+ cd $pkgname-v${pkgver//_/-}
+ make
+}
+
+package() {
+ pushd $pkgname-v${pkgver//_/-}
+ make install \
+ DESTDIR="$pkgdir" \
+ PREFIX=/usr \
+ LIBDIR=/usr/lib/arptables \
+ BINDIR=/usr/bin \
+ MANDIR=/usr/share/man \
+ INITDIR=/etc/rc.d \
+ SYSCONFIGDIR=/etc
+ popd
+ # systemd
+ install -Dm 755 $pkgname.systemd \
+ "$pkgdir/usr/lib/systemd/scripts/$pkgname"
+ install -Dm 644 $pkgname.service \
+ "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ # default config file
+ install -Dm 644 /dev/null "$pkgdir/etc/$pkgname.conf"
+ # remove upstream rc
+ rm -rf "$pkgdir/etc/rc.d"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/arptables/arptables.service b/community/arptables/arptables.service
new file mode 100644
index 000000000..4fc11f17d
--- /dev/null
+++ b/community/arptables/arptables.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=ARP Tables
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/lib/systemd/scripts/arptables start
+ExecStop=/usr/lib/systemd/scripts/arptables stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/arptables/arptables.systemd b/community/arptables/arptables.systemd
new file mode 100644
index 000000000..6a4019257
--- /dev/null
+++ b/community/arptables/arptables.systemd
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+CONFIG_FILE='/etc/arptables.conf'
+
+case $1 in
+ start)
+ arptables-restore < "$CONFIG_FILE"
+ ;;
+ stop)
+ arptables-restore < /dev/null
+ ;;
+ save)
+ arptables-save > "$CONFIG_FILE"
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|stop|save}" >&2
+ exit 1
+ ;;
+esac
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/arpwatch/LICENSE b/community/arpwatch/LICENSE
new file mode 100644
index 000000000..be49954d9
--- /dev/null
+++ b/community/arpwatch/LICENSE
@@ -0,0 +1,18 @@
+Copyright (c) 1992, 1993, 1994, 1995, 1996, 1998, 2000
+ The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that: (1) source code distributions
+retain the above copyright notice and this paragraph in its entirety, (2)
+distributions including binary code include the above copyright notice and
+this paragraph in its entirety in the documentation or other materials
+provided with the distribution, and (3) all advertising materials mentioning
+features or use of this software display the following acknowledgement:
+``This product includes software developed by the University of California,
+Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
+the University nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior
+written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/community/arpwatch/PKGBUILD b/community/arpwatch/PKGBUILD
new file mode 100644
index 000000000..b99a70eda
--- /dev/null
+++ b/community/arpwatch/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 91484 2013-05-23 10:11:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sébastien Luttringer
+
+pkgname=arpwatch
+pkgver=2.1a15
+pkgrel=11
+pkgdesc='Ethernet/FDDI station activity monitor'
+arch=('i686' 'x86_64')
+url='ftp://ftp.ee.lbl.gov/'
+license=('BSD')
+depends=('libpcap' 'smtp-forwarder')
+source=("ftp://ftp.ee.lbl.gov/$pkgname-$pkgver.tar.gz"
+ 'LICENSE'
+ "$pkgname.service")
+md5sums=('cebfeb99c4a7c2a6cee2564770415fe7'
+ '9359518c500562281e76cdb0b2fa9062'
+ '43e2358ba0532da38e5296250a7fcfd8')
+
+prepare() {
+ cd $pkgname-$pkgver
+ # move arp database in /var/lib/arpwatch
+ sed -i 's|ARPDIR = $(prefix)/arpwatch|ARPDIR = /var/lib/arpwatch|' Makefile.in
+ # binary ownership to root
+ sed -i 's/-\(o\|g\) bin/-\1 root/g' Makefile.in
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man --sbindir=/usr/bin
+ make SENDMAIL=`which sendmail`
+}
+
+package() {
+ cd $pkgname-$pkgver
+ install -d -m 0755 "$pkgdir"/usr/{bin,share/man}
+ make DESTDIR="$pkgdir" install install-man
+ # install ether prefix database
+ install -Dm644 ethercodes.dat "$pkgdir/var/lib/$pkgname/ethercodes.dat"
+ cd "$srcdir"
+ # license
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ # systemd
+ install -Dm644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname@.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/arpwatch/arpwatch.service b/community/arpwatch/arpwatch.service
new file mode 100644
index 000000000..ede31f3f7
--- /dev/null
+++ b/community/arpwatch/arpwatch.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Watch ARP on interface %I
+After=network.target
+
+[Service]
+Type=forking
+ExecStartPre=/usr/bin/touch /var/lib/arpwatch/%I.dat
+ExecStart=/usr/bin/arpwatch -f /var/lib/arpwatch/%I.dat -i %I
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ascii/PKGBUILD b/community/ascii/PKGBUILD
new file mode 100644
index 000000000..3c43cdbf1
--- /dev/null
+++ b/community/ascii/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Peter Lewis <plewis@aur.archlinux.org>
+# Contributor: Grigorios Bouzakis <grbzks@xsmail.com>
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+
+pkgname=ascii
+pkgver=3.12
+pkgrel=1
+pkgdesc="Utility for conversion between various byte representations and the ASCII character table"
+arch=('i686' 'x86_64')
+url="http://www.catb.org/~esr/ascii"
+license=('BSD')
+depends=('glibc')
+source=("http://www.catb.org/~esr/ascii/ascii-${pkgver}.tar.gz")
+md5sums=('d06267813ac83ed511b7330f43fcc4ee')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ install -D ${pkgname} \
+ ${pkgdir}/usr/bin/${pkgname}
+
+ install -D -m644 ${pkgname}.1 \
+ ${pkgdir}/usr/share/man/man1/${pkgname}.1
+
+ install -D -m644 COPYING \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/aspell-ca/PKGBUILD b/community/aspell-ca/PKGBUILD
new file mode 100644
index 000000000..4b3d2ebe1
--- /dev/null
+++ b/community/aspell-ca/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 74578 2012-07-30 19:39:10Z jlichtblau $
+#Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+#Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+
+pkgname=aspell-ca
+pkgver=2.3.0
+pkgrel=1
+pkgdesc="Catalan dictionary for aspell"
+arch=('i686' 'x86_64')
+url="http://aspell.net/"
+license=('GPL2')
+depends=('aspell')
+source=(http://www.softcatala.org/pub/softcatala/aspell/$pkgver/aspell6-ca-$pkgver.tar.bz2)
+sha256sums=('61db978261c9edabadf9d247fdbecac284ee92980b1aea478f72facaae950c52')
+
+build() {
+ cd aspell6-ca-${pkgver}
+
+ ./configure
+ make
+}
+
+package() {
+ cd aspell6-ca-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/aspell-cs/PKGBUILD b/community/aspell-cs/PKGBUILD
new file mode 100644
index 000000000..1e409e7bc
--- /dev/null
+++ b/community/aspell-cs/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 67108 2012-03-04 12:33:51Z stativ $
+# Maintainer: Jaroslav Lichtblau <tu@dragonlord.cz>
+# Contributor: Michal Karas <largon@largon.net>
+
+pkgname=aspell-cs
+pkgver=20040614
+pkgrel=6
+pkgdesc="Czech dictionary for aspell"
+arch=('i686' 'x86_64')
+url="http://aspell.net/"
+license=('GPL')
+depends=('aspell')
+source=(ftp://ftp.gnu.org/gnu/aspell/dict/cs/aspell6-cs-$pkgver-1.tar.bz2)
+md5sums=('50f0c2b7b6fcfe47bb647ad8993d2fe8')
+
+build() {
+ cd "$srcdir"/aspell6-cs-$pkgver-1
+
+ ./configure
+ make
+}
+
+package() {
+ cd "$srcdir"/aspell6-cs-$pkgver-1
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/aspell-pl/PKGBUILD b/community/aspell-pl/PKGBUILD
new file mode 100644
index 000000000..fb512bfd4
--- /dev/null
+++ b/community/aspell-pl/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 93578 2013-07-05 19:42:56Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Arkadiusz Laczynski <alaczynski@gmail.com>
+
+pkgname=aspell-pl
+pkgver=20130705
+pkgrel=1
+pkgdesc='Polish dictionary for aspell'
+arch=('i686' 'x86_64')
+url="http://www.sjp.pl/slownik/en/"
+license=('GPL' 'LGPL' 'MPL')
+depends=('aspell')
+source=(ftp://ftp.archlinux.org/other/community/$pkgname/sjp-aspell6-pl-6.0_$pkgver-0.tar.bz2)
+md5sums=('977708b770709d55909b23be2851af10')
+
+build() {
+ cd aspell6-pl-6.0_$pkgver-0
+ ./configure
+ make
+}
+
+package() {
+ cd aspell6-pl-6.0_$pkgver-0
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/aspell-uk/PKGBUILD b/community/aspell-uk/PKGBUILD
new file mode 100644
index 000000000..a41ececd8
--- /dev/null
+++ b/community/aspell-uk/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 60430 2011-12-13 20:24:40Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+
+pkgname=aspell-uk
+pkgver=1.6.5
+_ftpver=1.4.0
+pkgrel=3
+pkgdesc="Ukrainian dictionary for aspell"
+arch=('i686' 'x86_64')
+url="http://ispell-uk.sourceforge.net/"
+license=('GPL' 'LGPL' 'MPL')
+depends=('aspell')
+source=(ftp://ftp.gnu.org/gnu/aspell/dict/uk/aspell6-uk-${_ftpver}-0.tar.bz2
+ http://downloads.sourceforge.net/project/ispell-uk/spell-uk/$pkgver/spell-uk-$pkgver.tgz)
+sha256sums=('35f9a7e840c1272706bc6dd172bc9625cbd843d021094da8598a6abba525f18c'
+ '90eff3b9e40d04b53717240b725e303f02cec4ee8bef9bded69b7481e41fa422')
+
+build() {
+ # needed when using a source package from ispell-uk project
+ cd ${srcdir}/spell-uk-$pkgver
+ make
+
+ cd ${srcdir}/aspell6-uk-${_ftpver}-0
+ ./configure
+ make
+
+ # needed when using a source package from ispell-uk project
+ mv ${srcdir}/spell-uk-$pkgver/dist/aspell-uk-$pkgver/* \
+ ${srcdir}/aspell6-uk-${_ftpver}-0
+}
+
+package() {
+ cd ${srcdir}/aspell6-uk-${_ftpver}-0
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/assimp/PKGBUILD b/community/assimp/PKGBUILD
new file mode 100644
index 000000000..6a5087a83
--- /dev/null
+++ b/community/assimp/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: jepaan <jepaan at hotmail dot com>
+
+pkgname=assimp
+pkgver=3.0.1270
+pkgrel=1
+pkgdesc="Portable Open Source library to import various well-known 3D model formats in an uniform manner"
+arch=('i686' 'x86_64')
+license=('BSD')
+depends=('libxmu' 'zlib' 'freeglut')
+makedepends=('cmake' 'boost')
+url=('http://assimp.sourceforge.net/index.html')
+source=("http://downloads.sourceforge.net/assimp/assimp--$pkgver-source-only.zip")
+md5sums=('52aa4cf4e34e6b2a9c5f6c0b3c319af1')
+
+build() {
+ cd ${srcdir}
+ mkdir build
+ cd build
+ cmake ../${pkgname}--${pkgver}-source-only \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+
+ make DESTDIR=$pkgdir install
+ install -Dm644 ${srcdir}/${pkgname}--${pkgver}-source-only/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/astromenace/PKGBUILD b/community/astromenace/PKGBUILD
new file mode 100644
index 000000000..5f43af460
--- /dev/null
+++ b/community/astromenace/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 81338 2012-12-18 09:30:27Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Arkham <arkham at archlinux dot us>
+# Contributor: Ivan Bobrov <ibobrik at gmail dot com>
+# Contributor: Black_Mage <vleon1 at gmail dot com>
+
+pkgname=astromenace
+pkgver=1.3.1
+pkgrel=1
+pkgdesc="Hardcore 3D space shooter with spaceship upgrade possibilities"
+arch=('i686' 'x86_64')
+url="http://www.viewizard.com/astromenace/index_linux.php"
+license=('GPL3')
+depends=('sdl' 'freealut' 'libjpeg' 'libvorbis' 'glu' 'freetype2' 'libxinerama')
+makedepends=('cmake' 'mesa')
+source=(http://downloads.sourceforge.net/openastromenace/astromenace-src-$pkgver.tar.bz2
+ astromenace.desktop)
+md5sums=('b2c69deed1708ec25d3fbec0b49f64d8'
+ '1edc9367564a6c639a2b8199adf26a08')
+
+build() {
+ cd $srcdir/AstroMenace
+
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DDATADIR=/usr/share/astromenace
+ make
+}
+
+package() {
+ cd $srcdir/AstroMenace
+
+ build/AstroMenace --pack --rawdata=./RAW_VFS_DATA --dir=build
+
+ install -Dm755 build/AstroMenace $pkgdir/usr/bin/astromenace
+ install -Dm644 build/gamedata.vfs $pkgdir/usr/share/astromenace/gamedata.vfs
+
+ install -Dm 644 astromenace_128.png $pkgdir/usr/share/pixmaps/astromenace.png
+ install -Dm 644 $srcdir/astromenace.desktop $pkgdir/usr/share/applications/astromenace.desktop
+}
diff --git a/community/astromenace/astromenace.desktop b/community/astromenace/astromenace.desktop
new file mode 100644
index 000000000..2b8d57293
--- /dev/null
+++ b/community/astromenace/astromenace.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Astromenace
+Comment=Space shooter
+Exec=astromenace
+Icon=/usr/share/pixmaps/astromenace.png
+StartupNotify=true
+Terminal=false
+Type=Application
+Categories=Application;Game;ArcadeGame;
diff --git a/community/astromenace/astromenace.patch b/community/astromenace/astromenace.patch
new file mode 100644
index 000000000..b69efd9a4
--- /dev/null
+++ b/community/astromenace/astromenace.patch
@@ -0,0 +1,12 @@
+diff -aur OpenAstroMenaceSVN.pristine/AstroMenaceSource/Core/RendererInterface/RendererInterface.h OpenAstroMenaceSVN.new/AstroMenaceSource/Core/RendererInterface/RendererInterface.h
+--- OpenAstroMenaceSVN.pristine/AstroMenaceSource/Core/RendererInterface/RendererInterface.h 2010-02-14 11:39:06.721353373 +0100
++++ OpenAstroMenaceSVN.new/AstroMenaceSource/Core/RendererInterface/RendererInterface.h 2010-02-14 11:46:47.171304764 +0100
+@@ -37,6 +37,8 @@
+ #include "../Base.h"
+ #include "../Math/Math.h"
+ #include "../Texture/Texture.h"
++#define PFNGLCLIENTACTIVETEXTUREPROC PFNGLACTIVETEXTUREPROC
++
+
+
+
diff --git a/community/astromenace/astromenace.png b/community/astromenace/astromenace.png
new file mode 100644
index 000000000..6093e9272
--- /dev/null
+++ b/community/astromenace/astromenace.png
Binary files differ
diff --git a/community/astromenace/astromenace.sh b/community/astromenace/astromenace.sh
new file mode 100644
index 000000000..02e8594df
--- /dev/null
+++ b/community/astromenace/astromenace.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+astromenace_bin --dir=/usr/share/astromenace "$@"
diff --git a/community/astyle/PKGBUILD b/community/astyle/PKGBUILD
new file mode 100644
index 000000000..b0aed8acc
--- /dev/null
+++ b/community/astyle/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92315 2013-06-03 21:55:18Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Thomas Mader <thezema@gmail.com>
+# Contributor: Vinay S Shastry <vinayshastry@gmail.com>
+# Contributor: tardo <tardo@nagi-fanboi.net>
+
+pkgname=astyle
+pkgver=2.03
+pkgrel=1
+pkgdesc='A free, fast and small automatic formatter for C, C++, C#, and Java source code.'
+arch=('i686' 'x86_64')
+url='http://sourceforge.net/projects/astyle/'
+license=('LGPL')
+depends=('gcc-libs')
+source=("http://downloads.sourceforge.net/sourceforge/astyle/${pkgname}_${pkgver}_linux.tar.gz")
+md5sums=('ba84eaa8564155babd4ba1458d4eaa11')
+
+build() {
+ cd "$srcdir/$pkgname/build/gcc"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname/build/gcc"
+
+ install -Dm0755 bin/astyle "$pkgdir/usr/bin/astyle"
+
+ # install documentation (implements FS#23290)
+ install -d "$pkgdir/usr/share/doc/$pkgname/"
+ for f in ../../doc/*.html; do
+ install -m0644 "$f" "$pkgdir/usr/share/doc/$pkgname/"
+ done
+}
diff --git a/community/at/PKGBUILD b/community/at/PKGBUILD
new file mode 100644
index 000000000..da3a905ac
--- /dev/null
+++ b/community/at/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90448 2013-05-12 14:38:17Z eric $
+# Maintainer: Judd Vinet <jvinet@zeroflux.org>
+# Contributor: Todd Musall <tmusall@comcast.net>
+
+pkgname=at
+pkgver=3.1.13
+pkgrel=3
+pkgdesc="AT and batch delayed command scheduling utility and daemon"
+arch=('i686' 'x86_64')
+url="http://packages.qa.debian.org/a/at.html"
+license=('GPL')
+depends=('pam')
+makedepends=('ssmtp')
+backup=('etc/at.deny')
+options=('!makeflags')
+source=(http://ftp.debian.org/debian/pool/main/a/at/at_${pkgver}.orig.tar.gz
+ atd.service)
+md5sums=('1da61af6c29e323abaaf13ee1a8dad79'
+ '58856a1081e101ed6f0f02f9a20ada4e')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sbindir=/usr/bin \
+ --with-jobdir=/var/spool/atd \
+ --with-atspool=/var/spool/atd
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make IROOT="${pkgdir}" docdir=/usr/share/doc install
+ install -D -m644 "${srcdir}/atd.service" "${pkgdir}/usr/lib/systemd/system/atd.service"
+}
diff --git a/community/at/atd.service b/community/at/atd.service
new file mode 100644
index 000000000..df754956a
--- /dev/null
+++ b/community/at/atd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=ATD daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/atd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/atanks/PKGBUILD b/community/atanks/PKGBUILD
new file mode 100644
index 000000000..7cf9b9c64
--- /dev/null
+++ b/community/atanks/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 81091 2012-12-11 19:04:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jacek Poplawski <jacekpoplawski@gmail.com>
+# Contributor: Charlie Cox <ccoxiv@yahoo.com>
+
+pkgname=atanks
+pkgver=5.7
+pkgrel=1
+pkgdesc="Atomic Tanks"
+url="http://atanks.sourceforge.net"
+license=('GPL')
+arch=('i686' 'x86_64')
+makedepends=('sed')
+depends=('allegro4>=4.4.0.1' 'gcc-libs')
+source=("http://downloads.sourceforge.net/project/atanks/atanks/atanks-${pkgver}/atanks-${pkgver}.tar.gz")
+md5sums=('135f8cb55e99a4a7b34996f260a9de6a')
+
+build() {
+ cd atanks-${pkgver}
+ make
+}
+
+package() {
+ cd atanks-${pkgver}
+ make DESTDIR=${pkgdir} INSTALL="install -c" install
+
+ sed -i 's/^Name=atanks/Name=Atomic Tanks/' atanks.desktop
+ sed -i 's/^Categories=Game;/Categories=Game;StrategyGame;/' atanks.desktop
+
+ install -Dm644 atanks.desktop $pkgdir/usr/share/applications/atanks.desktop
+ install -Dm644 atanks.png $pkgdir/usr/share/pixmaps/atanks.png
+}
diff --git a/community/atop/PKGBUILD b/community/atop/PKGBUILD
new file mode 100644
index 000000000..2d1f99a9a
--- /dev/null
+++ b/community/atop/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92271 2013-06-03 13:35:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: John Gerritse <john.gerritse@gmail.com>
+
+pkgname=atop
+pkgver=2.0.2
+pkgrel=1
+pkgdesc="A system and process level monitor."
+arch=(i686 x86_64)
+url="http://www.atoptool.nl/"
+license=('GPL')
+depends=('ncurses' 'sh' 'zlib')
+source=(http://www.atoptool.nl/download/atop-${pkgver}.tar.gz)
+md5sums=('f1dd1984584f9635712cb7196e25620c')
+
+build() {
+ cd $srcdir/$pkgname-${pkgver/_/-}
+ sed -i 's#root ##' atop.cron
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-${pkgver/_/-}
+ make DESTDIR=$pkgdir INIPATH=/etc/rc.d install
+ rm -f $pkgdir/etc/cron.d/atop
+ install -dm0755 $pkgdir/etc/cron.daily
+ mv $pkgdir/etc/atop/atop.daily $pkgdir/etc/cron.daily/atop
+ install -Dm0644 atop.service $pkgdir/usr/lib/systemd/system/atop.service
+ rm -rf $pkgdir/etc/rc.d
+}
diff --git a/community/audit/PKGBUILD b/community/audit/PKGBUILD
new file mode 100644
index 000000000..299e7908c
--- /dev/null
+++ b/community/audit/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 92644 2013-06-10 11:55:07Z mtorromeo $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Contributor: Connor Behan <connor.behan@gmail.com>
+# Contributor: henning mueller <henning@orgizm.net>
+
+pkgname=audit
+pkgver=2.2.3
+pkgrel=3
+pkgdesc='User space utilities for storing and searching the audit records generated by the audit subsystem in the Linux kernel.'
+url=http://people.redhat.com/sgrubb/$pkgname
+arch=(i686 x86_64)
+depends=(krb5 libcap-ng)
+makedepends=(libldap swig linux-headers python2)
+license=(GPL)
+options=(!libtool emptydirs)
+backup=(
+ etc/libaudit.conf
+ etc/audit/audit.rules
+ etc/audit/auditd.conf
+ etc/audisp/audispd.conf
+ etc/audisp/audisp-remote.conf
+ etc/audisp/zos-remote.conf
+ etc/audisp/plugins.d/af_unix.conf
+ etc/audisp/plugins.d/audispd-zos-remote.conf
+ etc/audisp/plugins.d/au-remote.conf
+ etc/audisp/plugins.d/syslog.conf
+)
+source=(
+ $url/$pkgname-$pkgver.tar.gz
+ python2.patch
+)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p0 -i "$srcdir/python2.patch"
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/audit \
+ --with-python=yes \
+ --enable-gssapi-krb5=yes \
+ --enable-systemd=yes \
+ --with-libcap-ng=yes #--with-apparmor=yes
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ cd "$pkgdir"
+ install -d var/log/audit
+ rm -rf etc/rc.d etc/sysconfig
+
+ sed -ri 's|/sbin|/usr/bin|' \
+ etc/audit/*.conf \
+ etc/audisp/plugins.d/*.conf \
+ usr/lib/systemd/system/auditd.service
+}
+
+sha256sums=('2fc8f97020121593f516dc011ef61f39043c4cea9b2cb9ab3849bf9e41dedf02'
+ '6adadb405bebe99bb6a50e80e7c1a356996626e135d566283448fe4019fff3a4')
diff --git a/community/audit/python2.patch b/community/audit/python2.patch
new file mode 100644
index 000000000..87286fc5b
--- /dev/null
+++ b/community/audit/python2.patch
@@ -0,0 +1,11 @@
+--- configure.orig 2013-01-16 09:19:32.475800853 +0100
++++ configure 2013-01-16 09:20:45.764146581 +0100
+@@ -13076,7 +13076,7 @@
+
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+- for ac_prog in python python2 python3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0
++ for ac_prog in python2
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
diff --git a/community/augeas/PKGBUILD b/community/augeas/PKGBUILD
new file mode 100644
index 000000000..9c79d790e
--- /dev/null
+++ b/community/augeas/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 83877 2013-02-06 10:39:22Z spupykin $
+# Contributor: Thomas S Hatch <thatch45@gmail.com>
+# Contributor: Jon Nordby <jononor@gmail.com>
+
+pkgname=augeas
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="A configuration editing tool that parses config files and transforms them into a tree"
+arch=('i686' 'x86_64')
+url="http://augeas.net"
+license=('LGPL')
+depends=('libxml2' 'gcc-libs')
+options=('!libtool')
+source=(http://augeas.net/download/$pkgname-$pkgver.tar.gz{,.sig})
+md5sums=('82131019432ecf8102e1491610ad2dd1'
+ '63b2f334b030c957c98ee01ef207cfdd')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's|Requires:.*|Requires: libxml-2.0|' augeas.pc.in
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/aumix/PKGBUILD b/community/aumix/PKGBUILD
new file mode 100644
index 000000000..299af8fac
--- /dev/null
+++ b/community/aumix/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 70215 2012-05-02 12:56:49Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=aumix
+pkgver=2.9.1
+pkgrel=4
+pkgdesc="A color text mode sound mixer with GPM support"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=()
+makedepends=('gtk2' 'gpm' 'ncurses')
+optdepends=('gtk2: aumix'
+ 'ncurses: aumix-nox'
+ 'gpm: aumix-nox')
+replaces=('aumix-gtk')
+provides=('aumix-gtk')
+install=aumix.install
+url=(http://www.jpj.net/~trevor/aumix.html)
+source=(http://www.jpj.net/~trevor/aumix/releases/aumix-$pkgver.tar.bz2
+ aumix.desktop)
+md5sums=('34f28ae1c94fc5298e8bb2688c4b3a20'
+ 'afba8b39b8dd95d8a9d74356023de14a')
+
+build() {
+ cd $srcdir/aumix-$pkgver
+
+ msg "No X11 build"
+ ./configure --prefix=/usr --mandir=/usr/share/man --without-gtk --without-gtk1 \
+ --without-alsa --without-x
+ make
+ install -D -m0755 src/aumix $pkgdir/usr/bin/aumix-nox
+ make distclean
+
+ msg "X11+GTK2 build"
+ ./configure --prefix=/usr --mandir=/usr/share/man --without-gtk1 --without-alsa \
+ --without-gpm
+ make
+ make DESTDIR=$pkgdir install
+ install -D -m0644 $srcdir/aumix.desktop $pkgdir/usr/share/applications/aumix.desktop
+}
diff --git a/community/aumix/aumix.desktop b/community/aumix/aumix.desktop
new file mode 100644
index 000000000..9bf61a7a2
--- /dev/null
+++ b/community/aumix/aumix.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=0.92
+Encoding=UTF-8
+MultipleArgs=false
+Terminal=0
+Icon=/usr/share/aumix/aumix.xpm
+Exec=/usr/bin/aumix
+Categories=Application;GTK;AudioVideo;Audio;Video;
+Type=Application
+Name=GTK sound mixer
+Name[en]=GTK sound mixer
+Name[ru]=Микшер с GTK-интерфейсом
diff --git a/community/aumix/aumix.install b/community/aumix/aumix.install
new file mode 100644
index 000000000..783d3b3a5
--- /dev/null
+++ b/community/aumix/aumix.install
@@ -0,0 +1,13 @@
+post_install() {
+ [ -x /usr/bin/update-desktop-database ] && /usr/bin/update-desktop-database > /dev/null 2>&1
+ true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove () {
+ [ -x /usr/bin/update-desktop-database ] && /usr/bin/update-desktop-database > /dev/null 2>&1
+ true
+}
diff --git a/community/autocutsel/PKGBUILD b/community/autocutsel/PKGBUILD
new file mode 100644
index 000000000..6e39cc60d
--- /dev/null
+++ b/community/autocutsel/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 64911 2012-02-18 20:21:56Z jelle $
+# Contributor: Tom Killian <tom@archlinux.org>
+# Contributor: Nikos Kouremenos (zeppelin) kourem at gmail dot com
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=autocutsel
+pkgver=0.9.0
+pkgrel=7
+pkgdesc="synchronizes the two copy/paste buffers mainly used by X applications"
+arch=('i686' 'x86_64')
+depends=('libxaw')
+source=(http://lepton.fr/tools/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('ba4a6f632cb4815ae4e5c3027c24cfc5')
+url="http://lepton.fr/tools/autocutsel/"
+install=autocutsel.install
+license=('GPL')
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make prefix=$pkgdir/usr install
+}
diff --git a/community/autocutsel/autocutsel.install b/community/autocutsel/autocutsel.install
new file mode 100644
index 000000000..56fde35d7
--- /dev/null
+++ b/community/autocutsel/autocutsel.install
@@ -0,0 +1,20 @@
+post_install() {
+ cat << EOF
+ Add the following lines to your ~/.xinitrc or, for
+ system-wide use, to a new file, named, say, 40-autocutsel
+ in the directory /etc/X11/xinit/xinitrc.d/ :
+
+autocutsel -fork &
+autocutsel -selection PRIMARY -fork &
+EOF
+}
+
+post_upgrade() {
+ post_install
+}
+post_remove() {
+cat << EOF
+ you might want to remove autocutsel related files in
+ /etc/X11/xinit/xinitrc.d now.
+EOF
+}
diff --git a/community/autofs/0001-autofs-5.0.5-include-krb5-library.patch b/community/autofs/0001-autofs-5.0.5-include-krb5-library.patch
new file mode 100644
index 000000000..572ca97fd
--- /dev/null
+++ b/community/autofs/0001-autofs-5.0.5-include-krb5-library.patch
@@ -0,0 +1,206 @@
+From e467755fac27630730be25c4b41e5d0cfcd89c67 Mon Sep 17 00:00:00 2001
+From: Ian Kent <raven@themaw.net>
+Date: Tue, 10 Aug 2010 15:48:21 +0800
+Subject: [PATCH 1/2] autofs-5.0.5 - include krb5 library
+
+Since the Cyrus SASL module calls Kerberos directly we should be
+linking against the Kerberos librarys.
+---
+ Makefile.conf.in | 2 +
+ aclocal.m4 | 19 +++++++++++++++
+ configure | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ configure.in | 5 +++-
+ modules/Makefile | 4 +-
+ 5 files changed, 93 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.conf.in b/Makefile.conf.in
+index f0287c3..a9bcf8c 100644
+--- a/Makefile.conf.in
++++ b/Makefile.conf.in
+@@ -31,6 +31,8 @@ XML_FLAGS = @XML_FLAGS@
+ SASL = @HAVE_SASL@
+ LIBSASL= @LIBSASL@
+ SASL_FLAGS = @SASL_FLAGS@
++KRB5_LIBS=@KRB5_LIBS@
++KRB5_FLAGS=@KRB5_FLAGS@
+
+ # NIS+ support: yes (1) no (0)
+ NISPLUS = @HAVE_NISPLUS@
+diff --git a/aclocal.m4 b/aclocal.m4
+index e7f1a30..750a159 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -215,6 +215,25 @@ else
+ fi])
+
+ dnl --------------------------------------------------------------------------
++dnl AF_CHECK_KRB5
++dnl
++dnl Check for Kerberos 5
++dnl --------------------------------------------------------------------------
++AC_DEFUN([AF_CHECK_KRB5],
++[AC_PATH_PROGS(KRB5_CONFIG, krb5-config, no)
++AC_MSG_CHECKING(for Kerberos library)
++if test "$KRB5_CONFIG" = "no"
++then
++ AC_MSG_RESULT(no)
++ HAVE_KRB5=0
++else
++ AC_MSG_RESULT(yes)
++ HAVE_KRB5=1
++ KRB5_LIBS=`$KRB5_CONFIG --libs`
++ KRB5_FLAGS=`$KRB5_CONFIG --cflags`
++fi])
++
++dnl --------------------------------------------------------------------------
+ dnl AF_CHECK_LIBHESIOD
+ dnl
+ dnl Check for lib hesiod
+diff --git a/configure b/configure
+index 159f25f..500411c 100755
+--- a/configure
++++ b/configure
+@@ -640,6 +640,8 @@ ac_subst_vars='LTLIBOBJS
+ LIBOBJS
+ DAEMON_LDFLAGS
+ DAEMON_CFLAGS
++KRB5_FLAGS
++KRB5_LIBS
+ LIBSASL
+ HAVE_SASL
+ SASL_FLAGS
+@@ -657,6 +659,7 @@ LIBHESIOD
+ HAVE_HESIOD
+ LIBRESOLV
+ LIBNSL
++KRB5_CONFIG
+ XML_CONFIG
+ PATH_RPCGEN
+ RPCGEN
+@@ -3723,7 +3726,7 @@ $as_echo "no" >&6; }
+ fi
+ fi
+
+-# LDAP SASL auth need libxml
++# LDAP SASL auth needs libxml and Kerberos
+ for ac_prog in xml2-config
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+@@ -3801,6 +3804,66 @@ _ACEOF
+ fi
+ fi
+ fi
++for ac_prog in krb5-config
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_path_KRB5_CONFIG+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ case $KRB5_CONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_KRB5_CONFIG="$KRB5_CONFIG" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_path_KRB5_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++ ;;
++esac
++fi
++KRB5_CONFIG=$ac_cv_path_KRB5_CONFIG
++if test -n "$KRB5_CONFIG"; then
++ { $as_echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5
++$as_echo "$KRB5_CONFIG" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$KRB5_CONFIG" && break
++done
++test -n "$KRB5_CONFIG" || KRB5_CONFIG="no"
++
++{ $as_echo "$as_me:$LINENO: checking for Kerberos library" >&5
++$as_echo_n "checking for Kerberos library... " >&6; }
++if test "$KRB5_CONFIG" = "no"
++then
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++ HAVE_KRB5=0
++else
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++ HAVE_KRB5=1
++ KRB5_LIBS=`$KRB5_CONFIG --libs`
++ KRB5_FLAGS=`$KRB5_CONFIG --cflags`
++fi
+
+ #
+ # glibc/libc 6 new libraries
+@@ -5178,6 +5241,8 @@ fi
+
+
+
++
++
+ LDFLAGS="${AF_tmp_ldflags}"
+
+ #
+diff --git a/configure.in b/configure.in
+index f649a58..70b45e8 100644
+--- a/configure.in
++++ b/configure.in
+@@ -144,8 +144,9 @@ AF_CHECK_PROG(RPCGEN, rpcgen, , $searchpath)
+ #
+ AF_SLOPPY_MOUNT()
+
+-# LDAP SASL auth need libxml
++# LDAP SASL auth needs libxml and Kerberos
+ AF_CHECK_LIBXML()
++AF_CHECK_KRB5()
+
+ #
+ # glibc/libc 6 new libraries
+@@ -274,6 +275,8 @@ AC_SUBST(XML_LIBS)
+ AC_SUBST(SASL_FLAGS)
+ AC_SUBST(HAVE_SASL)
+ AC_SUBST(LIBSASL)
++AC_SUBST(KRB5_LIBS)
++AC_SUBST(KRB5_FLAGS)
+ LDFLAGS="${AF_tmp_ldflags}"
+
+ #
+diff --git a/modules/Makefile b/modules/Makefile
+index 13b3bd8..2389196 100644
+--- a/modules/Makefile
++++ b/modules/Makefile
+@@ -42,8 +42,8 @@ ifeq ($(LDAP), 1)
+ MODS += lookup_ldap.so
+ ifeq ($(SASL), 1)
+ SASL_OBJ = cyrus-sasl.o
+- LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) -DLDAP_THREAD_SAFE
+- LIBLDAP += $(LIBSASL) $(XML_LIBS)
++ LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) $(KRB5_FLAGS) -DLDAP_THREAD_SAFE
++ LIBLDAP += $(LIBSASL) $(XML_LIBS) $(KRB5_LIBS)
+ endif
+ endif
+
+--
+1.7.5.1
+
diff --git a/community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch b/community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch
new file mode 100644
index 000000000..e4e480e82
--- /dev/null
+++ b/community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch
@@ -0,0 +1,59 @@
+From 205c305922cdbded91ff8fadbaad7959bdb497bc Mon Sep 17 00:00:00 2001
+From: Ian Kent <raven@themaw.net>
+Date: Wed, 11 Aug 2010 09:33:09 +0800
+Subject: [PATCH 2/2] autofs-5.0.5 - remove ERR_remove_state() openssl call
+
+autofs should never have had to use ERR_remove_state() so remove that call.
+
+Lukas: Resolve a conflict in "CHANGELOG" that occured due to cherry
+picking Kerberos related patches from the 5.0.6 development branch.
+
+Conflicts:
+
+ CHANGELOG
+
+Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
+---
+ CHANGELOG | 4 ++++
+ modules/lookup_ldap.c | 12 +-----------
+ 2 files changed, 5 insertions(+), 11 deletions(-)
+
+diff --git a/CHANGELOG b/CHANGELOG
+index e734cb3..1a20a81 100644
+--- a/CHANGELOG
++++ b/CHANGELOG
+@@ -1,3 +1,7 @@
++??/??/20?? autofs-5.0.6
++-----------------------
++- remove ERR_remove_state() openssl call.
++
+ 03/09/2009 autofs-5.0.5
+ -----------------------
+ - fix dumb libxml2 check
+diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c
+index 2ecf5fe..1221c2c 100644
+--- a/modules/lookup_ldap.c
++++ b/modules/lookup_ldap.c
+@@ -168,18 +168,8 @@ int unbind_ldap_connection(unsigned logopt, LDAP *ldap, struct lookup_context *c
+ int rv;
+
+ #ifdef WITH_SASL
+- /*
+- * The OpenSSL library can't handle having its message and error
+- * string database loaded multiple times and segfaults if the
+- * TLS environment is not reset at the right times. As there
+- * is no ldap_stop_tls call in the openldap library we have
+- * to do the job ourselves, here and in lookup_done when the
+- * module is closed.
+- */
+- if (ctxt->use_tls == LDAP_TLS_RELEASE) {
+- ERR_remove_state(0);
++ if (ctxt->use_tls == LDAP_TLS_RELEASE)
+ ctxt->use_tls = LDAP_TLS_INIT;
+- }
+ autofs_sasl_unbind(ctxt);
+ #endif
+
+--
+1.7.5.1
+
diff --git a/community/autofs/PKGBUILD b/community/autofs/PKGBUILD
new file mode 100644
index 000000000..a9b396fd7
--- /dev/null
+++ b/community/autofs/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 92244 2013-06-03 11:15:10Z allan $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Dale Blount <dale@archlinux.org>
+# Contributor: Manolis Tzanidakis
+
+pkgname=autofs
+pkgver=5.0.7
+pkgrel=3
+pkgdesc='A kernel-based automounter for Linux.'
+arch=('i686' 'x86_64')
+url='http://freshmeat.net/projects/autofs'
+license=('GPL2')
+depends=('libxml2')
+makedepends=('libldap' 'krb5' 'kmod')
+optdepends=('krb5: for LDAP support')
+backup=('etc/default/autofs'
+ 'etc/autofs/auto.master'
+ 'etc/autofs/auto.misc')
+options=(!makeflags)
+install='autofs.install'
+source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.bz2"
+ 'auto.master'
+ 'auto.misc')
+md5sums=('bc46838dece83c02d800ff144ed9f431'
+ 'a6cefb591e77b31b79dbb7243646c96b'
+ 'd8a15ec9186c5c0b36e5cea1e2739e8a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i "s:SUBDIRS = lib daemon modules man samples:SUBDIRS = lib daemon modules man:" \
+ Makefile.rules
+
+ ./configure --prefix=/usr --sysconfdir=/etc/autofs --sbindir=/usr/bin \
+ --with-mapdir=/etc/autofs --without-hesiod \
+ --enable-ignore-busy --with-systemd
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make INSTALLROOT="${pkgdir}" install
+
+ install -Dm0644 "${srcdir}/auto.master" "${pkgdir}/etc/autofs/auto.master"
+ install -Dm0644 "${srcdir}/auto.misc" "${pkgdir}/etc/autofs/auto.misc"
+
+ install -Dm0644 "samples/autofs.service" "${pkgdir}/usr/lib/systemd/system/autofs.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/autofs/auto.master b/community/autofs/auto.master
new file mode 100644
index 000000000..be4ea73ae
--- /dev/null
+++ b/community/autofs/auto.master
@@ -0,0 +1,6 @@
+# Sample auto.master file
+# Format of this file:
+# mountpoint map options
+# For details of the format look at autofs(5).
+
+#/media /etc/autofs/auto.media
diff --git a/community/autofs/auto.misc b/community/autofs/auto.misc
new file mode 100644
index 000000000..569156626
--- /dev/null
+++ b/community/autofs/auto.misc
@@ -0,0 +1,7 @@
+# This is an automounter map and it has the following format
+# key [ -mount-options-separated-by-comma ] location
+# Details may be found in the autofs(5) manpage
+
+cdrom -fstype=iso9660,ro,nodev,nosuid :/dev/cdrom
+floppy -fstype=auto,async,nodev,nosuid,umask=000 :/dev/fl
+usbstick -fstype=auto,async,nodev,nosuid,umask=000 :/dev/sda1
diff --git a/community/autofs/autofs.install b/community/autofs/autofs.install
new file mode 100644
index 000000000..34ae75f1e
--- /dev/null
+++ b/community/autofs/autofs.install
@@ -0,0 +1,4 @@
+post_install(){
+ echo "> In autofs5 --ghost option isn't valid. In order to start autofs you"
+ echo "> must remove that option from your /etc/conf.d/autofs."
+}
diff --git a/community/autossh/LICENSE b/community/autossh/LICENSE
new file mode 100644
index 000000000..df9212c49
--- /dev/null
+++ b/community/autossh/LICENSE
@@ -0,0 +1,16 @@
+Copyright (c) Carson Harding, 2002-2008.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are freely permitted.
+
+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 OR CONTRIBUTORS 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.
diff --git a/community/autossh/PKGBUILD b/community/autossh/PKGBUILD
new file mode 100644
index 000000000..dae94ca80
--- /dev/null
+++ b/community/autossh/PKGBUILD
@@ -0,0 +1,33 @@
+# Contributor: Ian Taylor <ian at lorf dot orgs>
+
+pkgname=autossh
+pkgver=1.4c
+pkgrel=1
+pkgdesc="Automatically restart SSH sessions and tunnels"
+arch=('i686' 'x86_64')
+url="http://www.harding.motd.ca/autossh/"
+license=('custom')
+depends=('openssh')
+source=("http://www.harding.motd.ca/autossh/$pkgname-$pkgver.tgz"
+ "LICENSE")
+md5sums=('26520eea934f296be0783dabe7fcfd28'
+ '5d65ce1eff3f2c72546a8343b18d67bf')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ msg "Configuring"
+ ./configure --prefix=$pkgdir/usr --sysconfdir=/etc --localstatedir=/var
+
+ msg "Building"
+ make
+
+ msg "Creating package"
+ install -D -m755 autossh $pkgdir/usr/bin/autossh
+ install -D -m644 CHANGES $pkgdir/usr/share/doc/autossh/CHANGES
+ install -D -m644 README $pkgdir/usr/share/doc/autossh/README
+ install -D -m644 autossh.host $pkgdir/usr/share/autossh/examples/autossh.host
+ install -D -m644 rscreen $pkgdir/usr/share/autossh/examples/rscreen
+ install -D -m644 autossh.1 $pkgdir/usr/share/man/man1/autossh.1
+ install -D -m644 ${srcdir}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/avant-window-navigator/688_687.diff b/community/avant-window-navigator/688_687.diff
new file mode 100644
index 000000000..34c5b8fa4
--- /dev/null
+++ b/community/avant-window-navigator/688_687.diff
@@ -0,0 +1,23 @@
+=== modified file 'libawn/awn-applet-simple.c'
+--- libawn/awn-applet-simple.c 2010-01-10 14:43:43 +0000
++++ libawn/awn-applet-simple.c 2010-04-11 21:08:28 +0000
+@@ -393,16 +393,16 @@
+ GStrv states,
+ GStrv icon_names)
+ {
+- gchar *applet_name;
++ gchar *applet_name=NULL;
+
+ g_return_if_fail (AWN_IS_APPLET_SIMPLE (applet));
+- g_return_if_fail (applet_name);
+ g_return_if_fail (states);
+ g_return_if_fail (icon_names);
+
+ g_object_get (applet,
+ "canonical-name",&applet_name,
+ NULL);
++ g_return_if_fail (applet_name);
+ applet->priv->last_set_icon = ICON_THEMED_MANY;
+ awn_themed_icon_set_size (AWN_THEMED_ICON (applet->priv->icon),
+ awn_applet_get_size (AWN_APPLET (applet)));
+
diff --git a/community/avant-window-navigator/821_820.diff b/community/avant-window-navigator/821_820.diff
new file mode 100644
index 000000000..bd8c5b279
--- /dev/null
+++ b/community/avant-window-navigator/821_820.diff
@@ -0,0 +1,96 @@
+=== modified file 'awn-settings/awnClass.py'
+--- awn-settings/awnClass.py 2010-08-24 00:21:51 +0000
++++ awn-settings/awnClass.py 2011-02-13 23:43:42 +0000
+@@ -53,9 +53,13 @@
+ import tempfile
+ import dbus
+
+-from bzrlib import branch
+-from bzrlib.builtins import cmd_branch, cmd_pull
+-from bzrlib.plugins.launchpad.lp_directory import LaunchpadDirectory
++try:
++ from bzrlib import branch
++ from bzrlib.builtins import cmd_branch, cmd_pull
++ from bzrlib.plugins.launchpad.lp_directory import LaunchpadDirectory
++ support_bzr = True
++except:
++ support_bzr = False
+
+ defs.i18nize(globals())
+
+@@ -127,8 +131,11 @@
+ path: a url from a branch
+ return: the http format of a lp: format, or the same url
+ '''
+- directory = LaunchpadDirectory()
+- return directory._resolve(path).replace("bzr+ssh","http")
++ if support_bzr == True:
++ directory = LaunchpadDirectory()
++ return directory._resolve(path).replace("bzr+ssh","http")
++ else:
++ return path
+
+ def read_list(self, file_path):
+ ''' Read a flat file and return the content in a list
+@@ -148,34 +155,44 @@
+ path: the path of the branch
+ bzr_dir: the location of the futur tree.
+ '''
+- if os.path.exists(path):
+- print ("Error, the path already exist")
++ if support_bzr == False:
++ print (_("Bzr support is not enable, try to install bzr"))
+ else:
+- try:
+- bzr_branch = cmd_branch()
+- status = StringIO()
+- status = bzr_branch._setup_outf()
+- bzr_branch.run(from_location=self.lp_path_normalize(bzr_dir), to_location=path)
+- except socket.gaierror:
+- print 'Socket error, could not create branch.'
++ if os.path.exists(path):
++ print (_("Error, the path already exist"))
++ else:
++ try:
++ bzr_branch = cmd_branch()
++ status = StringIO()
++ status = bzr_branch._setup_outf()
++ bzr_branch.run(from_location=self.lp_path_normalize(bzr_dir), to_location=path)
++ except socket.gaierror:
++ print (_('Socket error, could not create branch.'))
+
+ def update_branch(self, path):
+ ''' Update a local branch
+ path: Location of the branch
+ Return the output of the command
+ '''
+- bzr_pull = cmd_pull()
+- status = StringIO()
+- status = bzr_pull._setup_outf()
+- bzr_pull.run(directory=path)
++ if support_bzr == False:
++ print (_("Bzr support is not enable, try to install bzr"))
++ else:
++ bzr_pull = cmd_pull()
++ status = StringIO()
++ status = bzr_pull._setup_outf()
++ bzr_pull.run(directory=path)
+
+ def get_revision_from_path(self, path):
+ ''' Return the last revision number of the branch
+ specify with path parameter
+ '''
+- tree = branch.Branch.open(path)
+- revision_number, revision_id = tree.last_revision_info()
+- return revision_number
++ if support_bzr == False:
++ print (_("Bzr support is not enable, try to install bzr"))
++ return 0
++ else:
++ tree = branch.Branch.open(path)
++ revision_number, revision_id = tree.last_revision_info()
++ return revision_number
+
+ #Sources.list
+ def dict_from_sources_list(self, config=defs.HOME_CONFIG_DIR):
+
diff --git a/community/avant-window-navigator/824_823.diff b/community/avant-window-navigator/824_823.diff
new file mode 100644
index 000000000..290b4ad6d
--- /dev/null
+++ b/community/avant-window-navigator/824_823.diff
@@ -0,0 +1,40 @@
+=== modified file 'applets/taskmanager/task-manager.c'
+--- applets/taskmanager/task-manager.c 2011-01-15 16:44:44 +0000
++++ applets/taskmanager/task-manager.c 2011-03-12 21:42:33 +0000
+@@ -1611,11 +1611,6 @@
+ g_debug ("%s: Window opened: %s",__func__,wnck_window_get_name (window));
+ g_debug ("xid = %lu, pid = %d",wnck_window_get_xid (window),wnck_window_get_pid (window));
+ #endif
+- /*
+- for some reason the skip tasklist property for the taskmanager toggles briefly
+- off and on in certain circumstances. Nip this in the bud.
+- TODO: Investigate wth this is happening... it bothers me.
+- */
+ // if ( wnck_window_get_pid (window) == getpid() ||
+ if ( g_strcmp0 (wnck_window_get_name (window),"awn-applet")==0 )
+ {
+@@ -1626,11 +1621,6 @@
+ */
+ g_signal_connect (window, "state-changed", G_CALLBACK (on_window_state_changed), manager);
+
+- if (wnck_window_is_skip_tasklist (window))
+- {
+- return;
+- }
+-
+ g_signal_connect (window, "state-changed",
+ G_CALLBACK (check_attention_requested), manager);
+
+@@ -1798,6 +1787,11 @@
+ g_return_if_fail (TASK_IS_MANAGER (manager));
+ g_return_if_fail (WNCK_IS_WINDOW (window));
+
++ if (wnck_window_is_skip_tasklist(window))
++ {
++ return;
++ }
++
+ _wnck_get_wmclass (wnck_window_get_xid (window),
+ &res_name, &class_name);
+ if (get_special_wait_from_window_data (res_name,
+
diff --git a/community/avant-window-navigator/PKGBUILD b/community/avant-window-navigator/PKGBUILD
new file mode 100644
index 000000000..8f8562a69
--- /dev/null
+++ b/community/avant-window-navigator/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 79700 2012-11-11 10:30:00Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Timm Preetz <timm@preetz.us>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=avant-window-navigator
+pkgver=0.4.0
+pkgrel=13
+pkgdesc="Fully customisable dock-like window navigator for GNOME"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/awn"
+license=('GPL')
+depends=('libdesktop-agnostic' 'libwnck' 'libgtop' 'gconf' 'python2-dbus' 'pygtk' 'python2-xdg' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('gtk-doc' 'vala' 'intltool')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/awn/0.4/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ 688_687.diff
+ 821_820.diff
+ 824_823.diff)
+md5sums=('03654b45dd95cbb83fa7e112bd00523c'
+ '6b05ccb539f811729820d5545eb50d6e'
+ '2cc0ecf9fccb6e559a98003715ebf6df'
+ 'd068c19503b7be1868bcce5dab003628')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Fix uninitialised pointer
+ # https://bugs.launchpad.net/awn/+bug/562499
+ patch -Np0 -i "$srcdir/688_687.diff"
+
+ # Remove bzr dependency
+ # https://bugs.launchpad.net/awn/+bug/707863
+ patch -Np0 -i "$srcdir/821_820.diff"
+
+ # Hide windows with skip taskbar state
+ # https://bugs.launchpad.net/awn/+bug/707863
+ patch -Np0 -i "$srcdir/824_823.diff"
+
+ # Python2 fix
+ sed -i 's@^#!.*python$@#!/usr/bin/python2@' awn-settings/{awnSettings.py.in,awnSettingsHelper.py}
+ sed -i 's/with ("python"/with ("python2"/' applet-activation/main.c
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-static \
+ PYTHON=/usr/bin/python2
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install
+
+ install -m755 -d "$pkgdir/usr/share/gconf/schemas"
+ gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/awn.schemas" "$pkgdir"/etc/gconf/schemas/*.schemas
+ rm -r "$pkgdir/etc"
+}
diff --git a/community/avant-window-navigator/avant-window-navigator.install b/community/avant-window-navigator/avant-window-navigator.install
new file mode 100644
index 000000000..f5473a092
--- /dev/null
+++ b/community/avant-window-navigator/avant-window-navigator.install
@@ -0,0 +1,22 @@
+pkgname=awn
+
+post_install() {
+ gconfpkg --install $pkgname
+ xdg-icon-resource forceupdate
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ gconfpkg --uninstall $pkgname
+}
+
+post_remove() {
+ xdg-icon-resource forceupdate
+}
diff --git a/community/avfs/PKGBUILD b/community/avfs/PKGBUILD
new file mode 100644
index 000000000..962021782
--- /dev/null
+++ b/community/avfs/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 83120 2013-01-27 15:51:39Z pierre $
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: K. Piche <kpiche@rogers.com>
+
+pkgname=avfs
+pkgver=1.0.1
+pkgrel=1
+pkgdesc="A virtual filesystem that allows browsing of compressed files"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL')
+url="http://avf.sourceforge.net/"
+depends=('fuse' 'xz' 'perl')
+options=('!emptydirs' '!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/avf/${pkgname}-${pkgver}.tar.bz2{,.asc})
+md5sums=('f0f254d092e54da14bbf3ea22b76da99'
+ 'd71607de21819f3d67246473f0bc21f3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --enable-library \
+ --enable-fuse \
+ --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/avifile/PKGBUILD b/community/avifile/PKGBUILD
new file mode 100644
index 000000000..037d8f714
--- /dev/null
+++ b/community/avifile/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 87987 2013-04-09 21:29:15Z eric $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: tobias <tobias@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=avifile
+pkgver=0.7.45
+pkgrel=9
+pkgdesc="A library that allows you to read and write compressed AVI files"
+arch=('i686' 'x86_64')
+depends=('qt3' 'sdl' 'freetype2' 'libpng' 'libjpeg'
+ 'libvorbis' 'xvidcore' 'libxxf86dga' 'libxi' 'libxv')
+makedepends=('lame' 'v4l-utils' 'chrpath')
+url="http://avifile.sourceforge.net"
+license=('GPL')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/sourceforge/avifile/$pkgname-0.7-$pkgver.tar.bz2"
+ 'gcc.patch'
+ 'videodev.patch')
+md5sums=('7da94802f120d1b69e04a13170dcd21d'
+ '79a488db80c82f0abb8a83f52e3b3aa0'
+ '6cca050885afe85c2d98982f75f5e3b0')
+
+build() {
+ cd $pkgname-0.7-$pkgver
+
+ patch -Np1 <$srcdir/gcc.patch
+ patch -Np1 <$srcdir/videodev.patch
+
+ ./configure \
+ --prefix=/usr \
+ --mandir=$pkgdir/usr/share/man \
+ --with-qt-prefix=/usr \
+ --with-qt-includes=/usr/include/qt3 \
+ --with-qt-libraries=/usr/lib \
+ --enable-oss
+
+ make
+}
+
+package() {
+ cd $pkgname-0.7-$pkgver
+ make prefix=$pkgdir/usr install
+
+ cd $pkgdir/usr/bin
+ chrpath -d avibench avicap avicat avirec kv4lsetup avimake aviplay avitype avirecompress
+}
diff --git a/community/avifile/gcc.patch b/community/avifile/gcc.patch
new file mode 100644
index 000000000..078b4ae81
--- /dev/null
+++ b/community/avifile/gcc.patch
@@ -0,0 +1,145 @@
+diff -wbBur avifile-0.7-0.7.45/avifile.pc avifile-0.7-0.7.45.my/avifile.pc
+--- avifile-0.7-0.7.45/avifile.pc 2006-03-06 12:12:26.000000000 +0300
++++ avifile-0.7-0.7.45.my/avifile.pc 2009-05-25 13:10:17.347697640 +0400
+@@ -1,4 +1,4 @@
+-prefix=/var/tmp/avi6
++prefix=/usr
+ exec_prefix=${prefix}
+ libdir=${exec_prefix}/lib
+ includedir=${prefix}/include/avifile-0.7
+diff -wbBur avifile-0.7-0.7.45/include/avm_map.h avifile-0.7-0.7.45.my/include/avm_map.h
+--- avifile-0.7-0.7.45/include/avm_map.h 2004-02-19 14:39:56.000000000 +0300
++++ avifile-0.7-0.7.45.my/include/avm_map.h 2009-05-25 13:10:21.014364635 +0400
+@@ -45,7 +45,7 @@
+
+ template <class Key1, class Value1> struct binary_tree_node
+ {
+- avm_map::pair<Key1, Value1>* entry;
++ struct pair<Key1, Value1>* entry;
+ binary_tree_node<Key1, Value1>* left;
+ Key1 minval;
+ binary_tree_node<Key1, Value1>* right;
+diff -wbBur avifile-0.7-0.7.45/include/version.h avifile-0.7-0.7.45.my/include/version.h
+--- avifile-0.7-0.7.45/include/version.h 2006-03-06 12:12:25.000000000 +0300
++++ avifile-0.7-0.7.45.my/include/version.h 2009-05-25 13:10:16.841030758 +0400
+@@ -3,5 +3,5 @@
+ #define AVIFILE_MINOR_VERSION 7
+ #define AVIFILE_PATCHLEVEL 45
+ #define AVIFILE_VERSION ((AVIFILE_MAJOR_VERSION << 16) + (AVIFILE_MINOR_VERSION << 8) + AVIFILE_PATCHLEVEL)
+-#define AVIFILE_BUILD "CVS-0.7.45-060306-10:11-4.0.3"
++#define AVIFILE_BUILD "RELEASE-0.7.45-090525-13:10-4.4.0"
+ #endif
+diff -wbBur avifile-0.7-0.7.45/lib/aviplay/aviplay.cpp avifile-0.7-0.7.45.my/lib/aviplay/aviplay.cpp
+--- avifile-0.7-0.7.45/lib/aviplay/aviplay.cpp 2005-11-05 00:56:33.000000000 +0300
++++ avifile-0.7-0.7.45.my/lib/aviplay/aviplay.cpp 2009-05-25 13:13:36.304347364 +0400
+@@ -242,7 +242,7 @@
+ //printf("VSTREAMTIME %f\n", m_pVideostream->GetTime());
+ // reading subtitles
+ avm::string fn = m_Filename;
+- char* p = strrchr(fn.c_str(), '.');
++ char* p = (char*)strrchr(fn.c_str(), '.');
+ if (p)
+ *p = 0;
+ InitSubtitles(m_Subfilename.size()
+diff -wbBur avifile-0.7-0.7.45/lib/codeckeeper.cpp avifile-0.7-0.7.45.my/lib/codeckeeper.cpp
+--- avifile-0.7-0.7.45/lib/codeckeeper.cpp 2004-03-10 16:27:38.000000000 +0300
++++ avifile-0.7-0.7.45.my/lib/codeckeeper.cpp 2009-05-25 13:15:11.971004390 +0400
+@@ -143,7 +143,7 @@
+ {
+ char plgn[100];
+ strcpy(plgn, "avm_codec_plugin_");
+- char* x = strrchr(name, '/');
++ char* x = (char*)strrchr(name, '/');
+ strncat(plgn, x + 1, 50);
+ x = strchr(plgn, '.');
+ *x = 0;
+diff -wbBur avifile-0.7-0.7.45/lib/common/Args.cpp avifile-0.7-0.7.45.my/lib/common/Args.cpp
+--- avifile-0.7-0.7.45/lib/common/Args.cpp 2003-02-06 23:39:12.000000000 +0300
++++ avifile-0.7-0.7.45.my/lib/common/Args.cpp 2009-05-25 13:14:38.562055811 +0400
+@@ -17,7 +17,7 @@
+ {
+ char* c = cp;
+ char* b;
+- while ((b = strchr(c, ':')))
++ while ((b = (char*)strchr(c, ':')))
+ {
+ *b++ = 0;
+ if (strlen(c))
+@@ -259,7 +259,7 @@
+ }
+ for (unsigned i = 0; i < arr.size(); i++)
+ {
+- char* par = strchr(arr[i], '=');
++ char* par = (char*)strchr(arr[i], '=');
+ if (par)
+ {
+ *par = 0;
+@@ -335,7 +335,7 @@
+ {
+ for (unsigned j = 1; j < arr.size(); j++)
+ {
+- char* p = strchr(arr[j].c_str(), '=');
++ char* p = (char*)strchr(arr[j].c_str(), '=');
+ int val = 0;
+ bool valid = false;
+ if (p)
+diff -wbBur avifile-0.7-0.7.45/player/playercontrol.cpp avifile-0.7-0.7.45.my/player/playercontrol.cpp
+--- avifile-0.7-0.7.45/player/playercontrol.cpp 2005-09-27 17:40:09.000000000 +0400
++++ avifile-0.7-0.7.45.my/player/playercontrol.cpp 2009-05-25 13:16:18.274330659 +0400
+@@ -764,7 +764,7 @@
+ return;
+
+ avm::string path = RS("url", ".");
+- char* cut = strrchr(path.c_str(), '/');
++ char* cut = (char*)strrchr(path.c_str(), '/');
+ if (!cut)
+ path = "./";
+ #if QT_VERSION <= 220
+diff -wbBur avifile-0.7-0.7.45/plugins/libmp3lame_audioenc/mp3encoder.cpp avifile-0.7-0.7.45.my/plugins/libmp3lame_audioenc/mp3encoder.cpp
+--- avifile-0.7-0.7.45/plugins/libmp3lame_audioenc/mp3encoder.cpp 2006-03-05 23:45:26.000000000 +0300
++++ avifile-0.7-0.7.45.my/plugins/libmp3lame_audioenc/mp3encoder.cpp 2009-05-25 13:10:21.014364635 +0400
+@@ -30,7 +30,7 @@
+ short nCodecDelay;
+ };
+ public:
+- MP3Encoder::MP3Encoder(const CodecInfo& info, const WAVEFORMATEX* format)
++ MP3Encoder(const CodecInfo& info, const WAVEFORMATEX* format)
+ :IAudioEncoder(info)
+ {
+ in_fmt=*format;
+diff -wbBur avifile-0.7-0.7.45/samples/qtvidcap/kv4lsetup.cpp avifile-0.7-0.7.45.my/samples/qtvidcap/kv4lsetup.cpp
+--- avifile-0.7-0.7.45/samples/qtvidcap/kv4lsetup.cpp 2005-03-23 18:18:21.000000000 +0300
++++ avifile-0.7-0.7.45.my/samples/qtvidcap/kv4lsetup.cpp 2009-05-25 13:10:21.014364635 +0400
+@@ -229,7 +229,7 @@
+ if (XF86DGAQueryExtension(dpy, &foo, &bar)) {
+ XF86DGAQueryDirectVideo(dpy, XDefaultScreen(dpy),&flags);
+ if (flags & XF86DGADirectPresent) {
+- XF86DGAGetVideoLL(dpy,XDefaultScreen(dpy),(int*)&base,&width,&foo,&bar);
++ XF86DGAGetVideoLL(dpy,XDefaultScreen(dpy),(unsigned int*)&base,&width,&foo,&bar);
+ set_bpl = width * set_bpp/8;
+ set_base = base;
+ if (verbose == 2) {
+diff -wbBur avifile-0.7-0.7.45/samples/qtvidcap/v4lxif.cpp avifile-0.7-0.7.45.my/samples/qtvidcap/v4lxif.cpp
+--- avifile-0.7-0.7.45/samples/qtvidcap/v4lxif.cpp 2005-03-23 19:16:09.000000000 +0300
++++ avifile-0.7-0.7.45.my/samples/qtvidcap/v4lxif.cpp 2009-05-25 13:10:21.014364635 +0400
+@@ -1115,7 +1115,7 @@
+ major,minor, XDGA_MAJOR_VERSION,XDGA_MINOR_VERSION);
+ have_dga= false;
+ } else {
+- XF86DGAGetVideoLL(disp, DefaultScreen(disp), (int*)&base, &width, &bank, &ram);
++ XF86DGAGetVideoLL(disp, DefaultScreen(disp), (unsigned int*)&base, &width, &bank, &ram);
+ if (!base)
+ avml(AVML_WARN,
+ "v4l1: can not allocate frame buffer base: %p\n", base);
+diff -wbBur avifile-0.7-0.7.45/lib/aviread/AsfNetworkInputStream.cpp avifile-0.7-0.7.45.my/lib/aviread/AsfNetworkInputStream.cpp
+--- avifile-0.7-0.7.45.org/lib/aviread/AsfNetworkInputStream.cpp 2004-10-25 14:15:38.000000000 +0400
++++ avifile-0.7-0.7.45/lib/aviread/AsfNetworkInputStream.cpp 2012-08-28 13:26:33.000000000 +0400
+@@ -937,7 +937,7 @@
+ }
+
+ asf_packet* p;
+- unsigned short& size = chhdr.size;
++ uint16_t size = chhdr.size;
+ //printf("STREAMPACKET 0x%x sz:%d %lld seq:%d part:%d sc:%d\n", chhdr.kind, size, rsize, chhdr.seq, chhdr.partflag, chhdr.size_confirm);
+ switch (chhdr.kind)
+ {
diff --git a/community/avifile/videodev.patch b/community/avifile/videodev.patch
new file mode 100644
index 000000000..0729c8ab9
--- /dev/null
+++ b/community/avifile/videodev.patch
@@ -0,0 +1,180 @@
+diff -wbBur avifile-0.7-0.7.45/acinclude.m4 avifile-0.7-0.7.45.my/acinclude.m4
+--- avifile-0.7-0.7.45/acinclude.m4 2006-03-06 12:11:19.000000000 +0300
++++ avifile-0.7-0.7.45.my/acinclude.m4 2011-11-17 13:20:52.000000000 +0400
+@@ -1158,7 +1158,7 @@
+ AC_ARG_ENABLE(v4l, [ --enable-v4l support v4l video interface. (autodetect)],
+ [], enable_v4l=yes)
+ if test x$enable_v4l = xyes; then
+- AC_CHECK_HEADER([linux/videodev.h], [], [ enable_v4l=no; ])
++ AC_CHECK_HEADER([libv4l1-videodev.h], [], [ enable_v4l=no; ])
+ fi
+
+ if test x$enable_v4l = xyes; then
+diff -wbBur avifile-0.7-0.7.45/configure avifile-0.7-0.7.45.my/configure
+--- avifile-0.7-0.7.45/configure 2006-03-06 12:11:32.000000000 +0300
++++ avifile-0.7-0.7.45.my/configure 2011-11-17 13:20:47.000000000 +0400
+@@ -27667,8 +27667,8 @@
+ fi;
+ if test x$enable_v4l = xyes; then
+ if test "${ac_cv_header_linux_videodev_h+set}" = set; then
+- echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
+-echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6
++ echo "$as_me:$LINENO: checking for libv4l1-videodev.h" >&5
++echo $ECHO_N "checking for libv4l1-videodev.h... $ECHO_C" >&6
+ if test "${ac_cv_header_linux_videodev_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ fi
+@@ -27676,8 +27676,8 @@
+ echo "${ECHO_T}$ac_cv_header_linux_videodev_h" >&6
+ else
+ # Is the header compilable?
+-echo "$as_me:$LINENO: checking linux/videodev.h usability" >&5
+-echo $ECHO_N "checking linux/videodev.h usability... $ECHO_C" >&6
++echo "$as_me:$LINENO: checking libv4l1-videodev.h usability" >&5
++echo $ECHO_N "checking libv4l1-videodev.h usability... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -27685,7 +27685,7 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ $ac_includes_default
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+@@ -27720,15 +27720,15 @@
+ echo "${ECHO_T}$ac_header_compiler" >&6
+
+ # Is the header present?
+-echo "$as_me:$LINENO: checking linux/videodev.h presence" >&5
+-echo $ECHO_N "checking linux/videodev.h presence... $ECHO_C" >&6
++echo "$as_me:$LINENO: checking libv4l1-videodev.h presence" >&5
++echo $ECHO_N "checking libv4l1-videodev.h presence... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+ _ACEOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+@@ -27762,25 +27762,25 @@
+ # So? What about this header?
+ case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: linux/videodev.h: proceeding with the compiler's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: libv4l1-videodev.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: libv4l1-videodev.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: libv4l1-videodev.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: libv4l1-videodev.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: linux/videodev.h: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: linux/videodev.h: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&2;}
++ { echo "$as_me:$LINENO: WARNING: libv4l1-videodev.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: libv4l1-videodev.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: libv4l1-videodev.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: libv4l1-videodev.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: libv4l1-videodev.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: libv4l1-videodev.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: libv4l1-videodev.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: libv4l1-videodev.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: libv4l1-videodev.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: libv4l1-videodev.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: libv4l1-videodev.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: libv4l1-videodev.h: in the future, the compiler will take precedence" >&2;}
+ (
+ cat <<\_ASBOX
+ ## ------------------------------------------ ##
+@@ -27791,8 +27791,8 @@
+ sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+ esac
+-echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
+-echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6
++echo "$as_me:$LINENO: checking for libv4l1-videodev.h" >&5
++echo $ECHO_N "checking for libv4l1-videodev.h... $ECHO_C" >&6
+ if test "${ac_cv_header_linux_videodev_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+diff -wbBur avifile-0.7-0.7.45/ffmpeg/libavformat/grab.c avifile-0.7-0.7.45.my/ffmpeg/libavformat/grab.c
+--- avifile-0.7-0.7.45/ffmpeg/libavformat/grab.c 2006-02-04 11:57:34.000000000 +0300
++++ avifile-0.7-0.7.45.my/ffmpeg/libavformat/grab.c 2011-11-17 13:21:12.000000000 +0400
+@@ -23,7 +23,7 @@
+ #include <sys/mman.h>
+ #include <sys/time.h>
+ #define _LINUX_TIME_H 1
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+ #include <time.h>
+
+ typedef struct {
+diff -wbBur avifile-0.7-0.7.45/ffmpeg/libavformat/v4l2.c avifile-0.7-0.7.45.my/ffmpeg/libavformat/v4l2.c
+--- avifile-0.7-0.7.45/ffmpeg/libavformat/v4l2.c 2006-03-02 00:36:52.000000000 +0300
++++ avifile-0.7-0.7.45.my/ffmpeg/libavformat/v4l2.c 2011-11-17 13:29:40.000000000 +0400
+@@ -31,7 +31,8 @@
+ #include <sys/mman.h>
+ #include <sys/time.h>
+ #define _LINUX_TIME_H 1
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
++#include <linux/videodev2.h>
+ #include <time.h>
+
+ static const int desired_video_buffers = 256;
+diff -wbBur avifile-0.7-0.7.45/m4/v4l.m4 avifile-0.7-0.7.45.my/m4/v4l.m4
+--- avifile-0.7-0.7.45/m4/v4l.m4 2004-02-18 23:53:58.000000000 +0300
++++ avifile-0.7-0.7.45.my/m4/v4l.m4 2011-11-17 13:20:56.000000000 +0400
+@@ -10,7 +10,7 @@
+ AC_ARG_ENABLE(v4l, [ --enable-v4l support v4l video interface. (autodetect)],
+ [], enable_v4l=yes)
+ if test x$enable_v4l = xyes; then
+- AC_CHECK_HEADER([linux/videodev.h], [], [ enable_v4l=no; ])
++ AC_CHECK_HEADER([libv4l1-videodev.h], [], [ enable_v4l=no; ])
+ fi
+
+ if test x$enable_v4l = xyes; then
+diff -wbBur avifile-0.7-0.7.45/samples/qtvidcap/kv4lsetup.cpp avifile-0.7-0.7.45.my/samples/qtvidcap/kv4lsetup.cpp
+--- avifile-0.7-0.7.45/samples/qtvidcap/kv4lsetup.cpp 2005-03-23 18:18:21.000000000 +0300
++++ avifile-0.7-0.7.45.my/samples/qtvidcap/kv4lsetup.cpp 2011-11-17 13:29:34.000000000 +0400
+@@ -39,7 +39,7 @@
+
+ /* Necessary to prevent collisions between <linux/time.h> and <sys/time.h> when V4L2 is installed. */
+ #define _LINUX_TIME_H
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+
+ #ifndef X_DISPLAY_MISSING
+ #include <X11/Xlib.h>
+diff -wbBur avifile-0.7-0.7.45/samples/qtvidcap/v4lxif.h avifile-0.7-0.7.45.my/samples/qtvidcap/v4lxif.h
+--- avifile-0.7-0.7.45/samples/qtvidcap/v4lxif.h 2003-11-14 19:42:04.000000000 +0300
++++ avifile-0.7-0.7.45.my/samples/qtvidcap/v4lxif.h 2011-11-17 13:35:57.000000000 +0400
+@@ -32,7 +32,8 @@
+
+ /* Necessary to prevent collisions between <linux/time.h> and <sys/time.h> when V4L2 is installed. */
+ #define _LINUX_TIME_H
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
++#define BASE_VIDIOCPRIVATE 192 /* 192-255 are private */
+
+ #define V4L_DEVICE "/dev/video"
+ #define V4L_VBI_DEVICE "/dev/vbi"
diff --git a/community/avr-binutils/PKGBUILD b/community/avr-binutils/PKGBUILD
new file mode 100644
index 000000000..2898a3e65
--- /dev/null
+++ b/community/avr-binutils/PKGBUILD
@@ -0,0 +1,89 @@
+# $Id: PKGBUILD 88220 2013-04-14 18:16:45Z schuay $
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: danst0 <danst0@west.de>
+
+# Build order: avr-binutils -> avr-gcc -> avr-libc
+
+pkgname=avr-binutils
+pkgver=2.23.2
+pkgrel=1
+pkgdesc="A set of programs to assemble and manipulate binary and object files for the AVR architecture"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/binutils/"
+license=('GPL')
+depends=('glibc>=2.17' 'zlib' 'binutils')
+provides=("binutils-avr=$pkgver")
+replaces=('binutils-avr')
+options=('!libtool' '!distcc' '!ccache')
+install=avr-binutils.install
+source=(ftp://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2{,.sig}
+ binutils-2.23.2-texinfo-5.0.patch
+ avr-size.patch)
+
+_builddir=binutils-build
+
+build() {
+ cd ${srcdir}/binutils-${pkgver}
+
+ # See https://bugs.archlinux.org/task/32504
+ patch -Np0 < ${srcdir}/avr-size.patch
+
+ # http://sourceware.org/git/?p=binutils.git;a=patch;h=e02bf935
+ # http://sourceware.org/git/?p=binutils.git;a=patch;h=935f8542
+ patch -p1 -i ${srcdir}/binutils-2.23.2-texinfo-5.0.patch
+
+ # https://bugs.archlinux.org/task/34629
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+
+ config_guess=$(./config.guess)
+
+ cd ${srcdir}
+ rm -rf ${_builddir}
+ mkdir ${_builddir} && cd ${_builddir}
+
+ ${srcdir}/binutils-${pkgver}/configure \
+ --prefix=/usr \
+ --with-lib-path=/usr/lib:/usr/local/lib \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-ld=default \
+ --enable-gold \
+ --enable-plugins \
+ --enable-threads \
+ --with-pic \
+ --enable-shared \
+ --disable-werror \
+ --disable-multilib \
+ --build=${config_guess} \
+ --target=avr \
+ $CONFIGFLAG
+
+ # This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
+ make configure-host
+
+ make tooldir=/usr
+}
+
+package() {
+ cd ${srcdir}/${_builddir}
+
+ make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
+
+ rm ${pkgdir}/usr/lib/libiberty.a
+
+ for bin in ar as nm objcopy objdump ranlib strip ; do
+ rm -f ${pkgdir}/usr/bin/${bin}
+ done
+
+ for info in as bfd binutils configure gprof ld standards; do
+ mv ${pkgdir}/usr/share/info/${info}.info ${pkgdir}/usr/share/info/avr-${info}.info
+ done
+
+ rm -rf ${pkgdir}/usr/share/locale
+}
+
+md5sums=('4f8fa651e35ef262edc01d60fb45702e'
+ 'SKIP'
+ '34e439ce23213a91e2af872dfbb5094c'
+ '573769ec1107d1bfed78680edd7ae63f')
diff --git a/community/avr-binutils/avr-binutils.install b/community/avr-binutils/avr-binutils.install
new file mode 100644
index 000000000..eb066ae3a
--- /dev/null
+++ b/community/avr-binutils/avr-binutils.install
@@ -0,0 +1,17 @@
+infodir=usr/share/info
+filelist=(avr-as.info avr-bfd.info avr-binutils.info avr-configure.info avr-gprof.info avr-ld.info avr-standards.info)
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
diff --git a/community/avr-binutils/avr-size.patch b/community/avr-binutils/avr-size.patch
new file mode 100644
index 000000000..2e01c3d31
--- /dev/null
+++ b/community/avr-binutils/avr-size.patch
@@ -0,0 +1,432 @@
+AVR specific only
+--------------------------------------------------------------------------------
+--- binutils/size.c 2007-08-06 13:56:14.000000000 -0600
++++ binutils/size.c 2007-09-13 09:13:10.281250000 -0600
+@@ -35,10 +35,31 @@
+ #include "getopt.h"
+ #include "bucomm.h"
+
+-#ifndef BSD_DEFAULT
+-#define BSD_DEFAULT 1
++typedef enum
++{
++ format_sysv = 0,
++ format_bsd = 1,
++ format_avr = 2,
++} format_type_t;
++
++
++/* Set the default format. */
++#define FORMAT_DEFAULT_SYSV 0
++#define FORMAT_DEFAULT_BSD 1
++#define FORMAT_DEFAULT_AVR 0
++
++#if FORMAT_DEFAULT_SYSV
++ #define FORMAT_DEFAULT format_sysv
++ #define FORMAT_NAME "sysv"
++#elif FORMAT_DEFAULT_BSD
++ #define FORMAT_DEFAULT format_bsd
++ #define FORMAT_NAME "berkeley"
++#elif FORMAT_DEFAULT_AVR
++ #define FORMAT_DEFAULT format_avr
++ #define FORMAT_NAME "avr"
+ #endif
+
++
+ /* Program options. */
+
+ static enum
+@@ -47,9 +68,8 @@ static enum
+ }
+ radix = decimal;
+
+-/* 0 means use AT&T-style output. */
+-static int berkeley_format = BSD_DEFAULT;
+
++format_type_t format = FORMAT_DEFAULT;
+ static int show_version = 0;
+ static int show_help = 0;
+ static int show_totals = 0;
+@@ -63,6 +83,157 @@ static bfd_size_type total_textsize;
+ /* Program exit status. */
+ static int return_code = 0;
+
++
++/* AVR Size specific stuff */
++
++#define AVR64 64UL
++#define AVR128 128UL
++#define AVR256 256UL
++#define AVR512 512UL
++#define AVR1K 1024UL
++#define AVR2K 2048UL
++#define AVR4K 4096UL
++#define AVR8K 8192UL
++#define AVR16K 16384UL
++#define AVR24K 24576UL
++#define AVR32K 32768UL
++#define AVR40K 40960UL
++#define AVR64K 65536UL
++#define AVR128K 131072UL
++#define AVR256K 262144UL
++
++typedef struct
++{
++ char *name;
++ long flash;
++ long ram;
++ long eeprom;
++} avr_device_t;
++
++avr_device_t avr[] =
++{
++ {"atmega2560", AVR256K, AVR8K, AVR4K},
++ {"atmega2561", AVR256K, AVR8K, AVR4K},
++
++ {"at43usb320", AVR128K, 608UL, 0},
++ {"at90can128", AVR128K, AVR4K, AVR4K},
++ {"at90usb1286", AVR128K, AVR8K, AVR4K},
++ {"at90usb1287", AVR128K, AVR8K, AVR4K},
++ {"atmega128", AVR128K, AVR4K, AVR4K},
++ {"atmega1280", AVR128K, AVR8K, AVR4K},
++ {"atmega1281", AVR128K, AVR8K, AVR4K},
++ {"atmega1284P", AVR128K, AVR16K, AVR4K},
++ {"atmega103", AVR128K, 4000UL, AVR4K},
++ {"atxmega128a1",AVR128K, AVR8K, AVR2K},
++
++ {"at90can64", AVR64K, AVR4K, AVR2K},
++ {"at90usb646", AVR64K, AVR4K, AVR2K},
++ {"at90usb647", AVR64K, AVR4K, AVR2K},
++ {"atmega64", AVR64K, AVR4K, AVR2K},
++ {"atmega640", AVR64K, AVR8K, AVR4K},
++ {"atmega644", AVR64K, AVR4K, AVR2K},
++ {"atmega644p", AVR64K, AVR4K, AVR2K},
++ {"atmega645", AVR64K, AVR4K, AVR2K},
++ {"atmega6450", AVR64K, AVR4K, AVR2K},
++ {"atmega649", AVR64K, AVR4K, AVR2K},
++ {"atmega6490", AVR64K, AVR4K, AVR2K},
++ {"atxmega64a1", AVR64K, AVR4K, AVR2K},
++
++ {"atmega406", AVR40K, AVR512, AVR2K},
++
++ {"at90can32", AVR32K, AVR2K, AVR1K},
++ {"at94k", AVR32K, AVR4K, 0},
++ {"atmega32", AVR32K, AVR2K, AVR1K},
++ {"atmega323", AVR32K, AVR2K, AVR1K},
++ {"atmega324p", AVR32K, AVR2K, AVR1K},
++ {"atmega325", AVR32K, AVR2K, AVR1K},
++ {"atmega325p", AVR32K, AVR2K, AVR1K},
++ {"atmega3250", AVR32K, AVR2K, AVR1K},
++ {"atmega3250p", AVR32K, AVR2K, AVR1K},
++ {"atmega328p", AVR32K, AVR2K, AVR1K},
++ {"atmega329", AVR32K, AVR2K, AVR1K},
++ {"atmega329p", AVR32K, AVR2K, AVR1K},
++ {"atmega3290", AVR32K, AVR2K, AVR1K},
++ {"atmega3290p", AVR32K, AVR2K, AVR1K},
++ {"atmega32hvb", AVR32K, AVR2K, AVR1K},
++ {"atmega32c1", AVR32K, AVR2K, AVR1K},
++ {"atmega32m1", AVR32K, AVR2K, AVR1K},
++ {"atmega32u4", AVR32K, 2560UL, AVR1K},
++
++ {"at43usb355", AVR24K, 1120, 0},
++
++ {"at76c711", AVR16K, AVR2K, 0},
++ {"at90pwm216", AVR16K, AVR1K, AVR512},
++ {"at90pwm316", AVR16K, AVR1K, AVR512},
++ {"at90usb162", AVR16K, AVR512, AVR512},
++ {"atmega16", AVR16K, AVR1K, AVR512},
++ {"atmega161", AVR16K, AVR1K, AVR512},
++ {"atmega162", AVR16K, AVR1K, AVR512},
++ {"atmega163", AVR16K, AVR1K, AVR512},
++ {"atmega164", AVR16K, AVR1K, AVR512},
++ {"atmega164p", AVR16K, AVR1K, AVR512},
++ {"atmega165", AVR16K, AVR1K, AVR512},
++ {"atmega165p", AVR16K, AVR1K, AVR512},
++ {"atmega168", AVR16K, AVR1K, AVR512},
++ {"atmega168p", AVR16K, AVR1K, AVR512},
++ {"atmega169", AVR16K, AVR1K, AVR512},
++ {"atmega169p", AVR16K, AVR1K, AVR512},
++ {"attiny167", AVR16K, AVR512, AVR512},
++ {"atxmega16d4", AVR16K, AVR2K, AVR1K},
++
++ {"at90c8534", AVR8K, 352, AVR512},
++ {"at90pwm1", AVR8K, AVR512, AVR512},
++ {"at90pwm2", AVR8K, AVR512, AVR512},
++ {"at90pwm2b", AVR8K, AVR512, AVR512},
++ {"at90pwm3", AVR8K, AVR512, AVR512},
++ {"at90pwm3b", AVR8K, AVR512, AVR512},
++ {"at90s8515", AVR8K, AVR512, AVR512},
++ {"at90s8535", AVR8K, AVR512, AVR512},
++ {"at90usb82", AVR8K, AVR512, AVR512},
++ {"atmega8", AVR8K, AVR1K, AVR512},
++ {"atmega8515", AVR8K, AVR512, AVR512},
++ {"atmega8535", AVR8K, AVR512, AVR512},
++ {"atmega88", AVR8K, AVR1K, AVR512},
++ {"atmega88p", AVR8K, AVR1K, AVR512},
++ {"attiny84", AVR8K, AVR512, AVR512},
++ {"attiny85", AVR8K, AVR512, AVR512},
++ {"attiny861", AVR8K, AVR512, AVR512},
++ {"attiny88", AVR8K, AVR256, AVR64},
++
++ {"at90s4414", AVR4K, 352, AVR256},
++ {"at90s4433", AVR4K, AVR128, AVR256},
++ {"at90s4434", AVR4K, 352, AVR256},
++ {"atmega48", AVR4K, AVR512, AVR256},
++ {"atmega48p", AVR4K, AVR512, AVR256},
++ {"attiny43u", AVR4K, AVR256, AVR64},
++ {"attiny44", AVR4K, AVR256, AVR256},
++ {"attiny45", AVR4K, AVR256, AVR256},
++ {"attiny461", AVR4K, AVR256, AVR256},
++ {"attiny48", AVR4K, AVR256, AVR64},
++
++ {"at86rf401", AVR2K, 224, AVR128},
++ {"at90s2313", AVR2K, AVR128, AVR128},
++ {"at90s2323", AVR2K, AVR128, AVR128},
++ {"at90s2333", AVR2K, 224, AVR128},
++ {"at90s2343", AVR2K, AVR128, AVR128},
++ {"attiny22", AVR2K, 224, AVR128},
++ {"attiny2313", AVR2K, AVR128, AVR128},
++ {"attiny24", AVR2K, AVR128, AVR128},
++ {"attiny25", AVR2K, AVR128, AVR128},
++ {"attiny26", AVR2K, AVR128, AVR128},
++ {"attiny261", AVR2K, AVR128, AVR128},
++ {"attiny28", AVR2K, 0, 0},
++
++ {"at90s1200", AVR1K, 0, AVR64},
++ {"attiny11", AVR1K, 0, AVR64},
++ {"attiny12", AVR1K, 0, AVR64},
++ {"attiny13", AVR1K, AVR64, AVR64},
++ {"attiny15", AVR1K, 0, AVR64},
++};
++
++static char *avrmcu = NULL;
++
++
+ static char *target = NULL;
+
+ /* Forward declarations. */
+@@ -78,7 +240,8 @@ usage (FILE *stream, int status)
+ fprintf (stream, _(" Displays the sizes of sections inside binary files\n"));
+ fprintf (stream, _(" If no input file(s) are specified, a.out is assumed\n"));
+ fprintf (stream, _(" The options are:\n\
+- -A|-B --format={sysv|berkeley} Select output style (default is %s)\n\
++ -A|-B|-C --format={sysv|berkeley|avr} Select output style (default is %s)\n\
++ --mcu=<avrmcu> MCU name for AVR format only\n\
+ -o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex\n\
+ -t --totals Display the total sizes (Berkeley only)\n\
+ --common Display total size for *COM* syms\n\
+@@ -87,11 +250,7 @@ usage (FILE *stream, int status)
+ -h --help Display this information\n\
+ -v --version Display the program's version\n\
+ \n"),
+-#if BSD_DEFAULT
+- "berkeley"
+-#else
+- "sysv"
+-#endif
++FORMAT_NAME
+ );
+ list_supported_targets (program_name, stream);
+ if (REPORT_BUGS_TO[0] && status == 0)
+@@ -102,6 +261,7 @@ usage (FILE *stream, int status)
+ #define OPTION_FORMAT (200)
+ #define OPTION_RADIX (OPTION_FORMAT + 1)
+ #define OPTION_TARGET (OPTION_RADIX + 1)
++#define OPTION_MCU (OPTION_TARGET + 1)
+
+ static struct option long_options[] =
+ {
+@@ -109,6 +269,7 @@ static struct option long_options[] =
+ {"format", required_argument, 0, OPTION_FORMAT},
+ {"radix", required_argument, 0, OPTION_RADIX},
+ {"target", required_argument, 0, OPTION_TARGET},
++ {"mcu", required_argument, 0, 203},
+ {"totals", no_argument, &show_totals, 1},
+ {"version", no_argument, &show_version, 1},
+ {"help", no_argument, &show_help, 1},
+@@ -140,7 +301,7 @@ main (int argc, char **argv)
+ bfd_init ();
+ set_default_bfd_target ();
+
+- while ((c = getopt_long (argc, argv, "ABHhVvdfotx", long_options,
++ while ((c = getopt_long (argc, argv, "ABCHhVvdfotx", long_options,
+ (int *) 0)) != EOF)
+ switch (c)
+ {
+@@ -149,11 +310,15 @@ main (int argc, char **argv)
+ {
+ case 'B':
+ case 'b':
+- berkeley_format = 1;
++ format = format_bsd;
+ break;
+ case 'S':
+ case 's':
+- berkeley_format = 0;
++ format = format_sysv;
++ break;
++ case 'A':
++ case 'a':
++ format = format_avr;
+ break;
+ default:
+ non_fatal (_("invalid argument to --format: %s"), optarg);
+@@ -161,6 +326,10 @@ main (int argc, char **argv)
+ }
+ break;
+
++ case OPTION_MCU:
++ avrmcu = optarg;
++ break;
++
+ case OPTION_TARGET:
+ target = optarg;
+ break;
+@@ -189,11 +358,14 @@ main (int argc, char **argv)
+ break;
+
+ case 'A':
+- berkeley_format = 0;
++ format = format_sysv;
+ break;
+ case 'B':
+- berkeley_format = 1;
++ format = format_bsd;
+ break;
++ case 'C':
++ format = format_avr;
++ break;
+ case 'v':
+ case 'V':
+ show_version = 1;
+@@ -239,7 +411,7 @@ main (int argc, char **argv)
+ for (; optind < argc;)
+ display_file (argv[optind++]);
+
+- if (show_totals && berkeley_format)
++ if (show_totals && format == format_bsd)
+ {
+ bfd_size_type total = total_textsize + total_datasize + total_bsssize;
+
+@@ -600,13 +772,117 @@ print_sysv_format (bfd *file)
+ printf ("\n\n");
+ }
+
++
++static avr_device_t *
++avr_find_device (void)
++{
++ unsigned int i;
++ if (avrmcu != NULL)
++ {
++ for (i = 0; i < sizeof(avr) / sizeof(avr[0]); i++)
++ {
++ if (strcmp(avr[i].name, avrmcu) == 0)
++ {
++ /* Match found */
++ return (&avr[i]);
++ }
++ }
++ }
++ return (NULL);
++}
++
++
++
++static void
++print_avr_format (bfd *file)
++{
++ char *avr_name = "Unknown";
++ int flashmax = 0;
++ int rammax = 0;
++ int eeprommax = 0;
++ asection *section;
++ bfd_size_type data_size = 0;
++ bfd_size_type text_size = 0;
++ bfd_size_type bss_size = 0;
++ bfd_size_type bootloader_size = 0;
++ bfd_size_type noinit_size = 0;
++ bfd_size_type eeprom_size = 0;
++
++ avr_device_t *avrdevice = avr_find_device();
++ if (avrdevice != NULL)
++ {
++ avr_name = avrdevice->name;
++ flashmax = avrdevice->flash;
++ rammax = avrdevice->ram;
++ eeprommax = avrdevice->eeprom;
++ }
++
++ if ((section = bfd_get_section_by_name (file, ".data")) != NULL)
++ data_size = bfd_section_size (file, section);
++ if ((section = bfd_get_section_by_name (file, ".text")) != NULL)
++ text_size = bfd_section_size (file, section);
++ if ((section = bfd_get_section_by_name (file, ".bss")) != NULL)
++ bss_size = bfd_section_size (file, section);
++ if ((section = bfd_get_section_by_name (file, ".bootloader")) != NULL)
++ bootloader_size = bfd_section_size (file, section);
++ if ((section = bfd_get_section_by_name (file, ".noinit")) != NULL)
++ noinit_size = bfd_section_size (file, section);
++ if ((section = bfd_get_section_by_name (file, ".eeprom")) != NULL)
++ eeprom_size = bfd_section_size (file, section);
++
++ bfd_size_type text = text_size + data_size + bootloader_size;
++ bfd_size_type data = data_size + bss_size + noinit_size;
++ bfd_size_type eeprom = eeprom_size;
++
++ printf ("AVR Memory Usage\n"
++ "----------------\n"
++ "Device: %s\n\n", avr_name);
++
++ /* Text size */
++ printf ("Program:%8ld bytes", text);
++ if (flashmax > 0)
++ {
++ printf (" (%2.1f%% Full)", ((float)text / flashmax) * 100);
++ }
++ printf ("\n(.text + .data + .bootloader)\n\n");
++
++ /* Data size */
++ printf ("Data: %8ld bytes", data);
++ if (rammax > 0)
++ {
++ printf (" (%2.1f%% Full)", ((float)data / rammax) * 100);
++ }
++ printf ("\n(.data + .bss + .noinit)\n\n");
++
++ /* EEPROM size */
++ if (eeprom > 0)
++ {
++ printf ("EEPROM: %8ld bytes", eeprom);
++ if (eeprommax > 0)
++ {
++ printf (" (%2.1f%% Full)", ((float)eeprom / eeprommax) * 100);
++ }
++ printf ("\n(.eeprom)\n\n");
++ }
++}
++
++
+ static void
+ print_sizes (bfd *file)
+ {
+ if (show_common)
+ calculate_common_size (file);
+- if (berkeley_format)
+- print_berkeley_format (file);
+- else
+- print_sysv_format (file);
++ switch (format)
++ {
++ case format_sysv:
++ print_sysv_format (file);
++ break;
++ case format_bsd:
++ print_berkeley_format (file);
++ break;
++ case format_avr:
++ default:
++ print_avr_format (file);
++ break;
++ }
+ }
diff --git a/community/avr-binutils/binutils-2.23.2-texinfo-5.0.patch b/community/avr-binutils/binutils-2.23.2-texinfo-5.0.patch
new file mode 100644
index 000000000..38dc19fb0
--- /dev/null
+++ b/community/avr-binutils/binutils-2.23.2-texinfo-5.0.patch
@@ -0,0 +1,162 @@
+diff --git a/bfd/doc/bfd.texinfo b/bfd/doc/bfd.texinfo
+index 45ffa73..3aa3300 100644
+--- a/bfd/doc/bfd.texinfo
++++ b/bfd/doc/bfd.texinfo
+@@ -322,7 +324,7 @@ All of BFD lives in one directory.
+ @printindex cp
+
+ @tex
+-% I think something like @colophon should be in texinfo. In the
++% I think something like @@colophon should be in texinfo. In the
+ % meantime:
+ \long\def\colophon{\hbox to0pt{}\vfill
+ \centerline{The body of this manual is set in}
+@@ -333,7 +335,7 @@ All of BFD lives in one directory.
+ \centerline{{\sl\fontname\tensl\/}}
+ \centerline{are used for emphasis.}\vfill}
+ \page\colophon
+-% Blame: doc@cygnus.com, 28mar91.
++% Blame: doc@@cygnus.com, 28mar91.
+ @end tex
+
+ @bye
+diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
+index 56a0510..fb1802b 100644
+--- a/binutils/doc/binutils.texi
++++ b/binutils/doc/binutils.texi
+@@ -148,18 +148,18 @@ in the section entitled ``GNU Free Documentation License''.
+ * objcopy:: Copy and translate object files
+ * objdump:: Display information from object files
+ * ranlib:: Generate index to archive contents
+-* readelf:: Display the contents of ELF format files
+ * size:: List section sizes and total size
+ * strings:: List printable strings from files
+ * strip:: Discard symbols
+-* elfedit:: Update the ELF header of ELF files
+ * c++filt:: Filter to demangle encoded C++ symbols
+ * cxxfilt: c++filt. MS-DOS name for c++filt
+ * addr2line:: Convert addresses to file and line
+ * nlmconv:: Converts object code into an NLM
+-* windres:: Manipulate Windows resources
+ * windmc:: Generator for Windows message resources
++* windres:: Manipulate Windows resources
+ * dlltool:: Create files needed to build and use DLLs
++* readelf:: Display the contents of ELF format files
++* elfedit:: Update the ELF header of ELF files
+ * Common Options:: Command-line options for all utilities
+ * Selecting the Target System:: How these utilities determine the target
+ * Reporting Bugs:: Reporting Bugs
+@@ -2907,7 +2907,7 @@ the Info entries for @file{binutils}.
+ @c man end
+ @end ignore
+
+-@node c++filt, addr2line, elfedit, Top
++@node c++filt, addr2line, strip, Top
+ @chapter c++filt
+
+ @kindex c++filt
+@@ -4384,7 +4384,7 @@ equivalent. At least one of the @option{--output-mach},
+
+ @table @env
+
+-@itemx --input-mach=@var{machine}
++@item --input-mach=@var{machine}
+ Set the matching input ELF machine type to @var{machine}. If
+ @option{--input-mach} isn't specified, it will match any ELF
+ machine types.
+@@ -4392,21 +4392,21 @@ machine types.
+ The supported ELF machine types are, @var{L1OM}, @var{K1OM} and
+ @var{x86-64}.
+
+-@itemx --output-mach=@var{machine}
++@item --output-mach=@var{machine}
+ Change the ELF machine type in the ELF header to @var{machine}. The
+ supported ELF machine types are the same as @option{--input-mach}.
+
+-@itemx --input-type=@var{type}
++@item --input-type=@var{type}
+ Set the matching input ELF file type to @var{type}. If
+ @option{--input-type} isn't specified, it will match any ELF file types.
+
+ The supported ELF file types are, @var{rel}, @var{exec} and @var{dyn}.
+
+-@itemx --output-type=@var{type}
++@item --output-type=@var{type}
+ Change the ELF file type in the ELF header to @var{type}. The
+ supported ELF types are the same as @option{--input-type}.
+
+-@itemx --input-osabi=@var{osabi}
++@item --input-osabi=@var{osabi}
+ Set the matching input ELF file OSABI to @var{osabi}. If
+ @option{--input-osabi} isn't specified, it will match any ELF OSABIs.
+
+@@ -4416,7 +4416,7 @@ The supported ELF OSABIs are, @var{none}, @var{HPUX}, @var{NetBSD},
+ @var{FreeBSD}, @var{TRU64}, @var{Modesto}, @var{OpenBSD}, @var{OpenVMS},
+ @var{NSK}, @var{AROS} and @var{FenixOS}.
+
+-@itemx --output-osabi=@var{osabi}
++@item --output-osabi=@var{osabi}
+ Change the ELF OSABI in the ELF header to @var{osabi}. The
+ supported ELF OSABI are the same as @option{--input-osabi}.
+
+diff --git a/ld/ld.texinfo b/ld/ld.texinfo
+index c7ae2a5..4777ad5 100644
+--- a/ld/ld.texinfo
++++ b/ld/ld.texinfo
+@@ -142,12 +144,12 @@ in the section entitled ``GNU Free Documentation License''.
+ @ifset ARM
+ * ARM:: ld and the ARM family
+ @end ifset
+-@ifset HPPA
+-* HPPA ELF32:: ld and HPPA 32-bit ELF
+-@end ifset
+ @ifset M68HC11
+ * M68HC11/68HC12:: ld and the Motorola 68HC11 and 68HC12 families
+ @end ifset
++@ifset HPPA
++* HPPA ELF32:: ld and HPPA 32-bit ELF
++@end ifset
+ @ifset M68K
+ * M68K:: ld and Motorola 68K family
+ @end ifset
+@@ -6012,6 +6014,9 @@ functionality are not listed.
+ @ifset I960
+ * i960:: @command{ld} and the Intel 960 family
+ @end ifset
++@ifset M68HC11
++* M68HC11/68HC12:: @code{ld} and the Motorola 68HC11 and 68HC12 families
++@end ifset
+ @ifset ARM
+ * ARM:: @command{ld} and the ARM family
+ @end ifset
+@@ -6027,9 +6032,6 @@ functionality are not listed.
+ @ifset MSP430
+ * MSP430:: @command{ld} and MSP430
+ @end ifset
+-@ifset M68HC11
+-* M68HC11/68HC12:: @code{ld} and the Motorola 68HC11 and 68HC12 families
+-@end ifset
+ @ifset POWERPC
+ * PowerPC ELF32:: @command{ld} and PowerPC 32-bit ELF Support
+ @end ifset
+@@ -7877,7 +7879,7 @@ If you have more than one @code{SECT} statement for the same
+ @printindex cp
+
+ @tex
+-% I think something like @colophon should be in texinfo. In the
++% I think something like @@colophon should be in texinfo. In the
+ % meantime:
+ \long\def\colophon{\hbox to0pt{}\vfill
+ \centerline{The body of this manual is set in}
+@@ -7888,7 +7890,7 @@ If you have more than one @code{SECT} statement for the same
+ \centerline{{\sl\fontname\tensl\/}}
+ \centerline{are used for emphasis.}\vfill}
+ \page\colophon
+-% Blame: doc@cygnus.com, 28mar91.
++% Blame: doc@@cygnus.com, 28mar91.
+ @end tex
+
+ @bye
+--
+1.7.1
+
diff --git a/community/avr-gcc/PKGBUILD b/community/avr-gcc/PKGBUILD
new file mode 100644
index 000000000..3bcecdca4
--- /dev/null
+++ b/community/avr-gcc/PKGBUILD
@@ -0,0 +1,101 @@
+# $Id: PKGBUILD 88836 2013-04-23 14:57:29Z schuay $
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: danst0 <danst0@west.de>
+
+# Build order: avr-binutils -> avr-gcc -> avr-libc
+
+pkgname=avr-gcc
+_pkgname=gcc
+pkgver=4.8.0
+pkgrel=2
+pkgdesc="The GNU AVR Compiler Collection"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org/"
+depends=('avr-binutils>=2.23' 'cloog' 'ppl' 'gcc-libs>=4.8.0' 'libmpc')
+optdepends=('avr-libc: Standard C library for Atmel AVR development')
+provides=("gcc-avr=$pkgver")
+replaces=('gcc-avr')
+options=('!libtool' '!emptydirs' '!strip')
+source=(http://ftp.gnu.org/gnu/gcc/${_pkgname}-${pkgver}/gcc-${pkgver}.tar.bz2)
+
+_basedir=${_pkgname}-${pkgver}
+
+build() {
+ # default CFLAGS lead to issues later on when configure
+ # calls avr-gcc with -march set.
+ export CFLAGS="-O2 -pipe"
+ export CXXFLAGS="-O2 -pipe"
+
+ cd ${srcdir}/${_basedir}
+
+ # Do not install libiberty
+ sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+
+ # https://bugs.archlinux.org/task/34629
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" gcc/configure
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ cd ${srcdir}
+ mkdir gcc-build && cd gcc-build
+
+ # --disable-linker-build-id: https://bugs.archlinux.org/task/34902
+
+ ${srcdir}/${_basedir}/configure \
+ --disable-cloog-version-check \
+ --disable-install-libiberty \
+ --disable-libssp \
+ --disable-libstdcxx-pch \
+ --disable-libunwind-exceptions \
+ --disable-linker-build-id \
+ --disable-nls \
+ --disable-werror \
+ --enable-__cxa_atexit \
+ --enable-checking=release \
+ --enable-clocale=gnu \
+ --enable-cloog-backend=isl \
+ --enable-gnu-unique-object \
+ --enable-gold \
+ --enable-languages=c,c++ \
+ --enable-ld=default \
+ --enable-lto \
+ --enable-plugin \
+ --enable-shared \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --prefix=/usr \
+ --target=avr \
+ --with-as=/usr/bin/avr-as \
+ --with-gnu-as \
+ --with-gnu-ld \
+ --with-ld=/usr/bin/avr-ld \
+ --with-plugin-ld=ld.gold \
+ --with-system-zlib
+
+ make
+}
+
+package() {
+ cd ${srcdir}/gcc-build
+
+ make -j1 DESTDIR=${pkgdir} install
+
+ # Strip debug symbols from libraries; without this, the package size balloons to ~500MB.
+ find ${pkgdir}/usr/lib -type f -name "*.a" \
+ -exec /usr/bin/avr-strip --strip-debug '{}' \;
+
+ # Install Runtime Library Exception
+ install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/${pkgname}/RUNTIME.LIBRARY.EXCEPTION
+
+ rm -rf ${pkgdir}/usr/share/man/man7
+ rm -rf ${pkgdir}/usr/share/info
+}
+
+md5sums=('e6040024eb9e761c3bea348d1fa5abb0')
diff --git a/community/avr-gdb/PKGBUILD b/community/avr-gdb/PKGBUILD
new file mode 100644
index 000000000..4cb5e63e2
--- /dev/null
+++ b/community/avr-gdb/PKGBUILD
@@ -0,0 +1,55 @@
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Ivan Sichmann Freitas <ivansichfreitas at gmail dot com>
+# Contributor: Laszlo Papp <djszapi2 at gmail dot com>
+# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
+# Contributor: Vladimir Cerny <blackvladimir@gmail.com>
+# Contributor: 4javier <4javieregATgmailDOTcom>
+
+pkgname=avr-gdb
+_pkgname=gdb
+pkgver=7.5.1
+pkgrel=1
+pkgdesc="The GNU Debugger for AVR"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/gdb/"
+license=('GPL3')
+depends=('python2')
+options=('!libtool')
+source=(http://ftp.gnu.org/gnu/gdb/${_pkgname}-${pkgver}.tar.bz2)
+
+build() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ unset LDFLAGS
+ export CFLAGS="-O2 -pipe"
+ export CPPFLAGS="-O2 -pipe"
+ export CXXFLAGS="$CFLAGS"
+
+ ./configure \
+ --disable-nls \
+ --enable-languages=c,c++ \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --prefix=/usr \
+ --program-prefix=avr- \
+ --target=avr \
+ --with-python=/usr/bin/python2 \
+ --with-system-readline
+
+ make
+}
+
+package() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ rm -f ${pkgdir}/usr/lib/libiberty.a
+ rm -rf ${pkgdir}/usr/share/info
+ rm -rf ${pkgdir}/usr/share/gdb
+ rm -rf ${pkgdir}/usr/include/gdb
+}
+
+md5sums=('3f48f468b24447cf24820054ff6e85b1')
diff --git a/community/avrdude/PKGBUILD b/community/avrdude/PKGBUILD
new file mode 100644
index 000000000..9262a5e85
--- /dev/null
+++ b/community/avrdude/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92157 2013-06-01 20:12:04Z jelle $
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Maintainer: Brad Fanella <bradfanella@archlinux.us>
+
+pkgname=avrdude
+pkgver=5.11.1
+pkgrel=4
+pkgdesc="Download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers"
+arch=('i686' 'x86_64')
+url="http://www.nongnu.org/avrdude/"
+license=('GPL')
+depends=('libusbx' 'readline' 'libftdi')
+source=(http://download.savannah.gnu.org/releases/avrdude/${pkgname}-${pkgver}.tar.gz{,.sig})
+md5sums=('3a43e288cb32916703b6945e3f260df9'
+ '0c23b005d4090aef4e081476aabc1958')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --mandir=/usr/share/man \
+ --prefix=/usr \
+ --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/awesome/PKGBUILD b/community/awesome/PKGBUILD
new file mode 100644
index 000000000..5b04224ce
--- /dev/null
+++ b/community/awesome/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 87494 2013-04-01 17:59:30Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: xduugu
+# Contributor: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Vesa Kaihlavirta
+
+pkgname=awesome
+pkgver=3.5.1
+pkgrel=1
+pkgdesc='Highly configurable framework window manager'
+arch=('i686' 'x86_64')
+url='http://awesome.naquadah.org/'
+license=('GPL2')
+depends=(
+ 'cairo'
+ 'dbus'
+ 'gdk-pixbuf2'
+ 'imlib2'
+ 'libxcursor'
+ 'libxdg-basedir'
+ 'lua'
+ 'lua-lgi'
+ 'pango'
+ 'startup-notification'
+ 'xcb-util-image'
+ 'xcb-util-keysyms'
+ 'xcb-util-wm'
+ 'xorg-xmessage'
+)
+makedepends=(
+ 'asciidoc'
+ 'cmake'
+ 'docbook-xsl'
+ 'doxygen'
+ 'imagemagick'
+ 'ldoc'
+ 'xmlto'
+)
+optdepends=(
+ 'rlwrap: readline support for awesome-client'
+ 'dex: autostart your desktop files'
+ 'vicious: widgets for the Awesome window manager'
+)
+provides=('notification-daemon')
+source=("$url/download/$pkgname-$pkgver.tar.xz"
+ "$pkgname.desktop")
+md5sums=('f528f66ddcdb07f24e6f494837371702'
+ '0fdbeec43d211c6750041d7e37611a6a')
+
+build() {
+ cd $pkgname-$pkgver
+ cmake \
+ -DCMAKE_BUILD_TYPE=RELEASE \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONFDIR=/etc \
+ -DLUA_LIBRARY=/usr/lib/liblua.so.5.2
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ # install desktop file so you can start awesome from your login manager
+ install -Dm644 ../awesome.desktop "$pkgdir/usr/share/xsessions/awesome.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/awesome/awesome.desktop b/community/awesome/awesome.desktop
new file mode 100644
index 000000000..453399c6e
--- /dev/null
+++ b/community/awesome/awesome.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Awesome
+Comment=Highly configurable framework window manager
+Type=XSession
+Exec=awesome
+TryExec=awesome
diff --git a/community/awn-extras-applets/PKGBUILD b/community/awn-extras-applets/PKGBUILD
new file mode 100644
index 000000000..7ce9fca85
--- /dev/null
+++ b/community/awn-extras-applets/PKGBUILD
@@ -0,0 +1,89 @@
+# Maintainer: György Balló <ballogy@freestart.hu>
+# Contributor: Biru Ionut <ionut@archlinux.ro>
+# Contributor: Jonathan Liu <net147@hotmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=awn-extras-applets
+_pkgname=awn-extras
+pkgver=0.4.0
+pkgrel=15
+pkgdesc="Collection of applets for avant-window-navigator"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/awn-extras"
+license=('GPL')
+depends=('avant-window-navigator' 'python2-notify' 'vte' 'gnome-menus' 'gnome-menus2' 'webkitgtk2')
+makedepends=('intltool' 'vala')
+optdepends=('python2-feedparser: comics, feeds, mail applets'
+ 'python2-rsvg: comics, cairo-clock, hardware-sensors applets'
+ 'gstreamer0.10-python: media-player, volume-control applets'
+ 'python2-dateutil: cairo-clock (optional), calendar applets'
+ 'python2-gdata: calendar applet'
+ 'python2-vobject: calendar applet'
+ 'python2-pyinotify: thinkhdaps applet (optional)'
+ 'python2-libgnome: stacks applet'
+ 'python2-gnomedesktop: stacks applet'
+ 'python2-wnck: slickswitcher applet'
+ 'fortune-mod: animal-farm applet'
+ 'upower: battery applet'
+ 'gnome-applets: cpufreq applet'
+ 'hddtemp: hardware-sensors applet (optional)'
+ 'lm_sensors: hardware-sensors applet (optional)')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/$_pkgname/0.4/$pkgver/+download/$_pkgname-$pkgver.tar.gz
+ awn-extras-libnotify0.7.patch
+ remove-settings-menu.patch
+ add-battery-upower-support.patch
+ fix-shinyswitcher-scrolling.patch
+ fix-weather-applet.patch
+ awn-extras-glib2.32.patch
+ cairo-menu-upower.patch
+ check-dependencies.patch)
+md5sums=('b559d68cd6ad295c961c20fcc5d9f9c0'
+ '2df8dfd8f0f1d458c09b56983c7d049f'
+ '52f8ce6a4eca862b0740e29a84db8ae5'
+ '26b56106b63b14ba3c99f1a2e96da05d'
+ '755c57dfbb65a314f247277918ec95ac'
+ 'bc22bb3e81aca0f651ae8acee1ce2f00'
+ '1cfcd1e5dc92c4c7c306472d42a21c2d'
+ 'f9715f531947967d6549a358ea8d2979'
+ '8f920c7dde987d66eef7d3739df1051d')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/awn-extras-libnotify0.7.patch"
+ patch -Np1 -i "$srcdir/remove-settings-menu.patch"
+ patch -Np0 -i "$srcdir/add-battery-upower-support.patch"
+ patch -Np0 -i "$srcdir/fix-shinyswitcher-scrolling.patch"
+ patch -Np1 -i "$srcdir/fix-weather-applet.patch"
+ patch -Np0 -i "$srcdir/awn-extras-glib2.32.patch"
+ patch -Np1 -i "$srcdir/cairo-menu-upower.patch"
+ patch -Np1 -i "$srcdir/check-dependencies.patch"
+
+ # Python2 fix
+ find . -type f -name *.py | xargs sed -i 's@^#.*python$@#!/usr/bin/python2@'
+ sed -i 's/async(\"python \"/async(\"python2 \"/' applets/maintained/shiny-switcher/shinyswitcherapplet.c
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-static \
+ --disable-pymod-checks \
+ --with-webkit \
+ PYTHON=/usr/bin/python2
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install
+
+ mkdir -p "$pkgdir/usr/share/gconf/schemas"
+ gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/awn-extras.schemas" "$pkgdir"/etc/gconf/schemas/*.schemas
+ rm -r "$pkgdir"/etc
+
+ # Remove bandwidth-monitor applet, because it's not compatible with latest netstat
+ rm -R "$pkgdir"/usr/share/avant-window-navigator/applets/bandwidth-monitor*
+
+ # Remove pandora applet, because gtkmozembed is not available
+ rm -R "$pkgdir"/usr/share/avant-window-navigator/applets/pandora*
+}
diff --git a/community/awn-extras-applets/add-battery-upower-support.patch b/community/awn-extras-applets/add-battery-upower-support.patch
new file mode 100644
index 000000000..0548df758
--- /dev/null
+++ b/community/awn-extras-applets/add-battery-upower-support.patch
@@ -0,0 +1,200 @@
+=== modified file 'applets/maintained/battery/battery.py'
+--- applets/maintained/battery/battery.py 2010-08-12 19:00:37 +0000
++++ applets/maintained/battery/battery.py 2010-09-12 22:24:21 +0000
+@@ -1,6 +1,6 @@
+ #!/usr/bin/python
+ # Copyright (c) 2007 - 2008 Randal Barlow <im.tehk at gmail.com>
+-# 2008 - 2009 onox <denkpadje@gmail.com>
++# 2008 - 2010 onox <denkpadje@gmail.com>
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+@@ -223,11 +223,11 @@
+ return
+
+ charge_percentage = self.backend.get_capacity_percentage()
+-
+- charge_message = "Computer running on %s power" % ("AC", "battery")[self.backend.is_discharging()]
++ power_type = "AC" if self.backend.is_on_ac_power() else "battery"
++ charge_message = "Computer running on %s power" % power_type
+
+ if self.backend.is_charged():
+- charge_message += "\nBattery charged"
++ charge_message += "\n" + "Battery charged"
+ icon = os.path.join(themes_dir, self.settings["theme"], "battery-charged.svg")
+ else:
+ is_charging = self.backend.is_charging()
+@@ -343,6 +343,148 @@
+ return self.get_remaining_capacity() <= self.get_warning_capacity()
+
+
++class UPowerBackend(AbstractBackend):
++
++ """Backend that uses UPower via DBus.
++
++ Reference: http://upower.freedesktop.org/docs/Device.html
++
++ """
++
++ device_iface_name = "org.freedesktop.UPower.Device"
++
++ devices = None
++
++ def __init__(self):
++ self.__system_bus = dbus.SystemBus()
++
++ self.udi = UPowerBackend.get_batteries().keys()[0]
++ self.__set_dbus_interface(self.udi)
++
++ @staticmethod
++ def backend_useable():
++ return dbus is not None and len(UPowerBackend.get_batteries()) > 0
++
++ @staticmethod
++ def get_batteries():
++ udi_models = {}
++
++ try:
++ system_bus = dbus.SystemBus()
++
++ proxy = system_bus.get_object("org.freedesktop.UPower", "/org/freedesktop/UPower")
++ interface = dbus.Interface(proxy, "org.freedesktop.UPower")
++
++ UPowerBackend.devices = list(interface.EnumerateDevices())
++
++ for udi in UPowerBackend.devices:
++ device_iface = UPowerBackend.__get_dbus_interface(system_bus, udi)
++
++ # Type 2 is battery (1 is AC, 3 is UPS)
++ device_type = int(UPowerBackend.__get_property(device_iface, "Type"))
++ is_present = bool(UPowerBackend.__get_property(device_iface, "IsPresent"))
++
++ if device_type == 2 and is_present:
++ udi_models[str(udi)] = str(UPowerBackend.__get_property(device_iface, "Model"))
++ except dbus.DBusException, e:
++ print e.message
++ finally:
++ return udi_models
++
++ def set_active_udi(self, udi):
++ udi_models = UPowerBackend.get_batteries()
++
++ assert udi in udi_models
++
++ self.udi = udi
++ self.__set_dbus_interface(udi)
++
++ @staticmethod
++ def __get_dbus_interface(system_bus, udi):
++ proxy = system_bus.get_object("org.freedesktop.UPower", udi)
++ return dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
++
++ def __set_dbus_interface(self, udi):
++ self.__battery = UPowerBackend.__get_dbus_interface(self.__system_bus, udi)
++
++ @staticmethod
++ def __get_property(interface, property_name):
++ return interface.Get(UPowerBackend.device_iface_name, property_name)
++
++ def get_active_udi(self):
++ return self.udi
++
++ def is_present(self):
++ return bool(UPowerBackend.__get_property(self.__battery, "IsPresent"))
++
++ def is_charging(self):
++ # State 1 is charging
++ return int(UPowerBackend.__get_property(self.__battery, "State")) == 1
++
++ def is_discharging(self):
++ # State 2 is discharging
++ return int(UPowerBackend.__get_property(self.__battery, "State")) == 2
++
++ def get_last_full_capacity(self):
++ # Measured in Wh
++ return int(UPowerBackend.__get_property(self.__battery, "EnergyFull"))
++
++ def get_remaining_capacity(self):
++ # Measured in Wh
++ return int(UPowerBackend.__get_property(self.__battery, "Energy"))
++
++ def get_charge_rate(self):
++ # Measured in W. Original value positive if being discharged, negative if being charged
++ return abs(int(UPowerBackend.__get_property(self.__battery, "EnergyRate")))
++
++ def get_capacity_percentage(self):
++ # Percentage in range 0 .. 100
++ return int(UPowerBackend.__get_property(self.__battery, "Percentage"))
++
++ def get_warning_capacity(self):
++ # Measured in Wh
++ return int(int(UPowerBackend.__get_property(self.__battery, "EnergyFullDesign")) * (warning_percentage / 100.))
++
++ def get_charge_time(self):
++ assert self.is_charging()
++
++ # Charge time in seconds
++ time = int(UPowerBackend.__get_property(self.__battery, "TimeToFull"))
++
++ if time == 0:
++ return super(UPowerBackend, self).get_charge_time()
++
++ hours = time / 3600
++ seconds = time % 3600
++ return (hours, int(round(seconds / 60.0)))
++
++ def get_remaining_time(self):
++ assert self.is_discharging()
++
++ # Discharge time in seconds
++ time = int(UPowerBackend.__get_property(self.__battery, "TimeToEmpty"))
++
++ if time == 0:
++ return super(UPowerBackend, self).get_discharge_time()
++
++ hours = time / 3600
++ seconds = time % 3600
++ return (hours, int(round(seconds / 60.0)))
++
++ def is_charged(self):
++ # State 4 is fully charged
++ return int(UPowerBackend.__get_property(self.__battery, "State")) == 4
++
++ def is_on_ac_power(self):
++ for udi in UPowerBackend.devices:
++ device_iface = UPowerBackend.__get_dbus_interface(self.__system_bus, udi)
++
++ # Property "Online" only has a value for AC power device
++ if bool(UPowerBackend.__get_property(device_iface, "Online")):
++ return True
++ return False
++
++
+ class HalBackend(AbstractBackend):
+
+ """Backend that uses HAL via DBus.
+@@ -372,7 +514,7 @@
+ return udi_models
+ except dbus.DBusException, e:
+ print e.message
+- return {}
++ return udi_models
+
+ def set_active_udi(self, udi):
+ udi_models = HalBackend.get_batteries()
+@@ -416,8 +558,12 @@
+ except dbus.DBusException:
+ return int(int(self.__hal_battery.GetProperty("battery.charge_level.design")) * (warning_percentage / 100.))
+
+-
+-backends = [HalBackend]
++ def is_on_ac_power(self):
++ # TODO Should check that _all_ batteries are not discharging
++ return not self.is_discharging()
++
++
++backends = [UPowerBackend, HalBackend]
+
+
+ if __name__ == "__main__":
+
diff --git a/community/awn-extras-applets/awn-extras-applets.install b/community/awn-extras-applets/awn-extras-applets.install
new file mode 100644
index 000000000..9f04bf6a2
--- /dev/null
+++ b/community/awn-extras-applets/awn-extras-applets.install
@@ -0,0 +1,23 @@
+pkgname=awn-extras
+
+post_install() {
+ gconfpkg --install $pkgname
+ xdg-icon-resource forceupdate
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+
+pre_remove() {
+ gconfpkg --uninstall $pkgname
+}
+
+post_remove() {
+ xdg-icon-resource forceupdate
+}
diff --git a/community/awn-extras-applets/awn-extras-glib2.32.patch b/community/awn-extras-applets/awn-extras-glib2.32.patch
new file mode 100644
index 000000000..563d73b56
--- /dev/null
+++ b/community/awn-extras-applets/awn-extras-glib2.32.patch
@@ -0,0 +1,226 @@
+=== modified file 'applets/maintained/awnterm/keybinder.h'
+--- applets/maintained/awnterm/keybinder.h 2009-12-04 15:32:54 +0000
++++ applets/maintained/awnterm/keybinder.h 2012-04-28 13:17:10 +0000
+@@ -24,7 +24,7 @@
+ #ifndef __AWN_KEY_BINDER_H__
+ #define __AWN_KEY_BINDER_H__
+
+-#include <glib/gtypes.h>
++#include <glib.h>
+
+ G_BEGIN_DECLS
+
+
+=== modified file 'applets/maintained/notification-daemon/daemon.h'
+--- applets/maintained/notification-daemon/daemon.h 2009-11-18 20:13:53 +0000
++++ applets/maintained/notification-daemon/daemon.h 2012-04-28 13:17:10 +0000
+@@ -31,8 +31,6 @@
+
+ #include <libawn/awn-applet.h>
+ #include <libawn/awn-applet-simple.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
+
+ #include <libawn/awn-dialog.h>
+ #include <libawn/awn-cairo-utils.h>
+
+=== modified file 'applets/maintained/notification-daemon/engines.c'
+--- applets/maintained/notification-daemon/engines.c 2010-04-10 17:06:17 +0000
++++ applets/maintained/notification-daemon/engines.c 2012-04-28 13:17:10 +0000
+@@ -38,8 +38,7 @@
+
+
+ #include <libawn/awn-applet.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+
+ #include <libawn/awn-dialog.h>
+ #include <libawn/awn-applet-simple.h>
+@@ -50,7 +49,6 @@
+
+ #include <string.h>
+ #include <gtk/gtk.h>
+-#include <glib.h>
+ #ifndef HAVE_GTK_URL_LABEL
+ #include <libsexy/sexy-url-label.h>
+ #endif
+
+=== modified file 'applets/unmaintained/awnsystemmonitor/awnsystemmonitor.h'
+--- applets/unmaintained/awnsystemmonitor/awnsystemmonitor.h 2009-04-22 03:44:36 +0000
++++ applets/unmaintained/awnsystemmonitor/awnsystemmonitor.h 2012-04-28 13:17:10 +0000
+@@ -25,7 +25,7 @@
+ //#include <libawn/awn-title.h>
+ #include <libawn/awn-tooltip.h>
+
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <glibtop/cpu.h>
+ #include <gconf/gconf-client.h>
+
+
+=== modified file 'applets/unmaintained/awnsystemmonitor/awntop_cairo_component.c'
+--- applets/unmaintained/awnsystemmonitor/awntop_cairo_component.c 2010-04-01 14:25:40 +0000
++++ applets/unmaintained/awnsystemmonitor/awntop_cairo_component.c 2012-04-28 13:17:10 +0000
+@@ -43,13 +43,11 @@
+
+
+ #include <libawn/awn-applet.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <gconf/gconf-value.h>
+
+ #include <libawn/awn-dialog.h>
+ #include <libawn/awn-applet-simple.h>
+-#include <glib.h>
+ #include <gtk/gtk.h>
+
+
+
+=== modified file 'applets/unmaintained/awnsystemmonitor/cpu_component.c'
+--- applets/unmaintained/awnsystemmonitor/cpu_component.c 2009-08-27 20:20:33 +0000
++++ applets/unmaintained/awnsystemmonitor/cpu_component.c 2012-04-28 13:17:10 +0000
+@@ -18,13 +18,11 @@
+ */
+
+ #include <libawn/awn-applet.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <gconf/gconf-value.h>
+
+ #include <libawn/awn-dialog.h>
+ #include <libawn/awn-applet-simple.h>
+-#include <glib.h>
+ #include <gtk/gtk.h>
+ #include <gdk/gdk.h>
+ #include <string.h>
+
+=== modified file 'applets/unmaintained/awnsystemmonitor/cpumetergconf.c'
+--- applets/unmaintained/awnsystemmonitor/cpumetergconf.c 2009-04-22 03:44:36 +0000
++++ applets/unmaintained/awnsystemmonitor/cpumetergconf.c 2012-04-28 13:17:10 +0000
+@@ -20,13 +20,10 @@
+ * Boston, MA 02111-1307, USA.
+ */
+ #include <string.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <gconf/gconf-value.h>
+
+ #include <libawn/awn-applet.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
+ #include <gconf/gconf-value.h>
+
+ #include "cairo-utils.h"
+
+=== modified file 'applets/unmaintained/awnsystemmonitor/dashboard.h'
+--- applets/unmaintained/awnsystemmonitor/dashboard.h 2009-04-22 03:44:36 +0000
++++ applets/unmaintained/awnsystemmonitor/dashboard.h 2012-04-28 13:17:10 +0000
+@@ -23,13 +23,11 @@
+
+
+ #include <libawn/awn-applet.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <gconf/gconf-value.h>
+
+ #include <libawn/awn-dialog.h>
+ #include <libawn/awn-applet-simple.h>
+-#include <glib.h>
+ #include <gtk/gtk.h>
+
+ #include <glibtop/mem.h>
+
+=== modified file 'applets/unmaintained/awnsystemmonitor/date_time_component.c'
+--- applets/unmaintained/awnsystemmonitor/date_time_component.c 2009-07-07 20:10:17 +0000
++++ applets/unmaintained/awnsystemmonitor/date_time_component.c 2012-04-28 13:17:10 +0000
+@@ -19,13 +19,11 @@
+
+
+ #include <libawn/awn-applet.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <gconf/gconf-value.h>
+
+ #include <libawn/awn-dialog.h>
+ #include <libawn/awn-applet-simple.h>
+-#include <glib.h>
+ #include <gtk/gtk.h>
+ #include <gdk/gdk.h>
+ #include <string.h>
+
+=== modified file 'applets/unmaintained/awnsystemmonitor/loadavg_component.c'
+--- applets/unmaintained/awnsystemmonitor/loadavg_component.c 2009-07-07 20:10:17 +0000
++++ applets/unmaintained/awnsystemmonitor/loadavg_component.c 2012-04-28 13:17:10 +0000
+@@ -19,13 +19,11 @@
+
+ #include <glibtop/loadavg.h>
+ #include <libawn/awn-applet.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <gconf/gconf-value.h>
+
+ #include <libawn/awn-dialog.h>
+ #include <libawn/awn-applet-simple.h>
+-#include <glib.h>
+ #include <gtk/gtk.h>
+ #include <gdk/gdk.h>
+ #include <string.h>
+
+=== modified file 'applets/unmaintained/awnsystemmonitor/sysmem_component.c'
+--- applets/unmaintained/awnsystemmonitor/sysmem_component.c 2009-08-27 20:20:33 +0000
++++ applets/unmaintained/awnsystemmonitor/sysmem_component.c 2012-04-28 13:17:10 +0000
+@@ -19,13 +19,11 @@
+
+ #include <glibtop/mem.h>
+ #include <libawn/awn-applet.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <gconf/gconf-value.h>
+
+ #include <libawn/awn-dialog.h>
+ #include <libawn/awn-applet-simple.h>
+-#include <glib.h>
+ #include <gtk/gtk.h>
+ #include <gdk/gdk.h>
+ #include <string.h>
+
+=== modified file 'applets/unmaintained/awnsystemmonitor/uptime_component.c'
+--- applets/unmaintained/awnsystemmonitor/uptime_component.c 2009-07-07 20:10:17 +0000
++++ applets/unmaintained/awnsystemmonitor/uptime_component.c 2012-04-28 13:17:10 +0000
+@@ -1,12 +1,10 @@
+
+ #include <libawn/awn-applet.h>
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <gconf/gconf-value.h>
+
+ #include <libawn/awn-dialog.h>
+ #include <libawn/awn-applet-simple.h>
+-#include <glib.h>
+
+ #include <glibtop/uptime.h>
+ #include <glibtop/cpu.h>
+
+=== modified file 'applets/unmaintained/main-menu/applet.c'
+--- applets/unmaintained/main-menu/applet.c 2011-12-28 11:09:45 +0000
++++ applets/unmaintained/main-menu/applet.c 2012-04-28 13:17:10 +0000
+@@ -23,8 +23,7 @@
+
+ #include <string.h>
+
+-#include <glib/gmacros.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <glib/gi18n.h>
+ #include <gtk/gtk.h>
+ #include <libdesktop-agnostic/fdo.h>
+
diff --git a/community/awn-extras-applets/awn-extras-libnotify0.7.patch b/community/awn-extras-applets/awn-extras-libnotify0.7.patch
new file mode 100644
index 000000000..c552e26f2
--- /dev/null
+++ b/community/awn-extras-applets/awn-extras-libnotify0.7.patch
@@ -0,0 +1,12 @@
+diff -Naur awn-extras-0.4.0.orig/applets/maintained/notification-daemon/daemon.c awn-extras-0.4.0/applets/maintained/notification-daemon/daemon.c
+--- awn-extras-0.4.0.orig/applets/maintained/notification-daemon/daemon.c 2010-04-10 01:26:20.000000000 +0200
++++ awn-extras-0.4.0/applets/maintained/notification-daemon/daemon.c 2011-12-16 00:23:45.488215715 +0100
+@@ -1487,7 +1487,7 @@
+ if (fork() == 0)
+ {
+ notify_init("notify-send");
+- notify = notify_notification_new(summary, body, icon_str, NULL);
++ notify = notify_notification_new(summary, body, icon_str);
+ notify_notification_set_category(notify, type);
+ notify_notification_set_urgency(notify, urgency);
+ notify_notification_set_timeout(notify, expire_timeout);
diff --git a/community/awn-extras-applets/cairo-menu-upower.patch b/community/awn-extras-applets/cairo-menu-upower.patch
new file mode 100644
index 000000000..08e79a68d
--- /dev/null
+++ b/community/awn-extras-applets/cairo-menu-upower.patch
@@ -0,0 +1,51 @@
+diff -Naur awn-extras-0.4.0.orig/applets/maintained/cairo-menu/gnome-menu-builder.c awn-extras-0.4.0/applets/maintained/cairo-menu/gnome-menu-builder.c
+--- awn-extras-0.4.0.orig/applets/maintained/cairo-menu/gnome-menu-builder.c 2010-04-10 01:26:19.000000000 +0200
++++ awn-extras-0.4.0/applets/maintained/cairo-menu/gnome-menu-builder.c 2012-12-29 05:46:45.971364855 +0100
+@@ -104,7 +104,7 @@
+
+ if (have_gnome_session_manager)
+ {
+- add_special_item (menu,_("Logout"),"gnome-logout","gnome-session-save","--logout-dialog --gui");
++ add_special_item (menu,_("Logout"),"gnome-logout","gnome-session-quit","--logout");
+ }
+ else if (dbus_service_exists ("org.xfce.SessionManager") )
+ {
+@@ -121,35 +121,13 @@
+ {
+ add_special_item (menu,_("Lock Screen"),"system-lock-screen","xscreensaver-command","-lock");
+ }
+- if (dbus_service_exists ("org.freedesktop.PowerManagement"))
+- {
+- if (!add_special_item (menu,_("Suspend"),"gnome-session-suspend","gnome-power-cmd","suspend"))
+- {
+- add_special_item (menu,_("Suspend"),"gnome-session-suspend","dbus-send","--session --dest=org.freedesktop.PowerManagement --type=method_call --print-reply --reply-timeout=2000 /org/freedesktop/PowerManagement org.freedesktop.PowerManagement.Suspend");
+- }
+-
+- if (!add_special_item (menu,_("Hibernate"),"gnome-session-hibernate","gnome-power-cmd","hibernate"))
+- {
+- add_special_item (menu,_("Hibernate"),"gnome-session-hibernate","dbus-send","--session --dest=org.freedesktop.PowerManagement --type=method_call --print-reply --reply-timeout=2000 /org/freedesktop/PowerManagement org.freedesktop.PowerManagement.Hibernate");
+- }
+
+- }
+- else if (dbus_service_exists ("org.gnome.PowerManagement"))
+- {
+- if (!add_special_item (menu,_("Suspend"),"gnome-session-suspend","gnome-power-cmd","suspend"))
+- {
+-
+- }
+-
+- if (!add_special_item (menu,_("Hibernate"),"gnome-session-hibernate","gnome-power-cmd","hibernate"))
+- {
++ add_special_item (menu,_("Suspend"),"gnome-session-suspend","dbus-send","--system --dest=org.freedesktop.UPower --type=method_call --print-reply --reply-timeout=2000 /org/freedesktop/UPower org.freedesktop.UPower.Suspend");
++ add_special_item (menu,_("Hibernate"),"gnome-session-hibernate","dbus-send","--system --dest=org.freedesktop.UPower --type=method_call --print-reply --reply-timeout=2000 /org/freedesktop/UPower org.freedesktop.UPower.Hibernate");
+
+- }
+- }
+-
+ if (have_gnome_session_manager)
+ {
+- add_special_item (menu,_("Shutdown"),"gnome-logout","gnome-session-save","--shutdown-dialog --gui");
++ add_special_item (menu,_("Shutdown"),"gnome-shutdown","gnome-session-quit","--power-off");
+ }
+ gtk_widget_show_all (menu);
+ return FALSE;
diff --git a/community/awn-extras-applets/check-dependencies.patch b/community/awn-extras-applets/check-dependencies.patch
new file mode 100644
index 000000000..959d3a113
--- /dev/null
+++ b/community/awn-extras-applets/check-dependencies.patch
@@ -0,0 +1,71 @@
+diff -Naur awn-extras-0.4.0.orig/applets/maintained/comics/comics.py awn-extras-0.4.0/applets/maintained/comics/comics.py
+--- awn-extras-0.4.0.orig/applets/maintained/comics/comics.py 2010-03-26 17:14:53.000000000 +0100
++++ awn-extras-0.4.0/applets/maintained/comics/comics.py 2012-11-15 17:28:52.045595715 +0100
+@@ -30,7 +30,7 @@
+ from awn.extras import _
+
+ # Import Comics! modules, but check dependencies first
+-awn.check_dependencies(globals(), 'feedparser', 'pynotify')
++awn.check_dependencies(globals(), 'feedparser', 'pynotify', 'rsvg')
+ from pynotify import init as notify_init, Notification
+
+ import comics_manage
+diff -Naur awn-extras-0.4.0.orig/applets/maintained/media-player/media_player.py awn-extras-0.4.0/applets/maintained/media-player/media_player.py
+--- awn-extras-0.4.0.orig/applets/maintained/media-player/media_player.py 2010-01-06 00:01:33.000000000 +0100
++++ awn-extras-0.4.0/applets/maintained/media-player/media_player.py 2012-11-15 17:28:54.925659573 +0100
+@@ -17,13 +17,15 @@
+ import os
+ import sys
+
++import awn
++awn.check_dependencies(globals(), 'pygst')
++
+ import pygst
+ pygst.require("0.10")
+ import gst
+ import gtk
+ import gobject
+
+-import awn
+ from desktopagnostic import config
+
+
+diff -Naur awn-extras-0.4.0.orig/applets/maintained/slickswitcher/slickswitcher.py awn-extras-0.4.0/applets/maintained/slickswitcher/slickswitcher.py
+--- awn-extras-0.4.0.orig/applets/maintained/slickswitcher/slickswitcher.py 2010-04-08 14:31:25.000000000 +0200
++++ awn-extras-0.4.0/applets/maintained/slickswitcher/slickswitcher.py 2012-11-15 17:31:32.025809983 +0100
+@@ -25,6 +25,9 @@
+ import gobject
+
+ import cairo
++
++awn.check_dependencies(globals(), 'wnck')
++
+ import drawing, switch, settings
+ from os.path import exists, isdir
+ import os
+diff -Naur awn-extras-0.4.0.orig/applets/maintained/volume-control/volume-control.py awn-extras-0.4.0/applets/maintained/volume-control/volume-control.py
+--- awn-extras-0.4.0.orig/applets/maintained/volume-control/volume-control.py 2010-01-06 00:01:34.000000000 +0100
++++ awn-extras-0.4.0/applets/maintained/volume-control/volume-control.py 2012-11-15 17:28:26.368359913 +0100
+@@ -30,6 +30,9 @@
+
+ from awn.extras import awnlib, __version__
+
++import awn
++awn.check_dependencies(globals(), 'pygst')
++
+ import pygst
+ pygst.require("0.10")
+ import gst
+diff -Naur awn-extras-0.4.0.orig/applets/unmaintained/stacks/stacks_applet.py awn-extras-0.4.0/applets/unmaintained/stacks/stacks_applet.py
+--- awn-extras-0.4.0.orig/applets/unmaintained/stacks/stacks_applet.py 2009-11-16 00:31:16.000000000 +0100
++++ awn-extras-0.4.0/applets/unmaintained/stacks/stacks_applet.py 2012-11-15 17:28:41.778701431 +0100
+@@ -25,6 +25,9 @@
+ import pango
+ import awn
+ import cairo
++
++awn.check_dependencies(globals(), 'gnome.ui', 'gnomedesktop')
++
+ import gnome.ui
+ import gnomedesktop
+ import time
diff --git a/community/awn-extras-applets/fix-shinyswitcher-scrolling.patch b/community/awn-extras-applets/fix-shinyswitcher-scrolling.patch
new file mode 100644
index 000000000..69dcae9c1
--- /dev/null
+++ b/community/awn-extras-applets/fix-shinyswitcher-scrolling.patch
@@ -0,0 +1,96 @@
+=== modified file 'applets/maintained/shiny-switcher/shinyswitcherapplet.c'
+--- applets/maintained/shiny-switcher/shinyswitcherapplet.c 2010-09-12 16:15:07 +0000
++++ applets/maintained/shiny-switcher/shinyswitcherapplet.c 2010-11-02 13:52:43 +0000
+@@ -769,7 +769,7 @@
+
+
+ static gboolean
+-_scroll_event(GtkWidget *widget, GdkEventMotion *event, AwnShinySwitcher *shinyswitcher)
++_scroll_event(GtkWidget *widget, GdkEventScroll *event, AwnShinySwitcher *shinyswitcher)
+ {
+ AwnShinySwitcherPrivate * priv = GET_PRIVATE (shinyswitcher);
+ WnckWorkspace *cur_space = wnck_screen_get_active_workspace(priv->wnck_screen);
+@@ -779,7 +779,7 @@
+ {
+ if (event->type == GDK_SCROLL)
+ {
+- WnckMotionDirection direction1, direction2;
++ WnckMotionDirection left, right, up, down;
+
+ switch (priv->mousewheel)
+ {
+@@ -787,8 +787,10 @@
+ case 1:
+
+ case 3:
+- direction1 = WNCK_MOTION_LEFT;
+- direction2 = WNCK_MOTION_RIGHT;
++ left = WNCK_MOTION_LEFT;
++ right = WNCK_MOTION_RIGHT;
++ up = WNCK_MOTION_UP;
++ down = WNCK_MOTION_DOWN;
+ break;
+
+ case 2:
+@@ -796,22 +798,52 @@
+ case 4:
+
+ default:
+- direction1 = WNCK_MOTION_RIGHT;
+- direction2 = WNCK_MOTION_LEFT;
+-
++ left = WNCK_MOTION_RIGHT;
++ right = WNCK_MOTION_LEFT;
++ up = WNCK_MOTION_DOWN;
++ down = WNCK_MOTION_UP;
+ }
+
+- if (event->state & GDK_SHIFT_MASK)
++ if ( (event->direction == GDK_SCROLL_UP) ||
++ (event->direction == GDK_SCROLL_LEFT) )
+ {
+- new_space = wnck_workspace_get_neighbor(cur_space, WNCK_MOTION_RIGHT);
++ new_space = wnck_workspace_get_neighbor(cur_space, left);
++ if (new_space == NULL)
++ {
++ new_space = wnck_workspace_get_neighbor(cur_space, up);
++ if (new_space)
++ {
++ for (cur_space = new_space; cur_space; )
++ {
++ cur_space = wnck_workspace_get_neighbor(cur_space, right);
++ if (cur_space)
++ {
++ new_space = cur_space;
++ }
++ }
++ }
++ }
+ }
+ else
+ {
+- new_space = wnck_workspace_get_neighbor(cur_space, WNCK_MOTION_LEFT);
+-
++ new_space = wnck_workspace_get_neighbor(cur_space, right);
++ if (!new_space)
++ {
++ new_space = wnck_workspace_get_neighbor(cur_space, down);
++ if (new_space)
++ {
++ for (cur_space = new_space; cur_space; )
++ {
++ cur_space = wnck_workspace_get_neighbor(cur_space, left);
++ if (cur_space)
++ {
++ new_space = cur_space;
++ }
++ }
++ }
++ }
+ }
+ }
+-
+ if (new_space)
+ {
+ wnck_workspace_activate(new_space, event->time); /* FIXME */
+
diff --git a/community/awn-extras-applets/fix-weather-applet.patch b/community/awn-extras-applets/fix-weather-applet.patch
new file mode 100644
index 000000000..889c0f641
--- /dev/null
+++ b/community/awn-extras-applets/fix-weather-applet.patch
@@ -0,0 +1,48 @@
+diff -Naur awn-extras-0.4.0.orig/applets/maintained/weather/weather.py awn-extras-0.4.0/applets/maintained/weather/weather.py
+--- awn-extras-0.4.0.orig/applets/maintained/weather/weather.py 2012-03-07 00:20:03.094411287 +0100
++++ awn-extras-0.4.0/applets/maintained/weather/weather.py 2010-03-21 13:58:03.000000000 +0100
+@@ -570,7 +570,7 @@
+
+ class NetworkHandler(ThreadQueue):
+
+- __ws_key = "&prod=xoap&par=1048871467&key=12daac2f3a67cb39&link=xoap"
++ __ws_key = "&prod=xml&par=1287722164&key=e11ec82daa20d876"
+
+ def dict_from_xml(self, rootNode, keys, paths):
+ """Given an XML node, iterate over keys and paths, grabbing the
+@@ -590,7 +590,7 @@
+ @async_method
+ @network_exception
+ def get_locations(self, text):
+- url = "http://xoap.weather.com/search/search?where=" + urllib2.quote(text)
++ url = "http://xml.weather.com/search/search?where=" + urllib2.quote(text)
+ with closing(urllib2.urlopen(url)) as usock:
+ with unlink_xml(usock) as xmldoc:
+ locations_list = []
+@@ -604,7 +604,7 @@
+ @with_overlays
+ @network_exception
+ def get_conditions(self, location_code):
+- url = "http://xoap.weather.com/weather/local/" + location_code + "?cc=*" + self.__ws_key
++ url = "http://xml.weather.com/weather/local/" + location_code + "?cc=*" + self.__ws_key
+ with closing(urllib2.urlopen(url)) as usock:
+ with unlink_xml(usock) as xmldoc:
+ names = ['CITY', 'SUNRISE', 'SUNSET', 'DESCRIPTION', 'CODE', 'TEMP', 'FEELSLIKE', 'BAR', 'BARDESC', 'WINDSPEED', 'WINDGUST', 'WINDDIR', 'HUMIDITY', 'MOONPHASE']
+@@ -619,7 +619,7 @@
+ def get_weather_map(self, location_code):
+ map_url = "http://www.weather.com/outlook/travel/businesstraveler/map/%s" % location_code
+ with closing(urllib2.urlopen(map_url)) as usock:
+- mapExp = """<IMG NAME="mapImg" SRC="([^\"]+)" WIDTH=([0-9]+) HEIGHT=([0-9]+) BORDER"""
++ mapExp = """<img name="mapImg" src="([^\"]+)" width="([0-9]+)" height="([0-9]+)" border"""
+ result = re.findall(mapExp, usock.read())
+ if not result or len(result) != 1:
+ raise NetworkException("Couldn't parse weather map")
+@@ -635,7 +635,7 @@
+ @with_overlays
+ @network_exception
+ def get_forecast(self, location_code):
+- url = "http://xoap.weather.com/weather/local/" + location_code + "?dayf=5" + self.__ws_key
++ url = "http://xml.weather.com/weather/local/" + location_code + "?dayf=5" + self.__ws_key
+ with closing(urllib2.urlopen(url)) as usock:
+ with unlink_xml(usock) as xmldoc:
+ try:
diff --git a/community/awn-extras-applets/remove-settings-menu.patch b/community/awn-extras-applets/remove-settings-menu.patch
new file mode 100644
index 000000000..60eeda1d5
--- /dev/null
+++ b/community/awn-extras-applets/remove-settings-menu.patch
@@ -0,0 +1,229 @@
+diff -Naur awn-extras-0.4.0.orig/applets/maintained/cairo-menu/gnome-menu-builder.c awn-extras-0.4.0/applets/maintained/cairo-menu/gnome-menu-builder.c
+--- awn-extras-0.4.0.orig/applets/maintained/cairo-menu/gnome-menu-builder.c 2010-04-10 01:26:19.000000000 +0200
++++ awn-extras-0.4.0/applets/maintained/cairo-menu/gnome-menu-builder.c 2011-12-16 20:34:22.612913317 +0100
+@@ -34,7 +34,6 @@
+ #include "cairo-menu-applet.h"
+
+ GMenuTree * main_menu_tree = NULL;
+-GMenuTree * settings_menu_tree = NULL;
+
+ GtkWidget * menu_build (MenuInstance * instance);
+ static GtkWidget * submenu_build (MenuInstance * instance);
+@@ -749,19 +748,10 @@
+ gmenu_tree_remove_monitor (main_menu_tree,(GMenuTreeChangedFunc)_submenu_modified_cb,instance);
+ }
+
+-static void
+-_remove_settings_submenu_cb(MenuInstance * instance,GObject *where_the_object_was)
+-{
+- g_debug ("%s",__func__);
+- GMenuTreeDirectory *main_root;
+- gmenu_tree_remove_monitor (settings_menu_tree,(GMenuTreeChangedFunc)_submenu_modified_cb,instance);
+-}
+-
+ static GtkWidget *
+ submenu_build (MenuInstance * instance)
+ {
+ GMenuTreeDirectory *main_root;
+- GMenuTreeDirectory *settings_root;
+ GtkWidget * menu = NULL;
+ /*
+ if the menu is set then clear any menu items (except for places or recent)
+@@ -771,10 +761,6 @@
+ {
+ main_menu_tree = gmenu_tree_lookup("applications.menu", GMENU_TREE_FLAGS_NONE);
+ }
+- if (!settings_menu_tree)
+- {
+- settings_menu_tree = gmenu_tree_lookup("settings.menu", GMENU_TREE_FLAGS_NONE);
+- }
+ g_assert (main_menu_tree);
+ /*
+ get_places_menu() and get_recent_menu() are
+@@ -808,7 +794,6 @@
+ main_root = gmenu_tree_get_root_directory(main_menu_tree);
+ g_assert (gmenu_tree_item_get_type( (GMenuTreeItem*)main_root) == GMENU_TREE_ITEM_DIRECTORY);
+ g_assert (main_root);
+- settings_root = gmenu_tree_get_root_directory(settings_menu_tree);
+ if ( menu_dir = find_menu_dir (instance,main_root) )
+ {
+ /* if instance->menu then we're refreshing in a monitor callback*/
+@@ -817,22 +802,11 @@
+ menu = fill_er_up(instance,menu_dir,instance->menu);
+ g_object_weak_ref (G_OBJECT(menu), (GWeakNotify)_remove_main_submenu_cb,instance);
+ }
+- else if ( settings_root && (menu_dir = find_menu_dir (instance,settings_root)) )
+- {
+- gmenu_tree_remove_monitor (main_menu_tree,(GMenuTreeChangedFunc)_submenu_modified_cb,instance);
+- gmenu_tree_add_monitor (main_menu_tree,(GMenuTreeChangedFunc)_submenu_modified_cb,instance);
+- menu = fill_er_up(instance,menu_dir,instance->menu);
+- g_object_weak_ref (G_OBJECT(menu), (GWeakNotify)_remove_settings_submenu_cb,instance);
+- }
+ if (menu_dir)
+ {
+ gmenu_tree_item_unref(menu_dir);
+ }
+ gmenu_tree_item_unref(main_root);
+- if (settings_root)
+- {
+- gmenu_tree_item_unref(settings_root);
+- }
+ }
+ return instance->menu = menu;
+ }
+@@ -862,10 +836,6 @@
+ {
+ main_menu_tree = gmenu_tree_lookup("applications.menu", GMENU_TREE_FLAGS_NONE);
+ }
+- if (!settings_menu_tree)
+- {
+- settings_menu_tree = gmenu_tree_lookup("settings.menu", GMENU_TREE_FLAGS_NONE);
+- }
+
+ if (main_menu_tree)
+ {
+@@ -884,44 +854,6 @@
+ menu_item = gtk_separator_menu_item_new ();
+ gtk_menu_shell_append(GTK_MENU_SHELL(instance->menu),menu_item);
+ }
+- if (settings_menu_tree)
+- {
+- root = gmenu_tree_get_root_directory(settings_menu_tree);
+- gmenu_tree_remove_monitor (settings_menu_tree,(GMenuTreeChangedFunc)_menu_modified_cb,instance);
+- gmenu_tree_add_monitor (settings_menu_tree,(GMenuTreeChangedFunc)_menu_modified_cb,instance);
+- if (!instance->menu)
+- {
+- g_debug ("%s: No applications menu????",__func__);
+- instance->menu = fill_er_up(instance,root,instance->menu);
+- }
+- else
+- {
+- sub_menu = fill_er_up (instance, root,instance->menu);
+-#if 0
+- sub_menu = fill_er_up(instance,root,NULL);
+- c = g_malloc0 (sizeof(CallbackContainer));
+- c->icon_name = g_strdup(gmenu_tree_directory_get_icon (root));
+- image = get_gtk_image (c->icon_name);
+- txt = gmenu_tree_entry_get_name((GMenuTreeEntry*)root);
+- menu_item = cairo_menu_item_new_with_label (txt?txt:"unknown");
+- gtk_menu_item_set_submenu (GTK_MENU_ITEM(menu_item),sub_menu);
+- if (image)
+- {
+- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item),image);
+- }
+- gtk_menu_shell_append(GTK_MENU_SHELL(instance->menu),menu_item);
+- c->file_path = g_strdup(gmenu_tree_directory_get_desktop_file_path (root));
+- c->display_name = g_strdup ("Settings");
+- drop_data = g_strdup_printf("cairo_menu_item_dir:///@@@%s@@@%s@@@%s\n",c->file_path,c->display_name,c->icon_name);
+- cairo_menu_item_set_source (AWN_CAIRO_MENU_ITEM(menu_item),drop_data);
+- g_free (drop_data);
+- c->instance = instance;
+- g_signal_connect (menu_item, "button-press-event",G_CALLBACK(_button_press_dir),c);
+- g_object_weak_ref (G_OBJECT(menu_item),(GWeakNotify)_free_callback_container,c);
+-#endif
+- }
+- gmenu_tree_item_unref(root);
+- }
+
+ /*TODO Check to make sure it is needed. Should not be displayed if
+ all flags are of the NO persuasion.*/
+diff -Naur awn-extras-0.4.0.orig/applets/maintained/yama/yama.py awn-extras-0.4.0/applets/maintained/yama/yama.py
+--- awn-extras-0.4.0.orig/applets/maintained/yama/yama.py 2010-03-31 16:21:24.000000000 +0200
++++ awn-extras-0.4.0/applets/maintained/yama/yama.py 2011-12-16 20:37:48.243326388 +0100
+@@ -113,7 +113,6 @@
+
+ def build_menu(self):
+ self.applications_items = []
+- self.settings_items = []
+ self.session_items = []
+
+ """ Applications """
+@@ -126,11 +125,6 @@
+ """ Places """
+ self.create_places_submenu(self.menu)
+
+- """ System """
+- tree = gmenu.lookup_tree("settings.menu")
+- self.append_directory(tree.root, self.menu, item_list=self.settings_items)
+- tree.add_monitor(self.menu_changed_cb, self.settings_items)
+-
+ """ Session actions """
+ if dbus is not None:
+ self.append_session_actions(self.menu)
+@@ -227,7 +221,7 @@
+ for i in xrange(len(items)):
+ items.pop().destroy()
+
+- index = len(self.applications_items) + 2 if items is self.settings_items else 0 # + 2 = separator + Places
++ index = len(self.applications_items) + 0
+ self.append_directory(tree.root, self.menu, index=index, item_list=items)
+ # Refresh menu to re-initialize the widget
+ self.menu.show_all()
+diff -Naur awn-extras-0.4.0.orig/applets/unmaintained/main-menu/applet.c awn-extras-0.4.0/applets/unmaintained/main-menu/applet.c
+--- awn-extras-0.4.0.orig/applets/unmaintained/main-menu/applet.c 2009-10-27 20:45:03.000000000 +0100
++++ awn-extras-0.4.0/applets/unmaintained/main-menu/applet.c 2011-12-16 20:27:28.792248015 +0100
+@@ -43,7 +43,6 @@
+ GMenuTree *tree;
+ GMenuTreeDirectory *root;
+ GMenuTreeDirectory *apps;
+- GMenuTreeDirectory *settings;
+
+ } Menu;
+
+@@ -243,8 +242,6 @@
+ {
+ GMenuTreeDirectory *temp= menu->root;
+ menu->root = gmenu_tree_item_get_parent (GMENU_TREE_ITEM (temp));
+- if (menu->root == menu->settings)
+- menu->root = gmenu_tree_get_root_directory (menu->tree);
+ populate (menu);
+ }
+
+@@ -299,8 +296,6 @@
+ if (app->root == GMENU_TREE_DIRECTORY(gmenu_tree_get_root_directory ((GMenuTree*)app->apps)))
+ {
+ list = g_slist_copy (apps);
+- sets = g_slist_copy (gmenu_tree_directory_get_contents (app->settings));
+- list = g_slist_concat (list, sets);
+ list = g_slist_sort (list, (GCompareFunc)_compare);
+ }
+ else
+@@ -419,13 +414,6 @@
+ g_warning ("Unable to find applications.menu");
+ return FALSE;
+ }
+- app->settings = gmenu_tree_get_root_directory (
+- gmenu_tree_lookup ("settings.menu", GMENU_TREE_FLAGS_NONE));
+- if (!app->settings)
+- {
+- g_warning ("Unable to find settings.menu");
+- return FALSE;
+- }
+ app->tree = (GMenuTree*)app->apps;
+
+ app->menu = awn_applet_create_default_menu (app->applet);
+diff -Naur awn-extras-0.4.0.orig/applets/unmaintained/MiMenu/menus.py awn-extras-0.4.0/applets/unmaintained/MiMenu/menus.py
+--- awn-extras-0.4.0.orig/applets/unmaintained/MiMenu/menus.py 2009-08-14 14:29:59.000000000 +0200
++++ awn-extras-0.4.0/applets/unmaintained/MiMenu/menus.py 2011-12-16 20:30:42.060104523 +0100
+@@ -12,8 +12,6 @@
+ class MenuDateStore:
+ MENUCORE = gmenu.lookup_tree('applications.menu')
+ MENUROOT = MENUCORE.get_root_directory()
+- SYSTEMMENUCORE = gmenu.lookup_tree('settings.menu')
+- SYSTEMMENUROOT = SYSTEMMENUCORE.get_root_directory()
+ PATH = []
+
+
+diff -Naur awn-extras-0.4.0.orig/applets/unmaintained/MiMenu/mimenu.py awn-extras-0.4.0/applets/unmaintained/MiMenu/mimenu.py
+--- awn-extras-0.4.0.orig/applets/unmaintained/MiMenu/mimenu.py 2009-10-27 20:45:47.000000000 +0100
++++ awn-extras-0.4.0/applets/unmaintained/MiMenu/mimenu.py 2011-12-16 20:30:35.897158422 +0100
+@@ -69,8 +69,7 @@
+ tree1.set_headers_visible (0)
+ tree1.append_column(column1)
+ tree1.append_column(column2)
+- lst1,self.objlist1 = menus.get_menus(menus.data.MENUROOT,
+- root2=menus.data.SYSTEMMENUROOT)
++ lst1,self.objlist1 = menus.get_menus(menus.data.MENUROOT)
+ model = menus.set_model(tree1,lst1,self.theme,self.location_icon)
+ tree1.connect('cursor_changed', self.treeclick,
+ tree1,self.objlist1,False)
diff --git a/community/axel/PKGBUILD b/community/axel/PKGBUILD
new file mode 100644
index 000000000..710a76841
--- /dev/null
+++ b/community/axel/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 64643 2012-02-17 13:30:17Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Roman G <drakosha@au.ru>
+
+pkgname=axel
+pkgver=2.4
+pkgrel=3
+pkgdesc="Download accelerator"
+arch=('i686' 'x86_64')
+url="http://axel.alioth.debian.org/"
+license=('GPL')
+depends=('glibc')
+source=(http://alioth.debian.org/frs/download.php/3015/$pkgname-$pkgver.tar.gz)
+sha256sums=('359a57ab4e354bcb6075430d977c59d33eb3e2f1415a811948fa8ae657ca8036')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/balsa/PKGBUILD b/community/balsa/PKGBUILD
new file mode 100644
index 000000000..5c38126d2
--- /dev/null
+++ b/community/balsa/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 91059 2013-05-18 15:38:27Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+
+pkgname=balsa
+pkgver=2.5.1
+pkgrel=1
+pkgdesc="An e-mail client for GNOME"
+arch=('i686' 'x86_64')
+url='http://pawsa.fedorapeople.org/balsa/'
+license=('GPL')
+depends=('gmime' 'webkitgtk3' 'libesmtp' 'libnotify' 'gpgme' 'gtksourceview3' 'gtkspell3' 'gnome-icon-theme' 'desktop-file-utils')
+makedepends=('perl-xml-parser' 'gnome-doc-utils' 'intltool')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://pawsa.fedorapeople.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('52ce445dca86eb42e2e402a5b76616a1a522b89acbb631215079022ef80a7a10')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-ssl \
+ --with-gpgme=gpgme-config \
+ --with-gss \
+ --with-ldap \
+ --with-gtksourceview \
+ --with-gtkspell \
+ --with-rubrica \
+ --with-sqlite \
+ --without-nm \
+ --without-gnome \
+ --with-html-widget=webkit
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make GTK_UPDATE_ICON_CACHE=/bin/true DESTDIR="${pkgdir}" install
+}
diff --git a/community/balsa/balsa.changelog b/community/balsa/balsa.changelog
new file mode 100644
index 000000000..8fa27a1bf
--- /dev/null
+++ b/community/balsa/balsa.changelog
@@ -0,0 +1,2 @@
+2013-05-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * balsa 2.5.1-1
diff --git a/community/balsa/balsa.install b/community/balsa/balsa.install
new file mode 100644
index 000000000..1f167b5e9
--- /dev/null
+++ b/community/balsa/balsa.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/bam/PKGBUILD b/community/bam/PKGBUILD
new file mode 100644
index 000000000..fb6384301
--- /dev/null
+++ b/community/bam/PKGBUILD
@@ -0,0 +1,22 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributors: Bmauet <careil.baptiste@gmail.com>
+pkgname=bam
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="A fast and flexible build system using Lua"
+arch=('i686' 'x86_64')
+url=http://github.com/matricks/bam
+license=('ZLIB')
+source=("https://github.com/downloads/matricks/bam/${pkgname}-${pkgver}.tar.gz")
+md5sums=('2f8e8336b8884110e8a355b12c9fa58a')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ sh make_unix.sh
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ install -D -m755 bam ${pkgdir}/usr/bin/bam
+ install -D -m755 license.txt ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/barrage/PKGBUILD b/community/barrage/PKGBUILD
new file mode 100644
index 000000000..69ab19226
--- /dev/null
+++ b/community/barrage/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 67443 2012-03-11 20:00:53Z lcarlier $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Allan McRae <mcrae_allan@hotmail.com>
+# Contributor: Angelo Theodorou <encelo@users.sourceforge.net>
+
+pkgname=barrage
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="A violent point-and-click shooting game with nice effects"
+arch=('i686' 'x86_64')
+url="http://lgames.sourceforge.net/index.php?project=Barrage"
+license=('GPL')
+depends=('hicolor-icon-theme' 'sdl_mixer')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/lgames/$pkgname-$pkgver.tar.gz)
+sha256sums=('ad74e049dfded3bca28b8dc1c5870408cfad9e024b35cc5b501ba90486d9af25')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/barrage/barrage.changelog b/community/barrage/barrage.changelog
new file mode 100644
index 000000000..62e407871
--- /dev/null
+++ b/community/barrage/barrage.changelog
@@ -0,0 +1,2 @@
+2011-08-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * barrage 1.0.4-1
diff --git a/community/barrage/barrage.install b/community/barrage/barrage.install
new file mode 100644
index 000000000..b711352cb
--- /dev/null
+++ b/community/barrage/barrage.install
@@ -0,0 +1,11 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/bbpager/02_gcc43.dpatch b/community/bbpager/02_gcc43.dpatch
new file mode 100644
index 000000000..18b8a8c3d
--- /dev/null
+++ b/community/bbpager/02_gcc43.dpatch
@@ -0,0 +1,40 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_gcc43.dpatch by Kevin Coyner <kcoyner@debian.org>
+##
+## DP: patch to fix missing #include statement for GCC 4.3
+## DP: see Debian bug #456071 and #474811
+
+@DPATCH@
+diff -urNad bbpager-0.4.7~/src/Baseresource.cxx bbpager-0.4.7/src/Baseresource.cxx
+--- bbpager-0.4.7~/src/Baseresource.cxx 2008-03-28 06:55:16.000000000 -0400
++++ bbpager-0.4.7/src/Baseresource.cxx 2008-04-09 21:58:03.000000000 -0400
+@@ -20,6 +20,7 @@
+ //
+
+ #include <string>
++#include <cstring>
+ #include "Baseresource.h"
+ #include <stdio.h>
+ #include "Menu.hh"
+diff -urNad bbpager-0.4.7~/src/main.cxx bbpager-0.4.7/src/main.cxx
+--- bbpager-0.4.7~/src/main.cxx 2008-03-28 06:55:16.000000000 -0400
++++ bbpager-0.4.7/src/main.cxx 2008-04-09 21:58:03.000000000 -0400
+@@ -25,6 +25,7 @@
+
+ #include <stdio.h>
+ #include <string>
++#include <cstring>
+ #include <iostream>
+
+
+diff -urNad bbpager-0.4.7~/src/resource.cxx bbpager-0.4.7/src/resource.cxx
+--- bbpager-0.4.7~/src/resource.cxx 2007-03-11 17:47:07.000000000 -0400
++++ bbpager-0.4.7/src/resource.cxx 2008-04-09 21:58:39.000000000 -0400
+@@ -19,6 +19,7 @@
+ // (See the included file COPYING / GPL-2.0)
+ //
+
++#include <cstring>
+ #include "resource.h"
+ #include "blackboxstyle.h"
+
diff --git a/community/bbpager/PKGBUILD b/community/bbpager/PKGBUILD
new file mode 100644
index 000000000..43380e701
--- /dev/null
+++ b/community/bbpager/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 67447 2012-03-11 20:35:17Z lcarlier $
+# Maintainer: Thayer Williams <jason@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=bbpager
+pkgver=0.4.7
+pkgrel=4
+pkgdesc="A dockable pager for Blackbox and other window managers"
+arch=(i686 x86_64)
+url="http://bbtools.sourceforge.net/download.php?file=6"
+license=("GPL")
+depends=('gcc-libs' 'libxft' 'libxext')
+makedepends=('gcc' 'blackbox')
+source=(http://downloads.sourceforge.net/bbtools/$pkgname-$pkgver.tar.gz \
+ 02_gcc43.dpatch \
+ fix-linking-ugly.diff)
+md5sums=('4eaa91a4d66130af2f7a09c25f917386'
+ 'e985ef893f2080b3b2d47f900f861352'
+ 'd2258a0cfb580e20869574f373fe7ed4')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ patch -Np1 -i ../02_gcc43.dpatch
+ patch -Np1 -i ../fix-linking-ugly.diff
+ autoreconf
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make prefix="$pkgdir/usr" install
+}
diff --git a/community/bbpager/fix-linking-ugly.diff b/community/bbpager/fix-linking-ugly.diff
new file mode 100644
index 000000000..ff0a5dcf7
--- /dev/null
+++ b/community/bbpager/fix-linking-ugly.diff
@@ -0,0 +1,12 @@
+diff -U 3 -d -r -N -- bbpager-0.4.7/configure.ac bbpager-0.4.7b/configure.ac
+--- bbpager-0.4.7/configure.ac 2008-01-14 18:03:50.000000000 +0100
++++ bbpager-0.4.7b/configure.ac 2010-07-17 10:36:04.042040059 +0200
+@@ -68,7 +68,7 @@
+ dnl pkgconfig checks for blackbox library
+ PKG_CHECK_MODULES(LIBBT, libbt)
+ CXXFLAGS="$CXXFLAGS $LIBBT_CFLAGS"
+-LIBS="$LIBS $LIBBT_LIBS"
++LIBS="$LIBS $LIBBT_LIBS -lXext -lX11"
+
+ dnl generate the config header
+ AM_CONFIG_HEADER(config.h)
diff --git a/community/bbrun/PKGBUILD b/community/bbrun/PKGBUILD
new file mode 100644
index 000000000..807d3b561
--- /dev/null
+++ b/community/bbrun/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 65065 2012-02-20 02:40:27Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sven Kauber <celeon@gmail.com>
+
+pkgname=bbrun
+pkgver=1.6
+pkgrel=4
+pkgdesc="A run - component for blackbox window manager"
+arch=(i686 x86_64)
+url="http://www.darkops.net/bbrun/"
+license=('GPL')
+depends=('gtk2' 'libxpm')
+source=(http://www.darkops.net/bbrun/$pkgname-$pkgver.tar.gz)
+md5sums=('820960e3d52ddf2d5cf7e4ba51821bfd')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver/$pkgname
+ make LIBS="-lXpm `pkg-config --libs gtk+-2.0` -lX11 -lXext"
+ install -Dm755 bbrun $pkgdir/usr/bin/bbrun
+}
diff --git a/community/bcg729/PKGBUILD b/community/bcg729/PKGBUILD
new file mode 100644
index 000000000..369c60744
--- /dev/null
+++ b/community/bcg729/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 92852 2013-06-17 06:58:41Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=bcg729
+pkgver=1.0.0
+pkgrel=3
+pkgdesc="g729 codec"
+arch=('i686' 'x86_64')
+url="http://www.linphone.org/eng/documentation/dev/bcg729.html"
+license=('GPL')
+depends=('mediastreamer')
+options=('!libtool')
+source=(http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/$pkgname-$pkgver.tar.gz)
+md5sums=('45e127a9a309aff94d3262d97b5aeab0')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/bchunk/PKGBUILD b/community/bchunk/PKGBUILD
new file mode 100644
index 000000000..2a8ac0198
--- /dev/null
+++ b/community/bchunk/PKGBUILD
@@ -0,0 +1,30 @@
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: eric <eric@archlinux.org>
+# Contributor: Markus Meissner <markus@meissna.de>
+
+pkgname=bchunk
+pkgver=1.2.0
+pkgrel=3
+pkgdesc="A Tool to Convert *.raw *.bin files to an ISO file"
+url="http://hes.iki.fi/bchunk/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('glibc')
+source=(http://hes.iki.fi/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('6a613da3f34f9a303f202d2e9731d231')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ mkdir -p ${pkgdir}/usr/bin ${pkgdir}/usr/share/man/man1
+
+ make PREFIX=${pkgdir}/usr MAN_DIR=${pkgdir}/usr/share/man install
+ chown root.root ${pkgdir}/usr/share/man/man1/bchunk.1
+}
+# vim: ts=2 sw=2 et ft=sh
diff --git a/community/beaver/PKGBUILD b/community/beaver/PKGBUILD
new file mode 100644
index 000000000..810057f4b
--- /dev/null
+++ b/community/beaver/PKGBUILD
@@ -0,0 +1,34 @@
+# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Contributor: Tim Yang <creslin@gmx.com>
+# Contributor: Andrew Krawchyk <krawch_a@denison.edu>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: Aurelien Foret <orelien@chez.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=beaver
+pkgver=0.4.1
+pkgrel=2
+pkgdesc='Beaver is an Early AdVanced EditoR.'
+arch=('i686' 'x86_64')
+url='http://beaver-editor.sourceforge.net/'
+license=('GPL2')
+depends=('gtk2' 'hicolor-icon-theme')
+makedepends=('intltool')
+install=${pkgname}.install
+options=('!libtool')
+source=("http://sourceforge.net/projects/beaver-editor/files/${pkgver:0:3}/beaver-${pkgver}.tar.bz2")
+md5sums=('0cb1bf7350e7399c85a42d6672907d64')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/beaver/beaver.install b/community/beaver/beaver.install
new file mode 100644
index 000000000..81ed4b93a
--- /dev/null
+++ b/community/beaver/beaver.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
+
diff --git a/community/beye/PKGBUILD b/community/beye/PKGBUILD
new file mode 100644
index 000000000..2d4de199d
--- /dev/null
+++ b/community/beye/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 63902 2012-02-06 17:16:05Z giovanni $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=beye
+pkgver=6.1.0
+_lver=610
+pkgrel=4
+pkgdesc="A portable viewer of binary files, hexadecimal and disassembler modes"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('slang' 'gpm')
+makedepends=('libx11')
+replaces=('biew')
+url="http://beye.sourceforge.net/"
+source=("http://downloads.sourceforge.net/project/beye/biew/$pkgver/biew-${_lver}-src.tar.bz2"
+ 'biew-610-fix_localedep-1.patch'
+ 'biew-610-portable_configure-1.patch'
+ 'biew-610-setup_window-1.patch')
+md5sums=('1b6477defaa61b8ca0f2ae1254978e94'
+ 'f2d510cbeffadc4cc20e4bc4e7a08014'
+ '32e8bc2673db6566720c1ec6f9512fd6'
+ '93d7e300bd5fb85952891f220b12250a')
+
+build() {
+ cd $srcdir/biew-${_lver}
+
+ patch -Np1 -i "${srcdir}/biew-610-fix_localedep-1.patch"
+ patch -Np1 -i "${srcdir}/biew-610-portable_configure-1.patch"
+
+ # Patch fixing a crash if MainWindow is not yet set
+ patch -Np1 -i "${srcdir}/biew-610-setup_window-1.patch"
+
+ sed -i -e "s:lib32:lib:g" configure
+ export CFLAGS="$CFLAGS -mmmx -msse"
+ ./configure --prefix=/usr
+
+ # Fix man pages path
+ sed -i -e 's^man/man1/biew.1^share/man/man1/biew.1^' makefile
+
+ make LDFLAGS="${LDFLAGS}"
+}
+
+package() {
+ cd $srcdir/biew-${_lver}
+
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/beye/biew-610-fix_localedep-1.patch b/community/beye/biew-610-fix_localedep-1.patch
new file mode 100644
index 000000000..babe994e0
--- /dev/null
+++ b/community/beye/biew-610-fix_localedep-1.patch
@@ -0,0 +1,26 @@
+The configure script of biew-6.1.0 fails with
+ Checking for C compiler name ... gcc-Version
+if using the de_DE.UTF-8 locale and sys-devel/gcc-4.5.2. It may fail with other
+locales and/or compilers, too. The problem occurs due to the fact that the
+string “gcc version” written by gcc for ‘gcc -v’ is translated according to the
+language (German in the case mentioned above).
+
+This patch makes sure that the POSIX locale is used when the biew configure
+script checks for the name of the compiler. This allows the configure script to
+parse the output properly.
+
+ –nico
+
+
+diff -Naur biew-610.orig/configure biew-610/configure
+--- biew-610.orig/configure 2009-11-13 15:52:36.000000000 +0100
++++ biew-610/configure 2011-01-13 11:11:59.000000000 +0100
+@@ -497,7 +497,7 @@
+
+ _cdefos="-DDATADIR='\"$_datadir\"'"
+
+-cc_name=`$_cc -v 2>&1 | tail -n 1 | cut -d ' ' -f 1`
++cc_name=`LC_ALL=POSIX $_cc -v 2>&1 | tail -n 1 | cut -d ' ' -f 1`
+ cc_version=`$_cc -dumpversion`
+
+ echocheck "C compiler name"
diff --git a/community/beye/biew-610-portable_configure-1.patch b/community/beye/biew-610-portable_configure-1.patch
new file mode 100644
index 000000000..c64f6280b
--- /dev/null
+++ b/community/beye/biew-610-portable_configure-1.patch
@@ -0,0 +1,167 @@
+Changes the biew-610 configure script to use portable test constructs. See the
+Autoconf manual <URL:https://www.gnu.org/software/autoconf/manual/html_node/
+Limitations-of-Builtins.html#index-g_t_0040command_007btest_007d-1725> for
+explanations.
+
+ –nico
+
+
+diff -Naur biew-610.orig/configure biew-610/configure
+--- biew-610.orig/configure 2009-11-13 14:52:36.000000000 +0000
++++ biew-610/configure 2011-02-24 09:44:10.000000000 +0000
+@@ -171,7 +171,7 @@
+ # 1st: print out help
+
+ for parm in "$@" ; do
+- if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" ; then
++ if test "X$parm" = "X--help" || test "X$parm" = "X-help" || test "X$parm" = "X-h" ; then
+ cat << EOF
+
+ Usage: $0 [OPTIONS]...
+@@ -235,7 +235,7 @@
+ _cp=cp
+ _libext=a
+ _libprefix=lib
+-test "$CC" && _cc="$CC"
++test "X$CC" != X && _cc="$CC"
+ _prefix="/usr/local"
+ _datadir=
+ _libdir=
+@@ -340,11 +340,11 @@
+ ;;
+ esac
+ done
+-test -z "$_datadir" && _datadir=$_prefix"/share/biew"
+-test -z "$_libdir" && _libdir=$_prefix"/lib/biew"
++test "X$_datadir" = X && _datadir=$_prefix"/share/biew"
++test "X$_libdir" = X && _libdir=$_prefix"/lib/biew"
+
+ for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
+- test "$I" && break
++ test "X$I" != X && break
+ done
+
+ TMPLOG="config.log"
+@@ -357,8 +357,8 @@
+ _tee="tee -a $TMPLOG"
+
+ echocheck "architecture"
+-if test "$_target_arch" = auto ; then
+- if test -z "$host_arch" ; then
++if test "X$_target_arch" = Xauto ; then
++ if test "X$host_arch" = X ; then
+ host_arch=`( uname -p ) 2>&1`
+ log "uname -p :" "$host_arch"
+ case "$host_arch" in
+@@ -416,8 +416,8 @@
+ x86_64 && _bitness=64
+
+ echocheck "target OS"
+-if test "$_target_system" = auto ; then
+- if test -z "$system_name" ; then
++if test "X$_target_system" = Xauto ; then
++ if test "X$system_name" = X ; then
+ # OS name
+ system_name=`uname -s`
+ log "uname -s :" "$system_name"
+@@ -461,8 +461,8 @@
+ fi
+ fi
+
+-if test "$_target_system" = auto ; then
+- if test -z "$system_name" ; then
++if test "X$_target_system" = Xauto ; then
++ if test "X$system_name" = X ; then
+ # OS name
+ system_name=`/bin/sh --version 2>&1 | sed -n 's/^.*\([(]\)./\1/p'`
+ log "/bin/sh --version:" "$system_name"
+@@ -549,7 +549,7 @@
+ ;;
+ esac
+
+-if test -z "$_x11incdir" ; then
++if test "X$_x11incdir" = X ; then
+ echocheck "X11 headers"
+ for I in /usr/include /usr/X11R6/include /usr/X11/include /usr/openwin/include ; do
+ if test -d "$I/X11" ; then
+@@ -559,11 +559,11 @@
+ fi
+ done
+ fi
+-if test -z "$_x11incdir" ; then
++if test "X$_x11incdir" = X ; then
+ echores "x11inc not found"
+ fi
+
+-if test -z "$_x11libdir" ; then
++if test "X$_x11libdir" = X ; then
+ echocheck "X11 libs"
+ for I in /usr/X11R6/lib /usr/X11/lib /usr/lib32 /usr/openwin/lib ; do
+ if test -d "$I" ; then
+@@ -573,24 +573,24 @@
+ fi
+ done
+ fi
+-if test -z "$_x11libdir" ; then
++if test "X$_x11libdir" = X ; then
+ echores "x11lib not found"
+ fi
+
+-test -z "$_debug" && _osldef="-s $_osldef" || _cdefos="-finline-limit-5 $_cdefos"
+-if test "$_profile" -o "$_debug" -o "$_gcov"; then
++test "X$_debug" = X && _osldef="-s $_osldef" || _cdefos="-finline-limit-5 $_cdefos"
++if test "X$_profile" != X || test "X$_debug" != X || test "X$_gcov" != X ; then
+ _cdefos="-W -Wall -O2 -fno-builtin $_debug $_profile $_gcov $_cdefos"
+ _osldef="$_debug $_profile $_osldef"
+-elif test -z "$CFLAGS" ; then
++elif test "X$CFLAGS" = X ; then
+ _cdefos="-DNDEBUG=1 -O2 -ffast-math -fomit-frame-pointer $_cdefos"
+ x86 && _cdefos="-mmmx -msse $_cdefos"
+ else
+ _cdefos="-DNDEBUG=1 $CFLAGS $_cdefos"
+ fi
+-test -n "$LDFLAGS" && _osldef="$LDFLAGS $_osldef"
+-test -n "$LIBS" && _osldef="$LIBS $_osldef"
++test "X$LDFLAGS" != X && _osldef="$LDFLAGS $_osldef"
++test "X$LIBS" != X && _osldef="$LIBS $_osldef"
+
+-if test "$_target_system" = dos ; then
++if test "X$_target_system" = Xdos ; then
+ # disable cc_check call for DJGPP due bugs in bash
+ _cdefos="-D__HAVE_PRAGMA_PACK__=1 $_cdefos"
+ else
+@@ -668,10 +668,10 @@
+ _curseslib=
+ disable _curses
+ cc_check -lcurses && _curseslib="-lcurses"
+- if test -z "$_curseslib" ; then
++ if test "X$_curseslib" = X ; then
+ cc_check -lncurses && _curseslib="-lncurses"
+ fi
+- if test -n "$_curseslib" ; then
++ if test "X$_curseslib" != X ; then
+ enable _curses
+ _cdefos="-D_CURSES_ -D__OS_NAME__='\"Unix/Curses\"' $_cdefos"
+ _oslibs="$_curseslib $_oslibs"
+@@ -711,10 +711,10 @@
+ enabled sys_resource_h && _cdefos="-DHAVE_SYS_RESOURCE=1 $_cdefos"
+ echores "$sys_resource_h"
+
+-if test -z "$_x11libdir" ; then
++if test "X$_x11libdir" = X ; then
+ _cdefos="$_cdefos"
+ else
+- if test -z "$_x11incdir" ; then
++ if test "X$_x11incdir" = X ; then
+ _cdefos="$_cdefos"
+ else
+ _cdefos="-DHAVE_X11 $_cdefos"
+@@ -738,7 +738,7 @@
+ fi
+
+ # Checking for INSTALL
+-if test -z $_install
++if test "X$_install" = X
+ then
+ _install="install"
+ $_install --version 1>/dev/null 2>/dev/null || _install=""
diff --git a/community/beye/biew-610-setup_window-1.patch b/community/beye/biew-610-setup_window-1.patch
new file mode 100644
index 000000000..244f94a7a
--- /dev/null
+++ b/community/beye/biew-610-setup_window-1.patch
@@ -0,0 +1,28 @@
+If .biewrc does not exist, the setup dialog appears at program start. If you try
+to click a checkbox with the mouse, biew tries to dereference a null pointer
+(because the MainWindow is not yet set).
+
+This patch adds a workaround. Note that you actually cannot click a checkbox.
+But that is what users might expect. (Maybe the biew code should be changed to
+handle this properly.) Well, it is better not to crash, even if the checkboxes
+are not clickable.
+
+ –nico
+
+
+diff -Naur biew-610.orig/events.c biew-610/events.c
+--- biew-610.orig/events.c 2009-09-03 16:57:40.000000000 +0000
++++ biew-610/events.c 2011-09-06 09:41:01.000000000 +0000
+@@ -118,7 +118,11 @@
+ }
+ else
+ {
+- X1 = 0; X2 = twGetClientWidth(MainWnd); Y1 = 1; Y2 = twGetClientHeight(MainWnd) - 1;
++ TWindow *wnd =
++ MainWnd ? MainWnd : /*XXX:drop this line?*/
++ twGetWinAtPos(mx, my);
++ if(!wnd) return KE_MOUSE;
++ X1 = 0; X2 = twGetClientWidth(wnd); Y1 = 1; Y2 = twGetClientHeight(wnd) - 1;
+ }
+ wdh = X2 - X1;
+ hght = Y2 - Y1;
diff --git a/community/bibutils/PKGBUILD b/community/bibutils/PKGBUILD
new file mode 100644
index 000000000..1d73c0d68
--- /dev/null
+++ b/community/bibutils/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Ivy Foster <joyfulgirl (at) archlinux (dot) us>
+
+pkgname=bibutils
+_basename=bibutils
+pkgver=5.0
+pkgrel=1
+pkgdesc="Bibliography conversion tools"
+arch=("i686" "x86_64")
+url="http://sourceforge.net/p/bibutils/home/Bibutils/"
+license=('GPL2')
+makedepends=('tcsh')
+depends=(glibc)
+source=("http://downloads.sourceforge.net/project/${_basename}/${_basename}_${pkgver}_src.tgz")
+md5sums=('c4838bf0d8ae48e4df49ae395bf643d0')
+
+build() {
+ cd ${_basename}_$pkgver
+ ./configure --dynamic --install-dir "$pkgdir/usr/bin" --install-lib "$pkgdir/usr/lib"
+ make
+}
+
+package() {
+ cd ${_basename}_$pkgver
+ mkdir -p "$pkgdir/usr/bin" "$pkgdir/usr/lib"
+ make install
+}
diff --git a/community/bin2iso/PKGBUILD b/community/bin2iso/PKGBUILD
new file mode 100644
index 000000000..cfd4f7098
--- /dev/null
+++ b/community/bin2iso/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 67258 2012-03-05 22:50:06Z arodseth $
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+# Contributor: Benjamin Andresen <benny@klapmuetz.org>
+# Contributor: Thomas Baechler <thomas.baechler@rwth-aachen.de>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=bin2iso
+pkgver=1.9b
+_dlver=${pkgver/./}
+pkgrel=3
+pkgdesc="Converts RAW format (.bin/.cue) files to ISO/WAV format"
+arch=('i686' 'x86_64')
+url="http://users.eastlink.ca/~doiron/bin2iso/"
+license=('GPL')
+depends=('glibc')
+source=("http://users.eastlink.ca/~doiron/$pkgname/linux/$pkgname${_dlver}_linux.c")
+sha256sums=('1e8a6ae79e91325acd50f3a0e506edf4d8cb57b72d1dcfd8b276a04aff82e43d')
+
+package() {
+ cd "$srcdir"
+
+ [ -z "$CC" ] && CC=gcc
+ $CC $CFLAGS -Wall -o "$pkgname" "$pkgname${_dlver}_linux.c"
+ install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/bind/127.0.0.zone b/community/bind/127.0.0.zone
new file mode 100644
index 000000000..509c311f6
--- /dev/null
+++ b/community/bind/127.0.0.zone
@@ -0,0 +1,11 @@
+$ORIGIN 0.0.127.in-addr.arpa.
+
+@ 1D IN SOA localhost. root.localhost. (
+ 42 ; serial (yyyymmdd##)
+ 3H ; refresh
+ 15M ; retry
+ 1W ; expiry
+ 1D ) ; minimum ttl
+
+ 1D IN NS localhost.
+1 1D IN PTR localhost.
diff --git a/community/bind/PKGBUILD b/community/bind/PKGBUILD
new file mode 100644
index 000000000..588c8c0a7
--- /dev/null
+++ b/community/bind/PKGBUILD
@@ -0,0 +1,81 @@
+# $Id: PKGBUILD 92426 2013-06-05 07:49:55Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+# Contributor: Mario Vazquez <mario_vazq@hotmail.com>
+
+pkgname=bind
+_pkgver=9.9.3-P1
+pkgver=${_pkgver//-/.}
+pkgrel=1
+pkgdesc='The ISC BIND nameserver'
+url='http://www.isc.org/software/bind/'
+license=('custom:ISC')
+arch=('i686' 'x86_64')
+options=('!makeflags' '!libtool')
+depends=('openssl' 'krb5' 'libxml2')
+provides=('dns-server')
+backup=('etc/logrotate.d/named'
+ 'etc/named.conf')
+install=$pkgname.install
+source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"
+ 'root.hint::http://www.internic.net/zones/named.root'
+ 'tmpfiles.d'
+ 'named.conf'
+ 'named.service'
+ 'named.logrotate'
+ 'localhost.zone'
+ '127.0.0.zone')
+sha1sums=('9e1a9e5e45685befce6b93d4fcfd63e50eaeb2cf'
+ '029f89c49550c40ec7a95116b6a33f0e5a041094'
+ 'c5a2bcd9b0f009ae71f3a03fbdbe012196962a11'
+ 'c71a7fc02d4bf0d55e8e29d1e014607ac1d58726'
+ 'cb2e81b4cbf9efafb3e81e3752f0154e779cc7ec'
+ '3fe1f0b5c1a51dc1db9ebe5e173d18c52c97169b'
+ '76a0d4cd1b913db177a5a375bebc47e5956866ec'
+ '53be0f1437ebe595240d8dbdd819939582b97fb9')
+
+prepare() {
+ # remove dig to avoid conflict with dnsutils
+ sed -i 's/dig//' $pkgname-$_pkgver/bin/Makefile.in
+}
+
+build() {
+ cd bind-$_pkgver
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --localstatedir=/var \
+ --disable-static \
+ --disable-linux-caps \
+ --with-openssl \
+ --with-libxml2 \
+ --with-libtool
+ make
+}
+
+package() {
+ cd "bind-$_pkgver"
+
+ install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ make DESTDIR="$pkgdir" install
+
+ rmdir "$pkgdir/var/run"
+ install -d "$pkgdir/usr/share/doc/$pkgname"
+ install doc/arm/*.html "$pkgdir/usr/share/doc/$pkgname"
+
+ cd "$srcdir"
+ install -D -m644 tmpfiles.d "$pkgdir/usr/lib/tmpfiles.d/named.conf"
+ install -D -m644 named.service "$pkgdir/usr/lib/systemd/system/named.service"
+ install -D -m600 named.logrotate "$pkgdir/etc/logrotate.d/named"
+ install -D -m640 -o 0 -g 40 named.conf "$pkgdir/etc/named.conf"
+
+ install -d -m750 -o 0 -g 40 "$pkgdir/var/named"
+ install -m640 -o 0 -g 40 root.hint "$pkgdir/var/named"
+ install -m640 -o 0 -g 40 127.0.0.zone "$pkgdir/var/named"
+ install -m640 -o 0 -g 40 localhost.zone "$pkgdir/var/named"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/bind/bind.install b/community/bind/bind.install
new file mode 100644
index 000000000..170042111
--- /dev/null
+++ b/community/bind/bind.install
@@ -0,0 +1,23 @@
+post_install() {
+ getent group named &>/dev/null || groupadd -g 40 named
+ getent passwd named &>/dev/null || useradd -u 40 -c 'BIND DNS Server' -g named -d /var/named -s /bin/false named
+ passwd -l named &>/dev/null
+
+ touch var/log/named.log
+ chown named:named var/log/named.log
+
+ # create an rndc.key if it doesn't already exist
+ if [[ ! -s etc/rndc.key ]]; then
+ rndc-confgen -r /dev/urandom -b 256 | head -n 5 >>etc/rndc.key
+ chown root:named etc/rndc.key
+ chmod 640 etc/rndc.key
+ fi
+}
+
+pre_remove() {
+ getent passwd named &>/dev/null && userdel named >/dev/null
+ getent group named &>/dev/null && groupdel named >/dev/null
+ return 0
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/bind/localhost.zone b/community/bind/localhost.zone
new file mode 100644
index 000000000..e3ff9641c
--- /dev/null
+++ b/community/bind/localhost.zone
@@ -0,0 +1,10 @@
+$ORIGIN localhost.
+@ 1D IN SOA @ root (
+ 42 ; serial (yyyymmdd##)
+ 3H ; refresh
+ 15M ; retry
+ 1W ; expiry
+ 1D ) ; minimum ttl
+
+ 1D IN NS @
+ 1D IN A 127.0.0.1
diff --git a/community/bind/named.conf b/community/bind/named.conf
new file mode 100644
index 000000000..4aaf19a49
--- /dev/null
+++ b/community/bind/named.conf
@@ -0,0 +1,64 @@
+//
+// /etc/named.conf
+//
+
+options {
+ directory "/var/named";
+ pid-file "/run/named/named.pid";
+ auth-nxdomain yes;
+ datasize default;
+// Uncomment these to enable IPv6 connections support
+// IPv4 will still work:
+// listen-on-v6 { any; };
+// Add this for no IPv4:
+// listen-on { none; };
+
+ // Default security settings.
+ allow-recursion { 127.0.0.1; };
+ allow-transfer { none; };
+ allow-update { none; };
+ version none;
+ hostname none;
+ server-id none;
+};
+
+zone "localhost" IN {
+ type master;
+ file "localhost.zone";
+ allow-transfer { any; };
+};
+
+zone "0.0.127.in-addr.arpa" IN {
+ type master;
+ file "127.0.0.zone";
+ allow-transfer { any; };
+};
+
+zone "." IN {
+ type hint;
+ file "root.hint";
+};
+
+//zone "example.org" IN {
+// type slave;
+// file "example.zone";
+// masters {
+// 192.168.1.100;
+// };
+// allow-query { any; };
+// allow-transfer { any; };
+//};
+
+logging {
+ channel xfer-log {
+ file "/var/log/named.log";
+ print-category yes;
+ print-severity yes;
+ print-time yes;
+ severity info;
+ };
+ category xfer-in { xfer-log; };
+ category xfer-out { xfer-log; };
+ category notify { xfer-log; };
+};
+
diff --git a/community/bind/named.logrotate b/community/bind/named.logrotate
new file mode 100644
index 000000000..5f9a47693
--- /dev/null
+++ b/community/bind/named.logrotate
@@ -0,0 +1,6 @@
+/var/log/named.log {
+ missingok
+ postrotate
+ /bin/kill -HUP `cat /run/named/named.pid 2>/dev/null` 2>/dev/null || true
+ endscript
+}
diff --git a/community/bind/named.service b/community/bind/named.service
new file mode 100644
index 000000000..1a7832edc
--- /dev/null
+++ b/community/bind/named.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Internet domain name server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/named -f -u named
+ExecReload=/usr/bin/rndc reload
+ExecStop=/usr/bin/rndc stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/bind/tmpfiles.d b/community/bind/tmpfiles.d
new file mode 100644
index 000000000..1cfc82d08
--- /dev/null
+++ b/community/bind/tmpfiles.d
@@ -0,0 +1 @@
+d /run/named 0750 named named -
diff --git a/community/bird/PKGBUILD b/community/bird/PKGBUILD
new file mode 100644
index 000000000..364c7186a
--- /dev/null
+++ b/community/bird/PKGBUILD
@@ -0,0 +1,89 @@
+# $Id: PKGBUILD 90843 2013-05-14 17:50:10Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgbase=bird
+pkgname=('bird' 'bird6')
+pkgver=1.3.10
+pkgrel=4
+arch=('i686' 'x86_64')
+url='http://bird.network.cz/'
+license=('GPL2')
+depends=('readline' 'ncurses')
+source=("ftp://bird.network.cz/pub/bird/${pkgname}-${pkgver}.tar.gz"
+ 'bird.service'
+ 'bird6.service')
+md5sums=('553c331b32bca9e926519cb2f67d68be'
+ '01360e3b71ff2ed2223e87a3176e0659'
+ 'b895b473cbc98cfd54751f737536eb1e')
+
+build() {
+ cd $pkgbase-$pkgver
+ [[ -e _build4 ]] && rm -rf _build4
+ [[ -e _build6 ]] && rm -rf _build6
+ mkdir _build4 _build6
+
+ # build ipv4 bird
+ cd _build4
+ ../configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/$pkgname
+ make
+
+ # build ipv6 bird
+ cd ../_build6
+ ../configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/$pkgname \
+ --enable-ipv6
+ make
+}
+
+package_bird () {
+ pkgdesc='RIP, OSPFv2 and BGP daemon (ipv4 version)'
+ backup=('etc/bird.conf')
+
+ cd $pkgbase-$pkgver/_build4
+ make \
+ prefix="$pkgdir/usr" \
+ sysconfdir="$pkgdir/etc" \
+ sbindir="$pkgdir/usr/bin" \
+ localstatedir="$pkgdir/var" \
+ docdir="$pkgdir/usr/share/doc/$pkgname" \
+ install
+ #make docdir="$pkgdir/usr/share/doc/$pkgname" install-docs
+
+ # no /var inside pkg
+ rm -r "$pkgdir/var"
+
+ # systemd
+ install -D -m 644 "$srcdir/bird.service" "$pkgdir/usr/lib/systemd/system/bird.service"
+}
+
+package_bird6 () {
+ pkgdesc='RIP, OSPFv3, RADV and BGP daemon (ipv6 version)'
+ backup=('etc/bird6.conf')
+
+ cd $pkgbase-$pkgver/_build6
+ make \
+ prefix="$pkgdir/usr" \
+ sysconfdir="$pkgdir/etc" \
+ sbindir="$pkgdir/usr/bin" \
+ localstatedir="$pkgdir/var" \
+ docdir="$pkgdir/usr/share/doc/$pkgname" \
+ install
+ #make docdir="$pkgdir/usr/share/doc/$pkgname" install-docs
+
+ # no /var inside pkg
+ rm -r "$pkgdir/var"
+
+ # systemd
+ install -D -m 644 "$srcdir/bird6.service" "$pkgdir/usr/lib/systemd/system/bird6.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/bird/bird.service b/community/bird/bird.service
new file mode 100644
index 000000000..faee0d845
--- /dev/null
+++ b/community/bird/bird.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=BIRD routing daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/bird -d
+ExecReload=/usr/bin/birdc configure
+ExecStop=/usr/bin/birdc down
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/bird/bird6.service b/community/bird/bird6.service
new file mode 100644
index 000000000..d852fb52c
--- /dev/null
+++ b/community/bird/bird6.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=BIRD IPv6 routing daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/bird6 -d
+ExecReload=/usr/bin/birdc6 configure
+ExecStop=/usr/bin/birdc6 down
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/bitcoin/PKGBUILD b/community/bitcoin/PKGBUILD
new file mode 100644
index 000000000..665dd1db8
--- /dev/null
+++ b/community/bitcoin/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 94013 2013-07-13 12:30:36Z svenstaro $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: shahid <helllamer@gmail.com>
+
+pkgbase=bitcoin
+pkgname=('bitcoin-daemon' 'bitcoin-qt')
+pkgver=0.8.3
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://www.bitcoin.org/"
+makedepends=('boost' 'automoc4' 'qrencode' 'miniupnpc')
+license=('MIT')
+source=(http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-$pkgver/bitcoin-$pkgver-linux.tar.gz)
+sha256sums=('c6003a6af947e6978b13ab55d7bb7ec97aedc55022fb4924d08792a8d4f83a35')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver-linux/src"
+
+ # and make qt gui
+ qmake-qt4 USE_QRCODE=1
+ make
+
+ # make bitcoind
+ make -f makefile.unix -C src CXXFLAGS="$CXXFLAGS"
+}
+
+
+package_bitcoin-qt() {
+ pkgdesc="Bitcoin is a peer-to-peer network based digital currency - QT"
+ depends=(boost-libs qt4 miniupnpc qrencode)
+ install=bitcoin-qt.install
+
+ cd "$srcdir/$pkgbase-$pkgver-linux/src"
+ install -Dm755 bitcoin-qt "$pkgdir"/usr/bin/bitcoin-qt
+ install -Dm644 contrib/debian/bitcoin-qt.desktop \
+ "$pkgdir"/usr/share/applications/bitcoin.desktop
+ install -Dm644 share/pixmaps/bitcoin128.png \
+ "$pkgdir"/usr/share/pixmaps/bitcoin128.png
+
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+package_bitcoin-daemon() {
+ pkgdesc="Bitcoin is a peer-to-peer network based digital currency - daemon"
+ depends=(boost-libs miniupnpc openssl)
+
+ cd "$srcdir/$pkgbase-$pkgver-linux/src"
+ install -Dm755 src/bitcoind "$pkgdir"/usr/bin/bitcoind
+ install -Dm644 contrib/debian/examples/bitcoin.conf \
+ "$pkgdir/usr/share/doc/$pkgname/examples/bitcoin.conf"
+ install -Dm644 contrib/debian/manpages/bitcoind.1 \
+ "$pkgdir"/usr/share/man/man1/bitcoind.1
+ install -Dm644 contrib/debian/manpages/bitcoin.conf.5 \
+ "$pkgdir"/usr/share/man/man5/bitcoin.conf.5
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
diff --git a/community/bitcoin/bitcoin-qt.install b/community/bitcoin/bitcoin-qt.install
new file mode 100644
index 000000000..f98ba7338
--- /dev/null
+++ b/community/bitcoin/bitcoin-qt.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/bless/PKGBUILD b/community/bless/PKGBUILD
new file mode 100644
index 000000000..e1d7f26fa
--- /dev/null
+++ b/community/bless/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 65060 2012-02-20 02:38:21Z spupykin $
+# Maintainer: TDY <tdy@gmx.com>
+# Contributor: dcraven <dcraven@gmail.com>
+
+pkgname=bless
+pkgver=0.6.0
+pkgrel=3
+pkgdesc="A high-quality, full-featured hex editor"
+arch=('i686' 'x86_64')
+url="http://home.gna.org/bless/"
+license=('GPL')
+depends=('gtk-sharp-2>=2.8')
+makedepends=('gettext' 'pkgconfig' 'rarian')
+source=(http://download.gna.org/bless/bless-$pkgver.tar.gz)
+md5sums=('b4c20d113281dfedb67d9f3ff8b174e3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --without-scrollkeeper
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/blobby2/PKGBUILD b/community/blobby2/PKGBUILD
new file mode 100644
index 000000000..20d3bc0a7
--- /dev/null
+++ b/community/blobby2/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 79399 2012-11-04 04:36:25Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Urs Wolfer <uwolfer @ fwo.ch>
+
+pkgname=blobby2
+pkgver=1.0rc3
+arch=('x86_64' 'i686')
+pkgrel=1
+pkgdesc="A beach ball game with blobs of goo"
+url="http://sourceforge.net/projects/blobby/"
+license=('GPL')
+depends=('sdl' 'physfs' 'libgl')
+makedepends=('cmake' 'boost' 'mesa' 'zip')
+source=(http://downloads.sourceforge.net/blobby/$pkgname-linux-$pkgver.tar.gz
+ $pkgname.desktop
+ $pkgname.png)
+md5sums=('c4b7d3133e99806dc8b60a59da296906'
+ 'ab05bed794ee78db693fd3036393275a'
+ 'c1bc427b41a0a3facd771ac83c7fb412')
+
+build() {
+ cd $srcdir/blobby-$pkgver
+ cmake -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd $srcdir/blobby-$pkgver
+
+ make DESTDIR=$pkgdir install
+
+ # install .desktop file and icon
+ install -dm755 $pkgdir/usr/share/{applications,pixmaps}
+ install -m644 $srcdir/$pkgname.desktop $pkgdir/usr/share/applications
+ install -m644 $srcdir/$pkgname.png $pkgdir/usr/share/pixmaps
+}
diff --git a/community/blobby2/blobby2.desktop b/community/blobby2/blobby2.desktop
new file mode 100644
index 000000000..dfc2768bf
--- /dev/null
+++ b/community/blobby2/blobby2.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Blobby Volley 2
+Exec=blobby
+Icon=blobby2
+Terminal=false
+Type=Application
+Categories=Game;ArcadeGame;
+StartupNotify=false
+Comment=Volley game with network support
+GenericName=Volley Game
diff --git a/community/blobby2/blobby2.png b/community/blobby2/blobby2.png
new file mode 100644
index 000000000..d5b937312
--- /dev/null
+++ b/community/blobby2/blobby2.png
Binary files differ
diff --git a/community/blobwars/PKGBUILD b/community/blobwars/PKGBUILD
new file mode 100644
index 000000000..dd180f51c
--- /dev/null
+++ b/community/blobwars/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 57879 2011-11-04 08:01:07Z lcarlier $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: geekitus
+
+pkgname=blobwars
+pkgver=1.19
+pkgrel=4
+pkgdesc="Platform action game featuring a blob wih lot of weapons"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/blobwars"
+license=('GPL')
+makedepends=('sdl_image' 'sdl_mixer' 'sdl_ttf' 'sdl_net')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('87e8aaa114b6e4742ea6ee28e7a7f984')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # fix building with gcc 4.6
+ sed -i -e 's/-Werror/-Werror -Wno-error=unused-result/g' makefile
+
+ RELEASE=1 make
+}
+
+package() {
+ depends=('hicolor-icon-theme' 'sdl_image' 'sdl_mixer' 'sdl_ttf' 'sdl_net' 'blobwars-data>=1.19')
+
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make PREFIX="${pkgdir}/usr" BINDIR="${pkgdir}/usr/bin/" install
+
+ # We remove data files (See blobwars-data)
+ rm -r "${pkgdir}/usr/share/games"
+
+ chmod a+r "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ chmod a+r -R "${pkgdir}/usr/share/icons/hicolor/"
+ install -dm755 "${pkgdir}/usr/share/pixmaps"
+ install -m644 icons/blobwars.png "${pkgdir}/usr/share/pixmaps/"
+}
diff --git a/community/blobwars/blobwars.install b/community/blobwars/blobwars.install
new file mode 100644
index 000000000..b711352cb
--- /dev/null
+++ b/community/blobwars/blobwars.install
@@ -0,0 +1,11 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/blueman/PKGBUILD b/community/blueman/PKGBUILD
new file mode 100644
index 000000000..a7af7b714
--- /dev/null
+++ b/community/blueman/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 92494 2013-06-07 09:28:53Z tomegun $
+# Contributor: Ionut Biru <ibiru@archlinux.org
+# Contributor: Abhishek Dasgupta <abhidg@gmail.com>
+
+pkgname=blueman
+pkgver=1.23
+pkgrel=10
+pkgdesc="GTK+ bluetooth manager"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="https://launchpad.net/blueman"
+depends=('bluez4' 'bluez-libs' 'gnome-icon-theme' 'libpulse' 'obex-data-server'
+ 'python2-dbus' 'python2-notify' 'startup-notification' 'xdg-utils')
+makedepends=('pyrex' 'intltool')
+optdepends=('dnsmasq: For creating PAN network'
+ 'modemmanager: For modem management service'
+ 'notification-daemon: For desktop notifications'
+ 'polkit-gnome: For privileged actions'
+ 'pulseaudio: To use the pulseaudio plugin'
+ 'python2-gconf: For gconf configuration support')
+options=('!libtool')
+install=$pkgname.install
+source=(https://launchpad.net/${pkgname}/1.2/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz)
+md5sums=('f0bee59589f4c23e35bf08c2ef8acaef')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ export PYTHON=python2
+ for file in apps/blueman*; do
+ sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' $file
+ done
+ sed -i 's|"blueman-tray"|"blueman"|' blueman/plugins/applet/StatusIcon.py
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/blueman \
+ --with-no-runtime-deps-check
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ echo "NotShowIn=KDE;" >> ${pkgdir}/etc/xdg/autostart/blueman.desktop
+}
diff --git a/community/blueman/blueman.install b/community/blueman/blueman.install
new file mode 100644
index 000000000..8bf021487
--- /dev/null
+++ b/community/blueman/blueman.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/bochs/PKGBUILD b/community/bochs/PKGBUILD
new file mode 100644
index 000000000..0a26bfc4f
--- /dev/null
+++ b/community/bochs/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 92959 2013-06-20 20:17:58Z kkeen $
+#Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+
+pkgname=bochs
+pkgver=2.6.2
+pkgrel=1
+pkgdesc="A portable x86 PC emulation software package"
+arch=('i686' 'x86_64')
+url="http://bochs.sourceforge.net/"
+license=('LGPL')
+depends=('gcc-libs' 'libxrandr')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('82ecaff9826d4f29fa46f3062e2957b8')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --without-wx --enable-cpu-level=6 \
+ --enable-fpu --enable-3dnow --enable-disasm
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m 644 .bochsrc "${pkgdir}/etc/bochsrc-sample.txt"
+}
diff --git a/community/bomberclone/PKGBUILD b/community/bomberclone/PKGBUILD
new file mode 100644
index 000000000..308374881
--- /dev/null
+++ b/community/bomberclone/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 66517 2012-02-25 22:47:19Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: arjan <arjan@archlinux.org>
+# Contributor: Aurelien Foret <orelien@chez.com>
+
+pkgname=bomberclone
+pkgver=0.11.9
+pkgrel=2
+pkgdesc='A clone of the game AtomicBomberMan.'
+arch=('i686' 'x86_64')
+url="http://www.bomberclone.de/"
+license=('GPL')
+depends=('sdl_mixer' 'sdl_image')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'bomberclone-0.11.9-build-fix.patch'
+ 'bomberclone.desktop')
+md5sums=('3edcfcf69b88dbd2eab42541f236e072'
+ '88def2b6faf7a6ac7acd96f617fc460e'
+ '2c0151859e7e9aebd1fc95a1455f0c3b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # add build fix extracted from upstream CVS (fixes FS#26942)
+ patch -p0 -i ../bomberclone-0.11.9-build-fix.patch
+
+ ./configure --prefix=/usr
+ make AM_CFLAGS=-lm
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm0644 "${srcdir}/bomberclone.desktop" \
+ "${pkgdir}/usr/share/applications/bomberclone.desktop"
+}
diff --git a/community/bomberclone/bomberclone-0.11.9-build-fix.patch b/community/bomberclone/bomberclone-0.11.9-build-fix.patch
new file mode 100644
index 000000000..85522d821
--- /dev/null
+++ b/community/bomberclone/bomberclone-0.11.9-build-fix.patch
@@ -0,0 +1,444 @@
+Index: src/bomb.c
+===================================================================
+RCS file: /cvs/bomberclone/src/bomb.c,v
+retrieving revision 1.71
+retrieving revision 1.72
+diff -u -r1.71 -r1.72
+--- src/bomb.c 11 May 2009 20:51:25 -0000 1.71
++++ src/bomb.c 28 Jan 2012 21:53:19 -0000 1.72
+@@ -1,4 +1,4 @@
+-/* $Id: bomb.c,v 1.71 2009-05-11 20:51:25 stpohle Exp $ */
++/* $Id: bomb.c,v 1.72 2012-01-28 21:53:19 steffen Exp $ */
+ /* everything what have to do with the bombs */
+
+ #include "bomberclone.h"
+@@ -503,17 +503,12 @@
+ * the bomb was kicked.. so move the bomb in the right way..
+ */
+ void bomb_kicked (_bomb * bomb) {
+- float dist, dX, dY, pX, pY;
++ float dX, dY, pX, pY;
+
+ pX = dX = bomb->dest.x - bomb->source.x;
+ pY = dY = bomb->dest.y - bomb->source.y;
+ if (pX < 0.0f) pX = -dX;
+ if (pY < 0.0f) pY = -dY;
+- if (pX == 0.0f) dist = pY;
+- else if (pY == 0.0f) dist = pX;
+- else {
+- dist = sqrtf (powf (pX,2) + powf (pY,2));
+- }
+
+ bomb->fdata += timediff; // * (SPECIAL_KICK_MAXDIST / dist);
+ if (bomb->fdata >= 1.0f) {
+Index: src/gfx.c
+===================================================================
+RCS file: /cvs/bomberclone/src/gfx.c,v
+retrieving revision 1.42
+retrieving revision 1.43
+diff -u -r1.42 -r1.43
+--- src/gfx.c 10 Oct 2009 09:43:55 -0000 1.42
++++ src/gfx.c 28 Jan 2012 21:53:19 -0000 1.43
+@@ -1,4 +1,4 @@
+-/* $Id: gfx.c,v 1.42 2009-10-10 09:43:55 stpohle Exp $ */
++/* $Id: gfx.c,v 1.43 2012-01-28 21:53:19 steffen Exp $ */
+ /* gfx.c */
+
+ #include "bomberclone.h"
+@@ -37,8 +37,7 @@
+ void
+ gfx_load_players (int sx, int sy)
+ {
+- float sfkt,
+- ssfkt;
++ float sfkt;
+ char filename[255];
+ int i,
+ r,
+@@ -47,7 +46,6 @@
+ SDL_Surface *tmpimage,
+ *tmpimage1;
+ sfkt = ((float) sx) / ((float) GFX_IMGSIZE);
+- ssfkt = ((float) GFX_SMALLPLAYERIMGSIZE_X) / ((float) GFX_IMGSIZE);
+
+ d_printf ("gfx_load_players (%d, %d)\n", sx, sy);
+
+@@ -72,10 +70,10 @@
+ gfx.players[i].ani.image = SDL_DisplayFormat (tmpimage1);
+ SDL_FreeSurface (tmpimage1);
+
+- /* calculate the numbers of images for the animation */
+- gfx.players[i].offset.x = (sx - gfx.players[i].ani.w) / 2;
+- gfx.players[i].offset.y = -sy;
+- SDL_FreeSurface (tmpimage);
++ /* calculate the numbers of images for the animation */
++ gfx.players[i].offset.x = (sx - gfx.players[i].ani.w) / 2;
++ gfx.players[i].offset.y = -sy;
++ SDL_FreeSurface (tmpimage);
+ }
+ }
+
+Index: src/gfxpixelimage.c
+===================================================================
+RCS file: /cvs/bomberclone/src/gfxpixelimage.c,v
+retrieving revision 1.13
+retrieving revision 1.14
+diff -u -r1.13 -r1.14
+--- src/gfxpixelimage.c 9 Apr 2005 18:22:41 -0000 1.13
++++ src/gfxpixelimage.c 28 Jan 2012 21:53:19 -0000 1.14
+@@ -1,4 +1,4 @@
+-/* $Id: gfxpixelimage.c,v 1.13 2005-04-09 18:22:41 stpohle Exp $ */
++/* $Id: gfxpixelimage.c,v 1.14 2012-01-28 21:53:19 steffen Exp $ */
+ /* gfx pixel manipulation and image manipulation */
+
+ #include "bomberclone.h"
+@@ -285,10 +285,6 @@
+ SDL_Surface *
+ makegray_image (SDL_Surface * org)
+ {
+- Uint32 rmask,
+- gmask,
+- bmask,
+- amask;
+ Uint32 pixel,
+ transpixel = 0;
+ SDL_Surface *dest;
+@@ -300,18 +296,6 @@
+ b,
+ gray;
+
+-#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+- rmask = 0xff000000;
+- gmask = 0x00ff0000;
+- bmask = 0x0000ff00;
+- amask = 0x000000ff;
+-#else /* */
+- rmask = 0x000000ff;
+- gmask = 0x0000ff00;
+- bmask = 0x00ff0000;
+- amask = 0xff000000;
+-#endif /* */
+-
+ dest = SDL_CreateRGBSurface (SDL_SWSURFACE, org->w, org->h, org->format->BitsPerPixel,
+ org->format->Rmask, org->format->Gmask,
+ org->format->Bmask, org->format->Amask);
+Index: src/keyb.c
+===================================================================
+RCS file: /cvs/bomberclone/src/keyb.c,v
+retrieving revision 1.7
+retrieving revision 1.8
+diff -u -r1.7 -r1.8
+--- src/keyb.c 27 Jul 2008 11:24:37 -0000 1.7
++++ src/keyb.c 28 Jan 2012 21:53:19 -0000 1.8
+@@ -1,4 +1,4 @@
+-/* $Id: keyb.c,v 1.7 2008-07-27 11:24:37 stpohle Exp $
++/* $Id: keyb.c,v 1.8 2012-01-28 21:53:19 steffen Exp $
+ * keyb.c
+ */
+
+@@ -180,19 +180,13 @@
+ void keyb_config_joypad (int key) {
+ unsigned int n = 0;
+ SDL_Event event;
+- Uint8 *keys;
+- int keypressed = 0, done = 0, eventstate = 0, reorder = 0, i, j;
++ int done = 0, eventstate = 0, reorder = 0, i, j;
+
+ if (joy[0] == NULL || key < 0 || key >= BCK_max) return;
+
+ SDL_JoystickUpdate ();
+
+ menu_displaytext ("Joypad Config", "Please press the new key\nfor this function.");
+-
+- keys = SDL_GetKeyState (NULL);
+- if (keys[SDLK_RETURN] || keys[SDLK_ESCAPE])
+- keypressed = 1;
+-
+ timestamp = SDL_GetTicks (); // needed for time sync.
+
+ while (!reorder && !done && bman.state != GS_quit) {
+@@ -205,7 +199,6 @@
+ reorder = 0;
+ }
+
+- // eventstate = s_fetchevent (&event);
+ SDL_JoystickEventState ( SDL_QUERY ); // js
+ SDL_JoystickUpdate ();
+
+@@ -245,9 +238,7 @@
+ void keyb_config_readkey (int key) {
+ int newkey;
+ SDL_Event event;
+- Uint8 *keys;
+- int keypressed = 0,
+- done = 0,
++ int done = 0,
+ eventstate = 0,
+ reorder = 0;
+ newkey = 0;
+@@ -257,11 +248,6 @@
+ return;
+
+ menu_displaytext ("Keyboard Config", "Please press the new key\nfor this function.");
+-
+- keys = SDL_GetKeyState (NULL);
+- if (keys[SDLK_RETURN] || keys[SDLK_ESCAPE])
+- keypressed = 1;
+-
+ timestamp = SDL_GetTicks (); // needed for time sync.
+
+ while (!reorder && !done && bman.state != GS_quit) {
+Index: src/mapmenu.c
+===================================================================
+RCS file: /cvs/bomberclone/src/mapmenu.c,v
+retrieving revision 1.27
+retrieving revision 1.28
+diff -u -r1.27 -r1.28
+--- src/mapmenu.c 30 Jul 2006 11:44:58 -0000 1.27
++++ src/mapmenu.c 28 Jan 2012 21:53:19 -0000 1.28
+@@ -1,4 +1,4 @@
+-/* $Id: mapmenu.c,v 1.27 2006-07-30 11:44:58 stpohle Exp $ */
++/* $Id: mapmenu.c,v 1.28 2012-01-28 21:53:19 steffen Exp $ */
+ /* map/tileset selection menu */
+
+ #include "bomberclone.h"
+@@ -174,15 +174,14 @@
+ {
+ _keybinput ki;
+ SDL_Event event;
+- int x,
+- y,
++ int y,
+ eventstate,
+ done = 0;
+ char text[255];
+
+ // draw_menubox (WIN_X, WIN_Y);
+
+- x = gfx.res.x / 2;
++// x = gfx.res.x / 2;
+ y = gfx.res.y / 2 - WIN_Y / 2;
+
+ sprintf (text, "Map Settings");
+Index: src/menu.c
+===================================================================
+RCS file: /cvs/bomberclone/src/menu.c,v
+retrieving revision 1.53
+retrieving revision 1.54
+diff -u -r1.53 -r1.54
+--- src/menu.c 6 Feb 2006 21:18:01 -0000 1.53
++++ src/menu.c 28 Jan 2012 21:53:19 -0000 1.54
+@@ -1,4 +1,4 @@
+-/* $Id: menu.c,v 1.53 2006-02-06 21:18:01 stpohle Exp $
++/* $Id: menu.c,v 1.54 2012-01-28 21:53:19 steffen Exp $
+ * Menuhandling */
+
+ #include "basic.h"
+@@ -591,11 +591,10 @@
+ menuselect;
+ _charlist *selfile = flist;
+ _menu *menu;
+- _menuitem *dirmi;
+
+ flcnt = menu_create_dirlist (path, dirflags, flist, MAX_DIRENTRYS);
+ menu = menu_new (title, 300, 300);
+- dirmi = menu_create_list (menu, "Dir", -1, 50, 200, 200, flist, &selfile, 1);
++ menu_create_list (menu, "Dir", -1, 50, 200, 200, flist, &selfile, 1);
+ menu_create_button (menu, "OK", -1, 270, 150, 0);
+ menu_focus_id (menu, 1);
+
+Index: src/netsrvlist.c
+===================================================================
+RCS file: /cvs/bomberclone/src/netsrvlist.c,v
+retrieving revision 1.17
+retrieving revision 1.18
+diff -u -r1.17 -r1.18
+--- src/netsrvlist.c 7 Aug 2005 17:46:21 -0000 1.17
++++ src/netsrvlist.c 28 Jan 2012 21:53:19 -0000 1.18
+@@ -1,4 +1,4 @@
+-/* $Id: netsrvlist.c,v 1.17 2005-08-07 17:46:21 stpohle Exp $
++/* $Id: netsrvlist.c,v 1.18 2012-01-28 21:53:19 steffen Exp $
+ * netsrvlist.c - shows a list of possible servers.*/
+
+ #include "basic.h"
+@@ -124,7 +124,6 @@
+ _charlist *sel_entry = &srvlst_text[0];
+ _menu *menu;
+ _menuitem *srvlst_listmenu;
+- _menuitem *srvlst_entry;
+ SDL_Event event;
+
+ d_printf ("net_getserver\n");
+@@ -137,7 +136,7 @@
+
+ menu = menu_new ("Join a Game", 500, 400);
+ srvlst_listmenu = menu_create_list (menu, "Host a Game", -1, 50, 475, 250, srvlst_text, &sel_entry, 1);
+- srvlst_entry = menu_create_entry (menu, "IP :", -1, 320, 475, bman.servername, LEN_SERVERNAME+LEN_PORT + 2, MENU_entrytext, 2);
++ menu_create_entry (menu, "IP :", -1, 320, 475, bman.servername, LEN_SERVERNAME+LEN_PORT + 2, MENU_entrytext, 2);
+ menu_create_button (menu, "OK", -1, 350, 150, 0);
+ menu_focus_id (menu, 1);
+
+Index: src/network.c
+===================================================================
+RCS file: /cvs/bomberclone/src/network.c,v
+retrieving revision 1.79
+retrieving revision 1.80
+diff -u -r1.79 -r1.80
+--- src/network.c 12 Jan 2007 22:42:31 -0000 1.79
++++ src/network.c 28 Jan 2012 21:53:19 -0000 1.80
+@@ -1,4 +1,4 @@
+-/* $Id: network.c,v 1.79 2007-01-12 22:42:31 stpohle Exp $ */
++/* $Id: network.c,v 1.80 2012-01-28 21:53:19 steffen Exp $ */
+ /*
+ network routines.
+ */
+@@ -460,7 +460,6 @@
+ net_transmit_gamedata ()
+ {
+ int done = 0,
+- keypressed = 0,
+ x,
+ y, // network upload status for one step
+ p,
+@@ -621,12 +620,10 @@
+ if (keys[SDLK_ESCAPE] && event.type == SDL_KEYDOWN) {
+ done = 1;
+ bman.p_nr = -1;
+- keypressed = 1;
+ bman.state = GS_startup;
+ }
+
+- if (event.type == SDL_KEYUP)
+- keypressed = 0;
++// if (event.type == SDL_KEYUP)
+ }
+
+ timestamp = SDL_GetTicks (); // needed for time sync.
+Index: src/player.c
+===================================================================
+RCS file: /cvs/bomberclone/src/player.c,v
+retrieving revision 1.108
+retrieving revision 1.109
+diff -u -r1.108 -r1.109
+--- src/player.c 11 Oct 2009 17:14:47 -0000 1.108
++++ src/player.c 28 Jan 2012 21:53:19 -0000 1.109
+@@ -1,4 +1,4 @@
+-/* $Id: player.c,v 1.108 2009-10-11 17:14:47 stpohle Exp $
++/* $Id: player.c,v 1.109 2012-01-28 21:53:19 steffen Exp $
+ * player.c - everything what have to do with the player */
+
+ #include <SDL.h>
+@@ -120,7 +120,6 @@
+ {
+ int i,
+ x,
+- xs,
+ xe,
+ y,
+ ys,
+@@ -155,7 +154,6 @@
+ if (ye >= map.size.y)
+ ye = map.size.y - 1;
+ // redrawing of the stone
+- xs = x;
+ for (; x <= xe; x++)
+ for (y = ys; y <= ye; y++)
+ stonelist_add (x, y);
+@@ -445,7 +443,7 @@
+ void
+ player_move (int pl_nr)
+ {
+- int oldd, coll_speed;
++ int oldd;
+ _player *p = &players[pl_nr];
+
+ if (p->tunnelto > 0.0f) {
+@@ -460,7 +458,6 @@
+ player_animation (p);
+ oldd = p->d;
+ p->stepsleft = p->speed * timefactor;
+- coll_speed = p->collect_shoes;
+ do {
+ p->d = oldd;
+ } while ((p->stepsleft = stepmove_player (pl_nr)) > 0);
+@@ -677,9 +674,7 @@
+ player_calcpos ()
+ {
+ _player *pl;
+- int oldm,
+- oldd,
+- p;
++ int p;
+ float oldspeed;
+
+ for (p = 0; p < MAX_PLAYERS; p++) {
+@@ -687,8 +682,6 @@
+ if (PS_IS_netplayer (pl->state) && PS_IS_alife (pl->state) && pl->m != 0) {
+ player_animation (pl);
+ oldspeed = pl->speed;
+- oldm = pl->m;
+- oldd = pl->d;
+ if (pl->speed > 0.0) {
+ pl->speed *= timefactor;
+ stepmove_player (p);
+Index: src/single.c
+===================================================================
+RCS file: /cvs/bomberclone/src/single.c,v
+retrieving revision 1.86
+retrieving revision 1.87
+diff -u -r1.86 -r1.87
+--- src/single.c 19 Aug 2006 23:41:47 -0000 1.86
++++ src/single.c 28 Jan 2012 21:53:19 -0000 1.87
+@@ -1,4 +1,4 @@
+-/* $Id: single.c,v 1.86 2006-08-19 23:41:47 stpohle Exp $ */
++/* $Id: single.c,v 1.87 2012-01-28 21:53:19 steffen Exp $ */
+ /* single player */
+
+ #include "basic.h"
+@@ -711,7 +711,6 @@
+ _charlist nrplayerlist[MAX_PLAYERS + 1];
+ _charlist *selnrplayer = &nrplayerlist[bman.ai_players];
+ _menu *menu;
+- _menuitem *aiplayer = NULL;
+ SDL_Event event;
+
+ /* fill in the nrplayerlist */
+@@ -729,7 +728,7 @@
+ menu = menu_new ("Single Game", 380,240);
+
+ menu_create_text (menu, "numpl", 20, 50, 12, 2, COLOR_yellow, "Number of\nAI Players");
+- aiplayer = menu_create_list (menu, "AI Players", 40, 90, 50, 100, nrplayerlist, &selnrplayer, 3);
++ menu_create_list (menu, "AI Players", 40, 90, 50, 100, nrplayerlist, &selnrplayer, 3);
+
+ menu_create_button (menu,"Change Playernames" ,160, 50, 210, 4);
+
+Index: src/tileset.c
+===================================================================
+RCS file: /cvs/bomberclone/src/tileset.c,v
+retrieving revision 1.16
+retrieving revision 1.17
+diff -u -r1.16 -r1.17
+--- src/tileset.c 26 Sep 2004 02:28:07 -0000 1.16
++++ src/tileset.c 28 Jan 2012 21:53:19 -0000 1.17
+@@ -1,4 +1,4 @@
+-/* $Id: tileset.c,v 1.16 2004-09-26 02:28:07 stpohle Exp $ */
++/* $Id: tileset.c,v 1.17 2012-01-28 21:53:19 steffen Exp $ */
+ /* load and select tilesets */
+
+ #include "bomberclone.h"
+@@ -72,7 +72,6 @@
+ char tileset[LEN_TILESETNAME];
+ SDL_Surface *tmpimage,
+ *tmpimage1;
+- float sfkt;
+
+ d_printf ("Loading Tileset: %s\n", tilesetname);
+ strncpy (tileset, tilesetname, LEN_TILESETNAME);
+@@ -101,7 +100,6 @@
+
+ /* create Table of points */
+ scale (gfx.postab, gfx.block.x, 256);
+- sfkt = ((float) gfx.block.x) / ((float) GFX_IMGSIZE);
+
+ /* calculating the best offset for the field on the screen */
+ gfx.offset.x = (gfx.res.x - (gfx.block.x * map.size.x)) / 2;
diff --git a/community/bomberclone/bomberclone.desktop b/community/bomberclone/bomberclone.desktop
new file mode 100644
index 000000000..affc0d8ad
--- /dev/null
+++ b/community/bomberclone/bomberclone.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Name=BomberClone
+GenericName=BomberClone
+Comment=Atomic Bomberman clone
+Icon=/usr/share/games/bomberclone/pixmaps/bomberclone.png
+TryExec=bomberclone
+Exec=bomberclone
+Terminal=false
+Categories=Qt;KDE;GNOME;Game;
diff --git a/community/bonnie++/PKGBUILD b/community/bonnie++/PKGBUILD
new file mode 100644
index 000000000..cfafec7c9
--- /dev/null
+++ b/community/bonnie++/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: jelle van der Waa <jelle@vdwaa.nl>
+# Contributor: eric <eric@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=bonnie++
+pkgver=1.97
+pkgrel=1
+pkgdesc="Based on the Bonnie hard drive benchmark by Tim Bray"
+arch=('i686' 'x86_64')
+url="http://www.coker.com.au/bonnie++/"
+license=('GPL')
+depends=('perl')
+source=(http://www.coker.com.au/bonnie++/experimental/$pkgname-$pkgver.tgz)
+md5sums=('d6cf9703242998b2ddc2d875b028b3c6')
+build() {
+ cd $srcdir/${pkgname}-${pkgver}.1
+
+ ./configure --prefix=/usr
+ sed -i "s:CFLAGS=-O2 -DNDEBUG \$(WFLAGS) \$(MORECFLAGS):CFLAGS=${CFLAGS}:" Makefile
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname}-${pkgver}.1
+
+ # https://www.archlinux.org/todo/move-files-to-usrbin-if-possible/
+ sed -i 's/sbin/bin/' Makefile
+ make prefix="${pkgdir}/usr" install
+
+ install -d $pkgdir/usr/share/doc/bonnie++
+ install -Dm644 $srcdir/$pkgname-$pkgver.1/readme.html $pkgdir/usr/share/doc/bonnie++/readme.html
+}
+
diff --git a/community/bonnie++/move_away_from_sbin.patch b/community/bonnie++/move_away_from_sbin.patch
new file mode 100644
index 000000000..18e99e976
--- /dev/null
+++ b/community/bonnie++/move_away_from_sbin.patch
@@ -0,0 +1,14 @@
+diff -aur bonnie++-1.03e/Makefile bonnie++-1.03ef/Makefile
+--- bonnie++-1.03e/Makefile 2013-05-13 08:40:45.122959831 +0000
++++ bonnie++-1.03ef/Makefile 2013-05-13 08:43:20.365248937 +0000
+@@ -33,8 +33,8 @@
+ $(CXX) zcav.cpp -o zcav $(ZCAVOBJS) $(LFLAGS)
+
+ install-bin: $(EXES)
+- mkdir -p $(eprefix)/bin $(eprefix)/sbin
+- ${INSTALL} -s $(EXES) $(eprefix)/sbin
++ mkdir -p $(eprefix)/bin
++ ${INSTALL} -s $(EXES) $(eprefix)/bin
+ ${INSTALL} $(SCRIPTS) $(eprefix)/bin
+
+ install: install-bin
diff --git a/community/botan/PKGBUILD b/community/botan/PKGBUILD
new file mode 100644
index 000000000..190945b06
--- /dev/null
+++ b/community/botan/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 87983 2013-04-09 20:48:46Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: d'Ronin <daronin@2600.com>
+
+pkgname=botan
+pkgver=1.10.5
+pkgrel=1
+pkgdesc='Crypto library written in C++'
+license=('BSD')
+arch=('x86_64' 'i686')
+url='http://botan.randombit.net/'
+depends=('gcc-libs' 'sh')
+makedepends=('python2')
+source=("http://files.randombit.net/botan/Botan-${pkgver}.tbz")
+sha256sums=('2934c00533847dc93c485081d3ce6aae4a110151a69b587b895241159da77cf3')
+
+build() {
+ cd "$srcdir/Botan-$pkgver"
+
+ sed -i 's:env python:env python2:' configure.py
+ ./configure.py --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/Botan-$pkgver"
+
+ make DESTDIR="$pkgdir/usr" install
+ install -Dm644 doc/license.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ find "$pkgdir/usr/share/doc" -type f -exec chmod 0644 {} \;
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/box2d/PKGBUILD b/community/box2d/PKGBUILD
new file mode 100644
index 000000000..6aadfb8d3
--- /dev/null
+++ b/community/box2d/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 64742 2012-02-18 03:45:38Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+
+pkgname=box2d
+pkgver=2.2.1
+pkgrel=2
+pkgdesc="2D rigid body simulation library for games"
+url="http://www.box2d.org/"
+license=('zlib')
+arch=('i686' 'x86_64')
+#depends=('freeglut')
+makedepends=('cmake')
+optdepends=()
+source=(http://box2d.googlecode.com/files/Box2D_v${pkgver}.zip)
+md5sums=('9e9d32a34fb5554c47f0f9cade0fa611')
+
+build() {
+ cd ${srcdir}/Box2D_v${pkgver}
+
+ msg "Starting build"
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+ cmake .. \
+ -DBOX2D_INSTALL=ON \
+ -DBOX2D_BUILD_SHARED=ON \
+ -DBOX2D_BUILD_STATIC=ON \
+ -DBOX2D_BUILD_EXAMPLES=OFF \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/Box2D_v${pkgver}/build
+
+ make DESTDIR=${pkgdir} install
+
+ mkdir -p ${pkgdir}/usr/share/doc/box2d/
+ cp -r ${srcdir}/Box2D_v${pkgver}/Documentation/* ${pkgdir}/usr/share/doc/box2d/
+ find ${pkgdir}/usr/share/doc/box2d/ -type f | xargs chmod 644
+ find ${pkgdir}/usr/share/doc/box2d/ -type d | xargs chmod 755
+
+ install -Dm644 ${srcdir}/Box2D_v${pkgver}/License.txt ${pkgdir}/usr/share/licenses/box2d/LICENSE
+}
+# vim: sw=2 ts=2 et:
diff --git a/community/brise/PKGBUILD b/community/brise/PKGBUILD
new file mode 100644
index 000000000..efbeccd76
--- /dev/null
+++ b/community/brise/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 90136 2013-05-07 05:26:31Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: GONG Chen <chen dot sst at gmail dot com>
+
+pkgname=brise
+pkgver=0.22
+pkgrel=1
+pkgdesc="Rime schema repository"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/rimeime/"
+license=('GPL3')
+depends=()
+makedepends=('cmake' 'librime>=0.9.9')
+provides=('librime-data')
+conflicts=('librime<0.9.9' 'ibus-rime<0.9.9')
+source=("http://rimeime.googlecode.com/files/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "${srcdir}/$pkgname"
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname"
+ make DESTDIR="$pkgdir" install
+}
+md5sums=('d9a55bc0b6bdd49e2622b76df43ef12f')
diff --git a/community/bsd-games/PKGBUILD b/community/bsd-games/PKGBUILD
new file mode 100644
index 000000000..1b4ac12da
--- /dev/null
+++ b/community/bsd-games/PKGBUILD
@@ -0,0 +1,104 @@
+# $Id: PKGBUILD 90951 2013-05-16 09:13:23Z lcarlier $
+# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Abhishek Dasgupta <abhidg@gmail.com>
+# Contributor: SmackleFunky <smacklefunky@optusnet.com.au>
+
+pkgname=bsd-games
+pkgver=2.17
+pkgrel=14
+pkgdesc="A linux port for a collection of BSD command line games."
+url="ftp://ftp.ibiblio.org/pub/Linux/games/"
+arch=('i686' 'x86_64')
+install=$pkgname.install
+license=('BSD')
+depends=(gcc-libs words sh)
+makedepends=('flex' 'bison' 'm4')
+source=(ftp://ftp.ibiblio.org/pub/Linux/games/$pkgname-$pkgver.tar.gz
+ config.params stdio.h.diff gamescreen.h.diff getline.diff
+ number.c.diff bsd-games-2.17-64bit.patch
+ bad-ntohl-cast.diff null-check.diff)
+md5sums=('238a38a3a017ca9b216fc42bde405639'
+ '2ea80281ee9993a9ee47323e78349a2a'
+ '784f68c796b9e099ac008aecef1af998'
+ '9c0fa6e2345bd0a7945c9a41d5ba68aa'
+ '5356bd6999ae53dd27cb2a0f837a3e70'
+ '47249a90f38ccb4dd07625b245bbc728'
+ '257813b76a41c8b2c02701571c804227'
+ '3d21a9dad2e603ddf3842972e4ff85a1'
+ 'a43ca0b4b9ebc4eec26372c52014ac0a')
+
+prepare() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ [ "$CARCH" = "x86_64" ] && patch -p1 < "$srcdir/bsd-games-2.17-64bit.patch"
+ cp "${srcdir}/config.params" .
+
+ # Several games use their own internal functions named getline. All
+ # are different, and none is the getline from glibc. So we need a patch
+ # in order to compile. Each internal getline function is prefixed
+ # with the name of the game. -- Chris Brannon
+ patch -p1 -i "${srcdir}/getline.diff"
+
+ patch -p1 -i "${srcdir}/stdio.h.diff"
+ patch -p1 -i "${srcdir}/gamescreen.h.diff"
+
+# Incorporated some fixes from Debian
+ patch -p1 -i "${srcdir}/number.c.diff"
+# ntohl returns uint32_t, not unsigned long:
+ patch -p1 -i "${srcdir}/bad-ntohl-cast.diff"
+# And add a NULL pointer check to the "hunt" program, fixing a segfault.
+ patch -p1 -i "${srcdir}/null-check.diff"
+
+ sed -i "s/FISH/GO-FISH/g; s/\.Nm fish/\.Nm go-fish/g" fish/fish.6
+ sed -i "s/tenths/tenth/g" tests/number.-0.1
+ sed -i "s/Elegy{ Written in a Country Church{-| }Yard:/Elegy{ Written in a Country Church{-| }Yard}:/g" \
+ quiz/datfiles/poetry
+ sed -i "s/\.tI friend/\.It friend/g" hunt/hunt/hunt.6.in
+ sed -i "s/it\'s initial/its initial/g" backgammon/teachgammon/ttext1.c
+ sed -i "s/two player\'s/two players/g" backgammon/teachgammon/ttext2.c
+ sed -i "s/\.I range/\.It range/g" arithmetic/arithmetic.6
+ sed -i "s/game were the/game where the/g" gomoku/gomoku.6
+
+ # The wargames script expects binaries in /usr/games, and this
+ # path is hard-coded.
+ # Prior to release 2.17-10 of the ArchLinux package, wargames was
+ # broken, since binaries are in /usr/bin instead.
+ sed -i -e 's|/usr/games|/usr/bin|g' wargames/wargames
+}
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ ./configure
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver"
+ sed -i "s%PKGDIR%$pkgdir%g" hide-game install-man install-score Makeconfig subst.sed
+ make install
+ # This make install command does install to $pkgdir, because of the
+ # change to config.params in the build function.
+
+# Fix permissions
+ rmdir "${pkgdir}/tmp"
+ install -dm755 "${pkgdir}/usr/share/bsdgames/data/hack/save"
+ chown -R root:games "${pkgdir}/var/lib/bsdgames"
+ chmod 664 "${pkgdir}"/var/lib/bsdgames/*
+ chmod 664 "${pkgdir}"/var/lib/bsdgames/{hack,phantasia}/*
+ chmod 775 "${pkgdir}"/var/lib/bsdgames/{hack,phantasia}
+
+# Remove conflict with xscreensaver and fish
+ mv "${pkgdir}/usr/bin/fish" "${pkgdir}/usr/bin/go-fish"
+ mv "${pkgdir}/usr/share/man/man6/fish.6.gz" "${pkgdir}/usr/share/man/man6/go-fish.6.gz"
+ mv "${pkgdir}/usr/share/man/man6/worm.6.gz" \
+ "${pkgdir}/usr/share/man/man6/worm-game.6.gz"
+
+# Install documentation and license
+ install -dm755 "$pkgdir/usr/share/doc/bsd-games"
+ install -m644 AUTHORS NEWS BUGS ChangeLog "$pkgdir/usr/share/doc/$pkgname" \
+
+ rm "${pkgdir}/usr/share/doc/trek.me"
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/$pkgname/COPYING"
+}
+
diff --git a/community/bsd-games/bad-ntohl-cast.diff b/community/bsd-games/bad-ntohl-cast.diff
new file mode 100644
index 000000000..f783813e9
--- /dev/null
+++ b/community/bsd-games/bad-ntohl-cast.diff
@@ -0,0 +1,22 @@
+diff --git a/hunt/hunt/playit.c b/hunt/hunt/playit.c
+index 9acf86e..881a4e7 100644
+--- a/hunt/hunt/playit.c
++++ b/hunt/hunt/playit.c
+@@ -114,7 +114,7 @@ playit()
+ bad_con();
+ /* NOTREACHED */
+ }
+- if (ntohl(version) != (unsigned long)HUNT_VERSION) {
++ if (ntohl(version) != (uint32_t)HUNT_VERSION) {
+ bad_ver();
+ /* NOTREACHED */
+ }
+@@ -649,7 +649,7 @@ do_message()
+ bad_con();
+ /* NOTREACHED */
+ }
+- if (ntohl(version) != (unsigned long)HUNT_VERSION) {
++ if (ntohl(version) != (uint32_t)HUNT_VERSION) {
+ bad_ver();
+ /* NOTREACHED */
+ }
diff --git a/community/bsd-games/bsd-games-2.17-64bit.patch b/community/bsd-games/bsd-games-2.17-64bit.patch
new file mode 100644
index 000000000..a56ea8454
--- /dev/null
+++ b/community/bsd-games/bsd-games-2.17-64bit.patch
@@ -0,0 +1,43 @@
+David Leverton writes about adventure/crc.c:
+
+The 'adventure' game from the games-misc/bsd-games-2.13 package crashes
+when saving the game on AMD64 (and probably other 64-bit systems, but I
+haven't checked). Find attached to fix this.
+
+http://bugs.gentoo.org/show_bug.cgi?id=77032
+
+
+About utmpentry.c:
+
+the utmpx structure defines the ut_tv member a little differently on
+64bit hosts so that a 32bit and 64bit structure can be shared. So the
+ut_tv is a custom 32bit structure rather than the native 64bit timeval
+structure. Work around is to assign the submembers instead.
+
+http://bugs.gentoo.org/show_bug.cgi?id=102667
+
+--- bsd-games/adventure/crc.c
++++ bsd-games/adventure/crc.c
+@@ -134,7 +134,8 @@
+ if (step >= sizeof(crctab) / sizeof(crctab[0]))
+ step = 0;
+ }
+- crcval = (crcval << 8) ^ crctab[i];
++ /* Mask to 32 bits. */
++ crcval = ((crcval << 8) ^ crctab[i]) & 0xffffffff;
+ }
+- return crcval & 0xffffffff; /* Mask to 32 bits. */
++ return crcval;
+ }
+--- bsd-games/dm/utmpentry.c
++++ bsd-games/dm/utmpentry.c
+@@ -291,7 +291,8 @@
+ e->line[sizeof(e->line) - 1] = '\0';
+ (void)strncpy(e->host, up->ut_host, sizeof(up->ut_host));
+ e->name[sizeof(e->host) - 1] = '\0';
+- e->tv = up->ut_tv;
++ e->tv.tv_sec = up->ut_tv.tv_sec;
++ e->tv.tv_usec = up->ut_tv.tv_usec;
+ adjust_size(e);
+ }
+ #endif
diff --git a/community/bsd-games/bsd-games.install b/community/bsd-games/bsd-games.install
new file mode 100644
index 000000000..453a6ded7
--- /dev/null
+++ b/community/bsd-games/bsd-games.install
@@ -0,0 +1,11 @@
+MSG="You need to be in the games group to use the score files."
+
+post_install() {
+ echo $MSG
+}
+
+post_upgrade() {
+ if [ $(vercmp 2.17-8 $2) -ge 0 ]; then
+ echo $MSG
+ fi
+}
diff --git a/community/bsd-games/config.params b/community/bsd-games/config.params
new file mode 100644
index 000000000..f061d8f26
--- /dev/null
+++ b/community/bsd-games/config.params
@@ -0,0 +1,15 @@
+bsd_games_cfg_non_interactive=y
+bsd_games_cfg_install_prefix=PKGDIR
+bsd_games_cfg_no_build_dirs='banner fortune wtf factor monop'
+bsd_games_cfg_gamesdir=/usr/bin
+bsd_games_cfg_sbindir=/usr/bin
+bsd_games_cfg_man6dir=/usr/share/man/man6
+bsd_games_cfg_man5dir=/usr/share/man/man5
+bsd_games_cfg_man8dir=/usr/share/man/man8
+bsd_games_cfg_docdir=/usr/share/doc
+bsd_games_cfg_sharedir=/usr/share/bsdgames
+bsd_games_cfg_varlibdir=/var/lib/bsdgames
+bsd_games_cfg_do_chown=n
+bsd_games_cfg_sail_dir=/tmp
+bsd_games_cfg_sail_dir_perms=0777
+bsd_games_cfg_hack_dir_perms=0777
diff --git a/community/bsd-games/gamescreen.h.diff b/community/bsd-games/gamescreen.h.diff
new file mode 100644
index 000000000..f74ebcb4b
--- /dev/null
+++ b/community/bsd-games/gamescreen.h.diff
@@ -0,0 +1,15 @@
+--- a/dab/gamescreen.h 2004-01-02 23:34:51.000000000 +0530
++++ b/dab/gamescreen.h 2008-07-31 23:45:19.000000000 +0530
+@@ -70,9 +70,9 @@
+ virtual void redraw(void) = 0; // Refresh
+ virtual int getinput(void) = 0; // Get user input
+ virtual void bell(void) = 0; // Beep
+- virtual void score(size_t p, const PLAYER& p) = 0; // Post current score
+- virtual void games(size_t p, const PLAYER& p) = 0; // Post games won
+- virtual void total(size_t p, const PLAYER& p) = 0; // Post total score
++ virtual void score(size_t, const PLAYER&) = 0; // Post current score
++ virtual void games(size_t, const PLAYER&) = 0; // Post games won
++ virtual void total(size_t, const PLAYER&) = 0; // Post total score
+ virtual void ties(const PLAYER& p) = 0; // Post tie games
+ };
+
diff --git a/community/bsd-games/getline.diff b/community/bsd-games/getline.diff
new file mode 100644
index 000000000..99a663847
--- /dev/null
+++ b/community/bsd-games/getline.diff
@@ -0,0 +1,194 @@
+diff -Naur bsd-games-2.17/boggle/boggle/bog.c bsd-games-2.17.1/boggle/boggle/bog.c
+--- bsd-games-2.17/boggle/boggle/bog.c 2004-12-07 07:34:21.000000000 -0600
++++ bsd-games-2.17.1/boggle/boggle/bog.c 2010-05-22 10:51:23.000000000 -0500
+@@ -336,7 +336,7 @@
+ }
+
+ while (1) {
+- if (getline(buf) == NULL) {
++ if (boggle_getline(buf) == NULL) {
+ if (feof(stdin))
+ clearerr(stdin);
+ break;
+diff -Naur bsd-games-2.17/boggle/boggle/extern.h bsd-games-2.17.1/boggle/boggle/extern.h
+--- bsd-games-2.17/boggle/boggle/extern.h 2004-01-27 14:52:07.000000000 -0600
++++ bsd-games-2.17.1/boggle/boggle/extern.h 2010-05-22 10:51:23.000000000 -0500
+@@ -43,7 +43,7 @@
+ long dictseek(FILE *, long, int);
+ void findword(void);
+ void flushin(FILE *);
+-char *getline(char *);
++char *boggle_getline(char *);
+ void getword(char *);
+ int help(void);
+ int inputch(void);
+diff -Naur bsd-games-2.17/boggle/boggle/mach.c bsd-games-2.17.1/boggle/boggle/mach.c
+--- bsd-games-2.17/boggle/boggle/mach.c 2004-12-07 07:34:21.000000000 -0600
++++ bsd-games-2.17.1/boggle/boggle/mach.c 2010-05-22 10:51:23.000000000 -0500
+@@ -168,7 +168,7 @@
+ * - doesn't accept words longer than MAXWORDLEN or containing caps
+ */
+ char *
+-getline(q)
++boggle_getline(q)
+ char *q;
+ {
+ int ch, done;
+diff -Naur bsd-games-2.17/cribbage/cribbage.h bsd-games-2.17.1/cribbage/cribbage.h
+--- bsd-games-2.17/cribbage/cribbage.h 2004-02-08 16:29:14.000000000 -0600
++++ bsd-games-2.17.1/cribbage/cribbage.h 2010-05-22 10:51:23.000000000 -0500
+@@ -77,7 +77,7 @@
+ int fifteens(const CARD [], int);
+ void game(void);
+ void gamescore(void);
+-char *getline(void);
++char *cribbage_getline(void);
+ int getuchar(void);
+ int incard(CARD *);
+ int infrom(const CARD [], int, const char *);
+diff -Naur bsd-games-2.17/cribbage/crib.c bsd-games-2.17.1/cribbage/crib.c
+--- bsd-games-2.17/cribbage/crib.c 2004-01-27 14:52:07.000000000 -0600
++++ bsd-games-2.17.1/cribbage/crib.c 2010-05-22 10:51:23.000000000 -0500
+@@ -221,7 +221,7 @@
+ if (!rflag) { /* player cuts deck */
+ msg(quiet ? "Cut for crib? " :
+ "Cut to see whose crib it is -- low card wins? ");
+- getline();
++ cribbage_getline();
+ }
+ i = (rand() >> 4) % CARDS; /* random cut */
+ do { /* comp cuts deck */
+@@ -397,7 +397,7 @@
+ if (!rflag) { /* random cut */
+ msg(quiet ? "Cut the deck? " :
+ "How many cards down do you wish to cut the deck? ");
+- getline();
++ cribbage_getline();
+ }
+ i = (rand() >> 4) % (CARDS - pos);
+ turnover = deck[i + pos];
+diff -Naur bsd-games-2.17/cribbage/io.c bsd-games-2.17.1/cribbage/io.c
+--- bsd-games-2.17/cribbage/io.c 2004-12-07 07:34:21.000000000 -0600
++++ bsd-games-2.17.1/cribbage/io.c 2010-05-22 10:51:23.000000000 -0500
+@@ -245,7 +245,7 @@
+
+ retval = FALSE;
+ rnk = sut = EMPTY;
+- if (!(line = getline()))
++ if (!(line = cribbage_getline()))
+ goto gotit;
+ p = p1 = line;
+ while (*p1 != ' ' && *p1 != '\0')
+@@ -346,7 +346,7 @@
+
+ for (sum = 0;;) {
+ msg(prompt);
+- if (!(p = getline()) || *p == '\0') {
++ if (!(p = cribbage_getline()) || *p == '\0') {
+ msg(quiet ? "Not a number" :
+ "That doesn't look like a number");
+ continue;
+@@ -528,12 +528,12 @@
+ }
+
+ /*
+- * getline:
++ * cribbage_getline:
+ * Reads the next line up to '\n' or EOF. Multiple spaces are
+ * compressed to one space; a space is inserted before a ','
+ */
+ char *
+-getline()
++cribbage_getline()
+ {
+ char *sp;
+ int c, oy, ox;
+diff -Naur bsd-games-2.17/gomoku/bdisp.c bsd-games-2.17.1/gomoku/bdisp.c
+--- bsd-games-2.17/gomoku/bdisp.c 2003-12-16 20:47:37.000000000 -0600
++++ bsd-games-2.17.1/gomoku/bdisp.c 2010-05-22 10:51:23.000000000 -0500
+@@ -241,7 +241,7 @@
+ }
+
+ int
+-getline(buf, size)
++gomoku_getline(buf, size)
+ char *buf;
+ int size;
+ {
+diff -Naur bsd-games-2.17/gomoku/gomoku.h bsd-games-2.17.1/gomoku/gomoku.h
+--- bsd-games-2.17/gomoku/gomoku.h 2004-01-27 14:52:07.000000000 -0600
++++ bsd-games-2.17.1/gomoku/gomoku.h 2010-05-22 10:51:23.000000000 -0500
+@@ -263,7 +263,7 @@
+
+ void bdinit(struct spotstr *);
+ void init_overlap(void);
+-int getline(char *, int);
++int gomoku_getline(char *, int);
+ void ask(const char *);
+ void dislog(const char *);
+ void bdump(FILE *);
+diff -Naur bsd-games-2.17/gomoku/main.c bsd-games-2.17.1/gomoku/main.c
+--- bsd-games-2.17/gomoku/main.c 2004-01-27 14:52:07.000000000 -0600
++++ bsd-games-2.17.1/gomoku/main.c 2010-05-22 10:51:23.000000000 -0500
+@@ -155,7 +155,7 @@
+ if (inputfp == NULL && test == 0) {
+ for (;;) {
+ ask("black or white? ");
+- getline(buf, sizeof(buf));
++ gomoku_getline(buf, sizeof(buf));
+ if (buf[0] == 'b' || buf[0] == 'B') {
+ color = BLACK;
+ break;
+@@ -172,7 +172,7 @@
+ }
+ } else {
+ setbuf(stdout, 0);
+- getline(buf, sizeof(buf));
++ gomoku_getline(buf, sizeof(buf));
+ if (strcmp(buf, "black") == 0)
+ color = BLACK;
+ else if (strcmp(buf, "white") == 0)
+@@ -244,7 +244,7 @@
+ getinput:
+ if (interactive)
+ ask("move? ");
+- if (!getline(buf, sizeof(buf))) {
++ if (!gomoku_getline(buf, sizeof(buf))) {
+ curmove = RESIGN;
+ break;
+ }
+@@ -256,7 +256,7 @@
+ FILE *fp;
+
+ ask("save file name? ");
+- (void)getline(buf, sizeof(buf));
++ (void)gomoku_getline(buf, sizeof(buf));
+ if ((fp = fopen(buf, "w")) == NULL) {
+ glog("cannot create save file");
+ goto getinput;
+@@ -309,14 +309,14 @@
+ if (i != RESIGN) {
+ replay:
+ ask("replay? ");
+- if (getline(buf, sizeof(buf)) &&
++ if (gomoku_getline(buf, sizeof(buf)) &&
+ (buf[0] == 'y' || buf[0] == 'Y'))
+ goto again;
+ if (strcmp(buf, "save") == 0) {
+ FILE *fp;
+
+ ask("save file name? ");
+- (void)getline(buf, sizeof(buf));
++ (void)gomoku_getline(buf, sizeof(buf));
+ if ((fp = fopen(buf, "w")) == NULL) {
+ glog("cannot create save file");
+ goto replay;
+@@ -367,7 +367,7 @@
+ quit();
+ top:
+ ask("cmd? ");
+- if (!getline(fmtbuf, sizeof(fmtbuf)))
++ if (!gomoku_getline(fmtbuf, sizeof(fmtbuf)))
+ quit();
+ switch (*fmtbuf) {
+ case '\0':
diff --git a/community/bsd-games/null-check.diff b/community/bsd-games/null-check.diff
new file mode 100644
index 000000000..048ed93f4
--- /dev/null
+++ b/community/bsd-games/null-check.diff
@@ -0,0 +1,24 @@
+diff --git a/hunt/hunt/hunt.c b/hunt/hunt/hunt.c
+index 11f4c44..28321bc 100644
+--- a/hunt/hunt/hunt.c
++++ b/hunt/hunt/hunt.c
+@@ -394,7 +394,8 @@ broadcast_vec(s, vector)
+
+ vec_cnt = 0;
+ for (ip = ifp; ip; ip = ip->ifa_next)
+- if ((ip->ifa_addr->sa_family == AF_INET) &&
++ if (ip->ifa_addr &&
++ (ip->ifa_addr->sa_family == AF_INET) &&
+ (ip->ifa_flags & IFF_BROADCAST))
+ vec_cnt++;
+
+@@ -405,7 +406,8 @@ broadcast_vec(s, vector)
+
+ vec_cnt = 0;
+ for (ip = ifp; ip; ip = ip->ifa_next)
+- if ((ip->ifa_addr->sa_family == AF_INET) &&
++ if (ip->ifa_addr &&
++ (ip->ifa_addr->sa_family == AF_INET) &&
+ (ip->ifa_flags & IFF_BROADCAST))
+ memcpy(&(*vector)[vec_cnt++], ip->ifa_broadaddr,
+ sizeof(struct sockaddr_in));
diff --git a/community/bsd-games/number.c.diff b/community/bsd-games/number.c.diff
new file mode 100644
index 000000000..1acbeff30
--- /dev/null
+++ b/community/bsd-games/number.c.diff
@@ -0,0 +1,156 @@
+--- bsdgames-2.17.orig/number/number.c
++++ bsdgames-2.17/number/number.c
+@@ -78,9 +78,9 @@
+
+ void convert(char *);
+ int main(int, char *[]);
+-int number(const char *, int);
+-void pfract(int);
+-int unit(int, const char *);
++int number(const char *, int, int *);
++void pfract(int, int);
++int unit(int, const char *, int *);
+ void usage(void) __attribute__((__noreturn__));
+
+ int lflag;
+@@ -131,7 +131,7 @@
+ convert(line)
+ char *line;
+ {
+- int flen, len, rval;
++ int flen, len, rval, singular;
+ char *p, *fraction;
+
+ flen = 0;
+@@ -174,7 +174,7 @@
+ --len;
+ }
+
+- rval = len > 0 ? unit(len, line) : 0;
++ rval = len > 0 ? unit(len, line, &singular) : 0;
+ if (fraction != NULL && flen != 0)
+ for (p = fraction; *p != '\0'; ++p)
+ if (*p != '0') {
+@@ -182,10 +182,10 @@
+ (void)printf("%sand%s",
+ lflag ? " " : "",
+ lflag ? " " : "\n");
+- if (unit(flen, fraction)) {
++ if (unit(flen, fraction, &singular)) {
+ if (lflag)
+ (void)printf(" ");
+- pfract(flen);
++ pfract(flen, singular);
+ rval = 1;
+ }
+ break;
+@@ -197,9 +197,10 @@
+ }
+
+ int
+-unit(len, p)
++unit(len, p, singular)
+ int len;
+ const char *p;
++ int *singular;
+ {
+ int off, rval;
+
+@@ -208,7 +209,7 @@
+ if (len % 3) {
+ off = len % 3;
+ len -= off;
+- if (number(p, off)) {
++ if (number(p, off, singular)) {
+ rval = 1;
+ (void)printf(" %s%s",
+ name3[len / 3], lflag ? " " : ".\n");
+@@ -217,14 +218,16 @@
+ }
+ for (; len > 3; p += 3) {
+ len -= 3;
+- if (number(p, 3)) {
++ if (number(p, 3, singular)) {
+ rval = 1;
+ (void)printf(" %s%s",
+ name3[len / 3], lflag ? " " : ".\n");
+ }
+ }
+ }
+- if (number(p, len)) {
++ if (number(p, len, singular)) {
++ if (rval)
++ *singular = 0;
+ if (!lflag)
+ (void)printf(".\n");
+ rval = 1;
+@@ -233,17 +236,20 @@
+ }
+
+ int
+-number(p, len)
++number(p, len, singular)
+ const char *p;
+ int len;
++ int *singular;
+ {
+ int val, rval;
+
+ rval = 0;
++ *singular = 1;
+ switch (len) {
+ case 3:
+ if (*p != '0') {
+ rval = 1;
++ *singular = 0;
+ (void)printf("%s hundred", name1[*p - '0']);
+ }
+ ++p;
+@@ -262,33 +268,42 @@
+ }
+ rval = 1;
+ }
++ if (val != 1)
++ *singular = 0;
+ break;
+ case 1:
+ if (*p != '0') {
+ rval = 1;
+ (void)printf("%s", name1[*p - '0']);
+ }
++ if (*p != '1')
++ *singular = 0;
+ }
+ return (rval);
+ }
+
+ void
+-pfract(len)
++pfract(len, singular)
+ int len;
++ int singular;
+ {
+ static const char *const pref[] = { "", "ten-", "hundred-" };
+
+ switch(len) {
+ case 1:
+- (void)printf("tenths.\n");
++ (void)printf("tenth");
+ break;
+ case 2:
+- (void)printf("hundredths.\n");
++ (void)printf("hundredth");
+ break;
+ default:
+- (void)printf("%s%sths.\n", pref[len % 3], name3[len / 3]);
++ (void)printf("%s%sth", pref[len % 3], name3[len / 3]);
+ break;
+ }
++ if (!singular) {
++ printf("s");
++ }
++ printf(".\n");
+ }
+
+ void
+
diff --git a/community/bsd-games/stdio.h.diff b/community/bsd-games/stdio.h.diff
new file mode 100644
index 000000000..786fa54c4
--- /dev/null
+++ b/community/bsd-games/stdio.h.diff
@@ -0,0 +1,14 @@
+diff -ru a/include/stdio.h b/include/stdio.h
+--- a/include/stdio.h 2000-08-04 10:24:39.000000000 +1000
++++ b/include/stdio.h 2005-06-18 14:26:35.000000000 +1000
+@@ -34,6 +34,10 @@
+ #include <bsd-games.h>
+ #include_next <stdio.h>
+
++__BEGIN_DECLS
++
+ #ifndef HAVE_fgetln
+ extern char *fgetln(FILE *stream, size_t *len);
+ #endif
++
++__END_DECLS
diff --git a/community/bsdiff/Makefile.patch b/community/bsdiff/Makefile.patch
new file mode 100644
index 000000000..b2a3ffa82
--- /dev/null
+++ b/community/bsdiff/Makefile.patch
@@ -0,0 +1,25 @@
+--- Makefile.old 2005-08-17 00:14:10.000000000 +0200
++++ Makefile 2007-09-15 12:32:07.000000000 +0200
+@@ -1,15 +1,16 @@
+ CFLAGS += -O3 -lbz2
+
+ PREFIX ?= /usr/local
+-INSTALL_PROGRAM ?= ${INSTALL} -c -s -m 555
+-INSTALL_MAN ?= ${INSTALL} -c -m 444
++INSTALL = /bin/install
++INSTALL_PROGRAM ?= ${INSTALL} -D -m755
++INSTALL_MAN ?= ${INSTALL} -D -m644
+
+ all: bsdiff bspatch
+ bsdiff: bsdiff.c
+ bspatch: bspatch.c
+
+ install:
+- ${INSTALL_PROGRAM} bsdiff bspatch ${PREFIX}/bin
+-.ifndef WITHOUT_MAN
+- ${INSTALL_MAN} bsdiff.1 bspatch.1 ${PREFIX}/man/man1
+-.endif
++ ${INSTALL_PROGRAM} bsdiff ${PREFIX}/bin/bsdiff
++ ${INSTALL_PROGRAM} bspatch ${PREFIX}/bin/bspatch
++ ${INSTALL_MAN} bsdiff.1 ${PREFIX}/man/man1/bsdiff.1
++ ${INSTALL_MAN} bspatch.1 ${PREFIX}/man/man1/bspatch.1
diff --git a/community/bsdiff/PKGBUILD b/community/bsdiff/PKGBUILD
new file mode 100644
index 000000000..c7fedfdc4
--- /dev/null
+++ b/community/bsdiff/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 65062 2012-02-20 02:39:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=bsdiff
+pkgver=4.3
+pkgrel=7
+pkgdesc="bsdiff and bspatch are tools for building and applying patches to binary files."
+url="http://www.daemonology.net/bsdiff/"
+license=('BSD')
+arch=('i686' 'x86_64')
+depends=('bzip2')
+source=(http://www.daemonology.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ Makefile.patch)
+md5sums=('e6d812394f0e0ecc8d5df255aa1db22a'
+ '87ec6120b2e2d38da5a67821af6ac356')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -p0 < ../Makefile.patch
+ make
+ make PREFIX=${pkgdir}/usr install
+ mkdir -p $pkgdir/usr/share
+ mv ${pkgdir}/usr/man ${pkgdir}/usr/share/man/
+}
diff --git a/community/btanks/PKGBUILD b/community/btanks/PKGBUILD
new file mode 100644
index 000000000..838429b61
--- /dev/null
+++ b/community/btanks/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 81100 2012-12-12 00:47:26Z eric $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Nick B <Shirakawasuna at gmail _dot_ com>
+
+pkgname=btanks
+pkgver=0.9.8083
+pkgrel=4
+pkgdesc="Fast 2d tank arcade game with multiplayer and split-screen modes."
+arch=('i686' 'x86_64')
+url="http://btanks.sourceforge.net"
+license=('GPL')
+depends=('expat' 'libgl' 'libsigc++2.0' 'libvorbis' 'lua' 'openal' 'sdl' 'sdl_image'
+ 'smpeg' 'glu' "btanks-data=$pkgver")
+makedepends=('scons' 'chrpath' 'mesa')
+source=(http://downloads.sourceforge.net/btanks/btanks-$pkgver.tar.bz2
+ btanks_desktop
+ btanks_script
+ bted_script
+ gcc-4.6.patch
+ lua52.patch)
+install=btanks.install
+md5sums=('49cb95c0eec47d3436c4fdf65e7c9d12'
+ 'a2ddeb1e79dff8d3fd702984c8d3aab5'
+ '07657cfa71b1de1d008cc5e3ade9749b'
+ '91a61c0f581ea27281bdaecb7a3cd58b'
+ 'b816c5f3ae2d6cd954c15569d4baf123'
+ 'e7af4af59255166bee530cbabd953226')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ sed -i '1,1i#include <sys/types.h>' mrt/base_file.h
+ patch -p1 <$srcdir/gcc-4.6.patch
+ patch -p1 <$srcdir/lua52.patch
+
+ python2 engine/sl08/sl08.py >engine/sl08/sl08.h
+ scons
+
+ mkdir -p $pkgdir/usr/share/btanks
+ cp *.so btanks bted $pkgdir/usr/share/btanks/
+
+ # Install script
+ install -D -m755 $srcdir/bted_script $pkgdir/usr/bin/bted
+ install -D -m755 $srcdir/btanks_script $pkgdir/usr/bin/btanks
+
+ # Install desktop file
+ install -D -m644 $srcdir/btanks_desktop $pkgdir/usr/share/applications/btanks.desktop
+
+ # Install icon
+ install -D -m644 $srcdir/$pkgname-$pkgver/data/tiles/icon.png $pkgdir/usr/share/pixmaps/btanks.png
+
+ # Make settings saveable
+ touch $pkgdir/usr/share/btanks/bt.xml
+ chown :games $pkgdir/usr/share/btanks/bt.xml
+ chmod 664 $pkgdir/usr/share/btanks/bt.xml
+
+ # move executables, fix rpath
+ cd $pkgdir/usr/share/btanks
+ mkdir -p $pkgdir/usr/bin $pkgdir/usr/lib/btanks
+
+ mv btanks $pkgdir/usr/bin/btanks-bin
+ mv bted $pkgdir/usr/bin/bted-bin
+ mv *.so $pkgdir/usr/lib/btanks/
+
+ ln -s /usr/bin/btanks-bin ./btanks
+ ln -s /usr/bin/bted-bin ./bted
+
+ ls -1 $pkgdir/usr/lib/btanks/ | while read A; do
+ ln -s /usr/lib/btanks/$A ./$A
+ done
+
+ chrpath -d $pkgdir/usr/bin/bted-bin
+ chrpath -d $pkgdir/usr/bin/btanks-bin
+ chrpath -d $pkgdir/usr/lib/btanks/*.so
+}
diff --git a/community/btanks/btanks.install b/community/btanks/btanks.install
new file mode 100644
index 000000000..f9ac8fce7
--- /dev/null
+++ b/community/btanks/btanks.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo "In order to be able to change game preferences, you must be in the 'games' group."
+}
+
+post_upgrade() {
+ echo "In order to be able to change game preferences, you must be in the 'games' group."
+}
diff --git a/community/btanks/btanks_desktop b/community/btanks/btanks_desktop
new file mode 100644
index 000000000..548fa7bfe
--- /dev/null
+++ b/community/btanks/btanks_desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Version=1.0
+Name=Battle Tanks!
+Comment= A 2D arcade tank battle!
+Icon=btanks
+Exec=btanks
+Terminal=false
+StartupNotify=false
+Categories=Game;ArcadeGame;
diff --git a/community/btanks/btanks_script b/community/btanks/btanks_script
new file mode 100644
index 000000000..86ad105ef
--- /dev/null
+++ b/community/btanks/btanks_script
@@ -0,0 +1,6 @@
+#!/bin/bash
+#This is the script for running the actual btanks executable
+
+cd /usr/share/btanks/
+export LD_LIBRARY_PATH=/usr/lib/btanks
+exec ./btanks
diff --git a/community/btanks/bted_script b/community/btanks/bted_script
new file mode 100644
index 000000000..69ba70309
--- /dev/null
+++ b/community/btanks/bted_script
@@ -0,0 +1,6 @@
+#!/bin/bash
+#This is the script for running the actual bted executable
+
+cd /usr/share/btanks/
+export LD_LIBRARY_PATH=/usr/lib/btanks
+exec ./bted
diff --git a/community/btanks/gcc-4.6.patch b/community/btanks/gcc-4.6.patch
new file mode 100644
index 000000000..c944378fd
--- /dev/null
+++ b/community/btanks/gcc-4.6.patch
@@ -0,0 +1,70 @@
+diff -wbBur btanks-0.9.8083/engine/sl08/sl08.py btanks-0.9.8083.my/engine/sl08/sl08.py
+--- btanks-0.9.8083/engine/sl08/sl08.py 2008-08-13 13:10:45.000000000 +0400
++++ btanks-0.9.8083.my/engine/sl08/sl08.py 2012-11-15 18:04:44.002524495 +0400
+@@ -152,11 +152,11 @@
+ typedef base_signalXXX %s signal_type;
+ typedef return_type (object_type::*func_t) %s;
+
+- inline slotXXX () : object(NULL), func(NULL) {}
+- inline slotXXX(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
++ inline slotXXX () : object(0), func(0) {}
++ inline slotXXX(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {}
+
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; base_slotXXX%s::connect(signal_ref); }
+
+ inline return_type operator() %s const {
+ return (object->*func) %s ;
+@@ -175,7 +175,9 @@
+ self.template_declaration('slot'),
+ self.template_parameters('base-slot'),
+ self.template_parameters('base-slot'),
+- self.prototype(True), self.prototype(True), self.prototype(False),
++ self.prototype(True),
++ self.template_parameters('base-signal'),
++ self.prototype(True), self.prototype(False),
+ )
+
+ #specialized version of the slot
+@@ -187,10 +189,10 @@
+ typedef base_signalXXX %s signal_type;
+ typedef void (object_type::*func_t) %s ;
+
+- inline slotXXX () : object(NULL), func(NULL) {}
++ inline slotXXX () : object(0), func(0) {}
+ inline slotXXX (object_type *object, func_t func) : object(object), func(func) {}
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; base_slotXXX%s::connect(signal_ref); }
+
+ inline void operator() %s const {
+ (object->*func) %s;
+@@ -206,6 +208,7 @@
+ self.template_parameters('base-slot', True),
+ self.template_parameters('base-slot', True),
+ self.prototype(True),
++ self.template_parameters('base-slot', True),
+ self.prototype(True),
+ self.prototype(False),
+ )
+diff -wbBur btanks-0.9.8083/math/range_list.h btanks-0.9.8083.my/math/range_list.h
+--- btanks-0.9.8083/math/range_list.h 2008-10-24 18:15:55.000000000 +0400
++++ btanks-0.9.8083.my/math/range_list.h 2012-11-15 18:11:52.049236706 +0400
+@@ -53,14 +53,14 @@
+ return;
+ }
+
+- typename parent_type::iterator i = lower_bound(value);
++ typename parent_type::iterator i = std::map<const T, T>::lower_bound(value);
+ if (i != parent_type::end()) {
+ if (i->first == value)
+ return;
+
+ if (value + 1 == i->first) {
+ T e = i->second;
+- erase(i);
++ std::map<const T, T>::erase(i);
+ i = parent_type::insert(typename parent_type::value_type(value, e)).first; //expand beginning
+ i = pack_left(i);
+ }
diff --git a/community/btanks/lua52.patch b/community/btanks/lua52.patch
new file mode 100644
index 000000000..e27d5fdb7
--- /dev/null
+++ b/community/btanks/lua52.patch
@@ -0,0 +1,21 @@
+diff -wbBur btanks-0.9.8083/engine/luaxx/state.cpp btanks-0.9.8083.my/engine/luaxx/state.cpp
+--- btanks-0.9.8083/engine/luaxx/state.cpp 2008-06-08 13:02:39.000000000 +0400
++++ btanks-0.9.8083.my/engine/luaxx/state.cpp 2012-11-15 18:59:07.000000000 +0400
+@@ -59,7 +59,7 @@
+ void State::load(const std::string &fname, const mrt::Chunk &data) {
+ //throw_ex(("implement me[%s]", fname.c_str()));
+ reader_state x(data);
+- int err = lua_load(state, chunk_reader, &x, fname.c_str());
++ int err = lua_load(state, chunk_reader, &x, fname.c_str(), NULL);
+ check_error(state, err);
+ }
+
+@@ -81,7 +81,7 @@
+ assert(state == NULL);
+
+ //state = lua_newstate(l_alloc, this);
+- state = lua_open();
++ state = luaL_newstate();
+ if (state == NULL)
+ throw_ex(("cannot create lua interpreter"));
+
diff --git a/community/bti/PKGBUILD b/community/bti/PKGBUILD
new file mode 100644
index 000000000..63421bc19
--- /dev/null
+++ b/community/bti/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 94095 2013-07-14 11:36:26Z jlichtblau $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: uvok <uvok at online dot de>
+# Contributor: Urist <9362773 at gmail.com>
+
+pkgname=bti
+pkgver=033
+pkgrel=1
+pkgdesc='Console client for Twitter and identi.ca'
+arch=('i686' 'x86_64')
+url='http://gregkh.github.com/bti/'
+license=('GPL')
+depends=('pcre' 'libxml2' 'curl' 'liboauth' 'json-c')
+makedepends=('git')
+source=(http://www.kernel.org/pub/software/web/$pkgname/$pkgname-$pkgver.tar.xz)
+sha256sums=('a3d9d8a86a718a4820387c75ac2af24fecfe754ee562163d700acb7cf795d753')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/bullet/PKGBUILD b/community/bullet/PKGBUILD
new file mode 100644
index 000000000..8f52b48c5
--- /dev/null
+++ b/community/bullet/PKGBUILD
@@ -0,0 +1,74 @@
+# $Id: PKGBUILD 83395 2013-01-31 09:42:11Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+pkgbase=bullet
+pkgname=('bullet' 'bullet-docs')
+_rev=2613
+pkgver=2.81
+pkgrel=2
+pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation"
+arch=('i686' 'x86_64')
+url="http://www.bulletphysics.com/Bullet/"
+license=('custom:zlib')
+depends=()
+makedepends=('cmake' 'doxygen' 'graphviz' 'ttf-dejavu' 'mesa')
+source=(http://bullet.googlecode.com/files/${pkgbase}-${pkgver}-rev${_rev}.tgz
+ ${pkgbase}.pc)
+md5sums=('cec9c9a79c2804dbf6385dd7d061346c'
+ 'd1da06deba3b08b884d2212f6838905c')
+
+build() {
+ cd ${pkgbase}-${pkgver}-rev${_rev}
+
+ # get a clean build dir
+ [[ -d build ]] && rm -rf build
+ mkdir build && cd build
+
+ # generate CMake Makefile
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=1 \
+ -DBUILD_DEMOS=0 \
+ -DBUILD_MULTITHREADING=1 \
+ -DBUILD_EXTRAS=1 \
+ -DINSTALL_LIBS=1 \
+ -DINSTALL_EXTRA_LIBS=1 \
+ -DCMAKE_BUILD_TYPE=Release # set =Debug for debugging version
+
+ # compile
+ make
+
+ # generate docs
+ cd ..
+ sed -i 's/GENERATE_HTMLHELP.*//g' Doxyfile
+ doxygen
+}
+
+package_bullet() {
+ optdepends=('bullet-docs: documentation')
+
+ cd ${pkgbase}-${pkgver}-rev${_rev}/build
+
+ # install it
+ make DESTDIR=${pkgdir} install
+
+ # manually handle pkgconfig file
+ mkdir -p "${pkgdir}"/usr/lib/pkgconfig
+ sed "s|VERSION|${pkgver}|g" ${srcdir}/bullet.pc > ${pkgdir}/usr/lib/pkgconfig/bullet.pc
+
+ # install license
+ install -Dm644 ../BulletLicense.txt ${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE
+}
+
+package_bullet-docs() {
+ pkgdesc="Documentation for bullet"
+ depends=()
+
+ cd ${pkgbase}-${pkgver}-rev${_rev}
+
+ # install docs
+ install -Dm644 Bullet_User_Manual.pdf ${pkgdir}/usr/share/doc/bullet/Bullet_User_Manual.pdf
+ cp -r html ${pkgdir}/usr/share/doc/bullet/html
+}
+# vim: sw=2 ts=2 et:
diff --git a/community/bullet/bullet.pc b/community/bullet/bullet.pc
new file mode 100644
index 000000000..d236b477f
--- /dev/null
+++ b/community/bullet/bullet.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: bullet
+Description: Bullet Continuous Collision Detection and Physics Library
+Requires:
+Version: VERSION
+Libs: -L${libdir} -lBulletDynamics -lBulletCollision -lLinearMath -lBulletSoftBody
+Cflags: -I${includedir}/bullet
diff --git a/community/buoh/PKGBUILD b/community/buoh/PKGBUILD
new file mode 100644
index 000000000..0d0ba0118
--- /dev/null
+++ b/community/buoh/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 70031 2012-04-28 12:10:05Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=buoh
+pkgver=0.8.2
+pkgrel=6
+pkgdesc="Reader for online strips comics"
+arch=('i686' 'x86_64')
+url="http://buoh.steve-o.org/"
+license=('GPL')
+depends=('gtk2' 'libsoup>=2.4.0' 'gconf' 'hicolor-icon-theme')
+makedepends=('intltool')
+options=('!emptydirs')
+install=buoh.install
+source=("http://buoh.steve-o.org/downloads/$pkgname-$pkgver.tar.bz2"
+ buoh-libsoup24.patch)
+md5sums=('50474a8712ad20ab36d8f8058a4647fb'
+ 'c44f0e1828492a5d7d8efee764558fb4')
+sha1sums=('29d702b485a901868f65116e753cb515b3e2a2c5'
+ '012badf13e33818268b744e106bdcccfd8fc66ed')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -p1 < ../buoh-libsoup24.patch
+ autoconf
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas --without-libgnomeui
+ make AM_CFLAGS=-lxml2
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/buoh/buoh-libsoup24.patch b/community/buoh/buoh-libsoup24.patch
new file mode 100644
index 000000000..3998f3f5f
--- /dev/null
+++ b/community/buoh/buoh-libsoup24.patch
@@ -0,0 +1,71 @@
+diff -ur buoh-0.8.2.orig/configure.in buoh-0.8.2/configure.in
+--- buoh-0.8.2.orig/configure.in 2006-10-22 17:59:48.000000000 -0400
++++ buoh-0.8.2/configure.in 2008-01-30 13:39:23.000000000 -0500
+@@ -29,13 +29,13 @@
+
+ GLIB_REQUIRED=2.6.0
+ GTK_REQUIRED=2.6.0
+-LIBSOUP_REQUIRED=2.2.0
++LIBSOUP_REQUIRED=2.4.0
+ GCONF_REQUIRED=2.2.0
+
+ PKG_CHECK_MODULES(BUOH,
+ glib-2.0 >= $GLIB_REQUIRED
+ gtk+-2.0 >= $GTK_REQUIRED
+- libsoup-2.2 >= $LIBSOUP_REQUIRED
++ libsoup-2.4 >= $LIBSOUP_REQUIRED
+ gconf-2.0 >= $GCONF_REQUIRED)
+ AC_SUBST(BUOH_CFLAGS)
+ AC_SUBST(BUOH_LIBS)
+diff -ur buoh-0.8.2.orig/src/buoh-comic-loader.c buoh-0.8.2/src/buoh-comic-loader.c
+--- buoh-0.8.2.orig/src/buoh-comic-loader.c 2006-10-21 10:56:37.000000000 -0400
++++ buoh-0.8.2/src/buoh-comic-loader.c 2008-01-30 13:41:22.000000000 -0500
+@@ -202,7 +202,7 @@
+
+ proxy_uri = buoh_get_http_proxy_uri (BUOH);
+ if (proxy_uri) {
+- SoupUri *soup_uri = soup_uri_new (proxy_uri);
++ SoupURI *soup_uri = soup_uri_new (proxy_uri);
+
+ job->session = soup_session_sync_new_with_options (SOUP_SESSION_PROXY_URI, soup_uri, NULL);
+
+@@ -235,6 +235,7 @@
+
+ static void
+ buoh_comic_loader_job_read_next (SoupMessage *msg,
++ SoupBuffer *chunk,
+ BuohComicLoaderJob *job)
+ {
+ gboolean success;
+@@ -252,15 +253,14 @@
+ msg->reason_phrase);
+ }
+
+- soup_message_set_status (msg, SOUP_STATUS_CANCELLED);
+- soup_session_cancel_message (job->session, msg);
++ soup_session_cancel_message (job->session, msg, SOUP_STATUS_CANCELLED);
+
+ return;
+ }
+
+ if (job->callback) {
+- job->callback (msg->response.body,
+- msg->response.length,
++ job->callback (chunk->data,
++ chunk->length,
+ job->callback_data);
+ }
+ }
+@@ -275,9 +275,9 @@
+ msg = soup_message_new (SOUP_METHOD_GET, job->uri);
+
+ soup_message_set_flags (msg, SOUP_MESSAGE_OVERWRITE_CHUNKS);
+- soup_message_add_handler (msg, SOUP_HANDLER_BODY_CHUNK,
+- (SoupMessageCallbackFn)buoh_comic_loader_job_read_next,
+- (gpointer) job);
++ g_signal_connect (msg, "got-chunk",
++ G_CALLBACK (buoh_comic_loader_job_read_next),
++ (gpointer) job);
+
+ buoh_debug ("resolving . . .");
+
diff --git a/community/buoh/buoh.install b/community/buoh/buoh.install
new file mode 100644
index 000000000..44175ce06
--- /dev/null
+++ b/community/buoh/buoh.install
@@ -0,0 +1,22 @@
+pkgname=buoh
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -f -q -t usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ gtk-update-icon-cache -f -q -t usr/share/icons/hicolor
+}
diff --git a/community/busybox/PKGBUILD b/community/busybox/PKGBUILD
new file mode 100644
index 000000000..99a1f8681
--- /dev/null
+++ b/community/busybox/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 93409 2013-07-03 10:50:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jens Pranaitis <jens@jenux.homelinux.org>
+
+pkgname=busybox
+pkgver=1.21.1
+pkgrel=1
+pkgdesc="Utilities for rescue and embedded systems"
+arch=("i686" "x86_64")
+url="http://www.busybox.net"
+license=('GPL')
+makedepends=("make" "gcc" "sed" "ncurses")
+source=($url/downloads/$pkgname-$pkgver.tar.bz2
+ config)
+install=busybox.install
+md5sums=('795394f83903b5eec6567d51eebb417e'
+ '3fbd88dc6327ff0455c17409efdbab79')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ cp $srcdir/config .config
+ sed '1,1i#include <sys/resource.h>' -i include/libbb.h
+ # if you want to run menuconfig uncomment the following line:
+# make menuconfig ; return 1
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -Dm755 busybox $pkgdir/usr/bin/busybox
+}
diff --git a/community/busybox/busybox.install b/community/busybox/busybox.install
new file mode 100644
index 000000000..04beb0630
--- /dev/null
+++ b/community/busybox/busybox.install
@@ -0,0 +1,14 @@
+post_install() {
+ echo "You may want to do setuid on /usr/bin/busybox"
+ echo " chmod 4555 /usr/bin/busybox"
+}
+
+pre_upgrade() {
+ busybox stat -c %a usr/bin/busybox >tmp/busybox.upgrade.script
+}
+
+post_upgrade() {
+ [ -f tmp/busybox.upgrade.script ] && busybox chmod `busybox cat tmp/busybox.upgrade.script` usr/bin/busybox
+ busybox rm -f tmp/busybox.upgrade.script
+ echo "busybox is in /usr/bin now. Readjust its mode if you modified it."
+}
diff --git a/community/busybox/config b/community/busybox/config
new file mode 100644
index 000000000..b89c59b12
--- /dev/null
+++ b/community/busybox/config
@@ -0,0 +1,1034 @@
+#
+# Automatically generated make config: don't edit
+# Busybox version: 1.21.1
+# Wed Jul 3 14:35:32 2013
+#
+CONFIG_HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+# CONFIG_DESKTOP is not set
+# CONFIG_EXTRA_COMPAT is not set
+CONFIG_INCLUDE_SUSv2=y
+# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_PLATFORM_LINUX=y
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+CONFIG_FEATURE_VERBOSE_USAGE=y
+CONFIG_FEATURE_COMPRESS_USAGE=y
+CONFIG_FEATURE_INSTALLER=y
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_LOCALE_SUPPORT=y
+CONFIG_UNICODE_SUPPORT=y
+# CONFIG_UNICODE_USING_LOCALE is not set
+# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
+CONFIG_SUBST_WCHAR=63
+CONFIG_LAST_SUPPORTED_WCHAR=767
+# CONFIG_UNICODE_COMBINING_WCHARS is not set
+# CONFIG_UNICODE_WIDE_WCHARS is not set
+# CONFIG_UNICODE_BIDI_SUPPORT is not set
+# CONFIG_UNICODE_NEUTRAL_TABLE is not set
+# CONFIG_UNICODE_PRESERVE_BROKEN is not set
+CONFIG_LONG_OPTS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_UTMP=y
+CONFIG_FEATURE_WTMP=y
+CONFIG_FEATURE_PIDFILE=y
+CONFIG_PID_FILE_PATH="/run"
+CONFIG_FEATURE_SUID=y
+CONFIG_FEATURE_SUID_CONFIG=y
+CONFIG_FEATURE_SUID_CONFIG_QUIET=y
+# CONFIG_SELINUX is not set
+CONFIG_FEATURE_PREFER_APPLETS=y
+CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+CONFIG_FEATURE_SYSLOG=y
+# CONFIG_FEATURE_HAVE_RPC is not set
+
+#
+# Build Options
+#
+CONFIG_STATIC=y
+# CONFIG_PIE is not set
+# CONFIG_NOMMU is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_INDIVIDUAL is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+CONFIG_CROSS_COMPILER_PREFIX=""
+CONFIG_SYSROOT=""
+CONFIG_EXTRA_CFLAGS=""
+CONFIG_EXTRA_LDFLAGS=""
+CONFIG_EXTRA_LDLIBS=""
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_WERROR is not set
+CONFIG_NO_DEBUG_LIB=y
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+
+#
+# Installation Options ("make install" behavior)
+#
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
+# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
+# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
+CONFIG_PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+# CONFIG_FEATURE_SYSTEMD is not set
+CONFIG_FEATURE_RTMINMAX=y
+CONFIG_PASSWORD_MINLEN=6
+CONFIG_MD5_SMALL=1
+CONFIG_SHA3_SMALL=1
+CONFIG_FEATURE_FAST_TOP=y
+# CONFIG_FEATURE_ETC_NETWORKS is not set
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_FEATURE_EDITING=y
+CONFIG_FEATURE_EDITING_MAX_LEN=1024
+# CONFIG_FEATURE_EDITING_VI is not set
+CONFIG_FEATURE_EDITING_HISTORY=15
+# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
+# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
+# CONFIG_FEATURE_REVERSE_SEARCH is not set
+CONFIG_FEATURE_TAB_COMPLETION=y
+# CONFIG_FEATURE_USERNAME_COMPLETION is not set
+# CONFIG_FEATURE_EDITING_FANCY_PROMPT is not set
+# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
+CONFIG_FEATURE_NON_POSIX_CP=y
+# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
+CONFIG_FEATURE_COPYBUF_KB=4
+CONFIG_FEATURE_SKIP_ROOTFS=y
+# CONFIG_MONOTONIC_SYSCALL is not set
+CONFIG_IOCTL_HEX2STR_ERROR=y
+CONFIG_FEATURE_HWIB=y
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+CONFIG_FEATURE_SEAMLESS_XZ=y
+CONFIG_FEATURE_SEAMLESS_LZMA=y
+CONFIG_FEATURE_SEAMLESS_BZ2=y
+CONFIG_FEATURE_SEAMLESS_GZ=y
+CONFIG_FEATURE_SEAMLESS_Z=y
+CONFIG_AR=y
+CONFIG_FEATURE_AR_LONG_FILENAMES=y
+CONFIG_FEATURE_AR_CREATE=y
+CONFIG_BUNZIP2=y
+CONFIG_BZIP2=y
+CONFIG_CPIO=y
+CONFIG_FEATURE_CPIO_O=y
+# CONFIG_FEATURE_CPIO_P is not set
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+CONFIG_GUNZIP=y
+CONFIG_GZIP=y
+# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
+CONFIG_GZIP_FAST=0
+# CONFIG_LZOP is not set
+# CONFIG_LZOP_COMPR_HIGH is not set
+CONFIG_RPM2CPIO=y
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_AUTODETECT=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
+CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+CONFIG_FEATURE_TAR_LONG_OPTIONS=y
+CONFIG_FEATURE_TAR_TO_COMMAND=y
+CONFIG_FEATURE_TAR_UNAME_GNAME=y
+# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
+# CONFIG_FEATURE_TAR_SELINUX is not set
+CONFIG_UNCOMPRESS=y
+CONFIG_UNLZMA=y
+CONFIG_FEATURE_LZMA_FAST=y
+CONFIG_LZMA=y
+CONFIG_UNXZ=y
+CONFIG_XZ=y
+CONFIG_UNZIP=y
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+CONFIG_CAT=y
+CONFIG_DATE=y
+CONFIG_FEATURE_DATE_ISOFMT=y
+# CONFIG_FEATURE_DATE_NANO is not set
+CONFIG_FEATURE_DATE_COMPAT=y
+CONFIG_HOSTID=y
+CONFIG_ID=y
+CONFIG_GROUPS=y
+CONFIG_TEST=y
+CONFIG_FEATURE_TEST_64=y
+CONFIG_TOUCH=y
+CONFIG_FEATURE_TOUCH_SUSV3=y
+CONFIG_TR=y
+CONFIG_FEATURE_TR_CLASSES=y
+CONFIG_FEATURE_TR_EQUIV=y
+CONFIG_BASE64=y
+CONFIG_WHO=y
+CONFIG_USERS=y
+CONFIG_CAL=y
+CONFIG_CATV=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
+CONFIG_CHROOT=y
+CONFIG_CKSUM=y
+CONFIG_COMM=y
+CONFIG_CP=y
+# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
+CONFIG_CUT=y
+CONFIG_DD=y
+CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
+CONFIG_FEATURE_DD_IBS_OBS=y
+CONFIG_DF=y
+# CONFIG_FEATURE_DF_FANCY is not set
+CONFIG_DIRNAME=y
+CONFIG_DOS2UNIX=y
+CONFIG_UNIX2DOS=y
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_FEATURE_ENV_LONG_OPTIONS=y
+CONFIG_EXPAND=y
+CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
+CONFIG_EXPR=y
+CONFIG_EXPR_MATH_SUPPORT_64=y
+CONFIG_FALSE=y
+CONFIG_FOLD=y
+CONFIG_FSYNC=y
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+CONFIG_INSTALL=y
+CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_FEATURE_MV_LONG_OPTIONS=y
+CONFIG_NICE=y
+CONFIG_NOHUP=y
+CONFIG_OD=y
+CONFIG_PRINTENV=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_REALPATH=y
+CONFIG_RM=y
+CONFIG_RMDIR=y
+# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
+CONFIG_SEQ=y
+CONFIG_SHA1SUM=y
+CONFIG_SHA256SUM=y
+CONFIG_SHA512SUM=y
+CONFIG_SHA3SUM=y
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_FEATURE_FLOAT_SLEEP=y
+CONFIG_SORT=y
+CONFIG_FEATURE_SORT_BIG=y
+CONFIG_SPLIT=y
+CONFIG_FEATURE_SPLIT_FANCY=y
+CONFIG_STAT=y
+CONFIG_FEATURE_STAT_FORMAT=y
+CONFIG_STTY=y
+CONFIG_SUM=y
+CONFIG_SYNC=y
+CONFIG_TAC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNEXPAND=y
+CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
+CONFIG_UNIQ=y
+CONFIG_USLEEP=y
+CONFIG_UUDECODE=y
+CONFIG_UUENCODE=y
+CONFIG_WC=y
+CONFIG_FEATURE_WC_LARGE=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+CONFIG_FEATURE_PRESERVE_HARDLINKS=y
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_FGCONSOLE=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+CONFIG_KBD_MODE=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+CONFIG_RESIZE=y
+CONFIG_FEATURE_RESIZE_PRINT=y
+CONFIG_SETCONSOLE=y
+CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
+CONFIG_SETFONT=y
+# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
+CONFIG_DEFAULT_SETFONT_DIR=""
+CONFIG_SETKEYCODES=y
+CONFIG_SETLOGCONS=y
+CONFIG_SHOWKEY=y
+
+#
+# Common options for loadfont and setfont
+#
+CONFIG_FEATURE_LOADFONT_PSF2=y
+CONFIG_FEATURE_LOADFONT_RAW=y
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+CONFIG_PIPE_PROGRESS=y
+CONFIG_RUN_PARTS=y
+CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
+CONFIG_FEATURE_RUN_PARTS_FANCY=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
+CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_PATCH=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_MAX_LEN=4096
+# CONFIG_FEATURE_VI_8BIT is not set
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+CONFIG_FEATURE_VI_READONLY=y
+CONFIG_FEATURE_VI_SETOPTS=y
+CONFIG_FEATURE_VI_SET=y
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_ASK_TERMINAL=y
+CONFIG_AWK=y
+# CONFIG_FEATURE_AWK_LIBM is not set
+CONFIG_CMP=y
+CONFIG_DIFF=y
+# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
+CONFIG_FEATURE_DIFF_DIR=y
+CONFIG_ED=y
+CONFIG_SED=y
+CONFIG_FEATURE_ALLOW_EXEC=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_PRINT0=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_MMIN=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_MAXDEPTH=y
+CONFIG_FEATURE_FIND_NEWER=y
+CONFIG_FEATURE_FIND_INUM=y
+CONFIG_FEATURE_FIND_EXEC=y
+CONFIG_FEATURE_FIND_USER=y
+CONFIG_FEATURE_FIND_GROUP=y
+CONFIG_FEATURE_FIND_NOT=y
+CONFIG_FEATURE_FIND_DEPTH=y
+CONFIG_FEATURE_FIND_PAREN=y
+CONFIG_FEATURE_FIND_SIZE=y
+CONFIG_FEATURE_FIND_PRUNE=y
+CONFIG_FEATURE_FIND_DELETE=y
+CONFIG_FEATURE_FIND_PATH=y
+CONFIG_FEATURE_FIND_REGEX=y
+# CONFIG_FEATURE_FIND_CONTEXT is not set
+CONFIG_FEATURE_FIND_LINKS=y
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
+CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
+CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
+CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
+
+#
+# Init Utilities
+#
+CONFIG_BOOTCHARTD=y
+CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER=y
+CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE=y
+CONFIG_HALT=y
+# CONFIG_FEATURE_CALL_TELINIT is not set
+CONFIG_TELINIT_PATH=""
+CONFIG_INIT=y
+CONFIG_FEATURE_USE_INITTAB=y
+# CONFIG_FEATURE_KILL_REMOVED is not set
+CONFIG_FEATURE_KILL_DELAY=0
+CONFIG_FEATURE_INIT_SCTTY=y
+# CONFIG_FEATURE_INIT_SYSLOG is not set
+CONFIG_FEATURE_EXTRA_QUIET=y
+CONFIG_FEATURE_INIT_COREDUMPS=y
+CONFIG_FEATURE_INITRD=y
+CONFIG_INIT_TERMINAL_TYPE="linux"
+CONFIG_MESG=y
+CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_ADD_SHELL is not set
+# CONFIG_REMOVE_SHELL is not set
+CONFIG_FEATURE_SHADOWPASSWDS=y
+CONFIG_USE_BB_PWD_GRP=y
+CONFIG_USE_BB_SHADOW=y
+CONFIG_USE_BB_CRYPT=y
+# CONFIG_USE_BB_CRYPT_SHA is not set
+CONFIG_ADDUSER=y
+# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
+# CONFIG_FEATURE_CHECK_NAMES is not set
+CONFIG_FIRST_SYSTEM_ID=100
+CONFIG_LAST_SYSTEM_ID=999
+CONFIG_ADDGROUP=y
+# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
+CONFIG_FEATURE_ADDUSER_TO_GROUP=y
+CONFIG_DELUSER=y
+CONFIG_DELGROUP=y
+CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
+CONFIG_GETTY=y
+CONFIG_LOGIN=y
+# CONFIG_LOGIN_SESSION_AS_CHILD is not set
+# CONFIG_PAM is not set
+CONFIG_LOGIN_SCRIPTS=y
+CONFIG_FEATURE_NOLOGIN=y
+CONFIG_FEATURE_SECURETTY=y
+CONFIG_PASSWD=y
+CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
+CONFIG_CRYPTPW=y
+CONFIG_CHPASSWD=y
+CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
+CONFIG_SU=y
+CONFIG_FEATURE_SU_SYSLOG=y
+CONFIG_FEATURE_SU_CHECKS_SHELLS=y
+CONFIG_SULOGIN=y
+CONFIG_VLOCK=y
+
+#
+# Linux Ext2 FS Progs
+#
+CONFIG_CHATTR=y
+CONFIG_FSCK=y
+CONFIG_LSATTR=y
+CONFIG_TUNE2FS=y
+
+#
+# Linux Module Utilities
+#
+CONFIG_MODINFO=y
+CONFIG_MODPROBE_SMALL=y
+CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=y
+CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y
+# CONFIG_INSMOD is not set
+# CONFIG_RMMOD is not set
+# CONFIG_LSMOD is not set
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
+# CONFIG_MODPROBE is not set
+# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
+# CONFIG_DEPMOD is not set
+
+#
+# Options common to multiple modutils
+#
+# CONFIG_FEATURE_2_4_MODULES is not set
+# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
+# CONFIG_FEATURE_MODUTILS_ALIAS is not set
+# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
+CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
+CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
+
+#
+# Linux System Utilities
+#
+CONFIG_BLOCKDEV=y
+CONFIG_MDEV=y
+CONFIG_FEATURE_MDEV_CONF=y
+CONFIG_FEATURE_MDEV_RENAME=y
+CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
+CONFIG_FEATURE_MDEV_EXEC=y
+CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
+CONFIG_REV=y
+# CONFIG_ACPID is not set
+# CONFIG_FEATURE_ACPID_COMPAT is not set
+CONFIG_BLKID=y
+CONFIG_FEATURE_BLKID_TYPE=y
+CONFIG_DMESG=y
+CONFIG_FEATURE_DMESG_PRETTY=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+CONFIG_FEATURE_FBSET_READMODE=y
+CONFIG_FDFLUSH=y
+CONFIG_FDFORMAT=y
+CONFIG_FDISK=y
+# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+CONFIG_FEATURE_GPT_LABEL=y
+CONFIG_FEATURE_FDISK_ADVANCED=y
+# CONFIG_FINDFS is not set
+CONFIG_FLOCK=y
+CONFIG_FREERAMDISK=y
+CONFIG_FSCK_MINIX=y
+CONFIG_MKFS_EXT2=y
+CONFIG_MKFS_MINIX=y
+CONFIG_FEATURE_MINIX2=y
+# CONFIG_MKFS_REISER is not set
+CONFIG_MKFS_VFAT=y
+CONFIG_GETOPT=y
+CONFIG_FEATURE_GETOPT_LONG=y
+CONFIG_HEXDUMP=y
+CONFIG_FEATURE_HEXDUMP_REVERSE=y
+CONFIG_HD=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
+CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
+CONFIG_IPCRM=y
+CONFIG_IPCS=y
+CONFIG_LOSETUP=y
+CONFIG_LSPCI=y
+CONFIG_LSUSB=y
+CONFIG_MKSWAP=y
+CONFIG_FEATURE_MKSWAP_UUID=y
+CONFIG_MORE=y
+CONFIG_MOUNT=y
+CONFIG_FEATURE_MOUNT_FAKE=y
+CONFIG_FEATURE_MOUNT_VERBOSE=y
+# CONFIG_FEATURE_MOUNT_HELPERS is not set
+CONFIG_FEATURE_MOUNT_LABEL=y
+# CONFIG_FEATURE_MOUNT_NFS is not set
+CONFIG_FEATURE_MOUNT_CIFS=y
+CONFIG_FEATURE_MOUNT_FLAGS=y
+CONFIG_FEATURE_MOUNT_FSTAB=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_RDATE=y
+CONFIG_RDEV=y
+CONFIG_READPROFILE=y
+CONFIG_RTCWAKE=y
+CONFIG_SCRIPT=y
+# CONFIG_SCRIPTREPLAY is not set
+CONFIG_SETARCH=y
+CONFIG_SWAPONOFF=y
+CONFIG_FEATURE_SWAPON_PRI=y
+CONFIG_SWITCH_ROOT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_UMOUNT_ALL=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+CONFIG_VOLUMEID=y
+
+#
+# Filesystem/Volume identification
+#
+CONFIG_FEATURE_VOLUMEID_EXT=y
+CONFIG_FEATURE_VOLUMEID_BTRFS=y
+CONFIG_FEATURE_VOLUMEID_REISERFS=y
+CONFIG_FEATURE_VOLUMEID_FAT=y
+CONFIG_FEATURE_VOLUMEID_EXFAT=y
+CONFIG_FEATURE_VOLUMEID_HFS=y
+CONFIG_FEATURE_VOLUMEID_JFS=y
+CONFIG_FEATURE_VOLUMEID_XFS=y
+CONFIG_FEATURE_VOLUMEID_NILFS=y
+CONFIG_FEATURE_VOLUMEID_NTFS=y
+CONFIG_FEATURE_VOLUMEID_ISO9660=y
+CONFIG_FEATURE_VOLUMEID_UDF=y
+CONFIG_FEATURE_VOLUMEID_LUKS=y
+CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
+CONFIG_FEATURE_VOLUMEID_CRAMFS=y
+CONFIG_FEATURE_VOLUMEID_ROMFS=y
+CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
+CONFIG_FEATURE_VOLUMEID_SYSV=y
+CONFIG_FEATURE_VOLUMEID_OCFS2=y
+CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_CONSPY is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_MAXLINES=9999999
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+CONFIG_FEATURE_LESS_MARKS=y
+CONFIG_FEATURE_LESS_REGEXP=y
+# CONFIG_FEATURE_LESS_WINCH is not set
+# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
+# CONFIG_FEATURE_LESS_DASHCMD is not set
+# CONFIG_FEATURE_LESS_LINENUMS is not set
+# CONFIG_NANDWRITE is not set
+# CONFIG_NANDDUMP is not set
+CONFIG_SETSERIAL=y
+# CONFIG_UBIATTACH is not set
+# CONFIG_UBIDETACH is not set
+CONFIG_UBIMKVOL=y
+CONFIG_UBIRMVOL=y
+CONFIG_UBIRSVOL=y
+CONFIG_UBIUPDATEVOL=y
+CONFIG_ADJTIMEX=y
+# CONFIG_BBCONFIG is not set
+# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
+CONFIG_BEEP=y
+CONFIG_FEATURE_BEEP_FREQ=4000
+CONFIG_FEATURE_BEEP_LENGTH_MS=30
+CONFIG_CHAT=y
+CONFIG_FEATURE_CHAT_NOFAIL=y
+# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
+CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
+# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
+# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
+# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
+# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
+CONFIG_CHRT=y
+CONFIG_CROND=y
+CONFIG_FEATURE_CROND_D=y
+CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
+CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
+CONFIG_CRONTAB=y
+CONFIG_DC=y
+# CONFIG_FEATURE_DC_LIBM is not set
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_DEVMEM is not set
+CONFIG_EJECT=y
+CONFIG_FEATURE_EJECT_SCSI=y
+CONFIG_FBSPLASH=y
+# CONFIG_FLASHCP is not set
+# CONFIG_FLASH_LOCK is not set
+# CONFIG_FLASH_UNLOCK is not set
+# CONFIG_FLASH_ERASEALL is not set
+CONFIG_IONICE=y
+CONFIG_INOTIFYD=y
+CONFIG_LAST=y
+CONFIG_FEATURE_LAST_SMALL=y
+# CONFIG_FEATURE_LAST_FANCY is not set
+CONFIG_HDPARM=y
+CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
+CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
+CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
+CONFIG_MAKEDEVS=y
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+CONFIG_FEATURE_MAKEDEVS_TABLE=y
+CONFIG_MAN=y
+CONFIG_MICROCOM=y
+CONFIG_MOUNTPOINT=y
+CONFIG_MT=y
+CONFIG_RAIDAUTORUN=y
+CONFIG_READAHEAD=y
+CONFIG_RFKILL=y
+CONFIG_RUNLEVEL=y
+CONFIG_RX=y
+CONFIG_SETSID=y
+CONFIG_STRINGS=y
+CONFIG_TASKSET=y
+CONFIG_FEATURE_TASKSET_FANCY=y
+CONFIG_TIME=y
+CONFIG_TIMEOUT=y
+CONFIG_TTYSIZE=y
+CONFIG_VOLNAME=y
+CONFIG_WALL=y
+CONFIG_WATCHDOG=y
+
+#
+# Networking Utilities
+#
+CONFIG_NAMEIF=y
+# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
+CONFIG_NBDCLIENT=y
+CONFIG_NC=y
+CONFIG_NC_SERVER=y
+CONFIG_NC_EXTRA=y
+# CONFIG_NC_110_COMPAT is not set
+CONFIG_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_WHOIS=y
+CONFIG_FEATURE_IPV6=y
+# CONFIG_FEATURE_UNIX_LOCAL is not set
+CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
+# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+CONFIG_ARP=y
+CONFIG_ARPING=y
+CONFIG_BRCTL=y
+CONFIG_FEATURE_BRCTL_FANCY=y
+CONFIG_FEATURE_BRCTL_SHOW=y
+CONFIG_DNSD=y
+CONFIG_ETHER_WAKE=y
+CONFIG_FAKEIDENTD=y
+CONFIG_FTPD=y
+CONFIG_FEATURE_FTP_WRITE=y
+CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
+CONFIG_FTPGET=y
+CONFIG_FTPPUT=y
+CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
+CONFIG_HOSTNAME=y
+CONFIG_HTTPD=y
+CONFIG_FEATURE_HTTPD_RANGES=y
+CONFIG_FEATURE_HTTPD_USE_SENDFILE=y
+CONFIG_FEATURE_HTTPD_SETUID=y
+CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
+CONFIG_FEATURE_HTTPD_AUTH_MD5=y
+CONFIG_FEATURE_HTTPD_CGI=y
+CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
+CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
+CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
+CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
+CONFIG_FEATURE_HTTPD_PROXY=y
+CONFIG_FEATURE_HTTPD_GZIP=y
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+CONFIG_FEATURE_IFCONFIG_SLIP=y
+CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
+CONFIG_IFENSLAVE=y
+CONFIG_IFPLUGD=y
+CONFIG_IFUPDOWN=y
+CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
+CONFIG_FEATURE_IFUPDOWN_IP=y
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
+CONFIG_INETD=y
+CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
+CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
+CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
+CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
+CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+CONFIG_FEATURE_IP_RULE=y
+CONFIG_FEATURE_IP_SHORT_FORMS=y
+# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
+CONFIG_IPADDR=y
+CONFIG_IPLINK=y
+CONFIG_IPROUTE=y
+CONFIG_IPTUNNEL=y
+CONFIG_IPRULE=y
+CONFIG_IPCALC=y
+CONFIG_FEATURE_IPCALC_FANCY=y
+CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
+CONFIG_NETSTAT=y
+CONFIG_FEATURE_NETSTAT_WIDE=y
+CONFIG_FEATURE_NETSTAT_PRG=y
+CONFIG_NSLOOKUP=y
+CONFIG_NTPD=y
+CONFIG_FEATURE_NTPD_SERVER=y
+CONFIG_PSCAN=y
+CONFIG_ROUTE=y
+CONFIG_SLATTACH=y
+CONFIG_TCPSVD=y
+CONFIG_TELNET=y
+CONFIG_FEATURE_TELNET_TTYPE=y
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+CONFIG_TELNETD=y
+CONFIG_FEATURE_TELNETD_STANDALONE=y
+# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
+CONFIG_TFTP=y
+CONFIG_TFTPD=y
+
+#
+# Common options for tftp/tftpd
+#
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+CONFIG_FEATURE_TFTP_BLOCKSIZE=y
+# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
+# CONFIG_TFTP_DEBUG is not set
+CONFIG_TRACEROUTE=y
+CONFIG_TRACEROUTE6=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+CONFIG_TUNCTL=y
+CONFIG_FEATURE_TUNCTL_UG=y
+# CONFIG_UDHCPC6 is not set
+# CONFIG_UDHCPD is not set
+# CONFIG_DHCPRELAY is not set
+# CONFIG_DUMPLEASES is not set
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
+# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
+CONFIG_DHCPD_LEASES_FILE=""
+# CONFIG_UDHCPC is not set
+# CONFIG_FEATURE_UDHCPC_ARPING is not set
+# CONFIG_FEATURE_UDHCP_PORT is not set
+CONFIG_UDHCP_DEBUG=0
+# CONFIG_FEATURE_UDHCP_RFC3397 is not set
+# CONFIG_FEATURE_UDHCP_8021Q is not set
+CONFIG_UDHCPC_DEFAULT_SCRIPT=""
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
+CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
+CONFIG_UDPSVD=y
+CONFIG_VCONFIG=y
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+CONFIG_FEATURE_WGET_TIMEOUT=y
+CONFIG_ZCIP=y
+
+#
+# Print Utilities
+#
+CONFIG_LPD=y
+CONFIG_LPR=y
+CONFIG_LPQ=y
+
+#
+# Mail Utilities
+#
+# CONFIG_MAKEMIME is not set
+CONFIG_FEATURE_MIME_CHARSET="us-ascii"
+# CONFIG_POPMAILDIR is not set
+# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
+# CONFIG_REFORMIME is not set
+# CONFIG_FEATURE_REFORMIME_COMPAT is not set
+CONFIG_SENDMAIL=y
+
+#
+# Process Utilities
+#
+CONFIG_IOSTAT=y
+CONFIG_LSOF=y
+CONFIG_MPSTAT=y
+CONFIG_NMETER=y
+CONFIG_PMAP=y
+CONFIG_POWERTOP=y
+CONFIG_PSTREE=y
+CONFIG_PWDX=y
+CONFIG_SMEMCAP=y
+CONFIG_TOP=y
+CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
+CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
+# CONFIG_FEATURE_TOP_SMP_CPU is not set
+# CONFIG_FEATURE_TOP_DECIMALS is not set
+# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
+CONFIG_FEATURE_TOPMEM=y
+CONFIG_UPTIME=y
+CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y
+CONFIG_FREE=y
+CONFIG_FUSER=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_KILLALL5=y
+CONFIG_PGREP=y
+CONFIG_PIDOF=y
+CONFIG_FEATURE_PIDOF_SINGLE=y
+CONFIG_FEATURE_PIDOF_OMIT=y
+CONFIG_PKILL=y
+CONFIG_PS=y
+CONFIG_FEATURE_PS_WIDE=y
+CONFIG_FEATURE_PS_LONG=y
+# CONFIG_FEATURE_PS_TIME is not set
+# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
+# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
+CONFIG_RENICE=y
+CONFIG_BB_SYSCTL=y
+# CONFIG_FEATURE_SHOW_THREADS is not set
+CONFIG_WATCH=y
+
+#
+# Runit Utilities
+#
+CONFIG_RUNSV=y
+CONFIG_RUNSVDIR=y
+# CONFIG_FEATURE_RUNSVDIR_LOG is not set
+CONFIG_SV=y
+CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
+CONFIG_SVLOGD=y
+CONFIG_CHPST=y
+CONFIG_SETUIDGID=y
+CONFIG_ENVUIDGID=y
+CONFIG_ENVDIR=y
+CONFIG_SOFTLIMIT=y
+# CONFIG_CHCON is not set
+# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
+# CONFIG_GETENFORCE is not set
+# CONFIG_GETSEBOOL is not set
+# CONFIG_LOAD_POLICY is not set
+# CONFIG_MATCHPATHCON is not set
+# CONFIG_RESTORECON is not set
+# CONFIG_RUNCON is not set
+# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
+# CONFIG_SELINUXENABLED is not set
+# CONFIG_SETENFORCE is not set
+# CONFIG_SETFILES is not set
+# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
+# CONFIG_SETSEBOOL is not set
+# CONFIG_SESTATUS is not set
+
+#
+# Shells
+#
+CONFIG_ASH=y
+CONFIG_ASH_BASH_COMPAT=y
+# CONFIG_ASH_IDLE_TIMEOUT is not set
+CONFIG_ASH_JOB_CONTROL=y
+# CONFIG_ASH_ALIAS is not set
+# CONFIG_ASH_GETOPTS is not set
+CONFIG_ASH_BUILTIN_ECHO=y
+CONFIG_ASH_BUILTIN_PRINTF=y
+CONFIG_ASH_BUILTIN_TEST=y
+CONFIG_ASH_CMDCMD=y
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+CONFIG_ASH_RANDOM_SUPPORT=y
+# CONFIG_ASH_EXPAND_PRMT is not set
+# CONFIG_CTTYHACK is not set
+# CONFIG_HUSH is not set
+# CONFIG_HUSH_BASH_COMPAT is not set
+# CONFIG_HUSH_BRACE_EXPANSION is not set
+# CONFIG_HUSH_HELP is not set
+# CONFIG_HUSH_INTERACTIVE is not set
+# CONFIG_HUSH_SAVEHISTORY is not set
+# CONFIG_HUSH_JOB is not set
+# CONFIG_HUSH_TICK is not set
+# CONFIG_HUSH_IF is not set
+# CONFIG_HUSH_LOOPS is not set
+# CONFIG_HUSH_CASE is not set
+# CONFIG_HUSH_FUNCTIONS is not set
+# CONFIG_HUSH_LOCAL is not set
+# CONFIG_HUSH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH_EXPORT_N is not set
+# CONFIG_HUSH_MODE_X is not set
+# CONFIG_MSH is not set
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+# CONFIG_FEATURE_BASH_IS_ASH is not set
+# CONFIG_FEATURE_BASH_IS_HUSH is not set
+CONFIG_FEATURE_BASH_IS_NONE=y
+CONFIG_SH_MATH_SUPPORT=y
+# CONFIG_SH_MATH_SUPPORT_64 is not set
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+CONFIG_FEATURE_SH_STANDALONE=y
+# CONFIG_FEATURE_SH_NOFORK is not set
+CONFIG_FEATURE_SH_HISTFILESIZE=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+CONFIG_FEATURE_REMOTE_LOG=y
+# CONFIG_FEATURE_SYSLOGD_DUP is not set
+CONFIG_FEATURE_SYSLOGD_CFG=y
+CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
+CONFIG_FEATURE_KMSG_SYSLOG=y
+CONFIG_KLOGD=y
+
+#
+# klogd should not be used together with syslog to kernel printk buffer
+#
+CONFIG_FEATURE_KLOGD_KLOGCTL=y
+CONFIG_LOGGER=y
diff --git a/community/bwbar/PKGBUILD b/community/bwbar/PKGBUILD
new file mode 100644
index 000000000..724c6b576
--- /dev/null
+++ b/community/bwbar/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 90007 2013-05-06 19:36:19Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Mark Rosenstand <mark@borkware.net>
+
+pkgname=bwbar
+pkgver=1.2.3
+pkgrel=4
+arch=(i686 x86_64)
+pkgdesc="Generates text and graphical readout of the current bandwidth usage."
+url="http://www.kernel.org/pub/software/web/bwbar/"
+license=("GPL")
+depends=('libpng')
+#source=(http://www.kernel.org/pub/software/web/$pkgname/$pkgname-$pkgver.tar.gz)
+source=(http://arch.p5n.pp.ru/~sergej/dl/2011/$pkgname-$pkgver.tar.gz)
+md5sums=('766265ddf0615b552ff19d12f78be719')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i '1,1i#include <zlib.h>' bwbar.c
+ sed -i 's|png_ptr->jmpbuf|png_jmpbuf(png_ptr)|' bwbar.c
+ ./configure
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -D -m755 bwbar $pkgdir/usr/bin/bwbar
+}
diff --git a/community/bwm-ng/PKGBUILD b/community/bwm-ng/PKGBUILD
new file mode 100644
index 000000000..f07d5b25a
--- /dev/null
+++ b/community/bwm-ng/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 65064 2012-02-20 02:39:44Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sven Kauber <celeon@gmail.com>
+
+pkgname=bwm-ng
+pkgver=0.6
+pkgrel=4
+pkgdesc="A small and simple console-based live bandwidth monitor"
+arch=(i686 x86_64)
+url="http://www.gropp.org/"
+license=('GPL')
+depends=('ncurses')
+options=('!libtool')
+source=("http://www.gropp.org/bwm-ng/${pkgname}-${pkgver}.tar.gz")
+md5sums=('d3a02484fb7946371bfb4e10927cebfb')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --mandir=${pkgdir}/usr/share/man
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make prefix=${pkgdir} install
+
+ install -d ${pkgdir}/usr
+ mv ${pkgdir}/bin ${pkgdir}/usr/
+}
diff --git a/community/c++-gtk-utils/PKGBUILD b/community/c++-gtk-utils/PKGBUILD
new file mode 100644
index 000000000..835fca546
--- /dev/null
+++ b/community/c++-gtk-utils/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 93711 2013-07-08 17:21:21Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=c++-gtk-utils
+pkgver=2.0.18
+pkgrel=1
+pkgdesc="Classes and functions for programming in GTK+"
+arch=('i686' 'x86_64')
+url="http://cxx-gtk-utils.sourceforge.net/"
+license=('LGPL2.1')
+depends=('gtk3')
+options=('!libtool' '!docs' '!emptydirs')
+source=("http://downloads.sourceforge.net/project/cxx-gtk-utils/cxx-gtk-utils/${pkgver}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('446a8e0120d69639b1950c72bd545116')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --disable-rpath \
+ --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/cabextract/PKGBUILD b/community/cabextract/PKGBUILD
new file mode 100644
index 000000000..07dca6cef
--- /dev/null
+++ b/community/cabextract/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 59583 2011-11-28 16:44:30Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=cabextract
+pkgver=1.4
+pkgrel=2
+pkgdesc="A program to extract Microsoft cabinet (.CAB) files"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.cabextract.org.uk/"
+depends=('glibc')
+source=("http://www.cabextract.org.uk/${pkgname}-${pkgver}.tar.gz")
+md5sums=('79f41f568cf1a3ac105e0687e8bfb7c0')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/cadaver/ChangeLog b/community/cadaver/ChangeLog
new file mode 100644
index 000000000..d22a5592c
--- /dev/null
+++ b/community/cadaver/ChangeLog
@@ -0,0 +1,3 @@
+2007-07-02 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/cadaver/PKGBUILD b/community/cadaver/PKGBUILD
new file mode 100644
index 000000000..da3c12e11
--- /dev/null
+++ b/community/cadaver/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65070 2012-02-20 03:29:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: William Rea <sillywilly@gmail.com>
+
+pkgname=cadaver
+pkgver=0.23.3
+pkgrel=3
+pkgdesc="Command-line WebDAV client for Unix"
+arch=('i686' 'x86_64')
+url="http://www.webdav.org/cadaver"
+license=('GPL')
+depends=('neon')
+source=(http://www.webdav.org/cadaver/cadaver-$pkgver.tar.gz)
+md5sums=('502ecd601e467f8b16056d2acca39a6f')
+
+build() {
+ cd $srcdir/cadaver-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/cadaver-$pkgver
+ make prefix=$pkgdir/usr install
+}
diff --git a/community/cairo-clock/PKGBUILD b/community/cairo-clock/PKGBUILD
new file mode 100644
index 000000000..e646d62e1
--- /dev/null
+++ b/community/cairo-clock/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 66650 2012-02-26 21:00:49Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Kane Wilson <kane_wilson@hotmail.com>
+
+pkgname=cairo-clock
+pkgver=0.3.4
+pkgrel=2
+pkgdesc='An analog clock displaying the system-time.'
+arch=('i686' 'x86_64')
+url='http://macslow.thepimp.net/?page_id=23'
+license=('GPL')
+depends=('cairo' 'libglade>=2.6.0' 'librsvg>=2.14.0')
+makedepends=('intltool')
+source=("http://macslow.thepimp.net/projects/cairo-clock/${pkgname}-${pkgver}.tar.gz"
+ 'cairo-clock.patch')
+md5sums=('78e5b3aa3492aa6c182eaacae63a7c03'
+ 'a2ec378bf79dfb9a1b1418d7b2d341ff')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np0 -i ../cairo-clock.patch
+
+ # quick and dirty build fix, a proper patch was submitted upstream and is
+ # pending approval
+ sed -ie 's/-Wl, --export-dynamic/-Wl,--export-dynamic/g' src/Makefile*
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make prefix="${pkgdir}/usr" install
+}
diff --git a/community/cairo-clock/cairo-clock.patch b/community/cairo-clock/cairo-clock.patch
new file mode 100644
index 000000000..0f6a9775d
--- /dev/null
+++ b/community/cairo-clock/cairo-clock.patch
@@ -0,0 +1,18 @@
+--- src/cairo-clock.c.orig 2008-02-27 11:02:57.000000000 +0000
++++ src/cairo-clock.c 2008-06-10 07:51:17.000000000 +0100
+@@ -1487,15 +1487,6 @@
+ g_pErrorDialog = glade_xml_get_widget (pGladeXml,
+ "errorDialog");
+
+- if (!gdk_screen_is_composited (gtk_widget_get_screen (g_pMainWindow)))
+- {
+- gtk_window_set_icon_from_file (GTK_WINDOW (g_pErrorDialog),
+- get_icon_filename (),
+- NULL);
+- gtk_dialog_run (GTK_DIALOG (g_pErrorDialog));
+- exit (2);
+- }
+-
+ g_pPopUpMenu = glade_xml_get_widget (pGladeXml,
+ "popUpMenu");
+ pSettingsMenuItem = glade_xml_get_widget (pGladeXml,
diff --git a/community/cairo-dock-plugins/PKGBUILD b/community/cairo-dock-plugins/PKGBUILD
new file mode 100755
index 000000000..d1ac36dd1
--- /dev/null
+++ b/community/cairo-dock-plugins/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 93867 2013-07-11 15:30:19Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Tofe <chris.chapuis@gmail.com>
+# Contributor: zhuqin <zhuqin83@gmail.com>
+# Contributor: tri1976 <trile7@gmail.com>
+# Contributor: snoopy33 <snoopy33@no-log.org>
+
+pkgname=cairo-dock-plugins
+pkgver=3.2.1
+pkgrel=4
+pkgdesc="Plugins for Cairo-Dock"
+url="https://launchpad.net/cairo-dock"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('cairo-dock')
+makedepends=('cmake' 'alsa-lib' 'fftw' 'gnome-menus' 'gtk-sharp-2' 'gvfs' 'libetpan' 'libexif' 'libical' 'libpulse' 'libxklavier' 'libzeitgeist' 'lm_sensors' 'ndesk-dbus-glib' 'python' 'python2' 'ruby' 'upower' 'vala' 'vte3' 'webkitgtk3')
+optdepends=('alsa-lib: Sound Control, Sound Effects applets'
+ 'fftw: Impulse applet'
+ 'gnome-menus: Applications Menu applet'
+ 'gtk-sharp-2: Mono API'
+ 'gvfs: GVFS integration'
+ 'libetpan: Mail applet'
+ 'libexif: Slider applet'
+ 'libical: Clock applet'
+ 'libpulse: Impulse applet'
+ 'libxklavier: Keyboard Indicator applet'
+ 'libzeitgeist: Recent Events applet'
+ 'lm_sensors: System Monitor applet'
+ 'ndesk-dbus-glib: Mono API'
+ 'python: Python 3 API'
+ 'python2: Python 2 API'
+ 'ruby: Ruby API'
+ 'upower: Logout, PowerManager applets'
+ 'vte3: Terminal applet'
+ 'webkitgtk3: Weblets applet')
+options=('!libtool')
+source=("http://launchpad.net/cairo-dock-plug-ins/3.2/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz"
+ 'python.patch')
+sha256sums=('11b4433e40bbb1507757b23e167c521d620827576c2f30bb1a9642e0bff57e01'
+ 'f33ff6f2b93936c5050ae369d1b08c41bd17f5a2fb4ce46da5436d78d0b3fa8e')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+
+ patch -Np1 -i ../python.patch
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build && cd build
+
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}/build
+
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/cairo-dock-plugins/python.patch b/community/cairo-dock-plugins/python.patch
new file mode 100644
index 000000000..413ff0fa9
--- /dev/null
+++ b/community/cairo-dock-plugins/python.patch
@@ -0,0 +1,49 @@
+diff -rupN cairo-dock-plugins-3.2.1.orig/Dbus/interfaces/bash/BashInstall.cmake.in cairo-dock-plugins-3.2.1/Dbus/interfaces/bash/BashInstall.cmake.in
+--- cairo-dock-plugins-3.2.1.orig/Dbus/interfaces/bash/BashInstall.cmake.in 2013-07-11 17:09:45.165345967 +0200
++++ cairo-dock-plugins-3.2.1/Dbus/interfaces/bash/BashInstall.cmake.in 2013-07-11 17:10:22.238469121 +0200
+@@ -2,7 +2,7 @@ IF ("@PYTHON2_FOUND@" STREQUAL "TRUE")
+ IF("@ROOT_PREFIX@" STREQUAL "")
+ EXEC_PROGRAM("@PYTHON2_EXECUTABLE@" "${CMAKE_CURRENT_BINARY_DIR}" ARGS
+ "setup.py" "install"
+- "--prefix=${CMAKE_INSTALL_PREFIX}"
++ "--prefix=$DESTDIR${CMAKE_INSTALL_PREFIX}"
+ "@DEBIAN_INSTALL_LAYOUT@")
+ ELSEIF(NOT "@ROOT_PREFIX@" STREQUAL "" AND "@python_no_deb_layout@" STREQUAL "")
+ EXEC_PROGRAM("@PYTHON2_EXECUTABLE@" "${CMAKE_CURRENT_BINARY_DIR}" ARGS
+@@ -20,7 +20,7 @@ IF ("@PYTHON3_FOUND@" STREQUAL "TRUE")
+ IF("@ROOT_PREFIX@" STREQUAL "")
+ EXEC_PROGRAM("@PYTHON3_EXECUTABLE@" "${CMAKE_CURRENT_BINARY_DIR}" ARGS
+ "setup.py" "install"
+- "--prefix=${CMAKE_INSTALL_PREFIX}"
++ "--prefix=$DESTDIR${CMAKE_INSTALL_PREFIX}"
+ "@DEBIAN_INSTALL_LAYOUT@")
+ ELSEIF(NOT "@ROOT_PREFIX@" STREQUAL "" AND "@python_no_deb_layout@" STREQUAL "")
+ EXEC_PROGRAM("@PYTHON3_EXECUTABLE@" "${CMAKE_CURRENT_BINARY_DIR}" ARGS
+diff -rupN cairo-dock-plugins-3.2.1.orig/Dbus/interfaces/python/PythonInstall.cmake.in cairo-dock-plugins-3.2.1/Dbus/interfaces/python/PythonInstall.cmake.in
+--- cairo-dock-plugins-3.2.1.orig/Dbus/interfaces/python/PythonInstall.cmake.in 2013-07-11 17:09:45.162012653 +0200
++++ cairo-dock-plugins-3.2.1/Dbus/interfaces/python/PythonInstall.cmake.in 2013-07-11 17:10:56.581607933 +0200
+@@ -2,7 +2,7 @@ if ("@PYTHON2_FOUND@" STREQUAL "TRUE")
+ IF("@ROOT_PREFIX@" STREQUAL "")
+ EXEC_PROGRAM("@PYTHON2_EXECUTABLE@" "${CMAKE_CURRENT_BINARY_DIR}" ARGS
+ "setup.py" "install"
+- "--prefix=${CMAKE_INSTALL_PREFIX}"
++ "--prefix=$DESTDIR${CMAKE_INSTALL_PREFIX}"
+ "@DEBIAN_INSTALL_LAYOUT@")
+ ELSEIF(NOT "@ROOT_PREFIX@" STREQUAL "" AND "@python_no_deb_layout@" STREQUAL "")
+ EXEC_PROGRAM("@PYTHON2_EXECUTABLE@" "${CMAKE_CURRENT_BINARY_DIR}" ARGS
+@@ -20,7 +20,7 @@ if ("@PYTHON3_FOUND@" STREQUAL "TRUE")
+ IF("@ROOT_PREFIX@" STREQUAL "")
+ EXEC_PROGRAM("@PYTHON3_EXECUTABLE@" "${CMAKE_CURRENT_BINARY_DIR}" ARGS
+ "setup.py" "install"
+- "--prefix=${CMAKE_INSTALL_PREFIX}"
++ "--prefix=$DESTDIR${CMAKE_INSTALL_PREFIX}"
+ "@DEBIAN_INSTALL_LAYOUT@")
+ ELSEIF(NOT "@ROOT_PREFIX@" STREQUAL "" AND "@python_no_deb_layout@" STREQUAL "")
+ EXEC_PROGRAM("@PYTHON3_EXECUTABLE@" "${CMAKE_CURRENT_BINARY_DIR}" ARGS
+@@ -32,4 +32,4 @@ if ("@PYTHON3_FOUND@" STREQUAL "TRUE")
+ "setup.py" "install"
+ "--root=@ROOT_PREFIX@")
+ ENDIF()
+-ENDIF()
+\ No newline at end of file
++ENDIF()
diff --git a/community/cairo-dock/PKGBUILD b/community/cairo-dock/PKGBUILD
new file mode 100755
index 000000000..8f910fe66
--- /dev/null
+++ b/community/cairo-dock/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 88925 2013-04-24 21:20:34Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Tofe <chris.chapuis@gmail.com>
+# Contributor: erm67 <erm67@yahoo.it>
+
+pkgname=cairo-dock
+pkgver=3.2.1
+pkgrel=3
+pkgdesc="Light eye-candy fully themable animated dock"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/cairo-dock-core"
+license=('GPL')
+depends=('curl' 'dbus-glib' 'gtk3' 'librsvg')
+makedepends=('cmake')
+optdepends=('cairo-dock-plugins: Plugins for Cairo-Dock')
+options=('!libtool')
+source=("http://launchpad.net/${pkgname}-core/3.2/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz" 'gldit-rpath.patch')
+sha256sums=('441e407f92138dc604c796b0455777b765e298ecb8f3120104f521d0e0b34543'
+ '5a5fbc67aaa210387ef4410701747fe741942c99c4bd84ae771b96a3bdd1c4cc')
+
+prepare() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ patch -Np1 -i ../gldit-rpath.patch
+}
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build && cd build
+
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}/build
+
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/cairo-dock/gldit-rpath.patch b/community/cairo-dock/gldit-rpath.patch
new file mode 100755
index 000000000..11f73bf55
--- /dev/null
+++ b/community/cairo-dock/gldit-rpath.patch
@@ -0,0 +1,13 @@
+--- a/src/gldit/CMakeLists.txt 2013-03-23 16:55:12.000000000 +0100
++++ b/src/gldit/CMakeLists.txt 2013-03-26 11:57:14.159200918 +0100
+@@ -82,9 +82,7 @@ link_directories(
+ ${GTK_LIBRARY_DIRS}
+ ${XEXTEND_LIBRARY_DIRS}
+ ${XINERAMA_LIBRARY_DIRS}
+- ${CMAKE_SOURCE_DIR}/src/gldit
+- ${CMAKE_SOURCE_DIR}/src/icon-factory
+- ${CMAKE_SOURCE_DIR}/src/implementations)
++ )
+
+ # Define the library
+ add_library ("gldi" SHARED ${core_lib_SRCS})
diff --git a/community/calc/PKGBUILD b/community/calc/PKGBUILD
new file mode 100644
index 000000000..09198d579
--- /dev/null
+++ b/community/calc/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 93457 2013-07-03 13:50:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=calc
+pkgver=2.12.4.8
+pkgrel=1
+pkgdesc="console calculator"
+arch=(i686 x86_64)
+url="http://www.isthe.com/chongo/tech/comp/calc/"
+license=('GPL')
+depends=(glibc)
+#source=(http://switch.dl.sf.net/sourceforge/calc/calc-$pkgver.tar.bz2)
+source=(http://www.isthe.com/chongo/src/calc/calc-$pkgver.tar.bz2)
+md5sums=('38694f375e172f0b830d4dbf9d6f2dcc')
+
+build() {
+ cd $srcdir/calc-$pkgver
+
+ patch -p0 Makefile <<EOF
+1146c1146
+< DEFAULT_LIB_INSTALL_PATH= \${PWD}:/lib:/usr/lib:\${LIBDIR}:/usr/local/lib
+---
+> DEFAULT_LIB_INSTALL_PATH=/lib:/usr/lib:\${LIBDIR}
+1180c1180
+< DEFAULT_LIB_INSTALL_PATH= \${PWD}:\${LIBDIR}:/usr/local/lib
+---
+> DEFAULT_LIB_INSTALL_PATH= \${PWD}:\${LIBDIR}
+1233c1233
+< DEFAULT_LIB_INSTALL_PATH= \${PWD}:/lib:/usr/lib:\${LIBDIR}:/usr/local/lib
+---
+> DEFAULT_LIB_INSTALL_PATH=/lib:/usr/lib:\${LIBDIR}
+1275c1275
+< DEFAULT_LIB_INSTALL_PATH= \${PWD}:/lib:/usr/lib:\${LIBDIR}:/usr/local/lib
+---
+> DEFAULT_LIB_INSTALL_PATH=/lib:/usr/lib:\${LIBDIR}
+1312c1312
+< DEFAULT_LIB_INSTALL_PATH= \${PWD}:/lib:/usr/lib:\${LIBDIR}:/usr/local/lib
+---
+> DEFAULT_LIB_INSTALL_PATH=/lib:/usr/lib:\${LIBDIR}
+1350c1350
+< DEFAULT_LIB_INSTALL_PATH= \${PWD}:/lib:/usr/lib:\${LIBDIR}:/usr/local/lib
+---
+> DEFAULT_LIB_INSTALL_PATH=/lib:/usr/lib:\${LIBDIR}
+1406c1406
+< DEFAULT_LIB_INSTALL_PATH= \${PWD}:/lib:/usr/lib:\${LIBDIR}:/usr/local/lib
+---
+> DEFAULT_LIB_INSTALL_PATH=/lib:/usr/lib:\${LIBDIR}
+1443c1443
+< DEFAULT_LIB_INSTALL_PATH= \${PWD}:/lib:/usr/lib:\${LIBDIR}:/usr/local/lib
+---
+> DEFAULT_LIB_INSTALL_PATH=/lib:/usr/lib:\${LIBDIR}
+EOF
+
+ make -j1
+}
+
+package() {
+ cd $srcdir/calc-$pkgver
+ make T=$pkgdir install
+ mv $pkgdir/usr/bin/cscript $pkgdir/usr/share/calc/
+}
diff --git a/community/calcurse/PKGBUILD b/community/calcurse/PKGBUILD
new file mode 100644
index 000000000..ca8e0f98b
--- /dev/null
+++ b/community/calcurse/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 84062 2013-02-09 16:21:30Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Ronald van Haren <ronald.archlinux.org>
+# Contributor: wain <wain.at.gmx.net>
+
+pkgname=calcurse
+pkgver=3.1.4
+pkgrel=1
+pkgdesc='A text-based personal organizer.'
+arch=('i686' 'x86_64')
+url='http://calcurse.org/'
+license=('BSD')
+depends=('ncurses')
+install='calcurse.install'
+source=("http://calcurse.org/files/${pkgname}-${pkgver}.tar.gz"{,.asc})
+md5sums=('e354bdb7636daffa99ffb98534d04cb2'
+ '44baaf17198e2fd75d2d160dedee814f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --enable-docs --without-asciidoc --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/calcurse/calcurse.install b/community/calcurse/calcurse.install
new file mode 100644
index 000000000..7ed9cf00e
--- /dev/null
+++ b/community/calcurse/calcurse.install
@@ -0,0 +1,8 @@
+post_upgrade() {
+ if (( $(vercmp $2 3.0.0) < 0 )); then
+ cat <<"EOF"
+==> The configuration file format has changed in calcurse 3.0.0.
+==> Run `calcurse-upgrade` to upgrade your configuration files.
+EOF
+ fi
+}
diff --git a/community/calf/PKGBUILD b/community/calf/PKGBUILD
new file mode 100644
index 000000000..5d87b4067
--- /dev/null
+++ b/community/calf/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 79299 2012-11-02 14:14:33Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Ray Rashif <schiv@archlinux.org>
+
+pkgname=calf
+pkgver=0.0.19
+pkgrel=3
+pkgdesc='LV2/DSSI/LADSPA plug-ins suite and standalone JACK host'
+arch=('x86_64' 'i686')
+url='http://calf.sf.net/'
+license=('LGPL')
+depends=('libglade' 'fftw' 'lash' 'dssi' 'fluidsynth' 'hicolor-icon-theme' 'desktop-file-utils')
+makedepends=('lv2core' 'ladspa' 'dssi')
+source=("http://downloads.sf.net/$pkgname/$pkgname-$pkgver.tar.gz")
+install=calf.install
+options=('!libtool')
+sha256sums=('1106e7e27bcd18d47fc58c952a4dbf6c7a763272e13b2b94cee6f1b2fb922cec')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --enable-experimental --enable-sse
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/calf/calf.install b/community/calf/calf.install
new file mode 100644
index 000000000..b83f56c72
--- /dev/null
+++ b/community/calf/calf.install
@@ -0,0 +1,14 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ update-desktop-database /usr/share/applications
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/canorus/PKGBUILD b/community/canorus/PKGBUILD
new file mode 100644
index 000000000..9ea89a79a
--- /dev/null
+++ b/community/canorus/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 85336 2013-03-01 10:28:57Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Arch Linux Pro Audio <dev@archaudio.org>
+# Contributor: Coenraad van der Westhuizen <chwesthuizen@gmail.com>
+# Contributor: hm_b <holger (at) music-nerds (dot) net>
+
+pkgname=canorus
+pkgver=0.7.R1002
+pkgrel=5
+pkgdesc="A free music score editor"
+arch=('i686' 'x86_64')
+url="http://www.canorus.org/"
+license=('GPL')
+depends=('qt4' 'alsa-lib' 'python2' 'swig' 'zlib')
+makedepends=('cmake')
+options=('strip')
+source=(http://download.berlios.de/$pkgname/$pkgname\_$pkgver\_source.tar.bz2)
+md5sums=('5575b7c54633056a463177579a390318')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ source /etc/profile.d/qt4.sh
+ export LDFLAGS="-lz -lpthread"
+ cmake . -DCMAKE_INSTALL_PREFIX=$pkgdir/usr \
+ -DDEFAULT_DATA_DIR="/usr/share/canorus" \
+ -DNO_SWIG=ON
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make install
+ install -d $pkgdir/usr/share/{applications,pixmaps}
+ cp canorus.desktop $pkgdir/usr/share/applications
+ cp $pkgdir/usr/share/{canorus/images/clogosm.png,pixmaps/canorus.png}
+}
diff --git a/community/cantata/PKGBUILD b/community/cantata/PKGBUILD
new file mode 100644
index 000000000..3c6d8ba46
--- /dev/null
+++ b/community/cantata/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92187 2013-06-02 15:36:24Z bpiotrowski $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Mcder3 <mcder3[at]gmail[dot]com>
+# Contributor: MisterFred <mister.fred[at]free[dot]fr>
+
+pkgname=cantata
+pkgver=1.0.3
+pkgdesc="A KDE client for the music player daemon (MPD)"
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://kde-apps.org/content/show.php/Cantata?content=147733"
+license=('GPL')
+depends=('kdebase-runtime' 'taglib-extras' 'mpg123' 'libmtp' 'libcddb' 'libmusicbrainz5')
+makedepends=('cmake' 'automoc4')
+install="$pkgname.install"
+source=("http://cantata.googlecode.com/files/$pkgname-$pkgver.tar.bz2")
+md5sums=('fd942d25127a7936efaf1fe887d66189')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ mkdir build
+
+ cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DENABLE_PHONON=ON
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" PREFIX="/usr" install
+}
diff --git a/community/cantata/cantata.install b/community/cantata/cantata.install
new file mode 100644
index 000000000..5495fb1b5
--- /dev/null
+++ b/community/cantata/cantata.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/caph/PKGBUILD b/community/caph/PKGBUILD
new file mode 100644
index 000000000..503c87bcb
--- /dev/null
+++ b/community/caph/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 90008 2013-05-06 19:36:20Z foutrelis $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: jose <jose1711 [at] gmail (dot) com>
+
+pkgname=caph
+arch=('i686' 'x86_64')
+pkgver=1.1
+pkgrel=4
+pkgdesc='Sandbox game based on physics which uses doodles as a primary gameplay element'
+license=('GPL')
+url='http://sourceforge.net/projects/caphgame/'
+depends=('sdl' 'libgl' 'libpng')
+makedepends=('mesa')
+source=("http://sourceforge.net/projects/caphgame/files/caph/caphgame-${pkgver}/caph-${pkgver}.tar.bz2"
+ "caph.desktop")
+md5sums=('dbc2cfbb5cd98a77c5b731515d3a77b9'
+ '79c6448995026f77fd912dd109b50287')
+
+build() {
+ cd $srcdir/caph-${pkgver}/src
+ ./confg
+ ./build
+}
+
+package() {
+ cd $srcdir/caph-${pkgver}/src
+ mkdir -p $pkgdir/usr/{bin,share/{caph/maps,doc/caph}}
+ install -D -m755 ./caph $pkgdir/usr/bin/caph
+ install -D -m644 ../doc/caph/* $pkgdir/usr/share/doc/caph/ || true
+ install -D -m644 ../share/caph/* $pkgdir/usr/share/caph/ || true
+ install -D -m644 ../share/caph/maps/* $pkgdir/usr/share/caph/maps || true
+ install -D -m644 $srcdir/caph.desktop $pkgdir/usr/share/applications/caph.desktop
+ install -D -m644 ../share/caph/brush.png $pkgdir/usr/share/pixmaps/caph.png
+}
+
+# vim: sw=2:ts=2 et:
diff --git a/community/caph/caph.desktop b/community/caph/caph.desktop
new file mode 100644
index 000000000..6cc6c711c
--- /dev/null
+++ b/community/caph/caph.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=Caph
+Comment=Sandbox game based on physics
+Exec=caph
+Icon=caph.png
+Categories=Game;LogicGame;
diff --git a/community/castget/PKGBUILD b/community/castget/PKGBUILD
new file mode 100644
index 000000000..cd2befc64
--- /dev/null
+++ b/community/castget/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 67455 2012-03-11 21:00:52Z lcarlier $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+
+pkgname=castget
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="A simple, command-line based RSS enclosure downloader"
+arch=('i686' 'x86_64')
+url="http://www.nongnu.org/castget/"
+license=('GPL')
+depends=('glib2' 'libxml2' 'curl' 'id3lib')
+options=('!libtool')
+changelog=$pkgname.changelog
+source=(http://savannah.nongnu.org/download/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('e80096715efc17d1d87de793871e0006')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/castget/castget.changelog b/community/castget/castget.changelog
new file mode 100644
index 000000000..101086d83
--- /dev/null
+++ b/community/castget/castget.changelog
@@ -0,0 +1,6 @@
+2010-06-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.1.0
+
+2007-07-02 tardo <tardo@nagi-fanboi.net>
+ * Built for x86_64
+
diff --git a/community/catdoc/PKGBUILD b/community/catdoc/PKGBUILD
new file mode 100644
index 000000000..549cddb7d
--- /dev/null
+++ b/community/catdoc/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 89169 2013-04-27 12:49:08Z kkeen $
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Paulius Palevicius <paulius@birzai.com>
+
+pkgname=catdoc
+pkgver=0.94.4
+pkgrel=1
+pkgdesc="A convertor for Microsoft Word, Excel, PowerPoint and RTF Files to text"
+arch=('i686' 'x86_64')
+url="http://www.wagner.pp.ru/~vitus/software/catdoc/"
+license=('GPL')
+depends=('glibc')
+optdepends=('tk: for using wordview')
+options=('!makeflags')
+source=(http://ftp.de.debian.org/debian/pool/main/c/catdoc/${pkgname}_$pkgver.orig.tar.gz)
+md5sums=('4820680e3611392caf2b4dd2413bfae5')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's/$(prefix)/$(installroot)$(prefix)/' desktop/Makefile.in
+ sed -i 's/0.94.2/0.94.4/' configure* doc/*.1 src/makefile.tc
+ ./configure --prefix=/usr --with-wish=/usr/bin/wish
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make installroot="$pkgdir" mandir=/usr/share/man/man1 install
+ install -d "$pkgdir"/usr/share/man/man1
+ install -m644 doc/*.1 "$pkgdir"/usr/share/man/man1
+}
diff --git a/community/catdvi/PKGBUILD b/community/catdvi/PKGBUILD
new file mode 100644
index 000000000..cb8321332
--- /dev/null
+++ b/community/catdvi/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 65072 2012-02-20 03:29:57Z spupykin $
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Xilon <xilonmu@gmail.com>
+
+pkgname=catdvi
+pkgver=0.14
+pkgrel=5
+pkgdesc="A DVI to plain text translator"
+arch=('i686' 'x86_64')
+url="http://catdvi.sourceforge.net"
+license=('GPL')
+depends=('glibc' 'texlive-core')
+makedepends=('texlive-fontsextra')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2"
+ 'texlive2008.patch')
+md5sums=('b18eac65baf522c1e37bb3dc37ab42c3'
+ '509f61a30d3758e5d102c124bc5fa9a0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -p1 -i "${srcdir}"/texlive2008.patch
+ autoconf
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+
+ install -d $pkgdir/usr/bin $pkgdir/usr/share/man/man1
+ sed -i "s#\(bindir = \)\(.*\)#\1$pkgdir\2#" config.mk
+ sed -i "s#\(mandir = \)\(.*\)#\1$pkgdir\2#" config.mk
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/catdvi/texlive2008.patch b/community/catdvi/texlive2008.patch
new file mode 100644
index 000000000..20ee9732e
--- /dev/null
+++ b/community/catdvi/texlive2008.patch
@@ -0,0 +1,58 @@
+--- catdvi-0.14-orig/config.mk.in
++++ catdvi-0.14/config.mk.in
+@@ -23,6 +23,7 @@
+
+ CFG_HAS_GETOPT_LONG = @CFG_HAS_GETOPT_LONG@
+ CFG_HAS_KPATHSEA = @CFG_HAS_KPATHSEA@
++CFG_HAS_KPATHSEA_VERSION_H = @CFG_HAS_KPATHSEA_VERSION_H@
+ CFG_KPATHSEA_HAS_GETOPT_LONG = @CFG_KPATHSEA_HAS_GETOPT_LONG@
+ CFG_SHOW_PSE2UNIC_WARNINGS = @CFG_SHOW_PSETOUNIC_WARNINGS@
+
+--- catdvi-0.14-orig/configure.in
++++ catdvi-0.14/configure.in
+@@ -48,6 +48,9 @@
+ AC_MSG_ERROR([*** kpathsea library (required) not found; try to use the --with-kpathsea-prefix option ***])
+ fi
+
++AC_CHECK_HEADERS([kpathsea/version.h], CFG_HAS_KPATHSEA_VERSION_H=yes, CFG_HAS_KPATHSEA_VERSION_H=no)
++AC_SUBST(CFG_HAS_KPATHSEA_VERSION_H)
++
+ dnl It seem libkpathsea provides a getopt_long() implementation
+ dnl if and only if the C library does not.
+ dnl
+--- catdvi-0.14-orig/GNUmakefile
++++ catdvi-0.14/GNUmakefile
+@@ -36,6 +36,10 @@
+ endif
+ endif
+
++ifeq ($(CFG_HAS_KPATHSEA_VERSION_H),yes)
++CPPFLAGS += -DCFG_HAS_KPATHSEA_VERSION_H
++endif
++
+ ifeq ($(CFG_HAS_KPATHSEA),yes)
+ FINDTFM = kpathsea.o
+ LDLIBS = -lkpathsea
+--- catdvi-0.14-orig/kpathsea.c
++++ catdvi-0.14/kpathsea.c
+@@ -21,6 +21,12 @@
+ #include "findtfm.h"
+ #include "version.h"
+
++#ifdef CFG_HAS_KPATHSEA_VERSION_H
++#include <kpathsea/version.h>
++#else
++extern char * kpathsea_version_string;
++#endif
++
+ void setup_findtfm(char const * progname)
+ {
+ kpse_set_program_name(progname, PACKAGE);
+@@ -36,7 +42,6 @@
+
+ void version_findtfm(void)
+ {
+- extern char * kpathsea_version_string;
+ puts(kpathsea_version_string);
+ }
+
diff --git a/community/ccd2iso/ChangeLog b/community/ccd2iso/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/ccd2iso/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/ccd2iso/PKGBUILD b/community/ccd2iso/PKGBUILD
new file mode 100644
index 000000000..c3a56f762
--- /dev/null
+++ b/community/ccd2iso/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 64917 2012-02-18 20:36:05Z jelle $
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=ccd2iso
+pkgver=0.3
+pkgrel=7
+pkgdesc="Converts CCD/IMG CloneCD images to ISO format"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/ccd2iso"
+license=('GPL')
+depends=('glibc')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('a7df1c46cb710f2fc8ebd88c2e64ce65')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/ccid/PKGBUILD b/community/ccid/PKGBUILD
new file mode 100644
index 000000000..ae13ebbf9
--- /dev/null
+++ b/community/ccid/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 94187 2013-07-16 14:49:37Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Daniel Plaza <daniel.plaza.espi@gmail.com>
+
+pkgname=ccid
+pkgver=1.4.11
+pkgrel=1
+pkgdesc="A generic USB Chip/Smart Card Interface Devices driver"
+arch=('i686' 'x86_64')
+url="http://pcsclite.alioth.debian.org/ccid.html"
+license=('LGPL' 'GPL')
+depends=('pcsclite' 'libusbx')
+makedepends=('pkg-config')
+backup=(etc/reader.conf.d/libccidtwin)
+source=("https://alioth.debian.org/frs/download.php/file/3920/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('20e3d6f045c53707a597cbacb86b6c5b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-twinserial
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/cclive/PKGBUILD b/community/cclive/PKGBUILD
new file mode 100644
index 000000000..6e14bf1ac
--- /dev/null
+++ b/community/cclive/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 94015 2013-07-13 12:31:02Z svenstaro $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: joyfulgirl@archlinux.us
+# Contributor: nathan owe ndowens04 at gmail dot com
+
+pkgname=cclive
+pkgver=0.7.13
+pkgrel=2
+pkgdesc='Commandline downloader for popular video websites.'
+arch=('i686' 'x86_64')
+url='http://cclive.sourceforge.net/'
+license=('GPL3')
+depends=('boost-libs' 'pcre' 'curl' 'libquvi')
+makedepends=('boost' 'chrpath')
+source=("http://downloads.sourceforge.net/project/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz")
+md5sums=('654892be303c2738dd078dbe6c78595d')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ chrpath --delete "$pkgdir"/usr/bin/cclive
+}
diff --git a/community/ccmalloc/PKGBUILD b/community/ccmalloc/PKGBUILD
new file mode 100644
index 000000000..bbb271bf8
--- /dev/null
+++ b/community/ccmalloc/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 2304 2008-05-31 05:00:40Z paul $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: aurelien <aurelien@archlinux.org>
+
+pkgname=ccmalloc
+pkgver=0.4.0
+pkgrel=2
+pkgdesc="Track down memory related problems with C and C++ programs"
+arch=('i686' 'x86_64')
+url="http://packages.debian.org/sid/ccmalloc"
+license=('GPL2')
+depends=('sh')
+source=(http://ftp.de.debian.org/debian/pool/main/c/ccmalloc/ccmalloc_$pkgver.orig.tar.gz
+ http://ftp.de.debian.org/debian/pool/main/c/ccmalloc/ccmalloc_$pkgver-9.diff.gz)
+md5sums=('b90d955149569bbc6e801739f099db3d'
+ '25c2654e6f3880bb58b82f46a7296dc6')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 -i $srcdir/ccmalloc_$pkgver-9.diff
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make PREFIX=$pkgdir/usr install
+}
diff --git a/community/ccrypt/PKGBUILD b/community/ccrypt/PKGBUILD
new file mode 100644
index 000000000..453f40c3a
--- /dev/null
+++ b/community/ccrypt/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 79357 2012-11-03 16:20:57Z ttopper $
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=ccrypt
+pkgver=1.10
+pkgrel=1
+pkgdesc='A command-line utility for encrypting and decrypting files and streams'
+arch=('i686' 'x86_64')
+url="http://ccrypt.sourceforge.net"
+license=('GPL2')
+depends=('glibc')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('95d4e524abb146946fe6af9d53ed0e5e294b34e2')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ccze/PKGBUILD b/community/ccze/PKGBUILD
new file mode 100644
index 000000000..36b524e47
--- /dev/null
+++ b/community/ccze/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 64311 2012-02-11 23:19:24Z allan $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=ccze
+pkgver=0.2.1
+pkgrel=6
+pkgdesc="Robust and modular log colorizer with many plugins"
+arch=('i686' 'x86_64')
+url="http://freshmeat.net/projects/ccze/"
+license=('GPL')
+depends=('ncurses' 'pcre')
+makedepends=('patch')
+source=(ftp://ftp.debian.org/debian/pool/main/c/$pkgname/${pkgname}_${pkgver}.orig.tar.gz \
+ $pkgname-fix-segfault.diff)
+md5sums=('221966bce7c5f011eca38157241a0432'
+ '294e82702d179264abc43596da955358')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ patch -Np0 -i ${srcdir}/$pkgname-fix-segfault.diff
+
+ #killing a bug
+ sed -e 's/-Wswitch -Wmulticharacter/-Wswitch/' -i src/Makefile.in
+ sed -e '/#undef error_t/d' -i system.h.in
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/ccze/ccze-fix-segfault.diff b/community/ccze/ccze-fix-segfault.diff
new file mode 100644
index 000000000..b2ca7d815
--- /dev/null
+++ b/community/ccze/ccze-fix-segfault.diff
@@ -0,0 +1,11 @@
+--- src/ccze.c.orig 2003-05-13 20:09:30.000000000 +0200
++++ src/ccze.c 2010-08-29 18:14:53.000000000 +0200
+@@ -212 +212 @@
+- plugin = strtok (optarg, "=");
++ plugin = strtok (arg, "=");
+@@ -252 +252 @@
+- subopts = optarg;
++ subopts = arg;
+@@ -276 +276 @@
+- subopts = optarg;
++ subopts = arg;
diff --git a/community/cdargs/PKGBUILD b/community/cdargs/PKGBUILD
new file mode 100644
index 000000000..fdddf911b
--- /dev/null
+++ b/community/cdargs/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 83130 2013-01-27 16:11:01Z pierre $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+
+pkgname=cdargs
+pkgver=1.35
+pkgrel=3
+pkgdesc="A replacement for 'cd' that includes bookmarks/browsing for faster navigation"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.skamphausen.de/cgi-bin/ska/CDargs"
+depends=('ncurses' 'gcc-libs')
+install=cdargs.install
+source=("http://www.skamphausen.de/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('50be618d67f0b9f2439526193c69c567')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+
+ cd contrib
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # install helper scripts
+ cd contrib
+ make DESTDIR="${pkgdir}" install
+
+ install -d "${pkgdir}/usr/share/cdargs"
+ install $pkgname-{tcsh.csh,bash.sh} "${pkgdir}/usr/share/cdargs"
+}
diff --git a/community/cdargs/cdargs.install b/community/cdargs/cdargs.install
new file mode 100644
index 000000000..2b29beba7
--- /dev/null
+++ b/community/cdargs/cdargs.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "cdargs: helper scripts are in /usr/share/cdargs/"
+}
diff --git a/community/cdbxx/PKGBUILD b/community/cdbxx/PKGBUILD
new file mode 100644
index 000000000..8409adaa4
--- /dev/null
+++ b/community/cdbxx/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65076 2012-02-20 03:31:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=cdbxx
+pkgver=0.0.1rc2
+pkgrel=3
+pkgdesc="cdbxx is a small STL style C++ library for TinyCDB implementation of Constant Database"
+arch=(i686 x86_64)
+url="http://cdbxx.sourceforge.net/"
+license=("GPL")
+depends=(gcc)
+makedepends=(tinycdb)
+source=(http://downloads.sourceforge.net/sourceforge/cdbxx/$pkgname-$pkgver.tar.bz2)
+md5sums=('8c7f3eebe5c090ddea4aebf5445a1621')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ sed -i 's#LDFLAGS = -Wl,-rpath,$(shell pwd)/../src/ -L../src/ -lcdbxx#LDFLAGS = -Wl,-rpath,$(shell pwd)/../src/ -L../src/ -lcdbxx -lcdb#' ./testsuite/Makefile
+ sed -i '1,2i#include <string.h>' src/db.cc
+
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/cdcd/PKGBUILD b/community/cdcd/PKGBUILD
new file mode 100644
index 000000000..784863a2c
--- /dev/null
+++ b/community/cdcd/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 86149 2013-03-12 09:55:52Z cinelli $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Contributor dorphell <dorphell@archlinux.org>
+# Contributor Sarah Hay <sarahhay@mb.sympatico.ca>
+
+pkgname=cdcd
+pkgver=0.6.6
+pkgrel=6
+pkgdesc="A commandline cd-player"
+arch=('i686' 'x86_64')
+depends=('libcdaudio' 'readline')
+url="http://libcdaudio.sourceforge.net/"
+license=('GPL2')
+install=cdcd.install
+source=("http://downloads.sourceforge.net/libcdaudio/$pkgname-$pkgver.tar.gz")
+md5sums=('dc17f2e275c7214cb693f6abb50f29fb')
+
+if [[ "$CARCH" == "x86_64" ]]; then
+ source+=("cdcd-0.6.6-$CARCH.patch")
+ md5sums+=('7c39f01408fc084e2c62da4da324370e')
+fi
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ if [[ "$CARCH" == "x86_64" ]]; then
+ patch -Np1 -i "$srcdir/cdcd-0.6.6-$CARCH.patch"
+ fi
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+
+ mv "$pkgdir/usr/info" "$pkgdir/usr/share/"
+ mv "$pkgdir/usr/man/" "$pkgdir/usr/share/"
+ rm "$pkgdir/usr/share/dir"
+
+ install -dm755 "$pkgdir/usr/bin" "$pkgdir/usr/share"
+}
diff --git a/community/cdcd/cdcd-0.6.6-x86_64.patch b/community/cdcd/cdcd-0.6.6-x86_64.patch
new file mode 100644
index 000000000..25d122435
--- /dev/null
+++ b/community/cdcd/cdcd-0.6.6-x86_64.patch
@@ -0,0 +1,11 @@
+--- a/config.sub 2009-09-15 00:42:36.000000000 -0700
++++ b/config.sub 2009-09-15 00:42:36.000000000 -0700
+@@ -155,7 +155,7 @@
+ | alpha | we32k | ns16k | clipper | i370 | sh \
+ | powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
+ | pdp11 | mips64el | mips64orion | mips64orionel \
+- | sparc | sparclet | sparclite | sparc64)
++ | sparc | sparclet | sparclite | sparc64 | x86_64-*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # We use `pc' rather than `unknown'
diff --git a/community/cdcd/cdcd.install b/community/cdcd/cdcd.install
new file mode 100644
index 000000000..e859c40b7
--- /dev/null
+++ b/community/cdcd/cdcd.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(cdcd.info.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/cdck/PKGBUILD b/community/cdck/PKGBUILD
new file mode 100644
index 000000000..4a3dc6f32
--- /dev/null
+++ b/community/cdck/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 65681 2012-02-21 21:16:27Z cbrannon $
+# Maintainer: Chris Brannon <chris@the-brannons.com>
+# Contributor: Abhishek Dasgupta <abhidg@gmail.com>
+# Previous Maintainer: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+# Contributor: Slash <demodevil5[at]yahoo[dot]com>
+
+pkgname=cdck
+pkgver=0.7.0
+pkgrel=4
+pkgdesc="A simple program to verify CD/DVD quality"
+arch=('i686' 'x86_64')
+url="http://swaj.net/unix/"
+license=('GPL')
+depends=(gcc-libs)
+makedepends=('perl')
+options=('!libtool')
+source=(http://swaj.net/unix/cdck/${pkgname}-${pkgver}.tar.gz)
+md5sums=('15029d54b99f2e5cf8aae28077669d3f')
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ PATH="/usr/bin/core_perl:$PATH" make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/cdcover/PKGBUILD b/community/cdcover/PKGBUILD
new file mode 100644
index 000000000..4862b1508
--- /dev/null
+++ b/community/cdcover/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 65078 2012-02-20 03:31:51Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Roland Schaeuble <rschaeuble@gmx.ch>
+
+pkgname=cdcover
+pkgver=0.7.4
+pkgrel=5
+pkgdesc="cdcover allows the creation of inlay-sheets for cd-cases and dvd's"
+arch=('i686' 'x86_64')
+url="http://cdcover.sourceforge.net"
+license=('GPL')
+depends=('python2' 'tk')
+install='cdcover.install'
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('ab54e927e1c2f9210062ae9425cea669')
+
+build() {
+ cd $srcdir/$pkgname
+
+ # python2 fix
+ sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' src/cdcover.py
+
+ patch -p0 Makefile <<EOF
+13c13
+< IMAGEFILES=autonum.gif cddb.gif exit.gif gv.gif logo.gif nocddb.gif ps.gif
+---
+> IMAGEFILES=application-exit.gif cddb.gif document-print-preview.gif document-save.gif logo.gif nocddb.gif renumber.gif
+EOF
+
+ make target=/usr prefix=$pkgdir/usr install
+ rm -rf $pkgdir/usr/doc
+}
diff --git a/community/cdcover/cdcover.install b/community/cdcover/cdcover.install
new file mode 100644
index 000000000..5df4b5c8a
--- /dev/null
+++ b/community/cdcover/cdcover.install
@@ -0,0 +1,7 @@
+post_install()
+{
+ echo "Installation of a postscript viewer such as 'gv' or 'ggv'"
+ echo "is highly recommended."
+ echo "To benefit from cddb features, installation of 'discid'"
+ echo "and 'pycddb' is required."
+}
diff --git a/community/cddb-py/PKGBUILD b/community/cddb-py/PKGBUILD
new file mode 100644
index 000000000..6d2359f9f
--- /dev/null
+++ b/community/cddb-py/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 67459 2012-03-11 21:09:20Z lcarlier $
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+# Contributor: David Keogh <davekeogh@shaw.ca>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=cddb-py
+pkgver=1.4
+pkgrel=6
+pkgdesc="CDDB-Server access from Python"
+arch=('i686' 'x86_64')
+url="http://cddb-py.sourceforge.net"
+license=('GPL')
+depends=('python2')
+source=("http://downloads.sourceforge.net/sourceforge/cddb-py/CDDB-${pkgver}.tar.gz")
+md5sums=('254698082bafe3030d07d88fb7e13fe2')
+
+package() {
+ cd ${srcdir}/CDDB-${pkgver}
+
+ for file in CDDB.py DiscID.py; do
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file
+ done
+
+ python2 setup.py install --root=${pkgdir} --optimize=1
+}
diff --git a/community/cdemu-daemon/PKGBUILD b/community/cdemu-daemon/PKGBUILD
new file mode 100644
index 000000000..13a14a71f
--- /dev/null
+++ b/community/cdemu-daemon/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 92546 2013-06-08 00:40:57Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Ray Rashif <schiv@archlinux.org>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Charles Lindsay <charles@chaoslizard.org>
+
+pkgname=cdemu-daemon
+pkgver=2.1.0
+pkgrel=1
+pkgdesc="CD/DVD-ROM device emulator daemon"
+arch=(i686 x86_64)
+url="http://cdemu.sourceforge.net/"
+license=(GPL)
+depends=(dbus "vhba-module>=20130607" libao "libmirage>=2.1.0")
+makedepends=(cmake)
+optdepends=('alsa-lib: to enable the ALSA audio driver'
+ 'pulseaudio: to enable the PA audio driver')
+backup=(etc/conf.d/cdemu-daemon
+ etc/dbus-1/system.d/cdemu-daemon-dbus.conf)
+install=cdemu-daemon.install
+source=("http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.bz2"
+ system-arch.patch)
+sha256sums=('8224a5d8d16cbd9a2294e9c7ab544d61059d9870023e48705699af7366846580'
+ '29507da7367983bdc5f541e9f9252f189412041076842b8d08a5c4dac29f23cd')
+
+prepare() {
+ mkdir build
+ cd $pkgname-$pkgver
+
+ # Patch system daemon for Arch-friendlyness
+ # It's disabled by default. Should we even ship it?
+ patch -Np1 -i ../system-arch.patch
+}
+
+build() {
+ cd build
+ cmake ../$pkgname-$pkgver \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_INSTALL_LIBEXECDIR=lib/$pkgname
+ make
+}
+
+package() {
+ cd build
+ make DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir/usr/lib/modules-load.d"
+ echo vhba > "$pkgdir/usr/lib/modules-load.d/cdemu.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/cdemu-daemon/cdemu-daemon.install b/community/cdemu-daemon/cdemu-daemon.install
new file mode 100644
index 000000000..169ba6ec8
--- /dev/null
+++ b/community/cdemu-daemon/cdemu-daemon.install
@@ -0,0 +1,42 @@
+post_install () {
+ cat <<MSG
+ > Only users with at a physical terminal or in the 'cdemu'
+ group can communicate with the system daemon or make use
+ of a session daemon.
+
+ > If you want to output CD-Audio you need to use a session
+ daemon, e.g. via "cdemu -b session". If you use ALSA and
+ not PulseAudio, echo AUDIO_DRIVER=alsa > ~/.cdemu-daemon
+
+ > The daemons are usually started on-demand, but a system
+ daemon can be manually started via cdemu-daemon.service.
+ See /etc/conf.d/cdemu-daemon for further configuration.
+
+MSG
+
+ post_upgrade $1 $1
+
+ modprobe vhba
+
+ return 0
+}
+
+post_upgrade () {
+ if (( $(vercmp $2 2.0.0) < 0)); then
+ cat <<MSG
+ > Configuration files and log files have been renamed in
+ order to bring Arch closer to upstream. In particular,
+ this affects:
+ /etc/conf.d/cdemud --> /etc/conf.d/cdemu-daemon
+ /var/log/cdemud.log --> /var/log/cdemu-daemon.log
+ ~/.cdemud --> ~/.cdemu-daemon
+ ~/.cdemud.log --> ~/.cdemu-daemon.log
+ Please move your configuration.
+
+MSG
+ fi
+
+ return 0
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/cdemu-daemon/system-arch.patch b/community/cdemu-daemon/system-arch.patch
new file mode 100644
index 000000000..54a08bd16
--- /dev/null
+++ b/community/cdemu-daemon/system-arch.patch
@@ -0,0 +1,121 @@
+diff -u -rN cdemu-daemon-2.1.0/CMakeLists.txt cdemu-daemon-2.1.0-arch/CMakeLists.txt
+--- cdemu-daemon-2.1.0/CMakeLists.txt 2013-06-07 21:33:53.000000000 +0200
++++ cdemu-daemon-2.1.0-arch/CMakeLists.txt 2013-06-08 02:20:15.948655947 +0200
+@@ -18,7 +18,7 @@
+ include (FileList)
+
+ # Options
+-option (SYSTEM_BUS_SERVICE "Install CDEmu daemon as D-Bus system bus service" off)
++option (SYSTEM_BUS_SERVICE "Install CDEmu daemon as D-Bus system bus service" on)
+ option (SESSION_BUS_SERVICE "Install CDEmu daemon as D-Bus session bus service" on)
+
+ # If install prefix is /usr, override the sysconf dir to be /etc instead of /usr/etc
+@@ -46,6 +46,10 @@
+ ${PROJECT_SOURCE_DIR}/system/net.sf.cdemu.CDEmuDaemon.service.in
+ ${PROJECT_BINARY_DIR}/system/net.sf.cdemu.CDEmuDaemon.service
+ )
++configure_file (
++ ${PROJECT_SOURCE_DIR}/system/cdemu-daemon.service.in
++ ${PROJECT_BINARY_DIR}/system/cdemu-daemon.service
++)
+
+ # Global definitions
+ add_definitions (-std=gnu99) #NOTE: Compilation bugs out on using signals and -std=c99
+@@ -104,6 +108,10 @@
+ DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}
+ )
+ install (
++ FILES ${PROJECT_BINARY_DIR}/system/cdemu-daemon.service
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/systemd/system/
++ )
++ install (
+ FILES ${PROJECT_BINARY_DIR}/system/net.sf.cdemu.CDEmuDaemon.service
+ DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1/system-services/
+ )
+@@ -111,5 +119,10 @@
+ FILES system/cdemu-daemon-dbus.conf
+ DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d
+ )
++ install (
++ FILES system/cdemu-daemon.conf
++ RENAME cdemu-daemon
++ DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/conf.d
++ )
+ endif ()
+
+diff -u -rN cdemu-daemon-2.1.0/system/cdemu-daemon.conf cdemu-daemon-2.1.0-arch/system/cdemu-daemon.conf
+--- cdemu-daemon-2.1.0/system/cdemu-daemon.conf 1970-01-01 01:00:00.000000000 +0100
++++ cdemu-daemon-2.1.0-arch/system/cdemu-daemon.conf 2013-06-08 02:12:19.032035389 +0200
+@@ -0,0 +1,8 @@
++# how many optical drives to emulate
++#NUM_DEVICES=1
++
++# audio backend (null, default, alsa, or pulse)
++#AUDIO_DRIVER=null
++
++# log file
++#LOG_FILE=/var/log/cdemu-daemon.log
+diff -u -rN cdemu-daemon-2.1.0/system/cdemu-daemon-dbus.conf cdemu-daemon-2.1.0-arch/system/cdemu-daemon-dbus.conf
+--- cdemu-daemon-2.1.0/system/cdemu-daemon-dbus.conf 2013-06-07 21:33:53.000000000 +0200
++++ cdemu-daemon-2.1.0-arch/system/cdemu-daemon-dbus.conf 2013-06-08 02:11:52.922220389 +0200
+@@ -11,8 +11,13 @@
+ <allow own="net.sf.cdemu.CDEmuDaemon"/>
+ </policy>
+
+- <!-- Allow anyone to invoke methods on the interface -->
+- <policy context="default">
++ <!-- Allow users at the console to invoke methods on the interface -->
++ <policy at_console="true">
++ <allow send_destination="net.sf.cdemu.CDEmuDaemon"/>
++ </policy>
++
++ <!-- Allow users in the 'cdemu' group to invoke methods on the interface -->
++ <policy group="cdemu">
+ <allow send_destination="net.sf.cdemu.CDEmuDaemon"/>
+ </policy>
+ </busconfig>
+diff -u -rN cdemu-daemon-2.1.0/system/cdemu-daemon.service.in cdemu-daemon-2.1.0-arch/system/cdemu-daemon.service.in
+--- cdemu-daemon-2.1.0/system/cdemu-daemon.service.in 1970-01-01 01:00:00.000000000 +0100
++++ cdemu-daemon-2.1.0-arch/system/cdemu-daemon.service.in 2013-06-08 02:13:08.331686074 +0200
+@@ -0,0 +1,10 @@
++[Unit]
++Description=CDEmu Daemon
++
++[Service]
++Type=dbus
++BusName=net.sf.cdemu.CDEmuDaemon
++ExecStart=@CMAKE_INSTALL_FULL_LIBEXECDIR@/cdemu-daemon-system.sh
++
++[Install]
++WantedBy=multi-user.target
+diff -u -rN cdemu-daemon-2.1.0/system/cdemu-daemon-system.sh cdemu-daemon-2.1.0-arch/system/cdemu-daemon-system.sh
+--- cdemu-daemon-2.1.0/system/cdemu-daemon-system.sh 2013-06-07 21:33:53.000000000 +0200
++++ cdemu-daemon-2.1.0-arch/system/cdemu-daemon-system.sh 2013-06-08 02:11:53.152218760 +0200
+@@ -1,15 +1,15 @@
+ #!/bin/sh
+ # Starts the CDEmu daemon instance on D-Bus *system* bus. Optional
+ # configuration (number of devices, audio driver, log file) are read
+-# from /etc/sysconfig/cdemu-daemon
++# from /etc/conf.d/cdemu-daemon
+
+ # Default settings
+ NUM_DEVICES=1
+ AUDIO_DRIVER=null
+-LOG_FILE=/tmp/cdemu-daemon.log
++LOG_FILE=/var/log/cdemu-daemon.log
+
+ # Read the settings
+-CONFIG_FILE=/etc/sysconfig/cdemu-daemon
++CONFIG_FILE=/etc/conf.d/cdemu-daemon
+
+ if [ -f ${CONFIG_FILE} ]; then
+ . ${CONFIG_FILE};
+diff -u -rN cdemu-daemon-2.1.0/system/net.sf.cdemu.CDEmuDaemon.service.in cdemu-daemon-2.1.0-arch/system/net.sf.cdemu.CDEmuDaemon.service.in
+--- cdemu-daemon-2.1.0/system/net.sf.cdemu.CDEmuDaemon.service.in 2013-06-07 21:33:53.000000000 +0200
++++ cdemu-daemon-2.1.0-arch/system/net.sf.cdemu.CDEmuDaemon.service.in 2013-06-08 02:14:26.824463231 +0200
+@@ -2,4 +2,4 @@
+ Name=net.sf.cdemu.CdemuDaemon
+ Exec=@CMAKE_INSTALL_FULL_LIBEXECDIR@/cdemu-daemon-system.sh
+ User=root
+-
++SystemdService=cdemu-daemon.service
diff --git a/community/cegui/PKGBUILD b/community/cegui/PKGBUILD
new file mode 100644
index 000000000..26e5b4105
--- /dev/null
+++ b/community/cegui/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 94016 2013-07-13 12:31:10Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>,
+# Contributor: Bjorn Lindeijer <bjorn@lindeijer.nl>
+
+pkgname=cegui
+pkgver=0.8.2
+pkgrel=4
+pkgdesc="A free library providing windowing and widgets for graphics APIs/engines"
+arch=('i686' 'x86_64')
+url="http://crayzedsgui.sourceforge.net"
+license=("MIT")
+depends=('pcre' 'glew' 'expat' 'freetype2' 'libxml2' 'devil' 'freeglut' 'lua51' 'silly' 'glfw')
+makedepends=('cmake' 'python2' 'doxygen' 'ogre' 'gtk2' 'boost' 'graphviz' 'irrlicht' 'glm' 'mesa')
+optdepends=("python2: python bindings"
+ "ogre: ogre module"
+ "gtk2: gtk2 module"
+ "irrlicht: irrlicht module")
+source=(http://downloads.sourceforge.net/crayzedsgui/cegui-$pkgver.tar.gz)
+md5sums=('f72951f0cc0374bb2294035cb639bb83')
+
+build() {
+ cd "$srcdir/cegui-${pkgver}"
+
+ sed -i "s/lib64/lib/g" CMakeLists.txt
+ sed -i "s/lib32/lib/g" CMakeLists.txt
+
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCEGUI_LIB_INSTALL_DIR=lib \
+ -DPYTHON_EXECUTABLE=/usr/bin/python2
+
+ make
+ make html
+}
+
+package() {
+ cd "$srcdir/cegui-${pkgver}"
+
+ cd build
+
+ make DESTDIR="${pkgdir}" install
+
+ cd ..
+
+ install -Dm644 doc/COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/cegui/cegui-0.7.6-python-detection.patch b/community/cegui/cegui-0.7.6-python-detection.patch
new file mode 100644
index 000000000..e14cd812e
--- /dev/null
+++ b/community/cegui/cegui-0.7.6-python-detection.patch
@@ -0,0 +1,11 @@
+--- acinclude.m4.original 2012-01-24 10:42:16.066632295 +0100
++++ acinclude.m4 2012-01-24 10:43:15.800274030 +0100
+@@ -1411,7 +1411,7 @@
+ if test x$ax_python_bin != x; then
+ AC_CHECK_LIB($ax_python_bin, main, ax_python_lib=$ax_python_bin, ax_python_lib=no)
+ AC_CHECK_HEADER([$ax_python_bin/Python.h],
+- [[ax_python_header=`locate $ax_python_bin/Python.h | sed -e s,/Python.h,,`]],
++ [[ax_python_header="/usr/include/$ax_python_bin"]],
+ ax_python_header=no)
+ if test x$ax_python_lib != xno; then
+ if test x$ax_python_header != xno; then
diff --git a/community/cellwriter/PKGBUILD b/community/cellwriter/PKGBUILD
new file mode 100644
index 000000000..90f06cc78
--- /dev/null
+++ b/community/cellwriter/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Cilyan Olowen <gaknar@gmail.com>
+# Contributor: Alexander Markov <apsheronets@gmail.com>
+# Contributor: Winston Weinert
+
+pkgname=cellwriter
+pkgver=1.3.5
+pkgrel=1
+pkgdesc='A grid-entry natural handwriting input panel.'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://v1.risujin.org/cellwriter/'
+depends=('gtk2' 'libxtst' 'libgnome' 'hicolor-icon-theme')
+source=("http://v1.risujin.org/pub/cellwriter/${pkgname}-${pkgver}.tar.gz"
+ "http://launchpadlibrarian.net/18959127/${pkgname}-1.3.4-cellwidget-dont-disable-xinput.diff")
+md5sums=('16db87415c3c669e0489f9c4d795ec7d'
+ '5e8c61309c5ec8f67f0af7bb5ceb1aea')
+install="${pkgname}.install"
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}/src"
+
+ patch -p0 < "${srcdir}/${pkgname}-1.3.4-cellwidget-dont-disable-xinput.diff"
+
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ env LDFLAGS='-lX11' ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/cellwriter/cellwriter.install b/community/cellwriter/cellwriter.install
new file mode 100644
index 000000000..db21d5f09
--- /dev/null
+++ b/community/cellwriter/cellwriter.install
@@ -0,0 +1,14 @@
+post_install() {
+ echo "Updating GTK icon cache ..."
+ /usr/bin/gtk-update-icon-cache -f -t /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ echo "Updating GTK icon cache ..."
+ /usr/bin/gtk-update-icon-cache -f -t /usr/share/icons/hicolor
+}
+
+post_remove() {
+ echo "Updating GTK icon cache ..."
+ /usr/bin/gtk-update-icon-cache -f -t /usr/share/icons/hicolor
+}
diff --git a/community/celt0.5.1/PKGBUILD b/community/celt0.5.1/PKGBUILD
new file mode 100644
index 000000000..f2a4fa2e5
--- /dev/null
+++ b/community/celt0.5.1/PKGBUILD
@@ -0,0 +1,29 @@
+# Contributor: Lauri Niskanen <ape@ape3000.com>
+# Contributor: Ray Rashif <schivmeister@gmail.com>
+# Contributor: Jon Nordby <jononor@gmail.com>
+
+pkgname=celt0.5.1
+_basename=celt
+pkgver=0.5.1.3
+pkgrel=1
+pkgdesc="Low-latency audio communication codec - SPICE version"
+arch=(i686 x86_64)
+url="http://www.celt-codec.org"
+license=('BSD')
+depends=('libogg')
+provides=('celt=0.5.1')
+options=('!libtool')
+source=(http://downloads.us.xiph.org/releases/celt/celt-$pkgver.tar.gz)
+md5sums=('67e7b5e45db57a6f1f0a6962f5ecb190')
+
+build() {
+ cd "$srcdir/celt-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/celt-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/BSD"
+}
diff --git a/community/centerim/PKGBUILD b/community/centerim/PKGBUILD
new file mode 100644
index 000000000..5450d1345
--- /dev/null
+++ b/community/centerim/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 65082 2012-02-20 03:33:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: shild <sxp@bk.ru>
+
+pkgname=centerim
+pkgver=4.22.10
+pkgrel=2
+pkgdesc="Fork of CenterICQ - A text mode menu- and window-driven IM interface"
+arch=('i686' 'x86_64')
+url="http://www.centerim.org"
+license=('GPL')
+depends=('python2' 'libjpeg' 'gpgme')
+replaces=('centericq')
+source=(http://www.centerim.org/download/releases/$pkgname-$pkgver.tar.gz)
+md5sums=('7565c3c8cac98a4e2d8524076a44676f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's#python#python2#' misc/CenterIMLog2HTML.py
+ sed -i '1,1i#include <stdio.h>' libicq2000/libicq2000/sigslot.h
+ ./configure --prefix=/usr \
+ --with-ssl \
+ --with-openssl \
+ --enable-locales-fix
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/cgit/PKGBUILD b/community/cgit/PKGBUILD
new file mode 100644
index 000000000..e6ce816b2
--- /dev/null
+++ b/community/cgit/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 91791 2013-05-27 21:33:26Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Current Maintainer: Patrick Palka <patrick@parcs.ath.cx>
+# Previous Maintainer: Loui Chang <louipc.ist at gmail com>
+# Contributor: Andreas Baumann <abaumann at yahoo dot com>
+# Development: http://closure.ath.cx/aur-dev
+
+pkgname=cgit
+pkgver=0.9.2
+_gitver=1.8.3
+pkgrel=1
+pkgdesc="A web interface for git written in plain C"
+arch=('i686' 'x86_64')
+url="http://hjemli.net/git/cgit"
+license=('GPL')
+depends=('openssl')
+makedepends=('zlib' 'curl' 'asciidoc')
+install=cgit.install
+source=("http://git.zx2c4.com/cgit/snapshot/cgit-$pkgver.tar.xz"
+ "git-${_gitver}.tar.gz::https://github.com/git/git/archive/v${_gitver}.tar.gz"
+ "apache.example.conf")
+md5sums=('fe11018eff8d79caad112f4fac64b90f'
+ '73224d3dc86c4999cc49484b49c9acc4'
+ 'bd5696bea0654bfcf98f249b1a36737d')
+
+build() {
+ cd "$pkgname-$pkgver"
+ _cgit_gitver=`grep 'GIT_VER = ' Makefile | cut -f3 -d\ `
+ [ "x${_gitver}" == "x${_cgit_gitver}" ] || { msg "Bad git version"; return 1; }
+ rm -rf git/*
+ mv ../git-${_gitver}/* git/
+ make
+ make doc-man
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make CGIT_SCRIPT_PATH=/usr/share/webapps/cgit DESTDIR="$pkgdir" install install-man
+ install -vDm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ install -vd "$pkgdir/var/cache/$pkgname"
+ install -vDm0644 $srcdir/apache.example.conf $pkgdir/etc/webapps/cgit/apache.example.conf
+ mkdir -p $pkgdir/usr/lib/cgit
+ mv $pkgdir/usr/share/webapps/cgit/cgit.cgi $pkgdir/usr/lib/cgit
+ ln -sf ../../../lib/cgit/cgit.cgi $pkgdir/usr/share/webapps/cgit/cgit.cgi
+}
diff --git a/community/cgit/apache.example.conf b/community/cgit/apache.example.conf
new file mode 100644
index 000000000..9beb27db3
--- /dev/null
+++ b/community/cgit/apache.example.conf
@@ -0,0 +1,25 @@
+ScriptAlias /cgit/ "/usr/lib/cgit/cgit.cgi/"
+
+Alias /cgit-css "/usr/share/webapps/cgit/"
+
+<Directory "/usr/share/webapps/cgit/">
+ AllowOverride None
+ Options None
+ Order allow,deny
+ Allow from all
+ AuthType Basic
+ AuthName cgit
+ AuthUserFile /etc/httpd/conf/passwd
+ Require user root
+</Directory>
+
+<Directory "/usr/lib/cgit/">
+ AllowOverride None
+ Options ExecCGI FollowSymlinks
+ Order allow,deny
+ Allow from all
+ AuthType Basic
+ AuthName cgit
+ AuthUserFile /etc/httpd/conf/passwd
+ Require user root
+</Directory>
diff --git a/community/cgit/cgit.install b/community/cgit/cgit.install
new file mode 100644
index 000000000..7d696ada9
--- /dev/null
+++ b/community/cgit/cgit.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo -n "Setting ownership of /var/cache/cgit to http:http ... "
+ chown -v http:http var/cache/cgit
+ echo "done."
+ echo -n "cgit looks at /etc/cgitrc for configuration. there is "
+ echo "an example configuration file in its manpage."
+}
diff --git a/community/cgoban/PKGBUILD b/community/cgoban/PKGBUILD
new file mode 100644
index 000000000..0c16f3877
--- /dev/null
+++ b/community/cgoban/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 93531 2013-07-05 01:29:22Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=cgoban
+pkgver=1.9.14
+pkgrel=2
+pkgdesc='SGF editor and client for connection to IGS'
+url='http://sourceforge.net/projects/cgoban1/'
+arch=('i686' 'x86_64')
+license=('GPL2')
+depends=('libxt')
+source=("http://downloads.sourceforge.net/project/cgoban1/cgoban1/${pkgver}/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('90bd53499c9f410caddaae601e7f00350d520a32')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -d "${pkgdir}"/usr/{bin,share/man/man6}
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/checkinstall/PKGBUILD b/community/checkinstall/PKGBUILD
new file mode 100644
index 000000000..31f879e1c
--- /dev/null
+++ b/community/checkinstall/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91846 2013-05-28 17:24:53Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=checkinstall
+pkgver=1.6.2
+pkgrel=3
+pkgdesc="spy for 'make install' and build rpm or deb"
+arch=('i686' 'x86_64')
+url="http://asic-linux.com.mx/~izto/checkinstall/"
+license=('GPL')
+backup=(etc/checkinstall/checkinstallrc)
+source=(http://asic-linux.com.mx/~izto/checkinstall/files/source/$pkgname-$pkgver.tar.gz
+ build-fix.patch)
+md5sums=('d7b43c92001e68243a93bcce8b1e5480'
+ 'eac0c843781c300e7bc15c55be262e51')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np1 <../build-fix.patch
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/checkinstall/build-fix.patch b/community/checkinstall/build-fix.patch
new file mode 100644
index 000000000..9ab00cde5
--- /dev/null
+++ b/community/checkinstall/build-fix.patch
@@ -0,0 +1,154 @@
+diff -wbBur checkinstall-1.6.2/checkinstall checkinstall-1.6.2.my/checkinstall
+--- checkinstall-1.6.2/checkinstall 2009-12-26 22:17:24.000000000 +0300
++++ checkinstall-1.6.2.my/checkinstall 2010-01-15 18:31:55.212907700 +0300
+@@ -869,7 +869,7 @@
+
+ ################################################################
+ # User-configurable variables were moved to the checkinstallrc #
+-# file which is probably found at /usr/local/lib/checkinstall #
++# file which is probably found at /usr/lib/checkinstall #
+ # #
+ # DO NOT modify them here!! #
+ ################################################################
+@@ -1851,11 +1851,11 @@
+ COMPRESS="gzip -9"
+ COMPRESS_EXT=.gz
+
+- for d in ./usr/local/man/man* ./usr/local/man/*/man* ./usr/local/info \
+- ./usr/local/share/man/man* ./usr/local/share/man/*/man* \
+- ./usr/local/share/info \
+- ./usr/local/kerberos/man \
+- ./usr/local/share/doc/*/man/man* ./usr/local/lib/*/man/man* \
++ for d in ./usr/man/man* ./usr/man/*/man* ./usr/info \
++ ./usr/share/man/man* ./usr/share/man/*/man* \
++ ./usr/share/info \
++ ./usr/kerberos/man \
++ ./usr/share/doc/*/man/man* ./usr/lib/*/man/man* \
+ ././usr/man/man* ./usr/man/*/man* ./usr/info \
+ ./usr/share/man/man* ./usr/share/man/*/man* ./usr/share/info \
+ ./usr/kerberos/man ./usr/X11R6/man/man* ./usr/lib/perl5/man/man* \
+diff -wbBur checkinstall-1.6.2/checkinstallrc-dist checkinstall-1.6.2.my/checkinstallrc-dist
+--- checkinstall-1.6.2/checkinstallrc-dist 2008-11-11 22:10:34.000000000 +0300
++++ checkinstall-1.6.2.my/checkinstallrc-dist 2010-01-15 18:31:55.212907700 +0300
+@@ -16,7 +16,7 @@
+ DEBUG=0
+
+ # Location of the "installwatch" program
+-INSTALLWATCH_PREFIX="/usr/local"
++INSTALLWATCH_PREFIX="/usr"
+ INSTALLWATCH=${INSTALLWATCH_PREFIX}/bin/installwatch
+
+ # Location of the makepkg program. "makepak" is the default, and is
+diff -wbBur checkinstall-1.6.2/installwatch/installwatch.c checkinstall-1.6.2.my/installwatch/installwatch.c
+--- checkinstall-1.6.2/installwatch/installwatch.c 2008-11-16 19:20:53.000000000 +0300
++++ checkinstall-1.6.2.my/installwatch/installwatch.c 2010-01-15 18:55:50.112716628 +0300
+@@ -2938,13 +2938,8 @@
+ return result;
+ }
+
+-#if (GLIBC_MINOR <= 4)
+-int readlink(const char *path,char *buf,size_t bufsiz) {
+- int result;
+-#else
+ ssize_t readlink(const char *path,char *buf,size_t bufsiz) {
+ ssize_t result;
+-#endif
+ instw_t instw;
+ int status;
+
+@@ -3077,9 +3072,12 @@
+ return result;
+ }
+
+-int scandir( const char *dir,struct dirent ***namelist,
+- int (*select)(const struct dirent *),
+- int (*compar)(const void *,const void *) ) {
++extern int scandir (__const char *__restrict dir,
++ struct dirent ***__restrict namelist,
++ int (*select) (__const struct dirent *),
++ int (*compar) (__const struct dirent **,
++ __const struct dirent **))
++{
+ int result;
+
+ if (!libc_handle)
+@@ -3689,9 +3687,13 @@
+ return result;
+ }
+
+-int scandir64( const char *dir,struct dirent64 ***namelist,
+- int (*select)(const struct dirent64 *),
+- int (*compar)(const void *,const void *) ) {
++extern int scandir64 (__const char *__restrict dir,
++ struct dirent64 ***__restrict namelist,
++ int (*select) (__const struct dirent64 *),
++ int (*compar) (__const struct dirent64 **,
++ __const struct dirent64 **))
++// __nonnull ((1, 2))
++{
+ int result;
+
+ if (!libc_handle)
+Only in checkinstall-1.6.2.my/installwatch: installwatch.o
+Only in checkinstall-1.6.2.my/installwatch: installwatch.so
+Only in checkinstall-1.6.2.my/installwatch: localdecls.h
+diff -wbBur checkinstall-1.6.2/installwatch/Makefile checkinstall-1.6.2.my/installwatch/Makefile
+--- checkinstall-1.6.2/installwatch/Makefile 2008-11-16 19:20:53.000000000 +0300
++++ checkinstall-1.6.2.my/installwatch/Makefile 2010-01-15 18:31:55.219536411 +0300
+@@ -4,14 +4,14 @@
+ # Well, the only configurable part is the following variable.
+ # Make sure the directory you specify exists.
+
+-PREFIX=/usr/local
++PREFIX=/usr
+
+ # End of configurable part
+
+ VERSION=0.7.0beta7
+
+-BINDIR=$(PREFIX)/bin
+-LIBDIR=$(PREFIX)/lib
++BINDIR=$(DESTDIR)$(PREFIX)/bin
++LIBDIR=$(DESTDIR)$(PREFIX)/lib
+
+ all: installwatch.so
+
+Only in checkinstall-1.6.2.my/locale: checkinstall-de.mo
+Only in checkinstall-1.6.2.my/locale: checkinstall-es.mo
+Only in checkinstall-1.6.2.my/locale: checkinstall-id.mo
+Only in checkinstall-1.6.2.my/locale: checkinstall-it.mo
+Only in checkinstall-1.6.2.my/locale: checkinstall-ja.mo
+Only in checkinstall-1.6.2.my/locale: checkinstall-no.mo
+Only in checkinstall-1.6.2.my/locale: checkinstall-pt_BR.mo
+Only in checkinstall-1.6.2.my/locale: checkinstall-ru.mo
+Only in checkinstall-1.6.2.my/locale: checkinstall-zh_CN.mo
+diff -wbBur checkinstall-1.6.2/Makefile checkinstall-1.6.2.my/Makefile
+--- checkinstall-1.6.2/Makefile 2008-11-12 05:43:53.000000000 +0300
++++ checkinstall-1.6.2.my/Makefile 2010-01-15 18:31:55.219536411 +0300
+@@ -1,10 +1,10 @@
+ # $Id: Makefile,v 1.6.2.1 2008/11/09 07:48:18 izto Exp $
+
+ # Where to install.
+-PREFIX=/usr/local
+-BINDIR=$(PREFIX)/sbin
+-LCDIR=$(PREFIX)/lib/checkinstall/locale
+-CONFDIR=$(PREFIX)/lib/checkinstall
++PREFIX=/usr
++BINDIR=$(DESTDIR)/$(PREFIX)/bin
++LCDIR=$(DESTDIR)/$(PREFIX)/share/locale
++CONFDIR=$(DESTDIR)/etc/checkinstall
+
+ all:
+ for file in locale/checkinstall-*.po ; do \
+@@ -25,7 +25,11 @@
+ export
+ $(MAKE) -C installwatch install
+
++ mkdir -p $(DESTDIR)/usr/bin
+ mkdir -p $(BINDIR)
++ mkdir -p $(CONFDIR)
++ mkdir -p $(DESTDIR)/etc/checkinstall
++
+ install checkinstall makepak $(BINDIR)
+ for file in locale/*.mo ; do \
+ LANG=`echo $$file | sed -e 's|locale/checkinstall-||' \
diff --git a/community/chicken/PKGBUILD b/community/chicken/PKGBUILD
new file mode 100644
index 000000000..33400e6a0
--- /dev/null
+++ b/community/chicken/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 94266 2013-07-18 13:14:30Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: <david@pako.st>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=chicken
+pkgver=4.8.0.4
+pkgrel=1
+pkgdesc='Compiler for R5RS scheme, featuring handy extensions'
+arch=('x86_64' 'i686')
+url='http://call-cc.org/'
+license=('BSD')
+depends=('gcc')
+source=("http://code.call-cc.org/releases/${pkgver%.*}/$pkgname-$pkgver.tar.gz")
+sha256sums=('cd6c4b05f76a6ac82ff32e8dbd53f7517a283bda32003c6b3baa0c6b24990fb2')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ make -j1 PLATFORM=linux PREFIX=/usr
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ make -j1 PLATFORM=linux PREFIX=/usr DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/chmsee/PKGBUILD b/community/chmsee/PKGBUILD
new file mode 100644
index 000000000..d10d3b141
--- /dev/null
+++ b/community/chmsee/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 93170 2013-06-27 01:34:18Z foutrelis $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Contributor: dionydonny <dionydonny@gmail.com>
+# Contributor: Ermanno <erm67@yahoo.it>
+
+pkgname=chmsee
+pkgver=2.0.1
+pkgrel=1
+arch=('i686' 'x86_64')
+pkgdesc="A chm (MS HTML help file format) viewer based on xulrunner."
+url="http://chmsee.googlecode.com/"
+license=('GPL')
+depends=('xulrunner>18.0' 'xulrunner<23.0' 'chmlib' 'desktop-file-utils')
+makedepends=('python2')
+#source=(chmsee-$pkgver.tar.gz::https://github.com/jungleji/chmsee/tarball/v$pkgver
+#source=(https://github.com/jungleji/chmsee/archive/b2a3c2ad32bfe9db067665ea1928d7e130d1b5e7.zip
+source=(https://chmsee.googlecode.com/files/${pkgname}-${pkgver}.tar.gz
+ chmsee)
+install=chmsee.install
+md5sums=('08f813d65ed2a9e3af8ff1092650d0a5'
+ '1787edd1de8aa75bd9fa75a5ab319e85')
+
+build() {
+ cd ${srcdir}/chmsee-*/src
+
+ cp Makefile.arch Makefile
+ sed -i -e 's/17.*/18.0/g' ../application.ini
+ sed -i -e 's/21.*/22.*/g' ../application.ini
+
+ # xpcom has been merged into xul in xulrunner 22.0
+ sed -i -e 's/-lxpcom/-lxul/' common.mk
+
+ make -j1
+}
+
+package() {
+ cd ${srcdir}/chmsee-*
+
+ install -d ${pkgdir}/usr/share/chmsee
+ cp -a * ${pkgdir}/usr/share/chmsee
+ rm -r ${pkgdir}/usr/share/chmsee/src
+ install -Dm644 data/chmsee.desktop.in \
+ ${pkgdir}/usr/share/applications/chmsee.desktop
+ # Fix FS#25152
+ sed -i -e 's/_//g' ${pkgdir}/usr/share/applications/chmsee.desktop
+ #
+ install -d ${pkgdir}/usr/share/pixmaps
+ install -Dm644 data/chmsee-icon.png ${pkgdir}/usr/share/pixmaps
+ install -Dm755 ${srcdir}/chmsee ${pkgdir}/usr/bin/chmsee
+# install -d ${pkgdir}/usr/share/icons
+# cp -a data/icons/* ${pkgdir}/usr/share/icons/
+}
diff --git a/community/chmsee/chmsee b/community/chmsee/chmsee
new file mode 100644
index 000000000..cd022f561
--- /dev/null
+++ b/community/chmsee/chmsee
@@ -0,0 +1,2 @@
+#!/bin/sh
+xulrunner /usr/share/chmsee/application.ini "$@"
diff --git a/community/chmsee/chmsee.install b/community/chmsee/chmsee.install
new file mode 100644
index 000000000..308f27d33
--- /dev/null
+++ b/community/chmsee/chmsee.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/community/chntpw/PKGBUILD b/community/chntpw/PKGBUILD
new file mode 100644
index 000000000..16c8f504c
--- /dev/null
+++ b/community/chntpw/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 64647 2012-02-17 13:33:11Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=chntpw
+pkgver=110511
+pkgrel=2
+pkgdesc='Offline NT Password Editor - reset passwords in a Windows NT SAM user database file.'
+arch=('i686' 'x86_64')
+url='http://pogostick.net/~pnh/ntpasswd/'
+license=('GPL' 'LGPL')
+makedepends=('openssl')
+source=("http://pogostick.net/~pnh/ntpasswd/${pkgname}-source-${pkgver}.zip")
+md5sums=('a3fb358d1adec589cd6bc8dedf68896c')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ [ "$CARCH" = "x86_64" ] && sed -i "s|CFLAGS= -DUSEOPENSSL -g -I. -I\$(OSSLINC) -Wall -m32|CFLAGS= -DUSEOPENSSL -g -I. -I\$(OSSLINC) -Wall|" Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # install binaries, don't install static binaries!
+ install -Dm0755 "${srcdir}/${pkgname}-${pkgver}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm0755 "${srcdir}/${pkgname}-${pkgver}/reged" "${pkgdir}/usr/bin/reged"
+ install -Dm0755 "${srcdir}/${pkgname}-${pkgver}/cpnt" "${pkgdir}/usr/bin/cpnt"
+
+ for _f in *.txt; do
+ install -Dm0644 "${_f}" "${pkgdir}/usr/share/doc/${pkgname}/${_f}"
+ done
+}
diff --git a/community/choqok/PKGBUILD b/community/choqok/PKGBUILD
new file mode 100644
index 000000000..d12e6e7d1
--- /dev/null
+++ b/community/choqok/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 80665 2012-11-28 22:07:33Z plewis $
+# Maintainer: Peter Richard Lewis <plewis@aur.archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Emanuele Rossi <newdna1510@yahoo.it>
+# Contributor: Bram Schoenmakers <me@bramschoenmakers.nl>
+
+pkgname=choqok
+pkgver=1.3
+pkgrel=4
+pkgdesc="A Twitter/identi.ca/laconica client for KDE"
+url='http://choqok.gnufolks.org/'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('kdebase-runtime' 'qjson' 'qoauth' 'qca-ossl')
+makedepends=('cmake' 'automoc4')
+optdepends=('kdebase-konqueror: proxy support')
+install="${pkgname}.install"
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('87eea4f2c23467fb021e3e6b794eb37d')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+
+ # This is already installed by kdepimlibs >= 4.9.80
+ rm "${pkgdir}"/usr/share/apps/cmake/modules/FindQtOAuth.cmake
+}
diff --git a/community/choqok/choqok.install b/community/choqok/choqok.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/community/choqok/choqok.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/chromium-bsu/PKGBUILD b/community/chromium-bsu/PKGBUILD
new file mode 100644
index 000000000..a81061c19
--- /dev/null
+++ b/community/chromium-bsu/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 91634 2013-05-25 20:26:07Z jelle $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=chromium-bsu
+pkgver=0.9.15.1
+pkgrel=1
+pkgdesc="A fast paced top scrolling shooter"
+arch=('i686' 'x86_64')
+url="http://chromium-bsu.sourceforge.net/"
+license=('custom:artistic')
+depends=('freeglut' 'glu' 'sdl_image' 'openal' 'freealut' 'ftgl' 'fontconfig')
+install=chromium-bsu.install
+source=(http://downloads.sourceforge.net/project/chromium-bsu/Chromium%20B.S.U.%20source%20code/chromium-bsu-$pkgver.tar.gz)
+md5sums=('bd332a890ae9e5115f2808198a51a92b')
+
+build(){
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/chromium-bsu/LICENSE
+}
+
diff --git a/community/chromium-bsu/chromium-bsu.install b/community/chromium-bsu/chromium-bsu.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/chromium-bsu/chromium-bsu.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/chrony/PKGBUILD b/community/chrony/PKGBUILD
new file mode 100644
index 000000000..0c5c7337b
--- /dev/null
+++ b/community/chrony/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 94253 2013-07-18 00:42:27Z thestinger $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Patrick Leslie Polzer <leslie.polzer@gmx.net>
+# Contributor: cdhotfire <cdhotfire@gmail.com>
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+# Contributor: Elisamuel Resto <ryuji@simplysam.us>
+
+pkgname=chrony
+pkgver=1.28
+pkgrel=1
+pkgdesc='Lightweight NTP client and server'
+arch=('i686' 'x86_64')
+url="http://chrony.tuxfamily.org/"
+options=(strip emptydirs)
+license=('GPL')
+depends=('readline' 'libcap')
+backup=('etc/chrony.conf')
+source=(http://download.tuxfamily.org/chrony/${pkgname}-${pkgver}.tar.gz
+ service)
+sha256sums=('7adc34e77c5b5ffdf274adad54de503a34386f6b483c45e1a723751763c04364'
+ 'bef4305fa7e5828e1a1fd43aa8e631f22f21902f6cdc2d3b5b41a57bd9a175dc')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ install -Dm0644 "$srcdir/$pkgname-$pkgver/examples/chrony.conf.example" "$pkgdir/etc/chrony.conf"
+
+ # Arch's kernel has enhanced RTC support, make chrony use it by default
+ sed -i '/^! \(rtconutc\|rtcfile \/var\/lib\/chrony\/rtc\)$/ s/^! //' \
+ "$pkgdir/etc/chrony.conf"
+
+ mv "$pkgdir/usr/sbin/chronyd" "$pkgdir/usr/bin"
+ rmdir "$pkgdir/usr/sbin"
+
+ install -Dm644 "$srcdir/service" "$pkgdir/usr/lib/systemd/system/chrony.service"
+
+ install -dm755 "$pkgdir/usr/lib/systemd/ntp-units.d"
+ echo "$pkgname.service" > "$pkgdir/usr/lib/systemd/ntp-units.d/$pkgname.list"
+}
diff --git a/community/chrony/service b/community/chrony/service
new file mode 100644
index 000000000..3a012ffac
--- /dev/null
+++ b/community/chrony/service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Chrony Network Time Daemon
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/chronyd
+PIDFile=/var/run/chronyd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/chrootuid/PKGBUILD b/community/chrootuid/PKGBUILD
new file mode 100644
index 000000000..9b6f9a7ee
--- /dev/null
+++ b/community/chrootuid/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 91848 2013-05-28 17:25:14Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Frop Doe <mrmr@rizla.org>
+# Contributor: Guillermo A. Amaral <me@guillermoamaral.com> (thewonka)
+# Mainteiner: Guillermo A. Amaral <me@guillermoamaral.com> (thewonka)
+
+pkgname=chrootuid
+pkgver=1.3
+pkgrel=6
+arch=(i686 x86_64)
+pkgdesc="Runs a command in a restricted environment."
+url="ftp://ftp.porcupine.org/pub/security/index.html"
+license=("BSD")
+depends=(glibc)
+source=(ftp://ftp.porcupine.org/pub/security/$pkgname$pkgver.tar.gz
+ ftp://ftp.porcupine.org/pub/security/chrootuid_license)
+md5sums=('15510abadf5de189e1c22a1544dc926a'
+ '11383ad1d66445640f1dec3478a2b53f')
+
+build() {
+ cd $srcdir/$pkgname$pkgver
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname$pkgver
+ install -D -m755 $srcdir/$pkgname$pkgver/chrootuid $pkgdir/usr/bin/chrootuid
+ install -D -m644 $srcdir/$pkgname$pkgver/chrootuid.1 $pkgdir/usr/share/man/man1/chrootuid.1
+ install -D -m644 $srcdir/chrootuid_license $pkgdir/usr/share/licenses/$pkgname/license
+}
diff --git a/community/chrpath/PKGBUILD b/community/chrpath/PKGBUILD
new file mode 100644
index 000000000..c978d17a9
--- /dev/null
+++ b/community/chrpath/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 55552 2011-09-14 09:27:16Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
+
+pkgname=chrpath
+pkgver=0.13
+pkgrel=3
+pkgdesc="Change or delete the rpath or runpath in ELF files"
+arch=('i686' 'x86_64')
+url="http://directory.fsf.org/project/chrpath/"
+license=('GPL2')
+depends=('glibc')
+source=("http://ftp.tux.org/pub/X-Windows/ftp.hungry.com/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('b73072a8fbba277558c50364b65bb407')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make DESTDIR="${pkgdir}" docdir=/usr/share/doc/chrpath install
+}
diff --git a/community/chuck/PKGBUILD b/community/chuck/PKGBUILD
new file mode 100644
index 000000000..fe6b7247d
--- /dev/null
+++ b/community/chuck/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 78497 2012-10-20 00:31:27Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: tardo <tardo@nagi-fanboi.net>
+
+pkgname=chuck
+pkgver=1.3.1.3
+pkgrel=1
+pkgdesc='Concurrent, on-the-fly audio programming language'
+arch=('x86_64' 'i686')
+url='http://chuck.cs.princeton.edu/'
+license=('GPL')
+depends=('gcc-libs' 'libsndfile')
+source=("http://chuck.cs.princeton.edu/release/files/$pkgname-$pkgver.tgz")
+sha256sums=('8ef8a65fe4d265b6f509b9339355a5658b47d9b43219fa09c182ca846cc0a740')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver/src
+
+ msg2 'Configuring...'
+ CFLAGS+=' -fno-strict-aliasing -lpthread'
+ CXXFLAGS+=' -fno-strict-aliasing -fpermissive -lpthread'
+
+ msg2 'Compiling...'
+ # Alternatives to linux-alsa are: linux-jack linux-oss osx win32
+ make linux-alsa
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver/src
+
+ install -Dm755 chuck $pkgdir/usr/bin/chuck
+ mkdir -p $pkgdir/usr/share/doc/$pkgname
+ cp -r ../examples $pkgdir/usr/share/doc/$pkgname/
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/cinnamon-control-center/PKGBUILD b/community/cinnamon-control-center/PKGBUILD
new file mode 100644
index 000000000..e53dd9e88
--- /dev/null
+++ b/community/cinnamon-control-center/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 91472 2013-05-23 01:19:04Z faidoc $
+# Maintainer: Alexandre Filgueira <alexfilgueira@cinnarch.com
+# Based on gnome-control-center:
+# Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Jan de Groot <jgc@archlinux.org>
+
+pkgname=cinnamon-control-center
+pkgver=1.8.2
+pkgrel=1
+pkgdesc="The Control Center for Cinnamon"
+arch=('i686' 'x86_64')
+depends=('cinnamon' 'cheese' 'libgnomekbd' 'network-manager-applet')
+optdepends=('gnome-color-manager: for color management tasks')
+makedepends=('intltool' 'gnome-common')
+url="https://github.com/linuxmint/cinnamon-control-center"
+install=cinnamon-control-center.install
+license=('GPL')
+options=('!libtool' '!emptydirs')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/cinnamon-control-center/archive/$pkgver.tar.gz"
+ "gnomerrlabeler.patch"
+ "idle-delay.patch")
+sha256sums=('78effed26a8fdce481cfe467889c9afdb6db78a961aec61b918c83c9781ccf4f'
+ 'a01db243251c3da59c969d4538a35a63020d1e20866ff700ef273debd05456db'
+ '42ea92628dc234d65e582592a66c0011d5bb2c2eac14854a06f7a9dc923c8d67')
+
+build() {
+ cd $pkgname-$pkgver
+
+ # Build fix for GNOME 3.8
+ patch -Np1 -i "$srcdir/gnomerrlabeler.patch"
+
+ # Runtime fix for GNOME 3.8
+ patch -Np1 -i "$srcdir/idle-delay.patch"
+
+ autoreconf -fi
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --enable-systemd \
+ --disable-update-mimedb
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=656229
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ # Remove unused stuff
+ make -C panels/sound DESTDIR="$pkgdir" uninstall
+ make -C panels/sound/data DESTDIR="$pkgdir" install
+ make -C shell DESTDIR="$pkgdir" uninstall
+ make -C shell DESTDIR="$pkgdir" install-libLTLIBRARIES
+
+ # Remove broken desktop files
+ rm -R "$pkgdir/usr/share/applications"
+ rm -R "$pkgdir/etc"
+
+ # Fix a warning
+ chown 102:0 "$pkgdir/usr/share/polkit-1/rules.d"
+ chmod 700 "$pkgdir/usr/share/polkit-1/rules.d"
+}
diff --git a/community/cinnamon-control-center/cinnamon-control-center.install b/community/cinnamon-control-center/cinnamon-control-center.install
new file mode 100644
index 000000000..d1fce39bc
--- /dev/null
+++ b/community/cinnamon-control-center/cinnamon-control-center.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+} \ No newline at end of file
diff --git a/community/cinnamon-control-center/gnomerrlabeler.patch b/community/cinnamon-control-center/gnomerrlabeler.patch
new file mode 100644
index 000000000..7160bc788
--- /dev/null
+++ b/community/cinnamon-control-center/gnomerrlabeler.patch
@@ -0,0 +1,766 @@
+diff -Naur cinnamon-control-center-1.7.3.orig/panels/display/cc-display-panel.c cinnamon-control-center-1.7.3/panels/display/cc-display-panel.c
+--- cinnamon-control-center-1.7.3.orig/panels/display/cc-display-panel.c 2013-04-15 16:04:38.000000000 +0200
++++ cinnamon-control-center-1.7.3/panels/display/cc-display-panel.c 2013-04-22 03:46:53.499944701 +0200
+@@ -31,12 +31,13 @@
+ #define GNOME_DESKTOP_USE_UNSTABLE_API
+ #include <libgnome-desktop/gnome-rr.h>
+ #include <libgnome-desktop/gnome-rr-config.h>
+-#include <libgnome-desktop/gnome-rr-labeler.h>
+ #include <gdk/gdkx.h>
+ #include <X11/Xlib.h>
+ #include <glib/gi18n-lib.h>
+ #include <gdesktop-enums.h>
+
++#include "cc-rr-labeler.h"
++
+ CC_PANEL_REGISTER (CcDisplayPanel, cc_display_panel)
+
+ #define DISPLAY_PANEL_PRIVATE(o) \
+@@ -75,7 +76,7 @@
+ {
+ GnomeRRScreen *screen;
+ GnomeRRConfig *current_configuration;
+- GnomeRRLabeler *labeler;
++ CcRRLabeler *labeler;
+ GnomeRROutputInfo *current_output;
+
+ GSettings *clock_settings;
+@@ -200,7 +201,7 @@
+ g_signal_handler_disconnect (GTK_WIDGET (self), self->priv->focus_id_hide);
+ }
+
+- gnome_rr_labeler_hide (self->priv->labeler);
++ cc_rr_labeler_hide (self->priv->labeler);
+ g_object_unref (self->priv->labeler);
+
+ G_OBJECT_CLASS (cc_display_panel_parent_class)->finalize (object);
+@@ -293,16 +294,16 @@
+ self->priv->current_output = NULL;
+
+ if (self->priv->labeler) {
+- gnome_rr_labeler_hide (self->priv->labeler);
++ cc_rr_labeler_hide (self->priv->labeler);
+ g_object_unref (self->priv->labeler);
+ }
+
+- self->priv->labeler = gnome_rr_labeler_new (self->priv->current_configuration);
++ self->priv->labeler = cc_rr_labeler_new (self->priv->current_configuration);
+
+ if (cc_panel_get_shell (CC_PANEL (self)) == NULL)
+- gnome_rr_labeler_hide (self->priv->labeler);
++ cc_rr_labeler_hide (self->priv->labeler);
+ else
+- gnome_rr_labeler_show (self->priv->labeler);
++ cc_rr_labeler_show (self->priv->labeler);
+
+ select_current_output_from_dialog_position (self);
+
+@@ -2594,9 +2595,9 @@
+ if (self->priv->labeler == NULL)
+ return;
+ if (gtk_window_has_toplevel_focus (window))
+- gnome_rr_labeler_show (self->priv->labeler);
++ cc_rr_labeler_show (self->priv->labeler);
+ else
+- gnome_rr_labeler_hide (self->priv->labeler);
++ cc_rr_labeler_hide (self->priv->labeler);
+ }
+
+ static void
+@@ -2606,9 +2607,9 @@
+ if (CC_DISPLAY_PANEL(widget)->priv->labeler == NULL)
+ return;
+ if (gtk_widget_get_visible (widget)) {
+- gnome_rr_labeler_show (CC_DISPLAY_PANEL (widget)->priv->labeler);
++ cc_rr_labeler_show (CC_DISPLAY_PANEL (widget)->priv->labeler);
+ } else {
+- gnome_rr_labeler_hide (CC_DISPLAY_PANEL (widget)->priv->labeler);
++ cc_rr_labeler_hide (CC_DISPLAY_PANEL (widget)->priv->labeler);
+ }
+ }
+
+diff -Naur cinnamon-control-center-1.7.3.orig/panels/display/cc-rr-labeler.c cinnamon-control-center-1.7.3/panels/display/cc-rr-labeler.c
+--- cinnamon-control-center-1.7.3.orig/panels/display/cc-rr-labeler.c 1970-01-01 01:00:00.000000000 +0100
++++ cinnamon-control-center-1.7.3/panels/display/cc-rr-labeler.c 2013-04-22 03:42:12.379900127 +0200
+@@ -0,0 +1,601 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
++ *
++ * cc-rr-labeler.c - Utility to label monitors to identify them
++ * while they are being configured.
++ *
++ * Copyright 2008, Novell, Inc.
++ *
++ * This file is part of the Gnome Library.
++ *
++ * The Gnome Library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public License as
++ * published by the Free Software Foundation; either version 2 of the
++ * License, or (at your option) any later version.
++ *
++ * The Gnome Library 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
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with the Gnome Library; see the file COPYING.LIB. If not,
++ * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ *
++ * Author: Federico Mena-Quintero <federico@novell.com>
++ */
++
++#include <config.h>
++#include <glib/gi18n-lib.h>
++#include <gtk/gtk.h>
++
++#include <X11/Xproto.h>
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++#include <X11/Xatom.h>
++#include <gdk/gdkx.h>
++
++#include "cc-rr-labeler.h"
++
++struct _CcRRLabelerPrivate {
++ GnomeRRConfig *config;
++
++ int num_outputs;
++
++ GdkRGBA *palette;
++ GtkWidget **windows;
++
++ GdkScreen *screen;
++ Atom workarea_atom;
++};
++
++enum {
++ PROP_0,
++ PROP_CONFIG,
++ PROP_LAST
++};
++
++G_DEFINE_TYPE (CcRRLabeler, cc_rr_labeler, G_TYPE_OBJECT);
++
++static void cc_rr_labeler_finalize (GObject *object);
++static void setup_from_config (CcRRLabeler *labeler);
++
++static GdkFilterReturn
++screen_xevent_filter (GdkXEvent *xevent,
++ GdkEvent *event,
++ CcRRLabeler *labeler)
++{
++ XEvent *xev;
++
++ xev = (XEvent *) xevent;
++
++ if (xev->type == PropertyNotify &&
++ xev->xproperty.atom == labeler->priv->workarea_atom) {
++ /* update label positions */
++ if (labeler->priv->windows != NULL) {
++ cc_rr_labeler_hide (labeler);
++ cc_rr_labeler_show (labeler);
++ }
++ }
++
++ return GDK_FILTER_CONTINUE;
++}
++
++static void
++cc_rr_labeler_init (CcRRLabeler *labeler)
++{
++ GdkWindow *gdkwindow;
++
++ labeler->priv = G_TYPE_INSTANCE_GET_PRIVATE (labeler, GNOME_TYPE_RR_LABELER, CcRRLabelerPrivate);
++
++ labeler->priv->workarea_atom = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
++ "_NET_WORKAREA",
++ True);
++
++ labeler->priv->screen = gdk_screen_get_default ();
++ /* code is not really designed to handle multiple screens so *shrug* */
++ gdkwindow = gdk_screen_get_root_window (labeler->priv->screen);
++ gdk_window_add_filter (gdkwindow, (GdkFilterFunc) screen_xevent_filter, labeler);
++ gdk_window_set_events (gdkwindow, gdk_window_get_events (gdkwindow) | GDK_PROPERTY_CHANGE_MASK);
++}
++
++static void
++cc_rr_labeler_set_property (GObject *gobject, guint property_id, const GValue *value, GParamSpec *param_spec)
++{
++ CcRRLabeler *self = CC_RR_LABELER (gobject);
++
++ switch (property_id) {
++ case PROP_CONFIG:
++ self->priv->config = GNOME_RR_CONFIG (g_value_dup_object (value));
++ return;
++ default:
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, property_id, param_spec);
++ }
++}
++
++static GObject *
++cc_rr_labeler_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties)
++{
++ CcRRLabeler *self = (CcRRLabeler*) G_OBJECT_CLASS (cc_rr_labeler_parent_class)->constructor (type, n_construct_properties, construct_properties);
++
++ setup_from_config (self);
++
++ return (GObject*) self;
++}
++
++static void
++cc_rr_labeler_class_init (CcRRLabelerClass *klass)
++{
++ GObjectClass *object_class;
++
++ g_type_class_add_private (klass, sizeof (CcRRLabelerPrivate));
++
++ object_class = (GObjectClass *) klass;
++
++ object_class->set_property = cc_rr_labeler_set_property;
++ object_class->finalize = cc_rr_labeler_finalize;
++ object_class->constructor = cc_rr_labeler_constructor;
++
++ g_object_class_install_property (object_class, PROP_CONFIG, g_param_spec_object ("config",
++ "Configuration",
++ "RandR configuration to label",
++ GNOME_TYPE_RR_CONFIG,
++ G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
++ G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
++}
++
++static void
++cc_rr_labeler_finalize (GObject *object)
++{
++ CcRRLabeler *labeler;
++ GdkWindow *gdkwindow;
++
++ labeler = CC_RR_LABELER (object);
++
++ gdkwindow = gdk_screen_get_root_window (labeler->priv->screen);
++ gdk_window_remove_filter (gdkwindow, (GdkFilterFunc) screen_xevent_filter, labeler);
++
++ if (labeler->priv->config != NULL) {
++ g_object_unref (labeler->priv->config);
++ }
++
++ if (labeler->priv->windows != NULL) {
++ cc_rr_labeler_hide (labeler);
++ g_free (labeler->priv->windows);
++ }
++
++ g_free (labeler->priv->palette);
++
++ G_OBJECT_CLASS (cc_rr_labeler_parent_class)->finalize (object);
++}
++
++static int
++count_outputs (GnomeRRConfig *config)
++{
++ int i;
++ GnomeRROutputInfo **outputs = gnome_rr_config_get_outputs (config);
++
++ for (i = 0; outputs[i] != NULL; i++)
++ ;
++
++ return i;
++}
++
++static void
++make_palette (CcRRLabeler *labeler)
++{
++ /* The idea is that we go around an hue color wheel. We want to start
++ * at red, go around to green/etc. and stop at blue --- because magenta
++ * is evil. Eeeeek, no magenta, please!
++ *
++ * Purple would be nice, though. Remember that we are watered down
++ * (i.e. low saturation), so that would be like Like berries with cream.
++ * Mmmmm, berries.
++ */
++ double start_hue;
++ double end_hue;
++ int i;
++
++ g_assert (labeler->priv->num_outputs > 0);
++
++ labeler->priv->palette = g_new (GdkRGBA, labeler->priv->num_outputs);
++
++ start_hue = 0.0; /* red */
++ end_hue = 2.0/3; /* blue */
++
++ for (i = 0; i < labeler->priv->num_outputs; i++) {
++ double h, s, v;
++ double r, g, b;
++
++ h = start_hue + (end_hue - start_hue) / labeler->priv->num_outputs * i;
++ s = 1.0 / 3;
++ v = 1.0;
++
++ gtk_hsv_to_rgb (h, s, v, &r, &g, &b);
++
++ labeler->priv->palette[i].red = r;
++ labeler->priv->palette[i].green = g;
++ labeler->priv->palette[i].blue = b;
++ labeler->priv->palette[i].alpha = 1.0;
++ }
++}
++
++static void
++rounded_rectangle (cairo_t *cr,
++ gint x,
++ gint y,
++ gint width,
++ gint height,
++ gint x_radius,
++ gint y_radius)
++{
++ gint x1, x2;
++ gint y1, y2;
++ gint xr1, xr2;
++ gint yr1, yr2;
++
++ x1 = x;
++ x2 = x1 + width;
++ y1 = y;
++ y2 = y1 + height;
++
++ x_radius = MIN (x_radius, width / 2.0);
++ y_radius = MIN (y_radius, width / 2.0);
++
++ xr1 = x_radius;
++ xr2 = x_radius / 2.0;
++ yr1 = y_radius;
++ yr2 = y_radius / 2.0;
++
++ cairo_move_to (cr, x1 + xr1, y1);
++ cairo_line_to (cr, x2 - xr1, y1);
++ cairo_curve_to (cr, x2 - xr2, y1, x2, y1 + yr2, x2, y1 + yr1);
++ cairo_line_to (cr, x2, y2 - yr1);
++ cairo_curve_to (cr, x2, y2 - yr2, x2 - xr2, y2, x2 - xr1, y2);
++ cairo_line_to (cr, x1 + xr1, y2);
++ cairo_curve_to (cr, x1 + xr2, y2, x1, y2 - yr2, x1, y2 - yr1);
++ cairo_line_to (cr, x1, y1 + yr1);
++ cairo_curve_to (cr, x1, y1 + yr2, x1 + xr2, y1, x1 + xr1, y1);
++ cairo_close_path (cr);
++}
++
++#define LABEL_WINDOW_EDGE_THICKNESS 2
++#define LABEL_WINDOW_PADDING 12
++/* Look for panel-corner in:
++ * http://git.gnome.org/browse/gnome-shell/tree/data/theme/gnome-shell.css
++ * to match the corner radius */
++#define LABEL_CORNER_RADIUS 6 + LABEL_WINDOW_EDGE_THICKNESS
++
++static void
++label_draw_background_and_frame (GtkWidget *widget, cairo_t *cr, gboolean for_shape)
++{
++ GdkRGBA shape_color = { 0, 0, 0, 1 };
++ GdkRGBA *rgba;
++ GtkAllocation allocation;
++
++ rgba = g_object_get_data (G_OBJECT (widget), "rgba");
++ gtk_widget_get_allocation (widget, &allocation);
++
++ cairo_save (cr);
++ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
++
++ /* edge outline */
++ if (for_shape)
++ gdk_cairo_set_source_rgba (cr, &shape_color);
++ else
++ cairo_set_source_rgba (cr, 0, 0, 0, 0.5);
++
++ rounded_rectangle (cr,
++ LABEL_WINDOW_EDGE_THICKNESS / 2.0,
++ LABEL_WINDOW_EDGE_THICKNESS / 2.0,
++ allocation.width - LABEL_WINDOW_EDGE_THICKNESS,
++ allocation.height - LABEL_WINDOW_EDGE_THICKNESS,
++ LABEL_CORNER_RADIUS, LABEL_CORNER_RADIUS);
++ cairo_set_line_width (cr, LABEL_WINDOW_EDGE_THICKNESS);
++ cairo_stroke (cr);
++
++ /* fill */
++ if (for_shape) {
++ gdk_cairo_set_source_rgba (cr, &shape_color);
++ } else {
++ rgba->alpha = 0.75;
++ gdk_cairo_set_source_rgba (cr, rgba);
++ }
++
++ rounded_rectangle (cr,
++ LABEL_WINDOW_EDGE_THICKNESS,
++ LABEL_WINDOW_EDGE_THICKNESS,
++ allocation.width - LABEL_WINDOW_EDGE_THICKNESS * 2,
++ allocation.height - LABEL_WINDOW_EDGE_THICKNESS * 2,
++ LABEL_CORNER_RADIUS - LABEL_WINDOW_EDGE_THICKNESS / 2.0,
++ LABEL_CORNER_RADIUS - LABEL_WINDOW_EDGE_THICKNESS / 2.0);
++ cairo_fill (cr);
++
++ cairo_restore (cr);
++}
++
++static void
++maybe_update_shape (GtkWidget *widget)
++{
++ cairo_t *cr;
++ cairo_surface_t *surface;
++ cairo_region_t *region;
++
++ /* fallback to XShape only for non-composited clients */
++ if (gtk_widget_is_composited (widget)) {
++ gtk_widget_shape_combine_region (widget, NULL);
++ return;
++ }
++
++ surface = gdk_window_create_similar_surface (gtk_widget_get_window (widget),
++ CAIRO_CONTENT_COLOR_ALPHA,
++ gtk_widget_get_allocated_width (widget),
++ gtk_widget_get_allocated_height (widget));
++
++ cr = cairo_create (surface);
++ label_draw_background_and_frame (widget, cr, TRUE);
++ cairo_destroy (cr);
++
++ region = gdk_cairo_region_create_from_surface (surface);
++ gtk_widget_shape_combine_region (widget, region);
++
++ cairo_surface_destroy (surface);
++ cairo_region_destroy (region);
++}
++
++static gboolean
++label_window_draw_event_cb (GtkWidget *widget, cairo_t *cr, gpointer data)
++{
++ if (gtk_widget_is_composited (widget)) {
++ /* clear any content */
++ cairo_save (cr);
++ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
++ cairo_set_source_rgba (cr, 0, 0, 0, 0);
++ cairo_paint (cr);
++ cairo_restore (cr);
++ }
++
++ maybe_update_shape (widget);
++ label_draw_background_and_frame (widget, cr, FALSE);
++
++ return FALSE;
++}
++
++static void
++position_window (CcRRLabeler *labeler,
++ GtkWidget *window,
++ int x,
++ int y)
++{
++ GdkRectangle workarea;
++ GdkRectangle monitor;
++ int monitor_num;
++
++ monitor_num = gdk_screen_get_monitor_at_point (labeler->priv->screen, x, y);
++ gdk_screen_get_monitor_workarea (labeler->priv->screen, monitor_num, &workarea);
++ gdk_screen_get_monitor_geometry (labeler->priv->screen,
++ monitor_num,
++ &monitor);
++ gdk_rectangle_intersect (&monitor, &workarea, &workarea);
++
++ gtk_window_move (GTK_WINDOW (window), workarea.x, workarea.y);
++}
++
++static void
++label_window_realize_cb (GtkWidget *widget)
++{
++ cairo_region_t *region;
++
++ /* make the whole window ignore events */
++ region = cairo_region_create ();
++ gtk_widget_input_shape_combine_region (widget, region);
++ cairo_region_destroy (region);
++
++ maybe_update_shape (widget);
++}
++
++static void
++label_window_composited_changed_cb (GtkWidget *widget, CcRRLabeler *labeler)
++{
++ if (gtk_widget_get_realized (widget))
++ maybe_update_shape (widget);
++}
++
++static GtkWidget *
++create_label_window (CcRRLabeler *labeler, GnomeRROutputInfo *output, GdkRGBA *rgba)
++{
++ GtkWidget *window;
++ GtkWidget *widget;
++ char *str;
++ const char *display_name;
++ GdkRGBA black = { 0, 0, 0, 1.0 };
++ int x, y;
++ GdkScreen *screen;
++ GdkVisual *visual;
++
++ window = gtk_window_new (GTK_WINDOW_POPUP);
++ gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_TOOLTIP);
++ gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
++ gtk_widget_set_app_paintable (window, TRUE);
++ screen = gtk_widget_get_screen (window);
++ visual = gdk_screen_get_rgba_visual (screen);
++
++ if (visual != NULL)
++ gtk_widget_set_visual (window, visual);
++
++ gtk_container_set_border_width (GTK_CONTAINER (window), LABEL_WINDOW_PADDING + LABEL_WINDOW_EDGE_THICKNESS);
++
++ /* This is semi-dangerous. The color is part of the labeler->palette
++ * array. Note that in cc_rr_labeler_finalize(), we are careful to
++ * free the palette only after we free the windows.
++ */
++ g_object_set_data (G_OBJECT (window), "rgba", rgba);
++
++ g_signal_connect (window, "draw",
++ G_CALLBACK (label_window_draw_event_cb), labeler);
++ g_signal_connect (window, "realize",
++ G_CALLBACK (label_window_realize_cb), labeler);
++ g_signal_connect (window, "composited-changed",
++ G_CALLBACK (label_window_composited_changed_cb), labeler);
++
++ if (gnome_rr_config_get_clone (labeler->priv->config)) {
++ /* Keep this string in sync with gnome-control-center/capplets/display/xrandr-capplet.c:get_display_name() */
++
++ /* Translators: this is the feature where what you see on your
++ * laptop's screen is the same as your external projector.
++ * Here, "Mirrored" is being used as an adjective. For example,
++ * the Spanish translation could be "Pantallas en Espejo".
++ */
++ display_name = _("Mirrored Displays");
++ } else
++ display_name = gnome_rr_output_info_get_display_name (output);
++
++ str = g_strdup_printf ("<b>%s</b>", display_name);
++ widget = gtk_label_new (NULL);
++ gtk_label_set_markup (GTK_LABEL (widget), str);
++ g_free (str);
++
++ /* Make the label explicitly black. We don't want it to follow the
++ * theme's colors, since the label is always shown against a light
++ * pastel background. See bgo#556050
++ */
++ gtk_widget_override_color (widget,
++ gtk_widget_get_state_flags (widget),
++ &black);
++
++ gtk_container_add (GTK_CONTAINER (window), widget);
++
++ /* Should we center this at the top edge of the monitor, instead of using the upper-left corner? */
++ gnome_rr_output_info_get_geometry (output, &x, &y, NULL, NULL);
++ position_window (labeler, window, x, y);
++
++ gtk_widget_show_all (window);
++
++ return window;
++}
++
++static void
++setup_from_config (CcRRLabeler *labeler)
++{
++ labeler->priv->num_outputs = count_outputs (labeler->priv->config);
++
++ make_palette (labeler);
++
++ cc_rr_labeler_show (labeler);
++}
++
++/**
++ * cc_rr_labeler_new:
++ * @config: Configuration of the screens to label
++ *
++ * Create a GUI element that will display colored labels on each connected monitor.
++ * This is useful when users are required to identify which monitor is which, e.g. for
++ * for configuring multiple monitors.
++ * The labels will be shown by default, use cc_rr_labeler_hide to hide them.
++ *
++ * Returns: A new #CcRRLabeler
++ */
++CcRRLabeler *
++cc_rr_labeler_new (GnomeRRConfig *config)
++{
++ g_return_val_if_fail (GNOME_IS_RR_CONFIG (config), NULL);
++
++ return g_object_new (GNOME_TYPE_RR_LABELER, "config", config, NULL);
++}
++
++/**
++ * cc_rr_labeler_show:
++ * @labeler: A #CcRRLabeler
++ *
++ * Show the labels.
++ */
++void
++cc_rr_labeler_show (CcRRLabeler *labeler)
++{
++ int i;
++ gboolean created_window_for_clone;
++ GnomeRROutputInfo **outputs;
++
++ g_return_if_fail (GNOME_IS_RR_LABELER (labeler));
++
++ if (labeler->priv->windows != NULL)
++ return;
++
++ labeler->priv->windows = g_new (GtkWidget *, labeler->priv->num_outputs);
++
++ created_window_for_clone = FALSE;
++
++ outputs = gnome_rr_config_get_outputs (labeler->priv->config);
++
++ for (i = 0; i < labeler->priv->num_outputs; i++) {
++ if (!created_window_for_clone && gnome_rr_output_info_is_active (outputs[i])) {
++ labeler->priv->windows[i] = create_label_window (labeler, outputs[i], labeler->priv->palette + i);
++
++ if (gnome_rr_config_get_clone (labeler->priv->config))
++ created_window_for_clone = TRUE;
++ } else
++ labeler->priv->windows[i] = NULL;
++ }
++}
++
++/**
++ * cc_rr_labeler_hide:
++ * @labeler: A #CcRRLabeler
++ *
++ * Hide ouput labels.
++ */
++void
++cc_rr_labeler_hide (CcRRLabeler *labeler)
++{
++ int i;
++ CcRRLabelerPrivate *priv;
++
++ g_return_if_fail (GNOME_IS_RR_LABELER (labeler));
++
++ priv = labeler->priv;
++
++ if (priv->windows == NULL)
++ return;
++
++ for (i = 0; i < priv->num_outputs; i++)
++ if (priv->windows[i] != NULL) {
++ gtk_widget_destroy (priv->windows[i]);
++ priv->windows[i] = NULL;
++ }
++ g_free (priv->windows);
++ priv->windows = NULL;
++}
++
++/**
++ * cc_rr_labeler_get_rgba_for_output:
++ * @labeler: A #CcRRLabeler
++ * @output: Output device (i.e. monitor) to query
++ * @rgba_out: (out): Color of selected monitor.
++ *
++ * Get the color used for the label on a given output (monitor).
++ */
++void
++cc_rr_labeler_get_rgba_for_output (CcRRLabeler *labeler, GnomeRROutputInfo *output, GdkRGBA *rgba_out)
++{
++ int i;
++ GnomeRROutputInfo **outputs;
++
++ g_return_if_fail (GNOME_IS_RR_LABELER (labeler));
++ g_return_if_fail (GNOME_IS_RR_OUTPUT_INFO (output));
++ g_return_if_fail (rgba_out != NULL);
++
++ outputs = gnome_rr_config_get_outputs (labeler->priv->config);
++
++ for (i = 0; i < labeler->priv->num_outputs; i++)
++ if (outputs[i] == output) {
++ *rgba_out = labeler->priv->palette[i];
++ return;
++ }
++
++ g_warning ("trying to get the color for unknown GnomeOutputInfo %p; returning magenta!", output);
++
++ rgba_out->red = 1.0;
++ rgba_out->green = 0;
++ rgba_out->blue = 1.0;
++ rgba_out->alpha = 1.0;
++}
+diff -Naur cinnamon-control-center-1.7.3.orig/panels/display/cc-rr-labeler.h cinnamon-control-center-1.7.3/panels/display/cc-rr-labeler.h
+--- cinnamon-control-center-1.7.3.orig/panels/display/cc-rr-labeler.h 1970-01-01 01:00:00.000000000 +0100
++++ cinnamon-control-center-1.7.3/panels/display/cc-rr-labeler.h 2013-04-22 03:42:12.383233540 +0200
+@@ -0,0 +1,64 @@
++/* gnome-rr-labeler.h - Utility to label monitors to identify them
++ * while they are being configured.
++ *
++ * Copyright 2008, Novell, Inc.
++ *
++ * This file is part of the Gnome Library.
++ *
++ * The Gnome Library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public License as
++ * published by the Free Software Foundation; either version 2 of the
++ * License, or (at your option) any later version.
++ *
++ * The Gnome Library 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
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with the Gnome Library; see the file COPYING.LIB. If not,
++ * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ *
++ * Author: Federico Mena-Quintero <federico@novell.com>
++ */
++
++#ifndef CC_RR_LABELER_H
++#define CC_RR_LABELER_H
++
++#define GNOME_DESKTOP_USE_UNSTABLE_API
++#include <libgnome-desktop/gnome-rr-config.h>
++
++#define GNOME_TYPE_RR_LABELER (cc_rr_labeler_get_type ())
++#define CC_RR_LABELER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_RR_LABELER, CcRRLabeler))
++#define CC_RR_LABELER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_RR_LABELER, CcRRLabelerClass))
++#define GNOME_IS_RR_LABELER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_RR_LABELER))
++#define GNOME_IS_RR_LABELER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_RR_LABELER))
++#define CC_RR_LABELER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_RR_LABELER, CcRRLabelerClass))
++
++typedef struct _CcRRLabeler CcRRLabeler;
++typedef struct _CcRRLabelerClass CcRRLabelerClass;
++typedef struct _CcRRLabelerPrivate CcRRLabelerPrivate;
++
++struct _CcRRLabeler {
++ GObject parent;
++
++ /*< private >*/
++ CcRRLabelerPrivate *priv;
++};
++
++struct _CcRRLabelerClass {
++ GObjectClass parent_class;
++};
++
++GType cc_rr_labeler_get_type (void);
++
++CcRRLabeler *cc_rr_labeler_new (GnomeRRConfig *config);
++
++void cc_rr_labeler_show (CcRRLabeler *labeler);
++
++void cc_rr_labeler_hide (CcRRLabeler *labeler);
++
++void cc_rr_labeler_get_rgba_for_output (CcRRLabeler *labeler, GnomeRROutputInfo *output, GdkRGBA *rgba_out);
++
++#endif
+diff -Naur cinnamon-control-center-1.7.3.orig/panels/display/Makefile.am cinnamon-control-center-1.7.3/panels/display/Makefile.am
+--- cinnamon-control-center-1.7.3.orig/panels/display/Makefile.am 2013-04-15 16:04:38.000000000 +0200
++++ cinnamon-control-center-1.7.3/panels/display/Makefile.am 2013-04-22 03:42:12.376566715 +0200
+@@ -19,6 +19,8 @@
+ display-module.c \
+ cc-display-panel.c \
+ cc-display-panel.h \
++ cc-rr-labeler.c \
++ cc-rr-labeler.h \
+ scrollarea.c \
+ scrollarea.h \
+ $(MARSHALFILES)
diff --git a/community/cinnamon-control-center/idle-delay.patch b/community/cinnamon-control-center/idle-delay.patch
new file mode 100644
index 000000000..7434018f5
--- /dev/null
+++ b/community/cinnamon-control-center/idle-delay.patch
@@ -0,0 +1,71 @@
+diff -Naur cinnamon-control-center-1.7.3.orig/panels/power/cc-power-panel.c cinnamon-control-center-1.7.3/panels/power/cc-power-panel.c
+--- cinnamon-control-center-1.7.3.orig/panels/power/cc-power-panel.c 2013-04-15 16:04:38.000000000 +0200
++++ cinnamon-control-center-1.7.3/panels/power/cc-power-panel.c 2013-04-22 05:04:26.466092668 +0200
+@@ -1068,26 +1068,6 @@
+ G_CALLBACK (combo_enum_changed_cb),
+ self);
+
+- value = g_settings_get_enum (self->priv->gsd_settings, "lid-close-ac-action");
+- widget = GTK_WIDGET (gtk_builder_get_object (self->priv->builder,
+- "combobox_lid_ac"));
+- disable_unavailable_combo_items (self, GTK_COMBO_BOX (widget));
+- set_value_for_combo (GTK_COMBO_BOX (widget), value);
+- g_object_set_data (G_OBJECT(widget), "_gsettings_key", "lid-close-ac-action");
+- g_signal_connect (widget, "changed",
+- G_CALLBACK (combo_enum_changed_cb),
+- self);
+-
+- value = g_settings_get_enum (self->priv->gsd_settings, "lid-close-battery-action");
+- widget = GTK_WIDGET (gtk_builder_get_object (self->priv->builder,
+- "combobox_lid_battery"));
+- disable_unavailable_combo_items (self, GTK_COMBO_BOX (widget));
+- set_value_for_combo (GTK_COMBO_BOX (widget), value);
+- g_object_set_data (G_OBJECT(widget), "_gsettings_key", "lid-close-battery-action");
+- g_signal_connect (widget, "changed",
+- G_CALLBACK (combo_enum_changed_cb),
+- self);
+-
+ widget = WID (self->priv->builder, "vbox_power");
+ gtk_widget_reparent (widget, (GtkWidget *) self);
+
+diff -Naur cinnamon-control-center-1.7.3.orig/panels/screen/cc-screen-panel.c cinnamon-control-center-1.7.3/panels/screen/cc-screen-panel.c
+--- cinnamon-control-center-1.7.3.orig/panels/screen/cc-screen-panel.c 2013-04-15 16:04:38.000000000 +0200
++++ cinnamon-control-center-1.7.3/panels/screen/cc-screen-panel.c 2013-04-22 14:15:28.440488342 +0200
+@@ -351,10 +351,6 @@
+ 1, &value,
+ -1);
+
+- /* set both battery and ac keys */
+- g_settings_set_int (self->priv->gsd_settings, "sleep-display-ac", value);
+- g_settings_set_int (self->priv->gsd_settings, "sleep-display-battery", value);
+-
+ set_idle_delay_from_dpms (self, value);
+ }
+
+@@ -384,7 +380,7 @@
+ {
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+- gint value;
++ guint value;
+ gint value_tmp, value_prev;
+ gboolean ret;
+ guint i;
+@@ -399,7 +395,7 @@
+ i = 0;
+
+ /* try to make the UI match the AC setting */
+- value = g_settings_get_int (self->priv->gsd_settings, "sleep-display-ac");
++ g_settings_get (self->priv->session_settings, "idle-delay", "u", &value);
+ do
+ {
+ gtk_tree_model_get (model, &iter,
+@@ -510,7 +506,7 @@
+ /* bind the auto dim checkbox */
+ widget = WID ("screen_auto_reduce_checkbutton");
+ g_settings_bind (self->priv->gsd_settings,
+- "idle-dim-battery",
++ "idle-dim",
+ widget, "active",
+ G_SETTINGS_BIND_DEFAULT);
+
diff --git a/community/cinnamon-screensaver/PKGBUILD b/community/cinnamon-screensaver/PKGBUILD
new file mode 100644
index 000000000..c4c00ab0a
--- /dev/null
+++ b/community/cinnamon-screensaver/PKGBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Alexandre Filgueira <alexfilgueira@cinnarch.com>
+# Based on gnome-screensaver package:
+# Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Jan de Groot <jgc@archlinux.org>
+
+pkgname=cinnamon-screensaver
+pkgver=1.8.0
+pkgrel=1
+pkgdesc="Screensaver designed to integrate well with the Cinnamon desktop."
+arch=('i686' 'x86_64')
+license=('GPL')
+url="https://github.com/linuxmint/cinnamon-screensaver"
+backup=(etc/pam.d/cinnamon-screensaver)
+depends=('cinnamon' 'gnome-screensaver')
+makedepends=('intltool' 'gnome-common')
+options=(!emptydirs)
+source=($pkgname-$pkgver.tar.gz::https://github.com/linuxmint/cinnamon-screensaver/archive/$pkgver.tar.gz
+ cinnamon-screensaver.desktop
+ cinnamon2d-screensaver.desktop
+ cinnamon-screensaver.pam
+ fix-dbus-compatibility.patch)
+sha256sums=('e85722d5af2ecbed98f50909285b335d7635214bf8cada49964f60bb5d1339c1'
+ '2f29a72991deb5cc2b44da06f49d1115148fee6a0a22b1abfecee1c1661abcaa'
+ '335df8f2fb270484829d94995622521f0a42a12d6887f7de827db34fc81f583a'
+ 'b6ea9e2eb586d94bcabb617a8f1c2958111df87afdbb51f645882bccdc15cbda'
+ 'eebd1d056c21d2d3f60fb954677b9214fd1d575ed1c2bbb56326cedf41a39eb6')
+
+build() {
+ cd $pkgname-$pkgver
+
+
+ # Fix compatibility with gnome-screensaver's D-Bus interface and various fixes
+ patch -Np1 -i ${srcdir}/fix-dbus-compatibility.patch
+
+ ./autogen.sh --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/cinnamon-screensaver \
+ --localstatedir=/var \
+ --with-mit-ext --with-systemd
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 ../cinnamon-screensaver.pam "$pkgdir/etc/pam.d/cinnamon-screensaver"
+
+ # Remove conflicts with gnome-screensaver
+ rm "$pkgdir"/usr/bin/gnome-screensaver{,-command}
+
+ # Autostart only in Cinnamon
+ install -m644 "$srcdir/cinnamon-screensaver.desktop" "$pkgdir/etc/xdg/autostart/cinnamon-screensaver.desktop"
+ install -m644 "$srcdir/cinnamon2d-screensaver.desktop" "$pkgdir/etc/xdg/autostart/cinnamon2d-screensaver.desktop"
+}
diff --git a/community/cinnamon-screensaver/cinnamon-screensaver.desktop b/community/cinnamon-screensaver/cinnamon-screensaver.desktop
new file mode 100644
index 000000000..75c81ca26
--- /dev/null
+++ b/community/cinnamon-screensaver/cinnamon-screensaver.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Type=Application
+Name=Cinnamon Screensaver
+Comment=Launch screensaver and locker program
+Icon=preferences-desktop-screensaver
+Exec=cinnamon-screensaver
+OnlyShowIn=GNOME;
+AutostartCondition=GNOME3 if-session cinnamon
+NoDisplay=true
+X-GNOME-Autostart-Phase=Application
+X-GNOME-Autostart-Notify=true
diff --git a/community/cinnamon-screensaver/cinnamon-screensaver.pam b/community/cinnamon-screensaver/cinnamon-screensaver.pam
new file mode 100644
index 000000000..8d3baf085
--- /dev/null
+++ b/community/cinnamon-screensaver/cinnamon-screensaver.pam
@@ -0,0 +1,3 @@
+#%PAM-1.0
+auth substack system-login
+-auth optional pam_gnome_keyring.so
diff --git a/community/cinnamon-screensaver/cinnamon2d-screensaver.desktop b/community/cinnamon-screensaver/cinnamon2d-screensaver.desktop
new file mode 100644
index 000000000..d9d50012c
--- /dev/null
+++ b/community/cinnamon-screensaver/cinnamon2d-screensaver.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Type=Application
+Name=Cinnamon Screensaver
+Comment=Launch screensaver and locker program
+Icon=preferences-desktop-screensaver
+Exec=cinnamon-screensaver
+OnlyShowIn=GNOME;
+AutostartCondition=GNOME3 if-session cinnamon2d
+NoDisplay=true
+X-GNOME-Autostart-Phase=Application
+X-GNOME-Autostart-Notify=true
diff --git a/community/cinnamon-screensaver/fix-dbus-compatibility.patch b/community/cinnamon-screensaver/fix-dbus-compatibility.patch
new file mode 100644
index 000000000..3d70a79d0
--- /dev/null
+++ b/community/cinnamon-screensaver/fix-dbus-compatibility.patch
@@ -0,0 +1,149 @@
+From e43385126cf6f5187f98f940b8c04c3e99202b0b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
+Date: Thu, 28 Feb 2013 05:45:12 +0100
+Subject: [PATCH 1/4] Fix crashing and compatibility with gnome-screensaver's
+ D-Bus interface
+
+---
+ src/cinnamon-screensaver-command.c | 4 ++--
+ src/gs-listener-dbus.c | 10 ++++++++--
+ src/gs-manager.c | 14 +++++++++++---
+ 3 files changed, 21 insertions(+), 7 deletions(-)
+
+diff --git a/src/cinnamon-screensaver-command.c b/src/cinnamon-screensaver-command.c
+index 4267bd0..5c90916 100644
+--- a/src/cinnamon-screensaver-command.c
++++ b/src/cinnamon-screensaver-command.c
+@@ -311,11 +311,11 @@
+
+ if (do_lock) {
+ if (g_strcmp0 (away_message, "DEFAULT") == 0) {
+- reply = screensaver_send_message_string (connection, "Lock", away_message);
++ reply = screensaver_send_message_string (connection, "LockMessage", away_message);
+ }
+ else {
+ gchar * custom_message = g_strdup_printf("CUSTOM###%s", away_message);
+- reply = screensaver_send_message_string (connection, "Lock", custom_message);
++ reply = screensaver_send_message_string (connection, "LockMessage", custom_message);
+ g_free (custom_message);
+ }
+ if (reply == NULL) {
+diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c
+index 2a98aee..6dbf12d 100644
+--- a/src/gs-listener-dbus.c
++++ b/src/gs-listener-dbus.c
+@@ -653,6 +653,8 @@ enum {
+ xml = g_string_append (xml,
+ " <interface name=\""GS_INTERFACE"\">\n"
+ " <method name=\"Lock\">\n"
++ " </method>\n"
++ " <method name=\"LockMessage\">\n"
+ " <arg name=\"body\" direction=\"in\" type=\"s\"/>\n"
+ " </method>\n"
+ " <method name=\"SimulateUserActivity\">\n"
+@@ -744,6 +746,10 @@ enum {
+ g_return_val_if_fail (message != NULL, DBUS_HANDLER_RESULT_NOT_YET_HANDLED);
+
+ if (dbus_message_is_method_call (message, GS_SERVICE, "Lock")) {
++ g_signal_emit (listener, signals [LOCK], 0);
++ return send_success_reply (connection, message);
++ }
++ if (dbus_message_is_method_call (message, GS_SERVICE, "LockMessage")) {
+ return listener_lock (listener, connection, message);
+ }
+ if (dbus_message_is_method_call (message, GS_SERVICE, "Quit")) {
+@@ -906,7 +912,7 @@ enum {
+ } else if (dbus_message_is_signal (message, SYSTEMD_LOGIND_SESSION_INTERFACE, "Lock")) {
+ if (_listener_message_path_is_our_session (listener, message)) {
+ gs_debug ("systemd requested session lock");
+- return listener_lock (listener, connection, message);
++ g_signal_emit (listener, signals [LOCK], 0);
+ }
+
+ return DBUS_HANDLER_RESULT_HANDLED;
+@@ -948,7 +954,7 @@ enum {
+ } else if (dbus_message_is_signal (message, CK_SESSION_INTERFACE, "Lock")) {
+ if (_listener_message_path_is_our_session (listener, message)) {
+ gs_debug ("ConsoleKit requested session lock");
+- return listener_lock (listener, connection, message);
++ g_signal_emit (listener, signals [LOCK], 0);
+ }
+
+ return DBUS_HANDLER_RESULT_HANDLED;
+diff --git a/src/gs-manager.c b/src/gs-manager.c
+index 1544921..bc09cb9 100644
+--- a/src/gs-manager.c
++++ b/src/gs-manager.c
+@@ -1275,10 +1275,18 @@ enum {
+ gs_manager_set_away_message (GSManager *manager,
+ const char *message)
+ {
+- g_free (manager->priv->logout_command);
+-
+- manager->priv->away_message = g_strdup(message);
+ GSList *l;
++
++ g_return_if_fail (GS_IS_MANAGER (manager));
++
++ g_free (manager->priv->away_message);
++
++ if (message) {
++ manager->priv->away_message = g_strdup (message);
++ } else {
++ manager->priv->away_message = NULL;
++ }
++
+ for (l = manager->priv->windows; l; l = l->next) {
+ gs_window_set_away_message (l->data, manager->priv->away_message);
+ }
+--
+1.8.1.6
+
+
+From 4db01451afbb246213f483805f81a77c4c7371a3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
+Date: Fri, 1 Mar 2013 05:17:46 +0100
+Subject: [PATCH 2/4] Update dbus document with the new LockMessage method
+
+---
+ doc/dbus-interface.html | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/doc/dbus-interface.html b/doc/dbus-interface.html
+index faff26c..c9f95ba 100644
+--- a/doc/dbus-interface.html
++++ b/doc/dbus-interface.html
+@@ -2,6 +2,8 @@
+ <code class="email">&lt;<a class="email" href="mailto:mccann@jhu.edu">mccann@jhu.edu</a>&gt;</code><br>
+ </p></div></div></div></div></div><div><p class="releaseinfo">Version 1.7.1</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#dbus-interface">1. DBUS Interface</a></span></dt><dd><dl><dt><span class="sect1"><a href="#gs-intro">Introduction</a></span></dt><dt><span class="sect1"><a href="#gs-methods">Methods</a></span></dt><dd><dl><dt><span class="sect2"><a href="#gs-method-Lock">
+ <code class="literal">Lock</code>
++ </a></span></dt><dt><span class="sect2"><a href="#gs-method-LockMessage">
++ <code class="literal">LockMessage</code>
+ </a></span></dt><dt><span class="sect2"><a href="#gs-method-Cycle">
+ <code class="literal">Cycle</code>
+ </a></span></dt><dt><span class="sect2"><a href="#gs-method-SimulateUserActivity">
+@@ -30,6 +32,8 @@
+ <code class="literal">AuthenticationRequestEnd</code>
+ </a></span></dt></dl></dd><dt><span class="sect1"><a href="#gs-examples">Examples</a></span></dt></dl></dd></dl></div><div class="chapter" title="Chapter1.DBUS Interface"><div class="titlepage"><div><div><h2 class="title"><a name="dbus-interface"></a>Chapter1.DBUS Interface</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#gs-intro">Introduction</a></span></dt><dt><span class="sect1"><a href="#gs-methods">Methods</a></span></dt><dd><dl><dt><span class="sect2"><a href="#gs-method-Lock">
+ <code class="literal">Lock</code>
++ </a></span></dt><dt><span class="sect2"><a href="#gs-method-LockMessage">
++ <code class="literal">LockMessage</code>
+ </a></span></dt><dt><span class="sect2"><a href="#gs-method-Cycle">
+ <code class="literal">Cycle</code>
+ </a></span></dt><dt><span class="sect2"><a href="#gs-method-SimulateUserActivity">
+@@ -70,7 +74,11 @@
+ <code class="literal">Lock</code>
+ </h3></div></div></div><p>
+ Request that the screen be locked.
+- </p></div><div class="sect2" title="Cycle"><div class="titlepage"><div><div><h3 class="title"><a name="gs-method-Cycle"></a>
++ </p></div><div class="sect2" title="LockMessage"><div class="titlepage"><div><div><h3 class="title"><a name="gs-method-LockMessage"></a>
++ <code class="literal">LockMessage</code>
++ </h3></div></div></div><p>
++ Request that the screen be locked, and set an away message.
++ </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Direction</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>in</td><td>string</td><td>the away message</td></tr></tbody></table></div></div><div class="sect2" title="Cycle"><div class="titlepage"><div><div><h3 class="title"><a name="gs-method-Cycle"></a>
+ <code class="literal">Cycle</code>
+ </h3></div></div></div><p>
+ Request that the screen saver theme be restarted and, if applicable,
+--
+1.8.1.6
+
diff --git a/community/cinnamon/PKGBUILD b/community/cinnamon/PKGBUILD
new file mode 100644
index 000000000..de0a67a9a
--- /dev/null
+++ b/community/cinnamon/PKGBUILD
@@ -0,0 +1,85 @@
+# $Id: PKGBUILD 94121 2013-07-14 15:37:15Z faidoc $
+# Maintainer: Alexandre Filgueira <alexfilgueira@cinnarch.com>
+# Contributor: M0Rf30
+# Contributor: unifiedlinux
+# Contributor: CReimer
+
+pkgname=cinnamon
+pkgver=1.8.8
+pkgrel=2
+pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience"
+arch=('i686' 'x86_64')
+url="http://cinnamon.linuxmint.com/"
+license=('GPL2')
+depends=('accountsservice' 'caribou' 'clutter-gtk' 'gjs' 'gnome-bluetooth'
+ 'gnome-icon-theme' 'gnome-menus' 'gnome-settings-daemon' 'gnome-session'
+ 'gnome-themes-standard' 'gstreamer0.10' 'libgnome-keyring' 'librsvg'
+ 'networkmanager' 'muffin' 'pygtk' 'python2-dbus' 'python2-imaging'
+ 'python2-pyinotify' 'python2-lxml' 'webkitgtk3' 'gnome-settings-daemon-compat'
+ 'gnome-panel')
+makedepends=('gnome-common' 'intltool')
+optdepends=('cinnamon-control-center: extended configurations for Cinnamon'
+ 'cinnamon-screensaver: lock screen'
+ 'gucharmap: show character table from Keyboard applet'
+ 'libgnomekbd: show keyboard layout from Keyboard applet'
+ 'nemo: the official Cinnamon file manager (forked from Nautilus)')
+options=('!libtool' '!emptydirs')
+install=${pkgname}.install
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/Cinnamon/archive/$pkgver.tar.gz"
+ "keyboard_applet.patch"
+ "fix-control-center-check.patch"
+ "gnome-3.8.patch"
+ "switch-applications.patch"
+ "fallback-helpers.patch"
+ "idle-dim.patch")
+sha256sums=('1bce982e6333e7bd27a1df9f37eb9139360c2fef667c7a998a79f216d4a0921d'
+ 'a0c05c995102b16f1060cbd43931eeaefeafd0265a0335e4ca14a143bd4c8c30'
+ 'ee5694bdc997ffa35a817f691b15bae13747137d35ec2aecd0da298d7edbe426'
+ '01508c4f41664d5e29f700dc77c9f5c5441f128ab759f0ae8325c5fdda70b00e'
+ '921a1f63d2890dd54c149aa27a3d3209ac2fb843be597ae4ef3b4621e76a2262'
+ 'fc8e8f5b7772ff331212280b0d4cf624c5ca2a442e8e8defc319cc2f2b060f2e'
+ 'b34c30299fb88228c59f36fced90d56346847019a080bc7b8157b72caa659100')
+
+build() {
+ cd ${srcdir}/Cinnamon*
+
+ # Python2 fix
+ sed -i 's|#! /usr/bin/python|#! /usr/bin/python2|' \
+ files/usr/bin/$pkgname-menu-editor \
+ files/usr/share/$pkgname/applets/panel-launchers@$pkgname.org/$pkgname-add-panel-launcher.py
+ find -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
+ # Fix Keyboard applet
+ # https://github.com/linuxmint/Cinnamon/issues/1337
+ patch -Np1 -i ../keyboard_applet.patch
+
+ # Check for the cc-panel path, not for the unneeded binary
+ patch -Np1 -i ../fix-control-center-check.patch
+
+ # https://github.com/linuxmint/Cinnamon/pull/1888
+ patch -Np1 -i ../gnome-3.8.patch
+
+ # Fix windows switcher keybinding with default settings in GNOME 3.8
+ patch -Np1 -i ../switch-applications.patch
+
+ # Start media keys and mount helpers with the session
+ patch -Np1 -i ../fallback-helpers.patch
+
+ # Fix brightness applet for GNOME 3.8
+ patch -Np1 -i ../idle-dim.patch
+
+ ./autogen.sh --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/cinnamon \
+ --localstatedir=/var \
+ --disable-static \
+ --disable-schemas-compile \
+ --enable-compile-warnings=yes \
+ --with-session-tracking=systemd
+ make
+}
+
+package() {
+ cd ${srcdir}/Cinnamon*
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/cinnamon/cinnamon.install b/community/cinnamon/cinnamon.install
new file mode 100644
index 000000000..326aa98a2
--- /dev/null
+++ b/community/cinnamon/cinnamon.install
@@ -0,0 +1,11 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/cinnamon/fallback-helpers.patch b/community/cinnamon/fallback-helpers.patch
new file mode 100644
index 000000000..b6810cdba
--- /dev/null
+++ b/community/cinnamon/fallback-helpers.patch
@@ -0,0 +1,20 @@
+diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon2d.session linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon2d.session
+--- linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon2d.session 2013-04-15 15:55:01.000000000 +0200
++++ linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon2d.session 2013-04-25 01:30:35.435650613 +0200
+@@ -1,5 +1,5 @@
+ [GNOME Session]
+ Name=Cinnamon (Software Rendering)
+-RequiredComponents=cinnamon2d;gnome-settings-daemon;
++RequiredComponents=cinnamon2d;gnome-settings-daemon;gnome-fallback-media-keys-helper;gnome-fallback-mount-helper;
+ DesktopName=GNOME
+
+diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon.session linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon.session
+--- linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon.session 2013-04-15 15:55:01.000000000 +0200
++++ linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon.session 2013-04-25 01:30:33.645607769 +0200
+@@ -1,5 +1,5 @@
+ [GNOME Session]
+ Name=Cinnamon
+-RequiredComponents=cinnamon;gnome-settings-daemon;
++RequiredComponents=cinnamon;gnome-settings-daemon;gnome-fallback-media-keys-helper;gnome-fallback-mount-helper;
+ DesktopName=GNOME
+
diff --git a/community/cinnamon/fix-control-center-check.patch b/community/cinnamon/fix-control-center-check.patch
new file mode 100644
index 000000000..981b1c1a5
--- /dev/null
+++ b/community/cinnamon/fix-control-center-check.patch
@@ -0,0 +1,12 @@
+diff -Naur cinnamon-1.7.1.orig/files/usr/bin/cinnamon-settings cinnamon-1.7.1/files/usr/bin/cinnamon-settings
+--- cinnamon-1.7.1.orig/files/usr/bin/cinnamon-settings 2013-02-21 17:23:45.000000000 +0100
++++ cinnamon-1.7.1/files/usr/bin/cinnamon-settings 2013-03-03 03:03:24.151209998 +0100
+@@ -7,7 +7,7 @@
+ if os.path.exists("/usr/lib/cinnamon-settings/modules/cs_%s.py" % module):
+ print "Python module"
+ os.execvp("/usr/lib/cinnamon-settings/cinnamon-settings.py", ("",) + tuple(sys.argv[1:]))
+- elif os.path.exists("/usr/bin/cinnamon-control-center"):
++ elif os.path.exists("/usr/lib/cinnamon-control-center-1/panels"):
+ print "Unknown module %s, using cinnamon-control-center" % module
+ os.execvp("/usr/lib/cinnamon-settings/cinnamon-settings.py", ("",) + tuple(sys.argv[1:]))
+ elif os.path.exists("/usr/bin/gnome-control-center"): \ No newline at end of file
diff --git a/community/cinnamon/gnome-3.8.patch b/community/cinnamon/gnome-3.8.patch
new file mode 100644
index 000000000..b79ea497a
--- /dev/null
+++ b/community/cinnamon/gnome-3.8.patch
@@ -0,0 +1,4186 @@
+From 2ba97ed278777fcb96b86cd58e9176536585ad2d Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Fri, 19 Apr 2013 13:19:50 -0400
+Subject: [PATCH 01/16] Disable XInput on cinnamon startup (for 3.8 compat)
+ This has no effect on < 1.14 clutter
+
+---
+ src/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/main.c b/src/main.c
+index 418fb60..ac90d91 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -260,6 +260,7 @@
+ meta_plugin_type_register (gnome_cinnamon_plugin_get_type ());
+
+ /* Prevent meta_init() from causing gtk to load gail and at-bridge */
++ g_setenv ("CLUTTER_DISABLE_XINPUT", "1", TRUE);
+ g_setenv ("NO_GAIL", "1", TRUE);
+ g_setenv ("NO_AT_BRIDGE", "1", TRUE);
+ meta_init ();
+--
+1.8.1.6
+
+
+From 72133f97fbd99c78169cec49e18b97da3edba524 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Fri, 19 Apr 2013 13:21:40 -0400
+Subject: [PATCH 02/16] Explain change
+
+---
+ src/main.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/main.c b/src/main.c
+index ac90d91..9d37975 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -257,10 +257,12 @@
+
+ g_option_context_free (ctx);
+
++ /* Disable XInput extension - required for 3.8 compatibility */
++ g_setenv ("CLUTTER_DISABLE_XINPUT", "1", TRUE);
++
+ meta_plugin_type_register (gnome_cinnamon_plugin_get_type ());
+
+ /* Prevent meta_init() from causing gtk to load gail and at-bridge */
+- g_setenv ("CLUTTER_DISABLE_XINPUT", "1", TRUE);
+ g_setenv ("NO_GAIL", "1", TRUE);
+ g_setenv ("NO_AT_BRIDGE", "1", TRUE);
+ meta_init ();
+--
+1.8.1.6
+
+
+From 28210e29e3e0d81c68320b9511574a168f5779e4 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Tue, 16 Apr 2013 17:01:30 -0400
+Subject: [PATCH 03/16] Add backgroundManager - this is needed for gnome 3.8
+ compatibility, as gnome-settings-daemon no longer handles the desktop
+ background.
+
+---
+ configure.ac | 7 +-
+ data/org.cinnamon.gschema.xml.in | 71 +++-
+ .../cinnamon-settings/modules/cs_backgrounds.py | 31 +-
+ js/ui/main.js | 3 +-
+ src/Makefile.am | 2 +
+ src/cinnamon-background-manager.c | 411 +++++++++++++++++++++
+ src/cinnamon-background-manager.h | 57 +++
+ 7 files changed, 562 insertions(+), 20 deletions(-)
+ create mode 100644 src/cinnamon-background-manager.c
+ create mode 100644 src/cinnamon-background-manager.h
+
+diff --git a/configure.ac b/configure.ac
+index 0aa47c5..a2a9479 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -68,6 +68,7 @@ GTK_MIN_VERSION=3.0.0
+ GIO_MIN_VERSION=2.29.10
+ POLKIT_MIN_VERSION=0.100
+ STARTUP_NOTIFICATION_MIN_VERSION=0.11
++GNOME_DESKTOP_MIN_VERSION=3.0.0
+
+ # Collect more than 20 libraries for a prize!
+ PKG_CHECK_MODULES(CINNAMON, gio-2.0 >= $GIO_MIN_VERSION
+@@ -82,7 +83,8 @@ PKG_CHECK_MODULES(CINNAMON, gio-2.0 >= $GIO_MIN_VERSION
+ gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
+ libcanberra
+ polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes
+- libnm-glib libnm-util gnome-keyring-1)
++ libnm-glib libnm-util gnome-keyring-1
++ gnome-desktop-3.0 >= GNOME_DESKTOP_MIN_VERSION)
+
+ PKG_CHECK_MODULES(CINNAMON_PERF_HELPER, gtk+-3.0 gio-2.0)
+
+@@ -106,7 +108,8 @@ AC_CHECK_FUNCS(JS_NewGlobalObject XFixesCreatePointerBarrier)
+ CFLAGS=$saved_CFLAGS
+ LIBS=$saved_LIBS
+
+-PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.2 gnome-desktop-3.0 >= 2.90.0 x11)
++PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.2
++ gnome-desktop-3.0 >= GNOME_DESKTOP_MIN_VERSION x11)
+ PKG_CHECK_MODULES(GDMUSER, dbus-glib-1 gtk+-3.0)
+ PKG_CHECK_MODULES(TRAY, gtk+-3.0)
+ PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0)
+diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in
+index f12f8c5..939ea70 100644
+--- a/data/org.cinnamon.gschema.xml.in
++++ b/data/org.cinnamon.gschema.xml.in
+@@ -746,6 +746,23 @@
+ </key>
+ </schema>
+
++
++ <enum id="bg_style">
++ <value nick="none" value="0"/>
++ <value nick="wallpaper" value="1"/>
++ <value nick="centered" value="2"/>
++ <value nick="scaled" value="3"/>
++ <value nick="stretched" value="4"/>
++ <value nick="zoom" value="5"/>
++ <value nick="spanned" value="6"/>
++ </enum>
++
++ <enum id="bg_shading">
++ <value nick="solid" value="0"/>
++ <value nick="vertical" value="1"/>
++ <value nick="horizontal" value="2"/>
++ </enum>
++
+ <schema id="org.cinnamon.background" path="/org/cinnamon/background/">
+ <key name="mode" type="s">
+ <default>"wallpaper"</default>
+@@ -776,8 +793,60 @@
+ This key defines the delay for the slideshow.
+ </description>
+ </key>
++ <key name="draw-background" type="b">
++ <default>true</default>
++ <_summary>Draw Desktop Background</_summary>
++ <_description>Have GNOME draw the desktop background.</_description>
++ </key>
++ <key name="picture-options" enum="bg_style">
++ <default>'zoom'</default>
++ <_summary>Picture Options</_summary>
++ <_description>
++ Determines how the image set by wallpaper_filename is rendered.
++ Possible values are "none", "wallpaper", "centered", "scaled",
++ "stretched", "zoom", "spanned".
++ </_description>
++ </key>
++ <key name="picture-uri" type="s">
++ <default>'file://@datadir@/themes/Adwaita/backgrounds/adwaita-timed.xml'</default>
++ <_summary>Picture URI</_summary>
++ <_description>
++ URI to use for the background image. Not that the backend only supports
++ local (file://) URIs.
++ </_description>
++ </key>
++ <key name="picture-opacity" type="i">
++ <range min="0" max="100"/>
++ <default>100</default>
++ <_summary>Picture Opacity</_summary>
++ <_description>
++ Opacity with which to draw the background picture.
++ </_description>
++ </key>
++ <key name="primary-color" type="s">
++ <default>'#023c88'</default>
++ <_summary>Primary Color</_summary>
++ <_description>
++ Left or Top color when drawing gradients, or the solid color.
++ </_description>
++ </key>
++ <key name="secondary-color" type="s">
++ <default>'#5789ca'</default>
++ <_summary>Secondary Color</_summary>
++ <_description>
++ Right or Bottom color when drawing gradients, not used for solid color.
++ </_description>
++ </key>
++ <key name="color-shading-type" enum="bg_shading">
++ <default>'solid'</default>
++ <_summary>Color Shading Type</_summary>
++ <_description>
++ How to shade the background color. Possible values are "horizontal",
++ "vertical", and "solid".
++ </_description>
++ </key>
+ </schema>
+-
++
+ <schema id="org.cinnamon.screensaver" path="/org/cinnamon/screensaver/">
+ <key name="default-message" type="s">
+ <default>""</default>
+--- linuxmint-Cinnamon-a464dc9.orig/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py 2013-04-30 18:01:56.000000000 +0200
++++ linuxmint-Cinnamon-a464dc9/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py 2013-04-30 23:36:46.718385152 +0200
+@@ -232,11 +232,11 @@
+
+
+ class BackgroundWallpaperPane (Gtk.VBox):
+- def __init__(self, sidepage, gnome_background_schema):
++ def __init__(self, sidepage, cinnamon_background_schema):
+ Gtk.VBox.__init__(self)
+ self.set_spacing(5)
+
+- self._gnome_background_schema = gnome_background_schema
++ self._cinnamon_background_schema = cinnamon_background_schema
+ self._sidepage = sidepage
+
+ scw = Gtk.ScrolledWindow()
+@@ -263,15 +263,15 @@
+ if wallpaper:
+ for key in wallpaper:
+ if key == "filename":
+- self._gnome_background_schema.set_string("picture-uri", "file://" + wallpaper[key])
++ self._cinnamon_background_schema.set_string("picture-uri", "file://" + wallpaper[key])
+ elif key == "pcolor":
+- self._gnome_background_schema.set_string("primary-color", wallpaper[key])
++ self._cinnamon_background_schema.set_string("primary-color", wallpaper[key])
+ elif key == "scolor":
+- self._gnome_background_schema.set_string("secondary-color", wallpaper[key])
++ self._cinnamon_background_schema.set_string("secondary-color", wallpaper[key])
+ elif key == "shade_type":
+- self._gnome_background_schema.set_string("color-shading-type", wallpaper[key])
++ self._cinnamon_background_schema.set_string("color-shading-type", wallpaper[key])
+ elif key == "options":
+- self._gnome_background_schema.set_string("picture-options", wallpaper[key])
++ self._cinnamon_background_schema.set_string("picture-options", wallpaper[key])
+ if (not "metadataFile" in wallpaper) or (wallpaper["metadataFile"] == ""):
+ self._sidepage.remove_wallpaper_button.set_sensitive(True)
+
+@@ -445,12 +445,11 @@
+ f = open(filename, "w")
+ f.write(xml_data)
+ f.close()
+- Gio.Settings("org.gnome.desktop.background").set_string("picture-uri", "file://" + filename)
++ Gio.Settings("org.cinnamon.background").set_string("picture-uri", "file://" + filename)
+
+ class BackgroundSidePage (SidePage):
+ def __init__(self, name, icon, keywords, advanced, content_box):
+ SidePage.__init__(self, name, icon, keywords, advanced, content_box, -1)
+- self._gnome_background_schema = Gio.Settings("org.gnome.desktop.background")
+ self._cinnamon_background_schema = Gio.Settings("org.cinnamon.background")
+ self._add_wallpapers_dialog = AddWallpapersDialog()
+
+@@ -515,8 +514,8 @@
+ self.mainbox.set_visible_window(False)
+ self.content_box.pack_start(self.mainbox, True, True, 3)
+
+- self.wallpaper_pane = BackgroundWallpaperPane(self, self._gnome_background_schema)
+- self.slideshow_pane = BackgroundSlideshowPane(self, self._gnome_background_schema, self._cinnamon_background_schema)
++ self.wallpaper_pane = BackgroundWallpaperPane(self, self._cinnamon_background_schema)
++ self.slideshow_pane = BackgroundSlideshowPane(self, self._cinnamon_background_schema, self._cinnamon_background_schema)
+ if self._cinnamon_background_schema["mode"] == "slideshow":
+ self.mainbox.add(self.slideshow_pane)
+ else:
+@@ -536,21 +535,21 @@
+ l = Gtk.Label(_("Picture aspect"))
+ l.set_alignment(0, 0.5)
+ advanced_options_box.pack_start(l, False, False, 0)
+- self.picture_options = GSettingsComboBox("", "org.gnome.desktop.background", "picture-options", None, BACKGROUND_PICTURE_OPTIONS)
++ self.picture_options = GSettingsComboBox("", "org.cinnamon.background", "picture-options", None, BACKGROUND_PICTURE_OPTIONS)
+ advanced_options_box.pack_start(self.picture_options, False, False, 0)
+
+ l = Gtk.Label(_("Gradient"))
+ l.set_alignment(0, 0.5)
+ advanced_options_box.pack_start(l, False, False, 0)
+- self.color_shading_type = GSettingsComboBox("", "org.gnome.desktop.background", "color-shading-type", None, BACKGROUND_COLOR_SHADING_TYPES)
++ self.color_shading_type = GSettingsComboBox("", "org.cinnamon.background", "color-shading-type", None, BACKGROUND_COLOR_SHADING_TYPES)
+ advanced_options_box.pack_start(self.color_shading_type, False, False, 0)
+
+ hbox = Gtk.HBox()
+ l = Gtk.Label(_("Colors"))
+ hbox.pack_start(l, False, False, 2)
+- self.primary_color = GSettingsColorChooser("org.gnome.desktop.background", "primary-color", None)
++ self.primary_color = GSettingsColorChooser("org.cinnamon.background", "primary-color", None)
+ hbox.pack_start(self.primary_color, False, False, 2)
+- self.secondary_color = GSettingsColorChooser("org.gnome.desktop.background", "secondary-color", None)
++ self.secondary_color = GSettingsColorChooser("org.cinnamon.background", "secondary-color", None)
+ hbox.pack_start(self.secondary_color, False, False, 2)
+ advanced_options_box.pack_start(hbox, False, False, 0)
+ self.content_box.show_all()
+
+diff --git a/js/ui/main.js b/js/ui/main.js
+index 74154ab..99aee95 100644
+--- a/js/ui/main.js
++++ b/js/ui/main.js
+@@ -86,6 +86,7 @@ let _cssStylesheet = null;
+ let dynamicWorkspaces = null;
+ let nWorks = null;
+ let tracker = null;
++let backgroundManager = null;
+ let desktopShown;
+
+ let workspace_names = [];
+@@ -214,7 +215,7 @@ function start() {
+ // be predictable anyways.
+ tracker = Cinnamon.WindowTracker.get_default();
+ Cinnamon.AppUsage.get_default();
+-
++ backgroundManager = Cinnamon.BackgroundManager.get_default();
+ // The stage is always covered so Clutter doesn't need to clear it; however
+ // the color is used as the default contents for the Muffin root background
+ // actor so set it anyways.
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 3bab29c..6bac83c 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -105,6 +105,7 @@ cinnamon_public_headers_h = \
+ cinnamon-app-system.h \
+ cinnamon-app-usage.h \
+ cinnamon-arrow.h \
++ cinnamon-background-manager.h \
+ cinnamon-doc-system.h \
+ cinnamon-embedded-window.h \
+ cinnamon-generic-container.h \
+@@ -142,6 +143,7 @@ libcinnamon_la_SOURCES = \
+ cinnamon-app-system.c \
+ cinnamon-app-usage.c \
+ cinnamon-arrow.c \
++ cinnamon-background-manager.c \
+ cinnamon-doc-system.c \
+ cinnamon-embedded-window.c \
+ cinnamon-generic-container.c \
+diff --git a/src/cinnamon-background-manager.c b/src/cinnamon-background-manager.c
+new file mode 100644
+index 0000000..9d95250
+--- /dev/null
++++ b/src/cinnamon-background-manager.c
+@@ -0,0 +1,411 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright © 2001 Ximian, Inc.
++ * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
++ * Copyright 2007 Red Hat, Inc.
++ *
++ * 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.
++ *
++ */
++
++#include "config.h"
++
++#include <sys/types.h>
++#include <sys/wait.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <string.h>
++#include <errno.h>
++
++#include <locale.h>
++
++#include <glib.h>
++#include <glib/gi18n.h>
++#include <gio/gio.h>
++#include <gdk/gdk.h>
++#include <gdk/gdkx.h>
++
++#define GNOME_DESKTOP_USE_UNSTABLE_API
++#include <libgnome-desktop/gnome-bg.h>
++#include <X11/Xatom.h>
++
++#include "cinnamon-background-manager.h"
++
++#define CINNAMON_BACKGROUND_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CINNAMON_TYPE_BACKGROUND_MANAGER, CinnamonBackgroundManagerPrivate))
++
++struct CinnamonBackgroundManagerPrivate
++{
++ GSettings *settings;
++ GnomeBG *bg;
++
++ GnomeBGCrossfade *fade;
++
++ GDBusProxy *proxy;
++ guint proxy_signal_id;
++};
++
++static void cinnamon_background_manager_class_init (CinnamonBackgroundManagerClass *klass);
++static void cinnamon_background_manager_init (CinnamonBackgroundManager *background_manager);
++static void cinnamon_background_manager_finalize (GObject *object);
++
++static void setup_bg (CinnamonBackgroundManager *manager);
++static void connect_screen_signals (CinnamonBackgroundManager *manager);
++
++G_DEFINE_TYPE (CinnamonBackgroundManager, cinnamon_background_manager, G_TYPE_OBJECT)
++
++static gpointer manager_object = NULL;
++
++static gboolean
++dont_draw_background (CinnamonBackgroundManager *manager)
++{
++ return !g_settings_get_boolean (manager->priv->settings,
++ "draw-background");
++}
++
++static void
++on_crossfade_finished (CinnamonBackgroundManager *manager)
++{
++ g_object_unref (manager->priv->fade);
++ manager->priv->fade = NULL;
++}
++
++static void
++draw_background (CinnamonBackgroundManager *manager,
++ gboolean use_crossfade)
++{
++ GdkDisplay *display;
++ int n_screens;
++ int i;
++
++ display = gdk_display_get_default ();
++ n_screens = gdk_display_get_n_screens (display);
++
++ for (i = 0; i < n_screens; ++i) {
++ GdkScreen *screen;
++ GdkWindow *root_window;
++ cairo_surface_t *surface;
++
++ screen = gdk_display_get_screen (display, i);
++
++ root_window = gdk_screen_get_root_window (screen);
++
++ surface = gnome_bg_create_surface (manager->priv->bg,
++ root_window,
++ gdk_screen_get_width (screen),
++ gdk_screen_get_height (screen),
++ TRUE);
++
++ if (use_crossfade) {
++
++ if (manager->priv->fade != NULL) {
++ g_object_unref (manager->priv->fade);
++ }
++
++ manager->priv->fade = gnome_bg_set_surface_as_root_with_crossfade (screen, surface);
++ g_signal_connect_swapped (manager->priv->fade, "finished",
++ G_CALLBACK (on_crossfade_finished),
++ manager);
++ } else {
++ gnome_bg_set_surface_as_root (screen, surface);
++ }
++
++ cairo_surface_destroy (surface);
++ }
++}
++
++static void
++on_bg_transitioned (GnomeBG *bg,
++ CinnamonBackgroundManager *manager)
++{
++ draw_background (manager, FALSE);
++}
++
++static gboolean
++settings_change_event_cb (GSettings *settings,
++ gpointer keys,
++ gint n_keys,
++ CinnamonBackgroundManager *manager)
++{
++ gnome_bg_load_from_preferences (manager->priv->bg,
++ manager->priv->settings);
++ return FALSE;
++}
++
++static void
++on_screen_size_changed (GdkScreen *screen,
++ CinnamonBackgroundManager *manager)
++{
++ draw_background (manager, FALSE);
++}
++
++static void
++watch_bg_preferences (CinnamonBackgroundManager *manager)
++{
++ g_signal_connect (manager->priv->settings,
++ "change-event",
++ G_CALLBACK (settings_change_event_cb),
++ manager);
++}
++
++static void
++on_bg_changed (GnomeBG *bg,
++ CinnamonBackgroundManager *manager)
++{
++ draw_background (manager, TRUE);
++}
++
++static void
++setup_bg (CinnamonBackgroundManager *manager)
++{
++ g_return_if_fail (manager->priv->bg == NULL);
++
++ manager->priv->bg = gnome_bg_new ();
++
++ g_signal_connect (manager->priv->bg,
++ "changed",
++ G_CALLBACK (on_bg_changed),
++ manager);
++
++ g_signal_connect (manager->priv->bg,
++ "transitioned",
++ G_CALLBACK (on_bg_transitioned),
++ manager);
++
++ connect_screen_signals (manager);
++ watch_bg_preferences (manager);
++ gnome_bg_load_from_preferences (manager->priv->bg,
++ manager->priv->settings);
++}
++
++static void
++setup_bg_and_draw_background (CinnamonBackgroundManager *manager)
++{
++ setup_bg (manager);
++ draw_background (manager, FALSE);
++}
++
++static void
++disconnect_session_manager_listener (CinnamonBackgroundManager *manager)
++{
++ if (manager->priv->proxy && manager->priv->proxy_signal_id) {
++ g_signal_handler_disconnect (manager->priv->proxy,
++ manager->priv->proxy_signal_id);
++ manager->priv->proxy_signal_id = 0;
++ }
++}
++
++static void
++on_session_manager_signal (GDBusProxy *proxy,
++ const gchar *sender_name,
++ const gchar *signal_name,
++ GVariant *parameters,
++ gpointer user_data)
++{
++ CinnamonBackgroundManager *manager = CINNAMON_BACKGROUND_MANAGER (user_data);
++
++ if (g_strcmp0 (signal_name, "SessionRunning") == 0) {
++ setup_bg_and_draw_background (manager);
++ disconnect_session_manager_listener (manager);
++ }
++}
++
++static void
++draw_background_after_session_loads (CinnamonBackgroundManager *manager)
++{
++ GError *error = NULL;
++ GDBusProxyFlags flags;
++
++ flags = G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES |
++ G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START;
++ manager->priv->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
++ flags,
++ NULL, /* GDBusInterfaceInfo */
++ "org.gnome.SessionManager",
++ "/org/gnome/SessionManager",
++ "org.gnome.SessionManager",
++ NULL, /* GCancellable */
++ &error);
++ if (manager->priv->proxy == NULL) {
++ g_warning ("Could not listen to session manager: %s",
++ error->message);
++ g_error_free (error);
++ return;
++ }
++
++ manager->priv->proxy_signal_id = g_signal_connect (manager->priv->proxy,
++ "g-signal",
++ G_CALLBACK (on_session_manager_signal),
++ manager);
++}
++
++
++static void
++disconnect_screen_signals (CinnamonBackgroundManager *manager)
++{
++ GdkDisplay *display;
++ int i;
++ int n_screens;
++
++ display = gdk_display_get_default ();
++ n_screens = gdk_display_get_n_screens (display);
++
++ for (i = 0; i < n_screens; ++i) {
++ GdkScreen *screen;
++ screen = gdk_display_get_screen (display, i);
++ g_signal_handlers_disconnect_by_func (screen,
++ G_CALLBACK (on_screen_size_changed),
++ manager);
++ }
++}
++
++static void
++connect_screen_signals (CinnamonBackgroundManager *manager)
++{
++ GdkDisplay *display;
++ int i;
++ int n_screens;
++
++ display = gdk_display_get_default ();
++ n_screens = gdk_display_get_n_screens (display);
++
++ for (i = 0; i < n_screens; ++i) {
++ GdkScreen *screen;
++ screen = gdk_display_get_screen (display, i);
++ g_signal_connect (screen,
++ "monitors-changed",
++ G_CALLBACK (on_screen_size_changed),
++ manager);
++ g_signal_connect (screen,
++ "size-changed",
++ G_CALLBACK (on_screen_size_changed),
++ manager);
++ }
++}
++
++static void
++draw_background_changed (GSettings *settings,
++ const char *key,
++ CinnamonBackgroundManager *manager)
++{
++ if (dont_draw_background (manager) == FALSE)
++ setup_bg_and_draw_background (manager);
++}
++
++gboolean
++cinnamon_background_manager_start (CinnamonBackgroundManager *manager)
++{
++ manager->priv->settings = g_settings_new ("org.cinnamon.background");
++ g_signal_connect (manager->priv->settings, "changed::draw-background",
++ G_CALLBACK (draw_background_changed), manager);
++
++ setup_bg_and_draw_background (manager);
++ //draw_background_after_session_loads (manager);
++
++
++ return TRUE;
++}
++
++void
++cinnamon_background_manager_stop (CinnamonBackgroundManager *manager)
++{
++ CinnamonBackgroundManagerPrivate *p = manager->priv;
++
++ g_debug ("Stopping background manager");
++
++ disconnect_screen_signals (manager);
++
++ if (manager->priv->proxy) {
++ disconnect_session_manager_listener (manager);
++ g_object_unref (manager->priv->proxy);
++ }
++
++ g_signal_handlers_disconnect_by_func (manager->priv->settings,
++ settings_change_event_cb,
++ manager);
++
++ if (p->settings != NULL) {
++ g_object_unref (p->settings);
++ p->settings = NULL;
++ }
++
++ if (p->bg != NULL) {
++ g_object_unref (p->bg);
++ p->bg = NULL;
++ }
++}
++
++/**
++ * cinnamon_background_manager_get_default:
++ *
++ * Return Value: (transfer none): The global #CinnamonBackgroundManager singleton
++ */
++CinnamonBackgroundManager *
++cinnamon_background_manager_get_default ()
++{
++ static CinnamonBackgroundManager *instance = NULL;
++
++ if (instance == NULL)
++ instance = g_object_new (CINNAMON_TYPE_BACKGROUND_MANAGER, NULL);
++
++ return instance;
++}
++
++static GObject *
++cinnamon_background_manager_constructor (GType type,
++ guint n_construct_properties,
++ GObjectConstructParam *construct_properties)
++{
++ CinnamonBackgroundManager *background_manager;
++
++ background_manager = CINNAMON_BACKGROUND_MANAGER (G_OBJECT_CLASS (cinnamon_background_manager_parent_class)->constructor (type,
++ n_construct_properties,
++ construct_properties));
++
++ return G_OBJECT (background_manager);
++}
++
++static void
++cinnamon_background_manager_class_init (CinnamonBackgroundManagerClass *klass)
++{
++ GObjectClass *object_class = G_OBJECT_CLASS (klass);
++
++ object_class->constructor = cinnamon_background_manager_constructor;
++ object_class->finalize = cinnamon_background_manager_finalize;
++
++ g_type_class_add_private (klass, sizeof (CinnamonBackgroundManagerPrivate));
++}
++
++static void
++cinnamon_background_manager_init (CinnamonBackgroundManager *manager)
++{
++ manager->priv = CINNAMON_BACKGROUND_MANAGER_GET_PRIVATE (manager);
++ cinnamon_background_manager_start (manager);
++}
++
++static void
++cinnamon_background_manager_finalize (GObject *object)
++{
++ CinnamonBackgroundManager *background_manager;
++
++ g_return_if_fail (object != NULL);
++ g_return_if_fail (CINNAMON_IS_BACKGROUND_MANAGER (object));
++
++ background_manager = CINNAMON_BACKGROUND_MANAGER (object);
++
++ g_return_if_fail (background_manager->priv != NULL);
++
++ G_OBJECT_CLASS (cinnamon_background_manager_parent_class)->finalize (object);
++}
+diff --git a/src/cinnamon-background-manager.h b/src/cinnamon-background-manager.h
+new file mode 100644
+index 0000000..9a56e32
+--- /dev/null
++++ b/src/cinnamon-background-manager.h
+@@ -0,0 +1,57 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
++ *
++ * 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.
++ *
++ */
++
++#ifndef __CINNAMON_BACKGROUND_MANAGER_H
++#define __CINNAMON_BACKGROUND_MANAGER_H
++
++#include <glib-object.h>
++
++G_BEGIN_DECLS
++
++#define CINNAMON_TYPE_BACKGROUND_MANAGER (cinnamon_background_manager_get_type ())
++#define CINNAMON_BACKGROUND_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CINNAMON_TYPE_BACKGROUND_MANAGER, CinnamonBackgroundManager))
++#define CINNAMON_BACKGROUND_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), CINNAMON_TYPE_BACKGROUND_MANAGER, CinnamonBackgroundManagerClass))
++#define CINNAMON_IS_BACKGROUND_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CINNAMON_TYPE_BACKGROUND_MANAGER))
++#define CINNAMON_IS_BACKGROUND_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CINNAMON_TYPE_BACKGROUND_MANAGER))
++#define CINNAMON_BACKGROUND_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CINNAMON_TYPE_BACKGROUND_MANAGER, CinnamonBackgroundManagerClass))
++
++typedef struct CinnamonBackgroundManagerPrivate CinnamonBackgroundManagerPrivate;
++
++typedef struct
++{
++ GObject parent;
++ CinnamonBackgroundManagerPrivate *priv;
++} CinnamonBackgroundManager;
++
++typedef struct
++{
++ GObjectClass parent_class;
++} CinnamonBackgroundManagerClass;
++
++GType cinnamon_background_manager_get_type (void);
++
++CinnamonBackgroundManager *cinnamon_background_manager_get_default (void);
++
++gboolean cinnamon_background_manager_start (CinnamonBackgroundManager *manager);
++void cinnamon_background_manager_stop (CinnamonBackgroundManager *manager);
++
++G_END_DECLS
++
++#endif /* __CINNAMON_BACKGROUND_MANAGER_H */
+--
+1.8.1.6
+
+
+From c971d472a88f8ea725b2bef33715016e111732d9 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Tue, 16 Apr 2013 18:28:16 -0400
+Subject: [PATCH 04/16] Change default background
+
+---
+ data/org.cinnamon.gschema.xml.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in
+index 939ea70..6d8c82d 100644
+--- a/data/org.cinnamon.gschema.xml.in
++++ b/data/org.cinnamon.gschema.xml.in
+@@ -808,7 +808,7 @@
+ </_description>
+ </key>
+ <key name="picture-uri" type="s">
+- <default>'file://@datadir@/themes/Adwaita/backgrounds/adwaita-timed.xml'</default>
++ <default>'file:///usr/share/backgrounds/linuxmint/default_background.jpg'</default>
+ <_summary>Picture URI</_summary>
+ <_description>
+ URI to use for the background image. Not that the backend only supports
+--
+1.8.1.6
+
+
+From 0147459229b449757bac9a92c173c4bd3c2f9eca Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Tue, 16 Apr 2013 18:41:16 -0400
+Subject: [PATCH 05/16] Use distro-agnostic background..
+
+---
+ data/org.cinnamon.gschema.xml.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in
+index 6d8c82d..567dca8 100644
+--- a/data/org.cinnamon.gschema.xml.in
++++ b/data/org.cinnamon.gschema.xml.in
+@@ -808,7 +808,7 @@
+ </_description>
+ </key>
+ <key name="picture-uri" type="s">
+- <default>'file:///usr/share/backgrounds/linuxmint/default_background.jpg'</default>
++ <default>'file:///usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml'</default>
+ <_summary>Picture URI</_summary>
+ <_description>
+ URI to use for the background image. Not that the backend only supports
+--
+1.8.1.6
+
+
+From 706d244a9dbe2ace9860044e2245a285d8473f47 Mon Sep 17 00:00:00 2001
+From: dalcde <dalcde@yahoo.com.hk>
+Date: Mon, 15 Apr 2013 18:34:48 +0800
+Subject: [PATCH 06/16] [GDbus] Port DBus to GDBus (AltLinux patch)
+
+---
+ .../applets/brightness@cinnamon.org/applet.js | 39 +-
+ .../cinnamon/applets/power@cinnamon.org/applet.js | 102 ++--
+ .../cinnamon/applets/sound@cinnamon.org/applet.js | 511 ++++++---------------
+ .../cinnamon/applets/xrandr@cinnamon.org/applet.js | 19 +-
+ js/misc/gnomeSession.js | 147 ++----
+ js/misc/modemManager.js | 79 ++--
+ js/misc/screenSaver.js | 89 ++--
+ js/ui/appletManager.js | 1 -
+ js/ui/automountManager.js | 106 ++---
+ js/ui/autorunManager.js | 27 +-
+ js/ui/calendar.js | 71 +--
+ js/ui/cinnamonDBus.js | 96 ++--
+ js/ui/endSessionDialog.js | 79 ++--
+ js/ui/keyboard.js | 48 +-
+ js/ui/layout.js | 14 +-
+ js/ui/magnifierDBus.js | 134 ++++--
+ js/ui/main.js | 6 -
+ js/ui/messageTray.js | 13 +-
+ js/ui/notificationDaemon.js | 193 ++++----
+ js/ui/scripting.js | 34 +-
+ 20 files changed, 774 insertions(+), 1034 deletions(-)
+
+diff --git a/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js
+index 9cbda80..9087b25 100644
+--- a/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js
+@@ -5,7 +5,6 @@ const St = imports.gi.St;
+ const PopupMenu = imports.ui.popupMenu;
+ const GLib = imports.gi.GLib;
+ const Gio = imports.gi.Gio;
+-const DBus = imports.dbus;
+
+ /* constants */
+ const DimSettingsSchema = "org.gnome.settings-daemon.plugins.power";
+@@ -14,24 +13,25 @@ const DimSettingsBattery = "idle-dim-battery";
+ const PowerBusName = 'org.gnome.SettingsDaemon';
+ const PowerObjectPath = '/org/gnome/SettingsDaemon/Power';
+
+-/* DBus interface */
+-const PowerManagerInterface = {
+- name: 'org.gnome.SettingsDaemon.Power.Screen',
+- methods:
+- [
+- { name: 'GetPercentage', inSignature: '', outSignature: 'u' },
+- { name: 'SetPercentage', inSignature: 'u', outSignature: 'u' },
+- { name: 'StepUp', inSignature: '', outSignature: 'u' },
+- { name: 'StepDown', inSignature: '', outSignature: 'u' },
+- ],
+- signals:
+- [
+- { name: 'Changed', inSignature: '', outSignature: '' },
+- ]
+-};
++const PowerManagerInterface = <interface name="org.gnome.SettingsDaemon.Power.Screen">
++<method name="GetPercentage">
++ <arg type="u" direction="out"/>
++</method>
++<method name="SetPercentage">
++ <arg type="u" direction="in"/>
++ <arg type="u" direction="out"/>
++</method>
++<method name="StepUp">
++ <arg type="u" direction="out"/>
++</method>
++<method name="StepDown">
++ <arg type="u" direction="out"/>
++</method>
++<signal name="Changed" />
++</interface>;
+
+ /* DBus magic */
+-let PowerManagerProxy = DBus.makeProxyClass(PowerManagerInterface);
++const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(PowerManagerInterface);
+
+ /* TextImageMenuItem taken from sound@cinnamon.org applet */
+ let icon_path = "/usr/share/cinnamon/theme/";
+@@ -100,7 +100,7 @@ MyApplet.prototype = {
+ Applet.IconApplet.prototype._init.call(this, orientation, panel_height);
+
+ try {
+- this._proxy = new PowerManagerProxy(DBus.session, PowerBusName, PowerObjectPath);
++ this._proxy = new PowerManagerProxy(Gio.DBus.session, PowerBusName, PowerObjectPath);
+
+ this.menuManager = new PopupMenu.PopupMenuManager(this);
+ this.menu = new Applet.AppletPopupMenu(this, orientation);
+@@ -137,7 +137,8 @@ MyApplet.prototype = {
+ this.menu.addMenuItem(this._settingsMenu);
+
+ //get notified
+- this._proxy.connect('Changed', Lang.bind(this, this._getBrightness));
++ this._proxy.connectSignal('Changed', Lang.bind(this, this._getBrightness));
++
+ this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
+ } else {
+ this.set_applet_tooltip(_("Brightness"));
+diff --git a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+index c342fe7..b6b2bcd 100644
+--- a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+@@ -1,6 +1,5 @@
+ const Applet = imports.ui.applet;
+ const Gio = imports.gi.Gio;
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
+ const St = imports.gi.St;
+ const PopupMenu = imports.ui.popupMenu;
+@@ -42,34 +41,46 @@ const LabelDisplay = {
+ TIME: 'time'
+ };
+
+-const PowerManagerInterface = {
+- name: 'org.gnome.SettingsDaemon.Power',
+- methods: [
+- { name: 'GetDevices', inSignature: '', outSignature: 'a(susdut)' },
+- { name: 'GetPrimaryDevice', inSignature: '', outSignature: '(susdut)' },
+- ],
+- signals: [
+- { name: 'PropertiesChanged', inSignature: 's,a{sv},a[s]' },
+- ],
+- properties: [
+- { name: 'Icon', signature: 's', access: 'read' },
+- ]
+-};
+-let PowerManagerProxy = DBus.makeProxyClass(PowerManagerInterface);
+-
+-const SettingsManagerInterface = {
+- name: 'org.freedesktop.DBus.Properties',
+- methods: [
+- { name: 'Get', inSignature: 's,s', outSignature: 'v' },
+- { name: 'GetAll', inSignature: 's', outSignature: 'a{sv}' },
+- { name: 'Set', inSignature: 's,s,v', outSignature: '' }
+- ],
+- signals: [
+- {name: 'PropertiesChanged', inSignature:'s,a{sv},a[s]', outSignature:''}
+- ]
+-};
+-
+-let SettingsManagerProxy = DBus.makeProxyClass(SettingsManagerInterface);
++const PowerManagerInterface = <interface name="org.gnome.SettingsDaemon.Power">
++<method name="GetDevices">
++ <arg type="a(susdut)" direction="out"/>
++</method>
++<method name="GetPrimaryDevice">
++ <arg type="(susdut)" direction="out"/>
++</method>
++<signal name="PropertiesChanged">
++ <arg type="s"/>
++ <arg type="a{sv}"/>
++ <arg type="a[s]"/>
++</signal>
++<property name="Icon" type="s" access="read" />
++</interface>;
++
++const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(PowerManagerInterface);
++
++const SettingsManagerInterface = <interface name="org.freedesktop.DBus.Properties">
++<method name="Get">
++ <arg type="s" direction="in"/>
++ <arg type="s" direction="in"/>
++ <arg type="v" direction="out"/>
++</method>
++<method name="GetAll">
++ <arg type="s" direction="in"/>
++ <arg type="a{sv}" direction="out"/>
++</method>
++<method name="Set">
++ <arg type="s" direction="in"/>
++ <arg type="s" direction="in"/>
++ <arg type="v" direction="in"/>
++</method>
++<signal name="PropertiesChanged">
++ <arg type="s"/>
++ <arg type="a{sv}"/>
++ <arg type="a[s]"/>
++</signal>
++</interface>;
++
++const SettingsManagerProxy = Gio.DBusProxy.makeProxyWrapper(SettingsManagerInterface);
+
+ function DeviceItem() {
+ this._init.apply(this, arguments);
+@@ -143,11 +154,11 @@ MyApplet.prototype = {
+ this.menuManager = new PopupMenu.PopupMenuManager(this);
+ this.menu = new Applet.AppletPopupMenu(this, orientation);
+ this.menuManager.addMenu(this.menu);
+-
++
+ //this.set_applet_icon_symbolic_name('battery-missing');
+- this._proxy = new PowerManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH);
+- this._smProxy = new SettingsManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH);
+-
++ this._proxy = new PowerManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH);
++ this._smProxy = new SettingsManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH);
++
+ let icon = this.actor.get_children()[0];
+ this.actor.remove_actor(icon);
+ let box = new St.BoxLayout({ name: 'batteryBox' });
+@@ -306,18 +317,19 @@ MyApplet.prototype = {
+ this._devicesChanged();
+ },
+
+- _devicesChanged: function() {
+- this._proxy.GetRemote('Icon', Lang.bind(this, function(icon, error) {
+- if (icon) {
+- this.set_applet_icon_symbolic_name('battery-missing');
+- let gicon = Gio.icon_new_for_string(icon);
+- this._applet_icon.gicon = gicon;
+- this.actor.show();
+- } else {
+- this.menu.close();
+- this.actor.hide();
+- }
+- }));
++
++ _devicesChanged: function() {
++ this.set_applet_icon_symbolic_name('battery-missing');
++ let icon = this._proxy.Icon;
++ if (icon) {
++ let gicon = Gio.icon_new_for_string(icon);
++ this.setGIcon(gicon);
++ this.actor.show();
++ } else {
++ this.menu.close();
++ this.actor.hide();
++ }
++
+ this._readPrimaryDevice();
+ this._readOtherDevices();
+ this._updateLabel();
+diff --git a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+index 50c4e1e..c8427ac 100644
+--- a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+@@ -1,7 +1,6 @@
+ const Applet = imports.ui.applet;
+ const Mainloop = imports.mainloop;
+ const Gio = imports.gi.Gio;
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
+ const Cinnamon = imports.gi.Cinnamon;
+ const Clutter = imports.gi.Clutter;
+@@ -12,95 +11,50 @@ const Gvc = imports.gi.Gvc;
+ const Pango = imports.gi.Pango;
+ const Tooltips = imports.ui.tooltips;
+
+-const PropIFace = {
+- name: 'org.freedesktop.DBus.Properties',
+- signals: [{ name: 'PropertiesChanged',
+- inSignature: 'a{sv}'}]
+-};
+-
+-const MediaServer2IFace = {
+- name: 'org.mpris.MediaPlayer2',
+- methods: [{ name: 'Raise',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Quit',
+- inSignature: '',
+- outSignature: '' }],
+- properties: [{ name: 'CanRaise',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanQuit',
+- signature: 'b',
+- access: 'read'}],
+-};
+-
+-const MediaServer2PlayerIFace = {
+- name: 'org.mpris.MediaPlayer2.Player',
+- methods: [{ name: 'PlayPause',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Pause',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Play',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Stop',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Next',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Previous',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'SetPosition',
+- inSignature: 'ox',
+- outSignature: '' }],
+- properties: [{ name: 'Metadata',
+- signature: 'a{sv}',
+- access: 'read'},
+- { name: 'Shuffle',
+- signature: 'b',
+- access: 'readwrite'},
+- { name: 'Rate',
+- signature: 'd',
+- access: 'readwrite'},
+- { name: 'LoopStatus',
+- signature: 'b',
+- access: 'readwrite'},
+- { name: 'Volume',
+- signature: 'd',
+- access: 'readwrite'},
+- { name: 'PlaybackStatus',
+- signature: 's',
+- access: 'read'},
+- { name: 'Position',
+- signature: 'x',
+- access: 'read'},
+- { name: 'CanGoNext',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanGoPrevious',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanPlay',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanPause',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanSeek',
+- signature: 'b',
+- access: 'read'}],
+- signals: [{ name: 'Seeked',
+- inSignature: 'x' }]
+-};
++const PropIFace = <interface name="org.freedesktop.DBus.Properties">
++<signal name="PropertiesChanged">
++ <arg type="a{sv}"/>
++</signal>
++</interface>;
++
++const MediaServer2IFace = <interface name="org.mpris.MediaPlayer2">
++<method name="Raise" />
++<method name="Quit" />
++<property name="CanRaise" type="b" access="read" />
++<property name="CanQuit" type="b" access="read" />
++</interface>;
++
++const MediaServer2PlayerIFace = <interface name="org.mpris.MediaPlayer2.Player">
++<method name="PlayPause" />
++<method name="Pause" />
++<method name="Play" />
++<method name="Stop" />
++<method name="Next" />
++<method name="Previous" />
++<method name="SetPosition">
++ <arg type="a{ov}" direction="in"/>
++</method>
++<property name='Metadata' access='read' type='a{sv}' />
++<property name='Shuffle' access='readwrite' type='b' />
++<property name='Rate' access='readwrite' type='d' />
++<property name='LoopStatus' access='readwrite' type='s' />
++<property name='Volume' access='readwrite' type='d' />
++<property name='PlaybackStatus' access='read' type='s' />
++<property name='Position' access='read' type='x' />
++<property name="CanGoNext" type="b" access="read" />
++<property name="CanGoPrevious" type="b" access="read" />
++<property name="CanPlay" type="b" access="read" />
++<property name="CanPause" type="b" access="read" />
++<property name="CanSeek" type="b" access="read" />
++<signal name="Seeked">
++ <arg type="x"/>
++</signal>
++</interface>;
+
+ /* global values */
+ let icon_path = "/usr/share/cinnamon/theme/";
+-let compatible_players = [ "clementine", "mpd", "exaile", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "guayadeque", "amarok", "googlemusicframe", "xbmc", "noise", "xnoise", "gmusicbrowser", "spotify", "audacious", "vlc", "beatbox", "songbird", "pithos", "gnome-mplayer", "nuvolaplayer", "qmmp" ];
+-let support_seek = [ "clementine", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "amarok", "noise", "xnoise", "gmusicbrowser", "spotify", "vlc", "beatbox", "gnome-mplayer", "qmmp" ];
++let compatible_players = [ "clementine", "mpd", "exaile", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "guayadeque", "amarok", "googlemusicframe", "xbmc", "noise", "xnoise", "gmusicbrowser", "spotify", "audacious", "vlc", "beatbox", "songbird", "pithos", "gnome-mplayer", "nuvolaplayer" ];
++let support_seek = [ "clementine", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "amarok", "noise", "xnoise", "gmusicbrowser", "spotify", "vlc", "beatbox", "gnome-mplayer" ];
+ /* dummy vars for translation */
+ let x = _("Playing");
+ x = _("Paused");
+@@ -112,131 +66,20 @@ const VOLUME_ADJUSTMENT_STEP = 0.05; /* Volume adjustment step in % */
+ const ICON_SIZE = 28;
+
+
+-function Prop() {
+- this._init.apply(this, arguments);
+-}
+-
+-Prop.prototype = {
+- _init: function(owner) {
+- DBus.session.proxifyObject(this, owner, '/org/mpris/MediaPlayer2', this);
+- }
+-}
+-DBus.proxifyPrototype(Prop.prototype, PropIFace)
+-
+-function MediaServer2() {
+- this._init.apply(this, arguments);
+-}
+-
+-MediaServer2.prototype = {
+- _init: function(owner) {
+- DBus.session.proxifyObject(this, owner, '/org/mpris/MediaPlayer2', this);
+- },
+- getRaise: function(callback) {
+- this.GetRemote('CanRaise', Lang.bind(this,
+- function(raise, ex) {
+- if (!ex)
+- callback(this, raise);
+- }));
+- },
+- getQuit: function(callback) {
+- this.GetRemote('CanQuit', Lang.bind(this,
+- function(quit, ex) {
+- if (!ex)
+- callback(this, quit);
+- }));
+- }
++var PropProxy = Gio.DBusProxy.makeProxyWrapper(PropIFace);
++function Prop(owner, initCallback, cancellable) {
++ return new PropProxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable);
+ }
+-DBus.proxifyPrototype(MediaServer2.prototype, MediaServer2IFace)
+
+-function MediaServer2Player() {
+- this._init.apply(this, arguments);
++var MediaServer2Proxy = Gio.DBusProxy.makeProxyWrapper(MediaServer2IFace);
++function MediaServer2(owner, initCallback, cancellable) {
++ return new MediaServer2Proxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable);
+ }
+
+-MediaServer2Player.prototype = {
+- _init: function(owner) {
+- this._owner = owner;
+- DBus.session.proxifyObject(this, owner, '/org/mpris/MediaPlayer2', this);
+- },
+- getMetadata: function(callback) {
+- this.GetRemote('Metadata', Lang.bind(this,
+- function(metadata, ex) {
+- if (!ex)
+- callback(this, metadata);
+- }));
+- },
+- getPlaybackStatus: function(callback) {
+- this.GetRemote('PlaybackStatus', Lang.bind(this,
+- function(status, ex) {
+- if (!ex)
+- callback(this, status);
+- }));
+- },
+- getRate: function(callback) {
+- this.GetRemote('Rate', Lang.bind(this,
+- function(rate, ex) {
+- if (!ex)
+- callback(this, rate);
+- }));
+- },
+- getPosition: function(callback) {
+- this.GetRemote('Position', Lang.bind(this,
+- function(position, ex) {
+- if (!ex)
+- callback(this, position);
+- }));
+- },
+- setPosition: function(value) {
+- this.SetRemote('Position', value);
+- },
+- getShuffle: function(callback) {
+- this.GetRemote('Shuffle', Lang.bind(this,
+- function(shuffle, ex) {
+- if (!ex)
+- callback(this, shuffle);
+- }));
+- },
+- setShuffle: function(value) {
+- this.SetRemote('Shuffle', value);
+- },
+- getVolume: function(callback) {
+- this.GetRemote('Volume', Lang.bind(this,
+- function(volume, ex) {
+- if (!ex)
+- callback(this, volume);
+- }));
+- },
+- setVolume: function(value) {
+- this.SetRemote('Volume', parseFloat(value));
+- },
+- getRepeat: function(callback) {
+- this.GetRemote('LoopStatus', Lang.bind(this,
+- function(repeat, ex) {
+- if (!ex) {
+- if (repeat == "None")
+- repeat = false
+- else
+- repeat = true
+- callback(this, repeat);
+- }
+- }));
+- },
+- setRepeat: function(value) {
+- if (value)
+- value = "Playlist"
+- else
+- value = "None"
+- this.SetRemote('LoopStatus', value);
+- },
+- getCanSeek: function(callback) {
+- this.GetRemote('CanSeek', Lang.bind(this,
+- function(canSeek, err) {
+- if (!err) {
+- callback(this, canSeek);
+- }
+- }));
+- }
++var MediaServer2PlayerProxy = Gio.DBusProxy.makeProxyWrapper(MediaServer2PlayerIFace);
++function MediaServer2Player(owner, initCallback, cancellable) {
++ return new MediaServer2PlayerProxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable);
+ }
+-DBus.proxifyPrototype(MediaServer2Player.prototype, MediaServer2PlayerIFace)
+
+ function TrackInfo() {
+ this._init.apply(this, arguments);
+@@ -355,7 +198,6 @@ Player.prototype = {
+ _init: function(system_status_button, owner) {
+ PopupMenu.PopupMenuSection.prototype._init.call(this);
+
+- this.showPosition = true; // @todo: Get from settings
+ this._owner = owner;
+ this._system_status_button = system_status_button;
+ this._name = this._owner.split('.')[3];
+@@ -389,7 +231,7 @@ Player.prototype = {
+ this.infos_top.add_actor(this._artist.getActor());
+ this.infos_bottom.add_actor(this._album.getActor());
+ this.infos_top.add_actor(this._title.getActor());
+-
++ this.infos_bottom.add_actor(this._time.getActor());
+ this._trackInfosTop.set_child(this.infos_top);
+ this._trackInfosBottom.set_child(this.infos_bottom);
+
+--- a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+@@ -414,45 +414,20 @@
+ this._trackControls.set_child(this.controls);
+ this.addActor(this._trackControls);
+
+- this._seekControls = new St.Bin({style_class: 'sound-seek', x_align: St.Align.START});
+- this.seekControls = new St.BoxLayout({style_class: 'sound-seek-box'});
+- this.seekControls.add_actor(this._time.getActor());
+-
+- this._positionSlider = new PopupMenu.PopupSliderMenuItem(0);
+- this._positionSlider.connect('value-changed', Lang.bind(this, function(item) {
+- let time = item._value * this._songLength;
+- this._time.setLabel(this._formatTime(time) + " / " + this._formatTime(this._songLength));
+- }));
+- this._positionSlider.connect('drag-end', Lang.bind(this, function(item) {
+- let time = item._value * this._songLength;
+- this._time.setLabel(this._formatTime(time) + " / " + this._formatTime(this._songLength));
+- this._wantedSeekValue = Math.round(time * 1000000);
+- this._mediaServerPlayer.SetPositionRemote(this._trackObj, time * 1000000);
+- }));
+-
+- this.sliderBin = new St.Bin({style_class: 'sound-seek-slider'});
+- this.sliderBin.set_child(this._positionSlider.actor);
+- this.seekControls.add_actor(this.sliderBin);
+- this._seekControls.set_child(this.seekControls);
+- this.addActor(this._seekControls);
+-
+- this._mediaServer.getRaise(Lang.bind(this, function(sender, raise) {
+- if (raise) {
+- this._raiseButton = new ControlButton('go-up',
+- Lang.bind(this, function () { this._mediaServer.RaiseRemote(); this._system_status_button.menu.actor.hide(); }));
+- this._raiseButtonTooltip = new Tooltips.Tooltip(this._raiseButton.button, _("Open Player"));
+- this.controls.add_actor(this._raiseButton.getActor());
+- }
+- }));
+-
+- this._mediaServer.getQuit(Lang.bind(this, function(sender, quit) {
+- if (quit) {
+- this._quitButton = new ControlButton('window-close',
+- Lang.bind(this, function () { this._mediaServer.QuitRemote(); }));
+- this.controls.add_actor(this._quitButton.getActor());
+- this._quitButtonTooltip = new Tooltips.Tooltip(this._quitButton.button, _("Quit Player"));
+- }
+- }));
++ let CanRaise = this._mediaServer.CanRaise;
++ let CanQuit = this._mediaServer.CanQuit;
++ if (CanRaise) {
++ this._raiseButton = new ControlButton('go-up',
++ Lang.bind(this, function () { this._mediaServer.RaiseRemote(); this._system_status_button.menu.actor.hide(); }));
++ this._raiseButtonTooltip = new Tooltips.Tooltip(this._raiseButton.button, _("Open Player"));
++ this.controls.add_actor(this._raiseButton.getActor());
++ }
++ if (CanQuit) {
++ this._quitButton = new ControlButton('window-close',
++ Lang.bind(this, function () { this._mediaServer.QuitRemote(); }));
++ this.controls.add_actor(this._quitButton.getActor());
++ this._quitButtonTooltip = new Tooltips.Tooltip(this._quitButton.button, _("Quit Player"));
++ }
+
+ /* this players don't support seek */
+ if (support_seek.indexOf(this._name) == -1) {
+@@ -465,39 +440,23 @@
+ this._getMetadata();
+ this._currentTime = 0;
+ this._getPosition();
+- this._wantedSeekValue = 0;
+- this._updatePositionSlider();
+
+- this._prop.connect('PropertiesChanged', Lang.bind(this, function(sender, iface, value) {
++ this._prop.connectSignal('PropertiesChanged', Lang.bind(this, function(sender, iface, value) {
+ if (value["PlaybackStatus"])
+- this._setStatus(iface, value["PlaybackStatus"]);
++ this._setStatus(value["PlaybackStatus"]);
+ if (value["Metadata"])
+- this._setMetadata(iface, value["Metadata"]);
+- //qmmp
+- if(sender._dbusBusName == 'org.mpris.MediaPlayer2.qmmp') {
++ this._setMetadata(value["Metadata"]);
++ // qmmp
++ if (sender._dbusBusName == 'org.mpris.MediaPlayer2.qmmp') {
+ if (value["playbackStatus"])
+- this._setStatus(iface, value["playbackStatus"]);
++ this._setStatus(value["playbackStatus"]);
+ if (value["metadata"])
+- this._setMetadata(sender, value["metadata"]);
+- }
+- }));
+-
+- this._mediaServerPlayer.connect('Seeked', Lang.bind(this, function(sender, value) {
+- if (value > 0) {
+- this._setPosition(value);
+- }
+- // Seek initiated by the position slider
+- else if (this._wantedSeekValue > 0) {
+- // Some broken gstreamer players (Banshee) reports always 0
+- // when the track is seeked so we set the position at the
+- // value we set on the slider
+- this._setPosition(this._wantedSeekValue);
++ this._setMetadata(value["metadata"]);
+ }
+- // Seek value send by the player
+- else
+- this._setPosition(value);
++ }));
+
+- this._wantedSeekValue = 0;
++ this._mediaServerPlayer.connectSignal('Seeked', Lang.bind(this, function(sender, iface, [value]) {
++ this._setPosition(sender, value);
+ }));
+
+ Mainloop.timeout_add(1000, Lang.bind(this, this._getPosition));
+
+@@ -512,45 +303,26 @@ Player.prototype = {
+ this._playerInfo.setText(this._getName() + " - " + _(status));
+ },
+
+- _updatePositionSlider: function(position) {
+- this._mediaServerPlayer.getCanSeek(Lang.bind(this, function(sender, canSeek) {
+- this._canSeek = canSeek;
+-
+- if (this._songLength == 0 || position == false)
+- this._canSeek = false
+-
+- // Clem: The following code was commented out. When the next song started, it resulted in hiding the sound menu, making it hard for the user to repeatedly click on the next song button.
+- // There's probably a better fix and this was not tested with players which don't support seeking, but it fixes the regression created by the slider (apparently when the slider is hidden it closes the menu)
+- // if (this._playerStatus == "Playing" && this._canSeek && this.showPosition)
+- // this._positionSlider.actor.show();
+- // else
+- // this._positionSlider.actor.hide();
+- }));
+- },
+-
+- _setPosition: function(value) {
+- if (value == null && this._playerStatus != 'Stopped') {
+- this._updatePositionSlider(false);
+- }
+- else {
+- this._currentTime = value / 1000000;
+- this._updateTimer();
+- }
++ _setPosition: function(sender, value) {
++ this._stopTimer();
++ this._currentTime = value / 1000000;
++ this._updateTimer();
++ if (this._playerStatus == "Playing")
++ this._runTimer();
+ },
+
+ _getPosition: function() {
+- this._mediaServerPlayer.getPosition(Lang.bind(this, function(sender, value) {
+- this._setPosition(value);
+- }));
++ this._setPosition(this._mediaServerPlayer.Position);
++ Mainloop.timeout_add(1000, Lang.bind(this, this._getPosition));
+ },
+
+- _setMetadata: function(sender, metadata) {
++ _setMetadata: function(metadata) {
+ if (metadata["mpris:length"]) {
+ // song length in secs
+- this._songLength = metadata["mpris:length"] / 1000000;
++ this._songLength = metadata["mpris:length"].unpack() / 1000000;
+ // FIXME upstream
+ if (this._name == "quodlibet")
+- this._songLength = metadata["mpris:length"] / 1000;
++ this._songLength = metadata["mpris:length"].unpack() / 1000;
+ // reset timer
+ this._stopTimer();
+ if (this._playerStatus == "Playing")
+@@ -559,26 +333,29 @@ Player.prototype = {
+ this._stopTimer();
+ }
+ if (metadata["xesam:artist"])
+- this._artist.setLabel(metadata["xesam:artist"].toString());
++ this._artist.setLabel(metadata["xesam:artist"].unpack());
+ else
+ this._artist.setLabel(_("Unknown Artist"));
+ if (metadata["xesam:album"])
+- this._album.setLabel(metadata["xesam:album"].toString());
++ this._album.setLabel(metadata["xesam:album"].unpack());
+ else
+ this._album.setLabel(_("Unknown Album"));
+ if (metadata["xesam:title"])
+- this._title.setLabel(metadata["xesam:title"].toString());
++ this._title.setLabel(metadata["xesam:title"].unpack());
+ else
+ this._title.setLabel(_("Unknown Title"));
+-
+- if (metadata["mpris:trackid"]) {
+- this._trackObj = metadata["mpris:trackid"];
+- }
++ /*if (metadata["mpris:trackid"]) {
++ this._trackId = {
++ _init: function() {
++ DBus.session.proxifyObject(this, this._owner, metadata["mpris:trackid"]);
++ }
++ }
++ }*/
+
+ let change = false;
+ if (metadata["mpris:artUrl"]) {
+- if (this._trackCoverFile != metadata["mpris:artUrl"].toString()) {
+- this._trackCoverFile = metadata["mpris:artUrl"].toString();
++ if (this._trackCoverFile != metadata["mpris:artUrl"].unpack()) {
++ this._trackCoverFile = metadata["mpris:artUrl"].unpack();
+ change = true;
+ }
+ }
+@@ -600,8 +377,7 @@ Player.prototype = {
+ cover.read_async(null, null, Lang.bind(this, this._onReadCover));
+ }
+ else {
+- cover_path = decodeURIComponent(this._trackCoverFile);
+- cover_path = cover_path.replace("file://", "");
++ cover_path = decodeURIComponent(this._trackCoverFile.substr(7));
+ this._showCover(cover_path);
+ }
+ }
+@@ -611,13 +387,10 @@ Player.prototype = {
+ },
+
+ _getMetadata: function() {
+- this._mediaServerPlayer.getMetadata(Lang.bind(this,
+- this._setMetadata
+- ));
++ this._setMetadata(this._mediaServerPlayer.Metadata);
+ },
+
+- _setStatus: function(sender, status) {
+- this._updatePositionSlider();
++ _setStatus: function(status) {
+ this._playerStatus = status;
+ if (status == "Playing") {
+ this._playButton.setIcon("media-playback-pause");
+@@ -631,53 +404,39 @@ Player.prototype = {
+ this._playButton.setIcon("media-playback-start");
+ this._stopTimer();
+ }
+-
+ this._playerInfo.setImage("player-" + status.toLowerCase());
+ this._setName(status);
+ },
+
+ _getStatus: function() {
+- this._mediaServerPlayer.getPlaybackStatus(Lang.bind(this,
+- this._setStatus
+- ));
++ this._setStatus(this._mediaServerPlayer.PlaybackStatus);
+ },
+
+ _updateRate: function() {
+- this._mediaServerPlayer.getRate(Lang.bind(this, function(sender, rate) {
+- this._rate = rate;
+- }));
++ this._rate = this._mediaServerPlayer.Rate;
+ },
+
+ _updateTimer: function() {
+- if (this.showPosition && this._canSeek) {
+- if (!isNaN(this._currentTime) && !isNaN(this._songLength) && this._currentTime > 0)
+- this._positionSlider.setValue(this._currentTime / this._songLength);
+- else
+- this._positionSlider.setValue(0);
+- }
+ this._time.setLabel(this._formatTime(this._currentTime) + " / " + this._formatTime(this._songLength));
+ },
+
+ _runTimer: function() {
+- if (this._playerStatus == 'Playing') {
+- this._timeoutId = Mainloop.timeout_add_seconds(1, Lang.bind(this, this._runTimer));
+- this._currentTime += 1;
+- this._updateTimer();
+- }
++ /*if (!Tweener.resumeTweens(this)) {
++ Tweener.addTween(this,
++ { time: this._songLength - this._currentTime,
++ transition: 'linear',
++ onUpdate: Lang.bind(this, this._updateTimer) });
++ }*/
+ },
+
+ _pauseTimer: function() {
+- if (this._timeoutId != 0) {
+- Mainloop.source_remove(this._timeoutId);
+- this._timeoutId = 0;
+- }
+- this._updateTimer();
++ //Tweener.pauseTweens(this);
+ },
+
+ _stopTimer: function() {
++ /*Tweener.removeTweens(this);
+ this._currentTime = 0;
+- this._pauseTimer();
+- this._updateTimer();
++ this._updateTimer();*/
+ },
+
+ _formatTime: function(s) {
+@@ -771,7 +530,7 @@ MediaPlayerLauncher.prototype = {
+ },
+
+ activate: function (event) {
+- this._menu.actor.hide();
++ this._menu.actor.hide();
+ this._app.activate_full(-1, event.get_time());
+ return true;
+ }
+@@ -799,7 +558,7 @@ MyApplet.prototype = {
+ this._players = {};
+ // watch players
+ for (var p=0; p<compatible_players.length; p++) {
+- DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], false,
++ Gio.DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], Gio.BusNameWatcherFlags.NONE,
+ Lang.bind(this, this._addPlayer),
+ Lang.bind(this, this._removePlayer)
+ );
+@@ -930,7 +689,7 @@ MyApplet.prototype = {
+ return Object.keys(this._players).length;
+ },
+
+- _addPlayer: function(owner) {
++ _addPlayer: function(connection, owner) {
+ // ensure menu is empty
+ this._cleanup();
+ this._volumeControlShown = false;
+@@ -945,12 +704,12 @@ MyApplet.prototype = {
+ this._readOutput();
+ },
+
+- _removePlayer: function(owner) {
++ _removePlayer: function(connection, owner) {
+ delete this._players[owner];
+ this._cleanup();
+ this._volumeControlShown = false;
+ for (owner in this._players) {
+- this._addPlayer(owner);
++ this._addPlayer(connection, owner);
+ }
+ this.menu.emit('players-loaded', true);
+
+@@ -974,21 +733,21 @@ MyApplet.prototype = {
+ this._volumeControlShown = true;
+
+ if (this._nbPlayers()==0){
+- this._availablePlayers = new Array();
++ this._availablePlayers = new Array();
+ let appsys = Cinnamon.AppSystem.get_default();
+ let allApps = appsys.get_all();
+ let listedDesktopFiles = new Array();
+ for (let y=0; y<allApps.length; y++) {
+- let app = allApps[y];
+- let entry = app.get_tree_entry();
+- let path = entry.get_desktop_file_path();
+- for (var p=0; p<compatible_players.length; p++) {
++ let app = allApps[y];
++ let entry = app.get_tree_entry();
++ let path = entry.get_desktop_file_path();
++ for (var p=0; p<compatible_players.length; p++) {
+ let desktopFile = compatible_players[p]+".desktop";
+- if (path.indexOf(desktopFile) != -1 && listedDesktopFiles.indexOf(desktopFile) == -1) {
+- this._availablePlayers.push(app);
++ if (path.indexOf(desktopFile) != -1 && listedDesktopFiles.indexOf(desktopFile) == -1) {
++ this._availablePlayers.push(app);
+ listedDesktopFiles.push(desktopFile);
+- }
+- }
++ }
++ }
+ }
+
+ if (this._availablePlayers.length > 0){
+@@ -1137,19 +896,19 @@ MyApplet.prototype = {
+ this._mutedChanged (null, null, '_output');
+ this._volumeChanged (null, null, '_output');
+ let sinks = this._control.get_sinks();
+- this._selectDeviceItem.menu.removeAll();
+- for (let i = 0; i < sinks.length; i++) {
+- let sink = sinks[i];
+- let menuItem = new PopupMenu.PopupMenuItem(sink.get_description());
+- if (sinks[i].get_id() == this._output.get_id()) {
+- menuItem.setShowDot(true);
+- }
+- menuItem.connect('activate', Lang.bind(this, function() {
+- log('Changing default sink to ' + sink.get_description());
+- this._control.set_default_sink(sink);
+- }));
+- this._selectDeviceItem.menu.addMenuItem(menuItem);
+- }
++ this._selectDeviceItem.menu.removeAll();
++ for (let i = 0; i < sinks.length; i++) {
++ let sink = sinks[i];
++ let menuItem = new PopupMenu.PopupMenuItem(sink.get_description());
++ if (sinks[i].get_id() == this._output.get_id()) {
++ menuItem.setShowDot(true);
++ }
++ menuItem.connect('activate', Lang.bind(this, function() {
++ log('Changing default sink to ' + sink.get_description());
++ this._control.set_default_sink(sink);
++ }));
++ this._selectDeviceItem.menu.addMenuItem(menuItem);
++ }
+ } else {
+ this._outputSlider.setValue(0);
+ this.setIconName('audio-volume-muted-symbolic');
+diff --git a/files/usr/share/cinnamon/applets/xrandr@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/xrandr@cinnamon.org/applet.js
+index 0dcf74d..c2d152a 100644
+--- a/files/usr/share/cinnamon/applets/xrandr@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/xrandr@cinnamon.org/applet.js
+@@ -1,6 +1,6 @@
+ /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
+
+-const DBus = imports.dbus;
++const Gio = imports.gi.Gio;
+ const Gdk = imports.gi.Gdk;
+ const GLib = imports.gi.GLib;
+ const GnomeDesktop = imports.gi.GnomeDesktop;
+@@ -22,13 +22,14 @@ let rotations = [ [ GnomeDesktop.RRRotation.ROTATION_0, N_("Normal") ],
+ [ GnomeDesktop.RRRotation.ROTATION_180, N_("Upside-down") ]
+ ];
+
+-const XRandr2Iface = {
+- name: 'org.gnome.SettingsDaemon.XRANDR_2',
+- methods: [
+- { name: 'ApplyConfiguration', inSignature: 'xx', outSignature: '' },
+- ]
+-};
+-let XRandr2 = DBus.makeProxyClass(XRandr2Iface);
++const XRandr2Iface = <interface name="org.gnome.SettingsDaemon.XRANDR_2">
++<method name="ApplyConfiguration">
++ <arg type="x" direction="in"/>
++ <arg type="x" direction="in"/>
++</method>
++</interface>;
++
++const XRandr2 = Gio.DBusProxy.makeProxyWrapper(XRandr2Iface);
+
+ function MyApplet(orientation, panel_height) {
+ this._init(orientation, panel_height);
+@@ -48,7 +49,7 @@ MyApplet.prototype = {
+ this.menu = new Applet.AppletPopupMenu(this, orientation);
+ this.menuManager.addMenu(this.menu);
+
+- this._proxy = new XRandr2(DBus.session, 'org.gnome.SettingsDaemon', '/org/gnome/SettingsDaemon/XRANDR');
++ this._proxy = new XRandr2(Gio.DBus.session, 'org.gnome.SettingsDaemon', '/org/gnome/SettingsDaemon/XRANDR');
+
+ try {
+ this._screen = new GnomeDesktop.RRScreen({ gdk_screen: Gdk.Screen.get_default() });
+diff --git a/js/misc/gnomeSession.js b/js/misc/gnomeSession.js
+index a2b61fd..e21d3a8 100644
+--- a/js/misc/gnomeSession.js
++++ b/js/misc/gnomeSession.js
+@@ -1,20 +1,18 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
++const Gio = imports.gi.Gio;
+ const Lang = imports.lang;
+ const Signals = imports.signals;
+
+-const PresenceIface = {
+- name: 'org.gnome.SessionManager.Presence',
+- methods: [{ name: 'SetStatus',
+- inSignature: 'u',
+- outSignature: '' }],
+- properties: [{ name: 'status',
+- signature: 'u',
+- access: 'readwrite' }],
+- signals: [{ name: 'StatusChanged',
+- inSignature: 'u' }]
+-};
++const PresenceIface = <interface name="org.gnome.SessionManager.Presence">
++<method name="SetStatus">
++ <arg type="u" direction="in"/>
++</method>
++<property name="status" type="u" access="readwrite"/>
++<signal name="StatusChanged">
++ <arg type="u" direction="out"/>
++</signal>
++</interface>;
+
+ const PresenceStatus = {
+ AVAILABLE: 0,
+@@ -23,104 +21,37 @@ const PresenceStatus = {
+ IDLE: 3
+ };
+
+-function Presence() {
+- this._init();
++var PresenceProxy = Gio.DBusProxy.makeProxyWrapper(PresenceIface);
++function Presence(initCallback, cancellable) {
++ return new PresenceProxy(Gio.DBus.session, 'org.gnome.SessionManager',
++ '/org/gnome/SessionManager/Presence', initCallback, cancellable);
+ }
+
+-Presence.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.gnome.SessionManager', '/org/gnome/SessionManager/Presence', this);
+- },
+-
+- getStatus: function(callback) {
+- this.GetRemote('status', Lang.bind(this,
+- function(status, ex) {
+- if (!ex)
+- callback(this, status);
+- }));
+- },
+-
+- setStatus: function(status) {
+- this.SetStatusRemote(status);
+- }
+-};
+-DBus.proxifyPrototype(Presence.prototype, PresenceIface);
+-
+-// Note inhibitors are immutable objects, so they don't
+-// change at runtime (changes always come in the form
+-// of new inhibitors)
+-const InhibitorIface = {
+- name: 'org.gnome.SessionManager.Inhibitor',
+- properties: [{ name: 'app_id',
+- signature: 's',
+- access: 'readonly' },
+- { name: 'client_id',
+- signature: 's',
+- access: 'readonly' },
+- { name: 'reason',
+- signature: 's',
+- access: 'readonly' },
+- { name: 'flags',
+- signature: 'u',
+- access: 'readonly' },
+- { name: 'toplevel_xid',
+- signature: 'u',
+- access: 'readonly' },
+- { name: 'cookie',
+- signature: 'u',
+- access: 'readonly' }],
+-};
+-
+-function Inhibitor(objectPath) {
+- this._init(objectPath);
++const InhibitorIface = <interface name="org.gnome.SessionManager.Inhibitor">
++<property name="app_id" type="s" access="read" />
++<property name="client_id" type="s" access="read" />
++<property name="reason" type="s" access="read" />
++<property name="flags" type="u" access="read" />
++<property name="toplevel_xid" type="u" access="read" />
++<property name="cookie" type="u" access="read" />
++</interface>;
++
++var InhibitorProxy = Gio.DBusProxy.makeProxyWrapper(InhibitorIface);
++function Inhibitor(objectPath, initCallback, cancellable) {
++ return new InhibitorProxy(Gio.DBus.session, 'org.gnome.SessionManager', objectPath, initCallback, cancellable);
+ }
+
+-Inhibitor.prototype = {
+- _init: function(objectPath) {
+- DBus.session.proxifyObject(this,
+- 'org.gnome.SessionManager',
+- objectPath);
+- this.isLoaded = false;
+- this._loadingPropertiesCount = InhibitorIface.properties.length;
+- for (let i = 0; i < InhibitorIface.properties.length; i++) {
+- let propertyName = InhibitorIface.properties[i].name;
+- this.GetRemote(propertyName, Lang.bind(this,
+- function(value, exception) {
+- if (exception)
+- return;
+-
+- this[propertyName] = value;
+- this._loadingPropertiesCount--;
+-
+- if (this._loadingPropertiesCount == 0) {
+- this.isLoaded = true;
+- this.emit('is-loaded');
+- }
+- }));
+- }
+- },
+-};
+-DBus.proxifyPrototype(Inhibitor.prototype, InhibitorIface);
+-Signals.addSignalMethods(Inhibitor.prototype);
+-
+-
+-// Not the full interface, only the methods we use
+-const SessionManagerIface = {
+- name: 'org.gnome.SessionManager',
+- methods: [
+- { name: 'Logout', inSignature: 'u', outSignature: '' },
+- { name: 'Shutdown', inSignature: '', outSignature: '' },
+- { name: 'CanShutdown', inSignature: '', outSignature: 'b' }
+- ]
+-};
+-
+-function SessionManager() {
+- this._init();
++const SessionManagerIface = <interface name="org.gnome.SessionManager">
++<method name="Logout">
++ <arg type="u" direction="in" />
++</method>
++<method name="Shutdown" />
++<method name="CanShutdown">
++ <arg type="b" direction="out" />
++</method>
++</interface>;
++
++var SessionManagerProxy = Gio.DBusProxy.makeProxyWrapper(SessionManagerIface);
++function SessionManager(initCallback, cancellable) {
++ return new SessionManagerProxy(Gio.DBus.session, 'org.gnome.SessionManager', '/org/gnome/SessionManager', initCallback, cancellable);
+ }
+-
+-SessionManager.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.gnome.SessionManager', '/org/gnome/SessionManager');
+- }
+-};
+-DBus.proxifyPrototype(SessionManager.prototype, SessionManagerIface);
+\ No newline at end of file
+diff --git a/js/misc/modemManager.js b/js/misc/modemManager.js
+index befd142..f35f925 100644
+--- a/js/misc/modemManager.js
++++ b/js/misc/modemManager.js
+@@ -1,6 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
++const Gio = imports.gi.Gio;
+ const Lang = imports.lang;
+ const Cinnamon = imports.gi.Cinnamon;
+ const Signals = imports.signals;
+@@ -8,33 +8,43 @@ const Signals = imports.signals;
+ // The following are not the complete interfaces, just the methods we need
+ // (or may need in the future)
+
+-const ModemGsmNetworkInterface = {
+- name: 'org.freedesktop.ModemManager.Modem.Gsm.Network',
+- methods: [
+- { name: 'GetRegistrationInfo', inSignature: '', outSignature: 'uss' },
+- { name: 'GetSignalQuality', inSignature: '', outSignature: 'u' }
+- ],
+- properties: [
+- { name: 'AccessTechnology', signature: 'u', access: 'read' }
+- ],
+- signals: [
+- { name: 'SignalQuality', inSignature: 'u' },
+- { name: 'RegistrationInfo', inSignature: 'uss' }
+- ]
+-};
+-const ModemGsmNetworkProxy = DBus.makeProxyClass(ModemGsmNetworkInterface);
+-
+-const ModemCdmaInterface = {
+- name: 'org.freedesktop.ModemManager.Modem.Cdma',
+- methods: [
+- { name: 'GetSignalQuality', inSignature: '', outSignature: 'u' },
+- { name: 'GetServingSystem', inSignature: '', outSignature: 'usu' }
+- ],
+- signals: [
+- { name: 'SignalQuality', inSignature: 'u' }
+- ]
+-};
+-const ModemCdmaProxy = DBus.makeProxyClass(ModemCdmaInterface);
++const ModemGsmNetworkInterface = <interface name="org.freedesktop.ModemManager.Modem.Gsm.Network">
++<method name="GetRegistrationInfo">
++ <arg type="u" direction="out" />
++ <arg type="s" direction="out" />
++ <arg type="s" direction="out" />
++</method>
++<method name="GetSignalQuality">
++ <arg type="u" direction="out" />
++</method>
++<property name="AccessTechnology" type="u" access="read" />
++<signal name="SignalQuality">
++ <arg type="u" direction="out" />
++</signal>
++<signal name="RegistrationInfo">
++ <arg type="u" direction="out" />
++ <arg type="s" direction="out" />
++ <arg type="s" direction="out" />
++</signal>
++</interface>;
++
++const ModemGsmNetworkProxy = Gio.DBusProxy.makeProxyWrapper(ModemGsmNetworkInterface);
++
++const ModemCdmaInterface = <interface name="org.freedesktop.ModemManager.Modem.Cdma">
++<method name="GetSignalQuality">
++ <arg type="u" direction="out" />
++</method>
++<method name="GetServingSystem">
++ <arg type="u" direction="out" />
++ <arg type="s" direction="out" />
++ <arg type="u" direction="out" />
++</method>
++<signal name="SignalQuality">
++ <arg type="u" direction="out" />
++</signal>
++</interface>;
++
++const ModemCdmaProxy = Gio.DBusProxy.makeProxyWrapper(ModemCdmaInterface);
+
+ let _providersTable;
+ function _getProvidersTable() {
+@@ -50,17 +60,17 @@ function ModemGsm() {
+
+ ModemGsm.prototype = {
+ _init: function(path) {
+- this._proxy = new ModemGsmNetworkProxy(DBus.system, 'org.freedesktop.ModemManager', path);
++ this._proxy = new ModemGsmNetworkProxy(Gio.DBus.system, 'org.freedesktop.ModemManager', path);
+
+ this.signal_quality = 0;
+ this.operator_name = null;
+
+ // Code is duplicated because the function have different signatures
+- this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, quality) {
++ this._proxy.connectSignal('SignalQuality', Lang.bind(this, function(proxy, sender, [quality]) {
+ this.signal_quality = quality;
+ this.emit('notify::signal-quality');
+ }));
+- this._proxy.connect('RegistrationInfo', Lang.bind(this, function(proxy, status, code, name) {
++ this._proxy.connectSignal('RegistrationInfo', Lang.bind(this, function(proxy, sender, [status, code, name]) {
+ this.operator_name = this._findOperatorName(name, code);
+ this.emit('notify::operator-name');
+ }));
+@@ -154,12 +164,13 @@ function ModemCdma() {
+ }
+
+ ModemCdma.prototype = {
+- _init: function(path) {
+- this._proxy = new ModemCdmaProxy(DBus.system, 'org.freedesktop.ModemManager', path);
++ _init: function(path) {
++ this._proxy = new ModemCdmaProxy(Gio.DBus.system, 'org.freedesktop.ModemManager', path);
+
+ this.signal_quality = 0;
+ this.operator_name = null;
+- this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, quality) {
++ this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, sender, params) {
++ this.signal_quality = params[0];
+ this.signal_quality = quality;
+ this.emit('notify::signal-quality');
+
+diff --git a/js/misc/screenSaver.js b/js/misc/screenSaver.js
+index c471856..aec883f 100644
+--- a/js/misc/screenSaver.js
++++ b/js/misc/screenSaver.js
+@@ -1,53 +1,48 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
+-
+-const ScreenSaverIface = {
+- name: 'org.gnome.ScreenSaver',
+- methods: [{ name: 'GetActive',
+- inSignature: '',
+- outSignature: 'b' },
+- { name: 'Lock',
+- inSignature: '' },
+- { name: 'SetActive',
+- inSignature: 'b' }],
+- signals: [{ name: 'ActiveChanged',
+- inSignature: 'b' }]
+-};
++const Gio = imports.gi.Gio;
++
++const ScreenSaverIface = <interface name="org.gnome.ScreenSaver">
++<method name="GetActive">
++ <arg type="b" direction="out" />
++</method>
++<method name="Lock" />
++<method name="SetActive">
++ <arg type="b" direction="in" />
++</method>
++<signal name="ActiveChanged">
++ <arg type="b" direction="out" />
++</signal>
++</interface>;
++
++const ScreenSaverInfo = Gio.DBusInterfaceInfo.new_for_xml(ScreenSaverIface);
+
+ function ScreenSaverProxy() {
+- this._init();
++ var self = new Gio.DBusProxy({ g_connection: Gio.DBus.session,
++ g_interface_name: ScreenSaverInfo.name,
++ g_interface_info: ScreenSaverInfo,
++ g_name: 'org.gnome.ScreenSaver',
++ g_object_path: '/org/gnome/ScreenSaver',
++ g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
++ Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
++ self.init(null);
++ self.screenSaverActive = false;
++
++ self.connectSignal('ActiveChanged', function(proxy, senderName, [isActive]) {
++ self.screenSaverActive = isActive;
++ });
++ self.connect('notify::g-name-owner', function() {
++ if (self.g_name_owner) {
++ self.GetActiveRemote(function(result, excp) {
++ if (result) {
++ let [isActive] = result;
++ self.screenSaverActive = isActive;
++ }
++ });
++ } else
++ self.screenSaverActive = false;
++ });
++
++ return self;
+ }
+-
+-ScreenSaverProxy.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this,
+- 'org.gnome.ScreenSaver',
+- '/org/gnome/ScreenSaver');
+-
+- DBus.session.watch_name('org.gnome.ScreenSaver',
+- false, // do not launch a name-owner if none exists
+- Lang.bind(this, this._onSSAppeared),
+- Lang.bind(this, this._onSSVanished));
+-
+- this.screenSaverActive = false;
+- this.connect('ActiveChanged',
+- Lang.bind(this, this._onActiveChanged));
+- },
+-
+- _onSSAppeared: function(owner) {
+- this.GetActiveRemote(Lang.bind(this, function(isActive) {
+- this.screenSaverActive = isActive;
+- }))
+- },
+-
+- _onSSVanished: function(oldOwner) {
+- this.screenSaverActive = false;
+- },
+-
+- _onActiveChanged: function(object, isActive) {
+- this.screenSaverActive = isActive;
+- }
+-};
+-DBus.proxifyPrototype(ScreenSaverProxy.prototype, ScreenSaverIface);
+diff --git a/js/ui/appletManager.js b/js/ui/appletManager.js
+index abf8136..830d80d 100644
+--- a/js/ui/appletManager.js
++++ b/js/ui/appletManager.js
+@@ -7,7 +7,6 @@ const Cinnamon = imports.gi.Cinnamon;
+ const Main = imports.ui.main;
+ const Applet = imports.ui.applet;
+ const Extension = imports.ui.extension;
+-const DBus = imports.dbus;
+
+ // Maps uuid -> metadata object
+ var appletMeta;
+diff --git a/js/ui/automountManager.js b/js/ui/automountManager.js
+index fa73bfe..f29f9f3 100644
+--- a/js/ui/automountManager.js
++++ b/js/ui/automountManager.js
+@@ -1,7 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+ const Lang = imports.lang;
+-const DBus = imports.dbus;
+ const Mainloop = imports.mainloop;
+ const Gio = imports.gi.Gio;
+ const Params = imports.misc.params;
+@@ -15,63 +14,57 @@ const SETTING_ENABLE_AUTOMOUNT = 'automount';
+
+ const AUTORUN_EXPIRE_TIMEOUT_SECS = 10;
+
+-const ConsoleKitSessionIface = {
+- name: 'org.freedesktop.ConsoleKit.Session',
+- methods: [{ name: 'IsActive',
+- inSignature: '',
+- outSignature: 'b' }],
+- signals: [{ name: 'ActiveChanged',
+- inSignature: 'b' }]
+-};
++const ConsoleKitSessionIface = <interface name="org.freedesktop.ConsoleKit.Session">
++<method name="isActive">
++ <arg type="b" direction="out" />
++</method>
++<method name="ActiveChanged">
++ <arg type="b" direction="in" />
++</method>
++</interface>;
+
+-const ConsoleKitSessionProxy = DBus.makeProxyClass(ConsoleKitSessionIface);
++const ConsoleKitSessionProxy = Gio.DBusProxy.makeProxyWrapper(ConsoleKitSessionIface);
+
+-const ConsoleKitManagerIface = {
+- name: 'org.freedesktop.ConsoleKit.Manager',
+- methods: [{ name: 'GetCurrentSession',
+- inSignature: '',
+- outSignature: 'o' }]
+-};
++const ConsoleKitManagerIface = <interface name="org.freedesktop.ConsoleKit.Manager">
++<method name="GetCurrentSession">
++ <arg type="o" direction="out" />
++</method>
++</interface>;
+
+-function ConsoleKitManager() {
+- this._init();
+-};
+-
+-ConsoleKitManager.prototype = {
+- _init: function() {
+- this.sessionActive = true;
+-
+- DBus.system.proxifyObject(this,
+- 'org.freedesktop.ConsoleKit',
+- '/org/freedesktop/ConsoleKit/Manager');
++const ConsoleKitManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(ConsoleKitManagerIface);
+
+- DBus.system.watch_name('org.freedesktop.ConsoleKit',
+- false, // do not launch a name-owner if none exists
+- Lang.bind(this, this._onManagerAppeared),
+- Lang.bind(this, this._onManagerVanished));
+- },
+-
+- _onManagerAppeared: function(owner) {
+- this.GetCurrentSessionRemote(Lang.bind(this, this._onCurrentSession));
+- },
+-
+- _onManagerVanished: function(oldOwner) {
+- this.sessionActive = true;
+- },
+-
+- _onCurrentSession: function(session) {
+- this._ckSession = new ConsoleKitSessionProxy(DBus.system, 'org.freedesktop.ConsoleKit', session);
+-
+- this._ckSession.connect
+- ('ActiveChanged', Lang.bind(this, function(object, isActive) {
+- this.sessionActive = isActive;
+- }));
+- this._ckSession.IsActiveRemote(Lang.bind(this, function(isActive) {
+- this.sessionActive = isActive;
+- }));
++function ConsoleKitManager() {
++ var self = new Gio.DBusProxy({ g_connection: Gio.DBus.system,
++ g_interface_name: ConsoleKitManagerInfo.name,
++ g_interface_info: ConsoleKitManagerInfo,
++ g_name: 'org.freedesktop.ConsoleKit',
++ g_object_path: '/org/freedesktop/ConsoleKit/Manager',
++ g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
++ Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
++
++ self._updateSessionActive = function() {
++ if (self.g_name_owner) {
++ self.GetCurrentSessionRemote(function([session]) {
++ self._ckSession = new ConsoleKitSessionProxy(Gio.DBus.system, 'org.freedesktop.ConsoleKit', session);
++
++ self._ckSession.connectSignal('ActiveChanged', function(object, senderName, [isActive]) {
++ self.sessionActive = isActive;
++ });
++ self._ckSession.IsActiveRemote(function([isActive]) {
++ self.sessionActive = isActive;
++ });
++ });
++ } else {
++ self.sessionActive = true;
++ }
+ }
+-};
+-DBus.proxifyPrototype(ConsoleKitManager.prototype, ConsoleKitManagerIface);
++ self.connect('notify::g-name-owner',
++ Lang.bind(self, self._updateSessionActive));
++
++ self._updateSessionActive();
++ self.init(null);
++ return self;
++}
+
+ function AutomountManager() {
+ this._init();
+@@ -85,9 +78,8 @@ AutomountManager.prototype = {
+ this.ckListener = new ConsoleKitManager();
+
+ this._ssProxy = new ScreenSaver.ScreenSaverProxy();
+- this._ssProxy.connect('ActiveChanged',
+- Lang.bind(this,
+- this._screenSaverActiveChanged));
++ this._ssProxy.connectSignal('ActiveChanged',
++ Lang.bind(this, this._screenSaverActiveChanged));
+
+ this._volumeMonitor = Gio.VolumeMonitor.get();
+
+@@ -110,7 +102,7 @@ AutomountManager.prototype = {
+ Mainloop.idle_add(Lang.bind(this, this._startupMountAll));
+ },
+
+- _screenSaverActiveChanged: function(object, isActive) {
++ _screenSaverActiveChanged: function(object, senderName, [isActive]) {
+ if (!isActive) {
+ this._volumeQueue.forEach(Lang.bind(this, function(volume) {
+ this._checkAndMountVolume(volume);
+diff --git a/js/ui/autorunManager.js b/js/ui/autorunManager.js
+index 02cd4da..99b6fbe 100644
+--- a/js/ui/autorunManager.js
++++ b/js/ui/autorunManager.js
+@@ -1,7 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+ const Lang = imports.lang;
+-const DBus = imports.dbus;
+ const Gio = imports.gi.Gio;
+ const St = imports.gi.St;
+
+@@ -61,25 +60,19 @@ function startAppForMount(app, mount) {
+
+ /******************************************/
+
+-const HotplugSnifferIface = {
+- name: 'org.Cinnamon.HotplugSniffer',
+- methods: [{ name: 'SniffURI',
+- inSignature: 's',
+- outSignature: 'as' }]
+-};
+-
+-const HotplugSniffer = function() {
+- this._init();
+-};
++const HotplugSnifferIface = <interface name="org.Cinnamon.HotplugSniffer">
++<method name="SniffURI">
++ <arg type="s" direction="in" />
++ <arg type="as" direction="out" />
++</method>
++</interface>;
+
+-HotplugSniffer.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this,
++const HotplugSnifferProxy = Gio.DBusProxy.makeProxyWrapper(HotplugSnifferIface);
++function HotplugSniffer() {
++ return new HotplugSnifferProxy(Gio.DBus.session,
+ 'org.Cinnamon.HotplugSniffer',
+ '/org/Cinnamon/HotplugSniffer');
+- },
+-};
+-DBus.proxifyPrototype(HotplugSniffer.prototype, HotplugSnifferIface);
++}
+
+ function ContentTypeDiscoverer(callback) {
+ this._init(callback);
+diff --git a/js/ui/calendar.js b/js/ui/calendar.js
+index ff4777a..a97e2a9 100644
+--- a/js/ui/calendar.js
++++ b/js/ui/calendar.js
+@@ -1,6 +1,5 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
+ const Clutter = imports.gi.Clutter;
+ const Gio = imports.gi.Gio;
+ const Lang = imports.lang;
+@@ -194,30 +193,34 @@ EmptyEventSource.prototype = {
+ };
+ Signals.addSignalMethods(EmptyEventSource.prototype);
+
+-const CalendarServerIface = {
+- name: 'org.Cinnamon.CalendarServer',
+- methods: [{ name: 'GetEvents',
+- inSignature: 'xxb',
+- outSignature: 'a(sssbxxa{sv})' }],
+- signals: [{ name: 'Changed',
+- inSignature: '' }]
+-};
+-
+-const CalendarServer = function () {
+- this._init();
+-};
+-
+-CalendarServer.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.Cinnamon.CalendarServer', '/org/Cinnamon/CalendarServer');
+- }
+-};
+-
+-DBus.proxifyPrototype(CalendarServer.prototype, CalendarServerIface);
++const CalendarServerIface = <interface name="org.Cinnamon.CalendarServer">
++<method name="GetEvents">
++ <arg type="x" direction="in" />
++ <arg type="x" direction="in" />
++ <arg type="b" direction="in" />
++ <arg type="a(sssbxxa{sv})" direction="out" />
++</method>
++<signal name="Changed" />
++</interface>;
++
++const CalendarServerInfo = Gio.DBusInterfaceInfo.new_for_xml(CalendarServerIface);
++
++function CalendarServer() {
++ var self = new Gio.DBusProxy({ g_connection: Gio.DBus.session,
++ g_interface_name: CalendarServerInfo.name,
++ g_interface_info: CalendarServerInfo,
++ g_name: 'org.Cinnamon.CalendarServer',
++ g_object_path: '/org/Cinnamon/CalendarServer',
++ g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
++ Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
++
++ self.init(null);
++ return self;
++}
+
+ // an implementation that reads data from a session bus service
+-function DBusEventSource(owner) {
+- this._init(owner);
++function DBusEventSource() {
++ this._init();
+ }
+
+ function _datesEqual(a, b) {
+@@ -240,16 +243,18 @@ function _dateIntervalsOverlap(a0, a1, b0, b1)
+
+
+ DBusEventSource.prototype = {
+- _init: function(owner) {
++ _init: function() {
+ this._resetCache();
+
+- this._dbusProxy = new CalendarServer(owner);
+- this._dbusProxy.connect('Changed', Lang.bind(this, this._onChanged));
++ this._dbusProxy = new CalendarServer();
++ this._dbusProxy.connectSignal('Changed', Lang.bind(this, this._onChanged));
+
+- DBus.session.watch_name('org.Cinnamon.CalendarServer',
+- false, // do not launch a name-owner if none exists
+- Lang.bind(this, this._onNameAppeared),
+- Lang.bind(this, this._onNameVanished));
++ this._dbusProxy.connect('notify::g-name-owner', Lang.bind(this, function() {
++ if (this._dbusProxy.g_name_owner)
++ this._onNameAppeared();
++ else
++ this._onNameVanished();
++ }));
+ },
+
+ _resetCache: function() {
+@@ -272,7 +277,7 @@ DBusEventSource.prototype = {
+ this._loadEvents(false);
+ },
+
+- _onEventsReceived: function(appointments) {
++ _onEventsReceived: function([appointments]) {
+ let newEvents = [];
+ if (appointments != null) {
+ for (let n = 0; n < appointments.length; n++) {
+@@ -295,9 +300,9 @@ DBusEventSource.prototype = {
+
+ _loadEvents: function(forceReload) {
+ if (this._curRequestBegin && this._curRequestEnd){
+- let callFlags = 0;
++ let callFlags = Gio.DBusCallFlags.NO_AUTO_START;
+ if (forceReload)
+- callFlags |= DBus.CALL_FLAG_START;
++ callFlags = Gio.DBusCallFlags.NONE;
+ this._dbusProxy.GetEventsRemote(this._curRequestBegin.getTime() / 1000,
+ this._curRequestEnd.getTime() / 1000,
+ forceReload,
+diff --git a/js/ui/cinnamonDBus.js b/js/ui/cinnamonDBus.js
+index 600e92f..5d4eb1c 100644
+--- a/js/ui/cinnamonDBus.js
++++ b/js/ui/cinnamonDBus.js
+@@ -1,7 +1,7 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
++const Gio = imports.gi.Gio;
+
+ const Config = imports.misc.config;
+ const Flashspot = imports.ui.flashspot;
+@@ -9,48 +9,53 @@ const Main = imports.ui.main;
+ const AppletManager = imports.ui.appletManager;
+ const DeskletManager = imports.ui.deskletManager;
+
+-const CinnamonIface = {
+- name: 'org.Cinnamon',
+- methods: [{ name: 'Eval',
+- inSignature: 's',
+- outSignature: 'bs'
+- },
+- { name: 'ScreenshotArea',
+- inSignature: 'biiiibs',
+- outSignature: ''
+- },
+- { name: 'ScreenshotWindow',
+- inSignature: 'bbbs',
+- outSignature: ''
+- },
+- { name: 'Screenshot',
+- inSignature: 'bbs',
+- outSignature: ''
+- },
+- {
+- name: 'FlashArea',
+- inSignature: 'iiii',
+- outSignature: ''
+- },
+- {
+- name: 'highlightApplet',
+- inSignature: 'sb',
+- outSignature: ''
+- },
+- {
+- name: 'activateCallback',
+- inSignature: 'ssb',
+- outSignature: ''
+- }
+- ],
+- signals: [],
+- properties: [{ name: 'OverviewActive',
+- signature: 'b',
+- access: 'readwrite' },
+- { name: 'CinnamonVersion',
+- signature: 's',
+- access: 'read' }]
+-};
++
++const CinnamonIface = <interface name="org.Cinnamon">
++<method name="Eval">
++ <arg type="s" direction="in" name="script" />
++ <arg type="b" direction="out" name="success" />
++ <arg type="s" direction="out" name="result" />
++</method>
++<method name="ScreenshotArea">
++include_cursor
++ <arg type="b" direction="in" name="include_cursor"/>
++ <arg type="i" direction="in" name="x"/>
++ <arg type="i" direction="in" name="y"/>
++ <arg type="i" direction="in" name="width"/>
++ <arg type="i" direction="in" name="height"/>
++ <arg type="b" direction="in" name="flash"/>
++ <arg type="s" direction="in" name="filename"/>
++</method>
++<method name="ScreenshotWindow">
++ <arg type="b" direction="in" name="include_frame"/>
++ <arg type="b" direction="in" name="include_cursor"/>
++ <arg type="b" direction="in" name="flash"/>
++ <arg type="s" direction="in" name="filename"/>
++</method>
++<method name="Screenshot">
++ <arg type="b" direction="in" name="include_frame"/>
++ <arg type="b" direction="in" name="flash"/>
++ <arg type="s" direction="in" name="filename"/>
++</method>
++<method name="FlashArea">
++include_cursor
++ <arg type="i" direction="in" name="x"/>
++ <arg type="i" direction="in" name="y"/>
++ <arg type="i" direction="in" name="width"/>
++ <arg type="i" direction="in" name="height"/>
++</method>
++<method name="highlightApplet">
++ <arg type="s" direction="in" />
++ <arg type="b" direction="in" />
++</method>
++<method name="activateCallback">
++ <arg type="s" direction="in" />
++ <arg type="s" direction="in" />
++ <arg type="b" direction="in" />
++</method>
++<property name="OverviewActive" type="b" access="readwrite" />
++<property name="CinnamonVersion" type="s" access="read" />
++</interface>;
+
+ function Cinnamon() {
+ this._init();
+@@ -58,7 +63,8 @@ function Cinnamon() {
+
+ Cinnamon.prototype = {
+ _init: function() {
+- DBus.session.exportObject('/org/Cinnamon', this);
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(CinnamonIface, this);
++ this._dbusImpl.export(Gio.DBus.session, '/org/Cinnamon');
+ },
+
+ /**
+@@ -215,5 +221,3 @@ Cinnamon.prototype = {
+ CinnamonVersion: Config.PACKAGE_VERSION
+ };
+
+-DBus.conformExport(Cinnamon.prototype, CinnamonIface);
+-
+diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
+index e909f5f..4f1f7d0 100644
+--- a/js/ui/endSessionDialog.js
++++ b/js/ui/endSessionDialog.js
+@@ -18,19 +18,19 @@
+ * 02110-1335, USA.
+ */
+
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
+ const Signals = imports.signals;
+
+ const AccountsService = imports.gi.AccountsService;
+ const Clutter = imports.gi.Clutter;
++const Gio = imports.gi.Gio;
+ const GLib = imports.gi.GLib;
+ const Gtk = imports.gi.Gtk;
+ const Pango = imports.gi.Pango;
+ const St = imports.gi.St;
+ const Cinnamon = imports.gi.Cinnamon;
+
+-const GnomeSession = imports.misc.gnomeSession
++const GnomeSession = imports.misc.gnomeSession;
+ const ModalDialog = imports.ui.modalDialog;
+ const Tweener = imports.ui.tweener;
+
+@@ -40,20 +40,20 @@ const _ITEM_ICON_SIZE = 48;
+ const _DIALOG_ICON_SIZE = 32;
+
+ const GSM_SESSION_MANAGER_LOGOUT_FORCE = 2;
+-
+-const EndSessionDialogIface = {
+- name: 'org.gnome.SessionManager.EndSessionDialog',
+- methods: [{ name: 'Open',
+- inSignature: 'uuuao',
+- outSignature: ''
+- }
+- ],
+- signals: [{ name: 'Canceled',
+- inSignature: '',
+- }],
+- properties: []
+-};
+-
++const EndSessionDialogIface = <interface name="org.gnome.SessionManager.EndSessionDialog">
++<method name="Open">
++ <arg type="u" direction="in" />
++ <arg type="u" direction="in" />
++ <arg type="u" direction="in" />
++ <arg type="ao" direction="in" />
++</method>
++<signal name="ConfirmedLogout" />
++<signal name="ConfirmedReboot" />
++<signal name="ConfirmedShutdown" />
++<signal name="Canceled" />
++<signal name="Closed" />
++</interface>;
++
+ const logoutDialogContent = {
+ subjectWithUser: _("Log Out %s"),
+ subject: _("Log Out"),
+@@ -230,8 +230,6 @@ function _setLabelText(label, text) {
+ function EndSessionDialog() {
+ if (_endSessionDialog == null) {
+ this._init();
+- DBus.session.exportObject('/org/gnome/SessionManager/EndSessionDialog',
+- this);
+ _endSessionDialog = this;
+ }
+
+@@ -328,6 +326,9 @@ EndSessionDialog.prototype = {
+ if (this._applicationList.get_children().length == 0)
+ scrollView.hide();
+ }));
++
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(EndSessionDialogIface, this);
++ this._dbusImpl.export(Gio.DBus.session, '/org/gnome/SessionManager/EndSessionDialog');
+ },
+
+ _onDestroy: function() {
+@@ -442,25 +443,19 @@ EndSessionDialog.prototype = {
+
+ close: function() {
+ ModalDialog.ModalDialog.prototype.close.call(this);
+- DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog',
+- 'org.gnome.SessionManager.EndSessionDialog',
+- 'Closed', '', []);
++ this._dbusImpl.emit_signal('Closed', null);
+ },
+
+ cancel: function() {
+ this._stopTimer();
+- DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog',
+- 'org.gnome.SessionManager.EndSessionDialog',
+- 'Canceled', '', []);
++ this._dbusImpl.emit_signal('Canceled', null);
+ this.close(global.get_current_time());
+ },
+
+ _confirm: function(signal) {
+ this._fadeOutDialog();
+ this._stopTimer();
+- DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog',
+- 'org.gnome.SessionManager.EndSessionDialog',
+- signal, '', []);
++ this._dbusImpl.emit_signal(signal, null);
+ },
+
+ _onOpened: function() {
+@@ -512,39 +507,41 @@ EndSessionDialog.prototype = {
+ this._updateContent();
+ },
+
+- OpenAsync: function(type, timestamp, totalSecondsToStayOpen, inhibitorObjectPaths, callback) {
++ OpenAsync: function(parameters, invocation) {
++ let [type, timestamp, totalSecondsToStayOpen, inhibitorObjectPaths] = parameters;
+ this._totalSecondsToStayOpen = totalSecondsToStayOpen;
+ this._inhibitors = [];
+ this._applicationList.destroy_children();
+ this._type = type;
+
+- if (!(this._type in DialogContent))
+- throw new DBus.DBusError('org.Cinnamon.ModalDialog.TypeError',
+- "Unknown dialog type requested");
++ if (!(this._type in DialogContent)) {
++ invocation.report_dbus_error('org.Cinnamon.ModalDialog.TypeError',
++ "Unknown dialog type requested");
++ return;
++ }
+
+ for (let i = 0; i < inhibitorObjectPaths.length; i++) {
+- let inhibitor = new GnomeSession.Inhibitor(inhibitorObjectPaths[i]);
++ let inhibitor = new GnomeSession.Inhibitor(inhibitorObjectPaths[i], Lang.bind(this, function(proxy, error) {
++ this._onInhibitorLoaded(proxy);
++ }));
+
+- inhibitor.connect('is-loaded',
+- Lang.bind(this, function() {
+- this._onInhibitorLoaded(inhibitor);
+- }));
+ this._inhibitors.push(inhibitor);
+ }
+
+ this._updateButtons();
+
+- if (!this.open(timestamp))
+- throw new DBus.DBusError('org.Cinnamon.ModalDialog.GrabError',
+- "Cannot grab pointer and keyboard");
++ if (!this.open(timestamp)) {
++ invocation.report_dbus_error('org.Cinnamon.ModalDialog.GrabError',
++ "Cannot grab pointer and keyboard");
++ return;
++ }
+
+ this._updateContent();
+
+ let signalId = this.connect('opened',
+ Lang.bind(this, function() {
+- callback();
++ invocation.return_value(null);
+ this.disconnect(signalId);
+ }));
+ }
+ };
+-DBus.conformExport(EndSessionDialog.prototype, EndSessionDialogIface);
+diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
+index f55cf93..69edb51 100644
+--- a/js/ui/keyboard.js
++++ b/js/ui/keyboard.js
+@@ -2,7 +2,6 @@
+
+ const Caribou = imports.gi.Caribou;
+ const Clutter = imports.gi.Clutter;
+-const DBus = imports.dbus;
+ const Gdk = imports.gi.Gdk;
+ const Gio = imports.gi.Gio;
+ const GLib = imports.gi.GLib;
+@@ -38,28 +37,27 @@ const PRETTY_KEYS = {
+ 'Alt_L': 'Alt'
+ };
+
+-const CaribouKeyboardIface = {
+- name: 'org.gnome.Caribou.Keyboard',
+- methods: [ { name: 'Show',
+- inSignature: 'u',
+- outSignature: ''
+- },
+- { name: 'Hide',
+- inSignature: 'u',
+- outSignature: ''
+- },
+- { name: 'SetCursorLocation',
+- inSignature: 'iiii',
+- outSignature: ''
+- },
+- { name: 'SetEntryLocation',
+- inSignature: 'iiii',
+- outSignature: ''
+- } ],
+- properties: [ { name: 'Name',
+- signature: 's',
+- access: 'read' } ]
+-};
++const CaribouKeyboardIface = <interface name='org.gnome.Caribou.Keyboard'>
++<method name='Show'>
++ <arg type='u' direction='in' />
++</method>
++<method name='Hide'>
++ <arg type='u' direction='in' />
++</method>
++<method name='SetCursorLocation'>
++ <arg type='i' direction='in' />
++ <arg type='i' direction='in' />
++ <arg type='i' direction='in' />
++ <arg type='i' direction='in' />
++</method>
++<method name='SetEntryLocation'>
++ <arg type='i' direction='in' />
++ <arg type='i' direction='in' />
++ <arg type='i' direction='in' />
++ <arg type='i' direction='in' />
++</method>
++<property name='Name' access='read' type='s' />
++</interface>;
+
+ function Key() {
+ this._init.apply(this, arguments);
+@@ -199,7 +197,8 @@ function Keyboard() {
+
+ Keyboard.prototype = {
+ _init: function () {
+- DBus.session.exportObject('/org/gnome/Caribou/Keyboard', this);
++ this._impl = Gio.DBusExportedObject.wrapJSObject(CaribouKeyboardIface, this);
++ this._impl.export(Gio.DBus.session, '/org/gnome/Caribou/Keyboard');
+
+ this.actor = null;
+
+@@ -541,7 +540,6 @@ Keyboard.prototype = {
+ return 'cinnamon';
+ }
+ };
+-DBus.conformExport(Keyboard.prototype, CaribouKeyboardIface);
+
+ function KeyboardSource() {
+ this._init.apply(this, arguments);
+diff --git a/js/ui/layout.js b/js/ui/layout.js
+index 3446e7a..7523b6f 100644
+--- a/js/ui/layout.js
++++ b/js/ui/layout.js
+@@ -488,12 +488,14 @@ Chrome.prototype = {
+
+ this._screenSaverActive = false;
+ this._screenSaverProxy = new ScreenSaver.ScreenSaverProxy();
+- this._screenSaverProxy.connect('ActiveChanged', Lang.bind(this, this._onScreenSaverActiveChanged));
+- this._screenSaverProxy.GetActiveRemote(Lang.bind(this,
+- function(result, err) {
+- if (!err)
+- this._onScreenSaverActiveChanged(this._screenSaverProxy, result);
+- }));
++ this._screenSaverProxy.connectSignal('ActiveChanged', Lang.bind(this, function(proxy, senderName, [isActive]) {
++ this._onScreenSaverActiveChanged(isActive);
++ }));
++ this._screenSaverProxy.GetActiveRemote(Lang.bind(this, function(result, err) {
++ if (!err)
++ this._onScreenSaverActiveChanged(result[0]);
++ }));
++
+
+ this._relayout();
+ },
+diff --git a/js/ui/magnifierDBus.js b/js/ui/magnifierDBus.js
+index 72bba26..4d21797 100644
+--- a/js/ui/magnifierDBus.js
++++ b/js/ui/magnifierDBus.js
+@@ -1,6 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
++const Gio = imports.gi.Gio;
+ const Main = imports.ui.main;
+
+ const MAG_SERVICE_NAME = 'org.gnome.Magnifier';
+@@ -10,47 +10,85 @@ const ZOOM_SERVICE_PATH = '/org/gnome/Magnifier/ZoomRegion';
+
+ // Subset of gnome-mag's Magnifier dbus interface -- to be expanded. See:
+ // http://git.gnome.org/browse/gnome-mag/tree/xml/...Magnifier.xml
+-const MagnifierIface = {
+- name: MAG_SERVICE_NAME,
+- methods: [
+- { name: 'setActive', inSignature: 'b', outSignature: '' },
+- { name: 'isActive', inSignature: '', outSignature: 'b' },
+- { name: 'showCursor', inSignature: '', outSignature: '' },
+- { name: 'hideCursor', inSignature: '', outSignature: '' },
+- { name: 'createZoomRegion', inSignature: 'ddaiai', outSignature: 'o' },
+- { name: 'addZoomRegion', inSignature: 'o', outSignature: 'b' },
+- { name: 'getZoomRegions', inSignature: '', outSignature: 'ao' },
+- { name: 'clearAllZoomRegions', inSignature: '', outSignature: '' },
+- { name: 'fullScreenCapable', inSignature: '', outSignature: 'b' },
+-
+- { name: 'setCrosswireSize', inSignature: 'i', outSignature: '' },
+- { name: 'getCrosswireSize', inSignature: '', outSignature: 'i' },
+- { name: 'setCrosswireLength', inSignature: 'i', outSignature: '' },
+- { name: 'getCrosswireLength', inSignature: '', outSignature: 'i' },
+- { name: 'setCrosswireClip', inSignature: 'b', outSignature: '' },
+- { name: 'getCrosswireClip', inSignature: '', outSignature: 'b' },
+- { name: 'setCrosswireColor', inSignature: 'u', outSignature: '' },
+- { name: 'getCrosswireColor', inSignature: '', outSignature: 'u' }
+- ],
+- signals: [],
+- properties: []
+-};
++const MagnifierIface = <interface name={MAG_SERVICE_NAME}>
++<method name="setActive">
++ <arg type="b" direction="in" />
++</method>
++<method name="isActive">
++ <arg type="b" direction="out" />
++</method>
++<method name="showCursor" />
++<method name="hideCursor" />
++<method name="createZoomRegion">
++ <arg type="d" direction="in" />
++ <arg type="d" direction="in" />
++ <arg type="ai" direction="in" />
++ <arg type="ai" direction="in" />
++ <arg type="o" direction="out" />
++</method>
++<method name="addZoomRegion">
++ <arg type="o" direction="in" />
++ <arg type="b" direction="out" />
++</method>
++<method name="getZoomRegions">
++ <arg type="ao" direction="out" />
++</method>
++<method name="clearAllZoomRegions" />
++<method name="fullScreenCapable">
++ <arg type="b" direction="out" />
++</method>
++<method name="setCrosswireSize">
++ <arg type="i" direction="in" />
++</method>
++<method name="getCrosswireSize">
++ <arg type="i" direction="out" />
++</method>
++<method name="setCrosswireLength">
++ <arg type="i" direction="in" />
++</method>
++<method name="getCrosswireLength">
++ <arg type="i" direction="out" />
++</method>
++<method name="setCrosswireClip">
++ <arg type="b" direction="in" />
++</method>
++<method name="getCrosswireClip">
++ <arg type="b" direction="out" />
++</method>
++<method name="setCrosswireColor">
++ <arg type="u" direction="in" />
++</method>
++<method name="getCrosswireColor">
++ <arg type="u" direction="out" />
++</method>
++</interface>;
+
+ // Subset of gnome-mag's ZoomRegion dbus interface -- to be expanded. See:
+ // http://git.gnome.org/browse/gnome-mag/tree/xml/...ZoomRegion.xml
+-const ZoomRegionIface = {
+- name: ZOOM_SERVICE_NAME,
+- methods: [
+- { name: 'setMagFactor', inSignature: 'dd', outSignature: ''},
+- { name: 'getMagFactor', inSignature: '', outSignature: 'dd' },
+- { name: 'setRoi', inSignature: 'ai', outSignature: '' },
+- { name: 'getRoi', inSignature: '', outSignature: 'ai' },
+- { name: 'shiftContentsTo', inSignature: 'ii', outSignature: 'b' },
+- { name: 'moveResize', inSignature: 'ai', outSignature: '' }
+- ],
+- signals: [],
+- properties: []
+-};
++const ZoomRegionIface = <interface name={ZOOM_SERVICE_NAME}>
++<method name="setMagFactor">
++ <arg type="d" direction="in" />
++ <arg type="d" direction="in" />
++</method>
++<method name="getMagFactor">
++ <arg type="d" direction="out" />
++ <arg type="d" direction="out" />
++</method>
++<method name="setRoi">
++ <arg type="ai" direction="in" />
++</method>
++<method name="getRoi">
++ <arg type="ai" direction="out" />
++</method>
++<method name="shiftContentsTo">
++ <arg type="i" direction="in" />
++ <arg type="i" direction="in" />
++ <arg type="b" direction="out" />
++</method>
++<method name="moveResize">
++ <arg type="ai" direction="in" />
++</method>
++</interface>;
+
+ // For making unique ZoomRegion DBus proxy object paths of the form:
+ // '/org/gnome/Magnifier/ZoomRegion/zoomer0',
+@@ -64,7 +102,9 @@ function CinnamonMagnifier() {
+ CinnamonMagnifier.prototype = {
+ _init: function() {
+ this._zoomers = {};
+- DBus.session.exportObject(MAG_SERVICE_PATH, this);
++
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(MagnifierIface, this);
++ this._dbusImpl.export(Gio.DBus.session, MAG_SERVICE_PATH);
+ },
+
+ /**
+@@ -195,10 +235,10 @@ CinnamonMagnifier.prototype = {
+ Main.magnifier.clearAllZoomRegions();
+ for (let objectPath in this._zoomers) {
+ let proxyAndZoomer = this._zoomers[objectPath];
++ proxyAndZoomer.proxy.destroy();
+ proxyAndZoomer.proxy = null;
+ proxyAndZoomer.zoomRegion = null;
+ delete this._zoomers[objectPath];
+- DBus.session.unexportObject(proxyAndZoomer);
+ }
+ this._zoomers = {};
+ },
+@@ -300,8 +340,9 @@ function CinnamonMagnifierZoomRegion(zoomerObjectPath, zoomRegion) {
+ CinnamonMagnifierZoomRegion.prototype = {
+ _init: function(zoomerObjectPath, zoomRegion) {
+ this._zoomRegion = zoomRegion;
+- DBus.session.proxifyObject(this, ZOOM_SERVICE_NAME, zoomerObjectPath);
+- DBus.session.exportObject(zoomerObjectPath, this);
++
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(ZoomRegionIface, this);
++ this._dbusImpl.export(Gio.DBus.session, zoomerObjectPath);
+ },
+
+ /**
+@@ -376,8 +417,9 @@ CinnamonMagnifierZoomRegion.prototype = {
+ moveResize: function(viewPort) {
+ let viewRect = { x: viewPort[0], y: viewPort[1], width: viewPort[2] - viewPort[0], height: viewPort[3] - viewPort[1] };
+ this._zoomRegion.setViewPort(viewRect);
++ },
++
++ destroy: function() {
++ this._dbusImpl.unexport();
+ }
+ };
+-
+-DBus.conformExport(CinnamonMagnifier.prototype, MagnifierIface);
+-DBus.conformExport(CinnamonMagnifierZoomRegion.prototype, ZoomRegionIface);
+diff --git a/js/ui/main.js b/js/ui/main.js
+index 99aee95..b602915 100644
+--- a/js/ui/main.js
++++ b/js/ui/main.js
+@@ -1,7 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+ const Clutter = imports.gi.Clutter;
+-const DBus= imports.dbus;
+ const Gio = imports.gi.Gio;
+ const GLib = imports.gi.GLib;
+ const Gtk = imports.gi.Gtk;
+@@ -199,11 +198,6 @@ function start() {
+
+ cinnamonDBusService = new CinnamonDBus.Cinnamon();
+ lookingGlassDBusService = new LookingGlassDBus.CinnamonLookingGlass();
+- // Force a connection now; dbus.js will do this internally
+- // if we use its name acquisition stuff but we aren't right
+- // now; to do so we'd need to convert from its async calls
+- // back into sync ones.
+- DBus.session.flush();
+
+ // Ensure CinnamonWindowTracker and CinnamonAppUsage are initialized; this will
+ // also initialize CinnamonAppSystem first. CinnamonAppSystem
+diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
+index 18d6615..8bed028 100644
+--- a/js/ui/messageTray.js
++++ b/js/ui/messageTray.js
+@@ -1388,12 +1388,17 @@ function MessageTray() {
+
+ MessageTray.prototype = {
+ _init: function() {
+- this._presence = new GnomeSession.Presence();
++ this._presence = new GnomeSession.Presence(Lang.bind(this, function(proxy, error) {
++ this._onStatusChanged(proxy.status);
++ }));
++
+ this._userStatus = GnomeSession.PresenceStatus.AVAILABLE;
+ this._busy = false;
+ this._backFromAway = false;
+- this._presence.connect('StatusChanged', Lang.bind(this, this._onStatusChanged));
+- this._presence.getStatus(Lang.bind(this, this._onStatusChanged));
++ this._presence.connectSignal('StatusChanged', Lang.bind(this, function(proxy, senderName, [status]) {
++ this._onStatusChanged(status);
++ }));
++
+
+ this._notificationBin = new St.Bin();
+ this._notificationBin.hide();
+@@ -1548,7 +1553,7 @@ MessageTray.prototype = {
+ this._updateState();
+ },
+
+- _onStatusChanged: function(presence, status) {
++ _onStatusChanged: function(status) {
+ this._backFromAway = (this._userStatus == GnomeSession.PresenceStatus.IDLE && this._userStatus != status);
+ this._userStatus = status;
+
+diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
+index bee8ffd..b037e07 100644
+--- a/js/ui/notificationDaemon.js
++++ b/js/ui/notificationDaemon.js
+@@ -1,7 +1,7 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+ const Clutter = imports.gi.Clutter;
+-const DBus = imports.dbus;
++const Gio = imports.gi.Gio;
+ const GLib = imports.gi.GLib;
+ const Lang = imports.lang;
+ const Cinnamon = imports.gi.Cinnamon;
+@@ -14,49 +14,52 @@ const Params = imports.misc.params;
+
+ let nextNotificationId = 1;
+
+-// Should really be defined in dbus.js
+-const BusIface = {
+- name: 'org.freedesktop.DBus',
+- methods: [{ name: 'GetConnectionUnixProcessID',
+- inSignature: 's',
+- outSignature: 'i' }]
+-};
+-
+-const Bus = function () {
+- this._init();
+-};
+-
+-Bus.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.freedesktop.DBus', '/org/freedesktop/DBus');
+- }
+-};
++// Should really be defined in Gio.js
++const BusIface = <interface name="org.freedesktop.DBus">
++<method name="GetConnectionUnixProcessID">
++ <arg type="s" direction="in" />
++ <arg type="u" direction="out" />
++</method>
++</interface>;
++
++var BusProxy = Gio.DBusProxy.makeProxyWrapper(BusIface);
++function Bus() {
++ return new BusProxy(Gio.DBus.session, 'org.freedesktop.DBus', '/org/freedesktop/DBus');
++}
+
+-DBus.proxifyPrototype(Bus.prototype, BusIface);
+-
+-const NotificationDaemonIface = {
+- name: 'org.freedesktop.Notifications',
+- methods: [{ name: 'Notify',
+- inSignature: 'susssasa{sv}i',
+- outSignature: 'u'
+- },
+- { name: 'CloseNotification',
+- inSignature: 'u',
+- outSignature: ''
+- },
+- { name: 'GetCapabilities',
+- inSignature: '',
+- outSignature: 'as'
+- },
+- { name: 'GetServerInformation',
+- inSignature: '',
+- outSignature: 'ssss'
+- }],
+- signals: [{ name: 'NotificationClosed',
+- inSignature: 'uu' },
+- { name: 'ActionInvoked',
+- inSignature: 'us' }]
+-};
++const NotificationDaemonIface = <interface name="org.freedesktop.Notifications">
++<method name="Notify">
++ <arg type="s" direction="in"/>
++ <arg type="u" direction="in"/>
++ <arg type="s" direction="in"/>
++ <arg type="s" direction="in"/>
++ <arg type="s" direction="in"/>
++ <arg type="as" direction="in"/>
++ <arg type="a{sv}" direction="in"/>
++ <arg type="i" direction="in"/>
++ <arg type="u" direction="out"/>
++</method>
++<method name="CloseNotification">
++ <arg type="u" direction="in"/>
++</method>
++<method name="GetCapabilities">
++ <arg type="as" direction="out"/>
++</method>
++<method name="GetServerInformation">
++ <arg type="s" direction="out"/>
++ <arg type="s" direction="out"/>
++ <arg type="s" direction="out"/>
++ <arg type="s" direction="out"/>
++</method>
++<signal name="NotificationClosed">
++ <arg type="u"/>
++ <arg type="u"/>
++</signal>
++<signal name="ActionInvoked">
++ <arg type="u"/>
++ <arg type="s"/>
++</signal>
++</interface>;
+
+ const NotificationClosedReason = {
+ EXPIRED: 1,
+@@ -88,7 +91,8 @@ function NotificationDaemon() {
+
+ NotificationDaemon.prototype = {
+ _init: function() {
+- DBus.session.exportObject('/org/freedesktop/Notifications', this);
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(NotificationDaemonIface, this);
++ this._dbusImpl.export(Gio.DBus.session, '/org/freedesktop/Notifications');
+
+ this._sources = [];
+ this._senderToPid = {};
+@@ -213,8 +217,8 @@ NotificationDaemon.prototype = {
+ return source;
+ },
+
+- Notify: function(appName, replacesId, icon, summary, body,
+- actions, hints, timeout) {
++ NotifyAsync: function(params, invocation) {
++ let [appName, replacesId, icon, summary, body, actions, hints, timeout] = params;
+ let id;
+
+ let rewrites = rewriteRules[appName];
+@@ -257,51 +261,55 @@ NotificationDaemon.prototype = {
+ }
+ this._notifications[id] = ndata;
+
+- let sender = DBus.getCurrentMessageContext().sender;
++ let sender = invocation.get_sender();
+ let pid = this._senderToPid[sender];
+
+ let source = this._getSource(appName, pid, ndata, sender, null);
+
+ if (source) {
+ this._notifyForSource(source, ndata);
+- return id;
++ return invocation.return_value(GLib.Variant.new('(u)', [id]));
+ }
+
+ if (replacesId) {
+ // There's already a pending call to GetConnectionUnixProcessID,
+ // which will see the new notification data when it finishes,
+ // so we don't have to do anything.
+- return id;
++ return invocation.return_value(GLib.Variant.new('(u)', [id]));
+ }
+
+- this._busProxy.GetConnectionUnixProcessIDRemote(sender, Lang.bind(this,
+- function (pid, ex) {
+- // The app may have updated or removed the notification
+- ndata = this._notifications[id];
+- if (!ndata)
+- return;
+-
+- source = this._getSource(appName, pid, ndata, sender, null);
+-
+- // We only store sender-pid entries for persistent sources.
+- // Removing the entries once the source is destroyed
+- // would result in the entries associated with transient
+- // sources removed once the notification is shown anyway.
+- // However, keeping these pairs would mean that we would
+- // possibly remove an entry associated with a persistent
+- // source when a transient source for the same sender is
+- // distroyed.
+- if (!source.isTransient) {
+- this._senderToPid[sender] = pid;
+- source.connect('destroy', Lang.bind(this,
+- function() {
+- delete this._senderToPid[sender];
+- }));
+- }
+- this._notifyForSource(source, ndata);
+- }));
++ this._busProxy.GetConnectionUnixProcessIDRemote(sender, Lang.bind(this, function (result, excp) {
++ // The app may have updated or removed the notification
++ ndata = this._notifications[id];
++ if (!ndata)
++ return;
+
+- return id;
++ if (excp) {
++ logError(excp, 'Call to GetConnectionUnixProcessID failed');
++ return;
++ }
++
++ let [pid] = result;
++ source = this._getSource(appName, pid, ndata, sender);
++
++ // We only store sender-pid entries for persistent sources.
++ // Removing the entries once the source is destroyed
++ // would result in the entries associated with transient
++ // sources removed once the notification is shown anyway.
++ // However, keeping these pairs would mean that we would
++ // possibly remove an entry associated with a persistent
++ // source when a transient source for the same sender is
++ // distroyed.
++ if (!source.isTransient) {
++ this._senderToPid[sender] = pid;
++ source.connect('destroy', Lang.bind(this, function() {
++ delete this._senderToPid[sender];
++ }));
++ }
++ this._notifyForSource(source, ndata);
++ }));
++
++ return invocation.return_value(GLib.Variant.new('(u)', [id]));
+ },
+
+ _notifyForSource: function(source, ndata) {
+@@ -441,17 +449,13 @@ NotificationDaemon.prototype = {
+ },
+
+ _emitNotificationClosed: function(id, reason) {
+- DBus.session.emit_signal('/org/freedesktop/Notifications',
+- 'org.freedesktop.Notifications',
+- 'NotificationClosed', 'uu',
+- [id, reason]);
++ this._dbusImpl.emit_signal('NotificationClosed',
++ GLib.Variant.new('(uu)', [id, reason]));
+ },
+
+ _emitActionInvoked: function(id, action) {
+- DBus.session.emit_signal('/org/freedesktop/Notifications',
+- 'org.freedesktop.Notifications',
+- 'ActionInvoked', 'us',
+- [id, action]);
++ this._dbusImpl.emit_signal('ActionInvoked',
++ GLib.Variant.new('(us)', [id, action]));
+ },
+
+ _onTrayIconAdded: function(o, icon) {
+@@ -465,8 +469,6 @@ NotificationDaemon.prototype = {
+ }
+ };
+
+-DBus.conformExport(NotificationDaemon.prototype, NotificationDaemonIface);
+-
+ function Source(title, pid, sender, trayIcon) {
+ this._init(title, pid, sender, trayIcon);
+ }
+@@ -481,15 +483,12 @@ Source.prototype = {
+
+ this.pid = pid;
+ if (sender)
+- // TODO: dbus-glib implementation of watch_name() doesn’t return an id to be used for
+- // unwatch_name() or implement unwatch_name(), however when we move to using GDBus implementation,
+- // we should save the id here and call unwatch_name() with it in destroy().
+- // Moving to GDBus is the work in progress: https://bugzilla.gnome.org/show_bug.cgi?id=648651
+- // and https://bugzilla.gnome.org/show_bug.cgi?id=622921 .
+- DBus.session.watch_name(sender,
+- false,
+- null,
+- Lang.bind(this, this._onNameVanished));
++ this._nameWatcherId = Gio.DBus.session.watch_name(sender,
++ Gio.BusNameWatcherFlags.NONE,
++ null,
++ Lang.bind(this, this._onNameVanished));
++ else
++ this._nameWatcherId = 0;
+
+ this._setApp();
+ if (this.app)
+@@ -596,6 +595,10 @@ Source.prototype = {
+ },
+
+ destroy: function() {
++ if (this._nameWatcherId) {
++ Gio.DBus.session.unwatch_name(this._nameWatcherId);
++ this._nameWatcherId = 0;
++ }
+ MessageTray.Source.prototype.destroy.call(this);
+ }
+ };
+diff --git a/js/ui/scripting.js b/js/ui/scripting.js
+index 42c4f6d..9163d29 100644
+--- a/js/ui/scripting.js
++++ b/js/ui/scripting.js
+@@ -1,6 +1,5 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
+ const Gio = imports.gi.Gio;
+ const Mainloop = imports.mainloop;
+ const Meta = imports.gi.Meta;
+@@ -70,24 +69,21 @@ function waitLeisure() {
+ };
+ }
+
+-const PerfHelperIface = {
+- name: 'org.Cinnamon.PerfHelper',
+- methods: [{ name: 'CreateWindow', inSignature: 'iibb', outSignature: '' },
+- { name: 'WaitWindows', inSignature: '', outSignature: '' },
+- { name: 'DestroyWindows', inSignature: '', outSignature: ''}]
+-};
+-
+-const PerfHelper = function () {
+- this._init();
+-};
+-
+-PerfHelper.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.Cinnamon.PerfHelper', '/org/Cinnamon/PerfHelper');
+- }
+-};
+-
+-DBus.proxifyPrototype(PerfHelper.prototype, PerfHelperIface);
++const PerfHelperIface = <interface name="org.gnome.Shell.PerfHelper">
++<method name="CreateWindow">
++ <arg type="i" direction="in" />
++ <arg type="i" direction="in" />
++ <arg type="b" direction="in" />
++ <arg type="b" direction="in" />
++</method>
++<method name="WaitWindows" />
++<method name="DestroyWindows" />
++</interface>;
++
++var PerfHelperProxy = Gio.DBusProxy.makeProxyWrapper(PerfHelperIface);
++function PerfHelper() {
++ return new PerfHelperProxy(Gio.DBus.session, 'org.gnome.Shell.PerfHelper', '/org/gnome/Shell/PerfHelper');
++}
+
+ let _perfHelper = null;
+ function _getPerfHelper() {
+--
+1.8.1.6
+
+
+From 135d2228bbf6d3b1be5f90e0e599cd3880e06d93 Mon Sep 17 00:00:00 2001
+From: dalcde <dalcde@yahoo.com.hk>
+Date: Tue, 16 Apr 2013 16:58:30 +0800
+Subject: [PATCH 07/16] [GDBus][Sound/Power Applet] Fix dbus port issues
+
+---
+ files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+index b6b2bcd..fad39ab 100644
+--- a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+@@ -212,7 +212,7 @@ MyApplet.prototype = {
+ this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
+ this.menu.addSettingsAction(_("Power Settings"), 'power');
+
+- this._smProxy.connect('PropertiesChanged', Lang.bind(this, this._devicesChanged));
++ this._smProxy.connectSignal('PropertiesChanged', Lang.bind(this, this._devicesChanged));
+ this._devicesChanged();
+ }
+ catch (e) {
+--
+1.8.1.6
+
+
+From 5880ce34538ec2791b5e58cc3ffc07e41c189c82 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Fri, 19 Apr 2013 19:09:18 -0400
+Subject: [PATCH 08/16] Fix gicon error - power applet
+
+---
+ files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+index fad39ab..3a13eab 100644
+--- a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+@@ -323,7 +323,7 @@ MyApplet.prototype = {
+ let icon = this._proxy.Icon;
+ if (icon) {
+ let gicon = Gio.icon_new_for_string(icon);
+- this.setGIcon(gicon);
++ this._applet_icon.gicon = gicon
+ this.actor.show();
+ } else {
+ this.menu.close();
+--
+1.8.1.6
+
+
+From 647bd58c93541acdba11cd11d586d2cb08a0a4eb Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Fri, 19 Apr 2013 19:44:33 -0400
+Subject: [PATCH 09/16] Remove unused
+
+---
+ src/cinnamon-background-manager.c | 34 ----------------------------------
+ 1 file changed, 34 deletions(-)
+
+diff --git a/src/cinnamon-background-manager.c b/src/cinnamon-background-manager.c
+index 9d95250..67427ed 100644
+--- a/src/cinnamon-background-manager.c
++++ b/src/cinnamon-background-manager.c
+@@ -66,8 +66,6 @@ struct CinnamonBackgroundManagerPrivate
+
+ G_DEFINE_TYPE (CinnamonBackgroundManager, cinnamon_background_manager, G_TYPE_OBJECT)
+
+-static gpointer manager_object = NULL;
+-
+ static gboolean
+ dont_draw_background (CinnamonBackgroundManager *manager)
+ {
+@@ -223,36 +221,6 @@ struct CinnamonBackgroundManagerPrivate
+ }
+
+ static void
+-draw_background_after_session_loads (CinnamonBackgroundManager *manager)
+-{
+- GError *error = NULL;
+- GDBusProxyFlags flags;
+-
+- flags = G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES |
+- G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START;
+- manager->priv->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
+- flags,
+- NULL, /* GDBusInterfaceInfo */
+- "org.gnome.SessionManager",
+- "/org/gnome/SessionManager",
+- "org.gnome.SessionManager",
+- NULL, /* GCancellable */
+- &error);
+- if (manager->priv->proxy == NULL) {
+- g_warning ("Could not listen to session manager: %s",
+- error->message);
+- g_error_free (error);
+- return;
+- }
+-
+- manager->priv->proxy_signal_id = g_signal_connect (manager->priv->proxy,
+- "g-signal",
+- G_CALLBACK (on_session_manager_signal),
+- manager);
+-}
+-
+-
+-static void
+ disconnect_screen_signals (CinnamonBackgroundManager *manager)
+ {
+ GdkDisplay *display;
+@@ -312,8 +280,6 @@ struct CinnamonBackgroundManagerPrivate
+ G_CALLBACK (draw_background_changed), manager);
+
+ setup_bg_and_draw_background (manager);
+- //draw_background_after_session_loads (manager);
+-
+
+ return TRUE;
+ }
+--
+1.8.1.6
+
+
+From 7a8233638187d00798cf3a4b66a27d707eaec804 Mon Sep 17 00:00:00 2001
+From: dalcde <dalcde@yahoo.com.hk>
+Date: Sat, 20 Apr 2013 15:42:13 +0800
+Subject: [PATCH 10/16] [GDBus][Power applet] Some fixes and cleanup
+
+---
+ .../cinnamon/applets/power@cinnamon.org/applet.js | 52 ++++++----------------
+ 1 file changed, 14 insertions(+), 38 deletions(-)
+
+diff --git a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+index 3a13eab..5f81d91 100644
+--- a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+@@ -48,40 +48,11 @@ const PowerManagerInterface = <interface name="org.gnome.SettingsDaemon.Power">
+ <method name="GetPrimaryDevice">
+ <arg type="(susdut)" direction="out"/>
+ </method>
+-<signal name="PropertiesChanged">
+- <arg type="s"/>
+- <arg type="a{sv}"/>
+- <arg type="a[s]"/>
+-</signal>
+ <property name="Icon" type="s" access="read" />
+ </interface>;
+
+ const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(PowerManagerInterface);
+
+-const SettingsManagerInterface = <interface name="org.freedesktop.DBus.Properties">
+-<method name="Get">
+- <arg type="s" direction="in"/>
+- <arg type="s" direction="in"/>
+- <arg type="v" direction="out"/>
+-</method>
+-<method name="GetAll">
+- <arg type="s" direction="in"/>
+- <arg type="a{sv}" direction="out"/>
+-</method>
+-<method name="Set">
+- <arg type="s" direction="in"/>
+- <arg type="s" direction="in"/>
+- <arg type="v" direction="in"/>
+-</method>
+-<signal name="PropertiesChanged">
+- <arg type="s"/>
+- <arg type="a{sv}"/>
+- <arg type="a[s]"/>
+-</signal>
+-</interface>;
+-
+-const SettingsManagerProxy = Gio.DBusProxy.makeProxyWrapper(SettingsManagerInterface);
+-
+ function DeviceItem() {
+ this._init.apply(this, arguments);
+ }
+@@ -156,8 +127,16 @@ MyApplet.prototype = {
+ this.menuManager.addMenu(this.menu);
+
+ //this.set_applet_icon_symbolic_name('battery-missing');
+- this._proxy = new PowerManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH);
+- this._smProxy = new SettingsManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH);
++ this._proxy = new PowerManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH,
++ Lang.bind(this, function(proxy, error) {
++ if (error) {
++ global.log(error.message);
++
++ return;
++ }
++ this._proxy.connect('g-properties-changed', Lang.bind(this, this._devicesChanged));
++ this._devicesChanged();
++ }));
+
+ let icon = this.actor.get_children()[0];
+ this.actor.remove_actor(icon);
+@@ -211,9 +190,6 @@ MyApplet.prototype = {
+
+ this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
+ this.menu.addSettingsAction(_("Power Settings"), 'power');
+-
+- this._smProxy.connectSignal('PropertiesChanged', Lang.bind(this, this._devicesChanged));
+- this._devicesChanged();
+ }
+ catch (e) {
+ global.logError(e);
+@@ -245,14 +221,14 @@ MyApplet.prototype = {
+ },
+
+ _readPrimaryDevice: function() {
+- this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(device, error) {
++ this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) {
+ if (error) {
+ this._hasPrimary = false;
+ this._primaryDeviceId = null;
+ this._batteryItem.actor.hide();
+ return;
+ }
+- let [device_id, device_type, icon, percentage, state, seconds] = device;
++ let [[device_id, device_type, icon, percentage, state, seconds]] = result;
+ if (device_type == UPDeviceType.BATTERY) {
+ this._hasPrimary = true;
+ let time = Math.round(seconds / 60);
+@@ -290,7 +266,7 @@ MyApplet.prototype = {
+ },
+
+ _readOtherDevices: function() {
+- this._proxy.GetDevicesRemote(Lang.bind(this, function(devices, error) {
++ this._proxy.GetDevicesRemote(Lang.bind(this, function([devices], error) {
+ this._deviceItems.forEach(function(i) { i.destroy(); });
+ this._deviceItems = [];
+
+@@ -336,7 +312,7 @@ MyApplet.prototype = {
+ },
+
+ _updateLabel: function() {
+- this._proxy.GetDevicesRemote(Lang.bind(this, function(devices, error) {
++ this._proxy.GetDevicesRemote(Lang.bind(this, function([devices], error) {
+ if (error) {
+ this._mainLabel.set_text("");
+ return;
+--
+1.8.1.6
+
+
+From 1a74c4a4d010a6ddcd2350b1ea298710bc1c08b1 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Sat, 20 Apr 2013 10:59:54 -0400
+Subject: [PATCH 11/16] Move CLUTTER_DISABLE_XINPUT to session startup file
+
+---
+ files/usr/bin/gnome-session-cinnamon | 2 +-
+ src/main.c | 3 ---
+ 2 files changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/files/usr/bin/gnome-session-cinnamon b/files/usr/bin/gnome-session-cinnamon
+index 315f135..56c37f5 100755
+--- a/files/usr/bin/gnome-session-cinnamon
++++ b/files/usr/bin/gnome-session-cinnamon
+@@ -1,3 +1,3 @@
+ #! /bin/sh
+-exec gnome-session --session cinnamon "$@"
++exec CLUTTER_DISABLE_XINPUT=1 gnome-session --session cinnamon "$@"
+
+diff --git a/src/main.c b/src/main.c
+index 9d37975..418fb60 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -257,9 +257,6 @@
+
+ g_option_context_free (ctx);
+
+- /* Disable XInput extension - required for 3.8 compatibility */
+- g_setenv ("CLUTTER_DISABLE_XINPUT", "1", TRUE);
+-
+ meta_plugin_type_register (gnome_cinnamon_plugin_get_type ());
+
+ /* Prevent meta_init() from causing gtk to load gail and at-bridge */
+--
+1.8.1.6
+
+
+From dfa107fd874866da2f634c65a90e2c13a447464c Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Sat, 20 Apr 2013 12:23:29 -0400
+Subject: [PATCH 12/16] Add Xinput disable to cinnamon2d
+
+---
+ files/usr/bin/cinnamon2d | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/files/usr/bin/cinnamon2d b/files/usr/bin/cinnamon2d
+index 1eced99..7f42517 100755
+--- a/files/usr/bin/cinnamon2d
++++ b/files/usr/bin/cinnamon2d
+@@ -1,2 +1,2 @@
+ #!/bin/bash
+-CLUTTER_PAINT=disable-clipped-redraws:disable-culling LIBGL_ALWAYS_SOFTWARE=1 CINNAMON_SOFTWARE_RENDERING=1 CINNAMON_SLOWDOWN_FACTOR=0.0001 MUFFIN_NO_SHADOWS=1 CLUTTER_DEFAULT_FPS=15 cinnamon $@
++CLUTTER_DISABLE_XINPUT=1 CLUTTER_PAINT=disable-clipped-redraws:disable-culling LIBGL_ALWAYS_SOFTWARE=1 CINNAMON_SOFTWARE_RENDERING=1 CINNAMON_SLOWDOWN_FACTOR=0.0001 MUFFIN_NO_SHADOWS=1 CLUTTER_DEFAULT_FPS=15 cinnamon $@
+--
+1.8.1.6
+
+
+From 28b39b2372a571ddcc1298f34f2d7e653f6b2e96 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Sat, 20 Apr 2013 12:29:43 -0400
+Subject: [PATCH 13/16] Fix session file
+
+---
+ files/usr/bin/gnome-session-cinnamon | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/files/usr/bin/gnome-session-cinnamon b/files/usr/bin/gnome-session-cinnamon
+index 56c37f5..31c9eff 100755
+--- a/files/usr/bin/gnome-session-cinnamon
++++ b/files/usr/bin/gnome-session-cinnamon
+@@ -1,3 +1,3 @@
+ #! /bin/sh
+-exec CLUTTER_DISABLE_XINPUT=1 gnome-session --session cinnamon "$@"
++CLUTTER_DISABLE_XINPUT=1 exec gnome-session --session cinnamon "$@"
+
+--
+1.8.1.6
+
+
+From aba3a7666d3679e5803862af07edc47e7b093b11 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Sat, 20 Apr 2013 12:36:45 -0400
+Subject: [PATCH 14/16] Add cinnamon3d command
+
+---
+ files/usr/bin/cinnamon3d | 2 ++
+ 1 file changed, 2 insertions(+)
+ create mode 100644 files/usr/bin/cinnamon3d
+
+diff --git a/files/usr/bin/cinnamon3d b/files/usr/bin/cinnamon3d
+new file mode 100644
+index 0000000..4891783
+--- /dev/null
++++ b/files/usr/bin/cinnamon3d
+@@ -0,0 +1,2 @@
++#!/bin/bash
++CLUTTER_DISABLE_XINPUT=1 cinnamon $@
+--
+1.8.1.6
+
+
+From 3e1cdf6d88ade9abe5a0b8773b565d345c01f2cb Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Sat, 20 Apr 2013 12:37:26 -0400
+Subject: [PATCH 15/16] Fix perms
+
+---
+ files/usr/bin/cinnamon3d | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ mode change 100644 => 100755 files/usr/bin/cinnamon3d
+
+diff --git a/files/usr/bin/cinnamon3d b/files/usr/bin/cinnamon3d
+old mode 100644
+new mode 100755
+--
+1.8.1.6
+
+
+From 7904eaf179918f4f97b328f2b5f340776544ca49 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Mon, 22 Apr 2013 18:27:39 -0400
+Subject: [PATCH 16/16] Sledgehammer merge of:
+
+f251f0b77d01cb9a80212b1dce2538c60a5bf59e
+
+Don't ask...
+---
+ .../share/cinnamon/applets/sound@cinnamon.org/applet.js | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+index c8427ac..a7b2e09 100644
+--- a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+@@ -53,8 +53,8 @@ const MediaServer2PlayerIFace = <interface name="org.mpris.MediaPlayer2.Player">
+
+ /* global values */
+ let icon_path = "/usr/share/cinnamon/theme/";
+-let compatible_players = [ "clementine", "mpd", "exaile", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "guayadeque", "amarok", "googlemusicframe", "xbmc", "noise", "xnoise", "gmusicbrowser", "spotify", "audacious", "vlc", "beatbox", "songbird", "pithos", "gnome-mplayer", "nuvolaplayer" ];
+-let support_seek = [ "clementine", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "amarok", "noise", "xnoise", "gmusicbrowser", "spotify", "vlc", "beatbox", "gnome-mplayer" ];
++let compatible_players = [ "clementine", "mpd", "exaile", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "guayadeque", "amarok", "googlemusicframe", "xbmc", "noise", "xnoise", "gmusicbrowser", "spotify", "audacious", "vlc", "beatbox", "songbird", "pithos", "gnome-mplayer", "nuvolaplayer", "qmmp"];
++let support_seek = [ "clementine", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "amarok", "noise", "xnoise", "gmusicbrowser", "spotify", "vlc", "beatbox", "gnome-mplayer", "qmmp" ];
+ /* dummy vars for translation */
+ let x = _("Playing");
+ x = _("Paused");
+
+@@ -377,7 +384,8 @@ Player.prototype = {
+ cover.read_async(null, null, Lang.bind(this, this._onReadCover));
+ }
+ else {
+- cover_path = decodeURIComponent(this._trackCoverFile.substr(7));
++ cover_path = decodeURIComponent(this._trackCoverFile);
++ cover_path = cover_path.replace("file://", "");
+ this._showCover(cover_path);
+ }
+ }
+--
+1.8.1.6
+
+From 1f209cec0fa0e9d12b3c29884302f4b8e70ff4c9 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Thu, 9 May 2013 11:48:08 -0400
+Subject: [PATCH] Fix notifications and other stuff
+
+---
+ .../cinnamon/applets/sound@cinnamon.org/applet.js | 2 +-
+ js/ui/notificationDaemon.js | 7 +-
+ src/main.c | 169 ++++++++++++---------
+ 3 files changed, 103 insertions(+), 75 deletions(-)
+
+diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
+index b037e07..58b2df3 100644
+--- a/js/ui/notificationDaemon.js
++++ b/js/ui/notificationDaemon.js
+@@ -220,7 +220,12 @@ NotificationDaemon.prototype = {
+ NotifyAsync: function(params, invocation) {
+ let [appName, replacesId, icon, summary, body, actions, hints, timeout] = params;
+ let id;
+-
++
++ for (let hint in hints) {
++ // unpack the variants
++ hints[hint] = hints[hint].deep_unpack();
++ }
++
+ let rewrites = rewriteRules[appName];
+ if (rewrites) {
+ for (let i = 0; i < rewrites.length; i++) {
+diff --git a/src/main.c b/src/main.c
+index 418fb60..773fb65 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -34,99 +34,122 @@
+ #define OVERRIDES_SCHEMA "org.cinnamon.overrides"
+
+ static void
++cinnamon_dbus_acquire_name (GDBusProxy *bus,
++ guint32 request_name_flags,
++ guint32 *request_name_result,
++ gchar *name,
++ gboolean fatal)
++{
++ GError *error = NULL;
++ GVariant *request_name_variant;
++
++ if (!(request_name_variant = g_dbus_proxy_call_sync (bus,
++ "RequestName",
++ g_variant_new ("(su)", name, request_name_flags),
++ 0, /* call flags */
++ -1, /* timeout */
++ NULL, /* cancellable */
++ &error)))
++ {
++ g_printerr ("failed to acquire %s: %s\n", name, error->message);
++ if (!fatal)
++ return;
++ exit (1);
++ }
++ g_variant_get (request_name_variant, "(u)", request_name_result);
++}
++
++static void
++cinnamon_dbus_acquire_names (GDBusProxy *bus,
++ guint32 request_name_flags,
++ gchar *name,
++ gboolean fatal, ...) G_GNUC_NULL_TERMINATED;
++
++static void
++cinnamon_dbus_acquire_names (GDBusProxy *bus,
++ guint32 request_name_flags,
++ gchar *name,
++ gboolean fatal, ...)
++{
++ va_list al;
++ guint32 request_name_result;
++ va_start (al, fatal);
++ for (;;)
++ {
++ cinnamon_dbus_acquire_name (bus,
++ request_name_flags,
++ &request_name_result,
++ name, fatal);
++ name = va_arg (al, gchar *);
++ if (!name)
++ break;
++ fatal = va_arg (al, gboolean);
++ }
++ va_end (al);
++}
++
++static void
+ cinnamon_dbus_init (gboolean replace)
+ {
++ GDBusConnection *session;
++ GDBusProxy *bus;
+ GError *error = NULL;
+- DBusGConnection *session;
+- DBusGProxy *bus;
+ guint32 request_name_flags;
+ guint32 request_name_result;
+
+- /** TODO:
+- * In the future we should use GDBus for this. However, in
+- * order to do that, we need to port all of the JavaScript
+- * code. Otherwise, the name will be claimed on the wrong
+- * connection.
+- */
+- session = dbus_g_bus_get (DBUS_BUS_SESSION, NULL);
++ session = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+
+- bus = dbus_g_proxy_new_for_name (session,
+- DBUS_SERVICE_DBUS,
+- DBUS_PATH_DBUS,
+- DBUS_INTERFACE_DBUS);
++ if (error) {
++ g_printerr ("Failed to connect to session bus: %s", error->message);
++ exit (1);
++ }
+
+- request_name_flags = DBUS_NAME_FLAG_DO_NOT_QUEUE | DBUS_NAME_FLAG_ALLOW_REPLACEMENT;
++ bus = g_dbus_proxy_new_sync (session,
++ G_DBUS_PROXY_FLAGS_NONE,
++ NULL, /* interface info */
++ "org.freedesktop.DBus",
++ "/org/freedesktop/DBus",
++ "org.freedesktop.DBus",
++ NULL, /* cancellable */
++ &error);
++
++ request_name_flags = G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT;
+ if (replace)
+ request_name_flags |= DBUS_NAME_FLAG_REPLACE_EXISTING;
+- if (!dbus_g_proxy_call (bus, "RequestName", &error,
+- G_TYPE_STRING, CINNAMON_DBUS_SERVICE,
+- G_TYPE_UINT, request_name_flags,
+- G_TYPE_INVALID,
+- G_TYPE_UINT, &request_name_result,
+- G_TYPE_INVALID))
+- {
+- g_printerr ("failed to acquire org.Cinnamon: %s\n", error->message);
+- exit (1);
+- }
++
++ cinnamon_dbus_acquire_name (bus,
++ request_name_flags,
++ &request_name_result,
++ CINNAMON_DBUS_SERVICE, TRUE);
+ if (!(request_name_result == DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER
+ || request_name_result == DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER))
+ {
+- g_printerr ("%s already exists on bus and --replace not specified\n",
+- CINNAMON_DBUS_SERVICE);
++ g_printerr (CINNAMON_DBUS_SERVICE " already exists on bus and --replace not specified\n");
+ exit (1);
+ }
+
+- /* Also grab org.gnome.Panel to replace any existing panel process */
+- if (!dbus_g_proxy_call (bus, "RequestName", &error, G_TYPE_STRING,
+- "org.gnome.Panel", G_TYPE_UINT,
+- DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
+- G_TYPE_INVALID, G_TYPE_UINT,
+- &request_name_result, G_TYPE_INVALID))
+- {
+- g_print ("failed to acquire org.gnome.Panel: %s\n", error->message);
+- exit (1);
+- }
+-
+- /* ...and the org.gnome.Magnifier service.
+- */
+- if (!dbus_g_proxy_call (bus, "RequestName", &error,
+- G_TYPE_STRING, MAGNIFIER_DBUS_SERVICE,
+- G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
+- G_TYPE_INVALID,
+- G_TYPE_UINT, &request_name_result,
+- G_TYPE_INVALID))
+- {
+- g_print ("failed to acquire %s: %s\n", MAGNIFIER_DBUS_SERVICE, error->message);
+- /* Failing to acquire the magnifer service is not fatal. Log the error,
+- * but keep going. */
+- }
+-
+- /* ...and the org.freedesktop.Notifications service; we always
+- * specify REPLACE_EXISTING to ensure we kill off
+- * notification-daemon if it was running.
++ /*
++ * We always specify REPLACE_EXISTING to ensure we kill off
++ * the existing service if it was running.
+ */
+- if (!dbus_g_proxy_call (bus, "RequestName", &error,
+- G_TYPE_STRING, "org.freedesktop.Notifications",
+- G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
+- G_TYPE_INVALID,
+- G_TYPE_UINT, &request_name_result,
+- G_TYPE_INVALID))
+- {
+- g_print ("failed to acquire org.freedesktop.Notifications: %s\n", error->message);
+- }
++ request_name_flags |= G_BUS_NAME_OWNER_FLAGS_REPLACE;
+
++ cinnamon_dbus_acquire_names (bus,
++ request_name_flags,
++ /* Also grab org.gnome.Panel to replace any existing panel process */
++ "org.gnome.Panel", TRUE,
++ /* ...and the org.gnome.Magnifier service. */
++ MAGNIFIER_DBUS_SERVICE, FALSE,
++ /* ...and the org.freedesktop.Notifications service. */
++ "org.freedesktop.Notifications", FALSE,
++ NULL);
+ /* ...and the on-screen keyboard service */
+- if (!dbus_g_proxy_call (bus, "RequestName", &error,
+- G_TYPE_STRING, "org.gnome.Caribou.Keyboard",
+- G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING,
+- G_TYPE_INVALID,
+- G_TYPE_UINT, &request_name_result,
+- G_TYPE_INVALID))
+- {
+- g_print ("failed to acquire org.gnome.Caribou.Keyboard: %s\n", error->message);
+- }
+-
++ cinnamon_dbus_acquire_name (bus,
++ DBUS_NAME_FLAG_REPLACE_EXISTING,
++ &request_name_result,
++ "org.gnome.Caribou.Keyboard", FALSE);
+ g_object_unref (bus);
++ g_object_unref (session);
+ }
+
+ static void
+--
+1.8.1.6
+
+--- a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+@@ -801,7 +801,7 @@
+ this._players = {};
+ // watch players
+ for (var p=0; p<compatible_players.length; p++) {
+- DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], false,
++ Gio.DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], Gio.BusNameWatcherFlags.NONE,
+ Lang.bind(this, this._addPlayer),
+ Lang.bind(this, this._removePlayer)
+ );
+--
+1.8.1.6 \ No newline at end of file
diff --git a/community/cinnamon/idle-dim.patch b/community/cinnamon/idle-dim.patch
new file mode 100644
index 000000000..17f5af616
--- /dev/null
+++ b/community/cinnamon/idle-dim.patch
@@ -0,0 +1,35 @@
+diff -Naur linuxmint-Cinnamon-a464dc9.orig/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js linuxmint-Cinnamon-a464dc9/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js
+--- linuxmint-Cinnamon-a464dc9.orig/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js 2013-04-30 18:01:56.000000000 +0200
++++ linuxmint-Cinnamon-a464dc9/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js 2013-05-02 19:32:12.934254811 +0200
+@@ -9,8 +9,7 @@
+
+ /* constants */
+ const DimSettingsSchema = "org.gnome.settings-daemon.plugins.power";
+-const DimSettingsAc = "idle-dim-ac";
+-const DimSettingsBattery = "idle-dim-battery";
++const DimSettings = "idle-dim";
+ const PowerBusName = 'org.gnome.SettingsDaemon';
+ const PowerObjectPath = '/org/gnome/SettingsDaemon/Power';
+
+@@ -116,10 +115,8 @@
+
+ this._settingsMenu = new PopupMenu.PopupSubMenuMenuItem(_("Dimming settings"));
+
+- let dimSwitchAc = this._buildItem(_("Dim screen on AC power"), DimSettingsSchema, DimSettingsAc);
+- this._settingsMenu.menu.addMenuItem(dimSwitchAc);
+- let dimSwitchBattery = this._buildItem(_("Dim screen on battery"), DimSettingsSchema, DimSettingsBattery);
+- this._settingsMenu.menu.addMenuItem(dimSwitchBattery);
++ let dimSwitch = this._buildItem(_("Dim screen"), DimSettingsSchema, DimSettings);
++ this._settingsMenu.menu.addMenuItem(dimSwitch);
+
+ //initial update.
+ //We have to wait until dbus calls back to decide whether to display brightness controls.
+@@ -145,7 +142,7 @@
+ this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
+ }
+
+- this.menu.addSettingsAction(_("Settings"), "screen");
++ this.menu.addSettingsAction(_("Settings"), "screensaver");
+ }));
+ }
+ catch (e) {
diff --git a/community/cinnamon/keyboard_applet.patch b/community/cinnamon/keyboard_applet.patch
new file mode 100644
index 000000000..6b3694086
--- /dev/null
+++ b/community/cinnamon/keyboard_applet.patch
@@ -0,0 +1,142 @@
+diff --git a/applet.js b/applet.js
+--- a/files/usr/share/cinnamon/applets/keyboard@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/keyboard@cinnamon.org/applet.js
+@@ -1,9 +1,10 @@
+ const Applet = imports.ui.applet;
+-const Gkbd = imports.gi.Gkbd;
+ const Lang = imports.lang;
+-const Cinnamon = imports.gi.Cinnamon;
++const Gio = imports.gi.Gio;
++const GLib = imports.gi.GLib;
+ const St = imports.gi.St;
+ const Gtk = imports.gi.Gtk;
++const GnomeDesktop = imports.gi.GnomeDesktop;
+ const Main = imports.ui.main;
+ const PopupMenu = imports.ui.popupMenu;
+ const Util = imports.misc.util;
+@@ -15,11 +16,12 @@
+ LayoutMenuItem.prototype = {
+ __proto__: PopupMenu.PopupBaseMenuItem.prototype,
+
+- _init: function(config, id, indicator, long_name) {
++ _init: function(ipsettings, id, index, indicator, long_name) {
+ PopupMenu.PopupBaseMenuItem.prototype._init.call(this);
+
+- this._config = config;
++ this._ipsettings = ipsettings;
+ this._id = id;
++ this._index = index;
+ this.label = new St.Label({ text: long_name });
+ this.indicator = indicator;
+ this.addActor(this.label);
+@@ -28,7 +30,7 @@
+
+ activate: function(event) {
+ PopupMenu.PopupBaseMenuItem.prototype.activate.call(this);
+- this._config.lock_group(this._id);
++ this._ipsettings.set_value('current', GLib.Variant.new_uint32(this._index));
+ }
+ };
+
+@@ -54,18 +56,18 @@
+ this._layoutItems = [ ];
+
+ this._showFlags = global.settings.get_boolean("keyboard-applet-use-flags");
+- this._config = Gkbd.Configuration.get();
+- this._config.connect('changed', Lang.bind(this, this._syncConfig));
+- this._config.connect('group-changed', Lang.bind(this, this._syncGroup));
++ this._xkbInfo = new GnomeDesktop.XkbInfo();
++ this._ipsettings = new Gio.Settings({ schema: 'org.gnome.desktop.input-sources' });
++ this._ipsettings.connect('changed::sources', Lang.bind(this, this._syncConfig));
++ this._ipsettings.connect('changed::current', Lang.bind(this, this._syncGroup));
+ global.settings.connect('changed::keyboard-applet-use-flags', Lang.bind(this, this._reload_settings));
+- this._config.start_listen();
+
+ this._syncConfig();
+
+ this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
+ this.menu.addAction(_("Show Keyboard Layout"), Lang.bind(this, function() {
+ Main.overview.hide();
+- Util.spawn(['gkbd-keyboard-display', '-g', String(this._config.get_current_group() + 1)]);
++ Util.spawn(['gkbd-keyboard-display', '-l', this._selectedLayout._id]);
+ }));
+ this.menu.addAction(_("Show Character Table"), Lang.bind(this, function() {
+ Main.overview.hide();
+@@ -98,7 +100,6 @@
+ },
+
+ _reload_settings: function() {
+- this._showFlags = global.settings.get_boolean("keyboard-applet-use-flags");
+ this._syncConfig();
+ },
+
+@@ -127,8 +128,8 @@
+ _syncConfig: function() {
+ this._showFlags = global.settings.get_boolean("keyboard-applet-use-flags");
+
+- let groups = this._config.get_group_names();
+- if (groups.length > 1) {
++ let sources = this._ipsettings.get_value('sources');
++ if (sources.n_children() > 1) {
+ this.actor.show();
+ } else {
+ this.menu.close();
+@@ -141,25 +142,29 @@
+ for (let i = 0; i < this._labelActors.length; i++)
+ this._labelActors[i].destroy();
+
+- let short_names = this._adjustGroupNames(this._config.get_short_group_names());
+-
+ this._selectedLayout = null;
+ this._layoutItems = [ ];
+ this._labelActors = [ ];
+- for (let i = 0; i < groups.length; i++) {
+- let icon_name = this._config.get_group_name(i);
++ for (let i = 0; i < sources.n_children(); i++) {
++ let [type, id] = sources.get_child_value(i).deep_unpack();
++ let displayName = id;
++ let shortName = id;
++ let xkbLayout = id;
++ if (type == 'xkb') {
++ [_exists, displayName, shortName, xkbLayout, _xkbVariant] = this._xkbInfo.get_layout_info(id);
++ } // TODO: errorhandling, handle 'ibus'
++ let icon_name = xkbLayout; // FIXME: Really?
+ let actor;
+ if (this._showFlags)
+ actor = new St.Icon({ icon_name: icon_name, icon_type: St.IconType.FULLCOLOR, style_class: 'popup-menu-icon' });
+ else
+- actor = new St.Label({ text: short_names[i] });
+- let item = new LayoutMenuItem(this._config, i, actor, groups[i]);
+- item._short_group_name = short_names[i];
++ actor = new St.Label({ text: shortName });
++ let item = new LayoutMenuItem(this._ipsettings, id, i, actor, displayName);
+ item._icon_name = icon_name;
+ this._layoutItems.push(item);
+ this.menu.addMenuItem(item, i);
+
+- let shortLabel = new St.Label({ text: short_names[i] });
++ let shortLabel = new St.Label({ text: shortName });
+ this._labelActors.push(shortLabel);
+ }
+
+@@ -167,17 +172,17 @@
+ },
+
+ _syncGroup: function() {
+- let selected = this._config.get_current_group();
++ let current = this._ipsettings.get_uint('current');
+
+ if (this._selectedLayout) {
+ this._selectedLayout.setShowDot(false);
+ this._selectedLayout = null;
+ }
+
+- let item = this._layoutItems[selected];
++ let item = this._layoutItems[current];
+ item.setShowDot(true);
+
+- let selectedLabel = this._labelActors[selected];
++ let selectedLabel = this._labelActors[current];
+
+ if (this._showFlags) {
+ this.set_applet_icon_name(item._icon_name);
diff --git a/community/cinnamon/switch-applications.patch b/community/cinnamon/switch-applications.patch
new file mode 100644
index 000000000..1254a7ce4
--- /dev/null
+++ b/community/cinnamon/switch-applications.patch
@@ -0,0 +1,31 @@
+diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py linuxmint-Cinnamon-b41bad0/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py
+--- linuxmint-Cinnamon-b41bad0.orig/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py 2013-04-15 15:55:01.000000000 +0200
++++ linuxmint-Cinnamon-b41bad0/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py 2013-04-24 21:19:49.262020614 +0200
+@@ -43,8 +43,8 @@
+ # Cinnamon stuff
+ [_("Toggle Scale"), "org.gnome.desktop.wm.keybindings", "switch-to-workspace-down", True, "cinnamon"],
+ [_("Toggle Expo"), "org.gnome.desktop.wm.keybindings", "switch-to-workspace-up", True, "cinnamon"],
+- [_("Cycle through open windows"), "org.gnome.desktop.wm.keybindings", "switch-windows", True, "cinnamon"],
+- [_("Cycle backwards though open windows"), "org.gnome.desktop.wm.keybindings", "switch-windows-backward", True, "cinnamon"],
++ [_("Cycle through open windows"), "org.gnome.desktop.wm.keybindings", "switch-applications", True, "cinnamon"],
++ [_("Cycle backwards though open windows"), "org.gnome.desktop.wm.keybindings", "switch-applications-backward", True, "cinnamon"],
+ [_("Run dialog (must restart Cinnamon)"), "org.gnome.desktop.wm.keybindings", "panel-run-dialog", True, "cinnamon"],
+ [_("Menu button (must restart Cinnamon)"), "org.cinnamon.muffin", "overlay-key", False, "cinnamon"],
+
+diff -Naur linuxmint-Cinnamon-b41bad0.orig/js/ui/windowManager.js linuxmint-Cinnamon-b41bad0/js/ui/windowManager.js
+--- linuxmint-Cinnamon-b41bad0.orig/js/ui/windowManager.js 2013-04-15 15:55:01.000000000 +0200
++++ linuxmint-Cinnamon-b41bad0/js/ui/windowManager.js 2013-04-24 21:21:22.447677094 +0200
+@@ -131,11 +131,11 @@
+ Lang.bind(this, this._showWorkspaceSwitcher));
+ Meta.keybindings_set_custom_handler('switch-to-workspace-down',
+ Lang.bind(this, this._showWorkspaceSwitcher));
+- Meta.keybindings_set_custom_handler('switch-windows',
++ Meta.keybindings_set_custom_handler('switch-applications',
+ Lang.bind(this, this._startAppSwitcher));
+ Meta.keybindings_set_custom_handler('switch-group',
+ Lang.bind(this, this._startAppSwitcher));
+- Meta.keybindings_set_custom_handler('switch-windows-backward',
++ Meta.keybindings_set_custom_handler('switch-applications-backward',
+ Lang.bind(this, this._startAppSwitcher));
+ Meta.keybindings_set_custom_handler('switch-group-backward',
+ Lang.bind(this, this._startAppSwitcher));
diff --git a/community/cksfv/PKGBUILD b/community/cksfv/PKGBUILD
new file mode 100644
index 000000000..3eed8b975
--- /dev/null
+++ b/community/cksfv/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 86750 2013-03-21 21:05:54Z eric $
+# Maintainer: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Wijnand Modderman <wijanand+aur@archlinux.nl>
+
+pkgname=cksfv
+pkgver=1.3.14
+pkgrel=2
+pkgdesc="SFV (Simple File Verification) Checker"
+arch=('i686' 'x86_64')
+url="http://zakalwe.fi/~shd/foss/cksfv"
+license=('GPL')
+depends=('glibc')
+source=(http://zakalwe.fi/~shd/foss/cksfv/files/$pkgname-$pkgver.tar.gz)
+md5sums=('2e15289753ea0b90b6ea86993f93b383')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make BINDIR="$pkgdir/usr/bin" MANDIR="$pkgdir/usr/share/man" install
+ chmod 644 "$pkgdir/usr/share/man/man1/$pkgname.1"
+}
diff --git a/community/clamz/PKGBUILD b/community/clamz/PKGBUILD
new file mode 100644
index 000000000..ada02b3dc
--- /dev/null
+++ b/community/clamz/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 57215 2011-10-24 18:32:20Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=clamz
+pkgver=0.5
+pkgrel=1
+pkgdesc="Command-line program to download MP3 files from Amazon.com's music store."
+arch=('i686' 'x86_64')
+url='http://code.google.com/p/clamz/'
+license=('GPL3')
+depends=('libgcrypt' 'curl' 'expat' 'shared-mime-info' 'desktop-file-utils')
+install='clamz.install'
+source=("http://clamz.googlecode.com/files/clamz-${pkgver}.tar.gz")
+md5sums=('84543c9346b285bdc218879e241941a8')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Fix issue with update-mime-database
+ sed -i 's|$(UPDATE_DESKTOP_DATABASE)\ $(DESTDIR)$(applications_dir)||' Makefile.in
+ sed -i 's|$(UPDATE_MIME_DATABASE)\ $(DESTDIR)$(mime_dir)||' Makefile.in
+
+ ./configure --prefix=/usr/
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/clamz/clamz.install b/community/clamz/clamz.install
new file mode 100644
index 000000000..7daacb23a
--- /dev/null
+++ b/community/clamz/clamz.install
@@ -0,0 +1,16 @@
+post_install() {
+ update-mime-database /usr/share/mime
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ update-mime-database /usr/share/mime
+ update-desktop-database -q
+}
+
+post_remove() {
+ update-mime-database /usr/share/mime
+ update-desktop-database -q
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/clanlib/PKGBUILD b/community/clanlib/PKGBUILD
new file mode 100644
index 000000000..55030dbad
--- /dev/null
+++ b/community/clanlib/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90010 2013-05-06 19:36:25Z foutrelis $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+
+pkgname=clanlib
+pkgver=2.3.6
+pkgrel=5
+pkgdesc="A multi-platform game development library."
+arch=('i686' 'x86_64')
+url="http://clanlib.org/"
+license=('zlib')
+depends=('alsa-lib' 'libjpeg' 'libmikmod' 'libpng' 'libvorbis' 'libxi' 'libxmu' 'sdl_gfx' 'freetype2' 'pcre' 'sqlite' 'libgl')
+makedepends=('doxygen' 'graphviz' 'mesa')
+options=('!libtool')
+source=(http://clanlib.org/download/releases-2.0/ClanLib-${pkgver}.tgz)
+md5sums=('aa037a8a6297fb0b2efd927b1b15e8de')
+
+build() {
+ cd ${srcdir}/ClanLib-${pkgver}
+
+ ./configure --prefix=/usr --enable-docs --disable-clanGL1
+
+ make
+ # Somehow this breaks. :(
+ #make html
+}
+
+package() {
+ cd ${srcdir}/ClanLib-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+ #make DESTDIR=${pkgdir} install-html
+
+ install -d ${pkgdir}/usr/share/licenses/${pkgname}
+ install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/
+}
+
+# vim: sw=2:ts=2 et:
diff --git a/community/classpath/PKGBUILD b/community/classpath/PKGBUILD
new file mode 100644
index 000000000..729e13a9a
--- /dev/null
+++ b/community/classpath/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 59865 2011-12-01 13:10:18Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: tardo <tardo@nagi-fanboi.net>
+# Contributor: Sean Gillespie <Sean.D.Gillespie@gmail.com>
+
+pkgname=classpath
+pkgver=0.98
+pkgrel=4
+pkgdesc="A free replacement for Sun's proprietary core Java class libraries."
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/classpath/"
+license=('GPL')
+depends=('gtk2>=2.8' 'libxtst' 'libsm')
+makedepends=('gtk2>=2.8' 'libxtst' 'gconf' 'openjdk6')
+optdepends=('file' 'gconf')
+source=(ftp://ftp.gnu.org/gnu/classpath/$pkgname-$pkgver.tar.gz)
+md5sums=('90c6571b8b0309e372faa0f9f6255ea9')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ patch -p0 Makefile.in <<EOF
+298,299c298,299
+< SUBDIRS = lib doc external include native resource scripts \$(TOOLSDIR) \$(EXAMPLESDIR)
+< DIST_SUBDIRS = lib doc external include native resource scripts tools examples
+---
+> SUBDIRS = lib doc external include native resource scripts
+> DIST_SUBDIRS = lib doc external include native resource scripts
+EOF
+
+ ./configure --prefix=/usr --disable-Werror --disable-plugin
+ make EXAMPLESDIR=
+ make EXAMPLESDIR= DESTDIR=$pkgdir install
+
+ rm -f $pkgdir/usr/bin/gappletviewer
+ rm -f $pkgdir/usr/bin/gjar
+ rm -f $pkgdir/usr/bin/gjarsigner
+ rm -f $pkgdir/usr/bin/gjavah
+ rm -f $pkgdir/usr/bin/gkeytool
+ rm -f $pkgdir/usr/bin/gnative2ascii
+ rm -f $pkgdir/usr/bin/gorbd
+ rm -f $pkgdir/usr/bin/grmic
+ rm -f $pkgdir/usr/bin/grmid
+ rm -f $pkgdir/usr/bin/grmiregistry
+ rm -f $pkgdir/usr/bin/gserialver
+ rm -f $pkgdir/usr/bin/gtnameserv
+ rm -f $pkgdir/usr/lib/logging.properties
+ rm -f $pkgdir/usr/lib/security/classpath.security
+ rm -f $pkgdir/usr/share/man/man1/gappletviewer.1*
+ rm -f $pkgdir/usr/share/man/man1/gcjh.1*
+ rm -f $pkgdir/usr/share/man/man1/gjar.1*
+ rm -f $pkgdir/usr/share/man/man1/gjarsigner.1*
+ rm -f $pkgdir/usr/share/man/man1/gjavah.1*
+ rm -f $pkgdir/usr/share/man/man1/gkeytool.1*
+ rm -f $pkgdir/usr/share/man/man1/gnative2ascii.1*
+ rm -f $pkgdir/usr/share/man/man1/gorbd.1*
+ rm -f $pkgdir/usr/share/man/man1/grmid.1*
+ rm -f $pkgdir/usr/share/man/man1/grmiregistry.1*
+ rm -f $pkgdir/usr/share/man/man1/gserialver.1*
+ rm -f $pkgdir/usr/share/man/man1/gtnameserv.1*
+ rm -f $pkgdir/usr/share/info/dir
+}
diff --git a/community/clearsilver/PKGBUILD b/community/clearsilver/PKGBUILD
new file mode 100644
index 000000000..963483b52
--- /dev/null
+++ b/community/clearsilver/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 86874 2013-03-23 23:10:33Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : Aaron Griffin <aaron@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=clearsilver
+pkgver=0.10.5
+pkgrel=9
+pkgdesc="clearsilver is a fast, powerful, and language-neutral HTML template system"
+arch=('i686' 'x86_64')
+url='http://www.clearsilver.net'
+license=('custom')
+depends=('python2' 'perl' 'ruby' 'java-runtime')
+options=('!emptydirs')
+source=("http://www.clearsilver.net/downloads/$pkgname-$pkgver.tar.gz"
+ "clearsilver-ruby-1.9.patch")
+md5sums=('b8c0c7fbe0ef5e06e0c935f134304d44'
+ 'd9db4e5985254e1b0d63e9ff042773f4')
+
+build()
+{
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --disable-csharp --prefix=/usr --with-python=/usr/bin/python2
+
+ sed -i "s@/usr/local/bin/python@/usr/bin/env python2@g" scripts/document.py
+ sed -i "s@install.rb install@install.rb install --prefix=$pkgdir@g" ruby/Makefile
+ patch -p1 <$srcdir/clearsilver-ruby-1.9.patch
+ patch -p0 ruby/install.rb <<EOF
+71,73c71,73
+< siteruby = subprefix.call(c['sitedir'])
+< versite = subprefix.call(c['sitelibdir'])
+< sodir = subprefix.call(c['sitearchdir'])
+---
+> siteruby = subprefix.call(c['vendordir'])
+> versite = subprefix.call(c['vendorlibdir'])
+> sodir = subprefix.call(c['vendorarchdir'])
+EOF
+
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make PREFIX=$pkgdir DESTDIR=$pkgdir install
+
+ install -Dm644 CS_LICENSE $pkgdir/usr/share/licenses/clearsilver/license.txt
+ rm -rf $pkgdir/usr/lib/perl5/5.8.8/
+
+ mv $pkgdir/usr/man/man3/* $pkgdir/usr/share/man/man3/
+ rm -rf $pkgdir/usr/man
+
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/clearsilver/clearsilver-ruby-1.9.patch b/community/clearsilver/clearsilver-ruby-1.9.patch
new file mode 100644
index 000000000..4a1a83f99
--- /dev/null
+++ b/community/clearsilver/clearsilver-ruby-1.9.patch
@@ -0,0 +1,244 @@
+diff -u -Nr clearsilver-0.10.5/ruby/ext/hdf/neo_cs.c clearsilver-0.10.5.my/ruby/ext/hdf/neo_cs.c
+--- clearsilver-0.10.5/ruby/ext/hdf/neo_cs.c 2007-02-16 01:31:39.000000000 +0100
++++ clearsilver-0.10.5.my/ruby/ext/hdf/neo_cs.c 2010-09-18 18:20:40.088619662 +0200
+@@ -19,7 +19,7 @@
+
+ VALUE r_neo_error(NEOERR *err);
+
+-#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RSTRING(val)->ptr)
++#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RARRAY_PTR(RSTRING(val)))
+
+ static void c_free (CSPARSE *csd) {
+ if (csd) {
+@@ -57,7 +57,7 @@
+ char *path;
+
+ Data_Get_Struct(self, CSPARSE, cs);
+- path = STR2CSTR(oPath);
++ path = StringValuePtr(oPath);
+
+ err = cs_parse_file (cs, path);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -73,7 +73,8 @@
+ long l;
+
+ Data_Get_Struct(self, CSPARSE, cs);
+- s = rb_str2cstr(oString, &l);
++ s = StringValuePtr(oString);
++ l = RSTRING_LEN(oString);
+
+ /* This should be changed to use memory from the gc */
+ ms = strdup(s);
+diff -u -Nr clearsilver-0.10.5/ruby/ext/hdf/neo_util.c clearsilver-0.10.5.my/ruby/ext/hdf/neo_util.c
+--- clearsilver-0.10.5/ruby/ext/hdf/neo_util.c 2007-02-16 01:32:03.000000000 +0100
++++ clearsilver-0.10.5.my/ruby/ext/hdf/neo_util.c 2010-09-18 18:24:05.928058973 +0200
+@@ -10,7 +10,7 @@
+ */
+
+ #include <ruby.h>
+-#include <version.h>
++//#include <version.h>
+ #include "ClearSilver.h"
+ #include "neo_ruby.h"
+
+@@ -19,7 +19,7 @@
+ VALUE eHdfError;
+ static ID id_to_s;
+
+-#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RSTRING(val)->ptr)
++#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RARRAY_PTR(RSTRING(val)))
+
+ VALUE r_neo_error (NEOERR *err)
+ {
+@@ -96,7 +96,7 @@
+ VALUE rv;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name = STR2CSTR(oName);
++ name = StringValuePtr(oName);
+
+ rv = rb_hash_new();
+
+@@ -118,12 +118,12 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- name = STR2CSTR(oName);
+- key = STR2CSTR(oKey);
++ name = StringValuePtr(oName);
++ key = StringValuePtr(oKey);
+ if ( NIL_P(oValue) )
+ value = NULL;
+ else
+- value = STR2CSTR(oValue);
++ value = StringValuePtr(oValue);
+
+ err = hdf_set_attr(hdfh->hdf, name, key, value);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -134,22 +134,22 @@
+ static VALUE h_set_value (VALUE self, VALUE oName, VALUE oValue)
+ {
+ t_hdfh *hdfh;
+- char *name, *value;
++ VALUE name, value;
+ NEOERR *err;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+ if ( TYPE(oName) == T_STRING )
+- name=STR2CSTR(oName);
++ name=oName;
+ else
+- name=STR2CSTR(rb_funcall(oName,id_to_s,0));
++ name=rb_funcall(oName,id_to_s,0);
+
+ if ( TYPE(oValue) == T_STRING )
+- value=STR2CSTR(oValue);
++ value=oValue;
+ else
+- value=STR2CSTR(rb_funcall(oValue,id_to_s,0));
++ value=rb_funcall(oValue,id_to_s,0);
+
+- err = hdf_set_value (hdfh->hdf, name, value);
++ err = hdf_set_value (hdfh->hdf, StringValuePtr(name), StringValuePtr(value));
+
+ if (err) Srb_raise(r_neo_error(err));
+
+@@ -165,7 +165,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- name=STR2CSTR(oName);
++ name=StringValuePtr(oName);
+ d=NUM2INT(oDefault);
+
+ r = hdf_get_int_value (hdfh->hdf, name, d);
+@@ -181,8 +181,8 @@
+ VALUE rv;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name=STR2CSTR(oName);
+- d=STR2CSTR(oDefault);
++ name=StringValuePtr(oName);
++ d=StringValuePtr(oDefault);
+
+ r = hdf_get_value (hdfh->hdf, name, d);
+ rv = rb_str_new2(r);
+@@ -197,7 +197,7 @@
+ char *name;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name=STR2CSTR(oName);
++ name=StringValuePtr(oName);
+
+ r = hdf_get_child (hdfh->hdf, name);
+ if (r == NULL) {
+@@ -219,7 +219,7 @@
+ char *name;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name=STR2CSTR(oName);
++ name=StringValuePtr(oName);
+
+ r = hdf_get_obj (hdfh->hdf, name);
+ if (r == NULL) {
+@@ -243,7 +243,7 @@
+ NEOERR *err;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name=STR2CSTR(oName);
++ name=StringValuePtr(oName);
+
+ err = hdf_get_node (hdfh->hdf, name, &r);
+ if (err)
+@@ -384,7 +384,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- path=STR2CSTR(oPath);
++ path=StringValuePtr(oPath);
+
+ err = hdf_read_file (hdfh->hdf, path);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -400,7 +400,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- path=STR2CSTR(oPath);
++ path=StringValuePtr(oPath);
+
+ err = hdf_write_file (hdfh->hdf, path);
+
+@@ -417,7 +417,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- path=STR2CSTR(oPath);
++ path=StringValuePtr(oPath);
+
+ err = hdf_write_file_atomic (hdfh->hdf, path);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -432,7 +432,7 @@
+ NEOERR *err;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name = STR2CSTR(oName);
++ name = StringValuePtr(oName);
+
+ err = hdf_remove_tree (hdfh->hdf, name);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -489,7 +489,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- s = STR2CSTR(oString);
++ s = StringValuePtr(oString);
+ ignore = NUM2INT(oIgnore);
+
+ err = hdf_read_string_ignore (hdfh->hdf, s, ignore);
+@@ -508,7 +508,7 @@
+ Data_Get_Struct(self, t_hdfh, hdfh);
+ Data_Get_Struct(oHdfSrc, t_hdfh, hdfh_src);
+
+- name = STR2CSTR(oName);
++ name = StringValuePtr(oName);
+
+ if (hdfh_src == NULL) rb_raise(eHdfError, "second argument must be an Hdf object");
+
+@@ -526,8 +526,8 @@
+ NEOERR *err;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- src = STR2CSTR(oSrc);
+- dest = STR2CSTR(oDest);
++ src = StringValuePtr(oSrc);
++ dest = StringValuePtr(oDest);
+
+ err = hdf_set_symlink (hdfh->hdf, src, dest);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -545,9 +545,10 @@
+ char *ret = NULL;
+ NEOERR *err;
+
+- s = rb_str2cstr(oString,&buflen);
+- esc_char = STR2CSTR(oEsc_char);
+- escape = STR2CSTR(oEsc);
++ s = StringValuePtr(oString);
++ buflen = RSTRING_LEN(oString);
++ esc_char = StringValuePtr(oEsc_char);
++ escape = StringValuePtr(oEsc);
+
+ err = neos_escape((UINT8*)s, buflen, esc_char[0], escape, &ret);
+
+@@ -566,8 +567,9 @@
+ char *esc_char;
+ long buflen;
+
+- s = rb_str2cstr(oString,&buflen);
+- esc_char = STR2CSTR(oEsc_char);
++ s = StringValuePtr(oString);
++ buflen = RSTRING_LEN(oString);
++ esc_char = StringValuePtr(oEsc_char);
+
+ /* This should be changed to use memory from the gc */
+ copy = strdup(s);
diff --git a/community/clewn/ChangeLog b/community/clewn/ChangeLog
new file mode 100644
index 000000000..a046fb816
--- /dev/null
+++ b/community/clewn/ChangeLog
@@ -0,0 +1,5 @@
+
+2008-07-06 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updating for x86_64 - 1.13
+
diff --git a/community/clewn/PKGBUILD b/community/clewn/PKGBUILD
new file mode 100644
index 000000000..f557aa50b
--- /dev/null
+++ b/community/clewn/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 55182 2011-09-05 09:01:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: tardo <tardo@nagi-fanboi.net>
+
+pkgname=clewn
+pkgver=1.15
+pkgrel=5
+pkgdesc="gdb support for vim"
+arch=('i686' 'x86_64')
+url="http://clewn.sourceforge.net"
+license=('GPL')
+depends=("gvim" "gdb")
+install=$pkgname.install
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('dcfa989e6250109a7f0f99dc2d6db3e6')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ vimdir=/usr/share/vim/vimfiles ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+ rm -f $pkgdir/usr/share/vim/vimfiles/doc/tags
+}
diff --git a/community/clewn/clewn.install b/community/clewn/clewn.install
new file mode 100644
index 000000000..c6ce857be
--- /dev/null
+++ b/community/clewn/clewn.install
@@ -0,0 +1,14 @@
+post_install() {
+ echo -n "Updating vim help tags..."
+ /usr/bin/vim --noplugins -u NONE -U NONE \
+ --cmd ":helptags /usr/share/vim/vimfiles/doc" --cmd ":q" > /dev/null 2>&1
+ echo "done."
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/clinica/PKGBUILD b/community/clinica/PKGBUILD
new file mode 100644
index 000000000..49be87069
--- /dev/null
+++ b/community/clinica/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 94204 2013-07-16 17:21:04Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Gianmarco Brocchi <gianmarcobrocchi@gmail.com>
+
+pkgname=clinica
+pkgver=0.3.0
+pkgrel=1
+pkgdesc="Simple medical records manager"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/clinica-project"
+license=('GPL3')
+depends=('libgee06' 'libpeas' 'jansson' 'libsoup' 'librsvg' 'yelp')
+makedepends=('cmake' 'vala' 'intltool')
+optdepends=('python2-gobject: for Agenzia del Farmaco plugin')
+install=clinica.install
+options=('!makeflags')
+source=("https://launchpad.net/clinica-project/stable/${pkgver}/+download/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('dae10a4e10c7d148f05ae56d1b0ae47d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i -e "s:-Werror=format-security:-Wformat -Werror=format-security:g" CMakeLists.txt
+ sed -i 's@^#!.*python$@#!/usr/bin/python2@' plugins/AgenziaDelFarmaco.py
+ sed -i -e "s:Application;GTK;:Office;GTK;:g" data/clinica.desktop
+
+ mkdir build
+ cd build
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DGSETTINGS_COMPILE=OFF \
+ -DGSETTINGS_COMPILE_IN_PLACE=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON ..
+
+ LC_ALL=C LANG=C make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/build"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/clinica/clinica.install b/community/clinica/clinica.install
new file mode 100644
index 000000000..326aa98a2
--- /dev/null
+++ b/community/clinica/clinica.install
@@ -0,0 +1,11 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/clipit/PKGBUILD b/community/clipit/PKGBUILD
new file mode 100644
index 000000000..bd39684a2
--- /dev/null
+++ b/community/clipit/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 76710 2012-09-27 13:37:18Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Mihai Militaru <mihai dot militaru at xmpp dot ro>
+
+pkgname=clipit
+pkgver=1.4.2
+pkgrel=4
+pkgdesc="Lightweight GTK+ clipboard manager (fork of Parcellite)"
+arch=('i686' 'x86_64')
+url="http://gtkclipit.sourceforge.net/"
+license=('GPL3')
+depends=('gtk2' 'gtk-update-icon-cache' 'hicolor-icon-theme' 'librsvg')
+makedepends=('intltool')
+optdepends=('xdotool: for automatic paste')
+install=$pkgname.install
+source=(https://github.com/downloads/shantzu/ClipIt/${pkgname}-${pkgver}.tar.gz)
+md5sums=('118175f26869adcf04909fdbb5021eff')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/clipit/clipit.install b/community/clipit/clipit.install
new file mode 100644
index 000000000..ea395d140
--- /dev/null
+++ b/community/clipit/clipit.install
@@ -0,0 +1,7 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_uninstall() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/clusterssh/ChangeLog b/community/clusterssh/ChangeLog
new file mode 100644
index 000000000..f0d985454
--- /dev/null
+++ b/community/clusterssh/ChangeLog
@@ -0,0 +1,3 @@
+2009-12-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community]
+ * version 3.28 - 39 votes in AUR
diff --git a/community/clusterssh/PKGBUILD b/community/clusterssh/PKGBUILD
new file mode 100644
index 000000000..29a9eadc7
--- /dev/null
+++ b/community/clusterssh/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 67467 2012-03-11 21:44:43Z lcarlier $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Macfly <mmacfly@gmail.com>
+# Contributor: Duncan Ferguson <duncan_ferguson@users.sourceforge.net>
+
+pkgname=clusterssh
+pkgver=3.28
+pkgrel=3
+pkgdesc="Cluster SSH opens terminal windows with connections to specified hosts and an administration console."
+arch=('i686' 'x86_64')
+url="http://clusterssh.sourceforge.net/"
+license=('GPL')
+depends=('perl-tk' 'perl-x11-protocol' 'xterm')
+source=(http://downloads.sourceforge.net/project/$pkgname/1.%20ClusterSSH%20Series%203/$pkgver/$pkgname-$pkgver.tar.gz)
+md5sums=('11e012329d2c62e1f7b17f3ac517769a')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/cmatrix/PKGBUILD b/community/cmatrix/PKGBUILD
new file mode 100644
index 000000000..2506b8326
--- /dev/null
+++ b/community/cmatrix/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 76875 2012-10-01 14:55:29Z bisson $
+# Maintainer:
+
+pkgname=cmatrix
+pkgver=1.2a
+pkgrel=6
+pkgdesc="Let you see the matrix code in your console"
+arch=('i686' 'x86_64')
+url="http://www.asty.org/cmatrix/"
+license=('GPL')
+depends=('ncurses' 'fontconfig')
+install=cmatrix.install
+source=(http://www.asty.org/cmatrix/dist/$pkgname-$pkgver.tar.gz)
+md5sums=('ebfb5733104a258173a9ccf2669968a1')
+sha1sums=('ca078c10322a47e327f07a44c9a42b52eab5ad93')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 mtx.pcf "$pkgdir/usr/share/fonts/misc/mtx.pcf"
+ install -Dm644 matrix.fnt "$pkgdir/usr/share/kbd/consolefonts/matrix.fnt"
+ install -Dm644 matrix.psf.gz "$pkgdir/usr/share/kbd/consolefonts/matrix.psf.gz"
+}
diff --git a/community/cmatrix/cmatrix.install b/community/cmatrix/cmatrix.install
new file mode 100644
index 000000000..c46fe4469
--- /dev/null
+++ b/community/cmatrix/cmatrix.install
@@ -0,0 +1,3 @@
+post_install() {
+ fc-cache
+}
diff --git a/community/cmus/PKGBUILD b/community/cmus/PKGBUILD
new file mode 100644
index 000000000..62e7e99bf
--- /dev/null
+++ b/community/cmus/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 81962 2013-01-04 20:16:47Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=cmus
+pkgver=2.5.0
+pkgrel=2
+pkgdesc='Very feature-rich ncurses-based music player'
+arch=('i686' 'x86_64')
+url="http://cmus.sourceforge.net/"
+license=('GPL')
+depends=('ncurses')
+makedepends=('faad2' 'ffmpeg' 'flac' 'libao' 'libmad' 'libmodplug'
+ 'libmp4v2' 'libmpcdec' 'libpulse' 'libvorbis' 'opusfile' 'wavpack')
+optdepends=('alsa-lib: for ALSA output plugin support'
+ 'libao: for AO output plugin support'
+ 'libpulse: for PulseAudio output plugin support'
+ 'faad2: for AAC input plugin support'
+ 'ffmpeg: for ffmpeg input plugin support'
+ 'flac: for flac input plugin support'
+ 'libmad: for mp3 input plugin support'
+ 'libmodplug: for modplug input plugin support'
+ 'libmp4v2: for mp4 input plugin support'
+ 'libmpcdec: for musepack input plugin support'
+ 'libvorbis: for vorbis input plugin support'
+ 'opusfile: for opus input plugin support'
+ 'wavpack: for wavpack input plugin support')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-v$pkgver.tar.bz2
+ cmus-2.5.0-opus-support.patch)
+sha1sums=('244975a5ff642567acb047f6bd518e4a3271c25b'
+ '5e524f54d565dfa30760562c223bc0e2e8ed00a0')
+
+build() {
+ cd $srcdir/$pkgname-v$pkgver
+ patch -Np1 -i $srcdir/cmus-2.5.0-opus-support.patch
+ ./configure prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-v$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -Dm 644 contrib/_cmus $pkgdir/usr/share/zsh/site-functions/_cmus
+}
diff --git a/community/cmus/cmus-2.5.0-opus-support.patch b/community/cmus/cmus-2.5.0-opus-support.patch
new file mode 100644
index 000000000..80692e9da
--- /dev/null
+++ b/community/cmus/cmus-2.5.0-opus-support.patch
@@ -0,0 +1,417 @@
+diff -rupN cmus-v2.5.0/Makefile cmus/Makefile
+--- cmus-v2.5.0/Makefile 2012-11-07 09:46:17.000000000 +0100
++++ cmus/Makefile 2013-01-04 07:15:35.293069953 +0100
+@@ -74,6 +74,7 @@ mikmod-objs := mikmod.lo
+ modplug-objs := modplug.lo
+ mpc-objs := mpc.lo
+ vorbis-objs := vorbis.lo
++opus-objs := opus.lo
+ wavpack-objs := wavpack.lo
+ wav-objs := wav.lo
+ mp4-objs := mp4.lo
+@@ -88,6 +89,7 @@ ip-$(CONFIG_MIKMOD) += mikmod.so
+ ip-$(CONFIG_MODPLUG) += modplug.so
+ ip-$(CONFIG_MPC) += mpc.so
+ ip-$(CONFIG_VORBIS) += vorbis.so
++ip-$(CONFIG_OPUS) += opus.so
+ ip-$(CONFIG_WAVPACK) += wavpack.so
+ ip-$(CONFIG_WAV) += wav.so
+ ip-$(CONFIG_MP4) += mp4.so
+@@ -102,6 +104,7 @@ $(mikmod-objs): CFLAGS += $(MIKMOD_CFLA
+ $(modplug-objs): CFLAGS += $(MODPLUG_CFLAGS)
+ $(mpc-objs): CFLAGS += $(MPC_CFLAGS)
+ $(vorbis-objs): CFLAGS += $(VORBIS_CFLAGS)
++$(opus-objs): CFLAGS += $(OPUS_CFLAGS)
+ $(wavpack-objs): CFLAGS += $(WAVPACK_CFLAGS)
+ $(mp4-objs): CFLAGS += $(MP4_CFLAGS)
+ $(aac-objs): CFLAGS += $(AAC_CFLAGS)
+@@ -129,6 +132,9 @@ mpc.so: $(mpc-objs) $(libcmus-y)
+ vorbis.so: $(vorbis-objs) $(libcmus-y)
+ $(call cmd,ld_dl,$(VORBIS_LIBS))
+
++opus.so: $(opus-objs) $(libcmus-y)
++ $(call cmd,ld_dl,$(OPUS_LIBS))
++
+ wavpack.so: $(wavpack-objs) $(libcmus-y)
+ $(call cmd,ld_dl,$(WAVPACK_LIBS))
+
+diff -rupN cmus-v2.5.0/configure cmus/configure
+--- cmus-v2.5.0/configure 2012-11-07 09:46:17.000000000 +0100
++++ cmus/configure 2013-01-04 07:15:35.293069953 +0100
+@@ -228,6 +228,12 @@ check_vorbis()
+ fi
+ }
+
++check_opus()
++{
++ pkg_config OPUS "opusfile"
++ return $?
++}
++
+ check_wavpack()
+ {
+ pkg_config WAVPACK "wavpack" "" "-lwavpack"
+@@ -425,6 +431,7 @@ Optional Features: y/n
+ CONFIG_MPC libmpcdec (Musepack .mpc, .mpp, .mp+) [auto]
+ CONFIG_VORBIS Ogg/Vorbis (.ogg, application/ogg, audio/x-ogg) [auto]
+ CONFIG_TREMOR Use Tremor as Ogg/Vorbis input plugin [n]
++ CONFIG_OPUS Opus (.opus) [auto]
+ CONFIG_WAV WAV [y]
+ CONFIG_WAVPACK WavPack (.wv, audio/x-wavpack) [auto]
+ CONFIG_MP4 MPEG-4 AAC (.mp4, .m4a, .m4b) [auto]
+@@ -485,6 +492,7 @@ check check_mikmod CONFIG_MIKMOD
+ check check_modplug CONFIG_MODPLUG
+ check check_mpc CONFIG_MPC
+ check check_vorbis CONFIG_VORBIS
++check check_opus CONFIG_OPUS
+ check check_wavpack CONFIG_WAVPACK
+ check check_mp4 CONFIG_MP4
+ check check_aac CONFIG_AAC
+@@ -534,7 +542,7 @@ config_header config/cue.h CONFIG_CUE
+ CFLAGS="${CFLAGS} -DHAVE_CONFIG"
+
+ makefile_vars bindir datadir libdir mandir exampledir
+-makefile_vars CONFIG_CDIO CONFIG_FLAC CONFIG_MAD CONFIG_MIKMOD CONFIG_MODPLUG CONFIG_MPC CONFIG_VORBIS CONFIG_WAVPACK CONFIG_WAV CONFIG_MP4 CONFIG_AAC CONFIG_FFMPEG CONFIG_CUE
++makefile_vars CONFIG_CDIO CONFIG_FLAC CONFIG_MAD CONFIG_MIKMOD CONFIG_MODPLUG CONFIG_MPC CONFIG_VORBIS CONFIG_OPUS CONFIG_WAVPACK CONFIG_WAV CONFIG_MP4 CONFIG_AAC CONFIG_FFMPEG CONFIG_CUE
+ makefile_vars CONFIG_ROAR CONFIG_PULSE CONFIG_ALSA CONFIG_AO CONFIG_ARTS CONFIG_OSS CONFIG_SUN CONFIG_WAVEOUT
+
+ generate_config_mk
+diff -rupN cmus-v2.5.0/opus.c cmus/opus.c
+--- cmus-v2.5.0/opus.c 1970-01-01 01:00:00.000000000 +0100
++++ cmus/opus.c 2013-01-04 07:15:35.493069945 +0100
+@@ -0,0 +1,335 @@
++/*
++ * Copyright 2008-2012 Various Authors
++ * Copyright 2004-2005 Timo Hirvonen
++ *
++ * 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, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "ip.h"
++#include "xmalloc.h"
++#include "read_wrapper.h"
++#include "debug.h"
++#include "comment.h"
++
++#include <opusfile.h>
++
++#include <errno.h>
++#include <string.h>
++#include <sys/types.h>
++#include <unistd.h>
++
++#define SAMPLING_RATE 48000
++#define CHANNELS 2
++
++struct opus_private {
++ OggOpusFile *of;
++ int current_link;
++};
++
++static int read_func(void *datasource, unsigned char *ptr, int size)
++{
++ struct input_plugin_data *ip_data = datasource;
++ return read_wrapper(ip_data, ptr, size);
++}
++
++static int seek_func(void *datasource, opus_int64 offset, int whence)
++{
++ struct input_plugin_data *ip_data = datasource;
++ return lseek(ip_data->fd, offset, whence);
++}
++
++static int close_func(void *datasource)
++{
++ struct input_plugin_data *ip_data;
++ int rc;
++
++ ip_data = datasource;
++ rc = close(ip_data->fd);
++ ip_data->fd = -1;
++ return rc;
++}
++
++static opus_int64 tell_func(void *datasource)
++{
++ struct input_plugin_data *ip_data = datasource;
++ return lseek(ip_data->fd, 0, SEEK_CUR);
++}
++
++static OpusFileCallbacks callbacks = {
++ .read = read_func,
++ .seek = seek_func,
++ .tell = tell_func,
++ .close = close_func
++};
++
++static int opus_open(struct input_plugin_data *ip_data)
++{
++ struct opus_private *priv;
++ int rc;
++ void *source;
++
++ priv = xnew(struct opus_private, 1);
++ priv->current_link = -1;
++ priv->of = NULL;
++
++ source = op_fdopen(&callbacks, ip_data->fd, "r");
++ if (source == NULL) {
++ free(priv);
++ return -IP_ERROR_INTERNAL;
++ }
++
++ priv->of = op_open_callbacks(source, &callbacks, NULL, 0, &rc);
++ if (rc != 0) {
++ d_print("op_open_callbacks failed: %d:%s\n", rc, strerror(rc));
++ free(priv);
++ /* ogg is a container format, so it is likely to contain
++ * something else if it isn't opus */
++ return -IP_ERROR_UNSUPPORTED_FILE_TYPE;
++ }
++ ip_data->private = priv;
++
++ ip_data->sf = sf_rate(SAMPLING_RATE)
++ | sf_channels(CHANNELS)
++ | sf_bits(16)
++ | sf_signed(1);
++#ifdef WORDS_BIGENDIAN
++ ip_data->sf |= sf_bigendian(1);
++#endif
++ return 0;
++}
++
++static int opus_close(struct input_plugin_data *ip_data)
++{
++ struct opus_private *priv = ip_data->private;
++ /* this closes ip_data->fd! */
++ op_free(priv->of);
++ ip_data->fd = -1;
++ free(priv);
++ ip_data->private = NULL;
++ return 0;
++}
++
++/*
++ * -n
++ * indicates error
++ * 0
++ * indicates EOF
++ * n
++ * indicates actual number of bytes read
++ */
++static int opus_read(struct input_plugin_data *ip_data, char *buffer, int count)
++{
++ struct opus_private *priv;
++ int samples, current_link, rc;
++
++ priv = ip_data->private;
++
++ /* samples = number of samples read per channel */
++ samples = op_read_stereo(priv->of, (opus_int16*)buffer,
++ count / sizeof(opus_int16));
++ if (samples < 0) {
++ switch (samples) {
++ case OP_HOLE:
++ errno = EAGAIN;
++ rc = -1;
++ break;
++ case OP_EREAD:
++ errno = EINVAL;
++ rc = -1;
++ break;
++ case OP_EFAULT:
++ errno = EINVAL;
++ rc = -1;
++ break;
++ case OP_EIMPL:
++ rc = -IP_ERROR_FUNCTION_NOT_SUPPORTED;
++ break;
++ case OP_EINVAL:
++ errno = EINVAL;
++ rc = -1;
++ break;
++ case OP_ENOTFORMAT:
++ rc = -IP_ERROR_FILE_FORMAT;
++ break;
++ case OP_EBADHEADER:
++ rc = -IP_ERROR_FILE_FORMAT;
++ break;
++ case OP_EVERSION:
++ rc = -IP_ERROR_FILE_FORMAT;
++ break;
++ case OP_EBADPACKET:
++ errno = EINVAL;
++ rc = -1;
++ break;
++ case OP_EBADLINK:
++ errno = EINVAL;
++ rc = -1;
++ break;
++ case OP_EBADTIMESTAMP:
++ rc = -IP_ERROR_FILE_FORMAT;
++ break;
++ default:
++ d_print("error: %d\n", samples);
++ rc = -IP_ERROR_FILE_FORMAT;
++ }
++ } else if (samples == 0) {
++ /* EOF or buffer too small */
++ rc = 0;
++ } else {
++ current_link = op_current_link(priv->of);
++ if (current_link < 0) {
++ d_print("error: %d\n", current_link);
++ rc = -1;
++ } else {
++ if (ip_data->remote && current_link != priv->current_link) {
++ ip_data->metadata_changed = 1;
++ priv->current_link = current_link;
++ }
++
++ /* bytes = samples * channels * sample_size */
++ rc = samples * CHANNELS * sizeof(opus_int16);
++ }
++ }
++
++ return rc;
++}
++
++static int opus_seek(struct input_plugin_data *ip_data, double offset)
++{
++ struct opus_private *priv;
++ int rc;
++
++ priv = ip_data->private;
++
++ rc = op_pcm_seek(priv->of, offset * SAMPLING_RATE);
++ switch (rc) {
++ case OP_ENOSEEK:
++ return -IP_ERROR_FUNCTION_NOT_SUPPORTED;
++ case OP_EINVAL:
++ return -IP_ERROR_INTERNAL;
++ case OP_EREAD:
++ return -IP_ERROR_INTERNAL;
++ case OP_EFAULT:
++ return -IP_ERROR_INTERNAL;
++ case OP_EBADLINK:
++ return -IP_ERROR_INTERNAL;
++ }
++ return 0;
++}
++
++static int opus_read_comments(struct input_plugin_data *ip_data,
++ struct keyval **comments)
++{
++ GROWING_KEYVALS(c);
++ struct opus_private *priv;
++ const OpusTags *ot;
++ int i;
++
++ priv = ip_data->private;
++
++ ot = op_tags(priv->of, -1);
++ if (ot == NULL) {
++ d_print("ot == NULL\n");
++ *comments = keyvals_new(0);
++ return 0;
++ }
++
++ for (i = 0; i < ot->comments; i++) {
++ const char *str = ot->user_comments[i];
++ const char *eq = strchr(str, '=');
++ char *key;
++
++ if (!eq) {
++ d_print("invalid comment: '%s' ('=' expected)\n", str);
++ continue;
++ }
++
++ key = xstrndup(str, eq - str);
++ comments_add_const(&c, key, eq + 1);
++ free(key);
++ }
++ keyvals_terminate(&c);
++ *comments = c.keyvals;
++ return 0;
++}
++
++static int opus_duration(struct input_plugin_data *ip_data)
++{
++ struct opus_private *priv;
++ ogg_int64_t samples;
++
++ priv = ip_data->private;
++
++ samples = op_pcm_total(priv->of, -1);
++ if (samples < 0)
++ return -IP_ERROR_FUNCTION_NOT_SUPPORTED;
++
++ return samples / SAMPLING_RATE;
++}
++
++static long opus_bitrate(struct input_plugin_data *ip_data)
++{
++ struct opus_private *priv;
++ opus_int32 bitrate;
++
++ priv = ip_data->private;
++
++ bitrate = op_bitrate(priv->of, -1);
++ if (bitrate < 0)
++ return -IP_ERROR_FUNCTION_NOT_SUPPORTED;
++ else
++ return bitrate;
++}
++
++static long opus_current_bitrate(struct input_plugin_data *ip_data)
++{
++ struct opus_private *priv;
++ opus_int32 bitrate;
++
++ priv = ip_data->private;
++
++ bitrate = op_bitrate_instant(priv->of);
++ if (bitrate < 0)
++ return -IP_ERROR_FUNCTION_NOT_SUPPORTED;
++ else
++ return bitrate;
++}
++
++static char *opus_codec(struct input_plugin_data *ip_data)
++{
++ return xstrdup("opus");
++}
++
++static char *opus_codec_profile(struct input_plugin_data *ip_data)
++{
++ return NULL;
++}
++
++const struct input_plugin_ops ip_ops = {
++ .open = opus_open,
++ .close = opus_close,
++ .read = opus_read,
++ .seek = opus_seek,
++ .read_comments = opus_read_comments,
++ .duration = opus_duration,
++ .bitrate = opus_bitrate,
++ .bitrate_current = opus_current_bitrate,
++ .codec = opus_codec,
++ .codec_profile = opus_codec_profile
++};
++
++const int ip_priority = 50;
++const char * const ip_extensions[] = { "opus", NULL };
++const char * const ip_mime_types[] = { NULL };
++const char * const ip_options[] = { NULL };
diff --git a/community/codeblocks/PKGBUILD b/community/codeblocks/PKGBUILD
new file mode 100644
index 000000000..dfe3d6028
--- /dev/null
+++ b/community/codeblocks/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 94017 2013-07-13 12:31:23Z svenstaro $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Robert Hollencamp <rhollencamp@gmail.com>
+# Contributor: Daniel J Griffiths <griffithsdj@inbox.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=codeblocks
+pkgver=12.11
+pkgrel=3
+pkgdesc='Open source and cross-platform C/C++ IDE'
+arch=('i686' 'x86_64')
+url='http://www.codeblocks.org'
+license=('GPL3')
+depends=('boost-libs' 'bzip2' 'desktop-file-utils' 'gamin' 'gtk-update-icon-cache'
+ 'hicolor-icon-theme' 'hunspell' 'shared-mime-info' 'wxgtk')
+makedepends=('boost' 'zip')
+options=('!libtool')
+install=codeblocks.install
+source=(http://download.berlios.de/$pkgname/${pkgname}_${pkgver}-1.tar.gz)
+md5sums=('4fa8980a8c578b8b5589fceb9b0890d6')
+
+build() {
+ cd $pkgname-${pkgver}release*
+
+ LDFLAGS+=' -lX11'
+ ./configure --prefix=/usr --with-contrib-plugins=all
+ make
+}
+
+package() {
+ cd $pkgname-${pkgver}release*
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/codeblocks/codeblocks.install b/community/codeblocks/codeblocks.install
new file mode 100644
index 000000000..04d31f75b
--- /dev/null
+++ b/community/codeblocks/codeblocks.install
@@ -0,0 +1,26 @@
+pkgname=codeblocks
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-mime-database usr/share/mime
+ update-desktop-database -q
+ ln -s /usr/lib/libwxflatnotebook.so /usr/lib/libwxflatnotebook.so.0
+ ln -s /usr/lib/libwxchartctrl.so /usr/lib/libwxchartctrl.so.0
+ ln -s /usr/lib/libwxcustombutton.so /usr/lib/libwxcustombutton.so.0
+ }
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+ rm /usr/lib/libwxflatnotebook.so.0 \
+ /usr/lib/libwxchartctrl.so.0 /usr/lib/libwxcustombutton.so.0
+}
+
+pre_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-mime-database usr/share/mime
+ update-desktop-database -q
+}
diff --git a/community/collectd/PKGBUILD b/community/collectd/PKGBUILD
new file mode 100644
index 000000000..691b918e4
--- /dev/null
+++ b/community/collectd/PKGBUILD
@@ -0,0 +1,76 @@
+# $Id: PKGBUILD 91648 2013-05-26 09:24:29Z bluewind $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Gerhard Brauer <gerhard.brauer@web.de>
+
+pkgname=collectd
+pkgver=5.3.0
+pkgrel=3
+pkgdesc='Daemon which collects system performance statistics periodically'
+url='http://collectd.org/'
+arch=('i686' 'x86_64')
+license=('GPL')
+
+optdepends=('curl: apache, ascent, curl, nginx, and write_http plugins'
+ 'libdbi: dbi plugin'
+ 'libesmtp: notify_email plugin'
+ 'libgcrypt: encryption and authentication for network plugin'
+ 'libmemcached: memcachec plugin'
+ 'libmariadbclient: mysql plugin'
+ 'iproute2: netlink plugin'
+ 'net-snmp: snmp plugin'
+ 'libnotify: notify_desktop plugin'
+ 'liboping: ping plugin'
+ 'libpcap: dns plugin'
+ 'perl: perl plugin'
+ 'postgresql-libs: postgresql plugin'
+ 'python2: python plugin'
+ 'rrdtool: rrdtool and rrdcached plugins'
+ 'lm_sensors: lm_sensors and sensors plugins'
+ 'libvirt: libvirt plugin'
+ 'libxml2: ascent and libvirt plugins'
+ 'xmms: xmms plugin'
+ 'yajl: curl_json plugin')
+
+makedepends=('curl' 'libdbi' 'libesmtp' 'libgcrypt' 'libmemcached'
+ 'libmariadbclient' 'iproute2' 'net-snmp' 'libnotify' 'liboping'
+ 'libpcap' 'postgresql-libs' 'python2' 'rrdtool' 'lm_sensors'
+ 'libvirt' 'libxml2' 'xmms' 'yajl')
+
+depends=('libltdl' 'iptables')
+
+source=("${url}files/${pkgname}-${pkgver}.tar.gz"
+ 'libperl.patch'
+ 'service')
+sha1sums=('53879095aa51b7dd0b30882b0c9b6ce8c93a8539'
+ '245c098d121a4a05594553583310953b3a2f6461'
+ '04f676d0b76c34df0bbf94629813e035b1febe04')
+
+backup=('etc/collectd.conf')
+options=('!libtool')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../libperl.patch
+ autoconf
+ sed 's/-Werror//g' -i src/Makefile.in
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/bin \
+ --disable-static \
+ --with-python=/usr/bin/python2
+ make all
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ rmdir "${pkgdir}/var/run" # FS#30201
+ install -Dm644 ../service "${pkgdir}"/usr/lib/systemd/system/collectd.service
+ install -Dm644 contrib/collectd2html.pl "${pkgdir}"/usr/share/collectd/collectd2html.pl
+}
diff --git a/community/collectd/libperl.patch b/community/collectd/libperl.patch
new file mode 100644
index 000000000..baa9c5397
--- /dev/null
+++ b/community/collectd/libperl.patch
@@ -0,0 +1,29 @@
+diff -aur old/configure.in new/configure.in
+--- old/configure.in 2011-09-29 20:38:56.725672831 +1000
++++ new/configure.in 2011-09-29 20:39:07.975658829 +1000
+@@ -2810,11 +2810,13 @@
+ then
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
++ SAVE_LIBS="$LIBS"
+ dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string)
+ PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts`
+ PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts`
+ CFLAGS="$CFLAGS $PERL_CFLAGS"
+ LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
++ LIBS="$LIBS -L/usr/lib/perl5/core_perl/CORE -lperl $PERL_LDFLAGS"
+
+ AC_CACHE_CHECK([for libperl],
+ [c_cv_have_libperl],
+@@ -2833,7 +2835,10 @@
+ Nullsv);
+ ]]),
+ [c_cv_have_libperl="yes"],
+- [c_cv_have_libperl="no"]
++ [
++ c_cv_have_libperl="no"
++ LIBS="$SAVE_LIBS"
++ ]
+ )
+ )
+
diff --git a/community/collectd/service b/community/collectd/service
new file mode 100644
index 000000000..30540645a
--- /dev/null
+++ b/community/collectd/service
@@ -0,0 +1,13 @@
+[Unit]
+Description=System statistics collection daemon
+After=local-fs.target network.target
+
+[Service]
+Type=forking
+PIDFile=/run/collectdmon.pid
+ExecStart=/usr/bin/collectdmon
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/commoncpp2/PKGBUILD b/community/commoncpp2/PKGBUILD
new file mode 100644
index 000000000..806cc23a9
--- /dev/null
+++ b/community/commoncpp2/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 64380 2012-02-12 11:04:24Z arodseth $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Franco Tortoriello <franco.tortoriello@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=commoncpp2
+pkgver=1.8.1
+pkgrel=3
+pkgdesc="GNU Common C++ 2"
+arch=('x86_64' 'i686')
+url='http://www.gnu.org/software/commoncpp/'
+license=('GPL' 'custom')
+depends=('gcc-libs' 'zlib' 'sh')
+options=('!libtool' '!makeflags')
+install=$pkgname.install
+source=("http://ftp.gnu.org/pub/gnu/commoncpp/$pkgname-$pkgver.tar.gz")
+sha256sums=('53ced4aff74e28a1d8018eb2b4974519028db3c12471ab6dff1c873578c9af4e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i -e '50 a\#include <sys/stat.h>' inc/cc++/applog.h
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING.addendum \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/commoncpp2/commoncpp2.install b/community/commoncpp2/commoncpp2.install
new file mode 100644
index 000000000..762cdfb8e
--- /dev/null
+++ b/community/commoncpp2/commoncpp2.install
@@ -0,0 +1,22 @@
+infodir=usr/share/info
+filelist=(commoncpp2.info)
+
+post_install() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install "$1"
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info --delete "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/confuse/PKGBUILD b/community/confuse/PKGBUILD
new file mode 100644
index 000000000..2d7f3d77b
--- /dev/null
+++ b/community/confuse/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 64161 2012-02-09 16:35:50Z ttopper $
+# Contributor : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Alexander Mieland (dma147) <dma147@linux-stats.org>
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=confuse
+pkgver=2.7
+pkgrel=2
+pkgdesc="C-library for parsing configuration files"
+arch=('i686' 'x86_64')
+url="http://www.nongnu.org/confuse"
+license=('LGPL')
+depends=('glibc')
+source=("http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+options=('!libtool' '!emptydirs')
+md5sums=('45932fdeeccbb9ef4228f1c1a25e9c8f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-shared
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/connman/PKGBUILD b/community/connman/PKGBUILD
new file mode 100644
index 000000000..424e7da81
--- /dev/null
+++ b/community/connman/PKGBUILD
@@ -0,0 +1,49 @@
+#$Id: PKGBUILD 92495 2013-06-07 09:28:54Z tomegun $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Lucas De Marchi <lucas.de.marchi@gmail.com>
+
+pkgname=connman
+pkgver=1.15
+pkgrel=1
+pkgdesc="Wireless LAN network manager"
+url="http://connman.net/"
+arch=('i686' 'x86_64')
+license=('GPL2')
+depends=('dbus-core' 'iptables' 'glib2' 'gnutls')
+conflicts=('openresolv')
+optdepends=('bluez: Support for Bluetooth devices'
+ 'wpa_supplicant: For WiFi devices')
+makedepends=('bluez' 'wpa_supplicant' 'openconnect' 'openvpn')
+options=('!libtool')
+source=("http://www.kernel.org/pub/linux/network/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'allow_group_network.diff')
+md5sums=('d68ec364b4b3fba3131defe074c768dc'
+ 'a8d22ee089fb0ed725130d16ad393047')
+
+prepare(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/allow_group_network.diff"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --bindir=/usr/bin \
+ --sbindir=/usr/bin \
+ --with-systemdunitdir=/usr/lib/systemd/system \
+ --enable-threads \
+ --enable-openconnect \
+ --enable-vpnc \
+ --enable-openvpn \
+ --enable-polkit \
+ --enable-client
+
+ make
+}
+
+package(){
+ make -C "${srcdir}/${pkgname}-${pkgver}" DESTDIR="${pkgdir}" install
+ install -Dm755 "$srcdir/$pkgname-$pkgver/client/${pkgname}ctl" "$pkgdir/usr/bin/${pkgname}ctl"
+ find "$pkgdir/usr" -name \*.service -exec sed -i 's/s\(bin\)/\1/' {} +
+}
diff --git a/community/connman/allow_group_network.diff b/community/connman/allow_group_network.diff
new file mode 100644
index 000000000..027d933f7
--- /dev/null
+++ b/community/connman/allow_group_network.diff
@@ -0,0 +1,12 @@
+--- a/src/connman-polkit.conf 2010-11-05 12:09:04.285423955 -0200
++++ b/src/connman-polkit.conf 2010-11-05 12:10:53.041423934 -0200
+@@ -5,6 +5,9 @@
+ <allow own="net.connman"/>
+ <allow send_interface="net.connman.Agent"/>
+ </policy>
++ <policy group="network">
++ <allow send_interface="net.connman.Agent"/>
++ </policy>
+ <policy context="default">
+ <allow send_destination="net.connman"/>
+ </policy>
diff --git a/community/conntrack-tools/01-config-file-path.patch b/community/conntrack-tools/01-config-file-path.patch
new file mode 100644
index 000000000..9041ddbc4
--- /dev/null
+++ b/community/conntrack-tools/01-config-file-path.patch
@@ -0,0 +1,12 @@
+--- a/include/conntrackd.h 2012-05-26 15:29:15.630027223 +0200
++++ b/include/conntrackd.h 2012-05-27 02:26:59.426811589 +0200
+@@ -50,7 +50,7 @@
+ #define EXP_DUMP_INT_XML 47 /* dump internal cache in XML */
+ #define EXP_DUMP_EXT_XML 48 /* dump external cache in XML */
+
+-#define DEFAULT_CONFIGFILE "/etc/conntrackd/conntrackd.conf"
++#define DEFAULT_CONFIGFILE "/etc/conntrackd.conf"
+-#define DEFAULT_LOCKFILE "/var/lock/conntrackd.lock"
++#define DEFAULT_LOCKFILE "/run/lock/conntrackd.lock"
+ #define DEFAULT_LOGFILE "/var/log/conntrackd.log"
+ #define DEFAULT_STATS_LOGFILE "/var/log/conntrackd-stats.log"
diff --git a/community/conntrack-tools/PKGBUILD b/community/conntrack-tools/PKGBUILD
new file mode 100644
index 000000000..6788553f2
--- /dev/null
+++ b/community/conntrack-tools/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 90503 2013-05-12 23:32:26Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Valere Monseur <valere_monseur@hotmail.com>
+# Contributor: Alessandro Sagratini <ale_sagra@hotmail.com>
+# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
+
+pkgname=conntrack-tools
+pkgver=1.4.1
+pkgrel=2
+pkgdesc='Userspace tools to interact with the Netfilter connection tracking system'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/conntrack-tools'
+license=('GPL2')
+depends=('libnetfilter_conntrack'
+ 'libnetfilter_cttimeout'
+ 'libnetfilter_cthelper'
+ 'libnetfilter_queue')
+backup=('etc/conntrackd.conf')
+options=('!libtool')
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"
+ 'conntrackd.service'
+ '01-config-file-path.patch')
+install=$pkgname.install
+sha1sums=('6fda497ef1ebd5e4afe01830ece072d2df2fe50f'
+ 'ab888d59b98b673709d2d89554c668e2bea0cb86'
+ 'e7607a9ac14dd839f3716ac68d46e19ab26ef112')
+
+build() {
+ cd $pkgname-$pkgver
+ for i in "$srcdir"/*.patch; do
+ patch -p1 -i "$i"
+ done
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin
+ make
+}
+
+package() {
+ # install binaries
+ pushd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ popd
+ # systemd
+ install -D -m 644 conntrackd.service \
+ "$pkgdir/usr/lib/systemd/system/conntrackd.service"
+ # install empty configuration files
+ install -D -m 644 /dev/null "$pkgdir/etc/conntrackd.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/conntrack-tools/conntrack-tools.install b/community/conntrack-tools/conntrack-tools.install
new file mode 100644
index 000000000..d21a5f92c
--- /dev/null
+++ b/community/conntrack-tools/conntrack-tools.install
@@ -0,0 +1,9 @@
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ [ $(vercmp "$2" '1.0.1-2') -gt 0 ] || cat <<EOF
+Config file have been moved from /etc/conntrackd/conntrackd.conf to /etc/conntrackd.conf.
+EOF
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/conntrack-tools/conntrackd.service b/community/conntrack-tools/conntrackd.service
new file mode 100644
index 000000000..250c558cc
--- /dev/null
+++ b/community/conntrack-tools/conntrackd.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Conntrack Daemon
+
+[Service]
+ExecStart=/usr/bin/conntrackd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/consonance/PKGBUILD b/community/consonance/PKGBUILD
new file mode 100644
index 000000000..f70d45618
--- /dev/null
+++ b/community/consonance/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 82327 2013-01-15 11:34:58Z allan $
+# Maintainer: Jonathan Steel <mail at jsteel dot org>
+# Contributor: Auguste Pop <auguste [at] gmail [dot] com>
+# Contributor: boenki <boenki at gmx dot de>
+# Contributor: sujith_m82 <m.sujith@gmail.com>
+
+pkgname=consonance
+pkgver=0.5.1
+pkgrel=10
+pkgdesc="A lightweight GTK+ music manager that aims to be fast, bloat-free and light on memory consumption"
+arch=('i686' 'x86_64')
+url="http://sites.google.com/site/consonancemanager"
+license=('GPL')
+depends=('curl' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'libao' 'libmad'
+ 'libcdio-paranoia' 'libmodplug' 'libnotify' 'libsndfile' 'sqlite3'
+ 'taglib')
+install=$pkgname.install
+source=($url/releases-1/$pkgname-$pkgver.tar.gz
+ libnotify.patch
+ cdio-includes.patch)
+md5sums=('2a195dd2314f7b65cc57cc871a4c5a47'
+ 'caa1e8b41723950fd926bfefccbbd8ac'
+ '239b451ba8795f8c287e994a7e32d859')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ patch -Np1 -i "$srcdir"/libnotify.patch
+ patch -Np1 -i "$srcdir"/cdio-includes.patch
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/consonance/cdio-includes.patch b/community/consonance/cdio-includes.patch
new file mode 100644
index 000000000..c570468b1
--- /dev/null
+++ b/community/consonance/cdio-includes.patch
@@ -0,0 +1,12 @@
+diff -upr consonance-0.5.1.orig/src/cdda.h consonance-0.5.1/src/cdda.h
+--- consonance-0.5.1.orig/src/cdda.h 2013-01-14 05:14:54.000000000 +0200
++++ consonance-0.5.1/src/cdda.h 2013-01-14 05:15:16.000000000 +0200
+@@ -18,7 +18,7 @@
+ #ifndef CDDA_H
+ #define CDDA_H
+
+-#include <cdio/cdda.h>
++#include <cdio/paranoia/cdda.h>
+ #include <cdio/cd_types.h>
+
+ struct con_cdda_decoder {
diff --git a/community/consonance/consonance.install b/community/consonance/consonance.install
new file mode 100644
index 000000000..f1474aee3
--- /dev/null
+++ b/community/consonance/consonance.install
@@ -0,0 +1,14 @@
+post_install()
+{
+ usr/bin/update-desktop-database -q
+}
+
+post_upgrade()
+{
+ post_install
+}
+
+post_remove()
+{
+ post_install
+}
diff --git a/community/consonance/libnotify.patch b/community/consonance/libnotify.patch
new file mode 100644
index 000000000..f59acbfd9
--- /dev/null
+++ b/community/consonance/libnotify.patch
@@ -0,0 +1,18 @@
+diff --git a/src/statusicon.c b/src/statusicon.c
+index f72e808..04efa58 100644
+--- a/src/statusicon.c
++++ b/src/statusicon.c
+@@ -47,11 +47,10 @@ void show_osd(struct con_win *cwin)
+
+ /* Create notification instance */
+
+- osd = notify_notification_new_with_status_icon(
++ osd = notify_notification_new(
+ cwin->cstate->curr_mobj->tags->title,
+ (const gchar *)body,
+- NULL,
+- GTK_STATUS_ICON(cwin->status_icon));
++ gtk_status_icon_get_icon_name(GTK_STATUS_ICON(cwin->status_icon)));
+ notify_notification_set_timeout(osd, OSD_TIMEOUT);
+
+ /* Add album art if set */
diff --git a/community/converseen/PKGBUILD b/community/converseen/PKGBUILD
new file mode 100644
index 000000000..f7b814f97
--- /dev/null
+++ b/community/converseen/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 94206 2013-07-16 17:32:49Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: archtux <antonio.arias99999 at gmail.com>
+
+pkgname=converseen
+pkgver=0.6.3
+pkgrel=1
+pkgdesc="The batch image converter and resizer"
+arch=('i686' 'x86_64')
+url="http://converseen.sourceforge.net/"
+license=('GPL3')
+depends=('imagemagick' 'qt4' 'libwmf' 'openexr')
+makedepends=('cmake')
+install=converseen.install
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('33b0b1e3649c075ab7ad970ee4ed465c')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DImageMagick_Magick++_INCLUDE_DIR:PATH=/usr/include/ImageMagick-6 \
+ -DImageMagick_Magick++_LIBRARY:FILEPATH=/usr/lib/libMagick++-6.Q16.so \
+ -DImageMagick_MagickWand_INCLUDE_DIR:PATH=/usr/include/ImageMagick-6 \
+ -DImageMagick_MagickWand_LIBRARY:FILEPATH=/usr/lib/libMagickWand-6.Q16.so \
+ -DImageMagick_MagickCore_INCLUDE_DIR:PATH=/usr/include/ImageMagick-6 \
+ -DImageMagick_MagickCore_LIBRARY:FILEPATH=/usr/lib/libMagickCore-6.Q16.so
+ make
+}
+
+package() {
+ cd "${srcdir}/build"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/converseen/converseen.install b/community/converseen/converseen.install
new file mode 100644
index 000000000..9af7fa81f
--- /dev/null
+++ b/community/converseen/converseen.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/corkscrew/ChangeLog b/community/corkscrew/ChangeLog
new file mode 100644
index 000000000..8dfd33f1b
--- /dev/null
+++ b/community/corkscrew/ChangeLog
@@ -0,0 +1,3 @@
+2010-04-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community]
+ * version 2.0 - 61 votes in AUR
diff --git a/community/corkscrew/PKGBUILD b/community/corkscrew/PKGBUILD
new file mode 100644
index 000000000..0ca69f387
--- /dev/null
+++ b/community/corkscrew/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 67471 2012-03-11 21:49:49Z lcarlier $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: gothmog.todi <t.haider@vcnc.org>
+
+pkgname=corkscrew
+pkgver=2.0
+pkgrel=5
+pkgdesc="A tool for tunneling SSH through HTTP proxies"
+arch=('i686' 'x86_64')
+url="http://www.agroman.net/corkscrew/"
+license=('GPL')
+source=(http://www.agroman.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('35df77e7f0e59c0ec4f80313be52c10a')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/couchdb/PKGBUILD b/community/couchdb/PKGBUILD
new file mode 100644
index 000000000..9ea90c437
--- /dev/null
+++ b/community/couchdb/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 93137 2013-06-25 15:46:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Vitaliy Berdinskikh ur6lad[at]i.ua
+# Contributor: Michael Fellinger <m.fellinger@gmail.com>
+
+pkgname=couchdb
+pkgver=1.4.0pre
+pkgrel=1
+pkgdesc="A document-oriented database that can be queried and indexed in a MapReduce fashion using JSON"
+arch=('i686' 'x86_64')
+url="http://couchdb.apache.org"
+license=('APACHE')
+depends=('icu' 'erlang-nox' 'js185' 'openssl' 'curl')
+makedepends=('autoconf-archive' 'git')
+install=couchdb.install
+options=('!libtool')
+backup=('etc/couchdb/local.ini'
+ 'etc/conf.d/couchdb'
+ 'etc/logrotate.d/couchdb')
+#source=("http://www.sai.msu.su/apache/couchdb/source/$pkgver/apache-couchdb-$pkgver.tar.gz"{,.asc}
+source=("git://github.com/apache/couchdb.git#commit=8d7ab8b18dd20f8785e69f4420c6f93a2edbfa60"
+ "couchdb.service"
+ "couchdb.tmpfiles")
+md5sums=('SKIP'
+ '8914a7ffc6745f94106d96206709acb4'
+ '1e254ebe32eeb061be64193bafa35dbf')
+
+build() {
+ cd "$srcdir/couchdb"
+ ./bootstrap
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$srcdir/couchdb"
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 etc/default/couchdb $pkgdir/etc/conf.d/couchdb
+ sed -i 's|\(COUCHDB_OPTIONS=\)|\1"-p /var/run/couchdb/couchdb.pid"|' $pkgdir/etc/conf.d/couchdb
+
+ rm -rf $pkgdir/etc/default/ $pkgdir/var/run
+
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ install -Dm0644 $srcdir/$pkgname.tmpfiles $pkgdir/usr/lib/tmpfiles.d/$pkgname.conf
+}
diff --git a/community/couchdb/couchdb.install b/community/couchdb/couchdb.install
new file mode 100644
index 000000000..5eff459c7
--- /dev/null
+++ b/community/couchdb/couchdb.install
@@ -0,0 +1,22 @@
+post_install() {
+ id couchdb &>/dev/null || \
+ useradd -r -c "CouchDB daemon" -g daemon -d /var/lib/couchdb -s /bin/false couchdb
+ mkdir -p /var/run/couchdb
+ chown -R couchdb.daemon /etc/couchdb
+ chown -R couchdb.daemon /var/{lib,log,run}/couchdb
+}
+
+pre_upgrade() {
+ id couchdb &>/dev/null || \
+ useradd -r -c "CouchDB daemon" -g daemon -d /var/lib/couchdb -s /bin/false couchdb
+}
+
+post_upgrade() {
+ mkdir -p $pkgdir/var/run/couchdb
+ chown -R couchdb.daemon /etc/couchdb
+ chown -R couchdb.daemon /var/{lib,log,run}/couchdb
+}
+
+post_remove() {
+ userdel couchdb &>/dev/null
+}
diff --git a/community/couchdb/couchdb.service b/community/couchdb/couchdb.service
new file mode 100644
index 000000000..50284f4c3
--- /dev/null
+++ b/community/couchdb/couchdb.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=CouchDB Server
+
+[Service]
+User=couchdb
+Type=forking
+PermissionsStartOnly=true
+ExecStart=/usr/bin/couchdb -b -o /dev/null -e /dev/null
+ExecStop=/usr/bin/couchdb -d
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/couchdb/couchdb.tmpfiles b/community/couchdb/couchdb.tmpfiles
new file mode 100644
index 000000000..de4378746
--- /dev/null
+++ b/community/couchdb/couchdb.tmpfiles
@@ -0,0 +1 @@
+d /run/couchdb 0755 couchdb daemon -
diff --git a/community/cppcheck/PKGBUILD b/community/cppcheck/PKGBUILD
new file mode 100644
index 000000000..adc0523aa
--- /dev/null
+++ b/community/cppcheck/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92619 2013-06-10 06:38:48Z bpiotrowski $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+
+pkgname=cppcheck
+pkgver=1.60.1
+pkgrel=1
+pkgdesc="A tool for static C/C++ code analysis"
+arch=('i686' 'x86_64')
+url="http://cppcheck.wiki.sourceforge.net/"
+license=('GPL')
+depends=('pcre' 'qt4')
+makedepends=('docbook-xsl')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('282e74459747d6c940fa65376049cb642cd32e6a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make
+ make DB2MAN=/usr/share/xml/docbook/xsl-stylesheets-1.78.1/manpages/docbook.xsl man
+
+ cd gui
+ export HAVE_RULES=yes
+ qmake-qt4
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -D -p -m 644 cppcheck.1 "${pkgdir}"/usr/share/man/man1/cppcheck.1
+
+ install -m755 gui/cppcheck-gui "${pkgdir}"/usr/bin
+}
diff --git a/community/cpuburn/PKGBUILD b/community/cpuburn/PKGBUILD
new file mode 100644
index 000000000..b64b7debd
--- /dev/null
+++ b/community/cpuburn/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 65092 2012-02-20 03:36:44Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Filip Wojciechowski, filip at loka dot pl
+
+pkgname=cpuburn
+pkgver=1.4a
+pkgrel=3
+pkgdesc="CPU testing utilities in optimized assembler for maximum loading of CPUs"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/ubuntu/+source/cpuburn/"
+license=('GPL')
+depends=()
+source=(https://launchpad.net/ubuntu/+archive/primary/+files/cpuburn_$pkgver.orig.tar.gz
+ cpuburn.patch)
+md5sums=('a9e1df40c660324eb08e91847cbc41b9'
+ 'f3c77db7592ac02ee83958f07ceb8986')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i ../cpuburn.patch
+ make
+ install -Dm755 burnBX $pkgdir/usr/bin/burnBX
+ install -Dm755 burnK6 $pkgdir/usr/bin/burnK6
+ install -Dm755 burnK7 $pkgdir/usr/bin/burnK7
+ install -Dm755 burnMMX $pkgdir/usr/bin/burnMMX
+ install -Dm755 burnP5 $pkgdir/usr/bin/burnP5
+ install -Dm755 burnP6 $pkgdir/usr/bin/burnP6
+ install -Dm644 README $pkgdir/usr/share/doc/$pkgname/README
+ install -Dm644 Design $pkgdir/usr/share/doc/$pkgname/Design
+}
diff --git a/community/cpuburn/cpuburn.patch b/community/cpuburn/cpuburn.patch
new file mode 100644
index 000000000..4bcd978b7
--- /dev/null
+++ b/community/cpuburn/cpuburn.patch
@@ -0,0 +1,41 @@
+--- cpuburn-1.4.orig/burnP6.S
++++ cpuburn-1.4/burnP6.S
+@@ -69,6 +69,7 @@
+ push %eax # *BSD syscall
+ int $0x80
+ #endif
++.data # Data allocation
+ .align 32,0
+ half: .long 0x7fffffff,0
+ e: .long 0xffffffff,0x3fdfffff
+--- cpuburn-1.4.orig/burnK6.S
++++ cpuburn-1.4/burnK6.S
+@@ -68,6 +68,7 @@
+ push %eax
+ int $0x80
+ #endif
++.data # Data allocation
+ .align 32,0
+ half: .long 0x7fffffff,0
+ e: .long 0xffffffff,0x3fdfffff
+--- cpuburn-1.4.orig/Makefile
++++ cpuburn-1.4/Makefile
+@@ -1,3 +1,3 @@
+ all : burnP5 burnP6 burnK6 burnK7 burnBX burnMMX
+ .S:
+- gcc -s -nostdlib -o $@ $<
++ gcc -m32 -s -nostdlib -o $@ $<
+--- cpuburn-1.4.orig/burnK7.S
++++ cpuburn-1.4/burnK7.S
+@@ -74,10 +74,9 @@
+ push %eax
+ int $0x80
+ #endif
++.data # Data allocation
+ .align 32,0
+ .fill 64
+ half: .long 0x7fffffff,0
+ e: .long 0xffffffff,0x3fdfffff
+ rt: .long 0xffffffff,0x3fefffff
+-
+-
diff --git a/community/cpulimit/PKGBUILD b/community/cpulimit/PKGBUILD
new file mode 100644
index 000000000..a8973bb03
--- /dev/null
+++ b/community/cpulimit/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 76442 2012-09-18 16:13:31Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=cpulimit
+pkgver=20120918
+pkgrel=1
+pkgdesc="Limit cpu usage in %. Actualy sends SIGSTOP/SIGCONT"
+arch=('i686' 'x86_64')
+url="http://cpulimit.sourceforge.net/"
+license=("GPL")
+depends=()
+source=("$pkgname-$pkgver.tar.gz::https://github.com/opsengine/cpulimit/tarball/master")
+md5sums=('a80b8ec21b668d1c15a29ab1f795d1ba')
+
+build() {
+ cd $srcdir/opsengine-cpulimit-*
+ make
+ install -Dm0755 src/cpulimit $pkgdir/usr/bin/cpulimit
+ install -Dm0644 README $pkgdir/usr/share/doc/$pkgname/README
+}
diff --git a/community/credentials-preferences/PKGBUILD b/community/credentials-preferences/PKGBUILD
new file mode 100644
index 000000000..e4172f82d
--- /dev/null
+++ b/community/credentials-preferences/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 87397 2013-03-30 21:57:57Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=credentials-preferences
+_pkgname=credentials-control-center
+pkgver=0.1.5
+pkgrel=1
+pkgdesc="Control panel for configuring online account credentials and settings"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/gnome-control-center-signon"
+license=('GPL' 'LGPL')
+depends=('libaccounts-glib' 'libsignon-glib' 'gtk3')
+makedepends=('gobject-introspection' 'vala' 'intltool' 'itstool')
+options=('!libtool')
+install=$pkgname.install
+source=(https://launchpad.net/gnome-control-center-signon/13.04/$pkgver/+download/$_pkgname-$pkgver.tar.xz
+ http://pkgbuild.com/~bgyorgy/sources/$_pkgname-translations-20121018.tar.gz)
+md5sums=('deaa290c89dffee5198f3f0f6f2e1fe1'
+ '702d6b39136e10ba6dfad0afd300b2af')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ # Install updated language files
+ rename $_pkgname- '' ../po/$_pkgname-*.po
+ mv -f -t po ../po/*
+ printf "%s\n" po/*.po | sed -e 's/po\///g' -e 's/\.po//g' >po/LINGUAS
+
+ # Fix helper script
+ sed -i 's/test/test -e/' online-accounts-preferences.in
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/credentials-preferences/credentials-preferences.install b/community/credentials-preferences/credentials-preferences.install
new file mode 100644
index 000000000..2c455e952
--- /dev/null
+++ b/community/credentials-preferences/credentials-preferences.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/critter/PKGBUILD b/community/critter/PKGBUILD
new file mode 100644
index 000000000..713e6c628
--- /dev/null
+++ b/community/critter/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 90012 2013-05-06 19:36:32Z foutrelis $
+# Maintainer: Laurent Carlier <Lordheavym@gmail.com>
+# Contributor: Allan McRae <mcrae_allan@hotmail.com>
+# Contributor: Daniel J Griffiths <griffithsdj@archlinux.us>
+
+pkgname=critter
+_origname=CriticalMass
+pkgver=1.0.2
+pkgrel=8
+pkgdesc="Critical Mass (aka Critter) is an SDL/OpenGL space shoot'em up game"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/criticalmass"
+license=('GPL')
+depends=('sdl_image' 'sdl_mixer' 'libgl')
+makedepends=('mesa')
+source=(http://downloads.sourceforge.net/sourceforge/criticalmass/$_origname-${pkgver}.tar.bz2
+ critter-gcc43.patch
+ criticalmass-1.0.2-libpng15.patch
+ critter.desktop)
+md5sums=('e2aff114bffa717fb79c82e1dc473ebe'
+ 'e936920acce56bfa3b0123ca8b1193a6'
+ '76448ba5b7a42aec8fd2a5d1bc31b8e2'
+ '98c17809aed964c445adad09827035df')
+
+build() {
+ cd ${srcdir}/$_origname-${pkgver}
+
+ patch -Np1 -i ../critter-gcc43.patch
+ patch -Np0 -i ../criticalmass-1.0.2-libpng15.patch
+ sed -i 's|-lpng12|-lpng16|g' configure
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${srcdir}/$_origname-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ install -Dm644 critter.png ${pkgdir}/usr/share/pixmaps/critter.png
+ install -Dm644 ../critter.desktop \
+ ${pkgdir}/usr/share/applications/critter.desktop
+}
diff --git a/community/critter/criticalmass-1.0.2-libpng15.patch b/community/critter/criticalmass-1.0.2-libpng15.patch
new file mode 100644
index 000000000..ac1b8c0c6
--- /dev/null
+++ b/community/critter/criticalmass-1.0.2-libpng15.patch
@@ -0,0 +1,31 @@
+--- game/main.cpp
++++ game/main.cpp
+@@ -28,6 +28,8 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+
++#include <zlib.h>
++
+ void migrateConfig( void)
+ {
+ //if onlineCheck is not set, default it to true
+--- utilssdl/PNG.cpp
++++ utilssdl/PNG.cpp
+@@ -45,7 +45,7 @@
+ {
+ png_size_t check;
+
+- check = fwrite( data, 1, length, (FILE *)(png->io_ptr));
++ check = fwrite( data, 1, length, (FILE *)(png_get_io_ptr(png)));
+ if( check != length)
+ {
+ png_error( png, "Write Error");
+@@ -72,7 +72,7 @@
+ return false;
+ }
+
+- if( setjmp(_png->jmpbuf))
++ if( setjmp(png_jmpbuf(_png)))
+ {
+ fclose( fp);
+ png_destroy_write_struct(&_png, (png_infopp)NULL);
diff --git a/community/critter/critter-gcc43.patch b/community/critter/critter-gcc43.patch
new file mode 100644
index 000000000..ade42d8e4
--- /dev/null
+++ b/community/critter/critter-gcc43.patch
@@ -0,0 +1,69 @@
+diff -Naur CriticalMass-1.0.2-old/tinyxml/tinyxml.cpp CriticalMass-1.0.2/tinyxml/tinyxml.cpp
+--- CriticalMass-1.0.2-old/tinyxml/tinyxml.cpp 2003-03-03 12:34:58.000000000 +1000
++++ CriticalMass-1.0.2/tinyxml/tinyxml.cpp 2008-04-01 22:26:47.000000000 +1000
+@@ -22,7 +22,8 @@
+ */
+
+ #include "tinyxml.h"
+-
++#include <cstring>
++#include <cstdlib>
+
+ TiXmlNode::TiXmlNode( NodeType _type )
+ {
+diff -Naur CriticalMass-1.0.2-old/tinyxml/tinyxmlparser.cpp CriticalMass-1.0.2/tinyxml/tinyxmlparser.cpp
+--- CriticalMass-1.0.2-old/tinyxml/tinyxmlparser.cpp 2003-03-03 12:34:58.000000000 +1000
++++ CriticalMass-1.0.2/tinyxml/tinyxmlparser.cpp 2008-04-01 22:27:02.000000000 +1000
+@@ -24,7 +24,7 @@
+
+ #include "tinyxml.h"
+ #include <ctype.h>
+-
++#include <cstring>
+ const char* TiXmlBase::SkipWhiteSpace( const char* p )
+ {
+ while ( p && *p &&
+diff -Naur CriticalMass-1.0.2-old/utils/ResourceManager.cpp CriticalMass-1.0.2/utils/ResourceManager.cpp
+--- CriticalMass-1.0.2-old/utils/ResourceManager.cpp 2005-01-02 12:59:29.000000000 +1000
++++ CriticalMass-1.0.2/utils/ResourceManager.cpp 2008-04-01 22:27:19.000000000 +1000
+@@ -15,6 +15,7 @@
+ #include <iomanip>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <cstring>
+
+ #include <Trace.hpp>
+ #include <ResourceManager.hpp>
+diff -Naur CriticalMass-1.0.2-old/utils/Value.hpp CriticalMass-1.0.2/utils/Value.hpp
+--- CriticalMass-1.0.2-old/utils/Value.hpp 2004-12-18 12:41:24.000000000 +1000
++++ CriticalMass-1.0.2/utils/Value.hpp 2008-04-01 22:27:39.000000000 +1000
+@@ -17,6 +17,7 @@
+
+ #include <stdio.h>
+ #include <string>
++#include <cstdlib>
+
+ #include <Trace.hpp>
+
+diff -Naur CriticalMass-1.0.2-old/utils/zStream.cpp CriticalMass-1.0.2/utils/zStream.cpp
+--- CriticalMass-1.0.2-old/utils/zStream.cpp 2005-08-01 06:06:14.000000000 +1000
++++ CriticalMass-1.0.2/utils/zStream.cpp 2008-04-01 22:28:03.000000000 +1000
+@@ -17,6 +17,7 @@
+ #include <zStream.hpp>
+ #include <zStreamBufferImplLZMA.hpp>
+ #include <zStreamBufferImplZLib.hpp>
++#include <cstdlib>
+
+ ofstream &operator<<( ofstream &outfile, Uint32 i)
+ {
+diff -Naur CriticalMass-1.0.2-old/utils/zStreamBufferImplZLib.cpp CriticalMass-1.0.2/utils/zStreamBufferImplZLib.cpp
+--- CriticalMass-1.0.2-old/utils/zStreamBufferImplZLib.cpp 2005-08-01 06:06:14.000000000 +1000
++++ CriticalMass-1.0.2/utils/zStreamBufferImplZLib.cpp 2008-04-01 22:28:23.000000000 +1000
+@@ -14,6 +14,7 @@
+ //
+ #include <Trace.hpp>
+ #include <zStreamBufferImplZLib.hpp>
++#include <cstdlib>
+
+ bool ziStreamBufferImplZLib::init( void)
+ {
diff --git a/community/critter/critter.desktop b/community/critter/critter.desktop
new file mode 100644
index 000000000..ded5a9fbf
--- /dev/null
+++ b/community/critter/critter.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Critical Mass
+Comment=SDL/OpenGL space shoot'em up game
+Exec=critter
+Icon=critter
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=Game;
diff --git a/community/cromfs/PKGBUILD b/community/cromfs/PKGBUILD
new file mode 100644
index 000000000..2d3b2454a
--- /dev/null
+++ b/community/cromfs/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 93532 2013-07-05 01:31:34Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=cromfs
+pkgver=1.5.10.1
+pkgrel=2
+arch=('i686' 'x86_64')
+pkgdesc='Compressed read-only filesystem based on FUSE'
+url='http://bisqwit.iki.fi/source/cromfs.html'
+license=('GPL')
+depends=('fuse' 'lzo2')
+source=("http://bisqwit.iki.fi/src/arch/${pkgname}-${pkgver}.tar.gz"
+ 'make-generic.patch')
+sha1sums=('3d591530ea3a6ed9b6b53b3fcccf9c7c021efd13'
+ 'ae51f1d2446df20bcbaef6ac125b1756177725d4')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../make-generic.patch
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -d "${pkgdir}"/usr/{bin,share/doc/cromfs}
+ install -m755 install/progs/* "${pkgdir}"/usr/bin/
+ install -m644 install/docs/* "${pkgdir}"/usr/share/doc/cromfs/
+}
diff --git a/community/cromfs/make-generic.patch b/community/cromfs/make-generic.patch
new file mode 100644
index 000000000..6dff65efb
--- /dev/null
+++ b/community/cromfs/make-generic.patch
@@ -0,0 +1,25 @@
+diff -Naur old/configure new/configure
+--- old/configure 2012-04-11 09:33:55.000000000 +0200
++++ new/configure 2012-04-11 12:05:07.098916602 +0200
+@@ -96,9 +96,9 @@
+ fi
+ }
+
+-CFLAGS=""
+-CPPFLAGS=""
+-LDFLAGS=""
++CFLAGS="$CFLAGS"
++CPPFLAGS="$CXXFLAGS"
++LDFLAGS="$LDFLAGS"
+ OPTIM=""
+
+ do_echo -n "Determining compiler version to use... "
+@@ -451,6 +451,8 @@
+ OPTIM="$OPTIM_BACKUP $BEST_CPUFEATURE"
+ fi
+
++OPTIM=""
++
+ do_echo "Updating Makefile.sets ..."
+
+ if [ "$DEBUG" = "1" ]; then
diff --git a/community/csfml/PKGBUILD b/community/csfml/PKGBUILD
new file mode 100644
index 000000000..4ed6778c8
--- /dev/null
+++ b/community/csfml/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 88191 2013-04-13 15:25:43Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+
+pkgname=csfml
+pkgver=2.0
+pkgrel=1
+pkgdesc='C bindings for sfml'
+arch=('i686' 'x86_64')
+url='http://www.sfml-dev.org/'
+license=('zlib')
+depends=("sfml=${pkgver}")
+makedepends=('cmake' 'doxygen')
+source=("csfml-${pkgver}::https://github.com/LaurentGomila/CSFML/archive/2.0.tar.gz")
+md5sums=('d609c9e3b115d480d8c61911d774472c')
+
+build() {
+ cd "$srcdir"/CSFML-${pkgver}
+
+ mkdir build && cd build
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_DOC=true
+ make
+ make doc
+}
+
+package() {
+ cd "$srcdir"/CSFML-${pkgver}/build
+
+ make DESTDIR="$pkgdir/" install
+
+ install -Dm644 ../license.txt ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
diff --git a/community/ctpl/PKGBUILD b/community/ctpl/PKGBUILD
new file mode 100644
index 000000000..0547eabfe
--- /dev/null
+++ b/community/ctpl/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 60598 2011-12-14 19:59:50Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Patrick Melo <patrick@patrickmelo.eti.br>
+pkgname=ctpl
+pkgver=0.3.3
+pkgrel=3
+pkgdesc="Template engine library written in C"
+arch=('x86_64' 'i686')
+url="http://ctpl.tuxfamily.org/"
+license=('GPL')
+depends=('glib2')
+options=(!libtool)
+source=("http://download.tuxfamily.org/ctpl/releases/$pkgname-$pkgver.tar.gz")
+sha256sums=('7da73e7d8f10d222f5685b8eb80541d7e4d342aa74673039692fa5c4e8b120a7')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/cuetools/PKGBUILD b/community/cuetools/PKGBUILD
new file mode 100644
index 000000000..439ce866c
--- /dev/null
+++ b/community/cuetools/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 64846 2012-02-18 17:42:48Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=cuetools
+pkgver=1.3.1
+pkgrel=5
+pkgdesc="Set of utilities for working with cue files and toc files"
+arch=('i686' 'x86_64')
+url="http://developer.berlios.de/projects/cuetools/"
+license=('GPL')
+depends=('glibc')
+source=(http://download.berlios.de/$pkgname/$pkgname-$pkgver.tar.gz \
+ cuetag.patch)
+md5sums=('45575f7a1bdc6615599fa6cb49845cca'
+ '38969241a7b6ac88e2f1b46c3da0ecc2')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ # fix cuetag
+ patch -Np0 < "$srcdir"/cuetag.patch
+ sed -i -e 's/--import-vc-from/--import-tags-from/' \
+ -e 's/--remove-vc-all/--remove-all-tags/' extras/cuetag.sh
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+ install -m755 extras/cuetag.sh "$pkgdir"/usr/bin/cuetag.sh
+}
diff --git a/community/cuetools/cuetag.patch b/community/cuetools/cuetag.patch
new file mode 100644
index 000000000..cd41dcd56
--- /dev/null
+++ b/community/cuetools/cuetag.patch
@@ -0,0 +1,37 @@
+--- extras/cuetag.sh 2006-09-06 14:24:47.000000000 -0400
++++ extras/cuetag.sh 2007-01-26 00:13:23.000000000 -0500
+@@ -63,7 +63,7 @@
+ (for field in $fields; do
+ value=""
+ for conv in `eval echo \\$$field`; do
+- value=`$CUEPRINT -n $1 -t "$conv\n" $cue_file`
++ value=`$CUEPRINT -n $1 -t "$conv\n" "$cue_file"`
+
+ if [ -n "$value" ]; then
+ echo "$field=$value"
+@@ -96,7 +96,7 @@
+ for field in $fields; do
+ value=""
+ for conv in `eval echo \\$$field`; do
+- value=`$CUEPRINT -n $1 -t "$conv\n" $cue_file`
++ value=`$CUEPRINT -n $1 -t "$conv\n" "$cue_file"`
+
+ if [ -n "$value" ]; then
+ break
+@@ -141,14 +141,14 @@
+ cue_file=$1
+ shift
+
+- ntrack=`cueprint -d '%N' $cue_file`
++ ntrack=`cueprint -d '%N' "$cue_file"`
+ trackno=1
+
+ if [ $# -ne $ntrack ]; then
+ echo "warning: number of files does not match number of tracks"
+ fi
+
+- for file in $@; do
++ for file in "$@"; do
+ case $file in
+ *.[Ff][Ll][Aa][Cc])
+ vorbis $trackno "$file"
diff --git a/community/cuneiform/PKGBUILD b/community/cuneiform/PKGBUILD
new file mode 100644
index 000000000..a8aacbd3b
--- /dev/null
+++ b/community/cuneiform/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 87488 2013-04-01 16:09:28Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Maxim Vuets <maxim.vuets@gmail.com>
+
+pkgname=cuneiform
+pkgver=1.1.0
+_dpkgver=1.1
+pkgrel=8
+pkgdesc="Linux port of an OCR system developed in Russia. Supports more than 20 languages."
+arch=('i686' 'x86_64')
+url="https://launchpad.net/cuneiform-linux"
+license=('BSD')
+depends=('imagemagick')
+makedepends=('cmake')
+source=(http://launchpad.net/cuneiform-linux/${_dpkgver}/${_dpkgver}/+download/cuneiform-linux-${pkgver}.tar.bz2)
+md5sums=('09fd160cdfc512f26442a7e91246598d')
+
+_SRC_ROOT="${srcdir}/${pkgname}-linux-${pkgver}"
+md5sums=('09fd160cdfc512f26442a7e91246598d')
+
+build() {
+ cd "${_SRC_ROOT}"
+ sed -i 's#lib64#lib#' install_files.cmake
+ mkdir -p builddir
+ cd builddir
+
+ LMAGICK=`ls -1 /usr/lib/libMagick++*.so.?`
+
+ cmake \
+ -DCMAKE_BUILD_TYPE=release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DImageMagick_Magick++_LIBRARY=$LMAGICK \
+ -DImageMagick_Magick++_INCLUDE_DIR=/usr/include/ImageMagick-6 \
+ ..
+ make
+}
+
+check() {
+ ldd ${_SRC_ROOT}/builddir/cuneiform | grep Magick >/dev/null
+}
+
+package() {
+ cd "${_SRC_ROOT}"/builddir
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${_SRC_ROOT}/cuneiform_src/Kern/license.txt" \
+ "${pkgdir}/usr/share/licenses/cuneiform/license.txt"
+}
diff --git a/community/curlftpfs/PKGBUILD b/community/curlftpfs/PKGBUILD
new file mode 100644
index 000000000..efe80c5e6
--- /dev/null
+++ b/community/curlftpfs/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 65667 2012-02-21 20:28:52Z cbrannon $
+# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Allan McRae <mcrae_allan@hotmail.com>
+# Contributor: Philip Nilsson <leffeman@gmail.com>
+
+pkgname=curlftpfs
+pkgver=0.9.2
+pkgrel=4
+pkgdesc="A filesystem for acessing FTP hosts based on FUSE and libcurl."
+url="http://curlftpfs.sourceforge.net/"
+license=('GPL')
+depends=('curl>=7.15.4' 'fuse' 'glib2')
+makedepends=('pkgconfig>=0.9.0')
+arch=('i686' 'x86_64')
+source=(http://downloads.sourceforge.net/sourceforge/curlftpfs/$pkgname-$pkgver.tar.gz
+ ioerror.patch)
+md5sums=('b452123f755114cd4461d56c648d9f12'
+ '7a8db686293463ba3148c7032871c883')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 < "$srcdir/ioerror.patch"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/curlftpfs/ioerror.patch b/community/curlftpfs/ioerror.patch
new file mode 100644
index 000000000..6ca1afb4f
--- /dev/null
+++ b/community/curlftpfs/ioerror.patch
@@ -0,0 +1,11 @@
+--- curlftpfs-0.9.2.orig/ftpfs.c 2008-04-30 03:05:47.000000000 +0400
++++ curlftpfs-0.9.2.orig/ftpfs.c 2011-01-20 20:33:38.000000000 +0300
+@@ -503,7 +503,7 @@ static void *ftpfs_write_thread(void *da
+
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_URL, fh->full_path);
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_UPLOAD, 1);
+- curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, -1);
++ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, (curl_off_t)-1);
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READFUNCTION, write_data_bg);
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READDATA, fh);
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_LOW_SPEED_LIMIT, 1);
diff --git a/community/cutter/ChangeLog b/community/cutter/ChangeLog
new file mode 100644
index 000000000..d22a5592c
--- /dev/null
+++ b/community/cutter/ChangeLog
@@ -0,0 +1,3 @@
+2007-07-02 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/cutter/PKGBUILD b/community/cutter/PKGBUILD
new file mode 100644
index 000000000..80c13857f
--- /dev/null
+++ b/community/cutter/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 71088 2012-05-23 18:06:28Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=cutter
+pkgver=1.03
+pkgrel=5
+pkgdesc="TCP/IP Connection cutting on Linux Firewalls and Routers"
+arch=('i686' 'x86_64')
+url="http://www.lowth.com/cutter/"
+license=('GPL')
+depends=(glibc)
+source=(http://www.lowth.com/cutter/software/cutter-$pkgver.tgz)
+md5sums=('50093db9b64277643969ee75b83ebbd1')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's|/proc/net/ip_conntrack|/proc/net/nf_conntrack|g' cutter.c
+ make
+ install -D -m 0755 ./cutter $pkgdir/usr/bin/tcp-cutter
+}
diff --git a/community/cuyo/PKGBUILD b/community/cuyo/PKGBUILD
new file mode 100644
index 000000000..dfcd2ffc3
--- /dev/null
+++ b/community/cuyo/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 84769 2013-02-24 13:12:51Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=cuyo
+pkgver=2.0.0
+pkgrel=1
+epoch=1
+pkgdesc="Tetris-style puzzle game for up to two players with a twist"
+arch=('i686' 'x86_64')
+url="http://www.karimmi.de/cuyo/"
+license=('GPL')
+depends=('desktop-file-utils' 'hicolor-icon-theme' 'sdl' 'sdl_mixer' 'sdl_image' 'xdg-utils')
+makedepends=('patch')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz \
+ $pkgname.diff)
+sha256sums=('531cfb989087199f643ac4b18ff9cc50793cc3fa07ee06f394f73d153c09ae34'
+ 'efceed1489c551f5ae8909df3ad57f302f8105cbb1e735d8ece44269e886ce7c')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ patch -Np0 -i ${srcdir}/$pkgname.diff
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/cuyo/cuyo.changelog b/community/cuyo/cuyo.changelog
new file mode 100644
index 000000000..f7e64c7af
--- /dev/null
+++ b/community/cuyo/cuyo.changelog
@@ -0,0 +1,8 @@
+2013-02-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * cuyo 2.0.0-1
+
+2011-12-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * cuyo 2.~1.2-1
+
+2009-11-16 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to minor release 2.~1.1-4
diff --git a/community/cuyo/cuyo.diff b/community/cuyo/cuyo.diff
new file mode 100644
index 000000000..e38fedbdf
--- /dev/null
+++ b/community/cuyo/cuyo.diff
@@ -0,0 +1,6 @@
+--- icons/cuyo.desktop~ 2011-03-26 16:20:01.000000000 +0100
++++ icons/cuyo.desktop 2013-02-24 14:00:34.385662015 +0100
+@@ -7 +6,0 @@
+-Encoding=UTF-8
+@@ -8,0 +8 @@
++Comment[cs]=Hra podobná tetrisu s mnoha úrovněmi
diff --git a/community/cuyo/cuyo.install b/community/cuyo/cuyo.install
new file mode 100644
index 000000000..3e6bc7c16
--- /dev/null
+++ b/community/cuyo/cuyo.install
@@ -0,0 +1,12 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/cwiid/PKGBUILD b/community/cwiid/PKGBUILD
new file mode 100644
index 000000000..780155b0d
--- /dev/null
+++ b/community/cwiid/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 92496 2013-06-07 09:28:55Z tomegun $
+# Maintainer : speps <speps at aur dot archlinux dot org>
+# Contributor: Ray Rashif <schiv@archlinux.org>
+# Contributor: Wieland Hoffmann <the_mineo@web.de>
+# Contributor: Birger Moellering <bmoellering@googlemail.com>
+# 2012/03/21 : <dropped from community; broken + see bug #28344>
+# 2012/06/05 : <added into community as supercollider dependency>
+
+pkgname=cwiid
+pkgver=0.6.00
+pkgrel=13
+pkgdesc="Linux Nintendo Wiimote interface"
+arch=('i686' 'x86_64')
+url="http://abstrakraft.org/cwiid"
+depends=('bluez-libs' 'gtk2' 'python2')
+makedepends=('python2')
+license=('GPL')
+install="$pkgname.install"
+source=("$url/downloads/$pkgname-$pkgver.tgz"
+ "$url/raw-attachment/ticket/70/bluez_4_api_changes.patch")
+md5sums=('8d574afdeedc5e5309c87a72d744316a'
+ '19b288723d1f2b97a3e5288ab9de3313')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # bluez v4 compatibility
+ patch -Np1 -i "$srcdir/bluez_4_api_changes.patch"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-ldconfig \
+ --with-python=python2
+
+ LDFLAGS+="$(pkg-config --libs bluez) -lrt -pthread" make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # fix static lib permissions
+ chmod 644 "$pkgdir/usr/lib/libcwiid.a"
+
+ # wminput README
+ install -Dm644 wminput/README \
+ "$pkgdir/usr/share/doc/$pkgname/wminput/README"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/cwiid/cwiid.install b/community/cwiid/cwiid.install
new file mode 100644
index 000000000..05e698be7
--- /dev/null
+++ b/community/cwiid/cwiid.install
@@ -0,0 +1,10 @@
+post_install() {
+ echo "==> In order to use wminput ensure you load the uinput kernel"
+ echo "==> module and have assigned correct access to /dev/uinput"
+}
+
+post_upgrade() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/cython/PKGBUILD b/community/cython/PKGBUILD
new file mode 100644
index 000000000..6924be749
--- /dev/null
+++ b/community/cython/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 91947 2013-05-30 09:41:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Igor Scabini <furester @ gmail.com>
+
+pkgname=('cython' 'cython2')
+pkgbase=cython
+pkgver=0.19.1
+pkgrel=1
+pkgdesc="C-Extensions for Python "
+arch=(i686 x86_64)
+url="http://www.cython.org"
+license=('APACHE')
+makedepends=('python-distribute' 'python2-distribute')
+source=("http://cython.org/release/Cython-$pkgver.tar.gz")
+md5sums=('df4cfb2b8e3345272e3fc451b76bd630')
+
+build() {
+ true
+}
+
+package_cython() {
+ depends=('python')
+
+ cd $srcdir/Cython-$pkgver
+ python setup.py install --root=$pkgdir
+
+ sed -i 's|#!.*python|#!/usr/bin/python3|' $pkgdir/usr/bin/*
+}
+
+package_cython2() {
+ depends=('python2')
+
+ cd $srcdir/Cython-$pkgver
+ python2 setup.py install --root=$pkgdir
+
+ mv $pkgdir/usr/bin/cygdb $pkgdir/usr/bin/cygdb2
+ mv $pkgdir/usr/bin/cython $pkgdir/usr/bin/cython2
+}
diff --git a/community/dante/PKGBUILD b/community/dante/PKGBUILD
new file mode 100644
index 000000000..094e95b38
--- /dev/null
+++ b/community/dante/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 91850 2013-05-28 17:25:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Guillem Rieu <guillemr@gmx.net>
+
+pkgname=dante
+pkgver=1.3.2
+pkgrel=5
+pkgdesc="SOCKS v4 and v5 compatible proxy server and client"
+url="http://www.inet.no/dante"
+arch=(i686 x86_64)
+license=('custom')
+depends=('pam' 'krb5')
+backup=('etc/socks.conf'
+ 'etc/sockd.conf')
+options=('!libtool')
+source=(ftp://ftp.inet.no/pub/socks/${pkgname}-${pkgver}.tar.gz
+ sockd.service)
+md5sums=('250c6456cd3fefa17f07fa80c9ccf6bd'
+ '9bb18a0165764092bd01da0ff6303fbf')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --disable-libwrap
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ mkdir -p ${pkgdir}/etc/conf.d
+ cp example/{socks,sockd}.conf ${pkgdir}/etc
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ echo 'SOCKD_OPTS="-D"' >${pkgdir}/etc/conf.d/sockd.conf
+ install -Dm0644 $srcdir/sockd.service $pkgdir/usr/lib/systemd/system/sockd.service
+}
diff --git a/community/dante/sockd.service b/community/dante/sockd.service
new file mode 100644
index 000000000..68201577a
--- /dev/null
+++ b/community/dante/sockd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=SOCKS v4 and v5 compatible proxy server and client
+After=network.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/sockd.conf
+PIDFile=/run/sockd.pid
+ExecStart=/usr/bin/sockd $SOCKD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/darkhttpd/PKGBUILD b/community/darkhttpd/PKGBUILD
new file mode 100644
index 000000000..d6c7f1f84
--- /dev/null
+++ b/community/darkhttpd/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 91852 2013-05-28 17:25:58Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+
+pkgname=darkhttpd
+pkgver=1.9
+pkgrel=2
+pkgdesc="A small, static webserver"
+arch=('i686' 'x86_64')
+url="http://dmr.ath.cx/net/darkhttpd/"
+license=('BSD')
+depends=('glibc')
+source=($url/$pkgname-$pkgver.tar.bz2)
+md5sums=('156f239af542028c3fb5c2248aa0db8d')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -D $srcdir/$pkgname-$pkgver/darkhttpd $pkgdir/usr/bin/darkhttpd
+ mkdir -p $pkgdir/usr/share/licenses/$pkgname
+ head -n 18 darkhttpd.c >$pkgdir/usr/share/licenses/$pkgname/license
+}
diff --git a/community/darkstat/PKGBUILD b/community/darkstat/PKGBUILD
new file mode 100644
index 000000000..52526ad81
--- /dev/null
+++ b/community/darkstat/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 91854 2013-05-28 17:26:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=darkstat
+pkgver=3.0.715
+pkgrel=10
+pkgdesc="Network statistics gatherer (packet sniffer)"
+url="http://dmr.ath.cx/net/darkstat/"
+license=("GPL")
+arch=(i686 x86_64)
+depends=('libpcap' 'zlib' 'gcc-libs')
+backup=('etc/conf.d/darkstat.conf')
+source=(http://dmr.ath.cx/net/darkstat/darkstat-$pkgver.tar.bz2
+ darkstat.service
+ darkstat.conf)
+install=darkstat.install
+md5sums=('5b7abc7538dcd8e30667dac150e81d77'
+ '91dd1cf9d01c2b37896f01b4570b5521'
+ 'aa9a9effd1e8f08860afcd6439fc94c5')
+
+build() {
+ cd $srcdir/darkstat-$pkgver
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/darkstat-$pkgver
+ make DESTDIR=$pkgdir install
+ install -D -m644 "$srcdir"/darkstat.conf "$pkgdir"/etc/conf.d/darkstat.conf
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+}
diff --git a/community/darkstat/darkstat.conf b/community/darkstat/darkstat.conf
new file mode 100644
index 000000000..63517ef9a
--- /dev/null
+++ b/community/darkstat/darkstat.conf
@@ -0,0 +1,2 @@
+DARKSTAT_IFACE="eth0"
+DARKSTAT_ARGS=""
diff --git a/community/darkstat/darkstat.install b/community/darkstat/darkstat.install
new file mode 100644
index 000000000..246bfd808
--- /dev/null
+++ b/community/darkstat/darkstat.install
@@ -0,0 +1,20 @@
+daemon_name=darkstat
+daemon_chroot=var/darkstat
+
+post_install() {
+ if [ ! -d "$daemon_chroot" ]; then
+ install -d "$daemon_chroot"
+ touch "$daemon_chroot/darkstat.dat"
+ fi
+ useradd \
+ --system \
+ --home /"$daemon_chroot" \
+ --shell /bin/false \
+ --no-user-group \
+ --gid nobody "$daemon_name"
+ chown -R "$daemon_name":nobody "/$daemon_chroot"
+}
+
+post_remove() {
+ userdel "$daemon_name"
+}
diff --git a/community/darkstat/darkstat.service b/community/darkstat/darkstat.service
new file mode 100644
index 000000000..b92eff85c
--- /dev/null
+++ b/community/darkstat/darkstat.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Network statistics gatherer (packet sniffer)
+After=network.target
+
+[Service]
+Type=simple
+EnvironmentFile=/etc/conf.d/darkstat.conf
+PIDFile=/var/darkstat/darkstat.pid
+ExecStart=/usr/sbin/darkstat --user "darkstat" --chroot "/var/darkstat" \
+ --import "darkstat.dat" --export "darkstat.dat" \
+ --pidfile /var/darkstat/darkstat.pid \
+ -b 0.0.0.0 \
+ -i "$DARKSTAT_IFACE" $DARKSTAT_ARGS
+ExecStopPost=/bin/rm -f /var/darkstat/darkstat.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/darktable/PKGBUILD b/community/darktable/PKGBUILD
new file mode 100644
index 000000000..ba15607a6
--- /dev/null
+++ b/community/darktable/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 93153 2013-06-26 11:50:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Christian Himpel <chressie at gmail dot com>
+# Contributor: Johannes Hanika <hanatos at gmail dot com>
+
+pkgname=darktable
+pkgver=1.2.2
+_pkgver=1.2
+pkgrel=1
+pkgdesc="Utility to organize and develop raw images"
+arch=('i686' 'x86_64')
+url=http://darktable.sf.net/
+license=('GPL3')
+depends=('exiv2>=0.18' 'intltool>=0.40' 'lcms2' 'lensfun>=0.2.3' 'libglade' 'dbus-glib'
+ 'curl' 'libgnome-keyring' 'libgphoto2' 'openexr' 'sqlite' 'libxslt'
+ 'libsoup' 'gtk-engines')
+makedepends=('intltool>=0.40' 'cmake' 'librsvg')
+optdepends=('librsvg')
+install=darktable.install
+options=(!libtool)
+source=(http://downloads.sourceforge.net/project/darktable/darktable/${_pkgver}/darktable-$pkgver.tar.xz)
+md5sums=('df2a2b02d6d855cfd8f1cf77c7e12995')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ mkdir -p build
+ cd build
+ CXXFLAGS+=" -fpermissive"
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DDONT_INSTALL_GCONF_SCHEMAS=True \
+ -DBINARY_PACKAGE_BUILD=1 \
+ -DUSE_GCONF_BACKEND=Off \
+ -DBUILD_USERMANUAL=False \
+ ..
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/build"
+ make DESTDIR="$pkgdir" install
+ mv "${pkgdir}/usr/share/doc/darktable" "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}"
+}
diff --git a/community/darktable/darktable.install b/community/darktable/darktable.install
new file mode 100644
index 000000000..24b15a4f5
--- /dev/null
+++ b/community/darktable/darktable.install
@@ -0,0 +1,11 @@
+post_install() {
+ [ -x `which update-desktop-database 2>/dev/null` ] && update-desktop-database -q
+}
+
+post_upgrade() {
+ [ -x `which update-desktop-database 2>/dev/null` ] && update-desktop-database -q
+}
+
+post_remove() {
+ [ -x `which update-desktop-database 2>/dev/null` ] && update-desktop-database -q
+}
diff --git a/community/datemath/PKGBUILD b/community/datemath/PKGBUILD
new file mode 100644
index 000000000..23688f4d4
--- /dev/null
+++ b/community/datemath/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 74846 2012-08-07 05:46:50Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Todd Musall <tmusall@comcast.net>
+# Contributor: Todd Musall <tmusall@comcast.net>
+
+pkgname=datemath
+pkgver=2.0.10
+pkgrel=4
+pkgdesc="Command line date and time math utility."
+arch=('i686' 'x86_64')
+url="http://www.unixwiz.net/tools/datemath.html"
+license=("GPL")
+depends=('glibc')
+source=(http://www.unixwiz.net/tools/$pkgname.tar.gz
+ y2k.patch)
+md5sums=('2c369d70a43313b71dbe3c7cc50207de'
+ '87758503414a967f06566b94523fc010')
+
+build() {
+ cd $srcdir
+ patch -Np0 <$srcdir/y2k.patch
+ make
+ install -D -m755 $srcdir/datemath $pkgdir/usr/bin/datemath
+}
diff --git a/community/datemath/y2k.patch b/community/datemath/y2k.patch
new file mode 100644
index 000000000..4605ad505
--- /dev/null
+++ b/community/datemath/y2k.patch
@@ -0,0 +1,29 @@
+diff -Naur ../datemath/util.c ./util.c
+--- ../datemath/util.c 2004-03-06 18:27:59.000000000 +0100
++++ ./util.c 2012-08-01 09:37:30.767738221 +0200
+@@ -18,6 +18,7 @@
+ #include "defs.h"
+
+ int century19_year = 40; /* 0..39 = 2000 / 40..99 = 1999 */
++static int century; /* may not be 1900... */
+
+ /*
+ * jultoyymm()
+@@ -35,6 +36,8 @@
+
+ if (mdy[YY] < 1900) /* too early? */
+ mdy[YY] = 1900;
++
++ century = mdy[YY] / 100;
+
+ mdy[YY] %= 100; /* strip off 19xx */
+
+@@ -59,7 +62,7 @@
+ mdy[YY] = yymm / 100;
+ mdy[DD] = eflag ? daysinmm(mdy[MM], mdy[YY]) : 1;
+
+- mdy[YY] += 1900;
++ mdy[YY] += century * 100;
+
+ if (rv = rmdyjul(mdy, &jdate), rv < 0)
+ die("bad date conversion in yymmtojul-(%d)", rv);
diff --git a/community/dbmail/PKGBUILD b/community/dbmail/PKGBUILD
new file mode 100644
index 000000000..bfe8cfe44
--- /dev/null
+++ b/community/dbmail/PKGBUILD
@@ -0,0 +1,71 @@
+# $Id: PKGBUILD 93423 2013-07-03 11:48:53Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sebastian Faltoni <sebastian.faltoni@gmail.com>
+
+pkgname=dbmail
+pkgver=3.0.3pre
+pkgrel=2
+pkgdesc="Fast and scalable sql based mail services"
+arch=('i686' 'x86_64')
+depends=('gmime24' 'libzdb' 'mhash' 'libevent')
+makedepends=('asciidoc' 'xmlto' 'docbook-xsl' 'docbook-xml' 'postgresql-libs>=8.4.1'
+ 'sqlite' 'libmysqlclient' 'libldap>=2.4.18' 'libsieve'
+ 'git')
+optdepends=('libldap: for LDAP authentication'
+ 'libsieve: for dbmail-sieve'
+ 'python2-mysql2pgsql: migrate from MySQL to PostreSQL')
+url="http://www.dbmail.org"
+license=('GPL')
+options=('!libtool' 'zipman')
+backup=(etc/xinetd.d/dbmail-imapd
+ etc/xinetd.d/dbmail-pop3d
+ etc/xinetd.d/dbmail-lmtpd
+ etc/xinetd.d/dbmail-timsieved)
+#source=(http://www.dbmail.org/download/3.0/dbmail-${pkgver/_/-}.tar.gz
+source=("$pkgname-$pkgver::git://git.subdir.eu/paul/dbmail#branch=dbmail_3_0"
+ dbmail.tmpfiles
+ dbmail-imapd.service
+ dbmail-lmtpd.service
+ dbmail-pop3d.service
+ dbmail-timsieved.service
+ dbmail-imapd.xinetd
+ dbmail-lmtpd.xinetd
+ dbmail-pop3d.xinetd
+ dbmail-timsieved.xinetd)
+md5sums=('SKIP'
+ 'c4b5793c5422b62a675d4c66ff7e9300'
+ '5a6297cb03c8d0b424f978ea1d7402de'
+ '070db88538af9833f003f4cb516d337b'
+ '422f0399f97a780b7cab84443e8f429a'
+ '15c7d367d4242aebac5f87649a2250aa'
+ '890de13361afbdf4fed12d6d7eb53e66'
+ '961593658cd596297d03d25eb9c9e98f'
+ '4cb764894abd3914802e90602bf90a0c'
+ 'e78dc86355f9aaf24590bc7c6611162f')
+
+build() {
+ cd $srcdir/dbmail-${pkgver/_/-}/
+ [ -f Makefile ] || ./configure --prefix=/usr --sbindir=/usr/bin \
+ --with-ldap --with-sieve
+ make
+}
+
+package() {
+ cd $srcdir/dbmail-${pkgver/_/-}/
+ make DESTDIR=$pkgdir install
+ (cd man && make && make install DESTDIR=$pkgdir)
+
+ mkdir $pkgdir/etc
+ install -Dm644 dbmail.conf $pkgdir/etc/dbmail.conf.sample
+ mkdir $pkgdir/usr/share/dbmail
+ cp -r sql/* $pkgdir/usr/share/dbmail/
+ cp -a contrib $pkgdir/usr/share/dbmail/
+ cp dbmail.schema $pkgdir/usr/share/dbmail/
+
+ for i in dbmail-imapd dbmail-lmtpd dbmail-pop3d dbmail-timsieved; do
+ install -Dm0644 $srcdir/$i.service $pkgdir/usr/lib/systemd/system/$i.service
+ install -Dm0644 $srcdir/$i.xinetd $pkgdir/etc/xinetd.d/$i
+ done
+
+ install -Dm0644 $srcdir/dbmail.tmpfiles $pkgdir/usr/lib/tmpfiles.d/dbmail.conf
+}
diff --git a/community/dbmail/dbmail-2.2.10-pam-support.patch b/community/dbmail/dbmail-2.2.10-pam-support.patch
new file mode 100644
index 000000000..805a7f609
--- /dev/null
+++ b/community/dbmail/dbmail-2.2.10-pam-support.patch
@@ -0,0 +1,251 @@
+diff -wbBur dbmail-2.2.10/configure.in dbmail-2.2.10.pam/configure.in
+--- dbmail-2.2.10/configure.in 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/configure.in 2008-09-18 16:43:04.000000000 +0400
+@@ -78,6 +78,13 @@
+
+ AC_SUBST(CRYPTLIB)
+
++dnl Check for PAM
++AC_SUBST(PAMLIBS,"")
++AC_CHECK_HEADERS(security/pam_appl.h,
++ [AC_CHECK_LIB(pam,pam_start,
++ [AC_DEFINE(HAVE_PAM,1,[Define if you have PAN including devel headers])
++ PAMLIBS="-lpam"],,)])
++
+ AC_SUBST(MYSQLLIB)
+ AC_SUBST(MYSQLALIB)
+ AC_SUBST(MYSQLLTLIB)
+diff -wbBur dbmail-2.2.10/dbmail-user.c dbmail-2.2.10.pam/dbmail-user.c
+--- dbmail-2.2.10/dbmail-user.c 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/dbmail-user.c 2008-09-18 16:43:04.000000000 +0400
+@@ -157,7 +157,7 @@
+ "md5", "md5-raw", "md5sum", "md5sum-raw",
+ "md5-hash", "md5-hash-raw", "md5-digest", "md5-digest-raw",
+ "md5-base64", "md5-base64-raw", "md5base64", "md5base64-raw",
+- "shadow", "", NULL
++ "shadow", "pam", "", NULL
+ };
+
+ /* These must correspond to the easy text names. */
+@@ -166,7 +166,7 @@
+ MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW,
+ MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW,
+ MD5_BASE64, MD5_BASE64_RAW, MD5_BASE64, MD5_BASE64_RAW,
+- SHADOW, PLAINTEXT, PWTYPE_NULL
++ SHADOW, PWTYPE_PAM, PLAINTEXT, PWTYPE_NULL
+ };
+
+ memset(pw, 0, 50);
+@@ -251,6 +251,12 @@
+ *enctype = "crypt";
+ }
+ break;
++#ifdef HAVE_PAM
++ case PWTYPE_PAM:
++ null_strncpy(pw, passwd, 49);
++ *enctype = "pam";
++ break;
++#endif
+ default:
+ qerrorf("Error: password type not supported [%s].\n",
+ passwdtype);
+diff -wbBur dbmail-2.2.10/dbmail-user.h dbmail-2.2.10.pam/dbmail-user.h
+--- dbmail-2.2.10/dbmail-user.h 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/dbmail-user.h 2008-09-18 16:43:04.000000000 +0400
+@@ -34,7 +34,7 @@
+ typedef enum {
+ PLAINTEXT = 0, PLAINTEXT_RAW, CRYPT, CRYPT_RAW,
+ MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW,
+- MD5_BASE64, MD5_BASE64_RAW, SHADOW, PWTYPE_NULL
++ MD5_BASE64, MD5_BASE64_RAW, SHADOW, PWTYPE_PAM, PWTYPE_NULL
+ } pwtype_t;
+
+ int mkpassword(const char * const user, const char * const passwd,
+diff -wbBur dbmail-2.2.10/modules/authsql.c dbmail-2.2.10.pam/modules/authsql.c
+--- dbmail-2.2.10/modules/authsql.c 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/modules/authsql.c 2008-09-18 16:43:04.000000000 +0400
+@@ -27,6 +27,19 @@
+ #include "dbmail.h"
+ #define THIS_MODULE "auth"
+
++#ifdef HAVE_PAM
++#include <security/pam_appl.h>
++
++#ifndef DEFAULT_DBMAIL_PAM_SERVICE
++#define DEFAULT_DBMAIL_PAM_SERVICE "dbmail"
++#endif
++
++#ifndef DEFAULT_DBMAIL_PAM_TTL
++#define DEFAULT_DBMAIL_PAM_TTL 60
++#endif
++
++#endif
++
+ extern db_param_t _db_params;
+ #define DBPFX _db_params.pfx
+
+@@ -49,17 +62,80 @@
+ */
+ static int __auth_query(const char *thequery);
+
++#ifdef HAVE_PAM
++
++static char *pam_password = NULL; /* Workaround for Solaris 2.6 brokenness */
++static pam_handle_t *pamh = NULL;
++static int pam_ttl = DEFAULT_DBMAIL_PAM_TTL;
++static char *pam_service = DEFAULT_DBMAIL_PAM_SERVICE;
++static time_t pamh_created = 0;
++/*
++ * A simple "conversation" function returning the supplied password.
++ * Has a bit to much error control, but this is my first PAM application
++ * so I'd rather check everything than make any mistakes. The function
++ * expects a single converstation message of type PAM_PROMPT_ECHO_OFF.
++ */
++static int
++password_conversation(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr)
++{
++ if (num_msg != 1 || msg[0]->msg_style != PAM_PROMPT_ECHO_OFF) {
++ TRACE(TRACE_ERROR, "Unexpected PAM converstaion '%d/%s'", msg[0]->msg_style, msg[0]->msg);
++ return PAM_CONV_ERR;
++ }
++ if (!appdata_ptr) {
++ /* Workaround for Solaris 2.6 where the PAM library is broken
++ * and does not pass appdata_ptr to the conversation routine
++ */
++ appdata_ptr = pam_password;
++ }
++ if (!appdata_ptr) {
++ TRACE(TRACE_ERROR, "ERROR: No password available to password_converstation!");
++ return PAM_CONV_ERR;
++ }
++ *resp = calloc(num_msg, sizeof(struct pam_response));
++ if (!*resp) {
++ TRACE(TRACE_ERROR, "Out of memory!");
++ return PAM_CONV_ERR;
++ }
++ (*resp)[0].resp = strdup((char *) appdata_ptr);
++ (*resp)[0].resp_retcode = 0;
++
++ return ((*resp)[0].resp ? PAM_SUCCESS : PAM_CONV_ERR);
++}
++
++static struct pam_conv conv =
++{
++ &password_conversation,
++ NULL
++};
++
++#endif
++
++
+ int auth_connect()
+ {
+ /* this function is only called after a connection has been made
+ * if, in the future this is not the case, db.h should export a
+ * function that enables checking for the database connection
+ */
++#ifdef HAVE_PAM
++
++#endif
+ return 0;
+ }
+
+ int auth_disconnect()
+ {
++#ifdef HAVE_PAM
++ int retval=PAM_SUCCESS;
++ if (pamh) {
++ retval = pam_end(pamh, retval);
++ if (retval != PAM_SUCCESS) {
++ pamh = NULL;
++ TRACE(TRACE_ERROR, "failed to release PAM authenticator");
++ }
++ }
++#endif
+ return 0;
+ }
+
+@@ -458,7 +534,71 @@
+ is_validated = (strncmp(md5str, query_result, 32) == 0) ? 1 : 0;
+ g_free(md5str);
+ }
++#ifdef HAVE_PAM
++ else if (strcasecmp(query_result, "pam") == 0) {
++ int retval=0;
++ TRACE(TRACE_DEBUG, "validating using pam for user [%s] pass:[%s]",real_username,password);
++ conv.appdata_ptr = (char *) password;
++ pam_password= password;
++ if (pam_ttl == 0) {
++ /* Create PAM connection */
++ retval = pam_start(pam_service, real_username, &conv, &pamh);
++ if (retval != PAM_SUCCESS) {
++ TRACE(TRACE_ERROR, "failed to create PAM authenticator");
++ goto pam_error;
++ }
++ } else if (!pamh || (time(NULL) - pamh_created) >= pam_ttl || pamh_created > time(NULL)) {
++ /* Close previous PAM connection */
++ if (pamh) {
++ retval = pam_end(pamh, retval);
++ if (retval != PAM_SUCCESS) {
++ TRACE(TRACE_WARNING, "failed to release PAM authenticator");
++ }
++ pamh = NULL;
++ }
++ /* Initialize persistent PAM connection */
++ retval = pam_start(pam_service, "dbmail@", &conv, &pamh);
++ if (retval != PAM_SUCCESS) {
++ TRACE(TRACE_ERROR, "failed to create PAM authenticator");
++ goto pam_error;
++ }
++ pamh_created = time(NULL);
++ }
++ retval = PAM_SUCCESS;
++ if (pam_ttl != 0) {
++ if (retval == PAM_SUCCESS)
++ retval = pam_set_item(pamh, PAM_USER, real_username);
++ if (retval == PAM_SUCCESS)
++ retval = pam_set_item(pamh, PAM_CONV, &conv);
++ }
++ if (retval == PAM_SUCCESS)
++ retval = pam_authenticate(pamh, 0);
++ if (retval == PAM_SUCCESS ) //&& !no_acct_mgmt
++ retval = pam_acct_mgmt(pamh, 0);
++ if (retval == PAM_SUCCESS) {
++ is_validated=1;
++ } else {
++pam_error:
++ is_validated=0;
++ }
++ /* cleanup */
++ retval = PAM_SUCCESS;
++#ifdef PAM_AUTHTOK
++ if (pam_ttl != 0) {
++ if (retval == PAM_SUCCESS)
++ retval = pam_set_item(pamh, PAM_AUTHTOK, NULL);
++ }
++#endif
++ if (pam_ttl == 0 || retval != PAM_SUCCESS) {
++ retval = pam_end(pamh, retval);
++ if (retval != PAM_SUCCESS) {
++ TRACE(TRACE_WARNING, "failed to release PAM authenticator\n");
++ }
++ pamh = NULL;
++ }
+
++ }
++#endif
+ if (is_validated) {
+ db_user_log_login(*user_idnr);
+ } else {
+diff -wbBur dbmail-2.2.10/modules/Makefile.am dbmail-2.2.10.pam/modules/Makefile.am
+--- dbmail-2.2.10/modules/Makefile.am 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/modules/Makefile.am 2008-09-18 16:44:53.000000000 +0400
+@@ -60,7 +60,7 @@
+
+ # This one is always built.
+ libauth_sql_la_SOURCES = authsql.c
+-libauth_sql_la_LIBADD = @CRYPTLIB@
++libauth_sql_la_LIBADD = @CRYPTLIB@ @PAMLIBS@
+
+ if LDAP
+ libauth_ldap_la_SOURCES = authldap.c
diff --git a/community/dbmail/dbmail-imapd.service b/community/dbmail/dbmail-imapd.service
new file mode 100644
index 000000000..bc3319fd0
--- /dev/null
+++ b/community/dbmail/dbmail-imapd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=DBMail Imap Server
+After=syslog.target network.target mysqld.service postgresql.service
+
+[Service]
+Type=forking
+PIDFile=/run/dbmail/dbmail-imapd.pid
+ExecStart=/usr/bin/dbmail-imapd -p /run/dbmail/dbmail-imapd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/dbmail/dbmail-imapd.xinetd b/community/dbmail/dbmail-imapd.xinetd
new file mode 100644
index 000000000..20f7d607d
--- /dev/null
+++ b/community/dbmail/dbmail-imapd.xinetd
@@ -0,0 +1,13 @@
+service imap
+{
+ socket_type = stream
+ wait = no
+ user = nobody
+ server = /usr/bin/dbmail-imapd
+ protocol = tcp
+ server_args = -n
+ log_on_failure += USERID
+ disable = yes
+# env = EVENT_NOEPOLL=yes
+# instances = 200
+}
diff --git a/community/dbmail/dbmail-lmtpd.service b/community/dbmail/dbmail-lmtpd.service
new file mode 100644
index 000000000..570ba1ec7
--- /dev/null
+++ b/community/dbmail/dbmail-lmtpd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=DBMail LMTP Server
+After=syslog.target network.target mysqld.service postgresql.service
+
+[Service]
+Type=forking
+PIDFile=/run/dbmail/dbmail-lmtpd.pid
+ExecStart=/usr/bin/dbmail-lmtpd -p /run/dbmail/dbmail-lmtpd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/dbmail/dbmail-lmtpd.xinetd b/community/dbmail/dbmail-lmtpd.xinetd
new file mode 100644
index 000000000..0a0e05620
--- /dev/null
+++ b/community/dbmail/dbmail-lmtpd.xinetd
@@ -0,0 +1,13 @@
+service lmtp
+{
+ port = 24
+ type = UNLISTED
+ socket_type = stream
+ wait = no
+ user = nobody
+ server = /usr/bin/dbmail-lmtpd
+ protocol = tcp
+ server_args = -n
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/community/dbmail/dbmail-pop3d.service b/community/dbmail/dbmail-pop3d.service
new file mode 100644
index 000000000..edfa2570a
--- /dev/null
+++ b/community/dbmail/dbmail-pop3d.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=DBMail pop3 Server
+After=syslog.target network.target mysqld.service postgresql.service
+
+[Service]
+Type=forking
+PIDFile=/run/dbmail/dbmail-pop3d.pid
+ExecStart=/usr/bin/dbmail-pop3d -p /run/dbmail/dbmail-pop3d.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/dbmail/dbmail-pop3d.xinetd b/community/dbmail/dbmail-pop3d.xinetd
new file mode 100644
index 000000000..f073aca8b
--- /dev/null
+++ b/community/dbmail/dbmail-pop3d.xinetd
@@ -0,0 +1,13 @@
+service pop3
+{
+ socket_type = stream
+ wait = no
+ user = nobody
+ server = /usr/bin/dbmail-pop3d
+ protocol = tcp
+ server_args = -n
+ log_on_failure += USERID
+ disable = yes
+# env = EVENT_NOEPOLL=yes
+# instances = 200
+}
diff --git a/community/dbmail/dbmail-timsieved.service b/community/dbmail/dbmail-timsieved.service
new file mode 100644
index 000000000..32623e038
--- /dev/null
+++ b/community/dbmail/dbmail-timsieved.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=DBMail Sieve Server
+After=syslog.target network.target mysqld.service postgresql.service
+
+[Service]
+Type=forking
+PIDFile=/run/dbmail/dbmail-timsieved.pid
+ExecStart=/usr/bin/dbmail-timsieved -p /run/dbmail/dbmail-timsieved.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/dbmail/dbmail-timsieved.xinetd b/community/dbmail/dbmail-timsieved.xinetd
new file mode 100644
index 000000000..69f6dd66b
--- /dev/null
+++ b/community/dbmail/dbmail-timsieved.xinetd
@@ -0,0 +1,15 @@
+service sieve
+{
+# port = 2000
+# type = UNLISTED
+ socket_type = stream
+ wait = no
+ user = nobody
+ server = /usr/bin/dbmail-timsieved
+ protocol = tcp
+ server_args = -n
+ log_on_failure += USERID
+ disable = yes
+# env = EVENT_NOEPOLL=yes
+# instances = 200
+}
diff --git a/community/dbmail/dbmail.tmpfiles b/community/dbmail/dbmail.tmpfiles
new file mode 100644
index 000000000..4b97c91f5
--- /dev/null
+++ b/community/dbmail/dbmail.tmpfiles
@@ -0,0 +1 @@
+d /run/dbmail 0755 nobody nobody -
diff --git a/community/dcfldd/PKGBUILD b/community/dcfldd/PKGBUILD
new file mode 100644
index 000000000..c28ded29f
--- /dev/null
+++ b/community/dcfldd/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 83134 2013-01-27 16:12:28Z pierre $
+# Contributor: Paul Mattal <pjmattal@elys.com>
+# Maintainer: Paul Mattal <pjmattal@elys.com>
+
+pkgname=dcfldd
+pkgver=1.3.4.1
+pkgrel=3
+pkgdesc="DCFL (DoD Computer Forensics Lab) dd replacement with hashing"
+arch=('i686' 'x86_64')
+url="http://dcfldd.sourceforge.net/"
+license=('GPL')
+depends=('glibc')
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-${pkgver%.*}-${pkgver##*.}.tar.gz")
+md5sums=('952026c872f11b53ce0ec6681a3eef0a')
+sha1sums=('fb1c55f107a6af5ef8703a44d33476e508815913')
+
+build() {
+ cd "$srcdir/$pkgname-${pkgver%.*}-${pkgver##*.}"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-${pkgver%.*}-${pkgver##*.}"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/deadbeef/PKGBUILD b/community/deadbeef/PKGBUILD
new file mode 100644
index 000000000..e47224768
--- /dev/null
+++ b/community/deadbeef/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 82328 2013-01-15 11:34:59Z allan $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Alexey Yakovenko <waker@users.sourceforge.net>
+
+pkgname=deadbeef
+pkgver=0.5.6
+pkgrel=2
+pkgdesc='An audio player for GNU/Linux based on GTK2.'
+arch=('i686' 'x86_64')
+url='http://deadbeef.sourceforge.net'
+license=('GPL2')
+depends=('gtk3' 'alsa-lib' 'hicolor-icon-theme' 'desktop-file-utils')
+makedepends=('libvorbis' 'libmad' 'flac' 'curl' 'imlib2' 'wavpack' 'libsndfile' 'libcdio' 'libcddb'
+ 'libx11' 'faad2' 'zlib' 'intltool' 'pkgconfig' 'libpulse' 'libzip' 'libsamplerate'
+ 'yasm')
+optdepends=('libsamplerate: for Resampler plugin'
+ 'libvorbis: for Ogg Vorbis playback'
+ 'libmad: for MP1/MP2/MP3 playback'
+ 'flac: for FLAC playback'
+ 'curl: for Last.fm scrobbler, SHOUTcast, Icecast, Podcast support'
+ 'imlib2: for artwork plugin'
+ 'wavpack: for WavPack playback'
+ 'libsndfile: for Wave playback'
+ 'libcdio: audio cd plugin'
+ 'libcddb: audio cd plugin'
+ 'faad2: for AAC/MP4 support'
+ 'dbus: for OSD notifications support'
+ 'pulseaudio: for PulseAudio output plugin'
+ 'libx11: for global hotkeys plugin'
+ 'zlib: for Audio Overload plugin'
+ 'libzip: for vfs_zip plugin')
+options=('!libtool')
+install='deadbeef.install'
+source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('26b6036ca7e59c88267d3de4f42c4d01')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --disable-ffmpeg --enable-gtk3
+ make
+}
+
+package () {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make prefix="${pkgdir}/usr" install
+}
diff --git a/community/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch b/community/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch
new file mode 100644
index 000000000..db1c79638
--- /dev/null
+++ b/community/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch
@@ -0,0 +1,118 @@
+From 2bb5828e58fa8c187377f8ba75f8eb73a53ed7ca Mon Sep 17 00:00:00 2001
+From: Igor Murzov <e-mail@date.by>
+Date: Mon, 4 Jul 2011 16:47:25 +0400
+Subject: [PATCH 1/2] ffmpeg: define fallback macro AV_VERSION_INT()
+
+For ffmpeg < 0.5. Copied from libavutil 0.5.
+
+ffmpeg: don't use deprecated CODEC_TYPE_AUDIO with new lavc
+
+fixes build with lavc 53.
+
+ffmpeg: fix erroneous version comparisons
+
+Comparing versions this way: (x.y < x1.y1) is obviously equivalent to
+(x < x1 || (x == x1 && y < y1)), not to (x <= x1 && y < y1).
+
+ffmpeg: use av_register_protocol2() if available
+
+fixes usage with ffmpeg-0.8
+---
+ plugins/ffmpeg/ffmpeg.c | 37 ++++++++++++++++++++++++++++++-------
+ 1 files changed, 30 insertions(+), 7 deletions(-)
+
+diff --git a/plugins/ffmpeg/ffmpeg.c b/plugins/ffmpeg/ffmpeg.c
+index cd7edf4..0cb9955 100644
+--- a/plugins/ffmpeg/ffmpeg.c
++++ b/plugins/ffmpeg/ffmpeg.c
+@@ -44,6 +44,10 @@
+ #define av_register_protocol register_protocol
+ #endif
+
++#ifndef AV_VERSION_INT
++#define AV_VERSION_INT(a, b, c) (a<<16 | b<<8 | c)
++#endif
++
+ #endif
+
+ //#define trace(...) { fprintf(stderr, __VA_ARGS__); }
+@@ -140,7 +144,12 @@ ffmpeg_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
+ for (i = 0; i < info->fctx->nb_streams; i++)
+ {
+ info->ctx = info->fctx->streams[i]->codec;
+- if (info->ctx->codec_type == CODEC_TYPE_AUDIO)
++ if (info->ctx->codec_type ==
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++ AVMEDIA_TYPE_AUDIO)
++#else
++ CODEC_TYPE_AUDIO)
++#endif
+ {
+ info->codec = avcodec_find_decoder (info->ctx->codec_id);
+ if (info->codec != NULL) {
+@@ -279,10 +288,10 @@ ffmpeg_read (DB_fileinfo_t *_info, char *bytes, int size) {
+ int out_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+ int len;
+ //trace ("in: out_size=%d(%d), size=%d\n", out_size, AVCODEC_MAX_AUDIO_FRAME_SIZE, size);
+-#if (LIBAVCODEC_VERSION_MAJOR <= 52) && (LIBAVCODEC_VERSION_MINOR <= 25)
+- len = avcodec_decode_audio2 (info->ctx, (int16_t *)info->buffer, &out_size, info->pkt.data, info->pkt.size);
+-#else
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52,25,0)
+ len = avcodec_decode_audio3 (info->ctx, (int16_t *)info->buffer, &out_size, &info->pkt);
++#else
++ len = avcodec_decode_audio2 (info->ctx, (int16_t *)info->buffer, &out_size, info->pkt.data, info->pkt.size);
+ #endif
+ trace ("out: out_size=%d, len=%d\n", out_size, len);
+ if (len <= 0) {
+@@ -418,7 +427,7 @@ static const char *map[] = {
+
+ static int
+ ffmpeg_read_metadata_internal (DB_playItem_t *it, AVFormatContext *fctx) {
+-#if LIBAVFORMAT_VERSION_MAJOR <= 52 && LIBAVFORMAT_VERSION_MINOR < 43
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52,43,0)
+ if (!strlen (fctx->title)) {
+ // title is empty, this call will set track title to filename without extension
+ deadbeef->pl_add_meta (it, "title", NULL);
+@@ -490,7 +499,12 @@ ffmpeg_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
+ for (i = 0; i < fctx->nb_streams; i++)
+ {
+ ctx = fctx->streams[i]->codec;
+- if (ctx->codec_type == CODEC_TYPE_AUDIO)
++ if (ctx->codec_type ==
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++ AVMEDIA_TYPE_AUDIO)
++#else
++ CODEC_TYPE_AUDIO)
++#endif
+ {
+ codec = avcodec_find_decoder(ctx->codec_id);
+ if (codec != NULL && !strcasecmp (codec->name, "alac")) { // only open alac streams
+@@ -704,7 +718,11 @@ ffmpeg_start (void) {
+ ffmpeg_init_exts ();
+ avcodec_init ();
+ av_register_all ();
++#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++ av_register_protocol2 (&vfswrapper, sizeof(vfswrapper));
++#else
+ av_register_protocol (&vfswrapper);
++#endif
+ return 0;
+ }
+
+@@ -745,7 +763,12 @@ ffmpeg_read_metadata (DB_playItem_t *it) {
+ for (i = 0; i < fctx->nb_streams; i++)
+ {
+ ctx = fctx->streams[i]->codec;
+- if (ctx->codec_type == CODEC_TYPE_AUDIO)
++ if (ctx->codec_type ==
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++ AVMEDIA_TYPE_AUDIO)
++#else
++ CODEC_TYPE_AUDIO)
++#endif
+ {
+ codec = avcodec_find_decoder(ctx->codec_id);
+ if (codec != NULL)
+--
+1.7.8.4
+
diff --git a/community/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch b/community/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch
new file mode 100644
index 000000000..af8c282c0
--- /dev/null
+++ b/community/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch
@@ -0,0 +1,25 @@
+From 9cbd09b81028679a507f751c206e8f6769fd450c Mon Sep 17 00:00:00 2001
+From: Igor Murzov <e-mail@date.by>
+Date: Thu, 7 Jul 2011 22:31:44 +0400
+Subject: [PATCH 2/2] ffmpeg: version check fix
+
+---
+ plugins/ffmpeg/ffmpeg.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/plugins/ffmpeg/ffmpeg.c b/plugins/ffmpeg/ffmpeg.c
+index 0cb9955..37c7e80 100644
+--- a/plugins/ffmpeg/ffmpeg.c
++++ b/plugins/ffmpeg/ffmpeg.c
+@@ -718,7 +718,7 @@ ffmpeg_start (void) {
+ ffmpeg_init_exts ();
+ avcodec_init ();
+ av_register_all ();
+-#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(52, 69, 0)
+ av_register_protocol2 (&vfswrapper, sizeof(vfswrapper));
+ #else
+ av_register_protocol (&vfswrapper);
+--
+1.7.8.4
+
diff --git a/community/deadbeef/deadbeef.install b/community/deadbeef/deadbeef.install
new file mode 100644
index 000000000..fcdbf15fb
--- /dev/null
+++ b/community/deadbeef/deadbeef.install
@@ -0,0 +1,19 @@
+pkgname=deadbeef
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+
+ cat <<EOF
+==> ffmpeg support was disabled in this deadbeef release due to
+==> incompatibilities with ffmpeg 0.11. It might be re-introduced soon.
+EOF
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/dee/PKGBUILD b/community/dee/PKGBUILD
new file mode 100644
index 000000000..c045143b3
--- /dev/null
+++ b/community/dee/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 87044 2013-03-26 11:49:37Z foutrelis $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=dee
+pkgver=1.0.14
+pkgrel=5
+pkgdesc="Library to provide objects allowing to create Model-View-Controller type programs across DBus"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/dee"
+license=('LGPL')
+depends=('glib2' 'icu')
+makedepends=('python2' 'gobject-introspection' 'vala')
+options=('!libtool')
+source=(http://launchpad.net/$pkgname/1.0/$pkgver/+download/$pkgname-$pkgver.tar.gz)
+md5sums=('473b4181e26538af0fb753255da7945c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ # Install GI overrides for python 3 as well
+ install -dm755 "$pkgdir/usr/lib/python3.3/site-packages/gi/overrides"
+ ln -s ../../../../python2.7/site-packages/gi/overrides/Dee.py "$pkgdir/usr/lib/python3.3/site-packages/gi/overrides/Dee.py"
+}
diff --git a/community/deja-dup/PKGBUILD b/community/deja-dup/PKGBUILD
new file mode 100644
index 000000000..3c243421c
--- /dev/null
+++ b/community/deja-dup/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 87385 2013-03-30 14:36:30Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=deja-dup
+pkgver=26.0
+pkgrel=1
+pkgdesc="Simple backup tool, that hides the complexity of backing up the Right Way and uses duplicity as the backend"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/deja-dup"
+license=('GPL')
+depends=('duplicity' 'libpeas' 'libnotify' 'python2-gobject' 'gvfs' 'xdg-utils')
+makedepends=('vala' 'intltool' 'itstool' 'nautilus')
+optdepends=('nautilus: backup extension'
+ 'python2-boto: Amazon S3 backend'
+ 'python2-oauthlib: Ubuntu One backend'
+ 'ubuntuone-client: Ubuntu One backend')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.xz
+ libsecret-1.vapi)
+md5sums=('0430bbf03deac852651599a979a4cc32'
+ '27ca0a3c9efbe93e86ef563c77f6ddf3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Python2 fix
+ sed -i 's/\"python\", \"-c\"/\"python2\", \"-c\"/' common/PythonChecker.vala
+
+ # Add missing Vala API file
+ cp "$srcdir/libsecret-1.vapi" "vapi/libsecret-1.vapi"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static --disable-schemas-compile --without-unity
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/deja-dup/deja-dup.install b/community/deja-dup/deja-dup.install
new file mode 100644
index 000000000..6ce7836d2
--- /dev/null
+++ b/community/deja-dup/deja-dup.install
@@ -0,0 +1,12 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/deja-dup/libsecret-1.vapi b/community/deja-dup/libsecret-1.vapi
new file mode 100644
index 000000000..7d3f4a3a6
--- /dev/null
+++ b/community/deja-dup/libsecret-1.vapi
@@ -0,0 +1,79 @@
+/* libsecret-1.vapi generated by vapigen-0.20, do not modify. */
+
+[CCode (cprefix = "Secret", gir_namespace = "Secret", gir_version = "1", lower_case_cprefix = "secret_")]
+namespace Secret {
+ [CCode (cheader_filename = "libsecret/secret.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "secret_schema_get_type ()")]
+ [Compact]
+ public class Schema {
+ [CCode (array_length = false, array_null_terminated = true)]
+ public weak Secret.SchemaAttribute[] attributes;
+ public Secret.SchemaFlags flags;
+ public weak string name;
+ [CCode (has_construct_function = false)]
+ public Schema (string name, Secret.SchemaFlags flags, ...);
+ [CCode (cname = "secret_schema_newv", has_construct_function = false)]
+ public Schema.newv (string name, Secret.SchemaFlags flags, GLib.HashTable<string,Secret.SchemaAttributeType> attribute_names_and_types);
+ public Secret.Schema @ref ();
+ public void unref ();
+ }
+ [CCode (cheader_filename = "libsecret/secret.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "secret_schema_attribute_get_type ()")]
+ [Compact]
+ public class SchemaAttribute {
+ public weak string name;
+ public Secret.SchemaAttributeType type;
+ }
+ [CCode (cheader_filename = "libsecret/secret.h", cprefix = "SECRET_ERROR_", has_type_id = false)]
+ public enum Error {
+ PROTOCOL,
+ IS_LOCKED,
+ NO_SUCH_OBJECT,
+ ALREADY_EXISTS;
+ public static GLib.Quark get_quark ();
+ }
+ [CCode (cheader_filename = "libsecret/secret.h", cprefix = "SECRET_SCHEMA_ATTRIBUTE_", has_type_id = false)]
+ public enum SchemaAttributeType {
+ STRING,
+ INTEGER,
+ BOOLEAN
+ }
+ [CCode (cheader_filename = "libsecret/secret.h", cprefix = "SECRET_SCHEMA_", has_type_id = false)]
+ [Flags]
+ public enum SchemaFlags {
+ NONE,
+ DONT_MATCH_NAME
+ }
+ [CCode (cheader_filename = "libsecret/secret.h", cname = "SECRET_COLLECTION_DEFAULT")]
+ public const string COLLECTION_DEFAULT;
+ [CCode (cheader_filename = "libsecret/secret.h", cname = "SECRET_COLLECTION_SESSION")]
+ public const string COLLECTION_SESSION;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static GLib.HashTable<string,string> attributes_build (Secret.Schema schema, ...);
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static GLib.HashTable<string,string> attributes_buildv (Secret.Schema schema, va_list va);
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static async bool password_clear (Secret.Schema schema, GLib.Cancellable? cancellable, ...) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static bool password_clear_sync (Secret.Schema schema, GLib.Cancellable? cancellable = null, ...) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h", finish_name = "secret_password_clear_finish")]
+ public static async bool password_clearv (Secret.Schema schema, GLib.HashTable<string,string> attributes, GLib.Cancellable? cancellable) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static bool password_clearv_sync (Secret.Schema schema, GLib.HashTable<string,string> attributes, GLib.Cancellable? cancellable = null) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static async string password_lookup (Secret.Schema schema, GLib.Cancellable? cancellable, ...) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static string password_lookup_sync (Secret.Schema schema, GLib.Cancellable? cancellable = null, ...) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h", finish_name = "secret_password_lookup_finish")]
+ public static async string password_lookupv (Secret.Schema schema, GLib.HashTable<string,string> attributes, GLib.Cancellable? cancellable) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static string password_lookupv_sync (Secret.Schema schema, GLib.HashTable<string,string> attributes, GLib.Cancellable? cancellable = null) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static async bool password_store (Secret.Schema schema, string? collection, string label, string password, GLib.Cancellable? cancellable, ...) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static bool password_store_sync (Secret.Schema schema, string? collection, string label, string password, GLib.Cancellable? cancellable = null, ...) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h", finish_name = "secret_password_store_finish")]
+ public static async bool password_storev (Secret.Schema schema, GLib.HashTable<string,string> attributes, string? collection, string label, string password, GLib.Cancellable? cancellable) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static bool password_storev_sync (Secret.Schema schema, GLib.HashTable<string,string> attributes, string? collection, string label, string password, GLib.Cancellable? cancellable = null) throws GLib.Error;
+ [CCode (cheader_filename = "libsecret/secret.h")]
+ public static void password_wipe (string? password);
+}
diff --git a/community/delegate/ChangeLog b/community/delegate/ChangeLog
new file mode 100644
index 000000000..d22a5592c
--- /dev/null
+++ b/community/delegate/ChangeLog
@@ -0,0 +1,3 @@
+2007-07-02 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/delegate/PKGBUILD b/community/delegate/PKGBUILD
new file mode 100644
index 000000000..e9b4f9a87
--- /dev/null
+++ b/community/delegate/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 91876 2013-05-28 17:59:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=delegate
+pkgver=9.9.7
+pkgrel=3
+pkgdesc="Caching and converting multyprotocol proxy. For example, you may use it as NNTP web interface"
+arch=('i686' 'x86_64')
+url="http://www.delegate.org/"
+license=('GPL')
+depends=('pam')
+options=(!strip)
+install=delegate.install
+source=(ftp://ftp:ps790809%40inbox%2Eru@ftp.delegate.org/pub/DeleGate/delegate$pkgver.tar.gz)
+md5sums=('86c833e95cd16a54d54fa3c7e4ab7929')
+
+build() {
+ cd $srcdir/$pkgname$pkgver
+ make ADMIN="root@localhost"
+}
+
+package() {
+ cd $srcdir/$pkgname$pkgver
+
+ install -D -m0755 src/delegated $pkgdir/usr/bin/delegated
+
+ install -D -m0755 subin/dgbind $pkgdir/usr/bin/dgbind
+ install -D -m0755 subin/dgchroot $pkgdir/usr/bin/dgchroot
+ install -D -m0755 subin/dgcpnod $pkgdir/usr/bin/dgcpnod
+ install -D -m0755 subin/dgpam $pkgdir/usr/bin/dgpam
+
+ install -D -m0644 doc/Manual.htm $pkgdir/usr/share/delegate/manual.htm
+ install -D -m0644 doc/tutor-en.htm $pkgdir/usr/share/delegate/tutor-en.htm
+}
diff --git a/community/delegate/delegate.install b/community/delegate/delegate.install
new file mode 100644
index 000000000..39883a261
--- /dev/null
+++ b/community/delegate/delegate.install
@@ -0,0 +1,6 @@
+post_install() {
+ echo "--"
+ echo "-- Delegate supports too many protocols, so I did not write any rc-script"
+ echo "-- Please read documentation in /usr/share/delegate/"
+ echo "--"
+}
diff --git a/community/denemo/PKGBUILD b/community/denemo/PKGBUILD
new file mode 100644
index 000000000..f1066366e
--- /dev/null
+++ b/community/denemo/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 93805 2013-07-10 13:14:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Philipp Sandhaus <philipp.sandhaus@gmx.de>
+# Contributor: Robert Emil Berge <filoktetes@linuxophic.org>
+# Contributor: Gnud <ach.gnud@gmail.com>
+
+pkgname=denemo
+pkgver=1.0.4
+pkgrel=1
+pkgdesc="A music score editor"
+arch=('i686' 'x86_64')
+url="http://www.denemo.org"
+license=('GPL')
+depends=('aubio' 'portaudio' 'lilypond' 'gtk3' 'libxml2' 'guile' 'fftw'
+ 'librsvg' 'fluidsynth' 'libsmf' 'evince' 'gtksourceview3' 'portmidi')
+makedepends=('intltool')
+options=('!libtool')
+backup=('etc/denemo/denemo.conf')
+source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('1d633ad7741ab12dab865219a20559f0')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/desmume/PKGBUILD b/community/desmume/PKGBUILD
new file mode 100644
index 000000000..2df6273f0
--- /dev/null
+++ b/community/desmume/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 89975 2013-05-06 15:32:51Z schuay $
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Jonathan Conder <jonno dot conder at gmail dot com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Arkham <arkham at archlinux dot us>
+# Contributor: Nathan Jones <nathanj@insightbb.com>
+# Contributor: Javier "Phrodo_00" Aravena <phrodo.00 at gmail dot com>
+# Contributor: angvp <angvp at archlinux dot us>
+# Contributor: Allan <mcrae_allan at hotmail dot com>
+# Contributor: w0rm <w0rmtux at gmail dot com>
+# Contributor: vEX <vex at niechift dot com>
+# Contributor: Asher256 <achrafcherti at gmail dot com>
+
+pkgname=desmume
+pkgver=0.9.9
+pkgrel=2
+pkgdesc="Nintendo DS emulator"
+arch=('i686' 'x86_64')
+url="http://desmume.org/"
+license=('GPL')
+depends=('agg' 'gtkglext' 'libglade' 'desktop-file-utils' 'libpcap'
+ 'soundtouch' 'alsa-lib' 'zziplib' 'glu')
+makedepends=('intltool' 'mesa')
+install=desmume.install
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # See https://bugs.archlinux.org/task/35086 and
+ # https://sourceforge.net/tracker/?func=detail&aid=3612768&group_id=164579&atid=832291
+ sed -i 's/@GETTEXT_PACKAGE@/desmume/' po/Makefile.in.in
+
+ ./configure --prefix=/usr --enable-wifi
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
+
+md5sums=('458b5f8b3dbb38a47e6d0518f97aa82a')
diff --git a/community/desmume/desmume.install b/community/desmume/desmume.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/community/desmume/desmume.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/devil/PKGBUILD b/community/devil/PKGBUILD
new file mode 100644
index 000000000..c0f88548b
--- /dev/null
+++ b/community/devil/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 90014 2013-05-06 19:36:37Z foutrelis $
+# Maintainer: Laurent Carlier <lordheavym@gmail.org>
+# Contributor: damir <damir@archlinux.org>
+# Contributor: TheHoff <forums>
+
+pkgname=devil
+pkgver=1.7.8
+pkgrel=16
+pkgdesc="Library for reading several different image formats"
+arch=('i686' 'x86_64')
+url="http://openil.sourceforge.net/"
+depends=('libpng' 'libmng' 'jasper' 'lcms' 'openexr')
+install=devil.install
+options=('!libtool' '!docs' '!emptydirs')
+license=('GPL')
+source=(http://downloads.sourceforge.net/openil/DevIL-$pkgver.tar.gz libpng14.patch)
+md5sums=('7918f215524589435e5ec2e8736d5e1d'
+ '0f839ccefd43b0ee8b4b3f99806147fc')
+
+build() {
+ cd ${srcdir}/devil-$pkgver
+
+ patch -Np1 -i ${srcdir}/libpng14.patch
+
+ if [[ $CARCH == x86_64 ]]; then
+ ./configure --prefix=/usr --enable-ILU
+ else
+ ./configure --prefix=/usr --enable-ILU --disable-sse3
+ fi
+
+ make
+}
+
+package() {
+ cd ${srcdir}/devil-$pkgver
+
+ make prefix=${pkgdir}/usr install
+}
diff --git a/community/devil/devil.install b/community/devil/devil.install
new file mode 100644
index 000000000..8336ac3d1
--- /dev/null
+++ b/community/devil/devil.install
@@ -0,0 +1,11 @@
+infodir=usr/share/info
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/DevIL_manual.info.gz $infodir/dir 2> /dev/null
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/DevIL_manual.info.gz $infodir/dir 2> /dev/null
+}
diff --git a/community/devil/libpng14.patch b/community/devil/libpng14.patch
new file mode 100644
index 000000000..b8434692b
--- /dev/null
+++ b/community/devil/libpng14.patch
@@ -0,0 +1,33 @@
+diff -Nur devil-1.7.8.orig/src-IL/src/il_icon.c devil-1.7.8/src-IL/src/il_icon.c
+--- devil-1.7.8.orig/src-IL/src/il_icon.c 2009-03-08 09:10:09.000000000 +0200
++++ devil-1.7.8/src-IL/src/il_icon.c 2010-01-17 00:54:09.000000000 +0200
+@@ -525,7 +525,7 @@
+
+ // Expand low-bit-depth grayscale images to 8 bits
+ if (ico_color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
+- png_set_gray_1_2_4_to_8(ico_png_ptr);
++ png_set_expand_gray_1_2_4_to_8(ico_png_ptr);
+ }
+
+ // Expand RGB images with transparency to full alpha channels
+diff -Nur devil-1.7.8.orig/src-IL/src/il_png.c devil-1.7.8/src-IL/src/il_png.c
+--- devil-1.7.8.orig/src-IL/src/il_png.c 2009-03-08 09:10:09.000000000 +0200
++++ devil-1.7.8/src-IL/src/il_png.c 2010-01-17 00:55:26.000000000 +0200
+@@ -105,7 +105,7 @@
+ Read = iread(Signature, 1, 8);
+ iseek(-Read, IL_SEEK_CUR);
+
+- return png_check_sig(Signature, 8);
++ return png_sig_cmp(Signature, 0, 8) == 0;
+ }
+
+
+@@ -278,7 +278,7 @@
+
+ // Expand low-bit-depth grayscale images to 8 bits
+ if (png_color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ }
+
+ // Expand RGB images with transparency to full alpha channels
diff --git a/community/devilspie/PKGBUILD b/community/devilspie/PKGBUILD
new file mode 100644
index 000000000..579bdc74c
--- /dev/null
+++ b/community/devilspie/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 83136 2013-01-27 16:13:00Z pierre $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Contributor: Travis Willard <travisw@wmpub.ca>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=devilspie
+pkgver=0.22
+pkgrel=5
+pkgdesc="x11 window matching utility"
+arch=('i686' 'x86_64')
+url="http://www.burtonini.com/blog/computers/devilspie"
+license=('GPL')
+depends=('libwnck')
+makedepends=('pkgconfig' 'intltool' 'gnome-common')
+source=("http://www.burtonini.com/computing/$pkgname-$pkgver.tar.gz")
+md5sums=('4190e12f99ab92c0427e457d9fbfe231')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i -e '/-DG.*_DISABLE_DEPRECATED/d' src/Makefile.am
+ export LIBS="-lX11"
+ ./autogen.sh
+
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make prefix=$pkgdir/usr install
+ # Make and install blank config
+ mkdir -p $pkgdir/etc/devilspie
+ echo '(debug)' > $pkgdir/etc/devilspie/example.ds
+}
diff --git a/community/dfm/PKGBUILD b/community/dfm/PKGBUILD
new file mode 100644
index 000000000..dde39f3b9
--- /dev/null
+++ b/community/dfm/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 65114 2012-02-20 04:50:21Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: eric <eric@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=dfm
+pkgver=0.99.9
+pkgrel=3
+pkgdesc="A graphical file manager including desktop icons"
+arch=('i686' 'x86_64')
+depends=('gtk' 'imlib' 'libxpm')
+license=('GPL')
+source=(http://www.kaisersite.de/dfm/$pkgname-$pkgver.tar.gz)
+url="http://www.kaisersite.de/dfm/"
+md5sums=('c6347874028a2dd2c8ec3dec33968fea')
+
+build() {
+ cd $srcdir/$pkgname
+ ./configure --prefix=/usr --mandir=/usr/share
+ make
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/dgen-sdl/PKGBUILD b/community/dgen-sdl/PKGBUILD
new file mode 100644
index 000000000..67e8015bc
--- /dev/null
+++ b/community/dgen-sdl/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 85586 2013-03-03 17:28:52Z dreisner $
+# Maintainer: Jonathan Steel <mail@jsteel.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Jason Chu <jason@archlinux.org>
+# Contributor: Joker-jar <joker-jar@yandex.ru>
+
+pkgname=dgen-sdl
+pkgver=1.32
+pkgrel=2
+pkgdesc="An emulator for Sega Genesis/Mega Drive systems ported to SDL"
+arch=('i686' 'x86_64')
+url="http://dgen.sourceforge.net"
+license=('BSD')
+depends=('sdl' 'libgl' 'libarchive')
+if test "$CARCH" == i686; then
+ makedepends=('nasm')
+fi
+source=(http://downloads.sourceforge.net/dgen/$pkgname-$pkgver.tar.gz)
+md5sums=('81b6f1c4bd612e81a9b8663c38d51890')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir"/ install
+
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
diff --git a/community/dhex/PKGBUILD b/community/dhex/PKGBUILD
new file mode 100644
index 000000000..d9c0213a3
--- /dev/null
+++ b/community/dhex/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 76254 2012-09-15 09:07:29Z aginiewicz $
+# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
+
+pkgname=dhex
+pkgver=0.68
+pkgrel=1
+pkgdesc="An ncurses-based hexeditor with a diff mode"
+arch=('i686' 'x86_64')
+url="http://www.dettus.net/dhex/"
+license=('GPL')
+depends=('ncurses')
+source=("http://www.dettus.net/dhex/${pkgname}_${pkgver}.tar.gz")
+md5sums=('5109b3d50053553e41d75c8e5c0a0175')
+
+build() {
+ cd "${srcdir}/${pkgname}_${pkgver}"
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}_${pkgver}"
+ install -d "${pkgdir}"/usr/{bin,share}
+ install -d "${pkgdir}"/usr/man/man{1,5}
+ make DESTDIR="${pkgdir}/usr" install
+ mv "${pkgdir}/usr/man" "${pkgdir}/usr/share/man"
+}
+
diff --git a/community/dia/PKGBUILD b/community/dia/PKGBUILD
new file mode 100644
index 000000000..609215664
--- /dev/null
+++ b/community/dia/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 90015 2013-05-06 19:36:39Z foutrelis $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Gregor Ibic <gregor.ibic@intelicom.si>
+
+pkgname=dia
+pkgver=0.97.2
+pkgrel=5
+pkgdesc="A GTK+ based diagram creation program"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://live.gnome.org/Dia"
+install=dia.install
+depends=('libxslt' 'desktop-file-utils' 'libart-lgpl' 'gtk2' 'hicolor-icon-theme')
+makedepends=('intltool' 'python2' 'docbook-xsl')
+optdepends=('python2')
+options=('!libtool' 'docs' '!emptydirs')
+source=("ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.97/${pkgname}-${pkgver}.tar.xz"
+ "dia-crash.patch::https://git.gnome.org/browse/dia/patch/?id=213bdfe956bf8fe57c86316f68a09408fef1647e")
+md5sums=('1e1180a513fb567709b09bc19f12105e'
+ '2ad4fcfbfb561930a1d0335cc942a07b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ export PYTHON=/usr/bin/python2
+ for file in `find -type f -name '*.py'`; do
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' "$file"
+ done
+ sed -i 's#python2\.1#python2 python2.1#' configure
+ patch -p1 <$srcdir/dia-crash.patch
+
+ ./configure --prefix=/usr \
+ --with-cairo \
+ --with-python \
+ --disable-gnome \
+ --with-hardbooks
+ sed -i 's#SUBDIRS = lib objects plug-ins shapes app bindings samples po sheets data doc tests installer#SUBDIRS = lib objects plug-ins shapes app bindings samples po sheets data tests installer#' Makefile
+ make
+ cd doc
+ make html
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ cd doc
+ make DESTDIR="${pkgdir}" install-html
+ ln -sf ../doc/dia/html "${pkgdir}"/usr/share/dia/help
+}
diff --git a/community/dia/dia-overflow-fix.patch b/community/dia/dia-overflow-fix.patch
new file mode 100644
index 000000000..a6e64f3c6
--- /dev/null
+++ b/community/dia/dia-overflow-fix.patch
@@ -0,0 +1,28 @@
+diff -wbBur dia-0.97.1/plug-ins/xfig/xfig-export.c dia-0.97.1.my/plug-ins/xfig/xfig-export.c
+--- dia-0.97.1/plug-ins/xfig/xfig-export.c 2009-11-07 17:28:34.000000000 +0300
++++ dia-0.97.1.my/plug-ins/xfig/xfig-export.c 2010-11-15 17:44:05.640896280 +0300
+@@ -417,6 +417,9 @@
+ if (text[i] > 127) {
+ newlen += 3;
+ }
++ if (text[i] == '\\') {
++ newlen += 1;
++ }
+ }
+ returntext = g_malloc(sizeof(char)*(newlen+1));
+ j = 0;
+@@ -1085,10 +1088,10 @@
+ figtext = figText(renderer, (unsigned char *) text);
+ /* xfig texts are specials */
+ fprintf(renderer->file, "4 %d %d %d 0 %d %s 0.0 6 0.0 0.0 %d %d %s\\001\n",
+- figAlignment(renderer, alignment),
+- figColor(renderer, color),
+- figDepth(renderer),
+- figFont(renderer),
++ (int)figAlignment(renderer, alignment),
++ (int)figColor(renderer, color),
++ (int)figDepth(renderer),
++ (int)figFont(renderer),
+ xfig_dtostr(d_buf, figFontSize(renderer)),
+ (int)figCoord(renderer, pos->x),
+ (int)figCoord(renderer, pos->y),
diff --git a/community/dia/dia.install b/community/dia/dia.install
new file mode 100644
index 000000000..a49438e1f
--- /dev/null
+++ b/community/dia/dia.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime > /dev/null
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/dictd/PKGBUILD b/community/dictd/PKGBUILD
new file mode 100644
index 000000000..cd5509161
--- /dev/null
+++ b/community/dictd/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 91830 2013-05-28 17:03:45Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: SmackleFunky <smacklefunky@optusnet.com.au>
+# Contributor: Enrico Morelli <morelli@cerm.unifi.it>
+
+pkgname=dictd
+pkgver=1.12.1
+pkgrel=3
+pkgdesc="Online dictionary client and server"
+url="http://sourceforge.net/projects/dict/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('sh' 'zlib' 'libmaa')
+makedepends=('flex')
+backup=(etc/dict/dictd.conf
+ etc/dict/dict.conf
+ etc/dict/site.info
+ etc/conf.d/dictd
+ etc/xinetd.d/dictd
+ etc/dict/colorit.conf)
+options=('!emptydirs')
+source=("http://downloads.sourceforge.net/dict/$pkgname-$pkgver.tar.gz"
+ dict.conf
+ dictd.conf
+ dictd.confd
+ dictd.service
+ site.info
+ dictd.xinetd
+ colorit.conf)
+md5sums=('62696491174c22079f664830d07c0623'
+ 'fb72f7d8c55f84b1b37bbc8d33a8e55a'
+ '64cd6ffdb40fb3367224f91ac44926ac'
+ '838887fee38ae4cebd652d399b1f2266'
+ 'd94fa6c43514c158c80e85f856c65365'
+ 'b8cabf913876e544d919c7f20ff8db9e'
+ 'bd3fd3f68625bad0c23754686ae2e99c'
+ '978c9c079a0fc8d7d42a4cd4000190e7')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --enable-dictorg --prefix=/usr --sysconfdir=/etc/dict --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -D -m 0644 $srcdir/dictd.xinetd $pkgdir/etc/xinetd.d/dictd
+ install -D -m 0644 $srcdir/dictd.conf $pkgdir/etc/dict/dictd.conf
+ install -D -m 0644 $srcdir/dict.conf $pkgdir/etc/dict/dict.conf
+ install -D -m 0644 $srcdir/site.info $pkgdir/etc/dict/site.info
+ install -D -m 0644 $srcdir/dictd.confd $pkgdir/etc/conf.d/dictd
+ install -D -m 0644 $srcdir/colorit.conf $pkgdir/etc/dict/colorit.conf
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+}
diff --git a/community/dictd/colorit.conf b/community/dictd/colorit.conf
new file mode 100644
index 000000000..8355dae15
--- /dev/null
+++ b/community/dictd/colorit.conf
@@ -0,0 +1,32 @@
+dnl /etc/dictd/colorit.conf vim:ft=m4
+dnl
+dnl Sample configuration file for colorit(1) program
+dnl
+divert(-1)
+dnl
+dnl Define some useful color variables
+dnl
+define(`black', `0')
+define(`red', `1')
+define(`green', `2')
+define(`brown', `3')
+define(`blue', `4')
+define(`magenta', `5')
+define(`cyan', `6')
+define(`white', `7')
+dnl
+dnl Mark macro arguments: regexp foreground-color [background-color]
+dnl
+define(`mark', ``mark "$1"'' `ifelse(`$#', `3', ``"\033[3$2;4$3m"'', ``"\033[3$2m"'')' `"\033[m"')
+dnl
+divert
+mark(`^From.*$',red,cyan)
+mark(`^ [^ ]+',green)
+mark(`^ *Note:',red)
+mark(`{[^{]+}',green)
+mark(`^ *\[[^\[]+\]', cyan)
+mark(`^[ ]*(adj|n|v|adv)? *[0-9]+[\.:]',cyan)
+mark(`^ *\([a-z]+\)',cyan)
+mark(`(Syn|Ant|syn|ant):', blue, white)
+mark(` (t|i|a|adj|adv|n|v)\. ',cyan)
+mark(` (t|i|a|adj|adv|n|v)\.$',cyan)
diff --git a/community/dictd/dict.conf b/community/dictd/dict.conf
new file mode 100644
index 000000000..e06c3d296
--- /dev/null
+++ b/community/dictd/dict.conf
@@ -0,0 +1,6 @@
+# This is the configuration file for dict.
+# Usually all you will ever need here is the server keywords.
+# Refer to the dict manpage for other options.
+# It will only check the second server if the first fails
+server localhost
+server dict.org
diff --git a/community/dictd/dictd.conf b/community/dictd/dictd.conf
new file mode 100644
index 000000000..71e883a36
--- /dev/null
+++ b/community/dictd/dictd.conf
@@ -0,0 +1,25 @@
+# dictd configuration file.
+# whipped up by michael conrad tilstra <michael@gentoo.org>
+
+# Informational message
+
+global {
+ site site.info
+}
+
+# who's allowed. You might want to change this.
+access {
+ allow *
+}
+
+# Dictionaries are listed below.
+# The initrc script scans /usr/lib/dict and adds all of the dictionaries
+# it finds here.
+#
+# The initrc script will delete everything after the the last line and
+# replace it with what it finds. So add all of your things above.
+#
+# If this is a problem for people, contact me and
+# we can work out a different method.
+#
+#LASTLINE
diff --git a/community/dictd/dictd.confd b/community/dictd/dictd.confd
new file mode 100644
index 000000000..4b47dcdde
--- /dev/null
+++ b/community/dictd/dictd.confd
@@ -0,0 +1,7 @@
+# Config file for /etc/rc.d/dictd
+
+DICTD_CONF=/etc/dict/dictd.conf
+DICTD_DICTDIR=/usr/share/dictd
+DICTD_TMPCONF=/etc/dict/dictd.conf.$$
+DICTD_EARGS="-s"
+DICTD_ARGS="--locale en_US.UTF-8"
diff --git a/community/dictd/dictd.service b/community/dictd/dictd.service
new file mode 100644
index 000000000..f62bf275f
--- /dev/null
+++ b/community/dictd/dictd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Dictd Dictionary Server Daemon
+After=network.target
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/conf.d/dictd
+ExecStart=/usr/bin/dictd $DICTD_ARGS -- $DICTD_EARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/dictd/dictd.xinetd b/community/dictd/dictd.xinetd
new file mode 100644
index 000000000..0ae5cb411
--- /dev/null
+++ b/community/dictd/dictd.xinetd
@@ -0,0 +1,12 @@
+service dict
+{
+ disable = yes
+ type = UNLISTED
+ port = 2628
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ user = daemon
+ server = /usr/bin/dictd
+ server_args = -c /etc/dict/dictd.conf -i --locale en_US.UTF-8
+}
diff --git a/community/dictd/site.info b/community/dictd/site.info
new file mode 100644
index 000000000..23bfdeb61
--- /dev/null
+++ b/community/dictd/site.info
@@ -0,0 +1,6 @@
+Welcome to your dictionary server dictd!
+
+This is an example site information file. It should contain information
+about any restricted databases and how users can obtain access. If may
+also contain other random data as you see fit.
+
diff --git a/community/dietlibc/PKGBUILD b/community/dietlibc/PKGBUILD
new file mode 100644
index 000000000..6926505b4
--- /dev/null
+++ b/community/dietlibc/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 92521 2013-06-07 16:21:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Tino Reichardt <milky-archlinux@mcmilk.de>
+
+pkgname=dietlibc
+pkgver=0.33
+pkgrel=1
+pkgdesc="a libc optimized for small size"
+arch=('i686' 'x86_64')
+url="http://www.fefe.de/dietlibc/"
+license=("GPL")
+#source=(http://www.kernel.org/pub/linux/libs/dietlibc/$pkgname-$pkgver.tar.bz2)
+source=("http://www.fefe.de/dietlibc/dietlibc-$pkgver.tar.bz2")
+md5sums=('9d541b9a6623b04ec12e5248b82db7c0')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/dillo/PKGBUILD b/community/dillo/PKGBUILD
new file mode 100644
index 000000000..b79a61416
--- /dev/null
+++ b/community/dillo/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 90016 2013-05-06 19:36:40Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: dorphell <dorphell@archlinux.org>
+
+pkgname=dillo
+pkgver=3.0.3
+pkgrel=2
+pkgdesc="A small, fast graphical web browser built on FLTK"
+arch=(i686 x86_64)
+url="http://www.dillo.org"
+license=('GPL')
+depends=('fltk' 'libjpeg' 'perl' 'openssl' 'libpng' 'gcc-libs' 'libxcursor'
+ 'libxi' 'libxinerama')
+backup=(etc/dillo/{dillorc,dpidrc})
+source=(http://www.dillo.org/download/$pkgname-$pkgver.tar.bz2)
+md5sums=('726cd0b7a18c5e25f4d80ebeffe7607e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-cookies --enable-dlgui \
+ --enable-ssl
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/directfb/PKGBUILD b/community/directfb/PKGBUILD
new file mode 100644
index 000000000..e7f09b43e
--- /dev/null
+++ b/community/directfb/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 90017 2013-05-06 19:36:41Z foutrelis $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=directfb
+pkgver=1.6.3
+pkgrel=2
+pkgdesc="A thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system on top of the Linux Framebuffer Device"
+arch=('i686' 'x86_64')
+url="http://www.directfb.org"
+license=('LGPL')
+depends=('gcc-libs' 'libjpeg' 'sdl' 'libpng' 'freetype2')
+options=('!libtool')
+source=(http://www.directfb.org/downloads/Core/DirectFB-${pkgver%.*}/DirectFB-${pkgver}.tar.gz)
+sha1sums=('0433c5999044ec9701481a92e50c0760cdb50c41')
+
+build() {
+ cd DirectFB-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-static \
+ --enable-zlib --enable-x11 --enable-sdl --disable-vnc --disable-osx \
+ --enable-video4linux2 --enable-voodoo
+ make
+}
+
+package() {
+ cd DirectFB-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/discid/PKGBUILD b/community/discid/PKGBUILD
new file mode 100644
index 000000000..a40ba2e98
--- /dev/null
+++ b/community/discid/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 65124 2012-02-20 04:54:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Roland Schaeuble <rschaeuble@gmx.ch>
+
+pkgname=discid
+pkgver=0.1.3
+pkgrel=5
+pkgdesc="A program to calculate the disc-ID for audio compact discs"
+arch=('i686' 'x86_64')
+url="http://discid.sourceforge.net"
+license=("GPL")
+depends=(gcc-libs)
+source=("http://downloads.sourceforge.net/sourceforge/discid/$pkgname-$pkgver.tar.gz")
+md5sums=('4f1c06efa40995576e6436246e5bd674')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make
+ make DESTDIR=$pkgdir/usr install
+}
diff --git a/community/distcc/PKGBUILD b/community/distcc/PKGBUILD
new file mode 100644
index 000000000..3363a6c51
--- /dev/null
+++ b/community/distcc/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 94163 2013-07-15 11:02:50Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Judd Vinet <jvinet@zeroflux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=distcc
+pkgver=3.1
+pkgrel=12
+pkgdesc="A distributed C, C++, Obj C compiler"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/distcc/"
+license=('GPL')
+depends=('gcc' 'popt' 'avahi' 'dbus')
+makedepends=('gtk2' 'pkgconfig' 'python2')
+optdepends=('gtk2: for distccmon-gnome'
+ 'python2')
+backup=('etc/conf.d/distccd'
+ 'etc/distcc/hosts')
+source=(http://distcc.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2
+ distccd.conf.d
+ distccd.service)
+md5sums=('a1a9d3853df7133669fffec2a9aab9f3'
+ '239aae53250e3e35288cba566bc0bbf1'
+ '09f0688da9c1840e518d2593bd5c3830')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ [ -f Makefile ] || PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --with-gtk \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+# --without-avahi \
+
+ make WERROR_CFLAGS= INCLUDESERVER_PYTHON=/usr/bin/python2
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+# make TEST_PYTHON=/usr/bin/python2 check
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}/" INCLUDESERVER_PYTHON=/usr/bin/python2 install
+ install -D -m644 ${srcdir}/distccd.conf.d ${pkgdir}/etc/conf.d/distccd
+
+ install -d ${pkgdir}/usr/lib/${pkgname}/bin
+ ln -sf /usr/bin/${pkgname} ${pkgdir}/usr/lib/${pkgname}/bin/cc
+ ln -sf /usr/bin/${pkgname} ${pkgdir}/usr/lib/${pkgname}/bin/gcc
+ ln -sf /usr/bin/${pkgname} ${pkgdir}/usr/lib/${pkgname}/bin/g++
+ ln -sf /usr/bin/${pkgname} ${pkgdir}/usr/lib/${pkgname}/bin/c++
+ ln -sf /usr/bin/${pkgname} ${pkgdir}/usr/lib/${pkgname}/bin/cpp
+
+ install -Dm0644 $srcdir/distccd.service $pkgdir/usr/lib/systemd/system/distccd.service
+}
diff --git a/community/distcc/distccd.conf.d b/community/distcc/distccd.conf.d
new file mode 100644
index 000000000..2fe7a4cc6
--- /dev/null
+++ b/community/distcc/distccd.conf.d
@@ -0,0 +1,7 @@
+#
+# Parameters to be passed to distccd
+#
+# You must explicitly add IPs (or subnets) that are allowed to connect,
+# using the --allow switch. See the distccd manpage for more info.
+#
+DISTCC_ARGS="--allow 127.0.0.1"
diff --git a/community/distcc/distccd.service b/community/distcc/distccd.service
new file mode 100644
index 000000000..0b72fecc3
--- /dev/null
+++ b/community/distcc/distccd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=A distributed C/C++ compiler
+Documentation=man:distccd(1)
+After=network.target
+
+[Service]
+User=nobody
+EnvironmentFile=/etc/conf.d/distccd
+ExecStart=/usr/bin/distccd --no-detach --daemon $DISTCC_ARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/djview4/PKGBUILD b/community/djview4/PKGBUILD
new file mode 100644
index 000000000..0125231f5
--- /dev/null
+++ b/community/djview4/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 85340 2013-03-01 10:29:36Z andrea $
+# Contributor: Paulo Matias <matias.archlinux-br.org>
+# Contributor: Leslie P. Polzer <polzer.gnu.org>
+# Contributor: erm67 <erm67.yahoo.it>
+# Contributor: Daniel J Griffiths
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=djview4
+pkgver=4.9
+pkgrel=2
+pkgdesc='Portable DjVu viewer and browser plugin'
+url='http://djvu.sourceforge.net/djview4.html'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('qt4' 'djvulibre')
+source=("http://downloads.sourceforge.net/djvu/djview-${pkgver}.tar.gz")
+sha1sums=('07f97e32919bfb34ff2d59b928c47ffbc96dcfc5')
+
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ source /etc/profile.d/qt4.sh
+ ./configure --prefix=/usr
+ sed 's/netscape/mozilla/g' -i nsdejavu/Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install-djview install-nsdejavu
+
+ cd desktopfiles
+ install -Dm644 hi32-djview4.png "${pkgdir}"/usr/share/icons/hicolor/32x32/apps/djvulibre-djview4.png
+ install -Dm644 hi64-djview4.png "${pkgdir}"/usr/share/icons/hicolor/64x64/apps/djvulibre-djview4.png
+ install -Dm644 hi64-djview4.png "${pkgdir}"/usr/share/pixmaps/djvulibre-djview4.png
+ install -Dm644 djvulibre-djview4.desktop "${pkgdir}"/usr/share/applications/djvulibre-djview4.desktop
+}
diff --git a/community/djview4/install b/community/djview4/install
new file mode 100644
index 000000000..b0409600c
--- /dev/null
+++ b/community/djview4/install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null || true
+ update-desktop-database -q || true
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/dmd/PKGBUILD b/community/dmd/PKGBUILD
new file mode 100644
index 000000000..ab5be235b
--- /dev/null
+++ b/community/dmd/PKGBUILD
@@ -0,0 +1,106 @@
+# $Id: PKGBUILD 92844 2013-06-17 00:23:34Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Anders Bergh <anders1@gmail.com>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+
+pkgname=('dmd' 'libphobos' 'dtools')
+pkgbase=dmd
+pkgver=2.063.2
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://www.dlang.org"
+makedepends=('git')
+source=("git+http://github.com/D-Programming-Language/dmd.git#tag=v$pkgver"
+ "git+http://github.com/D-Programming-Language/druntime.git#tag=v$pkgver"
+ "git+http://github.com/D-Programming-Language/phobos.git#tag=v$pkgver"
+ "git+http://github.com/D-Programming-Language/tools#tag=v$pkgver")
+sha1sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
+
+[[ $CARCH == "x86_64" ]] && _archbits="64"
+[[ $CARCH == "i686" ]] && _archbits="32"
+
+build() {
+ cd $srcdir/dmd/src
+ make -f posix.mak MODEL=$_archbits RELEASE=1
+
+ cd $srcdir/druntime
+ make -f posix.mak MODEL=$_archbits DMD=$srcdir/dmd/src/dmd RELEASE=1
+
+ cd $srcdir/phobos
+ make -f posix.mak MODEL=$_archbits DMD=$srcdir/dmd/src/dmd RELEASE=1
+
+ cd $srcdir/tools
+ for tool in rdmd.d ddemangle.d catdoc.d detab.d tolf.d dget.d; do
+ $srcdir/dmd/src/dmd -I../druntime/import -I../phobos -L-L../phobos/generated/linux/release/$_archbits/ $tool
+ done
+}
+
+package_dmd() {
+ pkgdesc="The D programming language reference compiler"
+ backup=('etc/dmd.conf')
+ depends=('gcc')
+ provides=("d-compiler=$pkgver")
+ license=('custom')
+
+ install -Dm755 $srcdir/dmd/src/dmd $pkgdir/usr/bin/dmd
+
+ mkdir -p $pkgdir/etc
+ echo -e "[Environment]\nDFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib32 -L--no-warn-search-mismatch -L--export-dynamic" > $pkgdir/etc/dmd.conf
+
+ install -Dm644 $srcdir/dmd/docs/man/man1/dmd.1 $pkgdir/usr/share/man/man1/dmd.1
+ install -Dm644 $srcdir/dmd/docs/man/man1/dmd.conf.5 $pkgdir/usr/share/man/man5/dmd.conf.5
+
+ install -Dm644 $srcdir/dmd/src/backendlicense.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-backend
+ install -Dm644 $srcdir/dmd/src/gpl.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-frontend.1
+ install -Dm644 $srcdir/dmd/src/artistic.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-frontend.2
+
+ mkdir -p $pkgdir/usr/share/d/samples/
+ cp -r $srcdir/dmd/samples/* $pkgdir/usr/share/d/samples/
+
+ find $pkgdir/usr -type f | xargs chmod 0644
+ chmod 755 $pkgdir/usr/bin/*
+
+ # No longer available, because not source code is provided and those are not mandatory.
+ # Please get those from http://dlang.org if absolutely needed.
+
+ # install -Dm755 $srcdir/dmd/linux/bin${_archbits}/dumpobj $pkgdir/usr/bin/dumpobj
+ # install -Dm755 $srcdir/dmd/linux/bin${_archbits}/obj2asm $pkgdir/usr/bin/obj2asm
+}
+
+# Will be packaged separately once GDC/LDC will be able to compile phobos and pass test suite.
+# For now only dependency is relaxed
+package_libphobos() {
+ depends=("d-compiler>=$pkgver" "curl")
+ pkgdesc="The Phobos standard library for D programming language"
+ license=("boost")
+ install -Dm644 $srcdir/phobos/generated/linux/release/$_archbits/libphobos2.a $pkgdir/usr/lib/libphobos2.a
+ install -Dm644 $srcdir/phobos/generated/linux/release/$_archbits/libphobos2.so $pkgdir/usr/lib/libphobos2.so
+
+ mkdir -p $pkgdir/usr/include/d
+ cp -r $srcdir/phobos/{*.d,etc,std} $pkgdir/usr/include/d
+
+ mkdir -p $pkgdir/usr/include/d/druntime
+ cp -r $srcdir/druntime/import $pkgdir/usr/include/d/druntime
+
+ mkdir -p $pkgdir/usr/share/doc/d/
+
+ find $pkgdir/usr -type f | xargs chmod 0644
+
+ install -Dm644 $srcdir/druntime/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE-druntime
+ install -Dm644 $srcdir/phobos/LICENSE_1_0.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-phobos
+}
+
+package_dtools() {
+ pkgdesc="Ancilliary tools for the D programming language compiler"
+ license=("boost")
+ depends=("curl")
+
+ cd $srcdir/tools
+ mkdir -p $pkgdir/usr/bin
+ install -m755 -t $pkgdir/usr/bin rdmd ddemangle catdoc detab tolf dget
+}
diff --git a/community/dmenu/PKGBUILD b/community/dmenu/PKGBUILD
new file mode 100644
index 000000000..9a45dd17f
--- /dev/null
+++ b/community/dmenu/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 69620 2012-04-20 14:11:11Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
+
+pkgname=dmenu
+pkgver=4.5
+pkgrel=3
+pkgdesc="A generic menu for X"
+url="http://tools.suckless.org/dmenu/"
+arch=('i686' 'x86_64')
+license=('MIT')
+depends=('sh' 'libxinerama')
+source=(http://dl.suckless.org/tools/$pkgname-$pkgver.tar.gz)
+md5sums=('9c46169ed703732ec52ed946c27d84b4')
+
+build(){
+ cd $srcdir/$pkgname-$pkgver
+ make \
+ X11INC=/usr/include/X11 \
+ X11LIB=/usr/lib/X11
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make PREFIX=/usr DESTDIR=$pkgdir install
+ install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/dnstracer/PKGBUILD b/community/dnstracer/PKGBUILD
new file mode 100644
index 000000000..be84c8a92
--- /dev/null
+++ b/community/dnstracer/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 64665 2012-02-17 14:06:15Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=dnstracer
+pkgver=1.9
+pkgrel=4
+pkgdesc='Determines where a given DNS server gets its information from, and follows the chain of DNS servers'
+url='http://www.mavetju.org/unix/dnstracer.php'
+license=('custom:BSD')
+arch=('i686' 'x86_64')
+source=("http://www.mavetju.org/download/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('b8c60b281c0eb309acd1b1551c51cccb951685c7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/dnstracer/LICENSE
+}
diff --git a/community/docbook2x/PKGBUILD b/community/docbook2x/PKGBUILD
new file mode 100644
index 000000000..4bc84cdc8
--- /dev/null
+++ b/community/docbook2x/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 67604 2012-03-13 14:04:01Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+pkgname=docbook2x
+pkgver=0.8.8
+pkgrel=11
+pkgdesc="A software package that converts DocBook documents into the traditional Unix man page format and the GNU Texinfo format."
+arch=('i686' 'x86_64')
+url="http://docbook2x.sourceforge.net"
+license=("MIT")
+depends=('glibc' 'perl-sgmls' 'perlxml' 'perl-xml-sax' 'libxslt' 'jade')
+makedepends=('texinfo')
+install=docbook2x.install
+source=(http://downloads.sourceforge.net/$pkgname/docbook2X-$pkgver.tar.gz
+ datadir.diff)
+md5sums=('b9b76a6af198c4f44574cfd17a322f01'
+ '826fae88a435d9278c4f9614991d55a1')
+
+build() {
+ cd $srcdir/docbook2X-$pkgver
+ patch -p1 <$srcdir/datadir.diff
+
+ autoreconf
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --program-transform-name 's,2x-,2,' \
+
+ make
+
+ make DESTDIR=$pkgdir install
+ install -D -m0644 COPYING $pkgdir/usr/share/licenses/$pkgname/license
+ sed -i 's|http://docbook2x.sf.net/latest|/usr/share/docbook2X|g' \
+ $pkgdir/usr/bin/db2x_xsltproc
+}
diff --git a/community/docbook2x/datadir.diff b/community/docbook2x/datadir.diff
new file mode 100644
index 000000000..04d94f395
--- /dev/null
+++ b/community/docbook2x/datadir.diff
@@ -0,0 +1,18 @@
+Upstream patch:
+http://docbook2x.cvs.sourceforge.net/viewvc/docbook2x/docbook2X/configure.ac?r1=1.21&r2=1.22&view=patch
+
+diff -ru docbook2X-0.8.8.orig/configure.ac docbook2X-0.8.8/configure.ac
+--- docbook2X-0.8.8.orig/configure.ac 2010-06-26 04:57:04.000000000 -0430
++++ docbook2X-0.8.8/configure.ac 2010-06-26 04:57:39.000000000 -0430
+@@ -149,6 +149,11 @@
+ dnl Ensure that all static_* are fully expanded.
+
+ eval static_datadir="$datadir"
++old_val=""
++until test "$static_datadir" = "$old_val"; do
++ old_val="$static_datadir"
++ eval static_datadir="$static_datadir"
++done
+
+ eval static_bindir="$bindir"
+ old_val=""
diff --git a/community/docbook2x/docbook2x.install b/community/docbook2x/docbook2x.install
new file mode 100644
index 000000000..63e481864
--- /dev/null
+++ b/community/docbook2x/docbook2x.install
@@ -0,0 +1,18 @@
+info_dir=usr/share/info
+info_files=(docbook2X.info docbook2man-xslt.info docbook2texi-xslt.info)
+
+post_install() {
+ for f in ${info_files[@]}; do
+ install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ for f in ${info_files[@]}; do
+ install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
diff --git a/community/dopewars/PKGBUILD b/community/dopewars/PKGBUILD
new file mode 100644
index 000000000..a240c3a0a
--- /dev/null
+++ b/community/dopewars/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 54061 2011-08-13 02:36:39Z ebelanger $
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Maintainer: schuay <jakob.gruber@gmail.com
+
+pkgname=dopewars
+pkgver=1.5.12
+pkgrel=6
+pkgdesc="A drug dealing game set in New York"
+url="http://dopewars.sourceforge.net/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gtk2' 'alsa-lib' 'audiofile' 'sdl_mixer' 'ncurses')
+install='dopewars.install'
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('debf749de9053dc2fb2e74c37ae06206')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --localstatedir=/var/games \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # setup shortcut menu entries
+ mkdir -p "$pkgdir/usr/share/applications"
+ mv "$pkgdir/usr/share/gnome/apps/Games/dopewars.desktop" \
+ "$pkgdir/usr/share/applications"
+ rm -r "$pkgdir/usr/share/gnome"
+
+ # set appropriate permissions and destinations
+ chown root:games "$pkgdir/usr/bin/dopewars"
+ chmod 2755 "$pkgdir/usr/bin/dopewars"
+ chown root:games "$pkgdir/var/games"
+ chmod 775 "$pkgdir/var/games"
+
+ # Handle the scores file creation in the install script
+ rm "$pkgdir/var/games/dopewars.sco"
+}
+
diff --git a/community/dopewars/dopewars.install b/community/dopewars/dopewars.install
new file mode 100644
index 000000000..2801fc338
--- /dev/null
+++ b/community/dopewars/dopewars.install
@@ -0,0 +1,20 @@
+post_install() {
+ if [ ! -e /var/games/dopewars.sco ]; then
+ mkdir -p /var/games
+ touch /var/games/dopewars.sco
+ chown root:games /var/games/dopewars.sco
+ chmod 664 /var/games/dopewars.sco
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ if [ -e /var/games/dopewars.sco ]; then
+ rm /var/games/dopewars.sco
+ fi
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/dos2unix/PKGBUILD b/community/dos2unix/PKGBUILD
new file mode 100644
index 000000000..47107ad65
--- /dev/null
+++ b/community/dos2unix/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 83060 2013-01-27 09:35:12Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski
+# Contributor: Renato Garcia <fgar.renatoATgmailDOTcom>
+# Contributor: Gerson E. Ruotolo <gersonruotolo@globo.com>
+
+pkgname=dos2unix
+pkgver=6.0.3
+pkgrel=1
+pkgdesc='Text file format converter'
+arch=('i686' 'x86_64')
+url='http://waterlan.home.xs4all.nl/dos2unix.html'
+license=('BSD')
+depends=('glibc')
+makedepends=('perl')
+conflicts=('hd2u')
+source=("http://waterlan.home.xs4all.nl/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+sha256sums=('f5268c5b28a1983537210c72b3fd43f4aad17a8dacb6727b615b56dca2ef9a04')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -D -m644 COPYING.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/dosbox/PKGBUILD b/community/dosbox/PKGBUILD
new file mode 100644
index 000000000..356e7eb99
--- /dev/null
+++ b/community/dosbox/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 90018 2013-05-06 19:36:46Z foutrelis $
+# Maintainer: Jaroslav Lichtblau
+# Contributor: Jelle van der Waa <jelle@vdwaa.nl>
+# Contributor: James Rayner <james@archlinux.org>
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=dosbox
+pkgver=0.74
+pkgrel=5
+pkgdesc="Emulator with builtin DOS for running DOS Games"
+arch=('i686' 'x86_64')
+url="http://dosbox.sourceforge.net/"
+license=('GPL')
+depends=('sdl_net' 'zlib' 'sdl_sound' 'libgl' 'libpng' 'alsa-lib' 'gcc-libs' 'glu')
+makedepends=('mesa' 'gendesk')
+source=("http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz"
+ 'dosbox.png'
+ 'gcc46.patch')
+md5sums=('b9b240fa87104421962d14eee71351e8'
+ '2aac25fc06979e375953fcc36824dc5e'
+ '3fba2e3c7c43290319b2928f40ed30e5')
+
+build(){
+ cd "$srcdir"
+ gendesk
+
+ cd "${pkgname}-${pkgver}"
+ patch -Np1 -i "$srcdir/gcc46.patch"
+ sed -i 's/png_check_sig/png_sig_cmp/' configure
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/dosbox
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+
+ # install docs, make does not install them
+ install -Dm644 README "$pkgdir"/usr/share/doc/$pkgname/README
+ install -Dm644 docs/README.video "$pkgdir"/usr/share/doc/$pkgname/README.video
+
+ install -Dm644 "${srcdir}/${pkgname}.png" \
+ "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
+ install -Dm644 "${srcdir}/${pkgname}.desktop" \
+ "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+}
diff --git a/community/dosbox/dosbox.png b/community/dosbox/dosbox.png
new file mode 100644
index 000000000..b8a917986
--- /dev/null
+++ b/community/dosbox/dosbox.png
Binary files differ
diff --git a/community/dosbox/gcc46.patch b/community/dosbox/gcc46.patch
new file mode 100644
index 000000000..eae9ae63e
--- /dev/null
+++ b/community/dosbox/gcc46.patch
@@ -0,0 +1,12 @@
+diff -aur dosbox-0.74/include/dos_inc.h dosbox-0.74.new//include/dos_inc.h
+--- dosbox-0.74/include/dos_inc.h 2010-05-10 17:43:54.000000000 +0000
++++ dosbox-0.74.new//include/dos_inc.h 2011-06-17 20:42:43.982548979 +0000
+@@ -28,6 +28,8 @@
+ #include "mem.h"
+ #endif
+
++#include <stddef.h> //for offsetof
++
+ #ifdef _MSC_VER
+ #pragma pack (1)
+ #endif
diff --git a/community/doublecmd/PKGBUILD b/community/doublecmd/PKGBUILD
new file mode 100644
index 000000000..cddc9f719
--- /dev/null
+++ b/community/doublecmd/PKGBUILD
@@ -0,0 +1,72 @@
+# vim:set ft=sh:
+# $Id: PKGBUILD 93494 2013-07-04 12:38:35Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: (sirocco AT ngs.ru)
+
+pkgbase=doublecmd
+pkgname=('doublecmd-gtk2' 'doublecmd-qt')
+pkgver=0.5.5
+_helpver=0.5.5
+pkgrel=1
+url="http://doublecmd.sourceforge.net/"
+arch=('i686' 'x86_64')
+license=('GPL')
+install="$pkgbase.install"
+provides=("$pkgbase")
+makedepends=('lazarus' 'qt4pas' 'gtk2')
+optdepends=(
+ 'lua51: scripting'
+ 'p7zip: support for 7zip archives'
+ 'libunrar: support for rar archives'
+)
+source=(
+ "http://downloads.sourceforge.net/project/$pkgbase/Double%20Commander%20Source/$pkgbase-$pkgver-src.tar.gz"
+ "http://downloads.sourceforge.net/project/$pkgbase/Double%20Commander%20Source/$pkgbase-help-$_helpver-src.tar.gz"
+)
+sha256sums=('253ec036ec119c067f501247445acdd35d67ffd9693d246dc4e98897c6df6434'
+ '5c5d00187df811df0734bf751a581bce7e1bdd4cf4639b2a1101f1da8743daaf')
+
+build() {
+ cp -a $pkgbase-$pkgver $pkgbase-gtk
+ cp -a $pkgbase-$pkgver $pkgbase-qt
+
+ cd "$srcdir/$pkgbase-gtk"
+ if [ "$CARCH" = "i686" ]; then
+ sed -e '/fPIC/d' -i "$srcdir/$pkgbase-gtk/components/doublecmd/doublecmd_common.lpk"
+ fi
+ sed -e 's/\(export\ lazbuild=\).*/\1"$(which\ lazbuild) --lazarusdir=\/usr\/lib\/lazarus"/' -i build.sh
+ ./build.sh beta gtk2
+
+ cd "$srcdir/$pkgbase-qt"
+ # dont use fPIC on i686
+ if [ "$CARCH" = "i686" ]; then
+ sed -e '/fPIC/d' -i "$srcdir/$pkgbase-qt/components/doublecmd/doublecmd_common.lpk"
+ fi
+ sed -e 's/\(export\ lazbuild=\).*/\1"$(which\ lazbuild) --lazarusdir=\/usr\/lib\/lazarus"/' -i build.sh
+ ./build.sh beta qt
+}
+
+package_doublecmd-gtk2() {
+ pkgdesc="twin-panel (commander-style) file manager (GTK)"
+ depends=('gtk2')
+ cd "$srcdir/$pkgbase-gtk"
+ sed -e 's/LIB_SUFFIX=.*/LIB_SUFFIX=/g' -i ./install/linux/install.sh
+ ./install/linux/install.sh --install-prefix="$pkgdir"
+
+ # install doc
+ cd "$srcdir/$pkgbase-help-$_helpver"
+ cp -a * "$pkgdir/usr/share/$pkgbase/doc/"
+}
+
+package_doublecmd-qt() {
+ pkgdesc="twin-panel (commander-style) file manager (QT)"
+ depends=('qt4pas')
+ cd "$srcdir/$pkgbase-qt"
+ sed -e 's/LIB_SUFFIX=.*/LIB_SUFFIX=/g' -i ./install/linux/install.sh
+ ./install/linux/install.sh --install-prefix="$pkgdir"
+
+ # install doc
+ cd "$srcdir/$pkgbase-help-$_helpver"
+ cp -a * "$pkgdir/usr/share/$pkgbase/doc/"
+}
+
diff --git a/community/doublecmd/doublecmd.install b/community/doublecmd/doublecmd.install
new file mode 100644
index 000000000..c27b5bb23
--- /dev/null
+++ b/community/doublecmd/doublecmd.install
@@ -0,0 +1,34 @@
+update_icons() {
+
+ # Setup Menus
+ if which update-desktop-database
+ then
+ update-desktop-database -q /usr/share/applications > /dev/null 2>&1
+ fi
+
+ # Setup MIME types
+ if which update-mime-database
+ then
+ update-mime-database /usr/share/mime > /dev/null 2>&1
+ fi
+
+ # Setup Icons
+ touch -c /usr/share/icons/hicolor
+ if which gtk-update-icon-cache
+ then
+ gtk-update-icon-cache -tq /usr/share/icons/hicolor > /dev/null 2>&1
+ fi
+
+}
+
+post_install() {
+ update_icons
+}
+
+post_upgrade() {
+ update_icons
+}
+
+post_remove() {
+ update_icons
+}
diff --git a/community/drbd/01-remove-old-sanity-check.diff b/community/drbd/01-remove-old-sanity-check.diff
new file mode 100644
index 000000000..04edb7571
--- /dev/null
+++ b/community/drbd/01-remove-old-sanity-check.diff
@@ -0,0 +1,24 @@
+From: Lars Ellenberg <lars.ellenberg@linbit.com>
+Date: Thu, 3 Nov 2011 09:40:43 +0000 (+0100)
+Subject: build: remove old sanity check to allow build against linux 3.1
+X-Git-Url: http://git.drbd.org/gitweb.cgi?p=drbd-8.3.git;a=commitdiff_plain;h=790c26b09519b9e02b3a7cf7897fb17c2ae339bf
+
+build: remove old sanity check to allow build against linux 3.1
+---
+
+diff --git a/drbd/Makefile b/drbd/Makefile
+index 0985340..7a09603 100644
+--- a/drbd/Makefile
++++ b/drbd/Makefile
+@@ -90,11 +90,6 @@ else
+ endif
+ endif
+
+- KDIR_Makefile_PATCHLEVEL = $(shell test -e $(KDIR)/Makefile && grep "^PATCHLEVEL = " $(KDIR)/Makefile | cut -d " " -f 3)
+- ifneq ($(findstring $(KDIR_Makefile_PATCHLEVEL),12345),)
+- $(error "won't compile with this kernel version")
+- endif
+-
+ .PHONY: drbd.o default all greeting clean kbuild install dep tags
+
+ drbd.o: greeting kbuild
diff --git a/community/drbd/PKGBUILD b/community/drbd/PKGBUILD
new file mode 100644
index 000000000..62e027320
--- /dev/null
+++ b/community/drbd/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 90502 2013-05-12 23:31:07Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgname=drbd
+pkgver=8.4.2
+pkgrel=2
+arch=('i686' 'x86_64')
+pkgdesc='Userland tools for Distributed Replicated Block Device'
+url='http://www.drbd.org'
+license=('GPL2')
+depends=('perl' 'bash')
+source=("http://oss.linbit.com/drbd/8.4/$pkgname-$pkgver.tar.gz"
+ "$pkgname.service")
+backup=('etc/drbd.conf' 'etc/drbd.d/global_common.conf')
+md5sums=('b081f1046adda1d51ba351c40a8b1107'
+ '7dc909b5895c0b5289d3ee0581d7d333')
+
+prepare() {
+ # fix hardcoded path in udev rules
+ sed -i 's,/sbin/drbdadm,/usr/bin/drbdadm,' $pkgname-$pkgver/scripts/drbd.rules
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --with-distro=generic \
+ --with-utils \
+ --with-bashcompletion \
+ --with-udev \
+ --without-km \
+ --without-rgmanager \
+ --without-pacemaker \
+ --without-heartbeat \
+ --without-xen \
+ --without-legacy_utils
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ # move forced /sbin binaries
+ cd "$pkgdir"
+ mv sbin/* usr/bin
+ rmdir sbin
+ # move udev files
+ mv etc/udev usr/lib
+ # move bash completion
+ install -dm 755 usr/share/bash-completion
+ mv etc/bash_completion.d usr/share/bash-completion/completions
+ # remove /var/lock
+ rmdir var/lock
+ # remove embeded init stuff
+ rm -r etc/init.d
+ # autoload module
+ install -Dm 644 /dev/null usr/lib/modules-load.d/$pkgname.conf
+ echo 'drbd' > usr/lib/modules-load.d/$pkgname.conf
+ # systemd
+ install -Dm 644 "$srcdir/$pkgname.service" \
+ "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/drbd/drbd.service b/community/drbd/drbd.service
new file mode 100644
index 000000000..a8053fb05
--- /dev/null
+++ b/community/drbd/drbd.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=Distributed Replicated Block Device
+After=systemd-modules-load.service network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+
+# load config
+ExecStart=/usr/bin/drbdadm adjust all
+# user interruptible version of wait-connect all
+ExecStart=/usr/bin/drbdadm wait-con-int
+# become primary if configured
+ExecStart=/usr/bin/drbdadm sh-b-pri all
+# disconnect and detach all resources
+ExecStop=/usr/bin/drbdadm down all
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/drivel/PKGBUILD b/community/drivel/PKGBUILD
new file mode 100644
index 000000000..75c82abf3
--- /dev/null
+++ b/community/drivel/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 88291 2013-04-16 00:57:51Z bgyorgy $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# old Maintainer: Andrei "Garoth" Thorp <my-username at gmail dot com>
+# Contributor: Alexandr Nevskiy <kepkin@gmail.com>
+
+pkgname=drivel
+pkgver=3.0.3
+pkgrel=3
+pkgdesc="GTK client for working with online journals (blogs)."
+url="http://drivel.sourceforge.net/"
+arch=('i686' 'x86_64')
+license=("GPL")
+depends=('curl' 'gnome-vfs' 'gtksourceview2' 'gtkspell' 'libsoup' 'desktop-file-utils')
+makedepends=('intltool>=0.21' 'gnome-doc-utils>=0.3.2')
+install=drivel.install
+source=(http://downloads.sourceforge.net/drivel/$pkgname-$pkgver.tar.gz)
+md5sums=('295a583d6ed652ab591070245283fb5b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's/ -Werror//' configure
+ LDFLAGS=-lm ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-desktop-update --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/drivel/drivel.install b/community/drivel/drivel.install
new file mode 100644
index 000000000..cbb2491ce
--- /dev/null
+++ b/community/drivel/drivel.install
@@ -0,0 +1,22 @@
+pkgname=drivel
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+ update-mime-database usr/share/mime
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+ update-mime-database usr/share/mime
+}
diff --git a/community/dsniff/PKGBUILD b/community/dsniff/PKGBUILD
new file mode 100644
index 000000000..d93df5e98
--- /dev/null
+++ b/community/dsniff/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 91568 2013-05-24 09:42:47Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: ViNS <gladiator@fastwebnet.it>
+
+pkgname=dsniff
+pkgver=2.4b1
+pkgrel=22
+pkgdesc="Collection of tools for network auditing and penetration testing"
+url="http://www.monkey.org/~dugsong/dsniff/"
+arch=('i686' 'x86_64')
+license=('BSD')
+depends=('libpcap' 'openssl' 'libxmu' 'glib2' 'libnet' 'libnids')
+source=("http://www.monkey.org/~dugsong/${pkgname}/beta/$pkgname-$pkgver.tar.gz"
+ "http://ftp.de.debian.org/debian/pool/main/d/${pkgname}/${pkgname}_2.4b1+debian-18.diff.gz")
+md5sums=('2f761fa3475682a7512b0b43568ee7d6'
+ 'fbc9f62f9ab2f98f24f53ad497c1ce5d')
+
+prepare() {
+ cd $srcdir/$pkgname-2.4
+ patch -N < "${srcdir}"/dsniff_2.4b1+debian-18.diff
+ for i in *.dpatch; do
+ patch -N < "$i"
+ done
+ sed -i 's|${CC-cc} -E|${CC-cc} -O2 -E|g' configure
+}
+
+build() {
+ cd $srcdir/$pkgname-2.4
+ LDFLAGS="-lresolv -lglib-2.0 -lgthread-2.0 $LDFLAGS" ./configure \
+ --prefix=/usr --sbindir=/usr/bin
+ make -j1
+}
+
+package() {
+ cd "$srcdir"/$pkgname-2.4
+ make install_prefix="$pkgdir" install
+ install -D -m0644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE
+ install -d "$pkgdir"/usr/share
+ mv "$pkgdir"/usr/man "$pkgdir"/usr/share/
+}
diff --git a/community/dspam/PKGBUILD b/community/dspam/PKGBUILD
new file mode 100644
index 000000000..7bdba6e41
--- /dev/null
+++ b/community/dspam/PKGBUILD
@@ -0,0 +1,86 @@
+# $Id: PKGBUILD 90661 2013-05-13 14:22:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=dspam
+pkgver=3.10.2
+pkgrel=5
+pkgdesc="A scalable, open-source statistical anti-spam filter"
+arch=('i686' 'x86_64')
+url="http://dspam.nuclearelephant.com/"
+backup=('etc/dspam/dspam.conf'
+ 'srv/http/dspam/cgi-bin/admins'
+ 'srv/http/dspam/cgi-bin/subadmins')
+license=("GPL")
+depends=(readline libcap ncurses zlib openssl)
+makedepends=('libmariadbclient' 'postgresql-libs' 'db' 'sqlite' 'libldap')
+optdepends=('libmariadbclient: MariaDB support'
+ 'postgresql-libs: PostgreSQL support'
+ 'db: BerkeleyDB support'
+ 'sqlite: SQLite support'
+ 'clamav: ClamAV support'
+ 'libldap: external lookup support')
+options=('zipman' 'docs' '!libtool')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/project/dspam/dspam/dspam-$pkgver/dspam-$pkgver.tar.gz
+ dspam.logrotated
+ dspam.service
+ dspam.tmpfiles
+ dspam_maintenance.cron)
+md5sums=('0e0e405d3284485b2a43f47eaf6b09bb'
+ 'cec7e3df4cbc6feca387fb516a5b3490'
+ '1581a94598cec370b66f37b118970676'
+ '933643f2204ccbd7e451a439f83db1ea'
+ 'ebfb0fec16a56f6e1a3a61ced2d5015d')
+
+build() {
+ OPTS="--with-dspam-owner=dspam --with-dspam-group=dspam --with-dspam-home-group=dspam --with-dspam-mode=2510 \
+ --enable-daemon --enable-virtual-users --enable-large-scale --enable-long-usernames --enable-external-lookup \
+ --enable-split-configuration --enable-syslog --enable-clamav \
+ --with-dspam-home=/var/lib/dspam --with-logdir=/var/log/dspam --with-logfile=/var/log/dspam/dspam.log \
+ --with-mysql-includes=/usr/include/mysql --with-mysql-libraries=/usr/lib \
+ --with-storage-driver="mysql_drv,libdb4_drv,pgsql_drv,sqlite3_drv,hash_drv" --enable-preferences-extension"
+
+ cd $srcdir/$pkgname-$pkgver
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr --sysconfdir=/etc/dspam --localstatedir=/var ${OPTS}
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ mkdir -p $pkgdir/srv/http/dspam
+ cp -a webui/* $pkgdir/srv/http/dspam/
+ find $pkgdir/srv/http/dspam/ -type f -name 'Makefile*' -exec rm -f {} \;
+ find $pkgdir/srv/http/dspam/ -type f -name '*.in' -exec rm -f {} \;
+
+ install -d $pkgdir/etc/logrotate.d \
+ $pkgdir/usr/share/dspam/{mysql,pgsql}
+ install -m644 ../dspam.logrotated $pkgdir/etc/logrotate.d/dspam
+
+ sed -i 's|#ServerPID|ServerPID|' $pkgdir/etc/dspam/dspam.conf
+
+ sed -e 's:^#*\(ServerDomainSocketPath[\t ]\{1,\}\).*:\1\"/run/dspam/dspam.sock\":gI' \
+ -e 's:^#*\(ServerPID[\t ]\{1,\}\).*:\1/run/dspam/dspam.pid:gI' \
+ -i $pkgdir/etc/dspam/dspam.conf
+
+ sed -i 's|/var/lib/mysql/mysql.sock|/tmp/mysql.sock|' $pkgdir/etc/dspam/dspam.conf
+
+ cp -r src/tools.mysql_drv/*.sql $pkgdir/usr/share/dspam/mysql
+ cp -r src/tools.pgsql_drv/*.sql $pkgdir/usr/share/dspam/pgsql
+
+ # install dspam_maintenance from contrib/
+ install -Dm0755 contrib/dspam_maintenance/dspam_maintenance.sh $pkgdir/usr/bin/dspam_maintenance
+ install -Dm0644 contrib/dspam_maintenance/dspam_maintenance.1 $pkgdir/usr/share/man/man1/dspam_maintenance.1
+ install -Dm0755 $srcdir/dspam_maintenance.cron $pkgdir/etc/cron.daily/dspam_maintenance
+
+ cd $pkgdir/usr/share/man/man3
+ find -type l -exec ln -sf libdspam.3 {} \;
+
+ # make logrotate happy
+ chmod 750 $pkgdir/var/log/dspam
+
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ install -Dm0644 $srcdir/$pkgname.tmpfiles $pkgdir/usr/lib/tmpfiles.d/$pkgname.conf
+}
diff --git a/community/dspam/dspam.install b/community/dspam/dspam.install
new file mode 100644
index 000000000..4eac46ede
--- /dev/null
+++ b/community/dspam/dspam.install
@@ -0,0 +1,40 @@
+post_install() {
+ echo -n "adding dspam system group... "
+ groupadd -g 115 dspam && echo "done."
+ echo -n "adding dspam system user... "
+ useradd -c "DSPAM Daemon" -u 115 -d /var/lib/dspam -g dspam -s /bin/false dspam \
+ && echo "done."
+ passwd -l dspam &>/dev/null
+ chown root:dspam usr/bin/dspamc
+ chmod g+s usr/bin/dspamc
+
+cat << EOF
+>>> To populate the DSPAM database, you need to follow several steps.
+>>> First create a database. Login to the mysql command prompt.
+ $ mysql -u root -p
+ mysql> CREATE database dspam;
+>>> Next, you need to create a dspam user. At the same MySQL prompt:
+ mysql> GRANT ALL PRIVILEGES ON dspam.* TO dspam@'localhost' IDENTIFIED BY 'passwd';
+>>> Replacing passwd with your chosen password.
+>>> If you want a space optimized db do:
+ $ mysql -u dspam dspam -p < /var/lib/dspam/mysql/mysql_objects-space.sql
+>>> If you want a speed optimized db do:
+ $ mysql -u dspam dspam -p < /var/lib/dspam/mysql/mysql_objects-speed.sql
+>>> Enter the password you set in the previous step, and the database should be populated.
+
+>>> Remember to edit /etc/dspam/dspam.conf accordenly
+>>> If you want to use the postgresql, sqlite3 or Berekely DB4 backends,
+>>> read the documentation
+>>>
+EOF
+}
+
+post_upgrade() {
+ chown root:dspam usr/bin/dspamc
+ chmod g+s usr/bin/dspamc
+}
+
+post_remove() {
+ echo -n -e "\nremoving dspam system user and group..."
+ userdel dspam && echo "done."
+}
diff --git a/community/dspam/dspam.logrotated b/community/dspam/dspam.logrotated
new file mode 100644
index 000000000..c73b1dcb3
--- /dev/null
+++ b/community/dspam/dspam.logrotated
@@ -0,0 +1,10 @@
+/var/log/dspam/sql.errors
+/var/lib/dspam/system.log
+/var/log/dspam/dspam.debug
+/var/log/dspam/dspam.messages
+/var/log/dspam/dspam.log {
+ weekly
+ compress
+ missingok
+ copytruncate
+}
diff --git a/community/dspam/dspam.service b/community/dspam/dspam.service
new file mode 100644
index 000000000..1a5b1e710
--- /dev/null
+++ b/community/dspam/dspam.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=A highly accurate statistical spam filter that uses minimal resources
+
+[Service]
+Type=forking
+User=dspam
+ExecStart=/usr/bin/dspam --daemon 2>/dev/null
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file
diff --git a/community/dspam/dspam.tmpfiles b/community/dspam/dspam.tmpfiles
new file mode 100644
index 000000000..9f5910969
--- /dev/null
+++ b/community/dspam/dspam.tmpfiles
@@ -0,0 +1 @@
+d /var/run/dspam 0770 dspam mail -
diff --git a/community/dspam/dspam_maintenance.cron b/community/dspam/dspam_maintenance.cron
new file mode 100644
index 000000000..940d8aed1
--- /dev/null
+++ b/community/dspam/dspam_maintenance.cron
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# DSPAM maintenance tasks
+# check "man 1 dspam_maintenance" for more options
+
+/usr/bin/dspam_maintenance --verbose --purgescriptdir=/usr/share/dspam 1> /dev/null
diff --git a/community/dtach/PKGBUILD b/community/dtach/PKGBUILD
new file mode 100644
index 000000000..59adff7f3
--- /dev/null
+++ b/community/dtach/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 65661 2012-02-21 20:25:45Z cbrannon $
+# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Adam Vogt <vogt.adam@gmail.com>
+
+pkgname=dtach
+pkgver=0.8
+pkgrel=5
+pkgdesc="emulates the detach feature of screen"
+arch=('i686' 'x86_64')
+url="http://dtach.sourceforge.net/"
+license=('GPL')
+depends=('glibc')
+source=(http://downloads.sourceforge.net/sourceforge/dtach/$pkgname-$pkgver.tar.gz)
+md5sums=('ec5999f3b6bb67da19754fcb2e5221f3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -Dm755 dtach "${pkgdir}/usr/bin/dtach"
+ install -Dm644 dtach.1 "${pkgdir}/usr/share/man/man1/dtach.1"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/dumb/CVE-2006-3668.patch b/community/dumb/CVE-2006-3668.patch
new file mode 100644
index 000000000..09d2fb68f
--- /dev/null
+++ b/community/dumb/CVE-2006-3668.patch
@@ -0,0 +1,16 @@
+Index: libdumb-0.9.3/src/it/itread.c
+===================================================================
+--- libdumb-0.9.3.orig/src/it/itread.c 2006-07-21 11:05:48.000000000 +0200
++++ libdumb-0.9.3/src/it/itread.c 2006-07-21 11:07:22.000000000 +0200
+@@ -292,6 +292,11 @@
+
+ envelope->flags = dumbfile_getc(f);
+ envelope->n_nodes = dumbfile_getc(f);
++ if(envelope->n_nodes > 25) {
++ TRACE("IT error: wrong number of envelope nodes (%d)\n", envelope->n_nodes);
++ envelope->n_nodes = 0;
++ return -1;
++ }
+ envelope->loop_start = dumbfile_getc(f);
+ envelope->loop_end = dumbfile_getc(f);
+ envelope->sus_loop_start = dumbfile_getc(f);
diff --git a/community/dumb/PKGBUILD b/community/dumb/PKGBUILD
new file mode 100644
index 000000000..c30d667a1
--- /dev/null
+++ b/community/dumb/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 83614 2013-02-03 23:11:33Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: JJDaNiMoTh <jjdanimoth@gmail.com>
+# Contributor: Bjørn Lindeijer <bjorn lindeijer nl>
+
+pkgname=dumb
+pkgver=0.9.3
+pkgrel=7
+pkgdesc='IT, XM, S3M and MOD player library'
+arch=('x86_64' 'i686')
+license=('custom:dumb' 'GPL')
+url='http://dumb.sourceforge.net/'
+makedepends=('setconf')
+depends=('glibc' 'allegro4')
+source=("http://downloads.sourceforge.net/sourceforge/dumb/$pkgname-$pkgver.tar.gz"
+ 'as-needed.patch'
+ 'CVE-2006-3668.patch')
+sha256sums=('8d44fbc9e57f3bac9f761c3b12ce102d47d717f0dd846657fb988e0bb5d1ea33'
+ 'f7a41576d5dcecad2f9a01cbb0228457b434423046cb67c9a0a720ec87f43fb9'
+ '9f6785435757db725bc73b1c4874b91e80b9277c6fdd2b56e47dae1cfbc968e6')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Add -fPIC for anything but i686
+ [ "$CARCH" = 'i686' ] || export CFLAGS="${CFLAGS} -fPIC"
+
+ # Patch from Gentoo for CVE-2006-3668
+ patch -p1 < "$srcdir/CVE-2006-3668.patch"
+
+ # Patch from Gentoo for binutils >= 2.22
+ patch -p1 < "$srcdir/as-needed.patch"
+ sed -i '/LDFLAGS :=/d' Makefile
+ cp Makefile Makefile.rdy
+
+ # Make with Allegro support
+ # Upstream's make process is interactive, and we can't simply pass
+ # a here-document to the make command. The best way is to write our
+ # own config.txt, circumventing the interactive configuration step,
+ # as is done in Gentoo's ebuild.
+ cat << EOF > make/config.txt
+include make/unix.inc
+ALL_TARGETS := core core-examples core-headers
+ALL_TARGETS += allegro allegro-examples allegro-headers
+PREFIX := /usr
+EOF
+
+ # Use OFLAGS to be able to set CFLAGS without replacing the -I directives
+ make -j1 OFLAGS="${CFLAGS}"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -d "$pkgdir"/usr/{lib,bin,include}
+ install -Dm644 licence.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/licence.txt"
+ setconf make/config.txt PREFIX "$pkgdir/usr"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/dumb/as-needed.patch b/community/dumb/as-needed.patch
new file mode 100644
index 000000000..6d482d196
--- /dev/null
+++ b/community/dumb/as-needed.patch
@@ -0,0 +1,72 @@
+diff -Naur dumb.orig/Makefile dumb/Makefile
+--- dumb.orig/Makefile 2003-04-03 16:34:18.000000000 -0800
++++ dumb/Makefile 2004-07-06 14:43:38.158063165 -0700
+@@ -199,11 +199,11 @@
+ ALLEGRO_EXAMPLES_EXE := $(addprefix examples/, $(notdir $(patsubst %.c, %$(EXE_SUFFIX), $(ALLEGRO_EXAMPLES))))
+
+
+-CORE_LIB_FILE_RELEASE := $(LIBDIR)/libdumb.a
+-ALLEGRO_LIB_FILE_RELEASE := $(LIBDIR)/libaldmb.a
++CORE_LIB_FILE_RELEASE := $(LIBDIR)/libdumb.so
++ALLEGRO_LIB_FILE_RELEASE := $(LIBDIR)/libaldmb.so
+
+-CORE_LIB_FILE_DEBUG := $(LIBDIR)/libdumbd.a
+-ALLEGRO_LIB_FILE_DEBUG := $(LIBDIR)/libaldmd.a
++CORE_LIB_FILE_DEBUG := $(LIBDIR)/libdumbd.so
++ALLEGRO_LIB_FILE_DEBUG := $(LIBDIR)/libaldmd.so
+
+
+ core: $(CORE_LIB_FILE_RELEASE) $(CORE_LIB_FILE_DEBUG)
+@@ -272,22 +272,22 @@
+
+ OBJDIR := $(OBJDIR_BASE)/release
+ CFLAGS := $(CFLAGS_RELEASE)
+-CORE_LIB_FILE := $(LIBDIR)/libdumb.a
+-ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmb.a
++CORE_LIB_FILE := $(LIBDIR)/libdumb.so
++ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmb.so
+ include make/Makefile.inc
+
+ OBJDIR := $(OBJDIR_BASE)/debug
+ CFLAGS := $(CFLAGS_DEBUG)
+-CORE_LIB_FILE := $(LIBDIR)/libdumbd.a
+-ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmd.a
++CORE_LIB_FILE := $(LIBDIR)/libdumbd.so
++ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmd.so
+ include make/Makefile.inc
+
+
+ $(CORE_EXAMPLES_EXE): examples/%$(EXE_SUFFIX): examples/%.o $(CORE_LIB_FILE_RELEASE)
+- $(CC) $^ -o $@ $(LDFLAGS) $(LINK_MATH)
++ $(CC) $^ -o $@ $(LDFLAGS) $(LINK_MATH)
+
+ $(ALLEGRO_EXAMPLES_EXE): examples/%$(EXE_SUFFIX): examples/%.o $(ALLEGRO_LIB_FILE_RELEASE) $(CORE_LIB_FILE_RELEASE)
+- $(CC) $^ -o $@ $(LDFLAGS) $(LINK_ALLEGRO)
++ $(CC) $^ -o $@ $(LDFLAGS) $(LINK_ALLEGRO)
+
+ $(CORE_EXAMPLES_OBJ): examples/%.o: examples/%.c include/dumb.h
+ $(CC) -c $< -o $@ $(CFLAGS_RELEASE)
+diff -Naur dumb.orig/make/Makefile.inc dumb/make/Makefile.inc
+--- dumb.orig/make/Makefile.inc 2003-04-03 16:34:18.000000000 -0800
++++ dumb/make/Makefile.inc 2004-07-06 14:37:13.082037585 -0700
+@@ -10,8 +10,8 @@
+ # accurately, create a local copy of the current CFLAGS variable. This is
+ # necessary because Make doesn't expand variables in commands until they are
+ # executed.
+-$(CORE_LIB_FILE): CFLAGS := $(CFLAGS)
+-$(ALLEGRO_LIB_FILE): CFLAGS := $(CFLAGS)
++$(CORE_LIB_FILE): CFLAGS := $(CFLAGS) -fPIC -DPIC
++$(ALLEGRO_LIB_FILE): CFLAGS := $(CFLAGS) -fPIC -DPIC
+
+
+ $(OBJDIR)/%.o: src/core/%.c include/dumb.h include/internal/dumb.h
+@@ -28,7 +28,7 @@
+ $(CC) -c -o $@ $< $(CFLAGS) $(WFLAGS_ALLEGRO)
+
+ $(CORE_LIB_FILE): $(CORE_OBJECTS)
+- $(AR) rs $@ $^
++ $(CC) -shared -o $@ $(LDFLAGS) -Wl,-shared,-soname,$(shell basename $@) $^ -lm
+
+ $(ALLEGRO_LIB_FILE): $(ALLEGRO_OBJECTS)
+- $(AR) rs $@ $^
++ $(CC) -shared -o $@ -Llib/unix $(LDFLAGS) -Wl,-shared,-soname,$(shell basename $@) $^ -ldumb
diff --git a/community/dunst/PKGBUILD b/community/dunst/PKGBUILD
new file mode 100644
index 000000000..88f684eec
--- /dev/null
+++ b/community/dunst/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 88586 2013-04-20 15:35:54Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: feuri
+
+pkgname=dunst
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="a dmenu-ish notification system "
+arch=('i686' 'x86_64')
+url="http://knopwob.github.com/dunst"
+license=(MIT)
+depends=(libxinerama libxss libxdg-basedir pango)
+optdepends=("libnotify: notify-send"
+ "dbus: start dunst on demand")
+makedepends=(libnotify dbus 'perl')
+provides=(notification-daemon)
+source=("${pkgname}-${pkgver}.tar.bz2::http://www.knopwob.org/public/dunst-release/$pkgname-$pkgver.tar.bz2")
+
+build() {
+ make -C "$srcdir/$pkgname-$pkgver" X11INC=/usr/include/X11 X11LIB=/usr/lib/X11
+}
+
+package() {
+ make -C "$pkgname-$pkgver" DESTDIR="${pkgdir}" PREFIX=/usr install
+ install -Dm644 "${srcdir}/$pkgname-$pkgver/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+# vim:set ts=2 sw=2 et:
+md5sums=('bb5fee3cdf6ee30f7e11b7edd35e6723')
diff --git a/community/duplicity/PKGBUILD b/community/duplicity/PKGBUILD
new file mode 100644
index 000000000..56c51bbcf
--- /dev/null
+++ b/community/duplicity/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 92894 2013-06-18 09:01:17Z lfleischer $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Aaron Schaefer <aaron@elasticdog.com>
+
+pkgname=duplicity
+pkgver=0.6.21
+pkgrel=3
+pkgdesc='A utility for encrypted, bandwidth-efficient backups using the rsync algorithm.'
+arch=('i686' 'x86_64')
+url='http://www.nongnu.org/duplicity/'
+license=('GPL')
+depends=('gnupg' 'librsync' 'ncftp' 'python2-paramiko')
+optdepends=('lftp: FTPS backend'
+ 'python2-boto: Amazon S3 backend'
+ 'python2-gobject: GIO backend'
+ 'gvfs: GIO backend'
+ 'python2-gdata: Google Docs backend'
+ 'python2-httplib2: Ubuntu One backend'
+ 'python2-oauthlib: Ubuntu One backend'
+ 'rsync: rsync backend')
+source=("http://savannah.nongnu.org/download/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig}
+ "u1backend.patch")
+md5sums=('4ade1de475e0af64211bb6933b593057'
+ '3521d679ba7dff46653313aa3b3e6855'
+ 'b7aede10a3f5503ae4428a506b57486c')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Fix Ubuntu One backup (FS#35487, upstream revisions 912 and 913, will be fixed in 0.6.22).
+ patch -p0 duplicity/backends/u1backend.py ../u1backend.patch
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # python2 fix
+ 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
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ # fix broken documentation permissions until upstream does (FS#27301)
+ chmod 644 "$pkgdir/usr/share/man/man1/$pkgname.1"
+ chmod 644 "$pkgdir/usr/share/man/man1/rdiffdir.1"
+ chmod 644 "$pkgdir/usr/share/doc/$pkgname-$pkgver"/*
+}
diff --git a/community/duplicity/botobackend.patch b/community/duplicity/botobackend.patch
new file mode 100644
index 000000000..302e1e2b1
--- /dev/null
+++ b/community/duplicity/botobackend.patch
@@ -0,0 +1,13 @@
+=== modified file duplicity/backends/botobackend.py
+--- duplicity/backends/botobackend.py 2011-11-25 17:47:57 +0000
++++ duplicity/backends/botobackend.py 2011-12-01 16:15:25 +0000
+@@ -26,6 +26,6 @@
+ if sys.version_info[:2] < (2,6):
+ print "Sorry, S3 multiprocessing requires version 2.6 or later of python"
+ sys.exit(1)
+- import _boto_multi.py
++ import _boto_multi
+ else:
+- import _boto_single.py
++ import _boto_single
+
diff --git a/community/duplicity/duplicity-0.6.17-fix-memleak.patch b/community/duplicity/duplicity-0.6.17-fix-memleak.patch
new file mode 100644
index 000000000..1c4c8daff
--- /dev/null
+++ b/community/duplicity/duplicity-0.6.17-fix-memleak.patch
@@ -0,0 +1,29 @@
+=== modified file 'duplicity/util.py'
+--- duplicity/util.py 2011-08-23 18:14:17 +0000
++++ duplicity/util.py 2012-01-20 21:50:01 +0000
+@@ -71,6 +71,10 @@
+ else:
+ raise
+
++class BlackHoleList(list):
++ def append(self, x):
++ pass
++
+ class FakeTarFile:
+ debug = 0
+ def __iter__(self):
+@@ -83,7 +87,12 @@
+ # yet. So we want to ignore ReadError exceptions, which are used to signal
+ # this.
+ try:
+- return tarfile.TarFile("arbitrary", mode, fp)
++ tf = tarfile.TarFile("arbitrary", mode, fp)
++ # Now we cause TarFile to not cache TarInfo objects. It would end up
++ # consuming a lot of memory over the lifetime of our long-lasting
++ # signature files otherwise.
++ tf.members = BlackHoleList()
++ return tf
+ except tarfile.ReadError:
+ return FakeTarFile()
+
+
diff --git a/community/duplicity/u1backend.patch b/community/duplicity/u1backend.patch
new file mode 100644
index 000000000..7aba89fbb
--- /dev/null
+++ b/community/duplicity/u1backend.patch
@@ -0,0 +1,16 @@
+86a87,90
+>
+> if isinstance(body, file):
+> body.seek(0) # Go to the beginning of the file for the retry
+>
+108a113,115
+> if isinstance(body, file):
+> body.seek(0) # Go to the beginning of the file for the retry
+>
+209a217
+> size = os.path.getsize(source_path.name)
+213c221,222
+< headers = {"Content-Type": content_type}
+---
+> headers = {"Content-Length": str(size),
+> "Content-Type": content_type}
diff --git a/community/dvdbackup/PKGBUILD b/community/dvdbackup/PKGBUILD
new file mode 100644
index 000000000..271c3344d
--- /dev/null
+++ b/community/dvdbackup/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 76304 2012-09-15 15:57:37Z jsteel $
+# Maintainer: Jonathan Steel <mail at jsteel dot org>
+# Contributor: yugrotavele <yugrotavele at archlinux dot us>
+# Contributor: Varun Acharya <varun@archlinux.org>
+# Contributor: Nicolai Lissner <nlissne@linux01.gwdg.de>
+
+pkgname=dvdbackup
+pkgver=0.4.2
+pkgrel=1
+pkgdesc="A tool to rip video DVDs from the command line"
+arch=('i686' 'x86_64')
+url="http://dvdbackup.sourceforge.net/"
+license=('GPL')
+depends=('libdvdread')
+optdepends=('libdvdcss: to decrypt encrypted dvds')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.xz)
+md5sums=('28f273b2f27a3afea3a3c965ddbede86')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/dvdisaster/PKGBUILD b/community/dvdisaster/PKGBUILD
new file mode 100644
index 000000000..15dcb0a07
--- /dev/null
+++ b/community/dvdisaster/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 70165 2012-05-01 03:12:33Z ebelanger $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=dvdisaster
+pkgver=0.72.4
+pkgrel=1
+pkgdesc="Provides a margin of safety against data loss on CD and DVD media caused by aging or scratches"
+arch=('i686' 'x86_64')
+url="http://www.dvdisaster.com/"
+license=('GPL')
+depends=('gtk2')
+options=('!makeflags')
+source=(http://dvdisaster.net/downloads/${pkgname}-${pkgver}.tar.bz2 dvdisaster.desktop)
+sha1sums=('2b47fb5a5535d90641f24a599cd8ae8ffd86b972'
+ 'a802dfcee3aa35bdc4b0b5ecabcf32760cd8b992')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man --docdir=/usr/share/doc \
+ --localedir=/usr/share/locale \
+ --with-nls=yes
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make BUILDROOT="${pkgdir}" install
+ rm -f "${pkgdir}/usr/bin/dvdisaster-uninstall.sh"
+ install -D -m 644 "${srcdir}/dvdisaster.desktop" \
+ "${pkgdir}/usr/share/applications/dvdisaster.desktop"
+ install -D -m 644 icons/create.png \
+ "${pkgdir}/usr/share/pixmaps/dvdisaster.png"
+}
diff --git a/community/dvdisaster/dvdisaster.desktop b/community/dvdisaster/dvdisaster.desktop
new file mode 100644
index 000000000..061a53846
--- /dev/null
+++ b/community/dvdisaster/dvdisaster.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=dvdisaster
+GenericName=DVD Recovery Tool
+Icon=dvdisaster
+Name=dvdisaster
+StartupNotify=true
+Terminal=false
+Type=Application
+Categories=AudioVideo;GTK;
diff --git a/community/dvdrtools/PKGBUILD b/community/dvdrtools/PKGBUILD
new file mode 100644
index 000000000..fe06cc790
--- /dev/null
+++ b/community/dvdrtools/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 76869 2012-10-01 14:50:59Z bisson $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=dvdrtools
+pkgver=0.3.1
+pkgrel=3
+pkgdesc="A fork of cdrtools, with the primary goal of supporting writable DVD drives"
+arch=('i686' 'x86_64')
+url="http://savannah.nongnu.org/projects/dvdrtools/"
+license=('GPL')
+depends=('file' 'bash')
+makedepends=('transcode')
+optdepends=('transcode: video/DVD ripper and encoder for the terminal/console')
+conflicts=('cdrkit')
+source=(ftp://ftp.archlinux.org/other/dvdrtools/$pkgname-$pkgver.tar.gz)
+md5sums=('5707b7e877b853e258cd738938833006')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/dvtm/0001-Makefile-respect-DESTDIR-in-tic-invocation.patch b/community/dvtm/0001-Makefile-respect-DESTDIR-in-tic-invocation.patch
new file mode 100644
index 000000000..9ce462240
--- /dev/null
+++ b/community/dvtm/0001-Makefile-respect-DESTDIR-in-tic-invocation.patch
@@ -0,0 +1,25 @@
+From 4ab5ed57a3b53e0271cf50f256cd7904c50cac55 Mon Sep 17 00:00:00 2001
+From: Douglas Jerome <douglas@ttylinux.org>
+Date: Wed, 15 May 2013 14:33:31 +0200
+Subject: [PATCH] Makefile: respect ${DESTDIR} in tic invocation
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index ff85deb..eb849f4 100644
+--- a/Makefile
++++ b/Makefile
+@@ -55,7 +55,7 @@ install: dvtm
+ @sed "s/VERSION/${VERSION}/g" < dvtm.1 > ${DESTDIR}${MANPREFIX}/man1/dvtm.1
+ @chmod 644 ${DESTDIR}${MANPREFIX}/man1/dvtm.1
+ @echo installing terminfo description
+- @tic -s dvtm.info
++ @tic -o ${DESTDIR}/usr/share/terminfo -s dvtm.info
+
+ uninstall:
+ @echo removing executable file from ${DESTDIR}${PREFIX}/bin
+--
+1.8.3.450.gf3f2a46
+
diff --git a/community/dvtm/PKGBUILD b/community/dvtm/PKGBUILD
new file mode 100644
index 000000000..bedae4873
--- /dev/null
+++ b/community/dvtm/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 92416 2013-06-04 19:05:34Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Giorgio Lando <patroclo7@gmail.com>
+# Contributor: bender02 at gmx dot com
+
+pkgname=dvtm
+pkgver=0.9
+pkgrel=2
+pkgdesc='Dynamic virtual terminal manager.'
+arch=('i686' 'x86_64')
+url='http://www.brain-dump.org/projects/dvtm/'
+license=('MIT')
+depends=('ncurses')
+source=("http://www.brain-dump.org/projects/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'config.h'
+ '0001-Makefile-respect-DESTDIR-in-tic-invocation.patch')
+md5sums=('7de1103abb0ca410f7250cf89f019a38'
+ '41107e5e84a8572f70d6cb111b4e07f8'
+ 'c85d8265ced45d014a7d3f05134bf6a1')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i ../0001-Makefile-respect-DESTDIR-in-tic-invocation.patch
+
+ cp "${srcdir}/config.h" .
+ sed -i 's/CFLAGS =/CFLAGS +=/' config.mk
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make clean
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make PREFIX=/usr DESTDIR="${pkgdir}" install
+ install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/dvtm/config.h b/community/dvtm/config.h
new file mode 100644
index 000000000..48367695a
--- /dev/null
+++ b/community/dvtm/config.h
@@ -0,0 +1,157 @@
+/* valid curses attributes are listed below they can be ORed
+ *
+ * A_NORMAL Normal display (no highlight)
+ * A_STANDOUT Best highlighting mode of the terminal.
+ * A_UNDERLINE Underlining
+ * A_REVERSE Reverse video
+ * A_BLINK Blinking
+ * A_DIM Half bright
+ * A_BOLD Extra bright or bold
+ * A_PROTECT Protected mode
+ * A_INVIS Invisible or blank mode
+ */
+#define BLUE (COLORS==256 ? 68 : COLOR_BLUE)
+/* curses attributes for the currently focused window */
+#define SELECTED_ATTR COLOR(BLUE, -1) | A_NORMAL
+/* curses attributes for normal (not selected) windows */
+#define NORMAL_ATTR COLOR(-1, -1) | A_NORMAL
+/* curses attributes for the status bar */
+#define BAR_ATTR COLOR(BLUE, -1) | A_NORMAL
+/* status bar (command line option -s) position */
+#define BAR_POS BAR_TOP /* BAR_BOTTOM, BAR_OFF */
+/* determines whether the statusbar text should be right or left aligned */
+#define BAR_ALIGN ALIGN_RIGHT
+/* separator between window title and window number */
+#define SEPARATOR " | "
+/* printf format string for the window title, first %s
+ * is replaced by the title, second %s is replaced by
+ * the SEPARATOR, %d stands for the window number */
+#define TITLE "[%s%s#%d]"
+/* master width factor [0.1 .. 0.9] */
+#define MFACT 0.5
+/* scroll back buffer size in lines */
+#define SCROLL_HISTORY 500
+
+#include "tile.c"
+#include "grid.c"
+#include "bstack.c"
+#include "fullscreen.c"
+
+/* by default the first layout entry is used */
+static Layout layouts[] = {
+ { "[]=", tile },
+ { "+++", grid },
+ { "TTT", bstack },
+ { "[ ]", fullscreen },
+};
+
+#define MOD CTRL('g')
+
+/* you can at most specifiy MAX_ARGS (3) number of arguments */
+static Key keys[] = {
+ { MOD, 'c', { create, { NULL } } },
+ { MOD, 'C', { create, { NULL, NULL, "$CWD" } } },
+ { MOD, 'x', { killclient, { NULL } } },
+ { MOD, 'j', { focusnext, { NULL } } },
+ { MOD, 'u', { focusnextnm, { NULL } } },
+ { MOD, 'i', { focusprevnm, { NULL } } },
+ { MOD, 'k', { focusprev, { NULL } } },
+ { MOD, 't', { setlayout, { "[]=" } } },
+ { MOD, 'g', { setlayout, { "+++" } } },
+ { MOD, 'b', { setlayout, { "TTT" } } },
+ { MOD, 'm', { setlayout, { "[ ]" } } },
+ { MOD, ' ', { setlayout, { NULL } } },
+ { MOD, 'h', { setmfact, { "-0.05" } } },
+ { MOD, 'l', { setmfact, { "+0.05" } } },
+ { MOD, '.', { toggleminimize, { NULL } } },
+ { MOD, 's', { togglebar, { NULL } } },
+ { MOD, 'M', { togglemouse, { NULL } } },
+ { MOD, '\n', { zoom , { NULL } } },
+ { MOD, '1', { focusn, { "1" } } },
+ { MOD, '2', { focusn, { "2" } } },
+ { MOD, '3', { focusn, { "3" } } },
+ { MOD, '4', { focusn, { "4" } } },
+ { MOD, '5', { focusn, { "5" } } },
+ { MOD, '6', { focusn, { "6" } } },
+ { MOD, '7', { focusn, { "7" } } },
+ { MOD, '8', { focusn, { "8" } } },
+ { MOD, '9', { focusn, { "9" } } },
+ { MOD, 'q', { quit, { NULL } } },
+ { MOD, 'G', { escapekey, { NULL } } },
+ { MOD, 'a', { togglerunall, { NULL } } },
+ { MOD, 'r', { redraw, { NULL } } },
+ { MOD, 'X', { lock, { NULL } } },
+ { MOD, 'B', { togglebell, { NULL } } },
+ { MOD, 'v', { copymode, { NULL } } },
+ { MOD, '/', { copymode, { "/" } } },
+ { MOD, '?', { copymode, { "?" } } },
+ { MOD, 'p', { paste, { NULL } } },
+ { MOD, KEY_PPAGE, { scrollback, { "-1" } } },
+ { MOD, KEY_NPAGE, { scrollback, { "1" } } },
+ { MOD, KEY_F(1), { create, { "man dvtm", "dvtm help" } } },
+};
+
+static const ColorRule colorrules[] = {
+ { "", A_NORMAL, -1, -1 }, /* default */
+#if 0
+ /* title attrs fgcolor bgcolor */
+ { "ssh", A_NORMAL, COLOR_BLACK, 224 },
+#endif
+};
+
+/* possible values for the mouse buttons are listed below:
+ *
+ * BUTTON1_PRESSED mouse button 1 down
+ * BUTTON1_RELEASED mouse button 1 up
+ * BUTTON1_CLICKED mouse button 1 clicked
+ * BUTTON1_DOUBLE_CLICKED mouse button 1 double clicked
+ * BUTTON1_TRIPLE_CLICKED mouse button 1 triple clicked
+ * BUTTON2_PRESSED mouse button 2 down
+ * BUTTON2_RELEASED mouse button 2 up
+ * BUTTON2_CLICKED mouse button 2 clicked
+ * BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked
+ * BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked
+ * BUTTON3_PRESSED mouse button 3 down
+ * BUTTON3_RELEASED mouse button 3 up
+ * BUTTON3_CLICKED mouse button 3 clicked
+ * BUTTON3_DOUBLE_CLICKED mouse button 3 double clicked
+ * BUTTON3_TRIPLE_CLICKED mouse button 3 triple clicked
+ * BUTTON4_PRESSED mouse button 4 down
+ * BUTTON4_RELEASED mouse button 4 up
+ * BUTTON4_CLICKED mouse button 4 clicked
+ * BUTTON4_DOUBLE_CLICKED mouse button 4 double clicked
+ * BUTTON4_TRIPLE_CLICKED mouse button 4 triple clicked
+ * BUTTON_SHIFT shift was down during button state change
+ * BUTTON_CTRL control was down during button state change
+ * BUTTON_ALT alt was down during button state change
+ * ALL_MOUSE_EVENTS report all button state changes
+ * REPORT_MOUSE_POSITION report mouse movement
+ */
+
+#ifdef NCURSES_MOUSE_VERSION
+# define CONFIG_MOUSE /* compile in mouse support if we build against ncurses */
+#endif
+
+#define ENABLE_MOUSE true /* whether to enable mouse events by default */
+
+#ifdef CONFIG_MOUSE
+static Button buttons[] = {
+ { BUTTON1_CLICKED, { mouse_focus, { NULL } } },
+ { BUTTON1_DOUBLE_CLICKED, { mouse_fullscreen, { "[ ]" } } },
+ { BUTTON2_CLICKED, { mouse_zoom, { NULL } } },
+ { BUTTON3_CLICKED, { mouse_minimize, { NULL } } },
+};
+#endif /* CONFIG_MOUSE */
+
+static Cmd commands[] = {
+ { "create", { create, { NULL } } },
+};
+
+/* gets executed when dvtm is started */
+static Action actions[] = {
+ { create, { NULL } },
+};
+
+static char const * const keytable[] = {
+ /* add your custom key escape sequences */
+};
diff --git a/community/dwb/PKGBUILD b/community/dwb/PKGBUILD
new file mode 100644
index 000000000..9c7fb1a8a
--- /dev/null
+++ b/community/dwb/PKGBUILD
@@ -0,0 +1,26 @@
+#$Id: PKGBUILD 87389 2013-03-30 14:49:30Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: portix <portix at gmx.net>
+
+pkgname=dwb
+pkgver=2013.03.30
+pkgrel=2
+pkgdesc="A webkit web browser with vi-like keyboard shortcuts, stable snapshot"
+url="http://portix.bitbucket.org/dwb/"
+arch=('i686' 'x86_64')
+install=dwb.install
+license=('GPL')
+depends=('libwebkit' 'desktop-file-utils')
+makedepends=('json-c')
+source=(https://bitbucket.org/portix/"${pkgname}"/downloads/"${pkgname}"-"${pkgver}".tar.gz)
+sha1sums=(57207525896a0c6145e1da69481e3ccc043757e9)
+
+build() {
+ cd "${srcdir}"/"${pkgname}"-"${pkgver}"
+ make
+}
+package() {
+ cd "${srcdir}"/"${pkgname}"-"${pkgver}"
+ export BASHCOMPLETION=/usr/share/bash-completion/completions
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/dwb/dwb.install b/community/dwb/dwb.install
new file mode 100644
index 000000000..abb6d38e4
--- /dev/null
+++ b/community/dwb/dwb.install
@@ -0,0 +1,13 @@
+post_install(){
+ update-desktop-database -q
+ echo "==> If you are using extensions you should update the extensions with"
+ echo "==> dwbem -u or dwbem -Nu"
+}
+
+post_upgrade(){
+ post_install
+}
+
+post_remove(){
+ post_install
+}
diff --git a/community/dwdiff/PKGBUILD b/community/dwdiff/PKGBUILD
new file mode 100644
index 000000000..9ab3bf69e
--- /dev/null
+++ b/community/dwdiff/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 87045 2013-03-26 11:49:38Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=dwdiff
+pkgver=2.0.4
+pkgrel=4
+pkgdesc="A front-end for the diff program that operates at the word level instead of the line level"
+arch=('i686' 'x86_64')
+url="http://os.ghalkes.nl/dwdiff.html"
+depends=('diffutils' 'icu')
+license=('GPL')
+source=("http://os.ghalkes.nl/dist/$pkgname-$pkgver.tgz")
+md5sums=('1bb69cbfb76583f69c6912f925fc4cec')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make prefix="$pkgdir"/usr install
+}
diff --git a/community/dwm/PKGBUILD b/community/dwm/PKGBUILD
new file mode 100644
index 000000000..b2fceeb60
--- /dev/null
+++ b/community/dwm/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 60970 2011-12-19 21:33:58Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Dag Odenhall <dag.odenhall@gmail.com>
+# Contributor: Grigorios Bouzakis <grbzks@gmail.com>
+
+pkgname=dwm
+pkgver=6.0
+pkgrel=1
+pkgdesc="A dynamic window manager for X"
+url="http://dwm.suckless.org"
+arch=('i686' 'x86_64')
+license=('MIT')
+options=(zipman)
+depends=('libx11' 'libxinerama')
+install=dwm.install
+source=(http://dl.suckless.org/dwm/dwm-$pkgver.tar.gz
+ config.h
+ dwm.desktop)
+md5sums=('8bb00d4142259beb11e13473b81c0857'
+ '2453e037f46449774ec8afab49b4f1a2'
+ '939f403a71b6e85261d09fc3412269ee')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ cp $srcdir/config.h config.h
+ sed -i 's/CPPFLAGS =/CPPFLAGS +=/g' config.mk
+ sed -i 's/^CFLAGS = -g/#CFLAGS += -g/g' config.mk
+ sed -i 's/^#CFLAGS = -std/CFLAGS += -std/g' config.mk
+ sed -i 's/^LDFLAGS = -g/#LDFLAGS += -g/g' config.mk
+ sed -i 's/^#LDFLAGS = -s/LDFLAGS += -s/g' config.mk
+ make X11INC=/usr/include/X11 X11LIB=/usr/lib/X11
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make PREFIX=/usr DESTDIR=$pkgdir install
+ install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ install -m644 -D README $pkgdir/usr/share/doc/$pkgname/README
+ install -m644 -D $srcdir/dwm.desktop $pkgdir/usr/share/xsessions/dwm.desktop
+}
diff --git a/community/dwm/config.h b/community/dwm/config.h
new file mode 100644
index 000000000..77ff35805
--- /dev/null
+++ b/community/dwm/config.h
@@ -0,0 +1,105 @@
+/* See LICENSE file for copyright and license details. */
+
+/* appearance */
+static const char font[] = "-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-*";
+static const char normbordercolor[] = "#444444";
+static const char normbgcolor[] = "#222222";
+static const char normfgcolor[] = "#bbbbbb";
+static const char selbordercolor[] = "#005577";
+static const char selbgcolor[] = "#005577";
+static const char selfgcolor[] = "#eeeeee";
+static const unsigned int borderpx = 1; /* border pixel of windows */
+static const unsigned int snap = 32; /* snap pixel */
+static const Bool showbar = True; /* False means no bar */
+static const Bool topbar = True; /* False means bottom bar */
+
+/* tagging */
+static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
+
+static const Rule rules[] = {
+ /* class instance title tags mask isfloating monitor */
+ { "Gimp", NULL, NULL, 0, True, -1 },
+ { "Firefox", NULL, NULL, 1 << 8, False, -1 },
+};
+
+/* layout(s) */
+static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
+static const int nmaster = 1; /* number of clients in master area */
+static const Bool resizehints = True; /* True means respect size hints in tiled resizals */
+
+static const Layout layouts[] = {
+ /* symbol arrange function */
+ { "[]=", tile }, /* first entry is default */
+ { "><>", NULL }, /* no layout function means floating behavior */
+ { "[M]", monocle },
+};
+
+/* key definitions */
+#define MODKEY Mod1Mask
+#define TAGKEYS(KEY,TAG) \
+ { MODKEY, KEY, view, {.ui = 1 << TAG} }, \
+ { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
+ { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
+ { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
+
+/* helper for spawning shell commands in the pre dwm-5.0 fashion */
+#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
+
+/* commands */
+static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
+static const char *termcmd[] = { "uxterm", NULL };
+
+static Key keys[] = {
+ /* modifier key function argument */
+ { MODKEY, XK_p, spawn, {.v = dmenucmd } },
+ { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
+ { MODKEY, XK_b, togglebar, {0} },
+ { MODKEY, XK_j, focusstack, {.i = +1 } },
+ { MODKEY, XK_k, focusstack, {.i = -1 } },
+ { MODKEY, XK_i, incnmaster, {.i = +1 } },
+ { MODKEY, XK_d, incnmaster, {.i = -1 } },
+ { MODKEY, XK_h, setmfact, {.f = -0.05} },
+ { MODKEY, XK_l, setmfact, {.f = +0.05} },
+ { MODKEY, XK_Return, zoom, {0} },
+ { MODKEY, XK_Tab, view, {0} },
+ { MODKEY|ShiftMask, XK_c, killclient, {0} },
+ { MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
+ { MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
+ { MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
+ { MODKEY, XK_space, setlayout, {0} },
+ { MODKEY|ShiftMask, XK_space, togglefloating, {0} },
+ { MODKEY, XK_0, view, {.ui = ~0 } },
+ { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
+ { MODKEY, XK_comma, focusmon, {.i = -1 } },
+ { MODKEY, XK_period, focusmon, {.i = +1 } },
+ { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
+ { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
+ TAGKEYS( XK_1, 0)
+ TAGKEYS( XK_2, 1)
+ TAGKEYS( XK_3, 2)
+ TAGKEYS( XK_4, 3)
+ TAGKEYS( XK_5, 4)
+ TAGKEYS( XK_6, 5)
+ TAGKEYS( XK_7, 6)
+ TAGKEYS( XK_8, 7)
+ TAGKEYS( XK_9, 8)
+ { MODKEY|ShiftMask, XK_q, quit, {0} },
+};
+
+/* button definitions */
+/* click can be ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
+static Button buttons[] = {
+ /* click event mask button function argument */
+ { ClkLtSymbol, 0, Button1, setlayout, {0} },
+ { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
+ { ClkWinTitle, 0, Button2, zoom, {0} },
+ { ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
+ { ClkClientWin, MODKEY, Button1, movemouse, {0} },
+ { ClkClientWin, MODKEY, Button2, togglefloating, {0} },
+ { ClkClientWin, MODKEY, Button3, resizemouse, {0} },
+ { ClkTagBar, 0, Button1, view, {0} },
+ { ClkTagBar, 0, Button3, toggleview, {0} },
+ { ClkTagBar, MODKEY, Button1, tag, {0} },
+ { ClkTagBar, MODKEY, Button3, toggletag, {0} },
+};
+
diff --git a/community/dwm/dwm.desktop b/community/dwm/dwm.desktop
new file mode 100644
index 000000000..b0c33541b
--- /dev/null
+++ b/community/dwm/dwm.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Dwm
+Comment=Dynamic window manager
+Exec=dwm
+Icon=dwm
+Type=XSession
diff --git a/community/dwm/dwm.install b/community/dwm/dwm.install
new file mode 100644
index 000000000..44b50ed82
--- /dev/null
+++ b/community/dwm/dwm.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo "-- Edit config.h in dwm's PKGBUILD directory (generally /var/abs/community/dwm/)"
+ echo "-- and rebuild package if you want to change settings."
+}
diff --git a/community/dxpc/PKGBUILD b/community/dxpc/PKGBUILD
new file mode 100644
index 000000000..692b1ceba
--- /dev/null
+++ b/community/dxpc/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 65134 2012-02-20 04:57:47Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=dxpc
+pkgver=3.9.2
+pkgrel=4
+pkgdesc="Differential X Protocol Compressor"
+arch=('i686' 'x86_64')
+url="http://www.vigor.nu/dxpc/"
+license=('GPL')
+depends=('lzo2' 'gcc-libs')
+makedepends=('xproto')
+source=(http://www.vigor.nu/dxpc/dxpc-$pkgver.tgz)
+md5sums=('e69f58c4acc34c6746a0e5ab17bf8d0f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --mandir='${prefix}/share/man'
+ make
+ make prefix="$pkgdir/usr" install
+}
diff --git a/community/dynamite/PKGBUILD b/community/dynamite/PKGBUILD
new file mode 100644
index 000000000..f230ef92f
--- /dev/null
+++ b/community/dynamite/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 65136 2012-02-20 04:58:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=dynamite
+pkgver=0.1.1
+pkgrel=3
+pkgdesc="Dynamite is a tool and library for decompressing data compressed with PKWARE Data Compression Library"
+arch=('i686' 'x86_64')
+url="http://synce.sourceforge.net/"
+license=("GPL")
+source=(http://downloads.sourceforge.net/sourceforge/synce/libdynamite-$pkgver.tar.gz)
+md5sums=('238bf243dba2166a2e0e141b18065235')
+
+build() {
+ cd $srcdir/libdynamite-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/dzen2/PKGBUILD b/community/dzen2/PKGBUILD
new file mode 100644
index 000000000..c3e8b3a85
--- /dev/null
+++ b/community/dzen2/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 74814 2012-08-06 08:20:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Mark Taylor <skymt0@gmail.com>
+
+pkgname=dzen2
+pkgver=0.9.5git
+pkgrel=1
+arch=(i686 x86_64)
+pkgdesc="X notification utility"
+url="https://github.com/robm/dzen"
+license=("MIT")
+depends=('libx11' 'libxpm' 'libxinerama' 'libxft')
+makedepends=('gcc')
+source=($pkgname-$pkgver.zip::https://github.com/robm/dzen/zipball/master)
+md5sums=('bcaa565ebd8c3c7f3d06f8f20de6340a')
+
+build()
+{
+ cd $srcdir/robm-dzen-*
+
+ CFLAGS=" -Wall -Os ${INCS} -DVERSION=\"${VERSION}\" -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT `pkg-config --cflags xft`"
+ LIBS=" -L/usr/lib -lc -lXft -lXpm -lXinerama -lX11"
+
+ echo "CFLAGS=$CFLAGS" >>config.mk
+ echo "LIBS=$LIBS" >>config.mk
+ echo "LDFLAGS=$LIBS" >>config.mk
+
+ make X11INC=/usr/include X11LIB=/usr/lib
+ (cd gadgets && make X11INC=/usr/include X11LIB=/usr/lib)
+}
+
+package() {
+ cd $srcdir/robm-dzen-*
+ make PREFIX=/usr MANPREFIX=/usr/man DESTDIR=$pkgdir install
+ (cd gadgets && make PREFIX=/usr MANPREFIX=/usr/man DESTDIR=$pkgdir install)
+ install -m644 -D LICENSE $pkgdir/usr/share/licenses/dzen2/COPYING
+}
diff --git a/community/e3/PKGBUILD b/community/e3/PKGBUILD
new file mode 100644
index 000000000..542a0c649
--- /dev/null
+++ b/community/e3/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 64154 2012-02-09 14:16:08Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+pkgname=e3
+pkgver=2.8
+pkgrel=3
+pkgdesc="Editor written in assembly. Tiny, with no library dependencies."
+arch=('x86_64' 'i686')
+url="http://sites.google.com/site/e3editor/"
+license=('GPL2')
+makedepends=('nasm')
+options=('!strip')
+source=("http://sites.google.com/site/e3editor/Home/$pkgname-$pkgver.tgz")
+sha256sums=('035737d0cc82b287386fdff8682b2c23ef620d7ef97dff7a1b1fe1777e4c4fb7')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i 's:$(BINDIR)/e3 :e3 :' Makefile
+ make clean
+ if [ "$CARCH" == "i686" ]; then
+ make EXMODE=_ 32
+ else
+ make EXMODE=_ 64
+ fi
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make PREFIX="$pkgdir/usr" MANDIR="$pkgdir/usr/share/man/man1" install
+ install -Dm644 COPYING.GPL "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/easystroke/PKGBUILD b/community/easystroke/PKGBUILD
new file mode 100644
index 000000000..1a566a279
--- /dev/null
+++ b/community/easystroke/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Kevin Sullivan <ksullivan@archlinux.us>
+
+pkgname=easystroke
+pkgver=0.6.0
+pkgrel=3
+pkgdesc='Use mouse gestures to initiate commands and hotkeys.'
+arch=('i686' 'x86_64')
+url='http://easystroke.sourceforge.net/'
+license=('custom:ISC')
+depends=('gtkmm3' 'boost-libs' 'libxtst' 'dbus-glib' 'xorg-server')
+makedepends=('boost' 'inputproto' 'intltool' 'gettext' 'xorg-server-devel' 'help2man')
+install=easystroke.install
+source=("http://downloads.sourceforge.net/easystroke/${pkgname}-${pkgver}.tar.gz")
+md5sums=('3b4f25d02a6b5ac57a8b7a06545869db')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ make
+ make man
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make PREFIX=/usr DESTDIR="${pkgdir}" install
+
+ install -Dm0644 "${pkgname}.1" "${pkgdir}/usr/share/man/man1/${pkgname}.1"
+ install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/easystroke/easystroke.install b/community/easystroke/easystroke.install
new file mode 100644
index 000000000..a64ba07ee
--- /dev/null
+++ b/community/easystroke/easystroke.install
@@ -0,0 +1,13 @@
+pkgname=easystroke
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/ebtables/PKGBUILD b/community/ebtables/PKGBUILD
new file mode 100644
index 000000000..4bc2b44ba
--- /dev/null
+++ b/community/ebtables/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 90459 2013-05-12 18:54:00Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Michal Soltys <soltys@ziu.info>
+
+pkgname=ebtables
+pkgver=2.0.10_4
+pkgrel=4
+pkgdesc='Ethernet bridge filtering utilities'
+arch=('i686' 'x86_64')
+url='http://ebtables.sourceforge.net/'
+depends=('perl' 'bash')
+license=('GPL2')
+backup=("etc/$pkgname.conf")
+# ebtables segfault with --as-needed
+options=('!buildflags')
+install=$pkgname.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-v${pkgver/_/-}.tar.gz"
+ "$pkgname.systemd"
+ "$pkgname.service")
+md5sums=('506742a3d44b9925955425a659c1a8d0'
+ 'b4c329060809e5b290ae49fbd0ad61f2'
+ 'baf923443c3b16277e50d60d2e68f534')
+
+build() {
+ cd $pkgname-v${pkgver/_/-}
+ make CFLAGS='-Wunused -Wall -Werror -Wno-error=unused-but-set-variable'
+}
+
+package() {
+ pushd $pkgname-v${pkgver/_/-}
+ make install \
+ DESTDIR="$pkgdir" \
+ LIBDIR=/usr/lib \
+ MANDIR=/usr/share/man \
+ BINDIR=/usr/bin \
+ INITDIR=/etc/rc.d \
+ SYSCONFIGDIR=/etc
+ popd
+ # rm package ebtables rc.d scripts
+ rm "$pkgdir/etc/ebtables-config"
+ rm -r "$pkgdir/etc/rc.d"
+ # systemd
+ install -Dm 755 $pkgname.systemd \
+ "$pkgdir/usr/lib/systemd/scripts/$pkgname"
+ install -Dm 644 $pkgname.service \
+ "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ # default config file
+ install -Dm 644 /dev/null "$pkgdir/etc/$pkgname.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ebtables/ebtables.install b/community/ebtables/ebtables.install
new file mode 100644
index 000000000..7dd6921ed
--- /dev/null
+++ b/community/ebtables/ebtables.install
@@ -0,0 +1,9 @@
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ [ $(vercmp "$2" '2.0.10_4-1') -gt 0 ] || cat <<EOF
+Config file have been moved to /etc/ebtables.conf and only support text format.
+EOF
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/ebtables/ebtables.service b/community/ebtables/ebtables.service
new file mode 100644
index 000000000..25e6b76cc
--- /dev/null
+++ b/community/ebtables/ebtables.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Ethernet bridge table
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/lib/systemd/scripts/ebtables start
+ExecStop=/usr/lib/systemd/scripts/ebtables stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ebtables/ebtables.systemd b/community/ebtables/ebtables.systemd
new file mode 100644
index 000000000..7c21ff967
--- /dev/null
+++ b/community/ebtables/ebtables.systemd
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+CONFIG_FILE='/etc/ebtables.conf'
+
+case $1 in
+ start)
+ ebtables-restore < "$CONFIG_FILE"
+ ;;
+ stop)
+ ebtables -F
+ ;;
+ save)
+ ebtables-save > "$CONFIG_FILE"
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|stop|save}" >&2
+ exit 1
+ ;;
+esac
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/echat/PKGBUILD b/community/echat/PKGBUILD
new file mode 100644
index 000000000..38544e955
--- /dev/null
+++ b/community/echat/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 83672 2013-02-04 11:04:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=echat
+pkgver=0.04beta1
+pkgrel=3
+pkgdesc="vypress compatible ncurses chat (can work without server)"
+arch=('i686' 'x86_64')
+url="http://echat.deep.perm.ru/"
+license=(GPL)
+depends=(ncurses)
+source=(http://echat.deep.perm.ru/files/echat-$pkgver.tar.gz)
+md5sums=('dda3891d08f04dd266858380d404af15')
+
+#
+# see also:
+# url="http://www.vypress.com/products/chat/unix/"
+# url="http://pupykins.googlepages.com/" - contains also improoved version (utf8 and some more features)
+# source=(http://www.vypress.com/ftp/clones/vyc/echat/${pkgname}-${pkgver}.tgz) - actualy not gzipped tar
+#
+
+build() {
+ cd $srcdir/$pkgname-${pkgver}
+ make
+ install -D -m 0755 echat $pkgdir/usr/bin/echat
+ install -D -m 0644 doc/echat.1 $pkgdir/usr/share/man/man1/echat.1
+ install -D -m 0644 doc/.echatrc.sample $pkgdir/usr/share/echat/dot.echatrc.sample
+}
diff --git a/community/ecryptfs-utils/PKGBUILD b/community/ecryptfs-utils/PKGBUILD
new file mode 100644
index 000000000..0b03164dc
--- /dev/null
+++ b/community/ecryptfs-utils/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 92248 2013-06-03 11:15:14Z allan $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Richard Murri <admin@richardmurri.com>
+# Contributor: Michal Krenek <mikos@sg1.cz>
+
+pkgname=ecryptfs-utils
+pkgver=103
+pkgrel=2
+arch=('i686' 'x86_64')
+pkgdesc="Enterprise-class stacked cryptographic filesystem for Linux"
+url="https://launchpad.net/ecryptfs"
+license=('GPL')
+makedepends=('swig' 'intltool' 'gettext' 'python2')
+depends=('keyutils' 'nss' 'openssl')
+optdepends=('python2: for python module')
+source=("http://launchpad.net/ecryptfs/trunk/${pkgver}/+download/${pkgname}_${pkgver}.orig.tar.gz"
+ "${pkgname}_${pkgver}.orig.tar.gz.sig::http://launchpad.net/ecryptfs/trunk/${pkgver}/+download/..-${pkgname}_${pkgver}.orig.tar.gz.asc")
+options=(!libtool)
+md5sums=('39929d850edd24b175ff0c82722e0de1'
+ '1fc46fb18d662315c8d4cb13b0e618c0')
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --with-pamdir=/usr/lib/security PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ make DESTDIR="$pkgdir/" rootsbindir='/usr/bin' install
+ chmod +s "$pkgdir/usr/bin/mount.ecryptfs_private"
+}
diff --git a/community/efax-gtk/PKGBUILD b/community/efax-gtk/PKGBUILD
new file mode 100644
index 000000000..ef2d279e0
--- /dev/null
+++ b/community/efax-gtk/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 92399 2013-06-04 16:39:33Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=efax-gtk
+pkgver=3.2.12
+pkgrel=1
+pkgdesc="A GUI front end for the 'efax' fax program"
+arch=('i686' 'x86_64')
+url="http://efax-gtk.sourceforge.net/"
+license=('GPL')
+depends=('dbus-glib' 'ghostscript' 'c++-gtk-utils')
+makedepends=('pkg-config')
+optdepends=('heirloom-mailx: to use the mail_fax script')
+backup=('etc/efax-gtkrc')
+install=efax-gtk.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.src.tgz")
+md5sums=('5d38ca4d4c90e0805f2cf8f191177fb6')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-spooldir=/usr/bin
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -m 755 mail_fax print_fax "${pkgdir}/usr/bin"
+}
diff --git a/community/efax-gtk/efax-gtk.install b/community/efax-gtk/efax-gtk.install
new file mode 100644
index 000000000..69e30acd6
--- /dev/null
+++ b/community/efax-gtk/efax-gtk.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/ejabberd/PKGBUILD b/community/ejabberd/PKGBUILD
new file mode 100644
index 000000000..189209940
--- /dev/null
+++ b/community/ejabberd/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 93139 2013-06-25 15:54:26Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=ejabberd
+pkgver=2.1.13
+pkgrel=1
+pkgdesc="Jabber server written in Erlang"
+arch=('x86_64' 'i686')
+url="http://www.ejabberd.im/"
+license=("GPL")
+depends=('expat' 'openssl' 'zlib' 'erlang-nox' 'pam' 'iproute2')
+backup=('etc/ejabberd/ejabberd.cfg'
+ 'etc/ejabberd/ejabberdctl.cfg'
+ 'etc/logrotate.d/ejabberd')
+install=$pkgname.install
+source=("$pkgname-$pkgver.tar.gz::https://github.com/processone/ejabberd/archive/v$pkgver.tar.gz"
+ "$pkgname.logrotate"
+ "ejabberd.service")
+md5sums=('2a7c3b711b4f7091f811c51b52beb735'
+ 'f97c8a96160f30e0aecc9526c12e6606'
+ 'df32aa17e40a7bc5d9946d3ba6fe5e16')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver/src"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --enable-pam --enable-odbc
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/src"
+ make DESTDIR="$pkgdir" install
+ install -d "$pkgdir/var/lib/$pkgname"
+ install -D -m0644 "$srcdir/$pkgname.logrotate" "$pkgdir/etc/logrotate.d/$pkgname"
+ chmod ug+r "$pkgdir/etc/$pkgname/"*
+ mkdir -p $pkgdir/usr/bin
+ mv $pkgdir/usr/sbin/ejabberdctl $pkgdir/usr/bin/ejabberdctl
+ chmod a+rx "$pkgdir/usr/bin/ejabberdctl" "$pkgdir/usr/lib/ejabberd/priv/bin/captcha.sh"
+ rm -rf "$pkgdir/var/lock" "$pkgdir/usr/sbin"
+ install -Dm0644 $srcdir/ejabberd.service $pkgdir/usr/lib/systemd/system/ejabberd.service
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ejabberd/ejabberd.install b/community/ejabberd/ejabberd.install
new file mode 100644
index 000000000..6e586229d
--- /dev/null
+++ b/community/ejabberd/ejabberd.install
@@ -0,0 +1,25 @@
+post_install() {
+ groupadd -r jabber
+ useradd -r -G jabber -d /var/lib/ejabberd ejabberd
+ chown -R ejabberd.jabber /var/log/ejabberd
+ chown -R ejabberd.jabber /var/lib/ejabberd
+ chown root:ejabberd /usr/lib/ejabberd/priv/bin/epam
+ chown root:ejabberd /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberdctl.cfg /etc/ejabberd
+ chmod 4750 /usr/lib/ejabberd/priv/bin/epam
+}
+
+post_upgrade() {
+ chown -R ejabberd.jabber /var/log/ejabberd
+ chown -R ejabberd.jabber /var/lib/ejabberd
+ chown root:ejabberd /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberdctl.cfg /etc/ejabberd
+ chown root:ejabberd /usr/lib/ejabberd/priv/bin/epam
+ chmod 4750 /usr/lib/ejabberd/priv/bin/epam
+ echo ">> ejabberd looks into /var/lib/ejabberd for mnesia db now"
+}
+
+post_remove() {
+ userdel ejabberd
+ groupdel jabber
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ejabberd/ejabberd.logrotate b/community/ejabberd/ejabberd.logrotate
new file mode 100644
index 000000000..03069078a
--- /dev/null
+++ b/community/ejabberd/ejabberd.logrotate
@@ -0,0 +1,12 @@
+/var/log/ejabberd/ejabberd.log {
+ weekly
+ missingok
+ rotate 10
+ compress
+ delaycompress
+ ifempty
+ nomail
+ sharedscripts
+ postrotate ejabberdctl --node ejabberd reopen-log > /dev/null
+ endscript
+}
diff --git a/community/ejabberd/ejabberd.service b/community/ejabberd/ejabberd.service
new file mode 100644
index 000000000..036cc7c53
--- /dev/null
+++ b/community/ejabberd/ejabberd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=A distributed, fault-tolerant Jabber/XMPP server
+After=network.target
+
+[Service]
+Type=forking
+User=ejabberd
+LimitNOFILE=16000
+RestartSec=5
+ExecStart=/usr/bin/erl -pa /usr/lib/ejabberd/ebin -sname ejabberd -s ejabberd -ejabberd config \"/etc/ejabberd/ejabberd.cfg\" log_path \"/var/log/ejabberd/ejabberd.log\" -sasl sasl_error_logger \{file,\"/var/log/ejabberd/sasl.log\"\} -mnesia dir \"/var/lib/ejabberd\" -detached -kernel inetrc \"/etc/ejabberd/inetrc\"
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ekg/PKGBUILD b/community/ekg/PKGBUILD
new file mode 100644
index 000000000..2c504ff40
--- /dev/null
+++ b/community/ekg/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 56895 2011-10-16 06:24:00Z bpiotrowski $
+# Contributor: Jaroslaw Swierczynski <swiergot@juvepoland.com>
+
+pkgname=ekg
+pkgver=1.8rc2
+pkgrel=1
+pkgdesc="A text-mode Gadu-Gadu client"
+arch=('i686' 'x86_64')
+url="http://ekg.chmurka.net/"
+license=('GPL')
+depends=('libjpeg' 'aspell' 'python2' 'giflib' 'libgadu')
+source=(http://ekg.chmurka.net/$pkgname-$pkgver.tar.gz)
+md5sums=('f697c711da91ddf57c882114539e92fe')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's#gg%s#ekg%s#' src/ekg.c
+ ./configure --prefix=/usr --with-pthread --enable-aspell --with-python
+ make
+ make DESTDIR=$pkgdir install
+ rm -rf $pkgdir/usr/include $pkgdir/usr/lib
+}
diff --git a/community/ekg2/PKGBUILD b/community/ekg2/PKGBUILD
new file mode 100644
index 000000000..7aa172028
--- /dev/null
+++ b/community/ekg2/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 91649 2013-05-26 09:24:30Z bluewind $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+
+pkgname=ekg2
+pkgver=0.3.1
+pkgrel=6
+pkgdesc="ncurses based Jabber, Gadu-Gadu, Tlen and IRC client"
+arch=('i686' 'x86_64')
+url="http://ekg2.org/"
+license=('GPL')
+depends=('aspell' 'libjpeg' 'python2' 'libgadu' 'gnutls' 'gpm' 'libidn' 'giflib')
+optdepends=('xosd: xosd support'
+ 'sqlite: sqlite support'
+ 'gtk2: gtk support')
+source=(ftp://ftp.archlinux.org/other/community/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('68fc05b432c34622df6561eaabef5a40')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i 's|ncursesw/ncurses.h|ncurses.h|g' configure plugins/ncurses/ecurses.h
+ export PYTHON=/usr/bin/python2 #EKG2 isn't python3 friendly
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/ekg2 \
+ --with-libgadu \
+ --with-xosd \
+ --enable-unicode \
+ --enable-shared \
+ --without-gpg
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ rm -rf "$pkgdir"/usr/lib/perl5/core_perl/perllocal.pod
+ rm -rf "$pkgdir"/usr/libexec
+ chmod -R 755 "$pkgdir"/usr/lib/perl5
+ chmod +s "$pkgdir"/usr/lib/ekg2/ioctld
+}
diff --git a/community/electricsheep/PKGBUILD b/community/electricsheep/PKGBUILD
new file mode 100644
index 000000000..fa5760918
--- /dev/null
+++ b/community/electricsheep/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 94019 2013-07-13 12:31:42Z svenstaro $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=electricsheep
+pkgver=2.7b33
+pkgrel=9
+pkgdesc="A screensaver that realize the collective dream of sleeping computers from all over the internet"
+arch=('i686' 'x86_64')
+url="http://community.electricsheep.org/"
+license=('GPL')
+depends=('curl' 'flam3' 'ffmpeg' 'wxgtk2.9' 'lua51' 'libgtop' 'boost-libs' 'freeglut' 'glee')
+makedepends=('boost' 'mesa' 'glu' 'tinyxml')
+optdepends=('xscreensaver: to use electricsheep with xscreensaver')
+options=('!emptydirs')
+source=(ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig})
+sha1sums=('d86607d97accad8519df2a21d67253abe45f5fdd'
+ 'fda3aae435507d03973f0c4d1ed3509067657f06')
+
+# source PKGBUILD && mksource
+mksource() {
+ [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1)
+ _svnver=r125
+ _svntrunk="http://electricsheep.googlecode.com/svn/trunk/client_generic"
+ _svnmod="${pkgname}-${pkgver}"
+ mkdir ${pkgname}-${pkgver}
+ pushd ${pkgname}-${pkgver}
+ svn co ${_svntrunk} --config-dir ./ -r ${_svnver} ${_svnmod}
+ find . -depth -type d -name .svn -exec rm -rf {} \;
+ (cd ${pkgname}-${pkgver} ; rm -r boost Build_guides curlTest ffmpeg InstallerMSVC \
+ Launcher libpng libxml lua5.1 MacBuild RuntimeMSVC wxConfig)
+ tar -cJf ../${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/*
+ popd
+ rm -r ${pkgname}-${pkgver}
+ gpg --detach-sign --use-agent -u ${GPGKEY} ${pkgname}-${pkgver}.tar.xz
+}
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ sed -i 's/wx-config/wx-config-2.9/g' configure.ac
+ sed -i -e 's/AM_PROG_CC_STDC/AC_PROG_CC/' configure.ac
+ sed -i '12 i\
+#include <cstdio>' Common/Singleton.h
+ mkdir m4
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./autogen.sh
+ CPPFLAGS+="-I/usr/include/lua5.1" ./configure --prefix=/usr
+ sed -i 's|-I /usr/include/libavutil||' MSVC/SettingsGUI/Makefile
+ make CXXFLAGS+="-DUSE_NEW_FFMPEG_API=1" GLEE_LIBS="-lGLee"
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 menu-entries/ElectricSheep.desktop.kde "${pkgdir}/usr/share/kde4/services/ScreenSavers/electricsheep.desktop"
+ install -D -m644 Runtime/logo.png "${pkgdir}/usr/share/icons/electricsheep.png"
+}
diff --git a/community/elinks/PKGBUILD b/community/elinks/PKGBUILD
new file mode 100644
index 000000000..2b9d1139c
--- /dev/null
+++ b/community/elinks/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 88677 2013-04-21 22:16:44Z heftig $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: damir <damir@archlinux.org>
+# Contributor: Ben <contrasutra@myrealbox.com>
+
+pkgname=elinks
+pkgver=0.13
+_commit="9313aae9062e1d9ff084858fa6844259cd8237d6"
+pkgrel=12
+pkgdesc="An advanced and well-established feature-rich text mode web browser."
+arch=("i686" "x86_64")
+url="http://elinks.or.cz"
+license=('GPL')
+depends=('bzip2' 'expat>=2.0' 'gpm>=1.20.4' 'openssl' 'lua51' 'libidn' 'js185'
+ 'gc' 'tre')
+makedepends=('git')
+source=("git+http://elinks.cz/elinks.git#commit=$_commit")
+md5sums=('SKIP')
+
+build() {
+ cd elinks
+ [ -x configure ] || sh autogen.sh
+ ./configure --prefix=/usr --mandir=/usr/share/man \
+ --sysconfdir=/etc \
+ --disable-smb --without-x --enable-cgi \
+ --enable-leds --enable-256-colors --enable-html-highlight \
+ --with-zlib
+ make
+}
+
+package() {
+ cd elinks
+ make DESTDIR="$pkgdir" install
+ rm -f "$pkgdir/usr/share/locale/locale.alias"
+
+ install -D -m644 "contrib/debian/$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+}
diff --git a/community/emacs-nox/PKGBUILD b/community/emacs-nox/PKGBUILD
new file mode 100644
index 000000000..75cb2ecb3
--- /dev/null
+++ b/community/emacs-nox/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 88621 2013-04-20 17:17:19Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Chris Brannon <cmbrannon@cox.net>
+
+pkgname=emacs-nox
+pkgver=24.3
+pkgrel=1
+pkgdesc="The extensible, customizable, self-documenting real-time display editor, without X11 support"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/emacs/emacs.html"
+license=('GPL3')
+depends=('dbus-core' 'ncurses' 'perl')
+provides=('emacs')
+conflicts=('emacs')
+changelog=$pkgname.changelog
+install=$pkgname.install
+source=(ftp://ftp.gnu.org/gnu/emacs/emacs-${pkgver}.tar.gz)
+sha256sums=('0098ca3204813d69cd8412045ba33e8701fa2062f4bff56bedafc064979eef41')
+
+build() {
+ cd ${srcdir}/emacs-$pkgver
+
+ ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+ --localstatedir=/var --without-x --without-sound
+ make
+}
+
+package() {
+ cd ${srcdir}/emacs-$pkgver
+ make DESTDIR=${pkgdir} install
+
+ # remove conflict with ctags package
+ mv ${pkgdir}/usr/bin/{ctags,ctags.emacs}
+ mv ${pkgdir}/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
+ # remove conflict with texinfo
+ rm "$pkgdir"/usr/share/info/info.info.gz
+ # fix user/root permissions on usr/share files
+ find ${pkgdir}/usr/share/emacs/$pkgver -exec chown root.root {} \;
+ # remove .desktop file and icons
+ rm -rf ${pkgdir}/usr/share/{applications,icons}
+ # fix perms on /var/games
+ chmod 775 ${pkgdir}/var/games
+ chmod 775 ${pkgdir}/var/games/emacs
+ chmod 664 ${pkgdir}/var/games/emacs/*
+ chown -R root:games ${pkgdir}/var/games
+}
diff --git a/community/emacs-nox/emacs-nox.changelog b/community/emacs-nox/emacs-nox.changelog
new file mode 100644
index 000000000..ffae307fa
--- /dev/null
+++ b/community/emacs-nox/emacs-nox.changelog
@@ -0,0 +1,29 @@
+2013-04-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * emacs-nox 24.3-1
+
+2012-09-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * emacs-nox 24.2-1
+
+2012-06-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * emacs-nox 24.1-1
+
+2011-03-13 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * emacs-nox 23.3-1
+
+2010-05-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 23.2
+
+2010-03-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * 23.1-2 - fix for FS#18688 - [emacs-nox] compiled with SSE2 instructions
+
+2009-12-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 23.1
+
+2008-11-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * New PKGBUILD/install method provided by Chris Brannon <cmbrannon@cox.net>
+ * => Added an install script
+ * => Info files are now installed using install-info
+
+2008-09-08 Jaroslav Lichtblau <tu@dragonlord.cz>
+ * Package moved to [community]
+ * Update to major release 22.3
diff --git a/community/emacs-nox/emacs-nox.install b/community/emacs-nox/emacs-nox.install
new file mode 100644
index 000000000..06dc781ee
--- /dev/null
+++ b/community/emacs-nox/emacs-nox.install
@@ -0,0 +1,25 @@
+INFO_DIR=usr/share/info
+
+INFO_FILES=(ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse
+ede ediff edt efaq eieio eintr elisp emacs emacs-gnutls emacs-mime epa erc ert eshell eudc flymake
+forms gnus htmlfontify idlwave mairix-el message mh-e newsticker nxml-mode
+org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail
+speedbar srecode tramp url vip viper widget wisent woman)
+
+post_install() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for f in ${INFO_FILES[@]}; do
+ install-info ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for f in ${INFO_FILES[@]}; do
+ install-info --delete ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null
+ done
+}
diff --git a/community/emelfm2/PKGBUILD b/community/emelfm2/PKGBUILD
new file mode 100644
index 000000000..59d86b3cb
--- /dev/null
+++ b/community/emelfm2/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 83138 2013-01-27 16:13:32Z pierre $
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: contrasutra
+
+pkgname=emelfm2
+pkgver=0.8.2
+pkgrel=1
+pkgdesc="A file manager that implements the popular two-pane design"
+arch=('i686' 'x86_64')
+url="http://emelfm2.net/"
+depends=('gtk2')
+license=('GPL3')
+source=("http://emelfm2.net/rel/${pkgname}-${pkgver}.tar.bz2")
+sha1sums=('d4498285ae77f0d524ce9be11d50a0aae9569e5f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make PREFIX=/usr
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make PREFIX="${pkgdir}/usr" install install_i18n
+
+ install -m 755 "${pkgdir}/usr/share/pixmaps/emelfm2/emelfm2_48.png" \
+ "${pkgdir}/usr/share/pixmaps/emelfm2.png"
+ sed -e '/Icon=/ s^emelfm2/emelfm2_48.png^emelfm2.png^' \
+ -e '/Categories=/ s^;$^;Application;Utility;^' \
+ -i "${pkgdir}/usr/share/applications/emelfm2.desktop"
+}
diff --git a/community/emerillon/PKGBUILD b/community/emerillon/PKGBUILD
new file mode 100644
index 000000000..2e690f13d
--- /dev/null
+++ b/community/emerillon/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=emerillon
+pkgver=0.1.90
+pkgrel=4
+pkgdesc="Map viewer for OpenStreetMap"
+arch=('i686' 'x86_64')
+url="http://projects.gnome.org/emerillon/"
+license=('GPL')
+depends=('libchamplain' 'geoclue' 'libpeas' 'rest')
+makedepends=('gobject-introspection' 'gnome-doc-utils' 'intltool' 'vala')
+options=('!libtool')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('0648c70bc19d3bd334a5403938aba3855eb644ee337c29aeecd5ce57ea0bf085')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/emerillon/emerillon.install b/community/emerillon/emerillon.install
new file mode 100644
index 000000000..7a903e80c
--- /dev/null
+++ b/community/emerillon/emerillon.install
@@ -0,0 +1,11 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/encfs/PKGBUILD b/community/encfs/PKGBUILD
new file mode 100644
index 000000000..de0393110
--- /dev/null
+++ b/community/encfs/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 94020 2013-07-13 12:31:50Z svenstaro $
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Sven Kauber, <celeon@gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=encfs
+pkgver=1.7.4
+pkgrel=11
+pkgdesc='Encrypted filesystem in user-space'
+arch=('i686' 'x86_64')
+url='http://www.arg0.net/encfs'
+license=('GPL')
+depends=('rlog' 'openssl' 'fuse' 'boost-libs')
+makedepends=('boost')
+options=('!libtool')
+source=("http://encfs.googlecode.com/files/${pkgname}-${pkgver}.tgz")
+md5sums=('ac90cc10b2e9fc7e72765de88321d617')
+
+build(){
+ cd ${pkgname}-${pkgver}
+
+ ./configure \
+ --prefix=/usr
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/enet/PKGBUILD b/community/enet/PKGBUILD
new file mode 100644
index 000000000..2e1f2a1ad
--- /dev/null
+++ b/community/enet/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 92446 2013-06-05 15:30:42Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Bj?indeijer <bjorn@lindeijer.nl>
+
+pkgname=enet
+pkgver=1.3.8
+pkgrel=1
+pkgdesc='A relatively thin, simple and robust network communication layer on top of UDP.'
+arch=('i686' 'x86_64')
+url='http://enet.bespin.org/'
+license=('custom')
+depends=('glibc')
+options=('!libtool')
+source=("http://enet.bespin.org/download/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('72284b0699ace09c1723fd532742077ca775b724')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/enigma/PKGBUILD b/community/enigma/PKGBUILD
new file mode 100644
index 000000000..d29811b7f
--- /dev/null
+++ b/community/enigma/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 51773 2011-07-14 18:20:30Z schuay $
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Jason Chu <jason@archlinux.org>
+# Maintainer: schuay <jakob.gruber@gmail.com>
+
+pkgname=enigma
+pkgver=1.04
+pkgrel=3
+pkgdesc=" Enigma is a puzzle game involving falling blocks"
+arch=('i686' 'x86_64')
+url="http://www.chiark.greenend.org.uk/~sgtatham/enigma/"
+license=('custom')
+depends=('ncurses')
+source=("http://www.chiark.greenend.org.uk/~sgtatham/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('a54ee9ae40dae781560a3c2b1ce8f45d')
+
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --localstatedir=/var
+ sed -i "s/root\.games/root.root/" Makefile
+ make
+}
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ mkdir -p $pkgdir/usr/bin
+ make prefix=$pkgdir/usr localstatedir=$pkgdir/var install
+ install -Dm644 LICENCE ${pkgdir}/usr/share/licenses/${pkgname}/license
+}
diff --git a/community/enter/PKGBUILD b/community/enter/PKGBUILD
new file mode 100644
index 000000000..9ce24fd0f
--- /dev/null
+++ b/community/enter/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 59871 2011-12-01 13:33:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Vesa Kaihlavirta <vegai@iki.fi>
+
+pkgname=enter
+pkgver=0.0.9
+pkgrel=3
+pkgdesc="Enter is a lightweight graphical login manager for X."
+arch=('i686' 'x86_64')
+url="http://enter.sf.net"
+license=('GPL')
+depends=('libxft' 'imlib2' 'xorg-server')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('47a77ae57e667f887f856c0a126d667a')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's|\[xft-config\]|\[pkg-config\]|' configure.ac
+ autoreconf
+ ./configure --prefix=/usr --sysconfdir=/etc CFLAGS="$CFLAGS -lcrypt"
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/epic4/PKGBUILD b/community/epic4/PKGBUILD
new file mode 100644
index 000000000..7c8e9a1c5
--- /dev/null
+++ b/community/epic4/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 67602 2012-03-13 13:59:58Z lcarlier $
+# Maintainer: Mateusz Herych <heniekk@gmail.com>
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Chris Brannon <cmbrannon (at) cox.net>
+
+pkgname=epic4
+pkgver=2.10.1
+pkgrel=3
+pkgdesc="It's a new direction in ircII development"
+arch=('i686' 'x86_64')
+url="http://www.epicsol.org/"
+license=('custom')
+depends=('openssl' 'ncurses' 'tcl' 'perl')
+source=(ftp://ftp.epicsol.org/pub/epic/EPIC4-PRODUCTION/$pkgname-$pkgver.tar.gz)
+md5sums=('6f08a04494d0f5543b5f8f3c1ac56d11')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --with-ssl \
+ --with-ipv6 \
+ --with-perl \
+ --with-tcl
+
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make prefix=${pkgdir}/usr install
+
+ install -D -m 644 COPYRIGHT ${pkgdir}/usr/share/licenses/$pkgname/COPYRIGHT
+ mkdir -p ${pkgdir}/usr/lib/$pkgname
+ mv ${pkgdir}/usr/libexec/wserv4 $pkgdir/usr/lib/$pkgname
+ rm -rf ${pkgdir}/usr/libexec
+}
+
diff --git a/community/erlang-cl/PKGBUILD b/community/erlang-cl/PKGBUILD
new file mode 100644
index 000000000..bd40ff483
--- /dev/null
+++ b/community/erlang-cl/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 61589 2012-01-03 23:37:49Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: kappa <kappacurve@gmail.com>
+
+pkgname=erlang-cl
+pkgver=1.0
+pkgrel=3
+arch=('x86_64' 'i686')
+pkgdesc='OpenCL binding for Erlang'
+url="http://github.com/tonyrog/cl"
+license=('custom:unknown')
+depends=('erlang' 'libcl' 'bash')
+replaces=('cl')
+makedepends=('opencl-headers')
+source=("$pkgname-$pkgver.tar.gz::https://nodeload.github.com/tonyrog/cl/tar.gz/master")
+sha256sums=('76991eba2418ced8e28f4237878e1ec8bb231193c614dab63623ff518b2dc56c')
+if [ "$CARCH" = "x86_64" ]
+then
+ _wordsize=64
+else
+ _wordsize=32
+fi
+_dirname='cl-master'
+
+build() {
+ cd "$srcdir/$_dirname/c_src"
+
+ make configure
+ ./configure --with-wordsize="$_wordsize" --prefix=/usr
+ make "all$_wordsize"
+ rm config.*
+}
+
+package() {
+ cd "$srcdir/$_dirname"
+
+ mkdir -p "$pkgdir/usr/lib/erlang/lib/cl-$pkgver"
+ cp -r * "$pkgdir/usr/lib/erlang/lib/cl-$pkgver"
+ install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/erlang-nox/PKGBUILD b/community/erlang-nox/PKGBUILD
new file mode 100644
index 000000000..77f98da86
--- /dev/null
+++ b/community/erlang-nox/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 92931 2013-06-19 14:22:24Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Lukas Fleischer <archlinux@cryptocrack.de>
+# Contributor: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+# Contributor: Tom Burdick <thomas.burdick@wrightwoodtech.com>
+# Contributor: Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
+
+pkgname=erlang-nox
+pkgver=R16B01
+pkgrel=1
+pkgdesc='General-purpose concurrent functional programming language developed by Ericsson (headless version)'
+arch=('x86_64' 'i686')
+url='http://www.erlang.org/'
+license=('custom')
+depends=('ncurses' 'openssl')
+makedepends=('perl' 'lksctp-tools' 'unixodbc')
+provides=('erlang')
+conflicts=('erlang')
+optdepends=('erlang-unixodbc: database support'
+ 'java-environment: for Java support'
+ 'lksctp-tools: for SCTP support')
+source=("http://www.erlang.org/download/otp_src_${pkgver/_/-}.tar.gz"
+ "http://www.erlang.org/download/otp_doc_man_${pkgver/_/-}.tar.gz")
+sha256sums=('da388bc07b8ebdd008f5bb6c3d2c280e358bd188b5aac3ea01e3a7436315abc0'
+ '71972049fbac73457fb6868be18068edce9f2c9fc2aeeab15f019d4217b6a8c2')
+
+build() {
+ cd "$srcdir/otp_src_${pkgver/_1/}"
+
+ ./configure --prefix=/usr --enable-smp-support --with-odbc
+ make
+}
+
+package() {
+ cd "$srcdir/otp_src_${pkgver/_1/}"
+
+ make DESTDIR="$pkgdir" install
+
+ # Documentation
+ install -d "$pkgdir/usr/share/doc/erlang"
+ install -m0644 "$srcdir/otp_src_${pkgver/_1/}/README.md" \
+ "$srcdir"/{README,COPYRIGHT} \
+ "$pkgdir/usr/share/doc/erlang"
+
+ # Compressed man pages
+ for page in "$srcdir/man/man?/*"; do gzip $page; done
+ cp -r "$srcdir/man" "$pkgdir/usr/lib/erlang"
+
+ # License
+ install -Dm0644 "$srcdir/otp_src_${pkgver/_1/}/EPLICENCE" \
+ "$pkgdir/usr/share/licenses/$pkgname/EPLICENCE"
+
+ # Remove files that are packaged as erlang-unixodbc
+ rm -r "$pkgdir/usr/lib/erlang/"{lib/odbc*,man/man3/odbc.3.gz}
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/erlang-sdl/PKGBUILD b/community/erlang-sdl/PKGBUILD
new file mode 100644
index 000000000..5ab68f661
--- /dev/null
+++ b/community/erlang-sdl/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 85602 2013-03-03 21:28:43Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: kappa <kappacurve@gmail.com>
+
+pkgname=erlang-sdl
+pkgver=1.2
+pkgrel=7
+arch=('x86_64' 'i686')
+pkgdesc='SDL and OpenGL bindings for Erlang'
+url='http://esdl.sourceforge.net/'
+license=('custom')
+depends=('erlang' 'sdl' 'glu' 'libgl' 'erlang')
+makedepends=('mesa-libgl')
+replaces=('esdl')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/dgud/esdl/archive/master.tar.gz")
+sha256sums=('6a18010e12eed2abeb9b9893a2d89586e3ff14b44fce9c15b8ed091b67709438')
+
+build() {
+ cd "$srcdir/esdl-master"
+
+ find -type f -print0 | xargs -0 chmod 644
+ make
+}
+
+package() {
+ cd "$srcdir/esdl-master"
+
+ make INSTALLDIR="$pkgdir/usr/lib/erlang/lib/esdl-$pkgver" install
+ install -Dm644 license.terms "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/erlang/PKGBUILD b/community/erlang/PKGBUILD
new file mode 100644
index 000000000..c6f117d3c
--- /dev/null
+++ b/community/erlang/PKGBUILD
@@ -0,0 +1,76 @@
+# $Id: PKGBUILD 92929 2013-06-19 13:52:02Z arodseth $
+# Maintainer: Lukas Fleischer <archlinux@cryptocrack.de>
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+# Contributor: Tom Burdick <thomas.burdick@wrightwoodtech.com>
+# Contributor: Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
+
+pkgbase=erlang
+pkgname=('erlang' 'erlang-unixodbc')
+pkgver=R16B01
+pkgrel=1
+arch=('x86_64' 'i686')
+url='http://www.erlang.org/'
+license=('custom')
+makedepends=('perl' 'mesa' 'lksctp-tools' 'unixodbc' 'wxgtk' 'wxgtk2.9')
+source=("http://www.erlang.org/download/otp_src_${pkgver/_/-}.tar.gz"
+ "http://www.erlang.org/download/otp_doc_man_${pkgver/_/-}.tar.gz")
+sha256sums=('da388bc07b8ebdd008f5bb6c3d2c280e358bd188b5aac3ea01e3a7436315abc0'
+ '71972049fbac73457fb6868be18068edce9f2c9fc2aeeab15f019d4217b6a8c2')
+
+build() {
+ cd "$srcdir/otp_src_${pkgver/_1/}"
+
+ ./configure --prefix=/usr --enable-smp-support --with-odbc
+ make
+}
+
+package_erlang() {
+ pkgdesc='General-purpose concurrent functional programming language developed by Ericsson'
+ depends=('ncurses' 'glu' 'wxgtk' 'wxgtk2.9' 'openssl')
+ optdepends=('erlang-unixodbc: database support'
+ 'java-environment: for Java support'
+ 'lksctp-tools: for SCTP support')
+ provides=('erlang-nox')
+ conflicts=('erlang-nox')
+
+ cd "$srcdir/otp_src_${pkgver/_1/}"
+
+ make DESTDIR="$pkgdir" install
+
+ # Documentation
+ install -d "$pkgdir/usr/share/doc/erlang"
+ install -m0644 "$srcdir/otp_src_${pkgver/_1/}/README.md" \
+ "$srcdir"/{README,COPYRIGHT} \
+ "$pkgdir/usr/share/doc/erlang"
+
+ # Compressed man pages
+ for page in "$srcdir/man/man?/*"; do gzip $page; done
+ cp -r "$srcdir/man" "$pkgdir/usr/lib/erlang/"
+
+ # License
+ install -Dm0644 "$srcdir/otp_src_${pkgver/_1/}/EPLICENCE" \
+ "$pkgdir/usr/share/licenses/$pkgname/EPLICENCE"
+
+ # Move over files that will be packaged as erlang-unixodbc
+ mkdir "$srcdir/unixodbc"
+ mv "$pkgdir/usr/lib/erlang/lib/odbc"* "$srcdir/unixodbc/"
+ mv "$pkgdir/usr/lib/erlang/man/man3/odbc.3.gz" "$srcdir"
+}
+
+package_erlang-unixodbc() {
+ pkgdesc='Unixodbc support for Erlang'
+ depends=('unixodbc' 'erlang-nox')
+
+ # Get the files that should be packaged as erlang-unixodbc
+ mkdir -p "$pkgdir/usr/lib/erlang/"{lib,man/man3}
+ mv "$srcdir/unixodbc/"* "$pkgdir/usr/lib/erlang/lib/"
+ mv "$srcdir/odbc.3.gz" "$pkgdir/usr/lib/erlang/man/man3/"
+
+ # License
+ install -Dm0644 "$srcdir/otp_src_${pkgver/_1/}/EPLICENCE" \
+ "$pkgdir/usr/share/licenses/$pkgname/EPLICENCE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/esmtp/PKGBUILD b/community/esmtp/PKGBUILD
new file mode 100644
index 000000000..a234ff615
--- /dev/null
+++ b/community/esmtp/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Loui Chang <louipc dot ist at gmail company>
+# Contributor: Jeff Mickey <j@codemac.net>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+
+pkgname=esmtp
+pkgver=1.2
+pkgrel=5
+pkgdesc="An easy SMTP forwarder."
+arch=('i686' 'x86_64')
+url='http://esmtp.sourceforge.net'
+license=('GPL')
+depends=('libesmtp' 'openssl')
+optdepends=('liblockfile: for esmtp-wrapper script'
+ 'procmail: for local mail delivery')
+provides=('smtp-forwarder')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('79a9c1f9023d53f35bb82bf446150a72')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm0644 README "${pkgdir}/usr/share/doc/esmtp/README"
+ install -Dm0644 sample.esmtprc "${pkgdir}/usr/share/doc/esmtp/sample.esmtprc"
+ install -Dm0755 esmtp-wrapper "${pkgdir}/usr/share/esmtp/esmtp-wrapper"
+ install -Dm0755 ylwrap "${pkgdir}/usr/share/esmtp/ylwrap"
+}
diff --git a/community/espeak/PKGBUILD b/community/espeak/PKGBUILD
new file mode 100644
index 000000000..c322cfaee
--- /dev/null
+++ b/community/espeak/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 75640 2012-08-27 22:14:26Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Christoph Siegenthaler <csi@gmx.ch>
+
+pkgname=espeak
+pkgver=1.46.02
+pkgrel=2
+pkgdesc="Text to Speech engine for good quality English, with support for other languages"
+arch=('x86_64' 'i686')
+url='http://espeak.sourceforge.net/'
+license=('GPL')
+depends=('portaudio' 'libpulse')
+options=('!emptydirs')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-source.zip")
+sha256sums=('ef8beba25bd261718582d5cbb1f10293007eb525b705ff79c9fb3f505dd954ba')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver-source/src"
+
+ cp portaudio19.h portaudio.h
+ make CXXFLAGS="$CXXFLAGS" AUDIO=runtime
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver-source/src"
+
+ make DESTDIR=$pkgdir install
+ chmod 644 "$pkgdir/usr/lib/libespeak.a"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/espeakup/PKGBUILD b/community/espeakup/PKGBUILD
new file mode 100644
index 000000000..b7ca9b086
--- /dev/null
+++ b/community/espeakup/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id$
+# Maintainer: Chris Brannon <chris@the-brannons.com>
+# Contributor: Kyle <kyle@gmx.ca>
+
+pkgname=espeakup
+pkgver=0.71
+pkgrel=8
+pkgdesc='Allows the Speakup screen review system to use the ESpeak synthesizer.'
+arch=('i686' 'x86_64')
+url='http://github.com/williamh/espeakup'
+license=('GPL3')
+source=(http://the-brannons.com/espeakup-0.71.tar.bz2
+ espeakup.service espeakup.modules-load.d)
+depends=('speakup-utils' 'espeak')
+
+build() {
+ cd $pkgname-$pkgver
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+ install -m644 -D "${srcdir}/espeakup.service" "${pkgdir}/usr/lib/systemd/system/espeakup.service"
+ install -m644 -D "${srcdir}/espeakup.modules-load.d" "${pkgdir}/usr/lib/modules-load.d/espeakup.conf"
+}
+
+sha256sums=('8307986998256db21e615c4edc1befedde28a6995971da258e9d513dd79bd3ab'
+ '0d17413611db3fc4d70e34e84c1e55e832d9eec29482ed7d8c3d737e4ba162b8'
+ '916abe0c03b843194705940ef062046809a68b51c5696f505d5444a73b45f214')
diff --git a/community/espeakup/espeakup.conf.d b/community/espeakup/espeakup.conf.d
new file mode 100644
index 000000000..66f7842c3
--- /dev/null
+++ b/community/espeakup/espeakup.conf.d
@@ -0,0 +1,6 @@
+#
+# Arguments to be passed to espeakup.
+# Example:
+# ESPEAKUP_ARGS="--default-voice=fr"
+# will tell espeakup to use the French voice.
+ESPEAKUP_ARGS=""
diff --git a/community/espeakup/espeakup.modules-load.d b/community/espeakup/espeakup.modules-load.d
new file mode 100644
index 000000000..38d53913d
--- /dev/null
+++ b/community/espeakup/espeakup.modules-load.d
@@ -0,0 +1 @@
+speakup_soft
diff --git a/community/espeakup/espeakup.service b/community/espeakup/espeakup.service
new file mode 100644
index 000000000..88559d0fe
--- /dev/null
+++ b/community/espeakup/espeakup.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Software speech output for Speakup
+# espeakup needs to start after the audio devices appear, hopefully this should go away in the future
+Wants=systemd-udev-settle.service
+After=systemd-udev-settle.service sound.target
+
+[Service]
+Type=forking
+PIDFile=/run/espeakup.pid
+ExecStart=/usr/bin/espeakup
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=always
+
+[Install]
+WantedBy=sound.target
diff --git a/community/etherape/PKGBUILD b/community/etherape/PKGBUILD
new file mode 100644
index 000000000..c56998921
--- /dev/null
+++ b/community/etherape/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 90898 2013-05-15 12:17:39Z ttoepper $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: kevin <kevin@archlinux.org>
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+
+pkgname=etherape
+pkgver=0.9.13
+pkgrel=1
+pkgdesc='A graphical network monitor for various OSI layers and protocols'
+arch=('i686' 'x86_64')
+url="http://etherape.sourceforge.net/"
+license=('GPL2')
+depends=('libgnomeui' 'libpcap')
+makedepends=('rarian' 'gnome-doc-utils')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+sha1sums=('87c387b0929071581bcb6515b15ab849ea8c77fb')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/etl/PKGBUILD b/community/etl/PKGBUILD
new file mode 100644
index 000000000..37a9418fa
--- /dev/null
+++ b/community/etl/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 90600 2013-05-13 10:14:49Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Franco Iacomella <yaco@gnu.org>
+
+pkgname=etl
+pkgver=0.04.16
+pkgrel=1
+pkgdesc="VoriaETL: C++ STL complementory multiplatform template library"
+arch=(i686 x86_64)
+url="http://synfig.org"
+license=('GPL2')
+depends=()
+conflicts=('synfig-etl')
+replaces=('synfig-etl')
+#source=(http://arch.p5n.pp.ru/~sergej/dl/synfig-0.63.04.tar.gz)
+source=(http://downloads.sourceforge.net/project/synfig/ETL/$pkgver/ETL-$pkgver.tar.gz)
+md5sums=('e330d2045e980d424beb054423c73797')
+
+build() {
+ cd $srcdir/ETL-$pkgver
+ [ -f Makefile ] || ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/ETL-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/ettercap/PKGBUILD b/community/ettercap/PKGBUILD
new file mode 100644
index 000000000..4250f3d44
--- /dev/null
+++ b/community/ettercap/PKGBUILD
@@ -0,0 +1,73 @@
+# $Id: PKGBUILD 88226 2013-04-14 19:02:25Z jelle $
+# Maintainer:
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgbase=ettercap
+pkgname=('ettercap' 'ettercap-gtk')
+pkgver=0.7.6
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://ettercap.github.com/ettercap/"
+license=('GPL')
+depends=('openssl' 'libpcap' 'pcre' 'libltdl' 'libnet')
+makedepends=('ghostscript' 'cmake' 'libpcap' 'libltdl' 'libnet' 'gtk2')
+options=('!libtool' '!makeflags' '!emptydirs')
+source=("https://github.com/Ettercap/ettercap/archive/v$pkgver.tar.gz" "ettercap.desktop" "org.archlinux.pkexec.ettercap.policy")
+md5sums=('7c5f5e1fd4002afdfd13765ef92866e1'
+ '51ae9f08e37a0621b3caeedb8e4d47d7'
+ '473867a0ee6da9cfb048b3d332c3d71f')
+build() {
+ cd "${srcdir}"
+
+ cp -r ${pkgbase}-${pkgver} ${pkgbase}-${pkgver}-gtk
+
+ cd ${pkgbase}-${pkgver}
+ mkdir build
+ cd build
+ cmake -D ENABLE_GTK=OFF -D CMAKE_INSTALL_PREFIX=/usr -D INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=RELEASE ../
+ make
+
+ cd "$srcdir"/${pkgbase}-${pkgver}-gtk
+ mkdir build
+ cd build
+ cmake -D ENABLE_GTK=ON -D CMAKE_INSTALL_PREFIX=/usr -D INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=RELEASE ../
+ make
+}
+
+package_ettercap() {
+ pkgdesc="A network sniffer/interceptor/logger for ethernet LANs - console"
+ backup=('etc/ettercap/etter.conf')
+ conflicts=('ettercap-gtk')
+
+ cd "${srcdir}"/${pkgbase}-${pkgver}/build
+ make DESTDIR="${pkgdir}" install
+}
+
+package_ettercap-gtk() {
+ pkgdesc="A network sniffer/interceptor/logger for ethernet LANs - GTK frontend"
+ depends+=('gtk2' 'polkit')
+ backup=('etc/ettercap/etter.conf')
+ conflicts=('ettercap')
+ provides=('ettercap')
+ optdepends=('polkit-gnome')
+ install='ettercap-gtk.install'
+
+ install -d $pkgdir/usr/share/polkit-1/actions/
+ cd "${srcdir}"/${pkgbase}-${pkgver}-gtk/build
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${srcdir}/ettercap.desktop" "${pkgdir}/usr/share/applications/ettercap.desktop"
+ install -Dm644 "${srcdir}/${pkgbase}-${pkgver}-gtk/desktop/ettercap.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/ettercap.svg"
+
+ # Install policy file
+ install -Dm644 "${srcdir}/org.archlinux.pkexec.ettercap.policy" "${pkgdir}/usr/share/polkit-1/actions/org.archlinux.pkexec.ettercap.policy"
+
+ # We need rename the original script
+ mv "${pkgdir}/usr/bin/ettercap" "${pkgdir}/usr/bin/ettercap.elf"
+
+ # Install launcher script
+ echo '#!/bin/sh' > ${pkgdir}/usr/bin/ettercap
+ echo 'pkexec --disable-internal-agent "/usr/bin/ettercap.elf" "$@"' >> ${pkgdir}/usr/bin/ettercap
+ chmod 755 ${pkgdir}/usr/bin/ettercap
+
+}
diff --git a/community/ettercap/ettercap-gtk.install b/community/ettercap/ettercap-gtk.install
new file mode 100644
index 000000000..e8f6bed8f
--- /dev/null
+++ b/community/ettercap/ettercap-gtk.install
@@ -0,0 +1,14 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ echo 'If you use a lightweight windowmanager, remember to run'
+ echo '/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 to enable'
+ echo 'graphical authentication, which may be needed for pkexec to work.'
+}
+
+post_upgrade() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/ettercap/ettercap.desktop b/community/ettercap/ettercap.desktop
new file mode 100644
index 000000000..71f8c8ce8
--- /dev/null
+++ b/community/ettercap/ettercap.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Ettercap
+Comment=Nework sniffer/analyser
+Exec=ettercap -G
+Icon=ettercap
+Terminal=false
+Type=Application
+Categories=Network;
diff --git a/community/ettercap/org.archlinux.pkexec.ettercap.policy b/community/ettercap/org.archlinux.pkexec.ettercap.policy
new file mode 100644
index 000000000..7908d7232
--- /dev/null
+++ b/community/ettercap/org.archlinux.pkexec.ettercap.policy
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE policyconfig PUBLIC
+ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
+<policyconfig>
+
+ <action id="org.archlinux.pkexec.ettercap">
+ <message>Authentication is required to run Ettercap</message>
+ <icon_name>ettercap</icon_name>
+ <defaults>
+ <allow_any>auth_admin</allow_any>
+ <allow_inactive>auth_admin</allow_inactive>
+ <allow_active>auth_admin</allow_active>
+ </defaults>
+ <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/ettercap.elf</annotate>
+ <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
+ </action>
+
+</policyconfig>
diff --git a/community/evilwm/LICENSE b/community/evilwm/LICENSE
new file mode 100644
index 000000000..6778ede8c
--- /dev/null
+++ b/community/evilwm/LICENSE
@@ -0,0 +1,40 @@
+LICENCE
+
+evilwm 1.1
+Copyright (C) 1999-2011 Ciaran Anscomb <evilwm@6809.org.uk>
+
+This is free software. You can do what you want to it, but if it
+breaks something, you get to pay for the counselling. The code was
+originally based on aewm, so this is distributed under the same terms,
+which follow.
+
+
+AEWM LICENCE
+
+Copyright (c) 1998-2000 Decklin Foster.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS", WITHOUT ANY EXPRESS
+OR IMPLIED WARRANTIES OF ANY KIND. IN NO EVENT SHALL THE AUTHOR BE
+HELD LIABLE FOR ANY DAMAGES CONNECTED WITH THE USE OF THIS PROGRAM.
+
+You are granted permission to copy, publish, distribute, and/or sell
+copies of this program and any modified versions or derived works,
+provided that this copyright and notice are not removed or altered.
+
+Portions of the code were based on 9wm, which contains this license:
+
+> 9wm is free software, and is Copyright (c) 1994 by David Hogan.
+> Permission is granted to all sentient beings to use this software,
+> to make copies of it, and to distribute those copies, provided
+> that:
+>
+> (1) the copyright and licence notices are left intact
+> (2) the recipients are aware that it is free software
+> (3) any unapproved changes in functionality are either
+> (i) only distributed as patches
+> or (ii) distributed as a new program which is not called 9wm
+> and whose documentation gives credit where it is due
+> (4) the author is not held responsible for any defects
+> or shortcomings in the software, or damages caused by it.
+>
+> There is no warranty for this software. Have a nice day.
diff --git a/community/evilwm/PKGBUILD b/community/evilwm/PKGBUILD
new file mode 100644
index 000000000..1ac5b6205
--- /dev/null
+++ b/community/evilwm/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 83062 2013-01-27 09:45:44Z andrea $
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: Jochem Kossen <j.kossen@home.nl>
+
+pkgname=evilwm
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="A minimalist but usable window manager for the X Window System."
+arch=('i686' 'x86_64')
+url="http://evilwm.sourceforge.net"
+license=('custom')
+depends=('libxrandr')
+source=(http://www.6809.org.uk/evilwm/$pkgname-$pkgver.tar.gz LICENSE)
+md5sums=('5f14cc3019320860c85bb07c60a76bd7'
+ '0941ad3e96597ef75c6310f43a0342a0')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" desktopfilesdir=/usr/share/xsessions install
+ install -D -m644 "$srcdir"/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/exfat-utils/PKGBUILD b/community/exfat-utils/PKGBUILD
new file mode 100644
index 000000000..011d78ed2
--- /dev/null
+++ b/community/exfat-utils/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 83561 2013-02-03 07:07:42Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Alex <mail.avatar@gmail.com>
+
+pkgname=exfat-utils
+pkgver=1.0.1
+pkgrel=1
+pkgdesc="Utilities for exFAT file system"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/exfat/"
+license=('GPL3')
+depends=('glibc')
+makedepends=('scons')
+source=("http://exfat.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('e592130829d0bf61fa5e3cd1c759d329')
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ scons CCFLAGS="${CFLAGS}" LINKFLAGS="${LDFLAGS} " install DESTDIR="${pkgdir}/usr/bin"
+
+ # Install man pages
+ install -Dm444 dump/dumpexfat.8 "${pkgdir}/usr/share/man/man8/dumpexfat.8"
+ install -m444 fsck/exfatfsck.8 "${pkgdir}/usr/share/man/man8"
+ install -m444 mkfs/mkexfatfs.8 "${pkgdir}/usr/share/man/man8"
+ install -m444 label/exfatlabel.8 "${pkgdir}/usr/share/man/man8"
+}
diff --git a/community/exim/PKGBUILD b/community/exim/PKGBUILD
new file mode 100644
index 000000000..f2bacb9de
--- /dev/null
+++ b/community/exim/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 92250 2013-06-03 11:15:19Z allan $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=exim
+pkgver=4.80.1
+pkgrel=5
+pkgdesc="Message Transfer Agent"
+arch=('x86_64' 'i686')
+url='http://www.exim.org/'
+license=('GPL')
+backup=(etc/mail/aliases etc/mail/exim.conf etc/logrotate.d/exim)
+install=exim.install
+depends=('db' 'pcre' 'pam' 'openssl' 'libldap')
+provides=('smtp-server' 'smtp-forwarder')
+conflicts=('smtp-server' 'smtp-forwarder')
+options=('!makeflags')
+source=("http://mirror.switch.ch/ftp/mirror/exim/exim/exim4/exim-$pkgver.tar.bz2"
+ aliases
+ exim.logrotate
+ exim.Makefile
+ exim-submission@.service
+ exim.service
+ exim@.service
+ exim.socket
+ exim-submission.socket)
+sha256sums=('9565b10f06be224fd03adafae2e07e6fdbb479f8873e3894ddb13f98eeebe78f'
+ '932c9149b6809c70e94c1256e28325d197bbf80d27322793e217d4b692d49c5a'
+ '7f1408f9c5d905968e665941f5c5efcf9da53e7a0bbef6c66220343bc2ae994b'
+ 'd33b8595e92ec812c9f6961f98e50b6a3986d5bd966ed4efec2c52c1fce47636'
+ '55719e8b823702b0054584326ca28349b7487e5be9e567ddc7a6e6259767e05b'
+ '652250d99479b58b7127ff60c29f28ca09ebac09cab7e54771d62ce38407012d'
+ 'faad96dadbb2750faa5652d830f10d5a14be487a42e8db1cec797164acf14b73'
+ '3e3d8b6be2741d2587a496196c08b3f2ffa05b5803b2bf9fb49359cef3a98d26'
+ 'd3bb58f0fbeaaa33c812a823708664bbcd828da7d24e2a098f84a15aee443fee')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ cp "$srcdir/$pkgname.Makefile" Local/Makefile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm0644 $srcdir/exim.logrotate "${pkgdir}/etc/logrotate.d/exim"
+ install -Dm0644 doc/exim.8 "${pkgdir}/usr/share/man/man8/exim.8"
+
+ mkdir -p "${pkgdir}/var/spool/exim/db" "${pkgdir}/etc/mail" \
+ "${pkgdir}/var/log/exim" "${pkgdir}/usr"/{lib,bin}
+
+ chmod 770 "${pkgdir}/var/spool/exim" "${pkgdir}/var/spool/exim/db" "${pkgdir}/var/log/exim"
+
+ cd build-Linux-*
+ for i in exicyclog exim_checkaccess exim_dumpdb exim_lock exim_tidydb exipick exiqsumm exigrep \
+ exim_dbmbuild exim exim_fixdb eximstats exinext exiqgrep exiwhat; do
+ install -m0755 "$i" "$pkgdir/usr/bin"
+ done
+
+ cd "$srcdir/exim-$pkgver/src"
+ sed -e "s|/etc/aliases|/etc/mail/aliases|g" -e "s|SYSTEM_ALIASES_FILE|/etc/mail/aliases|g" \
+ configure.default > "$pkgdir/etc/mail/exim.conf"
+
+ cp "$srcdir/aliases" "$pkgdir/etc/mail"
+
+ cd "$pkgdir/usr/bin"
+ for i in mailq newaliases rmail rsmtp runq sendmail; do
+ ln -s exim "$i"
+ done
+
+ # fhs compliancy
+ ln -s ../bin/exim ../lib/sendmail
+
+ install -Dm0644 "$srcdir/exim-submission@.service" \
+ "${pkgdir}/usr/lib/systemd/system/exim-submission@.service"
+ install -Dm0644 "$srcdir/exim.service" "${pkgdir}/usr/lib/systemd/system/exim.service"
+ install -Dm0644 "$srcdir/exim@.service" "${pkgdir}/usr/lib/systemd/system/exim@.service"
+ install -Dm0644 "$srcdir/exim.socket" "${pkgdir}/usr/lib/systemd/system/exim.socket"
+ install -Dm0644 "$srcdir/exim-submission.socket" \
+ "${pkgdir}/usr/lib/systemd/system/exim-submission.socket"
+}
diff --git a/community/exim/aliases b/community/exim/aliases
new file mode 100644
index 000000000..5a76ff7d5
--- /dev/null
+++ b/community/exim/aliases
@@ -0,0 +1,35 @@
+#
+# /etc/mail/aliases
+#
+# NOTE: Make sure you run 'newaliases' after modifying this file
+#
+
+# Basic system aliases -- these MUST be present.
+MAILER-DAEMON: postmaster
+postmaster: root
+hostmaster: root
+webmaster: hostmaster
+ftpmaster: hostmaster
+admin: hostmaster
+administrator: hostmaster
+
+# General redirections for pseudo accounts.
+bin: root
+daemon: root
+games: root
+ingres: root
+nobody: root
+system: root
+toor: root
+uucp: root
+
+# Well-known aliases.
+manager: root
+dumper: root
+operator: root
+
+# trap decode to catch security attacks
+decode: root
+
+# Person who should get root's mail
+#root:
diff --git a/community/exim/exim-submission.socket b/community/exim/exim-submission.socket
new file mode 100644
index 000000000..b9593e2ef
--- /dev/null
+++ b/community/exim/exim-submission.socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=Exim Mail Transfer Agent (message submission)
+Conflicts=exim.service
+
+[Socket]
+ListenStream=587
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community/exim/exim-submission@.service b/community/exim/exim-submission@.service
new file mode 100644
index 000000000..4f90cd83d
--- /dev/null
+++ b/community/exim/exim-submission@.service
@@ -0,0 +1,11 @@
+# It doesn't make sense for this to be separate from exim@.service
+# However, I couldn't think of a way to have two .socket files point
+# to it ([Socket] Service= is rejected if Accept=yes is set).
+
+[Unit]
+Description=Exim Mail Daemon per-connection server (message submission)
+
+[Service]
+ExecStart=-/usr/bin/exim -bs
+StandardInput=socket
+StandardError=syslog
diff --git a/community/exim/exim.Makefile b/community/exim/exim.Makefile
new file mode 100644
index 000000000..2bf77f434
--- /dev/null
+++ b/community/exim/exim.Makefile
@@ -0,0 +1,1227 @@
+# $Cambridge: exim/src/src/EDITME,v 1.27 2010/06/12 15:21:25 jetmore Exp $
+
+##################################################
+# The Exim mail transport agent #
+##################################################
+
+# This is the template for Exim's main build-time configuration file. It
+# contains settings that are independent of any operating system. These are
+# things that are mostly sysadmin choices. The items below are divided into
+# those you must specify, those you probably want to specify, those you might
+# often want to specify, and those that you almost never need to mention.
+
+# Edit this file and save the result to a file called Local/Makefile within the
+# Exim distribution directory before running the "make" command.
+
+# Things that depend on the operating system have default settings in
+# OS/Makefile-Default, but these are overridden for some OS by files called
+# called OS/Makefile-<osname>. You can further override these by creating files
+# called Local/Makefile-<osname>, where "<osname>" stands for the name of your
+# operating system - look at the names in the OS directory to see which names
+# are recognized.
+
+# However, if you are building Exim for a single OS only, you don't need to
+# worry about setting up Local/Makefile-<osname>. Any build-time configuration
+# settings you require can in fact be placed in the one file called
+# Local/Makefile. It is only if you are building for several OS from the same
+# source files that you need to worry about splitting off your own OS-dependent
+# settings into separate files. (There's more explanation about how this all
+# works in the toplevel README file, under "Modifying the building process", as
+# well as in the Exim specification.)
+
+# One OS-specific thing that may need to be changed is the command for running
+# the C compiler; the overall default is gcc, but some OS Makefiles specify cc.
+# You can override anything that is set by putting CC=whatever in your
+# Local/Makefile.
+
+# NOTE: You should never need to edit any of the distributed Makefiles; all
+# overriding can be done in your Local/Makefile(s). This will make it easier
+# for you when the next release comes along.
+
+# The location of the X11 libraries is something else that is quite variable
+# even between different versions of the same operating system (and indeed
+# there are different versions of X11 as well, of course). The four settings
+# concerned here are X11, XINCLUDE, XLFLAGS (linking flags) and X11_LD_LIB
+# (dynamic run-time library). You need not worry about X11 unless you want to
+# compile the Exim monitor utility. Exim itself does not use X11.
+
+# Another area of variability between systems is the type and location of the
+# DBM library package. Exim has support for ndbm, gdbm, tdb, and Berkeley DB.
+# By default the code assumes ndbm; this often works with gdbm or DB, provided
+# they are correctly installed, via their compatibility interfaces. However,
+# Exim can also be configured to use the native calls for Berkeley DB (obsolete
+# versions 1.85, 2.x, 3.x, or the current 4.x version) and also for gdbm.
+
+# For some operating systems, a default DBM library (other than ndbm) is
+# selected by a setting in the OS-specific Makefile. Most modern OS now have
+# a DBM library installed as standard, and in many cases this will be selected
+# for you by the OS-specific configuration. If Exim compiles without any
+# problems, you probably do not have to worry about the DBM library. If you
+# do want or need to change it, you should first read the discussion in the
+# file doc/dbm.discuss.txt, which also contains instructions for testing Exim's
+# interface to the DBM library.
+
+# In Local/Makefiles blank lines and lines starting with # are ignored. It is
+# also permitted to use the # character to add a comment to a setting, for
+# example
+#
+# EXIM_GID=42 # the "mail" group
+#
+# However, with some versions of "make" this works only if there is no white
+# space between the end of the setting and the #, so perhaps it is best
+# avoided. A consequence of this facility is that it is not possible to have
+# the # character present in any setting, but I can't think of any cases where
+# this would be wanted.
+###############################################################################
+
+
+
+###############################################################################
+# THESE ARE THINGS YOU MUST SPECIFY #
+###############################################################################
+
+# Exim will not build unless you specify BIN_DIRECTORY, CONFIGURE_FILE, and
+# EXIM_USER. You also need EXIM_GROUP if EXIM_USER specifies a uid by number.
+
+# If you don't specify SPOOL_DIRECTORY, Exim won't fail to build. However, it
+# really is a very good idea to specify it here rather than at run time. This
+# is particularly true if you let the logs go to their default location in the
+# spool directory, because it means that the location of the logs is known
+# before Exim has read the run time configuration file.
+
+#------------------------------------------------------------------------------
+# BIN_DIRECTORY defines where the exim binary will be installed by "make
+# install". The path is also used internally by Exim when it needs to re-invoke
+# itself, either to send an error message, or to recover root privilege. Exim's
+# utility binaries and scripts are also installed in this directory. There is
+# no "standard" place for the binary directory. Some people like to keep all
+# the Exim files under one directory such as /usr/exim; others just let the
+# Exim binaries go into an existing directory such as /usr/sbin or
+# /usr/local/sbin. The installation script will try to create this directory,
+# and any superior directories, if they do not exist.
+
+BIN_DIRECTORY=/usr/bin
+
+
+#------------------------------------------------------------------------------
+# CONFIGURE_FILE defines where Exim's run time configuration file is to be
+# found. It is the complete pathname for the file, not just a directory. The
+# location of all other run time files and directories can be changed in the
+# run time configuration file. There is a lot of variety in the choice of
+# location in different OS, and in the preferences of different sysadmins. Some
+# common locations are in /etc or /etc/mail or /usr/local/etc or
+# /usr/local/etc/mail. Another possibility is to keep all the Exim files under
+# a single directory such as /usr/exim. Whatever you choose, the installation
+# script will try to make the directory and any superior directories if they
+# don't exist. It will also install a default runtime configuration if this
+# file does not exist.
+
+CONFIGURE_FILE=/etc/mail/exim.conf
+
+# It is possible to specify a colon-separated list of files for CONFIGURE_FILE.
+# In this case, Exim will use the first of them that exists when it is run.
+# However, if a list is specified, the installation script no longer tries to
+# make superior directories or to install a default runtime configuration.
+
+
+#------------------------------------------------------------------------------
+# The Exim binary must normally be setuid root, so that it starts executing as
+# root, but (depending on the options with which it is called) it does not
+# always need to retain the root privilege. These settings define the user and
+# group that is used for Exim processes when they no longer need to be root. In
+# particular, this applies when receiving messages and when doing remote
+# deliveries. (Local deliveries run as various non-root users, typically as the
+# owner of a local mailbox.) Specifying these values as root is not supported.
+
+EXIM_USER=ref:exim
+
+# If you specify EXIM_USER as a name, this is looked up at build time, and the
+# uid number is built into the binary. However, you can specify that this
+# lookup is deferred until runtime. In this case, it is the name that is built
+# into the binary. You can do this by a setting of the form:
+
+# EXIM_USER=ref:exim
+
+# In other words, put "ref:" in front of the user name. If you set EXIM_USER
+# like this, any value specified for EXIM_GROUP is also passed "by reference".
+# Although this costs a bit of resource at runtime, it is convenient to use
+# this feature when building binaries that are to be run on multiple systems
+# where the name may refer to different uids. It also allows you to build Exim
+# on a system where there is no Exim user defined.
+
+# If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must
+# also be a setting of EXIM_GROUP. If, on the other hand, you use a name
+# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless
+# you want to use a group other than the default group for the given user.
+
+# EXIM_GROUP=
+
+# Many sites define a user called "exim", with an appropriate default group,
+# and use
+#
+# EXIM_USER=exim
+#
+# while leaving EXIM_GROUP unspecified (commented out).
+
+
+#------------------------------------------------------------------------------
+# SPOOL_DIRECTORY defines the directory where all the data for messages in
+# transit is kept. It is strongly recommended that you define it here, though
+# it is possible to leave this till the run time configuration.
+
+# Exim creates the spool directory if it does not exist. The owner and group
+# will be those defined by EXIM_USER and EXIM_GROUP, and this also applies to
+# all the files and directories that are created in the spool directory.
+
+# Almost all installations choose this:
+
+SPOOL_DIRECTORY=/var/spool/exim
+
+
+
+###############################################################################
+# THESE ARE THINGS YOU PROBABLY WANT TO SPECIFY #
+###############################################################################
+
+# If you need extra header file search paths on all compiles, put the -I
+# options in INCLUDE. If you want the extra searches only for certain
+# parts of the build, see more specific xxx_INCLUDE variables below.
+
+# INCLUDE=-I/example/include
+
+# You need to specify some routers and transports if you want the Exim that you
+# are building to be capable of delivering mail. You almost certainly need at
+# least one type of lookup. You should consider whether you want to build
+# the Exim monitor or not.
+
+
+#------------------------------------------------------------------------------
+# These settings determine which individual router drivers are included in the
+# Exim binary. There are no defaults in the code; those routers that are wanted
+# must be defined here by setting the appropriate variables to the value "yes".
+# Including a router in the binary does not cause it to be used automatically.
+# It has also to be configured in the run time configuration file. By
+# commenting out those you know you don't want to use, you can make the binary
+# a bit smaller. If you are unsure, leave all of these included for now.
+
+ROUTER_ACCEPT=yes
+ROUTER_DNSLOOKUP=yes
+ROUTER_IPLITERAL=yes
+ROUTER_MANUALROUTE=yes
+ROUTER_QUERYPROGRAM=yes
+ROUTER_REDIRECT=yes
+
+# This one is very special-purpose, so is not included by default.
+
+# ROUTER_IPLOOKUP=yes
+
+
+#------------------------------------------------------------------------------
+# These settings determine which individual transport drivers are included in
+# the Exim binary. There are no defaults; those transports that are wanted must
+# be defined here by setting the appropriate variables to the value "yes".
+# Including a transport in the binary does not cause it to be used
+# automatically. It has also to be configured in the run time configuration
+# file. By commenting out those you know you don't want to use, you can make
+# the binary a bit smaller. If you are unsure, leave all of these included for
+# now.
+
+TRANSPORT_APPENDFILE=yes
+TRANSPORT_AUTOREPLY=yes
+TRANSPORT_PIPE=yes
+TRANSPORT_SMTP=yes
+
+# This one is special-purpose, and commonly not required, so it is not
+# included by default.
+
+TRANSPORT_LMTP=yes
+
+
+#------------------------------------------------------------------------------
+# The appendfile transport can write messages to local mailboxes in a number
+# of formats. The code for three specialist formats, maildir, mailstore, and
+# MBX, is included only when requested. If you do not know what this is about,
+# leave these settings commented out.
+
+SUPPORT_MAILDIR=yes
+# SUPPORT_MAILSTORE=yes
+# SUPPORT_MBX=yes
+
+
+#------------------------------------------------------------------------------
+# See below for dynamic lookup modules.
+# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/
+# If not using package management but using this anyway, then think about how
+# you perform upgrades and revert them. You should consider the benefit of
+# embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can
+# maintain two concurrent sets of modules.
+
+# To build a module dynamically, you'll need to define CFLAGS_DYNAMIC for
+# your platform. Eg:
+# CFLAGS_DYNAMIC=-shared -rdynamic
+# CFLAGS_DYNAMIC=-shared -rdynamic -fPIC
+
+#------------------------------------------------------------------------------
+# These settings determine which file and database lookup methods are included
+# in the binary. See the manual chapter entitled "File and database lookups"
+# for discussion. DBM and lsearch (linear search) are included by default. If
+# you are unsure about the others, leave them commented out for now.
+# LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is
+# for the specialist case of using the DNS as a general database facility (not
+# common).
+# If set to "2" instead of "yes" then the corresponding lookup will be
+# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to
+# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to
+# EXTRALIBS so that dlopen() is available to Exim. You need to define
+# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup
+# modules.
+# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and
+# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS
+# (where * is the name as given here in this list). That ensures that only
+# the dynamic library and not the exim binary will be linked against the
+# library.
+# NOTE: LDAP cannot be built as a module!
+
+LOOKUP_DBM=yes
+LOOKUP_LSEARCH=yes
+LOOKUP_DNSDB=yes
+
+# LOOKUP_CDB=yes
+LOOKUP_DSEARCH=yes
+# LOOKUP_IBASE=yes
+LOOKUP_LDAP=yes
+# LOOKUP_MYSQL=yes
+# LOOKUP_NIS=yes
+# LOOKUP_NISPLUS=yes
+# LOOKUP_ORACLE=yes
+# LOOKUP_PASSWD=yes
+# LOOKUP_PGSQL=yes
+# LOOKUP_SQLITE=yes
+# LOOKUP_WHOSON=yes
+
+# These two settings are obsolete; all three lookups are compiled when
+# LOOKUP_LSEARCH is enabled. However, we retain these for backward
+# compatibility. Setting one forces LOOKUP_LSEARCH if it is not set.
+
+# LOOKUP_WILDLSEARCH=yes
+# LOOKUP_NWILDLSEARCH=yes
+
+
+#------------------------------------------------------------------------------
+# If you have set LOOKUP_LDAP=yes, you should set LDAP_LIB_TYPE to indicate
+# which LDAP library you have. Unfortunately, though most of their functions
+# are the same, there are minor differences. Currently Exim knows about four
+# LDAP libraries: the one from the University of Michigan (also known as
+# OpenLDAP 1), OpenLDAP 2, the Netscape SDK library, and the library that comes
+# with Solaris 7 onwards. Uncomment whichever of these you are using.
+
+# LDAP_LIB_TYPE=OPENLDAP1
+LDAP_LIB_TYPE=OPENLDAP2
+# LDAP_LIB_TYPE=NETSCAPE
+# LDAP_LIB_TYPE=SOLARIS
+
+# If you don't set any of these, Exim assumes the original University of
+# Michigan (OpenLDAP 1) library.
+
+
+#------------------------------------------------------------------------------
+# The PCRE library is required for exim. There is no longer an embedded
+# version of the PCRE library included with the source code, instead you
+# must use a system library or build your own copy of PCRE.
+# In either case you must specify the library link info here. If the
+# PCRE header files are not in the standard search path you must also
+# modify the INCLUDE path (above)
+# The default setting of PCRE_LIBS should work on the vast majority of
+# systems
+
+PCRE_LIBS=-lpcre
+
+
+#------------------------------------------------------------------------------
+# Additional libraries and include directories may be required for some
+# lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on
+# the command for linking Exim itself, not on any auxiliary programs. You
+# don't need to set LOOKUP_INCLUDE if the relevant directories are already
+# specified in INCLUDE. The settings below are just examples; -lpq is for
+# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite.
+
+# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
+# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3
+
+
+#------------------------------------------------------------------------------
+# Compiling the Exim monitor: If you want to compile the Exim monitor, a
+# program that requires an X11 display, then EXIM_MONITOR should be set to the
+# value "eximon.bin". Comment out this setting to disable compilation of the
+# monitor. The locations of various X11 directories for libraries and include
+# files are defaulted in the OS/Makefile-Default file, but can be overridden in
+# local OS-specific make files.
+
+
+
+
+#------------------------------------------------------------------------------
+# Compiling Exim with content scanning support: If you want to compile Exim
+# with support for message body content scanning, set WITH_CONTENT_SCAN to
+# the value "yes". This will give you malware and spam scanning in the DATA ACL,
+# and the MIME ACL. Please read the documentation to learn more about these
+# features.
+
+WITH_CONTENT_SCAN=yes
+
+# If you want to use the deprecated "demime" condition in the DATA ACL,
+# uncomment the line below. Doing so will also explicitly turn on the
+# WITH_CONTENT_SCAN option. If possible, use the MIME ACL instead of
+# the "demime" condition.
+
+WITH_OLD_DEMIME=yes
+
+# If you're using ClamAV and are backporting fixes to an old version, instead
+# of staying current (which is the more usual approach) then you may need to
+# use an older API which uses a STREAM command, now deprecated, instead of
+# zINSTREAM. If you need to set this, please let the Exim developers know, as
+# if nobody reports a need for it, we'll remove this option and clean up the
+# code. zINSTREAM was introduced with ClamAV 0.95.
+#
+# WITH_OLD_CLAMAV_STREAM=yes
+
+#------------------------------------------------------------------------------
+# By default Exim includes code to support DKIM (DomainKeys Identified
+# Mail, RFC4871) signing and verification. Verification of signatures is
+# turned on by default. See the spec for information on conditionally
+# disabling it. To disable the inclusion of the entire feature, set
+# DISABLE_DKIM to "yes"
+
+# DISABLE_DKIM=yes
+
+
+#------------------------------------------------------------------------------
+# Compiling Exim with experimental features. These are documented in
+# experimental-spec.txt. "Experimental" means that the way these features are
+# implemented may still change. Backward compatibility is not guaranteed.
+
+# Uncomment the following lines to add SPF support. You need to have libspf2
+# installed on your system (www.libspf2.org). Depending on where it is installed
+# you may have to edit the CFLAGS and LDFLAGS lines.
+
+# EXPERIMENTAL_SPF=yes
+# CFLAGS += -I/usr/local/include
+# LDFLAGS += -lspf2
+
+# Uncomment the following lines to add SRS (Sender rewriting scheme) support.
+# You need to have libsrs_alt installed on your system (srs.mirtol.com).
+# Depending on where it is installed you may have to edit the CFLAGS and
+# LDFLAGS lines.
+
+# EXPERIMENTAL_SRS=yes
+# CFLAGS += -I/usr/local/include
+# LDFLAGS += -lsrs_alt
+
+# Uncomment the following lines to add Brightmail AntiSpam support. You need
+# to have the Brightmail client SDK installed. Please check the experimental
+# documentation for implementation details. You need to edit the CFLAGS and
+# LDFLAGS lines.
+
+# EXPERIMENTAL_BRIGHTMAIL=yes
+# CFLAGS += -I/opt/brightmail/bsdk-6.0/include
+# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib
+
+
+
+###############################################################################
+# THESE ARE THINGS YOU MIGHT WANT TO SPECIFY #
+###############################################################################
+
+# The items in this section are those that are commonly changed according to
+# the sysadmin's preferences, but whose defaults are often acceptable. The
+# first five are concerned with security issues, where differing levels of
+# paranoia are appropriate in different environments. Sysadmins also vary in
+# their views on appropriate levels of defence in these areas. If you do not
+# understand these issues, go with the defaults, which are used by many sites.
+
+
+#------------------------------------------------------------------------------
+# Although Exim is normally a setuid program, owned by root, it refuses to run
+# local deliveries as root by default. There is a runtime option called
+# "never_users" which lists the users that must never be used for local
+# deliveries. There is also the setting below, which provides a list that
+# cannot be overridden at runtime. This guards against problems caused by
+# unauthorized changes to the runtime configuration. You are advised not to
+# remove "root" from this option, but you can add other users if you want. The
+# list is colon-separated. It must NOT contain any spaces.
+
+# FIXED_NEVER_USERS=root:bin:daemon
+FIXED_NEVER_USERS=root
+
+
+#------------------------------------------------------------------------------
+# By default, Exim insists that its configuration file be owned by root. You
+# can specify one additional permitted owner here.
+
+# CONFIGURE_OWNER=
+
+# If the configuration file is group-writeable, Exim insists by default that it
+# is owned by root. You can specify one additional permitted group owner here.
+
+# CONFIGURE_GROUP=
+
+# If you specify CONFIGURE_OWNER or CONFIGURE_GROUP as a name, this is looked
+# up at build time, and the uid or gid number is built into the binary.
+# However, you can specify that the lookup is deferred until runtime. In this
+# case, it is the name that is built into the binary. You can do this by a
+# setting of the form:
+
+# CONFIGURE_OWNER=ref:mail
+# CONFIGURE_GROUP=ref:sysadmin
+
+# In other words, put "ref:" in front of the user or group name. Although this
+# costs a bit of resource at runtime, it is convenient to use this feature when
+# building binaries that are to be run on multiple systems where the names may
+# refer to different uids or gids. It also allows you to build Exim on a system
+# where the relevant user or group is not defined.
+
+
+#------------------------------------------------------------------------------
+# The -C option allows Exim to be run with an alternate runtime configuration
+# file. When this is used by root, root privilege is retained by the binary
+# (for any other caller including the Exim user, it is dropped). You can
+# restrict the location of alternate configurations by defining a prefix below.
+# Any file used with -C must then start with this prefix (except that /dev/null
+# is also permitted if the caller is root, because that is used in the install
+# script). If the prefix specifies a directory that is owned by root, a
+# compromise of the Exim account does not permit arbitrary alternate
+# configurations to be used. The prefix can be more restrictive than just a
+# directory (the second example).
+
+# ALT_CONFIG_PREFIX=/some/directory/
+# ALT_CONFIG_PREFIX=/some/directory/exim.conf-
+
+
+#------------------------------------------------------------------------------
+# When a user other than root uses the -C option to override the configuration
+# file (including the Exim user when re-executing Exim to regain root
+# privileges for local message delivery), this will normally cause Exim to
+# drop root privileges. The TRUSTED_CONFIG_LIST option, specifies a file which
+# contains a list of trusted configuration filenames, one per line. If the -C
+# option is used by the Exim user or by the user specified in the
+# CONFIGURE_OWNER setting, to specify a configuration file which is listed in
+# the TRUSTED_CONFIG_LIST file, then root privileges are not dropped by Exim.
+
+# TRUSTED_CONFIG_LIST=/usr/exim/trusted_configs
+
+
+#------------------------------------------------------------------------------
+# Uncommenting this option disables the use of the -D command line option,
+# which changes the values of macros in the runtime configuration file.
+# This is another protection against somebody breaking into the Exim account.
+
+# DISABLE_D_OPTION=yes
+
+
+#------------------------------------------------------------------------------
+# By contrast, you might be maintaining a system which relies upon the ability
+# to override values with -D and assumes that these will be passed through to
+# the delivery processes. As of Exim 4.73, this is no longer the case by
+# default. Going forward, we strongly recommend that you use a shim Exim
+# configuration file owned by root stored under TRUSTED_CONFIG_LIST.
+# That shim can set macros before .include'ing your main configuration file.
+#
+# As a strictly transient measure to ease migration to 4.73, the
+# WHITELIST_D_MACROS value definies a colon-separated list of macro-names
+# which are permitted to be overridden from the command-line which will be
+# honoured by the Exim user. So these are macros that can persist to delivery
+# time.
+# Examples might be -DTLS or -DSPOOL=/some/dir. The values on the
+# command-line are filtered to only permit: [A-Za-z0-9_/.-]*
+#
+# This option is highly likely to be removed in a future release. It exists
+# only to make 4.73 as easy as possible to migrate to. If you use it, we
+# encourage you to schedule time to rework your configuration to not depend
+# upon it. Most people should not need to use this.
+#
+# By default, no macros are whitelisted for -D usage.
+
+# WHITELIST_D_MACROS=TLS:SPOOL
+
+#------------------------------------------------------------------------------
+# Exim has support for the AUTH (authentication) extension of the SMTP
+# protocol, as defined by RFC 2554. If you don't know what SMTP authentication
+# is, you probably won't want to include this code, so you should leave these
+# settings commented out. If you do want to make use of SMTP authentication,
+# you must uncomment at least one of the following, so that appropriate code is
+# included in the Exim binary. You will then need to set up the run time
+# configuration to make use of the mechanism(s) selected.
+
+AUTH_CRAM_MD5=yes
+# AUTH_CYRUS_SASL=yes
+AUTH_DOVECOT=yes
+AUTH_PLAINTEXT=yes
+AUTH_SPA=yes
+
+
+#------------------------------------------------------------------------------
+# If you specified AUTH_CYRUS_SASL above, you should ensure that you have the
+# Cyrus SASL library installed before trying to build Exim, and you probably
+# want to uncomment the following line:
+
+# AUTH_LIBS=-lsasl2
+
+
+#------------------------------------------------------------------------------
+# When Exim is decoding MIME "words" in header lines, most commonly for use
+# in the $header_xxx expansion, it converts any foreign character sets to the
+# one that is set in the headers_charset option. The default setting is
+# defined by this setting:
+
+HEADERS_CHARSET="ISO-8859-1"
+
+# If you are going to make use of $header_xxx expansions in your configuration
+# file, or if your users are going to use them in filter files, and the normal
+# character set on your host is something other than ISO-8859-1, you might
+# like to specify a different default here. This value can be overridden in
+# the runtime configuration, and it can also be overridden in individual filter
+# files.
+#
+# IMPORTANT NOTE: The iconv() function is needed for character code
+# conversions. Please see the next item...
+
+
+#------------------------------------------------------------------------------
+# Character code conversions are possible only if the iconv() function is
+# installed on your operating system. There are two places in Exim where this
+# is relevant: (a) The $header_xxx expansion (see the previous item), and (b)
+# the Sieve filter support. For those OS where iconv() is known to be installed
+# as standard, the file in OS/Makefile-xxxx contains
+#
+# HAVE_ICONV=yes
+#
+# If you are not using one of those systems, but have installed iconv(), you
+# need to uncomment that line above. In some cases, you may find that iconv()
+# and its header file are not in the default places. You might need to use
+# something like this:
+#
+# HAVE_ICONV=yes
+# CFLAGS=-O -I/usr/local/include
+# EXTRALIBS_EXIM=-L/usr/local/lib -liconv
+#
+# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
+# as well.
+
+
+#------------------------------------------------------------------------------
+# The passwords for user accounts are normally encrypted with the crypt()
+# function. Comparisons with encrypted passwords can be done using Exim's
+# "crypteq" expansion operator. (This is commonly used as part of the
+# configuration of an authenticator for use with SMTP AUTH.) At least one
+# operating system has an extended function called crypt16(), which uses up to
+# 16 characters of a password (the normal crypt() uses only the first 8). Exim
+# supports the use of crypt16() as well as crypt() but note the warning below.
+
+# You can always indicate a crypt16-encrypted password by preceding it with
+# "{crypt16}". If you want the default handling (without any preceding
+# indicator) to use crypt16(), uncomment the following line:
+
+# DEFAULT_CRYPT=crypt16
+
+# If you do that, you can still access the basic crypt() function by preceding
+# an encrypted password with "{crypt}". For more details, see the description
+# of the "crypteq" condition in the manual chapter on string expansions.
+
+# Some operating systems do not include a crypt16() function, so Exim has one
+# of its own, which it uses unless HAVE_CRYPT16 is defined. Normally, that will
+# be set in an OS-specific Makefile for the OS that have such a function, so
+# you should not need to bother with it.
+
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
+# It turns out that the above is not entirely accurate. As well as crypt16()
+# there is a function called bigcrypt() that some operating systems have. This
+# may or may not use the same algorithm, and both of them may be different to
+# Exim's built-in crypt16() that is used unless HAVE_CRYPT16 is defined.
+#
+# However, since there is now a move away from the traditional crypt()
+# functions towards using SHA1 and other algorithms, tidying up this area of
+# Exim is seen as very low priority. In practice, if you need to, you can
+# define DEFAULT_CRYPT to the name of any function that has the same interface
+# as the traditional crypt() function.
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
+
+
+#------------------------------------------------------------------------------
+# Exim can be built to support the SMTP STARTTLS command, which implements
+# Transport Layer Security using SSL (Secure Sockets Layer). To do this, you
+# must install the OpenSSL library package or the GnuTLS library. Exim contains
+# no cryptographic code of its own. Uncomment the following lines if you want
+# to build Exim with TLS support. If you don't know what this is all about,
+# leave these settings commented out.
+
+# This setting is required for any TLS support (either OpenSSL or GnuTLS)
+SUPPORT_TLS=yes
+
+# Uncomment this setting if you are using OpenSSL
+TLS_LIBS=-lssl -lcrypto
+
+# Uncomment these settings if you are using GnuTLS
+# USE_GNUTLS=yes
+# TLS_LIBS=-lgnutls -ltasn1 -lgcrypt
+
+# If you are running Exim as a server, note that just building it with TLS
+# support is not all you need to do. You also need to set up a suitable
+# certificate, and tell Exim about it by means of the tls_certificate
+# and tls_privatekey run time options. You also need to set tls_advertise_hosts
+# to specify the hosts to which Exim advertises TLS support. On the other hand,
+# if you are running Exim only as a client, building it with TLS support
+# is all you need to do.
+
+# Additional libraries and include files are required for both OpenSSL and
+# GnuTLS. The TLS_LIBS settings above assume that the libraries are installed
+# with all your other libraries. If they are in a special directory, you may
+# need something like
+
+# TLS_LIBS=-L/usr/local/openssl/lib -lssl -lcrypto
+# or
+# TLS_LIBS=-L/opt/gnu/lib -lgnutls -ltasn1 -lgcrypt
+
+# TLS_LIBS is included only on the command for linking Exim itself, not on any
+# auxiliary programs. If the include files are not in a standard place, you can
+# set TLS_INCLUDE to specify where they are, for example:
+
+# TLS_INCLUDE=-I/usr/local/openssl/include/
+# or
+# TLS_INCLUDE=-I/opt/gnu/include
+
+# You don't need to set TLS_INCLUDE if the relevant directories are already
+# specified in INCLUDE.
+
+
+#------------------------------------------------------------------------------
+# The default distribution of Exim contains only the plain text form of the
+# documentation. Other forms are available separately. If you want to install
+# the documentation in "info" format, first fetch the Texinfo documentation
+# sources from the ftp directory and unpack them, which should create files
+# with the extension "texinfo" in the doc directory. You may find that the
+# version number of the texinfo files is different to your Exim version number,
+# because the main documentation isn't updated as often as the code. For
+# example, if you have Exim version 4.43, the source tarball upacks into a
+# directory called exim-4.43, but the texinfo tarball unpacks into exim-4.40.
+# In this case, move the contents of exim-4.40/doc into exim-4.43/doc after you
+# have unpacked them. Then set INFO_DIRECTORY to the location of your info
+# directory. This varies from system to system, but is often /usr/share/info.
+# Once you have done this, "make install" will build the info files and
+# install them in the directory you have defined.
+
+# INFO_DIRECTORY=/usr/share/info
+
+
+#------------------------------------------------------------------------------
+# Exim log directory and files: Exim creates several log files inside a
+# single log directory. You can define the directory and the form of the
+# log file name here. If you do not set anything, Exim creates a directory
+# called "log" inside its spool directory (see SPOOL_DIRECTORY above) and uses
+# the filenames "mainlog", "paniclog", and "rejectlog". If you want to change
+# this, you can set LOG_FILE_PATH to a path name containing one occurrence of
+# %s. This will be replaced by one of the strings "main", "panic", or "reject"
+# to form the final file names. Some installations may want something like this:
+
+LOG_FILE_PATH=/var/log/exim/%slog
+
+# which results in files with names /var/log/exim_mainlog, etc. The directory
+# in which the log files are placed must exist; Exim does not try to create
+# it for itself. It is also your responsibility to ensure that Exim is capable
+# of writing files using this path name. The Exim user (see EXIM_USER above)
+# must be able to create and update files in the directory you have specified.
+
+# You can also configure Exim to use syslog, instead of or as well as log
+# files, by settings such as these
+
+# LOG_FILE_PATH=syslog
+# LOG_FILE_PATH=syslog:/var/log/exim_%slog
+
+# The first of these uses only syslog; the second uses syslog and also writes
+# to log files. Do not include white space in such a setting as it messes up
+# the building process.
+
+
+#------------------------------------------------------------------------------
+# When logging to syslog, the following option caters for syslog replacements
+# that are able to accept log entries longer than the 1024 characters allowed
+# by RFC 3164. It is up to you to make sure your syslog daemon can handle this.
+# Non-printable characters are usually unacceptable regardless, so log entries
+# are still split on newline characters.
+
+# SYSLOG_LONG_LINES=yes
+
+# If you are not interested in the process identifier (pid) of the Exim that is
+# making the call to syslog, then comment out the following line.
+
+SYSLOG_LOG_PID=yes
+
+
+#------------------------------------------------------------------------------
+# Cycling log files: this variable specifies the maximum number of old
+# log files that are kept by the exicyclog log-cycling script. You don't have
+# to use exicyclog. If your operating system has other ways of cycling log
+# files, you can use them instead. The exicyclog script isn't run by default;
+# you have to set up a cron job for it if you want it.
+
+EXICYCLOG_MAX=10
+
+
+#------------------------------------------------------------------------------
+# The compress command is used by the exicyclog script to compress old log
+# files. Both the name of the command and the suffix that it adds to files
+# need to be defined here. See also the EXICYCLOG_MAX configuration.
+
+COMPRESS_COMMAND=/bin/gzip
+COMPRESS_SUFFIX=gz
+
+
+#------------------------------------------------------------------------------
+# If the exigrep utility is fed compressed log files, it tries to uncompress
+# them using this command.
+
+ZCAT_COMMAND=/bin/zcat
+
+
+#------------------------------------------------------------------------------
+# Compiling in support for embedded Perl: If you want to be able to
+# use Perl code in Exim's string manipulation language and you have Perl
+# (version 5.004 or later) installed, set EXIM_PERL to perl.o. Using embedded
+# Perl costs quite a lot of resources. Only do this if you really need it.
+
+# EXIM_PERL=perl.o
+
+
+#------------------------------------------------------------------------------
+# Support for dynamically-loaded string expansion functions via ${dlfunc. If
+# you are using gcc the dynamically-loaded object must be compiled with the
+# -shared option, and you will need to add -export-dynamic to EXTRALIBS so
+# that the local_scan API is made available by the linker. You may also need
+# to add -ldl to EXTRALIBS so that dlopen() is available to Exim.
+
+# EXPAND_DLFUNC=yes
+
+
+#------------------------------------------------------------------------------
+# Exim has support for PAM (Pluggable Authentication Modules), a facility
+# which is available in the latest releases of Solaris and in some GNU/Linux
+# distributions (see http://ftp.kernel.org/pub/linux/libs/pam/). The Exim
+# support, which is intended for use in conjunction with the SMTP AUTH
+# facilities, is included only when requested by the following setting:
+
+SUPPORT_PAM=yes
+
+# You probably need to add -lpam to EXTRALIBS, and in some releases of
+# GNU/Linux -ldl is also needed.
+
+
+#------------------------------------------------------------------------------
+# Support for authentication via Radius is also available. The Exim support,
+# which is intended for use in conjunction with the SMTP AUTH facilities,
+# is included only when requested by setting the following parameter to the
+# location of your Radius configuration file:
+
+# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf
+# RADIUS_CONFIG_FILE=/etc/radius.conf
+
+# If you have set RADIUS_CONFIG_FILE, you should also set one of these to
+# indicate which RADIUS library is used:
+
+# RADIUS_LIB_TYPE=RADIUSCLIENT
+# RADIUS_LIB_TYPE=RADIUSCLIENTNEW
+# RADIUS_LIB_TYPE=RADLIB
+
+# RADIUSCLIENT is the radiusclient library; you probably need to add
+# -lradiusclient to EXTRALIBS.
+#
+# The API for the radiusclient library was changed at release 0.4.0.
+# Unfortunately, the header file does not define a version number that clients
+# can use to support both the old and new APIs. If you are using version 0.4.0
+# or later of the radiusclient library, you should use RADIUSCLIENTNEW.
+#
+# RADLIB is the Radius library that comes with FreeBSD (the header file is
+# called radlib.h); you probably need to add -lradius to EXTRALIBS.
+#
+# If you do not set RADIUS_LIB_TYPE, Exim assumes the radiusclient library,
+# using the original API.
+
+
+#------------------------------------------------------------------------------
+# Support for authentication via the Cyrus SASL pwcheck daemon is available.
+# Note, however, that pwcheck is now deprecated in favour of saslauthd (see
+# next item). The Exim support for pwcheck, which is intented for use in
+# conjunction with the SMTP AUTH facilities, is included only when requested by
+# setting the following parameter to the location of the pwcheck daemon's
+# socket.
+#
+# There is no need to install all of SASL on your system. You just need to run
+# ./configure --with-pwcheck, cd to the pwcheck directory within the sources,
+# make and make install. You must create the socket directory (default
+# /var/pwcheck) and chown it to exim's user and group. Once you have installed
+# pwcheck, you should arrange for it to be started by root at boot time.
+
+# CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck
+
+
+#------------------------------------------------------------------------------
+# Support for authentication via the Cyrus SASL saslauthd daemon is available.
+# The Exim support, which is intented for use in conjunction with the SMTP AUTH
+# facilities, is included only when requested by setting the following
+# parameter to the location of the saslauthd daemon's socket.
+#
+# There is no need to install all of SASL on your system. You just need to run
+# ./configure --with-saslauthd (and any other options you need, for example, to
+# select or deselect authentication mechanisms), cd to the saslauthd directory
+# within the sources, make and make install. You must create the socket
+# directory (default /var/state/saslauthd) and chown it to exim's user and
+# group. Once you have installed saslauthd, you should arrange for it to be
+# started by root at boot time.
+
+# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux
+
+
+#------------------------------------------------------------------------------
+# TCP wrappers: If you want to use tcpwrappers from within Exim, uncomment
+# this setting. See the manual section entitled "Use of tcpwrappers" in the
+# chapter on building and installing Exim.
+#
+# USE_TCP_WRAPPERS=yes
+#
+# You may well also have to specify a local "include" file and an additional
+# library for TCP wrappers, so you probably need something like this:
+#
+# USE_TCP_WRAPPERS=yes
+# CFLAGS=-O -I/usr/local/include
+# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap
+#
+# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
+# as well.
+#
+# To use a name other than exim in the tcpwrappers config file,
+# e.g. if you're running multiple daemons with different access lists,
+# or multiple MTAs with the same access list, define
+# TCP_WRAPPERS_DAEMON_NAME accordingly
+#
+# TCP_WRAPPERS_DAEMON_NAME="exim"
+
+
+#------------------------------------------------------------------------------
+# The default action of the exim_install script (which is run by "make
+# install") is to install the Exim binary with a unique name such as
+# exim-4.43-1, and then set up a symbolic link called "exim" to reference it,
+# moving the symbolic link from any previous version. If you define NO_SYMLINK
+# (the value doesn't matter), the symbolic link is not created or moved. You
+# will then have to "turn Exim on" by setting up the link manually.
+
+# NO_SYMLINK=yes
+
+
+#------------------------------------------------------------------------------
+# Another default action of the install script is to install a default runtime
+# configuration file if one does not exist. This configuration has a router for
+# expanding system aliases. The default assumes that these aliases are kept
+# in the traditional file called /etc/aliases. If such a file does not exist,
+# the installation script creates one that contains just comments (no actual
+# aliases). The following setting can be changed to specify a different
+# location for the system alias file.
+
+SYSTEM_ALIASES_FILE=/etc/mail/aliases
+
+
+#------------------------------------------------------------------------------
+# There are some testing options (-be, -bt, -bv) that read data from the
+# standard input when no arguments are supplied. By default, the input lines
+# are read using the standard fgets() function. This does not support line
+# editing during interactive input (though the terminal's "erase" character
+# works as normal). If your operating system has the readline() function, and
+# in addition supports dynamic loading of library functions, you can cause
+# Exim to use readline() for the -be testing option (only) by uncommenting the
+# following setting. Dynamic loading is used so that the library is loaded only
+# when the -be testing option is given; by the time the loading occurs,
+# Exim has given up its root privilege and is running as the calling user. This
+# is the reason why readline() is NOT supported for -bt and -bv, because Exim
+# runs as root or as exim, respectively, for those options. When USE_READLINE
+# is "yes", as well as supporting line editing, a history of input lines in the
+# current run is maintained.
+
+# USE_READLINE=yes
+
+# You may need to add -ldl to EXTRALIBS when you set USE_READLINE=yes.
+# Note that this option adds to the size of the Exim binary, because the
+# dynamic loading library is not otherwise included.
+
+
+
+###############################################################################
+# THINGS YOU ALMOST NEVER NEED TO MENTION #
+###############################################################################
+
+# The settings in this section are available for use in special circumstances.
+# In the vast majority of installations you need not change anything below.
+
+
+#------------------------------------------------------------------------------
+# The following commands live in different places in some OS. Either the
+# ultimate default settings, or the OS-specific files should already point to
+# the right place, but they can be overridden here if necessary. These settings
+# are used when building various scripts to ensure that the correct paths are
+# used when the scripts are run. They are not used in the Makefile itself. Perl
+# is not necessary for running Exim unless you set EXIM_PERL (see above) to get
+# it embedded, but there are some utilities that are Perl scripts. If you
+# haven't got Perl, Exim will still build and run; you just won't be able to
+# use those utilities.
+
+# CHOWN_COMMAND=/usr/bin/chown
+# CHGRP_COMMAND=/usr/bin/chgrp
+# CHMOD_COMMAND=/usr/bin/chmod
+# MV_COMMAND=/bin/mv
+# RM_COMMAND=/bin/rm
+# TOUCH_COMMAND=/usr/bin/touch
+# PERL_COMMAND=/usr/bin/perl
+
+
+#------------------------------------------------------------------------------
+# The following macro can be used to change the command for building a library
+# of functions. By default the "ar" command is used, with options "cq".
+# Only in rare circumstances should you need to change this.
+
+# AR=ar cq
+
+
+#------------------------------------------------------------------------------
+# In some operating systems, the value of the TMPDIR environment variable
+# controls where temporary files are created. Exim does not make use of
+# temporary files, except when delivering to MBX mailboxes. However, if Exim
+# calls any external libraries (e.g. DBM libraries), they may use temporary
+# files, and thus be influenced by the value of TMPDIR. For this reason, when
+# Exim starts, it checks the environment for TMPDIR, and if it finds it is set,
+# it replaces the value with what is defined here. Commenting this setting
+# suppresses the check altogether.
+
+TMPDIR="/tmp"
+
+
+#------------------------------------------------------------------------------
+# The following macros can be used to change the default modes that are used
+# by the appendfile transport. In most installations the defaults are just
+# fine, and in any case, you can change particular instances of the transport
+# at run time if you want.
+
+# APPENDFILE_MODE=0600
+# APPENDFILE_DIRECTORY_MODE=0700
+# APPENDFILE_LOCKFILE_MODE=0600
+
+
+#------------------------------------------------------------------------------
+# In some installations there may be multiple machines sharing file systems,
+# where a different configuration file is required for Exim on the different
+# machines. If CONFIGURE_FILE_USE_NODE is defined, then Exim will first look
+# for a configuration file whose name is that defined by CONFIGURE_FILE,
+# with the node name obtained by uname() tacked on the end, separated by a
+# period (for example, /usr/exim/configure.host.in.some.domain). If this file
+# does not exist, then the bare configuration file name is tried.
+
+# CONFIGURE_FILE_USE_NODE=yes
+
+
+#------------------------------------------------------------------------------
+# In some esoteric configurations two different versions of Exim are run,
+# with different setuid values, and different configuration files are required
+# to handle the different cases. If CONFIGURE_FILE_USE_EUID is defined, then
+# Exim will first look for a configuration file whose name is that defined
+# by CONFIGURE_FILE, with the effective uid tacked on the end, separated by
+# a period (for eximple, /usr/exim/configure.0). If this file does not exist,
+# then the bare configuration file name is tried. In the case when both
+# CONFIGURE_FILE_USE_EUID and CONFIGURE_FILE_USE_NODE are set, four files
+# are tried: <name>.<euid>.<node>, <name>.<node>, <name>.<euid>, and <name>.
+
+# CONFIGURE_FILE_USE_EUID=yes
+
+
+#------------------------------------------------------------------------------
+# The size of the delivery buffers: These specify the sizes (in bytes) of
+# the buffers that are used when copying a message from the spool to a
+# destination. There is rarely any need to change these values.
+
+# DELIVER_IN_BUFFER_SIZE=8192
+# DELIVER_OUT_BUFFER_SIZE=8192
+
+
+#------------------------------------------------------------------------------
+# The mode of the database directory: Exim creates a directory called "db"
+# in its spool directory, to hold its databases of hints. This variable
+# determines the mode of the created directory. The default value in the
+# source is 0750.
+
+# EXIMDB_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# Database file mode: The mode of files created in the "db" directory defaults
+# to 0640 in the source, and can be changed here.
+
+# EXIMDB_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# Database lock file mode: The mode of zero-length files created in the "db"
+# directory to use for locking purposes defaults to 0640 in the source, and
+# can be changed here.
+
+# EXIMDB_LOCKFILE_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# This parameter sets the maximum length of the header portion of a message
+# that Exim is prepared to process. The default setting is one megabyte. The
+# limit exists in order to catch rogue mailers that might connect to your SMTP
+# port, start off a header line, and then just pump junk at it for ever. The
+# message_size_limit option would also catch this, but it may not be set.
+# The value set here is the default; it can be changed at runtime.
+
+# HEADER_MAXSIZE="(1024*1024)"
+
+
+#------------------------------------------------------------------------------
+# The mode of the input directory: The input directory is where messages are
+# kept while awaiting delivery. Exim creates it if necessary, using a mode
+# which can be defined here (default 0750).
+
+# INPUT_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# The mode of Exim's log directory, when it is created by Exim inside the spool
+# directory, defaults to 0750 but can be changed here.
+
+# LOG_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# The log files themselves are created as required, with a mode that defaults
+# to 0640, but which can be changed here.
+
+# LOG_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# The TESTDB lookup is for performing tests on the handling of lookup results,
+# and is not useful for general running. It should be included only when
+# debugging the code of Exim.
+
+# LOOKUP_TESTDB=yes
+
+
+#------------------------------------------------------------------------------
+# /bin/sh is used by default as the shell in which to run commands that are
+# defined in the makefiles. This can be changed if necessary, by uncommenting
+# this line and specifying another shell, but note that a Bourne-compatible
+# shell is expected.
+
+# MAKE_SHELL=/bin/sh
+
+
+#------------------------------------------------------------------------------
+# The maximum number of named lists of each type (address, domain, host, and
+# local part) can be increased by changing this value. It should be set to
+# a multiple of 16.
+
+MAX_NAMED_LIST=16
+
+
+#------------------------------------------------------------------------------
+# Network interfaces: Unless you set the local_interfaces option in the runtime
+# configuration file to restrict Exim to certain interfaces only, it will run
+# code to find all the interfaces there are on your host. Unfortunately,
+# the call to the OS that does this requires a buffer large enough to hold
+# data for all the interfaces - it was designed in the days when a host rarely
+# had more than three or four interfaces. Nowadays hosts can have very many
+# virtual interfaces running on the same hardware. If you have more than 250
+# virtual interfaces, you will need to uncomment this setting and increase the
+# value.
+
+# MAXINTERFACES=250
+
+
+#------------------------------------------------------------------------------
+# Per-message logs: While a message is in the process of being delivered,
+# comments on its progress are written to a message log, for the benefit of
+# human administrators. These logs are held in a directory called "msglog"
+# in the spool directory. Its mode defaults to 0750, but can be changed here.
+# The message log directory is also used for storing files that are used by
+# transports for returning data to a message's sender (see the "return_output"
+# option for transports).
+
+# MSGLOG_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# There are three options which are used when compiling the Perl interface and
+# when linking with Perl. The default values for these are placed automatically
+# at the head of the Makefile by the script which builds it. However, if you
+# want to override them, you can do so here.
+
+# PERL_CC=
+# PERL_CCOPTS=
+# PERL_LIBS=
+
+
+#------------------------------------------------------------------------------
+# Identifying the daemon: When an Exim daemon starts up, it writes its pid
+# (process id) to a file so that it can easily be identified. The path of the
+# file can be specified here. Some installations may want something like this:
+
+PID_FILE_PATH=/var/run/exim.pid
+
+# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
+# using the name "exim-daemon.pid".
+
+# If you start up a daemon without the -bd option (for example, with just
+# the -q15m option), a pid file is not written. Also, if you override the
+# configuration file with the -oX option, no pid file is written. In other
+# words, the pid file is written only for a "standard" daemon.
+
+
+#------------------------------------------------------------------------------
+# If Exim creates the spool directory, it is given this mode, defaulting in the
+# source to 0750.
+
+# SPOOL_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# The mode of files on the input spool which hold the contents of messages can
+# be changed here. The default is 0640 so that information from the spool is
+# available to anyone who is a member of the Exim group.
+
+# SPOOL_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# Moving frozen messages: If the following is uncommented, Exim is compiled
+# with support for automatically moving frozen messages out of the main spool
+# directory, a facility that is found useful by some large installations. A
+# run time option is required to cause the moving actually to occur. Such
+# messages become "invisible" to the normal management tools.
+
+# SUPPORT_MOVE_FROZEN_MESSAGES=yes
+
+
+#------------------------------------------------------------------------------
+# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you
+# really, really, really know what you are doing. And even then, think again.
+# You should never uncomment this when compiling a binary for distribution.
+# Use it only when compiling Exim for your own use.
+#
+# Uncommenting this line enables the use of a runtime option called
+# disable_fsync, which can be used to stop Exim using fsync() to ensure that
+# files are written to disc before proceeding. When this is disabled, crashes
+# and hardware problems such as power outages can cause data to be lost. This
+# feature should only be used in very exceptional circumstances. YOU HAVE BEEN
+# WARNED.
+
+# ENABLE_DISABLE_FSYNC=yes
+
+HAVE_IPV6=YES
+LOOKUP_LIBS=-lldap -llber
+EXTRALIBS_EXIM=-lpam
+# End of EDITME for Exim 4.
diff --git a/community/exim/exim.install b/community/exim/exim.install
new file mode 100644
index 000000000..d666be17f
--- /dev/null
+++ b/community/exim/exim.install
@@ -0,0 +1,25 @@
+# arg 1: the new package version
+post_install() {
+ getent group exim >/dev/null 2>&1 || groupadd -g 79 exim
+ if getent passwd exim > /dev/null 2>&1; then
+ usr/sbin/usermod -d /var/spool/exim -c 'Exim MTA' -s /sbin/nologin exim > /dev/null 2>&1
+ else
+ usr/sbin/useradd -c 'Exim MTA' -u 79 -g exim -d /var/spool/exim -s /sbin/nologin exim
+ fi
+ passwd -l exim > /dev/null
+ chown root.exim /var/spool/exim /var/log/exim
+ chown exim.exim /var/spool/exim/db
+ chmod u+s /usr/bin/exim
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ getent passwd exim >/dev/null 2>&1 && userdel exim
+}
+
diff --git a/community/exim/exim.logrotate b/community/exim/exim.logrotate
new file mode 100644
index 000000000..070ba4747
--- /dev/null
+++ b/community/exim/exim.logrotate
@@ -0,0 +1,6 @@
+/var/log/exim/*log {
+ su exim exim
+ missingok
+ notifempty
+ delaycompress
+}
diff --git a/community/exim/exim.service b/community/exim/exim.service
new file mode 100644
index 000000000..dc48bd752
--- /dev/null
+++ b/community/exim/exim.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Exim Mail Daemon
+
+[Service]
+PIDFile=/var/run/exim.pid
+ExecStart=/usr/bin/exim -bdf -q30m
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/exim/exim.socket b/community/exim/exim.socket
new file mode 100644
index 000000000..36d28684f
--- /dev/null
+++ b/community/exim/exim.socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=Exim Mail Transfer Agent
+Conflicts=exim.service
+
+[Socket]
+ListenStream=25
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community/exim/exim@.service b/community/exim/exim@.service
new file mode 100644
index 000000000..19c07a51b
--- /dev/null
+++ b/community/exim/exim@.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Exim Mail Daemon per-connection server
+
+[Service]
+ExecStart=-/usr/bin/exim -bs
+StandardInput=socket
+StandardError=syslog
diff --git a/community/expac/PKGBUILD b/community/expac/PKGBUILD
new file mode 100644
index 000000000..cf31567ba
--- /dev/null
+++ b/community/expac/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 87648 2013-04-05 00:19:21Z dreisner $
+# Maintainer: Dave Reisner <d@falconindy.com>
+
+pkgname=expac
+pkgver=2
+pkgrel=1
+pkgdesc="pacman database extraction utility"
+arch=('i686' 'x86_64')
+url="http://github.com/falconindy/expac"
+license=('GPL')
+depends=('pacman')
+makedepends=('perl')
+source=("http://code.falconindy.com/archive/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig})
+md5sums=('41a65f51009e44689bd5320f5c3aa7d4'
+ 'SKIP')
+
+build() {
+ make -C "$pkgname-$pkgver"
+
+ sed '/\*\//q' "$pkgname-$pkgver"/expac.c >LICENSE
+}
+
+package() {
+ make -C "$pkgname-$pkgver" PREFIX=/usr DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim: ft=sh syn=sh
diff --git a/community/ext3grep/PKGBUILD b/community/ext3grep/PKGBUILD
new file mode 100644
index 000000000..f3ac6d1cd
--- /dev/null
+++ b/community/ext3grep/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 66637 2012-02-26 16:26:55Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: ivh
+
+pkgname=ext3grep
+pkgver=0.10.2
+pkgrel=2
+pkgdesc="A tool to investigate an ext3 file system for deleted content and possibly recover it"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/ext3grep/"
+license=('GPL')
+makedepends=('e2fsprogs' 'patch')
+changelog=$pkgname.changelog
+source=(http://ext3grep.googlecode.com/files/$pkgname-$pkgver.tar.gz \
+ $pkgname-build.patch)
+sha256sums=('586f3e939d2ffd782f6f006b81a3df2dc477c6da03f21edb8860c5c4f7198f3e'
+ '6f57d5012fcfb063012ade80b25c356defc2d22411bbb9086ea89c0de10f3117')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+#http://code.google.com/p/ext3grep/issues/detail?id=34
+ patch -Np1 -i ${srcdir}/$pkgname-build.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/ext3grep/ext3grep-build.patch b/community/ext3grep/ext3grep-build.patch
new file mode 100644
index 000000000..82af728bd
--- /dev/null
+++ b/community/ext3grep/ext3grep-build.patch
@@ -0,0 +1,26 @@
+diff -ruN1 ext3grep-0.10.2-orig/src/ext3.h ext3grep-0.10.2/src/ext3.h
+--- ext3grep-0.10.2-orig/src/ext3.h 2008-04-09 13:20:31.000000000 +0200
++++ ext3grep-0.10.2/src/ext3.h 2012-02-26 17:05:42.000000000 +0100
+@@ -26,2 +26,13 @@
+
++// this trickery needs to happen before ext2_fs is included so
++// bail out if it has already been included by another path
++#ifdef _LINUX_EXT2_FS_H
++ #error please include this file before any other includes of ext2fs/ext2_fs.h
++#endif
++
++// some versions of the ext2 headers call this s_frags_per_group and some
++// call it s_clusters_per_group, define one to the other so our code works
++// with both
++#define s_clusters_per_group s_frags_per_group
++
+ // Use the header files from e2progs (http://e2fsprogs.sourceforge.net)
+@@ -112,2 +123,8 @@
+ __u16 gid_high(void) const { return i_gid_high; }
++#ifndef i_reseved2
++ //i_reseved2 has been split into two fields in recent
++ //versions of the headers, luckilly we can still access
++ //it in one peice through the hurd side of the union
++ #define i_reserved2 osd2.hurd2.h_i_author
++#endif
+ __u32 reserved2(void) const { return i_reserved2; }
diff --git a/community/ext3grep/ext3grep.changelog b/community/ext3grep/ext3grep.changelog
new file mode 100644
index 000000000..fb86cf94b
--- /dev/null
+++ b/community/ext3grep/ext3grep.changelog
@@ -0,0 +1,6 @@
+2012-02-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * ext3grep 0.10.2-2 package signed
+
+2010-07-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community] from AUR - 65 votes
+ * Version 0.10.2-1
diff --git a/community/ext4magic/PKGBUILD b/community/ext4magic/PKGBUILD
new file mode 100644
index 000000000..539d58039
--- /dev/null
+++ b/community/ext4magic/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 90509 2013-05-12 23:37:59Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgname=ext4magic
+pkgver=0.3.1
+pkgrel=2
+pkgdesc='Recover deleted or overwritten files on ext3 and ext4 filesystems'
+arch=('i686' 'x86_64')
+url='http://developer.berlios.de/projects/ext4magic/'
+license=('GPL2')
+depends=('bzip2' 'file' 'util-linux' 'e2fsprogs')
+source=("http://download.berlios.de/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('59c194b71e33aa6bd098b91f802e67d5')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/extremetuxracer/PKGBUILD b/community/extremetuxracer/PKGBUILD
new file mode 100644
index 000000000..b62623768
--- /dev/null
+++ b/community/extremetuxracer/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 90020 2013-05-06 19:36:49Z foutrelis $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Eric Belanger <eric.archlinux.org>
+# Contributor: Fabio Scotoni <CCuleX.gmail.com>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+pkgname=extremetuxracer
+pkgver=0.4
+pkgrel=6
+pkgdesc="Downhill racing game starring Tux"
+arch=('x86_64' 'i686')
+url="http://www.extremetuxracer.com"
+license=('GPL')
+depends=('gcc-libs' 'sdl_mixer' 'tcl>=8.5.0' 'libpng>=1.4.0' 'freetype2' 'glu')
+makedepends=('mesa' 'libxi' 'libxmu')
+conflicts=('ppracer' 'etracer')
+replaces=('ppracer' 'etracer')
+source=("http://downloads.sourceforge.net/extremetuxracer/extremetuxracer-$pkgver.tar.gz"
+ "$pkgname.png"
+ "$pkgname.desktop"
+ "libpng15.patch")
+sha256sums=('5e4057f90e6854e774f251f189b0e676cfd7e2f15779c75544c9ac5b8e30273d'
+ 'ec1426171fc80b07b702e373bf9528244a3b224e887ab24b52f90740691e92fb'
+ '349448e8be522bbbe9fd896e875a4add7e02c35d0fafa46c5b10582562da3ca8'
+ '2b693eaf421d56887615fc02d40f742e9b8bf817ae36be1f1f9e33a52719eea8')
+
+build() {
+ cd "$srcdir/extremetuxracer-$pkgver"
+
+ patch -Np1 -i "${srcdir}/libpng15.patch"
+ sed -i -e 's/libpng12/libpng15/g' configure
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/extremetuxracer-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # Install icon and desktop file
+ install -Dm644 "$srcdir/$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+ install -Dm644 "$srcdir/$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/extremetuxracer/extremetuxracer.desktop b/community/extremetuxracer/extremetuxracer.desktop
new file mode 100644
index 000000000..6593607b8
--- /dev/null
+++ b/community/extremetuxracer/extremetuxracer.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Type=Application
+Version=1.0
+Encoding=UTF-8
+Name=Extreme Tux Racer
+Comment=Open source racing game featuring Tux the Linux Penguin.
+Icon=/usr/share/pixmaps/extremetuxracer.png
+Exec=etracer
+Terminal=false
+StartupNotify=true
+Categories=Application;Game;ArcadeGame
+
diff --git a/community/extremetuxracer/extremetuxracer.png b/community/extremetuxracer/extremetuxracer.png
new file mode 100644
index 000000000..6c4aec00b
--- /dev/null
+++ b/community/extremetuxracer/extremetuxracer.png
Binary files differ
diff --git a/community/extremetuxracer/libpng15.patch b/community/extremetuxracer/libpng15.patch
new file mode 100644
index 000000000..5c9999857
--- /dev/null
+++ b/community/extremetuxracer/libpng15.patch
@@ -0,0 +1,57 @@
+diff -Nur extremetuxracer-0.4.orig/src/ppgltk/images/png_reader.cpp extremetuxracer-0.4/src/ppgltk/images/png_reader.cpp
+--- extremetuxracer-0.4.orig/src/ppgltk/images/png_reader.cpp 2007-09-01 19:38:12.000000000 +0300
++++ extremetuxracer-0.4/src/ppgltk/images/png_reader.cpp 2010-01-25 03:47:21.000000000 +0200
+@@ -53,7 +53,7 @@
+ if (!info_ptr)
+ {
+ png_destroy_read_struct(&png_ptr,
+- (png_infopp)NULL, (png_infopp)NULL);
++ NULL, NULL);
+ fclose(fp);
+ return;
+ }
+@@ -62,7 +62,7 @@
+ if (!end_info)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr,
+- (png_infopp)NULL);
++ NULL);
+ fclose(fp);
+ return;
+ }
+@@ -77,7 +77,7 @@
+
+
+ png_get_IHDR(png_ptr, info_ptr, &width, &height,
+- &bit_depth, &color_type, &interlace_type,int_p_NULL, int_p_NULL);
++ &bit_depth, &color_type, &interlace_type, NULL, NULL);
+
+ if(bit_depth == 16)
+ png_set_strip_16(png_ptr);
+@@ -88,7 +88,7 @@
+ png_set_expand(png_ptr);
+ png_read_update_info(png_ptr, info_ptr);
+ png_get_IHDR(png_ptr, info_ptr, &width, &height,
+- &bit_depth, &color_type, &interlace_type,int_p_NULL, int_p_NULL);
++ &bit_depth, &color_type, &interlace_type, NULL, NULL);
+ }
+
+ if( color_type == PNG_COLOR_TYPE_GRAY ||
+@@ -96,7 +96,7 @@
+ png_set_gray_to_rgb(png_ptr);
+ png_read_update_info(png_ptr, info_ptr);
+ png_get_IHDR(png_ptr, info_ptr, &width, &height,
+- &bit_depth, &color_type, &interlace_type,int_p_NULL, int_p_NULL);
++ &bit_depth, &color_type, &interlace_type, NULL, NULL);
+ }
+
+ this->width=width;
+@@ -114,7 +114,7 @@
+ }
+
+ png_read_end(png_ptr, info_ptr);
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ fclose(fp);
+ }
+
diff --git a/community/extundelete/PKGBUILD b/community/extundelete/PKGBUILD
new file mode 100644
index 000000000..2cef4387f
--- /dev/null
+++ b/community/extundelete/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 82017 2013-01-05 17:22:04Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: snuo
+
+pkgname=extundelete
+pkgver=0.2.4
+pkgrel=1
+pkgdesc="Utility for recovering deleted files from ext2, ext3 or ext4 partitions by parsing the journal"
+arch=('i686' 'x86_64')
+url="http://extundelete.sourceforge.net"
+license=('GPL')
+makedepends=('e2fsprogs')
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2)
+sha256sums=('a1f9dd61247056d36401ce5d6785e74d08a184340eebd3865c345ddaa93f19f4')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/extundelete/extundelete.changelog b/community/extundelete/extundelete.changelog
new file mode 100644
index 000000000..56d6fd153
--- /dev/null
+++ b/community/extundelete/extundelete.changelog
@@ -0,0 +1,12 @@
+2013-01-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * extundelete 0.2.4-1
+
+2013-01-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * extundelete 0.2.1-1
+
+2012-02-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * extundelete 0.2.0-2 package signed
+
+2010-07-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community] from AUR - 83 votes
+ * Version 0.2.0-1
diff --git a/community/fatrat/PKGBUILD b/community/fatrat/PKGBUILD
new file mode 100644
index 000000000..36a4a254f
--- /dev/null
+++ b/community/fatrat/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 94068 2013-07-13 16:36:05Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=fatrat
+pkgver=1.2.0_beta2
+pkgrel=8
+pkgdesc="QT4 based download manager with support for HTTP, FTP, SFTP, BitTorrent, rapidshare and more"
+arch=('i686' 'x86_64')
+url="http://fatrat.dolezel.info/"
+license=('GPL')
+depends=('gloox' 'libtorrent-rasterbar' 'pion' 'qtwebkit' 'curl')
+optdepends=('geoip: GeoIP support' 'java-runtime: Java plugins')
+makedepends=('boost' 'cmake' 'java-environment')
+source=(http://www.dolezel.info/download/data/fatrat/fatrat-$pkgver.tar.xz \
+ QTBUG-22829-workaround.diff pion-5.0.diff)
+md5sums=('ad823d2a81f0583316ece815b928c71b'
+ '9c017f227437b8a72e92219ee6d58578'
+ 'd7d398e7b6415c0a81eb4960d8271997')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # workaround the moc bug (QTBUG-22829) with new boost
+ patch -Np1 < "$srcdir/QTBUG-22829-workaround.diff" || true
+ # fix help generation with qt4
+ sed -s 's|qcollectiongenerator|qcollectiongenerator-qt4|' -i CMakeLists.txt
+ # fix for the new pion
+ patch -Np1 < "$srcdir/pion-5.0.diff" || true
+
+ cmake \
+ -DWITH_EVERYTHING=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ .
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/fatrat/QTBUG-22829-workaround.diff b/community/fatrat/QTBUG-22829-workaround.diff
new file mode 100644
index 000000000..dc0ed0c3f
--- /dev/null
+++ b/community/fatrat/QTBUG-22829-workaround.diff
@@ -0,0 +1,12 @@
+diff -rup fatrat-1.2.0_beta2/CMakeLists.txt fatrat-1.2.0_beta2.new/CMakeLists.txt
+--- fatrat-1.2.0_beta2/CMakeLists.txt 2012-07-14 11:44:27.000000000 +0000
++++ fatrat-1.2.0_beta2.new/CMakeLists.txt 2013-03-25 16:21:03.143596960 +0000
+@@ -552,7 +552,7 @@ if(WITH_DOCUMENTATION)
+ )
+ endif(WITH_DOCUMENTATION)
+
+-qt4_wrap_cpp(fatrat_MOC_SRCS ${fatrat_MOC_HDRS})
++qt4_wrap_cpp(fatrat_MOC_SRCS ${fatrat_MOC_HDRS} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED -DBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+
+ set(fatrat_RCS
+ gfx/resources.qrc
diff --git a/community/fatrat/pion-5.0.diff b/community/fatrat/pion-5.0.diff
new file mode 100644
index 000000000..ff84fb902
--- /dev/null
+++ b/community/fatrat/pion-5.0.diff
@@ -0,0 +1,1570 @@
+diff -rup fatrat-1.2.0_beta2/CMakeLists.txt fatrat-1.2.0_beta2.new/CMakeLists.txt
+--- fatrat-1.2.0_beta2/CMakeLists.txt 2012-07-14 12:44:27.000000000 +0100
++++ fatrat-1.2.0_beta2.new/CMakeLists.txt 2013-04-29 19:17:48.697623940 +0100
+@@ -148,19 +148,13 @@ if(WITH_DOCUMENTATION)
+ set(QT_USE_QTHELP TRUE)
+ endif(WITH_DOCUMENTATION)
+ if(WITH_WEBINTERFACE)
+- pkg_check_modules(pion-net REQUIRED "pion-net >= 3.0.0")
++ pkg_check_modules(pion REQUIRED "pion >= 5.0.0")
+
+- if(pion-net_FOUND)
+- include_directories(${pion-net_INCLUDE_DIRS})
+- #message(STATUS "Pion libdir: ${pion-net_LIBDIR}")
+-
+- #FILE(GLOB pion_FileService "${pion-net_LIBDIR}/pion/plugins/FileService.*")
+- #if(pion_FileService MATCHES "^$")
+- # message(FATAL_ERROR "Pion-net FileService plugin not found (libpion-net-plugins?) - ${pion_FileService}")
+- #endif(pion_FileService MATCHES "^$")
+- else(pion-net_FOUND)
+- message(FATAL_ERROR "No pion-net library found")
+- endif(pion-net_FOUND)
++ if(pion_FOUND)
++ include_directories(${pion_INCLUDE_DIRS})
++ else(pion_FOUND)
++ message(FATAL_ERROR "No pion library found")
++ endif(pion_FOUND)
+ endif(WITH_WEBINTERFACE)
+
+ #set(CMAKE_REQUIRED_INCLUDES "sys/types.h")
+@@ -570,9 +564,7 @@ ${fatrat_QRC_H} ${lrelease_outputs})
+ add_executable(fatrat-conf src/fatrat-conf.cpp)
+
+ # This used to be a workaround until it started causing the exact opposite... oh dear!
+-#STRING(REPLACE "-mt" "" pion-net_LIBRARIES "${pion-net_LIBRARIES}")
+-#message(STATUS ${pion-net_LIBRARIES})
+-target_link_libraries(fatrat -ldl -lpthread ${QT_LIBRARIES} ${libtorrent_LDFLAGS} ${gloox_LDFLAGS} ${curl_LDFLAGS} ${Boost_LIBRARIES} ${pion-net_LIBRARIES} ${QT_ADDITIONAL_LIBS} ${XATTR_LIBRARIES} -export-dynamic)
++target_link_libraries(fatrat -ldl -lpthread ${QT_LIBRARIES} ${libtorrent_LDFLAGS} ${gloox_LDFLAGS} ${curl_LDFLAGS} ${Boost_LIBRARIES} ${pion_LIBRARIES} ${QT_ADDITIONAL_LIBS} ${XATTR_LIBRARIES} -export-dynamic)
+ target_link_libraries(fatrat-conf ${QT_LIBRARIES})
+
+ set(fatrat_DEV_HEADERS
+Only in fatrat-1.2.0_beta2.new/: CMakeLists.txt.orig
+diff -rup fatrat-1.2.0_beta2/config.h.in fatrat-1.2.0_beta2.new/config.h.in
+--- fatrat-1.2.0_beta2/config.h.in 2012-07-14 12:44:27.000000000 +0100
++++ fatrat-1.2.0_beta2.new/config.h.in 2013-04-29 19:18:03.241412755 +0100
+@@ -13,7 +13,7 @@
+ #cmakedefine WITH_CXX0X
+
+ #ifdef WITH_WEBINTERFACE
+-# define PION_NET_PLUGINS "${pion-net_LIBDIR}/pion/plugins"
++# define PION_NET_PLUGINS "${pion_LIBDIR}/pion/plugins"
+ #endif
+
+ #cmakedefine ENABLE_FAKEDOWNLOAD
+diff -rup fatrat-1.2.0_beta2/src/remote/HttpService.cpp fatrat-1.2.0_beta2.new/src/remote/HttpService.cpp
+--- fatrat-1.2.0_beta2/src/remote/HttpService.cpp 2012-07-14 12:44:27.000000000 +0100
++++ fatrat-1.2.0_beta2.new/src/remote/HttpService.cpp 2013-04-29 19:17:17.076634049 +0100
+@@ -51,9 +51,8 @@ respects for all of the code used other
+ #include <QMultiMap>
+ #include <QProcess>
+ #include <QFile>
+-#include <pion/net/PionUser.hpp>
+-#include <pion/net/HTTPBasicAuth.hpp>
+-#include <pion/net/HTTPResponseWriter.hpp>
++#include <pion/http/basic_auth.hpp>
++#include <pion/http/response_writer.hpp>
+ #include <boost/filesystem/fstream.hpp>
+ #include "pion/FileService.hpp"
+ #include <cstdlib>
+@@ -63,7 +62,7 @@ respects for all of the code used other
+ #include <string.h>
+ #include <algorithm>
+
+-using namespace pion::net;
++using namespace pion::http;
+
+ extern QList<Queue*> g_queues;
+ extern QReadWriteLock g_queuesLock;
+@@ -172,16 +171,16 @@ void HttpService::applySettings()
+
+ void HttpService::setupAuth()
+ {
+- pion::net::PionUserManagerPtr userManager(new pion::net::PionUserManager);
++ pion::user_manager_ptr userManager(new pion::user_manager);
+ QString password = getSettingsValue("remote/password").toString();
+
+- m_auth_ptr = pion::net::HTTPAuthPtr( new pion::net::HTTPBasicAuth(userManager, "FatRat Web Interface") );
+- m_server->setAuthentication(m_auth_ptr);
+- m_auth_ptr->addRestrict("/");
+-
+- m_auth_ptr->addUser("fatrat", password.toStdString());
+- m_auth_ptr->addUser("admin", password.toStdString());
+- m_auth_ptr->addUser("user", password.toStdString());
++ m_auth_ptr = pion::http::auth_ptr( new pion::http::basic_auth(userManager, "FatRat Web Interface") );
++ m_server->set_authentication(m_auth_ptr);
++ m_auth_ptr->add_restrict("/");
++
++ m_auth_ptr->add_user("fatrat", password.toStdString());
++ m_auth_ptr->add_user("admin", password.toStdString());
++ m_auth_ptr->add_user("user", password.toStdString());
+ }
+
+ void HttpService::setup()
+@@ -190,28 +189,30 @@ void HttpService::setup()
+
+ try
+ {
+- m_server = new pion::net::WebServer(m_port);
++ m_server = new pion::http::plugin_server(m_port);
+
+ setupAuth();
+ setupSSL();
+
+- m_server->addService("/xmlrpc", new XmlRpcService);
+- m_server->addService("/subclass", new SubclassService);
+- m_server->addService("/log", new LogService);
+- m_server->addService("/browse", new TransferTreeBrowserService);
+- m_server->addService("/", new pion::plugins::FileService);
+- m_server->setServiceOption("/", "directory", DATA_LOCATION "/data/remote");
+- m_server->setServiceOption("/", "file", DATA_LOCATION "/data/remote/index.html");
+- m_server->addService("/copyrights", new pion::plugins::FileService);
+- m_server->setServiceOption("/copyrights", "file", DATA_LOCATION "/README");
+- m_server->addService("/download", new TransferDownloadService);
+- m_server->addService("/captcha", new CaptchaService);
++ m_server->add_service("/xmlrpc", new XmlRpcService);
++ m_server->add_service("/subclass", new SubclassService);
++ m_server->add_service("/log", new LogService);
++ m_server->add_service("/browse", new TransferTreeBrowserService);
++ m_server->add_service("/", new pion::plugins::FileService);
++ m_server->set_service_option("/", "directory", DATA_LOCATION "/data/remote");
++ m_server->set_service_option("/", "file", DATA_LOCATION "/data/remote/index.html");
++ m_server->add_service("/copyrights", new pion::plugins::FileService);
++ m_server->set_service_option("/copyrights", "file", DATA_LOCATION "/README");
++ m_server->add_service("/download", new TransferDownloadService);
++ m_server->add_service("/captcha", new CaptchaService);
+
+ m_server->start();
+ Logger::global()->enterLogMessage("HttpService", tr("Listening on port %1").arg(m_port));
++ std::cout << "Listening on port " << m_port << std::endl;
+ }
+ catch(const std::exception& e)
+ {
++ std::cerr << e.what() << std::endl;
+ Logger::global()->enterLogMessage("HttpService", tr("Failed to start: %1").arg(e.what()));
+ }
+ }
+@@ -225,29 +226,29 @@ void HttpService::setupSSL()
+ if (file.isEmpty() || !QFile::exists(file))
+ {
+ Logger::global()->enterLogMessage("HttpService", tr("SSL key file not found, disabling HTTPS"));
+- m_server->setSSLFlag(false);
++ m_server->set_ssl_flag(false);
+ m_strSSLPem.clear();
+ }
+ else
+ {
+ Logger::global()->enterLogMessage("HttpService", tr("Loading a SSL key from %1").arg(file));
+ m_strSSLPem = file;
+- m_server->setSSLKeyFile(file.toStdString());
+- m_server->setSSLFlag(true);
++ m_server->set_ssl_key_file(file.toStdString());
++ m_server->set_ssl_flag(true);
+ }
+ }
+ else
+ {
+ Logger::global()->enterLogMessage("HttpService", tr("Running in plain HTTP mode"));
+- m_server->setSSLFlag(false);
++ m_server->set_ssl_flag(false);
+ m_strSSLPem.clear();
+ }
+ }
+
+-void HttpService::LogService::operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn)
++void HttpService::LogService::operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn)
+ {
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request, boost::bind(&TCPConnection::finish, tcp_conn)));
+- QString uuidTransfer = QString::fromStdString(getRelativeResource(request->getResource()));
++ pion::http::response_writer_ptr writer(pion::http::response_writer::create(tcp_conn, *request, boost::bind(&pion::tcp::connection::finish, tcp_conn)));
++ QString uuidTransfer = QString::fromStdString(get_relative_resource(request->get_resource()));
+ QString data;
+
+ if (uuidTransfer.isEmpty())
+@@ -260,8 +261,8 @@ void HttpService::LogService::operator()
+
+ if (!q || !t)
+ {
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_FOUND);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_FOUND);
++ writer->get_response().set_status_code(pion::http::types::RESPONSE_CODE_NOT_FOUND);
++ writer->get_response().set_status_message(pion::http::types::RESPONSE_MESSAGE_NOT_FOUND);
+ writer->send();
+ return;
+ }
+@@ -272,16 +273,16 @@ void HttpService::LogService::operator()
+ g_queuesLock.unlock();
+ }
+
+- writer->getResponse().addHeader("Content-Type", "text/plain");
++ writer->get_response().add_header("Content-Type", "text/plain");
+ writer->write(data.toStdString());
+ writer->send();
+ }
+
+-void HttpService::TransferTreeBrowserService::operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn)
++void HttpService::TransferTreeBrowserService::operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn)
+ {
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request, boost::bind(&TCPConnection::finish, tcp_conn)));
+- QString uuidTransfer = QString::fromStdString(getRelativeResource(request->getResource()));
+- QString path = QString::fromStdString(request->getQuery("path"));
++ pion::http::response_writer_ptr writer(pion::http::response_writer::create(tcp_conn, *request, boost::bind(&pion::tcp::connection::finish, tcp_conn)));
++ QString uuidTransfer = QString::fromStdString(get_relative_resource(request->get_resource()));
++ QString path = QString::fromStdString(request->get_query("path"));
+
+ path = path.replace("+", " ");
+ path = QUrl::fromPercentEncoding(path.toUtf8());
+@@ -294,8 +295,8 @@ void HttpService::TransferTreeBrowserSer
+
+ if (path.contains("/..") || path.contains("../"))
+ {
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_FORBIDDEN);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_FORBIDDEN);
++ writer->get_response().set_status_code(pion::http::types::RESPONSE_CODE_FORBIDDEN);
++ writer->get_response().set_status_message(pion::http::types::RESPONSE_MESSAGE_FORBIDDEN);
+ writer->send();
+ return;
+ }
+@@ -304,8 +305,8 @@ void HttpService::TransferTreeBrowserSer
+
+ if (!q || !t)
+ {
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_FOUND);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_FOUND);
++ writer->get_response().set_status_code(pion::http::types::RESPONSE_CODE_NOT_FOUND);
++ writer->get_response().set_status_message(pion::http::types::RESPONSE_MESSAGE_NOT_FOUND);
+ writer->send();
+ return;
+ }
+@@ -320,8 +321,8 @@ void HttpService::TransferTreeBrowserSer
+
+ if (!dir.cd(path))
+ {
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_FOUND);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_FOUND);
++ writer->get_response().set_status_code(pion::http::types::RESPONSE_CODE_NOT_FOUND);
++ writer->get_response().set_status_message(pion::http::types::RESPONSE_MESSAGE_NOT_FOUND);
+ writer->send();
+ return;
+ }
+@@ -371,11 +372,11 @@ void HttpService::TransferTreeBrowserSer
+ writer->send();
+ }
+
+-void HttpService::TransferDownloadService::operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn)
++void HttpService::TransferDownloadService::operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn)
+ {
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request, boost::bind(&TCPConnection::finish, tcp_conn)));
+- QString transfer = QString::fromStdString(request->getQuery("transfer"));
+- QString path = QString::fromStdString(request->getQuery("path"));
++ pion::http::response_writer_ptr writer(pion::http::response_writer::create(tcp_conn, *request, boost::bind(&pion::tcp::connection::finish, tcp_conn)));
++ QString transfer = QString::fromStdString(request->get_query("transfer"));
++ QString path = QString::fromStdString(request->get_query("path"));
+
+ path = path.replace("+", " ");
+ path = QUrl::fromPercentEncoding(path.toUtf8());
+@@ -387,8 +388,8 @@ void HttpService::TransferDownloadServic
+
+ if (path.contains("/..") || path.contains("../"))
+ {
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_FORBIDDEN);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_FORBIDDEN);
++ writer->get_response().set_status_code(pion::http::types::RESPONSE_CODE_FORBIDDEN);
++ writer->get_response().set_status_message(pion::http::types::RESPONSE_MESSAGE_FORBIDDEN);
+ writer->send();
+ return;
+ }
+@@ -397,8 +398,8 @@ void HttpService::TransferDownloadServic
+
+ if (!q || !t)
+ {
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_FOUND);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_FOUND);
++ writer->get_response().set_status_code(pion::http::types::RESPONSE_CODE_NOT_FOUND);
++ writer->get_response().set_status_message(pion::http::types::RESPONSE_MESSAGE_NOT_FOUND);
+ writer->send();
+ return;
+ }
+@@ -428,24 +429,24 @@ void HttpService::TransferDownloadServic
+ response_file.update();
+
+ pion::plugins::DiskFileSenderPtr sender_ptr(pion::plugins::DiskFileSender::create(response_file, request, tcp_conn, 8192));
+- sender_ptr->getWriter()->getResponse().addHeader("Content-Disposition", disposition.toStdString());
++ sender_ptr->getWriter()->get_response().add_header("Content-Disposition", disposition.toStdString());
+
+ if (unsigned long long fileSize = response_file.getFileSize())
+ {
+ std::stringstream fileSizeStream;
+ fileSizeStream << fileSize;
+- sender_ptr->getWriter()->getResponse().addHeader("Content-Length", fileSizeStream.str());
++ sender_ptr->getWriter()->get_response().add_header("Content-Length", fileSizeStream.str());
+ }
+
+ sender_ptr->send();
+ }
+
+-void HttpService::SubclassService::operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn)
++void HttpService::SubclassService::operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn)
+ {
+- pion::net::HTTPResponseWriterPtr writer = HTTPResponseWriter::create(tcp_conn, *request, boost::bind(&TCPConnection::finish, tcp_conn));
++ pion::http::response_writer_ptr writer = pion::http::response_writer::create(tcp_conn, *request, boost::bind(&pion::tcp::connection::finish, tcp_conn));
+ HttpService::WriteBackImpl wb = HttpService::WriteBackImpl(writer);
+- QString transfer = QString::fromStdString(request->getQuery("transfer"));
+- QString method = QString::fromStdString(getRelativeResource(request->getResource()));
++ QString transfer = QString::fromStdString(request->get_query("transfer"));
++ QString method = QString::fromStdString(get_relative_resource(request->get_resource()));
+
+ Queue* q = 0;
+ Transfer* t = 0;
+@@ -460,15 +461,15 @@ void HttpService::SubclassService::opera
+ g_queuesLock.unlock();
+ }
+
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_FOUND);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_FOUND);
++ writer->get_response().set_status_code(pion::http::types::RESPONSE_CODE_NOT_FOUND);
++ writer->get_response().set_status_message(pion::http::types::RESPONSE_MESSAGE_NOT_FOUND);
+ writer->send();
+ return;
+ }
+
+ QMultiMap<QString,QString> map;
+- pion::net::HTTPTypes::QueryParams params = request->getQueryParams();
+- for (pion::net::HTTPTypes::QueryParams::iterator it = params.begin(); it != params.end(); it++)
++ pion::ihash_multimap params = request->get_queries();
++ for (pion::ihash_multimap::iterator it = params.begin(); it != params.end(); it++)
+ {
+ map.insert(QString::fromStdString(it->first), QString::fromStdString(it->second));
+ }
+@@ -481,7 +482,7 @@ void HttpService::SubclassService::opera
+ g_queuesLock.unlock();
+ }
+
+-HttpService::WriteBackImpl::WriteBackImpl(pion::net::HTTPResponseWriterPtr& writer)
++HttpService::WriteBackImpl::WriteBackImpl(pion::http::response_writer_ptr& writer)
+ : m_writer(writer)
+ {
+
+@@ -489,7 +490,7 @@ HttpService::WriteBackImpl::WriteBackImp
+
+ void HttpService::WriteBackImpl::writeNoCopy(void* data, size_t bytes)
+ {
+- m_writer->writeNoCopy(data, bytes);
++ m_writer->write_no_copy(data, bytes);
+ }
+
+ void HttpService::WriteBackImpl::send()
+@@ -504,13 +505,13 @@ void HttpService::WriteBackImpl::write(c
+
+ void HttpService::WriteBackImpl::setContentType(const char* type)
+ {
+- m_writer->getResponse().addHeader("Content-Type", type);
++ m_writer->get_response().add_header("Content-Type", type);
+ }
+
+ void HttpService::WriteBackImpl::writeFail(QString error)
+ {
+- m_writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_FOUND);
+- m_writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_FOUND);
++ m_writer->get_response().set_status_code(pion::http::types::RESPONSE_CODE_NOT_FOUND);
++ m_writer->get_response().set_status_message(pion::http::types::RESPONSE_MESSAGE_NOT_FOUND);
+ }
+
+ int HttpService::findTransfer(QString transferUUID, Queue** q, Transfer** t, bool lockForWrite)
+@@ -601,9 +602,9 @@ QVariant HttpService::generateCertificat
+
+
+ /*
+-void HttpService::CaptchaService::operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn)
++void HttpService::CaptchaService::operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn)
+ {
+- m_cap.writer = HTTPResponseWriter::create(tcp_conn, *request, boost::bind(&TCPConnection::finish, tcp_conn));
++ m_cap.writer = pion::http::response_writer::create(tcp_conn, *request, boost::bind(&pion::tcp::connection::finish, tcp_conn));
+
+ std::string upgrade, connection;
+ upgrade = request->getHeader("Upgrade");
+@@ -616,8 +617,8 @@ void HttpService::CaptchaService::operat
+
+ if (connection != "upgrade" || upgrade != "websocket" || m_cap.key1.empty() || m_cap.key2.empty())
+ {
+- m_cap.writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_BAD_REQUEST);
+- m_cap.writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_BAD_REQUEST);
++ m_cap.writer->get_response().set_status_code(pion::http::types::RESPONSE_CODE_BAD_REQUEST);
++ m_cap.writer->get_response().set_status_message(pion::http::types::RESPONSE_MESSAGE_BAD_REQUEST);
+ m_cap.writer->send();
+ }
+
+@@ -668,30 +669,30 @@ void HttpService::CaptchaService::CapSer
+
+ */
+
+-void HttpService::CaptchaHttpResponseWriter::handleWrite(const boost::system::error_code &write_error, std::size_t bytes_written)
++void HttpService::CaptchaHttpResponseWriter::handle_write(const boost::system::error_code &write_error, std::size_t bytes_written)
+ {
+ if (!bytes_written)
+ {
+ // TODO: handle errors
+ HttpService::instance()->removeCaptchaClient(client);
+- sendFinalChunk();
++ send_final_chunk();
+ delete client;
+ }
+
+- pion::net::HTTPResponseWriter::handleWrite(write_error, bytes_written);
++ pion::http::response_writer::handle_write(write_error, bytes_written);
+ }
+
+-void HttpService::CaptchaService::operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn)
++void HttpService::CaptchaService::operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn)
+ {
+- if (request->hasQuery("id"))
++ if (request->has_query("id"))
+ {
+- QString id = QString::fromStdString(request->getQuery("id"));
+- QString solution = QString::fromStdString(request->getQuery("solution"));
++ QString id = QString::fromStdString(request->get_query("id"));
++ QString solution = QString::fromStdString(request->get_query("solution"));
+
+ int iid = id.toInt();
+ HttpService::instance()->m_captchaHttp.captchaEntered(iid, solution);
+
+- pion::net::HTTPResponseWriterPtr writer = HTTPResponseWriter::create(tcp_conn, *request, boost::bind(&TCPConnection::finish, tcp_conn));
++ pion::http::response_writer_ptr writer = pion::http::response_writer::create(tcp_conn, *request, boost::bind(&pion::tcp::connection::finish, tcp_conn));
+ writer->send();
+ }
+ else
+@@ -709,13 +710,13 @@ void HttpService::CaptchaService::operat
+ RegisteredClient* client = new RegisteredClient;
+
+ client->writer = CaptchaHttpResponseWriter::create(client, tcp_conn, *request,
+- boost::bind(&TCPConnection::finish, tcp_conn));
++ boost::bind(&pion::tcp::connection::finish, tcp_conn));
+ HttpService::instance()->addCaptchaClient(client);
+
+- client->writer->getResponse().addHeader("Content-Type", "text/event-stream");
+- client->writer->getResponse().addHeader("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0");
+- client->writer->getResponse().addHeader("Expires", "Tue, 03 Jul 2001 06:00:00 GMT");
+- client->writer->getResponse().addHeader("Pragma", "no-cache");
++ client->writer->get_response().add_header("Content-Type", "text/event-stream");
++ client->writer->get_response().add_header("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0");
++ client->writer->get_response().add_header("Expires", "Tue, 03 Jul 2001 06:00:00 GMT");
++ client->writer->get_response().add_header("Pragma", "no-cache");
+ }
+ }
+
+@@ -747,7 +748,7 @@ void HttpService::RegisteredClient::push
+ writer->clear();
+
+ writer->write(buf.data(), buf.length());
+- writer->sendChunk(boost::bind(&HttpService::RegisteredClient::finished, this));
++ writer->send_chunk(boost::bind(&HttpService::RegisteredClient::finished, this));
+ }
+ else
+ writeInProgressLock.unlock();
+@@ -760,7 +761,7 @@ void HttpService::RegisteredClient::keep
+
+ writer->clear();
+ writer->write(": keepalive\r\n\r\n");
+- writer->sendChunk(boost::bind(&HttpService::RegisteredClient::finished, this));
++ writer->send_chunk(boost::bind(&HttpService::RegisteredClient::finished, this));
+ }
+
+ void HttpService::addCaptchaEvent(int id, QString url)
+@@ -803,5 +804,5 @@ void HttpService::keepalive()
+
+ void HttpService::RegisteredClient::terminate()
+ {
+- writer->getTCPConnection()->finish();
++ writer->get_connection()->finish();
+ }
+diff -rup fatrat-1.2.0_beta2/src/remote/HttpService.h fatrat-1.2.0_beta2.new/src/remote/HttpService.h
+--- fatrat-1.2.0_beta2/src/remote/HttpService.h 2012-07-14 12:44:27.000000000 +0100
++++ fatrat-1.2.0_beta2.new/src/remote/HttpService.h 2013-04-29 19:17:17.076634049 +0100
+@@ -40,7 +40,8 @@ respects for all of the code used other
+ #include <ctime>
+ #include <openssl/ssl.h>
+ #include <boost/system/system_error.hpp>
+-#include <pion/net/HTTPResponseWriter.hpp>
++#include <pion/http/plugin_server.hpp>
++#include <pion/http/response_writer.hpp>
+ #include "captcha/CaptchaHttp.h"
+ #include "remote/TransferHttpService.h"
+
+@@ -48,7 +49,8 @@ respects for all of the code used other
+ # error This file is not supposed to be included!
+ #endif
+
+-#include <pion/net/WebServer.hpp>
++#include <pion/http/server.hpp>
++#include <pion/http/plugin_service.hpp>
+
+ class Queue;
+ class Transfer;
+@@ -83,8 +85,8 @@ private:
+ void killCaptchaClients();
+ private:
+ static HttpService* m_instance;
+- pion::net::WebServer* m_server;
+- pion::net::HTTPAuthPtr m_auth_ptr;
++ pion::http::plugin_server* m_server;
++ pion::http::auth_ptr m_auth_ptr;
+ CaptchaHttp m_captchaHttp;
+ quint16 m_port;
+ QString m_strSSLPem;
+@@ -94,27 +96,27 @@ private:
+ QList<RegisteredClient*> m_registeredCaptchaClients;
+ QMutex m_registeredCaptchaClientsMutex;
+
+- class LogService : public pion::net::WebService
++ class LogService : public pion::http::plugin_service
+ {
+- void operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn);
++ void operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn);
+ };
+- class TransferTreeBrowserService : public pion::net::WebService
++ class TransferTreeBrowserService : public pion::http::plugin_service
+ {
+- void operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn);
++ void operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn);
+ };
+- class TransferDownloadService : public pion::net::WebService
++ class TransferDownloadService : public pion::http::plugin_service
+ {
+- void operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn);
++ void operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn);
+ };
+- class SubclassService : public pion::net::WebService
++ class SubclassService : public pion::http::plugin_service
+ {
+ public:
+- void operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn);
++ void operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn);
+ };
+- /*class CaptchaService : public pion::net::WebService
++ /*class CaptchaService : public pion::http::plugin_service
+ {
+ public:
+- void operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn);
++ void operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn);
+ private:
+ class CapServCap
+ {
+@@ -126,15 +128,15 @@ private:
+ std::string key1, key2;
+ char sig[8];
+ int inbuf;
+- pion::net::TCPConnectionPtr tcp_conn;
++ pion::tcp::connection_ptr tcp_conn;
+ } m_cap;
+ };*/
+
+ class CaptchaHttpResponseWriter;
+- class CaptchaService : public pion::net::WebService
++ class CaptchaService : public pion::http::plugin_service
+ {
+ public:
+- void operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn);
++ void operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn);
+ };
+ struct RegisteredClient
+ {
+@@ -151,16 +153,16 @@ private:
+ void terminate();
+ };
+
+- class CaptchaHttpResponseWriter : public pion::net::HTTPResponseWriter
++ class CaptchaHttpResponseWriter : public pion::http::response_writer
+ {
+ public:
+- CaptchaHttpResponseWriter(HttpService::RegisteredClient* cl, pion::net::TCPConnectionPtr &tcp_conn, const pion::net::HTTPRequest& request, FinishedHandler handler = FinishedHandler())
+- : pion::net::HTTPResponseWriter(tcp_conn, request, handler), client(cl)
++ CaptchaHttpResponseWriter(HttpService::RegisteredClient* cl, pion::tcp::connection_ptr &tcp_conn, const pion::http::request& request, finished_handler_t handler = finished_handler_t())
++ : pion::http::response_writer(tcp_conn, request, handler), client(cl)
+ {
+
+ }
+
+- static inline boost::shared_ptr<CaptchaHttpResponseWriter> create(HttpService::RegisteredClient* cl, pion::net::TCPConnectionPtr &tcp_conn, const pion::net::HTTPRequest& request, FinishedHandler handler = FinishedHandler())
++ static inline boost::shared_ptr<CaptchaHttpResponseWriter> create(HttpService::RegisteredClient* cl, pion::tcp::connection_ptr &tcp_conn, const pion::http::request& request, finished_handler_t handler = finished_handler_t())
+ {
+ return boost::shared_ptr<CaptchaHttpResponseWriter>(new CaptchaHttpResponseWriter(cl, tcp_conn, request, handler));
+ }
+@@ -171,7 +173,7 @@ private:
+ m_http_response->prepareBuffersForSend(write_buffers, getTCPConnection()->getKeepAlive(),
+ sendingChunkedMessage());
+ }*/
+- virtual void handleWrite(const boost::system::error_code &write_error, std::size_t bytes_written);
++ virtual void handle_write(const boost::system::error_code &write_error, std::size_t bytes_written);
+
+ HttpService::RegisteredClient* client;
+ };
+@@ -179,14 +181,14 @@ private:
+ class WriteBackImpl : public TransferHttpService::WriteBack
+ {
+ public:
+- WriteBackImpl(pion::net::HTTPResponseWriterPtr& writer);
++ WriteBackImpl(pion::http::response_writer_ptr& writer);
+ void write(const char* data, size_t bytes);
+ void writeFail(QString error);
+ void writeNoCopy(void* data, size_t bytes);
+ void send();
+ void setContentType(const char* type);
+ private:
+- pion::net::HTTPResponseWriterPtr m_writer;
++ pion::http::response_writer_ptr m_writer;
+ };
+ };
+
+diff -rup fatrat-1.2.0_beta2/src/remote/pion/FileService.cpp fatrat-1.2.0_beta2.new/src/remote/pion/FileService.cpp
+--- fatrat-1.2.0_beta2/src/remote/pion/FileService.cpp 2012-07-14 12:44:27.000000000 +0100
++++ fatrat-1.2.0_beta2.new/src/remote/pion/FileService.cpp 2013-04-29 19:17:17.079967487 +0100
+@@ -15,13 +15,14 @@
+ #include <boost/algorithm/string/case_conv.hpp>
+
+ #include "FileService.hpp"
+-#include <pion/PionPlugin.hpp>
+-#include <pion/net/HTTPResponseWriter.hpp>
++#include <pion/plugin.hpp>
++#include <pion/http/response_writer.hpp>
+ #include <sstream>
+ #include <QFileInfo>
+
+ using namespace pion;
+-using namespace pion::net;
++using namespace pion::http;
++using namespace pion::tcp;
+
+ namespace pion { // begin namespace pion
+ namespace plugins { // begin namespace plugins
+@@ -49,7 +50,7 @@ FileService::FileService(void)
+ m_writable(false)
+ {}
+
+-void FileService::setOption(const std::string& name, const std::string& value)
++void FileService::set_option(const std::string& name, const std::string& value)
+ {
+ if (name == "directory") {
+ m_directory = value;
+@@ -104,10 +105,10 @@ void FileService::setOption(const std::s
+ }
+ }
+
+-void FileService::operator()(HTTPRequestPtr& request, TCPConnectionPtr& tcp_conn)
++void FileService::operator()(request_ptr& request, connection_ptr& tcp_conn)
+ {
+ // get the relative resource path for the request
+- const std::string relative_path(getRelativeResource(request->getResource()));
++ const std::string relative_path(get_relative_resource(request->get_resource()));
+
+ // determine the path of the file being requested
+ boost::filesystem::path file_path;
+@@ -117,7 +118,7 @@ void FileService::operator()(HTTPRequest
+ if (m_file.empty()) {
+ // no file is specified, either in the request or in the options
+ PION_LOG_WARN(m_logger, "No file option defined ("
+- << getResource() << ")");
++ << get_resource() << ")");
+ sendNotFoundResponse(request, tcp_conn);
+ return;
+ } else {
+@@ -129,7 +130,7 @@ void FileService::operator()(HTTPRequest
+ if (m_directory.empty()) {
+ // no directory is specified for the relative file
+ PION_LOG_WARN(m_logger, "No directory option defined ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+ sendNotFoundResponse(request, tcp_conn);
+ return;
+ } else {
+@@ -142,7 +143,7 @@ void FileService::operator()(HTTPRequest
+ std::string string = file_path.string();
+ if (string.find(m_directory.string()) != 0) {
+ PION_LOG_WARN(m_logger, "Request for file outside of directory ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+ static const std::string FORBIDDEN_HTML_START =
+ "<html><head>\n"
+ "<title>403 Forbidden</title>\n"
+@@ -152,14 +153,14 @@ void FileService::operator()(HTTPRequest
+ static const std::string FORBIDDEN_HTML_FINISH =
+ " is not in the configured directory.</p>\n"
+ "</body></html>\n";
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request,
+- boost::bind(&TCPConnection::finish, tcp_conn)));
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_FORBIDDEN);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_FORBIDDEN);
+- if (request->getMethod() != HTTPTypes::REQUEST_METHOD_HEAD) {
+- writer->writeNoCopy(FORBIDDEN_HTML_START);
+- writer << request->getResource();
+- writer->writeNoCopy(FORBIDDEN_HTML_FINISH);
++ response_writer_ptr writer(response_writer::create(tcp_conn, *request,
++ boost::bind(&connection::finish, tcp_conn)));
++ writer->get_response().set_status_code(types::RESPONSE_CODE_FORBIDDEN);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_FORBIDDEN);
++ if (request->get_method() != types::REQUEST_METHOD_HEAD) {
++ writer->write_no_copy(FORBIDDEN_HTML_START);
++ writer << request->get_resource();
++ writer->write_no_copy(FORBIDDEN_HTML_FINISH);
+ }
+ writer->send();
+ return;
+@@ -168,7 +169,7 @@ void FileService::operator()(HTTPRequest
+ // requests specifying directories are not allowed
+ if (boost::filesystem::is_directory(file_path)) {
+ PION_LOG_WARN(m_logger, "Request for directory ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+ static const std::string FORBIDDEN_HTML_START =
+ "<html><head>\n"
+ "<title>403 Forbidden</title>\n"
+@@ -178,21 +179,21 @@ void FileService::operator()(HTTPRequest
+ static const std::string FORBIDDEN_HTML_FINISH =
+ " is a directory.</p>\n"
+ "</body></html>\n";
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request,
+- boost::bind(&TCPConnection::finish, tcp_conn)));
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_FORBIDDEN);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_FORBIDDEN);
+- if (request->getMethod() != HTTPTypes::REQUEST_METHOD_HEAD) {
+- writer->writeNoCopy(FORBIDDEN_HTML_START);
+- writer << request->getResource();
+- writer->writeNoCopy(FORBIDDEN_HTML_FINISH);
++ response_writer_ptr writer(response_writer::create(tcp_conn, *request,
++ boost::bind(&connection::finish, tcp_conn)));
++ writer->get_response().set_status_code(types::RESPONSE_CODE_FORBIDDEN);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_FORBIDDEN);
++ if (request->get_method() != types::REQUEST_METHOD_HEAD) {
++ writer->write_no_copy(FORBIDDEN_HTML_START);
++ writer << request->get_resource();
++ writer->write_no_copy(FORBIDDEN_HTML_FINISH);
+ }
+ writer->send();
+ return;
+ }
+
+- if (request->getMethod() == HTTPTypes::REQUEST_METHOD_GET
+- || request->getMethod() == HTTPTypes::REQUEST_METHOD_HEAD)
++ if (request->get_method() == types::REQUEST_METHOD_GET
++ || request->get_method() == types::REQUEST_METHOD_HEAD)
+ {
+ // the type of response we will send
+ enum ResponseType {
+@@ -207,7 +208,7 @@ void FileService::operator()(HTTPRequest
+ DiskFile response_file;
+
+ // get the If-Modified-Since request header
+- const std::string if_modified_since(request->getHeader(HTTPTypes::HEADER_IF_MODIFIED_SINCE));
++ const std::string if_modified_since(request->get_header(types::HEADER_IF_MODIFIED_SINCE));
+
+ // check the cache for a corresponding entry (if enabled)
+ // note that m_cache_setting may equal 0 if m_scan_setting == 1
+@@ -225,18 +226,18 @@ void FileService::operator()(HTTPRequest
+ // all requests must correspond with existing cache entries
+ // since no match was found, just return file not found
+ PION_LOG_WARN(m_logger, "Request for unknown file ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+ response_type = RESPONSE_NOT_FOUND;
+ } else {
+ PION_LOG_DEBUG(m_logger, "No cache entry for request ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+ }
+
+ } else {
+ // found an existing cache entry
+
+ PION_LOG_DEBUG(m_logger, "Found cache entry for request ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+
+ if (m_cache_setting == 0) {
+ // cache is disabled
+@@ -253,12 +254,12 @@ void FileService::operator()(HTTPRequest
+ // no need to read the file; the modified times match!
+ response_type = RESPONSE_NOT_MODIFIED;
+ } else {
+- if (request->getMethod() == HTTPTypes::REQUEST_METHOD_HEAD) {
++ if (request->get_method() == types::REQUEST_METHOD_HEAD) {
+ response_type = RESPONSE_HEAD_OK;
+ } else {
+ response_type = RESPONSE_OK;
+ PION_LOG_DEBUG(m_logger, "Cache disabled, reading file ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+ }
+ }
+
+@@ -290,7 +291,7 @@ void FileService::operator()(HTTPRequest
+ // get the response type
+ if (cache_itr->second.getLastModifiedString() == if_modified_since) {
+ response_type = RESPONSE_NOT_MODIFIED;
+- } else if (request->getMethod() == HTTPTypes::REQUEST_METHOD_HEAD) {
++ } else if (request->get_method() == types::REQUEST_METHOD_HEAD) {
+ response_type = RESPONSE_HEAD_OK;
+ } else {
+ response_type = RESPONSE_OK;
+@@ -301,7 +302,7 @@ void FileService::operator()(HTTPRequest
+
+ PION_LOG_DEBUG(m_logger, (cache_was_updated ? "Updated" : "Using")
+ << " cache entry for request ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+ }
+ }
+ }
+@@ -310,7 +311,7 @@ void FileService::operator()(HTTPRequest
+ // make sure that the file exists
+ if (! boost::filesystem::exists(file_path)) {
+ PION_LOG_WARN(m_logger, "File not found ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+ sendNotFoundResponse(request, tcp_conn);
+ return;
+ }
+@@ -318,7 +319,7 @@ void FileService::operator()(HTTPRequest
+ response_file.setFilePath(file_path);
+
+ PION_LOG_DEBUG(m_logger, "Found file for request ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+
+ // determine the MIME type
+ response_file.setMimeType(findMIMEType( response_file.getFilePath().string() ));
+@@ -330,7 +331,7 @@ void FileService::operator()(HTTPRequest
+ if (response_file.getLastModifiedString() == if_modified_since) {
+ // no need to read the file; the modified times match!
+ response_type = RESPONSE_NOT_MODIFIED;
+- } else if (request->getMethod() == HTTPTypes::REQUEST_METHOD_HEAD) {
++ } else if (request->get_method() == types::REQUEST_METHOD_HEAD) {
+ response_type = RESPONSE_HEAD_OK;
+ } else {
+ response_type = RESPONSE_OK;
+@@ -341,7 +342,7 @@ void FileService::operator()(HTTPRequest
+ }
+ // add new entry to the cache
+ PION_LOG_DEBUG(m_logger, "Adding cache entry for request ("
+- << getResource() << "): " << relative_path);
++ << get_resource() << "): " << relative_path);
+ boost::mutex::scoped_lock cache_lock(m_cache_mutex);
+ m_cache_map.insert( std::make_pair(relative_path, response_file) );
+ }
+@@ -360,43 +361,43 @@ void FileService::operator()(HTTPRequest
+ // sending headers only -> use our own response object
+
+ // prepare a response and set the Content-Type
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request,
+- boost::bind(&TCPConnection::finish, tcp_conn)));
+- writer->getResponse().setContentType(response_file.getMimeType());
++ response_writer_ptr writer(response_writer::create(tcp_conn, *request,
++ boost::bind(&connection::finish, tcp_conn)));
++ writer->get_response().set_content_type(response_file.getMimeType());
+
+ // set Last-Modified header to enable client-side caching
+- writer->getResponse().addHeader(HTTPTypes::HEADER_LAST_MODIFIED,
++ writer->get_response().add_header(types::HEADER_LAST_MODIFIED,
+ response_file.getLastModifiedString());
+
+ std::stringstream out;
+ out << response_file.getFileSize();
+- writer->getResponse().addHeader(HTTPTypes::HEADER_CONTENT_LENGTH, out.str());
++ writer->get_response().add_header(types::HEADER_CONTENT_LENGTH, out.str());
+
+ switch(response_type) {
+ case RESPONSE_UNDEFINED:
+ case RESPONSE_NOT_FOUND:
+ case RESPONSE_OK:
+ // this should never happen
+- throw UndefinedResponseException(request->getResource());
++ throw UndefinedResponseException(request->get_resource());
+ break;
+ case RESPONSE_NOT_MODIFIED:
+ // set "Not Modified" response
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_MODIFIED);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_MODIFIED);
++ writer->get_response().set_status_code(types::RESPONSE_CODE_NOT_MODIFIED);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_NOT_MODIFIED);
+ break;
+ case RESPONSE_HEAD_OK:
+ // set "OK" response (not really necessary since this is the default)
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_OK);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_OK);
++ writer->get_response().set_status_code(types::RESPONSE_CODE_OK);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_OK);
+ break;
+ }
+
+ // send the response
+ writer->send();
+ }
+- } else if (request->getMethod() == HTTPTypes::REQUEST_METHOD_POST
+- || request->getMethod() == HTTPTypes::REQUEST_METHOD_PUT
+- || request->getMethod() == HTTPTypes::REQUEST_METHOD_DELETE)
++ } else if (request->get_method() == types::REQUEST_METHOD_POST
++ || request->get_method() == types::REQUEST_METHOD_PUT
++ || request->get_method() == types::REQUEST_METHOD_DELETE)
+ {
+ // If not writable, then send 405 (Method Not Allowed) response for POST, PUT or DELETE requests.
+ if (!m_writable) {
+@@ -409,24 +410,24 @@ void FileService::operator()(HTTPRequest
+ static const std::string NOT_ALLOWED_HTML_FINISH =
+ " is not allowed on this server.</p>\n"
+ "</body></html>\n";
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request,
+- boost::bind(&TCPConnection::finish, tcp_conn)));
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_METHOD_NOT_ALLOWED);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_METHOD_NOT_ALLOWED);
+- writer->writeNoCopy(NOT_ALLOWED_HTML_START);
+- writer << request->getMethod();
+- writer->writeNoCopy(NOT_ALLOWED_HTML_FINISH);
+- writer->getResponse().addHeader("Allow", "GET, HEAD");
++ response_writer_ptr writer(response_writer::create(tcp_conn, *request,
++ boost::bind(&connection::finish, tcp_conn)));
++ writer->get_response().set_status_code(types::RESPONSE_CODE_METHOD_NOT_ALLOWED);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_METHOD_NOT_ALLOWED);
++ writer->write_no_copy(NOT_ALLOWED_HTML_START);
++ writer << request->get_method();
++ writer->write_no_copy(NOT_ALLOWED_HTML_FINISH);
++ writer->get_response().add_header("Allow", "GET, HEAD");
+ writer->send();
+ } else {
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request,
+- boost::bind(&TCPConnection::finish, tcp_conn)));
+- if (request->getMethod() == HTTPTypes::REQUEST_METHOD_POST
+- || request->getMethod() == HTTPTypes::REQUEST_METHOD_PUT)
++ response_writer_ptr writer(response_writer::create(tcp_conn, *request,
++ boost::bind(&connection::finish, tcp_conn)));
++ if (request->get_method() == types::REQUEST_METHOD_POST
++ || request->get_method() == types::REQUEST_METHOD_PUT)
+ {
+ if (boost::filesystem::exists(file_path)) {
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NO_CONTENT);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NO_CONTENT);
++ writer->get_response().set_status_code(types::RESPONSE_CODE_NO_CONTENT);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_NO_CONTENT);
+ } else {
+ // The file doesn't exist yet, so it will be created below, unless the
+ // directory of the requested file also doesn't exist.
+@@ -440,11 +441,11 @@ void FileService::operator()(HTTPRequest
+ static const std::string NOT_FOUND_HTML_FINISH =
+ " was not found on this server.</p>\n"
+ "</body></html>\n";
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_FOUND);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_FOUND);
+- writer->writeNoCopy(NOT_FOUND_HTML_START);
+- writer << request->getResource();
+- writer->writeNoCopy(NOT_FOUND_HTML_FINISH);
++ writer->get_response().set_status_code(types::RESPONSE_CODE_NOT_FOUND);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_NOT_FOUND);
++ writer->write_no_copy(NOT_FOUND_HTML_START);
++ writer << request->get_resource();
++ writer->write_no_copy(NOT_FOUND_HTML_FINISH);
+ writer->send();
+ return;
+ }
+@@ -457,17 +458,17 @@ void FileService::operator()(HTTPRequest
+ static const std::string CREATED_HTML_FINISH =
+ "</p>\n"
+ "</body></html>\n";
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_CREATED);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_CREATED);
+- writer->getResponse().addHeader(HTTPTypes::HEADER_LOCATION, request->getResource());
+- writer->writeNoCopy(CREATED_HTML_START);
+- writer << request->getResource();
+- writer->writeNoCopy(CREATED_HTML_FINISH);
++ writer->get_response().set_status_code(types::RESPONSE_CODE_CREATED);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_CREATED);
++ writer->get_response().add_header(types::HEADER_LOCATION, request->get_resource());
++ writer->write_no_copy(CREATED_HTML_START);
++ writer << request->get_resource();
++ writer->write_no_copy(CREATED_HTML_FINISH);
+ }
+- std::ios_base::openmode mode = request->getMethod() == HTTPTypes::REQUEST_METHOD_POST?
++ std::ios_base::openmode mode = request->get_method() == types::REQUEST_METHOD_POST?
+ std::ios::app : std::ios::out;
+ boost::filesystem::ofstream file_stream(file_path, mode);
+- file_stream.write(request->getContent(), request->getContentLength());
++ file_stream.write(request->get_content(), request->get_content_length());
+ file_stream.close();
+ if (!boost::filesystem::exists(file_path)) {
+ static const std::string PUT_FAILED_HTML_START =
+@@ -479,21 +480,21 @@ void FileService::operator()(HTTPRequest
+ static const std::string PUT_FAILED_HTML_FINISH =
+ ".</p>\n"
+ "</body></html>\n";
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_SERVER_ERROR);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_SERVER_ERROR);
+- writer->writeNoCopy(PUT_FAILED_HTML_START);
+- writer << request->getResource();
+- writer->writeNoCopy(PUT_FAILED_HTML_FINISH);
++ writer->get_response().set_status_code(types::RESPONSE_CODE_SERVER_ERROR);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_SERVER_ERROR);
++ writer->write_no_copy(PUT_FAILED_HTML_START);
++ writer << request->get_resource();
++ writer->write_no_copy(PUT_FAILED_HTML_FINISH);
+ }
+ writer->send();
+- } else if (request->getMethod() == HTTPTypes::REQUEST_METHOD_DELETE) {
++ } else if (request->get_method() == types::REQUEST_METHOD_DELETE) {
+ if (!boost::filesystem::exists(file_path)) {
+ sendNotFoundResponse(request, tcp_conn);
+ } else {
+ try {
+ boost::filesystem::remove(file_path);
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NO_CONTENT);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NO_CONTENT);
++ writer->get_response().set_status_code(types::RESPONSE_CODE_NO_CONTENT);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_NO_CONTENT);
+ writer->send();
+ } catch (...) {
+ static const std::string DELETE_FAILED_HTML_START =
+@@ -505,18 +506,18 @@ void FileService::operator()(HTTPRequest
+ static const std::string DELETE_FAILED_HTML_FINISH =
+ ".</p>\n"
+ "</body></html>\n";
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_SERVER_ERROR);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_SERVER_ERROR);
+- writer->writeNoCopy(DELETE_FAILED_HTML_START);
+- writer << request->getResource();
+- writer->writeNoCopy(DELETE_FAILED_HTML_FINISH);
++ writer->get_response().set_status_code(types::RESPONSE_CODE_SERVER_ERROR);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_SERVER_ERROR);
++ writer->write_no_copy(DELETE_FAILED_HTML_START);
++ writer << request->get_resource();
++ writer->write_no_copy(DELETE_FAILED_HTML_FINISH);
+ writer->send();
+ }
+ }
+ } else {
+ // This should never be reached.
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_SERVER_ERROR);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_SERVER_ERROR);
++ writer->get_response().set_status_code(types::RESPONSE_CODE_SERVER_ERROR);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_SERVER_ERROR);
+ writer->send();
+ }
+ }
+@@ -532,19 +533,19 @@ void FileService::operator()(HTTPRequest
+ static const std::string NOT_IMPLEMENTED_HTML_FINISH =
+ " is not implemented on this server.</p>\n"
+ "</body></html>\n";
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request,
+- boost::bind(&TCPConnection::finish, tcp_conn)));
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_IMPLEMENTED);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_IMPLEMENTED);
+- writer->writeNoCopy(NOT_IMPLEMENTED_HTML_START);
+- writer << request->getMethod();
+- writer->writeNoCopy(NOT_IMPLEMENTED_HTML_FINISH);
++ response_writer_ptr writer(response_writer::create(tcp_conn, *request,
++ boost::bind(&connection::finish, tcp_conn)));
++ writer->get_response().set_status_code(types::RESPONSE_CODE_NOT_IMPLEMENTED);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_NOT_IMPLEMENTED);
++ writer->write_no_copy(NOT_IMPLEMENTED_HTML_START);
++ writer << request->get_method();
++ writer->write_no_copy(NOT_IMPLEMENTED_HTML_FINISH);
+ writer->send();
+ }
+ }
+
+-void FileService::sendNotFoundResponse(HTTPRequestPtr& http_request,
+- TCPConnectionPtr& tcp_conn)
++void FileService::sendNotFoundResponse(request_ptr& http_request,
++ connection_ptr& tcp_conn)
+ {
+ static const std::string NOT_FOUND_HTML_START =
+ "<html><head>\n"
+@@ -555,21 +556,21 @@ void FileService::sendNotFoundResponse(H
+ static const std::string NOT_FOUND_HTML_FINISH =
+ " was not found on this server.</p>\n"
+ "</body></html>\n";
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *http_request,
+- boost::bind(&TCPConnection::finish, tcp_conn)));
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_NOT_FOUND);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_NOT_FOUND);
+- if (http_request->getMethod() != HTTPTypes::REQUEST_METHOD_HEAD) {
+- writer->writeNoCopy(NOT_FOUND_HTML_START);
+- writer << http_request->getResource();
+- writer->writeNoCopy(NOT_FOUND_HTML_FINISH);
++ response_writer_ptr writer(response_writer::create(tcp_conn, *http_request,
++ boost::bind(&connection::finish, tcp_conn)));
++ writer->get_response().set_status_code(types::RESPONSE_CODE_NOT_FOUND);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_NOT_FOUND);
++ if (http_request->get_method() != types::REQUEST_METHOD_HEAD) {
++ writer->write_no_copy(NOT_FOUND_HTML_START);
++ writer << http_request->get_resource();
++ writer->write_no_copy(NOT_FOUND_HTML_FINISH);
+ }
+ writer->send();
+ }
+
+ void FileService::start(void)
+ {
+- PION_LOG_DEBUG(m_logger, "Starting up resource (" << getResource() << ')');
++ PION_LOG_DEBUG(m_logger, "Starting up resource (" << get_resource() << ')');
+
+ // scan directory/file if scan setting != 0
+ if (m_scan_setting != 0) {
+@@ -594,7 +595,7 @@ void FileService::start(void)
+
+ void FileService::stop(void)
+ {
+- PION_LOG_DEBUG(m_logger, "Shutting down resource (" << getResource() << ')');
++ PION_LOG_DEBUG(m_logger, "Shutting down resource (" << get_resource() << ')');
+ // clear cached files (if started again, it will re-scan)
+ boost::mutex::scoped_lock cache_lock(m_cache_mutex);
+ m_cache_map.clear();
+@@ -602,7 +603,7 @@ void FileService::stop(void)
+
+ void FileService::scanDirectory(const boost::filesystem::path& dir_path)
+ {
+- PION_LOG_DEBUG(m_logger, "Scanning directory (" << getResource() << "): "
++ PION_LOG_DEBUG(m_logger, "Scanning directory (" << get_resource() << "): "
+ << dir_path.string());
+
+ // iterate through items in the directory
+@@ -705,7 +706,7 @@ void DiskFile::update(void)
+ // set file_size and last_modified
+ m_file_size = QFileInfo(QString::fromStdString(m_file_path.string())).size();
+ m_last_modified = boost::filesystem::last_write_time( m_file_path );
+- m_last_modified_string = HTTPTypes::get_date_string( m_last_modified );
++ m_last_modified_string = types::get_date_string( m_last_modified );
+ }
+
+ void DiskFile::read(void)
+@@ -737,7 +738,7 @@ bool DiskFile::checkUpdated(void)
+ // update file_size and last_modified timestamp
+ m_file_size = cur_size;
+ m_last_modified = cur_modified;
+- m_last_modified_string = HTTPTypes::get_date_string( m_last_modified );
++ m_last_modified_string = types::get_date_string( m_last_modified );
+
+ // read new contents
+ read();
+@@ -748,11 +749,11 @@ bool DiskFile::checkUpdated(void)
+
+ // DiskFileSender member functions
+
+-DiskFileSender::DiskFileSender(DiskFile& file, pion::net::HTTPRequestPtr& request,
+- pion::net::TCPConnectionPtr& tcp_conn,
++DiskFileSender::DiskFileSender(DiskFile& file, pion::http::request_ptr& request,
++ pion::tcp::connection_ptr& tcp_conn,
+ unsigned long max_chunk_size)
+ : m_logger(PION_GET_LOGGER("pion.FileService.DiskFileSender")), m_disk_file(file),
+- m_writer(pion::net::HTTPResponseWriter::create(tcp_conn, *request, boost::bind(&TCPConnection::finish, tcp_conn))),
++ m_writer(pion::http::response_writer::create(tcp_conn, *request, boost::bind(&connection::finish, tcp_conn))),
+ m_max_chunk_size(max_chunk_size), m_file_bytes_to_send(0), m_bytes_sent(0)
+ {
+ PION_LOG_DEBUG(m_logger, "Preparing to send file"
+@@ -760,15 +761,15 @@ DiskFileSender::DiskFileSender(DiskFile&
+ << m_disk_file.getFilePath().string());
+
+ // set the Content-Type HTTP header using the file's MIME type
+- m_writer->getResponse().setContentType(m_disk_file.getMimeType());
++ m_writer->get_response().set_content_type(m_disk_file.getMimeType());
+
+ // set Last-Modified header to enable client-side caching
+- m_writer->getResponse().addHeader(HTTPTypes::HEADER_LAST_MODIFIED,
++ m_writer->get_response().add_header(types::HEADER_LAST_MODIFIED,
+ m_disk_file.getLastModifiedString());
+
+ // use "200 OK" HTTP response
+- m_writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_OK);
+- m_writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_OK);
++ m_writer->get_response().set_status_code(types::RESPONSE_CODE_OK);
++ m_writer->get_response().set_status_message(types::RESPONSE_MESSAGE_OK);
+ }
+
+ void DiskFileSender::send(void)
+@@ -827,13 +828,13 @@ void DiskFileSender::send(void)
+ }
+
+ // send the content
+- m_writer->writeNoCopy(file_content_ptr, m_file_bytes_to_send);
++ m_writer->write_no_copy(file_content_ptr, m_file_bytes_to_send);
+
+ if (m_bytes_sent + m_file_bytes_to_send >= m_disk_file.getFileSize()) {
+ // this is the last piece of data to send
+ if (m_bytes_sent > 0) {
+ // send last chunk in a series
+- m_writer->sendFinalChunk(boost::bind(&DiskFileSender::handleWrite,
++ m_writer->send_final_chunk(boost::bind(&DiskFileSender::handleWrite,
+ shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+@@ -846,7 +847,7 @@ void DiskFileSender::send(void)
+ }
+ } else {
+ // there will be more data -> send a chunk
+- m_writer->sendChunk(boost::bind(&DiskFileSender::handleWrite,
++ m_writer->send_chunk(boost::bind(&DiskFileSender::handleWrite,
+ shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+@@ -860,7 +861,7 @@ void DiskFileSender::handleWrite(const b
+
+ if (write_error) {
+ // encountered error sending response data
+- m_writer->getTCPConnection()->setLifecycle(TCPConnection::LIFECYCLE_CLOSE); // make sure it will get closed
++ m_writer->get_connection()->set_lifecycle(connection::LIFECYCLE_CLOSE); // make sure it will get closed
+ PION_LOG_WARN(m_logger, "Error sending file (" << write_error.message() << ')');
+ } else {
+ // response data sent OK
+@@ -874,7 +875,7 @@ void DiskFileSender::handleWrite(const b
+ PION_LOG_DEBUG(m_logger, "Sent "
+ << (m_file_bytes_to_send < m_disk_file.getFileSize() ? "file chunk" : "complete file")
+ << " of " << m_file_bytes_to_send << " bytes (finished"
+- << (m_writer->getTCPConnection()->getKeepAlive() ? ", keeping alive)" : ", closing)") );
++ << (m_writer->get_connection()->get_keep_alive() ? ", keeping alive)" : ", closing)") );
+ } else {
+ // NOT finished sending
+ PION_LOG_DEBUG(m_logger, "Sent file chunk of " << m_file_bytes_to_send << " bytes");
+@@ -884,10 +885,10 @@ void DiskFileSender::handleWrite(const b
+ }
+
+ if (finished_sending) {
+- // TCPConnection::finish() calls TCPServer::finishConnection, which will either:
++ // connection::finish() calls TCPServer::finishConnection, which will either:
+ // a) call HTTPServer::handleConnection again if keep-alive is true; or,
+ // b) close the socket and remove it from the server's connection pool
+- m_writer->getTCPConnection()->finish();
++ m_writer->get_connection()->finish();
+ } else {
+ send();
+ }
+@@ -897,7 +898,7 @@ void DiskFileSender::handleWrite(const b
+ } // end namespace plugins
+ } // end namespace pion
+
+-
++#if 0
+ /// creates new FileService objects
+ extern "C" PION_SERVICE_API pion::plugins::FileService *pion_create_FileService(void)
+ {
+@@ -909,3 +910,5 @@ extern "C" PION_SERVICE_API void pion_de
+ {
+ delete service_ptr;
+ }
++#endif
++
+diff -rup fatrat-1.2.0_beta2/src/remote/pion/FileService.hpp fatrat-1.2.0_beta2.new/src/remote/pion/FileService.hpp
+--- fatrat-1.2.0_beta2/src/remote/pion/FileService.hpp 2012-07-14 12:44:27.000000000 +0100
++++ fatrat-1.2.0_beta2.new/src/remote/pion/FileService.hpp 2013-04-29 19:17:17.079967487 +0100
+@@ -16,13 +16,13 @@
+ #include <boost/thread/once.hpp>
+ #include <boost/thread/mutex.hpp>
+ #include <boost/shared_array.hpp>
+-#include <pion/PionLogger.hpp>
+-#include <pion/PionException.hpp>
+-#include <pion/PionHashMap.hpp>
+-#include <pion/net/WebService.hpp>
+-#include <pion/net/HTTPRequest.hpp>
+-#include <pion/net/HTTPResponseWriter.hpp>
+-#include <pion/net/HTTPServer.hpp>
++#include <pion/logger.hpp>
++#include <pion/error.hpp>
++#include <pion/hash_map.hpp>
++#include <pion/http/plugin_service.hpp>
++#include <pion/http/request.hpp>
++#include <pion/http/response_writer.hpp>
++#include <pion/http/server.hpp>
+ #include <string>
+ #include <map>
+
+@@ -144,8 +144,8 @@ public:
+ */
+ static inline boost::shared_ptr<DiskFileSender>
+ create(DiskFile& file,
+- pion::net::HTTPRequestPtr& request,
+- pion::net::TCPConnectionPtr& tcp_conn,
++ pion::http::request_ptr& request,
++ pion::tcp::connection_ptr& tcp_conn,
+ unsigned long max_chunk_size = 0)
+ {
+ return boost::shared_ptr<DiskFileSender>(new DiskFileSender(file, request,
+@@ -161,11 +161,11 @@ public:
+ void send(void);
+
+ /// sets the logger to be used
+- inline void setLogger(PionLogger log_ptr) { m_logger = log_ptr; }
++ inline void setLogger(pion::logger log_ptr) { m_logger = log_ptr; }
+
+ /// returns the logger currently in use
+- inline PionLogger getLogger(void) { return m_logger; }
+- inline pion::net::HTTPResponseWriterPtr getWriter() { return m_writer; }
++ inline pion::logger getLogger(void) { return m_logger; }
++ inline pion::http::response_writer_ptr getWriter() { return m_writer; }
+
+
+ protected:
+@@ -179,8 +179,8 @@ protected:
+ * @param max_chunk_size sets the maximum chunk size
+ */
+ DiskFileSender(DiskFile& file,
+- pion::net::HTTPRequestPtr& request,
+- pion::net::TCPConnectionPtr& tcp_conn,
++ pion::http::request_ptr& request,
++ pion::tcp::connection_ptr& tcp_conn,
+ unsigned long max_chunk_size);
+
+ /**
+@@ -194,7 +194,7 @@ protected:
+
+
+ /// primary logging interface used by this class
+- PionLogger m_logger;
++ pion::logger m_logger;
+
+
+ private:
+@@ -203,7 +203,7 @@ private:
+ DiskFile m_disk_file;
+
+ /// the HTTP response we are sending
+- pion::net::HTTPResponseWriterPtr m_writer;
++ pion::http::response_writer_ptr m_writer;
+
+ /// used to read the file from disk if it is not already cached in memory
+ boost::filesystem::ifstream m_file_stream;
+@@ -233,73 +233,78 @@ typedef boost::shared_ptr<DiskFileSender
+ /// FileService: web service that serves regular files
+ ///
+ class FileService :
+- public pion::net::WebService
++ public pion::http::plugin_service
+ {
+ public:
+
+ /// exception thrown if the directory configured is not found
+- class DirectoryNotFoundException : public PionException {
++ class DirectoryNotFoundException : public pion::exception {
+ public:
+ DirectoryNotFoundException(const std::string& dir)
+- : PionException("FileService directory not found: ", dir) {}
++ : pion::exception("FileService directory not found") {}
+ };
+
+ /// exception thrown if the directory configuration option is not a directory
+- class NotADirectoryException : public PionException {
++ class NotADirectoryException : public pion::exception {
+ public:
+ NotADirectoryException(const std::string& dir)
+- : PionException("FileService option is not a directory: ", dir) {}
++ : pion::exception("FileService option is not a directory") {}
+ };
+
+ /// exception thrown if the file configured is not found
+- class FileNotFoundException : public PionException {
++ class FileNotFoundException : public pion::exception {
+ public:
+ FileNotFoundException(const std::string& file)
+- : PionException("FileService file not found: ", file) {}
++ : pion::exception("FileService file not found") {}
+ };
+
+ /// exception thrown if the file configuration option is not a file
+- class NotAFileException : public PionException {
++ class NotAFileException : public pion::exception {
+ public:
+ NotAFileException(const std::string& file)
+- : PionException("FileService option is not a file: ", file) {}
++ : pion::exception("FileService option is not a file") {}
+ };
+
+ /// exception thrown if the cache option is set to an invalid value
+- class InvalidCacheException : public PionException {
++ class InvalidCacheException : public pion::exception {
+ public:
+ InvalidCacheException(const std::string& value)
+- : PionException("FileService invalid value for cache option: ", value) {}
++ : pion::exception("FileService invalid value for cache option") {}
+ };
+
+ /// exception thrown if the scan option is set to an invalid value
+- class InvalidScanException : public PionException {
++ class InvalidScanException : public pion::exception {
+ public:
+ InvalidScanException(const std::string& value)
+- : PionException("FileService invalid value for scan option: ", value) {}
++ : pion::exception("FileService invalid value for scan option") {}
+ };
+
+ /// exception thrown if an option is set to an invalid value
+- class InvalidOptionValueException : public PionException {
++ class InvalidOptionValueException : public pion::exception {
+ public:
+ InvalidOptionValueException(const std::string& option, const std::string& value)
+- : PionException("FileService invalid value for " + option + " option: ", value) {}
++ : pion::exception("FileService invalid value for " + option + " option") {}
+ };
+
+ /// exception thrown if we are unable to read a file from disk
+- class FileReadException : public PionException {
++ class FileReadException : public pion::exception {
+ public:
+ FileReadException(const std::string& value)
+- : PionException("FileService unable to read file: ", value) {}
++ : pion::exception("FileService unable to read file: "+value) {}
+ };
+
+ /// exception thrown if we do not know how to respond (should never happen)
+- class UndefinedResponseException : public PionException {
++ class UndefinedResponseException : public pion::exception {
+ public:
+ UndefinedResponseException(const std::string& value)
+- : PionException("FileService has an undefined response: ", value) {}
++ : pion::exception("FileService has an undefined response: "+value) {}
+ };
+
++ class UnknownOptionException : public pion::exception {
++ public:
++ UnknownOptionException(const std::string& value)
++ : pion::exception("FileService invalid option name: "+value) {}
++ };
+
+ // default constructor and destructor
+ FileService(void);
+@@ -315,11 +320,11 @@ public:
+ * max_chunk_size:
+ * writable:
+ */
+- virtual void setOption(const std::string& name, const std::string& value);
++ virtual void set_option(const std::string& name, const std::string& value);
+
+ /// handles requests for FileService
+- virtual void operator()(pion::net::HTTPRequestPtr& request,
+- pion::net::TCPConnectionPtr& tcp_conn);
++ virtual void operator()(pion::http::request_ptr& request,
++ pion::tcp::connection_ptr& tcp_conn);
+
+ /// called when the web service's server is starting
+ virtual void start(void);
+@@ -328,10 +333,10 @@ public:
+ virtual void stop(void);
+
+ /// sets the logger to be used
+- inline void setLogger(PionLogger log_ptr) { m_logger = log_ptr; }
++ inline void setLogger(pion::logger log_ptr) { m_logger = log_ptr; }
+
+ /// returns the logger currently in use
+- inline PionLogger getLogger(void) { return m_logger; }
++ inline pion::logger getLogger(void) { return m_logger; }
+
+
+ protected:
+@@ -372,11 +377,11 @@ protected:
+ */
+ static std::string findMIMEType(const std::string& file_name);
+
+- void sendNotFoundResponse(pion::net::HTTPRequestPtr& http_request,
+- pion::net::TCPConnectionPtr& tcp_conn);
++ void sendNotFoundResponse(pion::http::request_ptr& http_request,
++ pion::tcp::connection_ptr& tcp_conn);
+
+ /// primary logging interface used by this class
+- PionLogger m_logger;
++ pion::logger m_logger;
+
+
+ private:
+diff -rup fatrat-1.2.0_beta2/src/remote/XmlRpcService.cpp fatrat-1.2.0_beta2.new/src/remote/XmlRpcService.cpp
+--- fatrat-1.2.0_beta2/src/remote/XmlRpcService.cpp 2012-07-14 12:44:27.000000000 +0100
++++ fatrat-1.2.0_beta2.new/src/remote/XmlRpcService.cpp 2013-04-29 19:17:17.079967487 +0100
+@@ -37,10 +37,10 @@ respects for all of the code used other
+ #include <QStringList>
+ #include <QFileInfo>
+ #include <QTemporaryFile>
+-#include <pion/net/HTTPResponseWriter.hpp>
++#include <pion/http/response_writer.hpp>
+ #include <QtDebug>
+
+-using namespace pion::net;
++using namespace pion::http;
+
+ extern QList<Queue*> g_queues;
+ extern QReadWriteLock g_queuesLock;
+@@ -151,9 +151,9 @@ void XmlRpcService::globalInit()
+
+ }
+
+-void XmlRpcService::operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn)
++void XmlRpcService::operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn)
+ {
+- if (request->getMethod() != pion::net::HTTPTypes::REQUEST_METHOD_POST)
++ if (request->get_method() != pion::http::types::REQUEST_METHOD_POST)
+ {
+ static const std::string NOT_ALLOWED_HTML_START =
+ "<html><head>\n"
+@@ -164,20 +164,20 @@ void XmlRpcService::operator()(pion::net
+ static const std::string NOT_ALLOWED_HTML_FINISH =
+ " is not allowed on this server.</p>\n"
+ "</body></html>\n";
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request, boost::bind(&TCPConnection::finish, tcp_conn)));
+- writer->getResponse().setStatusCode(HTTPTypes::RESPONSE_CODE_METHOD_NOT_ALLOWED);
+- writer->getResponse().setStatusMessage(HTTPTypes::RESPONSE_MESSAGE_METHOD_NOT_ALLOWED);
+- writer->writeNoCopy(NOT_ALLOWED_HTML_START);
+- writer << request->getMethod();
+- writer->writeNoCopy(NOT_ALLOWED_HTML_FINISH);
+- writer->getResponse().addHeader("Allow", "GET, HEAD");
++ pion::http::response_writer_ptr writer(pion::http::response_writer::create(tcp_conn, *request, boost::bind(&pion::tcp::connection::finish, tcp_conn)));
++ writer->get_response().set_status_code(types::RESPONSE_CODE_METHOD_NOT_ALLOWED);
++ writer->get_response().set_status_message(types::RESPONSE_MESSAGE_METHOD_NOT_ALLOWED);
++ writer->write_no_copy(NOT_ALLOWED_HTML_START);
++ writer << request->get_method();
++ writer->write_no_copy(NOT_ALLOWED_HTML_FINISH);
++ writer->get_response().add_header("Allow", "GET, HEAD");
+ writer->send();
+ return;
+ }
+
+ QByteArray data;
+
+- qDebug() << "XML-RPC call:" << request->getContent();
++ qDebug() << "XML-RPC call:" << request->get_content();
+
+ try
+ {
+@@ -185,7 +185,7 @@ void XmlRpcService::operator()(pion::net
+ QList<QVariant> args;
+ QVariant returnValue;
+
+- XmlRpc::parseCall(request->getContent(), function, args);
++ XmlRpc::parseCall(request->get_content(), function, args);
+
+ if(function == "Queue.getTransfers")
+ {
+@@ -240,7 +240,7 @@ void XmlRpcService::operator()(pion::net
+ throw "400 Bad Request";
+ }
+
+- HTTPResponseWriterPtr writer(HTTPResponseWriter::create(tcp_conn, *request, boost::bind(&TCPConnection::finish, tcp_conn)));
++ pion::http::response_writer_ptr writer(pion::http::response_writer::create(tcp_conn, *request, boost::bind(&pion::tcp::connection::finish, tcp_conn)));
+ writer->write(data.data(), data.size());
+ writer->send();
+ }
+diff -rup fatrat-1.2.0_beta2/src/remote/XmlRpcService.h fatrat-1.2.0_beta2.new/src/remote/XmlRpcService.h
+--- fatrat-1.2.0_beta2/src/remote/XmlRpcService.h 2012-07-14 12:44:27.000000000 +0100
++++ fatrat-1.2.0_beta2.new/src/remote/XmlRpcService.h 2013-04-29 19:17:17.079967487 +0100
+@@ -34,7 +34,8 @@ respects for all of the code used other
+ #include <QVariantMap>
+ #include <QQueue>
+ #include <QPair>
+-#include <pion/net/WebServer.hpp>
++#include <pion/http/server.hpp>
++#include <pion/http/plugin_service.hpp>
+
+ #ifndef WITH_WEBINTERFACE
+ # error This file is not supposed to be included!
+@@ -43,12 +44,12 @@ respects for all of the code used other
+ class Queue;
+ class Transfer;
+
+-class XmlRpcService : public QObject, public pion::net::WebService
++class XmlRpcService : public QObject, public pion::http::plugin_service
+ {
+ Q_OBJECT
+ public:
+ XmlRpcService();
+- void operator()(pion::net::HTTPRequestPtr &request, pion::net::TCPConnectionPtr &tcp_conn);
++ void operator()(pion::http::request_ptr &request, pion::tcp::connection_ptr &tcp_conn);
+ static void globalInit();
+ static void registerFunction(QString name, QVariant (*func)(QList<QVariant>&), QVector<QVariant::Type> arguments);
+ static void deregisterFunction(QString name);
diff --git a/community/fb-client/PKGBUILD b/community/fb-client/PKGBUILD
new file mode 100644
index 000000000..c04a69221
--- /dev/null
+++ b/community/fb-client/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Florian "Bluewind" Pritz <flo@xssn.at>
+
+pkgname=fb-client
+pkgver=1.1.3
+pkgrel=1
+pkgdesc="Client for paste.xinu.at"
+arch=('i686' 'x86_64')
+url="http://paste.xinu.at"
+license=('GPL3')
+depends=('curl')
+optdepends=('xclip: for automatically copying the URL into the clipboard')
+source=(http://paste.xinu.at/data/client/fb-$pkgver.tar.gz{,.sig})
+md5sums=('6d05a1ebe50fa2c00c03fa41195bdf48'
+ 'SKIP')
+
+build() {
+ cd "$srcdir/fb-$pkgver"
+
+ make
+}
+
+package() {
+ cd "$srcdir/fb-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/fbdump/PKGBUILD b/community/fbdump/PKGBUILD
new file mode 100644
index 000000000..631bdd188
--- /dev/null
+++ b/community/fbdump/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 65232 2012-02-20 12:22:39Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=fbdump
+pkgver=0.4.2
+pkgrel=3
+pkgdesc="captures the contents of the visible portion of the Linux framebuffer to stdout"
+arch=('i686' 'x86_64')
+url="http://www.rcdrummond.net/fbdump/"
+license=("GPL")
+depends=()
+source=(http://www.rcdrummond.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('85ae97c0800a2caf2b04ad7764e3915b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/fbgetty/PKGBUILD b/community/fbgetty/PKGBUILD
new file mode 100644
index 000000000..77cc00f8e
--- /dev/null
+++ b/community/fbgetty/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 91856 2013-05-28 17:26:45Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=fbgetty
+pkgver=0.1.698
+pkgrel=5
+license=("GPL")
+pkgdesc="fbgetty is a console getty like mingetty, which supports framebuffers"
+arch=('i686' 'x86_64')
+url="http://projects.meuh.org/fbgetty"
+source=('http://projects.meuh.org/fbgetty/downloads/fbgetty-'$pkgver'.tar.gz')
+md5sums=('1705bc0f8f1e03fe50d324ba84ac4e56')
+
+build()
+{
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --mandir=/usr/share/man --sbindir=/usr/bin
+
+ patch src/options.c <<EOF
+33a34
+> #include <stddef.h>
+EOF
+
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ mv ${pkgdir}/usr/info ${pkgdir}/usr/share/
+}
diff --git a/community/fbgrab/PKGBUILD b/community/fbgrab/PKGBUILD
new file mode 100644
index 000000000..9190eda5c
--- /dev/null
+++ b/community/fbgrab/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 90021 2013-05-06 19:36:50Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+
+pkgname=fbgrab
+pkgver=1.0
+pkgrel=7
+pkgdesc="A framebuffer screenshot grabber"
+arch=(i686 x86_64)
+url="http://hem.bredband.net/gmogmo/fbgrab/"
+license=("GPL")
+depends=('libpng')
+makedepends=('libpng')
+source=(http://hem.bredband.net/gmogmo/fbgrab/fbgrab-1.0.tar.gz)
+md5sums=('7af4d8774684182ed690d5da82d6d234')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i '1,1i#include <zlib.h>' fbgrab.c
+ gcc -g -Wall fbgrab.c -lpng -lz -o fbgrab
+ strip fbgrab
+ install -D -m755 $srcdir/$pkgname-$pkgver/fbgrab $pkgdir/usr/bin/fbgrab
+ install -D -m644 $srcdir/$pkgname-$pkgver/fbgrab.1.man $pkgdir/usr/share/man/man1/fbgrab.1
+}
diff --git a/community/fbpanel/PKGBUILD b/community/fbpanel/PKGBUILD
new file mode 100644
index 000000000..5edf5f2a1
--- /dev/null
+++ b/community/fbpanel/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65166 2012-02-20 06:59:42Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jeff Mickey <jeff@archlinux.org>
+# Contributor: Torin Daniel <torindan@gmail.com>
+
+pkgname=fbpanel
+pkgver=6.1
+pkgrel=3
+pkgdesc="NetWM compliant desktop panel"
+arch=('i686' 'x86_64')
+url="http://fbpanel.sourceforge.net/"
+depends=('gtk2')
+license=('GPL')
+source=(http://downloads.sourceforge.net/fbpanel/fbpanel-${pkgver}.tbz2)
+md5sums=('80ca0c64195b30587cfcb8c2cd9887a0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ echo "LDFLAGSX += -lX11 -lm" >>config.mk
+ make
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/fbreader/PKGBUILD b/community/fbreader/PKGBUILD
new file mode 100644
index 000000000..8e23f7412
--- /dev/null
+++ b/community/fbreader/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 85342 2013-03-01 10:29:55Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=fbreader
+pkgver=0.99.4
+pkgrel=2
+pkgdesc="An e-book reader for Linux"
+arch=('i686' 'x86_64')
+url="http://www.fbreader.org/"
+license=('GPL')
+depends=('fribidi' 'bzip2' 'curl' 'qt4' 'liblinebreak' 'sqlite')
+makedepends=('ccache')
+source=(http://www.fbreader.org/files/desktop/fbreader-sources-$pkgver.tgz)
+md5sums=('ed13a9c3aeb68aaa98a1dd6f7947a31d')
+
+build() {
+ export TARGET_ARCH=desktop
+ export UI_TYPE=qt4
+ export TARGET_STATUS=release
+ cd $srcdir/fbreader-$pkgver
+ sed -i 's|-lunibreak|-llinebreak|g' makefiles/config.mk zlibrary/text/Makefile
+ make ZLSHARED=no MOC=/usr/bin/moc-qt4
+}
+
+package() {
+ cd $srcdir/fbreader-$pkgver
+ make ZLSHARED=no DESTDIR=$pkgdir install
+}
diff --git a/community/fbterm/PKGBUILD b/community/fbterm/PKGBUILD
new file mode 100644
index 000000000..d2ebdb0d7
--- /dev/null
+++ b/community/fbterm/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 81466 2012-12-21 12:36:51Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: noonov <noonov@gmail.com>
+
+pkgname=fbterm
+pkgver=1.7.0
+pkgrel=5
+pkgdesc="A fast terminal emulator for linux with frame buffer device or VESA video card"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fbterm/"
+license=('GPL2')
+depends=('gcc-libs' 'fontconfig')
+optdepends=('libx86: for VESA video card support')
+install=fbterm.install
+source=("http://fbterm.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver%.?}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver%.?}"
+
+ install -Dm644 terminfo/fbterm "${pkgdir}/usr/share/terminfo/f/fbterm"
+
+ make DESTDIR="${pkgdir}" TERMINFO="${pkgdir}/usr/share/terminfo" install
+}
+
+md5sums=('c36bae75a450df0519b4527cccaf7572')
diff --git a/community/fbterm/fbterm.install b/community/fbterm/fbterm.install
new file mode 100644
index 000000000..9b4d7ebd1
--- /dev/null
+++ b/community/fbterm/fbterm.install
@@ -0,0 +1,22 @@
+post_install() {
+ cat <<EOF
+
+==> To run fbterm as a non-root user, do:
+
+sudo gpasswd -a YOUR_USERNAME video
+
+
+==> To enable keyboard shortcuts for non-root users, do:
+
+sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm
+
+or
+
+sudo chmod u+s /usr/bin/fbterm
+
+EOF
+}
+
+post_upgrade() {
+ post_install $1
+}
diff --git a/community/fbv/ChangeLog b/community/fbv/ChangeLog
new file mode 100644
index 000000000..7fd5bbf99
--- /dev/null
+++ b/community/fbv/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-26 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
diff --git a/community/fbv/PKGBUILD b/community/fbv/PKGBUILD
new file mode 100644
index 000000000..6577fafd2
--- /dev/null
+++ b/community/fbv/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 90022 2013-05-06 19:36:51Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Aectann <aectann@infoline.su>
+
+pkgname=fbv
+pkgver=1.0b
+pkgrel=6
+pkgdesc="FrameBuffer image viewer"
+arch=('i686' 'x86_64')
+url="http://s-tech.elsat.net.pl/fbv/"
+license=('GPL')
+depends=('libpng' 'libungif' 'libjpeg')
+source=(http://s-tech.elsat.net.pl/fbv/$pkgname-$pkgver.tar.gz)
+md5sums=('3e466375b930ec22be44f1041e77b55d')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ sed -i 's|LIBS.*|LIBS=-lpng -ljpeg -lungif -lgif|' Make.conf
+ sed -i 's|setjmp(png_ptr->jmpbuf)|setjmp(png_jmpbuf(png_ptr))|' png.c
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ mkdir -p $pkgdir/usr/bin
+ mkdir -p $pkgdir/usr/share/man/man1
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/fceux/PKGBUILD b/community/fceux/PKGBUILD
new file mode 100644
index 000000000..15050fb34
--- /dev/null
+++ b/community/fceux/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 93772 2013-07-10 07:27:12Z bpiotrowski $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contriutor: Eric Belanger <eric@archlinux.org>
+# Contributor: Jo Christian Bergskås <jcberg@gmail.com>
+
+pkgname=fceux
+pkgver=2.2.1.1
+pkgrel=2
+url='http://www.fceux.com/'
+pkgdesc='Fast and ultra-compatible NES/Famicom emulator'
+arch=('x86_64' 'i686')
+license=('GPL')
+depends=('sdl' 'gtk2' 'gd' 'desktop-file-utils' 'lua51' 'libgl')
+makedepends=('scons' 'mesa-libgl' 'glu')
+optdepends=('xchm: for viewing the manual')
+install="$pkgname.install"
+source=("https://downloads.sourceforge.net/project/fceultra/Source%20Code/2.2.1%20src/$pkgname-$pkgver.src.tar.gz")
+sha256sums=('afb0b3b8e1d2eea40c59777ef538b69b16164ae53c406106e541099534db828c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ msg2 'Compiling...'
+ scons
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ msg2 'Packaging binaries, data and man-pages...'
+ scons install --prefix="$pkgdir/usr"
+
+ msg2 'Packaging documentation...'
+ install -Dm644 "src/drivers/win/help/$pkgname.chm" \
+ "$pkgdir/usr/share/doc/$pkgname/$pkgname.chm"
+ cp -r documentation/* "$pkgdir/usr/share/doc/$pkgname/"
+ # Removing manpages that are already placed in the right location
+ rm -f "$pkgdir/usr/share/doc/$pkgname/*.6"
+ install -Dm644 changelog.txt "$pkgdir/usr/share/doc/$pkgname/"
+
+ msg2 'Packaging desktop shortcut and icon...'
+ install -Dm644 "$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+ install -Dm644 "$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/fceux/fceux.install b/community/fceux/fceux.install
new file mode 100644
index 000000000..ad97d7bab
--- /dev/null
+++ b/community/fceux/fceux.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/fcgiwrap/LICENSE b/community/fcgiwrap/LICENSE
new file mode 100644
index 000000000..84eacbe12
--- /dev/null
+++ b/community/fcgiwrap/LICENSE
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2007-2010 Grzegorz Nosek
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
diff --git a/community/fcgiwrap/PKGBUILD b/community/fcgiwrap/PKGBUILD
new file mode 100644
index 000000000..068d81a63
--- /dev/null
+++ b/community/fcgiwrap/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 92086 2013-05-31 10:35:32Z seblu $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Aaron Bull Schaefer <aaron@elasticdog.com>
+# Contributor: Ron Huang <ronhuang+aur at gmail dot com>
+
+pkgname=fcgiwrap
+pkgver=1.1.0
+pkgrel=3
+pkgdesc='A simple server for running CGI applications over FastCGI.'
+arch=('i686' 'x86_64')
+url='http://nginx.localdomain.pl/wiki/FcgiWrap'
+license=('MIT')
+depends=('fcgi' 'systemd')
+source=("https://github.com/gnosek/fcgiwrap/archive/${pkgver}.tar.gz"
+ 'LICENSE')
+md5sums=('d14f56bda6758a6e02aa7b3fb125cbce'
+ '5aee62c27b4308f25ab32f05da387366')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ autoreconf --install
+ # Here --sbindir is implicitly prefixed by /usr
+ ./configure --prefix=/usr --mandir=/share/man --sbindir=/bin
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm0644 ../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/fcgiwrap/fcgiwrap.service b/community/fcgiwrap/fcgiwrap.service
new file mode 100644
index 000000000..f59f18db2
--- /dev/null
+++ b/community/fcgiwrap/fcgiwrap.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Simple server for running CGI applications over FastCGI
+After=syslog.target network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=forking
+Restart=on-abort
+PIDFile=/var/run/fcgiwrap.pid
+ExecStart=/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9001 -u http -g http -- /usr/sbin/fcgiwrap
+ExecStop=/usr/bin/kill -15 $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/fcitx-anthy/PKGBUILD b/community/fcitx-anthy/PKGBUILD
new file mode 100644
index 000000000..4bb6d088f
--- /dev/null
+++ b/community/fcitx-anthy/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 93363 2013-07-02 09:47:20Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: lh <jason52lh@gmail.com>
+
+pkgname=fcitx-anthy
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="Fcitx Wrapper for anthy."
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL')
+depends=('fcitx>=4.2.5' 'anthy')
+makedepends=('cmake' 'intltool')
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-$pkgver.tar.xz")
+install=fcitx-anthy.install
+
+build(){
+ cd "$srcdir"/${pkgname}-${pkgver}
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package() {
+ cd "$srcdir"/${pkgname}-${pkgver}/build
+ make DESTDIR=${pkgdir} install
+}
+
+md5sums=('c02e4393d6141a4d0fa1693bf38a8f79')
diff --git a/community/fcitx-anthy/fcitx-anthy.install b/community/fcitx-anthy/fcitx-anthy.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/fcitx-anthy/fcitx-anthy.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx-chewing/PKGBUILD b/community/fcitx-chewing/PKGBUILD
new file mode 100644
index 000000000..f2dc14eaa
--- /dev/null
+++ b/community/fcitx-chewing/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 93175 2013-06-27 03:40:28Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=fcitx-chewing
+pkgver=0.2.1
+pkgrel=1
+pkgdesc='Fcitx Wrapper for chewing'
+arch=('i686' 'x86_64')
+url="https://github.com/fcitx/fcitx-chewing"
+license=('GPL')
+depends=('libchewing' 'fcitx>=4.2.7')
+makedepends=('cmake')
+source=("http://fcitx.googlecode.com/files/${pkgname}-${pkgver}.tar.xz")
+
+build() {
+ cd "$srcdir"/${pkgname}-${pkgver}
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package() {
+ cd "$srcdir"/${pkgname}-${pkgver}/build
+ make DESTDIR="$pkgdir" install
+}
+md5sums=('1879ad51b16e07db40338db55054833c')
diff --git a/community/fcitx-cloudpinyin/PKGBUILD b/community/fcitx-cloudpinyin/PKGBUILD
new file mode 100644
index 000000000..4fd88ffc8
--- /dev/null
+++ b/community/fcitx-cloudpinyin/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 93364 2013-07-02 09:47:21Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: poplarch <poplarch@gmail.com>
+
+pkgname=fcitx-cloudpinyin
+pkgver=0.3.2
+pkgrel=1
+pkgdesc='Standalone module for fcitx that uses pinyin API on the internet to provide additional input candidates'
+arch=('i686' 'x86_64')
+url="https://github.com/fcitx/fcitx-cloudpinyin"
+license=('GPL')
+depends=('curl' 'fcitx>=4.2.7')
+makedepends=('cmake')
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-$pkgver.tar.xz")
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums=('ddda528f72ffd200ae78b4b2d9791e20576a220d0b15e4c55e9bd1977188c65696ca2a522acbb27177b2b22b33cdc41774d1ce111eb090adaba8fcc97f12cd8e')
diff --git a/community/fcitx-configtool/PKGBUILD b/community/fcitx-configtool/PKGBUILD
new file mode 100644
index 000000000..9094e8105
--- /dev/null
+++ b/community/fcitx-configtool/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 93365 2013-07-02 09:47:22Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=fcitx-configtool
+pkgver=0.4.7
+pkgrel=2
+pkgdesc="GTK based config tool for Fcitx"
+arch=('i686' 'x86_64')
+url="http://fcitx.googlecode.com/"
+license=('GPL2')
+depends=("fcitx>=4.2.7" "gtk3" "iso-codes")
+optdepends=('fcitx-qt4: for some configuration windows')
+makedepends=("cmake")
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-$pkgver.tar.xz")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ msg "Starting make..."
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/build"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums=('90ec9f4c30c46ea937f965173a4213b67d1cb360cc43b96af9899cdd5a0e35d34658ee7149ed10b3dc58d3851bc1712915db970fd2d25a976983b1037e380be2')
diff --git a/community/fcitx-fbterm/PKGBUILD b/community/fcitx-fbterm/PKGBUILD
new file mode 100644
index 000000000..127ac3897
--- /dev/null
+++ b/community/fcitx-fbterm/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Author: CSSlayer <wengxt@gmail.com>
+# Contributor: Yangtse <yangtsesu@gmail.com>
+
+pkgname=fcitx-fbterm
+pkgver=0.2.0
+pkgrel=2
+pkgdesc="Fbterm support for Fcitx."
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL2')
+depends=('fcitx>=4.1.0' 'fbterm')
+makedepends=('cmake' 'intltool')
+source=("http://fcitx.googlecode.com/files/${pkgname}-${pkgver}.tar.xz")
+install=fcitx-fbterm.install
+
+build(){
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package ()
+{
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+}
+md5sums=('a7eb80fde3e0d1cab27e230c912849da')
diff --git a/community/fcitx-fbterm/fcitx-fbterm.install b/community/fcitx-fbterm/fcitx-fbterm.install
new file mode 100644
index 000000000..cca516725
--- /dev/null
+++ b/community/fcitx-fbterm/fcitx-fbterm.install
@@ -0,0 +1,16 @@
+post_install() {
+ echo "$ sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm"
+ echo "or"
+ echo "$ sudo chmod u+s /usr/bin/fbterm"
+
+ echo "Do above once,Then launch fbterm with fcitx"
+ echo "$ fcitx-fbterm-helper -l"
+}
+post_upgrade() {
+ echo "$ sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm"
+ echo "or"
+ echo "$ sudo chmod u+s /usr/bin/fbterm"
+
+ echo "Do above once,Then launch fbterm with fcitx"
+ echo "$ fcitx-fbterm-helper -l"
+}
diff --git a/community/fcitx-googlepinyin/PKGBUILD b/community/fcitx-googlepinyin/PKGBUILD
new file mode 100644
index 000000000..f10ec9238
--- /dev/null
+++ b/community/fcitx-googlepinyin/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 81673 2012-12-26 11:44:06Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=fcitx-googlepinyin
+pkgver=0.1.6
+pkgrel=3
+pkgdesc="Fcitx Wrapper for googlepinyin"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL')
+depends=('fcitx>=4.2.0' 'libgooglepinyin>=0.1.2')
+makedepends=('cmake' 'intltool')
+source=("http://fcitx.googlecode.com/files/${pkgname}-${pkgver}.tar.xz")
+install=fcitx-googlepinyin.install
+md5sums=('7ee33bbb66d29536819b0d2f73b69713')
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/fcitx-googlepinyin/fcitx-googlepinyin.install b/community/fcitx-googlepinyin/fcitx-googlepinyin.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/fcitx-googlepinyin/fcitx-googlepinyin.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx-hangul/PKGBUILD b/community/fcitx-hangul/PKGBUILD
new file mode 100644
index 000000000..02d3bdf5a
--- /dev/null
+++ b/community/fcitx-hangul/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 93366 2013-07-02 09:47:23Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=fcitx-hangul
+pkgver=0.3.0
+pkgrel=1
+pkgdesc="Hangul (Korean) support for fcitx"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx/"
+license=('GPL2')
+depends=('fcitx>=4.2.7' 'libhangul')
+makedepends=('cmake' 'intltool')
+install=$pkgname.install
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-$pkgver.tar.xz")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ msg "Starting make..."
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/build"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums=('07085508da98c49bcecf75fbfad6681263a735a1efcc4fb7a6fa05cb215dfe0c338e95e26cc55e488501b5abbc1007464b1bbf488f07aaca2d1a0a18c8173074')
diff --git a/community/fcitx-hangul/fcitx-hangul.install b/community/fcitx-hangul/fcitx-hangul.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/fcitx-hangul/fcitx-hangul.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx-kkc/PKGBUILD b/community/fcitx-kkc/PKGBUILD
new file mode 100644
index 000000000..ede7a106b
--- /dev/null
+++ b/community/fcitx-kkc/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: csslayer <wengxt AT gmail com>
+
+pkgname=fcitx-kkc
+pkgver=0.1.0
+pkgrel=1
+pkgdesc="Fcitx Wrapper for libkkc"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL')
+depends=('fcitx>=4.2.8' 'libkkc>=0.2.3' 'libkkc-data' 'skk-jisyo' 'fcitx-qt4')
+makedepends=('cmake')
+install=$pkgname.install
+source=(http://download.fcitx-im.org/${pkgname}/${pkgname}-${pkgver}.tar.xz)
+
+build(){
+ cd "$srcdir/${pkgname}-${pkgver}"
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package ()
+{
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+}
+
+md5sums=('c86a48f9e7a1e9de16b0919e5413fc9d')
diff --git a/community/fcitx-kkc/fcitx-kkc.install b/community/fcitx-kkc/fcitx-kkc.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/fcitx-kkc/fcitx-kkc.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx-libpinyin/PKGBUILD b/community/fcitx-libpinyin/PKGBUILD
new file mode 100644
index 000000000..cb7ec4e01
--- /dev/null
+++ b/community/fcitx-libpinyin/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 94202 2013-07-16 16:30:47Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: poplarch <poplarch@gmail.com>
+
+pkgname=fcitx-libpinyin
+pkgver=0.3.1
+pkgrel=1
+pkgdesc="Fcitx Wrapper for libpinyin, Library to deal with pinyin"
+arch=('i686' 'x86_64')
+url="https://github.com/fcitx/fcitx-libpinyin"
+license=('GPL')
+depends=('fcitx' 'libpinyin' 'fcitx-qt4' 'qtwebkit')
+makedepends=('cmake' 'intltool' 'wget')
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-${pkgver}_dict.tar.xz")
+install=$pkgname.install
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ msg "Starting make..."
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+}
+
+sha512sums=('3b7501a75dab2f5b83541c71ccac93709f3354f390f322d7b95e4b94e0c4dc6963522759ab52eb77203d787d6d14d3ce1c838dd92ecd0db041a3b7a25008eaa4')
diff --git a/community/fcitx-libpinyin/fcitx-libpinyin.install b/community/fcitx-libpinyin/fcitx-libpinyin.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/fcitx-libpinyin/fcitx-libpinyin.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx-m17n/PKGBUILD b/community/fcitx-m17n/PKGBUILD
new file mode 100644
index 000000000..b593fe10b
--- /dev/null
+++ b/community/fcitx-m17n/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 93368 2013-07-02 09:47:25Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=fcitx-m17n
+pkgver=0.2.1
+pkgrel=1
+pkgdesc="Fcitx Wrapper for m17n."
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL')
+depends=('fcitx>=4.2.7' 'm17n-lib')
+makedepends=('cmake')
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-${pkgver}.tar.xz")
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+}
+
+sha512sums=('b2becf6f20de32191690a5541956dc0a607443bd593fbfb61d1663dcc1f854df6b146c17ed73afbdff4006c12f001707de87adc706b3e1d45608bbf2bc045bce')
diff --git a/community/fcitx-mozc/PKGBUILD b/community/fcitx-mozc/PKGBUILD
new file mode 100644
index 000000000..daad24122
--- /dev/null
+++ b/community/fcitx-mozc/PKGBUILD
@@ -0,0 +1,120 @@
+# $Id: PKGBUILD 88241 2013-04-15 00:59:54Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+## Mozc compile option
+_bldtype=Release
+
+_zipcoderel=201303
+_protobuf_ver=2.5.0
+
+_pkgbase=mozc
+pkgname=fcitx-mozc
+pkgdesc="Fcitx Module of A Japanese Input Method for Chromium OS, Windows, Mac and Linux (the Open Source Edition of Google Japanese Input)"
+pkgver=1.10.1390.102
+_patchver=${pkgver}.2
+pkgrel=3
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/mozc/"
+license=('custom')
+depends=('qt4' 'fcitx' 'zinnia')
+makedepends=('pkg-config' 'python2' 'gtest' 'curl' 'gtk2' 'mesa')
+replaces=('mozc-fcitx')
+conflicts=('mozc' 'mozc-server' 'mozc-utils-gui' 'mozc-fcitx')
+source=(http://mozc.googlecode.com/files/mozc-${pkgver}.tar.bz2
+ http://downloads.sourceforge.net/pnsft-aur/ken_all-${_zipcoderel}.zip
+ http://downloads.sourceforge.net/pnsft-aur/jigyosyo-${_zipcoderel}.zip
+ http://protobuf.googlecode.com/files/protobuf-${_protobuf_ver}.tar.bz2
+ http://fcitx.googlecode.com/files/fcitx-mozc-${_patchver}.patch
+ http://fcitx.googlecode.com/files/fcitx-mozc-icon.tar.gz
+ mozc_1.10.1390.102_remove_warn_as_error.patch
+)
+
+build() {
+ cd "$srcdir"
+
+ #source /etc/profile.d/qt4.sh
+
+ # Update: Fix qt4 include path too
+ # Fix compatibility with google-glog 0.3.3 (symbol conflict)
+ #CFLAGS="${CFLAGS} -DFLAGS_log_dir=FLAGS_mozc_log_dir"
+ #CXXFLAGS="${CXXFLAGS} -DFLAGS_log_dir=FLAGS_mozc_log_dir"
+ CFLAGS="${CFLAGS} -I/usr/include/qt4 -fvisibility=hidden"
+ CXXFLAGS="${CXXFLAGS} -I/usr/include/qt4 -fvisibility=hidden"
+
+ cd "${srcdir}/${_pkgbase}-${pkgver}"
+
+ # Apply fcitx patch
+ rm unix/fcitx -rf
+ patch -Np2 -i ${srcdir}/fcitx-mozc-${_patchver}.patch
+
+ # Fix qt4 binary path
+ sed -i 's|(qt_dir)/bin|(qt_dir)/lib/qt4/bin|' gui/*.gyp{,i}
+ sed -i 's|(qt_dir_env)/bin|(qt_dir_env)/lib/qt4/bin|' gui/*.gyp{,i}
+
+ # Patch for gcc>=4.8
+ patch -p0 -i "${srcdir}/mozc_1.10.1390.102_remove_warn_as_error.patch"
+
+ # Adjust to use python2
+ find . -name \*.py -type f -exec sed -i -e "1s|python.*$|python2|" {} +
+ find . -regex '.*\.gypi?$' -type f -exec sed -i -e "s|'python'|'python2'|g" {} +
+
+ # Generate zip code seed
+ msg "Generating zip code seed..."
+ python2 dictionary/gen_zip_code_seed.py --zip_code="${srcdir}/KEN_ALL.CSV" --jigyosyo="${srcdir}/JIGYOSYO.CSV" >> data/dictionary_oss/dictionary09.txt
+ msg "Done."
+
+ # Copy protobuf to be linked statically
+ cp -rf "${srcdir}/protobuf-${_protobuf_ver}" protobuf/files
+
+ msg "Starting make..."
+
+ _targets="server/server.gyp:mozc_server gui/gui.gyp:mozc_tool unix/fcitx/fcitx.gyp:fcitx-mozc"
+
+ QTDIR=/usr python2 build_mozc.py gyp --channel_dev=0
+ python2 build_mozc.py build_tools -c $_bldtype
+ python2 build_mozc.py build -c $_bldtype $_targets
+
+ # Extract license part of mozc
+ head -n 28 server/mozc_server.cc > LICENSE
+}
+
+package() {
+ cd "${srcdir}/${_pkgbase}-${pkgver}"
+ install -D -m 755 out_linux/${_bldtype}/mozc_server "${pkgdir}/usr/lib/mozc/mozc_server"
+ install -m 755 out_linux/${_bldtype}/mozc_tool "${pkgdir}/usr/lib/mozc/mozc_tool"
+ install -d "${pkgdir}/usr/lib/mozc/documents/"
+ install -m 644 data/installer/*.html "${pkgdir}/usr/lib/mozc/documents/"
+
+ install -D -m 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ for mofile in out_linux/${_bldtype}/obj/gen/unix/fcitx/po/*.mo
+ do
+ filename=`basename $mofile`
+ lang=${filename/.mo/}
+ install -D -m 644 "$mofile" "${pkgdir}/usr/share/locale/$lang/LC_MESSAGES/fcitx-mozc.mo"
+ done
+
+ install -D -m 755 out_linux/${_bldtype}/fcitx-mozc.so "${pkgdir}/usr/lib/fcitx/fcitx-mozc.so"
+ install -D -m 644 unix/fcitx/fcitx-mozc.conf "${pkgdir}/usr/share/fcitx/addon/fcitx-mozc.conf"
+ install -D -m 644 unix/fcitx/mozc.conf "${pkgdir}/usr/share/fcitx/inputmethod/mozc.conf"
+
+ install -d "${pkgdir}/usr/share/fcitx/mozc/icon"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc.png"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc-alpha_full.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc-alpha_full.png"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc-alpha_half.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc-alpha_half.png"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc-direct.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc-direct.png"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc-hiragana.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc-hiragana.png"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc-katakana_full.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc-katakana_full.png"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc-katakana_half.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc-katakana_half.png"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc-dictionary.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc-dictionary.png"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc-properties.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc-properties.png"
+ install -m 644 "$srcdir/fcitx-mozc-icons/mozc-tool.png" "${pkgdir}/usr/share/fcitx/mozc/icon/mozc-tool.png"
+}
+md5sums=('ff1611354703cbaa76cd562007ba57e9'
+ '63310f8bad30f528ba10a6574b807952'
+ 'bb9fa83c00dece4de5f92ca1773e2bc5'
+ 'a72001a9067a4c2c4e0e836d0f92ece4'
+ '1d94b16b5379f0ccd9f4e372c59b8190'
+ '80fe2ef127b70649df22d133822ac8a7'
+ '36689e236c97e570c1a8c98f947755bb')
diff --git a/community/fcitx-mozc/mozc_1.10.1390.102_remove_warn_as_error.patch b/community/fcitx-mozc/mozc_1.10.1390.102_remove_warn_as_error.patch
new file mode 100644
index 000000000..ff6e9f09b
--- /dev/null
+++ b/community/fcitx-mozc/mozc_1.10.1390.102_remove_warn_as_error.patch
@@ -0,0 +1,12 @@
+Index: gyp/common.gypi
+===================================================================
+--- gyp/common.gypi (revision 151)
++++ gyp/common.gypi (working copy)
+@@ -58,7 +58,6 @@
+ # warning_cflags will be shared with Mac and Linux.
+ 'warning_cflags': [
+ '-Wall',
+- '-Werror',
+ '-Wno-char-subscripts',
+ '-Wno-sign-compare',
+ '-Wno-deprecated-declarations',
diff --git a/community/fcitx-qt5/PKGBUILD b/community/fcitx-qt5/PKGBUILD
new file mode 100644
index 000000000..e761ce6e3
--- /dev/null
+++ b/community/fcitx-qt5/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 85500 2013-03-02 04:37:50Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=fcitx-qt5
+pkgver=0.1.1
+pkgrel=5
+pkgdesc="QT5 IM Module for Fcitx"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL')
+depends=('fcitx>=4.2.7' 'qt5-base')
+makedepends=('cmake')
+source=("http://fcitx.googlecode.com/files/${pkgname}-${pkgver}.tar.xz")
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LIBDIR=lib ..
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make install DESTDIR="${pkgdir}"
+}
+md5sums=('c93a4922ddc4f042749e707673f0fa41')
diff --git a/community/fcitx-rime/PKGBUILD b/community/fcitx-rime/PKGBUILD
new file mode 100644
index 000000000..6c75e8126
--- /dev/null
+++ b/community/fcitx-rime/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 94200 2013-07-16 16:25:08Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: lh <jason52lh@gmail.com>
+
+pkgname=fcitx-rime
+pkgver=0.2.2
+pkgrel=1
+pkgdesc='Fcitx Wrapper for librime'
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL')
+depends=('fcitx>=4.2.8.1' "librime" "brise")
+makedepends=('cmake')
+install=fcitx-rime.install
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-${pkgver}.tar.xz")
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/build"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums=('4497cfdf38e6fd85e358b0c8b52efa21b54a8c46cf5f6a640ca1c1f91a30df2a2033f46eec2d123bfadf9c8c58e4b8f6ec96b1564d32b2b8157261ca14a2855b')
diff --git a/community/fcitx-rime/fcitx-rime.install b/community/fcitx-rime/fcitx-rime.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/fcitx-rime/fcitx-rime.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx-sayura/PKGBUILD b/community/fcitx-sayura/PKGBUILD
new file mode 100644
index 000000000..318877548
--- /dev/null
+++ b/community/fcitx-sayura/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=fcitx-sayura
+pkgver=0.1.1
+pkgrel=1
+pkgdesc="Sinhala Transe IME engine for fcitx."
+arch=('i686' 'x86_64')
+url="https://github.com/fcitx/fcitx-sayura"
+license=('GPL')
+depends=('fcitx>=4.2.8')
+makedepends=('cmake' 'intltool')
+install=${pkgname}.install
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-$pkgver.tar.xz")
+
+build() {
+ cd "$srcdir"/${pkgname}-${pkgver}
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package() {
+ cd "$srcdir"/${pkgname}-${pkgver}/build
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums=('1eda91ae985df65982cf6f4e67b676bb8eb7117cd1aad7c2a90e81c13fa2a806bbff5eda7bb7e797cb26cb46bbda51931ecffd50384a89ead24ad90777183dc3')
diff --git a/community/fcitx-sayura/fcitx-sayura.install b/community/fcitx-sayura/fcitx-sayura.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/fcitx-sayura/fcitx-sayura.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx-sunpinyin/PKGBUILD b/community/fcitx-sunpinyin/PKGBUILD
new file mode 100644
index 000000000..d6b1e690c
--- /dev/null
+++ b/community/fcitx-sunpinyin/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 93370 2013-07-02 09:47:26Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=fcitx-sunpinyin
+pkgver=0.4.1
+pkgrel=1
+pkgdesc="Fcitx Wrapper for sunpinyin, Statistical Language Model based pinyin IME by Sun"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL')
+install=fcitx-sunpinyin.install
+depends=('fcitx>=4.2.7' 'sunpinyin>2.0.3' 'sunpinyin-data' 'gtk-update-icon-cache')
+makedepends=('cmake')
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-${pkgver}.tar.xz")
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+}
+
+sha512sums=('7ad9065d86d7bb3ceb6536a0fe3559bf2ba60aebe69e2f07c8dadad1a0a2283a1b85712105c6c2a2bf19b9645c4392204db9c3d1db234618ba7f62ee44eda85c')
diff --git a/community/fcitx-sunpinyin/fcitx-sunpinyin.install b/community/fcitx-sunpinyin/fcitx-sunpinyin.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/fcitx-sunpinyin/fcitx-sunpinyin.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx-ui-light/PKGBUILD b/community/fcitx-ui-light/PKGBUILD
new file mode 100644
index 000000000..6ffa8a1d5
--- /dev/null
+++ b/community/fcitx-ui-light/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 81498 2012-12-22 12:52:08Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Author: CSSlayer <wengxt@gmail.com>
+# Contributor: Yangtse <yangtsesu@gmail.com>
+
+pkgname=fcitx-ui-light
+pkgver=0.1.3
+pkgrel=2
+pkgdesc="Light weight xlib and xft based ui for fcitx."
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL2')
+depends=('fcitx>=4.1.0' 'libxpm')
+makedepends=('cmake' 'intltool')
+source=("http://fcitx.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2")
+
+build(){
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
+ make
+}
+
+package ()
+{
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+}
+md5sums=('633e8b018da9c8f09f99567b5479cf18')
diff --git a/community/fcitx-unikey/PKGBUILD b/community/fcitx-unikey/PKGBUILD
new file mode 100644
index 000000000..534347d63
--- /dev/null
+++ b/community/fcitx-unikey/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 94198 2013-07-16 16:15:47Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=fcitx-unikey
+pkgver=0.2.2
+pkgrel=1
+pkgdesc="Fcitx Wrapper for unikey"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fcitx"
+license=('GPL')
+depends=('fcitx>=4.2.8')
+optdepends=('qt4: To run the fcitx unikey macro editor')
+makedepends=('cmake' 'qt4')
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-${pkgver}.tar.xz")
+install=fcitx-unikey.install
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DQT_QMAKE_EXECUTABLE=qmake-qt4 ..
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+}
+
+sha512sums=('71a0773222b1172943f80bce904da77c136225981a0580d937327829c8d734fc65d9c4afa5275bd210ca837d7a7b9d8bfb18df96f62710068b9883a22499fbfb')
diff --git a/community/fcitx-unikey/fcitx-unikey.install b/community/fcitx-unikey/fcitx-unikey.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/fcitx-unikey/fcitx-unikey.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx/PKGBUILD b/community/fcitx/PKGBUILD
new file mode 100644
index 000000000..40e623d1a
--- /dev/null
+++ b/community/fcitx/PKGBUILD
@@ -0,0 +1,121 @@
+# $Id: PKGBUILD 94235 2013-07-17 12:26:33Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: csslayer <wengxt AT gmail com>
+
+pkgbase=fcitx
+pkgname=('fcitx' 'fcitx-gtk2' 'fcitx-gtk3' 'fcitx-qt4')
+pkgver=4.2.8.1
+pkgrel=2
+groups=('fcitx-im')
+arch=('i686' 'x86_64')
+url="http://fcitx-im.org"
+license=('GPL')
+makedepends=('cmake' 'doxygen' 'gtk2' 'gtk3' 'qt4' 'icu' 'mesa' \
+ 'iso-codes' 'gobject-introspection' 'libxkbfile')
+source=(http://download.fcitx-im.org/$pkgbase/$pkgbase-${pkgver}_dict.tar.xz)
+
+build() {
+ cd "$srcdir"
+ mkdir -p build
+ cd build
+
+ cmake ../${pkgbase}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DFORCE_OPENCC=ON \
+ -DFORCE_PRESAGE=ON \
+ -DFORCE_ENCHANT=ON \
+ -DENABLE_TEST=ON \
+ -DENABLE_GTK2_IM_MODULE=ON \
+ -DENABLE_GTK3_IM_MODULE=ON \
+ -DENABLE_QT_IM_MODULE=ON \
+ -DQT_QMAKE_EXECUTABLE=qmake-qt4
+ make
+}
+
+check() {
+ cd "${srcdir}/build"
+ make test
+}
+
+package_fcitx() {
+ pkgdesc="Flexible Context-aware Input Tool with eXtension"
+ depends=('pango' 'libxinerama' 'gtk-update-icon-cache' 'shared-mime-info' \
+ 'hicolor-icon-theme' 'desktop-file-utils' 'libxkbfile' \
+ 'libxfixes' 'dbus-core' 'icu')
+ optdepends=('enchant: for word predication support'
+ 'opencc: optional engine to do chinese convert'
+ 'fcitx-anthy: Hiragana text to Kana Kanji mixed text Japanese input method'
+ 'fcitx-chewing: Intelligent Zhuyin input method library for traditional Chinese'
+ 'fcitx-cloudpinyin: Standalone module for fcitx that uses pinyin API on the internet to provide additional input candidates'
+ 'fcitx-configtool: GTK based config tool for Fcitx'
+ 'fcitx-fbterm: Fbterm support for Fcitx'
+ 'fcitx-googlepinyin: A fork from google pinyin on android for Fcitx'
+ 'fcitx-gtk2: GTK2 IM Module for fcitx'
+ 'fcitx-gtk3: GTK3 IM Module for fcitx'
+ 'fcitx-hangul: Hangul (Korean) support for fcitx'
+ 'fcitx-kkc: libkkc (Japanese Kana Kanji input method) engine for fcitx'
+ 'fcitx-libpinyin: Fcitx Wrapper for libpinyin, Library to deal with pinyin'
+ 'fcitx-m17n: Multilingual text processing library'
+ 'fcitx-mozc: Fcitx Module of A Japanese Input Method for Chromium OS, Windows, Mac and Linux (the Open Source Edition of Google Japanese Input)'
+ 'fcitx-qt4: QT4 IM Module for fcitx'
+ 'fcitx-qt5: QT5 IM Module for fcitx'
+ 'fcitx-rime: Rime input method engine (Traditional Chinese)'
+ 'fcitx-sayura: Sinhala Transe IME engine for fcitx'
+ 'fcitx-sunpinyin: Statistical Language Model based pinyin IME by Sun'
+ 'fcitx-table-extra: Extra tables for Fcitx, including Boshiamy, Zhengma, Cangjie3, Cangjie5'
+ 'fcitx-table-other: Provides some other tables for Fcitx, fork from ibus-table-others, scim-tables'
+ 'fcitx-ui-light: Light weight xlib and xft based ui for fcitx'
+ 'fcitx-unikey: Fcitx Wrapper for unikey'
+ 'kcm-fcitx: KDE Config Module for Fcitx'
+ 'gettext: for fcitx-po-parser')
+ install=fcitx.install
+
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
+
+ rm -r "${pkgdir}/usr/lib/"{gtk-2.0,gtk-3.0,qt4}
+ rm -r "${pkgdir}/usr/lib/fcitx/qt"
+ rm -r "${pkgdir}/usr/include/fcitx-qt"
+ rm "${pkgdir}/usr/lib/fcitx/libexec/fcitx-qt-gui-wrapper"
+ rm "${pkgdir}/usr/lib/"libfcitx-qt.so*
+ rm "${pkgdir}/usr/lib/pkgconfig/fcitx-qt.pc"
+}
+
+package_fcitx-gtk2() {
+ pkgdesc='GTK2 IM Module for fcitx'
+ depends=('gtk2' "fcitx>=$pkgver")
+ install=fcitx-gtk2.install
+
+ cd "${srcdir}/build/src/frontend/gtk2"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_fcitx-gtk3() {
+ pkgdesc='GTK3 IM Module for fcitx'
+ depends=('gtk3' "fcitx>=$pkgver")
+ install=fcitx-gtk3.install
+
+ cd "${srcdir}/build/src/frontend/gtk3"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_fcitx-qt4() {
+ pkgdesc='QT4 IM Module for fcitx'
+ depends=('qt4' "fcitx>=$pkgver")
+ replaces=('fcitx-qt')
+ provides=('fcitx-qt')
+ conflicts=('fcitx-qt')
+
+ cd "${srcdir}/build/src/frontend/qt"
+ make DESTDIR="${pkgdir}" install
+
+ cd "${srcdir}/build/tools/gui"
+ make DESTDIR="${pkgdir}" install
+
+ cd "${srcdir}/build/src/lib/fcitx-qt"
+ make DESTDIR="${pkgdir}" install
+}
+
+sha512sums=('981e07830693b9525f8f8c7f18579477c066a19ae9358d8aa96ae5439cc3d40f7af2ad24b8cbd24410a5472d002a02eccb8c9d042019cd8459fd094e302d5a72')
diff --git a/community/fcitx/fcitx-gtk2.install b/community/fcitx/fcitx-gtk2.install
new file mode 100644
index 000000000..6fd3be681
--- /dev/null
+++ b/community/fcitx/fcitx-gtk2.install
@@ -0,0 +1,11 @@
+post_install() {
+ usr/bin/gtk-query-immodules-2.0 --update-cache
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx/fcitx-gtk3.install b/community/fcitx/fcitx-gtk3.install
new file mode 100644
index 000000000..b44958797
--- /dev/null
+++ b/community/fcitx/fcitx-gtk3.install
@@ -0,0 +1,11 @@
+post_install() {
+ usr/bin/gtk-query-immodules-3.0 --update-cache
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fcitx/fcitx.install b/community/fcitx/fcitx.install
new file mode 100644
index 000000000..59e1d7012
--- /dev/null
+++ b/community/fcitx/fcitx.install
@@ -0,0 +1,14 @@
+post_upgrade() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_install() {
+ echo "You should at least install one of kcm-fcitx (For Qt/KDE users) or fcitx-configtool (For GTK+ users) to enable Fcitx configuration GUI."
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
diff --git a/community/fcrackzip/ChangeLog b/community/fcrackzip/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/fcrackzip/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/fcrackzip/PKGBUILD b/community/fcrackzip/PKGBUILD
new file mode 100644
index 000000000..3c0fa15ad
--- /dev/null
+++ b/community/fcrackzip/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 67610 2012-03-13 14:10:18Z lcarlier $
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Maintainer: Daenyth <Daenyth+Arch at gmail dot com>
+
+pkgname=fcrackzip
+pkgver=1.0
+pkgrel=3
+pkgdesc="A zip file password cracker"
+arch=('i686' 'x86_64')
+url="http://oldhome.schmorp.de/marc/$pkgname.html"
+license=('GPL')
+depends=(glibc)
+source=(http://oldhome.schmorp.de/marc/data/$pkgname-$pkgver.tar.gz)
+md5sums=('254941f51759f9425965f4b05fe7ac2c')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+ mv ${pkgdir}/usr/bin/zipinfo ${pkgdir}/usr/bin/fzipinfo
+}
diff --git a/community/fcron/PKGBUILD b/community/fcron/PKGBUILD
new file mode 100644
index 000000000..3e60e52d5
--- /dev/null
+++ b/community/fcron/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 91897 2013-05-29 00:39:11Z seblu $
+# Contributor: Giorgio Lando <lando at imap dot cc>
+# Contributor: Sergej Pupykin
+# Contributor: Thomas Bächler
+# Contributor: Sébastien Luttringer
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=fcron
+pkgver=3.1.2
+pkgrel=7
+pkgdesc='Feature-rich cron implementation'
+arch=(i686 x86_64)
+url='http://fcron.free.fr'
+license=('GPL')
+depends=('pam' 'run-parts')
+makedepends=('smtp-forwarder' 'vi')
+optdepends=('smtp-forwarder: to send mails from cron jobs'
+ 'vi: default editor for fcrontab')
+provides=('cron')
+conflicts=('dcron')
+backup=('etc/fcron/fcron.conf'
+ 'etc/fcron/fcron.allow'
+ 'etc/fcron/fcron.deny')
+options=('emptydirs' '!makeflags')
+install=$pkgname.install
+source=("http://fcron.free.fr/archives/$pkgname-$pkgver.src.tar.gz"
+ 'systab.orig')
+md5sums=('36bf213e15f3a480f2274f8e46cced0a'
+ 'afecbfd98caa49e8e4aa239fa1b19255')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc/fcron \
+ --with-answer-all=no \
+ --with-boot-install=no \
+ --with-username=root \
+ --with-groupname=root \
+ --datarootdir=/usr/share \
+ --datadir=/usr/share \
+ --with-docdir=/usr/share/doc \
+ --localstatedir=/var \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ --with-piddir=/run \
+ --with-editor=/usr/bin/vi \
+ --with-sendmail=/usr/sbin/sendmail
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR="$pkgdir/" install
+ install -D -m644 "$srcdir/$pkgname-$pkgver/files/fcron.pam" "$pkgdir/etc/pam.d/fcron"
+
+ install -D -m644 "$srcdir/$pkgname-$pkgver/files/fcrontab.pam" "$pkgdir/etc/pam.d/fcrontab"
+
+ # Install a default fcrontab so that fcron can completely replace dcron
+ # We doesn't use binary format which is incompatible between arch and may cause crash
+ # We regenerate the binary format at each update
+ install -D -m640 "$srcdir/systab.orig" "$pkgdir/var/spool/fcron/systab.orig"
+
+ # Add cron.* directories
+ install -d -m755 "$pkgdir/etc/cron.daily"
+ install -d -m755 "$pkgdir/etc/cron.hourly"
+ install -d -m755 "$pkgdir/etc/cron.monthly"
+ install -d -m755 "$pkgdir/etc/cron.weekly"
+
+ # avoid conflict with filesystem>=2012.06
+ rmdir "$pkgdir"/{var/,}run
+
+ # avoid conflict with libbsd - #31259
+ rm "$pkgdir/usr/share/man/man3/bitstring.3" \
+ "$pkgdir/usr/share/man/fr/man3/bitstring.3"
+ rmdir --ignore-fail-on-non-empty "$pkgdir/usr/share/man/man3" \
+ "$pkgdir/usr/share/man/fr/man3"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/fcron/fcron.install b/community/fcron/fcron.install
new file mode 100644
index 000000000..f7b0abddf
--- /dev/null
+++ b/community/fcron/fcron.install
@@ -0,0 +1,13 @@
+# arg 1: the new package version
+post_install() {
+ # Generate binary format which is incompatible between arch
+ fcrontab -z -u systab &>/dev/null
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install "$1"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/fcron/systab.orig b/community/fcron/systab.orig
new file mode 100644
index 000000000..00af327bc
--- /dev/null
+++ b/community/fcron/systab.orig
@@ -0,0 +1,4 @@
+&bootrun 01 * * * * /usr/bin/run-parts /etc/cron.hourly
+&bootrun 02 00 * * * /usr/bin/run-parts /etc/cron.daily
+&bootrun 22 00 * * 0 /usr/bin/run-parts /etc/cron.weekly
+&bootrun 42 00 1 * * /usr/bin/run-parts /etc/cron.monthly
diff --git a/community/fdm/PKGBUILD b/community/fdm/PKGBUILD
new file mode 100644
index 000000000..9cf7f7696
--- /dev/null
+++ b/community/fdm/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 88671 2013-04-21 20:30:45Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: Grigorios Bouzakis <grbzks@gmail.com>
+
+pkgname=fdm
+pkgver=1.7
+pkgrel=1
+pkgdesc='Program to fetch and deliver mail'
+arch=('i686' 'x86_64')
+url='http://fdm.sourceforge.net/'
+license=('BSD')
+depends=('openssl' 'tdb' 'zlib')
+makedepends=('patch' 'sed')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz)
+sha256sums=('484474094f124ce438c89dfab05519fe7b3aa8c8346d00f790a512ab950cef2a')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure
+ make PREFIX=/usr MANDIR=/usr/share/man
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} PREFIX=/usr MANDIR=/usr/share/man install
+
+ install -d ${pkgdir}/usr/share/{doc,licenses}/${pkgname}
+ sed '3,17p;d' fdm.c > ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ mv examples ${pkgdir}/usr/share/doc/${pkgname}
+}
diff --git a/community/fdupes/ChangeLog b/community/fdupes/ChangeLog
new file mode 100644
index 000000000..2fbc6489c
--- /dev/null
+++ b/community/fdupes/ChangeLog
@@ -0,0 +1,11 @@
+2008-10-05 Eric Belanger <eric@archlinux.org>
+
+ * fdupes 1.40-4
+ * Added x86_64 arch tag
+ * Fixed license
+ * FHS man pages
+
+2008-10-03 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Adding package to community: 1.40
+
diff --git a/community/fdupes/LICENSE b/community/fdupes/LICENSE
new file mode 100644
index 000000000..d353aab98
--- /dev/null
+++ b/community/fdupes/LICENSE
@@ -0,0 +1,22 @@
+Legal Information
+--------------------------------------------------------------------
+FDUPES Copyright (c) 1999 Adrian Lopez
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation files
+(the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/community/fdupes/PKGBUILD b/community/fdupes/PKGBUILD
new file mode 100644
index 000000000..9dfae23a5
--- /dev/null
+++ b/community/fdupes/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 90262 2013-05-10 16:06:17Z jelle $
+# Maintainer: Daenyth <Daenyth+Arch at gmail dot com>
+# Contributor: Chris Winter <twidds at gmail dot com>
+
+pkgname=fdupes
+pkgver=1.51
+pkgrel=1
+pkgdesc="a program for identifying or deleting duplicate files residing within specified directories"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fdupes/"
+license=('MIT')
+depends=(glibc)
+source=(http://fdupes.googlecode.com/files/$pkgname-$pkgver.tar.gz LICENSE)
+md5sums=('47d0410c90c9e51e450933ba35a32b62'
+ '47f17890218f832f870bf7a02eaeb017')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make PREFIX=/usr
+}
+package(){
+ cd $srcdir/$pkgname-$pkgver
+
+ install -d ${pkgdir}/usr/{share/man/man1,bin}
+
+ make PREFIX=$pkgdir/usr DESTDIR=${pkgdir}/usr/bin INSTALLDIR=${pkgdir}/usr/bin MAN_DIR=${pkgdir}/usr/share/man/man1 install
+ install -D -m644 $srcdir/LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/ffmpeg-compat/PKGBUILD b/community/ffmpeg-compat/PKGBUILD
new file mode 100644
index 000000000..232814f05
--- /dev/null
+++ b/community/ffmpeg-compat/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Paul Mattal <paul@archlinux.org>
+
+pkgname=ffmpeg-compat
+pkgver=20120509
+pkgrel=3
+pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
+arch=('i686' 'x86_64')
+url="http://ffmpeg.org/"
+license=('GPL')
+depends=(alsa-lib bzip2 gsm lame libpulse libtheora libva libvorbis libvpx opencore-amr openjpeg rtmpdump schroedinger sdl speex x264 xvidcore zlib)
+makedepends=('yasm' 'git' 'libvdpau')
+#git clone git://git.videolan.org/ffmpeg.git
+source=(ftp://ftp.archlinux.org/other/ffmpeg/ffmpeg-$pkgver.tar.xz)
+md5sums=('a35359e424608f369d380f03e4dc9966')
+
+build() {
+ cd "ffmpeg"
+
+ ./configure \
+ --prefix=/usr \
+ --incdir=/usr/include/ffmpeg-compat \
+ --libdir=/usr/lib/ffmpeg-compat \
+ --shlibdir=/usr/lib/ffmpeg-compat \
+ --enable-libmp3lame \
+ --enable-libvorbis \
+ --enable-libxvid \
+ --enable-libx264 \
+ --enable-libvpx \
+ --enable-libtheora \
+ --enable-libgsm \
+ --enable-libspeex \
+ --enable-postproc \
+ --enable-shared \
+ --enable-x11grab \
+ --enable-libopencore_amrnb \
+ --enable-libopencore_amrwb \
+ --enable-libschroedinger \
+ --enable-libopenjpeg \
+ --enable-librtmp \
+ --enable-libpulse \
+ --enable-gpl \
+ --enable-version3 \
+ --enable-runtime-cpudetect \
+ --disable-debug \
+ --disable-static
+
+ make
+}
+
+package() {
+ cd "ffmpeg"
+ make DESTDIR="$pkgdir" install
+ rm -rf $pkgdir/usr/{bin,share}
+}
diff --git a/community/ffmpeg2theora/PKGBUILD b/community/ffmpeg2theora/PKGBUILD
new file mode 100644
index 000000000..99810e7b9
--- /dev/null
+++ b/community/ffmpeg2theora/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 84348 2013-02-16 22:50:27Z ioni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Angelo Theodorou <encelo@users.sourceforge.net>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+pkgname=ffmpeg2theora
+pkgver=0.29
+pkgrel=3
+pkgdesc="Simple converter to create Ogg Theora files"
+arch=('x86_64' 'i686')
+url="http://www.v2v.cc/~j/ffmpeg2theora/"
+license=('GPL')
+depends=('ffmpeg')
+makedepends=('scons') # 'libkate')
+source=("http://www.v2v.cc/~j/$pkgname/downloads/$pkgname-$pkgver.tar.bz2")
+sha256sums=('214110e2a5afdd8ff8e0be18152e893dbff5dabc1ae1d1124e64d9f93eae946d')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ scons
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ scons install destdir="$pkgdir" prefix="/usr" mandir="PREFIX/share/man"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ffmpegsource/PKGBUILD b/community/ffmpegsource/PKGBUILD
new file mode 100755
index 000000000..e32088959
--- /dev/null
+++ b/community/ffmpegsource/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 88204 2013-04-13 20:20:33Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+
+pkgname=ffmpegsource
+pkgver=753
+pkgrel=1
+pkgdesc="A libav/ffmpeg based source library and Avisynth plugin for easy frame accurate access"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/ffmpegsource/"
+license=('MIT')
+depends=('ffmpeg')
+makedepends=('svn')
+options=('!libtool')
+source=("${pkgname}::svn+http://ffmpegsource.googlecode.com/svn/trunk/"
+ 'autoconf.patch')
+sha256sums=('SKIP'
+ 'b09a7e9a08a16bdaf19d43c7ad8d3ec455f6fecec2f4f5ada417345343adda93')
+
+pkgver() {
+ cd "${SRCDEST}"/${pkgname}
+
+ svnversion | tr -d [A-z]
+}
+
+prepare() {
+ cd "${srcdir}"/${pkgname}
+
+ patch -Np1 -i ../autoconf.patch
+}
+
+build() {
+ cd "${srcdir}"/${pkgname}
+
+ ./autogen.sh --prefix=/usr --enable-shared --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}
+
+ make DESTDIR="${pkgdir}" install
+
+ install -dm 755 "${pkgdir}"/usr/share/licenses/ffmpegsource
+ install -m 644 COPYING "${pkgdir}"/usr/share/licenses/ffmpegsource/LICENSE
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/ffmpegsource/autoconf.patch b/community/ffmpegsource/autoconf.patch
new file mode 100755
index 000000000..e15e4522c
--- /dev/null
+++ b/community/ffmpegsource/autoconf.patch
@@ -0,0 +1,22 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,7 +6,7 @@ pkgconfig_DATA = ffms2.pc
+
+ dist_doc_DATA = doc/ffms2-api.html doc/ffms2-changelog.html doc/style.css
+
+-INCLUDES = -I. -I$(top_srcdir)/include -I$(top_srcdir)/src/config @LIBAV_CFLAGS@ @ZLIB_CPPFLAGS@ -include config.h
++AM_CPPFLAGS = -I. -I$(top_srcdir)/include -I$(top_srcdir)/src/config @LIBAV_CFLAGS@ @ZLIB_CPPFLAGS@ -include config.h
+
+ lib_LTLIBRARIES = src/core/libffms2.la
+ src_core_libffms2_la_LIBADD = @LIBAV_LIBS@ @ZLIB_LDFLAGS@ -lz @LTUNDEF@
+--- a/configure.ac
++++ b/configure.ac
+@@ -30,7 +30,7 @@ if test -z "$CXXFLAGS"; then
+ CXXFLAGS="$OPT_FLAGS"
+ fi
+
+-AM_CONFIG_HEADER([src/config/config.h])
++AC_CONFIG_HEADERS([src/config/config.h])
+ AC_PROG_CC
+ AC_PROG_CXX
+ LT_INIT([static disable-shared])
diff --git a/community/filezilla/PKGBUILD b/community/filezilla/PKGBUILD
new file mode 100644
index 000000000..9ba45c2a7
--- /dev/null
+++ b/community/filezilla/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 93466 2013-07-03 21:46:52Z bluewind $
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=filezilla
+pkgver=3.7.1.1
+pkgrel=1
+pkgdesc="Fast and reliable FTP, FTPS and SFTP client"
+arch=('i686' 'x86_64')
+url="http://filezilla-project.org/"
+license=('GPL')
+depends=('dbus-core' 'xdg-utils' 'wxgtk' 'libidn' 'hicolor-icon-theme' 'sqlite')
+install=filezilla.install
+source=("http://downloads.sourceforge.net/project/filezilla/FileZilla_Client/${pkgver}/FileZilla_${pkgver}_src.tar.bz2")
+
+build() {
+ cd "${pkgname}-${pkgver}"
+ ./autogen.sh
+ ./configure \
+ --prefix=/usr \
+ --disable-manualupdatecheck \
+ --disable-autoupdatecheck \
+ --disable-static \
+ --with-tinyxml=builtin
+
+ make
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
+md5sums=('52c6f764b2f4a94b1781da42b2bbb9b5')
diff --git a/community/filezilla/filezilla.install b/community/filezilla/filezilla.install
new file mode 100644
index 000000000..1a05f573e
--- /dev/null
+++ b/community/filezilla/filezilla.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/fillets-ng/PKGBUILD b/community/fillets-ng/PKGBUILD
new file mode 100644
index 000000000..a7a468d29
--- /dev/null
+++ b/community/fillets-ng/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 81295 2012-12-16 16:14:21Z arodseth $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=fillets-ng
+pkgver=1.0.1
+pkgrel=4
+pkgdesc="Port of the wonderful puzzle game Fish Fillets"
+url="http://fillets.sf.net/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('fillets-ng-data' 'lua51' 'fribidi' 'gcc-libs' 'libx11' 'sdl_mixer' 'sdl_ttf' 'sdl_image' 'desktop-file-utils')
+makedepends=('gendesk')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=("http://downloads.sourceforge.net/fillets/$pkgname-$pkgver.tar.gz"
+ "$pkgname.png::http://img.1mobile.com/market/i/4/9/49ec5e5520844b66c189c7e0ef6eedfc.png"
+ 'lua-config')
+sha256sums=('329a4d9515d60bebdb657d070824933b993b85864b9d3e302e6361accab992da'
+ '338c9e1b8ac4ef5bb167f4a6090c341897bd2c7f8b4e5afc3ac3131a57bb8c88'
+ '849fb1410387dc7df0617e12a9472cfbe3b1179600011c0365f9099ff5af6214')
+_exec=('fillets')
+
+build() {
+ gendesk
+ export PATH=$PATH:$PWD
+ chmod a+rx lua-config
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --datadir=/usr/share/$pkgname
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+
+ # desktop and icon files
+ install -D -m644 "${srcdir}/$pkgname.png" \
+ "${pkgdir}/usr/share/pixmaps/$pkgname.png"
+ install -D -m644 "${srcdir}/$pkgname.desktop" \
+ "${pkgdir}/usr/share/applications/$pkgname.desktop"
+}
diff --git a/community/fillets-ng/fillets-ng.changelog b/community/fillets-ng/fillets-ng.changelog
new file mode 100644
index 000000000..385d01833
--- /dev/null
+++ b/community/fillets-ng/fillets-ng.changelog
@@ -0,0 +1,23 @@
+2012-02-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.1
+
+2011-01-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.0
+
+2010-03-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.9.3
+
+2009-10-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.9.2
+
+2009-07-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.9.1
+
+2009-06-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.9.0
+
+2009-01-10 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.8.1
+
+2008-08-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community]
diff --git a/community/fillets-ng/fillets-ng.install b/community/fillets-ng/fillets-ng.install
new file mode 100644
index 000000000..de3e0f510
--- /dev/null
+++ b/community/fillets-ng/fillets-ng.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo "Updating desktop and mime database ..."
+ update-desktop-database -q
+}
diff --git a/community/fillets-ng/lua-config b/community/fillets-ng/lua-config
new file mode 100644
index 000000000..ef9b96b71
--- /dev/null
+++ b/community/fillets-ng/lua-config
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ $1 == --include ]]; then
+ pkg-config --cflags lua5.1
+ exit 0
+elif [[ $1 == --static ]]; then
+ pkg-config --libs lua5.1
+fi
+
+exit 1
diff --git a/community/fish/PKGBUILD b/community/fish/PKGBUILD
new file mode 100644
index 000000000..dbd808f40
--- /dev/null
+++ b/community/fish/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 92181 2013-06-02 13:25:12Z bpiotrowski $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Abhishek Dasgupta <abhidg@gmail.com>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Jan Fader <jan.fader@web.de>
+
+pkgname=fish
+pkgver=2.0.0
+pkgrel=2
+pkgdesc='Smart and user friendly shell intended mostly for interactive use'
+arch=('i686' 'x86_64')
+url='http://fishshell.com/'
+license=('GPL2')
+depends=('python2' 'inetutils')
+makedepends=('doxygen' 'python')
+install=fish.install
+source=(fish-$pkgver.tar.gz::http://fishshell.com/files/$pkgver/fish.tar.gz)
+md5sums=('fe5907e6af61607d4128ce891a1f6501')
+
+build() {
+ set -x
+ cd fish
+ autoconf
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --without-xsel
+ make
+}
+
+package() {
+ cd fish
+ make DESTDIR="$pkgdir" install
+
+ # use python2
+ find "$pkgdir"/usr/share/fish/tools/ -type f -exec sed -e "1s|python|python2|" -i {} \;
+}
diff --git a/community/fish/fish.install b/community/fish/fish.install
new file mode 100644
index 000000000..49a65ad82
--- /dev/null
+++ b/community/fish/fish.install
@@ -0,0 +1,11 @@
+post_install() {
+ grep -q '/usr/bin/fish' etc/shells || echo '/usr/bin/fish' >> etc/shells
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ sed -i '/^\/usr\/bin\/fish/d' /etc/shells
+}
diff --git a/community/flac123/PKGBUILD b/community/flac123/PKGBUILD
new file mode 100644
index 000000000..e101e6f20
--- /dev/null
+++ b/community/flac123/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 78533 2012-10-20 10:17:22Z ebelanger $
+# Maintainer: Chris Brannon <chris@the-brannons.com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: Patrick Burroughs <celticmadman@gmail.com>
+
+pkgname=flac123
+pkgver=0.0.12
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('GPL2')
+pkgdesc="A command-line program for playing FLAC audio files"
+url="http://flac-tools.sourceforge.net/"
+depends=('flac' 'libao' 'popt')
+source=(http://downloads.sourceforge.net/flac-tools/${pkgname}-${pkgver}-release.tar.gz)
+md5sums=('59dacb2584bbe9c61d046ce995108ac6')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ autoreconf --force --install
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/flam3/PKGBUILD b/community/flam3/PKGBUILD
new file mode 100644
index 000000000..2dc0711ea
--- /dev/null
+++ b/community/flam3/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 90023 2013-05-06 19:36:52Z foutrelis $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=flam3
+pkgver=3.0.1
+pkgrel=3
+pkgdesc="Tools to create/display fractal flames: algorithmically generated images and animations"
+arch=('i686' 'x86_64')
+url="http://flam3.com/"
+license=('GPL3')
+depends=('libjpeg' 'libpng' 'libxml2')
+options=('!libtool')
+source=(http://flam3.googlecode.com/files/${pkgname}-${pkgver}.tar.gz flam3-3.0.1-libpng15.patch)
+sha1sums=('8814515f2e49e034e47cf97e9d2c0e932844abb9'
+ '17ece6cc00899e5135dad2bc79f97dfbd73107a6')
+
+prepare() {
+ cd ${pkgname}-${pkgver}/src
+ patch -p1 -i ../../flam3-3.0.1-libpng15.patch
+}
+
+build() {
+ cd ${pkgname}-${pkgver}/src
+ ./configure --prefix=/usr --enable-shared
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}/src
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/flam3/flam3-3.0.1-libpng15.patch b/community/flam3/flam3-3.0.1-libpng15.patch
new file mode 100644
index 000000000..61f905589
--- /dev/null
+++ b/community/flam3/flam3-3.0.1-libpng15.patch
@@ -0,0 +1,76 @@
+http://code.google.com/p/flam3/issues/detail?id=8
+
+--- src/png.c
++++ src/png.c
+@@ -142,7 +142,7 @@
+ }
+ if (setjmp(png_jmpbuf(png_ptr))) {
+ if (png_image) {
+- for (y = 0 ; y < info_ptr->height ; y++)
++ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++)
+ free (png_image[y]);
+ free (png_image);
+ }
+@@ -161,19 +161,19 @@
+ png_set_sig_bytes (png_ptr, SIG_CHECK_SIZE);
+ png_read_info (png_ptr, info_ptr);
+
+- if (8 != info_ptr->bit_depth) {
++ if (8 != png_get_bit_depth(png_ptr, info_ptr)) {
+ fprintf(stderr, "bit depth type must be 8, not %d.\n",
+- info_ptr->bit_depth);
++ png_get_bit_depth(png_ptr, info_ptr));
+ return 0;
+ }
+
+- *width = info_ptr->width;
+- *height = info_ptr->height;
++ *width = png_get_image_width(png_ptr, info_ptr);
++ *height = png_get_image_height(png_ptr, info_ptr);
+ p = q = malloc(4 * *width * *height);
+- png_image = (png_byte **)malloc (info_ptr->height * sizeof (png_byte*));
++ png_image = (png_byte **)malloc (png_get_image_height(png_ptr, info_ptr) * sizeof (png_byte*));
+
+- linesize = info_ptr->width;
+- switch (info_ptr->color_type) {
++ linesize = png_get_image_width(png_ptr, info_ptr);
++ switch (png_get_color_type(png_ptr, info_ptr)) {
+ case PNG_COLOR_TYPE_RGB:
+ linesize *= 3;
+ break;
+@@ -182,21 +182,21 @@
+ break;
+ default:
+ fprintf(stderr, "color type must be RGB or RGBA not %d.\n",
+- info_ptr->color_type);
++ png_get_color_type(png_ptr, info_ptr));
+ return 0;
+ }
+
+- for (y = 0 ; y < info_ptr->height ; y++) {
++ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) {
+ png_image[y] = malloc (linesize);
+ }
+ png_read_image (png_ptr, png_image);
+ png_read_end (png_ptr, info_ptr);
+
+- for (y = 0 ; y < info_ptr->height ; y++) {
++ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) {
+ unsigned char *s = png_image[y];
+- for (x = 0 ; x < info_ptr->width ; x++) {
++ for (x = 0 ; x < png_get_image_width(png_ptr, info_ptr) ; x++) {
+
+- switch (info_ptr->color_type) {
++ switch (png_get_color_type(png_ptr, info_ptr)) {
+ case PNG_COLOR_TYPE_RGB:
+ p[0] = s[0];
+ p[1] = s[1];
+@@ -217,7 +217,7 @@
+ }
+ }
+
+- for (y = 0 ; y < info_ptr->height ; y++)
++ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++)
+ free (png_image[y]);
+ free (png_image);
+ png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL);
diff --git a/community/flashrom/PKGBUILD b/community/flashrom/PKGBUILD
new file mode 100644
index 000000000..cc7bb1cd5
--- /dev/null
+++ b/community/flashrom/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 91099 2013-05-19 13:18:48Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Cilyan Olowen <gaknar@gmail.com>
+# Contributor: fill <mailbox@fillo.ru>
+# Contributor: Anton Shestakov <engored*ya.ru>
+
+pkgname=flashrom
+pkgver=0.9.6.1
+pkgrel=2
+pkgdesc="Utility for reading, writing, erasing and verifying flash ROM chips"
+url="http://www.flashrom.org/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libftdi' 'pciutils')
+optdepends=('dmidecode: for SMBIOS/DMI table decoder support')
+source=("http://download.flashrom.org/releases/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('407e836c0a2b17ec76583cb6809f65e5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i "s:sbin:bin:g" Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make PREFIX="${pkgdir}/usr" install
+}
diff --git a/community/fldiff/PKGBUILD b/community/fldiff/PKGBUILD
new file mode 100644
index 000000000..e528e4221
--- /dev/null
+++ b/community/fldiff/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 83678 2013-02-04 11:05:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: kevin <kevin@archlinux.org>
+# Contributor: iztok pizorn <pizorn@gmail.com>
+
+pkgname=fldiff
+pkgver=1.1
+pkgrel=7
+pkgdesc="graphical diff program"
+arch=(i686 x86_64)
+url="http://www.easysw.com/~mike/fldiff/"
+license=('GPL')
+install=fldiff.install
+depends=('diffutils' 'fltk' 'xdg-utils')
+source=(http://www.easysw.com/~mike/fldiff/$pkgname-$pkgver-source.tar.gz
+ build-fix.patch)
+md5sums=('12897c92106fb5d665210a2e82f5cf25'
+ 'ea7258e07544b81561c6d76a41c184e7')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 <$srcdir/build-fix.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make BUILDROOT=$pkgdir install install-desktop
+ mv `find $pkgdir/ -name Development -type d` $pkgdir/usr/share/applications
+}
diff --git a/community/fldiff/build-fix.patch b/community/fldiff/build-fix.patch
new file mode 100644
index 000000000..bb3e0245e
--- /dev/null
+++ b/community/fldiff/build-fix.patch
@@ -0,0 +1,31 @@
+Only in fldiff-1.1.my: config.log
+Only in fldiff-1.1.my: config.status
+Only in fldiff-1.1.my: DiffChooser.o
+Only in fldiff-1.1.my: DiffOpenWindow.o
+Only in fldiff-1.1.my: DiffView.o
+diff -wbBur fldiff-1.1/DiffWindow.cxx fldiff-1.1.my/DiffWindow.cxx
+--- fldiff-1.1/DiffWindow.cxx 2006-11-13 21:54:02.000000000 +0300
++++ fldiff-1.1.my/DiffWindow.cxx 2011-07-05 12:58:38.000000000 +0400
+@@ -1126,11 +1126,11 @@
+ DiffWindow::save_prefs()
+ {
+ // Save the window prefs for the next run...
+- prefs_.set("color", color());
+- prefs_.set("selection_color", selection_color());
++ prefs_.set("color", (int)color());
++ prefs_.set("selection_color", (int)selection_color());
+ prefs_.set("showlinenum", showlinenum());
+ prefs_.set("tabwidth", tabwidth());
+- prefs_.set("textcolor", textcolor());
++ prefs_.set("textcolor", (int)textcolor());
+ prefs_.set("textsize", textsize());
+ prefs_.set("ignoreblanks", ignoreblanks());
+ }
+Only in fldiff-1.1.my: DiffWindow.o
+Only in fldiff-1.1.my: FavoritesMenu.o
+Only in fldiff-1.1.my: FavoritesWindow.o
+Only in fldiff-1.1.my: fldiff
+Only in fldiff-1.1.my: fldiff.list
+Only in fldiff-1.1.my: fldiff.o
+Only in fldiff-1.1.my: Makefile
+Only in fldiff-1.1.my: PtProcess.o
diff --git a/community/fldiff/fldiff.install b/community/fldiff/fldiff.install
new file mode 100644
index 000000000..b95cc069d
--- /dev/null
+++ b/community/fldiff/fldiff.install
@@ -0,0 +1,11 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
diff --git a/community/flickcurl/PKGBUILD b/community/flickcurl/PKGBUILD
new file mode 100644
index 000000000..9b316bb1c
--- /dev/null
+++ b/community/flickcurl/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 88309 2013-04-16 13:27:02Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=flickcurl
+pkgver=1.24
+pkgrel=1
+pkgdesc="C library for the Flickr API"
+arch=(i686 x86_64)
+url="http://librdf.org/flickcurl/"
+license=('GPL')
+depends=('raptor' 'curl')
+source=(http://download.dajobe.org/flickcurl/flickcurl-$pkgver.tar.gz)
+md5sums=('7cf6a627465471d76a5f4dc31099d9cf')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's|#include <curl/types.h>||' src/flickcurl_internal.h
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/flightgear/PKGBUILD b/community/flightgear/PKGBUILD
new file mode 100644
index 000000000..5cd15184b
--- /dev/null
+++ b/community/flightgear/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 92437 2013-06-05 11:05:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: William Rea <sillywilly@gmail.com>
+# Contributor: Hans Janssen <hans@janserv.xs4all.nl>
+
+pkgname=flightgear
+pkgver=2.10.0
+pkgrel=3
+pkgdesc="An open-source, multi-platform flight simulator"
+arch=(i686 x86_64)
+depends=('simgear' 'libxmu' 'libxi' 'zlib' 'openscenegraph' 'subversion' 'libxrandr' 'glu')
+makedepends=('boost' 'cmake' 'mesa' 'sharutils')
+license=("GPL")
+url="http://www.flightgear.org"
+options=('!makeflags')
+#source=("$pkgname-$pkgver.tar.gz::https://gitorious.org/fg/flightgear/archive-tarball/release/$pkgver")
+#source=("ftp://ftp.de.flightgear.org/pub/fgfs/Source/flightgear-$pkgver.tar.bz2")
+source=("http://mirrors.ibiblio.org/pub/mirrors/flightgear/ftp/Source/flightgear-$pkgver.tar.bz2")
+md5sums=('ae7fc8d1e446c5d1fe2aa82ee41dcac5')
+
+build() {
+ cd $srcdir/flightgear-$pkgver
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DFG_DATA_DIR:STRING="/usr/share/flightgear/data" .
+ uudecode -o package/flightgear.png package/flightgear.png.uue
+ make
+ sed -i 's|Exec=.*|Exec=fgfs --fg-root=/usr/share/flightgear/data|' package/flightgear.desktop
+}
+
+package() {
+ depends=(${depends[@]} 'flightgear-data')
+
+ cd $srcdir/flightgear-$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -Dm0644 package/flightgear.desktop $pkgdir/usr/share/applications/flightgear.desktop
+ install -Dm0644 package/flightgear.ico $pkgdir/usr/share/icons/flightgear.ico
+ install -Dm0644 package/flightgear.png $pkgdir/usr/share/icons/flightgear.png
+ ln -sf flightgear $pkgdir/usr/share/FlightGear
+}
diff --git a/community/flobopuyo/PKGBUILD b/community/flobopuyo/PKGBUILD
new file mode 100644
index 000000000..4531d93f9
--- /dev/null
+++ b/community/flobopuyo/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 67617 2012-03-13 14:21:37Z lcarlier $
+# Maintainer : Jaroslav Lichtblau <tu@dragonlord.cz>
+# Contributor: Angelo Theodorou <encelo@users.sourceforge.net>
+# contributor: Laurent Carlier <lordheavym@gmail.com>
+
+pkgname=flobopuyo
+pkgver=0.20
+pkgrel=6
+pkgdesc="Clone of the famous PuyoPuyo"
+arch=('i686' 'x86_64')
+url="http://freshmeat.net/projects/$pkgname/"
+license=('GPL')
+depends=('libgl' 'sdl_image' 'sdl_mixer')
+makedepends=('mesa' 'patch')
+changelog=$pkgname.changelog
+source=(http://www.sourcefiles.org/Games/Puzzle/$pkgname-$pkgver.tgz \
+ $pkgname-makefile.patch $pkgname-0.20-gcc4.patch \
+ $pkgname-0.20-libs.patch
+ $pkgname.desktop
+ $pkgname.png)
+md5sums=('88961898c9dd48b60464f6f10f695b8b'
+ '4c6667be791681d43bb7ea1b6f9f9072'
+ 'bb8afd6e04bde08fd33e22c466674878'
+ 'b7c0fd71cd948bbc43a86742ffad6d86'
+ '20ebbe6e7ad57fe5f89a03ee40b4257e'
+ 'd9abe591e6cdd654269474444df1ec9d')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ patch -Np0 < ${srcdir}/$pkgname-makefile.patch
+ patch -Np1 < ${srcdir}/$pkgname-$pkgver-gcc4.patch
+ patch -Np1 < ${srcdir}/$pkgname-$pkgver-libs.patch
+
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+
+ install -D -m644 man/${pkgname}.6 ${pkgdir}/usr/share/man/man6/$pkgname.6
+ install -D ${srcdir}/$pkgname.desktop ${pkgdir}/usr/share/applications/$pkgname.desktop
+ install -D ${srcdir}/$pkgname.png ${pkgdir}/usr/share/pixmaps/$pkgname.png
+}
diff --git a/community/flobopuyo/flobopuyo-0.20-gcc4.patch b/community/flobopuyo/flobopuyo-0.20-gcc4.patch
new file mode 100644
index 000000000..6c5d39445
--- /dev/null
+++ b/community/flobopuyo/flobopuyo-0.20-gcc4.patch
@@ -0,0 +1,25 @@
+Index: flobopuyo-0.20/IosVector.cpp
+===================================================================
+--- flobopuyo-0.20.orig/IosVector.cpp
++++ flobopuyo-0.20/IosVector.cpp
+@@ -102,6 +102,6 @@ void IosVector::increaseVectorSize()
+ void IosVector::dumpVector() const {
+ fprintf(stderr, "Size: %d\n", getSize());
+ for (int i = 0, j = getSize() ; i < j ; i++)
+- fprintf(stderr, "elt[%d]=%d ", i, (int)getElementAt(i));
++ fprintf(stderr, "elt[%d]=%p ", i, getElementAt(i));
+ fprintf(stderr, "\n");
+ }
+Index: flobopuyo-0.20/PuyoGame.cpp
+===================================================================
+--- flobopuyo-0.20.orig/PuyoGame.cpp
++++ flobopuyo-0.20/PuyoGame.cpp
+@@ -45,7 +45,7 @@ PuyoState PuyoRandomSystem::getPuyoForSe
+ return (PuyoState)newItem;
+ }
+ else
+- return (PuyoState)(int)(sequenceItems.getElementAt(sequence));
++ return (PuyoState)(long)(sequenceItems.getElementAt(sequence));
+ }
+
+ PuyoPuyo::PuyoPuyo(PuyoState state)
diff --git a/community/flobopuyo/flobopuyo-0.20-libs.patch b/community/flobopuyo/flobopuyo-0.20-libs.patch
new file mode 100644
index 000000000..b6cca53cb
--- /dev/null
+++ b/community/flobopuyo/flobopuyo-0.20-libs.patch
@@ -0,0 +1,136 @@
+--- flobopuyo-0.20/Makefile.orig 2004-10-08 18:41:12.000000000 -0400
++++ flobopuyo-0.20/Makefile 2008-08-06 19:48:47.000000000 -0400
+@@ -41,15 +41,13 @@
+ ##############
+
+ SDL_CONFIG=sdl-config
+-CC=g++
+-CXX=g++
+
+-CFLAGS= -DDATADIR=\"${DATADIR}\"
+-LDFLAGS=
++CXXFLAGS+= -DDATADIR=\"${DATADIR}\"
+
+ ifneq ($(PLATFORM), $(CYGWIN_VERSION))
+-CFLAGS:=$(CFLAGS) `$(SDL_CONFIG) --cflags` -I/sw/include
+-LDFLAGS:=$(LDFLAGS) `$(SDL_CONFIG) --cflags --libs`
++CXXFLAGS:=$(CXXFLAGS) `$(SDL_CONFIG) --cflags` -I/usr/include
++LDFLAGS:=$(LDFLAGS)
++LIBS:=$(LIBS) `$(SDL_CONFIG) --cflags --libs`
+ endif
+
+ HFILES= HiScores.h IosException.h IosImgProcess.h IosVector.h PuyoCommander.h\
+@@ -71,46 +69,46 @@
+ ################
+ # Mac OS X
+ ifeq ($(PLATFORM), Darwin)
+-CFLAGS:=$(CFLAGS) -DMACOSX -UDATADIR
++CXXFLAGS:=$(CXXFLAGS) -DMACOSX -UDATADIR
+ endif
+
+ ################
+ # Win32
+ ifeq ($(PLATFORM), $(CYGWIN_VERSION))
+-CFLAGS:=$(CFLAGS) -mno-cygwin -mwindows -DWIN32 -DYY_NEVER_INTERACTIVE=1 -I$(WINSDLINCLUDE)
+-LDFLAGS:=$(LDFLAGS) -L$(WINSDLDEVLIBS) -lmingw32 -ljpeg -lzlib -lpng1 -lSDL_image -lSDL_mixer -lSDL -lSDLmain
++CXXFLAGS:=$(CXXFLAGS) -mno-cygwin -mwindows -DWIN32 -DYY_NEVER_INTERACTIVE=1 -I$(WINSDLINCLUDE)
++LDFLAGS:=$(LDFLAGS) -L$(WINSDLDEVLIBS)
++LIBS:=$(LIBS) -lmingw32 -ljpeg -lzlib -lpng1 -lSDL_image -lSDL_mixer -lSDL -lSDLmain
+ endif
+
+ ifeq ($(ENABLE_AUDIO), true)
+-CFLAGS:=$(CFLAGS) -DUSE_AUDIO=1
++CXXFLAGS:=$(CXXFLAGS) -DUSE_AUDIO=1
+ OBJFILES:=$(OBJFILES)
+ endif
+
+ ifeq ($(ENABLE_OPENGL), true)
+-CFLAGS:=$(CFLAGS) -DHAVE_OPENGL=1
++CXXFLAGS:=$(CXXFLAGS) -DHAVE_OPENGL=1
+ OBJFILES:=$(OBJFILES) glSDL.o
+ ifeq ($(PLATFORM), Linux)
+-LDFLAGS:=$(LDFLAGS) -lGL
++LDFLAGS:=$(LDFLAGS)
++LIBS:=$(LIBS) -lGL
+ endif
+ endif
+
+ ifeq ($(ENABLE_DGA), true)
+ ifeq ($(PLATFORM), Linux)
+-CFLAGS:=$(CFLAGS) -DUSE_DGA=1
++CXXFLAGS:=$(CXXFLAGS) -DUSE_DGA=1
+ endif
+ endif
+
+ ifeq ($(DEBUG), true)
+-CFLAGS:=$(CFLAGS) -DDEBUG=1 -g
++CXXFLAGS:=$(CXXFLAGS) -DDEBUG=1 -g
+ LDFLAGS:=$(LDFLAGS) -g
+ endif
+
+-CXXFLAGS=${CFLAGS}
+-
+ all: prelude flobopuyo
+
+ flobopuyo: ${OBJFILES}
+- @echo "[flobopuyo]" && g++ $(CFLAGS) $(LDFLAGS) -o flobopuyo -lSDL_mixer -lSDL_image ${OBJFILES}
++ @echo "[flobopuyo]" && $(CXX) $(LDFLAGS) $(OBJFILES) -o flobopuyo $(LIBS) -lSDL_mixer -lSDL_image
+ @echo "--------------------------------------"
+ @echo " Compilation finished"
+ @[ "x`cat WARNINGS | wc -l`" != "x0" ] && echo -e "--------------------------------------\n There have been some warnings:\n" && cat WARNINGS && rm -f WARNINGS && echo "--------------------------------------" || true
+@@ -121,14 +119,14 @@
+ prelude:
+ @rm -f WARNINGS
+ @touch WARNINGS
+- @echo "Compiling with CFLAGS=$(CFLAGS)"
++ @echo "Compiling with CXXFLAGS=$(CXXFLAGS)"
+ @echo "Compiling with LDFLAGS=$(LDFLAGS)"
+
+ %.o:%.c
+- @echo "[$@]" && $(CC) $(CFLAGS) -c $< 2>> WARNINGS || (cat WARNINGS && false)
++ @echo "[$@]" && $(CXX) $(CXXFLAGS) -c $<
+
+ %.o:%.cpp
+- @echo "[$@]" && $(CXX) $(CFLAGS) -c $< 2>> WARNINGS || (cat WARNINGS && false)
++ @echo "[$@]" && $(CXX) $(CXXFLAGS) -c $<
+
+ PuyoDoomMelt.o:PuyoDoomMelt.c ${HFILES}
+ HiScores.o:HiScores.cpp HiScores.h preferences.h
+@@ -155,10 +153,10 @@
+ IosException.o:IosException.cpp
+ IosVector.o:IosVector.cpp
+ glSDL.o:glSDL.c
+- @echo "[$@]" && $(CC) $(CFLAGS) -c $< 2>> EXT_WARNINGS
++ @echo "[$@]" && $(CXX) $(CXXFLAGS) -c $<
+ @rm -f EXT_WARNINGS
+ SDL_prim.o:SDL_prim.c
+- @echo "[$@]" && $(CC) $(CFLAGS) -c $< 2>> EXT_WARNINGS
++ @echo "[$@]" && $(CXX) $(CXXFLAGS) -c $<
+ @rm -f EXT_WARNINGS
+ corona.o:corona.cpp
+ corona32.o:corona32.cpp
+@@ -178,7 +176,6 @@
+ rm -f .DS_Store */.DS_Store */*/.DS_Store .gdb_history
+
+ install: flobopuyo
+- strip flobopuyo
+ mkdir -p ${INSTALL_BINDIR}
+ mkdir -p ${INSTALL_DATADIR}
+ cp -r data/* ${INSTALL_DATADIR}
+@@ -191,7 +188,7 @@
+ chmod a+rx ${INSTALL_BINDIR}/flobopuyo
+
+ flobopuyo-static: prelude ${OBJFILES}
+- @echo "[flobopuyo-static]" && g++ $(CFLAGS) -o flobopuyo-static ${OBJFILES}\
++ @echo "[flobopuyo-static]" && g++ $(CXXFLAGS) -o flobopuyo-static ${OBJFILES}\
+ /sw/lib/libSDL_mixer.a /sw/lib/libvorbisfile.a /sw/lib/libvorbis.a /sw/lib/libogg.a /sw/lib/libsmpeg.a /sw/lib/libSDL_image.a /sw/lib/libjpeg.a /sw/lib/libpng.a -lz `$(SDL_CONFIG) --static-libs`
+ @echo "--------------------------------------"
+ @echo " Compilation finished"
+@@ -207,7 +204,6 @@
+ rm -rf $(bundle_name)/Contents/Resources/data/CVS $(bundle_name)/Contents/Resources/data/*/CVS
+ rm -rf $(bundle_name)/Contents/Resources/data/.xvpics $(bundle_name)/Contents/Resources/data/*/.xvpics
+ rm -f $(bundle_name)/Contents/Resources/data/.DS_Store $(bundle_name)/Contents/Resources/data/*/.DS_Store
+- strip $(bundle_name)/Contents/MacOS/flobopuyo
+
+ mac-package: bundle
+ mkdir -p $(macimage_name)
diff --git a/community/flobopuyo/flobopuyo-makefile.patch b/community/flobopuyo/flobopuyo-makefile.patch
new file mode 100644
index 000000000..e0ec22052
--- /dev/null
+++ b/community/flobopuyo/flobopuyo-makefile.patch
@@ -0,0 +1,21 @@
+--- Makefile 2004-10-09 01:41:12.000000000 +0300
++++ Makefile 2005-03-04 05:51:21.000000000 +0200
+@@ -6,15 +6,15 @@
+ # Settings
+
+ ENABLE_AUDIO=true
+-ENABLE_OPENGL=false
++ENABLE_OPENGL=true
+ ENABLE_DGA=false
+
+ DEBUG_MODE=false
+
+ # Unix/Linux settings
+-PREFIX=/usr/local
++PREFIX=/usr
+ DATADIR=$(PREFIX)/share/games/flobopuyo
+-INSTALL_BINDIR=$(DESTDIR)/$(PREFIX)/games
++INSTALL_BINDIR=$(DESTDIR)/$(PREFIX)/bin
+ INSTALL_DATADIR=$(DESTDIR)/$(DATADIR)
+
+ # Mac settings
diff --git a/community/flobopuyo/flobopuyo.changelog b/community/flobopuyo/flobopuyo.changelog
new file mode 100644
index 000000000..eee8fbb12
--- /dev/null
+++ b/community/flobopuyo/flobopuyo.changelog
@@ -0,0 +1,16 @@
+2010-11-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * flobopuyo 0.20-5
+ * home page and source file fix
+
+2010-07-13 Laurent Carlier <lordheavym@gmail.com>
+ * Rebuild for i686 and x86_64
+ * Add .desktop file and icon
+
+2008-09-15 Ronald van Haren <ronald.archlinux.org>
+ * added x86_64 version & a couple of patches to build it
+
+2008-09-14 Jaroslav Lichtblau <tu@dragonlord.cz>
+ * Added provided man page to the package
+
+2008-09-11 Jaroslav Lichtblau <tu@dragonlord.cz>
+ * Package moved to [community]
diff --git a/community/flobopuyo/flobopuyo.desktop b/community/flobopuyo/flobopuyo.desktop
new file mode 100644
index 000000000..aae37c31e
--- /dev/null
+++ b/community/flobopuyo/flobopuyo.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Flobopuyo
+Comment=A remake of the famous PuyoPuyo
+Exec=flobopuyo
+Icon=/usr/share/pixmaps/flobopuyo.png
+Terminal=false
+Type=Application
+Categories=Application;Game;ArcadeGame;
+StartupNotify=false
diff --git a/community/flobopuyo/flobopuyo.png b/community/flobopuyo/flobopuyo.png
new file mode 100644
index 000000000..5d52fedf7
--- /dev/null
+++ b/community/flobopuyo/flobopuyo.png
Binary files differ
diff --git a/community/flowcanvas/PKGBUILD b/community/flowcanvas/PKGBUILD
new file mode 100644
index 000000000..39dee6da0
--- /dev/null
+++ b/community/flowcanvas/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 63558 2012-02-05 11:55:57Z ibiru $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Max a.k.a. Synthead <synthead@gmail.com>
+# Contributor: christhemonkey <christhemonkey at gmail dot com>
+
+pkgname=flowcanvas
+pkgver=0.7.1
+pkgrel=3
+pkgdesc="Gtkmm/Gnomecanvasmm widget for boxes-and-lines style environments"
+arch=('i686' 'x86_64')
+url="http://drobilla.net/software/flowcanvas/"
+depends=('libgnomecanvasmm' 'graphviz')
+makedepends=('boost' 'python2')
+license=('GPL')
+install=$pkgname.install
+source=(http://download.drobilla.net/$pkgname-$pkgver.tar.bz2)
+md5sums=('a4908f6385ce9fd2ce97c8caa823f053')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python2 waf configure --prefix=/usr
+ python2 waf build $MAKEFLAGS
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python2 waf install --destdir="$pkgdir"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/flowcanvas/flowcanvas.install b/community/flowcanvas/flowcanvas.install
new file mode 100644
index 000000000..dbd9898d3
--- /dev/null
+++ b/community/flowcanvas/flowcanvas.install
@@ -0,0 +1,13 @@
+post_install() {
+ \ldconfig
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/floyd/PKGBUILD b/community/floyd/PKGBUILD
new file mode 100644
index 000000000..bf88c40de
--- /dev/null
+++ b/community/floyd/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 83680 2013-02-04 11:05:45Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=floyd
+pkgver=2.0.1
+pkgrel=4
+pkgdesc="displays system load with pulse of keyboard LED"
+arch=('i686' 'x86_64')
+url="http://www.asahi-net.or.jp/~pi9s-nnb/floyd/"
+license=("GPL")
+depends=()
+source=(http://www.asahi-net.or.jp/~pi9s-nnb/floyd/$pkgname-$pkgver.tar.gz
+ build-fix.patch)
+md5sums=('c1b80bc76ac4e25e821a193428fa42a4'
+ '0cde2017ead790f9d556ef34c6a4008f')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 <$srcdir/build-fix.patch
+ make pthread
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ mkdir -p $pkgdir/usr/share/man/man1 $pkgdir/usr/bin
+ make install MANDIR=$pkgdir/usr/share/man/man1 BINDIR=$pkgdir/usr/bin
+}
diff --git a/community/floyd/build-fix.patch b/community/floyd/build-fix.patch
new file mode 100644
index 000000000..d78737b54
--- /dev/null
+++ b/community/floyd/build-fix.patch
@@ -0,0 +1,30 @@
+diff -wbBur floyd-2.0.1/floyd.c floyd-2.0.1.my/floyd.c
+--- floyd-2.0.1/floyd.c 2005-12-01 12:49:43.000000000 +0300
++++ floyd-2.0.1.my/floyd.c 2011-11-17 19:31:13.000000000 +0400
+@@ -167,11 +167,6 @@
+ }
+ if (gfprm.verbose || doargforked) /* doargforked: set by -D */
+ fprintf(stderr, "%s: signal %d received [%d]\n", progname, sig, getpid());
+-#ifdef linux
+- pthread_kill_other_threads_np();
+-#else
+- Maybe you loose. Check out if you have pthread_kill_other_threads_np().
+-#endif
+ close(fdes); /* but here ? */
+ exit(0);
+ }
+diff -wbBur floyd-2.0.1/voodoo.c floyd-2.0.1.my/voodoo.c
+--- floyd-2.0.1/voodoo.c 1999-07-29 18:01:10.000000000 +0400
++++ floyd-2.0.1.my/voodoo.c 2011-11-17 19:31:18.000000000 +0400
+@@ -101,11 +101,6 @@
+ perror("KDSETLED");
+ }
+ fprintf(stderr, "%s: signal %d received [%d]\n", progname, sig, getpid());
+-#ifdef linux
+- pthread_kill_other_threads_np();
+-#else
+- Maybe you loose. Check out if you have pthread_kill_other_threads_np().
+-#endif
+ exit(0);
+ }
+
diff --git a/community/flumotion/PKGBUILD b/community/flumotion/PKGBUILD
new file mode 100644
index 000000000..44a9523b6
--- /dev/null
+++ b/community/flumotion/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 91878 2013-05-28 18:07:53Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=flumotion
+pkgver=0.10.1
+pkgrel=2
+arch=('i686' 'x86_64')
+pkgdesc="A streaming media server"
+url="http://www.flumotion.net"
+options=('!libtool')
+license=('GPL')
+backup=(etc/flumotion/workers/default.xml
+ etc/flumotion/managers/default/planet.xml)
+depends=('gtk2' 'pygtk' 'gstreamer0.10-python' 'kiwi' 'gstreamer0.10-good-plugins'
+ 'gstreamer0.10-base-plugins' 'python2-pyopenssl' 'twisted' 'gnome-vfs')
+makedepends=('perlxml')
+source=(http://www.flumotion.net/src/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('fbbb2f4ccf0624742c5ca8238f3ec5e0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # python2 fix
+ sed -i 's_candidate in python_candidate in python2_' configure
+ 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
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -d "$pkgdir/etc/$pkgname"
+ make DESTDIR="$pkgdir" install
+ cp -R conf/workers "$pkgdir/etc/$pkgname"
+ cp -R conf/managers "$pkgdir/etc/$pkgname"
+ cp conf/default.pem "$pkgdir/etc/$pkgname"
+}
diff --git a/community/fonteditfs/ChangeLog b/community/fonteditfs/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/fonteditfs/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/fonteditfs/PKGBUILD b/community/fonteditfs/PKGBUILD
new file mode 100644
index 000000000..3e4cb610c
--- /dev/null
+++ b/community/fonteditfs/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 65192 2012-02-20 10:09:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=fonteditfs
+pkgver=1.2
+pkgrel=3
+pkgdesc="console font editor"
+arch=('i686' 'x86_64')
+url="http://fonteditfs.sourceforge.net/"
+license=('GPL')
+depends=('ncurses')
+source=("http://downloads.sourceforge.net/sourceforge/fonteditfs/fnteditfs-$pkgver.tgz")
+md5sums=('1e7c827da078d41a76459439dda0d5a9')
+
+build() {
+ cd $srcdir/fnteditfs-$pkgver
+ make
+ install -D -m0755 fnteditfs $pkgdir/usr/bin/fnteditfs
+ install -D -m0644 fnteditfs.1 $pkgdir/usr/share/man/man1/fnteditfs.1
+}
diff --git a/community/fortune-mod/01_all_fortune_all-fix.patch b/community/fortune-mod/01_all_fortune_all-fix.patch
new file mode 100644
index 000000000..b4175ac81
--- /dev/null
+++ b/community/fortune-mod/01_all_fortune_all-fix.patch
@@ -0,0 +1,21 @@
+--- fortune/fortune.c.old 2006-03-11 15:33:14.000000000 +0100
++++ fortune/fortune.c 2006-03-11 15:43:16.000000000 +0100
+@@ -974,7 +974,7 @@
+ if (!ret)
+ ret=add_file(percent, fullpathname, NULL, &File_list,
+ &File_tail, NULL);
+- if ( (!ret && fullpathname != locpathname) || strcmp(sp, "all") == 0 )
++ if (!ret && strncmp(fullpathname, locpathname, sizeof(fullpathname)))
+ ret=add_file(percent, locpathname, NULL, &File_list,
+ &File_tail, NULL);
+
+@@ -985,7 +985,8 @@
+ }
+ if (!ret)
+ return FALSE;
+-
++ if (strncmp(fullpathname, locpathname, sizeof(fullpathname)) && strcmp(sp, "all") == 0)
++ add_file(percent, locpathname, NULL, &File_list, &File_tail, NULL);
+ }
+ else
+ if (!add_file(percent, fullpathname, NULL, &File_list,
diff --git a/community/fortune-mod/LICENSE b/community/fortune-mod/LICENSE
new file mode 100644
index 000000000..d0ad75977
--- /dev/null
+++ b/community/fortune-mod/LICENSE
@@ -0,0 +1,35 @@
+/*-
+ * Copyright (c) 1986, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Ken Arnold.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
+ */
diff --git a/community/fortune-mod/PKGBUILD b/community/fortune-mod/PKGBUILD
new file mode 100644
index 000000000..3fbbe9f80
--- /dev/null
+++ b/community/fortune-mod/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92041 2013-05-31 00:16:32Z seblu $
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: Dale Blount <archlinux@dale.us>
+
+pkgname=fortune-mod
+pkgver=1.99.1
+pkgrel=6
+pkgdesc="The Fortune Cookie Program from BSD games"
+arch=('i686' 'x86_64')
+url="http://www.redellipse.net/code/fortune"
+license=('BSD')
+depends=('recode')
+source=(ftp://ftp.archlinux.org/other/fortune-mod/$pkgname-$pkgver.tar.gz LICENSE 01_all_fortune_all-fix.patch)
+md5sums=('f208805b3b712e32997d7667e0ec52d8'
+ '0217481ae93971296cfb7872157cabb7'
+ 'e85b073f16dc6f0e8f0ed90044797aa3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p0 < ../01_all_fortune_all-fix.patch
+ make REGEXDEFS='-DHAVE_REGEX_H -DPOSIX_REGEX -DHAVE_STDBOOL' \
+ COOKIEDIR=/usr/share/fortune \
+ LOCALDIR=/usr/local/share/fortune all fortune/fortune.man
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make FORTDIR="$pkgdir"/usr/bin \
+ COOKIEDIR="$pkgdir"/usr/share/fortune \
+ BINDIR="$pkgdir"/usr/bin \
+ BINMANDIR="$pkgdir"/usr/share/man/man1 \
+ FORTMANDIR="$pkgdir"/usr/share/man/man6 install
+ rm "$pkgdir"/usr/share/fortune/*.u8
+ rm "$pkgdir"/usr/share/fortune/off/*.u8
+ install -D -m644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/fox/PKGBUILD b/community/fox/PKGBUILD
new file mode 100644
index 000000000..c86ae3a95
--- /dev/null
+++ b/community/fox/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 90025 2013-05-06 19:36:56Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=fox
+pkgver=1.6.49
+pkgrel=2
+pkgdesc="Free Objects for X: GUI Toolkit for C++"
+arch=('i686' 'x86_64')
+url="http://www.fox-toolkit.org/"
+license=('LGPL' 'custom')
+depends=('bzip2' 'libxcursor' 'libxft' 'libxrandr' 'libxi' 'libpng' 'libtiff' 'glu')
+makedepends=('mesa')
+optdepends=('perl')
+options=('!libtool')
+source=(http://ftp.fox-toolkit.org/pub/fox-$pkgver.tar.gz)
+md5sums=('e120647d26a27ed37cd5fed8b75c8a3d')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ export CPPFLAGS="$CPPFLAGS -I/usr/include/freetype2"
+ ./configure --prefix=/usr \
+ --enable-release \
+ --with-xft=yes \
+ --with-opengl=yes \
+ --with-xim \
+ --with-xshm \
+ --with-shape \
+ --with-xcursor \
+ --with-xrender \
+ --with-xrandr \
+ --with-xfixes \
+ --with-xinput
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ cd ${srcdir}/${pkgname}-${pkgver}/tests
+ make ControlPanel
+ install -m755 ${srcdir}/${pkgname}-${pkgver}/tests/.libs/ControlPanel ${pkgdir}/usr/bin/
+ install -Dm644 ../LICENSE_ADDENDUM ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/fpc/PKGBUILD b/community/fpc/PKGBUILD
new file mode 100644
index 000000000..f5235a6df
--- /dev/null
+++ b/community/fpc/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id: PKGBUILD 84832 2013-02-25 10:36:39Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Valeriy Lyasotskiy <onestep@ukr.net>
+# Contributor: Jan Willemson <janwil@hot.ee>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+# Contributor: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Original PKGBUILD: Andre Naumann <anaumann@SPARCed.org>
+# See http://bbs.archlinux.org/viewtopic.php?t=9318&highlight=fpc
+
+pkgname=fpc
+pkgver=2.6.2
+_gdbver=7.5.1
+pkgrel=1
+pkgdesc="The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32bit Pascal Compiler. It comes with fully TP 7.0 compatible run-time library."
+arch=('i686' 'x86_64')
+url="http://www.freepascal.org/"
+license=('GPL' 'LGPL' 'custom')
+backup=("etc/fpc.cfg")
+depends=(ncurses zlib expat)
+makedepends=(fpc)
+options=(zipman)
+source=(ftp://ftp.freepascal.org/pub/fpc/dist/$pkgver/source/fpcbuild-$pkgver.tar.gz
+ http://ftp.gnu.org/gnu/gdb/gdb-${_gdbver}.tar.bz2
+ fpc-gdb.patch)
+md5sums=('89c7e60db6280f3d5cc006a4a9ff43a9'
+ '3f48f468b24447cf24820054ff6e85b1'
+ '1e45ece6b5d4ee60b860e75926b4122d')
+
+build() {
+ cd ${srcdir}/gdb-${_gdbver}
+# ./configure --prefix=/usr --disable-nls --without-python --disable-werror --disable-tui
+# make
+# make -C gdb libgdb.a
+# cp libdecnumber/libdecnumber.a gdb/
+
+ cd ${srcdir}/fpcbuild-$pkgver
+# patch -p1 <$srcdir/fpc-gdb.patch
+ export GDBLIBDIR=${srcdir}/gdb-${_gdbver}/gdb
+ export LIBGDBFILE=$GDBLIBDIR/libgdb.a
+ pushd fpcsrc/compiler
+ fpcmake -Tall
+ popd
+ make build NOGDB=1
+}
+
+package() {
+ cd ${srcdir}/fpcbuild-$pkgver
+
+ export HOME=$srcdir
+
+ make -j1 PREFIX=${pkgdir}/usr install
+
+ export PATH=$pkgdir/usr/bin:$PATH
+
+ install -Dm0644 fpcsrc/rtl/COPYING.FPC ${pkgdir}/usr/share/licenses/${pkgname}/COPYING.FPC
+
+ [ "$CARCH" = "i686" ] && ln -s /usr/lib/fpc/${pkgver}/ppc386 ${pkgdir}/usr/bin/
+ [ "$CARCH" = "x86_64" ] && ln -s /usr/lib/fpc/${pkgver}/ppcx64 ${pkgdir}/usr/bin/
+
+ mkdir -p ${pkgdir}/etc
+ ${pkgdir}/usr/lib/fpc/${pkgver}/samplecfg $pkgdir/usr/lib/fpc/${pkgver} ${pkgdir}/etc
+
+ # use -fPIC by default
+ echo -e "#ifdef cpux86_64\n# for x86_64 use -fPIC by default\n-Cg\n#endif" >> "$pkgdir/etc/fpc.cfg"
+
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+
+ find $pkgdir/etc/ -type f -exec sed -i "s|$pkgdir||g" {} \;
+}
diff --git a/community/fpc/fpc-gdb.patch b/community/fpc/fpc-gdb.patch
new file mode 100644
index 000000000..f46b556bb
--- /dev/null
+++ b/community/fpc/fpc-gdb.patch
@@ -0,0 +1,737 @@
+diff -wbBur fpcbuild-2.6.0/fpcsrc/ide/fp.pas fpcbuild-2.6.0.my/fpcsrc/ide/fp.pas
+--- fpcbuild-2.6.0/fpcsrc/ide/fp.pas 2010-08-20 15:04:44.000000000 +0400
++++ fpcbuild-2.6.0.my/fpcsrc/ide/fp.pas 2013-01-14 20:55:58.472376421 +0400
+@@ -14,6 +14,9 @@
+ **********************************************************************}
+ program FP;
+
++{$LINKLIB libz.so}
++
++
+ {$ifdef Windows}
+ { some windows versions, namely at least XP x64 don't like if the IDE stack
+ is too big }
+diff -wbBur fpcbuild-2.6.0/fpcsrc/packages/gdbint/Makefile fpcbuild-2.6.0.my/fpcsrc/packages/gdbint/Makefile
+--- fpcbuild-2.6.0/fpcsrc/packages/gdbint/Makefile 2011-12-11 00:19:00.000000000 +0400
++++ fpcbuild-2.6.0.my/fpcsrc/packages/gdbint/Makefile 2013-01-14 20:32:15.545303270 +0400
+@@ -2337,10 +2337,12 @@
+ endif
+ ifeq ($(OS_SOURCE),openbsd)
+ override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
++override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH)
+ endif
+ ifndef CROSSBOOTSTRAP
+ ifneq ($(BINUTILSPREFIX),)
+ override FPCOPT+=-XP$(BINUTILSPREFIX)
++override FPCMAKEOPT+=-XP$(BINUTILSPREFIX)
+ endif
+ ifneq ($(BINUTILSPREFIX),)
+ override FPCOPT+=-Xr$(RLINKPATH)
+diff -wbBur fpcbuild-2.6.0/fpcsrc/packages/gdbint/src/gdbint.pp fpcbuild-2.6.0.my/fpcsrc/packages/gdbint/src/gdbint.pp
+--- fpcbuild-2.6.0/fpcsrc/packages/gdbint/src/gdbint.pp 2011-12-10 20:50:23.000000000 +0400
++++ fpcbuild-2.6.0.my/fpcsrc/packages/gdbint/src/gdbint.pp 2013-01-14 20:53:27.332331458 +0400
+@@ -17,6 +17,7 @@
+
+ {$define NotImplemented}
+
++{$define GDB_DISABLE_PYTHON}
+ {$define COMPILING_GDBINT_UNIT}
+ {$ifdef USE_GDBLIBINC}
+ {$i gdblib.inc}
+@@ -50,7 +51,6 @@
+ {$ifdef GDB_V601}
+ {$info using gdb 6.1.x}
+ {$define GDB_V6}
+- {$define GDB_HAS_DB_COMMANDS}
+ {$undef GDB_HAS_DEPRECATED_CBPH}
+ {$endif def GDB_V601}
+
+@@ -58,14 +58,12 @@
+ {$ifdef GDB_V602}
+ {$info using gdb 6.2.x}
+ {$define GDB_V6}
+- {$define GDB_HAS_DB_COMMANDS}
+ {$endif def GDB_V602}
+
+ { 6.3.x }
+ {$ifdef GDB_V603}
+ {$info using gdb 6.3.x}
+ {$define GDB_V6}
+- {$define GDB_HAS_DB_COMMANDS}
+ {$endif def GDB_V603}
+
+ { 6.4.x }
+@@ -73,7 +71,6 @@
+ {$info using gdb 6.4.x}
+ {$define GDB_V6}
+ {$define GDB_NEEDS_NO_ERROR_INIT}
+- {$define GDB_HAS_DB_COMMANDS}
+ {$endif def GDB_V604}
+
+ { 6.5.x }
+@@ -87,7 +84,6 @@
+ {$ifdef GDB_V606}
+ {$info using gdb 6.6.x}
+ {$define GDB_V6}
+- {$define GDB_HAS_DB_COMMANDS}
+ {$define GDB_USES_BP_LOCATION}
+ {$define GDB_NEEDS_NO_ERROR_INIT}
+ {$define GDB_USES_EXPAT_LIB}
+@@ -98,7 +94,6 @@
+ {$ifdef GDB_V607}
+ {$info using gdb 6.7.x}
+ {$define GDB_V6}
+- {$define GDB_HAS_DB_COMMANDS}
+ {$define GDB_USES_BP_LOCATION}
+ {$define GDB_NEEDS_NO_ERROR_INIT}
+ {$define GDB_USES_EXPAT_LIB}
+@@ -109,7 +104,6 @@
+ {$ifdef GDB_V608}
+ {$info using gdb 6.8.x}
+ {$define GDB_V6}
+- {$define GDB_HAS_DB_COMMANDS}
+ {$define GDB_USES_BP_LOCATION}
+ {$define GDB_BP_LOCATION_HAS_GLOBAL_NEXT}
+ {$define GDB_NEEDS_NO_ERROR_INIT}
+@@ -120,13 +114,64 @@
+ {$define GDB_HAS_BP_NONE}
+ {$endif def GDB_V608}
+
++{ 7.5.x }
++{$ifdef GDB_V705}
++ {$info using gdb 7.5.x}
++ {$define GDB_V7}
++ {$define GDB_BP_LOCATION_HAS_GDBARCH}
++ {$define GDB_HAS_PROGRAM_SPACE}
++ {$define GDB_NO_UIOUT}
++ {$define GDB_NEEDS_INTERPRETER_SETUP}
++ {$define GDB_NEEDS_SET_INSTREAM}
++ {$define GDB_NOTIFY_BREAKPOINT_ARG_IS_BREAKPOINT_PTR}
++ {$define GDB_USES_BP_OPS}
++ {$define GDB_BP_TI_HAS_LENGTH}
++ {$define GDB_BP_LOCATION_HAS_REFCOUNT}
++ {$define GDB_BP_LOCATION_HAS_OPS}
++ {$define GDB_UI_FILE_HAS_WRITE_ASYNC}
++ {$ifdef win32}
++ {$define GDB_USES_LIBADVAPI32}
++ {$endif win32}
++{$endif def GDB_V705}
++
++{ 7.4.x }
++{$ifdef GDB_V704}
++ {$info using gdb 7.4.x}
++ {$define GDB_V7}
++ {$define GDB_BP_LOCATION_HAS_GDBARCH}
++ {$define GDB_HAS_PROGRAM_SPACE}
++ {$define GDB_NO_UIOUT}
++ {$define GDB_NEEDS_INTERPRETER_SETUP}
++ {$define GDB_NEEDS_SET_INSTREAM}
++ {$define GDB_NOTIFY_BREAKPOINT_ARG_IS_BREAKPOINT_PTR}
++ {$define GDB_USES_BP_OPS}
++ {$define GDB_BP_TI_HAS_LENGTH}
++ {$define GDB_BP_LOCATION_HAS_REFCOUNT}
++ {$define GDB_BP_LOCATION_HAS_OPS}
++ {$define GDB_UI_FILE_HAS_WRITE_ASYNC}
++ {$ifdef win32}
++ {$define GDB_USES_LIBADVAPI32}
++ {$endif win32}
++{$endif def GDB_V704}
++
+ { 7.3.x }
+ {$ifdef GDB_V703}
+ {$info using gdb 7.3.x}
+ {$define GDB_V7}
+ {$define GDB_BP_LOCATION_HAS_GDBARCH}
+ {$define GDB_HAS_PROGRAM_SPACE}
+-{$endif def GDB_V702}
++ {$define GDB_BP_TI_HAS_LENGTH}
++ {$define GDB_BP_LOCATION_HAS_REFCOUNT}
++ {$ifdef GDB_CVS}
++ {$define GDB_NO_UIOUT}
++ {$define GDB_NEEDS_INTERPRETER_SETUP}
++ {$define GDB_NEEDS_SET_INSTREAM}
++ {$define GDB_NOTIFY_BREAKPOINT_ARG_IS_BREAKPOINT_PTR}
++ {$define GDB_USES_BP_OPS}
++ {$define GDB_BP_LOCATION_HAS_OPS}
++ {$define GDB_UI_FILE_HAS_WRITE_ASYNC}
++ {$endif GDB_CVS}
++{$endif def GDB_V703}
+
+ { 7.2.x }
+ {$ifdef GDB_V702}
+@@ -448,8 +493,11 @@
+ {$LINKLIB libintl.a}
+ {$LINKLIB imagehlp}
+ {$endif not USE_MINGW_GDB}
+- {$LINKLIB kernel32}
++ {$ifdef GDB_USES_LIBADVAPI32}
++ {$LINKLIB advapi32}
++ {$endif GDB_USES_LIBADVAPI32}
+ {$LINKLIB user32}
++ {$LINKLIB kernel32}
+ {$endif win32}
+
+ {$ifdef win64}
+@@ -588,9 +636,11 @@
+ type
+
+ pui_file = ^ui_file;
++ pstdio_file = ^stdio_file;
+
+ ui_file_flush_ftype = procedure(stream : pui_file);cdecl;
+ ui_file_write_ftype = procedure(stream : pui_file;buf : pchar;len : longint);cdecl;
++ ui_file_write_async_save_ftype = procedure(stream : pui_file;buf : pchar;len : longint);cdecl;
+ ui_file_fputs_ftype = procedure(buf : pchar; stream : pui_file);cdecl;
+ ui_file_delete_ftype = procedure(stream : pui_file);cdecl;
+ ui_file_isatty_ftype = function(stream : pui_file) : longbool;cdecl;
+@@ -605,6 +655,9 @@
+ magic : plongint;
+ to_flush : ui_file_flush_ftype;
+ to_write : ui_file_write_ftype;
++ {$ifdef GDB_UI_FILE_HAS_WRITE_ASYNC}
++ to_write_async_safe : ui_file_write_async_save_ftype;
++ {$endif}
+ to_fputs : ui_file_fputs_ftype;
+ {$ifdef GDB_V6}
+ to_read : ui_file_read_ftype;
+@@ -616,6 +669,13 @@
+ to_data : pointer;
+ end;
+
++ stdio_file = record
++ magic : plongint;
++ _file : P_C_FILE;
++ df : longint;
++ close_p : longint;
++ end;
++
+ { used to delete stdio_ui_file gdb_stdout and gdb_stderr }
+ procedure ui_file_delete(stream : pui_file);cdecl;external;
+
+@@ -774,10 +834,16 @@
+ {$ifdef GDB_V6}
+ type
+ ui_out = pointer;
++{$ifndef GDB_NO_UIOUT}
+ var
+ uiout : ui_out;cvar;external;
++{$else GDB_NO_UIOUT}
++var
++ cli_uiout : ui_out;cvar;external;
++ current_uiout : ui_out;cvar;external;
++{$endif GDB_NO_UIOUT}
+ function cli_out_new (stream : pui_file):ui_out;cdecl;external;
+-{$endif}
++{$endif GDB_V6}
+
+ {$ifdef go32v2}
+ { needed to be sure %fs contains the DOS memory selector
+@@ -815,8 +881,11 @@
+ jmp_buf = dpmi_jmp_buf;
+ pjmp_buf = pdpmi_jmp_buf;
+
++
+ function setjmp(var rec : jmp_buf) : longint;cdecl;external;
+
++ function malloc(size : longint) : pointer;cdecl;external;
++
+ procedure longjmp(var rec : jmp_buf;return_value : longint);cdecl;external;
+
+ procedure reload_fs;assembler;
+@@ -869,6 +938,13 @@
+ pCORE_ADDR = ^CORE_ADDR;
+ pblock = ^block;
+
++ tframe_id = record
++ stack_addr, code_addr, special_addr : CORE_ADDR;
++ addr_p_flags : byte;{ for three 1 bit flags
++ stack_addr_p, code_addr_p, special_addr_p : cint : 1; }
++ inline_depth : longint;
++ end;
++
+ tlanguage = (language_unknown,language_auto,language_c,
+ language_cplus,language_java,language_chill,
+ language_fortran,language_m2,language_asm,
+@@ -897,9 +973,18 @@
+
+ target_hw_bp_type = (hw_write, hw_read, hw_access, hw_execute);
+
++ { pointer to structures that we don't need }
++ pbp_ops = pointer;
++ pbp_location_ops = pointer;
++ pprogram_space = pointer;
++ pgdbarch = pointer;
++
+ {$PACKRECORDS 4}
+ pbreakpoint = ^breakpoint;
+ breakpoint = record
++{$ifdef GDB_USES_BP_OPS}
++ ops : pbp_ops;
++{$endif GDB_USES_BP_OPS}
+ next : pbreakpoint;
+ typ : bptype;
+ enable : tenable;
+@@ -910,9 +995,15 @@
+ {$else not GDB_USES_BP_LOCATION}
+ address : CORE_ADDR;
+ {$endif not GDB_USES_BP_LOCATION}
++{$ifndef GDB_USES_BP_OPS}
+ line_number : longint;
+ source_file : pchar;
++{$endif not GDB_USES_BP_OPS}
+ silent : byte;
++{$ifdef GDB_USES_BP_OPS}
++ display_canonical: byte;
++{$endif GDB_USES_BP_OPS}
++
+ ignore_count : longint;
+ {$ifndef GDB_USES_BP_LOCATION}
+ shadow_contents : array[0..15] of char;
+@@ -919,10 +1010,21 @@
+ inserted : char;
+ duplicate : char;
+ {$endif not GDB_USES_BP_LOCATION}
++
+ commands : pointer; {^command_line}
++{$ifdef GDB_USES_BP_OPS}
++ frame_id : tframe_id;
++ pspace : pprogram_space;
++{$else not GDB_USES_BP_OPS}
+ frame : CORE_ADDR;
+ cond : pointer; {^expression}
+- addr_string : ^char;
++{$endif GDB_USES_BP_OPS}
++ addr_string : pchar;
++{$ifdef GDB_USES_BP_OPS}
++ filter : pchar;
++ addr_string_range_end : pchar;
++ gdbarch : pgdbarch;
++{$endif GDB_USES_BP_OPS}
+ language : tlanguage;
+ input_radix : longint;
+ cond_string : ^char;
+@@ -941,6 +1043,9 @@
+ bp_target_info = record
+ placed_address_space : pointer;{paddress_space;}
+ placed_address : CORE_ADDR;
++{$ifdef GDB_BP_TI_HAS_LENGTH}
++ length : longint;
++{$endif GDB_BP_TI_HAS_LENGTH}
+ shadow_contents : array[0..15] of char;
+ shadow_len : longint;
+ placed_size : longint;
+@@ -948,9 +1053,17 @@
+
+ bp_location = record
+ next : pbp_location;
++{$ifdef GDB_BP_LOCATION_HAS_OPS}
++ ops : pbp_location_ops;
++{$endif GDB_BP_LOCATION_HAS_OPS}
++
++{$ifdef GDB_BP_LOCATION_HAS_REFCOUNT}
++ refc : longint;
++{$else}
+ {$ifdef GDB_BP_LOCATION_HAS_GLOBAL_NEXT}
+ global_next : pbp_location;
+ {$endif GDB_BP_LOCATION_HAS_GLOBAL_NEXT}
++{$endif}
+ loc_type : bp_loc_type;
+ owner : pbreakpoint;
+ {$ifdef GDB_BP_LOCATION_HAS_GLOBAL_NEXT}
+@@ -961,10 +1074,10 @@
+ inserted : byte;
+ duplicate : byte;
+ {$ifdef GDB_BP_LOCATION_HAS_GDBARCH}
+- gdbarch : pointer;{pgdbarch;}
++ gdbarch : pgdbarch;
+ {$endif GDB_BP_LOCATION_HAS_GDBARCH}
+ {$ifdef GDB_HAS_PROGRAM_SPACE}
+- pspace : pointer;{pprogram_space;}
++ pspace : pprogram_space;
+ {$endif GDB_HAS_PROGRAM_SPACE}
+ address : CORE_ADDR;
+ {$ifdef GDB_BP_LOCATION_HAS_GLOBAL_NEXT}
+@@ -979,6 +1092,11 @@
+ target_info : bp_target_info;
+ overlay_target_info : bp_target_info;
+ events_till_retirement : longint;
++{$ifdef GDB_USES_BP_OPS}
++ { line and source file are in location }
++ line_number : longint;
++ source_file : pchar;
++{$endif not GDB_USES_BP_OPS}
+ end;
+
+ tfreecode=(free_nothing,free_contents,free_linetable);
+@@ -1488,7 +1606,9 @@
+ {$endif ndef GDB_HAS_OBSERVER_NOTIFY_BREAKPOINT_CREATED}
+ current_target : target_ops;cvar;external;
+ stop_pc : CORE_ADDR;cvar;external;
+- { Only used from GDB 5.01 but doesn't hurst otherwise }
++ { Only used from GDB 5.0 but doesn't hurst otherwise }
++ { This global variable is declared in defs.h as external
++ and instanciated in main.c since version 5.0. }
+ interpreter_p : pchar;cvar;public;
+
+ { we need also to declare some vars }
+@@ -1502,13 +1622,22 @@
+
+ { Whether xdb commands will be handled }
+ {$ifdef GDB_HAS_DB_COMMANDS}
++ { These two global variables are declared in defs.h
++ since version 4.18 }
+ xdb_commands : longint;cvar;public;
+
+ { Whether dbx commands will be handled }
+ dbx_commands : longint;cvar;public;
+ {$endif GDB_HAS_DB_COMMANDS}
+
++{$ifdef GDB_NEEDS_SET_INSTREAM}
+ var
++ instream : P_C_FILE;cvar;external;
++ function gdb_fopen (filename : pchar; mode : pchar) : pui_file;cdecl;external;
++{$endif GDB_NEEDS_SET_INSTREAM}
++var
++ { The four following variables are defined in defs.h
++ and instanciated in main.c since version 5.0 }
+ gdb_stdout : pui_file;cvar;public;
+ gdb_stderr : pui_file;cvar;public;
+ gdb_stdlog : pui_file;cvar;public;
+@@ -1516,6 +1645,9 @@
+ event_loop_p : longint;cvar;public;
+ {$ifdef GDB_V6}
+ (* target IO streams *)
++ { The three following variables are declared in defs.h
++ and instanciated in main.c since version 6.0 }
++ gdb_stdin : pui_file;cvar;public;
+ gdb_stdtargin : pui_file;cvar;public;
+ gdb_stdtargerr : pui_file;cvar;public;
+ {$endif}
+@@ -1523,7 +1655,10 @@
+ { used for gdb_stdout and gdb_stderr }
+ function xmalloc(size : longint) : pointer;cdecl;external;
+ { used for QueryHook }
+-function xstrvprintf(msg : pchar) : pchar; varargs; cdecl; external;
++{ xvasprintf is present at least from GDB 5.3
++ while xstrvprintf only appears in version 6.2,
++ so only use xvasprintf function }
++function xvasprintf(ret : ppchar; msg : pchar) : pchar; varargs; cdecl; external;
+ procedure xfree(p : pointer); cdecl; external;
+ function find_pc_line(i:CORE_ADDR;l:longint):symtab_and_line;cdecl;external;
+ function find_pc_function(i:CORE_ADDR):psymbol;cdecl;external;
+@@ -2406,11 +2541,15 @@
+ QueryHook:=0
+ else
+ begin
+- if curr_gdb^.reset_command and (pos('Kill',question)>0) then
++ if curr_gdb^.reset_command and ((pos('Kill',question)>0) or
++ (pos('Discard symbol table',question)>0)) then
+ QueryHook:=1
+ else if pos('%',question)>0 then
+ begin
+- local:=xstrvprintf(question,arg);
++ xvasprintf(@local,question,arg);
++ { xvasprintf can failed, in that case local is set to nil }
++ if not assigned(local) then
++ local:=question;
+ QueryHook:=curr_gdb^.Query(local, nil);
+ xfree(local);
+ end
+@@ -2451,7 +2590,12 @@
+ last_breakpoint_number:=b.number;
+ { function breakpoints have zero as file and as line !!
+ but they are valid !! }
++{$ifndef GDB_USES_BP_OPS}
+ invalid_breakpoint_line:=(b.line_number<>sym.line) and (b.line_number<>0);
++{$else GDB_USES_BP_OPS}
++ invalid_breakpoint_line:=(b.loc=nil) or
++ ((b.loc^.line_number<>sym.line) and (b.loc^.line_number<>0));
++{$endif GDB_USES_BP_OPS}
+ {$ifdef GDB_USES_BP_LOCATION}
+ if assigned (b.loc) then
+ last_breakpoint_address:=b.loc^.address
+@@ -2471,7 +2615,11 @@
+ {$ifdef GDB_HAS_OBSERVER_NOTIFY_BREAKPOINT_CREATED}
+
+ type
++{$ifdef GDB_NOTIFY_BREAKPOINT_ARG_IS_BREAKPOINT_PTR}
++ breakpoint_created_function_type = procedure (bpp : pbreakpoint); cdecl;
++{$else not GDB_NOTIFY_BREAKPOINT_ARG_IS_BREAKPOINT_PTR}
+ breakpoint_created_function_type = procedure (bpnum : longint); cdecl;
++{$endif not GDB_NOTIFY_BREAKPOINT_ARG_IS_BREAKPOINT_PTR}
+ pobserver = pointer;
+ var
+ breakpoint_created_observer : pobserver = nil;
+@@ -2479,8 +2627,14 @@
+ function observer_attach_breakpoint_created(create_func : breakpoint_created_function_type) : pobserver;cdecl;external;
+ procedure observer_detach_breakpoint_created(pob : pobserver);cdecl;external;
+
+-var breakpoint_chain : pbreakpoint ;cvar;external;
+
++{$ifdef GDB_NOTIFY_BREAKPOINT_ARG_IS_BREAKPOINT_PTR}
++procedure notify_breakpoint_created(bpp : pbreakpoint); cdecl;
++begin
++ CreateBreakpointHook(bpp^);
++end;
++{$else not GDB_NOTIFY_BREAKPOINT_ARG_IS_BREAKPOINT_PTR}
++var breakpoint_chain : pbreakpoint ;cvar;external;
+
+ procedure notify_breakpoint_created(bpnum : longint);cdecl;
+ var
+@@ -2498,8 +2652,16 @@
+ pb:=pb^.next;
+ end;
+ end;
++{$endif not GDB_NOTIFY_BREAKPOINT_ARG_IS_BREAKPOINT_PTR}
+ {$endif def GDB_HAS_OBSERVER_NOTIFY_BREAKPOINT_CREATED}
+
++{ Avoid loading of main.o object by providing a
++ stripped down version of relocate_gdb_directory function }
++function relocate_gdb_directory(path : pchar) : pchar; cdecl; public;
++begin
++ relocate_gdb_directory:=path;
++end;
++
+ {*****************************************************************************
+ tgdbinterface
+ *****************************************************************************}
+@@ -2528,7 +2690,7 @@
+ gdb_command('set print object on');
+ gdb_command('set print null-stop');
+ {$ifdef USE_MINGW_GDB} // maybe this also should be done for newer cygwin gdbs.
+- gdb_command('set confirm off');
++ //gdb_command('set confirm off');
+ {$endif}
+ end;
+
+@@ -2609,9 +2771,9 @@
+ var
+ top_level_val : longint;
+
+-function catch_errors(func : pointer; command : pchar; from_tty,mask : longint) : longint;cdecl;external;
++function catch_command_errors(func : pointer; command : pchar; from_tty,mask : longint) : longint;cdecl;external;
+
+-function gdbint_execute_command(command : pchar; from_tty,mask : longint) : longint;cdecl;
++function gdbint_execute_command(command : pchar; from_tty : longint) : longint;cdecl;
+ begin
+ gdbint_execute_command:=1;
+ execute_command(command,from_tty);
+@@ -2658,6 +2820,8 @@
+ begin
+ {$ifdef cpui386}
+ MaskAllFPUExceptions := control or MaskAllExceptions;
++{$else}
++ MaskAllFPUExceptions:=0;
+ {$endif}
+ end;
+
+@@ -2716,7 +2880,8 @@
+ begin
+ quit_return:=error_return;
+ mask:=longint($ffffffff);
+- catch_errors(@gdbint_execute_command,@command,0,mask);
++ catch_command_errors(@gdbint_execute_command,@command,
++ 1,mask);
+ {$ifdef go32v2}
+ reload_fs;
+ {$endif go32v2}
+@@ -2973,11 +3138,43 @@
+ c_environ : ppchar;external name '_environ';
+ c_argc : longint;external name '___crt0_argc';
+ c_argv : ppchar;external name '___crt0_argv';
++
++ procedure ReallocateEnvironUsingCMalloc;
++
++ var
++ neededsize , count : longint;
++ penv : pchar;
++ newenv : ppchar;
++ begin
++ if not assigned(c_environ) then
++ neededsize:=0
++ else
++ begin
++ count:=0;
++ penv:=c_environ^;
++ while assigned(penv) do
++ begin
++ inc(count);
++ inc(penv,sizeof(pchar));
++ end;
++ neededsize:=count*sizeof(pchar);
++ end;
++ newenv:=malloc(neededsize);
++ system.move(c_environ,newenv,neededsize);
++ c_environ:=newenv;
++ end;
++
+ {$endif def go32v2}
+ var
+ current_directory : pchar; cvar; external;
+ gdb_dirbuf : array[0..0] of char; cvar; external;
+ CurrentDir : AnsiString;
++{$ifdef GDB_NEEDS_INTERPRETER_SETUP}
++ type
++ interpreter_struct_p = pointer; { to opaque type }
++ function interp_lookup (name : pchar) : interpreter_struct_p;cdecl; external;
++ function interp_set (interp : interpreter_struct_p) : longbool;cdecl; external;
++{$endif GDB_NEEDS_INTERPRETER_SETUP}
+ const
+ DIRBUF_SIZE = 1024;
+
+@@ -2986,13 +3183,28 @@
+ var
+ OldSigInt : SignalHandler;
+ {$endif supportexceptions}
++{$ifdef GDB_NEEDS_SET_INSTREAM}
++var
++ dummy_file : pui_file;
++{$endif GDB_NEEDS_SET_INSTREAM}
++
+ {$ifdef GDB_INIT_HAS_ARGV0}
+ var
+ argv0 : pchar;
+ {$endif not GDB_INIT_HAS_ARGV0}
++{$ifdef GDB_NEEDS_INTERPRETER_SETUP}
++var
++ interp : interpreter_struct_p;
++{$endif GDB_NEEDS_INTERPRETER_SETUP}
++var
++ save_gdb_stdin,
++ save_gdb_stdout,
++ save_gdb_stderr : pui_file;
+ begin
+ {$ifdef go32v2}
+- c_environ:=system.envp;
++ { c_environ:=system.envp; }
++ { DJGPP libC presupposes the c_enivron was malloc'ated }
++ ReallocateEnvironUsingCMalloc;
+ c_argc:=system.argc;
+ c_argv:=system.argv;
+ {$endif def go32v2}
+@@ -3012,8 +3224,25 @@
+ ui_file_delete(gdb_stderr);
+ if assigned(gdb_stdout) then
+ ui_file_delete(gdb_stdout);
++{$ifdef GDB_NEEDS_SET_INSTREAM}
++ if assigned(gdb_stdin) then
++ ui_file_delete(gdb_stdin);
++ gdb_stdin:=mem_fileopen;
++ save_gdb_stdin:=gdb_stdin;
++ dummy_file :=gdb_fopen('dummy.$$$','a');
++ {in captured_main code, this is simply
++ instream:=stdin; but stdin is a highly system dependent macro
++ so that we try to avoid it here }
++ if assigned(dummy_file) then
++ instream:=pstdio_file(dummy_file^.to_data)^._file
++ else
++ instream:=nil;
++{$endif GDB_NEEDS_SET_INSTREAM}
++
+ gdb_stderr:=mem_fileopen;
+ gdb_stdout:=mem_fileopen;
++ save_gdb_stderr:=gdb_stderr;
++ save_gdb_stdout:=gdb_stdout;
+ gdb_stdlog:=gdb_stderr;
+ gdb_stdtarg:=gdb_stderr;
+ set_ui_file_write(gdb_stdout,@gdbint_ui_file_write);
+@@ -3022,7 +3251,9 @@
+ error_init;
+ {$endif GDB_NEEDS_NO_ERROR_INIT}
+ {$ifdef GDB_V6}
+-// gdb_stdtargin := gdb_stdin;
++{$ifdef GDB_NEEDS_SET_INSTREAM}
++ gdb_stdtargin := gdb_stdin;
++{$endif GDB_NEEDS_SET_INSTREAM}
+ gdb_stdtargerr := gdb_stderr;
+ {$endif}
+ GetDir(0, CurrentDir);
+@@ -3034,8 +3265,10 @@
+ next_exit:=exitproc;
+ exitproc:=@DoneLibGDB;
+ {$ifdef GDB_V6}
++{$ifndef GDB_NO_UIOUT}
+ uiout := cli_out_new (gdb_stdout);
+-{$endif}
++{$endif not GDB_NO_UIOUT}
++{$endif GDB_V6}
+ {$ifdef GDB_INIT_HAS_ARGV0}
+ getmem(argv0,length(paramstr(0))+1);
+ strpcopy(argv0,paramstr(0));
+@@ -3044,6 +3277,31 @@
+ {$else not GDB_INIT_HAS_ARGV0}
+ gdb_init;
+ {$endif not GDB_INIT_HAS_ARGV0}
++{$ifdef GDB_NEEDS_INTERPRETER_SETUP}
++ { interpreter can only be set after all files are
++ initialized, which is done in gdb_init function. }
++ interp := interp_lookup ('console');
++ interp_set (interp);
++
++ { We need to re-set gdb_stdXX ui_files }
++ if assigned(gdb_stderr) then
++ ui_file_delete(gdb_stderr);
++ if assigned(gdb_stdout) then
++ ui_file_delete(gdb_stdout);
++ if assigned(gdb_stdin) then
++ ui_file_delete(gdb_stdin);
++ gdb_stdin:=save_gdb_stdin;
++ gdb_stderr:=save_gdb_stderr;
++ gdb_stdout:=save_gdb_stdout;
++ gdb_stdlog:=gdb_stderr;
++ gdb_stdtarg:=gdb_stderr;
++ set_ui_file_write(gdb_stdout,@gdbint_ui_file_write);
++ set_ui_file_write(gdb_stderr,@gdbint_ui_file_write);
++{$ifdef GDB_NO_UIOUT}
++ cli_uiout := cli_out_new (gdb_stdout);
++ current_uiout:=cli_uiout;
++{$endif GDB_NO_UIOUT}
++{$endif GDB_NEEDS_INTERPRETER_SETUP}
+ {$ifdef supportexceptions}
+ {$ifdef unix}
+ fpsignal(SIGINT,OldSigInt);
+@@ -3069,14 +3327,34 @@
+ end;
+
+ {$ifdef GDB_HAS_SYSROOT}
+-var gdb_sysroot : pchar; cvar;public;
++ { Here we declare as cvar;public; a bunch of global
++ variables that are defined in main.c source.
++ We must not load main.o otherwise, we will get
++ into multiply defined symbols troubles. }
++var
++ gdb_sysrootc : char;
++ { used locally only to provide a pchar pointing to '\0' }
++ gdb_sysroot : pchar; cvar;public;
++ { gdb_sysroot global variable is declared in defs.h and
++ instanciated in main.c since version 6.0 }
+ gdb_datadir : pchar; cvar;public;
++ { gdb_datadir global variable is declared in defs.h and
++ instanciated in main.c since version 7.0 }
+ python_libdir : pchar;cvar;public;
+- gdb_sysrootc : char;
++ { python_libdir global variable is declared in defs.h and instanciated
++ in main.c since version 7.2 }
+ return_child_result : longbool;cvar;public;
++ { return_chlid_result global variable is declared in main.h and
++ instanciated in main.c since version 6.4 }
+ return_child_result_value : longint;cvar;public;
++ { return_child_result_value global variable is declared in main.h and
++ instanciated in main.c since version 6.4 with a startup value of -1 }
+ batch_silent : longbool;cvar;public;
++ { batch_silent global variable is declared in main.h since 7.0, but
++ instanciated in main.c since version 6.4 }
+ batch_flag : longbool;cvar;public;
++ { batch_flag global variable is declared in main.h and
++ instanciated in main.c since version 7.2 }
+ {$endif}
+ {$ifdef GDB_HAS_DEBUG_FILE_DIRECTORY}
+ var
+@@ -3086,6 +3364,7 @@
+ begin
+ {$ifdef GDB_HAS_SYSROOT}
+ gdb_sysrootc := #0;
++ return_child_result_value := -1;
+ gdb_sysroot := @gdb_sysrootc;
+ gdb_datadir := @gdb_sysrootc;
+ python_libdir := @gdb_sysrootc;
diff --git a/community/freedroid/PKGBUILD b/community/freedroid/PKGBUILD
new file mode 100644
index 000000000..ee93c4c3c
--- /dev/null
+++ b/community/freedroid/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 65289 2012-02-20 15:20:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=freedroid
+pkgver=1.0.2
+pkgrel=8
+pkgdesc="a clone of the classic game 'Paradroid' on Commodore 64"
+arch=('i686' 'x86_64')
+url="http://freedroid.sourceforge.net/"
+license=('GPL')
+depends=('glibc' 'sdl_image' 'sdl_mixer')
+source=(http://downloads.sourceforge.net/sourceforge/freedroid/$pkgname-$pkgver.tar.gz
+ freedroid.desktop
+ paraicon.png)
+md5sums=('585a65f61c2cd308ab45d5c514f695dc'
+ 'e4a34f00f1cd983331999022569f2b57'
+ '68a11e92695978a9aac58cc21a4899db')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+ make DESTDIR=$pkgdir install
+ install -Dm0644 $srcdir/paraicon.png $pkgdir/usr/share/icons/paraicon.png
+ install -Dm0644 $srcdir/freedroid.desktop $pkgdir/usr/share/applications/freedroid.desktop
+
+ rm -rf $pkgdir/usr/share/freedroid/mac-osx
+ rm -rf $pkgdir/usr/share/freedroid/freedroid.6
+ find $pkgdir/usr/share/freedroid -type f -name Makefile -exec rm -f {} \;
+ find $pkgdir/usr/share/freedroid -type f -name Makefile.in -exec rm -f {} \;
+ find $pkgdir/usr/share/freedroid -type f -name Makefile.am -exec rm -f {} \;
+}
diff --git a/community/freedroid/freedroid.desktop b/community/freedroid/freedroid.desktop
new file mode 100644
index 000000000..4abe39f7a
--- /dev/null
+++ b/community/freedroid/freedroid.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=FreeDroid
+Comment=An SDL Paranoid(c) clone game
+Exec=freedroid
+Icon=paraicon
+Terminal=false
+Type=Application
+Categories=Game;Arcade;
diff --git a/community/freedroid/paraicon.png b/community/freedroid/paraicon.png
new file mode 100644
index 000000000..09e7c9128
--- /dev/null
+++ b/community/freedroid/paraicon.png
Binary files differ
diff --git a/community/freedroidrpg/PKGBUILD b/community/freedroidrpg/PKGBUILD
new file mode 100644
index 000000000..8d55338b8
--- /dev/null
+++ b/community/freedroidrpg/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90026 2013-05-06 19:36:57Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: nut543 <kfs1@online.no>
+
+pkgname='freedroidrpg'
+pkgver=0.15.1
+pkgrel=4
+arch=('i686' 'x86_64')
+depends=('sdl_mixer' 'sdl_image' 'sdl_gfx' 'libogg' 'libvorbis' 'libgl' 'glu')
+makedepends=('mesa')
+optdepends=('python2' 'espeak')
+pkgdesc="a mature science fiction role playing game set in the future"
+url="http://freedroid.sourceforge.net"
+license=("GPL")
+source=(http://downloads.sourceforge.net/project/freedroid/freedroidRPG/freedroidRPG-0.15/freedroidRPG-$pkgver.tar.gz
+ freedroidrpg.jpg
+ freedroidrpg.desktop)
+md5sums=('b95ea6abae46bea6ee3ace9a1902f682'
+ 'b73d9dac44c7e83a6c80fbe4eb96ba79'
+ '9a10c2a2064439cdcff5b945dfb1c3ac')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir/ install
+ install -D -m644 $srcdir/freedroidrpg.jpg $pkgdir/usr/share/icons/freedroidrpg.jpg
+ install -D -m644 $srcdir/freedroidrpg.desktop $pkgdir/usr/share/applications/freedroidrpg.desktop
+}
diff --git a/community/freedroidrpg/freedroidrpg.desktop b/community/freedroidrpg/freedroidrpg.desktop
new file mode 100644
index 000000000..33ee2f5b8
--- /dev/null
+++ b/community/freedroidrpg/freedroidrpg.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=freedroidrpg
+Comment=Extension/modification of the classical Freedroid game(based on paradroid) into an RPG
+Exec=freedroidRPG
+Encoding=UTF-8
+Icon=/usr/share/icons/freedroidrpg.jpg
+Categories=Game;RolePlaying;
+Terminal=false
+StartupNotify=false
diff --git a/community/freedroidrpg/freedroidrpg.jpg b/community/freedroidrpg/freedroidrpg.jpg
new file mode 100644
index 000000000..4daa89313
--- /dev/null
+++ b/community/freedroidrpg/freedroidrpg.jpg
Binary files differ
diff --git a/community/freehdl/PKGBUILD b/community/freehdl/PKGBUILD
new file mode 100644
index 000000000..02bd0aad6
--- /dev/null
+++ b/community/freehdl/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 82362 2013-01-16 10:08:50Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Neil Darlow <neil@darlow.co.uk>
+# Contributor: Jens Maucher <defcon@archlinux.us>
+
+pkgname=freehdl
+pkgver=0.0.8
+pkgrel=5
+pkgdesc='An open-source (C++ generating) VHDL simulator'
+arch=('i686' 'x86_64')
+url='http://freehdl.seul.org'
+license=('GPL')
+depends=('perl')
+optdepends=('gtkwave: to view output when run standalone')
+options=('libtool')
+install=${pkgname}.install
+source=("http://downloads.sourceforge.net/qucs/$pkgname-$pkgver.tar.gz")
+md5sums=('aa1382b8b5c6a972e9652c648a9278b5')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ sed -i 's|my $cpplibs = .*|my $cpplibs = "-lm -lfreehdl-kernel -lfreehdl-std";|g' v2cc/gvhdl-local v2cc/gvhdl.in
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/freehdl/freehdl.install b/community/freehdl/freehdl.install
new file mode 100644
index 000000000..15e22d4b5
--- /dev/null
+++ b/community/freehdl/freehdl.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(fire.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/freeimage/PKGBUILD b/community/freeimage/PKGBUILD
new file mode 100644
index 000000000..3d9a9d58e
--- /dev/null
+++ b/community/freeimage/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Mihai Militaru <mihai.militaru@gmx.com>
+# Contributor: scippio <scippio@berounet.cz>
+
+pkgname=freeimage
+pkgver=3.15.4
+pkgrel=1
+pkgdesc="Library project for developers who would like to support popular graphics image formats"
+arch=('i686' 'x86_64')
+license=('GPL' 'custom:FIPL')
+url="http://freeimage.sourceforge.net/"
+depends=('gcc-libs')
+makedepends=('dos2unix')
+source=("http://downloads.sourceforge.net/project/freeimage/Source%20Distribution/${pkgver}/FreeImage${pkgver//./}.zip")
+md5sums=('9f9a3b2c3c1b4fd24fe479e8aaee86b1')
+
+build() {
+ cp -r FreeImage FreeImagefip
+
+ export CFLAGS="$CFLAGS -fPIC -fexceptions -fvisibility=hidden -DNO_LCMS"
+ export CXXFLAGS="$CXXFLAGS -fPIC -fexceptions -fvisibility=hidden -DNO_LCMS"
+
+ cd FreeImage
+ sed -i "1 i #include <cstring>" Source/OpenEXR/IlmImf/ImfAutoArray.h
+ make
+
+ cd ${srcdir}/FreeImagefip
+ sed -i "1 i #include <cstring>" Source/OpenEXR/IlmImf/ImfAutoArray.h
+ make -f Makefile.fip
+}
+
+package() {
+ cd FreeImage
+ make DESTDIR=${pkgdir} install
+
+ cd ${srcdir}/FreeImagefip
+ make -f Makefile.fip DESTDIR=${pkgdir} install
+
+ install -D -m644 ${srcdir}/FreeImage/license-fi.txt ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/freemat/ChangeLog b/community/freemat/ChangeLog
new file mode 100644
index 000000000..dba4cf7ec
--- /dev/null
+++ b/community/freemat/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/freemat/PKGBUILD b/community/freemat/PKGBUILD
new file mode 100644
index 000000000..67d4be403
--- /dev/null
+++ b/community/freemat/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 85346 2013-03-01 10:30:37Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=freemat
+pkgver=4.1
+pkgrel=7
+pkgdesc="A free environment for rapid engineering, scientific prototyping and data processing"
+arch=('i686' 'x86_64')
+url="http://freemat.sourceforge.net"
+license=('GPL')
+depends=('qt4' 'ffcall' 'fftw' 'portaudio' 'libffi' 'glu')
+makedepends=('arpack' 'lapack' 'umfpack' 'blas' 'libmatio' 'cmake' 'python2' 'mesa')
+install=freemat.install
+source=(http://downloads.sourceforge.net/project/freemat/FreeMat4/FreeMat-$pkgver-Source.tar.gz
+ build-fix.patch)
+md5sums=('929d31e2310feaff5d380fc2f7b4d1a2'
+ '2d11a28aa2a7df89c4618ed1c4be5973')
+
+build() {
+ cd $srcdir/FreeMat-$pkgver-Source
+
+ unset LDFLAGS
+ rm -f CMakeCache.txt
+ find . -type f -name '*.moc.cpp' -exec rm -f {} \;
+ find . -type f -name 'add.so' -exec rm -f {} \;
+ patch -p1 <$srcdir/build-fix.patch
+ echo >libs/libMatC/CJitFuncClang.hpp
+ echo >libs/libMatC/CJitFuncClang.cpp
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DUSE_LLVM=OFF \
+ -DFORCE_BUNDLED_UMFPACK=ON \
+ -DFFI_INCLUDE_DIR=/usr/lib/libffi-`pacman -Q libffi | cut -f2 -d\ |cut -f1 -d-`/include/ \
+ -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+ .
+ make
+}
+package() {
+ cd $srcdir/FreeMat-$pkgver-Source
+
+ make DESTDIR=$pkgdir install -j1
+ sed -i "s|/FreeMat-.*/|/FreeMat-$pkgver/|g" $startdir/freemat.install
+ rm $pkgdir/usr/bin/blas.ini
+}
diff --git a/community/freemat/build-fix.patch b/community/freemat/build-fix.patch
new file mode 100644
index 000000000..c1ea63088
--- /dev/null
+++ b/community/freemat/build-fix.patch
@@ -0,0 +1,11 @@
+diff -wbBur FreeMat-4.1-Source/libs/libGraphics/GLRenderEngine.cpp FreeMat-4.1-Source.my/libs/libGraphics/GLRenderEngine.cpp
+--- FreeMat-4.1-Source/libs/libGraphics/GLRenderEngine.cpp 2011-11-27 04:27:43.000000000 +0400
++++ FreeMat-4.1-Source.my/libs/libGraphics/GLRenderEngine.cpp 2012-01-20 19:07:48.000000000 +0400
+@@ -20,6 +20,7 @@
+ #include <qimage.h>
+ #include <qpainter.h>
+ #include <QtOpenGL>
++#include <GL/glu.h>
+ #include <math.h>
+ #include "IEEEFP.hpp"
+
diff --git a/community/freemat/freemat.install b/community/freemat/freemat.install
new file mode 100644
index 000000000..051cca866
--- /dev/null
+++ b/community/freemat/freemat.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo "-- Use FreeMat -i /usr/share/FreeMat-4.1/ to adjust docs location"
+}
+
+post_upgrade() {
+ echo "-- Use FreeMat -i /usr/share/FreeMat-4.1/ to adjust docs location"
+}
diff --git a/community/freeorion/PKGBUILD b/community/freeorion/PKGBUILD
new file mode 100644
index 000000000..6c13a2e3f
--- /dev/null
+++ b/community/freeorion/PKGBUILD
@@ -0,0 +1,121 @@
+# $Id: PKGBUILD 87411 2013-03-31 19:18:15Z stephane $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Elmo Todurov <todurov@gmail.com>
+# Contributor: guini <sidtrun@googlemail.com>
+# Contributor: Forrest Loomis <cybercyst@gmail.com>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: fana-m <geminin@gmx.net>
+
+pkgname=freeorion
+pkgver=0.4.2
+pkgrel=4
+pkgdesc='Turn-based galactic conquest game inspired by Master of Orion'
+arch=('x86_64' 'i686')
+url='http://www.freeorion.org/'
+license=('GPL')
+if [ "$CARCH" == "x86_64" ]
+then
+ depends=('lib32-nvidia-cg-toolkit')
+else
+ depends=('nvidia-cg-toolkit')
+fi
+depends=('bullet' 'freealut' 'libvorbis' 'python2' 'gigi' 'desktop-file-utils' 'libgl')
+makedepends=('boost' 'ogre=1.8.1-4' 'sdl' 'gigi>0.8.0-18' 'graphviz' 'mesa-libgl'
+ 'desktop-file-utils' 'setconf' 'cmake' 'gendesk' 'subversion' 'libogg')
+options=('!strip' '!emptydirs')
+install=$pkgname.install
+source=("$pkgname.sh"
+ "$pkgname.png::https://a.fsdn.com/con/icons/fr/freeorion@sf.net/FO_Icon_256x256.png"
+ "cmake_python.patch")
+sha256sums=('111532e460aec847ff455ee67dd64f46e2fa5ceba39a0349d25a84b69c646eaf'
+ 'a6a253eed31b77b00bf4f721f4b1c6bbd95505b9e4b38b736101e551dd12ff5f'
+ '3dbe8df9c3a4a0d6451f42727ebf9bcb21fed41a08d1181d1cf77ef4ab5ee81a')
+_svnrepo='https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk/FreeOrion/'
+_pyversion=2.7
+_revision=5771
+
+build() {
+ cd "$srcdir"
+ gendesk -n
+
+ #msg2 'Looking up revision from version number...'
+ #_releaserevision=`curl --progress-bar -o- ${url}index.php/Compile | grep "$pkgver" | cut -d':' -f2 | cut -d' ' -f10 | tail -1`
+ #msg2 'The revision for the latest official release is $_releaserevision"
+ ## _revision=$_releaserevision
+ #msg2 "Compiling with revision $_revision"
+
+ msg2 "Checking out svn revision $_revision..."
+ if [[ -d "$pkgname/.svn" ]]; then
+ (cd "$pkgname" && svn up -r "$_revision")
+ else
+ svn co "$_svnrepo" --config-dir ./ -r "$_revision" "$pkgname"
+ fi
+
+ msg2 'Setting up build directory...'
+ rm -rf "$srcdir/$pkgname-build"
+ cp -r "$srcdir/$pkgname" "$srcdir/$pkgname-build"
+ cd "$srcdir/$pkgname-build"
+
+ msg2 'CMake/Python fix...'
+ patch -N -p1 -i "$srcdir/cmake_python.patch"
+
+ msg2 'Generating makefiles...'
+ cmake \
+ -DPYTHON_INCLUDE_DIR:PATH="/usr/include/python$_pyversion" \
+ -DPYTHON_LIBRARY:FILEPATH="/usr/lib/libpython$_pyversion.so" \
+ -G "Unix Makefiles"
+
+ msg2 'GLU fix...'
+ if [ "$CARCH" == "x86_64" ]
+ then
+ setconf CMakeCache.txt CMAKE_CXX_FLAGS:STRING \
+ "'-march=native -mtune=generic -O2 -fno-var-tracking -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -lGL -lGLU -rpath=/usr/lib '"
+ fi
+
+ msg2 'Compiling...'
+ make -j1
+
+ msg2 'OGRE fix...'
+ sed -i 's:PluginFolder=.:PluginFolder=/usr/lib/OGRE/:g' \
+ "$srcdir/$pkgname-build/ogre_plugins.cfg"
+}
+
+package() {
+ cd "$srcdir/$pkgname-build"
+
+ msg2 'Packaging documentation...'
+ install -Dm644 loki_setup/README.txt \
+ "$pkgdir/usr/share/doc/$pkgname/README.txt"
+
+ msg2 'Packaging binaries...'
+ install -Dm 755 "$srcdir/$pkgname.sh" "$pkgdir/usr/bin/freeorion"
+ install -Dm 755 freeorion "$pkgdir/usr/bin/freeorion.elf"
+ install -Dm 755 freeorionca "$pkgdir/usr/bin/freeorionca"
+ install -Dm 755 freeoriond "$pkgdir/usr/bin/freeoriond"
+
+ msg2 'Packaging data...'
+ mkdir -p "$pkgdir/usr/share/$pkgname" "$pkgdir/usr/lib/$pkgname"
+ cp -r default "$pkgdir/usr/share/$pkgname"
+ install -Dm 644 OISInput.cfg "$pkgdir/usr/share/$pkgname/OISInput.cfg"
+
+ msg2 'Packaging license...'
+ install -Dm 644 default/COPYING \
+ "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+ cd "$srcdir"
+
+ msg2 'Packaging icon and shortcut...'
+ install -Dm 644 "$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/freeorion.png"
+ install -Dm 644 "$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/freeorion.desktop"
+
+ msg2 'Packaging OGRE plugins configuration...'
+ install -Dm 644 "$srcdir/$pkgname-build/ogre_plugins.cfg" \
+ "$pkgdir/usr/share/freeorion/ogre_plugins.cfg"
+
+ msg2 'Cleaning up...'
+ find "$pkgdir" -name ".svn" -print0 | xargs -0 rm -rf
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/freeorion/cmake_python.patch b/community/freeorion/cmake_python.patch
new file mode 100644
index 000000000..b875fa844
--- /dev/null
+++ b/community/freeorion/cmake_python.patch
@@ -0,0 +1,23 @@
+--- a/client/AI/CMakeLists.txt 2012-09-10 00:11:18.659341865 +0200
++++ b/client/AI/CMakeLists.txt 2012-09-10 00:12:37.659345189 +0200
+@@ -33,6 +33,20 @@
+ find_package(PythonLibs)
+ if (PYTHONLIBS_FOUND)
+ include_directories(${PYTHON_INCLUDE_PATH})
++ SET(_VERSION_REGEX
++ "^#define[ \t]+PY([A-Z_]*_VERSION)[ \t]+[\"]*([0-9A-Za-z\\.]+)[\"]*[ \t]*$")
++ FILE(STRINGS "${PYTHON_INCLUDE_DIR}/patchlevel.h" _VERSION_STRINGS
++ LIMIT_COUNT 10 REGEX ${_VERSION_REGEX})
++ FOREACH(_VERSION_STRING ${_VERSION_STRINGS})
++ STRING(REGEX REPLACE ${_VERSION_REGEX} "PYTHON\\1"
++ _VERSION_VARIABLE "${_VERSION_STRING}")
++ STRING(REGEX REPLACE ${_VERSION_REGEX} "\\2"
++ _VERSION_NUMBER "${_VERSION_STRING}")
++ SET(${_VERSION_VARIABLE} ${_VERSION_NUMBER})
++ ENDFOREACH(_VERSION_STRING ${_VERSION_STRINGS})
++ IF(PYTHON_MAJOR_VERSION EQUAL 3)
++ MESSAGE(FATAL_ERROR "Python 3 is not supported!")
++ ENDIF()
+ else ()
+ message(FATAL_ERROR " library not found.")
+ endif ()
diff --git a/community/freeorion/freeorion.install b/community/freeorion/freeorion.install
new file mode 100644
index 000000000..ad97d7bab
--- /dev/null
+++ b/community/freeorion/freeorion.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/freeorion/freeorion.sh b/community/freeorion/freeorion.sh
new file mode 100644
index 000000000..d80623ab2
--- /dev/null
+++ b/community/freeorion/freeorion.sh
@@ -0,0 +1,143 @@
+#!/bin/sh
+#
+# written by Markus Sinner, http://psitronic.de
+#
+# Nightly builds on.
+# http://freeorion.psitronic.de/download/nightly/
+#
+# This is a wrapper-script for starting FreeOrion on
+# ix86 (and maybe x64) Linux Systems.
+# This script will CD into application and set some
+# enviroment variables.
+
+# ---- commandline PARAMETERS and ENVIROMENT variables -----
+# This script supports parameters, that will be evaluated
+# BEFORE freeorion binary is called and will be removed,
+# because the binary won't support them.
+# Currently only one parameter at a time is supported!
+# Parameters other than these will be appended as command
+# line parameters to the call of the freeorion binary.
+#
+# --strace
+# This starts freeorion using the "strace" utility.
+# Generates a strace logifle /tmp/freeorion.trace.
+# Make sure it is installed on your system!
+# --gdb
+# Runs freeorion in a gdb instance, passes the original
+# parameters through the --args parameter of gdb
+#
+#
+# ENVIROMENT variables
+# This script supports some enviroment variables. To set them
+# either use the followin command BEFORE you execute this script.
+# export XXXX="value"
+# This permanently set the variable in you current shell script.
+# Or you prepend the options when running this script, like this:
+# PARAM1="hello" PARAM2="yo man" /usr/bin/freeorion.elf
+#
+# Supportet are:
+# FO_TRACE=
+# Use this to prepend something to calling freorion.
+# This variables also is used internally, when --gdb or --trace
+# appear on the command line.
+# FO_GDB_ARGS=
+# If you use --gbd, you should uses this env to add GDB parameters.
+# Make sure you end this list of parameters with --args, otherwise
+# gdb won't start. Example: FO_GDB_ARGS="-q -s fo.symbols --args"
+# LD_LIBRARY_PATH=
+# This is a well known env and will be honored by this script.
+#
+
+
+# ---------- STARTS HERE ---------------
+# Change into application directory
+# If this is a symlink, then we
+# need to change into the dir of symlink-target.
+if [ -h $0 ]; then
+ echo "I am Symlink. Following into my targets basedir"
+ ME=`readlink $0`
+else
+ echo "Following into my basedir"
+ ME=$0
+fi
+
+# This is important! Script won't work outside its installation dir
+ROOT=/usr/share/freeorion
+cd ${ROOT}
+echo -n "CWD: "
+pwd
+
+
+
+# Check for python. If freeorionca binary is missing it, use
+# the shipped version.
+if ldd /usr/bin/freeorionca | grep "libpython.*not found"; then
+ #echo "python2.5 missing. Using shipped version."
+ PYTHON_USE_SHIPPED=1
+else
+ #echo "python2.5 found. Using it."
+ PYTHON_USE_SHIPPED=0
+fi
+
+# Set Python library home for loading modules
+# If no python 2.5 is detected, use shipped python 2.5
+if [ "$PYTHON_USE_SHIPPED" = "1" ]; then
+ export PYTHONHOME=/usr/lib/freeorion/python2.5
+ export PYTHONPATH=${PYTHONHOME}
+ export PYTHONDEBUG=1
+ export PYTHONVERBOSE=1
+ echo "PYTHONHOME=${PYTHONHOME}"
+
+ export LD_LIBRARY_PATH=${PYTHONHOME}:${LD_LIBRARY_PATH}
+ export LD_PRELOAD=${PYTHONHOME}/libutil.so.1:${PYTHONHOME}/libpython2.5.so
+fi
+
+
+# Command line Parameter --gdb forces running in gdb
+# Setting FO_TRACE to gdb results in other settings, see
+# below
+if [ "$1" = "--gdb" ]; then
+ FO_TRACE="gdb"
+
+ # Don't forget to remove the param
+ shift
+fi
+
+if [ "$1" = "--strace" ]; then
+ TRACEFILE=/tmp/freeorion.trace
+ echo
+ echo "Tracing to ${TRACEFILE}"
+ echo
+ FO_TRACE="strace -f -o ${TRACEFILE}"
+
+ # Don't forget to remove the param
+ shift
+fi
+
+
+
+# Add a parameter FO_GDB_ARGS to support gdb
+# Or warn the user, if he changed FO_GDB_ARGS and has
+# forgotten to end it with --args
+if [ "$FO_TRACE" = "gdb" ]; then
+ if [ "$FO_GDB_ARGS" = "" ]; then
+ FO_GDB_ARGS="--args"
+ else
+ echo "****************************************************"
+ echo "** NOTE NOTE NOTE NOTE **"
+ echo "Running FO in gdb"
+ echo "If you use FO_GDB_ARGS on your command line, make"
+ echo "sure that you END this variabble with --args."
+ echo "Otherwise gdb will not start."
+ echo
+ echo "Type 'start' when the gdb instance has loaded!"
+ echo
+ fi
+fi
+
+
+# Support loading libs from application/lib
+export LD_LIBRARY_PATH=./lib:${LD_LIBRARY_PATH}
+
+# Call with settings-dir to avoid conflicting installations
+${FO_TRACE} ${FO_GDB_ARGS} /usr/bin/freeorion.elf --resource-dir ./default $@
diff --git a/community/freeradius-client/PKGBUILD b/community/freeradius-client/PKGBUILD
new file mode 100644
index 000000000..219995284
--- /dev/null
+++ b/community/freeradius-client/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91904 2013-05-29 10:03:59Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Kalidarn
+
+pkgname=freeradius-client
+pkgver=1.1.6
+pkgrel=5
+pkgdesc="FreeRADIUS Client Software"
+arch=('i686' 'x86_64')
+url="http://wiki.freeradius.org/Radiusclient"
+license=('BSD')
+depends=('sh')
+options=(!libtool)
+source=(ftp://ftp.freeradius.org/pub/radius/$pkgname-$pkgver.tar.bz2)
+md5sums=('2e46564e450ae13aedb70dc133b158ac')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -D -m0644 COPYRIGHT $pkgdir/usr/share/licenses/$pkgname/license
+ mv $pkgdir/etc/radiusclient $pkgdir/etc/radiusclient.default
+}
diff --git a/community/freeradius/PKGBUILD b/community/freeradius/PKGBUILD
new file mode 100644
index 000000000..6ecba36c1
--- /dev/null
+++ b/community/freeradius/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 91902 2013-05-29 10:03:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jason R Begley (jayray@digitalgoat.com>
+
+pkgname=freeradius
+pkgver=2.2.0
+pkgrel=8
+pkgdesc="The premier open source RADIUS server"
+arch=('i686' 'x86_64')
+url="http://www.freeradius.org/"
+license=('GPL')
+depends=('krb5' 'pth' 'net-snmp' 'postgresql-libs' 'libmariadbclient')
+makedepends=('libpcap' 'unixodbc' 'python2')
+optdepends=('libpcap' 'unixodbc' 'python2')
+options=('!libtool' '!makeflags')
+install=$pkgname.install
+source=("ftp://ftp.freeradius.org/pub/radius/freeradius-server-$pkgver.tar.bz2"{,.sig}
+ freeradius.tmpfiles
+ freeradius.service
+ krb5-build-fix.patch)
+md5sums=('0fb333fe6a64eb2b1dd6ef67f7bca119'
+ 'SKIP'
+ 'f959e89812bedfc9f8308076f78cd74e'
+ 'e3f18e3a25df3b692e59f60605354708'
+ 'c6a61de7576933f59154a53bfc12a2d2')
+
+build() {
+ cd $srcdir/freeradius-server-$pkgver
+ export CFLAGS="$CFLAGS -fno-strict-aliasing"
+ sed -i 's/ -DKRB5_DEPRECATED//' src/modules/rlm_krb5/Makefile.in
+ patch -p1 <$srcdir/krb5-build-fix.patch
+ ./configure --with-system-libtool --with-system-libltdl \
+ --prefix=/usr --enable-heimdal-krb5 \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --libdir=/usr/lib/freeradius \
+ --with-udpfromto
+ make
+}
+
+package() {
+ cd $srcdir/freeradius-server-$pkgver
+ make install R=$pkgdir
+ chmod o+r $pkgdir/etc/raddb/*
+ mv $pkgdir/etc/raddb $pkgdir/etc/raddb.default
+ rm -rf $pkgdir/var/run
+
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ install -Dm0644 $srcdir/$pkgname.tmpfiles $pkgdir/usr/lib/tmpfiles.d/$pkgname.conf
+}
diff --git a/community/freeradius/freeradius.install b/community/freeradius/freeradius.install
new file mode 100644
index 000000000..cb7590e77
--- /dev/null
+++ b/community/freeradius/freeradius.install
@@ -0,0 +1,17 @@
+post_install() {
+ groupadd -r radiusd
+ useradd -r -m -d /var/lib/radiusd -g radiusd -s /bin/false radiusd
+
+ touch var/log/radius/radius.log
+ chown -R radiusd:radiusd var/log/radius/radius.log
+
+ [ -d etc/raddb ] || cp -a etc/raddb.default etc/raddb
+
+ true
+}
+
+post_remove() {
+ userdel radiusd
+ groupdel radiusd
+ true
+}
diff --git a/community/freeradius/freeradius.service b/community/freeradius/freeradius.service
new file mode 100644
index 000000000..220d352af
--- /dev/null
+++ b/community/freeradius/freeradius.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=FreeRADIUS high performance RADIUS server.
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/run/radiusd/radiusd.pid
+ExecStartPre=-/bin/chown -R radiusd.radiusd /run/radiusd
+ExecStartPre=/usr/bin/radiusd -C
+ExecStart=/usr/bin/radiusd -d /etc/raddb
+ExecReload=/usr/bin/radiusd -C
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/freeradius/freeradius.tmpfiles b/community/freeradius/freeradius.tmpfiles
new file mode 100644
index 000000000..e4e056a36
--- /dev/null
+++ b/community/freeradius/freeradius.tmpfiles
@@ -0,0 +1 @@
+d /run/radiusd 0755 radiusd radiusd -
diff --git a/community/freeradius/krb5-build-fix.patch b/community/freeradius/krb5-build-fix.patch
new file mode 100644
index 000000000..11dae7090
--- /dev/null
+++ b/community/freeradius/krb5-build-fix.patch
@@ -0,0 +1,21 @@
+diff -wbBur freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c
+--- freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c 2010-09-28 11:03:56.000000000 +0000
++++ freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c 2011-04-29 09:26:10.000000000 +0000
+@@ -375,7 +375,7 @@
+ * Heimdal krb5 verification
+ */
+ radlog(L_AUTH, "rlm_krb5: Parsed name is: %s@%s\n",
+- *userP->name.name_string.val,
++ "-" /* *userP->name.name_string.val*/,
+ userP->realm);
+
+ krb5_cc_default(context, &id);
+@@ -390,7 +390,7 @@
+
+ radlog(L_AUTH, "rlm_krb5: failed verify_user: %s (%s@%s )",
+ error_message(ret),
+- *userP->name.name_string.val,
++ "-" /* *userP->name.name_string.val */,
+ userP->realm);
+
+ return RLM_MODULE_REJECT;
diff --git a/community/freerdp/PKGBUILD b/community/freerdp/PKGBUILD
new file mode 100644
index 000000000..9bedb4759
--- /dev/null
+++ b/community/freerdp/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 84350 2013-02-16 22:50:28Z ioni $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Stijn Segers <francesco dot borromini at gmail dot com>
+
+pkgname=freerdp
+pkgver=1.0.2
+pkgrel=2
+pkgdesc="Free RDP client"
+arch=('i686' 'x86_64')
+url="http://freerdp.sourceforge.net"
+license=('GPL')
+depends=('openssl' 'libxcursor' 'libcups' 'alsa-lib' 'libxext' 'libxdamage'
+ 'ffmpeg' 'libxkbfile' 'libxinerama' 'libxv' 'libpulse')
+makedepends=('krb5' 'cmake' 'damageproto' 'xmlto' 'docbook-xsl')
+conflicts=('freerdp-git')
+changelog=${pkgname}.changelog
+options=('!libtool')
+source=($pkgname-$pkgver.tar.gz::https://github.com/FreeRDP/FreeRDP/archive/$pkgver.tar.gz)
+md5sums=('c260051a94caff590def5caa4fcf59d6')
+
+build() {
+ cd $srcdir/FreeRDP-$pkgver
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DWITH_PULSEAUDIO=ON \
+ .
+ make
+}
+
+package() {
+ cd $srcdir/FreeRDP-$pkgver
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/freerdp/freerdp.changelog b/community/freerdp/freerdp.changelog
new file mode 100644
index 000000000..d47f165c3
--- /dev/null
+++ b/community/freerdp/freerdp.changelog
@@ -0,0 +1,2 @@
+0.7.1-1 to 0.7.1-2
+* Added x86_64 to supported architectures (tested by figue).
diff --git a/community/freetalk/ChangeLog b/community/freetalk/ChangeLog
new file mode 100644
index 000000000..d22a5592c
--- /dev/null
+++ b/community/freetalk/ChangeLog
@@ -0,0 +1,3 @@
+2007-07-02 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/freetalk/PKGBUILD b/community/freetalk/PKGBUILD
new file mode 100644
index 000000000..3eadd052b
--- /dev/null
+++ b/community/freetalk/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92552 2013-06-08 11:18:48Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=freetalk
+pkgver=3.2
+pkgrel=6
+pkgdesc="A console based Jabber client"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/freetalk"
+license=('GPL')
+depends=('loudmouth' 'guile1.8')
+install=freetalk.install
+source=(http://savannah.gnu.org/download/freetalk/freetalk-$pkgver.tar.gz
+ freetalk-3.2-glibc210.patch)
+md5sums=('ab09bd07dde158551f151d281b14642c'
+ '0da1d0a0f606d2b279fe676a80a3eb32')
+
+prepare(){
+ cd $pkgname-$pkgver
+ patch -Np1 -i ../freetalk-3.2-glibc210.patch
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --disable-rpath \
+ GUILE=/usr/bin/guile1.8 \
+ GUILE_CONFIG=/usr/bin/guile-config1.8
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ rm "$pkgdir/usr/share/info/dir"
+}
diff --git a/community/freetalk/freetalk-3.2-glibc210.patch b/community/freetalk/freetalk-3.2-glibc210.patch
new file mode 100644
index 000000000..3bdd0dc69
--- /dev/null
+++ b/community/freetalk/freetalk-3.2-glibc210.patch
@@ -0,0 +1,68 @@
+diff -urNp freetalk-3.2.orig/src/callbacks.cc freetalk-3.2/src/callbacks.cc
+--- freetalk-3.2.orig/src/callbacks.cc 2009-02-25 01:31:29.826691032 +0530
++++ freetalk-3.2/src/callbacks.cc 2009-02-25 02:56:04.323962193 +0530
+@@ -1,7 +1,7 @@
+ /*
+ callbacks.c: Callback functions
+
+- Copyright (c) 2005, 2006, 2007 Freetalk Core Team
++ Copyright (c) 2005, 2006, 2007, 2009 Freetalk Core Team
+ This file is part of GNU Freetalk.
+
+ Freetalk is free software; you can redistribute it and/or modify
+@@ -20,6 +20,7 @@
+ */
+
+ #include <stdio.h>
++#include <string>
+ #include <string.h>
+ #include <stdlib.h>
+ #include <glib.h>
+@@ -116,8 +117,9 @@ ft_msg_msg_handler (LmMessageHandler *ha
+ LmMessage *msg, gpointer user_data)
+ {
+ LmMessageNode *root, *body, *x;
+- const char *from, *msg_str, *type;
++ const char *msg_str, *type;
+ char *ts = NULL;
++ std::string from;
+
+ root = lm_message_get_node (msg);
+ body = lm_message_node_get_child (root, "body");
+@@ -152,11 +154,12 @@ ft_msg_msg_handler (LmMessageHandler *ha
+ set_hook_return (0);
+ /* TBD : make the below stripping of /Resource configurable */
+ if (1) {
+- if (strchr (from, '/'))
+- *strchr (from, '/') = '\0';
++ const size_t pos = from.find("/");
++ if (pos != std::string::npos)
++ from.replace(pos, from.size() - pos, "");
+ }
+ {
+- FtRosterItem *item = ft_roster_lookup (from);
++ FtRosterItem *item = ft_roster_lookup (from.c_str());
+ char *nickname;
+
+ if (!item)
+@@ -166,17 +169,17 @@ ft_msg_msg_handler (LmMessageHandler *ha
+
+ scm_run_hook (ex_message_receive_hook,
+ scm_list_n (ts ? scm_from_locale_string (ts) : scm_from_locale_string (""),
+- scm_from_locale_string (from),
++ scm_from_locale_string (from.c_str()),
+ nickname ? scm_from_locale_string (nickname) : scm_from_locale_string (""),
+ scm_from_locale_string (msg_str),
+ SCM_UNDEFINED));
+ }
+ if (ts) g_free (ts);
+
+- if (get_hook_return () == 1)
++ if (get_hook_return () == 1)
+ return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+
+- PRINTF ("%s: %s", from, msg_str);
++ PRINTF ("%s: %s", from.c_str(), msg_str);
+ } else {
+ /* This logic should be looked into : FIXME */
+ ft_send_file_message_data (msg);
diff --git a/community/freetalk/freetalk.install b/community/freetalk/freetalk.install
new file mode 100644
index 000000000..480dbf2be
--- /dev/null
+++ b/community/freetalk/freetalk.install
@@ -0,0 +1,19 @@
+info_dir=/usr/share/info
+info_files=(freetalk)
+
+post_install() {
+ for f in ${info_files[@]}; do
+ install-info ${info_dir}/$f.info ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ for f in ${info_files[@]}; do
+ install-info --delete ${info_dir}/$f.info ${info_dir}/dir 2> /dev/null
+ done
+}
+
diff --git a/community/freewrl/PKGBUILD b/community/freewrl/PKGBUILD
new file mode 100644
index 000000000..b228c636f
--- /dev/null
+++ b/community/freewrl/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90027 2013-05-06 19:36:58Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=freewrl
+pkgver=1.22.13.1
+_pkgver=1.22.13
+pkgrel=5
+pkgdesc="VRML viewer"
+arch=('i686' 'x86_64')
+url="http://freewrl.sourceforge.net/"
+license=('GPL')
+depends=('java-runtime' 'libxaw' 'glew' 'freeglut' 'curl' 'freetype2' 'imlib2' 'sox'
+ 'unzip' 'imagemagick' 'libxml2' 'ttf-bitstream-vera' 'lesstif' 'js185' 'glu')
+makedepends=('java-environment' 'xulrunner' 'wget' 'mesa')
+options=(!libtool)
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('27f4bf163011d8ac2088a535cb58a13d')
+
+build() {
+ . /etc/profile.d/jre.sh
+ . /etc/profile.d/jdk.sh
+ cd $srcdir/$pkgname-${_pkgver}
+ export JAVASCRIPT_ENGINE_CFLAGS="-I/usr/include/js -DXP_UNIX -DJS_THREADSAFE $(pkg-config --cflags nspr)"
+ export JAVASCRIPT_ENGINE_LIBS="$(pkg-config --libs nspr) -lmozjs185"
+ ./configure \
+ --prefix=/usr --with-fontsdir=/usr/share/fonts/TTF --enable-libeai \
+ --enable-libcurl --with-expat=/usr --with-target=x11 --enable-plugin \
+ --disable-mozilla-js --enable-xulrunner-js --disable-firefox-js \
+ --disable-seamonkey-js
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-${_pkgver}
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/frei0r-plugins/PKGBUILD b/community/frei0r-plugins/PKGBUILD
new file mode 100644
index 000000000..82f907907
--- /dev/null
+++ b/community/frei0r-plugins/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 86724 2013-03-21 13:55:20Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=frei0r-plugins
+pkgver=1.4
+pkgrel=1
+pkgdesc="A minimalistic plugin API for video sources and filters"
+arch=(i686 x86_64)
+url="http://www.piksel.org/frei0r"
+license=('GPL')
+depends=('gcc-libs' 'gavl>=1.0.0' 'opencv>=2.4.3')
+makedepends=('doxygen')
+options=('!emptydirs')
+source=(http://ftp.dyne.org/frei0r/releases/frei0r-plugins-$pkgver.tar.gz)
+md5sums=('202375d1bcb545c1b6eb8f34e0260ec5')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/fssos-nsvs/PKGBUILD b/community/fssos-nsvs/PKGBUILD
new file mode 100644
index 000000000..d9e7a0399
--- /dev/null
+++ b/community/fssos-nsvs/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 90505 2013-05-12 23:35:37Z eric $
+# Maintainer: Dale Blount <dale@archlinux.org>
+
+pkgname=fssos-nsvs
+pkgver=0.5
+pkgrel=11
+pkgdesc="NSVS for FSSOS"
+arch=('i686' 'x86_64')
+url="http://fssos.sourceforge.net/"
+license=('GPL')
+depends=('bash' 'mariadb')
+backup=('etc/nsvsd.conf')
+options=('!libtool' '!makeflags')
+install=$pkgname.install
+source=("http://downloads.sourceforge.net/sourceforge/fssos/nsvs-$pkgver.tar.gz"
+ 'nsvsd.service')
+md5sums=('3f17c2f6339f1a322b712b467023d825'
+ '9c791d2086e13f774548d9d6ba2cf9d5')
+
+build() {
+ cd nsvs-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin
+ make CFLAGS="${CFLAGS} -D_GNU_SOURCE"
+}
+
+package() {
+ cd nsvs-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -D -m644 "$srcdir/nsvsd.service" "$pkgdir/usr/lib/systemd/system/nsvsd.service"
+}
diff --git a/community/fssos-nsvs/fssos-nsvs.install b/community/fssos-nsvs/fssos-nsvs.install
new file mode 100644
index 000000000..253ae64d2
--- /dev/null
+++ b/community/fssos-nsvs/fssos-nsvs.install
@@ -0,0 +1,17 @@
+post_install() {
+ if [ -z "`grep '^nsvsd::' /etc/group`" ]; then
+ groupadd -g 83 nsvsd
+ fi
+ if [ -z "`grep '^nsvsd:' /etc/passwd`" ]; then
+ useradd -u 83 -d /tmp -g nsvsd -s /bin/false nsvsd
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ userdel nsvsd &> /dev/null
+ groupdel nsvsd &> /dev/null
+}
diff --git a/community/fssos-nsvs/nsvsd.service b/community/fssos-nsvs/nsvsd.service
new file mode 100644
index 000000000..8c3d12b67
--- /dev/null
+++ b/community/fssos-nsvs/nsvsd.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Name Service Via Sockets Daemon
+
+[Service]
+ExecStart=/usr/bin/nsvsd -f /etc/nsvsd.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/fswebcam/PKGBUILD b/community/fswebcam/PKGBUILD
new file mode 100644
index 000000000..2fa49872d
--- /dev/null
+++ b/community/fswebcam/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 93773 2013-07-10 07:27:13Z bpiotrowski $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+# Contributor: Philipp Robbel <robbel@gmail.com>
+
+pkgname=fswebcam
+pkgver=20110717
+pkgrel=3
+pkgdesc="Tiny and flexible webcam app."
+arch=('i686' 'x86_64')
+url="http://www.firestorm.cx/fswebcam"
+license=('GPL')
+depends=('gd')
+backup=("etc/$pkgname.conf")
+source=("$url/files/$pkgname-$pkgver.tar.gz")
+md5sums=('6e09f1f31cf7cd0ac1d4d688a0acbe41')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ # Install configuration file
+ # Commented to avoid problems with many devices, thank you SpepS
+ sed "s_^_#_g" -i example.conf
+ install -Dm644 example.conf "$pkgdir/etc/fswebcam.conf"
+}
+
+# vim:ts=2:sw=2:expandtab
diff --git a/community/fuse-exfat/PKGBUILD b/community/fuse-exfat/PKGBUILD
new file mode 100644
index 000000000..49a2cede9
--- /dev/null
+++ b/community/fuse-exfat/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 83563 2013-02-03 07:12:01Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: GaoShichao <xgdgsc@gmail.com>
+
+pkgname=fuse-exfat
+pkgver=1.0.1
+pkgrel=1
+pkgdesc="Free exFAT file system implementation"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/exfat/"
+license=('GPL3')
+depends=('fuse')
+makedepends=('scons')
+optdepends=('exfat-utils: utilities for exFAT file system'
+ 'util-linux: to mount exFAT volumes automatically')
+source=("http://exfat.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('7988a5111841593231f20af22153362d')
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ scons CCFLAGS="${CFLAGS}" LINKFLAGS="${LDFLAGS} " install DESTDIR="${pkgdir}/usr/bin"
+
+ # Install man page
+ install -Dm444 fuse/mount.exfat-fuse.8 "${pkgdir}/usr/share/man/man8/mount.exfat-fuse.8"
+}
diff --git a/community/fuseiso/PKGBUILD b/community/fuseiso/PKGBUILD
new file mode 100644
index 000000000..39ee9bffc
--- /dev/null
+++ b/community/fuseiso/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 57911 2011-11-04 11:59:27Z lcarlier $
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=fuseiso
+pkgver=20070708
+pkgrel=4
+pkgdesc="FUSE module to mount ISO filesystem images"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/fuseiso/"
+license=('GPL')
+depends=('fuse' 'glib2' 'zlib')
+makedepends=('pkgconfig')
+source=("http://ubiz.ru/dm/${pkgname}-${pkgver}.tar.bz2"
+ 'fuseiso-20070708-largeiso.patch')
+md5sums=('4bb50412b6d01f337565e28afddca3a5'
+ '5c4dce932aba735727221f4e1695f277')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # Fix for isos larger than 4Go https://bugzilla.redhat.com/show_bug.cgi?id=440436
+ patch -p1 -i "${srcdir}/fuseiso-20070708-largeiso.patch"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/fuseiso/fuseiso-20070708-largeiso.patch b/community/fuseiso/fuseiso-20070708-largeiso.patch
new file mode 100644
index 000000000..e323768d2
--- /dev/null
+++ b/community/fuseiso/fuseiso-20070708-largeiso.patch
@@ -0,0 +1,48 @@
+http://bugzilla.redhat.com/show_bug.cgi?id=440436
+
+diff -ur fuseiso-20070708.orig/src/isofs.c fuseiso-20070708/src/isofs.c
+--- fuseiso-20070708.orig/src/isofs.c 2007-07-08 15:22:59.000000000 +0300
++++ fuseiso-20070708/src/isofs.c 2009-10-25 12:02:16.000000000 +0200
+@@ -178,7 +178,7 @@
+ context.data_size = isonum_723(context.pd.logical_block_size);
+
+ if(!context.block_size) {
+- fprintf(stderr, "init: wrong block data size %d, using default 2048\n", context.data_size);
++ fprintf(stderr, "init: wrong block data size %Lu, using default 2048\n", context.data_size);
+ context.data_size = 2048;
+ };
+
+@@ -324,7 +324,7 @@
+
+ if(context.block_size != 2048) {
+ // report unusual data block size
+- printf("Data block size: %d\n", context.block_size);
++ printf("Data block size: %Lu\n", context.block_size);
+ };
+
+ char buf[129];
+@@ -479,7 +479,7 @@
+ };
+ size_t len = read(context.fd, buf, context.data_size);
+ if(len != context.data_size) {
+- fprintf(stderr, "isofs_read_raw_block: can`t read full block, read only %d bytes from offset %d, %d required; errno %d, message %s\n",
++ fprintf(stderr, "isofs_read_raw_block: can`t read full block, read only %d bytes from offset %d, %Lu required; errno %d, message %s\n",
+ len, (int) off, context.data_size, errno, strerror(errno));
+ fprintf(stderr, "isofs_read_raw_block: huh? reading zeros beyond file end? someone want to save a penny?\n");
+ memset(buf + len, 0, context.data_size - len);
+diff -ur fuseiso-20070708.orig/src/isofs.h fuseiso-20070708/src/isofs.h
+--- fuseiso-20070708.orig/src/isofs.h 2006-10-17 04:50:39.000000000 +0300
++++ fuseiso-20070708/src/isofs.h 2009-10-25 12:02:16.000000000 +0200
+@@ -38,9 +38,9 @@
+ struct iso_directory_record *root;
+ int file_offset; // offset to begin of useful data (for .nrg files)
+ int id_offset; // offset to CD001 inside file
+- size_t block_size; // raw block size
+- size_t block_offset; // offset from block start to data
+- size_t data_size; // data size inside block
++ off_t block_size; // raw block size
++ off_t block_offset; // offset from block start to data
++ off_t data_size; // data size inside block
+ int susp; // parse susp entries
+ int susp_skip; // skip bytes from susp SP entry
+ int joliet_level; // joliet extension level (1, 2 or 3)
diff --git a/community/fwbuilder/PKGBUILD b/community/fwbuilder/PKGBUILD
new file mode 100644
index 000000000..cf0fc5819
--- /dev/null
+++ b/community/fwbuilder/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: Kevin Piche <kevin@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# vim: set ft=sh:
+
+pkgname=fwbuilder
+pkgver=5.1.0.3599
+pkgrel=4
+pkgdesc="Object-oriented GUI and set of compilers for various firewall platforms"
+url="http://www.fwbuilder.org/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libxslt' 'net-snmp' 'qt4')
+conflicts=('libfwbuilder')
+install=fwbuilder.install
+source=("http://sourceforge.net/projects/fwbuilder/files/Current_Packages/${pkgver%.*}/fwbuilder-${pkgver}.tar.gz"
+ 'fwbuilder.xml'
+ 'fwbuilder-gcc47.patch')
+sha256sums=('452514a1ec0be1416bfca93603e6c89deb91d1a3a19671c64b5a8868a3743daf'
+ 'f8eacaa9895b17af3a1c148064b5ad8381b83f7983acb14687faef488ac8fede'
+ 'd7c602d5b99c6e40403c0b02e34abf15de83802257ca5ce80ad53d486b692f27')
+
+build() {
+ cd "${srcdir}/fwbuilder-${pkgver}"
+ patch -p1 -i "$srcdir/fwbuilder-gcc47.patch"
+ export CXXFLAGS="$CXXFLAGS -fno-var-tracking-assignments"
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/fwbuilder-${pkgver}"
+ make INSTALL_ROOT="${pkgdir}" install
+ echo "MimeType=text/x-xml-fwbuilder;" >> "$pkgdir/usr/share/applications/${pkgname}.desktop"
+ install -Dm644 "$srcdir/fwbuilder.xml" "$pkgdir/usr/share/mime/packages/fwbuilder.xml"
+}
diff --git a/community/fwbuilder/fwbuilder-gcc47.patch b/community/fwbuilder/fwbuilder-gcc47.patch
new file mode 100644
index 000000000..59cd64a6f
--- /dev/null
+++ b/community/fwbuilder/fwbuilder-gcc47.patch
@@ -0,0 +1,13 @@
+Only in fwbuilder-5.0.1.3592: patches
+Only in fwbuilder-5.0.1.3592: .pc
+diff -upr fwbuilder-5.0.1.3592/src/libfwbuilder/src/fwbuilder/ThreadTools.h /var/tmp/build-root/home/abuild/rpmbuild/BUILD/fwbuilder-5.0.1.3592/src/libfwbuilder/src/fwbuilder/ThreadTools.h
+--- fwbuilder-5.0.1.3592/src/libfwbuilder/src/fwbuilder/ThreadTools.h 2011-12-08 02:02:07.000000000 +0100
++++ /var/tmp/build-root/home/abuild/rpmbuild/BUILD/fwbuilder-5.0.1.3592/src/libfwbuilder/src/fwbuilder/ThreadTools.h 2012-03-17 22:29:16.317275376 +0100
+@@ -31,6 +31,7 @@
+
+ #include <time.h> //for time_t definition
+ #include <pthread.h>
++#include <unistd.h>
+
+ #include <string>
+ #include <queue>
diff --git a/community/fwbuilder/fwbuilder.install b/community/fwbuilder/fwbuilder.install
new file mode 100644
index 000000000..b2d479931
--- /dev/null
+++ b/community/fwbuilder/fwbuilder.install
@@ -0,0 +1,14 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q /usr/share/applications &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
diff --git a/community/fwbuilder/fwbuilder.xml b/community/fwbuilder/fwbuilder.xml
new file mode 100644
index 000000000..31db9f1f1
--- /dev/null
+++ b/community/fwbuilder/fwbuilder.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+ <mime-type type="text/x-xml-fwbuilder">
+ <generic-icon name="fwbuilder"/>
+ <comment>FWBuilder configuration file</comment>
+ <glob pattern="*.fwb"/>
+ <magic priority="60">
+ <match value="&lt;!DOCTYPE FWObjectDatabase SYSTEM &quot;fwbuilder.dtd&quot;&gt;" type="string" offset="0:100"/>
+ </magic>
+ </mime-type>
+</mime-info>
diff --git a/community/fxdesktop/PKGBUILD b/community/fxdesktop/PKGBUILD
new file mode 100644
index 000000000..18b40a21d
--- /dev/null
+++ b/community/fxdesktop/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 90029 2013-05-06 19:37:01Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sander Jansen <sander@knology.net>
+
+pkgname=fxdesktop
+pkgver=0.1.12
+pkgrel=7
+pkgdesc="Lightweight Desktop Environment"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fxdesktop/"
+license=('GPL')
+depends=('fox>=1.6.0')
+makedepends=('glu')
+source=(http://archlinux-stuff.googlecode.com/files/$pkgname-$pkgver.tar.bz2)
+md5sums=('9489e7369b5e052e0b6836a3b0670832')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # Override default flags
+ export CFLAGS="-Wall -O2 -pipe"
+ export CXXFLAGS="-Wall -O2 -pipe"
+ [ "$CARCH" = "x86_64" ] && (sed -i -e 's|lib64|lib|g' build/config.linux_x86_64)
+ # Compile
+ ./gb --prefix=/usr
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ ./gb --package-root=$pkgdir/usr install
+}
diff --git a/community/fxprocessview/PKGBUILD b/community/fxprocessview/PKGBUILD
new file mode 100644
index 000000000..b9a25211b
--- /dev/null
+++ b/community/fxprocessview/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90030 2013-05-06 19:37:02Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sander Jansen <sander@knology.net>
+
+pkgname=fxprocessview
+pkgver=0.5.0
+pkgrel=6
+pkgdesc="Process Viewer"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('fox>=1.4.0')
+makedepends=('glu')
+url="http://code.google.com/p/fxdesktop/"
+source=(http://archlinux-stuff.googlecode.com/files/$pkgname-$pkgver.tar.gz \
+ build-fix.patch)
+md5sums=('5d3cc8d7aec770997c281a743ddfda5a'
+ '2d2c3d54dcd2404149955f12cccb21a5')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # Override default flags
+ export CFLAGS="-Wall -O2 -pipe"
+ export CXXFLAGS="-Wall -O2 -pipe"
+ # Compile
+ patch -Np1 <../build-fix.patch
+ ./gb
+ # gb does not return valid error code
+ [ -f src/fxprocessview ]
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ # make sure destination exists
+ mkdir -p $pkgdir/usr/bin
+ # Install
+ ./gb install --package-root=$pkgdir/usr
+}
diff --git a/community/fxprocessview/build-fix.patch b/community/fxprocessview/build-fix.patch
new file mode 100644
index 000000000..7c883454c
--- /dev/null
+++ b/community/fxprocessview/build-fix.patch
@@ -0,0 +1,41 @@
+diff -wbBur fxprocessview-0.5.0/src/processlist.cpp fxprocessview-0.5.0.my/src/processlist.cpp
+--- fxprocessview-0.5.0/src/processlist.cpp 2005-07-15 06:39:17.000000000 +0400
++++ fxprocessview-0.5.0.my/src/processlist.cpp 2007-03-07 19:21:34.000000000 +0300
+@@ -696,7 +696,7 @@
+
+ long FXProcessList::onCmdUserMode(FXObject* sender,FXSelector,void* ){
+ if (userfilter.empty()){
+- userfilter=FXFile::getCurrentUserName();
++ userfilter=FXSystem::currentUserName();
+ }
+ else {
+ userfilter="";
+@@ -942,12 +942,17 @@
+
+
+
+- FXint num_processes = FXFile::listFiles(dirlist,"/proc","[0123456789]*",LIST_MATCH_ALL|LIST_NO_FILES|LIST_NO_PARENT);
++ FXint num_processes = FXDir::listFiles(dirlist,"/proc","[0123456789]*",FXDir::MatchAll | FXDir::NoFiles | FXDir::NoParent);
+ task_total=num_processes;
+ for (FXint i=0;i<num_processes;i++){
+
+ /// Check the Owner
+- owner = FXFile::owner("/proc/" + dirlist[i]);
++ FXStat stat;
++ FXStat::statFile("/proc/" + dirlist[i], stat);
++ owner = FXSystem::userName(stat.user());
++
++// owner = FXSystem::userName(FXStat::user("/proc/" + dirlist[i]));
++
+ if (!userfilter.empty() && (owner!=userfilter)) continue;
+
+ /// Read in Process Stat
+@@ -1027,7 +1032,7 @@
+ }
+
+ filename = "/proc/" + dirlist[i] + "/cmdline";
+- if (FXFile::exists(filename)) {
++ if (FXStat::exists(filename)) {
+ fp = fopen(filename.text(),"r");
+ if (fp) {
+ if (fgets(buffer,80,fp)!=NULL){
diff --git a/community/g2sc/PKGBUILD b/community/g2sc/PKGBUILD
new file mode 100644
index 000000000..a12fa1702
--- /dev/null
+++ b/community/g2sc/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 65518 2012-02-21 08:40:35Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=g2sc
+pkgver=0.2
+pkgrel=4
+pkgdesc="Samba gtk2 client"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/g2sc"
+license=('GPL')
+depends=('smbclient' 'gtk2')
+source=(http://downloads.sourceforge.net/g2sc/${pkgver}/g2cs${pkgver}alpha-source.tar.bz2)
+md5sums=('c0994584f2c950241bf7e2782cb4d2fd')
+
+build() {
+ cd ${srcdir}
+ make
+}
+
+package() {
+ cd ${srcdir}
+ mkdir -p ${pkgdir}/usr/{share/{g2sc,applications},bin}
+ install -m644 g2sc.conf ${pkgdir}/usr/share/g2sc
+ install -m644 g2sc.png ${pkgdir}/usr/share/g2sc
+ install -m755 g2sc ${pkgdir}/usr/bin
+ install -m644 g2sc.desktop ${pkgdir}/usr/share/applications
+}
diff --git a/community/galculator/PKGBUILD b/community/galculator/PKGBUILD
new file mode 100644
index 000000000..210ce954f
--- /dev/null
+++ b/community/galculator/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 92890 2013-06-18 08:47:35Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+
+pkgname=galculator
+pkgver=2.1.2
+pkgrel=1
+pkgdesc='GTK+ based scientific calculator'
+arch=('i686' 'x86_64')
+url='http://galculator.sourceforge.net/'
+license=('GPL')
+depends=('gtk3' 'hicolor-icon-theme' 'gtk-update-icon-cache' 'desktop-file-utils')
+makedepends=('intltool')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/galculator/galculator-$pkgver.tar.bz2)
+sha256sums=('23e7e8d02ec49bf06e061e7fa56c779fd0f353ec294c30fd88858786d8e4a79b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ LDFLAGS+=' -lm'
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/galculator/galculator.install b/community/galculator/galculator.install
new file mode 100644
index 000000000..fe845ffb1
--- /dev/null
+++ b/community/galculator/galculator.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+ [[ -e /usr/bin/gtk-update-icon-cache ]] && gtk-update-icon-cache
+}
+
+post_upgrade() {
+ post_install
+}
+post_remove() {
+ post_install
+}
diff --git a/community/gambas3/PKGBUILD b/community/gambas3/PKGBUILD
new file mode 100644
index 000000000..7162408b0
--- /dev/null
+++ b/community/gambas3/PKGBUILD
@@ -0,0 +1,909 @@
+# $Id: PKGBUILD 92837 2013-06-16 17:21:06Z foutrelis $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor : sebikul <sebikul@gmail.com>
+
+pkgbase=gambas3
+_components=('gambas3-gb-args' 'gambas3-gb-cairo' 'gambas3-gb-chart' 'gambas3-gb-dbus' 'gambas3-gb-complex'
+ 'gambas3-gb-compress' 'gambas3-gb-crypt' 'gambas3-gb-data' 'gambas3-gb-db-form' 'gambas3-gb-db-mysql'
+ 'gambas3-gb-db-odbc' 'gambas3-gb-db-postgresql' 'gambas3-gb-db-sqlite2' 'gambas3-gb-db-sqlite3' 'gambas3-gb-db'
+ 'gambas3-gb-desktop-gnome' 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight' 'gambas3-gb-httpd' 'gambas3-gb-form-dialog' 'gambas3-gb-form-mdi'
+ 'gambas3-gb-form-stock' 'gambas3-gb-form' 'gambas3-gb-gsl' 'gambas3-gb-gtk-opengl' 'gambas3-gb-gtk' 'gambas3-gb-image-effect'
+ 'gambas3-gb-image-imlib' 'gambas3-gb-image-io' 'gambas3-gb-image' 'gambas3-gb-jit' 'gambas3-gb-libxml' 'gambas3-gb-map'
+ 'gambas3-gb-media' 'gambas3-gb-memcached' 'gambas3-gb-mime' 'gambas3-gb-mysql' 'gambas3-gb-ncurses' 'gambas3-gb-net-curl' 'gambas3-gb-net-pop3'
+ 'gambas3-gb-net-smtp' 'gambas3-gb-net' 'gambas3-gb-opengl-glu' 'gambas3-gb-opengl-glsl' 'gambas3-gb-opengl' 'gambas3-gb-option'
+ 'gambas3-gb-pcre' 'gambas3-gb-pdf' 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-opengl' 'gambas3-gb-qt4-webkit' 'gambas3-gb-qt4'
+ 'gambas3-gb-report' 'gambas3-gb-sdl-sound' 'gambas3-gb-sdl' 'gambas3-gb-settings' 'gambas3-gb-signal' 'gambas3-gb-v4l' 'gambas3-gb-vb'
+ 'gambas3-gb-xml-html' 'gambas3-gb-xml-rpc' 'gambas3-gb-xml-xslt' 'gambas3-gb-xml' 'gambas3-gb-web')
+pkgname=(${_components[@]} 'gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gambas3-examples')
+pkgver=3.4.1
+pkgrel=4
+pkgdesc="A free development environment based on a Basic interpreter."
+arch=('i686' 'x86_64')
+url="http://gambas.sourceforge.net/"
+license=('GPL2')
+groups=('gambas3')
+makedepends=('intltool' 'mariadb' 'postgresql' 'libffi' 'bzip2' 'glib2' 'v4l-utils'
+ 'zlib' 'mesa' 'glew' 'xdg-utils' 'gtk2' 'imlib2' 'gdk-pixbuf2'
+ 'postgresql-libs' 'libmariadbclient' 'unixodbc' 'sqlite2' 'sqlite' 'librsvg'
+ 'curl' 'poppler-glib' 'sdl_mixer' 'sdl_ttf' 'libxtst' 'pcre' 'qtwebkit'
+ 'libxcursor' 'libsm' 'dbus-core' 'libxml2' 'libxslt' 'libgnome-keyring'
+ 'gsl' 'gstreamer0.10' 'gstreamer0.10-base' 'gtkglext' 'ncurses' 'llvm'
+ 'gmime')
+options=(!emptydirs)
+source=("http://downloads.sourceforge.net/gambas/${pkgbase}-${pkgver}.tar.bz2"
+ gambas3-3.4.1-llvm-3.3.patch)
+md5sums=('eef35861d1e95808180ac7ed5a436569'
+ '04bf972f5d5546118ecbcc1f24271216')
+
+create_dirs() {
+ install -dm755 ${pkgdir}/usr/lib/gambas3
+ install -dm755 ${pkgdir}/usr/share/gambas3/info/control
+}
+
+prepare() {
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
+ # Fix build with LLVM 3.3 (patch from Fedora)
+ patch -Np1 -i../gambas3-3.4.1-llvm-3.3.patch
+
+ ./reconf-all
+}
+
+build() {
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
+ ./configure --prefix=/usr -C
+
+ make bindir=${pkgdir}/usr/bin
+
+ mkdir -p ${srcdir}/fakeinstall
+ make -j1 XDG_UTILS='' DESTDIR=${srcdir}/fakeinstall install
+}
+
+package_gambas3-gb-args() {
+ depends=('gambas3-runtime')
+ pkgdesc="Command-line options analyzer component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.args.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.args.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-cairo() {
+ depends=('gambas3-runtime' 'cairo')
+ pkgdesc="Cairo component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.cairo.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.cairo.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-chart() {
+ depends=('gambas3-gb-form')
+ pkgdesc="Chart component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.chart.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.chart.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-complex() {
+ depends=('gambas3-runtime')
+ pkgdesc="Complex numbers component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.complex.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.complex.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-compress() {
+ depends=('gambas3-runtime' 'bzip2' 'zlib')
+ pkgdesc="Compression support component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.compress.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.compress.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-crypt() {
+ depends=('gambas3-runtime')
+ pkgdesc="MD5/DES crypting component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.crypt.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.crypt.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-data() {
+ depends=('gambas3-runtime')
+ pkgdesc="Data containers component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.data.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.data.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-db-form() {
+ depends=('gambas3-gb-db' 'gambas3-gb-form')
+ pkgdesc="Database form component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.db.form.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.db.form.* ${pkgdir}/usr/share/gambas3/info/
+ mv -v usr/share/gambas3/control/gb.db.form ${pkgdir}/usr/share/gambas3/control/
+}
+
+package_gambas3-gb-db-mysql() {
+ depends=('gambas3-gb-db' 'libmariadbclient')
+ pkgdesc="MySQL database access component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.db.mysql.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.db.mysql.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-db-odbc() {
+ depends=('gambas3-gb-db' 'unixodbc')
+ pkgdesc="ODBC database access component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.db.odbc.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.db.odbc.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-db-postgresql() {
+ depends=('gambas3-gb-db' 'postgresql-libs')
+ pkgdesc="PostgreSQL database access component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.db.postgresql.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.db.postgresql.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-db-sqlite2() {
+ depends=('gambas3-gb-db' 'sqlite2' 'gcc-libs')
+ pkgdesc="Sqlite2 database access component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.db.sqlite2.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.db.sqlite2.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-db-sqlite3() {
+ depends=('gambas3-gb-db' 'sqlite' 'gcc-libs')
+ pkgdesc="Sqlite3 database access component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.db.sqlite3.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.db.sqlite3.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-db() {
+ depends=('gambas3-runtime')
+ pkgdesc="Database access component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.db.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.db.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-dbus() {
+ depends=('gambas3-runtime' 'dbus-core')
+ pkgdesc="DBUS component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.dbus.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.dbus.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-desktop-gnome() {
+ depends=('gambas3-gb-desktop' 'libgnome-keyring')
+ pkgdesc="Desktop component for Gnome"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.desktop.gnome.* ${pkgdir}/usr/lib/gambas3/
+}
+
+package_gambas3-gb-desktop() {
+ depends=('gambas3-gb-image' 'libsm' 'libxtst')
+ pkgdesc="Desktop component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.desktop.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.desktop.* ${pkgdir}/usr/share/gambas3/info/
+ mv -v usr/share/gambas3/control/gb.desktop ${pkgdir}/usr/share/gambas3/control/
+}
+
+package_gambas3-gb-eval-highlight() {
+ depends=('gambas3-runtime')
+ pkgdesc="Expression evaluator highlight component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.eval.highlight.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.eval.highlight.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-form-dialog() {
+ depends=('gambas3-gb-form')
+ pkgdesc="Form dialog component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.form.dialog.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.form.dialog.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-form-mdi() {
+ depends=('gambas3-gb-form')
+ pkgdesc="Form MDI component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.form.mdi.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.form.mdi.* ${pkgdir}/usr/share/gambas3/info/
+ mv -v usr/share/gambas3/control/gb.form.mdi ${pkgdir}/usr/share/gambas3/control/
+}
+
+package_gambas3-gb-form-stock() {
+ depends=('gambas3-runtime')
+ pkgdesc="Default stock icons component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.form.stock.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.form.stock.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-form() {
+ depends=('gambas3-runtime')
+ pkgdesc="Form component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.form.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.form.* ${pkgdir}/usr/share/gambas3/info/
+ mv -v usr/share/gambas3/control/gb.form ${pkgdir}/usr/share/gambas3/control/
+}
+
+package_gambas3-gb-gsl() {
+ depends=('gambas3-runtime' 'gsl')
+ pkgdesc="The GNU Scientific Library component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.gsl.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.gsl.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-gtk-opengl() {
+ depends=('gambas3-gb-gtk' 'gambas3-gb-opengl' 'gtkglext')
+ pkgdesc="GTK+ toolkit OpenGL component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.gtk.opengl.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.gtk.opengl.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-gtk() {
+ depends=('gambas3-gb-image' 'gtk2' 'librsvg')
+ pkgdesc="GTK+ toolkit component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.gtk.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.gtk.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-httpd() {
+ depends=('gambas3-runtime')
+ pkgdesc="Embedded HTTP server for the interpreter"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.httpd.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.httpd.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-image-effect() {
+ depends=('gambas3-gb-image' 'gcc-libs')
+ pkgdesc="Image effect component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.image.effect.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.image.effect.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-image-imlib() {
+ depends=('gambas3-gb-image' 'imlib2')
+ pkgdesc="Imlib component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.image.imlib.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.image.imlib.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-image-io() {
+ depends=('gambas3-gb-image' 'gdk-pixbuf2')
+ pkgdesc="Input/Output image component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.image.io.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.image.io.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-image() {
+ depends=('gambas3-runtime')
+ pkgdesc="Image component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.image.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.image.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-jit() {
+ depends=('gambas3-runtime' 'llvm-libs')
+ pkgdesc="Just-in-time compiler component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.jit.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.jit.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-libxml() {
+ depends=('gambas3-runtime' 'libxml2')
+ pkgdesc="libxml2 component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.libxml.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.libxml.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-map() {
+ depends=('gambas3-gb-image-io' 'gambas3-gb-form')
+ pkgdesc="Display maps component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.map.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.map.* ${pkgdir}/usr/share/gambas3/info/
+ mv -v usr/share/gambas3/control/gb.map ${pkgdir}/usr/share/gambas3/control/
+}
+
+package_gambas3-gb-media() {
+ depends=('gambas3-runtime' 'gstreamer0.10' 'gstreamer0.10-base')
+ pkgdesc="Simplified interface to the GStreamer library component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.media.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.media.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-memcached() {
+ depends=('gambas3-gb-net')
+ pkgdesc="Memcached client component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.memcached.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.memcached.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-mime() {
+ depends=('gambas3-runtime' 'gmime')
+ pkgdesc="MIME message component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.mime.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.mime.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-mysql() {
+ depends=('gambas3-runtime' 'gambas3-gb-db-mysql')
+ pkgdesc="Mysql extra component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.mysql.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.mysql.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-ncurses() {
+ depends=('gambas3-runtime' 'ncurses')
+ pkgdesc="Ncurses component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.ncurses.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.ncurses.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-net-curl() {
+ depends=('gambas3-gb-net' 'curl')
+ pkgdesc="Curl component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.net.curl.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.net.curl.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-net-pop3() {
+ depends=('gambas3-gb-net' 'gambas3-gb-mime')
+ pkgdesc="POP3 component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.net.pop3.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.net.pop3.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-net-smtp() {
+ depends=('gambas3-runtime' 'glib2')
+ pkgdesc="SMTP component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.net.smtp.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.net.smtp.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-net() {
+ depends=('gambas3-runtime')
+ pkgdesc="Network component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.net.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.net.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-opengl-glu() {
+ depends=('gambas3-gb-opengl')
+ pkgdesc="GL Utility component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.opengl.glu.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.opengl.glu.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-opengl-glsl() {
+ depends=('gambas3-gb-opengl')
+ pkgdesc="GLSL component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.opengl.glsl.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.opengl.glsl.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-opengl() {
+ depends=('gambas3-runtime' 'glew')
+ pkgdesc="OpenGL component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.opengl.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.opengl.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-option() {
+ depends=('gambas3-runtime')
+ pkgdesc="Getopt component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.option.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.option.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-pcre() {
+ depends=('gambas3-runtime' 'pcre')
+ pkgdesc="PCRE component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.pcre.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.pcre.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-pdf() {
+ depends=('gambas3-runtime' 'poppler')
+ pkgdesc="PDF component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.pdf.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.pdf.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-qt4-ext() {
+ depends=('gambas3-gb-qt4')
+ pkgdesc="Qt4 toolkit extended component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.qt4.ext.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.qt4.ext.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-qt4-opengl() {
+ depends=('gambas3-gb-qt4' 'gambas3-gb-opengl')
+ pkgdesc="Qt4 toolkit OpenGL component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.qt4.opengl.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.qt4.opengl.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-qt4-webkit() {
+ depends=('gambas3-gb-qt4' 'qtwebkit')
+ pkgdesc="Qt4 toolkit webkit component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.qt4.webkit.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.qt4.webkit.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-qt4() {
+ depends=('gambas3-gb-image' 'qt4')
+ pkgdesc="Qt4 toolkit component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.qt4.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.qt4.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-report() {
+ depends=('gambas3-gb-form' 'gambas3-gb-image-io')
+ pkgdesc="Report component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.report.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.report.* ${pkgdir}/usr/share/gambas3/info/
+ mv -v usr/share/gambas3/control/gb.report ${pkgdir}/usr/share/gambas3/control/
+}
+
+package_gambas3-gb-sdl-sound() {
+ depends=('gambas3-runtime' 'sdl_mixer')
+ pkgdesc="SDL sound component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.sdl.sound.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.sdl.sound.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-sdl() {
+ depends=('gambas3-gb-image-io' 'sdl_ttf' 'libxcursor' 'glew')
+ pkgdesc="SDL component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.sdl.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.sdl.* ${pkgdir}/usr/share/gambas3/info/
+ mv -v usr/share/gambas3/gb.sdl ${pkgdir}/usr/share/gambas3
+}
+
+package_gambas3-gb-settings() {
+ depends=('gambas3-runtime')
+ pkgdesc="Setting component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.settings.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.settings.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-signal() {
+ depends=('gambas3-runtime')
+ pkgdesc="POSIX Signals component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.signal.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.signal.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-v4l() {
+ depends=('gambas3-runtime' 'v4l-utils' 'libjpeg' 'libpng')
+ pkgdesc="Video4linux component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.v4l.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.v4l.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-vb() {
+ depends=('gambas3-runtime')
+ pkgdesc="Visual Basic transitional component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.vb.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.vb.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-web() {
+ depends=('gambas3-runtime')
+ pkgdesc="CGI component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.web.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.web.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-xml-html() {
+ depends=('gambas3-gb-xml')
+ pkgdesc="HTML generator component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.xml.html.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.xml.html.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-xml-rpc() {
+ depends=('gambas3-gb-xml' 'gambas3-gb-net-curl')
+ pkgdesc="XML-RPC component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.xml.rpc.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.xml.rpc.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-xml-xslt() {
+ depends=('gambas3-gb-xml' 'libxslt')
+ pkgdesc="XML-XSLT component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.xml.xslt.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.xml.xslt.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-gb-xml() {
+ depends=('gambas3-runtime' 'gcc-libs')
+ pkgdesc="XML component"
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ mv -v usr/lib/gambas3/gb.xml.* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/gb.xml.* ${pkgdir}/usr/share/gambas3/info/
+}
+
+package_gambas3-runtime() {
+ depends=('libffi' 'xdg-utils')
+ pkgdesc="Runtime environment"
+ conflicts=('gambas3-gb-gui')
+ replaces=('gambas3-gb-gui')
+ provides=("gambas3-gb-gui=${pkgver}")
+ install=gambas3-runtime.install
+
+ cd ${srcdir}/fakeinstall
+
+ create_dirs
+
+ install -dm755 ${pkgdir}/usr/bin
+ install -dm755 ${pkgdir}/usr/share/gambas3/{icons,mime}
+
+ mv -v usr/bin/gb{r,x}3 ${pkgdir}/usr/bin
+ mv -v usr/lib/gambas3/* ${pkgdir}/usr/lib/gambas3/
+ mv -v usr/share/gambas3/info/* ${pkgdir}/usr/share/gambas3/info/
+ install -m644 ${srcdir}/${pkgbase}-${pkgver}/main/mime/* ${pkgdir}/usr/share/gambas3/mime/
+ install -m644 ${pkgdir}/usr/share/gambas3/mime/application-x-gambas3.png ${pkgdir}/usr/share/gambas3/icons/
+}
+
+package_gambas3-devel() {
+ depends=('gambas3-runtime')
+ pkgdesc="Development environment"
+
+ cd ${srcdir}/fakeinstall
+
+ install -dm755 ${pkgdir}/usr/bin
+
+ mv -v usr/bin/gb{a,c,i}3 ${pkgdir}/usr/bin
+}
+
+package_gambas3-ide() {
+ depends=('gambas3-devel' 'gambas3-gb-db-form' 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight'
+ 'gambas3-gb-form-dialog' 'gambas3-gb-form-stock' 'gambas3-gb-settings' 'gambas3-gb-form-mdi'
+ 'gambas3-gb-image-effect' 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-webkit')
+ pkgdesc="Integrated Development Environment"
+
+ cd ${srcdir}/fakeinstall
+
+ install -dm755 ${pkgdir}/usr/{bin,share/{applications,pixmaps}}
+
+ mv -v usr/bin/gambas3* ${pkgdir}/usr/bin/
+
+ install -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas3.desktop ${pkgdir}/usr/share/applications/
+ install -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas3.png ${pkgdir}/usr/share/pixmaps/
+}
+
+package_gambas3-script() {
+ depends=('gambas3-devel')
+ pkgdesc="Scripter and server programs support"
+ install=gambas3-script.install
+
+ cd ${srcdir}/fakeinstall
+
+ install -dm755 ${pkgdir}/usr/bin
+ install -dm755 ${pkgdir}/usr/share/gambas3/mime
+
+ mv -v usr/bin/gb{s,w}3* ${pkgdir}/usr/bin/
+ install -m644 ${srcdir}/${pkgbase}-${pkgver}/app/mime/* ${pkgdir}/usr/share/gambas3/mime/
+}
+
+package_gambas3-examples() {
+ depends=(${_components[@]} 'gambas3-runtime' 'gambas3-ide')
+ pkgdesc="Applications examples"
+
+ cd ${srcdir}/fakeinstall
+
+ install -dm755 ${pkgdir}/usr/share/gambas3
+
+ mv -v usr/share/gambas3/examples ${pkgdir}/usr/share/gambas3/
+}
diff --git a/community/gambas3/gambas3-3.4.1-llvm-3.3.patch b/community/gambas3/gambas3-3.4.1-llvm-3.3.patch
new file mode 100644
index 000000000..a5f75fe78
--- /dev/null
+++ b/community/gambas3/gambas3-3.4.1-llvm-3.3.patch
@@ -0,0 +1,86 @@
+diff -up gambas3-3.4.1/gb.jit/configure.ac.jx gambas3-3.4.1/gb.jit/configure.ac
+--- gambas3-3.4.1/gb.jit/configure.ac.jx 2013-03-24 13:34:31.000000000 -0400
++++ gambas3-3.4.1/gb.jit/configure.ac 2013-05-02 13:42:02.911687100 -0400
+@@ -32,7 +32,7 @@ fi
+
+ GB_COMPONENT(
+ jit, JIT, gb.jit, [src],
+- [GB_FIND(llvm/LLVMContext.h, /usr/lib/llvm* /usr/local/lib /usr/local /usr/lib /usr `$LLVM_CONFIG --prefix`, include)],
++ [GB_FIND(llvm/IR/LLVMContext.h, /usr/lib/llvm* /usr/local/lib /usr/local /usr/lib /usr `$LLVM_CONFIG --prefix`, include)],
+ [GB_FIND(libLLVM-$LLVM_VERSION.$SHLIBEXT, /usr/lib/llvm* /usr/local /usr `$LLVM_CONFIG --prefix`, lib)],
+ [$C_LIB `$LLVM_CONFIG --ldflags` -lLLVM-$LLVM_VERSION],
+ [-I../../main/gbx -I../../main/share -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS])
+diff -up gambas3-3.4.1/gb.jit/src/jit_codegen.cpp.jx gambas3-3.4.1/gb.jit/src/jit_codegen.cpp
+--- gambas3-3.4.1/gb.jit/src/jit_codegen.cpp.jx 2013-03-24 13:34:31.000000000 -0400
++++ gambas3-3.4.1/gb.jit/src/jit_codegen.cpp 2013-05-02 13:54:30.344186594 -0400
+@@ -3614,11 +3614,7 @@ void TryExpression::codegen(){
+ create_gep(temp_errcontext1, TARGET_BITS, 0, TARGET_BITS, 0));
+
+ llvm::Function* f = llvm::cast<llvm::Function>(get_global_function(_setjmp, 'i', "p"));
+-#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2)
+- f->addFnAttr(llvm::Attributes::ReturnsTwice);
+-#else
+ f->addFnAttr(llvm::Attribute::ReturnsTwice);
+-#endif
+
+ llvm::Value* setjmp_return = builder->CreateCall(f, jmpbuf);
+
+@@ -3669,11 +3665,7 @@ void LargeTryExpression::codegen(){
+ create_gep(temp_errcontext2, TARGET_BITS, 0, TARGET_BITS, 0));
+
+ llvm::Function* f = llvm::cast<llvm::Function>(get_global_function(_setjmp, 'i', "p"));
+-#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2)
+- f->addFnAttr(llvm::Attributes::ReturnsTwice);
+-#else
+ f->addFnAttr(llvm::Attribute::ReturnsTwice);
+-#endif
+
+ llvm::Value* setjmp_return = builder->CreateCall(f, jmpbuf);
+
+diff -up gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp.jx gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp
+--- gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp.jx 2013-03-24 13:34:31.000000000 -0400
++++ gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp 2013-05-02 13:42:02.912687103 -0400
+@@ -24,9 +24,9 @@
+ ***************************************************************************/
+
+ #include "llvm/Pass.h"
+-#include "llvm/Function.h"
++#include "llvm/IR/Function.h"
+ #if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2)
+-#include "llvm/IRBuilder.h"
++#include "llvm/IR/IRBuilder.h"
+ #else
+ #include "llvm/Support/IRBuilder.h"
+ #endif
+diff -up gambas3-3.4.1/gb.jit/src/jit.h.jx gambas3-3.4.1/gb.jit/src/jit.h
+--- gambas3-3.4.1/gb.jit/src/jit.h.jx 2013-03-24 13:34:31.000000000 -0400
++++ gambas3-3.4.1/gb.jit/src/jit.h 2013-05-02 13:42:02.912687103 -0400
+@@ -26,13 +26,13 @@
+ #ifndef __JIT_H
+ #define __JIT_H
+
+-#include "llvm/LLVMContext.h"
+-#include "llvm/Module.h"
++#include "llvm/IR/LLVMContext.h"
++#include "llvm/IR/Module.h"
+ #include "llvm/Analysis/Verifier.h"
+-#include "llvm/Constants.h"
+-#include "llvm/DerivedTypes.h"
+-#include "llvm/Intrinsics.h"
+-#include "llvm/Instructions.h"
++#include "llvm/IR/Constants.h"
++#include "llvm/IR/DerivedTypes.h"
++#include "llvm/IR/Intrinsics.h"
++#include "llvm/IR/Instructions.h"
+ #include "llvm/ExecutionEngine/JIT.h"
+ #include "llvm/ExecutionEngine/Interpreter.h"
+ #include "llvm/ExecutionEngine/GenericValue.h"
+@@ -40,7 +40,7 @@
+ #include "llvm/Support/ManagedStatic.h"
+ #include "llvm/Support/raw_ostream.h"
+ #if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2)
+-#include "llvm/IRBuilder.h"
++#include "llvm/IR/IRBuilder.h"
+ #else
+ #include "llvm/Support/IRBuilder.h"
+ #endif
diff --git a/community/gambas3/gambas3-runtime.install b/community/gambas3/gambas3-runtime.install
new file mode 100644
index 000000000..cfb5812fe
--- /dev/null
+++ b/community/gambas3/gambas3-runtime.install
@@ -0,0 +1,10 @@
+post_install() {
+ xdg-icon-resource install --context mimetypes --size 64 \
+ /usr/share/gambas3/mime/application-x-gambas3.png application-x-gambas3
+ xdg-mime install /usr/share/gambas3/mime/application-x-gambas3.xml
+}
+
+pre_remove() {
+ xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambas3
+ xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambas3.xml
+}
diff --git a/community/gambas3/gambas3-script.install b/community/gambas3/gambas3-script.install
new file mode 100644
index 000000000..77c1aa52f
--- /dev/null
+++ b/community/gambas3/gambas3-script.install
@@ -0,0 +1,15 @@
+post_install() {
+ xdg-icon-resource install --context mimetypes --size 64 \
+ /usr/share/gambas3/mime/application-x-gambasscript.png application-x-gambasscript
+ xdg-icon-resource install --context mimetypes --size 64 \
+ /usr/share/gambas3/mime/application-x-gambasserverpage.png application-x-gambasserverpage
+ xdg-mime install /usr/share/gambas3/mime/application-x-gambasscript.xml
+ xdg-mime install /usr/share/gambas3/mime/application-x-gambasserverpage.xml
+}
+
+pre_remove() {
+ xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasscript
+ xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasserverpage
+ xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambasscript.xml
+ xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambasserverpage.xml
+}
diff --git a/community/gammu/PKGBUILD b/community/gammu/PKGBUILD
new file mode 100644
index 000000000..87dc285f4
--- /dev/null
+++ b/community/gammu/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 93846 2013-07-11 08:52:45Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: Aurelien Foret <orelien@chez.com>
+
+pkgname=gammu
+pkgver=1.33.0
+pkgrel=1
+pkgdesc="GNU All Mobile Management Utilities"
+arch=('i686' 'x86_64')
+url="http://wammu.eu/"
+license=('GPL')
+depends=('glib2' 'bluez-libs' 'curl' 'libmariadbclient' 'postgresql-libs' 'libusb')
+makedepends=('cmake' 'doxygen' 'mariadb' 'python2')
+optdepends=('dialog: support for the gammu-config script')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2")
+md5sums=('3f46afcc16829175d2d9060ac15813e8')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ # bash completion dir change
+ sed -i 's,DESTINATION "/etc/bash_completion.d",DESTINATION "/usr/share/bash-completion/completions",' contrib/CMakeLists.txt
+
+ cmake . -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_SUFFIX=""
+
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/garmindev/51-garmin.rules b/community/garmindev/51-garmin.rules
new file mode 100644
index 000000000..0ef61bd32
--- /dev/null
+++ b/community/garmindev/51-garmin.rules
@@ -0,0 +1 @@
+ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", GROUP="uucp", MODE="660"
diff --git a/community/garmindev/PKGBUILD b/community/garmindev/PKGBUILD
new file mode 100644
index 000000000..cac38b54a
--- /dev/null
+++ b/community/garmindev/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 58914 2011-11-20 11:01:56Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Matthias Maennich <arch@maennich.net>
+
+pkgname=garmindev
+pkgver=0.3.4
+pkgrel=5
+pkgdesc="Garmin Device Drivers for QlandkarteGT"
+arch=('i686' 'x86_64')
+url="http://www.qlandkarte.org/"
+license=('GPL')
+depends=('libusb')
+makedepends=('cmake')
+changelog=$pkgname.changelog
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/qlandkartegt/$pkgname-$pkgver.tar.gz \
+ 51-garmin.rules)
+sha256sums=('86c38f65ba1a05c5d5eb076107094cb789db6ffc5d80bfd7bb209d645bcf87d5'
+ '0196ae234c0daf97afb9f4af6fdc04c2af77bb742233731870ba8cfc6ae5a7d7')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ install -d ${srcdir}/$pkgname-$pkgver/build
+ cd ${srcdir}/$pkgname-$pkgver/build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
+ make
+}
+
+package(){
+ cd ${srcdir}/$pkgname-$pkgver/build
+
+ make DESTDIR=${pkgdir} install
+
+#ChangeLog and example udev rule
+ install -D -m644 ../changelog.txt ${pkgdir}/usr/share/$pkgname/CHANGELOG
+ install -D -m644 ${srcdir}/51-garmin.rules ${pkgdir}/usr/share/$pkgname/51-garmin.rules
+}
diff --git a/community/garmindev/garmindev.changelog b/community/garmindev/garmindev.changelog
new file mode 100644
index 000000000..ef19de70d
--- /dev/null
+++ b/community/garmindev/garmindev.changelog
@@ -0,0 +1,8 @@
+2011-11-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * garmindev 0.3.4-5
+ * udev rule updated for Linux 3.1.1
+
+2011-02-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * garmindev 0.3.4-3
+ * moved to [community] with 33 AUR votes
+ * see /usr/share/garmindev/CHANGELOG for feature changes
diff --git a/community/garmindev/garmindev.install b/community/garmindev/garmindev.install
new file mode 100644
index 000000000..691e9370d
--- /dev/null
+++ b/community/garmindev/garmindev.install
@@ -0,0 +1,8 @@
+post_install() {
+cat << EOF
+Note:
+==> In case you experience access permission error for the attached Garmin GPS device,
+==> see http://wiki.openstreetmap.org/wiki/USB_Garmin_on_GNU/Linux for more details.
+==> Disable garmin_gps module in /etc/rc.conf and see included example udev rule.
+EOF
+}
diff --git a/community/gauche/PKGBUILD b/community/gauche/PKGBUILD
new file mode 100644
index 000000000..efc16877c
--- /dev/null
+++ b/community/gauche/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 94289 2013-07-18 21:59:48Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Motohiro Ueki <ueki.com@gmail.com>
+# Contributor: nkoizu <nkoizu@gmail.com>
+
+pkgname=gauche
+pkgver=0.9.3.3
+pkgrel=1
+url='http://practical-scheme.net/gauche/'
+pkgdesc='R5RS Scheme implementation (provides gosh)'
+depends=('gdbm' 'zlib' 'slib')
+license=('BSD')
+arch=('x86_64' 'i686')
+install="$pkgname.install"
+source=("http://downloads.sourceforge.net/$pkgname/Gauche-$pkgver.tgz")
+sha256sums=('3d8b70075faa0f7a24f8d112cc102ee3e1066680cdd19d324d59f33fab79caac')
+
+build() {
+ cd "$srcdir/Gauche-$pkgver"
+
+ ./configure --prefix=/usr --enable-multibyte=utf-8 \
+ --enable-threads=pthreads
+ make -j1
+}
+
+package() {
+ cd "$srcdir/Gauche-$pkgver"
+
+ make -j1 DESTDIR="$pkgdir" install-pkg install-doc
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gauche/gauche.install b/community/gauche/gauche.install
new file mode 100644
index 000000000..2edfe522e
--- /dev/null
+++ b/community/gauche/gauche.install
@@ -0,0 +1,21 @@
+infodir=/usr/share/info
+filelist=(gauche-refe.info gauche-refj.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+ /usr/bin/gosh -ftest -uslib -E"require 'new-catalog" -Eexit;
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/gavl/PKGBUILD b/community/gavl/PKGBUILD
new file mode 100644
index 000000000..5af667871
--- /dev/null
+++ b/community/gavl/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 76134 2012-09-12 03:17:18Z ebelanger $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Robert Emil Berge <filoktetes@linuxophic.org>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+
+pkgname=gavl
+pkgver=1.4.0
+pkgrel=1
+pkgdesc='A low level library, upon which multimedia APIs can be built.'
+arch=('i686' 'x86_64')
+url='http://gmerlin.sourceforge.net/'
+license=('GPL')
+depends=('glibc')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/sourceforge/gmerlin/$pkgname-$pkgver.tar.gz")
+md5sums=('2752013a817fbc43ddf13552215ec2c0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --without-doxygen --with-cpuflags=none
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gcolor2/PKGBUILD b/community/gcolor2/PKGBUILD
new file mode 100644
index 000000000..b9b30a4df
--- /dev/null
+++ b/community/gcolor2/PKGBUILD
@@ -0,0 +1,39 @@
+# Contributor: pressh <pressh funnysymbol gmail dot com>
+# Contributor: Eric Belanger <belanger@astro.umontreal.ca>
+# Contributor: shaun lastra <badicalia@gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=gcolor2
+pkgver=0.4
+pkgrel=6
+pkgdesc="A simple GTK+2 color selector"
+arch=('i686' 'x86_64')
+url="http://gcolor2.sf.net/"
+license=('GPL')
+depends=('gtk2')
+makedepends=('perlxml')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz \
+ gcolor2-0.4-amd64.patch gcolor2.desktop)
+md5sums=('02de9d925ad5921522685f402caec3ec'
+ '5791378f6f86dd25a302ad8586292dd6'
+ '9523da11b40dd167964d1b50b40250d5')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ [ "$CARCH" == "x86_64" ] && (patch -p1 < ../gcolor2-0.4-amd64.patch)
+
+ # fix fs#25904
+ sed -i 's/\[:space:\]/[&]/g' configure
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ # install desktop file
+ install -Dm644 ${srcdir}/gcolor2.desktop \
+ ${pkgdir}/usr/share/applications/gcolor2.desktop
+}
diff --git a/community/gcolor2/gcolor2-0.4-amd64.patch b/community/gcolor2/gcolor2-0.4-amd64.patch
new file mode 100644
index 000000000..cd06a8315
--- /dev/null
+++ b/community/gcolor2/gcolor2-0.4-amd64.patch
@@ -0,0 +1,46 @@
+diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN gcolor2-0.4.orig/src/callbacks.c gcolor2-0.4/src/callbacks.c
+--- gcolor2-0.4.orig/src/callbacks.c 2005-07-12 14:06:12.000000000 -0400
++++ gcolor2-0.4/src/callbacks.c 2007-02-17 19:19:38.000000000 -0500
+@@ -4,6 +4,9 @@
+
+ #include <gtk/gtk.h>
+ #include <stdio.h>
++#include <string.h>
++#include <glib.h>
++#include <glib/gprintf.h>
+
+ #include "callbacks.h"
+ #include "interface.h"
+@@ -172,6 +175,9 @@ void on_copy_color_to_clipboard_activate
+ gtk_clipboard_set_text (cb, hex, strlen (hex));
+ }
+
++void add_rgb_file (gchar *filename, gchar *type);
++gchar* get_system_file (void);
++
+ void on_show_system_colors_activate (GtkMenuItem *menuitem, gpointer user_data)
+ {
+ if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem)))
+@@ -266,6 +272,8 @@ void on_save_button_clicked (GtkButton *
+ gtk_widget_destroy (savedialog);
+ }
+
++void add_list_color (gchar *spec, gchar *name, gchar *type, gboolean is_new_color);
++
+ void add_color_to_treeview ()
+ {
+ GtkTreeView *treeview;
+diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN gcolor2-0.4.orig/src/main.c gcolor2-0.4/src/main.c
+--- gcolor2-0.4.orig/src/main.c 2005-07-11 10:55:49.000000000 -0400
++++ gcolor2-0.4/src/main.c 2007-02-17 19:18:23.000000000 -0500
+@@ -4,6 +4,10 @@
+
+ #include <gtk/gtk.h>
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <glib.h>
++#include <glib/gprintf.h>
+
+ #include "interface.h"
+ #include "support.h"
diff --git a/community/gcolor2/gcolor2.desktop b/community/gcolor2/gcolor2.desktop
new file mode 100644
index 000000000..754df94d3
--- /dev/null
+++ b/community/gcolor2/gcolor2.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Gcolor2
+GenericName=A simple GTK+2 color selector
+Comment=Choose colours from palette or screen
+Exec=gcolor2
+Icon=/usr/share/pixmaps/gcolor2/icon.png
+Type=Application
+Terminal=false
+StartupNotify=true
+Categories=Graphics;
diff --git a/community/gcompris/PKGBUILD b/community/gcompris/PKGBUILD
new file mode 100644
index 000000000..b4fb10316
--- /dev/null
+++ b/community/gcompris/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 80539 2012-11-24 11:52:22Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Daniel Isenmann <daniel.isenmann [at] gmx.de>
+
+pkgname=gcompris
+pkgver=12.11
+pkgrel=1
+pkgdesc="Educational software suite comprising of numerous activities for children aged 2 to 10"
+arch=('i686' 'x86_64')
+url="http://gcompris.net/"
+license=('GPL3')
+depends=('pygtk' 'pyxml' 'librsvg' 'python2-pysqlite'
+ 'gstreamer0.10-base-plugins')
+optdepends=('gnucap: for computer simulation within the electricity activity'
+ 'tuxpaint: for the painting activity'
+ 'gnuchess: for the chess activity')
+makedepends=('texinfo' 'texi2html' 'intltool' 'gettext' 'gnuchess')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/project/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2)
+sha256sums=('97b688497963cc907e3d91f844483fb006a07b22010528dafb09ae5380523b20')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ depends+=('gcompris-data')
+
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install-exec
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gdal/PKGBUILD b/community/gdal/PKGBUILD
new file mode 100644
index 000000000..bd5a0b10d
--- /dev/null
+++ b/community/gdal/PKGBUILD
@@ -0,0 +1,68 @@
+# $Id: PKGBUILD 91067 2013-05-18 16:29:28Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=gdal
+pkgver=1.10.0
+pkgrel=1
+pkgdesc="A translator library for raster geospatial data formats"
+arch=('i686' 'x86_64')
+url="http://www.gdal.org/"
+license=('custom')
+depends=('curl' 'geos' 'giflib' 'hdf5' 'libgeotiff' 'libjpeg' 'libpng' 'libtiff' 'netcdf' 'python2' 'python2-numpy' 'cfitsio' 'sqlite' 'libmariadbclient' 'postgresql-libs')
+makedepends=('perl' 'swig' 'chrpath')
+optdepends=('postgresql: postgresql database support'
+ 'mariadb: mariadb database support'
+ 'perl: perl binding support'
+ 'swig: perl binding support')
+options=('!libtool')
+changelog=$pkgname.changelog
+source=(http://download.osgeo.org/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz
+ gdal-1.5.1-python-install.patch)
+sha256sums=('1a9ca12bcc3a55f66bcd6654d5ff12eeddb3a26b622dd7c8872febb4f5a97487'
+ '55a0a961b2d1caddf80f18b6763a96690b0b6443fbd5a0c89e29503ded3bcea6')
+
+build() {
+ export CFLAGS="$CFLAGS -fno-strict-aliasing"
+
+# bug 23654
+ export LDFLAGS="$LDFLAGS -Wl,--as-needed"
+
+ cd "${srcdir}/$pkgname-$pkgver"
+ patch -Np0 -i "${srcdir}/gdal-1.5.1-python-install.patch"
+
+# python2 fixes
+ sed -i 's_python python1.5_python2 python python1.5_' configure
+ for file in swig/python/{,osgeo/,samples/,scripts/}*.py; do
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file
+ done
+
+ ./configure --prefix=/usr --with-netcdf --with-libtiff --with-sqlite3 \
+ --with-geotiff --with-mysql --with-python --without-libtool --with-curl \
+ --with-hdf5 --with-perl --with-geos --with-png
+
+# workaround for bug #13646
+ sed -i 's/PY_HAVE_SETUPTOOLS=1/PY_HAVE_SETUPTOOLS=/g' ./GDALmake.opt
+ sed -i 's/EXE_DEP_LIBS/KILL_EXE_DEP_LIBS/' apps/GNUmakefile
+
+ make
+}
+
+package () {
+ cd "${srcdir}/$pkgname-$pkgver"
+ install -d "${pkgdir}/usr/lib/python2.7/site-packages/"
+ make DESTDIR="${pkgdir}" install
+
+# install license
+ install -D -m644 LICENSE.TXT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+#FS15477 clean up junks
+ rm -f "${pkgdir}"/usr/bin/*.dox
+
+# Remove RPATH
+ chrpath --delete "${pkgdir}"/usr/lib/perl5/${CARCH}-linux-thread-multi/auto/Geo/OSR/OSR.so
+ chrpath --delete "${pkgdir}"/usr/lib/perl5/${CARCH}-linux-thread-multi/auto/Geo/OGR/OGR.so
+ chrpath --delete "${pkgdir}"/usr/lib/perl5/${CARCH}-linux-thread-multi/auto/Geo/GDAL/GDAL.so
+ chrpath --delete "${pkgdir}"/usr/lib/perl5/${CARCH}-linux-thread-multi/auto/Geo/GDAL/Const/Const.so
+}
diff --git a/community/gdal/gdal-1.5.1-python-install.patch b/community/gdal/gdal-1.5.1-python-install.patch
new file mode 100644
index 000000000..8ec414d37
--- /dev/null
+++ b/community/gdal/gdal-1.5.1-python-install.patch
@@ -0,0 +1,10 @@
+--- swig/python/GNUmakefile.orig 2010-04-24 01:22:07.000000000 +0200
++++ swig/python/GNUmakefile 2010-05-05 19:14:58.000000000 +0200
+@@ -72,5 +72,5 @@
+ ifeq ($(PY_HAVE_SETUPTOOLS),1)
+- $(PYTHON) setup.py install
++ $(PYTHON) setup.py install --root=$(DESTDIR)
+ else
+- $(PYTHON) setup.py install --prefix=$(DESTDIR)$(prefix)
++ $(PYTHON) setup.py install --root=$(DESTDIR) --prefix=$(prefix)
+ endif
diff --git a/community/gdal/gdal.changelog b/community/gdal/gdal.changelog
new file mode 100644
index 000000000..c31121e1d
--- /dev/null
+++ b/community/gdal/gdal.changelog
@@ -0,0 +1,11 @@
+2011-02-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * gdal 1.8.0-1
+
+2010-11-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.7.3
+
+2010-06-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#19946 fixed in 1.7.2-2
+
+2010-05-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.7.2
diff --git a/community/gdesklets/PKGBUILD b/community/gdesklets/PKGBUILD
new file mode 100644
index 000000000..197781d7c
--- /dev/null
+++ b/community/gdesklets/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 68406 2012-03-24 09:48:30Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: nifan <carlos@nifan.tk>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+
+pkgname=gdesklets
+pkgver=0.36.3
+pkgrel=4
+pkgdesc="System for bringing mini programs (desklets) onto your desktop"
+arch=('i686' 'x86_64')
+url="http://gdesklets.de/"
+license=('GPL')
+depends=('libgtop' 'librsvg' 'pygtk' 'desktop-file-utils' 'gnome-icon-theme' 'xdg-utils')
+makedepends=('gnome-python' 'intltool')
+options=(!libtool)
+install=$pkgname.install
+source=(http://gdesklets.de/files/$pkgname-$pkgver.tar.bz2
+ gdesklets-core-0.36.3-.in-files.patch
+ fix-vfs.patch
+ make-gconf-optional.patch)
+md5sums=('60c0c4e7301b3e653702b6fe5bf7e698'
+ '27839bbefc2f6664ff31cff2d48dfeed'
+ '55ac07d16a571f29033495307c4d0f0c'
+ '45e81dd0fb20157bb840d006c3a4e2ea')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np0 -i "$srcdir/gdesklets-core-0.36.3-.in-files.patch"
+ patch -Np1 -i "$srcdir/fix-vfs.patch"
+ # https://code.launchpad.net/~ballogy/gdesklets/optional-use-gconf-appindicator/+merge/95809
+ patch -Np1 -i "$srcdir/make-gconf-optional.patch"
+
+ find . -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+ sed -i 's/python -c/$PYTHON -c/' configure.ac
+ sed -i 's/python/python2/' shell/plugins/PackageInstaller/__init__.py
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/gdesklets/fix-vfs.patch b/community/gdesklets/fix-vfs.patch
new file mode 100644
index 000000000..34f51f5f6
--- /dev/null
+++ b/community/gdesklets/fix-vfs.patch
@@ -0,0 +1,11 @@
+diff -Naur gdesklets-0.36.3.orig/utils/vfs.py gdesklets-0.36.3/utils/vfs.py
+--- gdesklets-0.36.3.orig/utils/vfs.py 2008-03-20 00:00:59.000000000 +0100
++++ gdesklets-0.36.3/utils/vfs.py 2012-01-10 03:40:42.026593299 +0100
+@@ -21,7 +21,6 @@
+ OPEN_WRITE = gnomevfs.OPEN_WRITE
+
+ except ImportError:
+- log("Using urllib, because gnomevfs isn't available")
+ OPEN_READ = "r"
+ OPEN_WRITE = "w"
+
diff --git a/community/gdesklets/gdesklets-core-0.36.3-.in-files.patch b/community/gdesklets/gdesklets-core-0.36.3-.in-files.patch
new file mode 100644
index 000000000..fc8753e46
--- /dev/null
+++ b/community/gdesklets/gdesklets-core-0.36.3-.in-files.patch
@@ -0,0 +1,149 @@
+=== modified file 'Makefile.am'
+--- Makefile.am 2010-12-14 10:24:59 +0000
++++ Makefile.am 2011-01-31 01:20:58 +0000
+@@ -11,8 +11,12 @@
+ autostartdir = $(sysconfdir)/xdg/autostart
+ sharedmimepackagedir = $(datadir)/mime/packages
+ mimeicondir = $(datadir)/icons/gnome/48x48/mimetypes
++pixmapdir = $(datadir)/pixmaps
+ basicdeskletsdir = ${installdir}
+
++# initialize this so we can add to it later
++nobase_dist_install_DATA =
++
+ include Makefile_gdesklets.am
+ include Makefile_python.am
+
+
+=== modified file 'Makefile_gdesklets.am'
+--- Makefile_gdesklets.am 2011-01-06 11:01:06 +0000
++++ Makefile_gdesklets.am 2011-01-31 01:20:58 +0000
+@@ -1,12 +1,14 @@
+ # Set the LDFLAGS for this section
+ AM_LDFLAGS = -module -avoid-version -as-needed
+
++# Libraries that get installed in these exact subdirectories
+ nobase_install_LTLIBRARIES = \
+ libdesklets/system/gtop.la \
+ utils/svg.la \
+ utils/tiling.la \
+ utils/x11.la
+
++# Scripts that get distributed and installed
+ dist_install_SCRIPTS = \
+ ctrlinfo \
+ gdesklets \
+@@ -16,38 +18,62 @@
+ gdesklets-shell \
+ test-control.py
+
++# "System" scripts that get distributed but not installed
+ dist_noinst_SCRIPTS = autogen.sh
+
++# Man page
+ dist_man_MANS = doc/man/gdesklets.1
+
+-EXTRA_DIST = \
+- AUTHORS \
+- COPYING \
+- README \
+- TODO \
+- NEWS \
+- contrib/bash/gdesklets
+-
++# The .desktop file
++desktop_in_files = data/gdesklets.desktop.in
++# The shared mime XML file
++sharedmimepackage_in_files = data/gdesklets.xml.in
++
++# Other odds and ends that get distributed, but not installed
++# It's up to distro package maintainers to install these
++EXTRA_DIST = \
++ AUTHORS \
++ COPYING \
++ README \
++ TODO \
++ NEWS \
++ contrib/bash/gdesklets \
++ $(desktop_in_files) \
++ $(sharedmimepackage_in_files)
++
++# Docs and images that get distributed and installed to these specific
++# directories
++nobase_dist_install_DATA += \
++ doc/basic/gdesklets-doc.xml \
++ doc/basic/Images/desklet-context-menu.png \
++ doc/basic/Images/desklet-start-shell.png \
++ doc/basic/Images/gdesklets.png \
++ doc/basic/Images/open-command.png \
++ doc/basic/Images/preferences.png \
++ doc/basic/Images/profile.png \
++ doc/basic/Images/remote.png \
++ doc/basic/Images/shell.png \
++ data/about.png \
++ data/gdesklets.png
++
++# Additional files that get cleaned by distclean
+ # See http://www.gnu.org/software/hello/manual/automake/Clean.html
+ CLEANFILES = \
+ po/.intltool-merge-cache
+
+ # The .desktop file
+-desktop_in_files = data/gdesklets.desktop.in
+-dist_desktop_DATA= $(desktop_in_files)
+ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+ autostart_DATA = $(desktop_in_files:.desktop.in=.desktop)
+ @INTLTOOL_DESKTOP_RULE@
+
+ # The shared mime XML file
+-sharedmimepackage_in_files = data/gdesklets.xml.in
+-dist_sharedmimepackage_DATA = $(sharedmimepackage_in_files)
+ sharedmimepackage_DATA = $(sharedmimepackage_in_files:.xml.in=.xml)
+ @INTLTOOL_XML_RULE@
+
+ # And the mime icon
+-mimeicon_DATA = data/gnome-mime-application-x-gdesklets-display.png
++dist_mimeicon_DATA = data/gnome-mime-application-x-gdesklets-display.png
+
++# Note, this gets installed in both $(pixmapdir) and $(installdir)
+ pixmap_DATA = data/gdesklets.png
+
+ libdesklets_system_gtop_la_CFLAGS = $(GLIBTOP_CFLAGS) \
+
+=== modified file 'Makefile_python.am'
+--- Makefile_python.am 2010-12-14 10:24:59 +0000
++++ Makefile_python.am 2011-01-31 01:20:58 +0000
+@@ -1,4 +1,4 @@
+-nobase_dist_install_DATA = \
++nobase_dist_install_DATA += \
+ Controls/__init__.py \
+ Controls/ArrayBuffer/__init__.py \
+ Controls/ArrayBuffer/IArrayBuffer.py \
+@@ -48,21 +48,6 @@
+ config/DisplayConfigger.py \
+ config/StateSaver.py \
+ config/settings.py \
+- data/about.png \
+- data/calendar.png \
+- data/gdesklets.desktop \
+- data/gdesklets.png \
+- data/gdesklets.xml \
+- data/gnome-mime-application-x-gdesklets-display.png \
+- doc/basic/gdesklets-doc.xml \
+- doc/basic/Images/desklet-context-menu.png \
+- doc/basic/Images/desklet-start-shell.png \
+- doc/basic/Images/gdesklets.png \
+- doc/basic/Images/open-command.png \
+- doc/basic/Images/preferences.png \
+- doc/basic/Images/profile.png \
+- doc/basic/Images/remote.png \
+- doc/basic/Images/shell.png \
+ display/__init__.py \
+ display/ContainerTarget.py \
+ display/DataTarget.py \
+@@ -212,4 +197,3 @@
+ utils/typeconverter.py \
+ utils/vfs.py \
+ utils/xdr.py
+-
+
diff --git a/community/gdesklets/gdesklets.install b/community/gdesklets/gdesklets.install
new file mode 100644
index 000000000..9ba94ee6b
--- /dev/null
+++ b/community/gdesklets/gdesklets.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+ xdg-icon-resource forceupdate --theme gnome
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/gdesklets/make-gconf-optional.patch b/community/gdesklets/make-gconf-optional.patch
new file mode 100644
index 000000000..8a9e9c2b8
--- /dev/null
+++ b/community/gdesklets/make-gconf-optional.patch
@@ -0,0 +1,36 @@
+diff -Naur gdesklets-0.36.3.orig/shell/plugins/PackageInstaller/Downloader.py gdesklets-0.36.3/shell/plugins/PackageInstaller/Downloader.py
+--- gdesklets-0.36.3.orig/shell/plugins/PackageInstaller/Downloader.py 2008-03-20 00:00:58.000000000 +0100
++++ gdesklets-0.36.3/shell/plugins/PackageInstaller/Downloader.py 2012-01-10 02:58:26.451869752 +0100
+@@ -61,16 +61,22 @@
+
+ dest_fd = open(dest, "w")
+
+- import gconf
+- client = gconf.client_get_default()
+- use_proxy = client.get_bool('/system/http_proxy/use_http_proxy')
+- if (use_proxy != 0):
+- host = client.get_string('/system/http_proxy/host')
+- port = client.get_int('/system/http_proxy/port')
+- if (host != ""):
+- http_proxy = "http://" + host + ':' + str(port)
+- else:
+- http_proxy = None
++ try:
++ import gconf
++ except ImportError:
++ gconf = None
++ if gconf:
++ client = gconf.client_get_default()
++ use_proxy = client.get_bool('/system/http_proxy/use_http_proxy')
++ if (use_proxy != 0):
++ host = client.get_string('/system/http_proxy/host')
++ port = client.get_int('/system/http_proxy/port')
++ if (host != ""):
++ http_proxy = "http://" + host + ':' + str(port)
++ else:
++ http_proxy = None
++ else:
++ http_proxy = None
+ else:
+ http_proxy = None
+
diff --git a/community/gdk-pixbuf/PKGBUILD b/community/gdk-pixbuf/PKGBUILD
new file mode 100644
index 000000000..ca5ca405c
--- /dev/null
+++ b/community/gdk-pixbuf/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 90033 2013-05-06 19:37:14Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=gdk-pixbuf
+pkgver=0.22.0
+pkgrel=11
+pkgdesc="Image loading and manipulation library"
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+license=('GPL' 'LGPL')
+depends=('gtk' 'libtiff' 'libpng')
+makedepends=('libxt')
+options=('!libtool')
+source=(ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.22/${pkgname}-${pkgver}.tar.bz2
+ gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch
+ gdk-pixbuf-0.22.0-bmp_secure.patch
+ gdk-pixbuf-0.22.0-loaders.patch
+ gdk-pixbuf-0.22.0.patch
+ libpng15.patch)
+md5sums=('05fcb68ceaa338614ab650c775efc2f2'
+ 'd1fb93f1ae994875158a7e0c108c36f8'
+ '5f59d5772b1482d885a180dbc581cf84'
+ '3cf31ae0509747f72ac27a9fd96109c2'
+ 'e0f5f301ce958b7cea0be631ed7b8e56'
+ '16db4dc83d507ebcf15d1beb753a77bc')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ export SED=/bin/sed
+ patch -Np1 -i ${srcdir}/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch
+ patch -Np0 -i ${srcdir}/gdk-pixbuf-0.22.0-bmp_secure.patch
+ patch -Np1 -i ${srcdir}/gdk-pixbuf-0.22.0-loaders.patch
+ patch -Np0 -i ${srcdir}/gdk-pixbuf-0.22.0.patch
+ patch -Np1 -i ${srcdir}/libpng15.patch
+ sed -i \
+ -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADER|' \
+ -e 's|AM_PROG_CC_STDC|AC_PROG_CC|' \
+ configure.in
+ libtoolize --force --copy --automake
+ autoreconf --force --install
+ ./configure --prefix=/usr --disable-gtk-doc
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ rm -rf ${pkgdir}/usr/share/gnome
+}
diff --git a/community/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch b/community/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch
new file mode 100644
index 000000000..ffb4378aa
--- /dev/null
+++ b/community/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch
@@ -0,0 +1,48 @@
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-bmp.c 2002-09-27 23:12:40.000000000 +0200
++++ gdk-pixbuf-0.22.0.patched/gdk-pixbuf/io-bmp.c 2005-03-30 01:33:06.000000000 +0200
+@@ -31,8 +31,6 @@
+ #include "gdk-pixbuf-private.h"
+ #include "gdk-pixbuf-io.h"
+
+-
+-
+ #if 0
+ /* If these structures were unpacked, they would define the two headers of the
+ * BMP file. After them comes the palette, and then the image data.
+@@ -206,7 +204,7 @@
+
+ if (State == NULL)
+ return NULL;
+-
++
+ while (feof(f) == 0) {
+ length = fread(membuf, 1, sizeof (membuf), f);
+ if (length > 0)
+@@ -245,11 +243,26 @@
+ static gboolean
+ grow_buffer (struct bmp_progressive_state *State)
+ {
+- guchar *tmp = realloc (State->buff, State->BufferSize);
++ guchar *tmp;
++
++ if (State->BufferSize == 0) {
++#if 0
++ g_set_error (error,
++ GDK_PIXBUF_ERROR,
++ GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
++ _("BMP image has bogus header data"));
++#endif
++ State->read_state = READ_STATE_ERROR;
++ return FALSE;
++ }
++
++ tmp = realloc (State->buff, State->BufferSize);
++
+ if (!tmp) {
+ State->read_state = READ_STATE_ERROR;
+ return FALSE;
+ }
++
+ State->buff = tmp;
+ return TRUE;
+ }
diff --git a/community/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_secure.patch b/community/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_secure.patch
new file mode 100644
index 000000000..29471f147
--- /dev/null
+++ b/community/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_secure.patch
@@ -0,0 +1,19 @@
+Index: io-bmp.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gdk-pixbuf/io-bmp.c,v
+retrieving revision 1.41
+diff -u -p -r1.41 io-bmp.c
+--- gdk-pixbuf/io-bmp.c 13 Aug 2004 02:26:57 -0000 1.41
++++ gdk-pixbuf/io-bmp.c 20 Aug 2004 00:18:14 -0000
+@@ -876,8 +876,10 @@ DoCompressed(struct bmp_progressive_stat
+ guchar c;
+ gint idx;
+
+- if (context->compr.y >= context->Header.height)
++ if (context->compr.y >= context->Header.height) {
++ context->BufferDone = 0;
+ return TRUE;
++ }
+
+ y = context->compr.y;
+
diff --git a/community/gdk-pixbuf/gdk-pixbuf-0.22.0-loaders.patch b/community/gdk-pixbuf/gdk-pixbuf-0.22.0-loaders.patch
new file mode 100644
index 000000000..068653808
--- /dev/null
+++ b/community/gdk-pixbuf/gdk-pixbuf-0.22.0-loaders.patch
@@ -0,0 +1,134 @@
+diff -NurdB gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-ico.c
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c 2002-09-27 17:19:15.000000000 -0500
++++ gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-ico.c 2005-10-27 11:28:23.000000000 -0500
+@@ -330,6 +330,9 @@
+
+ State->HeaderSize+=I;
+
++ if (State->HeaderSize < 0)
++ return FALSE;
++
+ if (State->HeaderSize>State->BytesInHeaderBuf) {
+ guchar *tmp=realloc(State->HeaderBuf,State->HeaderSize);
+ if (!tmp)
+diff -NurdB gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-xpm.c
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c 2001-03-01 15:16:28.000000000 -0500
++++ gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-xpm.c 2005-10-27 11:29:14.000000000 -0500
+@@ -243,8 +243,8 @@
+ break;
+ else {
+ if (numnames > 0) {
+- space -= 1;
+- strcat (color, " ");
++ strncat (color, " ", space);
++ space -= MIN (space, 1);
+ }
+
+ strncat (color, temp, space);
+@@ -281,7 +281,8 @@
+ /* Fall through to the xpm_read_string. */
+
+ case op_body:
+- xpm_read_string (h->infile, &h->buffer, &h->buffer_size);
++ if(!xpm_read_string (h->infile, &h->buffer, &h->buffer_size))
++ return NULL;
+ return h->buffer;
+
+ default:
+@@ -317,13 +318,6 @@
+ return NULL;
+ }
+
+-/* Destroy notification function for the pixbuf */
+-static void
+-free_buffer (guchar *pixels, gpointer data)
+-{
+- free (pixels);
+-}
+-
+ static gboolean
+ xpm_color_parse (const char *spec, XColor *color)
+ {
+@@ -342,7 +336,8 @@
+ gchar pixel_str[32];
+ GHashTable *color_hash;
+ _XPMColor *colors, *color, *fallbackcolor;
+- guchar *pixels, *pixtmp;
++ guchar *pixtmp;
++ GdkPixbuf* pixbuf;
+
+ fallbackcolor = NULL;
+
+@@ -352,16 +347,33 @@
+ return NULL;
+ }
+ sscanf (buffer, "%d %d %d %d", &w, &h, &n_col, &cpp);
+- if (cpp >= 32) {
+- g_warning ("XPM has more than 31 chars per pixel.");
++ if (cpp <= 0 || cpp >= 32) {
++ g_warning ("XPM has invalid number of chars per pixel.");
+ return NULL;
+ }
++ if (n_col <= 0 ||
++ n_col >= G_MAXINT / (cpp + 1) ||
++ n_col >= G_MAXINT / sizeof (_XPMColor)) {
++ g_warning ("XPM file has invalid number of colors");
++ return NULL;
++ }
+
+ /* The hash is used for fast lookups of color from chars */
+ color_hash = g_hash_table_new (g_str_hash, g_str_equal);
+
+- name_buf = g_new (gchar, n_col * (cpp + 1));
+- colors = g_new (_XPMColor, n_col);
++ name_buf = g_new (gchar, n_col * (cpp + 1));
++ if (!name_buf) {
++ g_warning ("Cannot allocate memory for loading XPM image");
++ g_hash_table_destroy (color_hash);
++ return NULL;
++ }
++ colors = g_new (_XPMColor, n_col);
++ if (!colors) {
++ g_warning ("Cannot allocate memory for loading XPM image");
++ g_hash_table_destroy (color_hash);
++ g_free (name_buf);
++ return NULL;
++ }
+
+ for (cnt = 0; cnt < n_col; cnt++) {
+ gchar *color_name;
+@@ -397,12 +409,8 @@
+ fallbackcolor = color;
+ }
+
+- if (is_trans)
+- pixels = malloc (w * h * 4);
+- else
+- pixels = malloc (w * h * 3);
+-
+- if (!pixels) {
++ pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, is_trans, 8, w, h);
++ if (!pixbuf) {
+ g_hash_table_destroy (color_hash);
+ g_free (colors);
+ g_free (name_buf);
+@@ -410,7 +418,7 @@
+ }
+
+ wbytes = w * cpp;
+- pixtmp = pixels;
++ pixtmp = pixbuf->pixels;
+
+ for (ycnt = 0; ycnt < h; ycnt++) {
+ buffer = (*get_buf) (op_body, handle);
+@@ -443,9 +451,7 @@
+ g_free (colors);
+ g_free (name_buf);
+
+- return gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, is_trans, 8,
+- w, h, is_trans ? (w * 4) : (w * 3),
+- free_buffer, NULL);
++ return pixbuf;
+ }
+
+ /* Shared library entry point for file loading */
diff --git a/community/gdk-pixbuf/gdk-pixbuf-0.22.0.patch b/community/gdk-pixbuf/gdk-pixbuf-0.22.0.patch
new file mode 100644
index 000000000..8e0f55680
--- /dev/null
+++ b/community/gdk-pixbuf/gdk-pixbuf-0.22.0.patch
@@ -0,0 +1,129 @@
+--- configure.in
++++ configure.in
+@@ -21,6 +21,7 @@
+ AC_PROG_CC
+ AC_ISC_POSIX
+ AM_PROG_CC_STDC
++AM_PROG_AS
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+@@ -147,18 +148,18 @@
+ dnl Test for libtiff
+ if test -z "$LIBTIFF"; then
+ AC_CHECK_LIB(tiff, TIFFReadScanline,
+- AC_CHECK_HEADER(tiffio.h,
++ [AC_CHECK_HEADER(tiffio.h,
+ TIFF='tiff'; LIBTIFF='-ltiff',
+- AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
+- AC_CHECK_LIB(tiff, TIFFWriteScanline,
+- AC_CHECK_HEADER(tiffio.h,
++ AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
++ [AC_CHECK_LIB(tiff, TIFFWriteScanline,
++ [AC_CHECK_HEADER(tiffio.h,
+ TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
+- AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
+- AC_CHECK_LIB(tiff34, TIFFFlushData,
+- AC_CHECK_HEADER(tiffio.h,
++ AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
++ [AC_CHECK_LIB(tiff34, TIFFFlushData,
++ [AC_CHECK_HEADER(tiffio.h,
+ TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
+- AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
+- AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm), -ljpeg -lz -lm), -lm)
++ AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
++ AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
+ fi
+
+ dnl Test for libjpeg
+@@ -191,9 +192,9 @@
+ dnl Test for libpng
+ if test -z "$LIBPNG"; then
+ AC_CHECK_LIB(png, png_read_info,
+- AC_CHECK_HEADER(png.h,
++ [AC_CHECK_HEADER(png.h,
+ png_ok=yes,
+- png_ok=no),
++ png_ok=no)],
+ AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
+ if test "$png_ok" = yes; then
+ AC_MSG_CHECKING([for png_structp in png.h])
+--- doc/Makefile.am
++++ doc/Makefile.am
+@@ -156,7 +156,7 @@
+ done; \
+ fi)
+ # echo '-- Installing $(srcdir)/html/index.sgml' ; \
+-# $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
++# $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR);
+
+ #
+ # Require gtk-doc when making dist
+--- gdk-pixbuf.m4
++++ gdk-pixbuf.m4
+@@ -9,7 +9,7 @@
+ dnl AM_PATH_GDK_PIXBUF([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+ dnl Test for GDK_PIXBUF, and define GDK_PIXBUF_CFLAGS and GDK_PIXBUF_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_GDK_PIXBUF,
++AC_DEFUN([AM_PATH_GDK_PIXBUF],
+ [dnl
+ dnl Get the cflags and libraries from the gdk-pixbuf-config script
+ dnl
+--- gdk-pixbuf/Makefile.am
++++ gdk-pixbuf/Makefile.am
+@@ -18,7 +18,7 @@
+
+ libgnomecanvaspixbuf_la_LDFLAGS = -version-info 1:0:0 $(EXTRA_GNOME_LIBS)
+
+-libexecdir = $(libdir)/gdk-pixbuf/loaders
++loaderdir = $(libdir)/gdk-pixbuf/loaders
+
+ #
+ # The PNG plugin.
+@@ -118,7 +118,7 @@
+
+ if BUILD_DYNAMIC_MODULES
+
+-libexec_LTLIBRARIES = \
++loader_LTLIBRARIES = \
+ $(PNG_LIB) \
+ $(JPEG_LIB) \
+ $(GIF_LIB) \
+@@ -134,7 +134,7 @@
+ extra_sources =
+
+ else
+-libexec_LTLIBRARIES =
++loader_LTLIBRARIES =
+
+ extra_sources = $(libpixbufloader_png_la_SOURCES) \
+ $(libpixbufloader_jpeg_la_SOURCES) \
+@@ -159,7 +159,7 @@
+ -I$(top_builddir)/gdk-pixbuf \
+ $(X11_CFLAGS) $(GLIB_CFLAGS) $(GTK_CFLAGS) $(GNOME_CFLAGS)
+
+-AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(libexecdir)\""
++AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\""
+
+ LDADDS = libgdk_pixbuf.la $(GLIB_LIBS) $(GTK_LIBS) $(STATIC_LIB_DEPS)
+
+@@ -211,7 +211,7 @@
+ gdk-pixbuf-parse-color.c \
+ $(extra_sources)
+
+-libgdk_pixbuf_xlib_la_LDFLAGS = -version-info 2:0:0 -export-dynamic $(GLIB_LIBS) $(X11_LIBS)
++libgdk_pixbuf_xlib_la_LDFLAGS = -version-info 2:0:0 -export-dynamic $(GLIB_LIBS)
+ libgdk_pixbuf_xlib_la_LIBADD = pixops/libpixops.la libgdk_pixbuf.la $(GTK_LIBS)
+
+
+--- gdk-pixbuf/io-bmp.c
++++ gdk-pixbuf/io-bmp.c
+@@ -28,6 +28,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
++#include <stdlib.h>
+ #include "gdk-pixbuf-private.h"
+ #include "gdk-pixbuf-io.h"
+
diff --git a/community/gdk-pixbuf/libpng15.patch b/community/gdk-pixbuf/libpng15.patch
new file mode 100644
index 000000000..e667288f8
--- /dev/null
+++ b/community/gdk-pixbuf/libpng15.patch
@@ -0,0 +1,30 @@
+diff -wbBur gdk-pixbuf-0.22.0/gdk-pixbuf/io-png.c gdk-pixbuf-0.22.0.my/gdk-pixbuf/io-png.c
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-png.c 2001-01-24 23:59:23.000000000 +0300
++++ gdk-pixbuf-0.22.0.my/gdk-pixbuf/io-png.c 2012-01-23 13:33:08.000000000 +0400
+@@ -175,7 +175,7 @@
+ return NULL;
+ }
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(png_ptr))) {
+ png_destroy_read_struct (&png_ptr, &info_ptr, &end_info);
+ return NULL;
+ }
+@@ -311,7 +311,7 @@
+ return NULL;
+ }
+
+- if (setjmp (lc->png_read_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(lc->png_read_ptr))) {
+ if (lc->png_info_ptr)
+ png_destroy_read_struct(&lc->png_read_ptr, NULL, NULL);
+ g_free(lc);
+@@ -366,7 +366,7 @@
+ lc->max_row_seen_in_chunk = -1;
+
+ /* Invokes our callbacks as needed */
+- if (setjmp (lc->png_read_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(lc->png_read_ptr))) {
+ return FALSE;
+ } else {
+ png_process_data(lc->png_read_ptr, lc->png_info_ptr, buf, size);
diff --git a/community/gdlmm/0001-Don-t-wrap-gdl_dock_layout_get_layouts_ui.patch b/community/gdlmm/0001-Don-t-wrap-gdl_dock_layout_get_layouts_ui.patch
new file mode 100644
index 000000000..c8e3218a9
--- /dev/null
+++ b/community/gdlmm/0001-Don-t-wrap-gdl_dock_layout_get_layouts_ui.patch
@@ -0,0 +1,58 @@
+From ce395bc27cf08e5f40c4ee4142cbb4795397ddc6 Mon Sep 17 00:00:00 2001
+From: Kalev Lember <kalevlember@gmail.com>
+Date: Sun, 22 Apr 2012 21:23:58 +0300
+Subject: [PATCH] Don't wrap gdl_dock_layout_get_layouts_ui
+
+Removed from gdl in commit 2b3b292.
+---
+ gdl/src/docklayout.hg | 2 --
+ gdl/src/gdl_method.defs | 6 ------
+ 2 files changed, 8 deletions(-)
+
+diff --git a/gdl/src/docklayout.hg b/gdl/src/docklayout.hg
+index 155d58b..bf532a7 100644
+--- a/gdl/src/docklayout.hg
++++ b/gdl/src/docklayout.hg
+@@ -58,8 +58,6 @@ public:
+
+ _WRAP_METHOD(bool is_dirty() const, gdl_dock_layout_is_dirty)
+
+- _WRAP_METHOD(Gtk::Widget* get_layouts_ui(), gdl_dock_layout_get_layouts_ui)
+-
+
+ _WRAP_PROPERTY("dirty", bool)
+
+diff --git a/gdl/src/gdl_method.defs b/gdl/src/gdl_method.defs
+index a7f84bb..8c80bc7 100644
+--- a/gdl/src/gdl_method.defs
++++ b/gdl/src/gdl_method.defs
+@@ -556,12 +556,6 @@
+ (return-type "gboolean")
+ )
+
+-(define-method get_layouts_ui
+- (of-object "GdlDockLayout")
+- (c-name "gdl_dock_layout_get_layouts_ui")
+- (return-type "GtkWidget*")
+-)
+-
+
+
+ ;; From gdl-dock-master.h
+--
+1.7.10
+
+--- gdlmm-3.3.2/gdl/gdlmm/docklayout.cc.get_layouts_ui 2011-11-23 19:47:10.000000000 +0200
++++ gdlmm-3.3.2/gdl/gdlmm/docklayout.cc 2012-04-23 00:35:26.839494884 +0300
+@@ -180,11 +180,6 @@
+ return gdl_dock_layout_is_dirty(const_cast<GdlDockLayout*>(gobj()));
+ }
+
+-Gtk::Widget* DockLayout::get_layouts_ui()
+-{
+- return Glib::wrap(gdl_dock_layout_get_layouts_ui(gobj()));
+-}
+-
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ Glib::PropertyProxy_ReadOnly<bool> DockLayout::property_dirty() const
diff --git a/community/gdlmm/PKGBUILD b/community/gdlmm/PKGBUILD
new file mode 100644
index 000000000..fb02bfec9
--- /dev/null
+++ b/community/gdlmm/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 79334 2012-11-03 04:07:35Z bgyorgy $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+pkgname=gdlmm
+pkgver=3.3.2
+pkgrel=3
+pkgdesc="C++ bindings for the gdl library"
+arch=('x86_64' 'i686')
+url="http://git.gnome.org/browse/gdlmm/"
+depends=('gdl' 'gtkmm3')
+options=(!libtool !emptydirs)
+license=('LGPL')
+source=("http://ftp.gnome.org/pub/GNOME/sources/gdlmm/3.3/$pkgname-$pkgver.tar.xz"
+ "0001-Don-t-wrap-gdl_dock_layout_get_layouts_ui.patch")
+sha256sums=('cf3253be052737332b2b6e9dbd6f62d79cbc3f3398497158c0099dbc45741a46'
+ '8fb0d920c5c3d4279738f048cbff65b5b4fa544c9f004f8e64d39e54f52653d5')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Fix build with gdl 3.6
+ patch -Np1 -i "$srcdir/0001-Don-t-wrap-gdl_dock_layout_get_layouts_ui.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gdmap/ChangeLog b/community/gdmap/ChangeLog
new file mode 100644
index 000000000..a1c404807
--- /dev/null
+++ b/community/gdmap/ChangeLog
@@ -0,0 +1,5 @@
+2007-06-28 Dragonlord <dragonlord@aur.archlinux.orgtardo@nagi-fanboi.net>
+ * updated to major release 0.8.1
+
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+ * Built for x86_64
diff --git a/community/gdmap/PKGBUILD b/community/gdmap/PKGBUILD
new file mode 100644
index 000000000..ea5be993f
--- /dev/null
+++ b/community/gdmap/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 67645 2012-03-13 15:14:31Z lcarlier $
+# Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+
+pkgname=gdmap
+pkgver=0.8.1
+pkgrel=3
+pkgdesc="Tool to inspect the used space of folders."
+arch=('i686' 'x86_64')
+url="http://gdmap.sourceforge.net"
+license=('GPL')
+depends=('gtk2' 'glib2' 'libxml2')
+makedepends=('gettext' 'intltool')
+source=(http://downloads.sourceforge.net/sourceforge/gdmap/$pkgname-$pkgver.tar.gz \
+ gtk-fix.patch)
+md5sums=('54b43354dbe774810104607ad1eaaed3'
+ 'a5488ae69fa778cd35398b99bb1d6c94')
+
+build() {
+ cd ${srcdir}/gdmap-$pkgver
+
+ cd src
+ # fix deprecated gtk macros call
+ patch -Np0 -i ../../gtk-fix.patch
+ # fix linking
+ sed -i -e 's/@LIBXML_LIBS@/@LIBXML_LIBS@ -lm/g' Makefile.in
+ cd ..
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/gdmap-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/gdmap/gtk-fix.patch b/community/gdmap/gtk-fix.patch
new file mode 100644
index 000000000..c6269f1dc
--- /dev/null
+++ b/community/gdmap/gtk-fix.patch
@@ -0,0 +1,50 @@
+--- gui_support.c 2008/05/23 14:54:28 1.2
++++ gui_support.c 2012/01/06 13:51:36 1.3
+@@ -2,8 +2,8 @@
+ * distributed under the terms of the GNU Public License. See the
+ * file COPYING for details.
+ */
+-/* $Revision: 1.2 $
+- * $Date: 2008/05/23 14:54:28 $
++/* $Revision: 1.3 $
++ * $Date: 2012/01/06 13:51:36 $
+ * $Author: sgop $
+ */
+
+@@ -85,7 +85,11 @@
+ const char* text;
+
+ (void)event;
++#if GTK_CHECK_VERSION(2,20,0)
++ if (gtk_widget_get_sensitive(GTK_WIDGET(label))) {
++#else
+ if (GTK_WIDGET_SENSITIVE(label)) {
++#endif
+ char* temp;
+
+ text = g_object_get_data(G_OBJECT(label), "label");
+@@ -129,7 +133,11 @@
+ void ui_event_label_set_sensitive(GtkWidget* ebox, gboolean set) {
+ gpointer callback = g_object_get_data(G_OBJECT(ebox), "callback");
+ GtkWidget* child = GTK_BIN(ebox)->child;
++#if GTK_CHECK_VERSION(2,20,0)
++ if (gtk_widget_get_sensitive(child) == set) return;
++#else
+ if (GTK_WIDGET_SENSITIVE(child) == set) return;
++#endif
+
+ if (set && !callback) return;
+ gtk_widget_set_sensitive(child, set);
+@@ -164,8 +172,11 @@
+ // GDK_FOCUS_CHANGE_MASK |
+ GDK_ENTER_NOTIFY_MASK |
+ GDK_LEAVE_NOTIFY_MASK);
++#if GTK_CHECK_VERSION(2,22,0)
++ gtk_widget_set_can_focus(ebox, TRUE);
++#else
+ GTK_WIDGET_SET_FLAGS(ebox, GTK_CAN_FOCUS);
+-
++#endif
+ gtk_widget_show(ebox);
+
+ temp = g_strdup_printf(EVENT_FMT, text);
diff --git a/community/geany-plugins/PKGBUILD b/community/geany-plugins/PKGBUILD
new file mode 100644
index 000000000..f4becdd48
--- /dev/null
+++ b/community/geany-plugins/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 91272 2013-05-20 19:14:00Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: djgera
+# Contributor: Patrick Melo <patrick@patrickmelo.eti.br>
+
+pkgname=geany-plugins
+pkgver=1.23
+pkgrel=3
+pkgdesc='Plugins for Geany'
+arch=('x86_64' 'i686')
+url='http://plugins.geany.org/'
+license=('GPL')
+depends=("geany>=$pkgver" 'gtkspell' 'webkitgtk2' 'ctpl' 'gpgme' 'vte'
+ 'desktop-file-utils' 'gtk-update-icon-cache' 'lua51')
+makedepends=('intltool' 'vala' 'gdb' 'cppcheck')
+optdepends=('hspell: hebrew spell checker')
+options=('!libtool')
+install="$pkgname.install"
+source=("http://plugins.geany.org/$pkgname/$pkgname-$pkgver.tar.bz2")
+sha256sums=('ff26860edd1cbaea88c73bd8c2bd02f9ba04046674f05d3696baf66582e2bf58')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --libexecdir=/usr/lib
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/geany-plugins/geany-plugins.install b/community/geany-plugins/geany-plugins.install
new file mode 100644
index 000000000..c7a5da359
--- /dev/null
+++ b/community/geany-plugins/geany-plugins.install
@@ -0,0 +1,14 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/geany/PKGBUILD b/community/geany/PKGBUILD
new file mode 100644
index 000000000..2e689dd5d
--- /dev/null
+++ b/community/geany/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 91268 2013-05-20 18:58:27Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.ro>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Allan McRae <mcrae_allan@hotmail.com>
+
+pkgname=geany
+pkgver=1.23.1
+pkgrel=1
+pkgdesc='Fast and lightweight IDE'
+arch=('x86_64' 'i686')
+url="http://www.geany.org/"
+license=('GPL')
+depends=('gtk2' 'hicolor-icon-theme' 'desktop-file-utils')
+makedepends=('perlxml' 'setconf' 'intltool')
+optdepends=('vte: for terminal support'
+ 'geany-plugins: various extra features'
+ 'python2')
+install="$pkgname.install"
+options=('!libtool')
+source=("http://download.geany.org/$pkgname-$pkgver.tar.bz2")
+sha256sums=('8815b16e59d8679ec359a1a5754fee05e77f7bca53083c939654bfc77d978fad')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Python2 fix
+ sed -i '0,/on/s//on2/' data/templates/files/main.py
+
+ # Syntax highlighting for PKGBUILD files
+ sed -i 's/Sh=/Sh=PKGBUILD;/' data/filetype_extensions.conf
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+
+ # Fix for FS#10318
+ setconf geany.desktop MimeType ''
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/geany/geany.install b/community/geany/geany.install
new file mode 100644
index 000000000..661157760
--- /dev/null
+++ b/community/geany/geany.install
@@ -0,0 +1,14 @@
+post_upgrade() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/geary/PKGBUILD b/community/geary/PKGBUILD
new file mode 100755
index 000000000..b9b769daa
--- /dev/null
+++ b/community/geary/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 89890 2013-05-04 23:09:02Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd at gmail dot com>
+# Contributor : sebikul <sebikul@gmail.com>
+# Contributor : Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgname=geary
+pkgver=0.3.1
+pkgrel=4
+pkgdesc="A lightweight email client for the GNOME desktop"
+arch=('i686' 'x86_64')
+url="http://www.yorba.org/projects/geary/"
+license=('GPL3')
+depends=('desktop-file-utils' 'gmime' 'hicolor-icon-theme' 'libcanberra' 'libgee06' 'libgnome-keyring' 'libnotify' 'libunique3' 'webkitgtk3')
+makedepends=('cmake' 'gobject-introspection' 'intltool' 'vala')
+install=${pkgname}.install
+source=("http://www.yorba.org/download/${pkgname}/${pkgver%.?}/${pkgname}-${pkgver}.tar.xz")
+sha256sums=('a1bf8cc95022ce0894a340dea0ab94047ac7a7ea0066b8602b136c74e93ffaed')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr --disable-{desktop-update,icon-update,schemas-compile}
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/geary/geary.install b/community/geary/geary.install
new file mode 100755
index 000000000..20def33a9
--- /dev/null
+++ b/community/geary/geary.install
@@ -0,0 +1,17 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -ftq usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade()
+{
+ post_install
+}
+
+post_remove()
+{
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/gebabbel/PKGBUILD b/community/gebabbel/PKGBUILD
new file mode 100644
index 000000000..960143f3e
--- /dev/null
+++ b/community/gebabbel/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 85453 2013-03-01 19:08:27Z andrea $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: pfm <nl081130@yahoo.de>
+
+pkgname=gebabbel
+pkgver=0.4
+pkgrel=6
+pkgdesc="GUI for gpsbabel"
+arch=('i686' 'x86_64')
+url="http://gebabbel.sourceforge.net/"
+license=('GPL2')
+depends=('qt4' 'gpsbabel')
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/Gebabbel-$pkgver-Src.tar.gz \
+ http://$pkgname.sourceforge.net/GebabbelLogo.png \
+ $pkgname.desktop \
+ $pkgname-$pkgver.patch)
+sha256sums=('dcf3543412525959eaad755673fa65412077735fec400e6e62b1bd2c94ec1adf'
+ 'ca576fb10d493e1e7a2f96e56420477a3580bfd13961a73f2c1802de14ac7b69'
+ '0b90c6443414bc85bb1abcf59d40529d29c4c1f464ef6293ebd6e3ea1aa7674f'
+ '9ec383ceb462aab1d6561bcbad506b9c75a64866a13aeecf67f64b71807f9493')
+
+build() {
+ cd ${srcdir}/Gebabbel-$pkgver
+
+ patch -Np0 -i ${srcdir}/$pkgname-$pkgver.patch
+
+ qmake-qt4
+ make
+}
+
+package() {
+ cd ${srcdir}/Gebabbel-$pkgver
+
+ install -D -m755 ${srcdir}/Gebabbel-$pkgver/bin/$pkgname \
+ ${pkgdir}/usr/bin/$pkgname
+ install -D -m644 ${srcdir}/GebabbelLogo.png \
+ ${pkgdir}/usr/share/pixmaps/$pkgname.png
+ install -D -m644 ${srcdir}/$pkgname.desktop \
+ ${pkgdir}/usr/share/applications/$pkgname.desktop
+
+ #localization
+ install -d ${pkgdir}/usr/share/$pkgname/locale
+ install -t ${pkgdir}/usr/share/$pkgname/locale/ \
+ ${srcdir}/Gebabbel-$pkgver/binincludes/translations/*.qm
+}
diff --git a/community/gebabbel/gebabbel-0.4.patch b/community/gebabbel/gebabbel-0.4.patch
new file mode 100644
index 000000000..e604e5a5c
--- /dev/null
+++ b/community/gebabbel/gebabbel-0.4.patch
@@ -0,0 +1,7 @@
+--- src/MyMainWindow.cpp 2007-09-18 22:26:49.000000000 +0200
++++ src/MyMainWindow.cpp 2011-01-30 13:23:02.000000000 +0100
+@@ -221,3 +221,3 @@
+ MainToolBar = addToolBar( tr( "Main Toolbar" ) );
+- MainToolBar->setIconSize( QSize::QSize( 16, 16 ) );
++ MainToolBar->setIconSize( QSize( 16, 16 ) );
+ MainToolBar->setAllowedAreas( Qt::TopToolBarArea );
diff --git a/community/gebabbel/gebabbel.changelog b/community/gebabbel/gebabbel.changelog
new file mode 100644
index 000000000..a4d1f2369
--- /dev/null
+++ b/community/gebabbel/gebabbel.changelog
@@ -0,0 +1,3 @@
+2011-02-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * gebabbel 0.4-4
+ * moved to [community] with 37 AUR votes
diff --git a/community/gebabbel/gebabbel.desktop b/community/gebabbel/gebabbel.desktop
new file mode 100644
index 000000000..027b52a83
--- /dev/null
+++ b/community/gebabbel/gebabbel.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=Gebabbel
+Exec=gebabbel
+Icon=gebabbel
+Type=Application
+Comment=GUI for gpsbabel
+Categories=Utility;Education; \ No newline at end of file
diff --git a/community/gecko-mediaplayer/PKGBUILD b/community/gecko-mediaplayer/PKGBUILD
new file mode 100644
index 000000000..aed59c6e8
--- /dev/null
+++ b/community/gecko-mediaplayer/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92203 2013-06-02 18:37:52Z bpiotrowski $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Allan McRae <mcrae_allan@hotmail.com>
+# Contributor: fancris3 <fancris3 at aol.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=gecko-mediaplayer
+pkgver=1.0.8
+pkgrel=1
+pkgdesc='Browser plugin that uses gnome-mplayer to play media in a web browser.'
+arch=('i686' 'x86_64')
+url='http://code.google.com/p/gecko-mediaplayer/'
+license=('GPL')
+depends=("gnome-mplayer>=${pkgver}" 'dbus-glib' 'gmtk' 'curl')
+makedepends=('xulrunner' 'pkgconfig')
+replaces=('mplayer-plugin')
+source=("http://gecko-mediaplayer.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('d13303664fcbb7f3b1273be4b1aa1b1e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --without-gconf --enable-new-libxul
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/gecko-mediaplayer/firefox-8.patch b/community/gecko-mediaplayer/firefox-8.patch
new file mode 100644
index 000000000..d4db7afd3
--- /dev/null
+++ b/community/gecko-mediaplayer/firefox-8.patch
@@ -0,0 +1,48 @@
+diff -Naur gecko-mediaplayer-1.0.5b1-old/src/np_entry.cpp gecko-mediaplayer-1.0.5b1-new/src/np_entry.cpp
+--- gecko-mediaplayer-1.0.5b1-old/src/np_entry.cpp 2011-09-20 20:48:04.000000000 +0300
++++ gecko-mediaplayer-1.0.5b1-new/src/np_entry.cpp 2011-11-22 15:57:46.751354874 +0200
+@@ -80,9 +80,9 @@
+
+ #endif /* XP_WIN */
+
+-char *NPP_GetMIMEDescription();
++const char *NPP_GetMIMEDescription();
+
+-char *NP_GetMIMEDescription()
++const char *NP_GetMIMEDescription()
+ {
+ return NPP_GetMIMEDescription();
+ }
+diff -Naur gecko-mediaplayer-1.0.5b1-old/src/npp_gate.cpp gecko-mediaplayer-1.0.5b1-new/src/npp_gate.cpp
+--- gecko-mediaplayer-1.0.5b1-old/src/npp_gate.cpp 2011-09-20 20:48:04.000000000 +0300
++++ gecko-mediaplayer-1.0.5b1-new/src/npp_gate.cpp 2011-11-22 15:58:02.473353591 +0200
+@@ -44,7 +44,7 @@
+ #include "plugin_types.h"
+ #include "plugin_setup.h"
+
+-char *NPP_GetMIMEDescription(void)
++const char *NPP_GetMIMEDescription(void)
+ {
+ return GetMIMEDescription();
+ }
+diff -Naur gecko-mediaplayer-1.0.5b1-old/src/npupp.h gecko-mediaplayer-1.0.5b1-new/src/npupp.h
+--- gecko-mediaplayer-1.0.5b1-old/src/npupp.h 2011-09-20 20:48:04.000000000 +0300
++++ gecko-mediaplayer-1.0.5b1-new/src/npupp.h 2011-11-22 15:56:32.262360950 +0200
+@@ -684,7 +684,7 @@
+
+ NPError OSCALL NP_Shutdown();
+
+- char *NP_GetMIMEDescription();
++ const char *NP_GetMIMEDescription();
+
+ #ifdef __cplusplus
+ }
+@@ -700,7 +700,7 @@
+
+ /* plugin meta member functions */
+
+- NP_EXPORT(char *) NP_GetMIMEDescription(void);
++ NP_EXPORT(const char *) NP_GetMIMEDescription(void);
+ NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs *, NPPluginFuncs *);
+ NP_EXPORT(NPError) NP_Shutdown(void);
+ NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue);
diff --git a/community/geda-gaf/ChangeLog b/community/geda-gaf/ChangeLog
new file mode 100644
index 000000000..29717fa61
--- /dev/null
+++ b/community/geda-gaf/ChangeLog
@@ -0,0 +1,57 @@
+2012-01-19 Kyle Keen <keenerd@gmail.com>
+ * 1.8.1-1
+ - Version bump
+
+2012-01-19 Kyle Keen <keenerd@gmail.com>
+ * 1.6.2-2
+ - libpng15 rebuild
+
+2010-12-26 Stefan Husmann <stefan-husmann@t-online.de>
+ * 1.6.1-2
+ - adopted, moved to [community]
+ - added some optional dependencies
+ - added some sed-commands for python2 compatibility
+
+2010-02-14 Jared Casper <jaredcasper@gmail.com>
+ * 1.6.1-1
+ - Version bump
+
+2009-10-10 Jared Casper <jaredcasper@gmail.com>
+ * 1.6.0-2
+ - Fixed a bug causing icon problems
+
+2009-10-05 Jared Casper <jaredcasper@gmail.com>
+ * 1.6.0-1
+ - Merged with geda-libs and renamed to geda-gaf to match up with
+ the release tarball name
+
+2009-05-03 Jared Casper <jaredcasper@gmail.com>
+ * 1.4.3-2
+ - Added gettext dep (noted by sergej)
+ - Added '|| return 1's to configure and make commands
+ - A bit of other random cleanup of deps
+
+2009-01-03 Jared Casper <jaredcasper@gmail.com>
+ * 1.4.3-1
+ - Version bump
+ - Fix dependencies (s/=>/>=/)
+
+2008-12-20 Jared Casper <jaredcasper@gmail.com>
+ * 1.4.2-1
+ - Version bump
+ - Update from comments
+
+2008-09-28 Jared Casper <jaredcasper@gmail.com>
+ * 1.4.1-1
+ - Version bump
+ - Added icon cache update
+ - Added icon cache and desktop update to post_update
+
+2008-05-07 Jared Casper <jaredcasper@gmail.com>
+
+ * 1.4.0-1
+ - adopted by Jared Casper
+ - Update PKGBUILD to current standards and latest version (1.4.0)
+ - add configure options and install script to handle desktop issues
+ - added ChangeLog
+
diff --git a/community/geda-gaf/PKGBUILD b/community/geda-gaf/PKGBUILD
new file mode 100644
index 000000000..e51b3d8d7
--- /dev/null
+++ b/community/geda-gaf/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Jared Casper <jaredcasper@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=geda-gaf
+pkgver=1.8.1
+pkgrel=2
+pkgdesc="gEDA/gaf suite - Contains gschem, gnetlist, gsymcheck, gattrib, utilities and documentation from the gEDA project"
+arch=('i686' 'x86_64')
+url="http://www.gpleda.org"
+license=('GPL')
+depends=('gtk2' 'guile' 'libstroke' 'shared-mime-info' 'hicolor-icon-theme')
+makedepends=('pkgconfig' 'perlxml' 'flex' 'gawk')
+optdepends=('python2: for two of the commands (garchive, tragesym)'
+ 'gawk: for sw2asc')
+replaces=('geda-suite' 'geda-libs')
+install=geda-gaf.install
+source=(http://ftp.geda-project.org/geda-gaf/stable/v1.8/$pkgver/$pkgname-$pkgver.tar.gz)
+md5sums=('3c5ef297e403b493fdf7a5d47bbeeb73')
+
+build ()
+{
+ cd "$srcdir/$pkgname-$pkgver/"
+ ./configure --prefix=/usr --disable-update-xdg-database
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/"
+ make DESTDIR="$pkgdir/" install
+ sed -i 's+/usr/bin/env python+/usr/bin/env python2+' \
+ "$pkgdir/usr/bin/garchive"
+ sed -i 's+/usr/bin/python+/usr/bin/python2+' \
+ "$pkgdir/usr/bin/tragesym"
+ sed -i 's+/usr/bin/python+/usr/bin/python2+' \
+ "$pkgdir/usr/share/doc/$pkgname/examples/lightning_detector/bom"
+}
+
diff --git a/community/geda-gaf/geda-gaf.install b/community/geda-gaf/geda-gaf.install
new file mode 100644
index 000000000..ad5e587cc
--- /dev/null
+++ b/community/geda-gaf/geda-gaf.install
@@ -0,0 +1,19 @@
+post_install() {
+if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ echo Updating icon cache...
+ /usr/bin/gtk-update-icon-cache -f -t /usr/share/icons/hicolor
+fi
+if [ -x /usr/bin/update-desktop-database ]; then
+ echo Updating desktop database..
+ /usr/bin/update-desktop-database /usr/share/applications
+fi
+update-mime-database usr/share/mime
+}
+
+post_upgrade() {
+post_install
+}
+
+post_remove() {
+post_install
+} \ No newline at end of file
diff --git a/community/gedit-plugins/PKGBUILD b/community/gedit-plugins/PKGBUILD
new file mode 100644
index 000000000..f35596fea
--- /dev/null
+++ b/community/gedit-plugins/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 92909 2013-06-18 13:47:52Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Hugo Doria <hugo@archlinux.org>
+# Contributor: Sergej Chodarev <sergejx@centrum.sk>
+# Contributor: zhuqin <zhuqin83@gmail.com>
+
+pkgname=gedit-plugins
+pkgver=3.8.3
+pkgrel=1
+pkgdesc="Plugins for gedit"
+arch=(x86_64 i686)
+license=(GPL)
+url="http://live.gnome.org/GeditPlugins"
+depends=(gedit python-dbus)
+makedepends=(intltool gnome-doc-utils vte3 libgit2-glib)
+optdepends=('gucharmap: for charmap plugin'
+ 'vte3: for embedded terminal'
+ 'libgit2-glib: for git plugin')
+options=('!libtool' '!emptydirs')
+install=gedit-plugins.install
+source=("http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz")
+sha256sums=('2340910ed49acfaab7e8d30142e087f70e55c1a55f8b755d4f9014bce3923c80')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --with-plugins=all \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gedit-plugins/gedit-plugins.install b/community/gedit-plugins/gedit-plugins.install
new file mode 100644
index 000000000..d5bcc00ae
--- /dev/null
+++ b/community/gedit-plugins/gedit-plugins.install
@@ -0,0 +1,23 @@
+pkgname=gedit-plugins
+
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+
+post_remove() {
+ post_install $1
+}
+
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gemrb/PKGBUILD b/community/gemrb/PKGBUILD
new file mode 100644
index 000000000..ad190a689
--- /dev/null
+++ b/community/gemrb/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 91754 2013-05-27 08:10:59Z bpiotrowski $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=gemrb
+pkgver=0.8.0.1
+pkgrel=1
+pkgdesc="OSS implementation of Bioware's Infinity Engine which supports eg. Baldur's Gate"
+arch=('i686' 'x86_64')
+url="http://www.gemrb.org/"
+license=('GPL')
+depends=('python2' 'openal' 'libpng' 'sdl_mixer')
+# optionally it is possible to build vlc plugin too
+makedepends=('cmake')
+install=gemrb.install
+options=('!libtool')
+source=("http://downloads.sourceforge.net/sourceforge/gemrb/$pkgname-$pkgver.tar.gz")
+md5sums=('fdb97cc031cf969938952ce2c79b25fc')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ if [ ! -d "$srcdir/build" ] ; then
+ mkdir "$srcdir/build"
+ fi
+ cd "$srcdir/build"
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr ../$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd "$srcdir"/build
+ make DESTDIR="$pkgdir" install
+}
+
diff --git a/community/gemrb/gemrb.install b/community/gemrb/gemrb.install
new file mode 100644
index 000000000..43ea46f2c
--- /dev/null
+++ b/community/gemrb/gemrb.install
@@ -0,0 +1,24 @@
+post_install() {
+ cat << EOF
+
+Installing the games
+--------------------
+ 1. Install the game(s) (eg using wine or Unshield)
+ 2. Copy /etc/gemrb/GemRB.cfg.sample to ~/.gemrb/gemrb.cfg or to /etc/gemrb/gemrb.cfg
+ 3. Edit gemrb.cfg, mainly to set up the path to the game's data files. It is crucial to get this right.
+ 4. Now You can start the game by executing "gemrb" at the command line prompt
+
+EOF
+
+gtk-update-icon-cache -f /usr/share/icons/hicolor/
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ echo "Don't forget to remove game data files."
+ post_install
+}
+
diff --git a/community/gen2shp/PKGBUILD b/community/gen2shp/PKGBUILD
new file mode 100644
index 000000000..2c18205d6
--- /dev/null
+++ b/community/gen2shp/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91621 2013-05-25 12:05:10Z bpiotrowski $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+
+pkgname=gen2shp
+pkgver=0.3.1
+pkgrel=8
+pkgdesc='Converts ArcInfo generate format to shapefile format'
+arch=('i686' 'x86_64')
+url='http://www.intevation.de/~jan/gen2shp/'
+license=('GPL')
+depends=('glibc' 'shapelib')
+source=("http://web.archive.org/web/20110716144136/http://intevation.de/~jan/gen2shp/$pkgname-$pkgver.tar.gz")
+md5sums=('1cf9f1c2097825ef96290f7e9a7eb195')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ # fix conflicting function names
+ sed -i 's/getline/get_line/' gen2shp.c utils.c utils.h
+
+ make
+}
+
+package() {
+ install -D "$pkgname-$pkgver/gen2shp" "$pkgdir/usr/bin/gens2shp"
+}
diff --git a/community/gendesk/PKGBUILD b/community/gendesk/PKGBUILD
new file mode 100644
index 000000000..52fe0bf3f
--- /dev/null
+++ b/community/gendesk/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90958 2013-05-16 14:50:52Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=gendesk
+pkgver=0.5.2
+pkgrel=1
+pkgdesc='Utility to generate .desktop files and download icons'
+arch=('x86_64' 'i686')
+url='http://roboticoverlords.org/gendesk/'
+license=('MIT')
+makedepends=('go')
+depends=('glibc')
+source=("http://roboticoverlords.org/$pkgname/$pkgname-$pkgver.tar.xz"
+ 'http://roboticoverlords.org/images/default.png')
+sha256sums=('33a989aa7603d2cb15711137f653a8985143297a2ab7532dfad1c15aa649fe17'
+ '4d96eded48e536d02e35727c36dc20844c2e44654e81baf78e10aee4eb48e837')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ go build
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm755 "$pkgname-$pkgver" "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 "$srcdir/default.png" "$pkgdir/usr/share/pixmaps/default.png"
+ install -Dm644 "$pkgname.1.gz" "$pkgdir/usr/share/man/man1/$pkgname.1.gz"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/geos/PKGBUILD b/community/geos/PKGBUILD
new file mode 100644
index 000000000..40bc64972
--- /dev/null
+++ b/community/geos/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 88623 2013-04-20 17:34:23Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=geos
+pkgver=3.3.8
+pkgrel=1
+pkgdesc="C++ port of the Java Topology Suite"
+arch=('x86_64' 'i686')
+url="http://trac.osgeo.org/geos/"
+license=('LGPL')
+depends=('gcc-libs' 'bash')
+options=('!libtool' '!emptydirs')
+changelog=$pkgname.changelog
+source=(http://download.osgeo.org/$pkgname/$pkgname-$pkgver.tar.bz2)
+sha256sums=('ebecd4d1a71bcc28e5e883296cd8c52a80d5596335e74728f320989734fa503b')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/geos/geos.changelog b/community/geos/geos.changelog
new file mode 100644
index 000000000..a230f5fcf
--- /dev/null
+++ b/community/geos/geos.changelog
@@ -0,0 +1,11 @@
+2013-04-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * geos 3.3.8-1
+
+2013-02-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * geos 3.3.7-1
+
+2013-01-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * geos 3.3.6-1
+
+2012-09-06 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * geos 3.3.5-1
diff --git a/community/gerbv/ChangeLog b/community/gerbv/ChangeLog
new file mode 100644
index 000000000..3653de9c5
--- /dev/null
+++ b/community/gerbv/ChangeLog
@@ -0,0 +1,31 @@
+2011-12-31 Kyle Keen <keenerd@gmail.com>
+ * 2.6.0-1
+ - Version bump
+
+2010-12-31 Stefan Husmann <stefan-husmann@t-online.de>
+ * 2.4.0-2
+ - Move to [community]
+
+2010-02-26 Jared Casper <jaredcasper@gmail.com>
+ * 2.4.0-1
+ - Version bump
+
+2009-07-11 Jared Casper <jaredcasper@gmail.com>
+ * 2.3.0-1
+ - Version bump
+
+2009-01-23 Jared Casper <jaredcasper@gmail.com>
+ * 2.2.0-1
+ - Version bump
+
+2008-09-28 Jared Casper <jaredcasper@gmail.com>
+ * 2.1.0-1
+ - Version bump
+ - Added icon cache update
+ - Added icon cache and desktop update to post_update
+
+2008-06-13 Jared Casper <jaredcasper@gmail.com>
+
+ * 2.0.1-1
+ - Version bump
+ - Added ChangeLog
diff --git a/community/gerbv/PKGBUILD b/community/gerbv/PKGBUILD
new file mode 100644
index 000000000..f18a19b5a
--- /dev/null
+++ b/community/gerbv/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 61469 2012-01-01 00:58:06Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Jared Casper <jaredcasper@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=gerbv
+pkgver=2.6.0
+pkgrel=1
+pkgdesc="An open source Gerber file (RS-274X only) viewer"
+url="http://gerbv.gpleda.org/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gtk2' 'shared-mime-info' 'hicolor-icon-theme')
+optdepends=('gdk-pixbuf: export of images' 'cairo: for better graphics')
+install=$pkgname.install
+source=("http://downloads.sourceforge.net/gerbv/$pkgname-$pkgver.tar.gz")
+md5sums=('44a37dd202bc60fab54cbc298a477572')
+
+build ()
+{
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr \
+ --disable-update-desktop-database
+ make
+}
+
+package()
+{
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
diff --git a/community/gerbv/gerbv.install b/community/gerbv/gerbv.install
new file mode 100644
index 000000000..8cfe0686c
--- /dev/null
+++ b/community/gerbv/gerbv.install
@@ -0,0 +1,21 @@
+post_install() {
+if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ echo Updating icon cache...
+ /usr/bin/gtk-update-icon-cache -f -t /usr/share/icons/hicolor
+fi
+if [ -x /usr/bin/update-desktop-database ]; then
+ echo Updating desktop database..
+ /usr/bin/update-desktop-database /usr/share/applications
+fi
+}
+
+post_upgrade() {
+if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ echo Updating icon cache...
+ /usr/bin/gtk-update-icon-cache -f -t /usr/share/icons/hicolor
+fi
+if [ -x /usr/bin/update-desktop-database ]; then
+ echo Updating desktop database..
+ /usr/bin/update-desktop-database /usr/share/applications
+fi
+}
diff --git a/community/gftp/PKGBUILD b/community/gftp/PKGBUILD
new file mode 100644
index 000000000..ecf7042e2
--- /dev/null
+++ b/community/gftp/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 67144 2012-03-05 00:04:12Z pschmitz $
+# Maintainer:
+# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>
+
+pkgname=gftp
+pkgver=2.0.19
+pkgrel=4
+pkgdesc="A multithreaded ftp client for X Windows"
+arch=('i686' 'x86_64')
+url="http://www.gftp.org/"
+license=('GPL2')
+depends=('gtk2' 'openssl' 'readline')
+source=(http://www.gftp.org/$pkgname-$pkgver.tar.bz2)
+md5sums=('5183cb4955d94be0e03c892585547c64')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/gigedit/PKGBUILD b/community/gigedit/PKGBUILD
new file mode 100644
index 000000000..179d5aa46
--- /dev/null
+++ b/community/gigedit/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 67675 2012-03-13 18:24:44Z lcarlier $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: svoufff <svoufff at gmail dot com>
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+
+pkgname=gigedit
+pkgver=0.2.0
+pkgrel=2
+pkgdesc="Gigasampler instrument editor"
+arch=(i686 x86_64)
+url="http://www.linuxsampler.org/"
+license=('GPL')
+depends=('linuxsampler' 'gtkmm' 'libsigc++')
+makedepends=('intltool')
+options=('!libtool' '!makeflags')
+source=(http://download.linuxsampler.org/packages/$pkgname-$pkgver.tar.gz)
+md5sums=('eadfc82118460206e8f83c104f9d2a3a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # fix linking
+ sed -i -e 's/@LIBS@/@LIBS@ -lsigc-2.0/g' src/gigedit/Makefile.in
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/giggle/PKGBUILD b/community/giggle/PKGBUILD
new file mode 100644
index 000000000..13b652f78
--- /dev/null
+++ b/community/giggle/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 88688 2013-04-21 22:17:05Z heftig $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: neodreams <yanbrodeur@gmail.com>
+
+pkgname=giggle
+pkgver=0.7
+pkgrel=2
+pkgdesc="Git repository viewer"
+arch=(i686 x86_64)
+url="http://live.gnome.org/giggle"
+license=(GPL)
+depends=(git gtksourceview3 vte3 desktop-file-utils hicolor-icon-theme)
+makedepends=(intltool itstool)
+options=(!libtool)
+install=giggle.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/giggle/0.7/$pkgname-$pkgver.tar.xz
+ gtksourceview3.7.patch)
+sha256sums=('ae2e2237fa0d0999d99d0a0ee9b7ec147e80bd2472d59a045b2b01eb02261f59'
+ 'ca0b841d11bb5072741784dbeb72705eddf8e2bde780b8712355d5b66e456b37')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np1 -i ../gtksourceview3.7.patch
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/giggle/giggle.install b/community/giggle/giggle.install
new file mode 100644
index 000000000..ec0c3f071
--- /dev/null
+++ b/community/giggle/giggle.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -f -t -q /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
diff --git a/community/giggle/gtksourceview3.7.patch b/community/giggle/gtksourceview3.7.patch
new file mode 100644
index 000000000..eb86cdeef
--- /dev/null
+++ b/community/giggle/gtksourceview3.7.patch
@@ -0,0 +1,36 @@
+From 9999a7ff573b7f3320c2065e8d0eaf0fea32a41b Mon Sep 17 00:00:00 2001
+From: Dominique Leuenberger <dimstar@opensuse.org>
+Date: Wed, 03 Apr 2013 20:26:17 +0000
+Subject: Directly include gtksourcebuffer.h
+
+Until gtksourceview 3.7, it was included indirectly by gtksourceview.h.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=697220
+---
+diff --git a/src/giggle-diff-view.c b/src/giggle-diff-view.c
+index 3ded28d..ff6bbe3 100644
+--- a/src/giggle-diff-view.c
++++ b/src/giggle-diff-view.c
+@@ -29,6 +29,8 @@
+ #include <glib/gi18n.h>
+ #include <string.h>
+
++#include <gtksourceview/gtksourcebuffer.h>
++
+ typedef struct GiggleDiffViewPriv GiggleDiffViewPriv;
+ typedef struct GiggleDiffViewFile GiggleDiffViewFile;
+ typedef struct GiggleDiffViewHunk GiggleDiffViewHunk;
+diff --git a/src/giggle-view-file.c b/src/giggle-view-file.c
+index 130af4a..517858d 100644
+--- a/src/giggle-view-file.c
++++ b/src/giggle-view-file.c
+@@ -40,6 +40,7 @@
+
+ #include <gtksourceview/gtksourcelanguagemanager.h>
+ #include <gtksourceview/gtksourceview.h>
++#include <gtksourceview/gtksourcebuffer.h>
+
+ #define GIGGLE_TYPE_VIEW_FILE_SNAPSHOT (giggle_view_file_snapshot_get_type ())
+ #define GIGGLE_VIEW_FILE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIGGLE_TYPE_VIEW_FILE_SNAPSHOT, GiggleViewFileSnapshot))
+--
+cgit v0.9.1
diff --git a/community/gigi/PKGBUILD b/community/gigi/PKGBUILD
new file mode 100644
index 000000000..95f839ee9
--- /dev/null
+++ b/community/gigi/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 94022 2013-07-13 12:32:08Z svenstaro $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: fana-m <geminin@gmx.net>
+# Contributor: Andrzej Giniewicz <gginiu@gmail.com>
+# Contributor: Manuel Gaul <inkaine@hotmail.com>
+
+pkgname=gigi
+pkgver=6142
+pkgrel=1
+pkgdesc='Small, efficient and feature rich GUI for OpenGL and C++ (freeorion fork)'
+#url='http://gigi.sourceforge.net/'
+url='http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/GG/'
+arch=('x86_64' 'i686')
+license=('LGPL')
+depends=('boost' 'libpng' 'libtiff' 'ogre' 'sdl' 'python')
+makedepends=('subversion' 'cmake' 'setconf' 'doxygen' 'mesa-libgl')
+#https://gigi.svn.sourceforge.net/svnroot/gigi/trunk/GG/
+source=("$pkgname::svn+https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk/FreeOrion/GG/#revision=6142") # 5780 # 5407
+sha256sums=('SKIP')
+
+pkgver() {
+ cd "$pkgname"
+
+ svnversion | tr -d [A-z]
+}
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ msg2 'Configuring...'
+ setconf cmake/GiGiOgre.pc.in prefix /usr
+ setconf cmake/GiGi.pc.in prefix /usr
+ setconf cmake/GiGiSDL.pc.in prefix /usr
+ # It would be better if CMAKE_INSTALL_PREFIX or the resulting Makefiles
+ # could be re-configured in the package() function, but this works too.
+ cmake \
+ -D CMAKE_INSTALL_PREFIX="$srcdir/pkg/usr" \
+ -D BUILD_TUTORIALS=OFF \
+ -D CPACK_GENERATOR=GiGiDevel \
+ -D CMAKE_C_FLAGS_RELEASE='-DNDEBUG' \
+ .
+
+ #msg2 'Building documentation...'
+ #cd doc
+ #doxygen
+ #cd ..
+
+ msg2 'Compiling...'
+ make -j1
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ msg2 'Packaging files...'
+ make install
+
+ msg2 'Moving files to the right location...'
+ mv -v "$srcdir/pkg/usr" "$pkgdir/"
+
+ #msg2 'Fixing documentation...'
+ #mkdir -p "$pkgdir/usr/share/doc"
+ #mv "$pkgdir/usr/doc" "$pkgdir/usr/share/doc/$pkgname"
+
+ #for f in `find "$pkgdir/usr/share/doc" -name "dir_*.html"`; do
+ # sed -i "s:$srcdir:/:g" "$f"
+ #done
+
+ msg2 'Python 3 fix...'
+ for f in `find "$pkgdir/usr" -name "*.py"`; do
+ sed -i "s:/env python:/python3:g" "$f"
+ done
+
+ msg2 'Packaging license...'
+ install -Dm644 COPYING \
+ "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gimmage/ChangeLog b/community/gimmage/ChangeLog
new file mode 100644
index 000000000..31991b0b5
--- /dev/null
+++ b/community/gimmage/ChangeLog
@@ -0,0 +1,15 @@
+2007-10-23 Roman Kyrylych (Romashka) <roman@archlinux.org>
+* Rebuilt against new curl
+
+2007-07-01 Alexander Fehr (pizzapunk) <pizzapunk gmail com>
+* Updated to 0.2.3
+* Added pkgconfig as a makedepend
+
+2007-06-26 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
+2007-06-20 Georg Grabler (STiAT) <ggrabler@gmail.com>
+* Updated to 0.2.2
+* Changed to new configure / make sheme
+* Added license=('GPL')
+* Added file as a depend
diff --git a/community/gimmage/PKGBUILD b/community/gimmage/PKGBUILD
new file mode 100644
index 000000000..36b32322a
--- /dev/null
+++ b/community/gimmage/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 61575 2012-01-03 14:29:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Roman Kyrylych <roman@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=gimmage
+pkgver=0.2.3
+pkgrel=4
+pkgdesc="A gtkmm image viewer"
+arch=('i686' 'x86_64')
+url="http://gimmage.berlios.de"
+license=('GPL')
+depends=('gtkmm' 'curl' 'file')
+makedepends=('pkgconfig')
+changelog=ChangeLog
+source=(http://download.berlios.de/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('f51cca53b3d33415e75a91cf81b6ac39')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ rm gimmage.desktop
+ sed -i 's|Exec=@prefix@/bin/gimmage|Exec=@prefix@/bin/gimmage %U|' gimmage.desktop.in
+ ./configure --prefix=/usr
+ sed -i '1,1i#include <string.h>' src/FileManager.cpp
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/gimp-dbp/PKGBUILD b/community/gimp-dbp/PKGBUILD
new file mode 100644
index 000000000..d41ad9b66
--- /dev/null
+++ b/community/gimp-dbp/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 83142 2013-01-27 16:14:44Z pierre $
+# Maintainer: tobias <tobias@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+pkgname=gimp-dbp
+pkgver=1.1.9
+pkgrel=3
+pkgdesc="David's batch processor for the GIMP"
+arch=('i686' 'x86_64')
+url="http://members.ozemail.com.au/~hodsond/dbp.html"
+license=('GPL')
+depends=('gimp')
+source=(http://www.ozemail.com.au/~hodsond/dbpSrc-${pkgver//./-}.tgz)
+md5sums=('1106625707798ab8ea1317ac6bece1c5')
+
+build() {
+ cd "${srcdir}/dbp-${pkgver}"
+ sed -i "s|<string>|<cstring>|" op.h
+ make
+}
+
+package() {
+ cd "${srcdir}/dbp-${pkgver}"
+ install -D -m755 dbp "${pkgdir}/usr/lib/gimp/2.0/plug-ins/dbp"
+}
diff --git a/community/gimp-plugin-fblur/PKGBUILD b/community/gimp-plugin-fblur/PKGBUILD
new file mode 100644
index 000000000..4d995bf23
--- /dev/null
+++ b/community/gimp-plugin-fblur/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 64848 2012-02-18 17:49:48Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=gimp-plugin-fblur
+pkgver=3.2.6
+pkgrel=3
+pkgdesc="Makes out of focus with luminosity and depth"
+arch=('i686' 'x86_64')
+url="http://registry.gimp.org/node/1444"
+license=('GPL')
+depends=('gimp' 'fftw')
+makedepends=('intltool')
+source=(http://registry.gimp.org/files/focusblur-$pkgver.tar.bz2)
+md5sums=('6196c88aeee8733bacc3c6e9ac3c6cf8')
+
+build() {
+ cd "$srcdir"/focusblur-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir"/focusblur-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gimp-plugin-lqr/PKGBUILD b/community/gimp-plugin-lqr/PKGBUILD
new file mode 100644
index 000000000..56697466c
--- /dev/null
+++ b/community/gimp-plugin-lqr/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 64850 2012-02-18 17:54:47Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Contributor: Andreas Schönfelder <passtschu at freenet dot de>
+
+pkgname=gimp-plugin-lqr
+pkgver=0.7.1
+pkgrel=4
+pkgdesc="Plugin for The GIMP providing Liquid Rescale"
+arch=('i686' 'x86_64')
+url="http://liquidrescale.wikidot.com/"
+license=('GPL')
+depends=('gimp' 'liblqr')
+makedepends=('intltool')
+source=(http://liquidrescale.wikidot.com/local--files/en:download-page-sources/gimp-lqr-plugin-$pkgver.tar.bz2)
+md5sums=('d7ee28b16bdbd9f46bc9f21cf5deb487')
+
+build() {
+ cd "$srcdir"/gimp-lqr-plugin-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir"/gimp-lqr-plugin-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
diff --git a/community/gimp-plugin-mathmap/PKGBUILD b/community/gimp-plugin-mathmap/PKGBUILD
new file mode 100644
index 000000000..9dd465787
--- /dev/null
+++ b/community/gimp-plugin-mathmap/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 90036 2013-05-06 19:37:24Z foutrelis $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Contributor: Serge Gielkens <gielkens.serge@mumeli.org>
+pkgname=gimp-plugin-mathmap
+pkgver=1.3.5
+pkgrel=3
+pkgdesc="A GIMP plug-in which allows distortion of images specified by mathematical formulae"
+arch=('i686' 'x86_64')
+url="http://www.complang.tuwien.ac.at/schani/mathmap/"
+license=('GPL')
+depends=('gimp' 'gsl' 'gtksourceview2' 'fftw' 'giflib')
+makedepends=('doxygen' 'unzip')
+provides=('gimp-mathmap')
+replaces=('gimp-mathmap')
+source=(http://www.complang.tuwien.ac.at/schani/mathmap/files/mathmap-${pkgver}.tar.gz \
+ fix_libnoise_build.patch libpng15.patch)
+md5sums=('6ff66d070ea410dee1a27283d05b8beb'
+ 'eca40de0ba0e6b8d34b7d1f904bc3d18'
+ '9780d6354b7380b772c4616253ecee54')
+
+build() {
+ cd "$srcdir/mathmap-$pkgver"
+
+ # fix problem with building libnoise
+ patch -Np1 < "$srcdir"/fix_libnoise_build.patch
+ # fix for libpng 1.5
+ patch -Np1 < "$srcdir"/libpng15.patch
+
+ make
+}
+
+package() {
+ cd "$srcdir/mathmap-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gimp-plugin-mathmap/fix_libnoise_build.patch b/community/gimp-plugin-mathmap/fix_libnoise_build.patch
new file mode 100644
index 000000000..fc81ba0d8
--- /dev/null
+++ b/community/gimp-plugin-mathmap/fix_libnoise_build.patch
@@ -0,0 +1,12 @@
+diff -rup mathmap-1.3.5/Makefile mathmap-1.3.5-fix//Makefile
+--- mathmap-1.3.5/Makefile 2009-08-23 13:56:14.000000000 +0200
++++ mathmap-1.3.5-fix//Makefile 2010-11-11 16:48:13.308941852 +0100
+@@ -178,7 +178,7 @@ backends/lazy_creator.o : backends/lazy_
+ $(CXX) $(MATHMAP_CXXFLAGS) $(FORMATDEFS) -o $@ -c backends/lazy_creator.cpp
+
+ builtins/libnoise.o : builtins/libnoise.cpp builtins/libnoise.h
+- $(CXX) $(MATHMAP_CXXFLAGS) -Ilibnoise/noise/include -o $@ -c builtins/libnoise.cpp
++ $(CXX) $(MATHMAP_CXXFLAGS) -Ilibnoise/noise/include -Ilibnoise/noise/src -o $@ -c builtins/libnoise.cpp
+
+ new_builtins.c opdefs.h opfuncs.h compiler_types.h llvm-ops.h : builtins.lisp ops.lisp
+ clisp builtins.lisp
diff --git a/community/gimp-plugin-mathmap/libpng15.patch b/community/gimp-plugin-mathmap/libpng15.patch
new file mode 100644
index 000000000..3cf95387c
--- /dev/null
+++ b/community/gimp-plugin-mathmap/libpng15.patch
@@ -0,0 +1,170 @@
+diff -rup mathmap-1.3.5/rwimg/rwpng.c mathmap-1.3.5.new/rwimg/rwpng.c
+--- mathmap-1.3.5/rwimg/rwpng.c 2009-08-23 13:56:14.000000000 +0200
++++ mathmap-1.3.5.new/rwimg/rwpng.c 2012-01-27 13:02:29.708023734 +0100
+@@ -58,34 +58,34 @@ open_png_file_reading (const char *filen
+ data->end_info = png_create_info_struct(data->png_ptr);
+ assert(data->end_info != 0);
+
+- if (setjmp(data->png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(data->png_ptr)))
+ assert(0);
+
+ png_init_io(data->png_ptr, data->file);
+
+ png_read_info(data->png_ptr, data->info_ptr);
+
+- *width = data->info_ptr->width;
+- *height = data->info_ptr->height;
++ *width = png_get_image_width(data->png_ptr, data->info_ptr);
++ *height = png_get_image_height(data->png_ptr, data->info_ptr);
+
+- if (data->info_ptr->bit_depth != 8 && data->info_ptr->bit_depth != 16)
++ if (png_get_bit_depth(data->png_ptr, data->info_ptr) != 8 && png_get_bit_depth(data->png_ptr, data->info_ptr) != 16)
+ {
+ fprintf(stderr, "PNG files are only supported with bit depths 8 and 16.\n");
+ /* FIXME: free stuff */
+ return 0;
+ }
+
+- if (data->info_ptr->color_type != PNG_COLOR_TYPE_RGB
+- && data->info_ptr->color_type != PNG_COLOR_TYPE_RGB_ALPHA
+- && data->info_ptr->color_type != PNG_COLOR_TYPE_GRAY
+- && data->info_ptr->color_type != PNG_COLOR_TYPE_GRAY_ALPHA)
++ if (png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_RGB
++ && png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_RGB_ALPHA
++ && png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_GRAY
++ && png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_GRAY_ALPHA)
+ {
+ fprintf(stderr, "PNG files are only supported in RGB and Gray, with or without alpha.\n");
+ /* FIXME: free stuff */
+ return 0;
+ }
+
+- if (data->info_ptr->interlace_type != PNG_INTERLACE_NONE)
++ if (png_get_interlace_type(data->png_ptr, data->info_ptr) != PNG_INTERLACE_NONE)
+ {
+ fprintf(stderr, "Interlaced PNG files are not supported.\n");
+ /* FIXME: free stuff */
+@@ -105,24 +105,24 @@ png_read_lines (void *_data, unsigned ch
+ int bps, spp;
+ unsigned char *row;
+
+- if (setjmp(data->png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(data->png_ptr)))
+ assert(0);
+
+- if (data->info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++ if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_GRAY)
+ spp = 1;
+- else if (data->info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++ else if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
+ spp = 2;
+- else if (data->info_ptr->color_type == PNG_COLOR_TYPE_RGB)
++ else if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_RGB)
+ spp = 3;
+ else
+ spp = 4;
+
+- if (data->info_ptr->bit_depth == 16)
++ if (png_get_bit_depth(data->png_ptr, data->info_ptr) == 16)
+ bps = 2;
+ else
+ bps = 1;
+
+- row = (unsigned char*)malloc(data->info_ptr->width * spp * bps);
++ row = (unsigned char*)malloc(png_get_image_width(data->png_ptr, data->info_ptr) * spp * bps);
+
+ for (i = 0; i < num_lines; ++i)
+ {
+@@ -131,13 +131,13 @@ png_read_lines (void *_data, unsigned ch
+ png_read_row(data->png_ptr, (png_bytep)row, 0);
+
+ if (spp <= 2)
+- for (j = 0; j < data->info_ptr->width; ++j)
++ for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j)
+ for (channel = 0; channel < 3; ++channel)
+- lines[i * data->info_ptr->width * 3 + j * 3 + channel] = row[j * spp * bps];
++ lines[i * png_get_image_width(data->png_ptr, data->info_ptr) * 3 + j * 3 + channel] = row[j * spp * bps];
+ else
+- for (j = 0; j < data->info_ptr->width; ++j)
++ for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j)
+ for (channel = 0; channel < 3; ++channel)
+- lines[i * data->info_ptr->width * 3 + j * 3 + channel]
++ lines[i * png_get_image_width(data->png_ptr, data->info_ptr) * 3 + j * 3 + channel]
+ = row[j * spp * bps + channel * bps];
+ }
+
+@@ -151,7 +151,7 @@ png_free_reader_data (void *_data)
+ {
+ png_data_t *data = (png_data_t*)_data;
+
+- if (setjmp(data->png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(data->png_ptr)))
+ assert(0);
+
+ if (data->have_read)
+@@ -180,7 +180,7 @@ open_png_file_writing (const char *filen
+ data->info_ptr = png_create_info_struct(data->png_ptr);
+ assert(data->info_ptr != 0);
+
+- if (setjmp(data->png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(data->png_ptr)))
+ assert(0);
+
+ if (pixel_stride == 4)
+@@ -188,18 +188,9 @@ open_png_file_writing (const char *filen
+
+ png_init_io(data->png_ptr, data->file);
+
+- data->info_ptr->width = width;
+- data->info_ptr->height = height;
+- data->info_ptr->valid = 0;
+- data->info_ptr->rowbytes = width * 3;
+- data->info_ptr->palette = 0;
+- data->info_ptr->num_palette = 0;
+- data->info_ptr->num_trans = 0;
+- data->info_ptr->bit_depth = 8;
+- data->info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+- data->info_ptr->compression_type = PNG_COMPRESSION_TYPE_DEFAULT;
+- data->info_ptr->filter_type = PNG_FILTER_TYPE_DEFAULT;
+- data->info_ptr->interlace_type = PNG_INTERLACE_NONE;
++ png_set_IHDR(data->png_ptr, data->info_ptr, width, height,
++ 8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE,
++ PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
+
+ png_write_info(data->png_ptr, data->info_ptr);
+
+@@ -216,12 +207,12 @@ png_write_lines (void *_data, unsigned c
+ unsigned char *packed_line;
+ int i;
+
+- if (setjmp(data->png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(data->png_ptr)))
+ assert(0);
+
+ if (data->pixel_stride != 3)
+ {
+- packed_line = (unsigned char*)malloc(data->info_ptr->width * 3);
++ packed_line = (unsigned char*)malloc(png_get_image_width(data->png_ptr, data->info_ptr) * 3);
+ assert(packed_line != 0);
+ }
+ else
+@@ -235,7 +226,7 @@ png_write_lines (void *_data, unsigned c
+ {
+ int j;
+
+- for (j = 0; j < data->info_ptr->width; ++j)
++ for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j)
+ {
+ packed_line[j * 3 + 0] = p[j * data->pixel_stride + 0];
+ packed_line[j * 3 + 1] = p[j * data->pixel_stride + 1];
+@@ -257,7 +248,7 @@ png_free_writer_data (void *_data)
+ {
+ png_data_t *data = (png_data_t*)_data;
+
+- if (setjmp(data->png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(data->png_ptr)))
+ assert(0);
+
+ png_write_end(data->png_ptr, data->info_ptr);
+Only in mathmap-1.3.5.new/rwimg: rwpng.c.orig
diff --git a/community/gimp-plugin-wavelet-decompose/PKGBUILD b/community/gimp-plugin-wavelet-decompose/PKGBUILD
new file mode 100644
index 000000000..02c20524d
--- /dev/null
+++ b/community/gimp-plugin-wavelet-decompose/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 63586 2012-02-05 11:58:12Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Denis Kvist <denvist@ya.ru>
+
+pkgname=gimp-plugin-wavelet-decompose
+pkgver=0.1.2
+pkgrel=2
+pkgdesc="Wavelet decompose plugin for Gimp"
+arch=('i686' 'x86_64')
+url="http://registry.gimp.org/node/11742"
+license=('GPL')
+depends=('gimp')
+source=(http://registry.gimp.org/files/wavelet-decompose-$pkgver.tar.gz \
+ po_install.diff)
+md5sums=('e0cb8670a1c5506d08f57f2300caac24'
+ '4de9e41a535f200c2502f0dd8458c43e')
+
+build() {
+ cd "$srcdir/wavelet-decompose-$pkgver"
+ patch -Np1 < ../po_install.diff
+ make
+ install -Dvm755 src/wavelet-decompose \
+ "$pkgdir"/usr/lib/gimp/2.0/plug-ins/wavelet-decompose
+ cd po
+ make LOCALEDIR="$pkgdir"/usr/share/locale install
+}
diff --git a/community/gimp-plugin-wavelet-decompose/po_install.diff b/community/gimp-plugin-wavelet-decompose/po_install.diff
new file mode 100644
index 000000000..4b6d1a9fe
--- /dev/null
+++ b/community/gimp-plugin-wavelet-decompose/po_install.diff
@@ -0,0 +1,21 @@
+diff -c -r wavelet-denoise-0.3/po/Makefile wavelet-denoise-0.3-new/po/Makefile
+*** wavelet-denoise-0.3/po/Makefile 2008-12-14 12:19:22.000000000 +0100
+--- wavelet-denoise-0.3-new/po/Makefile 2008-12-20 14:57:51.000000000 +0100
+***************
+*** 24,30 ****
+
+ install: $(LANGUAGES)
+ for L in $(LANGUAGES); \
+! do install -v -m 0644 $$L.mo "$(LOCALEDIR)/$$L/LC_MESSAGES/gimp20-$(PLUGIN)-plug-in.mo"; \
+ done
+
+ uninstall: $(LANGUAGES)
+--- 24,31 ----
+
+ install: $(LANGUAGES)
+ for L in $(LANGUAGES); \
+! do mkdir -p "$(LOCALEDIR)/$$L/LC_MESSAGES"; \
+! install -v -m 0644 $$L.mo "$(LOCALEDIR)/$$L/LC_MESSAGES/gimp20-$(PLUGIN)-plug-in.mo"; \
+ done
+
+ uninstall: $(LANGUAGES)
diff --git a/community/gimp-plugin-wavelet-denoise/PKGBUILD b/community/gimp-plugin-wavelet-denoise/PKGBUILD
new file mode 100644
index 000000000..9e17c8bfe
--- /dev/null
+++ b/community/gimp-plugin-wavelet-denoise/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 64853 2012-02-18 18:05:29Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=gimp-plugin-wavelet-denoise
+pkgver=0.3.1
+pkgrel=2
+pkgdesc="Tool to reduce noise in each channel of an image separately"
+arch=('i686' 'x86_64')
+url="http://registry.gimp.org/node/4235"
+license=('GPL')
+depends=('gimp')
+source=(http://registry.gimp.org/files/wavelet-denoise-$pkgver.tar.gz \
+ po_install.diff libm_buildfix.diff)
+md5sums=('a02862026857575cdf81b24477e42f4b'
+ '4de9e41a535f200c2502f0dd8458c43e'
+ '46940ecd5970bc4b0d4b38de89f8efbf')
+
+build() {
+ cd "$srcdir/wavelet-denoise-$pkgver"
+
+ patch -Np1 < ../po_install.diff || true
+ patch -Np1 < ../libm_buildfix.diff || true
+ make
+}
+
+package() {
+ cd "$srcdir/wavelet-denoise-$pkgver"
+
+ install -Dvm755 src/wavelet-denoise \
+ "$pkgdir"/usr/lib/gimp/2.0/plug-ins/wavelet-denoise
+ cd po
+ make LOCALEDIR="$pkgdir"/usr/share/locale install
+}
diff --git a/community/gimp-plugin-wavelet-denoise/libm_buildfix.diff b/community/gimp-plugin-wavelet-denoise/libm_buildfix.diff
new file mode 100644
index 000000000..4a832a69b
--- /dev/null
+++ b/community/gimp-plugin-wavelet-denoise/libm_buildfix.diff
@@ -0,0 +1,10 @@
+diff -rup wavelet-denoise-0.3.1/src/Makefile wavelet-denoise-0.3.1.new/src/Makefile
+--- wavelet-denoise-0.3.1/src/Makefile 2008-12-14 12:19:28.000000000 +0100
++++ wavelet-denoise-0.3.1.new/src/Makefile 2012-02-18 19:01:22.264677086 +0100
+@@ -1,5 +1,5 @@
+ CFLAGS = -O3 -Wall $(shell gimptool-2.0 --cflags)
+-LIBS = $(shell gimptool-2.0 --libs)
++LIBS = -lm $(shell gimptool-2.0 --libs)
+ PLUGIN = wavelet-denoise
+ SOURCES = plugin.c colorspace.c denoise.c wavelet.c events.c interface.c
+ HEADERS = plugin.h interface.h messages.h
diff --git a/community/gimp-plugin-wavelet-denoise/po_install.diff b/community/gimp-plugin-wavelet-denoise/po_install.diff
new file mode 100644
index 000000000..4b6d1a9fe
--- /dev/null
+++ b/community/gimp-plugin-wavelet-denoise/po_install.diff
@@ -0,0 +1,21 @@
+diff -c -r wavelet-denoise-0.3/po/Makefile wavelet-denoise-0.3-new/po/Makefile
+*** wavelet-denoise-0.3/po/Makefile 2008-12-14 12:19:22.000000000 +0100
+--- wavelet-denoise-0.3-new/po/Makefile 2008-12-20 14:57:51.000000000 +0100
+***************
+*** 24,30 ****
+
+ install: $(LANGUAGES)
+ for L in $(LANGUAGES); \
+! do install -v -m 0644 $$L.mo "$(LOCALEDIR)/$$L/LC_MESSAGES/gimp20-$(PLUGIN)-plug-in.mo"; \
+ done
+
+ uninstall: $(LANGUAGES)
+--- 24,31 ----
+
+ install: $(LANGUAGES)
+ for L in $(LANGUAGES); \
+! do mkdir -p "$(LOCALEDIR)/$$L/LC_MESSAGES"; \
+! install -v -m 0644 $$L.mo "$(LOCALEDIR)/$$L/LC_MESSAGES/gimp20-$(PLUGIN)-plug-in.mo"; \
+ done
+
+ uninstall: $(LANGUAGES)
diff --git a/community/gimp-refocus/PKGBUILD b/community/gimp-refocus/PKGBUILD
new file mode 100644
index 000000000..5cc3b5703
--- /dev/null
+++ b/community/gimp-refocus/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 128457 2011-06-24 02:06:37Z eric $
+# Maintainer: Tobias Kieslich <tobias@justdreams.de>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+pkgname=gimp-refocus
+pkgver=0.9.0
+pkgrel=3
+pkgdesc="A sharpen plugin for gimp using FIR Wiener filtering"
+arch=('i686' 'x86_64')
+url="http://refocus.sourceforge.net/"
+license=('GPL2')
+depends=('gimp')
+source=(http://downloads.sourceforge.net/sourceforge/refocus/refocus-${pkgver}.tar.gz \
+ refocus-gimp-2.0.patch refocus-mirror-fix.patch refocus-gimp-preview.patch)
+md5sums=('8d4eac4ef45c904fb5e73021696bec94'
+ '8ef9dfe697cd20be2be14c1ee53a240a'
+ '532593cba030feab8ffa7800fc9cd782'
+ '6b55dbdc656646c765064cf21e1a3c57')
+
+build() {
+ cd "${srcdir}/refocus-${pkgver}"
+ patch -Np0 -i ../refocus-gimp-2.0.patch
+ patch -Np0 -i ../refocus-mirror-fix.patch
+ patch -Np0 -i ../refocus-gimp-preview.patch
+ aclocal
+ autoconf
+ automake --add-missing
+ ./configure --prefix=/usr --bindir=/usr/lib/gimp/2.0/plug-ins
+ make
+}
+
+package() {
+ cd "${srcdir}/refocus-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/gimp-refocus/refocus-gimp-2.0.patch b/community/gimp-refocus/refocus-gimp-2.0.patch
new file mode 100644
index 000000000..259ee9f87
--- /dev/null
+++ b/community/gimp-refocus/refocus-gimp-2.0.patch
@@ -0,0 +1,209 @@
+Index: configure.in
+===================================================================
+RCS file: /cvsroot/refocus/refocus/configure.in,v
+retrieving revision 1.1.1.1
+diff -u -u -r1.1.1.1 configure.in
+--- configure.in 30 Jan 2003 21:29:29 -0000 1.1.1.1
++++ configure.in 6 Apr 2004 20:26:54 -0000
+@@ -1,8 +1,8 @@
+ dnl Process this file with autoconf to produce a configure script.
+
+-AC_INIT(README)
+-
+-AM_INIT_AUTOMAKE(refocus, 0.9.0)
++AC_INIT([refocus],[0.9.0])
++AC_CONFIG_SRCDIR(README)
++AM_INIT_AUTOMAKE
+
+ AC_PROG_CC
+ AC_CHECK_PROG(GCC3, gcc3, gcc3)
+@@ -12,7 +12,7 @@
+ AC_MSG_RESULT([using $CC as compiler])
+ fi
+
+-AC_STDC_HEADERS
++AC_HEADER_STDC([])
+ AC_PROG_RANLIB
+
+ # Check if the user has ATLAS installed in ./lib-atlas
+@@ -36,7 +36,7 @@
+ AC_SUBST(LAPACK_INCLUDE_DIR)
+ AM_CONDITIONAL(HAVE_ATLAS, test x${have_atlas} = xyes)
+
+-AM_PATH_GIMP(1.2.0)
++AM_PATH_GIMP_2_0(2.0.0)
+ AM_PATH_GTK_2_0(2.0.0)
+ AM_PATH_GLIB_2_0(2.0.0)
+
+@@ -106,5 +106,6 @@
+ #Check if erf is defined in the mathlibrary
+ AC_CHECK_LIB(m, erf, AC_DEFINE(HAVE_ERF))
+
+-AC_OUTPUT([Makefile src/Makefile lib/Makefile doc/Makefile gtk-doc/Makefile ])
++AC_CONFIG_FILES([Makefile src/Makefile lib/Makefile doc/Makefile gtk-doc/Makefile ])
++AC_OUTPUT
+
+Index: lib/Makefile.am
+===================================================================
+RCS file: /cvsroot/refocus/refocus/lib/Makefile.am,v
+retrieving revision 1.1.1.1
+diff -u -u -r1.1.1.1 Makefile.am
+--- lib/Makefile.am 30 Jan 2003 21:29:52 -0000 1.1.1.1
++++ lib/Makefile.am 6 Apr 2004 20:26:55 -0000
+@@ -1,4 +1,4 @@
+-CFLAGS=-fomit-frame-pointer -O3 -funroll-all-loops
++AM_CFLAGS=-fomit-frame-pointer -O3 -funroll-all-loops
+
+
+ noinst_LIBRARIES = liblapack.a libatlas.a libcblas.a
+Index: src/Makefile.am
+===================================================================
+RCS file: /cvsroot/refocus/refocus/src/Makefile.am,v
+retrieving revision 1.1.1.1
+diff -u -u -r1.1.1.1 Makefile.am
+--- src/Makefile.am 30 Jan 2003 21:30:18 -0000 1.1.1.1
++++ src/Makefile.am 6 Apr 2004 20:26:55 -0000
+@@ -11,7 +11,7 @@
+ EXTRA_DIST = dummy-plugin.c
+
+ refocus_SOURCES = refocus.c conv.c gimppreview.c prevman.c util.c matrix.c tilebuf.c bdclosure.c fwlapack.c
+-refocus_LDADD = @GTK_LIBS@ -lgimp ${ldadd_atlas}
++refocus_LDADD = @GIMP_LIBS@ ${ldadd_atlas}
+ refocus_DEPENDENCIES=@LAPACK_LIB_DIR@/liblapack.a
+
+ test_matrix_SOURCES = matrix.c test-matrix.c fwlapack.c
+Index: src/gimppreview.c
+===================================================================
+RCS file: /cvsroot/refocus/refocus/src/gimppreview.c,v
+retrieving revision 1.1.1.1
+diff -u -u -r1.1.1.1 gimppreview.c
+--- src/gimppreview.c 30 Jan 2003 21:30:18 -0000 1.1.1.1
++++ src/gimppreview.c 6 Apr 2004 20:26:55 -0000
+@@ -344,7 +344,7 @@
+
+ /* Save the drawable info. */
+ preview->drawable = drawable;
+- preview->drawable_has_alpha = gimp_drawable_has_alpha (drawable->id);
++ preview->drawable_has_alpha = gimp_drawable_has_alpha (drawable->drawable_id);
+
+ /* Calculate our preview size. */
+ if (preview_size == PREVIEW_FIXED_SIZE)
+Index: src/prevman.c
+===================================================================
+RCS file: /cvsroot/refocus/refocus/src/prevman.c,v
+retrieving revision 1.1.1.1
+diff -u -u -r1.1.1.1 prevman.c
+--- src/prevman.c 30 Jan 2003 21:30:18 -0000 1.1.1.1
++++ src/prevman.c 6 Apr 2004 20:26:56 -0000
+@@ -52,7 +52,7 @@
+ tile_source->width = drawable->width;
+ tile_source->height = drawable->height;
+ tile_source->bpp = drawable->bpp;
+- tile_source->has_alpha = gimp_drawable_has_alpha (drawable->id);
++ tile_source->has_alpha = gimp_drawable_has_alpha (drawable->drawable_id);
+ tile_source->un.drw.drawable = drawable;
+ gimp_pixel_rgn_init (&tile_source->un.drw.pixel_rgn, drawable, x, y, width,
+ height, FALSE, FALSE);
+@@ -144,7 +144,7 @@
+ tile_sink->width = drawable->width;
+ tile_sink->height = drawable->height;
+ tile_sink->bpp = drawable->bpp;
+- tile_sink->has_alpha = gimp_drawable_has_alpha (drawable->id);
++ tile_sink->has_alpha = gimp_drawable_has_alpha (drawable->drawable_id);
+ gimp_pixel_rgn_init (&tile_sink->un.drw.pixel_rgn, drawable, x, y, width,
+ height, TRUE, TRUE);
+ }
+@@ -159,7 +159,7 @@
+ tile_sink->width = width;
+ tile_sink->height = height;
+ tile_sink->bpp = drawable->bpp;
+- tile_sink->has_alpha = gimp_drawable_has_alpha (drawable->id);
++ tile_sink->has_alpha = gimp_drawable_has_alpha (drawable->drawable_id);
+ tile_sink->un.prv.data = g_new (guchar,
+ tile_sink->width * tile_sink->height *
+ tile_sink->bpp);
+Index: src/refocus.c
+===================================================================
+RCS file: /cvsroot/refocus/refocus/src/refocus.c,v
+retrieving revision 1.1.1.1
+diff -u -u -r1.1.1.1 refocus.c
+--- src/refocus.c 30 Jan 2003 21:30:19 -0000 1.1.1.1
++++ src/refocus.c 6 Apr 2004 20:26:56 -0000
+@@ -45,9 +45,9 @@
+
+ /* Declare local functions. */
+ static void query (void);
+-static void run (char *name,
++static void run (const gchar *name,
+ gint nparams,
+- GimpParam * param,
++ const GimpParam * param,
+ gint * nreturn_vals, GimpParam ** return_vals);
+ static gint dialog ();
+ static void doit (void);
+@@ -111,7 +111,6 @@
+ {GIMP_PDB_FLOAT, "noise", "Noise to Signal ratio"},
+ };
+ static GimpParamDef *return_vals = NULL;
+- static gint nargs = (gint) (sizeof (args) / sizeof (args[0]));
+ static gint nreturn_vals = 0;
+
+ gimp_install_procedure ("plug_in_refocus",
+@@ -123,15 +122,15 @@
+ "<Image>/Filters/Enhance/Refocus ...",
+ "RGB*, GRAY*",
+ GIMP_PLUGIN,
+- nargs, nreturn_vals, args, return_vals);
++ G_N_ELEMENTS(args), nreturn_vals, args, return_vals);
+ }
+
+ static void
+-run (char *name, gint n_params, GimpParam * param,
++run (const gchar *name, gint n_params, const GimpParam * param,
+ gint * nreturn_vals, GimpParam ** return_vals)
+ {
+ static GimpParam values[1];
+- GimpRunModeType run_mode;
++ GimpRunMode run_mode;
+ GimpPDBStatusType status = GIMP_PDB_SUCCESS;
+
+ (void) name; /* Shut up warnings about unused parameters. */
+@@ -186,8 +185,8 @@
+ {
+
+ /* Make sure that the drawable is gray or RGB color */
+- if (gimp_drawable_is_rgb (drawable->id) ||
+- gimp_drawable_is_gray (drawable->id))
++ if (gimp_drawable_is_rgb (drawable->drawable_id) ||
++ gimp_drawable_is_gray (drawable->drawable_id))
+ {
+ doit ();
+
+@@ -411,7 +410,7 @@
+ event_is_current =
+ gimp_preview_draw_unscaled_row (GIMP_PREVIEW (my_widgets.preview),
+ event->event_id,
+- gimp_drawable_type (drawable->id),
++ gimp_drawable_type (drawable->drawable_id),
+ row, buf);
+ };
+ g_free (buf);
+@@ -608,7 +607,7 @@
+ gimp_progress_init ("Computing matrix");
+ update_matrix ();
+ gimp_progress_init ("Applying convolution");
+- gimp_drawable_mask_bounds (drawable->id, &sx1, &sy1, &sx2, &sy2);
++ gimp_drawable_mask_bounds (drawable->drawable_id, &sx1, &sy1, &sx2, &sy2);
+ width = sx2 - sx1;
+ height = sy2 - sy1;
+ tile_source_init_from_drawable (&source, drawable, sx1, sy1, width, height);
+@@ -618,7 +617,7 @@
+ matrix, 2 * my_config.mat_width + 1,
+ &update_progress_closure);
+ gimp_drawable_flush (drawable);
+- gimp_drawable_merge_shadow (drawable->id, TRUE);
+- gimp_drawable_update (drawable->id, sx1, sy1, width, height);
++ gimp_drawable_merge_shadow (drawable->drawable_id, TRUE);
++ gimp_drawable_update (drawable->drawable_id, sx1, sy1, width, height);
+ g_free (matrix);
+ }
diff --git a/community/gimp-refocus/refocus-gimp-preview.patch b/community/gimp-refocus/refocus-gimp-preview.patch
new file mode 100644
index 000000000..089365dcb
--- /dev/null
+++ b/community/gimp-refocus/refocus-gimp-preview.patch
@@ -0,0 +1,440 @@
+diff -ur src/gimppreview.c src/gimppreview.c
+--- src/gimppreview.c 2008-03-17 17:20:49.000000000 -0700
++++ src/gimppreview.c 2008-03-17 17:15:51.000000000 -0700
+@@ -36,18 +36,18 @@
+ #include "gimppreview.h"
+
+
+-static void gimp_preview_init (GimpPreview * preview);
+-static void gimp_preview_class_init (GimpPreviewClass * klass);
++static void gimp_preview_init (RefocusPreview * preview);
++static void gimp_preview_class_init (RefocusPreviewClass * klass);
+
+ static void gimp_preview_plus_callback (GtkWidget * widget, gpointer data);
+ static void gimp_preview_minus_callback (GtkWidget * widget, gpointer data);
+ static gint gimp_preview_event (GtkWidget * widget, GdkEvent * event,
+ gpointer data);
+-static void gimp_preview_recompute_sizes (GimpPreview * preview,
++static void gimp_preview_recompute_sizes (RefocusPreview * preview,
+ gdouble newscale);
+-static void gimp_preview_update_preview (GimpPreview * preview);
++static void gimp_preview_update_preview (RefocusPreview * preview);
+
+-static void gimp_preview_image_set_size (GimpPreview * preview, gint width,
++static void gimp_preview_image_set_size (RefocusPreview * preview, gint width,
+ gint height);
+ static void gimp_preview_size_request (GtkWidget * widget,
+ GtkRequisition * requisition);
+@@ -58,7 +58,7 @@
+ GtkCallback callback,
+ gpointer callback_data);
+ gboolean gimp_preview_update_preview_idle_fun (gpointer data);
+-void gimp_preview_schedule_update (GimpPreview * preview);
++void gimp_preview_schedule_update (RefocusPreview * preview);
+
+ #define PROGRESS_BAR_HEIGHT (10)
+ #define PREVIEW_SIZE (100)
+@@ -94,11 +94,11 @@
+
+
+ /*
+- * Apps which use a GimpPreview widget should not be accessing the private
++ * Apps which use a RefocusPreview widget should not be accessing the private
+ * data!
+ */
+ #define PREVIEW_DATA(preview) \
+- ((GimpPreviewData*)(GIMP_PREVIEW (preview)->private_data))
++ ((RefocusPreviewData*)(GIMP_PREVIEW (preview)->private_data))
+
+ typedef struct
+ {
+@@ -126,7 +126,7 @@
+ GtkWidget *image;
+ GtkWidget *progress_bar;
+ }
+-GimpPreviewData;
++RefocusPreviewData;
+
+
+ /* Convert coordinate in preview space to image coordinates */
+@@ -155,20 +155,20 @@
+ if (!preview_type)
+ {
+ GTypeInfo preview_info = {
+- sizeof (GimpPreviewClass),
++ sizeof (RefocusPreviewClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) gimp_preview_class_init,
+ (GClassFinalizeFunc) NULL,
+ (gconstpointer) NULL, /* class_data */
+- sizeof (GimpPreview),
++ sizeof (RefocusPreview),
+ 0, /* n_preallocs */
+ (GInstanceInitFunc) gimp_preview_init,
+ (GTypeValueTable *) NULL /* value_table */
+ };
+
+ preview_type =
+- g_type_register_static (GTK_TYPE_CONTAINER, "GimpPreview",
++ g_type_register_static (GTK_TYPE_CONTAINER, "RefocusPreview",
+ &preview_info, 0);
+ }
+
+@@ -181,7 +181,7 @@
+ * by GTK's internal mechanisms.
+ */
+ static void
+-gimp_preview_class_init (GimpPreviewClass * klass)
++gimp_preview_class_init (RefocusPreviewClass * klass)
+ {
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+ GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
+@@ -190,7 +190,7 @@
+ g_signal_new ("update_preview",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_FIRST,
+- G_STRUCT_OFFSET (GimpPreviewClass, update_preview),
++ G_STRUCT_OFFSET (RefocusPreviewClass, update_preview),
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__POINTER,
+@@ -200,7 +200,7 @@
+ g_signal_new ("preview_changed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_FIRST,
+- G_STRUCT_OFFSET (GimpPreviewClass, preview_changed),
++ G_STRUCT_OFFSET (RefocusPreviewClass, preview_changed),
+ NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+
+ klass->update_preview = NULL;
+@@ -212,7 +212,7 @@
+
+
+ void
+-gimp_preview_set_scale_amount(GimpPreview *preview, gdouble scale_amount)
++gimp_preview_set_scale_amount(RefocusPreview *preview, gdouble scale_amount)
+ {
+ /*
+ * If the caller wants to set the scale amount, let them do so.
+@@ -269,7 +269,7 @@
+ * by GTK's internal mechanisms.
+ */
+ static void
+-gimp_preview_init (GimpPreview * preview)
++gimp_preview_init (RefocusPreview * preview)
+ {
+ gchar buffer[10];
+
+@@ -277,7 +277,7 @@
+ GTK_WIDGET_SET_FLAGS (preview, GTK_NO_WINDOW);
+ GTK_CONTAINER (preview)->resize_mode = GTK_RESIZE_IMMEDIATE;
+
+- preview->private_data = g_malloc0 (sizeof (GimpPreviewData));
++ preview->private_data = g_malloc0 (sizeof (RefocusPreviewData));
+
+
+ PREVIEW_DATA (preview)->label = gtk_label_new ("");
+@@ -307,7 +307,7 @@
+ gimp_preview_new_with_args (GimpDrawable * drawable, gint cb_preview_size,
+ gdouble cb_scale_amount, gint cb_allow_scale)
+ {
+- GimpPreview *preview;
++ RefocusPreview *preview;
+ GtkWidget *frame;
+ GtkWidget *hbox;
+ GtkWidget *event_box;
+@@ -454,7 +454,7 @@
+ static void
+ gimp_preview_size_request (GtkWidget * widget, GtkRequisition * requisition)
+ {
+- GimpPreview *preview = GIMP_PREVIEW (widget);
++ RefocusPreview *preview = GIMP_PREVIEW (widget);
+ GtkRequisition resize_box_requisition;
+
+ #ifdef PREVIEW_DEBUG
+@@ -478,7 +478,7 @@
+ static void
+ gimp_preview_size_allocate (GtkWidget * widget, GtkAllocation * allocation)
+ {
+- GimpPreview *preview = GIMP_PREVIEW (widget);
++ RefocusPreview *preview = GIMP_PREVIEW (widget);
+ GtkAllocation resize_box_allocation, progress_bar_allocation,
+ event_box_allocation;
+ GtkRequisition resize_box_requisition;
+@@ -543,7 +543,7 @@
+ gboolean include_internals,
+ GtkCallback callback, gpointer callback_data)
+ {
+- GimpPreview *preview = GIMP_PREVIEW (container);
++ RefocusPreview *preview = GIMP_PREVIEW (container);
+
+ if (PREVIEW_DATA (preview)->resize_box)
+ {
+@@ -564,7 +564,7 @@
+ * Plug-ins call this to do an update of the preview area.
+ */
+ void
+-gimp_preview_update (GimpPreview * preview)
++gimp_preview_update (RefocusPreview * preview)
+ {
+ gimp_preview_recompute_sizes (preview, preview->scale);
+ gimp_preview_update_preview (preview);
+@@ -579,7 +579,7 @@
+ static void
+ gimp_preview_plus_callback (GtkWidget * widget, gpointer data)
+ {
+- GimpPreview *preview;
++ RefocusPreview *preview;
+ gchar buffer[10];
+ gdouble new_scale;
+
+@@ -616,7 +616,7 @@
+ static void
+ gimp_preview_minus_callback (GtkWidget * widget, gpointer data)
+ {
+- GimpPreview *preview;
++ RefocusPreview *preview;
+ gchar buffer[10];
+ gdouble new_scale;
+
+@@ -651,7 +651,7 @@
+ static gint
+ gimp_preview_event (GtkWidget * widget, GdkEvent * event, gpointer data)
+ {
+- GimpPreview *preview;
++ RefocusPreview *preview;
+ GdkEventButton *button_event;
+ gint x, y;
+ gint dx, dy;
+@@ -733,7 +733,7 @@
+ * This function is also used for initializing the preview.
+ */
+ static void
+-gimp_preview_recompute_sizes (GimpPreview * preview, gdouble new_scale)
++gimp_preview_recompute_sizes (RefocusPreview * preview, gdouble new_scale)
+ {
+
+ /* The center of the preview in image coordinates.
+@@ -765,7 +765,7 @@
+ }
+
+ void
+-gimp_preview_generate_update_event (GimpPreview * preview)
++gimp_preview_generate_update_event (RefocusPreview * preview)
+ /* Signal the user that the preview must be updated */
+ {
+ const gdouble scale = preview->scale;
+@@ -783,7 +783,7 @@
+ 0,
+ preview->drawable->height - image_y);
+
+- GimpPreviewEvent preview_event;
++ RefocusPreviewEvent preview_event;
+
+ preview_event.event_id = PREVIEW_DATA (preview)->current_event_id;
+ preview_event.scale = preview->scale;
+@@ -814,7 +814,7 @@
+ * to step through source and destination!
+ */
+ static void
+-gimp_preview_update_preview (GimpPreview * preview)
++gimp_preview_update_preview (RefocusPreview * preview)
+ {
+ GimpPixelRgn region;
+ guchar *image_data = NULL;
+@@ -1012,7 +1012,7 @@
+
+
+ void
+-gimp_preview_force_redraw (GimpPreview * preview)
++gimp_preview_force_redraw (RefocusPreview * preview)
+ {
+ gtk_widget_queue_draw (GTK_WIDGET (PREVIEW_DATA (preview)->image));
+ }
+@@ -1022,7 +1022,7 @@
+ gboolean
+ gimp_preview_update_preview_idle_fun (gpointer data)
+ {
+- GimpPreview *preview = GIMP_PREVIEW (data);
++ RefocusPreview *preview = GIMP_PREVIEW (data);
+ gint event_id = PREVIEW_DATA (preview)->current_event_id;
+
+ #ifdef PREVIEW_DEBUG
+@@ -1041,7 +1041,7 @@
+ }
+
+ void
+-gimp_preview_schedule_update (GimpPreview * preview)
++gimp_preview_schedule_update (RefocusPreview * preview)
+ {
+ PREVIEW_DATA (preview)->current_event_id++;
+
+@@ -1082,7 +1082,7 @@
+ }
+
+ void
+-gimp_preview_image_set_size (GimpPreview * preview, gint width, gint height)
++gimp_preview_image_set_size (RefocusPreview * preview, gint width, gint height)
+ {
+ const gint real_width = MIN (preview->max_width, width);
+ const gint real_height = MIN (preview->max_height, height);
+@@ -1120,8 +1120,8 @@
+
+ /**
+ * gimp_preview_draw_row:
+- * @preview: the #GimpPreview
+- * @event_id: event_id that was sent with the #GimpPreviewEvent.
++ * @preview: the #RefocusPreview
++ * @event_id: event_id that was sent with the #RefocusPreviewEvent.
+ * @type: the format of the data (e.g. %GIMP_RGBA_IMAGE).
+ * @row:the relative number of the row within the preview.
+ * The top row of the preview is number 0.
+@@ -1137,7 +1137,7 @@
+ * with the same event-id will be ignored by the preview.
+ **/
+ gboolean
+-gimp_preview_draw_row (GimpPreview * preview, const gint event_id,
++gimp_preview_draw_row (RefocusPreview * preview, const gint event_id,
+ GimpImageType type, gint row,
+ const guchar * const data)
+ {
+@@ -1247,8 +1247,8 @@
+
+ /**
+ * gimp_preview_draw_unscaled_row:
+- * @preview: the #GimpPreview
+- * @event_id: event_id that was sent with the #GimpPreviewEvent.
++ * @preview: the #RefocusPreview
++ * @event_id: event_id that was sent with the #RefocusPreviewEvent.
+ * @type: the format of the data (e.g. %GIMP_RGBA_IMAGE).
+ * @row:row is the relative position of the row w.r.t. preview_event->image_y.
+ * The top row has number 0.
+@@ -1267,7 +1267,7 @@
+ * with the same event-id will be ignored by the preview.
+ **/
+ gboolean
+-gimp_preview_draw_unscaled_row (GimpPreview * preview, const gint event_id,
++gimp_preview_draw_unscaled_row (RefocusPreview * preview, const gint event_id,
+ GimpImageType type, const gint row,
+ const guchar * const data)
+ {
+@@ -1445,8 +1445,8 @@
+
+ /**
+ * gimp_preview_progress_set_fraction:
+- * @preview: the #GimpPreview.
+- * @event_id: event_id that was sent with the #GimpPreviewEvent.
++ * @preview: the #RefocusPreview.
++ * @event_id: event_id that was sent with the #RefocusPreviewEvent.
+ * @fraction: the fraction completed.
+ *
+ * Set the progress bar of the preview to @fraction completed.
+@@ -1456,7 +1456,7 @@
+ * with the same event-id will be ignored by the preview.
+ **/
+ gboolean
+-gimp_preview_progress_set_fraction (GimpPreview * preview,
++gimp_preview_progress_set_fraction (RefocusPreview * preview,
+ const gint event_id, double fraction)
+ {
+ const gboolean return_status =
+diff -ur src/gimppreview.h src/gimppreview.h
+--- src/gimppreview.h 2003-01-30 13:30:18.000000000 -0800
++++ src/gimppreview.h 2008-03-17 17:16:29.000000000 -0700
+@@ -33,24 +33,24 @@
+ #define PREVIEW_FIXED_SIZE 0
+ #define PREVIEW_DEFAULT_SIZE -1
+ #define GIMP_TYPE_PREVIEW (gimp_preview_get_type ())
+-#define GIMP_PREVIEW(obj) (GTK_CHECK_CAST ((obj), GIMP_TYPE_PREVIEW, GimpPreview))
+-#define GIMP_PREVIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PREVIEW, GimpPreviewClass))
++#define GIMP_PREVIEW(obj) (GTK_CHECK_CAST ((obj), GIMP_TYPE_PREVIEW, RefocusPreview))
++#define GIMP_PREVIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PREVIEW, RefocusPreviewClass))
+ #define GIMP_IS_PREVIEW(obj) (GTK_CHECK_TYPE ((obj), GIMP_TYPE_PREVIEW))
+ #define GIMP_IS_PREVIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_PREVIEW))
+-typedef struct _GimpPreview GimpPreview;
+-typedef struct _GimpPreviewClass GimpPreviewClass;
+-typedef struct _GimpPreviewEvent GimpPreviewEvent;
++typedef struct _RefocusPreview RefocusPreview;
++typedef struct _RefocusPreviewClass RefocusPreviewClass;
++typedef struct _RefocusPreviewEvent RefocusPreviewEvent;
+
+-struct _GimpPreviewClass
++struct _RefocusPreviewClass
+ {
+ GtkContainerClass parent_class;
+
+- void (*update_preview) (GimpPreview * preview, GimpPreviewEvent * event);
+- void (*preview_changed) (GimpPreview * preview);
++ void (*update_preview) (RefocusPreview * preview, RefocusPreviewEvent * event);
++ void (*preview_changed) (RefocusPreview * preview);
+ };
+
+
+-struct _GimpPreview
++struct _RefocusPreview
+ {
+ GtkContainer parent;
+
+@@ -75,13 +75,13 @@
+ };
+
+ /**
+- * GimpPreviewEvent:
++ * RefocusPreviewEvent:
+ * @event_id: Id of this event. This is needed for gimp_preview_draw_row,
+ * gimp_preview_draw_unscaled_row and gimp_preview_progress_set_fraction.
+ * @scale: Current scale of the preview.
+ *
+ **/
+-struct _GimpPreviewEvent
++struct _RefocusPreviewEvent
+ {
+ gint event_id; /* Id of this event */
+ gdouble scale; /* Scale of preview */
+@@ -113,20 +113,20 @@
+ gint preview_size,
+ gdouble scale_amount,
+ gint allow_scale);
+-void gimp_preview_update (GimpPreview * preview);
++void gimp_preview_update (RefocusPreview * preview);
+
+-gboolean gimp_preview_draw_row (GimpPreview * preview, const gint event_id,
++gboolean gimp_preview_draw_row (RefocusPreview * preview, const gint event_id,
+ GimpImageType type, const gint row,
+ const guchar * const data);
+
+-gboolean gimp_preview_draw_unscaled_row (GimpPreview * preview,
++gboolean gimp_preview_draw_unscaled_row (RefocusPreview * preview,
+ const gint event_id,
+ GimpImageType type, const gint row,
+ const guchar * const data);
+
+-void gimp_preview_force_redraw (GimpPreview * preview);
++void gimp_preview_force_redraw (RefocusPreview * preview);
+
+-gboolean gimp_preview_progress_set_fraction (GimpPreview * preview,
++gboolean gimp_preview_progress_set_fraction (RefocusPreview * preview,
+ const gint event_id,
+ double fraction);
+
+diff -ur src/refocus.c src/refocus.c
+--- src/refocus.c 2008-03-17 17:20:49.000000000 -0700
++++ src/refocus.c 2008-03-17 17:18:48.000000000 -0700
+@@ -25,6 +25,7 @@
+ #include <time.h>
+ #include <string.h>
+ #include <libgimp/gimp.h>
++#include <libgimp/gimpcompat.h>
+ #include <gtk/gtk.h>
+ #include <sys/types.h>
+ #include <signal.h>
+@@ -372,7 +373,7 @@
+ }
+
+ static void
+-preview_callback (GtkWidget * widget, GimpPreviewEvent * event, gpointer data)
++preview_callback (GtkWidget * widget, RefocusPreviewEvent * event, gpointer data)
+ {
+ TileSource source;
+ TileSink sink;
diff --git a/community/gimp-refocus/refocus-mirror-fix.patch b/community/gimp-refocus/refocus-mirror-fix.patch
new file mode 100644
index 000000000..af79dd893
--- /dev/null
+++ b/community/gimp-refocus/refocus-mirror-fix.patch
@@ -0,0 +1,54 @@
+Index: src/tilebuf.c
+===================================================================
+RCS file: /cvsroot/refocus/refocus/src/tilebuf.c,v
+retrieving revision 1.1.1.1
+diff -u -u -r1.1.1.1 tilebuf.c
+--- src/tilebuf.c 30 Jan 2003 21:30:19 -0000 1.1.1.1
++++ src/tilebuf.c 6 Apr 2004 20:26:56 -0000
+@@ -140,7 +140,10 @@
+
+ for (x = x_lo - 1; x >= buf->real_x; x--)
+ {
+- copy_col (buf, 2 * x_lo - x, y_start, y_end - y_start, x);
++ gint sx = 2 * x_lo - x;
++ copy_col (buf,
++ sx<=buf->real_x+buf->real_width-1?sx:buf->real_x+buf->real_width-1,
++ y_start, y_end - y_start, x);
+ };
+ }
+ break;
+@@ -171,7 +174,9 @@
+
+ for (x = x_hi; x < buf->real_x + buf->real_width; x++)
+ {
+- copy_col (buf, 2 * (x_hi - 1) - x, y_start, y_end - y_start, x);
++ gint sx = 2 * (x_hi - 1) - x;
++ copy_col (buf, sx>=buf->real_x?sx:buf->real_x,
++ y_start, y_end - y_start, x);
+ };
+ }
+ break;
+@@ -200,7 +205,10 @@
+
+ for (y = y_lo - 1; y >= buf->real_y; y--)
+ {
+- copy_row (buf, buf->real_x, 2 * y_lo - y, buf->real_width, y);
++ gint sy = 2 * y_lo - y;
++ copy_row (buf, buf->real_x,
++ sy<=buf->real_y+buf->real_height-1?sy:buf->real_y+buf->real_height-1,
++ buf->real_width, y);
+ };
+ }
+ break;
+@@ -230,8 +238,9 @@
+
+ for (y = y_hi; y < buf->real_y + buf->real_height; y++)
+ {
+- copy_row (buf, buf->real_x, 2 * (y_hi - 1) - y, buf->real_width,
+- y);
++ gint sy = 2 * (y_hi - 1) - y;
++ copy_row (buf, buf->real_x, sy>=buf->real_y?sy:buf->real_y,
++ buf->real_width, y);
+ };
+ }
+ break;
diff --git a/community/gimp-ufraw/PKGBUILD b/community/gimp-ufraw/PKGBUILD
new file mode 100644
index 000000000..5adf7b8b2
--- /dev/null
+++ b/community/gimp-ufraw/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 90037 2013-05-06 19:37:26Z foutrelis $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Tobias Kieslich <tobias@archlinux.org>
+# Contributor: Martin Sugioarto <nakal@web.de>
+
+pkgname=gimp-ufraw
+pkgver=0.19
+pkgrel=2
+pkgdesc='Converter for raw files; utility and GIMP plugin'
+url='http://ufraw.sourceforge.net/'
+arch=('x86_64' 'i686')
+license=('GPL')
+depends=('gtkimageview' 'exiv2' 'lcms' 'bzip2' 'desktop-file-utils' 'cfitsio' 'lensfun')
+makedepends=('gimp' 'cinepaint')
+optdepends=('gimp: to use the gimp import plugin for raw images'
+ 'cinepaint: to use the cinepaint import plugin for raw images')
+install="$pkgname.install"
+source=("http://downloads.sourceforge.net/ufraw/ufraw-$pkgver.tar.gz")
+sha256sums=('12d551418c5e69ae904cb92e9ac11b4d2e4327a857ee13ac890f34320eb58b9a')
+
+build() {
+ cd "$srcdir/ufraw-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --enable-extras \
+ --enable-mime \
+ --enable-openmp \
+ --with-gimp \
+ --with-cinepaint \
+ --enable-contrast
+ sed -i "s/-ffast-math -fomit-frame-pointer -W -Wall -O3/${CFLAGS}/" Makefile
+ make
+}
+
+package() {
+ cd "$srcdir/ufraw-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ rm -f "$pkgdir/usr/bin/dcraw"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/icedtea-web-java7/icedtea-web-java7.install b/community/gimp-ufraw/gimp-ufraw.install
index 80312d4a6..3b232eeb7 100644
--- a/community/icedtea-web-java7/icedtea-web-java7.install
+++ b/community/gimp-ufraw/gimp-ufraw.install
@@ -9,3 +9,5 @@ post_upgrade() {
post_remove() {
update-desktop-database -q
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ginac/PKGBUILD b/community/ginac/PKGBUILD
new file mode 100644
index 000000000..26109b01b
--- /dev/null
+++ b/community/ginac/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 81849 2013-01-02 03:07:05Z stephane $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Thomas Baechler <thomas@archlinux.org>
+
+pkgname=ginac
+pkgver=1.6.2
+pkgrel=2
+pkgdesc="C++ library for symbolic calculations"
+arch=('i686' 'x86_64')
+url='http://www.ginac.de/'
+license=('GPL')
+depends=('cln')
+makedepends=('transfig' 'doxygen' 'texlive-bin')
+source=(http://www.ginac.de/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('c93913c4c543874b2ade4f0390030641be7e0c41')
+install=${pkgname}.install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --disable-static
+
+ make
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make check
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/ginac/ginac.install b/community/ginac/ginac.install
new file mode 100644
index 000000000..3de7910d0
--- /dev/null
+++ b/community/ginac/ginac.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(ginac.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ usr/bin/install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ usr/bin/install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/girara/PKGBUILD b/community/girara/PKGBUILD
new file mode 100644
index 000000000..65ac95c0e
--- /dev/null
+++ b/community/girara/PKGBUILD
@@ -0,0 +1,81 @@
+# $Id: PKGBUILD 90573 2013-05-13 09:52:42Z spupykin $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: mlq <mlq@pwmt.org>
+
+pkgbase=girara
+pkgname=(girara-common girara-gtk2 girara-gtk3)
+pkgver=0.1.6
+pkgrel=1
+pkgdesc="user interface library"
+arch=('i686' 'x86_64')
+url="http://pwmt.org/projects/girara"
+license=('custom')
+makedepends=('gtk3' 'gtk2')
+source=(http://pwmt.org/projects/girara/download/girara-$pkgver.tar.gz)
+md5sums=('1f213274fc710a5f9693d0d61f9ea66d')
+
+build() {
+ true
+}
+
+package_girara-common() {
+ depends=()
+ pkgdesc="user interface library - common files"
+
+ cd "$srcdir/girara-$pkgver"
+
+ make clean
+
+ # install header
+ make DESTDIR="$pkgdir/" install-headers
+
+ # install language files
+ make DESTDIR="$pkgdir/" -C po install
+
+ # remove pkgconfig files
+ rm -r $pkgdir/usr/lib/pkgconfig
+
+ # install license
+ install -D -m664 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_girara-gtk2() {
+ depends=('gtk2' 'girara-common')
+ provides=('girara')
+
+ cd "$srcdir/girara-$pkgver"
+
+ make clean
+ make GIRARA_GTK_VERSION=2
+
+ # install files
+ make GIRARA_GTK_VERSION=2 DESTDIR="$pkgdir/" install
+
+ # remove common files
+ rm -r "$pkgdir/usr/include"
+ rm -r "$pkgdir/usr/share"
+
+ # install license
+ install -D -m664 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_girara-gtk3() {
+ depends=('gtk3' 'girara-common')
+ provides=('girara')
+
+ cd "$srcdir/girara-$pkgver"
+
+ make clean
+ make GIRARA_GTK_VERSION=3
+
+ # install files
+ make GIRARA_GTK_VERSION=3 DESTDIR="$pkgdir/" install
+
+ # remove common files
+ rm -r "$pkgdir/usr/include"
+ rm -r "$pkgdir/usr/share"
+
+ # install license
+ install -D -m664 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/gitg/PKGBUILD b/community/gitg/PKGBUILD
new file mode 100644
index 000000000..68d902e4f
--- /dev/null
+++ b/community/gitg/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 88690 2013-04-21 22:17:07Z heftig $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=gitg
+pkgver=0.2.7
+pkgrel=1
+pkgdesc='A GIT repository viewer based on GTK+'
+arch=('i686' 'x86_64')
+url='https://git.gnome.org/browse/gitg/'
+license=('GPL')
+depends=('gtksourceview3' 'git' 'desktop-file-utils' 'gsettings-desktop-schemas' \
+ 'hicolor-icon-theme')
+makedepends=('intltool')
+options=('!libtool')
+install=gitg.install
+source=(ftp://ftp.gnome.org/pub/GNOME/sources/gitg/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha1sums=('7b1428819666e4797d64dc94bb1624d5e7b75e6a')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/gitg/gitg.install b/community/gitg/gitg.install
new file mode 100644
index 000000000..4b90c879e
--- /dev/null
+++ b/community/gitg/gitg.install
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/gkrellm/PKGBUILD b/community/gkrellm/PKGBUILD
new file mode 100644
index 000000000..efb22b4f9
--- /dev/null
+++ b/community/gkrellm/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 92097 2013-05-31 14:27:10Z foutrelis $
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Contributor: Matt Smith (Majik) <darkknight@helpdesk.zaz.net>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Jozef Riha <jose1711@gmail.com>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+pkgname=gkrellm
+pkgver=2.3.5
+pkgrel=4
+pkgdesc="System monitor package for GTK2"
+arch=('x86_64' 'i686')
+url="http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html"
+license=('GPL3')
+depends=('gtk2' 'libsm' 'lm_sensors')
+makedepends=('gettext')
+backup=('etc/gkrellmd.conf')
+source=("http://members.dslextreme.com/users/billw/$pkgname/$pkgname-$pkgver.tar.bz2"
+ "gkrellm.service")
+sha256sums=('702b5b0e9c040eb3af8e157453f38dd6f53e1dcd8b1272d20266cda3d4372c8b'
+ '2829931127632d0391f6749024809594b78c138fe4f03c98cd65fdbd47cea376')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make LOCALEDIR=/usr/share/locale SYS_LIBS+=-lgmodule-2.0
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+ install -Dm644 "server/gkrellmd.conf" "$pkgdir/etc/gkrellmd.conf"
+ install -Dm644 "../gkrellm.service" "$pkgdir/usr/lib/systemd/system/gkrellm.service"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gkrellm/gkrellm.service b/community/gkrellm/gkrellm.service
new file mode 100644
index 000000000..9234b8a79
--- /dev/null
+++ b/community/gkrellm/gkrellm.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=GNU Krell Monitors server
+After=network.target
+# If hddtemp is added to the dependencies in the PKGBUILD, then use
+#After=network.target hddtemp.service
+
+[Service]
+ExecStart=/usr/bin/gkrellmd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/gl-117/PKGBUILD b/community/gl-117/PKGBUILD
new file mode 100644
index 000000000..6dd2488b9
--- /dev/null
+++ b/community/gl-117/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 77641 2012-10-13 11:43:14Z allan $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: andrewski
+
+pkgname=gl-117
+pkgver=1.3.2
+pkgrel=6
+pkgdesc="An action flight simulator"
+arch=('i686' 'x86_64')
+url="http://www.heptargon.de/gl-117/gl-117.html"
+license=("GPL")
+depends=('freeglut' 'sdl_mixer' 'libxmu' 'libxi' 'glu')
+source=(http://downloads.sourceforge.net/project/gl-117/gl-117/GL-117%20Source/gl-117-$pkgver-src.tar.bz2
+ gl-117.desktop
+ gl-117.png)
+md5sums=('aad53c5531943529fd769fae4efeae02'
+ 'db985c5188f1706677b12dc80b797779'
+ '6975de5572084b78d3ec1a748de85164')
+
+build() {
+ cd $srcdir/gl-117-$pkgver-src
+ # This will link everything to these three libraries,
+ # but it wouldn't work otherwise. The devs have been contacted.
+ LDFLAGS="-lX11 -lXi -lXmu" ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+ install -D -m0644 $srcdir/gl-117.desktop $pkgdir/usr/share/applications/gl-117.desktop
+ install -D -m0644 $srcdir/gl-117.png $pkgdir/usr/share/pixmaps/gl-117.png
+}
diff --git a/community/gl-117/gl-117.desktop b/community/gl-117/gl-117.desktop
new file mode 100644
index 000000000..59748fb86
--- /dev/null
+++ b/community/gl-117/gl-117.desktop
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Type=Application
+Name=GL-117
+Exec=gl-117
+Icon=gl-117
diff --git a/community/gl-117/gl-117.png b/community/gl-117/gl-117.png
new file mode 100644
index 000000000..8bbdba58b
--- /dev/null
+++ b/community/gl-117/gl-117.png
Binary files differ
diff --git a/community/glabels/PKGBUILD b/community/glabels/PKGBUILD
new file mode 100644
index 000000000..5276b2464
--- /dev/null
+++ b/community/glabels/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 79126 2012-10-30 23:07:20Z heftig $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: yugrotavele <yugrotavele at archlinux dot us>
+# Contributor: Damir Perisa <damir@archlinux.org>
+
+pkgname=glabels
+pkgver=3.0.1
+pkgrel=2
+pkgdesc="Creating labels and business cards the very easy way"
+arch=('i686' 'x86_64')
+url="http://glabels.org/"
+license=('GPL' 'LGPL')
+depends=('librsvg' 'evolution-data-server>=3.6.0' 'qrencode' 'iec16022' 'dconf' 'desktop-file-utils' 'xdg-utils')
+makedepends=('barcode' 'intltool' 'gnome-doc-utils')
+options=('!libtool')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ glabels-3.0.0-new-eds.patch)
+sha256sums=('99810705b9fcb234f085ed4ac6dbea50cc5b232c6d8ca05ab2c0634673fb9bd2'
+ 'f02ecf12e10b1d406607bad65f81e53ebd5d56fabe46035a47bd6fe1ec8bf70b')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/glabels-3.0.0-new-eds.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/glabels/glabels-3.0.0-new-eds.patch b/community/glabels/glabels-3.0.0-new-eds.patch
new file mode 100644
index 000000000..9cae4c076
--- /dev/null
+++ b/community/glabels/glabels-3.0.0-new-eds.patch
@@ -0,0 +1,71 @@
+diff -up glabels-3.0.0/src/merge-evolution.c.new-eds glabels-3.0.0/src/merge-evolution.c
+--- glabels-3.0.0/src/merge-evolution.c.new-eds 2011-04-04 01:02:48.000000000 +0200
++++ glabels-3.0.0/src/merge-evolution.c 2012-08-29 11:54:20.240577838 +0200
+@@ -29,7 +29,7 @@
+
+ #include "merge-evolution.h"
+
+-#include <libebook/e-book.h>
++#include <libebook/libebook.h>
+ #include <glib/gi18n.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -297,6 +297,31 @@ static gint sort_contact_by_file_as(gcon
+ /*--------------------------------------------------------------------------*/
+ /* Open merge source. */
+ /*--------------------------------------------------------------------------*/
++static EBook *
++gl_open_system_addressbook (GError **error)
++{
++ ESourceRegistry *registry;
++ EBook *book = NULL;
++ ESource *source;
++
++ registry = e_source_registry_new_sync (NULL, error);
++ if (!registry)
++ return NULL;
++
++ source = e_source_registry_ref_builtin_address_book (registry);
++ if (!source) {
++ g_object_unref (registry);
++ return NULL;
++ }
++
++ book = e_book_new (source, error);
++
++ g_object_unref (source);
++ g_object_unref (registry);
++
++ return book;
++}
++
+ static void
+ gl_merge_evolution_open (glMerge *merge)
+ {
+@@ -317,12 +342,12 @@ gl_merge_evolution_open (glMerge *merge)
+ return;
+ }
+
+- merge_evolution->priv->book = e_book_new_system_addressbook(&error);
++ merge_evolution->priv->book = gl_open_system_addressbook(&error);
+ if (!merge_evolution->priv->book) {
+ g_warning ("Couldn't open addressbook.");
+ if (error)
+ {
+- g_warning ("e_book_new_system_addressbook: %s", error->message);
++ g_warning ("gl_open_system_addressbook: %s", error->message);
+ g_error_free (error);
+ }
+ e_book_query_unref(query);
+diff -up glabels-3.0.0/src/merge-vcard.c.new-eds glabels-3.0.0/src/merge-vcard.c
+--- glabels-3.0.0/src/merge-vcard.c.new-eds 2011-04-04 01:02:48.000000000 +0200
++++ glabels-3.0.0/src/merge-vcard.c 2012-08-29 11:54:20.241577849 +0200
+@@ -27,7 +27,7 @@
+
+ #include "merge-vcard.h"
+
+-#include <libebook/e-contact.h>
++#include <libebook/libebook.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <errno.h>
diff --git a/community/glabels/glabels.install b/community/glabels/glabels.install
new file mode 100644
index 000000000..42bb5884d
--- /dev/null
+++ b/community/glabels/glabels.install
@@ -0,0 +1,15 @@
+post_install() {
+ xdg-icon-resource forceupdate
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/glee/Makefile b/community/glee/Makefile
new file mode 100644
index 000000000..06425fd82
--- /dev/null
+++ b/community/glee/Makefile
@@ -0,0 +1,55 @@
+all: libGLee.so
+
+MAJOR=5
+MINOR=4
+
+SOURCES = $(shell find . -name "*.c")
+
+SHARED_OBJS = $(SOURCES:.c=.shared.o)
+STATIC_OBJS = $(SOURCES:.c=.static.o)
+
+EXTRA_CFLAGS= $(CFLAGS)
+SHARED_CFLAGS= -Wall $(EXTRA_CFLAGS) -fPIC
+
+LDFLAGS= -Wl,-z,defs -Wl,--as-needed -Wl,--no-undefined
+EXTRA_LDFLAGS=
+LIBS=-lGL
+EXTRA_LIBS=
+
+libGLee.so.$(MAJOR).$(MINOR): $(SHARED_OBJS)
+ g++ $(LDFLAGS) $(EXTRA_LDFLAGS) -shared \
+ -Wl,-soname,libGLee.so.$(MAJOR) \
+ -o libGLee.so.$(MAJOR).$(MINOR) \
+ $+ -o $@ $(EXTRA_LIBS) $(LIBS)
+
+libGLee.so: libGLee.so.$(MAJOR).$(MINOR)
+ rm -f $@.$(MAJOR)
+ ln -s $@.$(MAJOR).$(MINOR) $@.$(MAJOR)
+ rm -f $@
+ ln -s $@.$(MAJOR) $@
+
+%.shared.o: %.cpp
+ g++ -o $@ -c $+ $(SHARED_CFLAGS)
+
+%.shared.o: %.c
+ gcc -o $@ -c $+ $(SHARED_CFLAGS)
+
+%.so : %.o
+ g++ $(LDFLAGS) $(EXTRA_LDFLAGS) -shared $^ -o $@
+
+clean:
+ rm -f $(SHARED_OBJS)
+ rm -f $(FIXED_OBJS)
+ rm -f *.so *.so* *~
+
+DESTDIR=
+
+install: libGLee.so
+ install -d "$(DESTDIR)/usr/lib/"
+ cp -a *.so* "$(DESTDIR)/usr/lib/"
+ install -d "$(DESTDIR)/usr/include/"
+ install -Dm644 *.h "$(DESTDIR)/usr/include/"
+ install -d "$(DESTDIR)/usr/lib/pkgconfig/"
+ install -Dm644 glee.pc "$(DESTDIR)/usr/lib/pkgconfig/"
+ install -d "$(DESTDIR)/usr/share/licenses/glee"
+ sed '9,32!d' readme.txt > "$(DESTDIR)/usr/share/licenses/glee/LICENSE"
diff --git a/community/glee/PKGBUILD b/community/glee/PKGBUILD
new file mode 100644
index 000000000..4f89ad918
--- /dev/null
+++ b/community/glee/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 86549 2013-03-19 04:49:29Z speps $
+# Maintainer : speps <speps at aur dot archlinux dot org>
+
+pkgname=glee
+pkgver=5.4.0
+pkgrel=1
+pkgdesc="Free cross-platform extension loading library for OpenGL"
+arch=('i686' 'x86_64')
+url="http://elf-stone.com/glee.php"
+license=('custom:BSD')
+depends=('gcc-libs' 'libgl')
+makedepends=('mesa')
+#source=("http://elf-stone.com/downloads/GLee/GLee-$pkgver-src.tar.gz")
+md5sums=('0bd03db136dbc075488b6c6e83f326ae'
+ '937a48856486291070943488fa2824d0'
+ 'b59e8d11402fb2ee6c4a92bf6916b3aa')
+_spkg=GLee-$pkgver-src.tar.gz
+source=("http://pkgs.fedoraproject.org/repo/pkgs/GLee/$_spkg/$md5sums/$_spkg"
+ glee.pc Makefile) # implement FS#32670 + fix TEXTREL for i686
+
+build() {
+ cd "$srcdir"
+ make
+}
+
+package() {
+ cd "$srcdir"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et: \ No newline at end of file
diff --git a/community/glee/glee.pc b/community/glee/glee.pc
new file mode 100644
index 000000000..0f03b450a
--- /dev/null
+++ b/community/glee/glee.pc
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: GLee
+Description: GL Easy Extension library
+Version: 5.4.0
+Requires:
+Conflicts:
+Libs: -L${libdir} -lglee
+Cflags: -I${includedir}
diff --git a/community/glfw/PKGBUILD b/community/glfw/PKGBUILD
new file mode 100644
index 000000000..46ad0cdb8
--- /dev/null
+++ b/community/glfw/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 93104 2013-06-24 11:26:57Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: philefou <tuxication AT gmail DOT com>
+# Contributor: lindquist <tomas@famolsen.dk>
+# Contributor: Christoph Siegenthaler <csi@gmx.ch>
+# Contributor: Mihai Militaru <mihai.militaru@ephemeros.org>
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+
+pkgname=glfw
+pkgver=3.0.1
+pkgrel=2
+pkgdesc="A free, open source, portable framework for OpenGL application development"
+arch=('i686' 'x86_64')
+url="http://www.glfw.org/"
+license=('custom:ZLIB')
+depends=('libgl' 'libxrandr' 'glu' 'xorg-xinput')
+makedepends=('mesa' 'cmake' 'doxygen')
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2")
+md5sums=('b67fa7191e9cff0cf0caa7f16f80c658')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ cd build
+ make DESTDIR=$pkgdir install
+
+ cd ..
+ install -Dm644 COPYING.txt "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
diff --git a/community/glitz/PKGBUILD b/community/glitz/PKGBUILD
new file mode 100644
index 000000000..98c9f7eea
--- /dev/null
+++ b/community/glitz/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 85262 2013-02-28 10:34:33Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=glitz
+pkgver=0.5.6
+pkgrel=4
+pkgdesc='OpenGL image compositing library'
+arch=('x86_64' 'i686')
+url='http://cairographics.org/'
+license=('BSD')
+depends=('libgl' 'glibc')
+makedepends=('mesa-libgl')
+options=('!libtool')
+source=("http://cairographics.org/snapshots/$pkgname-$pkgver.tar.gz")
+sha256sums=('132adf06e48531f4c01b6ba5843881e2b584a170c5222353d03cbef736d4a471')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gliv/PKGBUILD b/community/gliv/PKGBUILD
new file mode 100644
index 000000000..97e8129db
--- /dev/null
+++ b/community/gliv/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 90233 2013-05-09 17:39:45Z arodseth $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: Ewoud Nuyts <ewoud.nuyts@gmail.com>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=gliv
+pkgver=1.9.7
+pkgrel=3
+pkgdesc='OpenGL image viewer'
+arch=('x86_64' 'i686')
+url='http://guichaz.free.fr/gliv/'
+license=('GPL')
+depends=('gtkglext')
+changelog="$pkgname.changelog"
+source=("http://guichaz.free.fr/gliv/files/$pkgname-$pkgver.tar.bz2")
+sha256sums=('5be6d071927dcb371676a9e4e9e4c54e8b2f4842f04dd63727b9a5032ddbcb69')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gliv/gliv.changelog b/community/gliv/gliv.changelog
new file mode 100644
index 000000000..9b37dd5a9
--- /dev/null
+++ b/community/gliv/gliv.changelog
@@ -0,0 +1,5 @@
+2010-12-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * gliv-1.9.7-1
+
+2010-11-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#21710 fixed in gliv-1.9.6-3
diff --git a/community/glob2/PKGBUILD b/community/glob2/PKGBUILD
new file mode 100644
index 000000000..b46d8e812
--- /dev/null
+++ b/community/glob2/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 94023 2013-07-13 12:32:16Z svenstaro $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+
+pkgname=glob2
+pkgver=0.9.4.4
+pkgrel=19
+pkgdesc='RTS game which minimizes micro-management by automatically assigning tasks to units'
+arch=('x86_64' 'i686')
+url='http://www.globulation2.org/'
+license=('GPL3')
+depends=('boost-libs' 'sdl_net' 'sdl_image' 'sdl_ttf' 'libvorbis' 'speex' 'glu'
+ 'fribidi' 'xdg-utils' 'libgl')
+makedepends=('scons' 'boost' 'mesa-libgl')
+install="$pkgname.install"
+source=("http://dl.sv.nongnu.org/releases/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.gz"
+ "$pkgname-${pkgver%.*}.1-gcc44.patch")
+sha256sums=('0f4d898ec6b05ce27b4a12ef242cc26571304b90d2509932a4743c71311314b8'
+ '3a0cfc06696d1aaf2d7948b5f6a09a8ce96492767039dc09bfc25182b92d7b7a')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np0 -i "$srcdir/$pkgname-${pkgver%.*}.1-gcc44.patch"
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ scons LINKFLAGS="-lboost_system"
+}
+
+package () {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ scons install BINDIR="$pkgdir/usr/bin" INSTALLDIR="$pkgdir/usr/share"
+ find "$pkgdir/usr/share" -type f -exec chmod 644 '{}' \;
+ install -Dm644 "data/icons/$pkgname-icon-48x48.png" \
+ "$pkgdir/usr/share/pixmaps/$pkgname-icon-48x48.png"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/glob2/glob2-0.9.4.1-gcc44.patch b/community/glob2/glob2-0.9.4.1-gcc44.patch
new file mode 100644
index 000000000..b425b25ec
--- /dev/null
+++ b/community/glob2/glob2-0.9.4.1-gcc44.patch
@@ -0,0 +1,87 @@
+diff -up libgag/include/StreamBackend.h.orig libgag/include/StreamBackend.h
+--- libgag/include/StreamBackend.h.orig 2009-03-18 03:46:47.000000000 +0100
++++ libgag/include/StreamBackend.h 2009-06-20 14:21:10.000000000 +0200
+@@ -43,7 +43,7 @@ namespace GAGCore
+ virtual void flush(void) = 0;
+ virtual void read(void *data, size_t size) = 0;
+ virtual void putc(int c) = 0;
+- virtual int getc(void) = 0;
++ virtual int get_c(void) = 0;
+ virtual void seekFromStart(int displacement) = 0;
+ virtual void seekFromEnd(int displacement) = 0;
+ virtual void seekRelative(int displacement) = 0;
+@@ -67,7 +67,7 @@ namespace GAGCore
+ virtual void flush(void) { assert(fp); fflush(fp); }
+ virtual void read(void *data, size_t size) { assert(fp); fread(data, size, 1, fp); }
+ virtual void putc(int c) { assert(fp); fputc(c, fp); }
+- virtual int getc(void) { assert(fp); return fgetc(fp); }
++ virtual int get_c(void) { assert(fp); return fgetc(fp); }
+ virtual void seekFromStart(int displacement) { assert(fp); fseek(fp, displacement, SEEK_SET); }
+ virtual void seekFromEnd(int displacement) { assert(fp); fseek(fp, displacement, SEEK_END); }
+ virtual void seekRelative(int displacement) { assert(fp); fseek(fp, displacement, SEEK_CUR); }
+@@ -92,7 +92,7 @@ namespace GAGCore
+ virtual void flush(void);
+ virtual void read(void *data, size_t size);
+ virtual void putc(int c);
+- virtual int getc(void);
++ virtual int get_c(void);
+ virtual void seekFromStart(int displacement);
+ virtual void seekFromEnd(int displacement);
+ virtual void seekRelative(int displacement);
+@@ -117,7 +117,7 @@ namespace GAGCore
+ virtual void flush(void) { }
+ virtual void read(void *data, size_t size);
+ virtual void putc(int c);
+- virtual int getc(void);
++ virtual int get_c(void);
+ virtual void seekFromStart(int displacement);
+ virtual void seekFromEnd(int displacement);
+ virtual void seekRelative(int displacement);
+diff -up libgag/src/StreamBackend.cpp.orig libgag/src/StreamBackend.cpp
+--- libgag/src/StreamBackend.cpp.orig 2009-03-18 03:46:47.000000000 +0100
++++ libgag/src/StreamBackend.cpp 2009-06-20 14:21:53.000000000 +0200
+@@ -75,9 +75,9 @@ namespace GAGCore
+ buffer->putc(c);
+ }
+
+- int ZLibStreamBackend::getc(void)
++ int ZLibStreamBackend::get_c(void)
+ {
+- return buffer->getc();
++ return buffer->get_c();
+ }
+
+ void ZLibStreamBackend::seekFromStart(int displacement)
+@@ -147,7 +147,7 @@ namespace GAGCore
+ write(&ch, 1);
+ }
+
+- int MemoryStreamBackend::getc(void)
++ int MemoryStreamBackend::get_c(void)
+ {
+ Uint8 ch;
+ read(&ch, 1);
+diff -up libgag/src/Stream.cpp.orig libgag/src/Stream.cpp
+--- libgag/src/Stream.cpp.orig 2009-03-18 03:46:47.000000000 +0100
++++ libgag/src/Stream.cpp 2009-06-20 14:21:35.000000000 +0200
+@@ -60,7 +60,7 @@ namespace GAGCore
+ std::string s;
+ while (1)
+ {
+- int c = backend->getc();
++ int c = backend->get_c();
+ if(c=='\r')
+ continue;
+ if ((c >= 0) && (c != '\n'))
+diff -up libgag/src/TextStream.cpp.orig libgag/src/TextStream.cpp
+--- libgag/src/TextStream.cpp.orig 2009-03-18 03:46:47.000000000 +0100
++++ libgag/src/TextStream.cpp 2009-06-20 14:21:22.000000000 +0200
+@@ -150,7 +150,7 @@ namespace GAGCore
+
+ int nextChar(void)
+ {
+- next = stream->getc();
++ next = stream->get_c();
+ if (next == '\n')
+ {
+ column = 0;
diff --git a/community/glob2/glob2.install b/community/glob2/glob2.install
new file mode 100644
index 000000000..d2b1a678b
--- /dev/null
+++ b/community/glob2/glob2.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ xdg-icon-resource forceupdate
+}
+
+post_remove() {
+ xdg-icon-resource forceupdate
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/glom/PKGBUILD b/community/glom/PKGBUILD
new file mode 100644
index 000000000..40cdb5031
--- /dev/null
+++ b/community/glom/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 94024 2013-07-13 12:32:26Z svenstaro $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=glom
+pkgver=1.24.0
+pkgrel=2
+pkgdesc="An easy-to-use database designer and user interface"
+arch=('i686' 'x86_64')
+url="http://www.glom.org/"
+license=('GPL')
+depends=('gettext' 'boost-libs' 'libgdamm' 'libxml++' 'python2-gobject' 'libepc' 'goocanvasmm' 'gtksourceviewmm' 'evince' 'postgresql')
+makedepends=('intltool' 'gnome-doc-utils' 'python-sphinx' 'boost')
+options=('!libtool')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/1.24/$pkgname-$pkgver.tar.xz)
+sha256sums=('83ff79610ffdede48536c0d07d5288ad84ec26c86aa2aa1db98b46abdebbdcc2')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr \
+ --with-postgres-utils=/usr/bin \
+ --disable-scrollkeeper \
+ --disable-update-mime-database \
+ --disable-static \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/glom/glom.install b/community/glom/glom.install
new file mode 100644
index 000000000..2b88145e3
--- /dev/null
+++ b/community/glom/glom.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+ update-mime-database usr/share/mime > /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gloox/PKGBUILD b/community/gloox/PKGBUILD
new file mode 100644
index 000000000..d2001f81e
--- /dev/null
+++ b/community/gloox/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 93658 2013-07-08 11:17:28Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: William Rea <sillywilly@gmail.com>
+
+pkgname=gloox
+pkgver=1.0.2
+pkgrel=1
+pkgdesc="C++ libraries for development of Jabber client/component/server"
+arch=(i686 x86_64)
+url="http://camaya.net/gloox"
+options=('!libtool')
+license=("GPL")
+depends=('libidn' 'gnutls')
+source=(http://camaya.net/download/gloox-$pkgver.tar.bz2)
+md5sums=('4c446ee186406c3b3a24402418127faa')
+
+build() {
+ cd $srcdir/gloox-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/gloox-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/gluon/PKGBUILD b/community/gluon/PKGBUILD
new file mode 100644
index 000000000..3401f6081
--- /dev/null
+++ b/community/gluon/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 85350 2013-03-01 10:31:40Z andrea $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Ivan Sichmann Freitas <ivansichfreitas@gmail.com>
+
+pkgname=gluon
+pkgver=0.71.0
+_pkgver=0.71
+pkgrel=5
+pkgdesc="A free and open source platform for creating and distributing games"
+arch=('i686' 'x86_64')
+url="http://gluon.gamingfreedom.org/"
+license=('LGPL')
+depends=('kdelibs' 'libsndfile' 'alure')
+makedepends=('cmake' 'automoc4' 'mesa' 'kdevplatform')
+install=gluon.install
+source=("http://download.kde.org/unstable/$pkgname/$_pkgver/src/$pkgname-$pkgver.tar.gz"
+ 'gcc47.patch')
+md5sums=('e4f284c0ae00e5b8a58cc3e6201857fe'
+ '92adbf8b23f4af2a15a005b031c81c5f')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ patch -p1 -i "$srcdir"/gcc47.patch
+
+ cd "$srcdir"
+ mkdir build
+ cd build
+ cmake ../$pkgname-$pkgver \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON
+ make
+}
+
+package() {
+ cd "$srcdir"/build
+ make DESTDIR="$pkgdir" install
+
+ if [[ "$CARCH" == "x86_64" ]]; then
+ mv "${pkgdir}"/usr/lib64 "${pkgdir}"/usr/lib
+ fi
+}
diff --git a/community/gluon/gcc47.patch b/community/gluon/gcc47.patch
new file mode 100644
index 000000000..1f2a22306
--- /dev/null
+++ b/community/gluon/gcc47.patch
@@ -0,0 +1,31 @@
+From: Christoph Feck <christoph@maxiom.de>
+Date: Fri, 23 Mar 2012 22:35:09 +0000
+Subject: Fix includes
+X-Git-Url: http://quickgit.kde.org/?p=gluon.git&amp;a=commitdiff&amp;h=bccbda88a6bc53ac20091bb6aefd2f1b501ba31a
+---
+Fix includes
+---
+
+
+--- a/input/linux/detectlinux.cpp
++++ b/input/linux/detectlinux.cpp
+@@ -26,6 +26,7 @@
+
+ #include <QtCore/QDir>
+
++#include <unistd.h>
+ // #include <libudev.h>
+
+ using namespace GluonInput;
+
+--- a/input/linux/inputthread.cpp
++++ b/input/linux/inputthread.cpp
+@@ -30,6 +30,7 @@
+ // #include <QtCore/QStringList>
+
+ #include <fcntl.h>
++#include <unistd.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <linux/input.h>
+
diff --git a/community/gluon/gluon.install b/community/gluon/gluon.install
new file mode 100644
index 000000000..bf97c58a3
--- /dev/null
+++ b/community/gluon/gluon.install
@@ -0,0 +1,15 @@
+post_install() {
+ update-desktop-database -q
+ xdg-icon-resource forceupdate --theme hicolor
+ update-mime-database usr/share/mime > /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+ xdg-icon-resource forceupdate --theme hicolor
+ update-mime-database usr/share/mime > /dev/null
+}
diff --git a/community/glusterfs/PKGBUILD b/community/glusterfs/PKGBUILD
new file mode 100644
index 000000000..bcb2fb7c5
--- /dev/null
+++ b/community/glusterfs/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 92260 2013-06-03 11:49:45Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributors:
+# Andrei Antoukh - niwi@niwi.be - http://www.niwi.be
+# henning mueller <henning@orgizm.net>
+
+pkgname=glusterfs
+pkgver=3.3.1
+_basever=`echo $pkgver | cut -f1-2 -d.`
+pkgrel=5
+pkgdesc='Is a cluster file-system capable of scaling to several peta-bytes.'
+arch=(i686 x86_64)
+url='http://www.gluster.org/'
+license=(GPL2 LGPL3)
+depends=(fuse python2 libxml2)
+makedepends=(flex bison)
+options=(!libtool)
+source=(http://download.gluster.org/pub/gluster/glusterfs/$_basever/$pkgver/glusterfs-$pkgver.tar.gz
+ glusterd.service)
+sha256sums=('19aaefe3a0f9059ae831b44c92944503cf439da82da23467101ac13da8b77519'
+ 'e9aa54fcff422e0266e0f89d4bda73e0c77458f7c5443b8327db1e7b4242e6f7')
+sha256sums=('19aaefe3a0f9059ae831b44c92944503cf439da82da23467101ac13da8b77519'
+ '18e6c3bcca396a4524d866977d3fa86135377d7bf5d28a130e697ae2e85f043b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --with-mountutildir=/usr/bin \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --libexecdir=/usr/lib/$pkgname \
+ PYTHON=python2
+
+ make
+
+ sed -i s:env\ python:env\ python2: \
+ xlators/features/marker/utils/syncdaemon/gsyncd.py
+ sed -i s:/usr/bin/python:/usr/bin/python2: \
+ contrib/ipaddr-py/ipaddr.py
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+
+ install -D -m 644 \
+ $srcdir/$pkgname-$pkgver/{README,INSTALL,COPYING*} \
+ $pkgdir/usr/share/doc/glusterfs/
+
+ install -D -m 644 \
+ $srcdir/glusterd.service \
+ $pkgdir/usr/lib/systemd/system/glusterd.service
+
+ cp -rf \
+ $srcdir/$pkgname-$pkgver/doc/* \
+ $pkgdir/usr/share/doc/glusterfs/
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/glusterfs/glusterd.service b/community/glusterfs/glusterd.service
new file mode 100644
index 000000000..b1dd5c18d
--- /dev/null
+++ b/community/glusterfs/glusterd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Distributed filesystem daemon
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/glusterd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/gmerlin/PKGBUILD b/community/gmerlin/PKGBUILD
new file mode 100644
index 000000000..03e8ac35c
--- /dev/null
+++ b/community/gmerlin/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 91613 2013-05-25 11:46:26Z bpiotrowski $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+
+pkgname=gmerlin
+pkgver=1.2.0
+pkgrel=4
+pkgdesc="Multimedia architecture for Linux"
+arch=('i686' 'x86_64')
+url="http://openmovieeditor.sourceforge.net/HomePage"
+license=('GPL')
+depends=('gavl' 'gtk2' 'libxv' 'libvisual' 'libcdio-paranoia' 'musicbrainz' 'mjpegtools' 'hicolor-icon-theme' 'libquicktime' 'jack')
+makedepends=('alsa-lib' 'pulseaudio' 'v4l-utils' 'mesa-libgl')
+optdepends=('alsa-lib: for ALSA support'
+ 'jack: for JACK support'
+ 'libquicktime: for movie encoding'
+ 'pulseaudio: for PulseAudio support'
+ 'v4l-utils: for video conversion')
+options=('!libtool')
+install=gmerlin.install
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
+ cdio-api-fixes.patch
+ gmerlin-texi.patch)
+md5sums=('2f2a0880e738e71486f04c929ba067f4'
+ 'd0e407f01435394a0cfe04acb3c1a4cc'
+ '33a4dce06b7560fc839055c5a872435f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np1 -i "$srcdir/cdio-api-fixes.patch"
+ patch -Np1 -i "$srcdir/gmerlin-texi.patch"
+
+ rm -rf cpuinfo.sh
+
+ ./configure --prefix=/usr --without-doxygen
+ sed -i 's|LIBS = -lgavl|LIBS = -lgavl -ldl -lpthread -lgtk-x11-2.0 -lgobject-2.0 -lglib-2.0 -lxml2 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lX11|' {lib,tests,apps/*}/Makefile
+ sed -i 's|ln -sf $(DESTDIR)$(pkgdatadir)|ln -sf $(pkgdatadir)|' icons/Makefile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gmerlin/cdio-api-fixes.patch b/community/gmerlin/cdio-api-fixes.patch
new file mode 100644
index 000000000..14c934b16
--- /dev/null
+++ b/community/gmerlin/cdio-api-fixes.patch
@@ -0,0 +1,104 @@
+diff -upr gmerlin-1.2.0.orig/plugins/cdaudio/cdparanoia.c gmerlin-1.2.0/plugins/cdaudio/cdparanoia.c
+--- gmerlin-1.2.0.orig/plugins/cdaudio/cdparanoia.c 2013-01-10 21:16:27.000000000 +0200
++++ gmerlin-1.2.0/plugins/cdaudio/cdparanoia.c 2013-01-10 21:25:59.000000000 +0200
+@@ -28,8 +28,8 @@
+
+ #include "cdaudio.h"
+ #define DO_NOT_WANT_PARANOIA_COMPATIBILITY
+-#include <cdio/cdda.h>
+-#include <cdio/paranoia.h>
++#include <cdio/paranoia/cdda.h>
++#include <cdio/paranoia/paranoia.h>
+
+ /*
+ * Ripping support
+diff -upr gmerlin-1.2.0.orig/plugins/cdaudio/cdtext.c gmerlin-1.2.0/plugins/cdaudio/cdtext.c
+--- gmerlin-1.2.0.orig/plugins/cdaudio/cdtext.c 2013-01-10 21:16:27.000000000 +0200
++++ gmerlin-1.2.0/plugins/cdaudio/cdtext.c 2013-01-10 21:25:27.000000000 +0200
+@@ -34,7 +34,7 @@
+ #include "cdaudio.h"
+
+ #define GET_FIELD(dst, key) \
+- field = cdtext_get_const(key, cdtext);
++ field = cdtext_get_const(cdtext, key, i+1);
+
+ #define GET_FIELD_DEFAULT(dst,key) \
+ field = cdtext_get_const(key, cdtext); \
+@@ -64,30 +64,26 @@ int bg_cdaudio_get_metadata_cdtext(CdIo_
+
+ /* Get information for the whole disc */
+
+- cdtext = cdio_get_cdtext (cdio, 0);
++ cdtext = cdio_get_cdtext (cdio);
+
+ if(!cdtext)
+ return 0;
+
+- artist = cdtext_get_const(CDTEXT_PERFORMER, cdtext);
+- author = cdtext_get_const(CDTEXT_COMPOSER, cdtext); /* Composer overwrites songwriter */
++ artist = cdtext_get_const(cdtext, CDTEXT_FIELD_PERFORMER, 0);
++ author = cdtext_get_const(cdtext, CDTEXT_FIELD_COMPOSER, 0); /* Composer overwrites songwriter */
+
+ if(!author)
+- author = cdtext_get_const(CDTEXT_SONGWRITER, cdtext);
++ author = cdtext_get_const(cdtext, CDTEXT_FIELD_SONGWRITER, 0);
+
+- album = cdtext_get_const(CDTEXT_TITLE, cdtext);
+- genre = cdtext_get_const(CDTEXT_GENRE, cdtext);
+- comment = cdtext_get_const(CDTEXT_MESSAGE, cdtext);
++ album = cdtext_get_const(cdtext, CDTEXT_FIELD_TITLE, 0);
++ genre = cdtext_get_const(cdtext, CDTEXT_FIELD_GENRE, 0);
++ comment = cdtext_get_const(cdtext, CDTEXT_FIELD_MESSAGE, 0);
+
+ for(i = 0; i < idx->num_tracks; i++)
+ {
+ if(idx->tracks[i].is_audio)
+ {
+- cdtext = cdio_get_cdtext (cdio, i+1);
+- if(!cdtext)
+- return 0;
+-
+- GET_FIELD(title, CDTEXT_TITLE);
++ GET_FIELD(title, CDTEXT_FIELD_TITLE);
+
+ if(!title)
+ return 0;
+@@ -95,7 +91,7 @@ int bg_cdaudio_get_metadata_cdtext(CdIo_
+ gavl_metadata_set(&info[idx->tracks[i].index].metadata,
+ GAVL_META_TITLE, title);
+
+- if((field = cdtext_get_const(CDTEXT_PERFORMER, cdtext)))
++ if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_PERFORMER, i+1)))
+ gavl_metadata_set(&info[idx->tracks[i].index].metadata,
+ GAVL_META_ARTIST, field);
+ else
+@@ -103,10 +99,10 @@ int bg_cdaudio_get_metadata_cdtext(CdIo_
+ GAVL_META_ARTIST, artist);
+
+
+- if((field = cdtext_get_const(CDTEXT_COMPOSER, cdtext)))
++ if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_COMPOSER, i+1)))
+ gavl_metadata_set(&info[idx->tracks[i].index].metadata,
+ GAVL_META_AUTHOR, field);
+- else if((field = cdtext_get_const(CDTEXT_SONGWRITER, cdtext)))
++ else if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_SONGWRITER, i+1)))
+ gavl_metadata_set(&info[idx->tracks[i].index].metadata,
+ GAVL_META_AUTHOR, field);
+ else if(author)
+@@ -114,14 +110,14 @@ int bg_cdaudio_get_metadata_cdtext(CdIo_
+ GAVL_META_AUTHOR, author);
+
+
+- if((field = cdtext_get_const(CDTEXT_GENRE, cdtext)))
++ if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_GENRE, i+1)))
+ gavl_metadata_set(&info[idx->tracks[i].index].metadata,
+ GAVL_META_GENRE, field);
+ else
+ gavl_metadata_set(&info[idx->tracks[i].index].metadata,
+ GAVL_META_GENRE, genre);
+
+- if((field = cdtext_get_const(CDTEXT_MESSAGE, cdtext)))
++ if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_MESSAGE, i+1)))
+ gavl_metadata_set(&info[idx->tracks[i].index].metadata,
+ GAVL_META_COMMENT, field);
+ else
diff --git a/community/gmerlin/gmerlin-texi.patch b/community/gmerlin/gmerlin-texi.patch
new file mode 100644
index 000000000..b352bf3ff
--- /dev/null
+++ b/community/gmerlin/gmerlin-texi.patch
@@ -0,0 +1,1846 @@
+diff -Naur gmerlin-1.2.0.orig/doc/gmerlin.orig.texi gmerlin-1.2.0/doc/gmerlin.orig.texi
+--- gmerlin-1.2.0.orig/doc/gmerlin.orig.texi 1969-12-31 16:00:00.000000000 -0800
++++ gmerlin-1.2.0/doc/gmerlin.orig.texi 2013-02-27 16:04:03.847930671 -0800
+@@ -0,0 +1,1830 @@
++\input texinfo @c -*-texinfo-*-
++@comment %**start of header
++@setfilename gmerlin.info
++@include version.texi
++@settitle Gmerlin @value{VERSION}
++@dircategory Gmerlin
++@direntry
++* Gmerlin: (gmerlin). Gmerlin multimedia applications
++@end direntry
++
++
++@syncodeindex pg cp
++@comment %**end of header
++@copying
++This manual is for Gmerlin
++(version @value{VERSION}, @value{UPDATED}).
++
++Copyright @copyright{} 2001-2008 Members of the Gmerlin project.
++
++@quotation
++Permission is granted to copy, distribute and/or modify this document
++under the terms of the GNU Free Documentation License, Version 1.1 or
++any later version published by the Free Software Foundation; with no
++Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
++and with the Back-Cover Texts as in (a) below. A copy of the
++license is included in the section entitled ``GNU Free Documentation
++License.''
++
++(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
++this GNU Manual, like GNU software. Copies published by the Free
++Software Foundation raise funds for GNU development.''
++@end quotation
++@end copying
++@titlepage
++@title Gmerlin
++@subtitle for version @value{VERSION}, @value{UPDATED}
++@author Burkhard Plaum (@email{gmerlin@@users.sourceforge.net})
++@page
++@vskip 0pt plus 1filll
++@insertcopying
++@end titlepage
++
++@contents
++
++@ifnottex
++@node Top, Basics, (dir), (dir)
++@top Gmerlin userguide
++Gmerlin user guide.
++
++@insertcopying
++@end ifnottex
++
++@menu
++* Basics::
++* Installation::
++* General usage information::
++* Applications::
++* Plugins::
++* FAQ::
++* Get involved::
++@end menu
++
++@node Basics, Installation, Top, Top
++@chapter Basics
++This manual should help you to get familiar with gmerlin software. The
++gmerlin software is quite modular, because it consists of multiple
++packages, most of which can be used independently. In this document,
++it is assumed, that you have all packages installed (See Installation below).
++
++@node Installation, General usage information, Basics, Top
++@chapter Installation
++
++@menu
++* Requirements::
++* Compilation and installation::
++* Binary codecs::
++@end menu
++
++@node Requirements
++@section Requirements
++
++For compiling x264, you need @uref{http://nasm.sourceforge.net/, nasm}
++(@uref{http://www.tortall.net/projects/yasm/, yasm} on x86_64).
++They are included in
++most distributions. Required libraries can be installed from source or from
++binary packages. In the latter case, you must install the development
++packages (e.g. libfoo-devel-1.2.3-4.i386.rpm) also. This is what you need:
++
++@table @emph
++
++@item @uref{http://www.alsa-project.org/, Alsa}
++It's the recommended audio architecture
++
++@item @uref{http://www.tux.org/~ricdude/EsounD.html, esound}
++Only needed if neither Alsa nor OSS work for you.
++
++@item @uref{http://flac.sourceforge.net/, flac}
++For en-/decoding flac files (optional).
++
++@item @uref{http://www.gtk.org/, gtk-2.4.x}
++This is needed for compiling the GUI applications. Without it you'll
++get just the core library, which won't be of much use.
++
++@item @uref{http://www.ijg.org/, libjpeg}
++For reading and writing single JPEG images (strongly recommended)
++
++@item @uref{http://www.libpng.org/pub/png/libpng.html, libpng}
++For reading and writing single PNG images (strongly recommended).
++Also for decoding png encoded Quicktime and AVI files
++
++@item @uref{http://www.remotesensing.org/libtiff/, libtiff}
++For reading and writing single TIFF images (Optional)
++
++@item @uref{http://www.xmlsoft.org/, libxml}
++Required. All kinds of configuration files as well as the media
++tree are xml based.
++
++@item @uref{http://www.vorbis.com/, vorbis}
++Needed for en-/decoding Vorbis files. Also required for the
++theora encoding.
++
++@item @uref{http://musicbrainz.org/products/client/index.html, libmusicbrainz}
++Needed for getting Audio CD metadata using
++@uref{http://musicbrainz.org/, musicbrainz}
++
++@item @uref{http://libcddb.sourceforge.net/, libcddb}
++Needed for getting Audio CD metadata from CDDB servers
++
++@item Headers for libXv and libXinerama
++These are usually shipped with X11 but some distributions pack the header
++files separately (e.g. libxv-dev, libxinerama-dev). libXv is needed for
++hardware accelerated video playback, libXinerama adds support for
++multi-screen configurations.
++
++@item @uref{http://www.samba.org/, libsmbclient}
++For loading smb:// URLs (optional).
++
++@item @uref{http://sourceforge.net/projects/libvisual, libvisual}
++For using libvisual plugins (optional).
++
++@item @uref{http://www.ladspa.org, Ladspa plugins}
++Optional for audio filters/effects. Good experiences were made with
++the plugin packages @uref{http://www.ladspa.org/cmt/,cmt},
++@uref{http://plugin.org.uk, swh-plugins} and
++@uref{http://tap-plugins.sourceforge.net, tap-plugins}. Gmerlin looks for them
++at runtime, so you can install them at any time.
++
++@end table
++
++From now on, there are 2 ways to proceed:
++@itemize @bullet
++@item You can download the
++@uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=151779, gmerlin-dependencies}
++package, unpack it and install it using the instructions in the README file.
++A full dependencies install will provide you with the complete codec support,
++but some packages you already have might be installed a second time.
++Everything, however, gets into /opt/gmerlin, so there will be no conflicts.
++
++@item To have more control over the process, download and install the
++libraries listed below manually.
++@end itemize
++
++@table @emph
++@item @uref{http://www.gnu.org/software/libcdio/, libcdio}
++Neccessary for the VCD, Audio CD and DVD plugins.
++
++@item @uref{http://www.audiocoding.com/, faad2}
++Needed for MPEG-4 audio support (mp4, aac files).
++
++@item @uref{http://www.audiocoding.com/, faac}
++Needed for MPEG-4 audio encoding (.aac files) and for AAC encoding via
++libquicktime.
++
++@item @uref{http://www.ffmpeg.org/, FFmpeg}
++Many codecs, strongly recommended. You should get a sufficiently new
++version from @uref{http://ffmpeg.mplayerhq.hu/download.html, ffmpeg SVN}
++and use --enable-shared when calling configure. Another option is the
++version in the
++@uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=151779, gmerlin-dependencies} package.
++
++@item @uref{http://www.mp3dev.org/, lame}
++For encoding mp3 files and AVIs with mp3 audio streams with libquicktime.
++
++@item @uref{http://mad.sourceforge.net/, mad}
++For playing MPEG-1/2 audio (e.g. mp3)
++
++@item @uref{http://freshmeat.net/redir/libdvdread/17926/url_homepage/downloads.shtml, libdvdread}
++For playing DVDs. Gmerlins method of accessing DVD drives doesn't
++differ much from others. Thus, DVD playback howtos found in the web
++apply for gmerlin as well.
++
++@item @uref{http://developers.videolan.org/x264.html, x264}
++For H.264 encoding with libquicktime.
++
++@item @uref{http://www.videolan.org/developers/libdca.html, libdca}
++For decoding DTS streams.
++
++@item @uref{http://libmpeg2.sourceforge.net/, libmpeg2}
++For decoding MPEG-1/2 Video (like .mpg files and DVD video)
++
++@item @uref{http://liba52.sourceforge.net/, liba52}
++For playing AC3 (aka DVD audio) streams.
++
++@item @uref{http://www.musepack.net/, libmpcdec}
++For playing musepack files (optional).
++
++@item @uref{http://www.theora.org/, theora}
++For en-/decoding theora video (optional).
++
++@item @uref{http://www.speex.org/, speex}
++For en-/decoding Speex streams (optional).
++
++@item @uref{http://libquicktime.sourceforge.net/, libquicktime}
++Optional, for the libquicktime based encoding and decoding plugins.
++Mostly necessary if you want to encode video. For decoding Quicktime,
++gmerlin_avdecoder is a lot better.
++
++@item @uref{http://mjpeg.sourceforge.net/, mjpegtools}
++Optional for en-/decoding yuv4mpeg streams and for encoding high
++quality MPEG video using mpeg2enc and friends.
++
++@end table
++
++@node Compilation and installation
++@section Compilation and installation
++
++If you downloaded a release, make sure, that you have the latest
++version of all packages. Alternatively, you can download the latest
++@uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=151778, gmerlin-all-in-one}
++package. It contains all source packages together
++with optional scripts to build and install them. Check the included
++README file.
++
++We always try to be compatible ther GNU build system. This means, that
++all gmerlin packages are compiled using the usual
++@code{./configure; make; su; make install} prodecure. Type
++@code{./configure --help} to see the supported options.
++
++The order is the following:
++
++@itemize
++@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=50349, gavl}
++@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=14511, gmerlin}
++@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=124659, gmerlin_avdecoder}
++@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=152799, gmerlin-encoders}
++@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=124661, gmerlin-visualizer}
++@end itemize
++
++@node Binary codecs
++@section Binary codecs
++
++These must be downloaded from the @uref{http://www1.mplayerhq.hu/MPlayer/releases/codecs/, MPlayer codec page}. Download the file
++essential-YYYYMMDD.tar.bz2, where YYYYMMDD is some date. Unpack the
++.tar.bz2 and move the included files to /usr/lib/codecs. At this
++location, the DLLs will also be found by other players.
++
++@node General usage information, Applications, Installation, Top
++@chapter General usage information
++
++@menu
++* Configuration data::
++* GUI::
++* GML Syntax: gml.
++* Setting parameters from the commandline::
++@end menu
++
++@node Configuration data
++@section Configuration data
++
++They are saved in the directory @code{~/.gmerlin}, which has subdirectories
++for all applications. The directory "generic" stores common configuration
++data for applications, which have no config dialog. Plugins used by these
++programs can be configured with the gmerlin_plugincfg application. If a
++program misbehaves, especially after a version upgrade, delete the file
++@code{~/.gmerlin/application_dir/config.xml}, where @code{application_dir}
++corresponds to the application. Normally, this shouldn't be necessary.
++
++@node GUI
++@section GUI
++
++@menu
++* Introduction: gui_intro.
++* Static and dynamic parameters: gui_statdyn.
++* Configuring input plugins: gui_i.
++* Configuring filters: gui_f.
++* Log messages: gui_log.
++* Tips: gui_tips.
++@end menu
++
++@node gui_intro
++@subsection Introduction
++
++We try to make this as consistent as possible across the applications.
++In many windows, you'll see context sensitive menus when you right
++click somewhere. Furthermore, tooltips are enabled in all programs by
++default. You can, however, switch them off if they bother you.
++
++@node gui_statdyn
++@subsection Static and dynamic parameters
++
++All GUI applications have their own configuration data.
++This means, that plugin configurations are not shared between
++these applications.
++
++There is a strict separation between static and plugin dependent
++configurations.
++
++Most applications have one or more config dialogs
++@ifhtml
++(
++@image{../img/config_16}
++)
++@end ifhtml
++which let you change settings either for several subsystems of the
++application or for plugins, depending on the context.
++To change the plugins themselves, there are separate plugin dialogs
++@ifhtml
++(
++@image{../img/plugin_16}
++)
++@end ifhtml
++which let you select and configure plugins.
++
++It might be a bit tricky to find out if a special option can be set
++via the the plugin dialog or via
++the global config dialog. The general rule is: All features, which are
++supported by the core architecture, are configured in some global
++dialog. You can expect them to be present on every gmerlin installation
++of the same version. The plugin options vary depending on what plugins
++are installed (that's the reason, why they are separated).
++
++@node gui_i
++@subsection Configuring input plugins
++
++@ifhtml
++@image{../img/gui_i}
++@end ifhtml
++
++This dialog lets you control, how input plugins (or image reader plugins)
++are loaded. The widgets on the right are valid for the plugin, which is selected
++on the left. You have the following options:
++
++@table @b
++@item Parameters
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++Lets you set parameters of the plugin. These will be valid when an instance of
++the plugin is opened the next time. If you configure hardware plugins in the player,
++you must close and reopen all device albums for the changes to become effective.
++For plugins, which have no options, this button is disabled.
++@item Info
++@ifhtml
++@image{../img/info_16}
++@end ifhtml
++Pops up a window showing much of the information, which is known to the plugin
++registry.
++@item Priority
++This lets you change the priority of the plugin, if multiple plugins are
++available for a gml. The value can be between 1 and 10. Usually, the default
++priorities are ok. But for image files, the priorities of the ``Image stills input plugin'' and the ``Image video input plugin'' decide, whether images are displayed
++as a slideshow or a video.
++@item Protocols
++Lets you configure the supported network protocols. The protocols should rarely
++be changed and changes are overwritten by a new install of the plugin. For plugins,
++which don't support network streams, the protocols cannot be changed.
++@item Extensions
++Lets you configure the file extensions, which are associated with the plugin.
++If you change the extensions, they are overwritten by a new install of the plugin.
++That's a good reason to report missing file extensions to the developers.
++@end table
++
++@node gui_f
++@subsection Configuring filters
++
++@ifhtml
++@image{../img/gui_f}
++@end ifhtml
++
++This dialog lets you build a filter chain to apply additional changes to the
++A/V data. The GUI player will apply most changes during playback (reinitializing the
++playback pipelines if necessary), the transcoder can change filter chains only per
++track. The filters are processed in top-to-bottom order.
++
++You have the following buttons:
++
++@table @b
++@item Add filter
++@ifhtml
++@image{../img/add_16}
++@end ifhtml
++Pops up a dialog, which will let you add new filters to the chain.
++Filter are always added to the end of the chain.
++@item Remove filter
++@ifhtml
++@image{../img/trash_16}
++@end ifhtml
++Deletes the currently selected filter
++@item Configure filter
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++Set parameters of the currently selected filter
++@item Move to top
++@ifhtml
++@image{../img/top_16}
++@end ifhtml
++Move filter to the top (= the beginning) of the chain
++@item Move up
++@ifhtml
++@image{../img/up_16}
++@end ifhtml
++Move filter up by one
++@item Move down
++@ifhtml
++@image{../img/down_16}
++@end ifhtml
++Move filter down by one
++@item Move to top
++@ifhtml
++@image{../img/bottom_16}
++@end ifhtml
++Move filter to the bottom (= the end) of the chain
++@end table
++
++@b{Note for the player}
++
++Even though filter parameters are changed on the fly,
++pressing ``cancel'', without pressing ``apply'' before will
++revert all changes you made.
++
++@node gui_log
++@subsection Log messages
++
++@ifhtml
++@image{../img/gui_log}
++
++@end ifhtml
++Messages from pretty much everywhere in the applications are sent through the
++logging mechanism, and finally show up in the log window. It's the first place to
++look, if something does not work as expected (e.g. an URL does not load).
++There are 4 different types of messages, @b{error}, @b{warning}, @b{info} and
++@b{debug}. In the configuration for the log window, you can select, which message
++you want to see, the colors of the messages and the history size.
++@node gui_tips
++@subsection Tips
++
++@itemize
++@item Many buttons, which are associated with a list, are disabled unless you select an item in the list
++@item Doubleclicking onto the background of a slider (@strong{not} the slider itself) resets it to the
++ factory default
++@end itemize
++
++@node gml
++@section GML Syntax
++
++GMLs (Gmerlin media locations) are pretty much similar to URLs or
++MRLs with the difference, that device plugins support passing the device.
++This makes it possible to use gmls with hardware setups, which have
++multiple devices for each plugin.
++
++A gml can be:
++
++@table @bullet
++@item A regular filename
++Optionally preceeded with ``file://''. This means, that @b{/files/music.mp3} is the same as
++@b{file:///files/music.mp3}.
++@item A dash ``-'' or the string ``stdin://'' for reading from stdin
++@item Any valid network URL
++Examples: @b{http://webstream.example.com:8080}, @b{ftp://user:pass@@ftp.example.com/music.mp3}
++@item A "hardare protocol" followed by the device like @b{cda:///dev/hdc}.
++Known hardware protocols are @b{cda} (Audio CD), @b{vcd}, @b{dvd} and
++@b{dvb}. The supported protocols may vary according to your installation.
++@end table
++
++
++@node Setting parameters from the commandline
++@section Setting parameters from the commandline
++
++Gmerlin configuration handling provides the same features for both GUI
++applications and commandline programs. The natural result is, that the
++commandline syntax is a bit more complicated, since parameters can be
++nested.
++
++In General options have the form
++
++@code{'parameter1=value1:parameter2=value2...'}
++
++The quotes are necessary, if the string contains characters, which
++have a special meaning for the shell.
++
++The syntax of values depends on the type:
++@table @strong
++@item Boolean
++Value can be either 0 or 1.
++@item Integer values
++An integer number.
++@item Float values
++A floating point (i.e. fractional) number.
++@item Strings
++A string. Colons ':' should be escaped with '\'.
++@item Time
++Time is in the format @code{@{[[HH:]MM:]SS@}} while the seconds can be
++fractional. Hours and Minutes are optional, thus any format of
++@code{@{5.5@}}, @code{@{0:05.5@}} or @code{@{0:00:05.5}@} is valid for a time
++of 5.5 seconds. Writing @code{0} instead of @code{00} is also ok.
++@item Enumeration with suboptions
++Value is in the form
++@code{string[@{subparameter1=subvalue1:subparameter2=subvalue2...@}]}.
++The subparameters are optional. E.g. if the option is for selecting a
++plugin, setting string to @code{foo} will select the plugin @code{foo} and
++pass the subparameters (if avaliable) to the @code{foo} plugin.
++@item List or chain with suboptions
++This is like enumeration with suboptions with the difference, that
++you can concatenate multiple options together with colons (:) and
++must enclose everything with braces. For example:
++
++@code{@{opt1@{param1=value1@}:opt2@{param2=value2@}@}}
++
++If you use @code{-help}, you'll also see supported ranges for
++numeric types, or supported options for strings (if available).
++
++@end table
++
++@node Applications, Plugins, General usage information, Top
++@chapter Applications
++
++@menu
++* GUI Player::
++* Player remote control::
++* GUI Transcoder::
++* Transcoder remote control::
++* Commandline player::
++* Commandline recorder::
++* Alsamixer::
++* Visualizer::
++* Keyboard daemon::
++@end menu
++
++@node GUI Player
++@section GUI Player
++Type @code{gmerlin} with optionally any number of files or URLs to start this.
++
++@menu
++* Invoking gmerlin: gmerlin_player_usage.
++* Main window::
++* Media tree::
++* Video window::
++* Track information: gmerlin_player_trackinfo.
++* Configuring playback pipelines: gmerlin_player_avconfig.
++* Shortcuts: gmerlin_player_shortcuts.
++@end menu
++
++@node gmerlin_player_usage
++@subsection Invoking gmerlin
++
++@include gmerlin_player.texi
++
++@node Main window
++@subsection Main window
++@ifhtml
++@image{../img/player_mainwin}
++
++@end ifhtml
++
++It's a usual player window, with self explanatory buttons.
++
++@menu
++* Main menu: player_mainmenu.
++* Display: player_display.
++@end menu
++
++@node player_mainmenu
++@subsubsection Main menu
++
++The menu button will show the main menu of the player. Here, you can
++control practically the whole application:
++
++@table @b
++@item Audio, video and subtitles
++ See @ref{gmerlin_player_avconfig, Configuring playback pipelines}.
++@item Chapters
++@ifhtml
++@image{../img/player_chapters}
++
++@end ifhtml
++Chapters in gmerlin are just seekpoints with optional labels.
++If an input plugin supports chapters (e.g. of DVDs), gmerlin will
++make them available through the chapter menu.
++@item Visualizations
++@ifhtml
++@image{../img/player_vis}
++
++@end ifhtml
++If the upper menu item is enabled and the video window isn't used otherwise,
++Visualizations will be turned on.
++The audio stream of an Audio/video track can be visualized by disabling the video stream
++of that file (See @ref{gmerlin_player_avconfig, Configuring playback pipelines}).
++
++Then you can set some plugin-independent options
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++and finally the plugin itself
++@ifhtml
++@image{../img/plugin_16}
++@end ifhtml
++. The menu for visualization plugin works exactly the same as for output plugins
++(See @ref{gmerlin_player_avconfig, Configuring playback pipelines}).
++
++@item Windows
++@ifhtml
++@image{../img/player_windows}
++
++@end ifhtml
++Here, you can show or hide the @ref{gui_log, Log window}, the
++@ref{gmerlin_player_trackinfo, Track info window} and the @ref{Media tree}.
++
++@item Options
++@ifhtml
++@image{../img/player_options}
++
++@end ifhtml
++Here, you can set @b{Preferences}
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++, configure @ref{gui_i, Input plugins}
++@ifhtml
++@image{../img/plugin_16}
++@end ifhtml
++, select
++@b{skins} or configure the @ref{Keyboard daemon}.
++
++@item Commands
++@ifhtml
++@image{../img/player_commands}
++
++@end ifhtml
++Here you have some commonly used commands. The good news about the
++shortcuts is, that they work in the
++media tree and in the video window as well.
++
++Only exception are the shortcuts, which map to ASCII-characters
++(Pause and Seek to start), they don't work in the media tree and in albums.
++
++Use this menu as a quick-help for all global
++shortcuts.
++
++@item Accessories
++@ifhtml
++@image{../img/player_accessories}
++
++@end ifhtml
++Here, you can conventiently fire up some other gmerlin applications
++like the @ref{GUI Transcoder}, the @ref{Visualizer} and the
++@ref{Alsamixer}.
++
++@end table
++
++@node player_display
++@subsubsection Display
++
++@ifhtml
++@image{../img/player_display}
++
++@end ifhtml
++The display is divided into several areas. Left of the
++time display, gmerlin shows an icon denoting the current
++operation mode (playing, paused etc.). Right of the time display,
++you have 2 fields. By left-clicking into the upper field, you can
++change the displayed time value. Options are
++@table @b
++@item Default
++Time is counted since track start
++@item ALL
++Time is counted since album start
++@item REM
++Remaining time until track end
++@item ALL REM
++Remaining time until album end
++@end table
++
++In the lower field, you can left-click to change the repeat mode.
++Options are @b{no repeat}, @b{repeat current track} and
++@b{repeat current album}.
++
++At the bottom, there is the scrolltext. It displayes the name of the currently played
++track (which can change e.g. for live radio stations), or a brief error messages if
++something goes wrong. Note, that in the latter case, you get more information from the
++@ref{gui_log, Log Window}.
++
++@node Media tree
++@subsection Media tree
++
++@ifhtml
++@image{../img/player_tree_tabbed}
++@end ifhtml
++
++The media tree can be used to store and organize your media collection.
++It consists of virtual folders called @emph{albums}. You can create albums,
++subalbums and move stuff between them like you want. The media files
++always stay at the same place in the filesystem. The albums can be either
++in own windows (Windowed mode) or as tabs in the tree window (tabbed mode). You
++cah switch this with the right-click menu of the tree widget.
++The tree- and album windows remember their screen positions.
++
++@menu
++* Tree widget: player_treewidget.
++* Album widget: player_albumwidget.
++@end menu
++
++@node player_treewidget
++@subsubsection Tree widget
++
++@b{Doubleclicking} an album opens it if it was closed or vice versa.
++
++@b{Creating albums} is done by right selecting the parent album in
++the tree and click the ``New album'' button
++@ifhtml
++@image{../img/folder_new_16}
++@end ifhtml
++or ``Album->New'' in the right-click menu. In the new empty album, you can then
++load files or URLs. Another option to import whole directory trees, is to
++click ``Album->New from directory''. It will pop up a directory selection dialog.
++The directory can optionally be scanned recursively. The tracks are either in one
++(flat) album, or in subalbums according to the directory structure.
++Note that importing large directories takes some time.
++
++@b{Deleting albums} is done by selecting them in the tree and
++clicking the ``remove'' button
++@ifhtml
++@image{../img/trash_16}
++@end ifhtml
++(or by choosing Album->Remove in the right click menu. Please note
++the following:
++
++@itemize @bullet
++@item Removing albums is done without confirmation
++@item All subalbums are removed as well
++@item This (as well as removing tracks) cannot be undone
++@item Good news: gmerlin @b{never} removes media files from disk
++@end itemize
++
++@b{Moving albums} is done with Drag & Drop
++
++@b{Loading files or URLs} into an open or closed album can be done by
++dragging it from a filemanager or webbrowser into the target album in the tree widget.
++
++Some @b{special albums} are automatically created in addition to the
++regular albums (which are created by you):
++
++@itemize @bullet
++@item @emph{Incoming:}
++@ifhtml
++@image{../img/incoming_closed_16}
++@end ifhtml
++
++It's the destination for tracks, which come from
++the comandline or from the remote.
++
++@item @emph{Favourites:}
++@ifhtml
++@image{../img/favourites_closed_16}
++@end ifhtml
++
++Each regular album has a Favourites button
++@ifhtml
++@image{../img/favourites_16}
++@end ifhtml
++, which
++lets you copy the selected tracks to the favourites. It's useful for
++quickly making a selection of tracks from multiple different albums.
++
++@item @emph{Plugin and device albums:}
++@ifhtml
++@image{../img/hardware_16}
++@end ifhtml
++
++Each plugin, which handles devices like removable disc drives
++@ifhtml
++@image{../img/drive_running_16}
++@end ifhtml
++or tuners
++@ifhtml
++@image{../img/tuner_16}
++@end ifhtml
++will create a plugin album. The available devices are
++then autoscanned and added as subalbums. Device albums are a bit limited:
++You can delete or reorder tracks, but you cannot move tracks from/to other
++albums.
++
++@end itemize
++
++@node player_albumwidget
++@subsubsection Album widget
++
++The album widget can either be in an own window (when the tree is in tabbed mode)
++or in a notebook right of the tree widget. It lists all tracks of that album.
++At the bottom there is a toolbar and a display of the total playback time of the album.
++
++A @b{track} in gmerlin is a piece of media, which can have an arbitrary number of audio-,
++video- and subtitle @b{streams}. A track can be divided into @b{chapters} (which are just
++seekpoints). Some files (like ALBW wrapped mp3s or concatenated Ogg streams), will show
++up as multiple tracks. You can move them around in the whole tree as if they were separate
++files.
++
++@b{Doubleclicking} an album opens it if it was closed or vice versa.
++
++The @b{right click menu} offers lots of options and shortcuts, not all of them are
++documented here.
++
++@b{Adding tracks} can happen in multiple ways:
++
++@itemize @bullet
++@item Drag Files or URLs from filenanagers or webbrowsers into an album
++@item Use the buttons
++@ifhtml
++@image{../img/folder_open_16}
++@end ifhtml
++@ifhtml
++@image{../img/earth_16}
++@end ifhtml
++in the album toolbar, or the right click menu
++@end itemize
++
++@b{Drag and Drop} is supported:
++@itemize @bullet
++@item From most webbrowsers and filenmanagers into the album (see above)
++@item From one regular album to another. By default, tracks are moved.
++ Press the @key{CTRL}-key before dragging, and the tracks will be copied.
++@item Inside all albums to sort the tracks
++@item From an album window into the tree window to transfer tracks to
++ another album
++@item From the album to text editors or graphics programs, which support
++dropping text. You'll get a string representation of the tracks, which
++will make designing disk covers easier.
++@end itemize
++
++@b{Error tracks} are tracks, which failed to load last time you tried.
++They are marked red but remain in the album. If they are on removable
++disks or in the network, you might retry playing them when they become
++available. To delete all error tracks, go to ``Select error tracks'' in the
++right click menu to select them. Then, press @kbd{@key{CTRL}+DELETE}
++to get rid of them.
++
++For keyboard commands, see @ref{gmerlin_player_shortcuts, Shortcuts}.
++
++@node Video window
++@subsection Video window
++
++This comes only when gmerlin has to show some video or still images. It
++is created and owned by the video output plugin (i.e. it has nothing to
++do with the core GUI). Currently, only an X11 plugin is available. It
++has some special features: You can zoom or squeeze the image to make
++your favourite tradeoff between aspect ratio distortion, black borders
++or cropped images. All global gmerlin @ref{gmerlin_player_shortcuts, Shortcuts} work
++also in the video window, as well as some special ones.
++
++@node gmerlin_player_trackinfo
++@subsection Track information
++@ifhtml
++@image{../img/player_trackinfo}
++
++@end ifhtml
++
++Here, you see detailed information of the currently (or last) played track
++in a tree structure. The right-click menu lets you copy either the whole contents or
++the currently selected row to the clipboard as plain text.
++
++@node gmerlin_player_avconfig
++@subsection Configuring playback pipelines
++
++The configuration for audio, video and subtitle handling is almost the same.
++
++@b{Stream menu}
++
++For each category, you have a stream menu.
++
++@ifhtml
++@image{../img/player_avconfig_menu}
++@end ifhtml
++
++In the upper part, you can select the available streams.
++You can also switch the stream off.
++
++In the lower part, you can set global (= plugin independent) options
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++, Filters
++@ifhtml
++@image{../img/filter_16}
++@end ifhtml
++ (See @ref{gui_f, Configuring filters})
++and the output plugin
++@ifhtml
++@image{../img/plugin_16}
++@end ifhtml
++.
++
++@b{Output plugin menu}
++
++@ifhtml
++@image{../img/player_avconfig_plugin}
++@end ifhtml
++
++In the upper part, you can change the output plugin (even during playback).
++In the lower part, you can configure
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++the plugin or show information
++@ifhtml
++@image{../img/info_16}
++@end ifhtml
++about the plugin.
++
++@node gmerlin_player_shortcuts
++@subsection Shortcuts
++
++The following global shortcuts are available in the main window, the media
++tree including albums and the video window:
++
++@table @kbd
++@item @key{CTRL}+G
++Pop up current album and goto current track
++
++@item @key{CTRL}+O
++Pop up preferences dialog
++
++@item @key{CTRL}+P
++Pop up input plugin dialog
++
++@item @key{CTRL}+Q
++Quit program
++
++@item @key{CTRL}+PAGEDOWN
++Goto next track
++
++@item @key{CTRL}+PAGEUP
++Goto previous track
++
++@item @key{CTRL}+@key{SHIFT}+PAGEDOWN
++Goto next chapter
++
++@item @key{CTRL}+@key{SHIFT}+PAGEUP
++Goto previous chapter
++
++@item @key{CTRL}+RIGHT
++Seek forward
++
++@item @key{CTRL}+LEFT
++Seek backward
++
++@item @key{SHIFT}+RIGHT
++Decrease volume
++
++@item @key{SHIFT}+LEFT
++Increase volume
++
++@item @key{CTRL}+M
++Toggle mute
++
++@item 0
++(Zero) Seek to start. This is not available in the media tree and the albums.
++
++@item Space
++Toggle pause. This is not available in the media tree and the albums.
++
++@item @key{CTRL}+G
++Goto current track. This raises the current album and moves to the
++current track within that album.
++
++@item F9
++Copy current track to favourites
++
++@item @key{CTRL}+Q
++Quit gmerlin
++@end table
++
++The following additional chortcuts are available in the @ref{Video window}:
++
++@table @kbd
++
++@item CTRL+PLUS/MINUS
++Increase/decrease aspect ratio (squeeze). Zoom and squeeze are a simple way to choose your
++personal tradeoff between aspect ratio distortion, missing image parts and black borders.
++
++@item CTRL+MOUSEWHEEL
++Increase/decrease aspect ratio (squeeze).
++
++@item ALT+PLUS/MINUS
++Increase/decrease zoom factor
++
++@item ALT+MOUSEWHEEL
++Increase/decrease zoom factor
++
++@item @key{CTRL}+HOME
++Reset zoom and squeeze
++
++@item HOME
++Resize the window to the size of the video. If the video has nonsquare
++pixels, the window width is adjustetd accordingly.
++
++@item @key{SHIFT}+HOME
++Shrink the window such that no black borders are visible abound the video
++
++@item B/b
++Increase/decrease brightness.
++
++@item S/s
++Increase/decrease saturation.
++
++@item C/c
++Increase/decrease contrast.
++
++Brightness, saturation and contrast work only, if the hardware and the currently used display driver
++support this.
++
++@item TAB
++Toggle fullscreen/windowed mode
++@item f
++Toggle fullscreen/windowed mode
++@item Esc
++Exit fullscreen mode
++@end table
++
++The following additional shortcuts are available inside @ref{player_albumwidget, albums}:
++
++@table @kbd
++@item UP/DOWN
++Move the cursor one track up/down
++
++@item PAGEUP/PAGEDOWN
++Move the cursor one page up/down
++
++@item Mousewheel
++Scroll
++
++@item SHIFT+UP/DOWN
++Move the cursor one track up/down and select track
++
++@item SHIFT+PAGEUP/PAGEDOWN
++Move the cursor one page up/down and select tracks
++
++@item @key{CTRL}+UP/DOWN
++Move the cursor one track up/down and unselect track
++
++@item ALT+HOME
++Move selected tracks to the top
++
++@item ALT+END
++Move selected tracks to the bottom
++
++@item ALT+MOUSEWHEEL
++Increase/decrease zoom factor
++
++
++@item @key{CTRL}+C
++Copy selected tracks to clipboard
++
++@item @key{CTRL}+X
++Cut selected tracks to clipboard
++
++@item @key{CTRL}+V
++Paste tracks from clipboard at the current cursor position
++
++@item @key{CTRL}+DELETE
++Delete selected tracks
++
++@item @key{CTRL}+F
++Search for tracks
++
++@item @key{CTRL}+I
++Display info about the currently selected track
++
++@item F10
++Copy selected tracks to favourites
++@end table
++
++@node Player remote control
++@section Player remote control
++
++@code{gmerlin_remote} is the command for remotely controlling the
++GUI player. It can be used as a helper application if webbrowsers
++or filenmanagers or for all kinds of remote control methods (including
++keyboard- or infrared-daemons), which can execute arbitrary shell
++commands. One example for a generic keyboard daemon, which can call
++@code{gmerlin_remote} is the @ref{Keyboard daemon, Gmerlin Keyboard daemon}.
++
++@menu
++* Invoking gmerlin_remote: gmerlin_remote.
++* Examples: gmerlin_remote_examples.
++@end menu
++
++@node gmerlin_remote
++@subsection Invoking gmerlin_remote
++
++@include gmerlin_remote.texi
++
++@node gmerlin_remote_examples
++@subsection Examples
++
++@table @code
++@item gmerlin_remote -play
++Play the current track (same as pressing the ``play'' button)
++
++@item gmerlin_remote -host remote.example.com -play
++Connect to @code{remote.example.com} and play the current track there
++
++@item gmerlin_remote -seek-rel -10.0
++Seek 10 seconds backwards
++
++@item gmerlin_remote -next
++Go to next track
++
++@item gmerlin_remote -chapter +
++Go to next chapter
++
++@item gmerlin_remote -openplay cda:///dev/scd0
++Open and play an audio CD in the first SCSI drive and start playing.
++Use commands like this in your desktop configuration for handling removable
++media.
++
++@item gmerlin_remote -launch -addplay http://webradio.example.com/stream.ogg
++Add the given gml to the Incoming
++@ifhtml
++@image{../img/incoming_closed_16}
++@end ifhtml
++album (launching a new player if necessary) and play it. Use commands like this as
++MIME-Handler in webbrowsers and filemanagers. A shortcut for this command is the
++script
++@code{gmerlin_launcher}.
++@end table
++
++
++@node GUI Transcoder
++@section GUI Transcoder
++
++@menu
++* Invoking gmerlin_transcoder: gmerlin_transcoder.
++* Quick intro: gmerlin_transcoder_intro.
++* Main window: gmerlin_transcoder_window.
++* Configuring encoder plugins: gmerlin_transcoder_enc.
++* Configuring tracks: gmerlin_transcoder_tracks.
++@end menu
++
++@node gmerlin_transcoder
++@subsection Invoking gmerlin_transcoder
++
++@include gmerlin_transcoder.texi
++
++@node gmerlin_transcoder_intro
++@subsection Quick intro
++
++Gmerlin transoder can transcode every supported input file
++to any of the supported output files. It has some unique features,
++which seperate it from other transcoding applications. Most notably:
++
++@table @b
++@item Per stream settings
++All settings are configured for each stream separately. This means,
++different streams can have different formats, different filters and
++even different codecs (of course only if the container supports it)
++
++@item Subtitle support
++There are plugins for exporting subitles to separate files or to the
++same file, where the A/V data gets written. Alternatively, you can
++blend subtitles onto the video frames (for containers, which don't
++support subtitles).
++
++@item Profile support
++Finding out the right encoder parameters can be a time-consuming task.
++@code{gmerlin_transcoder} allows you to save all settings and load them later.
++Once you have found out your favourite encoder settings for a specific task,
++transcoding is a matter of
++@itemize @bullet
++@item Loading the profile
++@item Adding tracks to the tasklist
++@item Clicking the transcode button
++@end itemize
++
++@item Postprocessing support
++There are postprocessors, which take the encoded files and
++make e.g. Audio CDs (with cdtext) from it. It also contains a frontend for cdrdao,
++so you can burn them as well.
++
++@item Chapter support
++@code{gmerlin_transcoder} imports all chapter seekpoints from the source, and writes
++them into the file (currently only supported for Quicktime and mp4).
++You can also edit chapter lists or create new ones
++@item Language codes
++@code{gmerlin_transcoder} lets you import, edit and export language codes for
++the Audio- and subtitle streams
++@item 2 Pass encoding
++For plugins, which support it, we can do 2-transcoding. There is also a
++generic volume normalizer built in.
++@end table
++
++There is a @ref{transcoder_tasklist, tasklist},
++in which the tracks are queued. All newly loaded tracks
++get the globally configured settings (plugins, formats, filters). You can then
++fine-tune the tracks by configuring them individually. Changing track
++parameters for multiple tracks at once isn't possible. Instead, make the
++settings, save them to a profile and load the profile before loading the
++tracks.
++
++@node gmerlin_transcoder_window
++@subsection Main window
++
++@ifhtml
++@image{../img/transcoder_mainwin}
++@end ifhtml
++
++The window contains of the following elements:
++
++@menu
++* Menu bar: transcoder_menubar.
++* Display: transcoder_display.
++* Progress bar: transcoder_progressbar.
++* Tasklist: transcoder_tasklist.
++@end menu
++
++@node transcoder_menubar
++@subsubsection Menu bar
++
++Here you have all @b{global} commands and settings.
++The item @b{Tasklist} has @b{per track} commands and settings.
++
++@b{File menu}
++
++@table @b
++@item Load tasklist...
++@ifhtml
++@image{../img/folder_open_16}
++@end ifhtml
++Pops up a file selection dialog and loads the chosen tasklist.
++The tracks are appended to already existing tracks in the list.
++Has a shortcut in the @b{upper} toolbar.
++@item Save tasklist...
++@ifhtml
++@image{../img/save_16}
++@end ifhtml
++Pops up a file selection dialog for saving the current tasklist.
++Has a shortcut in the @b{upper} toolbar.
++@item Quit
++@ifhtml
++@image{../img/quit_16}
++@end ifhtml
++Stop the current transcoding action (if any) and quit
++Has a shortcut in the @b{upper} toolbar.
++@end table
++
++@b{Options menu}
++@table @b
++@item Preferences
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++Here, you configure the GUI and the default settings for newly added tracks.
++The preferences are saved in the profile.
++
++@item Configure plugins
++@ifhtml
++@image{../img/plugin_16}
++@end ifhtml
++Here, you set the default plugins for newly added tracks. You can
++configure input plugins (See @ref{gui_i, Configuring input plugins})
++and encoders (See @ref{gmerlin_transcoder_enc, Configuring encoders}).
++The plugin settings are saved in the profile.
++
++@item Load profile...
++@ifhtml
++@image{../img/folder_open_16}
++@end ifhtml
++Pops up a file selection dialog and loads the chosen profile.
++All configuration and plugin settings for new tracks will be
++changed immediately.
++@item Save profile...
++@ifhtml
++@image{../img/save_16}
++@end ifhtml
++Pops up a file selection dialog for saving the current configuration
++to a profile.
++
++@end table
++
++@b{Actions}
++
++@table @b
++@item Start transcoding
++@ifhtml
++@image{../img/run_16}
++@end ifhtml
++This will start transcoding of the tracks in the trasklist in top-to-bottom
++order. While transcoding you can still add/delete/edit tracks in the list.
++Has a shortcut in the @b{upper} toolbar.
++@item Stop transcoding
++@ifhtml
++@image{../img/stop_16}
++@end ifhtml
++Stops transcoding. If the currently transcoded track is not a
++live stream, the produced files are deleted from disk (unless you disable
++this in the preferences). The currently decoded track is moved back to the
++top of the tasklist.
++Has a shortcut in the @b{upper} toolbar.
++@end table
++
++@b{Tasklist}
++
++This menu acts on the tasklist as a whole or the selected track(s).
++
++@table @b
++@item Add... -> Files...
++@ifhtml
++@image{../img/folder_open_16}
++@end ifhtml
++Pops up a file selection dialog, which lets you add files (optionally
++with a specific input plugin) to the end of the tasklist.
++Has a shortcut in the @b{lower} toolbar.
++@item Add... -> URLs...
++@ifhtml
++@image{../img/earth_16}
++@end ifhtml
++Pops up a window, which lets you enter an URL (optionally
++with a specific input plugin) to the end of the tasklist.
++Has a shortcut in the @b{lower} toolbar.
++@item Add... -> Drives...
++@ifhtml
++@image{../img/drive_running_16}
++@end ifhtml
++Pops up a window, which lets open a removeable disk (e.g.
++and Audio CD) and append it's tracks to the end of the
++tasklist. You must specify the device @b{and} the plugin.
++Has a shortcut in the @b{lower} toolbar.
++@item Selected... -> Move up...
++@ifhtml
++@image{../img/top_16}
++@end ifhtml
++Move the selected tracks to the top of the list, so they will be
++transcoded first.
++@item Selected... -> Move down...
++@ifhtml
++@image{../img/down_16}
++@end ifhtml
++Move the selected tracks to the bottom of the list, so they will be
++transcoded last
++@item Selected... -> Remove...
++@ifhtml
++@image{../img/trash_16}
++@end ifhtml
++Remove the selected tracks (without confirmation or undo).
++Has a shortcut in the @b{lower} toolbar.
++@item Selected... -> Configure...
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++Configure the selected track.
++Has a shortcut in the @b{lower} toolbar.
++@item Selected... -> Edit chapters...
++@ifhtml
++@image{../img/chapter_16}
++@end ifhtml
++Pop up the chapter editor. If the source has chapters, you'll
++find them here. You can also add/delete/move chapters. Chapters
++can also have names (currently only supported by the libquicktime encoder).
++Has a shortcut in the @b{lower} toolbar.
++
++@item Selected... -> Change encoders...
++@ifhtml
++@image{../img/plugin_16}
++@end ifhtml
++Here, you set the encoding plugins of the selected tracks.
++(See @ref{gmerlin_transcoder_enc, Configuring encoders}).
++Has a shortcut in the @b{lower} toolbar.
++
++@item Edit... -> Cut
++@ifhtml
++@image{../img/cut_16}
++@end ifhtml
++Cut selected tracks to the clipboard.
++Has a shortcut in the @b{lower} toolbar.
++
++@item Edit... -> Copy
++@ifhtml
++@image{../img/copy_16}
++@end ifhtml
++Copy selected tracks to the clipboard.
++Has a shortcut in the @b{lower} toolbar.
++
++@item Edit... -> Paste
++@ifhtml
++@image{../img/paste_16}
++@end ifhtml
++Paste tracks or album entries from the @ref{GUI Player}
++from the clipboard. Has a shortcut in the @b{lower} toolbar.
++@item Postprocess...
++Pops up a dialog to configure postprocessing.
++Postprocessing plugins are invoked whenever
++the tasklist gets empty. It adds all tracks, which have
++been encoded since batch transcoding was started.
++Postprocessors make some sanity checks of the files they get,
++and won't try to burn e.g. audio CDs with MPEG data.
++@end table
++
++@b{Windows}
++
++Here, you can show and hide the @ref{gui_log, log window}.
++
++@node transcoder_display
++@subsubsection Display
++Displays the currently performed action and the estimated
++remaining time for the current action. The time display in the lower right
++corner shows the total playback time of the tasklist.
++
++@node transcoder_progressbar
++@subsubsection Progress bar
++Displays the progress of the current action.
++
++@node transcoder_tasklist
++@subsubsection Tasklist
++
++A queue for tracks to be transcoded. Right clicking into the
++list pops up a menu, which is the same as in the menubar.
++
++New tracks can be added in various ways:
++
++@itemize @bullet
++@item By dragging files or URLs from filenanagers or webbrowsers into the tasklist
++@item By using the buttons in lower toolbar or the right click menu
++@item From the @ref{GUI Player} by right clicking into an album end select Selected->Transcode. If multiple transcoders are open, the
++instance, which listens on the remote port (can be only one at a time),
++gets the track.
++@item By dragging tracks from a gmerlin album into the tasklist
++@end itemize
++
++@node gmerlin_transcoder_enc
++@subsection Configuring encoders
++@ifhtml
++@image{../img/transcoder_enc}
++@end ifhtml
++
++This dialog exists in the global settings as well as in the per track
++settings. It describes a complete encoder setup.
++
++There are 2 different modes for encoding: Either all A/V streams go into
++one file, or into separate files (i.e. it's not possible to group some
++A/V streams and write others separately). You control this by clicking
++``Encode audio into video file'' checkbox. Subtitles can be written into
++the video file, or into a separate file. You can select this independently for
++text- and overlay subtitles with the corresponding checkbuttons.
++
++Note, that some streams are always written to a separate file (regardless
++of the check-box settings) if the video encoder plugin doesn't support streams
++of that type.
++
++Then, you can set encoder plugins for each stream type. The menu selects
++the plugin. Right of the menu, there are buttons for displaying plugin info
++@ifhtml
++@image{../img/info_16}
++@end ifhtml
++and setting global options
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++(like ID3 generation or fileformat flavours). These settings can be changed
++on a per track basis in the @ref{gmerlin_transcoder_tracks,
++ track configuration dialog}.
++
++Finally, there are the default audio-
++@ifhtml
++@image{../img/audio_16}
++@end ifhtml
++and video
++@ifhtml
++@image{../img/video_16}
++@end ifhtml
++settings. Here, you mostly configure codec parameters like bitrates, etc.
++To further tweak these settings of a per stream base, you'll find the
++same options for each stream in the @ref{gmerlin_transcoder_tracks,
++ track configuration dialog}.
++
++@node gmerlin_transcoder_tracks
++@subsection Configuring tracks
++@ifhtml
++@image{../img/transcoder_track}
++@end ifhtml
++
++It's a standard gmerlin configuration dialog, which is built dynamically
++depending on the stream layout of the source and the encoder setup. On
++the left you see a tree structure of all settings:
++@table @b
++@item General
++Sets global settings like basename of the file and an optional subdirectory
++of the encoding directory, where the file(s) will be written. Note, that
++the toplevel destination directory is configured globally, not per track.
++
++If you select ``postprocess only'', the input file will be sent directly
++to the postprocessing plugin. Enable this for files, which already have a
++format supported by the postprocessor.
++
++Finally you can choose to transcode only a certain selection given by
++the start- and/or end time.
++
++@item Metadata
++Here, any available metadata are imported from the input, and you can
++edit them. Note that not all medatada fields are supported by all output
++formats. Some formats don't support metadata at all.
++
++@item Global encoder options
++For each enabled encoding plugin, you can configure global settings here.
++
++@item Stream options
++For each stream, you have @b{Generic options}. Here you can en- or disable
++the stream, set the language and the format. In addition for subtitles,
++you can choose whether to convert text- to overlay subtitles, blend
++subtitles onto video frames or encode them separately.
++
++For Audio and video streams, you can also set up @ref{gui_f, filters}.
++
++For text subtitles, the @b{render options} let you configure the
++font and colors of the subtitles, if they are converted to overlay
++subtitles.
++
++The @b{default format} of subtitles is for the rare case, that you want
++to convert subtitles to a video stream. It's only used if you encode subtitles
++but no corresponding video stream.
++
++The last tree- node for each stream has always the codec option of the
++output plugin for the respective streams. Here, you can change encoder
++settings for each stream separately.
++@end table
++
++@node Transcoder remote control
++@section Transcoder remote control
++
++@menu
++* Invoking gmerlin_transcoder_remote: gmerlin_transcoder_remote.
++@end menu
++
++@node gmerlin_transcoder_remote
++@subsection Invoking gmerlin_transcoder_remote
++
++@include gmerlin_transcoder_remote.texi
++
++
++@node Commandline player
++@section Commandline player
++
++@menu
++* Invoking gmerlin_play: gmerlin_play.
++@end menu
++
++@node gmerlin_play
++@subsection Invoking gmerlin_play
++
++@include gmerlin_play.texi
++
++@node Commandline recorder
++@section Commandline recorder
++
++@menu
++* Invoking gmerlin-record: gmerlin-record.
++@end menu
++
++@node gmerlin-record
++@subsection Invoking gmerlin-record
++
++@include gmerlin_record.texi
++
++@node Alsamixer
++@section Alsamixer
++
++@ifhtml
++@image{../img/alsamixer}
++@end ifhtml
++
++Type @code{gmerlin_alsamixer} to start this.
++This is a mixer program, which is still convenient, if you have
++multiple soundcards with 100s of options each. It provides widgets
++for almost all soundcard parameters, which are supported by alsa.
++
++By right clicking on a control, you get a menu where you can:
++
++@itemize @bullet
++@item Move controls inside the window
++@ifhtml
++@image{../img/first_16}
++@image{../img/left_16}
++@image{../img/right_16}
++@image{../img/last_16}
++@end ifhtml
++
++@item Move controls to own windows
++@ifhtml
++@image{../img/windowed_16}
++@end ifhtml
++. To move them back to main window,
++ simply close the control-windows.
++@item Pop up an options dialog
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++, where you can select which controls should be shown at all.
++@end itemize
++
++All window configurations and coordinates are remembered. The actual mixer
++settings are @emph{not} remembered, since this is done globally by the
++Alsa startup scripts.
++
++@node Visualizer
++@section Visualizer
++
++@ifhtml
++@image{../img/visualizer}
++
++@end ifhtml
++
++Type @code{gmerlin_visualizer} to start this.
++Gmerlin visualizer opens your soundard for recording and displays a
++visualization in a window. It supports fullscreen and mouse- and
++keyboard interaction with visuals for visualization plugins, which
++support this.
++If you move the mouse or press the ``Menu key'', the toolbar will show
++up (either method can be disabled). It will be hidden again after
++the mouse is idle for some seconds.
++
++In the @b{upper left row}, you can change the input plugin, show info
++about the plugin
++@ifhtml
++@image{../img/info_16}
++@end ifhtml
++or configure the visualization
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++.
++
++In the @b{lower left row}, you can change the recording- and
++display plugins
++@ifhtml
++@image{../img/plugin_16}
++@end ifhtml
++, set global (plugin independent) options
++@ifhtml
++@image{../img/config_16}
++@end ifhtml
++, restart the visualization
++@ifhtml
++@image{../img/refresh_16}
++@end ifhtml
++, switch to fullscreen
++@ifhtml
++@image{../img/fullscreen_16}
++@end ifhtml
++or back
++@ifhtml
++@image{../img/windowed_16}
++@end ifhtml
++. Moreover you can show or hide the @ref{gui_log, Log window}
++@ifhtml
++@image{../img/log_16}
++@end ifhtml
++or exit
++@ifhtml
++@image{../img/quit_16}
++@end ifhtml
++the application.
++
++The @b{VU-meter} at the right displays the recording level as it comes
++from the device (i.e. @b{before} the visualizer gain is applied).
++
++You have the following @b{Shortcuts}:
++
++@table @kbd
++@item f
++Toggle fullscreen mode
++@item Tab
++Toggle fullscreen mode
++@item Escape
++Exit fullscreen mode
++@item Menu
++Show toolbar
++@end table
++
++All other keyboard- and mouse events are propagated to the display
++plugin and then to the visualization plugin.
++
++@node Keyboard daemon
++@section Keyboard daemon
++@ifhtml
++@image{../img/kbd_mainwin}
++
++@end ifhtml
++The gmerlin keyboard daemon is an X11 application, which grabs key combinations
++and executes commands. You will communicate mostly via
++the configuration utility @code{gmerlin_kbd_config}. It's independent of
++keyboard model definitions, because it allows to enter the keyboard combination
++in the config dialog directly. It's independent of gmerlin or any other
++multimedia architecture, since the actions can be arbitrary shell commands.
++
++You can manually start and stop the keyboard daemon, add, edit and delete
++key combinations and tell the daemon to apply the changes.
++
++To automatically start the keyboard daemon at each X11 start, find out
++where to enter start commands in your desktop configuration add the
++command @code{/usr/local/bin/gmerlin_kbd}. Change @code{/usr/local} to
++your install prefix if necessary.
++
++Messages from the keyboard daemon show up in @file{/var/log/messages} or
++in another syslog file depending on your system setup.
++
++@node Plugins, FAQ, Applications, Top
++@chapter Plugins
++
++@include plugins.texi
++
++@node FAQ, Get involved, Plugins, Top
++@chapter FAQ
++
++@menu
++* General questions::
++* Installation questions::
++* Usage questions::
++@end menu
++
++@node General questions
++@section General questions
++
++@node Installation questions
++@section Installation questions
++
++@strong{Q:} @emph{Why do I have to install so many packages to get all features?}
++
++@strong{A:} Because having one huge package is not good for people, who want to use
++only one small subset of the included libraries or applications. To make installation
++a bit easier, there are the gmerlin-dependencies and gmerlin-all-in-one packages.
++
++@strong{Q:} @emph{How do I enable Ladspa plugins?}
++
++@strong{A:} Gmerlin looks for Ladspa plugins in @code{/usr/lib/ladspa} and
++@code{/usr/local/lib/ladspa} by default. Additional paths can be set with the
++@code{LADSPA_PATH} enviromnent variable.
++
++@strong{Q:} @emph{Which Ladspa plugins work with gmerlin?}
++
++@strong{A:} All plugins, which have either 1 or 2 input and output ports. The numbers
++of input- and output ports must be equal.
++
++@strong{Q:} How do I enable DVB?
++
++@strong{A:} Gmerlin looks for DVB devices in /dev/dvb. Then, you must pass gmerlin
++ a channel configuration file created with the @uref{http://www.linuxtv.org/wiki/index.php/LinuxTV_dvb-apps,dvb-apps}
++ tools. Check the documentation coming with dvb-apps for how to create channel files. Gmerlin looks for channel maps
++ in the directories @code{$HOME/.szap}, @code{$HOME/.tzap}, @code{$HOME/.czap},
++ @code{$HOME/.azap}, @code{$HOME/.mplayer} and @code{$HOME/.xine}. The first time, you load the DVB plugin,
++ and each time you changed your channel map, the plugin will tune to each transponder and get the full
++ information about the programs (the information provided by dvp-apps is not sufficient). This can take some time.
++
++@node Usage questions
++@section Usage questions
++
++@strong{Q:} @emph{Ok, I compiled gmerlin and started the player, now how do I play a file?}
++
++@strong{A:} The easiest way is to open the Incoming or Favourites album
++and use one of the buttons at the bottom to open a file or URL. Or drag the
++file from a filemanager into an album. Later you might want to create
++your own albums.
++
++@strong{Q:} @emph{Can I play a VCD image from harddisk before burning?}
++
++@strong{A:} Yes. If you use vcdimager, you have 2 files: a .bin file and a .cue
++ file. If you load the .cue file with the avdecoder plugin, you'll be
++ able to play the VCD image.
++
++@strong{Q:} @emph{Can I play a DVD image from harddisk or from a mounted DVD drive?}
++
++@strong{A:} Yes, in the dvd directory, go to the subdirectory @code{video_ts} and load the
++ file @code{video_ts.ifo}.
++
++@strong{Q:} @emph{Can I play an audio CD image from harddisk before burning?}
++
++@strong{A:} Not yet.
++
++@strong{Q:} @emph{How can I make gmerlin the default audio CD player on my Desktop environment?}
++
++@strong{A:} First, find out how to configure the default audio CD player on your system.
++ Usually, you can set a command, which is executed, when a new audio cd is inserted.
++ Assuming your cdrom device is @code{/dev/hdd}, the command for opening and playing
++ an audio cd is:
++
++ @code{gmerlin_remote -launch -openplay cda:///dev/hdd}
++
++ If you just want ot open the CD (without starting playback), use:
++
++ @code{gmerlin_remote -launch -open cda:///dev/hdd}
++
++@strong{Q:} @emph{How can I make gmerlin the default DVD player on my Desktop environment?}
++
++@strong{A:} Same as for audio CDs, but replace @code{cda://} with @code{dvd://}.
++
++@strong{Q:} @emph{How can I configure gmerlin as a Mime handler for media files on my Desktop environment?}
++
++@strong{A:} Find out how to set up mime handlers (e.g. right click onto a file and select ``Open with...'').
++ Then, enter the command @code{gmerlin_launcher}.
++
++@strong{Q:} @emph{How can I map multimedia keys on my keyboard to gmerlin functions?}
++
++@strong{A:} You need some way to configure custom shell commands for multimedia keys. Check the
++documentation of your Desktop system. To remote control gmerlin, use the commandline program
++@code{gmerlin_remote}. Type @code{gmerlin_remote -help} for supported options and commands.
++
++@node Get involved, , FAQ, Top
++@chapter Get involved
++
++Contribution to gmerlin can happen at several skill levels:
++
++@itemize @bullet
++@item Report bugs and installation problems, tell about features you'd like to see.
++@item Tell us about files, which cannot be played. An URL and some infos (other applications
++ which play the file fine) can help a lot.
++@item Make skins. In /usr/local/gmerlin/skins/Default/skin.xml, you'll find an example skin description file.
++@item Assembler gurus can write more speed optimized routines for gavl
++@item Mathematics gurus can write more accurate routines for the higher quality
++levels of gavl.
++@end itemize
++
++@bye
++
+diff -Naur gmerlin-1.2.0.orig/doc/gmerlin.texi gmerlin-1.2.0/doc/gmerlin.texi
+--- gmerlin-1.2.0.orig/doc/gmerlin.texi 2013-02-27 16:56:41.202827892 -0800
++++ gmerlin-1.2.0/doc/gmerlin.texi 2013-02-27 16:58:29.743890528 -0800
+@@ -461,7 +461,7 @@
+
+ A gml can be:
+
+-@table @bullet
++@table @b
+ @item A regular filename
+ Optionally preceeded with ``file://''. This means, that @b{/files/music.mp3} is the same as
+ @b{file:///files/music.mp3}.
diff --git a/community/gmerlin/gmerlin.install b/community/gmerlin/gmerlin.install
new file mode 100644
index 000000000..c7625c2f1
--- /dev/null
+++ b/community/gmerlin/gmerlin.install
@@ -0,0 +1,25 @@
+infodir=usr/share/info
+filelist=(gmerlin.info)
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install "$1"
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info --delete "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/gmic/PKGBUILD b/community/gmic/PKGBUILD
new file mode 100644
index 000000000..125be5fa5
--- /dev/null
+++ b/community/gmic/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 93486 2013-07-04 10:12:04Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: farid <farid at archlinuc-br.org>
+# Contributor: Archie <Mymaud@gmail.com>
+
+pkgbase=gmic
+pkgname=("gmic" "gimp-plugin-gmic" "zart")
+pkgver=1.5.6.1
+pkgrel=1
+arch=("i686" "x86_64")
+url="http://gmic.sourceforge.net"
+license=("custom:CeCILL")
+makedepends=('gimp' 'qt4' 'fftw' 'openexr' 'opencv' 'mesa' 'gtk2')
+#options=('!emptydirs')
+source=("http://downloads.sourceforge.net/sourceforge/gmic/gmic_${pkgver}.tar.gz"
+ "opencv-buildfix.patch")
+md5sums=('06545a7c2f73b55b0d35e5f5544dce88'
+ '120319b0d6c81c5af186abe2281b79ca')
+
+prepare() {
+ cd "${srcdir}/gmic-${pkgver}"
+ patch -p1 -i "${srcdir}/opencv-buildfix.patch"
+ find "${srcdir}/gmic-${pkgver}/zart" -type f -execdir chmod 644 '{}' \;
+ find "${srcdir}/gmic-${pkgver}/zart" -type d -execdir chmod 755 '{}' \;
+ sed -i 's|qmake zart.pro|qmake-qt4 zart.pro|' src/Makefile
+}
+
+build() {
+ cd "${srcdir}/gmic-${pkgver}"
+ make -C src all
+}
+
+package_gmic() {
+ pkgdesc="GREYC's Magic Image Converter: image processing framework"
+ depends=("fftw" "libtiff" "libjpeg" "libpng" "openexr" "libx11")
+ replaces=("greycstoration")
+
+ cd "${srcdir}/gmic-${pkgver}"
+ make -C src install DESTDIR="$pkgdir" USR="/usr"
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ rm -rf "${pkgdir}/usr/"{bin/zart,lib/gimp,share/zart}
+}
+
+package_zart() {
+ pkgdesc="A GUI for G'MIC real-time manipulations on the output of a webcam"
+ depends=("opencv" "fftw" "qt4")
+
+ cd "${srcdir}/gmic-${pkgver}"
+ make -C src install DESTDIR="$pkgdir" USR="/usr"
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ rm -rf "${pkgdir}/usr/"{bin/gmic,include,lib,share/{man,bash-completion}}
+}
+
+package_gimp-plugin-gmic() {
+ pkgdesc="Gimp plugin for the G'MIC image processing framework"
+ depends=("gimp" "fftw")
+ replaces=("gimp-plugin-greycstoration" "gimp-plugin-gmic4gimp")
+
+ cd "${srcdir}/gmic-${pkgver}"
+ install -Dm755 src/gmic_gimp "${pkgdir}/usr/lib/gimp/2.0/plug-ins/gmic_gimp"
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/gmic/opencv-buildfix.patch b/community/gmic/opencv-buildfix.patch
new file mode 100644
index 000000000..ae6f71487
--- /dev/null
+++ b/community/gmic/opencv-buildfix.patch
@@ -0,0 +1,20 @@
+diff -wbBur gmic-1.5.1.7/src/Makefile gmic-1.5.1.7.q/src/Makefile
+--- gmic-1.5.1.7/src/Makefile 2012-07-26 12:59:34.000000000 +0400
++++ gmic-1.5.1.7.q/src/Makefile 2012-08-03 14:03:10.000000000 +0400
+@@ -296,7 +296,7 @@
+
+ zart: lib
+ ifneq ($(OS),Darwin)
+- cd ../zart && qmake-qt4 zart.pro && $(MAKE) && strip zart
++ cd ../zart && qmake zart.pro && $(MAKE) && strip zart
+ else
+ cd ../zart && qmake zart.pro && $(MAKE) "CFLAGS=$(STD_MACOSX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(STD_MACOSX_LDFLAGS) $(OPT_LDFLAGS)"
+ endif
+@@ -403,6 +403,7 @@
+ mkdir -p $(DESTDIR)$(USR)/share/man/fr/man1/
+ cp -f ../man/gmic.1.gz $(DESTDIR)$(USR)/share/man/man1/gmic.1.gz
+ cp -f ../man/gmic.1.gz $(DESTDIR)$(USR)/share/man/fr/man1/gmic.1.gz
++ if test -d /usr/share/bash-completion/completions; then mkdir -p $(DESTDIR)/usr/share/bash-completion/completions/; cp -f gmic_bashcompletion.sh $(DESTDIR)/usr/share/bash-completion/completions/gmic; fi
+ if test -d /etc/bash_completion.d/; then mkdir -p $(DESTDIR)/etc/bash_completion.d/; cp -f gmic_bashcompletion.sh $(DESTDIR)/etc/bash_completion.d/gmic; fi
+ if test -d /opt/local/etc/bash_completion.d/; then mkdir -p $(DESTDIR)/opt/local/etc/bash_completion.d/; cp -f gmic_bashcompletion.sh $(DESTDIR)/opt/local/etc/bash_completion.d/gmic; fi
+
diff --git a/community/gmime24/PKGBUILD b/community/gmime24/PKGBUILD
new file mode 100644
index 000000000..a9b8204ff
--- /dev/null
+++ b/community/gmime24/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 87490 2013-04-01 16:50:15Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=gmime24
+pkgver=2.4.33
+pkgrel=1
+pkgdesc="Core mime parsing library"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://spruce.sourceforge.net/gmime/"
+depends=('glib2' 'zlib')
+makedepends=('pkgconfig')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/gmime/2.4/gmime-${pkgver}.tar.xz)
+md5sums=('a4dc6e553c0cf3b7d96dfef8ab633163')
+
+build() {
+ # get rid of that .wapi errors in fakeroot
+ export MONO_SHARED_DIR="${srcdir}/weird"
+ mkdir -p "${MONO_SHARED_DIR}"
+
+ cd ${srcdir}/gmime-${pkgver}
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr \
+ --disable-mono \
+ --disable-static
+ make
+}
+
+package() {
+ cd ${srcdir}/gmime-${pkgver}
+ make DESTDIR=${pkgdir} install
+ # These are gmime alternatives for the same shareutils tools
+ rm -rf ${pkgdir}/usr/bin/uuencode ${pkgdir}/usr/bin/uudecode ${pkgdir}/usr/share
+}
diff --git a/community/gmpc/PKGBUILD b/community/gmpc/PKGBUILD
new file mode 100644
index 000000000..623600656
--- /dev/null
+++ b/community/gmpc/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 83148 2013-01-27 16:16:24Z pierre $
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@archlinux.org>
+
+pkgname=gmpc
+pkgver=11.8.16
+pkgrel=1
+pkgdesc="A GTK2 client for MPD"
+arch=('i686' 'x86_64')
+url="http://gmpclient.org/home"
+license=('GPL')
+depends=('libunique' 'libmpd' 'libsoup' 'sqlite' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('gob2' 'intltool' 'vala')
+options=('!libtool')
+install=gmpc.install
+source=(http://download.sarine.nl/Programs/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('223aeb000e41697d8fdf54ccedee89d5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's|GNOME;AudioVideo;|GTK;AudioVideo;Player;|' data/gmpc.desktop.in
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/gmpc/gmpc.install b/community/gmpc/gmpc.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/community/gmpc/gmpc.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gmrun/PKGBUILD b/community/gmrun/PKGBUILD
new file mode 100644
index 000000000..ea5fd9c70
--- /dev/null
+++ b/community/gmrun/PKGBUILD
@@ -0,0 +1,30 @@
+# Contributor: Jeff Mickey <j@codemac.net>
+# Contributor: Woody Gilk aka Shadowhand <woody.gilk@gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=gmrun
+pkgver=0.9.2
+pkgrel=4
+pkgdesc="A simple program which provides a run program window"
+arch=('i686' 'x86_64')
+url="http://sf.net/projects/gmrun"
+license=('GPL')
+depends=('gtk2' 'popt')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ gcc43.patch)
+md5sums=('6cef37a968006d9496fc56a7099c603c'
+ '3a0b69d8c2cac6cfb551b9d235441ecb')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p0 -i "$srcdir/gcc43.patch"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/gmrun/gcc43.patch b/community/gmrun/gcc43.patch
new file mode 100644
index 000000000..6f79591f6
--- /dev/null
+++ b/community/gmrun/gcc43.patch
@@ -0,0 +1,51 @@
+--- src/gtkcompletionline.cc.orig 2003-11-16 11:55:07.000000000 +0100
++++ src/gtkcompletionline.cc 2008-05-08 08:51:22.000000000 +0200
+@@ -29,6 +29,7 @@
+ #include <set>
+ #include <sstream>
+ #include <string>
++#include <cstring>
+ #include <vector>
+ using namespace std;
+
+--- src/ci_string.h.orig 2001-05-16 16:39:31.000000000 +0200
++++ src/ci_string.h 2008-05-08 08:51:33.000000000 +0200
+@@ -7,6 +7,7 @@
+ #define __CI_STRING_H__
+
+ #include <string>
++#include <cstring>
+ #include <ctype.h>
+
+ struct ci_char_traits : public std::char_traits<char>
+--- src/prefs.cc.orig 2002-08-16 12:48:22.000000000 +0200
++++ src/prefs.cc 2008-05-08 08:51:54.000000000 +0200
+@@ -13,6 +13,7 @@
+ #include <fstream>
+ #include <iostream>
+ #include <stdio.h>
++#include <stdlib.h>
+
+ #include <list>
+
+--- src/main.cc.orig 2003-11-16 11:55:07.000000000 +0100
++++ src/main.cc 2008-05-08 09:03:11.000000000 +0200
+@@ -14,6 +14,7 @@
+ #include <gdk/gdkkeysyms.h>
+
+ #include <string>
++#include <cstring>
+ #include <iostream>
+ #include <sstream>
+ #include <vector>
+
+--- src/gtkcompletionline.cc.orig 2009-06-19 22:38:14.000000000 +0400
++++ src/gtkcompletionline.cc 2009-06-19 22:37:14.000000000 +0400
+@@ -376,7 +377,7 @@
+ return 0;
+ }
+
+-int my_alphasort(const void* va, const void* vb) {
++int my_alphasort(const dirent** va, const dirent** vb) {
+ const struct dirent** a = (const struct dirent**)va;
+ const struct dirent** b = (const struct dirent**)vb;
diff --git a/community/gmtk/PKGBUILD b/community/gmtk/PKGBUILD
new file mode 100644
index 000000000..51869c8d1
--- /dev/null
+++ b/community/gmtk/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 92205 2013-06-02 18:41:20Z bpiotrowski $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+
+pkgname=gmtk
+pkgver=1.0.8
+pkgrel=1
+pkgdesc='Common functions for gnome-mplayer and gecko-mediaplayer.'
+arch=('i686' 'x86_64')
+url='http://gmtk.googlecode.com/'
+license=('GPL')
+depends=('glib2' 'gtk3' 'dconf')
+makedepends=('intltool' 'pkg-config')
+options=(!libtool)
+source=("http://gmtk.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('ee8ab99f3ac2e0071c99a35e4847bba5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags gtk+-3.0)"
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-gtk3
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/gnac/PKGBUILD b/community/gnac/PKGBUILD
new file mode 100644
index 000000000..42cb76b7f
--- /dev/null
+++ b/community/gnac/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 71475 2012-05-27 08:59:40Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=gnac
+pkgver=0.2.4.1
+pkgrel=1
+pkgdesc="Audio converter for GNOME"
+arch=('i686' 'x86_64')
+url="http://gnac.sourceforge.net/"
+license=('GPL')
+depends=('libnotify' 'libunique3' 'gstreamer0.10-base-plugins' 'dconf' 'desktop-file-utils' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool' 'gnome-doc-utils')
+optdepends=('gstreamer0.10-good-plugins: Extra media codecs'
+ 'gstreamer0.10-bad-plugins: Extra media codecs'
+ 'gstreamer0.10-ugly-plugins: Extra media codecs'
+ 'gstreamer0.10-ffmpeg: Extra media codecs')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('14d86536a75bde9cbf4c5eaede8c4b2a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gnac/gnac.install b/community/gnac/gnac.install
new file mode 100644
index 000000000..aa4c3e059
--- /dev/null
+++ b/community/gnac/gnac.install
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/gnash/PKGBUILD b/community/gnash/PKGBUILD
new file mode 100644
index 000000000..64dcfe793
--- /dev/null
+++ b/community/gnash/PKGBUILD
@@ -0,0 +1,86 @@
+# $Id: PKGBUILD 94025 2013-07-13 12:32:36Z svenstaro $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgbase=gnash
+pkgname=(gnash-common gnash-gtk)
+pkgver=0.8.10
+pkgrel=9
+arch=(i686 x86_64)
+url="http://www.gnu.org/software/gnash/"
+license=(GPL3)
+makedepends=(curl giflib libldap sdl agg libjpeg libpng libtool mesa glu
+ speex fontconfig
+ gstreamer0.10-base
+ gtk2 libldap xulrunner hicolor-icon-theme desktop-file-utils gconf gtkglext
+ pkgconfig boost)
+options=(!libtool !emptydirs)
+source=(http://ftp.gnu.org/gnu/gnash/${pkgver}/gnash-${pkgver}.tar.bz2
+ nodebug.patch gnash-0.8.10-boost-1.50.patch)
+sha256sums=('9625072e45df92baa2c28fc9999d4e2deb66bc827530baedfad2e4e2292d1224'
+ '0ebb104a7632af997c7e6b268755949fa0c1eea5e32015b95a22d63d0e431551'
+ 'ac3e7dbcb2ea30b8a263168462e739aa07706e0e3cdc672410a42a4357dbf54c')
+
+build() {
+ cd gnash-$pkgver
+
+ # Disable very, very verbose debugging (gigabytes of logs)
+ patch -Np1 -i ../nodebug.patch
+
+ # Link to libboost_system.so
+ patch -Np1 -i ../gnash-0.8.10-boost-1.50.patch
+
+ ./autogen.sh
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-plugins-install=system \
+ --with-npapi-plugindir=/usr/lib/mozilla/plugins \
+ --enable-gui=sdl,gtk,dump \
+ --enable-media=gst \
+ --enable-renderer=all \
+ --enable-device=x11
+
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+
+ make
+}
+
+package_gnash-common() {
+ pkgdesc="A GNU Flash movie player"
+ depends=(curl giflib sdl agg libjpeg libpng libltdl libgl glu
+ speex fontconfig cairo
+ gstreamer0.10-base
+ boost-libs)
+ backup=(etc/gnashrc etc/gnashthumbnailrc)
+
+ cd gnash-$pkgver
+
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install
+
+ # Split gnash-gtk
+ mkdir -p "$srcdir"/gtk/{etc,usr/{bin,share/man/man1}}
+ mv "$pkgdir"/usr/bin/{gtk-gnash,gnash-gtk-launcher} \
+ "$srcdir/gtk/usr/bin/"
+ mv "$pkgdir"/usr/share/man/man1/{gtk-gnash,gnash-gtk-launcher}.1 \
+ "$srcdir/gtk/usr/share/man/man1/"
+ mv "$pkgdir"/usr/share/{applications,icons} "$srcdir/gtk/usr/share/"
+ mv "$pkgdir"/etc/gnashpluginrc "$srcdir/gtk/etc/"
+}
+
+package_gnash-gtk() {
+ pkgdesc="A GNU Flash movie player"
+ depends=("gnash-common=$pkgver"
+ gtk2 libldap hicolor-icon-theme desktop-file-utils gconf gtkglext)
+ install=gnash-gtk.install
+ backup=(etc/gnashpluginrc)
+
+ mv gtk/* "$pkgdir"
+
+ cd gnash-$pkgver
+ make DESTDIR="$pkgdir" install-plugin
+
+ install -m755 -d "$pkgdir/usr/share/gconf/schemas"
+ gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/gnash.schemas" --domain gnash \
+ "$pkgdir"/usr/share/applications/*.schemas
+ rm -f "$pkgdir"/usr/share/applications/*.schemas
+}
diff --git a/community/gnash/gnash-0.8.10-boost-1.50.patch b/community/gnash/gnash-0.8.10-boost-1.50.patch
new file mode 100644
index 000000000..a422ce932
--- /dev/null
+++ b/community/gnash/gnash-0.8.10-boost-1.50.patch
@@ -0,0 +1,12 @@
+diff -u -r gnash-0.8.10/macros/boost.m4 gnash-0.8.10-boost1.50/macros/boost.m4
+--- gnash-0.8.10/macros/boost.m4 2012-01-19 20:17:49.000000000 +0100
++++ gnash-0.8.10-boost-1.50/macros/boost.m4 2012-07-11 10:56:11.089137186 +0200
+@@ -37,7 +37,7 @@
+ boost_headers="detail/lightweight_mutex.hpp thread/thread.hpp multi_index_container.hpp multi_index/key_extractors.hpp thread/mutex.hpp program_options/options_description.hpp iostreams/stream.hpp"
+ dnl this is a list of *required* libraries. If any of these are missing, this
+ dnl test will return a failure, and Gnash won't build.
+- boost_libs="thread program_options iostreams"
++ boost_libs="thread program_options iostreams system"
+
+ dnl this is a list of *recommended* libraries. If any of these are missing, this
+ dnl test will return a warning, and Gnash will build, but testing won't work.
diff --git a/community/gnash/gnash-gtk.install b/community/gnash/gnash-gtk.install
new file mode 100644
index 000000000..6678a7f8a
--- /dev/null
+++ b/community/gnash/gnash-gtk.install
@@ -0,0 +1,22 @@
+post_install() {
+ gconfpkg --install gnash
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ gconfpkg --uninstall gnash
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/gnash/nodebug.patch b/community/gnash/nodebug.patch
new file mode 100644
index 000000000..ca160b898
--- /dev/null
+++ b/community/gnash/nodebug.patch
@@ -0,0 +1,48 @@
+diff -u -r gnash-0.8.9/libbase/log.h gnash-0.8.9-nodebug/libbase/log.h
+--- gnash-0.8.9/libbase/log.h 2011-02-26 19:11:08.000000000 +0100
++++ gnash-0.8.9-nodebug/libbase/log.h 2012-01-18 09:39:02.004103494 +0100
+@@ -331,27 +331,27 @@
+
+ // Define to 0 to completely remove parse debugging at compile-time
+ #ifndef VERBOSE_PARSE
+-#define VERBOSE_PARSE 1
++#define VERBOSE_PARSE 0
+ #endif
+
+ // Define to 0 to completely remove action debugging at compile-time
+ #ifndef VERBOSE_ACTION
+-#define VERBOSE_ACTION 1
++#define VERBOSE_ACTION 0
+ #endif
+
+ // Define to 0 to remove ActionScript errors verbosity at compile-time
+ #ifndef VERBOSE_ASCODING_ERRORS
+-#define VERBOSE_ASCODING_ERRORS 1
++#define VERBOSE_ASCODING_ERRORS 0
+ #endif
+
+ // Define to 0 this to remove invalid SWF verbosity at compile-time
+ #ifndef VERBOSE_MALFORMED_SWF
+-#define VERBOSE_MALFORMED_SWF 1
++#define VERBOSE_MALFORMED_SWF 0
+ #endif
+
+ // Define to 0 this to remove Networking verbosity at compile-time
+ #ifndef VERBOSE_NETWORKING
+-#define VERBOSE_NETWORKING 1
++#define VERBOSE_NETWORKING 0
+ #endif
+
+ #if VERBOSE_PARSE
+diff -u -r gnash-0.8.9/libcore/vm/ActionExec.cpp gnash-0.8.9-nodebug/libcore/vm/ActionExec.cpp
+--- gnash-0.8.9/libcore/vm/ActionExec.cpp 2011-03-13 17:47:36.000000000 +0100
++++ gnash-0.8.9-nodebug/libcore/vm/ActionExec.cpp 2012-01-18 09:40:25.653458508 +0100
+@@ -46,7 +46,7 @@
+ // too much information for my tastes. I really want just
+ // to see how stack changes while executing actions...
+ // --strk Fri Jun 30 02:28:46 CEST 2006
+-# define DEBUG_STACK 1
++//# define DEBUG_STACK 1
+
+ // Max number of stack item to dump. 0 for unlimited.
+ # define STACK_DUMP_LIMIT 32
diff --git a/community/gnokii/PKGBUILD b/community/gnokii/PKGBUILD
new file mode 100644
index 000000000..5e5d099a9
--- /dev/null
+++ b/community/gnokii/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 92499 2013-06-07 09:28:58Z tomegun $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Aurelien Foret <orelien@chez.com>
+
+pkgname=gnokii
+pkgver=0.6.31
+pkgrel=5
+pkgdesc="Tools and user space driver for use with mobile phones"
+arch=('i686' 'x86_64')
+url="http://www.gnokii.org/"
+license=('GPL')
+depends=('libusb-compat' 'libxpm' 'bluez-libs' 'libical' 'sqlite')
+makedepends=('gtk2' 'libmariadbclient' 'postgresql-libs' 'intltool' 'mariadb')
+optdepends=('gtk2: xgnokii GUI'
+ 'libmariadbclient: smsd mysql backend'
+ 'postgresql-libs: smsd postgresql backend')
+backup=('etc/gnokiirc')
+options=('!libtool' '!makeflags')
+source=("http://www.gnokii.org/download/$pkgname/$pkgname-${pkgver}.tar.bz2"
+ 'gnokii.patch')
+md5sums=('d9627f4a1152d3ea7806df4532850d5f'
+ 'fd1c448114c2e0de8e05981030f0e69f')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ # FS#13249
+ sed -i 's|cellphone|phone|' xgnokii/xgnokii.desktop.in
+
+ patch -Np1 -i "${srcdir}/gnokii.patch"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --enable-security \
+ --disable-unix98test
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 Docs/sample/gnokiirc "${pkgdir}/etc/gnokiirc"
+}
diff --git a/community/gnokii/gnokii.patch b/community/gnokii/gnokii.patch
new file mode 100644
index 000000000..db593cdf4
--- /dev/null
+++ b/community/gnokii/gnokii.patch
@@ -0,0 +1,12 @@
+diff -Nura gnokii-0.6.31.orig/Docs/sample/gnokiirc gnokii-0.6.31/Docs/sample/gnokiirc
+--- gnokii-0.6.31.orig/Docs/sample/gnokiirc 2011-12-02 15:53:04.000000000 +0100
++++ gnokii-0.6.31/Docs/sample/gnokiirc 2012-02-18 12:49:26.957557504 +0100
+@@ -238,7 +238,7 @@
+ # In particular ensure that mgnokiidev is in this location, with
+ # permissions 4750, owned by root, group gnokii. Ensure you
+ # are in the gnokii group and that the group exists...
+-bindir = /usr/local/sbin/
++bindir = /usr/sbin/
+
+ # Any entries in the following two sections will be set as environment
+ # variables when running the scripts.
diff --git a/community/gnome-applets/01_battstat_upower.patch b/community/gnome-applets/01_battstat_upower.patch
new file mode 100644
index 000000000..fa31e720b
--- /dev/null
+++ b/community/gnome-applets/01_battstat_upower.patch
@@ -0,0 +1,622 @@
+From 18a2f4aa3ba2c8c9fc3718b15a9ab366fdd35f05 Mon Sep 17 00:00:00 2001
+From: Joachim Breitner <mail@joachim-breitner.de>
+Date: Mon, 5 Jul 2010 12:20:04 +0200
+Subject: [PATCH] [battstat applet] upower support
+
+As HAL is being deprecated, the battstat applet is adjusted to talk to
+upower, using libupower-glib. (Bug #607254)
+---
+ battstat/Makefile.am | 6 +-
+ battstat/battstat-upower.c | 330 +++++++++++++++++++++++++++++++++++++++++
+ battstat/battstat-upower.h | 33 ++++
+ battstat/battstat_applet.c | 7 +-
+ battstat/docs/C/battstat.xml | 18 ++-
+ battstat/docs/de/battstat.xml | 22 +++-
+ battstat/docs/eu/battstat.xml | 20 ++-
+ battstat/power-management.c | 66 +++++++--
+ configure.in | 22 +++
+ 9 files changed, 493 insertions(+), 31 deletions(-)
+ create mode 100644 battstat/battstat-upower.c
+ create mode 100644 battstat/battstat-upower.h
+
+Index: gnome-applets-3.4.1/battstat/Makefile.am
+===================================================================
+--- gnome-applets-3.4.1.orig/battstat/Makefile.am 2012-04-13 19:02:29.000000000 +0200
++++ gnome-applets-3.4.1/battstat/Makefile.am 2012-04-19 00:28:17.246029051 +0200
+@@ -27,6 +27,7 @@
+ $(GNOME_APPLETS_CFLAGS) \
+ $(LIBNOTIFY_CFLAGS) \
+ $(HAL_CFLAGS) \
++ $(UPOWER_CFLAGS) \
+ $(APMINC) \
+ $(ACPIINC) \
+ $(WARN_CFLAGS) \
+@@ -48,13 +49,17 @@
+ acpi-freebsd.c \
+ acpi-freebsd.h \
+ battstat-hal.c \
+- battstat-hal.h
++ battstat-hal.h \
++ battstat-upower.c \
++ battstat-upower.h
+
+
+ battstat_applet_2_LDADD = \
+ $(GNOME_APPLETS_LIBS) \
+ $(LIBNOTIFY_LIBS) \
+ $(HAL_LIBS) \
++ $(UPOWER_LIBS) \
++ $(LIBM) \
+ $(APMLIB)
+
+ schemasdir = @GCONF_SCHEMA_FILE_DIR@
+Index: gnome-applets-3.4.1/battstat/battstat-upower.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gnome-applets-3.4.1/battstat/battstat-upower.c 2012-04-19 00:28:17.246029051 +0200
+@@ -0,0 +1,301 @@
++/*
++ * Copyright (C) 2010 by Joachim Breitner <mail@joachim-breitner.de>
++ *
++ * Based on battstat-hal.c:
++ * Copyright (C) 2005 by Ryan Lortie <desrt@desrt.ca>
++ *
++ * 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 Street #330, Boston, MA 02111-1307, USA.
++ *
++ * $Id$
++ */
++
++#include <config.h>
++
++#ifdef HAVE_UPOWER
++
++#include <upower.h>
++#include <math.h>
++
++#include "battstat-upower.h"
++
++static UpClient *upc;
++static void (*status_updated_callback) (void);
++
++
++/* status_updated_callback() can not be called directly because at the time of
++ * the device-remove signal, the device is not actually removed from the list
++ * of devices known to the up_client object (see libupower-glib/up-client.c in
++ * upower). Waiting for the next idle timer works around this issue and has has
++ * the additionaly benefit of possibly running status_updated_callback only
++ * once when several events happen very soon after each other.
++ */
++static gboolean status_update_scheduled;
++
++static gboolean
++update_status_idle (gpointer junk)
++{
++ if (status_updated_callback)
++ status_updated_callback ();
++
++ return status_update_scheduled = FALSE;
++}
++
++static void
++schedule_status_callback (void)
++{
++ if (status_update_scheduled)
++ return;
++
++ status_update_scheduled = TRUE;
++ g_idle_add (update_status_idle, NULL);
++}
++
++static void
++device_cb (UpClient *client, UpDevice *device, gpointer user_data) {
++ schedule_status_callback();
++}
++
++/* ---- public functions ---- */
++
++char *
++battstat_upower_initialise (void (*callback) (void))
++{
++ status_updated_callback = callback;
++
++ if( upc != NULL )
++ return g_strdup( "Already initialised!" );
++
++ if( (upc = up_client_new() ) == NULL )
++ goto error_out;
++
++ if (! up_client_enumerate_devices_sync( upc, NULL, NULL ) ) {
++ goto error_shutdownclient;
++ }
++
++ g_signal_connect_after( upc, "device-changed", device_cb, NULL );
++ g_signal_connect_after( upc, "device-added", device_cb, NULL );
++ g_signal_connect_after( upc, "device-removed", device_cb, NULL );
++
++ return NULL;
++
++error_shutdownclient:
++ g_object_unref( upc );
++ upc = NULL;
++
++error_out:
++ return "Can not initialize upower";
++}
++
++void
++battstat_upower_cleanup( void )
++{
++ if( upc == NULL )
++ return;
++
++ g_object_unref( upc );
++ upc = NULL;
++}
++
++#include "battstat.h"
++
++/* This function currently exists to allow the multiple batteries supported
++ * by the upower backend to appear as a single composite battery device (since
++ * at the current time this is all that battstat supports).
++ *
++ * This entire function is filled with logic to make multiple batteries
++ * appear as one "composite" battery. Comments included as appropriate.
++ *
++ * For more information about some of the assumptions made in the following
++ * code please see the following mailing list post and the resulting thread:
++ *
++ * http://lists.freedesktop.org/archives/hal/2005-July/002841.html
++ */
++void
++battstat_upower_get_battery_info( BatteryStatus *status )
++{
++
++ GPtrArray *devices = up_client_get_devices( upc );
++
++ /* The calculation to get overall percentage power remaining is as follows:
++ *
++ * Sum( Current charges ) / Sum( Full Capacities )
++ *
++ * We can't just take an average of all of the percentages since this
++ * doesn't deal with the case that one battery might have a larger
++ * capacity than the other.
++ *
++ * In order to do this calculation, we need to keep a running total of
++ * current charge and full capacities.
++ */
++ double current_charge_total = 0, full_capacity_total = 0;
++
++ /* Record the time remaining as reported by upower. This is used in the event
++ * that the system has exactly one battery (since, then, upower is capable
++ * of providing an accurate time remaining report and we should trust it.)
++ */
++ gint64 remaining_time = 0;
++
++ /* The total (dis)charge rate of the system is the sum of the rates of
++ * the individual batteries.
++ */
++ double rate_total = 0;
++
++ /* We need to know if we should report the composite battery as present
++ * at all. The logic is that if at least one actual battery is installed
++ * then the composite battery will be reported to exist.
++ */
++ int present = 0;
++
++ /* We need to know if we are on AC power or not. Eventually, we can look
++ * at the AC adaptor upower devices to determine that. For now, we assume that
++ * if any battery is discharging then we must not be on AC power. Else, by
++ * default, we must be on AC.
++ */
++ int on_ac_power = 1;
++
++ /* Finally, we consider the composite battery to be "charging" if at least
++ * one of the actual batteries in the system is charging.
++ */
++ int charging = 0;
++
++ /* For each physical battery bay... */
++ int i;
++ for( i = 0; i < devices->len; i++ )
++ {
++ UpDevice *upd = g_ptr_array_index( devices, i );
++
++ int type, state;
++ double current_charge, full_capacity, rate;
++ gint64 time_to_full, time_to_empty;
++
++ g_object_get( upd,
++ "kind", &type,
++ "state", &state,
++ "energy", &current_charge,
++ "energy-full", &full_capacity,
++ "energy-rate", &rate,
++ "time-to-full", &time_to_full,
++ "time-to-empty", &time_to_empty,
++ NULL );
++
++ /* Only count batteries here */
++
++ if (type != UP_DEVICE_KIND_BATTERY)
++ continue;
++
++ /* At least one battery present -> composite battery is present. */
++ present++;
++
++ /* At least one battery charging -> composite battery is charging. */
++ if( state == UP_DEVICE_STATE_CHARGING )
++ charging = 1;
++
++ /* At least one battery is discharging -> we're not on AC. */
++ if( state == UP_DEVICE_STATE_DISCHARGING )
++ on_ac_power = 0;
++
++ /* Sum the totals for current charge, design capacity, (dis)charge rate. */
++ current_charge_total += current_charge;
++ full_capacity_total += full_capacity;
++ rate_total += rate;
++
++ /* Record remaining time too, incase this is the only battery. */
++ remaining_time = (state == UP_DEVICE_STATE_DISCHARGING ? time_to_empty : time_to_full);
++ }
++
++ if( !present || full_capacity_total <= 0 || (charging && !on_ac_power) )
++ {
++ /* Either no battery is present or something has gone horribly wrong.
++ * In either case we must return that the composite battery is not
++ * present.
++ */
++ status->present = FALSE;
++ status->percent = 0;
++ status->minutes = -1;
++ status->on_ac_power = TRUE;
++ status->charging = FALSE;
++
++ g_ptr_array_unref( devices );
++ return;
++ }
++
++ /* Else, our composite battery is present. */
++ status->present = TRUE;
++
++ /* As per above, overall charge is:
++ *
++ * Sum( Current charges ) / Sum( Full Capacities )
++ */
++ status->percent = ( current_charge_total / full_capacity_total ) * 100.0 + 0.5;
++
++ if( present == 1 )
++ {
++ /* In the case of exactly one battery, report the time remaining figure
++ * from upower directly since it might have come from an authorative source
++ * (ie: the PMU or APM subsystem).
++ *
++ * upower gives remaining time in seconds with a 0 to mean that the
++ * remaining time is unknown. Battstat uses minutes and -1 for
++ * unknown time remaining.
++ */
++
++ if( remaining_time == 0 )
++ status->minutes = -1;
++ else
++ status->minutes = (remaining_time + 30) / 60;
++ }
++ /* Rest of cases to deal with multiple battery systems... */
++ else if( !on_ac_power && rate_total != 0 )
++ {
++ /* Then we're discharging. Calculate time remaining until at zero. */
++
++ double remaining;
++
++ remaining = current_charge_total;
++ remaining /= rate_total;
++ status->minutes = (int) floor( remaining * 60.0 + 0.5 );
++ }
++ else if( charging && rate_total != 0 )
++ {
++ /* Calculate time remaining until charged. For systems with more than
++ * one battery, this code is very approximate. The assumption is that if
++ * one battery reaches full charge before the other that the other will
++ * start charging faster due to the increase in available power (similar
++ * to how a laptop will charge faster if you're not using it).
++ */
++
++ double remaining;
++
++ remaining = full_capacity_total - current_charge_total;
++ if( remaining < 0 )
++ remaining = 0;
++ remaining /= rate_total;
++
++ status->minutes = (int) floor( remaining * 60.0 + 0.5 );
++ }
++ else
++ {
++ /* On AC power and not charging -or- rate is unknown. */
++ status->minutes = -1;
++ }
++
++ /* These are simple and well-explained above. */
++ status->charging = charging;
++ status->on_ac_power = on_ac_power;
++
++ g_ptr_array_unref( devices );
++}
++
++#endif /* HAVE_UPOWER */
+Index: gnome-applets-3.4.1/battstat/battstat-upower.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gnome-applets-3.4.1/battstat/battstat-upower.h 2012-04-19 00:28:17.254029051 +0200
+@@ -0,0 +1,33 @@
++/*
++ * Copyright (C) 2010 by Joachim Breitner <mail@joachim-breitner.de>
++ *
++ * Based on battstat-hal.h:
++ * Copyright (C) 2005 by Ryan Lortie <desrt@desrt.ca>
++ *
++ * 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 Street #330, Boston, MA 02111-1307, USA.
++ *
++ * $Id$
++ */
++
++#ifndef _battstat_upower_h_
++#define _battstat_upower_h_
++
++char *battstat_upower_initialise (void (*) (void));
++void battstat_upower_cleanup (void);
++
++#include "battstat.h"
++void battstat_upower_get_battery_info (BatteryStatus *status);
++
++#endif /* _battstat_upower_h_ */
+Index: gnome-applets-3.4.1/battstat/battstat_applet.c
+===================================================================
+--- gnome-applets-3.4.1.orig/battstat/battstat_applet.c 2012-04-13 19:02:29.000000000 +0200
++++ gnome-applets-3.4.1/battstat/battstat_applet.c 2012-04-19 00:28:17.254029051 +0200
+@@ -1188,9 +1188,12 @@
+
+ char *comments = g_strdup_printf ("%s\n\n%s",
+ _("This utility shows the status of your laptop battery."),
+- power_management_using_hal () ?
++ power_management_using_upower () ?
++ /* true */ _("upower backend enabled.") :
++ (power_management_using_hal () ?
+ /* true */ _("HAL backend enabled.") :
+- /* false */ _("Legacy (non-HAL) backend enabled."));
++ /* false */ _("Legacy (non-HAL) backend enabled.")
++ ));
+
+ gtk_show_about_dialog( NULL,
+ "version", VERSION,
+Index: gnome-applets-3.4.1/battstat/docs/C/battstat.xml
+===================================================================
+--- gnome-applets-3.4.1.orig/battstat/docs/C/battstat.xml 2012-04-15 15:49:58.000000000 +0200
++++ gnome-applets-3.4.1/battstat/docs/C/battstat.xml 2012-04-19 00:28:17.254029051 +0200
+@@ -226,10 +226,13 @@
+ <title>Power Management Backends</title>
+
+ <para>
+- The battery monitor supports a number of power management backends. If it
+- is available, the monitor will attempt to use the freedesktop.org
+- <ulink url="http://freedesktop.org/Software/hal">HAL (Hardware Abstraction
+- Layer)</ulink>. If it is unavailable or unsupported on your platform, the
++ The battery monitor supports a number of power management backends.
++ If it is available, the monitor will attempt to use the freedesktop.org
++ <ulink url="http://upower.freedesktop.org/">upower</ulink> interface.
++ If it is unavailable or unsupported on your platform, it will fall back
++ to the freedesktop.org
++ <ulink url="http://freedesktop.org/Software/hal">HAL (Hardware
++ Abstraction Layer)</ulink>. If that is also not availble, the
+ battery monitor will attempt direct access to the power management system.
+ </para>
+ <para>
+@@ -410,10 +413,10 @@
+ <sect2 id="battstat-troubleshooting-backends">
+ <title>Determining the backend</title>
+ <para>
+- If you are using the Hardware Abstraction Layer
+- (see <xref linkend="battstat-power-backends"/>) then that will be
+- indicated in the about dialog by placing a star next to the author of the
+- HAL backend.
++ If you are using the upower interface, or the the Hardware
++ Abstraction Layer (see <xref linkend="battstat-power-backends"/>) then
++ that will be indicated in the about dialog by placing a star next to the
++ author of the HAL backend.
+ <figure id="battstat-credits-hal">
+ <title>Check you're using the HAL backend</title>
+ <screenshot>
+Index: gnome-applets-3.4.1/battstat/power-management.c
+===================================================================
+--- gnome-applets-3.4.1.orig/battstat/power-management.c 2012-04-13 19:02:29.000000000 +0200
++++ gnome-applets-3.4.1/battstat/power-management.c 2012-04-19 00:28:17.254029051 +0200
+@@ -41,6 +41,7 @@
+
+ #include "battstat.h"
+ #include "battstat-hal.h"
++#include "battstat-upower.h"
+
+ #define ERR_ACPID _("Can't access ACPI events in /var/run/acpid.socket! " \
+ "Make sure the ACPI subsystem is working and " \
+@@ -66,6 +67,9 @@
+ #ifdef HAVE_HAL
+ static int using_hal;
+ #endif
++#ifdef HAVE_UPOWER
++static int using_upower;
++#endif
+
+ /*
+ * What follows is a series of platform-specific apm_readinfo functions
+@@ -390,6 +394,14 @@
+ return NULL;
+ }
+
++#ifdef HAVE_UPOWER
++ if( using_upower )
++ {
++ battstat_upower_get_battery_info( status );
++ return NULL;
++ }
++#endif
++
+ #ifdef HAVE_HAL
+ if( using_hal )
+ {
+@@ -430,27 +442,36 @@
+ const char *
+ power_management_initialise (int no_hal, void (*callback) (void))
+ {
++ char *err;
++ err = g_strdup( ":(" );
+ #ifdef __linux__
+ struct stat statbuf;
+ #endif
+-#ifdef HAVE_HAL
+- char *err;
++#ifdef HAVE_UPOWER
++ err = battstat_upower_initialise (callback);
+
+- if( no_hal )
+- err = g_strdup( ":(" );
+- else
+- err = battstat_hal_initialise (callback);
+-
+-
+- if( err == NULL ) /* HAL is up */
++ if( err == NULL ) /* UPOWER is up */
+ {
+ pm_initialised = 1;
+- using_hal = TRUE;
++ using_upower = TRUE;
+ return NULL;
++ }
++#endif
++
++#ifdef HAVE_HAL
++ if(! no_hal ) {
++ err = battstat_hal_initialise (callback);
++
++ if( err == NULL ) /* HAL is up */
++ {
++ pm_initialised = 1;
++ using_hal = TRUE;
++ return NULL;
++ }
+ }
+- else
+- /* fallback to legacy methods */
+- g_free( err );
++
++ /* fallback to legacy methods */
++ g_free( err );
+ #endif
+
+ #ifdef __linux__
+@@ -498,6 +519,15 @@
+ void
+ power_management_cleanup( void )
+ {
++#ifdef HAVE_UPOWER
++ if( using_upower )
++ {
++ battstat_upower_cleanup();
++ pm_initialised = 1;
++ return;
++ }
++#endif
++
+ #ifdef HAVE_HAL
+ if( using_hal )
+ {
+@@ -525,6 +555,16 @@
+ }
+
+ int
++power_management_using_upower( void )
++{
++#ifdef HAVE_UPOWER
++ return using_upower;
++#else
++ return 0;
++#endif
++}
++
++int
+ power_management_using_hal( void )
+ {
+ #ifdef HAVE_HAL
+Index: gnome-applets-3.4.1/configure.in
+===================================================================
+--- gnome-applets-3.4.1.orig/configure.in 2012-04-15 15:45:36.000000000 +0200
++++ gnome-applets-3.4.1/configure.in 2012-04-19 00:28:17.254029051 +0200
+@@ -23,6 +23,7 @@
+ LIBWNCK_REQUIRED=2.91.0
+ LIBNOTIFY_REQUIRED=0.7
+ HAL_REQUIRED=0.5.3
++UPOWER_REQUIRED=0.9.4
+ DBUS_REQUIRED=1.1.2
+ DBUS_GLIB_REQUIRED=0.74
+ PYGOBJECT_REQUIRED=2.26
+@@ -223,6 +224,30 @@
+ AC_SUBST(HAL_CFLAGS)
+ AC_SUBST(HAL_LIBS)
+
++dnl -- check for libupower-glib (optional) --------------------------------------------
++UPOWER_CFLAGS=
++UPOWER_LIBS=
++AC_ARG_WITH(upower,[ --without-upower build without upower support])
++
++if test "x$with_upower" != xno; then
++ PKG_CHECK_MODULES(UPOWER, upower-glib >= $UPOWER_REQUIRED,
++ HAVE_UPOWER="yes",
++ HAVE_UPOWER="no")
++
++ LT_LIB_M
++ if test "x$HAVE_UPOWER" = "xyes"; then
++ AC_DEFINE(HAVE_UPOWER, 1, [UPOWER available])
++ fi
++else
++ AC_MSG_WARN(["upower support disabled"])
++fi
++
++AC_SUBST(UPOWER_CFLAGS)
++AC_SUBST(UPOWER_LIBS)
++AC_SUBST(LIBM)
++
++
++
+ dnl -- check for gucharmap (optional) -----------------------------------------
+
+ PKG_CHECK_MODULES([GUCHARMAP],[gucharmap-2.90 >= $GUCHARMAP3_REQUIRED],
+@@ -739,5 +764,6 @@
+ Using DBUS: $HAVE_DBUS
+ Using NetworkManager: $HAVE_NETWORKMANAGER
+ Using HAL: $HAVE_HAL
++ Using UPOWER: $HAVE_UPOWER
+ Enabling IPv6: $have_ipv6
+ " >&2
diff --git a/community/gnome-applets/PKGBUILD b/community/gnome-applets/PKGBUILD
new file mode 100644
index 000000000..193c879af
--- /dev/null
+++ b/community/gnome-applets/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 88683 2013-04-21 22:16:53Z heftig $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-applets
+pkgver=3.5.92
+pkgrel=3
+pkgdesc="Small applications for the GNOME panel"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('cpupower' 'gucharmap' 'gstreamer0.10-base-plugins' 'gnome-panel' 'libgtop' 'upower')
+makedepends=('gnome-common' 'gnome-doc-utils' 'intltool' 'networkmanager' 'rarian')
+url="https://live.gnome.org/GnomeApplets"
+install=$pkgname.install
+source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ gnome-applets-cpupower.patch
+ disable-gweather-applet.patch
+ fix-autoconf.patch
+ 01_battstat_upower.patch)
+sha256sums=('f6178cb702a39a4103fcb97e9a266bf6d05f05ac5064818f119c023d76170e83'
+ '942276d7cc18224d9f5b1b57314746ad4d713ee0dcf4aedb25fa72e92db75e65'
+ '47f6b477c0f76ebb1e8ffc6fe9bd2fac9ac7f511f059cf4bb2687f8425bfb4a8'
+ '0acd58aee458345e378d5f77256e04b13e3a4c06b166aac390a92309b864e8a4'
+ '364c9264c76721b42e85eecc48443852ead1bd730d9de937dd2ae00889db836a')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ sed -i 's@^#!.*python$@#!/usr/bin/python2@' invest-applet/invest/*
+
+ # Use cpupower instead of cpufreq
+ patch -Np1 -i "$srcdir/gnome-applets-cpupower.patch"
+
+ # Add UPower support
+ patch -Np1 -i "$srcdir/01_battstat_upower.patch"
+
+ # Disable gweather applet, because it's not compatible with libgweather 3.8
+ patch -Np1 -i "$srcdir/disable-gweather-applet.patch"
+
+ # Fix build
+ patch -Np1 -i "$srcdir/fix-autoconf.patch"
+
+ # Turn off unneeded warnings
+ CFLAGS="$CFLAGS -w"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static --disable-schemas-install --disable-scrollkeeper \
+ --enable-mixer-applet \
+ PYTHON=/usr/bin/python2
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ mkdir -m755 -p "$pkgdir/usr/share/gconf/schemas"
+ gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" "$pkgdir"/etc/gconf/schemas/*.schemas
+ rm -r "$pkgdir"/etc/gconf
+}
diff --git a/community/gnome-applets/disable-gweather-applet.patch b/community/gnome-applets/disable-gweather-applet.patch
new file mode 100644
index 000000000..26f7e4d6b
--- /dev/null
+++ b/community/gnome-applets/disable-gweather-applet.patch
@@ -0,0 +1,12 @@
+diff -Naur gnome-applets-3.5.92.orig/configure.in gnome-applets-3.5.92/configure.in
+--- gnome-applets-3.5.92.orig/configure.in 2012-09-20 03:07:34.000000000 +0200
++++ gnome-applets-3.5.92/configure.in 2013-04-09 10:39:54.214243015 +0200
+@@ -251,7 +251,7 @@
+
+ dnl -- check for libgweather (required for gweather applet) ------------------
+ build_libgweather_applets=false
+-PKG_CHECK_MODULES(LIBGWEATHER, gweather-3.0 >= $GWEATHER_REQUIRED,
++PKG_CHECK_MODULES(LIBGWEATHER, gweather-3.0 >= $GWEATHER_REQUIRED gweather-3.0 <= 3.7,
+ build_libgweather_applets=true,
+ AC_MSG_WARN([libgweather not found. Not building the weather applet.]))
+ AC_SUBST(LIBGWEATHER_CFLAGS)
diff --git a/community/gnome-applets/fix-autoconf.patch b/community/gnome-applets/fix-autoconf.patch
new file mode 100644
index 000000000..fc36c743c
--- /dev/null
+++ b/community/gnome-applets/fix-autoconf.patch
@@ -0,0 +1,12 @@
+diff -Naur gnome-applets-3.5.92.orig/configure.in gnome-applets-3.5.92/configure.in
+--- gnome-applets-3.5.92.orig/configure.in 2012-09-20 03:07:34.000000000 +0200
++++ gnome-applets-3.5.92/configure.in 2013-04-09 09:48:48.427334056 +0200
+@@ -4,7 +4,7 @@
+ AC_INIT(gnome-applets, 3.5.92)
+ AC_PREREQ(2.59)
+
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+ AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar])
+ AC_CONFIG_MACRO_DIR(m4)
+ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
diff --git a/community/gnome-applets/gnome-applets-cpupower.patch b/community/gnome-applets/gnome-applets-cpupower.patch
new file mode 100644
index 000000000..134a617fc
--- /dev/null
+++ b/community/gnome-applets/gnome-applets-cpupower.patch
@@ -0,0 +1,12 @@
+diff -up gnome-applets-3.1.90/configure.in.cpupower gnome-applets-3.1.90/configure.in
+--- gnome-applets-3.1.90/configure.in.cpupower 2011-08-31 18:49:00.628945807 -0400
++++ gnome-applets-3.1.90/configure.in 2011-08-31 18:49:17.397946966 -0400
+@@ -518,7 +518,7 @@ AC_CHECK_HEADER(cpufreq.h, have_libcpufr
+ LIBCPUFREQ_LIBS=
+ if test "x$have_libcpufreq" = "xyes"; then
+ AC_DEFINE([HAVE_LIBCPUFREQ], [1], [Have libcpufreq.])
+- LIBCPUFREQ_LIBS=-lcpufreq
++ LIBCPUFREQ_LIBS=-lcpupower
+ fi
+ AM_CONDITIONAL(HAVE_LIBCPUFREQ, test x$have_libcpufreq = xyes)
+ AC_SUBST(LIBCPUFREQ_LIBS)
diff --git a/community/gnome-applets/gnome-applets.install b/community/gnome-applets/gnome-applets.install
new file mode 100644
index 000000000..e3441e722
--- /dev/null
+++ b/community/gnome-applets/gnome-applets.install
@@ -0,0 +1,24 @@
+pkgname=gnome-applets
+
+post_install() {
+ gconfpkg --install ${pkgname}
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/gnome-commander/PKGBUILD b/community/gnome-commander/PKGBUILD
new file mode 100644
index 000000000..6ca662aec
--- /dev/null
+++ b/community/gnome-commander/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 60311 2011-12-10 09:50:50Z ibiru $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Johannes Sjolund <j.sjolund@gmail.com>
+
+pkgname=gnome-commander
+pkgver=1.2.8.15
+pkgrel=1
+pkgdesc="A graphical two-pane filemanager for Gnome"
+arch=('i686' 'x86_64')
+url="http://www.nongnu.org/gcmd/"
+license=('GPL')
+depends=('libgnomeui' 'gnome-vfs' 'gconf' 'python2' 'libsm')
+makedepends=('perlxml' 'gnome-doc-utils>=0.20.1' 'intltool')
+options=(!libtool)
+install=gnome-commander.install
+source=(ftp://ftp.gnome.org/pub/GNOME/sources/gnome-commander/1.2/$pkgname-$pkgver.tar.xz)
+sha256sums=('d2feecf215db3e0faeb873c559087c2ad9af0a5aac26e2b1b32b28be939da37f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # python2 fix
+ for file in doc/*/gnome-commander.xml; do
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file
+ done
+
+ ./configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc \
+ --localstatedir=/var --disable-scrollkeeper --enable-python
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install
+
+ mkdir -p "$pkgdir"/usr/share/gconf/schemas
+ gconf-merge-schema "$pkgdir"/usr/share/gconf/schemas/$pkgname.schemas \
+ --domain $pkgname "$pkgdir"/etc/gconf/schemas/*.schemas
+ rm -rf "$pkgdir"/etc/gconf/schemas/
+}
diff --git a/community/gnome-commander/gnome-commander.install b/community/gnome-commander/gnome-commander.install
new file mode 100644
index 000000000..e1b6d3a0c
--- /dev/null
+++ b/community/gnome-commander/gnome-commander.install
@@ -0,0 +1,22 @@
+pkgname=gnome-commander
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/community/gnome-do/PKGBUILD b/community/gnome-do/PKGBUILD
new file mode 100644
index 000000000..b201a9a73
--- /dev/null
+++ b/community/gnome-do/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 72904 2012-06-24 18:16:23Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Doehni <dohny@gmx.de>
+
+pkgname=gnome-do
+pkgver=0.9
+pkgrel=2
+pkgdesc="Quickly search for many items present on your desktop or the web, and perform useful actions on those items"
+arch=('i686' 'x86_64')
+url="http://do.davebsd.com/"
+license=('GPL3')
+depends=('gconf-sharp' 'libgnome-desktop-sharp' 'gnome-keyring-sharp' 'mono-addins' 'notify-sharp' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool' 'libgnome-sharp' 'gio-sharp')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/do/trunk/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ gio-gnomedesktop.patch)
+md5sums=('d360e56953915d9585c0ee71f433129c'
+ 'e9ac5e4510c1475d61a20c5d94594d98')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # https://code.launchpad.net/~ballogy/do/gio-gnomedesktop-port/+merge/95842
+ patch -Np1 -i "$srcdir/gio-gnomedesktop.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gnome-do/gio-gnomedesktop.patch b/community/gnome-do/gio-gnomedesktop.patch
new file mode 100644
index 000000000..358b0b731
--- /dev/null
+++ b/community/gnome-do/gio-gnomedesktop.patch
@@ -0,0 +1,252 @@
+diff -Naur gnome-do-0.9.orig/configure.ac gnome-do-0.9/configure.ac
+--- gnome-do-0.9.orig/configure.ac 2012-03-04 08:46:12.000000000 +0100
++++ gnome-do-0.9/configure.ac 2012-06-24 19:31:49.150955445 +0200
+@@ -60,17 +60,29 @@
+ PKG_CHECK_MODULES([GCONF_SHARP_20], [gconf-sharp-2.0])
+ PKG_CHECK_MODULES([GLADE_SHARP_20], [glade-sharp-2.0])
+ PKG_CHECK_MODULES([GLIB_SHARP_20], [glib-sharp-2.0])
++
++dnl gio-sharp is an unstable api library
++PKG_CHECK_MODULES([GIO_SHARP], [gio-sharp-2.0])
++files="`$PKG_CONFIG --variable=Libraries gio-sharp-2.0`"
++for file in $files; do
++ GIO_SHARP_SOURCE_ASSEMBLIES="$GIO_SHARP_SOURCE_ASSEMBLIES $file"
++ GIO_SHARP_ASSEMBLIES="$GIO_SHARP_ASSEMBLIES $top_srcdir/build/$(basename $file)"
++ [[ -r "$file.config" ]] && GIO_SHARP_SOURCE_ASSEMBLIES="$GIO_SHARP_SOURCE_ASSEMBLIES $file.config"
++ [[ -r "$file.config" ]] && GIO_SHARP_ASSEMBLIES="$GIO_SHARP_ASSEMBLIES $top_srcdir/build/$(basename $file).config"
++
++ GIO_SHARP_LIBS="$GIO_SHARP_LIBS -r:$top_srcdir/build/$(basename $file)"
++done
++AC_SUBST([GIO_SHARP_SOURCE_ASSEMBLIES])
++AC_SUBST([GIO_SHARP_ASSEMBLIES])
++AC_SUBST([GIO_SHARP_LIBS])
++
+ PKG_CHECK_MODULES([GNOME_DESKTOP_SHARP_20], [gnome-desktop-sharp-2.0])
+ PKG_CHECK_MODULES([GNOME_KEYRING_SHARP], [gnome-keyring-sharp-1.0])
+-PKG_CHECK_MODULES([GNOME_SHARP_20], [gnome-sharp-2.0])
+-PKG_CHECK_MODULES([GNOME_VFS_SHARP_20], [gnome-vfs-sharp-2.0])
+ PKG_CHECK_MODULES([GTK_SHARP_20], [gtk-sharp-2.0])
+-PKG_CHECK_MODULES([LIBRSVG_SHARP], [rsvg2-sharp-2.0])
+ PKG_CHECK_MODULES([MONO_ADDINS], [mono-addins])
+ PKG_CHECK_MODULES([MONO_ADDINS_GUI], [mono-addins-gui])
+ PKG_CHECK_MODULES([MONO_ADDINS_SETUP], [mono-addins-setup])
+ PKG_CHECK_MODULES([NOTIFY_SHARP], [notify-sharp])
+-PKG_CHECK_MODULES([WNCK_SHARP_10], [wnck-sharp-1.0])
+
+
+ AC_SUBST([GCONF_SHARP_20_LIBS])
+@@ -78,10 +90,7 @@
+ AC_SUBST([GLIB_SHARP_20_LIBS])
+ AC_SUBST([GNOME_DESKTOP_SHARP_20_LIBS])
+ AC_SUBST([GNOME_KEYRING_SHARP_LIBS])
+-AC_SUBST([GNOME_SHARP_20_LIBS])
+-AC_SUBST([GNOME_VFS_SHARP_20_LIBS])
+ AC_SUBST([GTK_SHARP_20_LIBS])
+-AC_SUBST([LIBRSVG_SHARP_LIBS])
+ AC_SUBST([MONO_ADDINS_LIBS])
+ AC_SUBST([MONO_ADDINS_GUI_LIBS])
+ AC_SUBST([MONO_ADDINS_SETUP_LIBS])
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/Do.Platform.Linux.dll.config.in gnome-do-0.9/Do.Platform.Linux/Do.Platform.Linux.dll.config.in
+--- gnome-do-0.9.orig/Do.Platform.Linux/Do.Platform.Linux.dll.config.in 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/Do.Platform.Linux.dll.config.in 2012-06-24 19:31:49.124289904 +0200
+@@ -1,3 +1,4 @@
+ <configuration>
+ <dllmap dll="libdo" target="@expanded_libdir@/@PACKAGE@/libdo.so"/>
++ <dllmap dll="gnome-desktop-2" target="libgnome-desktop-2.so.17"/>
+ </configuration>
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/Makefile.am gnome-do-0.9/Do.Platform.Linux/Makefile.am
+--- gnome-do-0.9.orig/Do.Platform.Linux/Makefile.am 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/Makefile.am 2012-06-24 19:31:49.127623096 +0200
+@@ -27,6 +27,8 @@
+ src/Do.Platform/Do.Platform.Linux/KeyBindingService.cs \
+ src/Do.Universe/ApplicationItem.cs \
+ src/Do.Universe/CategoryItem.cs \
++ src/Do.Universe/Desktop.cs \
++ src/Do.Universe/DesktopThumbnailSize.cs \
+ src/Do.Universe/NullApplicationItem.cs \
+ src/Do.Universe/FileItem.cs \
+ src/Do.Universe/ApplicationItemSource.cs \
+@@ -54,7 +56,7 @@
+ Mono.Posix \
+ $(GTK_SHARP_20_LIBS) \
+ $(GNOME_KEYRING_SHARP_LIBS) \
+- $(GNOME_SHARP_20_LIBS) \
++ $(GIO_SHARP_LIBS) \
+ $(GNOME_DESKTOP_SHARP_20_LIBS) \
+ $(GCONF_SHARP_20_LIBS) \
+ $(MONO_ADDINS_LIBS) \
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/SystemService.cs gnome-do-0.9/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/SystemService.cs
+--- gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/SystemService.cs 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/SystemService.cs 2012-06-24 19:31:49.130956287 +0200
+@@ -166,7 +166,8 @@
+
+ string AutoStartUri {
+ get {
+- return Gnome.Vfs.Uri.GetUriFromLocalPath (AutoStartFileName);
++ var uri = new Uri(AutoStartFileName).ToString();
++ return uri;
+ }
+ }
+
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/Desktop.cs gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/Desktop.cs
+--- gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/Desktop.cs 1970-01-01 01:00:00.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/Desktop.cs 2012-06-24 19:31:49.134289478 +0200
+@@ -0,0 +1,76 @@
++// This file was generated by the Gtk# code generator.
++// Any changes made will be lost if regenerated.
++
++namespace Gnome {
++
++ using System;
++ using System.Runtime.InteropServices;
++
++#region Autogenerated code
++ public class Desktop {
++
++ [DllImport("gnome-desktop-2")]
++ static extern void gnome_desktop_prepend_terminal_to_vector(out int argc, IntPtr argv);
++
++ public static int PrependTerminalToVector(string argv) {
++ int argc;
++ gnome_desktop_prepend_terminal_to_vector(out argc, GLib.Marshaller.StringToPtrGStrdup(argv));
++ return argc;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern bool gnome_desktop_thumbnail_has_uri(IntPtr pixbuf, IntPtr uri);
++
++ public static bool ThumbnailHasUri(Gdk.Pixbuf pixbuf, string uri) {
++ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
++ bool raw_ret = gnome_desktop_thumbnail_has_uri(pixbuf == null ? IntPtr.Zero : pixbuf.Handle, native_uri);
++ bool ret = raw_ret;
++ GLib.Marshaller.Free (native_uri);
++ return ret;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern IntPtr gnome_desktop_thumbnail_scale_down_pixbuf(IntPtr pixbuf, int dest_width, int dest_height);
++
++ public static Gdk.Pixbuf ThumbnailScaleDownPixbuf(Gdk.Pixbuf pixbuf, int dest_width, int dest_height) {
++ IntPtr raw_ret = gnome_desktop_thumbnail_scale_down_pixbuf(pixbuf == null ? IntPtr.Zero : pixbuf.Handle, dest_width, dest_height);
++ Gdk.Pixbuf ret = GLib.Object.GetObject(raw_ret) as Gdk.Pixbuf;
++ return ret;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern IntPtr gnome_desktop_thumbnail_path_for_uri(IntPtr uri, int size);
++
++ public static string ThumbnailPathForUri(string uri, Gnome.DesktopThumbnailSize size) {
++ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
++ IntPtr raw_ret = gnome_desktop_thumbnail_path_for_uri(native_uri, (int) size);
++ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
++ GLib.Marshaller.Free (native_uri);
++ return ret;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern bool gnome_desktop_thumbnail_is_valid(IntPtr pixbuf, IntPtr uri, IntPtr mtime);
++
++ public static bool ThumbnailIsValid(Gdk.Pixbuf pixbuf, string uri, System.DateTime mtime) {
++ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
++ bool raw_ret = gnome_desktop_thumbnail_is_valid(pixbuf == null ? IntPtr.Zero : pixbuf.Handle, native_uri, GLib.Marshaller.DateTimeTotime_t (mtime));
++ bool ret = raw_ret;
++ GLib.Marshaller.Free (native_uri);
++ return ret;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern IntPtr gnome_desktop_thumbnail_md5(IntPtr uri);
++
++ public static string ThumbnailMd5(string uri) {
++ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
++ IntPtr raw_ret = gnome_desktop_thumbnail_md5(native_uri);
++ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
++ GLib.Marshaller.Free (native_uri);
++ return ret;
++ }
++
++#endregion
++ }
++}
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/DesktopThumbnailSize.cs gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/DesktopThumbnailSize.cs
+--- gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/DesktopThumbnailSize.cs 1970-01-01 01:00:00.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/DesktopThumbnailSize.cs 2012-06-24 19:31:49.137622670 +0200
+@@ -0,0 +1,16 @@
++// This file was generated by the Gtk# code generator.
++// Any changes made will be lost if regenerated.
++
++namespace Gnome {
++
++ using System;
++ using System.Runtime.InteropServices;
++
++#region Autogenerated code
++ public enum DesktopThumbnailSize {
++
++ Normal,
++ Large,
++ }
++#endregion
++}
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/FileItem.cs gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/FileItem.cs
+--- gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/FileItem.cs 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/FileItem.cs 2012-06-24 19:31:49.140955864 +0200
+@@ -63,8 +63,6 @@
+
+ static FileItem ()
+ {
+- Gnome.Vfs.Vfs.Initialize ();
+-
+ // Initialize SpecialFolderIcons by expanding paths in
+ // SpecialFolderIconsXDG.
+ //
+@@ -130,7 +128,11 @@
+ }
+
+ public string MimeType {
+- get { return Gnome.Vfs.Global.GetMimeType (Path); }
++ get {
++ GLib.File file = GLib.FileFactory.NewFromCommandlineArg(Path);
++ var info = file.QueryInfo ("standard::content-type", GLib.FileQueryInfoFlags.None, null);
++ return info.ContentType;
++ }
+ }
+
+ public override string Icon {
+@@ -142,8 +144,8 @@
+ icon = MaybeGetSpecialFolderIconForPath (Path);
+ if (icon != null) return icon;
+
+- string large_thumb = Thumbnail.PathForUri (Uri, ThumbnailSize.Large);
+- string normal_thumb = Thumbnail.PathForUri (Uri, ThumbnailSize.Normal);
++ string large_thumb = Desktop.ThumbnailPathForUri (Uri, DesktopThumbnailSize.Large);
++ string normal_thumb = Desktop.ThumbnailPathForUri (Uri, DesktopThumbnailSize.Normal);
+
+ // Generating the thumbnail ourself is too slow for large files.
+ // Suggestion: generate thumbnails asynchronously. Banshee's
+diff -Naur gnome-do-0.9.orig/Makefile.am gnome-do-0.9/Makefile.am
+--- gnome-do-0.9.orig/Makefile.am 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Makefile.am 2012-06-24 19:31:56.837297364 +0200
+@@ -2,6 +2,22 @@
+
+ ACLOCAL_AMFLAGS = -I m4 -I m4/shamrock
+
++# Install copied assemblies to our libdir
++copiedlibsdir = $(pkglibdir)
++copiedlibs_DATA = \
++ $(GIO_SHARP_ASSEMBLIES)
++
++$(GIO_SHARP_ASSEMBLIES): $(GIO_SHARP_SOURCE_ASSEMBLIES)
++ @mkdir -p $(top_builddir)/build
++ @for file in $@ ; do \
++ for source in $? ; do \
++ if [ $$(basename $$source) == $$(basename $$file) ] ; then \
++ echo " CP " $$(basename $$file) ; \
++ cp $$source $$file ; \
++ fi ;\
++ done ; \
++ done
++
+ SUBDIRS = \
+ . \
+ data \
diff --git a/community/gnome-do/gnome-do.install b/community/gnome-do/gnome-do.install
new file mode 100644
index 000000000..11768f0ed
--- /dev/null
+++ b/community/gnome-do/gnome-do.install
@@ -0,0 +1,22 @@
+pkgname=gnome-do
+
+post_install() {
+ gconfpkg --install $pkgname
+ xdg-icon-resource forceupdate
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ gconfpkg --uninstall $pkgname
+}
+
+post_remove() {
+ xdg-icon-resource forceupdate
+}
diff --git a/community/gnome-hearts/PKGBUILD b/community/gnome-hearts/PKGBUILD
new file mode 100644
index 000000000..07984fbb4
--- /dev/null
+++ b/community/gnome-hearts/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 92595 2013-06-09 15:59:15Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Neil Darlow <neil@darlow.co.uk>
+
+pkgname=gnome-hearts
+pkgver=0.3.1
+pkgrel=1
+pkgdesc="A card game for GNOME"
+arch=('i686' 'x86_64')
+url="http://www.jejik.com/gnome-hearts/"
+license=('GPL')
+depends=('python2' 'libgnomeui' 'libglade' 'desktop-file-utils')
+makedepends=('intltool' 'rarian')
+install=gnome-hearts.install
+source=(http://www.jejik.com/files/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('4b9477e8bb2d48a86021ae512a713fd405a96d52cf711ff549cfe0d119bf56b3')
+
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gnome-hearts/gnome-hearts.install b/community/gnome-hearts/gnome-hearts.install
new file mode 100644
index 000000000..686b22022
--- /dev/null
+++ b/community/gnome-hearts/gnome-hearts.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gnome-media/PKGBUILD b/community/gnome-media/PKGBUILD
new file mode 100644
index 000000000..2b60a714d
--- /dev/null
+++ b/community/gnome-media/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 87933 2013-04-08 20:25:18Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-media
+pkgver=3.4.0
+pkgrel=2
+pkgdesc="Sound recorder and GStreamer 0.10 configuration tool for GNOME"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libgnome-media-profiles' 'gstreamer0.10-good-plugins' 'hicolor-icon-theme')
+makedepends=('intltool' 'gnome-doc-utils')
+optdepends=('gstreamer0.10-ugly-plugins: Record sound into mp3 format')
+url="https://git.gnome.org/browse/gnome-media"
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz
+ grecord-add-PULSEPROPmediarole.patch
+ grecord-Should-call-gnome-control-center-sound-not.patch
+ grecord-send-eos-before-we-stop-record.patch)
+sha256sums=('a76fac286f24d3836137ddbaab66f05e19eb5fb83cca6e375dbef040765a1d1f'
+ '7abd86638ccde30232455ea66a7aff244f5c1cc5f3620b85f0215bf4bd07d546'
+ '6c8af4bf741d702ce3722cc2bfd1b7caa44f142776706157851184fb2bc55e04'
+ '5feb1e447f9ac575b282b05be9bfc946794635f98f63cf24603f931767ec8f9d')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ # Upstream fixes
+ patch -Np1 -i "$srcdir/grecord-add-PULSEPROPmediarole.patch"
+ patch -Np1 -i "$srcdir/grecord-Should-call-gnome-control-center-sound-not.patch"
+ patch -Np1 -i "$srcdir/grecord-send-eos-before-we-stop-record.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # Sound theme moved to gnome-control-center
+ rm -rf "$pkgdir"/usr/share/{gnome-media,sounds}
+}
diff --git a/community/gnome-media/gnome-media.install b/community/gnome-media/gnome-media.install
new file mode 100644
index 000000000..0574e8765
--- /dev/null
+++ b/community/gnome-media/gnome-media.install
@@ -0,0 +1,26 @@
+pkgname=gnome-sound-recorder
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ if [ "$(vercmp 3.4.0-2 "$2")" -eq 1 ]; then
+ usr/sbin/gconfpkg --uninstall gnome-media
+ else
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+ fi
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
diff --git a/community/gnome-media/grecord-Should-call-gnome-control-center-sound-not.patch b/community/gnome-media/grecord-Should-call-gnome-control-center-sound-not.patch
new file mode 100644
index 000000000..e3908d3cc
--- /dev/null
+++ b/community/gnome-media/grecord-Should-call-gnome-control-center-sound-not.patch
@@ -0,0 +1,35 @@
+From ea6fee0fbf8662a32a5cd2b5c96c1f75a9233813 Mon Sep 17 00:00:00 2001
+From: Sebastien Bacher <seb128@ubuntu.com>
+Date: Thu, 07 Jun 2012 16:26:26 +0000
+Subject: grecord: Should call "gnome-control-center sound" not the old g-v-c
+
+Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
+
+https://bugzilla.gnome.org/show_bug.cgi?id=667402
+---
+diff --git a/grecord/src/gsr-window.c b/grecord/src/gsr-window.c
+index bebb991..bd802d6 100644
+--- a/grecord/src/gsr-window.c
++++ b/grecord/src/gsr-window.c
+@@ -805,16 +805,16 @@ run_mixer_cb (GtkAction *action,
+ GSRWindow *window)
+ {
+ char *mixer_path;
+- char *argv[4] = {NULL, "--page", "recording", NULL};
++ char *argv[4] = {NULL, "sound", "input", NULL};
+ GError *error = NULL;
+ gboolean ret;
+
+ /* Open the mixer */
+- mixer_path = g_find_program_in_path ("gnome-volume-control");
++ mixer_path = g_find_program_in_path ("gnome-control-center");
+ if (mixer_path == NULL) {
+ show_error_dialog (GTK_WINDOW (window), NULL,
+ _("%s is not installed in the path."),
+- "gnome-volume-control");
++ "gnome-control-center");
+ return;
+ }
+
+--
+cgit v0.9.1
diff --git a/community/gnome-media/grecord-add-PULSEPROPmediarole.patch b/community/gnome-media/grecord-add-PULSEPROPmediarole.patch
new file mode 100644
index 000000000..b75dd3c5c
--- /dev/null
+++ b/community/gnome-media/grecord-add-PULSEPROPmediarole.patch
@@ -0,0 +1,26 @@
+From 5453719b61ada75f635f0c3ad3c78651102d7615 Mon Sep 17 00:00:00 2001
+From: Oleksij Rempel <bug-track@fisher-privat.net>
+Date: Wed, 06 Jun 2012 11:50:04 +0000
+Subject: grecord: add "PULSE_PROP_media.role"
+
+For more details see:
+http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/Clients/ApplicationProperties
+
+Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
+
+https://bugzilla.gnome.org/show_bug.cgi?id=644908
+---
+diff --git a/grecord/src/gnome-recorder.c b/grecord/src/gnome-recorder.c
+index c6c7b7e..c7ec5cc 100644
+--- a/grecord/src/gnome-recorder.c
++++ b/grecord/src/gnome-recorder.c
+@@ -190,6 +190,7 @@ main (int argc,
+
+ g_option_context_free (ctx);
+ gtk_window_set_default_icon_name ("gnome-sound-recorder");
++ g_setenv ("PULSE_PROP_media.role", "production", TRUE);
+
+ /* use it like a singleton */
+ gconf_client = gconf_client_get_default ();
+--
+cgit v0.9.1
diff --git a/community/gnome-media/grecord-send-eos-before-we-stop-record.patch b/community/gnome-media/grecord-send-eos-before-we-stop-record.patch
new file mode 100644
index 000000000..e760b7e3b
--- /dev/null
+++ b/community/gnome-media/grecord-send-eos-before-we-stop-record.patch
@@ -0,0 +1,41 @@
+From 99e7a41b2e4c217aca7faffb7668b1ac84ae1ed2 Mon Sep 17 00:00:00 2001
+From: Oleksij Rempel <bug-track@fisher-privat.net>
+Date: Thu, 07 Jun 2012 17:11:02 +0000
+Subject: grecord: send eos before we stop record.
+
+Current grecord produces files without EOS. This can be tested
+with tool "ogginfo".
+
+accodrding to this documentation:
+http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html
+"Controlled shutdown of live sources in applications"
+"Since GStreamer 0.10.16 an application may send an EOS event to a source element to make it perform the EOS logic".
+
+So this patch make sure we send EOS before we stop recording.
+
+Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
+
+https://bugzilla.gnome.org/show_bug.cgi?id=677644
+---
+diff --git a/grecord/src/gsr-window.c b/grecord/src/gsr-window.c
+index bd802d6..850ebf0 100644
+--- a/grecord/src/gsr-window.c
++++ b/grecord/src/gsr-window.c
+@@ -1279,8 +1279,14 @@ stop_cb (GtkAction *action,
+ GST_DEBUG ("Stopping play pipeline");
+ set_pipeline_state_to_null (priv->play->pipeline);
+ } else if (priv->record && priv->record->state == GST_STATE_PLAYING) {
++ GstMessage *msg;
++
+ GST_DEBUG ("Stopping recording source");
+- /* GstBaseSrc will automatically send an EOS when stopping */
++ gst_element_send_event (priv->record->src, gst_event_new_eos ());
++ /* wait one second for EOS message on the pipeline bus */
++ msg = gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (priv->record->pipeline), GST_SECOND, GST_MESSAGE_EOS | GST_MESSAGE_ERROR);
++ gst_message_unref (msg);
++
+ gst_element_set_state (priv->record->src, GST_STATE_NULL);
+ gst_element_get_state (priv->record->src, NULL, NULL, -1);
+ gst_element_set_locked_state (priv->record->src, TRUE);
+--
+cgit v0.9.1
diff --git a/community/gnome-menus2/PKGBUILD b/community/gnome-menus2/PKGBUILD
new file mode 100644
index 000000000..0744e080d
--- /dev/null
+++ b/community/gnome-menus2/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 80041 2012-11-15 18:34:49Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jan de Groot <jan@archlinux.org>
+
+pkgname=gnome-menus2
+_pkgname=gnome-menus
+pkgver=3.0.1
+pkgrel=2
+pkgdesc="Library for the Desktop Menu Specification (legacy version)"
+arch=('i686' 'x86_64')
+depends=('glib2' 'python2')
+makedepends=('intltool' 'gobject-introspection')
+options=('!libtool')
+license=('LGPL')
+url="http://www.gnome.org/"
+source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.bz2)
+sha256sums=('579c119c26f37781f66708e867ea45b3c37589b3b69e5b32d33e9bdb944165f0')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static \
+ PYTHON=/usr/bin/python2
+ make
+}
+
+package(){
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ make -C libmenu DESTDIR="$pkgdir" install
+ make -C python DESTDIR="$pkgdir" install
+}
diff --git a/community/gnome-mplayer/PKGBUILD b/community/gnome-mplayer/PKGBUILD
new file mode 100644
index 000000000..6709ef456
--- /dev/null
+++ b/community/gnome-mplayer/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 92201 2013-06-02 18:25:47Z bpiotrowski $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Allan McRae <mcrae_allan@hotmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=gnome-mplayer
+pkgver=1.0.8
+pkgrel=1
+pkgdesc='A simple MPlayer GUI.'
+arch=('i686' 'x86_64')
+url='http://gnome-mplayer.googlecode.com/'
+license=('GPL')
+depends=('mplayer' 'dbus-glib' 'libnotify' 'gnome-icon-theme' 'hicolor-icon-theme' 'dconf' 'gmtk')
+makedepends=('gnome-power-manager' 'nautilus')
+install="${pkgname}.install"
+source=("http://gnome-mplayer.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('9225dc0645d050ee31dd877559d7c16b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-schemas-install
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ sed -i 's@Exec=gnome-mplayer %U@Exec=gnome-mplayer %F@' \
+ "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+}
diff --git a/community/gnome-mplayer/gnome-mplayer.install b/community/gnome-mplayer/gnome-mplayer.install
new file mode 100644
index 000000000..35db81614
--- /dev/null
+++ b/community/gnome-mplayer/gnome-mplayer.install
@@ -0,0 +1,22 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -f -t usr/share/icons/hicolor
+}
diff --git a/community/gnome-packagekit/PKGBUILD b/community/gnome-packagekit/PKGBUILD
new file mode 100644
index 000000000..18d9ef0a2
--- /dev/null
+++ b/community/gnome-packagekit/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 91084 2013-05-19 01:47:07Z jconder $
+# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
+
+pkgname=gnome-packagekit
+pkgver=3.8.2
+pkgrel=1
+pkgdesc='Collection of graphical tools for PackageKit to be used in the GNOME desktop'
+arch=('i686' 'x86_64')
+url='http://www.packagekit.org/'
+license=('GPL')
+depends=('desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'libnotify'
+ 'packagekit')
+makedepends=('gconf' 'gtk-doc' 'intltool' 'itstool' 'libcanberra' 'upower')
+optdepends=('polkit-gnome: required for privileged actions'
+ 'gnome-settings-daemon-updates: update and message notifications')
+options=('!emptydirs' '!libtool')
+install="$pkgname.install"
+source=("http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz")
+sha256sums=('f13481d477a47295fa204b73ae7590f61d5576a8c889e5644cee0bc1f5cf530c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ _mime='application/x-xz-compressed-tar;application/x-servicepack;'
+ sed -i "s@MimeType=.*@MimeType=$_mime@" data/gpk-install-local-file.desktop.in
+
+ sed -i 's@python@python2@' python/enum-convertor.py
+ sed -i 's@python enum-convertor.py@python2 enum-convertor.py@' python/packagekit/Makefile.{am,in}
+
+ export PYTHON=/usr/bin/python2
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-gtk-doc \
+ --disable-schemas-compile \
+ --disable-scrollkeeper
+ make -s
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make -s DESTDIR="$pkgdir" install
+}
diff --git a/community/gnome-packagekit/gnome-packagekit.install b/community/gnome-packagekit/gnome-packagekit.install
new file mode 100644
index 000000000..620670d57
--- /dev/null
+++ b/community/gnome-packagekit/gnome-packagekit.install
@@ -0,0 +1,19 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.91.90) < 0 )); then
+ usr/sbin/gconfpkg --uninstall gnome-packagekit
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gnome-panel/0001-Add-the-GNOME-Flashback-session.patch b/community/gnome-panel/0001-Add-the-GNOME-Flashback-session.patch
new file mode 100644
index 000000000..92f317cea
--- /dev/null
+++ b/community/gnome-panel/0001-Add-the-GNOME-Flashback-session.patch
@@ -0,0 +1,95 @@
+From a5b951654b856d899e8c6a4116b4ccc4f18aac91 Mon Sep 17 00:00:00 2001
+From: Jeremy Bicha <jbicha@ubuntu.com>
+Date: Sun, 24 Feb 2013 17:22:29 -0500
+Subject: [PATCH] Add the GNOME Flashback session
+
+This was removed from gnome-session 3.7.4 so let's it add it back here
+(under new name)
+
+https://bugzilla.gnome.org/show_bug.cgi?id=694625
+---
+ data/Makefile.am | 18 +++++++++++++++++-
+ data/gnome-flashback.desktop.in | 7 +++++++
+ data/gnome-flashback.session.desktop.in | 3 +++
+ po/POTFILES.in | 2 ++
+ 4 files changed, 29 insertions(+), 1 deletion(-)
+ create mode 100644 data/gnome-flashback.desktop.in
+ create mode 100644 data/gnome-flashback.session.desktop.in
+
+diff --git a/data/Makefile.am b/data/Makefile.am
+index 83f82e2..84e1954 100644
+--- a/data/Makefile.am
++++ b/data/Makefile.am
+@@ -30,17 +30,33 @@ gsettings_SCHEMAS = $(gsettings_schemas_in:.xml.in=.xml)
+
+ @GSETTINGS_RULES@
+
++sessiondir = $(datadir)/gnome-session/sessions
++session_in_files = gnome-flashback.session.desktop.in
++session_DATA = $(session_in_files:.session.desktop.in=.session)
++
++xsessiondir = $(datadir)/xsessions
++xsession_in_files = gnome-flashback.desktop.in
++xsession_DATA = $(xsession_in_files:.desktop.in=.desktop)
++
++%.session: %.session.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
++
++@INTLTOOL_DESKTOP_RULE@
++
+ default_layoutdir = $(datadir)/gnome-panel
+ default_layout_DATA = panel-default-layout.layout
+
+ EXTRA_DIST = \
+ $(gsettings_schemas_in_in) \
++ $(session_in_files) \
++ $(xsession_in_files) \
+ $(default_layout_DATA)
+
+ CLEANFILES = \
+ $(gsettings__enum_file) \
+ $(gsettings_SCHEMAS_in) \
+ $(gsettings_SCHEMAS) \
+- *.gschema.valid
++ *.gschema.valid \
++ $(session_DATA) \
++ $(xsession_DATA)
+
+ -include $(top_srcdir)/git.mk
+diff --git a/data/gnome-flashback.desktop.in b/data/gnome-flashback.desktop.in
+new file mode 100644
+index 0000000..4856f75
+--- /dev/null
++++ b/data/gnome-flashback.desktop.in
+@@ -0,0 +1,7 @@
++[Desktop Entry]
++_Name=GNOME Flashback
++_Comment=This session logs you into GNOME with the traditional panel
++Exec=gnome-session --session=gnome-flashback
++TryExec=gnome-session
++Icon=
++Type=Application
+diff --git a/data/gnome-flashback.session.desktop.in b/data/gnome-flashback.session.desktop.in
+new file mode 100644
+index 0000000..c012c58
+--- /dev/null
++++ b/data/gnome-flashback.session.desktop.in
+@@ -0,0 +1,3 @@
++[GNOME Session]
++_Name=GNOME Flashback
++RequiredComponents=gnome-panel;gnome-settings-daemon;gnome-screensaver;metacity;nautilus-classic;notification-daemon;gnome-fallback-background-helper;gnome-fallback-media-keys-helper;gnome-fallback-mount-helper;
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index bc65c4c..a6aa6c7 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -23,6 +23,8 @@ applets/wncklet/window-menu.c
+ applets/wncklet/wncklet.c
+ applets/wncklet/workspace-switcher.c
+ [type: gettext/glade]applets/wncklet/workspace-switcher.ui
++data/gnome-flashback.desktop.in
++data/gnome-flashback.session.desktop.in
+ data/org.gnome.gnome-panel.applet.clock.gschema.xml.in.in
+ data/org.gnome.gnome-panel.applet.fish.gschema.xml.in.in
+ data/org.gnome.gnome-panel.applet.window-list.gschema.xml.in.in
+--
+1.7.10.4
+
diff --git a/community/gnome-panel/18_fix_force_quit_applet.patch b/community/gnome-panel/18_fix_force_quit_applet.patch
new file mode 100644
index 000000000..8a72c9262
--- /dev/null
+++ b/community/gnome-panel/18_fix_force_quit_applet.patch
@@ -0,0 +1,98 @@
+Description: Fix Force-Quit panel applet
+ This patch implements handling of XInput2 extension events in the applet.
+ Without this patch, the applet fails to recognize such events (either mouse
+ click for killing application, or escape key for exiting), hence freezing the
+ desktop.
+ .
+ Also fix the event mask in call of gdk_device_grab() for keyboard.
+Author: Sébastien Villemot <sebastien@debian.org>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=698740
+Forwarded: no
+Last-Update: 2013-01-28
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/gnome-panel/panel-force-quit.c
++++ b/gnome-panel/panel-force-quit.c
+@@ -32,6 +32,8 @@
+ #include <X11/Xlib.h>
+ #include <X11/keysym.h>
+
++#include <X11/extensions/XInput2.h>
++
+ #include "panel-icon-names.h"
+ #include "panel-stock-icons.h"
+
+@@ -246,22 +248,23 @@
+
+ static void
+ handle_button_press_event (GtkWidget *popup,
+- XKeyEvent *event)
++ Display *display,
++ Window subwindow)
+ {
+ Window window;
+
+ remove_popup (popup);
+
+- if (event->subwindow == None)
++ if (subwindow == None)
+ return;
+
+ if (wm_state_atom == None)
+- wm_state_atom = XInternAtom (event->display, "WM_STATE", FALSE);
++ wm_state_atom = XInternAtom (display, "WM_STATE", FALSE);
+
+- window = find_managed_window (event->display, event->subwindow);
++ window = find_managed_window (display, subwindow);
+
+ if (window != None) {
+- if (!gdk_x11_window_lookup_for_display (gdk_x11_lookup_xdisplay (event->display), window))
++ if (!gdk_x11_window_lookup_for_display (gdk_x11_lookup_xdisplay (display), window))
+ kill_window_question ((gpointer) window);
+ }
+ }
+@@ -272,10 +275,12 @@
+ GtkWidget *popup)
+ {
+ XEvent *xevent = (XEvent *) gdk_xevent;
++ XIEvent *xiev;
++ XIDeviceEvent *xidev;
+
+ switch (xevent->type) {
+ case ButtonPress:
+- handle_button_press_event (popup, &xevent->xkey);
++ handle_button_press_event (popup, xevent->xbutton.display, xevent->xbutton.subwindow);
+ return GDK_FILTER_REMOVE;
+ case KeyPress:
+ if (xevent->xkey.keycode == XKeysymToKeycode (xevent->xany.display, XK_Escape)) {
+@@ -283,6 +288,21 @@
+ return GDK_FILTER_REMOVE;
+ }
+ break;
++ case GenericEvent:
++ xiev = (XIEvent *) xevent->xcookie.data;
++ xidev = (XIDeviceEvent *) xiev;
++ switch (xiev->evtype) {
++ case XI_KeyPress:
++ if (xidev->detail == XKeysymToKeycode (xevent->xany.display, XK_Escape)) {
++ remove_popup (popup);
++ return GDK_FILTER_REMOVE;
++ }
++ break;
++ case XI_ButtonPress:
++ handle_button_press_event (popup, xidev->display, xidev->child);
++ return GDK_FILTER_REMOVE;
++ }
++ break;
+ default:
+ break;
+ }
+@@ -331,7 +351,7 @@
+
+ status = gdk_device_grab (keyboard, root,
+ GDK_OWNERSHIP_NONE, FALSE,
+- GDK_KEY_PRESS | GDK_KEY_RELEASE,
++ GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
+ NULL, time);
+ if (status != GDK_GRAB_SUCCESS) {
+ g_warning ("Keyboard grab failed\n");
diff --git a/community/gnome-panel/PKGBUILD b/community/gnome-panel/PKGBUILD
new file mode 100644
index 000000000..d08ed0197
--- /dev/null
+++ b/community/gnome-panel/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 90851 2013-05-14 21:40:37Z andrea $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=gnome-panel
+pkgname=('gnome-panel' 'gnome-flashback-session')
+pkgver=3.6.2
+pkgrel=6
+arch=('i686' 'x86_64')
+license=('GPL')
+pkgdesc="Legacy GNOME panel"
+url="https://live.gnome.org/GnomePanel"
+depends=('dconf' 'evolution-data-server' 'gconf' 'gnome-desktop' 'gnome-menus' 'librsvg'
+ 'libwnck3' 'telepathy-glib')
+makedepends=('gobject-introspection' 'intltool' 'yelp-tools' 'networkmanager' 'gnome-common')
+install=$pkgbase.install
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver:0:3}/$pkgbase-$pkgver.tar.xz
+ gnome-desktop-3.8.patch
+ drop-gweather-xml-include.patch
+ 18_fix_force_quit_applet.patch
+ 0001-Add-the-GNOME-Flashback-session.patch
+ fix-autoconf.patch)
+sha256sums=('a41c45c5512e796b8602ce50bf0d205993eab364c860aae31afa582d77b77079'
+ '3a67f4b07a7dd356fad6b40a43983f3945123ed40080eb153396a481b34efc0c'
+ 'e3298c62bc577969817c5d6752be83a5129004fd344e4f7998a0d8aa61874305'
+ '9d742f675d9e09a032bfe00e0523a4ef7e234589a74a6086243bf335ce212775'
+ '9db0d1dadd2183777ed39e84caca1096a857897bbcf0e18ad599996dd397f1e0'
+ '6828c097505d2dbbf465ed7ff694adbd646a0af2105c8dd864d1061bf0afea71')
+
+build() {
+ cd "$pkgbase-$pkgver"
+
+ # Port to gnome-desktop 3.8
+ patch -Np1 -i "$srcdir/gnome-desktop-3.8.patch"
+
+ # Fix build with libgweather 3.8
+ patch -Np0 -i "$srcdir/drop-gweather-xml-include.patch"
+
+ # Fix force quit applet to avoid freeze
+ patch -Np1 -i "$srcdir/18_fix_force_quit_applet.patch"
+
+ # Add GNOME Flashback session
+ # https://bugzilla.gnome.org/show_bug.cgi?id=694625
+ patch -Np1 -i "$srcdir/0001-Add-the-GNOME-Flashback-session.patch"
+
+ # Fix build
+ patch -Np1 -i "$srcdir/fix-autoconf.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgbase \
+ --disable-static --disable-schemas-compile \
+ PYTHON=/usr/bin/python2
+ make
+}
+
+package_gnome-panel() {
+ cd "$pkgbase-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # Remove unneeded script
+ rm "$pkgdir/usr/lib/gnome-panel/gnome-panel-add"
+
+ # Split out the session files
+ rm -r "$pkgdir"/usr/share/{gnome-session,xsessions}
+}
+
+package_gnome-flashback-session() {
+ pkgdesc="Shell for Gnome 3 which was initially called Gnome Fallback"
+ url="https://live.gnome.org/GnomeFlashback"
+ depends=('gnome-screensaver' 'gnome-panel' 'gnome-session' 'gnome-settings-daemon'
+ 'gnome-settings-daemon-compat' 'gnome-themes-standard' 'metacity' 'nautilus'
+ 'notification-daemon' 'polkit-gnome')
+ install=
+
+ cd "$pkgbase-$pkgver"
+ make -C data DESTDIR="$pkgdir" install-sessionDATA
+ make -C data DESTDIR="$pkgdir" install-xsessionDATA
+}
diff --git a/community/gnome-panel/drop-gweather-xml-include.patch b/community/gnome-panel/drop-gweather-xml-include.patch
new file mode 100644
index 000000000..3b3a559f0
--- /dev/null
+++ b/community/gnome-panel/drop-gweather-xml-include.patch
@@ -0,0 +1,10 @@
+--- applets/clock/clock.c.orig 2012-12-25 14:38:00.101601746 -0600
++++ applets/clock/clock.c 2012-12-25 14:38:30.331443803 -0600
+@@ -54,7 +54,6 @@
+ #define GNOME_DESKTOP_USE_UNSTABLE_API
+ #include <libgnome-desktop/gnome-wall-clock.h>
+
+-#include <libgweather/gweather-xml.h>
+ #include <libgweather/location-entry.h>
+ #include <libgweather/timezone-menu.h>
+ #include <libgweather/gweather-enum-types.h>
diff --git a/community/gnome-panel/fix-autoconf.patch b/community/gnome-panel/fix-autoconf.patch
new file mode 100644
index 000000000..17d9e025c
--- /dev/null
+++ b/community/gnome-panel/fix-autoconf.patch
@@ -0,0 +1,11 @@
+diff -Naur gnome-panel-3.6.2.orig/configure.ac gnome-panel-3.6.2/configure.ac
+--- gnome-panel-3.6.2.orig/configure.ac 2012-11-12 18:51:14.000000000 +0100
++++ gnome-panel-3.6.2/configure.ac 2013-04-10 14:50:14.132509059 +0200
+@@ -1,6 +1,6 @@
+ AC_INIT([gnome-panel], [3.6.2],
+ [http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-panel])
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+ AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar -Wno-portability])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
diff --git a/community/gnome-panel/gnome-desktop-3.8.patch b/community/gnome-panel/gnome-desktop-3.8.patch
new file mode 100644
index 000000000..3c8823cd2
--- /dev/null
+++ b/community/gnome-panel/gnome-desktop-3.8.patch
@@ -0,0 +1,199 @@
+diff -Naur gnome-panel-3.6.2.orig/applets/clock/calendar-window.c gnome-panel-3.6.2/applets/clock/calendar-window.c
+--- gnome-panel-3.6.2.orig/applets/clock/calendar-window.c 2012-11-12 18:35:17.000000000 +0100
++++ gnome-panel-3.6.2/applets/clock/calendar-window.c 2013-04-08 23:10:30.451012763 +0200
+@@ -42,9 +42,6 @@
+ #include <glib/gi18n.h>
+ #include <gio/gio.h>
+
+-#define GNOME_DESKTOP_USE_UNSTABLE_API
+-#include <libgnome-desktop/gnome-desktop-utils.h>
+-
+ #include "calendar-window.h"
+
+ #include "clock.h"
+@@ -168,6 +165,13 @@
+ return;
+ }
+
++ /* FIXME: reintroduce terminal support if a proper GAppInfo port of gnome-panel is ever done */
++ if (terminal) {
++ g_printerr ("Terminal-based calendar/tasks applications are no longer supported, sorry. "
++ "Please configure a different application.\n");
++ return;
++ }
++
+ command_line = g_find_program_in_path (program);
+ if (command_line == NULL) {
+ g_printerr ("Cannot launch calendar/tasks application: %s in path\n", program);
+@@ -189,9 +193,6 @@
+ screen = gtk_widget_get_screen (calwin->priv->calendar);
+ error = NULL;
+
+- if (terminal)
+- gnome_desktop_prepend_terminal_to_vector (&argc, &argv);
+-
+ display = gdk_screen_make_display_name (screen);
+
+ result = g_spawn_async (NULL, /* working directory */
+diff -Naur gnome-panel-3.6.2.orig/gnome-panel/panel-run-dialog.c gnome-panel-3.6.2/gnome-panel/panel-run-dialog.c
+--- gnome-panel-3.6.2.orig/gnome-panel/panel-run-dialog.c 2012-11-12 18:35:17.000000000 +0100
++++ gnome-panel-3.6.2/gnome-panel/panel-run-dialog.c 2013-04-08 23:10:52.408175181 +0200
+@@ -25,6 +25,7 @@
+ * Havoc Pennington <hp@pobox.com>
+ * George Lebl <jirka@5z.com>
+ * Mark McLoughlin <mark@skynet.ie>
++ * Tom Tromey (Copyright (C) 1998)
+ */
+
+ #include <config.h>
+@@ -42,8 +43,6 @@
+ #include <gdk/gdkkeysyms.h>
+ #include <gmenu-tree.h>
+
+-#include <libgnome-desktop/gnome-desktop-utils.h>
+-
+ #include <libpanel-util/panel-error.h>
+ #include <libpanel-util/panel-glib.h>
+ #include <libpanel-util/panel-gtk.h>
+@@ -335,6 +334,132 @@
+ */
+ }
+
++
++/**
++ * panel_run_dialog_prepend_terminal_to_vector:
++ * @argc: a pointer to the vector size
++ * @argv: a pointer to the vector
++ *
++ * Description: Prepends a terminal (either the one configured as default in
++ * the user's GNOME setup, or one of the common xterm emulators) to the passed
++ * in vector, modifying it in the process. The vector should be allocated with
++ * #g_malloc, as this will #g_free the original vector. Also all elements must
++ * have been allocated separately. That is the standard glib/GNOME way of
++ * doing vectors however. If the integer that @argc points to is negative, the
++ * size will first be computed. Also note that passing in pointers to a vector
++ * that is empty, will just create a new vector for you.
++ **/
++/* TODO: throw out this function if there ever is a proper GAppInfo port */
++static void
++panel_run_dialog_prepend_terminal_to_vector (int *argc, char ***argv)
++{
++ char **real_argv;
++ int real_argc;
++ int i, j;
++ char **term_argv = NULL;
++ int term_argc = 0;
++ GSettings *settings;
++
++ gchar *terminal = NULL;
++
++ char **the_argv;
++
++ g_return_if_fail (argc != NULL);
++ g_return_if_fail (argv != NULL);
++
++ /* sanity */
++ if(*argv == NULL)
++ *argc = 0;
++
++ the_argv = *argv;
++
++ /* compute size if not given */
++ if (*argc < 0) {
++ for (i = 0; the_argv[i] != NULL; i++)
++ ;
++ *argc = i;
++ }
++
++ settings = g_settings_new ("org.gnome.desktop.default-applications.terminal");
++ terminal = g_settings_get_string (settings, "exec");
++
++ if (terminal) {
++ gchar *command_line;
++ gchar *exec_flag;
++
++ exec_flag = g_settings_get_string (settings, "exec-arg");
++
++ if (exec_flag == NULL)
++ command_line = g_strdup (terminal);
++ else
++ command_line = g_strdup_printf ("%s %s", terminal,
++ exec_flag);
++
++ g_shell_parse_argv (command_line,
++ &term_argc,
++ &term_argv,
++ NULL /* error */);
++
++ g_free (command_line);
++ g_free (exec_flag);
++ g_free (terminal);
++ }
++
++ g_object_unref (settings);
++
++ if (term_argv == NULL) {
++ char *check;
++
++ term_argc = 2;
++ term_argv = g_new0 (char *, 3);
++
++ check = g_find_program_in_path ("gnome-terminal");
++ if (check != NULL) {
++ term_argv[0] = check;
++ /* Note that gnome-terminal takes -x and
++ * as -e in gnome-terminal is broken we use that. */
++ term_argv[1] = g_strdup ("-x");
++ } else {
++ if (check == NULL)
++ check = g_find_program_in_path ("nxterm");
++ if (check == NULL)
++ check = g_find_program_in_path ("color-xterm");
++ if (check == NULL)
++ check = g_find_program_in_path ("rxvt");
++ if (check == NULL)
++ check = g_find_program_in_path ("xterm");
++ if (check == NULL)
++ check = g_find_program_in_path ("dtterm");
++ if (check == NULL) {
++ g_warning (_("Cannot find a terminal, using "
++ "xterm, even if it may not work"));
++ check = g_strdup ("xterm");
++ }
++ term_argv[0] = check;
++ term_argv[1] = g_strdup ("-e");
++ }
++ }
++
++ real_argc = term_argc + *argc;
++ real_argv = g_new (char *, real_argc + 1);
++
++ for (i = 0; i < term_argc; i++)
++ real_argv[i] = term_argv[i];
++
++ for (j = 0; j < *argc; j++, i++)
++ real_argv[i] = (char *)the_argv[j];
++
++ real_argv[i] = NULL;
++
++ g_free (*argv);
++ *argv = real_argv;
++ *argc = real_argc;
++
++ /* we use g_free here as we sucked all the inner strings
++ * out from it into real_argv */
++ g_free (term_argv);
++}
++
+ static gboolean
+ panel_run_dialog_launch_command (PanelRunDialog *dialog,
+ const char *command,
+@@ -354,7 +479,7 @@
+ screen = gtk_window_get_screen (GTK_WINDOW (dialog->run_dialog));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->terminal_checkbox)))
+- gnome_desktop_prepend_terminal_to_vector (&argc, &argv);
++ panel_run_dialog_prepend_terminal_to_vector (&argc, &argv);
+
+ display = gdk_screen_make_display_name (screen);
+
diff --git a/community/gnome-panel/gnome-panel.install b/community/gnome-panel/gnome-panel.install
new file mode 100644
index 000000000..f7e8c46ac
--- /dev/null
+++ b/community/gnome-panel/gnome-panel.install
@@ -0,0 +1,12 @@
+post_install() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gnome-phone-manager/PKGBUILD b/community/gnome-phone-manager/PKGBUILD
new file mode 100644
index 000000000..9cb5ee7da
--- /dev/null
+++ b/community/gnome-phone-manager/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 88702 2013-04-21 22:24:11Z heftig $
+# Maintainer: Roman Kyrylych <roman@archlinux.org>
+
+pkgname=gnome-phone-manager
+pkgver=0.69
+pkgrel=1
+pkgdesc="Control your mobile phone from your GNOME desktop."
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/PhoneManager"
+license=('GPL')
+depends=('evolution-data-server' 'gnokii' 'gnome-bluetooth' 'gnome-icon-theme' 'libcanberra' 'gconf')
+makedepends=('intltool')
+options=('!emptydirs' '!libtool')
+install=gnome-phone-manager.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz
+ gnome-phone-manager-0.68-eds.patch)
+sha256sums=('35e038ea3afaacdf451046e87af876096cf1520efc04fc3f5b63ea22e0297175'
+ '232a72108836ddd46d329993d166c38550e2923f161b4dc814d75af4ed5ccc79')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../gnome-phone-manager-0.68-eds.patch
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-phone-manager "${pkgdir}"/etc/gconf/schemas/*.schemas
+ rm -f "${pkgdir}"/etc/gconf/schemas/*.schemas
+}
diff --git a/community/gnome-phone-manager/gnome-phone-manager-0.68-eds.patch b/community/gnome-phone-manager/gnome-phone-manager-0.68-eds.patch
new file mode 100644
index 000000000..924201196
--- /dev/null
+++ b/community/gnome-phone-manager/gnome-phone-manager-0.68-eds.patch
@@ -0,0 +1,470 @@
+diff -up gnome-phone-manager-0.68/configure.eds gnome-phone-manager-0.68/configure
+--- gnome-phone-manager-0.68/configure.eds 2012-10-30 15:03:19.515929969 -0400
++++ gnome-phone-manager-0.68/configure 2012-10-30 15:03:54.979862209 -0400
+@@ -13939,12 +13939,12 @@ if test -n "$PHONEMGR_CFLAGS"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- \$GNOME_BLUETOOTH_REQS \$evo_pc_file libedataserverui-3.0
++ \$GNOME_BLUETOOTH_REQS \$evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ \""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++ $GNOME_BLUETOOTH_REQS $evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ ") 2>&5
+ ac_status=$?
+@@ -13952,7 +13952,7 @@ if test -n "$PHONEMGR_CFLAGS"; then
+ test $ac_status = 0; }; then
+ pkg_cv_PHONEMGR_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++ $GNOME_BLUETOOTH_REQS $evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ " 2>/dev/null`
+ else
+@@ -13967,12 +13967,12 @@ if test -n "$PHONEMGR_LIBS"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- \$GNOME_BLUETOOTH_REQS \$evo_pc_file libedataserverui-3.0
++ \$GNOME_BLUETOOTH_REQS \$evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ \""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++ $GNOME_BLUETOOTH_REQS $evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ ") 2>&5
+ ac_status=$?
+@@ -13980,7 +13980,7 @@ if test -n "$PHONEMGR_LIBS"; then
+ test $ac_status = 0; }; then
+ pkg_cv_PHONEMGR_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++ $GNOME_BLUETOOTH_REQS $evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ " 2>/dev/null`
+ else
+@@ -14004,13 +14004,13 @@ fi
+ if test $_pkg_short_errors_supported = yes; then
+ PHONEMGR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++ $GNOME_BLUETOOTH_REQS $evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ " 2>&1`
+ else
+ PHONEMGR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++ $GNOME_BLUETOOTH_REQS $evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ " 2>&1`
+ fi
+@@ -14019,7 +14019,7 @@ fi
+
+ as_fn_error $? "Package requirements (gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++ $GNOME_BLUETOOTH_REQS $evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ ) were not met:
+
+diff -up gnome-phone-manager-0.68/configure.in.eds gnome-phone-manager-0.68/configure.in
+--- gnome-phone-manager-0.68/configure.in.eds 2012-10-30 15:03:24.151921087 -0400
++++ gnome-phone-manager-0.68/configure.in 2012-10-30 15:03:33.865897797 -0400
+@@ -47,7 +47,7 @@ PKG_CHECK_MODULES(LIBGSM, glib-2.0 gobje
+
+ PKG_CHECK_MODULES(PHONEMGR, gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++ $GNOME_BLUETOOTH_REQS $evo_pc_file
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ )
+
+diff -up gnome-phone-manager-0.68/cut-n-paste/e-contact-entry/e-contact-entry.c.eds gnome-phone-manager-0.68/cut-n-paste/e-contact-entry/e-contact-entry.c
+--- gnome-phone-manager-0.68/cut-n-paste/e-contact-entry/e-contact-entry.c.eds 2012-07-29 22:06:12.000000000 -0400
++++ gnome-phone-manager-0.68/cut-n-paste/e-contact-entry/e-contact-entry.c 2012-10-30 15:02:47.177996584 -0400
+@@ -38,11 +38,6 @@
+ #include <glib.h>
+ #include <glib/gi18n.h>
+
+-#include <libedataserver/e-source.h>
+-#include <libebook/e-book.h>
+-#include <libebook/e-book-view.h>
+-#include <libebook/e-contact.h>
+-
+ #include "e-contact-entry.h"
+ #include "econtactentry-marshal.h"
+
+@@ -59,7 +54,7 @@ static int signals[LAST_SIGNAL] = { 0 };
+ /* Properties */
+ enum {
+ PROP_0, /* TODO: why? */
+- PROP_SOURCE_LIST,
++ PROP_REGISTRY,
+ PROP_COMPLETE_LENGTH,
+ };
+
+@@ -70,7 +65,7 @@ enum {
+ struct EContactEntryPriv {
+ GtkEntryCompletion *completion;
+ GtkListStore *store;
+- ESourceList *source_list;
++ ESourceRegistry *registry;
+ /* A list of EntryLookup structs we are searching */
+ GList *lookup_entries;
+ /* Number of characters to start searching at */
+@@ -227,7 +222,7 @@ e_contact_entry_display_func (EContact *
+ emails = e_contact_get (contact, E_CONTACT_EMAIL);
+ for (l = emails; l != NULL; l = l->next) {
+ item = g_new0 (EContactEntyItem, 1);
+- item->identifier = item->identifier = g_strdup (l->data);
++ item->identifier = g_strdup (l->data);
+ item->display_string = g_strdup_printf ("%s <%s>", (char*)e_contact_get_const (contact, E_CONTACT_NAME_OR_ORG), item->identifier);
+
+ items = g_list_prepend (items, item);
+@@ -276,22 +271,13 @@ view_contacts_added_cb (EBook *book, GLi
+ return;
+
+ photo = e_contact_get (contact, E_CONTACT_PHOTO);
+-#ifndef HAVE_ECONTACTPHOTOTYPE
+- if (photo) {
+-#else
+ if (photo && photo->type == E_CONTACT_PHOTO_TYPE_INLINED) {
+-#endif
+ GdkPixbufLoader *loader;
+
+ loader = gdk_pixbuf_loader_new ();
+
+-#ifndef HAVE_ECONTACTPHOTOTYPE
+- if (gdk_pixbuf_loader_write (loader, (guchar *)photo->data,
+- photo->length, NULL))
+-#else
+ if (gdk_pixbuf_loader_write (loader, (guchar *)photo->data.inlined.data,
+ photo->data.inlined.length, NULL))
+-#endif
+ pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
+
+ if (pixbuf) {
+@@ -339,16 +325,15 @@ view_contacts_added_cb (EBook *book, GLi
+ * The query on the EBookView has completed.
+ */
+ static void
+-view_completed_cb (EBookView *book_view, EBookViewStatus status, gpointer user_data)
++view_completed_cb (EBookView *book_view, EBookViewStatus status, const gchar *message, gpointer user_data)
+ {
+ EntryLookup *lookup;
+ g_return_if_fail (user_data != NULL);
+- /* TODO: handle status != OK */
+- g_return_if_fail (status == E_BOOK_ERROR_OK);
+ g_return_if_fail (book_view != NULL);
+
+ lookup = (EntryLookup*)user_data;
+ g_object_unref (lookup->bookview);
++ lookup->bookview = NULL;
+ }
+
+ /**
+@@ -373,8 +358,8 @@ bookview_cb (EBook *book, EBookStatus st
+ lookup->bookview = book_view;
+ g_object_add_weak_pointer ((GObject*)book_view, (gpointer*)&lookup->bookview);
+
+- g_signal_connect (book_view, "contacts_added", (GCallback)view_contacts_added_cb, lookup);
+- g_signal_connect (book_view, "sequence_complete", (GCallback)view_completed_cb, lookup);
++ g_signal_connect (book_view, "contacts-added", (GCallback)view_contacts_added_cb, lookup);
++ g_signal_connect (book_view, "view_complete", (GCallback)view_completed_cb, lookup);
+
+ e_book_view_start (book_view);
+ }
+@@ -396,6 +381,7 @@ entry_changed_cb (GtkEditable *editable,
+ if (lookup->bookview) {
+ e_book_view_stop (lookup->bookview);
+ g_object_unref (lookup->bookview);
++ lookup->bookview = NULL;
+ }
+ }
+
+@@ -410,7 +396,7 @@ entry_changed_cb (GtkEditable *editable,
+ if (!lookup->open)
+ continue;
+
+- if (e_book_async_get_book_view (lookup->book, query, NULL, 11, (EBookBookViewCallback)bookview_cb, lookup) != 0) {
++ if (e_book_async_get_book_view (lookup->book, query, NULL, MAX_ENTRIES, (EBookBookViewCallback)bookview_cb, lookup) == FALSE) {
+ g_signal_emit (entry, signals[ERROR], 0, _("Cannot create searchable view."));
+ }
+ }
+@@ -458,11 +444,12 @@ book_opened_cb (EBook *book, EBookStatus
+ */
+
+ void
+-e_contact_entry_set_source_list (EContactEntry *entry,
+- ESourceList *source_list)
++e_contact_entry_set_registry (EContactEntry *entry,
++ ESourceRegistry *registry)
+ {
++ GList *list, *link;
++ const gchar *extension_name;
+ GError *error = NULL;
+- GSList *list, *l;
+
+ g_return_if_fail (E_IS_CONTACT_ENTRY (entry));
+
+@@ -471,58 +458,48 @@ e_contact_entry_set_source_list (EContac
+ g_list_foreach (entry->priv->lookup_entries, (GFunc)lookup_entry_free, NULL);
+ g_list_free (entry->priv->lookup_entries);
+ }
+- if (entry->priv->source_list) {
+- g_object_unref (entry->priv->source_list);
++ if (entry->priv->registry) {
++ g_object_unref (entry->priv->registry);
+ }
+
+ /* If we have no new sources, disable and return here */
+- if (source_list == NULL) {
++ if (registry == NULL) {
+ g_signal_emit (entry, signals[STATE_CHANGE], 0, FALSE);
+- entry->priv->source_list = NULL;
++ entry->priv->registry = NULL;
+ entry->priv->lookup_entries = NULL;
+ return;
+ }
+
+- entry->priv->source_list = source_list;
+- /* So that the list isn't going away underneath us */
+- g_object_ref (entry->priv->source_list);
++ entry->priv->registry = registry;
++ /* So that the registry isn't going away underneath us */
++ g_object_ref (entry->priv->registry);
+
+- /* That gets us a list of ESourceGroup */
+- list = e_source_list_peek_groups (source_list);
+ entry->priv->lookup_entries = NULL;
+
+- for (l = list; l != NULL; l = l->next) {
+- ESourceGroup *group = l->data;
+- GSList *sources = NULL, *m;
+- /* That should give us a list of ESource */
+- sources = e_source_group_peek_sources (group);
+- for (m = sources; m != NULL; m = m->next) {
+- ESource *source = m->data;
+- ESource *s = e_source_copy (source);
+- EntryLookup *lookup;
+- char *uri;
++ extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK;
++ list = e_source_registry_list_sources (registry, extension_name);
+
+- uri = g_strdup_printf("%s/%s", e_source_group_peek_base_uri (group), e_source_peek_relative_uri (source));
+- e_source_set_absolute_uri (s, uri);
+- g_free (uri);
+-
+- /* Now add those to the lookup entries list */
+- lookup = g_new0 (EntryLookup, 1);
+- lookup->entry = entry;
+- lookup->status = E_BOOK_ERROR_OK;
+- lookup->open = FALSE;
++ for (link = list; link != NULL; link = g_list_next (link)) {
++ ESource *source = E_SOURCE (link->data);
++ EntryLookup *lookup;
+
+- if ((lookup->book = e_book_new (s, &error)) == NULL) {
+- /* TODO handle this better, fire the error signal I guess */
++ /* Now add those to the lookup entries list */
++ lookup = g_new0 (EntryLookup, 1);
++ lookup->entry = entry;
++ lookup->status = E_BOOK_ERROR_OK;
++ lookup->open = FALSE;
++
++ if ((lookup->book = e_book_new (source, &error)) == NULL) {
++ /* TODO handle this better, fire the error signal I guess */
++ if (error) {
+ g_warning ("%s", error->message);
+- g_error_free (error);
+- g_free (lookup);
+- } else {
+- entry->priv->lookup_entries = g_list_append (entry->priv->lookup_entries, lookup);
+- e_book_async_open(lookup->book, TRUE, (EBookCallback)book_opened_cb, lookup);
++ g_error_free (error);
++ error = NULL;
+ }
+-
+- g_object_unref (s);
++ g_free (lookup);
++ } else {
++ entry->priv->lookup_entries = g_list_append (entry->priv->lookup_entries, lookup);
++ e_book_async_open(lookup->book, TRUE, (EBookCallback)book_opened_cb, lookup);
+ }
+ }
+
+@@ -530,12 +507,12 @@ e_contact_entry_set_source_list (EContac
+ g_signal_emit (entry, signals[STATE_CHANGE], 0, FALSE);
+ }
+
+-ESourceList *
+-e_contact_entry_get_source_list (EContactEntry *entry)
++ESourceRegistry *
++e_contact_entry_get_registry (EContactEntry *entry)
+ {
+ g_return_val_if_fail (E_IS_CONTACT_ENTRY (entry), NULL);
+
+- return entry->priv->source_list;
++ return entry->priv->registry;
+ }
+
+ void
+@@ -601,8 +578,8 @@ e_contact_entry_set_property (GObject *o
+ entry = E_CONTACT_ENTRY (object);
+
+ switch (property_id) {
+- case PROP_SOURCE_LIST:
+- e_contact_entry_set_source_list (entry, g_value_get_object (value));
++ case PROP_REGISTRY:
++ e_contact_entry_set_registry (entry, g_value_get_object (value));
+ break;
+ case PROP_COMPLETE_LENGTH:
+ e_contact_entry_set_complete_length (entry, g_value_get_int (value));
+@@ -620,8 +597,8 @@ e_contact_entry_get_property (GObject *o
+ entry = E_CONTACT_ENTRY (object);
+
+ switch (property_id) {
+- case PROP_SOURCE_LIST:
+- g_value_set_object (value, e_contact_entry_get_source_list (entry));
++ case PROP_REGISTRY:
++ g_value_set_object (value, e_contact_entry_get_registry (entry));
+ break;
+ case PROP_COMPLETE_LENGTH:
+ g_value_set_int (value, e_contact_entry_get_complete_length (entry));
+@@ -644,7 +621,7 @@ e_contact_entry_finalize (GObject *objec
+ g_list_free (entry->priv->lookup_entries);
+ g_object_unref (entry->priv->completion);
+ g_object_unref (entry->priv->store);
+- g_object_unref (entry->priv->source_list);
++ g_object_unref (entry->priv->registry);
+
+ if (entry->priv->display_destroy) {
+ entry->priv->display_destroy (entry->priv->display_func);
+@@ -657,7 +634,7 @@ e_contact_entry_finalize (GObject *objec
+ static void
+ reset_search_fields (EContactEntry *entry)
+ {
+- EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_EMAIL, E_CONTACT_NICKNAME, E_CONTACT_ORG, 0 };
++ EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_EMAIL, E_CONTACT_NICKNAME, 0 };
+
+ g_free (entry->priv->search_fields);
+ entry->priv->search_fields = g_new0 (EContactField, G_N_ELEMENTS (fields));
+@@ -716,9 +693,9 @@ e_contact_entry_class_init (EContactEntr
+ object_class->finalize = e_contact_entry_finalize;
+
+ /* Properties */
+- g_object_class_install_property (object_class, PROP_SOURCE_LIST,
+- g_param_spec_object ("source-list", "Source List", "The source list to search for contacts.",
+- E_TYPE_SOURCE_LIST, G_PARAM_READWRITE));
++ g_object_class_install_property (object_class, PROP_REGISTRY,
++ g_param_spec_object ("registry", "Registry", "Data source registry.",
++ E_TYPE_SOURCE_REGISTRY, G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class, PROP_COMPLETE_LENGTH,
+ g_param_spec_int ("complete-length", "Complete length", "Number of characters to start a search on.",
+@@ -771,6 +748,7 @@ lookup_entry_free (EntryLookup *lookup)
+ if (lookup->bookview) {
+ g_warning("EBookView still around");
+ g_object_unref (lookup->bookview);
++ lookup->bookview = NULL;
+ }
+ if (lookup->book) {
+ g_object_unref (lookup->book);
+diff -up gnome-phone-manager-0.68/cut-n-paste/e-contact-entry/e-contact-entry.h.eds gnome-phone-manager-0.68/cut-n-paste/e-contact-entry/e-contact-entry.h
+--- gnome-phone-manager-0.68/cut-n-paste/e-contact-entry/e-contact-entry.h.eds 2012-07-29 22:06:12.000000000 -0400
++++ gnome-phone-manager-0.68/cut-n-paste/e-contact-entry/e-contact-entry.h 2012-10-30 15:02:47.177996584 -0400
+@@ -23,10 +23,8 @@
+ #ifndef CONTACT_ENTRY_H
+ #define CONTACT_ENTRY_H
+
+-#include <libedataserver/e-source-group.h>
+-#include <libedataserver/e-source-list.h>
+-#include <libebook/e-contact.h>
+ #include <gtk/gtk.h>
++#include <libebook/libebook.h>
+
+ G_BEGIN_DECLS
+
+@@ -71,8 +69,8 @@ GType e_contact_entry_get_type (void);
+
+ GtkWidget *e_contact_entry_new (void);
+
+-void e_contact_entry_set_source_list (EContactEntry *entry, ESourceList *list);
+-ESourceList *e_contact_entry_get_source_list (EContactEntry *entry);
++void e_contact_entry_set_registry (EContactEntry *entry, ESourceRegistry *registry);
++ESourceRegistry *e_contact_entry_get_registry (EContactEntry *entry);
+
+ void e_contact_entry_set_complete_length(EContactEntry *entry, int length);
+ int e_contact_entry_get_complete_length(EContactEntry *entry);
+diff -up gnome-phone-manager-0.68/libgsm/phonemgr-utils.c.eds gnome-phone-manager-0.68/libgsm/phonemgr-utils.c
+--- gnome-phone-manager-0.68/libgsm/phonemgr-utils.c.eds 2012-07-29 22:06:12.000000000 -0400
++++ gnome-phone-manager-0.68/libgsm/phonemgr-utils.c 2012-10-30 15:02:47.177996584 -0400
+@@ -27,7 +27,7 @@
+ #include <glib.h>
+ #include <glib/gstdio.h>
+ #include <glib-object.h>
+-#include <libebook/e-contact.h>
++#include <libebook/libebook.h>
+ #include <gnokii.h>
+
+ #include <bluetooth/bluetooth.h>
+diff -up gnome-phone-manager-0.68/src/e-phone-entry.c.eds gnome-phone-manager-0.68/src/e-phone-entry.c
+--- gnome-phone-manager-0.68/src/e-phone-entry.c.eds 2012-07-29 22:06:12.000000000 -0400
++++ gnome-phone-manager-0.68/src/e-phone-entry.c 2012-10-30 15:04:13.471829767 -0400
+@@ -31,8 +31,6 @@
+
+ #include <gtk/gtk.h>
+ #include <string.h>
+-#include <libedataserver/e-source-list.h>
+-#include <libedataserverui/e-client-utils.h>
+ #include "e-phone-entry.h"
+
+ #define CONTACT_FORMAT "%s (%s)"
+@@ -181,25 +179,25 @@ e_phone_entry_finalize (GObject *object)
+ }
+
+ static void
+-add_sources (EContactEntry *entry)
+-{
+- ESourceList *source_list;
+-
+- if (e_client_utils_get_sources (&source_list,
+- E_CLIENT_SOURCE_TYPE_CONTACTS,
+- NULL)) {
+- e_contact_entry_set_source_list (E_CONTACT_ENTRY (entry),
+- source_list);
+- g_object_unref (source_list);
+- }
+-}
+-
+-static void
+ e_phone_entry_init (EPhoneEntry *entry)
+ {
+ EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_NICKNAME, E_CONTACT_ORG, E_CONTACT_PHONE_MOBILE, 0 };
++ ESourceRegistry *registry;
++ GError *error = NULL;
++
++ /* XXX This call blocks while a D-Bus connection is made, possibly
++ * requiring activation. Might be better to create the registry
++ * in main(), pass it to ui_init(), and have e_phone_entry_new()
++ * take it as an argument. Calling this from main() means if it
++ * fails you can abort cleanly with a console error message. */
++ registry = e_source_registry_new_sync (NULL, &error);
++ if (registry == NULL) {
++ g_error ("%s: %s", G_STRFUNC, error->message);
++ g_assert_not_reached ();
++ }
++ e_contact_entry_set_registry (E_CONTACT_ENTRY (entry), registry);
++ g_object_unref (registry);
+
+- add_sources (E_CONTACT_ENTRY (entry));
+ e_contact_entry_set_search_fields (E_CONTACT_ENTRY (entry), (const EContactField *)fields);
+ e_contact_entry_set_display_func (E_CONTACT_ENTRY (entry), test_display_func, NULL, NULL);
+ g_signal_connect (G_OBJECT (entry), "contact_selected",
diff --git a/community/gnome-phone-manager/gnome-phone-manager.install b/community/gnome-phone-manager/gnome-phone-manager.install
new file mode 100644
index 000000000..91212fa2e
--- /dev/null
+++ b/community/gnome-phone-manager/gnome-phone-manager.install
@@ -0,0 +1,17 @@
+pkgname=gnome-phone-manager
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
diff --git a/community/gnome-ppp/PKGBUILD b/community/gnome-ppp/PKGBUILD
new file mode 100644
index 000000000..27a6fbf9b
--- /dev/null
+++ b/community/gnome-ppp/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 65576 2012-02-21 09:03:53Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=gnome-ppp
+pkgver=0.3.23
+pkgrel=8
+pkgdesc="A GNOME 2 WvDial frontend"
+arch=('i686' 'x86_64')
+url="http://www.gnomefiles.org/app.php?soft_id=41"
+license=('GPL2')
+depends=('libglade' 'wvdial')
+makedepends=('intltool' 'pkgconfig')
+install=gnome-ppp.install
+source=(http://gd.tuwien.ac.at/opsys/linux/gentoo/distfiles/${pkgname}-${pkgver}.tar.bz2
+ gnome-ppp-0.3.23-implicit-decl.patch
+ gnome-ppp-0.3.23-wvdial-notify.patch)
+md5sums=('ec2e20fc713a01c953d759bea3df8618'
+ '22eb07c957b8e00b1939560785c97c45'
+ '00452b66d033316adff0c01373f6108a')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np0 -i ${srcdir}/gnome-ppp-0.3.23-implicit-decl.patch
+ patch -Np0 -i ${srcdir}/gnome-ppp-0.3.23-wvdial-notify.patch
+ LDFLAGS=-lX11 ./configure --prefix=/usr
+ make
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/gnome-ppp/gnome-ppp-0.3.23-implicit-decl.patch b/community/gnome-ppp/gnome-ppp-0.3.23-implicit-decl.patch
new file mode 100644
index 000000000..6a05a897a
--- /dev/null
+++ b/community/gnome-ppp/gnome-ppp-0.3.23-implicit-decl.patch
@@ -0,0 +1,10 @@
+--- src/gnome-ppp-details.c 2005-05-04 01:26:25.000000000 +0300
++++ src/gnome-ppp-details.c 2007-04-14 13:28:30.000000000 +0300
+@@ -31,6 +31,7 @@
+ * Joe Marcus Clarke <marcus@freebsd.org>
+ */
+
++#include <unistd.h>
+ #include "gnome-ppp.h"
+
+
diff --git a/community/gnome-ppp/gnome-ppp-0.3.23-wvdial-notify.patch b/community/gnome-ppp/gnome-ppp-0.3.23-wvdial-notify.patch
new file mode 100644
index 000000000..197558ccd
--- /dev/null
+++ b/community/gnome-ppp/gnome-ppp-0.3.23-wvdial-notify.patch
@@ -0,0 +1,83 @@
+--- src/gnome-ppp-connected.c 2005-02-07 23:23:10.000000000 +0200
++++ src/gnome-ppp-connected.c 2007-07-14 09:00:51.000000000 +0300
+@@ -51,6 +51,8 @@
+
+ gboolean on_conn_delete_event (GtkWidget *widget, GdkEvent *event, gpointer data)
+ {
++ gnome_ppp.connected.show = FALSE;
++ gtk_widget_hide (gnome_ppp.connected.window);
+ return TRUE;
+ }
+
+--- src/gnome-ppp-wvdial.c 2005-02-01 21:28:25.000000000 +0200
++++ src/gnome-ppp-wvdial.c 2007-07-14 09:01:29.000000000 +0300
+@@ -56,13 +56,13 @@
+
+ g_print ("GNOME PPP: STDERR: %s", line);
+
+- if (g_strrstr (line, "--> Cannot open") != NULL)
++ if (g_strrstr (line, "Cannot open") != NULL)
+ gtk_label_set_text (GTK_LABEL (gnome_ppp.connecting.msgs), _("Can not open modem."));
+
+- if (g_strrstr (line, "--> Modem not responding") != NULL)
++ if (g_strrstr (line, "Modem not responding") != NULL)
+ gtk_label_set_text (GTK_LABEL (gnome_ppp.connecting.msgs), _("Modem not responding."));
+
+- if (g_strrstr (line, "--> Please enter password") != NULL) {
++ if (g_strrstr (line, "Please enter password") != NULL) {
+ const gchar *password;
+
+ gtk_label_set_text (GTK_LABEL (gnome_ppp.connecting.msgs), _("Sending password..."));
+@@ -75,7 +75,7 @@
+ g_io_channel_shutdown (in, TRUE, NULL);
+ }
+
+- if (g_strrstr (line, "--> Configuration does not specify a valid password.") != NULL)
++ if (g_strrstr (line, "Configuration does not specify a valid password.") != NULL)
+ gtk_label_set_text (GTK_LABEL (gnome_ppp.connecting.msgs), _("No valid password."));
+
+ if (g_strrstr (line, "ATM") != NULL) {
+@@ -90,13 +90,13 @@
+ g_free (message);
+ }
+
+- if (g_strrstr (line, "--> Carrier detected. Waiting for prompt.") != NULL)
++ if (g_strrstr (line, "Carrier detected. Waiting for prompt.") != NULL)
+ gtk_label_set_text (GTK_LABEL (gnome_ppp.connecting.msgs), _("Waiting for prompt..."));
+
+ if (g_strrstr (line, "Username:") != NULL)
+ gtk_label_set_text (GTK_LABEL (gnome_ppp.connecting.msgs), _("Authenticating..."));
+
+- if (g_strrstr (line, "--> Using interface") != NULL) {
++ if (g_strrstr (line, "Using interface") != NULL) {
+ gchar iface[255];
+ gchar tmp[255];
+
+@@ -104,14 +104,14 @@
+ gtk_label_set_text (GTK_LABEL (gnome_ppp.details.interface), &iface[0]);
+ }
+ /* in case we are using auto reconnect */
+- if (g_strrstr (line, "--> Auto Reconnect") != NULL) {
++ if (g_strrstr (line, "Auto Reconnect") != NULL) {
+ gtk_label_set_text (GTK_LABEL (gnome_ppp.connecting.msgs), _("Reconnecting..."));
+ gtk_widget_hide (gnome_ppp.gnome_ppp.window);
+ gtk_widget_hide (gnome_ppp.details.window);
+ gtk_widget_show (gnome_ppp.connecting.window);
+ }
+ /* we're about to connect (pppd) */
+- if (g_strrstr (line, "--> Starting pppd") != NULL) {
++ if (g_strrstr (line, "Starting pppd") != NULL) {
+ gboolean minimize;
+
+ minimize = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gnome_ppp.setup.minimize));
+@@ -135,8 +135,8 @@
+ gnome_ppp.connected.update = g_timeout_add (1000, (GSourceFunc)timer, NULL);
+ }
+
+- if (g_strrstr (line, "--> The PPP daemon has died") != NULL
+- || g_strrstr (line, "--> Disconnecting") != NULL) {
++ if (g_strrstr (line, "The PPP daemon has died.") != NULL
++ || g_strrstr (line, "Disconnecting") != NULL) {
+
+ if (gnome_ppp.connected.update) {
+ g_source_remove (gnome_ppp.connected.update);
diff --git a/community/gnome-ppp/gnome-ppp.install b/community/gnome-ppp/gnome-ppp.install
new file mode 100644
index 000000000..21b79d2d4
--- /dev/null
+++ b/community/gnome-ppp/gnome-ppp.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/gnome-screensaver/PKGBUILD b/community/gnome-screensaver/PKGBUILD
new file mode 100644
index 000000000..c046302a6
--- /dev/null
+++ b/community/gnome-screensaver/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 93459 2013-07-03 14:24:20Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-screensaver
+pkgver=3.6.1
+pkgrel=4
+pkgdesc="Legacy GNOME screensaver"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://live.gnome.org/GnomeScreensaver"
+backup=(etc/pam.d/gnome-screensaver)
+depends=('dbus-glib' 'libgnomekbd' 'gnome-desktop')
+makedepends=('intltool' 'gnome-common')
+optdepends=('gnome-themes-standard: default background')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ gnome-screensaver.pam
+ move-desktop-file.patch
+ fix-autoconf.patch)
+sha256sums=('f39b78d4f7fed748c7f0a31d694112fb907c6d3c4e63db22eb858df07e962cd0'
+ 'b6ea9e2eb586d94bcabb617a8f1c2958111df87afdbb51f645882bccdc15cbda'
+ '4bb96f62aa069c83b629204a79a3f63b146bcaf773569aee8b5dd23fbcd88974'
+ 'c4da9c18b543ecbc781c1f103321b324a855bdd0979fd36b437f6033736ad4bb')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ # Upstream patch that moves gnome-screensaver desktop file out of autostart
+ patch -Np1 -i "$srcdir/move-desktop-file.patch"
+
+ # Fix build
+ patch -Np1 -i "$srcdir/fix-autoconf.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --with-mit-ext
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 ../gnome-screensaver.pam "$pkgdir/etc/pam.d/gnome-screensaver"
+}
diff --git a/community/gnome-screensaver/fix-autoconf.patch b/community/gnome-screensaver/fix-autoconf.patch
new file mode 100644
index 000000000..653b42bc8
--- /dev/null
+++ b/community/gnome-screensaver/fix-autoconf.patch
@@ -0,0 +1,12 @@
+diff -Naur gnome-screensaver-3.6.1.orig/configure.ac gnome-screensaver-3.6.1/configure.ac
+--- gnome-screensaver-3.6.1.orig/configure.ac 2012-10-16 04:28:59.000000000 +0200
++++ gnome-screensaver-3.6.1/configure.ac 2013-04-10 14:24:44.844833193 +0200
+@@ -10,7 +10,7 @@
+ AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-xz tar-ustar])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+
+ AM_MAINTAINER_MODE([enable])
+
diff --git a/community/gnome-screensaver/gnome-screensaver.pam b/community/gnome-screensaver/gnome-screensaver.pam
new file mode 100644
index 000000000..8d3baf085
--- /dev/null
+++ b/community/gnome-screensaver/gnome-screensaver.pam
@@ -0,0 +1,3 @@
+#%PAM-1.0
+auth substack system-login
+-auth optional pam_gnome_keyring.so
diff --git a/community/gnome-screensaver/move-desktop-file.patch b/community/gnome-screensaver/move-desktop-file.patch
new file mode 100644
index 000000000..d918405ad
--- /dev/null
+++ b/community/gnome-screensaver/move-desktop-file.patch
@@ -0,0 +1,34 @@
+From 1940dc6bc8ad5ee2c029714efb1276c05ca80bd4 Mon Sep 17 00:00:00 2001
+From: Tim Lunn <tim@feathertop.org>
+Date: Thu, 18 Oct 2012 23:08:56 +0000
+Subject: move gnome-screensaver desktop file out of autostart
+
+https://bugzilla.gnome.org/show_bug.cgi?id=683060
+---
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 1dd5d46..97ffa07 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -47,7 +47,7 @@ noinst_PROGRAMS = \
+ test-window \
+ $(NULL)
+
+-desktopdir = $(sysconfdir)/xdg/autostart
++desktopdir = $(datadir)/applications
+ desktop_in_files = gnome-screensaver.desktop.in
+ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+ @INTLTOOL_DESKTOP_RULE@
+diff --git a/src/gnome-screensaver.desktop.in.in b/src/gnome-screensaver.desktop.in.in
+index fae80c4..82d6d6f 100644
+--- a/src/gnome-screensaver.desktop.in.in
++++ b/src/gnome-screensaver.desktop.in.in
+@@ -5,7 +5,6 @@ _Comment=Launch screensaver and locker program
+ Icon=preferences-desktop-screensaver
+ Exec=gnome-screensaver
+ OnlyShowIn=GNOME;
+-AutostartCondition=GNOME3 if-session gnome-fallback
+ NoDisplay=true
+ X-GNOME-Autostart-Phase=Application
+ X-GNOME-Autostart-Notify=true
+--
+cgit v0.9.1
diff --git a/community/gnome-settings-daemon-compat/PKGBUILD b/community/gnome-settings-daemon-compat/PKGBUILD
new file mode 100644
index 000000000..8c2ae9f43
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 88930 2013-04-24 22:24:31Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=gnome-settings-daemon-compat
+_pkgname=gnome-settings-daemon
+pkgver=3.6.4
+pkgrel=3
+pkgdesc="Compatibility package that provides background, media keys and mount helpers for the Gnome Flashback session"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gnome-settings-daemon')
+makedepends=('docbook-xsl' 'intltool' 'xf86-input-wacom')
+url="https://live.gnome.org/GnomeFlashback"
+source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz
+ standalone-background-helper.patch
+ standalone-media-keys-helper.patch
+ draw-background-unconditionally.patch
+ sessionisactive-port.patch
+ revert-input-sources.patch
+ xinput.patch
+ remove-libgsd-dependency.patch
+ move-desktop-file.patch)
+sha256sums=('3db993f2dbabc0c9d06a309bb12c9a7104b9cdda414ac4b1c301f5114a441c15'
+ '2e7e40175533556493bb58795a2c1b4e53b4baba35d151e632b933c6077456d9'
+ 'ddc4dfaa8083ff24a7d2fb6138b8c3fee5d4e6c60c24b4e80a39392d0c8f2162'
+ '1b6b8216434b766e1389e876cba5d6ab61498c5824f6d2cc5d67dcf58a07842a'
+ '0821f469cd168f3a131da513a5f9dd352c06f9bc31d57d79de4dc063fa2de915'
+ '02da2467e287620c3b717c7ff5ffea7403cce714d5aa32e27d051b6571451e2a'
+ 'fe8cafee074e36a7a393c9ae7f65db1c13a0959213aaae94ab8a3543bf20a25d'
+ '730f11d5689892fbab9aa2896f3720e813d17e2455f34fd3a0751e49f5b4c26c'
+ 'c58ace67581a1e14dc21efc8d22dd1f385cd05483d67e8a385b0767a8daf9fb4')
+
+build() {
+ cd $_pkgname-$pkgver
+
+ # Build background and media keys helpers as a stand alone binary
+ patch -Np1 -i ../standalone-background-helper.patch
+ patch -Np1 -i ../standalone-media-keys-helper.patch
+
+ # Always draw background
+ patch -Np1 -i ../draw-background-unconditionally.patch
+
+ # Port to gnome-session's SessionIsActive property
+ patch -Np1 -i ../sessionisactive-port.patch
+
+ # Add compatibility patches for media keys plugin
+ patch -Np1 -i ../revert-input-sources.patch
+ patch -Np1 -i ../xinput.patch
+
+ # Remove libgsd dependency
+ patch -Np1 -i ../remove-libgsd-dependency.patch
+
+ # Move desktop files out of autostart, so they can be easily reusable in custom sessions
+ patch -Np1 -i ../move-desktop-file.patch
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$_pkgname \
+ --disable-static --enable-systemd
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=656231
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make -C plugins/common
+ make -C plugins/automount
+ make -C plugins/background
+ make -C plugins/media-keys
+}
+
+package() {
+ cd $_pkgname-$pkgver
+ make -C plugins/automount DESTDIR="$pkgdir" install
+ make -C plugins/background DESTDIR="$pkgdir" install
+ make -C plugins/media-keys DESTDIR="$pkgdir" install
+}
diff --git a/community/gnome-settings-daemon-compat/draw-background-unconditionally.patch b/community/gnome-settings-daemon-compat/draw-background-unconditionally.patch
new file mode 100644
index 000000000..c279420de
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/draw-background-unconditionally.patch
@@ -0,0 +1,162 @@
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-manager.c gnome-settings-daemon-3.6.4/plugins/background/gsd-background-manager.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-manager.c 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/gsd-background-manager.c 2013-04-10 16:33:15.858860586 +0200
+@@ -69,110 +69,6 @@
+
+ static gpointer manager_object = NULL;
+
+-static gboolean
+-dont_draw_background (GsdBackgroundManager *manager)
+-{
+- return !g_settings_get_boolean (manager->priv->settings,
+- "draw-background");
+-}
+-
+-static gboolean
+-nautilus_is_drawing_background (GsdBackgroundManager *manager)
+-{
+- Atom window_id_atom;
+- Window nautilus_xid;
+- Atom actual_type;
+- int actual_format;
+- unsigned long nitems;
+- unsigned long bytes_after;
+- unsigned char *data;
+- Atom wmclass_atom;
+- gboolean running;
+- gint error;
+- gboolean show_desktop_icons;
+-
+- show_desktop_icons = g_settings_get_boolean (manager->priv->settings,
+- "show-desktop-icons");
+- if (! show_desktop_icons) {
+- return FALSE;
+- }
+-
+- window_id_atom = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
+- "NAUTILUS_DESKTOP_WINDOW_ID", True);
+-
+- if (window_id_atom == None) {
+- return FALSE;
+- }
+-
+- XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
+- GDK_ROOT_WINDOW (),
+- window_id_atom,
+- 0,
+- 1,
+- False,
+- XA_WINDOW,
+- &actual_type,
+- &actual_format,
+- &nitems,
+- &bytes_after,
+- &data);
+-
+- if (data != NULL) {
+- nautilus_xid = *(Window *) data;
+- XFree (data);
+- } else {
+- return FALSE;
+- }
+-
+- if (actual_type != XA_WINDOW) {
+- return FALSE;
+- }
+- if (actual_format != 32) {
+- return FALSE;
+- }
+-
+- wmclass_atom = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "WM_CLASS", False);
+-
+- gdk_error_trap_push ();
+-
+- XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
+- nautilus_xid,
+- wmclass_atom,
+- 0,
+- 24,
+- False,
+- XA_STRING,
+- &actual_type,
+- &actual_format,
+- &nitems,
+- &bytes_after,
+- &data);
+-
+- error = gdk_error_trap_pop ();
+-
+- if (error == BadWindow) {
+- return FALSE;
+- }
+-
+- if (actual_type == XA_STRING &&
+- nitems == 24 &&
+- bytes_after == 0 &&
+- actual_format == 8 &&
+- data != NULL &&
+- !strcmp ((char *)data, "desktop_window") &&
+- !strcmp ((char *)data + strlen ((char *)data) + 1, "Nautilus")) {
+- running = TRUE;
+- } else {
+- running = FALSE;
+- }
+-
+- if (data != NULL) {
+- XFree (data);
+- }
+-
+- return running;
+-}
+-
+ static void
+ on_crossfade_finished (GsdBackgroundManager *manager)
+ {
+@@ -189,11 +85,6 @@
+ int i;
+
+
+- if (nautilus_is_drawing_background (manager) ||
+- dont_draw_background (manager)) {
+- return;
+- }
+-
+ gnome_settings_profile_start (NULL);
+
+ display = gdk_display_get_default ();
+@@ -408,8 +299,7 @@
+ const char *key,
+ GsdBackgroundManager *manager)
+ {
+- if (dont_draw_background (manager) == FALSE)
+- setup_bg_and_draw_background (manager);
++ setup_bg_and_draw_background (manager);
+ }
+
+ gboolean
+@@ -422,24 +312,8 @@
+ gnome_settings_profile_start (NULL);
+
+ manager->priv->settings = g_settings_new ("org.gnome.desktop.background");
+- g_signal_connect (manager->priv->settings, "changed::draw-background",
+- G_CALLBACK (draw_background_changed), manager);
+
+- /* If this is set, nautilus will draw the background and is
+- * almost definitely in our session. however, it may not be
+- * running yet (so is_nautilus_running() will fail). so, on
+- * startup, just don't do anything if this key is set so we
+- * don't waste time setting the background only to have
+- * nautilus overwrite it.
+- */
+- show_desktop_icons = g_settings_get_boolean (manager->priv->settings,
+- "show-desktop-icons");
+-
+- if (!show_desktop_icons) {
+- setup_bg (manager);
+- } else {
+- draw_background_after_session_loads (manager);
+- }
++ setup_bg (manager);
+
+ gnome_settings_profile_end (NULL);
+
diff --git a/community/gnome-settings-daemon-compat/move-desktop-file.patch b/community/gnome-settings-daemon-compat/move-desktop-file.patch
new file mode 100644
index 000000000..fe9272767
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/move-desktop-file.patch
@@ -0,0 +1,60 @@
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/automount/gnome-fallback-mount-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/automount/gnome-fallback-mount-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/automount/gnome-fallback-mount-helper.desktop.in.in 2013-04-24 23:13:10.169941000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/automount/gnome-fallback-mount-helper.desktop.in.in 2013-04-24 23:13:41.064001562 +0200
+@@ -9,4 +9,3 @@
+ NoDisplay=true
+ OnlyShowIn=GNOME;Unity;
+ X-GNOME-Autostart-Notify=true
+-AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/automount/Makefile.am gnome-settings-daemon-3.6.4/plugins/automount/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/automount/Makefile.am 2013-04-24 23:13:12.830004000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/automount/Makefile.am 2013-04-24 23:13:36.613896914 +0200
+@@ -21,7 +21,7 @@
+ $(SYSTEMD_LIBS) \
+ $(AUTOMOUNT_LIBS)
+
+-autostartdir = $(sysconfdir)/xdg/autostart
++autostartdir = $(datadir)/applications
+ autostart_in_files = gnome-fallback-mount-helper.desktop.in
+ autostart_in_in_files = gnome-fallback-mount-helper.desktop.in.in
+ autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-24 23:13:07.229872000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-24 23:13:43.670729520 +0200
+@@ -9,4 +9,3 @@
+ NoDisplay=true
+ OnlyShowIn=GNOME;Unity;
+ X-GNOME-Autostart-Notify=true
+-AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am gnome-settings-daemon-3.6.4/plugins/background/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am 2013-04-24 23:13:04.913151000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/Makefile.am 2013-04-24 23:13:47.907495798 +0200
+@@ -17,7 +17,7 @@
+ $(SETTINGS_PLUGIN_LIBS) \
+ $(BACKGROUND_LIBS)
+
+-autostartdir = $(sysconfdir)/xdg/autostart
++autostartdir = $(datadir)/applications
+ autostart_in_files = gnome-fallback-background-helper.desktop.in
+ autostart_in_in_files = gnome-fallback-background-helper.desktop.in.in
+ autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 23:12:58.579668000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 23:13:51.747586073 +0200
+@@ -9,4 +9,3 @@
+ NoDisplay=true
+ OnlyShowIn=GNOME;Unity;
+ X-GNOME-Autostart-Notify=true
+-AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/Makefile.am gnome-settings-daemon-3.6.4/plugins/media-keys/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/Makefile.am 2013-04-24 23:13:02.026416000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/Makefile.am 2013-04-24 23:13:54.570985777 +0200
+@@ -75,7 +75,7 @@
+ $(MEDIA_KEYS_LIBS) \
+ -lm
+
+-autostartdir = $(sysconfdir)/xdg/autostart
++autostartdir = $(datadir)/applications
+ autostart_in_files = gnome-fallback-media-keys-helper.desktop.in
+ autostart_in_in_files = gnome-fallback-media-keys-helper.desktop.in.in
+ autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
diff --git a/community/gnome-settings-daemon-compat/remove-libgsd-dependency.patch b/community/gnome-settings-daemon-compat/remove-libgsd-dependency.patch
new file mode 100644
index 000000000..b843ac2ce
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/remove-libgsd-dependency.patch
@@ -0,0 +1,160 @@
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/automount/gsd-automount-manager.c gnome-settings-daemon-3.6.4/plugins/automount/gsd-automount-manager.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/automount/gsd-automount-manager.c 2013-04-10 17:19:51.796298000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/automount/gsd-automount-manager.c 2013-04-10 17:31:27.382311947 +0200
+@@ -28,13 +28,43 @@
+ #include <glib/gi18n.h>
+ #include <gio/gio.h>
+
+-#include "gnome-settings-profile.h"
+-#include "gnome-settings-session.h"
+ #include "gsd-automount-manager.h"
+ #include "gsd-autorun.h"
+
+ #define GSD_AUTOMOUNT_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_AUTOMOUNT_MANAGER, GsdAutomountManagerPrivate))
+
++#define GNOME_SESSION_DBUS_NAME "org.gnome.SessionManager"
++#define GNOME_SESSION_DBUS_OBJECT "/org/gnome/SessionManager"
++#define GNOME_SESSION_DBUS_INTERFACE "org.gnome.SessionManager"
++
++GDBusProxy *
++get_session_proxy (void)
++{
++ static GDBusProxy *session_proxy;
++ GError *error = NULL;
++
++ if (session_proxy != NULL) {
++ g_object_ref (session_proxy);
++ } else {
++ session_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
++ G_DBUS_PROXY_FLAGS_NONE,
++ NULL,
++ GNOME_SESSION_DBUS_NAME,
++ GNOME_SESSION_DBUS_OBJECT,
++ GNOME_SESSION_DBUS_INTERFACE,
++ NULL,
++ &error);
++ if (error) {
++ g_warning ("Failed to connect to the session manager: %s", error->message);
++ g_error_free (error);
++ } else {
++ g_object_add_weak_pointer (G_OBJECT (session_proxy), (gpointer*)&session_proxy);
++ }
++ }
++
++ return session_proxy;
++}
++
+ struct GsdAutomountManagerPrivate
+ {
+ GSettings *settings;
+@@ -315,7 +345,7 @@
+ static void
+ do_initialize_session (GsdAutomountManager *manager)
+ {
+- manager->priv->session = gnome_settings_session_get_session_proxy ();
++ manager->priv->session = get_session_proxy ();
+ g_signal_connect (manager->priv->session, "g-properties-changed",
+ G_CALLBACK (session_props_changed), manager);
+ session_props_changed (manager->priv->session, NULL, NULL, manager);
+@@ -490,13 +520,10 @@
+ GError **error)
+ {
+ g_debug ("Starting automounting manager");
+- gnome_settings_profile_start (NULL);
+
+ manager->priv->settings = g_settings_new ("org.gnome.desktop.media-handling");
+ setup_automounter (manager);
+
+- gnome_settings_profile_end (NULL);
+-
+ return TRUE;
+ }
+
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/automount/Makefile.am gnome-settings-daemon-3.6.4/plugins/automount/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/automount/Makefile.am 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/automount/Makefile.am 2013-04-10 17:33:09.697997021 +0200
+@@ -8,7 +8,6 @@
+ gsd-autorun.h
+
+ gnome_fallback_mount_helper_CPPFLAGS = \
+- -I$(top_srcdir)/gnome-settings-daemon \
+ -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+ $(AM_CPPFLAGS)
+
+@@ -20,8 +19,7 @@
+ gnome_fallback_mount_helper_LDADD = \
+ $(SETTINGS_PLUGIN_LIBS) \
+ $(SYSTEMD_LIBS) \
+- $(AUTOMOUNT_LIBS) \
+- $(top_builddir)/gnome-settings-daemon/libgsd.la
++ $(AUTOMOUNT_LIBS)
+
+ autostartdir = $(sysconfdir)/xdg/autostart
+ autostart_in_files = gnome-fallback-mount-helper.desktop.in
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-manager.c gnome-settings-daemon-3.6.4/plugins/background/gsd-background-manager.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-manager.c 2013-04-10 17:19:51.792965000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/gsd-background-manager.c 2013-04-10 17:22:46.930334951 +0200
+@@ -42,7 +42,6 @@
+ #include <libgnome-desktop/gnome-bg.h>
+ #include <X11/Xatom.h>
+
+-#include "gnome-settings-profile.h"
+ #include "gsd-background-manager.h"
+
+ #define GSD_BACKGROUND_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_BACKGROUND_MANAGER, GsdBackgroundManagerPrivate))
+@@ -85,8 +84,6 @@
+ int i;
+
+
+- gnome_settings_profile_start (NULL);
+-
+ display = gdk_display_get_default ();
+ n_screens = gdk_display_get_n_screens (display);
+
+@@ -121,8 +118,6 @@
+
+ cairo_surface_destroy (surface);
+ }
+-
+- gnome_settings_profile_end (NULL);
+ }
+
+ static void
+@@ -309,14 +304,11 @@
+ gboolean show_desktop_icons;
+
+ g_debug ("Starting background manager");
+- gnome_settings_profile_start (NULL);
+
+ manager->priv->settings = g_settings_new ("org.gnome.desktop.background");
+
+ setup_bg (manager);
+
+- gnome_settings_profile_end (NULL);
+-
+ return TRUE;
+ }
+
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am gnome-settings-daemon-3.6.4/plugins/background/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am 2013-04-10 17:43:32.768975155 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/Makefile.am 2013-04-10 17:43:19.115328380 +0200
+@@ -6,18 +6,16 @@
+ gsd-background-manager.h
+
+ gnome_fallback_background_helper_CPPFLAGS = \
+- -I$(top_srcdir)/gnome-settings-daemon \
+ -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+ $(AM_CPPFLAGS)
+
+ gnome_fallback_background_helper_CFLAGS = \
+ $(SETTINGS_PLUGIN_CFLAGS) \
+ $(BACKGROUND_CFLAGS)
+
+ gnome_fallback_background_helper_LDADD = \
+ $(SETTINGS_PLUGIN_LIBS) \
+- $(BACKGROUND_LIBS) \
+- $(top_builddir)/gnome-settings-daemon/libgsd.la
++ $(BACKGROUND_LIBS)
+
+ autostartdir = $(sysconfdir)/xdg/autostart
+ autostart_in_files = gnome-fallback-background-helper.desktop.in
diff --git a/community/gnome-settings-daemon-compat/revert-input-sources.patch b/community/gnome-settings-daemon-compat/revert-input-sources.patch
new file mode 100644
index 000000000..dc769de4e
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/revert-input-sources.patch
@@ -0,0 +1,123 @@
+From cc45fec342713745f391533a202976e97670f9e5 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos@gmail.com>
+Date: Wed, 12 Dec 2012 09:31:40 +0000
+Subject: Revert "media-keys: Add key bindings to switch input sources"
+
+These are now provided by gnome-shell.
+
+This reverts commit fc58c347900f906e304591135ca6c13d9950ab4d.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=690106
+---
+diff --git a/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in b/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
+index b56b5d1..25e5f3e 100644
+--- a/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
++++ b/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
+@@ -175,16 +175,6 @@
+ <_summary>Magnifier zoom out</_summary>
+ <_description>Binding for the magnifier to zoom out</_description>
+ </key>
+- <key name="switch-input-source" type="s">
+- <default>''</default>
+- <_summary>Switch input source</_summary>
+- <_description>Binding to select the next input source</_description>
+- </key>
+- <key name="switch-input-source-backward" type="s">
+- <default>''</default>
+- <_summary>Switch input source backward</_summary>
+- <_description>Binding to select the previous input source</_description>
+- </key>
+ </schema>
+
+ <schema gettext-domain="@GETTEXT_PACKAGE@" id="org.gnome.settings-daemon.plugins.media-keys.custom-keybinding">
+diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
+index e5977d0..cd6fbc2 100644
+--- a/plugins/media-keys/gsd-media-keys-manager.c
++++ b/plugins/media-keys/gsd-media-keys-manager.c
+@@ -98,10 +98,6 @@ static const gchar introspection_xml[] =
+ #define VOLUME_STEP 6 /* percents for one volume button press */
+ #define MAX_VOLUME 65536.0
+
+-#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.gnome.desktop.input-sources"
+-#define KEY_CURRENT_INPUT_SOURCE "current"
+-#define KEY_INPUT_SOURCES "sources"
+-
+ #define GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_MEDIA_KEYS_MANAGER, GsdMediaKeysManagerPrivate))
+
+ typedef struct {
+@@ -1807,40 +1803,6 @@ do_keyboard_brightness_action (GsdMediaKeysManager *manager,
+ }
+
+ static void
+-do_switch_input_source_action (GsdMediaKeysManager *manager,
+- MediaKeyType type)
+-{
+- GSettings *settings;
+- GVariant *sources;
+- gint i, n;
+-
+- settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
+- sources = g_settings_get_value (settings, KEY_INPUT_SOURCES);
+-
+- n = g_variant_n_children (sources);
+- if (n < 2)
+- goto out;
+-
+- i = g_settings_get_uint (settings, KEY_CURRENT_INPUT_SOURCE);
+-
+- if (type == SWITCH_INPUT_SOURCE_KEY)
+- i += 1;
+- else
+- i -= 1;
+-
+- if (i < 0)
+- i = n - 1;
+- else if (i >= n)
+- i = 0;
+-
+- g_settings_set_uint (settings, KEY_CURRENT_INPUT_SOURCE, i);
+-
+- out:
+- g_variant_unref (sources);
+- g_object_unref (settings);
+-}
+-
+-static void
+ do_custom_action (GsdMediaKeysManager *manager,
+ MediaKey *key,
+ gint64 timestamp)
+@@ -1999,10 +1961,6 @@ do_action (GsdMediaKeysManager *manager,
+ case BATTERY_KEY:
+ do_execute_desktop (manager, "gnome-power-statistics.desktop", timestamp);
+ break;
+- case SWITCH_INPUT_SOURCE_KEY:
+- case SWITCH_INPUT_SOURCE_BACKWARD_KEY:
+- do_switch_input_source_action (manager, type);
+- break;
+ /* Note, no default so compiler catches missing keys */
+ case CUSTOM_KEY:
+ g_assert_not_reached ();
+diff --git a/plugins/media-keys/shortcuts-list.h b/plugins/media-keys/shortcuts-list.h
+index a16d0e7..437ed2c 100644
+--- a/plugins/media-keys/shortcuts-list.h
++++ b/plugins/media-keys/shortcuts-list.h
+@@ -80,8 +80,6 @@ typedef enum {
+ KEYBOARD_BRIGHTNESS_DOWN_KEY,
+ KEYBOARD_BRIGHTNESS_TOGGLE_KEY,
+ BATTERY_KEY,
+- SWITCH_INPUT_SOURCE_KEY,
+- SWITCH_INPUT_SOURCE_BACKWARD_KEY,
+ CUSTOM_KEY
+ } MediaKeyType;
+
+@@ -148,8 +146,6 @@ static struct {
+ { KEYBOARD_BRIGHTNESS_UP_KEY, NULL, "XF86KbdBrightnessUp" },
+ { KEYBOARD_BRIGHTNESS_DOWN_KEY, NULL, "XF86KbdBrightnessDown" },
+ { KEYBOARD_BRIGHTNESS_TOGGLE_KEY, NULL, "XF86KbdLightOnOff" },
+- { SWITCH_INPUT_SOURCE_KEY, "switch-input-source", NULL },
+- { SWITCH_INPUT_SOURCE_BACKWARD_KEY, "switch-input-source-backward", NULL },
+ { BATTERY_KEY, NULL, "XF86Battery" },
+ };
+
+--
+cgit v0.9.1
diff --git a/community/gnome-settings-daemon-compat/sessionisactive-port.patch b/community/gnome-settings-daemon-compat/sessionisactive-port.patch
new file mode 100644
index 000000000..dc5fd260e
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/sessionisactive-port.patch
@@ -0,0 +1,73 @@
+From 32b0b2d85629ae765543df1d940a5ca3c37dcec1 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Tue, 06 Nov 2012 22:47:05 +0000
+Subject: [wip] Port to gnome-session's SessionIsActive property
+
+Rather than maintaining the systemd code here, monitor gnome-session's
+SessionIsActive property. This allows us to drop the compile-time
+dependency on systemd.
+
+The power plugin is declared dependent on systemd at runtime, but the
+rest of the code should operate in more "basic functionality" mode.
+---
+(limited to 'plugins/automount')
+
+diff --git a/plugins/automount/gsd-automount-manager.c b/plugins/automount/gsd-automount-manager.c
+index 7912f19..d8e9e07 100644
+--- a/plugins/automount/gsd-automount-manager.c
++++ b/plugins/automount/gsd-automount-manager.c
+@@ -42,7 +42,7 @@ struct GsdAutomountManagerPrivate
+ GVolumeMonitor *volume_monitor;
+ unsigned int automount_idle_id;
+
+- GnomeSettingsSession *session;
++ GDBusProxy *session;
+ gboolean session_is_active;
+ gboolean screensaver_active;
+ guint ss_watch_id;
+@@ -288,17 +288,21 @@ mount_added_callback (GVolumeMonitor *monitor,
+
+
+ static void
+-session_state_changed (GnomeSettingsSession *session, GParamSpec *pspec, gpointer user_data)
++session_props_changed (GDBusProxy *session, GVariant *v, char **props, gpointer user_data)
+ {
+ GsdAutomountManager *manager = user_data;
+ GsdAutomountManagerPrivate *p = manager->priv;
++ GVariant *active_v = NULL;
++ gboolean is_active;
+
+- if (gnome_settings_session_get_state (session) == GNOME_SETTINGS_SESSION_STATE_ACTIVE) {
+- p->session_is_active = TRUE;
+- }
+- else {
+- p->session_is_active = FALSE;
+- }
++ active_v = g_dbus_proxy_get_cached_property (session, "SessionIsActive");
++ if (!active_v)
++ return;
++
++ g_variant_get (active_v, "b", &is_active);
++ g_variant_unref (active_v);
++ g_printerr ("AUTOMOUNT: session is active: %d -> %d\n", p->session_is_active, is_active);
++ p->session_is_active = is_active;
+
+ if (!p->session_is_active) {
+ if (p->volume_queue != NULL) {
+@@ -311,10 +315,10 @@ session_state_changed (GnomeSettingsSession *session, GParamSpec *pspec, gpointe
+ static void
+ do_initialize_session (GsdAutomountManager *manager)
+ {
+- manager->priv->session = gnome_settings_session_new ();
+- g_signal_connect (manager->priv->session, "notify::state",
+- G_CALLBACK (session_state_changed), manager);
+- session_state_changed (manager->priv->session, NULL, manager);
++ manager->priv->session = gnome_settings_session_get_session_proxy ();
++ g_signal_connect (manager->priv->session, "g-properties-changed",
++ G_CALLBACK (session_props_changed), manager);
++ session_props_changed (manager->priv->session, NULL, NULL, manager);
+ }
+
+ #define SCREENSAVER_NAME "org.gnome.ScreenSaver"
+--
+cgit v0.9.1
diff --git a/community/gnome-settings-daemon-compat/standalone-background-helper.patch b/community/gnome-settings-daemon-compat/standalone-background-helper.patch
new file mode 100644
index 000000000..b52de042f
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/standalone-background-helper.patch
@@ -0,0 +1,437 @@
+diff -Naur gnome-settings-daemon-3.6.4.orig/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in gnome-settings-daemon-3.6.4/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in
+--- gnome-settings-daemon-3.6.4.orig/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in 2013-04-10 17:39:36.446882275 +0200
+@@ -2,7 +2,6 @@
+ <schema gettext-domain="@GETTEXT_PACKAGE@" id="org.gnome.settings-daemon.plugins" path="/org/gnome/settings-daemon/plugins/">
+ <child name="a11y-keyboard" schema="org.gnome.settings-daemon.plugins.a11y-keyboard"/>
+ <child name="a11y-settings" schema="org.gnome.settings-daemon.plugins.a11y-settings"/>
+- <child name="background" schema="org.gnome.settings-daemon.plugins.background"/>
+ <child name="clipboard" schema="org.gnome.settings-daemon.plugins.clipboard"/>
+ <child name="color" schema="org.gnome.settings-daemon.plugins.color"/>
+ <child name="cursor" schema="org.gnome.settings-daemon.plugins.cursor"/>
+@@ -45,18 +44,6 @@
+ <_summary>Priority to use for this plugin</_summary>
+ <_description>Priority to use for this plugin in gnome-settings-daemon startup queue</_description>
+ </key>
+- </schema>
+- <schema gettext-domain="@GETTEXT_PACKAGE@" id="org.gnome.settings-daemon.plugins.background" path="/org/gnome/settings-daemon/plugins/background/">
+- <key name="active" type="b">
+- <default>true</default>
+- <_summary>Activation of this plugin</_summary>
+- <_description>Whether this plugin would be activated by gnome-settings-daemon or not</_description>
+- </key>
+- <key name="priority" type="i">
+- <default>97</default>
+- <_summary>Priority to use for this plugin</_summary>
+- <_description>Priority to use for this plugin in gnome-settings-daemon startup queue</_description>
+- </key>
+ </schema>
+ <schema gettext-domain="@GETTEXT_PACKAGE@" id="org.gnome.settings-daemon.plugins.clipboard" path="/org/gnome/settings-daemon/plugins/clipboard/">
+ <key name="active" type="b">
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/background.gnome-settings-plugin.in gnome-settings-daemon-3.6.4/plugins/background/background.gnome-settings-plugin.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/background.gnome-settings-plugin.in 2012-04-07 15:21:20.000000000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/background.gnome-settings-plugin.in 1970-01-01 01:00:00.000000000 +0100
+@@ -1,8 +0,0 @@
+-[GNOME Settings Plugin]
+-Module=background
+-IAge=0
+-_Name=Background
+-_Description=Background plugin
+-Authors=
+-Copyright=Copyright © 2007
+-Website=
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.c gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.c 1970-01-01 01:00:00.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.c 2013-04-10 17:39:36.450215685 +0200
+@@ -0,0 +1,65 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2010 Red Hat, Inc.
++ *
++ * 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
++ *
++ * Author: Tomas Bzatek <tbzatek@redhat.com>
++ */
++
++#include "config.h"
++
++#include <glib.h>
++#include <glib/gi18n.h>
++#include <unistd.h>
++#include <gtk/gtk.h>
++
++#include "gsd-background-manager.h"
++
++int
++main (int argc,
++ char **argv)
++{
++ GMainLoop *loop;
++ GsdBackgroundManager *manager;
++ GError *error = NULL;
++
++ g_type_init ();
++ gtk_init (&argc, &argv);
++
++ bindtextdomain (GETTEXT_PACKAGE, GNOME_SETTINGS_LOCALEDIR);
++ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
++ textdomain (GETTEXT_PACKAGE);
++
++ loop = g_main_loop_new (NULL, FALSE);
++ manager = gsd_background_manager_new ();
++
++ gsd_background_manager_start (manager, &error);
++
++ if (error != NULL) {
++ g_printerr ("Unable to start the background manager: %s",
++ error->message);
++
++ g_error_free (error);
++ _exit (1);
++ }
++
++ g_main_loop_run (loop);
++
++ gsd_background_manager_stop (manager);
++ g_main_loop_unref (loop);
++
++ return 0;
++}
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in 1970-01-01 01:00:00.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-10 17:39:36.450215685 +0200
+@@ -0,0 +1,12 @@
++[Desktop Entry]
++_Name=Background
++_Comment=Background plugin
++Exec=@LIBEXECDIR@/gnome-fallback-background-helper
++Icon=desktop
++Terminal=false
++Type=Application
++Categories=
++NoDisplay=true
++OnlyShowIn=GNOME;Unity;
++X-GNOME-Autostart-Notify=true
++AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-plugin.c gnome-settings-daemon-3.6.4/plugins/background/gsd-background-plugin.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-plugin.c 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/gsd-background-plugin.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,104 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
+- *
+- * 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, 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.
+- *
+- */
+-
+-#include "config.h"
+-
+-#include <glib/gi18n-lib.h>
+-#include <gmodule.h>
+-
+-#include "gnome-settings-plugin.h"
+-#include "gsd-background-plugin.h"
+-#include "gsd-background-manager.h"
+-
+-struct GsdBackgroundPluginPrivate {
+- GsdBackgroundManager *manager;
+-};
+-
+-#define GSD_BACKGROUND_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), GSD_TYPE_BACKGROUND_PLUGIN, GsdBackgroundPluginPrivate))
+-
+-GNOME_SETTINGS_PLUGIN_REGISTER (GsdBackgroundPlugin, gsd_background_plugin)
+-
+-static void
+-gsd_background_plugin_init (GsdBackgroundPlugin *plugin)
+-{
+- plugin->priv = GSD_BACKGROUND_PLUGIN_GET_PRIVATE (plugin);
+-
+- g_debug ("GsdBackgroundPlugin initializing");
+-
+- plugin->priv->manager = gsd_background_manager_new ();
+-}
+-
+-static void
+-gsd_background_plugin_finalize (GObject *object)
+-{
+- GsdBackgroundPlugin *plugin;
+-
+- g_return_if_fail (object != NULL);
+- g_return_if_fail (GSD_IS_BACKGROUND_PLUGIN (object));
+-
+- g_debug ("GsdBackgroundPlugin finalizing");
+-
+- plugin = GSD_BACKGROUND_PLUGIN (object);
+-
+- g_return_if_fail (plugin->priv != NULL);
+-
+- if (plugin->priv->manager != NULL) {
+- g_object_unref (plugin->priv->manager);
+- }
+-
+- G_OBJECT_CLASS (gsd_background_plugin_parent_class)->finalize (object);
+-}
+-
+-static void
+-impl_activate (GnomeSettingsPlugin *plugin)
+-{
+- gboolean res;
+- GError *error;
+-
+- g_debug ("Activating background plugin");
+-
+- error = NULL;
+- res = gsd_background_manager_start (GSD_BACKGROUND_PLUGIN (plugin)->priv->manager, &error);
+- if (! res) {
+- g_warning ("Unable to start background manager: %s", error->message);
+- g_error_free (error);
+- }
+-}
+-
+-static void
+-impl_deactivate (GnomeSettingsPlugin *plugin)
+-{
+- g_debug ("Deactivating background plugin");
+- gsd_background_manager_stop (GSD_BACKGROUND_PLUGIN (plugin)->priv->manager);
+-}
+-
+-static void
+-gsd_background_plugin_class_init (GsdBackgroundPluginClass *klass)
+-{
+- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+- GnomeSettingsPluginClass *plugin_class = GNOME_SETTINGS_PLUGIN_CLASS (klass);
+-
+- object_class->finalize = gsd_background_plugin_finalize;
+-
+- plugin_class->activate = impl_activate;
+- plugin_class->deactivate = impl_deactivate;
+-
+- g_type_class_add_private (klass, sizeof (GsdBackgroundPluginPrivate));
+-}
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-plugin.h gnome-settings-daemon-3.6.4/plugins/background/gsd-background-plugin.h
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-plugin.h 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/gsd-background-plugin.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,59 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
+- *
+- * 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, 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.
+- *
+- */
+-
+-#ifndef __GSD_BACKGROUND_PLUGIN_H__
+-#define __GSD_BACKGROUND_PLUGIN_H__
+-
+-#include <glib.h>
+-#include <glib-object.h>
+-#include <gmodule.h>
+-
+-#include "gnome-settings-plugin.h"
+-
+-G_BEGIN_DECLS
+-
+-#define GSD_TYPE_BACKGROUND_PLUGIN (gsd_background_plugin_get_type ())
+-#define GSD_BACKGROUND_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_BACKGROUND_PLUGIN, GsdBackgroundPlugin))
+-#define GSD_BACKGROUND_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_BACKGROUND_PLUGIN, GsdBackgroundPluginClass))
+-#define GSD_IS_BACKGROUND_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_BACKGROUND_PLUGIN))
+-#define GSD_IS_BACKGROUND_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_BACKGROUND_PLUGIN))
+-#define GSD_BACKGROUND_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_BACKGROUND_PLUGIN, GsdBackgroundPluginClass))
+-
+-typedef struct GsdBackgroundPluginPrivate GsdBackgroundPluginPrivate;
+-
+-typedef struct
+-{
+- GnomeSettingsPlugin parent;
+- GsdBackgroundPluginPrivate *priv;
+-} GsdBackgroundPlugin;
+-
+-typedef struct
+-{
+- GnomeSettingsPluginClass parent_class;
+-} GsdBackgroundPluginClass;
+-
+-GType gsd_background_plugin_get_type (void) G_GNUC_CONST;
+-
+-/* All the plugins must implement this function */
+-G_MODULE_EXPORT GType register_gnome_settings_plugin (GTypeModule *module);
+-
+-G_END_DECLS
+-
+-#endif /* __GSD_BACKGROUND_PLUGIN_H__ */
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am gnome-settings-daemon-3.6.4/plugins/background/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/Makefile.am 2013-04-10 17:40:20.117885180 +0200
+@@ -1,80 +1,34 @@
+-NULL =
++libexec_PROGRAMS = gnome-fallback-background-helper
+
+-plugin_name = background
++gnome_fallback_background_helper_SOURCES = \
++ gnome-fallback-background-helper.c \
++ gsd-background-manager.c \
++ gsd-background-manager.h
+
+-libexec_PROGRAMS = gsd-test-background
+-
+-gsd_test_background_SOURCES = \
+- test-background.c \
+- gsd-background-manager.h \
+- gsd-background-manager.c \
+- $(NULL)
+-
+-gsd_test_background_CPPFLAGS = \
++gnome_fallback_background_helper_CPPFLAGS = \
+ -I$(top_srcdir)/gnome-settings-daemon \
+- -I$(top_srcdir)/plugins/common \
+ -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+ $(AM_CPPFLAGS)
+
+-gsd_test_background_CFLAGS = \
+- $(PLUGIN_CFLAGS) \
++gnome_fallback_background_helper_CFLAGS = \
+ $(SETTINGS_PLUGIN_CFLAGS) \
+- $(BACKGROUND_CFLAGS) \
+- $(AM_CFLAGS)
+-
+-gsd_test_background_LDADD = \
+- $(top_builddir)/gnome-settings-daemon/libgsd.la \
+- $(SETTINGS_PLUGIN_LIBS) \
+- $(BACKGROUND_LIBS) \
+- $(NULL)
+-
+-plugin_LTLIBRARIES = \
+- libbackground.la \
+- $(NULL)
+-
+-libbackground_la_SOURCES = \
+- gsd-background-plugin.h \
+- gsd-background-plugin.c \
+- gsd-background-manager.h \
+- gsd-background-manager.c \
+- $(NULL)
++ $(BACKGROUND_CFLAGS)
+
+-libbackground_la_CPPFLAGS = \
+- -I$(top_srcdir)/gnome-settings-daemon \
+- -I$(top_srcdir)/plugins/background/libbackground \
+- -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+- $(AM_CPPFLAGS)
+-
+-libbackground_la_CFLAGS = \
+- $(SETTINGS_PLUGIN_CFLAGS) \
+- $(BACKGROUND_CFLAGS) \
+- $(AM_CFLAGS)
+-
+-libbackground_la_LDFLAGS = \
+- $(GSD_PLUGIN_LDFLAGS) \
+- $(NULL)
+-
+-libbackground_la_LIBADD = \
++gnome_fallback_background_helper_LDADD = \
+ $(SETTINGS_PLUGIN_LIBS) \
+ $(BACKGROUND_LIBS) \
+- $(NULL)
+-
+-plugin_in_files = \
+- background.gnome-settings-plugin.in \
+- $(NULL)
++ $(top_builddir)/gnome-settings-daemon/libgsd.la
+
+-plugin_DATA = $(plugin_in_files:.gnome-settings-plugin.in=.gnome-settings-plugin)
++autostartdir = $(sysconfdir)/xdg/autostart
++autostart_in_files = gnome-fallback-background-helper.desktop.in
++autostart_in_in_files = gnome-fallback-background-helper.desktop.in.in
++autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
+
+-EXTRA_DIST = \
+- $(plugin_in_files) \
+- $(NULL)
++$(autostart_in_files): $(autostart_in_in_files)
++ @sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@
+
+-CLEANFILES = \
+- $(plugin_DATA) \
+- $(NULL)
++@INTLTOOL_DESKTOP_RULE@
+
+-DISTCLEANFILES = \
+- $(plugin_DATA) \
+- $(NULL)
++EXTRA_DIST = $(autostart_in_in_files)
+
+-@GSD_INTLTOOL_PLUGIN_RULE@
++CLEANFILES = $(autostart_DATA) $(autostart_in_files)
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/test-background.c gnome-settings-daemon-3.6.4/plugins/background/test-background.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/test-background.c 2012-06-01 22:02:53.000000000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/test-background.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-#define NEW gsd_background_manager_new
+-#define START gsd_background_manager_start
+-#define STOP gsd_background_manager_stop
+-#define MANAGER GsdBackgroundManager
+-#include "gsd-background-manager.h"
+-
+-#include "test-plugin.h"
+diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.in gnome-settings-daemon-3.6.4/po/POTFILES.in
+--- gnome-settings-daemon-3.6.4.orig/po/POTFILES.in 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/po/POTFILES.in 2013-04-10 17:39:36.450215685 +0200
+@@ -21,9 +21,9 @@
+ [type: gettext/glade]plugins/a11y-keyboard/gsd-a11y-preferences-dialog.ui
+ [type: gettext/ini]plugins/a11y-settings/a11y-settings.gnome-settings-plugin.in
+ plugins/automount/gnome-fallback-mount-helper.desktop.in.in
++plugins/background/gnome-fallback-background-helper.desktop.in.in
+ plugins/automount/gsd-automount-manager.c
+ plugins/automount/gsd-autorun.c
+-[type: gettext/ini]plugins/background/background.gnome-settings-plugin.in
+ [type: gettext/ini]plugins/clipboard/clipboard.gnome-settings-plugin.in
+ [type: gettext/ini]plugins/color/color.gnome-settings-plugin.in
+ plugins/color/gsd-color-manager.c
+diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.skip gnome-settings-daemon-3.6.4/po/POTFILES.skip
+--- gnome-settings-daemon-3.6.4.orig/po/POTFILES.skip 2012-04-07 18:58:07.000000000 +0200
++++ gnome-settings-daemon-3.6.4/po/POTFILES.skip 2013-04-10 17:39:36.453549095 +0200
+@@ -20,6 +20,7 @@
+ data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in
+ data/org.gnome.settings-daemon.plugins.xrandr.gschema.xml.in
+ data/org.gnome.settings-daemon.plugins.xsettings.gschema.xml.in
++plugins/background/gnome-fallback-background-helper.desktop.in
+ plugins/automount/gnome-fallback-mount-helper.desktop.in
+ plugins/power/org.gnome.settings-daemon.plugins.power.policy.in
+ plugins/wacom/org.gnome.settings-daemon.plugins.wacom.policy.in
diff --git a/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch b/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch
new file mode 100644
index 000000000..61be1737e
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch
@@ -0,0 +1,564 @@
+diff -Naur gnome-settings-daemon-3.6.4.orig/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in gnome-settings-daemon-3.6.4/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in
+--- gnome-settings-daemon-3.6.4.orig/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in 2013-04-24 03:11:02.893859531 +0200
++++ gnome-settings-daemon-3.6.4/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in 2013-04-24 13:43:11.128884064 +0200
+@@ -9,7 +9,6 @@
+ <child name="gsdwacom" schema="org.gnome.settings-daemon.plugins.gsdwacom"/>
+ <child name="housekeeping" schema="org.gnome.settings-daemon.plugins.housekeeping"/>
+ <child name="keyboard" schema="org.gnome.settings-daemon.plugins.keyboard"/>
+- <child name="media-keys" schema="org.gnome.settings-daemon.plugins.media-keys"/>
+ <child name="mouse" schema="org.gnome.settings-daemon.plugins.mouse"/>
+ <child name="orientation" schema="org.gnome.settings-daemon.plugins.orientation"/>
+ <child name="power" schema="org.gnome.settings-daemon.plugins.power"/>
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.c gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.c 1970-01-01 01:00:00.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.c 2013-04-24 13:43:11.132217470 +0200
+@@ -0,0 +1,65 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2010 Red Hat, Inc.
++ *
++ * 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
++ *
++ * Author: Tomas Bzatek <tbzatek@redhat.com>
++ */
++
++#include "config.h"
++
++#include <glib.h>
++#include <glib/gi18n.h>
++#include <unistd.h>
++#include <gtk/gtk.h>
++
++#include "gsd-media-keys-manager.h"
++
++int
++main (int argc,
++ char **argv)
++{
++ GMainLoop *loop;
++ GsdMediaKeysManager *manager;
++ GError *error = NULL;
++
++ g_type_init ();
++ gtk_init (&argc, &argv);
++
++ bindtextdomain (GETTEXT_PACKAGE, GNOME_SETTINGS_LOCALEDIR);
++ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
++ textdomain (GETTEXT_PACKAGE);
++
++ loop = g_main_loop_new (NULL, FALSE);
++ manager = gsd_media_keys_manager_new ();
++
++ gsd_media_keys_manager_start (manager, &error);
++
++ if (error != NULL) {
++ g_printerr ("Unable to start the media-keys manager: %s",
++ error->message);
++
++ g_error_free (error);
++ _exit (1);
++ }
++
++ g_main_loop_run (loop);
++
++ gsd_media_keys_manager_stop (manager);
++ g_main_loop_unref (loop);
++
++ return 0;
++}
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 1970-01-01 01:00:00.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 13:43:11.132217470 +0200
+@@ -0,0 +1,12 @@
++[Desktop Entry]
++_Name=Media keys
++_Comment=Media keys plugin
++Exec=@LIBEXECDIR@/gnome-fallback-media-keys-helper
++Icon=multimedia
++Terminal=false
++Type=Application
++Categories=
++NoDisplay=true
++OnlyShowIn=GNOME;Unity;
++X-GNOME-Autostart-Notify=true
++AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-manager.c gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-manager.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-manager.c 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-manager.c 2013-04-24 13:43:11.132217470 +0200
+@@ -44,7 +44,6 @@
+ #include <gudev/gudev.h>
+ #endif
+
+-#include "gnome-settings-profile.h"
+ #include "gsd-marshal.h"
+ #include "gsd-media-keys-manager.h"
+
+@@ -622,8 +621,6 @@
+ char **custom_paths;
+ int i;
+
+- gnome_settings_profile_start (NULL);
+-
+ gdk_error_trap_push ();
+
+ manager->priv->keys = g_ptr_array_new_with_free_func ((GDestroyNotify) media_key_free);
+@@ -661,8 +658,6 @@
+ gdk_flush ();
+ if (gdk_error_trap_pop ())
+ g_warning ("Grab failed for some keys, another application may already have access the them.");
+-
+- gnome_settings_profile_end (NULL);
+ }
+
+ static void
+@@ -2090,7 +2085,6 @@
+ char *theme_name;
+
+ g_debug ("Starting media_keys manager");
+- gnome_settings_profile_start (NULL);
+
+ manager->priv->settings = g_settings_new (SETTINGS_BINDING_DIR);
+ g_signal_connect (G_OBJECT (manager->priv->settings), "changed",
+@@ -2137,19 +2131,14 @@
+
+ /* Start filtering the events */
+ for (l = manager->priv->screens; l != NULL; l = l->next) {
+- gnome_settings_profile_start ("gdk_window_add_filter");
+-
+ g_debug ("adding key filter for screen: %d",
+ gdk_screen_get_number (l->data));
+
+ gdk_window_add_filter (gdk_screen_get_root_window (l->data),
+ (GdkFilterFunc) filter_key_events,
+ manager);
+- gnome_settings_profile_end ("gdk_window_add_filter");
+ }
+
+- gnome_settings_profile_end (NULL);
+-
+ manager->priv->start_idle_id = 0;
+
+ return FALSE;
+@@ -2161,8 +2150,6 @@
+ {
+ const char * const subsystems[] = { "input", "usb", "sound", NULL };
+
+- gnome_settings_profile_start (NULL);
+-
+ if (supports_xinput2_devices (&manager->priv->opcode) == FALSE) {
+ g_debug ("No Xinput2 support, disabling plugin");
+ return TRUE;
+@@ -2179,8 +2166,6 @@
+ * The rest (grabbing and setting the keys) can happen in an
+ * idle.
+ */
+- gnome_settings_profile_start ("gvc_mixer_control_new");
+-
+ manager->priv->volume = gvc_mixer_control_new ("GNOME Volume Control Media Keys");
+
+ g_signal_connect (manager->priv->volume,
+@@ -2198,14 +2183,10 @@
+
+ gvc_mixer_control_open (manager->priv->volume);
+
+- gnome_settings_profile_end ("gvc_mixer_control_new");
+-
+ manager->priv->start_idle_id = g_idle_add ((GSourceFunc) start_media_keys_idle_cb, manager);
+
+ register_manager (manager_object);
+
+- gnome_settings_profile_end (NULL);
+-
+ return TRUE;
+ }
+
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-plugin.c gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-plugin.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-plugin.c 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-plugin.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,104 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
+- *
+- * 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, 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.
+- *
+- */
+-
+-#include "config.h"
+-
+-#include <glib/gi18n-lib.h>
+-#include <gmodule.h>
+-
+-#include "gnome-settings-plugin.h"
+-#include "gsd-media-keys-plugin.h"
+-#include "gsd-media-keys-manager.h"
+-
+-struct GsdMediaKeysPluginPrivate {
+- GsdMediaKeysManager *manager;
+-};
+-
+-#define GSD_MEDIA_KEYS_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), GSD_TYPE_MEDIA_KEYS_PLUGIN, GsdMediaKeysPluginPrivate))
+-
+-GNOME_SETTINGS_PLUGIN_REGISTER (GsdMediaKeysPlugin, gsd_media_keys_plugin)
+-
+-static void
+-gsd_media_keys_plugin_init (GsdMediaKeysPlugin *plugin)
+-{
+- plugin->priv = GSD_MEDIA_KEYS_PLUGIN_GET_PRIVATE (plugin);
+-
+- g_debug ("GsdMediaKeysPlugin initializing");
+-
+- plugin->priv->manager = gsd_media_keys_manager_new ();
+-}
+-
+-static void
+-gsd_media_keys_plugin_finalize (GObject *object)
+-{
+- GsdMediaKeysPlugin *plugin;
+-
+- g_return_if_fail (object != NULL);
+- g_return_if_fail (GSD_IS_MEDIA_KEYS_PLUGIN (object));
+-
+- g_debug ("GsdMediaKeysPlugin finalizing");
+-
+- plugin = GSD_MEDIA_KEYS_PLUGIN (object);
+-
+- g_return_if_fail (plugin->priv != NULL);
+-
+- if (plugin->priv->manager != NULL) {
+- g_object_unref (plugin->priv->manager);
+- }
+-
+- G_OBJECT_CLASS (gsd_media_keys_plugin_parent_class)->finalize (object);
+-}
+-
+-static void
+-impl_activate (GnomeSettingsPlugin *plugin)
+-{
+- gboolean res;
+- GError *error;
+-
+- g_debug ("Activating media_keys plugin");
+-
+- error = NULL;
+- res = gsd_media_keys_manager_start (GSD_MEDIA_KEYS_PLUGIN (plugin)->priv->manager, &error);
+- if (! res) {
+- g_warning ("Unable to start media_keys manager: %s", error->message);
+- g_error_free (error);
+- }
+-}
+-
+-static void
+-impl_deactivate (GnomeSettingsPlugin *plugin)
+-{
+- g_debug ("Deactivating media_keys plugin");
+- gsd_media_keys_manager_stop (GSD_MEDIA_KEYS_PLUGIN (plugin)->priv->manager);
+-}
+-
+-static void
+-gsd_media_keys_plugin_class_init (GsdMediaKeysPluginClass *klass)
+-{
+- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+- GnomeSettingsPluginClass *plugin_class = GNOME_SETTINGS_PLUGIN_CLASS (klass);
+-
+- object_class->finalize = gsd_media_keys_plugin_finalize;
+-
+- plugin_class->activate = impl_activate;
+- plugin_class->deactivate = impl_deactivate;
+-
+- g_type_class_add_private (klass, sizeof (GsdMediaKeysPluginPrivate));
+-}
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-plugin.h gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-plugin.h
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-plugin.h 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-plugin.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,59 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
+- *
+- * 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, 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.
+- *
+- */
+-
+-#ifndef __GSD_MEDIA_KEYS_PLUGIN_H__
+-#define __GSD_MEDIA_KEYS_PLUGIN_H__
+-
+-#include <glib.h>
+-#include <glib-object.h>
+-#include <gmodule.h>
+-
+-#include "gnome-settings-plugin.h"
+-
+-G_BEGIN_DECLS
+-
+-#define GSD_TYPE_MEDIA_KEYS_PLUGIN (gsd_media_keys_plugin_get_type ())
+-#define GSD_MEDIA_KEYS_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_MEDIA_KEYS_PLUGIN, GsdMediaKeysPlugin))
+-#define GSD_MEDIA_KEYS_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_MEDIA_KEYS_PLUGIN, GsdMediaKeysPluginClass))
+-#define GSD_IS_MEDIA_KEYS_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_MEDIA_KEYS_PLUGIN))
+-#define GSD_IS_MEDIA_KEYS_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_MEDIA_KEYS_PLUGIN))
+-#define GSD_MEDIA_KEYS_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_MEDIA_KEYS_PLUGIN, GsdMediaKeysPluginClass))
+-
+-typedef struct GsdMediaKeysPluginPrivate GsdMediaKeysPluginPrivate;
+-
+-typedef struct
+-{
+- GnomeSettingsPlugin parent;
+- GsdMediaKeysPluginPrivate *priv;
+-} GsdMediaKeysPlugin;
+-
+-typedef struct
+-{
+- GnomeSettingsPluginClass parent_class;
+-} GsdMediaKeysPluginClass;
+-
+-GType gsd_media_keys_plugin_get_type (void) G_GNUC_CONST;
+-
+-/* All the plugins must implement this function */
+-G_MODULE_EXPORT GType register_gnome_settings_plugin (GTypeModule *module);
+-
+-G_END_DECLS
+-
+-#endif /* __GSD_MEDIA_KEYS_PLUGIN_H__ */
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/Makefile.am gnome-settings-daemon-3.6.4/plugins/media-keys/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/Makefile.am 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/Makefile.am 2013-04-24 14:26:01.414463895 +0200
+@@ -1,17 +1,11 @@
+ icondir = $(datadir)/icons/hicolor
+ context = actions
+
+-plugin_name = media-keys
+-
+-NULL =
+-
+ SUBDIRS = cut-n-paste
+-plugin_LTLIBRARIES = libmedia-keys.la
+
+ BUILT_SOURCES = \
+ gsd-marshal.h \
+- gsd-marshal.c \
+- $(NULL)
++ gsd-marshal.c
+
+ gsd-marshal.c: gsd-marshal.list
+ $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=gsd_marshal $< --header --body --internal > $@
+@@ -19,62 +13,16 @@
+ gsd-marshal.h: gsd-marshal.list
+ $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=gsd_marshal $< --header --internal > $@
+
+-libmedia_keys_la_SOURCES = \
+- gsd-media-keys-plugin.h \
+- gsd-media-keys-plugin.c \
+- gsd-media-keys-manager.h \
+- gsd-media-keys-manager.c \
+- gsd-osd-window.c \
+- gsd-osd-window.h \
+- gsd-osd-window-private.h \
+- shortcuts-list.h \
+- $(BUILT_SOURCES) \
+- $(NULL)
+-
+-libmedia_keys_la_CPPFLAGS = \
+- -I$(top_srcdir)/data/ \
+- -I$(top_srcdir)/gnome-settings-daemon \
+- -I$(top_srcdir)/plugins/common \
+- -I$(top_srcdir)/plugins/media-keys/cut-n-paste \
+- -DBINDIR=\"$(bindir)\" \
+- -DPIXMAPDIR=\""$(pkgdatadir)"\" \
+- -DGTKBUILDERDIR=\""$(pkgdatadir)"\" \
+- -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+- $(AM_CPPFLAGS)
+-
+-libmedia_keys_la_CFLAGS = \
+- $(PLUGIN_CFLAGS) \
+- $(SETTINGS_PLUGIN_CFLAGS) \
+- $(MEDIA_KEYS_CFLAGS) \
+- $(AM_CFLAGS)
+-
+-libmedia_keys_la_LDFLAGS = \
+- $(GSD_PLUGIN_LDFLAGS)
+-
+-libmedia_keys_la_LIBADD = \
+- $(top_builddir)/plugins/common/libcommon.la \
+- $(top_builddir)/plugins/media-keys/cut-n-paste/libgvc.la \
+- $(MEDIA_KEYS_LIBS) \
+- $(SETTINGS_PLUGIN_LIBS) \
+- -lm
+-
+-plugin_in_files = \
+- media-keys.gnome-settings-plugin.in
+-
+-plugin_DATA = $(plugin_in_files:.gnome-settings-plugin.in=.gnome-settings-plugin)
+-
+ noinst_PROGRAMS = test-media-window
+
+ test_media_window_SOURCES = \
+ gsd-osd-window.c \
+ gsd-osd-window.h \
+ gsd-osd-window-private.h \
+- test-media-window.c \
+- $(NULL)
++ test-media-window.c
+
+ test_media_window_CPPFLAGS = \
+ -I$(top_srcdir)/data/ \
+- -I$(top_srcdir)/gnome-settings-daemon \
+ -I$(top_srcdir)/plugins/common \
+ -I$(top_srcdir)/plugins/media-keys/cut-n-paste \
+ -DDATADIR=\""$(datadir)"\" \
+@@ -93,21 +41,19 @@
+ $(SETTINGS_PLUGIN_LIBS) \
+ -lm
+
+-libexec_PROGRAMS = gsd-test-media-keys
++libexec_PROGRAMS = gnome-fallback-media-keys-helper
+
+-gsd_test_media_keys_SOURCES = \
++gnome_fallback_media_keys_helper_SOURCES = \
+ gsd-media-keys-manager.c \
+ gsd-media-keys-manager.h \
+ gsd-osd-window.c \
+ gsd-osd-window.h \
+ gsd-osd-window-private.h \
+- test-media-keys.c \
+- $(BUILT_SOURCES) \
+- $(NULL)
++ gnome-fallback-media-keys-helper.c \
++ $(BUILT_SOURCES)
+
+-gsd_test_media_keys_CPPFLAGS = \
++gnome_fallback_media_keys_helper_CPPFLAGS = \
+ -I$(top_srcdir)/data/ \
+- -I$(top_srcdir)/gnome-settings-daemon \
+ -I$(top_srcdir)/plugins/common \
+ -I$(top_srcdir)/plugins/media-keys/cut-n-paste \
+ -DBINDIR=\"$(bindir)\" \
+@@ -116,14 +62,12 @@
+ -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+ $(AM_CPPFLAGS)
+
+-gsd_test_media_keys_CFLAGS = \
++gnome_fallback_media_keys_helper_CFLAGS = \
+ $(PLUGIN_CFLAGS) \
+ $(SETTINGS_PLUGIN_CFLAGS) \
+- $(MEDIA_KEYS_CFLAGS) \
+- $(AM_CFLAGS)
++ $(MEDIA_KEYS_CFLAGS)
+
+-gsd_test_media_keys_LDADD = \
+- $(top_builddir)/gnome-settings-daemon/libgsd.la \
++gnome_fallback_media_keys_helper_LDADD = \
+ $(top_builddir)/plugins/common/libcommon.la \
+ $(top_builddir)/plugins/media-keys/cut-n-paste/libgvc.la \
+ $(SETTINGS_DAEMON_LIBS) \
+@@ -131,17 +75,24 @@
+ $(MEDIA_KEYS_LIBS) \
+ -lm
+
++autostartdir = $(sysconfdir)/xdg/autostart
++autostart_in_files = gnome-fallback-media-keys-helper.desktop.in
++autostart_in_in_files = gnome-fallback-media-keys-helper.desktop.in.in
++autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
++
++$(autostart_in_files): $(autostart_in_in_files)
++ @sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@
++
++@INTLTOOL_DESKTOP_RULE@
++
+ EXTRA_DIST = \
+ gsd-marshal.list \
+ README.media-keys-API \
+ test-media-window-clutter.c \
+- $(plugin_in_files)
++ $(autostart_in_in_files)
+
+ CLEANFILES = \
+ $(BUILT_SOURCES) \
+- $(plugin_DATA)
+-
+-DISTCLEANFILES = \
+- $(plugin_DATA)
++ $(autostart_DATA) \
++ $(autostart_in_files)
+
+-@GSD_INTLTOOL_PLUGIN_RULE@
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/media-keys.gnome-settings-plugin.in gnome-settings-daemon-3.6.4/plugins/media-keys/media-keys.gnome-settings-plugin.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/media-keys.gnome-settings-plugin.in 2012-04-07 15:21:20.000000000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/media-keys.gnome-settings-plugin.in 1970-01-01 01:00:00.000000000 +0100
+@@ -1,8 +0,0 @@
+-[GNOME Settings Plugin]
+-Module=media-keys
+-IAge=0
+-_Name=Media keys
+-_Description=Media keys plugin
+-Authors=
+-Copyright=Copyright © 2007
+-Website=
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/test-media-keys.c gnome-settings-daemon-3.6.4/plugins/media-keys/test-media-keys.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/test-media-keys.c 2012-06-01 22:02:53.000000000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/test-media-keys.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-#define NEW gsd_media_keys_manager_new
+-#define START gsd_media_keys_manager_start
+-#define STOP gsd_media_keys_manager_stop
+-#define MANAGER GsdMediaKeysManager
+-#include "gsd-media-keys-manager.h"
+-
+-#include "test-plugin.h"
+diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.in gnome-settings-daemon-3.6.4/po/POTFILES.in
+--- gnome-settings-daemon-3.6.4.orig/po/POTFILES.in 2013-04-24 03:11:02.897192946 +0200
++++ gnome-settings-daemon-3.6.4/po/POTFILES.in 2013-04-24 13:43:11.132217470 +0200
+@@ -34,7 +34,7 @@
+ [type: gettext/ini]plugins/keyboard/keyboard.gnome-settings-plugin.in
+ plugins/media-keys/cut-n-paste/gvc-mixer-control.c
+ plugins/media-keys/gsd-media-keys-manager.c
+-[type: gettext/ini]plugins/media-keys/media-keys.gnome-settings-plugin.in
++plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in
+ plugins/mouse/gsd-mouse-manager.c
+ [type: gettext/ini]plugins/mouse/mouse.gnome-settings-plugin.in
+ plugins/power/gpm-common.c
+diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.skip gnome-settings-daemon-3.6.4/po/POTFILES.skip
+--- gnome-settings-daemon-3.6.4.orig/po/POTFILES.skip 2013-04-24 03:11:02.897192946 +0200
++++ gnome-settings-daemon-3.6.4/po/POTFILES.skip 2013-04-24 13:43:11.132217470 +0200
+@@ -22,5 +22,6 @@
+ data/org.gnome.settings-daemon.plugins.xsettings.gschema.xml.in
+ plugins/background/gnome-fallback-background-helper.desktop.in
+ plugins/automount/gnome-fallback-mount-helper.desktop.in
++plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in
+ plugins/power/org.gnome.settings-daemon.plugins.power.policy.in
+ plugins/wacom/org.gnome.settings-daemon.plugins.wacom.policy.in
diff --git a/community/gnome-settings-daemon-compat/xinput.patch b/community/gnome-settings-daemon-compat/xinput.patch
new file mode 100644
index 000000000..67c8082cb
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/xinput.patch
@@ -0,0 +1,36 @@
+From 14f92b1479aa065edf3f0aa86b87d4c4ff1fe2ba Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Thu, 07 Feb 2013 04:14:22 +0000
+Subject: Fix media-keys handling with GTK+ 3.7.8
+
+GDK now requests XI 2.3 and if the X server supports that
+version, subsequent requests for a lower version yield
+a BadValue. Therefore, we need to change the code in
+gsd-input-helper.c to request 2.3 as well.
+---
+diff --git a/plugins/common/gsd-input-helper.c b/plugins/common/gsd-input-helper.c
+index 54427af..d5d2a2a 100644
+--- a/plugins/common/gsd-input-helper.c
++++ b/plugins/common/gsd-input-helper.c
+@@ -144,18 +144,11 @@ supports_xinput2_devices (int *opcode)
+ gdk_error_trap_push ();
+
+ major = 2;
+- minor = 0;
++ minor = 3;
+
+ if (XIQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor) != Success) {
+ gdk_error_trap_pop_ignored ();
+- /* try for 2.2, maybe gtk has already announced 2.2 support */
+- gdk_error_trap_push ();
+- major = 2;
+- minor = 2;
+- if (XIQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor) != Success) {
+- gdk_error_trap_pop_ignored ();
+ return FALSE;
+- }
+ }
+ gdk_error_trap_pop_ignored ();
+
+--
+cgit v0.9.1
diff --git a/community/gnome-settings-daemon-updates/PKGBUILD b/community/gnome-settings-daemon-updates/PKGBUILD
new file mode 100644
index 000000000..bed9955a3
--- /dev/null
+++ b/community/gnome-settings-daemon-updates/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 91086 2013-05-19 01:51:02Z jconder $
+# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
+
+_pkgname=gnome-settings-daemon
+pkgname=$_pkgname-updates
+pkgver=3.8.2
+pkgrel=1
+pkgdesc="Updates plugin for the GNOME Settings daemon"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gnome-packagekit' "$_pkgname")
+makedepends=('intltool' 'gtk-doc' 'gnome-desktop' 'gnome-common' 'xf86-input-wacom')
+options=('!emptydirs' '!libtool')
+install=$_pkgname.install
+url="http://www.gnome.org"
+source=("http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz"
+ 'arch.patch')
+sha256sums=('e2118024549b1a3b24e338403d3451211b8cde5c68e387d9a0081e137191b0be'
+ '32f18a02698bb24aa8ae293eb7bf74a8261e3ce2c5149d259a87bd14500089ea')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ patch -Np1 -i "$srcdir/arch.patch"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/gnome-settings-daemon \
+ --disable-static
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=656231
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make -s
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make -C 'plugins/updates' DESTDIR="${pkgdir}" install
+}
diff --git a/community/gnome-settings-daemon-updates/arch.patch b/community/gnome-settings-daemon-updates/arch.patch
new file mode 100644
index 000000000..df70cd9f8
--- /dev/null
+++ b/community/gnome-settings-daemon-updates/arch.patch
@@ -0,0 +1,325 @@
+diff --git a/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in b/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in
+index 9af2718..bb45e48 100644
+--- a/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in
++++ b/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in
+@@ -16,7 +16,7 @@
+ <_description>Use mobile broadband connections such as GSM and CDMA to check for updates.</_description>
+ </key>
+ <key name="auto-download-updates" type="b">
+- <default>true</default>
++ <default>false</default>
+ <_summary>Automatically download updates in the background without confirmation</_summary>
+ <_description>Automatically download updates in the background without confirmation. Updates will be auto-downloaded when using wired network connnections, and mobile broadband if 'connection-use-mobile' is enabled.</_description>
+ </key>
+@@ -36,7 +36,7 @@
+ <_description>The last time we notified the user about non-critical updates. Value is in seconds since the epoch, or zero for never.</_description>
+ </key>
+ <key name="frequency-get-upgrades" type="i">
+- <default>604800</default>
++ <default>0</default>
+ <_summary>How often to check for distribution upgrades</_summary>
+ <_description>How often to check for distribution upgrades. Value is in seconds.</_description>
+ </key>
+diff --git a/plugins/updates/Makefile.am b/plugins/updates/Makefile.am
+index 81c7179..6fd3534 100644
+--- a/plugins/updates/Makefile.am
++++ b/plugins/updates/Makefile.am
+@@ -15,7 +15,9 @@ libupdates_la_SOURCES = \
+ gsd-updates-firmware.h \
+ gsd-updates-firmware.c \
+ gsd-updates-manager.h \
+- gsd-updates-manager.c
++ gsd-updates-manager.c \
++ gsd-updates-watch.h \
++ gsd-updates-watch.c
+
+ libupdates_la_CPPFLAGS = \
+ -I$(top_srcdir)/gnome-settings-daemon \
+diff --git a/plugins/updates/gsd-updates-manager.c b/plugins/updates/gsd-updates-manager.c
+index 95ee1c4..7b26c06 100644
+--- a/plugins/updates/gsd-updates-manager.c
++++ b/plugins/updates/gsd-updates-manager.c
+@@ -33,6 +33,7 @@
+ #include "gsd-updates-manager.h"
+ #include "gsd-updates-firmware.h"
+ #include "gsd-updates-refresh.h"
++#include "gsd-updates-watch.h"
+ #include "gsd-updates-common.h"
+ #include "gnome-settings-profile.h"
+
+@@ -47,6 +48,7 @@ struct GsdUpdatesManagerPrivate
+ GCancellable *cancellable;
+ GsdUpdatesRefresh *refresh;
+ GsdUpdatesFirmware *firmware;
++ GsdUpdatesWatch *watch;
+ GSettings *settings_proxy;
+ GSettings *settings_ftp;
+ GSettings *settings_gsd;
+@@ -1360,6 +1362,9 @@ gsd_updates_manager_start (GsdUpdatesManager *manager,
+ g_signal_connect (manager->priv->refresh, "get-updates",
+ G_CALLBACK (due_get_updates_cb), manager);
+
++ /* watch transaction progress */
++ manager->priv->watch = gsd_updates_watch_new ();
++
+ /* get proxy settings */
+ manager->priv->settings_proxy = g_settings_new ("org.gnome.system.proxy");
+ g_signal_connect (manager->priv->settings_proxy, "changed",
+@@ -1455,6 +1460,7 @@ gsd_updates_manager_stop (GsdUpdatesManager *manager)
+ g_clear_object (&manager->priv->task);
+ g_clear_object (&manager->priv->refresh);
+ g_clear_object (&manager->priv->firmware);
++ g_clear_object (&manager->priv->watch);
+ g_clear_object (&manager->priv->proxy_session);
+ g_clear_object (&manager->priv->volume_monitor);
+ g_clear_object (&manager->priv->cancellable);
+diff --git a/plugins/updates/gsd-updates-watch.c b/plugins/updates/gsd-updates-watch.c
+new file mode 100644
+index 0000000..d3a0202
+--- /dev/null
++++ b/plugins/updates/gsd-updates-watch.c
+@@ -0,0 +1,186 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2011-2012 Jonathan Conder <jonno.conder@gmail.com>
++ *
++ * Licensed under the GNU General Public License Version 2
++ *
++ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ */
++
++#include "config.h"
++
++#include <unistd.h>
++#include <glib/gi18n.h>
++#include <packagekit-glib2/packagekit.h>
++#include <libnotify/notify.h>
++
++#include "gsd-updates-watch.h"
++
++#define GSD_UPDATES_WATCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_UPDATES_WATCH, GsdUpdatesWatchPrivate))
++
++struct GsdUpdatesWatchPrivate
++{
++ PkTransactionList *tlist;
++ PkClient *client;
++};
++
++G_DEFINE_TYPE (GsdUpdatesWatch, gsd_updates_watch, G_TYPE_OBJECT)
++
++static void
++on_notification_closed (NotifyNotification *notification, gpointer data)
++{
++ g_object_unref (notification);
++}
++
++static void
++gsd_updates_watch_message_cb (PkMessage *item, GsdUpdatesWatch *watch)
++{
++ NotifyNotification *notification;
++ gchar *details = NULL;
++ const gchar *title, *message;
++ GError *error = NULL;
++
++ g_return_if_fail (PK_IS_MESSAGE (item));
++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch));
++
++ g_object_get (item, "details", &details, NULL);
++ title = _("More information");
++ message = details;
++
++ /* use a better title if available */
++ if (g_str_has_prefix (details, "<b>")) {
++ gchar *end = g_strstr_len (details, -1, "</b>\n");
++ if (end != NULL && g_strstr_len (details, end - details, "\n") == NULL) {
++ title = details + 3;
++ *end = '\0';
++ message = end + 5;
++ }
++ }
++
++ /* display a notification */
++ notification = notify_notification_new (title, message, NULL);
++ notify_notification_set_app_name (notification, _("Software Updates"));
++ notify_notification_set_timeout (notification, NOTIFY_EXPIRES_NEVER);
++ notify_notification_set_urgency (notification, NOTIFY_URGENCY_NORMAL);
++
++ g_signal_connect (notification, "closed", G_CALLBACK (on_notification_closed), NULL);
++ if (!notify_notification_show (notification, &error)) {
++ g_warning ("error: %s", error->message);
++ g_error_free (error);
++ }
++
++ g_free (details);
++}
++
++static void
++gsd_updates_watch_adopt_cb (PkClient *client, GAsyncResult *res, GsdUpdatesWatch *watch)
++{
++ PkResults *results;
++ PkProgress *progress = NULL;
++ guint uid;
++ GPtrArray *array;
++ GError *error = NULL;
++
++ g_return_if_fail (PK_IS_CLIENT (client));
++ g_return_if_fail (G_IS_ASYNC_RESULT (res));
++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch));
++
++ results = pk_client_generic_finish (client, res, &error);
++ if (results == NULL) {
++ g_warning ("failed to adopt: %s", error->message);
++ g_error_free (error);
++ goto out;
++ }
++
++ g_object_get (results, "progress", &progress, NULL);
++ g_object_get (progress, "uid", &uid, NULL);
++
++ /* only display messages from the same user */
++ if (uid != getuid ()) {
++ g_printerr ("ignoring messages\n");
++ goto out;
++ }
++
++ array = pk_results_get_message_array (results);
++ g_ptr_array_foreach (array, (GFunc) gsd_updates_watch_message_cb, watch);
++ g_ptr_array_unref (array);
++
++out:
++ if (progress != NULL) {
++ g_object_unref (progress);
++ }
++ if (results != NULL) {
++ g_object_unref (results);
++ }
++}
++
++static void
++gsd_updates_watch_tlist_added_cb (PkTransactionList *tlist, const gchar *tid, GsdUpdatesWatch *watch)
++{
++ g_return_if_fail (PK_IS_TRANSACTION_LIST (tlist));
++ g_return_if_fail (tid != NULL);
++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch));
++
++ /* listen for messages */
++ pk_client_adopt_async (watch->priv->client, tid, NULL, NULL, NULL,
++ (GAsyncReadyCallback) gsd_updates_watch_adopt_cb, watch);
++}
++
++static void
++gsd_updates_watch_init (GsdUpdatesWatch *watch)
++{
++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch));
++
++ watch->priv = GSD_UPDATES_WATCH_GET_PRIVATE (watch);
++ watch->priv->tlist = pk_transaction_list_new ();
++ watch->priv->client = pk_client_new ();
++
++ g_signal_connect (watch->priv->tlist, "added",
++ G_CALLBACK (gsd_updates_watch_tlist_added_cb), watch);
++}
++
++static void
++gsd_updates_watch_finalize (GObject *object)
++{
++ GsdUpdatesWatch *watch;
++
++ g_return_if_fail (GSD_IS_UPDATES_WATCH (object));
++
++ watch = GSD_UPDATES_WATCH (object);
++ g_return_if_fail (watch->priv != NULL);
++
++ if (watch->priv->tlist != NULL) {
++ g_object_unref (watch->priv->tlist);
++ }
++ if (watch->priv->client != NULL) {
++ g_object_unref (watch->priv->client);
++ }
++
++ G_OBJECT_CLASS (gsd_updates_watch_parent_class)->finalize (object);
++}
++
++GsdUpdatesWatch *
++gsd_updates_watch_new (void)
++{
++ return GSD_UPDATES_WATCH (g_object_new (GSD_TYPE_UPDATES_WATCH, NULL));
++}
++
++static void
++gsd_updates_watch_class_init (GsdUpdatesWatchClass *klass)
++{
++ GObjectClass *object_class = G_OBJECT_CLASS (klass);
++ object_class->finalize = gsd_updates_watch_finalize;
++ g_type_class_add_private (klass, sizeof (GsdUpdatesWatchPrivate));
++}
+diff --git a/plugins/updates/gsd-updates-watch.h b/plugins/updates/gsd-updates-watch.h
+new file mode 100644
+index 0000000..439464f
+--- /dev/null
++++ b/plugins/updates/gsd-updates-watch.h
+@@ -0,0 +1,52 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2011-2012 Jonathan Conder <jonno.conder@gmail.com>
++ *
++ * Licensed under the GNU General Public License Version 2
++ *
++ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ */
++
++#ifndef __GSD_UPDATES_WATCH_H
++#define __GSD_UPDATES_WATCH_H
++
++#include <glib-object.h>
++
++G_BEGIN_DECLS
++
++#define GSD_TYPE_UPDATES_WATCH (gsd_updates_watch_get_type ())
++#define GSD_UPDATES_WATCH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_UPDATES_WATCH, GsdUpdatesWatch))
++#define GSD_UPDATES_WATCH_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_UPDATES_WATCH, GsdUpdatesWatchClass))
++#define GSD_IS_UPDATES_WATCH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_UPDATES_WATCH))
++
++typedef struct GsdUpdatesWatchPrivate GsdUpdatesWatchPrivate;
++
++typedef struct
++{
++ GObject parent;
++ GsdUpdatesWatchPrivate *priv;
++} GsdUpdatesWatch;
++
++typedef struct
++{
++ GObjectClass parent_class;
++} GsdUpdatesWatchClass;
++
++GType gsd_updates_watch_get_type (void);
++GsdUpdatesWatch *gsd_updates_watch_new (void);
++
++G_END_DECLS
++
++#endif /* __GSD_UPDATES_WATCH_H */
diff --git a/community/gnome-settings-daemon-updates/gnome-settings-daemon.install b/community/gnome-settings-daemon-updates/gnome-settings-daemon.install
new file mode 100644
index 000000000..f7e8c46ac
--- /dev/null
+++ b/community/gnome-settings-daemon-updates/gnome-settings-daemon.install
@@ -0,0 +1,12 @@
+post_install() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gnome-subtitles/PKGBUILD b/community/gnome-subtitles/PKGBUILD
new file mode 100644
index 000000000..3e4363d8e
--- /dev/null
+++ b/community/gnome-subtitles/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 87454 2013-03-31 21:57:58Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=gnome-subtitles
+pkgver=1.3
+pkgrel=1
+pkgdesc="Video subtitle editor for GNOME"
+arch=('i686' 'x86_64')
+url="http://gnomesubtitles.org/"
+license=('GPL')
+depends=('gst-plugins-base' 'gconf-sharp' 'gtkspell' 'desktop-file-utils')
+makedepends=('intltool' 'gnome-doc-utils')
+optdepends=('gst-plugins-good: Extra media codecs'
+ 'gst-plugins-bad: Extra media codecs'
+ 'gst-plugins-ugly: Extra media codecs'
+ 'gst-libav: Extra media codecs')
+options=('!libtool')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('b0570134af6626d4e6c018c5f7774964')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make -j1
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/gnome-subtitles/gnome-subtitles.install b/community/gnome-subtitles/gnome-subtitles.install
new file mode 100644
index 000000000..adb0ba085
--- /dev/null
+++ b/community/gnome-subtitles/gnome-subtitles.install
@@ -0,0 +1,22 @@
+pkgname=gnome-subtitles
+
+post_install() {
+ gconfpkg --install $pkgname
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ gconfpkg --uninstall $pkgname
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/community/gnome-web-photo/PKGBUILD b/community/gnome-web-photo/PKGBUILD
new file mode 100644
index 000000000..ee29c7b08
--- /dev/null
+++ b/community/gnome-web-photo/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 70732 2012-05-15 22:59:27Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Phillip Smith <fukawi2@NO-SPAM.gmail.com>
+# Contributor: Adam <adam@russ.co.il>
+
+pkgname=gnome-web-photo
+pkgver=0.10.6
+pkgrel=1
+pkgdesc="Generate full-size image files and thumbnails from HTML files and web pages"
+arch=('i686' 'x86_64')
+url="http://git.gnome.org/browse/gnome-web-photo/"
+license=('LGPL')
+depends=('libwebkit3')
+makedepends=('intltool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('1353fc1abe9fcd38b3e09c6282e43aeb0c306201a4df9e25d4834407ba2cbe7f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/gnonlin/PKGBUILD b/community/gnonlin/PKGBUILD
new file mode 100644
index 000000000..8a7bde9c5
--- /dev/null
+++ b/community/gnonlin/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 76165 2012-09-12 12:34:14Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Abhishek Dasgupta <abhidg@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=gnonlin
+pkgver=0.10.17
+pkgrel=1
+pkgdesc='Library for creating non-linear video editors'
+arch=('x86_64' 'i686')
+url='http://gnonlin.sourceforge.net/'
+depends=('gstreamer0.10>=0.10.36')
+makedepends=('python' 'gstreamer0.10-base-plugins>=0.10.36' 'pkgconfig')
+options=('!libtool')
+license=('LGPL')
+source=("http://gstreamer.freedesktop.org/src/$pkgname/$pkgname-$pkgver.tar.bz2")
+sha256sums=('e4a2dd8af1c0c97f2f63e918a25c26e871c896e88b7ee85948509f68f29e8935')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gnote/PKGBUILD b/community/gnote/PKGBUILD
new file mode 100644
index 000000000..f16796299
--- /dev/null
+++ b/community/gnote/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90444 2013-05-12 12:57:54Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: uastasi <uastasi@archlinux.us>
+pkgname=gnote
+pkgver=3.8.1
+pkgrel=1
+pkgdesc="A note taking application."
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/Gnote"
+license=('GPL3')
+depends=('gtkmm3' 'libxslt' 'hicolor-icon-theme' 'desktop-file-utils' 'dconf' 'libsecret')
+makedepends=('intltool' 'itstool' 'boost')
+options=('!libtool')
+install=gnote.install
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('35bb4c5c0fd94bb3e8e5b91dcfff7e376408dd95fb2468ce9e248f6738d036aa')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/gnote \
+ --disable-scrollkeeper \
+ --disable-schemas-compile \
+ --disable-static
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gnote/gnote.install b/community/gnote/gnote.install
new file mode 100644
index 000000000..0f8eb1012
--- /dev/null
+++ b/community/gnote/gnote.install
@@ -0,0 +1,21 @@
+pkgname=gnote
+
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gnubiff-gtk/PKGBUILD b/community/gnubiff-gtk/PKGBUILD
new file mode 100644
index 000000000..5bf35b283
--- /dev/null
+++ b/community/gnubiff-gtk/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 66678 2012-02-27 10:01:18Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Tom K <tomk@runbox.com>
+# Contributor: Todd Musall <tmusall@gmail.com>
+
+pkgname=gnubiff-gtk
+pkgver=2.2.15
+pkgrel=1
+pkgdesc="Mail notification program that checks for mail and displays headers when new mail has arrived. GTK version."
+arch=('i686' 'x86_64')
+url="http://gnubiff.sourceforge.net/"
+license=("GPL")
+depends=('libglade' 'gtk3' 'openssl' 'popt')
+makedepends=('intltool')
+conflicts=('gnubiff')
+source=(http://downloads.sourceforge.net/sourceforge/gnubiff/gnubiff-$pkgver.tar.gz)
+md5sums=('c705e1135b0bd4c8d8f7ce72ca7b5443')
+
+build() {
+ cd $srcdir/gnubiff-$pkgver
+ export LDFLAGS=-lX11
+ ./configure --prefix=/usr --disable-gnome --disable-fam --with-password --with-password-string="65423957eb027b94c9e661611c0e4271"
+ make
+ make DESTDIR=$pkgdir install
+ rm -rf $pkgdir/usr/lib
+ rm -rf $pkgdir/usr/share/gnome-2.0
+ rm -rf ${pkgdir}/usr/share/info/dir
+}
diff --git a/community/gnubiff/PKGBUILD b/community/gnubiff/PKGBUILD
new file mode 100644
index 000000000..814259c8a
--- /dev/null
+++ b/community/gnubiff/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 66676 2012-02-27 10:00:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Tom K <tomk@runbox.com>
+# Contributor: Todd Musall <tmusall@gmail.com>
+
+pkgname=gnubiff
+pkgver=2.2.15
+pkgrel=1
+pkgdesc="Mail notification program that checks for mail and displays headers when new mail has arrived"
+arch=('i686' 'x86_64')
+url="http://gnubiff.sourceforge.net/"
+license=("GPL")
+depends=('libglade' 'gtk3' 'popt')
+makedepends=('perlxml' 'intltool')
+conflicts=(gnubiff-gtk)
+source=(http://downloads.sourceforge.net/gnubiff/gnubiff-$pkgver.tar.gz)
+md5sums=('c705e1135b0bd4c8d8f7ce72ca7b5443')
+
+build() {
+ [ "$GNOMEDIR" = "" ] && GNOMEDIR=/usr
+ cd $srcdir/gnubiff-$pkgver
+
+ ./configure --prefix=/usr --with-password --with-password-string="65423957eb027b94c9e661611c0e4271" \
+ --disable-fam --disable-gnome
+ make
+ make DESTDIR=$pkgdir install
+
+ rm -rf ${pkgdir}/usr/share/info/dir
+}
diff --git a/community/gnucap/PKGBUILD b/community/gnucap/PKGBUILD
new file mode 100644
index 000000000..1b9e4fec5
--- /dev/null
+++ b/community/gnucap/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 55492 2011-09-13 05:23:39Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Jared Casper <jaredcasper@gmail.com>
+# Contributor: Georgij Kondratjev <smpuj@bk.ru>
+
+pkgname=gnucap
+pkgver=20091207
+_pkgver=2009-12-07
+pkgrel=2
+pkgdesc="GNU Circuit Analysis Package"
+arch=('i686' 'x86_64')
+url="http://gnucap.org/"
+license=('GPL')
+depends=('gcc-libs' 'readline')
+source=(http://gnucap.org/devel/$pkgname-$_pkgver.tar.gz)
+sha1sums=('a64be626b3e971437d677f14bc72eda0df6e7e3a')
+
+build() {
+ cd "$srcdir/$pkgname-$_pkgver"
+
+ ./configure --prefix=/usr
+}
+
+package() {
+ cd "$srcdir/$pkgname-$_pkgver"
+
+ make
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gnuchess/PKGBUILD b/community/gnuchess/PKGBUILD
new file mode 100644
index 000000000..d68d886f0
--- /dev/null
+++ b/community/gnuchess/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 88493 2013-04-18 15:55:51Z jsteel $
+# Maintainer: Jonathan Steel <mail@jsteel.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=gnuchess
+pkgver=6.0.3
+pkgrel=1
+pkgdesc="Lets most modern computers play a full game of chess"
+url="http://www.gnu.org/software/chess/chess.html"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('glibc' 'ncurses' 'readline')
+optdepends=('xboard: for a GUI')
+source=(ftp://ftp.gnu.org/pub/gnu/chess/$pkgname-$pkgver.tar.gz)
+md5sums=('28625afb8f48b86211ee1d217c308064')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make prefix="$pkgdir"/usr install
+}
diff --git a/community/gnujump/PKGBUILD b/community/gnujump/PKGBUILD
new file mode 100644
index 000000000..0da4248af
--- /dev/null
+++ b/community/gnujump/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 82500 2013-01-19 17:34:43Z jsteel $
+# Maintainer: jsteel <mail at jsteel dot org>
+# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
+# Contributor: Patrik Ilg <p.ilg@arcor.de>
+
+pkgname=gnujump
+pkgver=1.0.8
+pkgrel=3
+pkgdesc="A clone of the simple yet addictive game Xjump"
+arch=('i686' 'x86_64')
+url="http://gnujump.es.gnu.org"
+license=('GPL3')
+depends=('libgl' 'sdl_image' 'sdl_mixer')
+makedepends=('mesa' 'glu')
+source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz
+ ftp://ftp.archlinux.org/other/community/$pkgname/$pkgname.png
+ $pkgname.desktop)
+md5sums=('a8bdd3402a9d12faa5835a2c41ef7b3e'
+ 'aff6af66e632095aa3154e952571f9b5'
+ 'd875e92130b669a4148908bc391a2a8c')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ LDFLAGS="-lm"
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir"/ install
+
+ install -Dm644 "$srcdir"/$pkgname.png "$pkgdir"/usr/share/pixmaps/$pkgname.png
+ install -Dm644 "$srcdir"/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+}
diff --git a/community/gnujump/gnujump.desktop b/community/gnujump/gnujump.desktop
new file mode 100644
index 000000000..9e9d14739
--- /dev/null
+++ b/community/gnujump/gnujump.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=GNUjump
+Comment=A clone of the simple yet addictive game Xjump
+Exec=gnujump
+Icon=gnujump.png
+Terminal=false
+Categories=Game;ArcadeGame;
diff --git a/community/gnunet-gtk/PKGBUILD b/community/gnunet-gtk/PKGBUILD
new file mode 100644
index 000000000..618d79414
--- /dev/null
+++ b/community/gnunet-gtk/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 81579 2012-12-24 15:01:10Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: wahnby <wahnby@yahoo.fr>
+
+pkgname=gnunet-gtk
+pkgver=0.9.5
+pkgrel=1
+pkgdesc="A frontend for GNUnet"
+arch=('i686' 'x86_64')
+url="http://gnunet.org"
+options=('!libtool')
+license=('GPL')
+depends=('gnunet' 'glade' 'adns')
+makedepends=('pkgconfig')
+source=(ftp://ftp.gnu.org/gnu/gnunet/$pkgname-$pkgver.tar.gz)
+md5sums=('2e48a1e92de99b14c936a270bb05309a')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --with-gnunet=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ mv $pkgdir/usr/share/doc/gnunet $pkgdir/usr/share/doc/gnunet-gtk
+}
diff --git a/community/gnunet/PKGBUILD b/community/gnunet/PKGBUILD
new file mode 100644
index 000000000..71bae8d67
--- /dev/null
+++ b/community/gnunet/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 90671 2013-05-13 14:25:31Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: wahnby <wahnby@yahoo.fr>
+
+pkgname=gnunet
+pkgver=0.9.5_a
+pkgrel=2
+pkgdesc="A framework for secure peer-to-peer networking"
+arch=('i686' 'x86_64')
+url="http://gnunet.org"
+license=('GPL')
+depends=('gmp' 'libgcrypt' 'libextractor' 'sqlite' 'curl'
+ 'libmicrohttpd' 'libunistring' 'libidn')
+makedepends=('gettext' 'pkgconfig')
+backup=(etc/gnunetd.conf)
+options=('!libtool' '!makeflags')
+install=gnunet.install
+source=(ftp://ftp.gnu.org/gnu/gnunet/gnunet-${pkgver/_/}.tar.gz
+ gnunet.service
+ defaults.conf)
+md5sums=('b0e204cf9711f9799baaeb477992e66a'
+ '54cce3d2415d95b2e5bd1bd88db3a0ea'
+ '0fe23b2ca5b3fc47a0b5645e04406da0')
+
+build() {
+ cd $srcdir/gnunet-${pkgver/_/}
+ sed -i 's|contrib doc|doc|' Makefile.*
+ [ -f Makefile ] || ./configure --prefix=/usr --without-mysql
+ make
+}
+
+package() {
+ cd $srcdir/gnunet-${pkgver/_/}
+ make DESTDIR=$pkgdir install
+ install -D -m0644 $srcdir/defaults.conf $pkgdir/etc/gnunetd.conf
+ rm -rf $pkgdir/usr/include/libltdl $pkgdir/usr/lib/libltdl.* $pkgdir/usr/include/ltdl.h
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+}
diff --git a/community/gnunet/defaults.conf b/community/gnunet/defaults.conf
new file mode 100644
index 000000000..bb4193433
--- /dev/null
+++ b/community/gnunet/defaults.conf
@@ -0,0 +1,483 @@
+[PATHS]
+SERVICEHOME = ~/.gnunet/
+# SERVICEHOME = /var/lib/gnunet/
+# DEFAULTCONFIG = /etc/gnunet.conf
+# If 'DEFAULTCONFIG' is not defined, the current
+# configuration file is assumed to be the default,
+# which is what we want by default...
+
+[gnunetd]
+HOSTKEY = $SERVICEHOME/.hostkey
+
+[TESTING]
+WEAKRANDOM = NO
+# How long before failing a connection?
+CONNECT_TIMEOUT = 30
+# How many connect attempts should we make?
+CONNECT_ATTEMPTS = 3
+# How many connections can happen simultaneously?
+MAX_OUTSTANDING_CONNECTIONS = 50
+
+# Should we clean up the files on peer group shutdown?
+DELETE_FILES = YES
+
+[client]
+HOME = $SERVICEHOME
+
+[nat]
+# Are we behind NAT?
+BEHIND_NAT = NO
+
+# Is the NAT hole-punched?
+PUNCHED_NAT = NO
+
+# Enable UPNP by default?
+ENABLE_UPNP = NO
+
+# Use addresses from the local network interfaces (inluding loopback, but also others)
+USE_LOCALADDR = YES
+
+# Use address obtained from a DNS lookup of our hostname
+USE_HOSTNAME = NO
+
+# External IP address of the NAT box (if known); IPv4 dotted-decimal ONLY at this time (should allow DynDNS!)
+# normal interface IP address for non-NATed peers;
+# possibly auto-detected (using UPnP) if possible if not specified
+# EXTERNAL_ADDRESS =
+
+# Should we use ICMP-based NAT traversal to try connect to NATed peers
+# or, if we are behind NAT, to allow connections to us?
+ENABLE_ICMP_CLIENT = NO
+ENABLE_ICMP_SERVER = NO
+
+# IP address of the interface connected to the NAT box; IPv4 dotted-decimal ONLY;
+# normal interface IP address for non-NATed peers;
+# likely auto-detected (via interface list) if not specified (!)
+# INTERNAL_ADDRESS =
+
+# Disable IPv6 support
+DISABLEV6 = NO
+
+# How often do we query the DNS resolver
+# for our hostname (to get our own IP), in ms
+HOSTNAME_DNS_FREQUENCY = 1200000
+
+# How often do we iterate over our
+# network interfaces to check for changes
+# in our IP address? in ms
+IFC_SCAN_FREQUENCY = 3000000
+
+# How often do we query the DNS resolver
+# for our hostname (to get our own IP), in ms
+DYNDNS_FREQUENCY = 140000
+
+[gnunet-nat-server]
+HOSTNAME = gnunet.org
+PORT = 5724
+
+[transport-tcp]
+# Use 0 to ONLY advertise as a peer behind NAT (no port binding)
+PORT = 2086
+ADVERTISED_PORT = 2086
+
+# Maximum number of open TCP connections allowed
+MAX_CONNECTIONS = 128
+
+TIMEOUT = 5000
+
+# ACCEPT_FROM =
+# ACCEPT_FROM6 =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# BINDTO =
+
+MAX_CONNECTIONS = 128
+
+
+[transport-udp]
+PORT = 2086
+
+MAX_BPS = 1000000
+
+
+[transport-http]
+PORT = 1080
+MAX_CONNECTIONS = 128
+
+[transport-https]
+PORT = 4433
+CRYPTO_INIT = NORMAL
+KEY_FILE = https.key
+CERT_FILE = https.cert
+MAX_CONNECTIONS = 128
+
+
+[transport-wlan]
+# Name of the interface in monitor mode (typically monX)
+INTERFACE = mon0
+# Real hardware, no testing
+TESTMODE = 0
+
+
+[arm]
+PORT = 2087
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-arm
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+DEFAULTSERVICES = topology hostlist
+UNIXPATH = /tmp/gnunet-service-arm.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+# GLOBAL_POSTFIX = -l $SERVICEHOME/{}-logs
+# GLOBAL_PREFIX =
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+
+[statistics]
+AUTOSTART = YES
+PORT = 2088
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-statistics
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-statistics.sock
+UNIX_MATCH_UID = NO
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+
+[resolver]
+AUTOSTART = YES
+PORT = 2089
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-resolver
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-resolver.sock
+UNIX_MATCH_UID = NO
+UNIX_MATCH_GID = NO
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+
+[peerinfo]
+AUTOSTART = YES
+PORT = 2090
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-peerinfo
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-peerinfo.sock
+UNIX_MATCH_UID = NO
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+HOSTS = $SERVICEHOME/data/hosts/
+
+
+[transport]
+AUTOSTART = YES
+PORT = 2091
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-transport
+#PREFIX = valgrind
+NEIGHBOUR_LIMIT = 50
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+PLUGINS = tcp
+UNIXPATH = /tmp/gnunet-service-transport.sock
+BLACKLIST_FILE = $SERVICEHOME/blacklist
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+
+
+# ATS options
+DUMP_MLP = NO
+DUMP_SOLUTION = NO
+DUMP_OVERWRITE = NO
+DUMP_MIN_PEERS = 0
+DUMP_MIN_ADDRS = 0
+DUMP_OVERWRITE = NO
+ATS_MIN_INTERVAL = 15000
+ATS_EXEC_INTERVAL = 30000
+
+
+[core]
+AUTOSTART = YES
+PORT = 2092
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-core
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+# quotas are in bytes per second now!
+TOTAL_QUOTA_IN = 65536
+TOTAL_QUOTA_OUT = 65536
+UNIXPATH = /tmp/gnunet-service-core.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# DEBUG = YES
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+
+
+[topology]
+MINIMUM-FRIENDS = 0
+FRIENDS-ONLY = NO
+AUTOCONNECT = YES
+TARGET-CONNECTION-COUNT = 16
+FRIENDS = $SERVICEHOME/friends
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-daemon-topology
+
+[hostlist]
+# port for hostlist http server
+HTTPPORT = 8080
+HOME = $SERVICEHOME
+HOSTLISTFILE = $SERVICEHOME/hostlist/learned.data
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-daemon-hostlist
+# consider having "-e" as default as well once implemented
+OPTIONS = -b
+SERVERS = http://v9.gnunet.org:58080/
+# proxy for downloading hostlists
+HTTP-PROXY =
+
+
+[datastore]
+AUTOSTART = YES
+UNIXPATH = /tmp/gnunet-service-datastore.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+PORT = 2093
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-datastore
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+QUOTA = 100000000
+BLOOMFILTER = $SERVICEHOME/fs/bloomfilter
+DATABASE = sqlite
+# DISABLE_SOCKET_FORWARDING = NO
+
+[datastore-sqlite]
+FILENAME = $SERVICEHOME/datastore/sqlite.db
+
+[datastore-postgres]
+CONFIG = connect_timeout=10; dbname=gnunet
+
+[datastore-mysql]
+DATABASE = gnunet
+CONFIG = ~/.my.cnf
+# USER = gnunet
+# PASSWORD =
+# HOST = localhost
+# PORT = 3306
+
+[datacache-mysql]
+DATABASE = gnunetcheck
+CONFIG = ~/.my.cnf
+# USER = gnunet
+# PASSWORD =
+# HOST = localhost
+# PORT = 3306
+
+
+[fs]
+AUTOSTART = YES
+INDEXDB = $SERVICEHOME/idxinfo.lst
+TRUST = $SERVICEHOME/data/credit/
+IDENTITY_DIR = $SERVICEHOME/identities/
+STATE_DIR = $SERVICEHOME/persistence/
+UPDATE_DIR = $SERVICEHOME/updates/
+PORT = 2094
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-fs
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+
+DELAY = YES
+CONTENT_CACHING = YES
+CONTENT_PUSHING = YES
+
+UNIXPATH = /tmp/gnunet-service-fs.sock
+UNIX_MATCH_UID = NO
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# DEBUG = YES
+MAX_PENDING_REQUESTS = 65536
+# Maximum frequency we're allowed to poll the datastore
+# for content for migration (can be used to reduce
+# GNUnet's disk-IO rate)
+MIN_MIGRATION_DELAY = 100
+EXPECTED_NEIGHBOUR_COUNT = 128
+
+[dht]
+AUTOSTART = YES
+PORT = 2095
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-dht
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+BUCKET_SIZE = 4
+UNIXPATH = /tmp/gnunet-service-dht.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# DEBUG = YES
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+# DO_FIND_PEER =
+# STRICT_KADEMLIA =
+# USE_MAX_HOPS =
+# MAX_HOPS =
+# REPUBLISH = YES
+# REPLICATION_FREQUENCY = 60
+# STOP_ON_CLOSEST =
+# STOP_FOUND =
+# CONVERGE_MODIFIER =
+
+
+[dhtcache]
+DATABASE = sqlite
+QUOTA = 1024000
+
+[block]
+PLUGINS = fs dht test dns
+
+[mesh]
+AUTOSTART = YES
+PORT = 2096
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-mesh
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-mesh.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+
+[nse]
+AUTOSTART = YES
+PORT = 2097
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-nse
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/test-nse-service-nse.unix
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+PROOFFILE = $SERVICEHOME/.nse-proof
+HISTOGRAM = $SERVICEHOME/nse-history.log
+
+# How 'slowly' should the proof-of-work be constructed (delay
+# between rounds in ms); sane values between 0 and ~1000.
+WORKDELAY = 5
+
+# Note: changing any of the values below will make this peer
+# completely incompatible with other peers!
+INTERVAL = 3600000
+WORKBITS = 20
+
+
+[vpn]
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-daemon-vpn
+IPV6ADDR = 1234::1
+IPV6PREFIX = 32
+IPV4ADDR = 10.11.10.1
+IPV4MASK = 255.255.0.0
+VIRTDNS = 10.11.10.2
+IFNAME = vpn-gnunet
+
+[exit]
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-daemon-exit
+IPV6ADDR = 1234:1::1
+IPV6PREFIX = 32
+IPV4ADDR = 10.10.1.1
+IPV4MASK = 255.255.0.0
+IFNAME = exit-gnunet
+ENABLE_UDP = NO
+ENABLE_TCP = NO
+
+[dns]
+AUTOSTART = YES
+PORT = 0
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-dns
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-dns.sock
+PROVIDE_EXIT = NO
+
diff --git a/community/gnunet/gnunet.install b/community/gnunet/gnunet.install
new file mode 100644
index 000000000..b9aff1dfe
--- /dev/null
+++ b/community/gnunet/gnunet.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo 'Change nobody to proper username in /etc/conf.d/gnunetd'
+}
+
+post_upgrade() {
+ echo 'Change nobody to proper username in /etc/conf.d/gnunetd'
+}
diff --git a/community/gnunet/gnunet.service b/community/gnunet/gnunet.service
new file mode 100644
index 000000000..5625978a5
--- /dev/null
+++ b/community/gnunet/gnunet.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=A framework for secure peer-to-peer networking
+
+[Service]
+User=nobody
+Type=forking
+ExecStart=/usr/bin/gnunet-arm -s -c /etc/gnunetd.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/gnustep-back/ChangeLog b/community/gnustep-back/ChangeLog
new file mode 100644
index 000000000..15622ab88
--- /dev/null
+++ b/community/gnustep-back/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* version upgrade
diff --git a/community/gnustep-back/PKGBUILD b/community/gnustep-back/PKGBUILD
new file mode 100644
index 000000000..cccadceed
--- /dev/null
+++ b/community/gnustep-back/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 90152 2013-05-07 13:33:45Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Sebastian Sareyko <public@nooms.de>
+
+pkgname=gnustep-back
+pkgver=0.23.0
+pkgrel=1
+pkgdesc="The GNUstep GUI Backend"
+arch=('i686' 'x86_64')
+url="http://www.gnustep.org/"
+license=('LGPL')
+depends=(libgl libxmu gcc-libs freetype2 cairo)
+makedepends=('gnustep-make' 'gnustep-base' 'gnustep-gui' 'libffi' 'gcc-objc')
+conflicts=('gnustep-back-svn')
+groups=('gnustep-core')
+source=(ftp://ftp.gnustep.org/pub/gnustep/core/$pkgname-$pkgver.tar.gz)
+md5sums=('bde6f222bc74a0ba02f57fa1908c200e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ . /etc/profile.d/GNUstep.sh
+ ./configure --prefix=/usr --sysconfdir=/etc/GNUstep
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ . /etc/profile.d/GNUstep.sh
+ make DESTDIR=$pkgdir install
+ mkdir -p $pkgdir/etc/ld.so.conf.d
+ cat >$pkgdir/etc/ld.so.conf.d/gnustep.conf <<EOF
+/opt/GNUstep/System/Library/Libraries
+/usr/lib/GNUstep/Libraries
+EOF
+}
diff --git a/community/gnustep-base/ChangeLog b/community/gnustep-base/ChangeLog
new file mode 100644
index 000000000..590f23f5e
--- /dev/null
+++ b/community/gnustep-base/ChangeLog
@@ -0,0 +1,6 @@
+2007-07-24 Snowman <eric@archlinux>
+ * rebuilt against toolchain in current
+ * fixed SMP build
+ * fixed file ownership
+2007-06-26 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
diff --git a/community/gnustep-base/PKGBUILD b/community/gnustep-base/PKGBUILD
new file mode 100644
index 000000000..f8a72fa46
--- /dev/null
+++ b/community/gnustep-base/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 90154 2013-05-07 13:34:08Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Sebastian Sareyko <public@nooms.de>
+
+pkgname=gnustep-base
+pkgver=1.24.4
+pkgrel=1
+pkgdesc="The GNUstep base package"
+arch=('i686' 'x86_64')
+url="http://www.gnustep.org/"
+license=("GPL" "LGPL")
+depends=(libxslt avahi gmp gcc-libs openssl libffi gnustep-make gnutls icu)
+makedepends=(gcc-objc)
+conflicts=('gnustep-base-svn')
+groups=('gnustep-core')
+options=('!emptydirs' '!makeflags')
+source=(ftp://ftp.gnustep.org/pub/gnustep/core/$pkgname-$pkgver.tar.gz)
+md5sums=('b300f3e6f9c27705226b741c8c018038')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ source /etc/profile.d/GNUstep.sh
+ ./configure --prefix=/usr --sysconfdir=/etc/GNUstep \
+ --with-ffi-include=/usr/lib/libffi-`pacman -Q libffi | cut -f2 -d\ |cut -f1 -d-`/include/
+ # fix file ownership
+ sed -i 's/tar -xf $(TIMEZONE_ARCHIVE);/tar -xf $(TIMEZONE_ARCHIVE);chown -R root:root * ;/' NSTimeZones/Makefile.postamble
+ sed -i 's|.*gnutls_transport_set_lowat.*||' Source/GSSocketStream.m
+ make VERBOSE=1
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ chown -R root.root "$pkgdir/"
+}
diff --git a/community/gnustep-gui/ChangeLog b/community/gnustep-gui/ChangeLog
new file mode 100644
index 000000000..15622ab88
--- /dev/null
+++ b/community/gnustep-gui/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* version upgrade
diff --git a/community/gnustep-gui/PKGBUILD b/community/gnustep-gui/PKGBUILD
new file mode 100644
index 000000000..e1b86356e
--- /dev/null
+++ b/community/gnustep-gui/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90156 2013-05-07 13:34:32Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Sebastian Sareyko <public@nooms.de>
+
+pkgname=gnustep-gui
+pkgver=0.23.1
+pkgrel=1
+pkgdesc="The GNUstep GUI class library"
+arch=('i686' 'x86_64')
+url="http://www.gnustep.org/"
+license=('LGPL')
+depends=('gnustep-back' 'libungif' 'aspell' 'gcc-libs' 'libcups' 'audiofile' 'libsndfile' 'giflib' 'libao')
+makedepends=('gcc-objc' 'gnustep-base' 'gnustep-make')
+conflicts=('gnustep-gui-svn')
+groups=('gnustep-core')
+options=('!makeflags')
+source=(ftp://ftp.gnustep.org/pub/gnustep/core/$pkgname-$pkgver.tar.gz)
+md5sums=('1771bdb42f27ee946b17bf60fef5eb2e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ . /etc/profile.d/GNUstep.sh
+ ./configure --prefix=/usr --sysconfdir=/etc/GNUstep
+ sed -i 's|#include "GNUstepBase/preface.h"|//#include "GNUstepBase/preface.h" |' Source/GSGuiPrivate.h
+ sed -i 's|png_sizeof|sizeof|g' Source/NSBitmapImageRep+PNG.m
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/go/PKGBUILD b/community/go/PKGBUILD
new file mode 100644
index 000000000..555b74b03
--- /dev/null
+++ b/community/go/PKGBUILD
@@ -0,0 +1,144 @@
+# $Id: PKGBUILD 92767 2013-06-14 21:32:00Z arodseth $
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Rémy Oudompheng <remy@archlinux.org>
+# Contributor: Andres Perera <andres87p gmail>
+# Contributor: Matthew Bauer <mjbauer95@gmail.com>
+# Contributor: Christian Himpel <chressie@gmail.com>
+# Contributor: Mike Rosset <mike.rosset@gmail.com>
+# Contributor: Daniel YC Lin <dlin.tw@gmail.com>
+
+# TODO: Create split packages for the crosscompilation versions? (maybe)
+
+pkgname=go
+pkgver=1.1.1
+pkgrel=1
+epoch=2
+pkgdesc='Compiler and tools for the Go programming language from Google'
+arch=('x86_64' 'i686')
+url='http://golang.org/'
+license=('custom')
+depends=('perl' 'gawk')
+makedepends=('inetutils')
+options=('!strip')
+install="$pkgname.install"
+backup=('usr/lib/go/bin')
+
+if [ "$CARCH" == 'x86_64' ]; then
+ source=("http://go.googlecode.com/files/${pkgname}$pkgver.linux-amd64.tar.gz"
+ "$pkgname.sh")
+ sha256sums=('71ff6e7bfd8f59a12f2fc7b7abf5d006fad24664e11e39bec61c2ac84d2e573f'
+ 'a03db71d323ed2794123bb31b5c8ad5febd551c490b5c0b341052c8e5f0ba892')
+else
+ source=("http://go.googlecode.com/files/${pkgname}$pkgver.linux-386.tar.gz"
+ "$pkgname.sh")
+ sha256sums=('fabb01f1b6a048280f4235c6d9be1cd7ed27a653ca0e011c393af23e40b54450'
+ 'a03db71d323ed2794123bb31b5c8ad5febd551c490b5c0b341052c8e5f0ba892')
+fi
+
+build() {
+ cd "$srcdir/$pkgname/src"
+
+ export GOROOT_FINAL=/usr/lib/go
+
+ # Enable ARM crosscompilation for linux
+ export GOOS=linux
+ export GOARCH=arm
+ bash make.bash
+
+ # Crosscompilation for various platforms (including linux)
+ for os in linux; do # darwin freebsd windows; do
+ for arch in amd64 386; do
+ export GOOS="$os"
+ export GOARCH="$arch"
+ bash make.bash --no-clean
+ done
+ done
+}
+
+check() {
+ cd "$srcdir/$pkgname"
+
+ export GOOS=linux
+ if [ "$CARCH" == 'x86_64' ]; then
+ export GOARCH=amd64
+ elif [ "$CARCH" == 'i686' ]; then
+ export GOARCH=386
+ fi
+
+ export GOROOT="$srcdir/$pkgname"
+ export PATH="$srcdir/$pkgname/bin:$PATH"
+
+ # TestSimpleMulticastListener will fail in standard chroot.
+ cd src && bash run.bash --no-rebuild || true
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ install -Dm644 LICENSE \
+ "$pkgdir/usr/share/licenses/go/LICENSE"
+ install -Dm644 misc/bash/go \
+ "$pkgdir/usr/share/bash-completion/completions/go"
+ install -Dm644 misc/emacs/go-mode-load.el \
+ "$pkgdir/usr/share/emacs/site-lisp/go-mode-load.el"
+ install -Dm644 misc/emacs/go-mode.el \
+ "$pkgdir/usr/share/emacs/site-lisp/go-mode.el"
+ install -Dm644 misc/zsh/go \
+ "$pkgdir/usr/share/zsh/site-functions/_go"
+
+ for f in ftdetect/gofiletype.vim autoload/go/complete.vim indent/go.vim \
+ ftplugin/go/fmt.vim ftplugin/go/import.vim syntax/go.vim syntax/godoc.vim \
+ plugin/godoc.vim;
+ do
+ install -Dm644 "misc/vim/$f" "$pkgdir/usr/share/vim/vimfiles/$f"
+ done
+
+ mkdir -p \
+ "$pkgdir/"{etc/profile.d,usr/{share/go,lib/go,lib/go/src,lib/go/site/src}}
+
+ cp -r doc misc -t "$pkgdir/usr/share/go"
+ ln -s /usr/share/go/doc "$pkgdir/usr/lib/go/doc"
+ cp -a bin "$pkgdir/usr"
+ cp -a pkg "$pkgdir/usr/lib/go"
+ cp -a "$GOROOT/src/pkg" "$pkgdir/usr/lib/go/src/"
+ cp -a "$GOROOT/src/cmd" "$pkgdir/usr/lib/go/src/cmd"
+ cp -a "$GOROOT/src/lib9" "$pkgdir/usr/lib/go/src/"
+ cp -a "$GOROOT/lib" "$pkgdir/usr/lib/go/"
+ cp -a "$GOROOT/include" "$pkgdir/usr/lib/go/"
+
+ install -Dm644 src/Make.* "$pkgdir/usr/lib/go/src"
+
+ # Remove object files from target src dir
+ find "$pkgdir/usr/lib/go/src/" -type f -name '*.[ao]' -delete
+
+ # Fix for FS#32813
+ find "$pkgdir" -type f -name sql.go -exec chmod -x {} \;
+
+ # Remove all executable source files
+ find "$pkgdir/usr/lib/go/src/pkg" -type f -executable -delete
+
+ # Headers for C modules
+ install -Dm644 src/pkg/runtime/runtime.h \
+ "$pkgdir/usr/lib/go/src/pkg/runtime/runtime.h"
+ install -Dm644 src/pkg/runtime/cgocall.h \
+ "$pkgdir/usr/lib/go/src/pkg/runtime/cgocall.h"
+
+ # For packages that source /etc/profile.d/go.sh
+ install -Dm755 "$srcdir/$pkgname.sh" "$pkgdir/etc/profile.d/$pkgname.sh"
+
+ # This is to make go get code.google.com/p/go-tour/gotour and
+ # then running the gotour executable work out of the box.
+ ln -sf /usr/bin "$pkgdir/usr/lib/go/bin"
+
+ # For godoc
+ install -Dm644 favicon.ico "$pkgdir/usr/lib/go/favicon.ico"
+
+ rm -f "$pkgdir/usr/share/go/doc/articles/wiki/get.bin"
+
+ install -Dm644 VERSION "$pkgdir/usr/lib/go/VERSION"
+
+ find "$pkgdir/usr/"{lib/go/pkg,bin} -type f -exec touch '{}' +
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/go/go.install b/community/go/go.install
new file mode 100644
index 000000000..755f0a442
--- /dev/null
+++ b/community/go/go.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ # Friendly message to the user
+ echo "Example use of the \"go\" tool as a user:"
+ echo " mkdir ~/go"
+ echo " export GOPATH=~/go"
+ echo " go get website.com/user/module"
+}
+
+post_install() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/go/go.sh b/community/go/go.sh
new file mode 100644
index 000000000..a0109ba97
--- /dev/null
+++ b/community/go/go.sh
@@ -0,0 +1 @@
+export GOPATH=/usr/lib/go/site
diff --git a/community/goaccess/PKGBUILD b/community/goaccess/PKGBUILD
new file mode 100644
index 000000000..f2c1d647b
--- /dev/null
+++ b/community/goaccess/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 84906 2013-02-26 01:29:13Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Josh VanderLinden <arch@cloudlery.com>
+# Contributor: Nicolas Storme <nicolas@atelier-web.com>
+
+pkgname=goaccess
+pkgver=0.5
+pkgrel=2
+pkgdesc="An open source real-time web log analyzer and interactive viewer"
+arch=('i686' 'x86_64')
+url="http://goaccess.prosoftcorp.com"
+license=('GPL')
+depends=('ncurses' 'geoip' 'glib2')
+source=(http://prdownloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('f6359a9553a460265f5859cea4d40ec0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --enable-geoip
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make prefix="$pkgdir/usr" install
+}
diff --git a/community/gobby/ChangeLog b/community/gobby/ChangeLog
new file mode 100644
index 000000000..45fe41a16
--- /dev/null
+++ b/community/gobby/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+* No need for .install since gnome moved to /usr
diff --git a/community/gobby/PKGBUILD b/community/gobby/PKGBUILD
new file mode 100644
index 000000000..f2020893c
--- /dev/null
+++ b/community/gobby/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 65710 2012-02-22 10:19:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+
+pkgname=gobby
+pkgver=0.4.13
+pkgrel=1
+pkgdesc="A collaborative text editor"
+arch=('i686' 'x86_64')
+url="http://gobby.0x539.de"
+license=('GPL')
+
+depends=('obby' 'libxml++' 'gtkmm' 'gnome-vfs' 'libbonobo' 'libgtksourceviewmm2' 'gtksourceview2')
+#depends=('obby' 'libxml++2' 'gtkmm' 'gnome-vfs' 'libbonobo' 'libgtksourceviewmm2'
+# 'gtksourceview2' 'libxml++' 'libunique' 'libinfinity' 'gsasl')
+
+makedepends=('gettext' 'intltool')
+source=(http://releases.0x539.de/gobby/gobby-$pkgver.tar.gz)
+md5sums=('3848687159dbc649587857543b8d7b85')
+
+build() {
+ cd $srcdir/gobby-$pkgver
+ ./configure --prefix=/usr --with-gnome
+ make
+ make DESTDIR=$pkgdir install
+ install -D -m644 contrib/gobby.desktop \
+ $pkgdir/usr/share/applications/gobby.desktop
+}
diff --git a/community/gocr/PKGBUILD b/community/gocr/PKGBUILD
new file mode 100644
index 000000000..1bf3b3c5a
--- /dev/null
+++ b/community/gocr/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 88468 2013-04-18 12:15:06Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: damir <damir@archlinux.org>
+
+pkgname=gocr
+pkgver=0.50
+pkgrel=1
+pkgdesc="Open-source character recognition (OCR)"
+arch=("i686" "x86_64")
+url="http://jocr.sourceforge.net/index.html"
+license=('GPL')
+depends=('glibc' 'netpbm')
+optdepends=('tk: to use the tk frontend')
+source=(http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-${pkgver}.tar.gz)
+md5sums=('553ea40c2b3a1a0b03a30675d0e0aba1')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ [ $CARCH == "x86_64" ] && export CFLAGS=-fPIC
+ ./configure --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib
+ make -j1 all libs
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ mkdir -p $pkgdir/usr/lib
+ make DESTDIR=$pkgdir libdir=/usr/lib/ bindir=/usr/bin install
+ (cd $pkgdir/usr/lib/ && rm -f libPgm2asc.so && ln -s `echo libPgm2asc*.so` libPgm2asc.so)
+ install -D -m644 doc/gocr.html $pkgdir/usr/share/doc/gocr/gocr.html
+ for i in pgm2asc.h gocr.h; do
+ install -D -m644 src/$i $pkgdir/usr/include/gocr/$i
+ done
+}
diff --git a/community/gogglesmm/PKGBUILD b/community/gogglesmm/PKGBUILD
new file mode 100644
index 000000000..ac32d8996
--- /dev/null
+++ b/community/gogglesmm/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 81309 2012-12-17 10:05:29Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sander Jansen <sander@knology.net>
+
+pkgname=gogglesmm
+pkgver=0.12.7
+pkgrel=1
+pkgdesc="Music Manager and Player"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/gogglesmm/"
+license=('GPL3')
+install=gogglesmm.install
+depends=('fox>=1.6.0' 'xine-lib>=1.0' 'sqlite>=3.4.0' 'taglib' 'dbus-core' 'curl' 'expat' 'libgcrypt')
+makedepends=('pkgconfig' 'glproto' 'dri2proto' 'glu' 'mesa')
+replaces=('musicmanager')
+conflicts=('musicmanager')
+source=(http://gogglesmm.googlecode.com/files/gogglesmm-$pkgver.tar.bz2)
+md5sums=('9ca337ab496b57d79e66d0541c7da970')
+
+build() {
+ cd $srcdir/gogglesmm-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/gogglesmm-$pkgver
+ mkdir -p $pkgdir/usr/bin
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/gogglesmm/gogglesmm.install b/community/gogglesmm/gogglesmm.install
new file mode 100644
index 000000000..04c026840
--- /dev/null
+++ b/community/gogglesmm/gogglesmm.install
@@ -0,0 +1,11 @@
+post_install() {
+ which gtk-update-icon-cache >/dev/null && gtk-update-icon-cache /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/golangide/PKGBUILD b/community/golangide/PKGBUILD
new file mode 100644
index 000000000..9191dd88d
--- /dev/null
+++ b/community/golangide/PKGBUILD
@@ -0,0 +1,87 @@
+#$Id: PKGBUILD 94279 2013-07-18 19:28:01Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: spambanane <happy.house@gmx.de>
+# Contributor: Matteo <matteo.dek@gmail.com>
+
+pkgname=golangide
+pkgver=19
+pkgrel=1
+pkgdesc='IDE for editing and building projects written in the Go programming language (now LiteIDE X)'
+license=('LGPL')
+arch=('x86_64' 'i686')
+url='https://github.com/visualfc/liteide'
+depends=('go' 'libpng12' 'glib2' 'qt5-base' 'qt5-webkit')
+makedepends=('gendesk')
+options=('!strip')
+source=("$pkgname.zip::https://github.com/visualfc/liteide/archive/x$pkgver.zip"
+ 'golangide.png'
+ 'golangide.sh')
+sha256sums=('182694341940878cf5df4f083a750659bffc97eb4ae517410e157bebc14f97df'
+ '47c52b22326034bd3d6a7b11b05a53c8b3838c08e145171cf5cad2ca00260697'
+ '93ef16d59054ef9b37f8781e90f7d0f83d726779d2029660dfd21e84d808bf04')
+
+prepare() {
+ cd "$srcdir"
+
+ gendesk -n --name 'Golang IDE' --pkgname "$pkgname" --pkgdesc "$pkgdesc"
+ cd "liteide-x$pkgver/build"
+ chmod +x build_linux.sh
+}
+
+build() {
+ cd "$srcdir/liteide-x$pkgver/build"
+
+ msg2 'Compiling...'
+ QTDIR=/usr ./build_linux.sh
+
+ # Fixing insecure RPATH, need to test if this is still needed
+ msg2 'Fixing...'
+ cd ../liteidex
+ find . -name "*.so" -type f -exec sed -i 's|/home/win|/usr/lib/|g' {} \;
+ find . -name liteide -type f -exec sed -i 's|/home/win|/usr/lib/|g' {} \;
+}
+
+package() {
+ cd "$srcdir/liteide-x$pkgver/build/liteide"
+
+ msg2 'Creating directories...'
+ mkdir -p \
+ "$pkgdir/usr/lib/liteide" \
+ "$pkgdir/usr/share/liteide" \
+ "$pkgdir/usr/share/doc/$pkgname"
+
+ msg2 'Packaging executables...'
+ for binary in goastview goapi goexec godocview liteide; do
+ install -Dm755 "bin/$binary" "$pkgdir/usr/bin/$binary"
+ done
+ install -Dm755 "$srcdir/$pkgname.sh" "$pkgdir/usr/bin/$pkgname"
+
+ cd "$srcdir/liteide-x$pkgver/liteidex"
+
+ msg2 'Packaging resources...'
+ cp -r deploy/* os_deploy/* "$pkgdir/usr/share/liteide"
+
+ msg2 'Packaging libraries and plugins...'
+ cp -r liteide/lib/liteide/* "$pkgdir/usr/lib/liteide"
+ cp -r liteide/bin/libliteapp.* "$pkgdir/usr/lib/"
+ chmod -x "$pkgdir/usr/lib/liteide/plugins/"*
+
+ msg2 'Packaging license and license exception...'
+ install -Dm644 LICENSE.LGPL \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 LGPL_EXCEPTION.TXT \
+ "$pkgdir/usr/share/licenses/$pkgname/LGPL_EXCEPTION"
+
+ cd ../..
+
+ msg2 'Packaging menu entry and icon...'
+ install -Dm644 "$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+ install -Dm644 "$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+
+ msg2 'Cleaning up...'
+ rm -rf "$pkgdir/usr/share/$pkgname/doc"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/golangide/golangide.png b/community/golangide/golangide.png
new file mode 100644
index 000000000..1aed5e1dd
--- /dev/null
+++ b/community/golangide/golangide.png
Binary files differ
diff --git a/community/golangide/golangide.sh b/community/golangide/golangide.sh
new file mode 100644
index 000000000..d7d0772b5
--- /dev/null
+++ b/community/golangide/golangide.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+ELF=/usr/bin/liteide
+if [ ! -z $GOROOT -a -e $GOROOT ]; then
+ $ELF $@
+else
+ GOROOT=/usr/lib/go $ELF $@
+fi
diff --git a/community/goldendict/PKGBUILD b/community/goldendict/PKGBUILD
new file mode 100644
index 000000000..cdf2a4650
--- /dev/null
+++ b/community/goldendict/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 85453 2013-03-01 19:08:27Z andrea $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: m0rph <m0rph.mailbox@gmail.com>
+
+pkgname=goldendict
+pkgver=1.0.1
+pkgrel=6
+pkgdesc="Feature-rich dictionary lookup program"
+arch=('i686' 'x86_64')
+url="http://goldendict.berlios.de/"
+license=('GPL3')
+depends=('hunspell' 'libvorbis' 'libxtst' 'libzip' 'qtwebkit' 'phonon')
+makedepends=('patch')
+provides=('stardict')
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-src.tar.bz2
+ $pkgname-paths.diff
+ gcc47.patch)
+sha256sums=('b3fb0405a5edb38f02ef881b48c36e46e2eacf641b0caf8d99403f595a4be9a6'
+ '1dacae7b7a7d7c20a22b4595c07dbd65fdad134a0d4cf283312ea3bdb5f42589'
+ '2e13857d047186e781c3bd9de3cfdf794f4d44e8e28f9d18dda8df50cfe13c6e')
+
+build(){
+ cd ${srcdir}
+
+ patch -Np0 -i ${srcdir}/$pkgname-paths.diff
+ patch -p1 -i ${srcdir}/gcc47.patch
+
+ qmake-qt4
+ make
+}
+
+package() {
+ cd ${srcdir}
+
+ make INSTALL_ROOT=${pkgdir} install
+
+ #removing unneeded
+ rm -rf ${pkgdir}/usr/share/app-install
+}
diff --git a/community/goldendict/gcc47.patch b/community/goldendict/gcc47.patch
new file mode 100644
index 000000000..6496d4292
--- /dev/null
+++ b/community/goldendict/gcc47.patch
@@ -0,0 +1,23 @@
+diff -urN goldendict-1.0.1-src.orig/processwrapper.cc goldendict-1.0.1-src/processwrapper.cc
+--- goldendict-1.0.1-src.orig/processwrapper.cc 2010-12-04 02:42:46.000000000 +0530
++++ goldendict-1.0.1-src/processwrapper.cc 2012-08-04 20:51:45.835055609 +0530
+@@ -94,6 +94,8 @@
+
+ #else
+
++#include <unistd.h>
++
+ unsigned int ProcessWrapper::currentProcessId()
+ {
+ return getpid();
+diff -urN goldendict-1.0.1-src.orig/qtsingleapplication/src/qtlocalpeer.cpp goldendict-1.0.1-src/qtsingleapplication/src/qtlocalpeer.cpp
+--- goldendict-1.0.1-src.orig/qtsingleapplication/src/qtlocalpeer.cpp 2010-12-04 02:42:46.000000000 +0530
++++ goldendict-1.0.1-src/qtsingleapplication/src/qtlocalpeer.cpp 2012-08-04 20:48:47.761593825 +0530
+@@ -50,6 +50,7 @@
+ #endif
+ #if defined(Q_OS_UNIX)
+ #include <time.h>
++#include <unistd.h>
+ #endif
+
+ namespace QtLP_Private {
diff --git a/community/goldendict/goldendict-paths.diff b/community/goldendict/goldendict-paths.diff
new file mode 100644
index 000000000..812dfdb97
--- /dev/null
+++ b/community/goldendict/goldendict-paths.diff
@@ -0,0 +1,10 @@
+--- goldendict.pro~ 2010-12-27 22:52:21.000000000 +0100
++++ goldendict.pro 2010-12-27 22:52:21.000000000 +0100
+@@ -63,2 +63,2 @@
+- isEmpty( PREFIX ):PREFIX = /usr/local
+- DEFINES += PROGRAM_DATA_DIR=\\\"$$PREFIX/share/apps/goldendict/\\\"
++ isEmpty( PREFIX ):PREFIX = /usr
++ DEFINES += PROGRAM_DATA_DIR=\\\"$$PREFIX/share/goldendict/\\\"
+@@ -66 +66 @@
+- locale.path = $$PREFIX/share/apps/goldendict/locale/
++ locale.path = $$PREFIX/share/goldendict/locale/
diff --git a/community/goldendict/goldendict.changelog b/community/goldendict/goldendict.changelog
new file mode 100644
index 000000000..a42c630d3
--- /dev/null
+++ b/community/goldendict/goldendict.changelog
@@ -0,0 +1,11 @@
+2011-12-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * goldendict 1.0.1-5 libQtWebKit.so.4 now in new qtwebkit package
+
+2010-12-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.1
+
+2010-02-16 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#18350 fixed in 0.9.0-5
+
+2009-06-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community] in v0.9.0
diff --git a/community/goobox/PKGBUILD b/community/goobox/PKGBUILD
new file mode 100644
index 000000000..41024fa62
--- /dev/null
+++ b/community/goobox/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 90865 2013-05-15 04:00:47Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=goobox
+pkgver=3.2.1
+pkgrel=1
+pkgdesc="CD player and ripper for GNOME"
+arch=('i686' 'x86_64')
+url="http://people.gnome.org/~paobac/goobox/"
+license=('GPL')
+depends=('gst-plugins-base' 'brasero' 'libmusicbrainz5' 'libdiscid' 'libcoverart' 'libnotify' 'xdg-utils')
+makedepends=('intltool' 'itstool')
+optdepends=('gst-plugins-good: rip CDs into flac and wav formats')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('c2dba51881902cad3593fc3b3dafd3c12038173a27c623350f1771a1bfbf09a7')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i 's/LIBCOVERART_REQUIRED=1.0.0beta1/LIBCOVERART_REQUIRED=1.0.0/' configure{,.ac}
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/goobox/goobox.install b/community/goobox/goobox.install
new file mode 100644
index 000000000..aa4c3e059
--- /dev/null
+++ b/community/goobox/goobox.install
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/goocanvas/PKGBUILD b/community/goocanvas/PKGBUILD
new file mode 100644
index 000000000..143df9b60
--- /dev/null
+++ b/community/goocanvas/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 72991 2012-06-26 19:38:49Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=goocanvas
+pkgver=2.0.1
+pkgrel=2
+pkgdesc="A cairo canvas widget for GTK+"
+arch=(i686 x86_64)
+url="http://live.gnome.org/GooCanvas"
+options=('!libtool' 'docs')
+license=("LGPL")
+depends=('gtk3')
+makedepends=('gobject-introspection' 'python-gobject2')
+source=(http://ftp.gnome.org/pub/GNOME/sources/goocanvas/2.0/goocanvas-$pkgver.tar.xz)
+sha256sums=('0c3a595a6d2a4fe0f1a1a5243637e66aa1bfbaf6492455bfd0b51e0dec9b1553')
+sha256sums=('0c3a595a6d2a4fe0f1a1a5243637e66aa1bfbaf6492455bfd0b51e0dec9b1553')
+
+build() {
+ cd $srcdir/goocanvas-$pkgver
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd $srcdir/goocanvas-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/goocanvas1/PKGBUILD b/community/goocanvas1/PKGBUILD
new file mode 100644
index 000000000..f07afd059
--- /dev/null
+++ b/community/goocanvas1/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 81872 2013-01-02 15:56:34Z jelle $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=goocanvas1
+pkgver=1.0.0
+pkgrel=2
+pkgdesc="A cairo canvas widget for GTK+"
+arch=(i686 x86_64)
+url="http://live.gnome.org/GooCanvas"
+options=('!libtool' 'docs')
+license=("LGPL")
+depends=('gtk2')
+source=(http://ftp.gnome.org/pub/GNOME/sources/goocanvas/1.0/goocanvas-$pkgver.tar.bz2)
+sha256sums=('1c072ef88567cad241fb4addee26e9bd96741b1503ff736d1c152fa6d865711e')
+
+build() {
+ cd $srcdir/goocanvas-$pkgver
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd $srcdir/goocanvas-$pkgver
+ make DESTDIR=$pkgdir install
+}
+check() {
+ cd $srcdir/goocanvas-$pkgver
+ make check
+
+}
diff --git a/community/goocanvasmm/PKGBUILD b/community/goocanvasmm/PKGBUILD
new file mode 100644
index 000000000..6ce5a162b
--- /dev/null
+++ b/community/goocanvasmm/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 91035 2013-05-18 13:20:54Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Laurent Meunier <laurent@deltalima.net>
+
+pkgname=goocanvasmm
+pkgver=1.90.9
+pkgrel=1
+pkgdesc='C++ wrappers for goocanvas'
+arch=('i686' 'x86_64')
+url='http://ftp.gnome.org/pub/gnome/sources/goocanvasmm/'
+license=('GPL')
+depends=('goocanvas' 'gtkmm3')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/goocanvasmm/1.90/goocanvasmm-${pkgver}.tar.xz)
+sha256sums=('a2f52fbff4f753602bb55ac8588201efd5f193c890df6dfc72004eaaf5daae92')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure \
+ --prefix=/usr \
+ --disable-static \
+ --disable-documentation
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/google-gadgets/PKGBUILD b/community/google-gadgets/PKGBUILD
new file mode 100644
index 000000000..f410e4a44
--- /dev/null
+++ b/community/google-gadgets/PKGBUILD
@@ -0,0 +1,164 @@
+# $Id: PKGBUILD 85354 2013-03-01 10:32:21Z andrea $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+
+pkgbase=google-gadgets
+pkgname=('google-gadgets-common' 'google-gadgets-gtk' 'google-gadgets-qt')
+_realname=$pkgbase-for-linux
+_basedir="$startdir/pkg/base"
+pkgver=0.11.2
+_sover=1.0
+_sobump=0.0.0
+pkgrel=6
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/google-gadgets-for-linux/"
+license=('APACHE')
+makedepends=('gstreamer0.10-base-plugins' 'libwebkit'
+ 'desktop-file-utils' 'xdg-utils'
+ 'librsvg' 'curl' 'libsoup-gnome'
+ 'qtwebkit'
+ 'networkmanager'
+ 'zip' 'flex')
+options=('!libtool')
+source=("http://google-gadgets-for-linux.googlecode.com/files/$_realname-$pkgver.tar.bz2"
+ "wifi-types.patch"
+ 'gcc47.patch'
+ 'glibc231.patch')
+md5sums=('279305553bcbf74f3e3615f6abc36a5e'
+ 'f0df71c60a174e9d629db87b8bd9e102'
+ 'b62bc8592b5a44cb34cb7a7e4a6cf62e'
+ '4b96d1da79a375ef2fb58ff01a76f684')
+
+build() {
+ cd "$srcdir/$_realname-$pkgver"
+
+ # Building thrice is expensive;
+ # we move files around instead
+ #
+ # xulrunner 2.0 is incompatible;
+ # we build without smjs-script/browser-element
+
+ patch -p1 <$srcdir/wifi-types.patch
+ patch -p1 -i "${srcdir}"/gcc47.patch
+ patch -p0 -i "${srcdir}"/glibc231.patch
+ ./configure --prefix=/usr \
+ --disable-werror \
+ --disable-update-desktop-database \
+ --disable-update-mime-database \
+ --with-oem-brand=Arch \
+ --with-ssl-ca-file=/etc/ssl/certs/ca-certificates.crt \
+ --with-browser-plugins-dir=/usr/lib/mozilla/plugins \
+ --disable-gtkmoz-browser-element \
+ --disable-smjs-script-runtime
+ make
+}
+
+package_google-gadgets-common() {
+ pkgdesc="Desktop widgets from Google (common files)"
+ install=$pkgbase-common.install
+ depends=('hicolor-icon-theme' 'shared-mime-info')
+ optdepends=('google-gadgets-gtk: GTK+ (full) UI'
+ 'google-gadgets-qt: Qt (partial) UI')
+
+ cd "$srcdir/$_realname-$pkgver"
+
+ make -j1 DESTDIR="$pkgdir/" install
+
+ # we need to remove stuff in this package
+ cp -a "$pkgdir" "$_basedir"
+
+ # do not force any removal; we want to know in case files change
+ cd "$pkgdir/usr"
+ rm -r bin
+ rm -r share/applications
+
+ cd "$pkgdir/usr/lib/$pkgbase"
+
+ # gtk-related
+ #rm gtkmoz-browser-child
+ rm ../lib*gtk*
+ rm modules/gtk*.so
+
+ # qt-related
+ rm ../lib*qt*
+ rm modules/qt*.so
+}
+
+package_google-gadgets-gtk() {
+ pkgdesc="Desktop widgets from Google (full GTK+ front-end)"
+ groups=('google-gadgets')
+ install=$pkgbase.install
+ depends=('google-gadgets-common'
+ 'desktop-file-utils' 'xdg-utils'
+ 'gstreamer0.10-base-plugins' 'libwebkit' 'libsoup-gnome'
+ 'librsvg' 'curl')
+ optdepends=('networkmanager: desktop integration')
+
+ # install the gtk binary
+ cd "$_basedir"
+ install -Dm755 "usr/bin/ggl-gtk" "$pkgdir/usr/bin/ggl-gtk"
+
+ # gtk-only browser stuff
+ #install -Dm755 usr/lib/$pkgbase/gtkmoz-browser-child \
+ # "$pkgdir/usr/lib/$pkgbase/gtkmoz-browser-child"
+
+ # now the gtk libraries
+ mkdir -p "$pkgdir/usr/lib/$pkgbase/modules"
+
+ install -m755 usr/lib/$pkgbase/modules/gtk*.so \
+ "$pkgdir/usr/lib/$pkgbase/modules/"
+
+ install -m755 usr/lib/lib*gtk* "$pkgdir/usr/lib"
+
+ # fix permissions and symlinks
+ find "$pkgdir/usr/lib" -name *.a -exec chmod 644 {} \;
+
+ ln -sf /usr/lib/libggadget-gtk-$_sover.so.$_sobump \
+ "$pkgdir/usr/lib/libggadget-gtk-$_sover.so"
+
+ ln -sf /usr/lib/libggadget-gtk-$_sover.so.$_sobump \
+ "$pkgdir/usr/lib/libggadget-gtk-$_sover.so.0"
+
+ # freedesktop.org for gtk
+ install -Dm644 usr/share/applications/ggl-gtk.desktop \
+ "$pkgdir/usr/share/applications/ggl-gtk.desktop"
+
+ install -m644 usr/share/applications/ggl-designer.desktop \
+ "$pkgdir/usr/share/applications/"
+}
+
+package_google-gadgets-qt() {
+ pkgdesc="Desktop widgets from Google (partial Qt front-end)"
+ groups=('google-gadgets')
+ install=$pkgbase.install
+ depends=('google-gadgets-common' 'qtwebkit'
+ 'desktop-file-utils' 'xdg-utils'
+ 'gstreamer0.10-base-plugins' 'libwebkit')
+ optdepends=('networkmanager: desktop integration')
+
+ # install the qt binary
+ cd "$_basedir"
+ install -Dm755 usr/bin/ggl-qt "$pkgdir/usr/bin/ggl-qt"
+
+ # the qt libraries
+ mkdir -p "$pkgdir/usr/lib/$pkgbase/modules"
+
+ install -m755 usr/lib/$pkgbase/modules/qt*.so \
+ "$pkgdir/usr/lib/$pkgbase/modules/"
+
+ install -m755 usr/lib/lib*qt* "$pkgdir/usr/lib/"
+
+ # fix permissions and symlinks
+ find "$pkgdir/usr/lib" -name *.a -exec chmod 644 {} \;
+
+ ln -sf /usr/lib/libggadget-qt-$_sover.so.$_sobump \
+ "$pkgdir/usr/lib/libggadget-qt-$_sover.so"
+
+ ln -sf /usr/lib/libggadget-qt-$_sover.so.$_sobump \
+ "$pkgdir/usr/lib/libggadget-qt-$_sover.so.0"
+
+ # freedesktop.org for qt
+ install -Dm644 usr/share/applications/ggl-qt.desktop \
+ "$pkgdir/usr/share/applications/ggl-qt.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/google-gadgets/gcc47.patch b/community/google-gadgets/gcc47.patch
new file mode 100644
index 000000000..2e77e10fd
--- /dev/null
+++ b/community/google-gadgets/gcc47.patch
@@ -0,0 +1,325 @@
+Author: Pino Toscano <pino@debian.org>
+Description: Fix building with GCC 4.7
+ This patch fixes the two kinds of issues that arise with GCC 4.7:
+ - include <unistd.h> for functions like access(), fork(), readlink(), etc
+ - fix argument-dependent lookup issues by qualifying the lookup of functions
+Forwarded: no
+Last-Update: 2012-04-04
+
+--- a/ggadget/scriptable_enumerator.h
++++ b/ggadget/scriptable_enumerator.h
+@@ -68,22 +68,22 @@
+
+ protected:
+ virtual void DoClassRegister() {
+- RegisterMethod("atEnd",
++ this->RegisterMethod("atEnd",
+ NewSlot(&E::AtEnd,
+ &ScriptableEnumerator<E, Wrapper, Param, ClassId>
+ ::enumerator_));
+- RegisterMethod("moveFirst",
++ this->RegisterMethod("moveFirst",
+ NewSlot(&E::MoveFirst,
+ &ScriptableEnumerator<E, Wrapper, Param, ClassId>
+ ::enumerator_));
+- RegisterMethod("moveNext",
++ this->RegisterMethod("moveNext",
+ NewSlot(&E::MoveNext,
+ &ScriptableEnumerator<E, Wrapper, Param, ClassId>
+ ::enumerator_));
+- RegisterMethod("item",
++ this->RegisterMethod("item",
+ NewSlot(&ScriptableEnumerator<E, Wrapper, Param, ClassId>
+ ::GetItem));
+- RegisterProperty("count",
++ this->RegisterProperty("count",
+ NewSlot(&E::GetCount,
+ &ScriptableEnumerator<E, Wrapper, Param, ClassId>
+ ::enumerator_),
+--- a/ggadget/uuid.cc
++++ b/ggadget/uuid.cc
+@@ -24,6 +24,7 @@
+ #include <cstdlib>
+ #include <cstring>
+ #include <ctime>
++#include <unistd.h>
+
+ #include "string_utils.h"
+
+--- a/ggadget/xml_dom.cc
++++ b/ggadget/xml_dom.cc
+@@ -1327,15 +1327,15 @@
+
+ virtual void DoClassRegister() {
+ Super::DoClassRegister();
+- RegisterProperty("data", NewSlot(&DOMCharacterData::GetData),
++ this->RegisterProperty("data", NewSlot(&DOMCharacterData::GetData),
+ NewSlot(&DOMCharacterData::SetData));
+- RegisterProperty("length", NewSlot(&DOMCharacterData::GetLength), NULL);
+- RegisterMethod("substringData",
++ this->RegisterProperty("length", NewSlot(&DOMCharacterData::GetLength), NULL);
++ this->RegisterMethod("substringData",
+ NewSlot(&DOMCharacterData::ScriptSubstringData));
+- RegisterMethod("appendData", NewSlot(&DOMCharacterData::AppendData));
+- RegisterMethod("insertData", NewSlot(&DOMCharacterData::ScriptInsertData));
+- RegisterMethod("deleteData", NewSlot(&DOMCharacterData::ScriptDeleteData));
+- RegisterMethod("replaceData",
++ this->RegisterMethod("appendData", NewSlot(&DOMCharacterData::AppendData));
++ this->RegisterMethod("insertData", NewSlot(&DOMCharacterData::ScriptInsertData));
++ this->RegisterMethod("deleteData", NewSlot(&DOMCharacterData::ScriptDeleteData));
++ this->RegisterMethod("replaceData",
+ NewSlot(&DOMCharacterData::ScriptReplaceData));
+ }
+
+@@ -1377,20 +1377,20 @@
+ private:
+ UTF16String ScriptSubstringData(size_t offset, size_t count) {
+ UTF16String result;
+- CheckException(SubstringData(offset, count, &result));
++ this->CheckException(SubstringData(offset, count, &result));
+ return result;
+ }
+
+ void ScriptInsertData(size_t offset, const UTF16String &arg) {
+- CheckException(InsertData(offset, arg));
++ this->CheckException(InsertData(offset, arg));
+ }
+
+ void ScriptDeleteData(size_t offset, size_t count) {
+- CheckException(DeleteData(offset, count));
++ this->CheckException(DeleteData(offset, count));
+ }
+
+ void ScriptReplaceData(size_t offset, size_t count, const UTF16String &arg) {
+- CheckException(ReplaceData(offset, count, arg));
++ this->CheckException(ReplaceData(offset, count, arg));
+ }
+
+ DOMCharacterDataImpl impl_;
+@@ -1417,10 +1417,10 @@
+
+ virtual void DoClassRegister() {
+ Super::DoClassRegister();
+- RegisterProperty("name", NewSlot(&DOMAttr::GetName), NULL);
++ this->RegisterProperty("name", NewSlot(&DOMAttr::GetName), NULL);
+ // Our DOMAttrs are always specified, because we don't support DTD for now.
+- RegisterConstant("specified", true);
+- RegisterProperty("value", NewSlot(&DOMAttr::GetValue),
++ this->RegisterConstant("specified", true);
++ this->RegisterProperty("value", NewSlot(&DOMAttr::GetValue),
+ NewSlot(&DOMAttr::SetValue));
+ // ownerElement is a DOM2 property, so not registered for now.
+ }
+@@ -1516,19 +1516,19 @@
+
+ virtual void DoClassRegister() {
+ Super::DoClassRegister();
+- RegisterProperty("tagName", NewSlot(&DOMElement::GetTagName), NULL);
+- RegisterMethod("getAttribute", NewSlot(&DOMElement::GetAttribute));
+- RegisterMethod("setAttribute",
++ this->RegisterProperty("tagName", NewSlot(&DOMElement::GetTagName), NULL);
++ this->RegisterMethod("getAttribute", NewSlot(&DOMElement::GetAttribute));
++ this->RegisterMethod("setAttribute",
+ NewSlot(&DOMElement::ScriptSetAttribute));
+- RegisterMethod("removeAttribute",
++ this->RegisterMethod("removeAttribute",
+ NewSlot(&DOMElement::RemoveAttribute));
+- RegisterMethod("getAttributeNode",
++ this->RegisterMethod("getAttributeNode",
+ NewSlot(&DOMElement::GetAttributeNodeNotConst));
+- RegisterMethod("setAttributeNode",
++ this->RegisterMethod("setAttributeNode",
+ NewSlot(&DOMElement::ScriptSetAttributeNode));
+- RegisterMethod("removeAttributeNode",
++ this->RegisterMethod("removeAttributeNode",
+ NewSlot(&DOMElement::ScriptRemoveAttributeNode));
+- RegisterMethod("getElementsByTagName",
++ this->RegisterMethod("getElementsByTagName",
+ NewSlot(&Super::GetElementsByTagNameNotConst));
+ }
+
+@@ -1696,16 +1696,16 @@
+ }
+
+ virtual void DoClassRegister() {
+- RegisterProperty("length", NewSlot(&AttrsNamedMap::GetLength), NULL);
+- RegisterMethod("getNamedItem",
++ this->RegisterProperty("length", NewSlot(&AttrsNamedMap::GetLength), NULL);
++ this->RegisterMethod("getNamedItem",
+ NewSlot(&AttrsNamedMap::GetNamedItemNotConst));
+- RegisterMethod("setNamedItem",
++ this->RegisterMethod("setNamedItem",
+ NewSlot(&AttrsNamedMap::ScriptSetNamedItem));
+- RegisterMethod("removeNamedItem",
++ this->RegisterMethod("removeNamedItem",
+ NewSlot(&AttrsNamedMap::ScriptRemoveNamedItem));
+- RegisterMethod("item", NewSlot(&AttrsNamedMap::GetItemNotConst));
++ this->RegisterMethod("item", NewSlot(&AttrsNamedMap::GetItemNotConst));
+ // Microsoft compatibility.
+- RegisterMethod("", NewSlot(&AttrsNamedMap::GetItemNotConst));
++ this->RegisterMethod("", NewSlot(&AttrsNamedMap::GetItemNotConst));
+ }
+
+ virtual DOMNodeInterface *GetNamedItem(const std::string &name) {
+@@ -1875,7 +1875,7 @@
+
+ virtual void DoClassRegister() {
+ Super::DoClassRegister();
+- RegisterMethod("splitText", NewSlot(&DOMText::ScriptSplitText));
++ this->RegisterMethod("splitText", NewSlot(&DOMText::ScriptSplitText));
+ }
+
+ virtual NodeType GetNodeType() const { return TEXT_NODE; }
+@@ -2060,9 +2060,9 @@
+
+ virtual void DoClassRegister() {
+ Super::DoClassRegister();
+- RegisterProperty("target",
++ this->RegisterProperty("target",
+ NewSlot(&DOMProcessingInstruction::GetTarget), NULL);
+- RegisterProperty("data", NewSlot(&DOMProcessingInstruction::GetData),
++ this->RegisterProperty("data", NewSlot(&DOMProcessingInstruction::GetData),
+ NewSlot(&DOMProcessingInstruction::SetData));
+ }
+
+@@ -2109,7 +2109,7 @@
+ DEFINE_CLASS_ID(0xd23149a89cf24e12, DOMImplementationInterface);
+
+ virtual void DoClassRegister() {
+- RegisterMethod("hasFeature", NewSlot(&DOMImplementation::HasFeature));
++ this->RegisterMethod("hasFeature", NewSlot(&DOMImplementation::HasFeature));
+ }
+
+ virtual bool HasFeature(const char *feature, const char *version) const {
+@@ -2129,13 +2129,13 @@
+ void SetCode(int code) { code_ = code; }
+
+ virtual void DoClassRegister() {
+- RegisterProperty("errorCode", NewSlot(&ParseError::GetCode), NULL);
+- RegisterConstant("filepos", 0);
+- RegisterConstant("line", 0);
+- RegisterConstant("linepos", 0);
+- RegisterConstant("reason", "");
+- RegisterConstant("srcText", "");
+- RegisterConstant("url", "");
++ this->RegisterProperty("errorCode", NewSlot(&ParseError::GetCode), NULL);
++ this->RegisterConstant("filepos", 0);
++ this->RegisterConstant("line", 0);
++ this->RegisterConstant("linepos", 0);
++ this->RegisterConstant("reason", "");
++ this->RegisterConstant("srcText", "");
++ this->RegisterConstant("url", "");
+ }
+
+ private:
+@@ -2180,45 +2180,45 @@
+
+ virtual void DoClassRegister() {
+ Super::DoClassRegister();
+- RegisterConstant("doctype", static_cast<ScriptableInterface *>(NULL));
+- RegisterConstant("implementation", &dom_implementation_);
+- RegisterProperty("documentElement",
++ this->RegisterConstant("doctype", static_cast<ScriptableInterface *>(NULL));
++ this->RegisterConstant("implementation", &dom_implementation_);
++ this->RegisterProperty("documentElement",
+ NewSlot(&DOMDocument::GetDocumentElementNotConst), NULL);
+- RegisterMethod("loadXML", NewSlot(&DOMDocument::LoadXML));
+- RegisterMethod("createElement",
++ this->RegisterMethod("loadXML", NewSlot(&DOMDocument::LoadXML));
++ this->RegisterMethod("createElement",
+ NewSlot(&DOMDocument::ScriptCreateElement));
+- RegisterMethod("createDocumentFragment",
++ this->RegisterMethod("createDocumentFragment",
+ NewSlot(&DOMDocument::CreateDocumentFragment));
+- RegisterMethod("createTextNode",
++ this->RegisterMethod("createTextNode",
+ NewSlot(&DOMDocument::CreateTextNode));
+- RegisterMethod("createComment", NewSlot(&DOMDocument::CreateComment));
+- RegisterMethod("createCDATASection",
++ this->RegisterMethod("createComment", NewSlot(&DOMDocument::CreateComment));
++ this->RegisterMethod("createCDATASection",
+ NewSlot(&DOMDocument::CreateCDATASection));
+- RegisterMethod("createProcessingInstruction",
++ this->RegisterMethod("createProcessingInstruction",
+ NewSlot(&DOMDocument::ScriptCreateProcessingInstruction));
+- RegisterMethod("createAttribute",
++ this->RegisterMethod("createAttribute",
+ NewSlot(&DOMDocument::ScriptCreateAttribute));
+- RegisterMethod("createEntityReference",
++ this->RegisterMethod("createEntityReference",
+ NewSlot(&DOMDocument::ScriptCreateEntityReference));
+- RegisterMethod("getElementsByTagName",
++ this->RegisterMethod("getElementsByTagName",
+ NewSlot(&Super::GetElementsByTagNameNotConst));
+- RegisterMethod("importNode", NewSlot(&DOMDocument::ScriptImportNode));
++ this->RegisterMethod("importNode", NewSlot(&DOMDocument::ScriptImportNode));
+ // Compatibility with Microsoft DOM.
+- RegisterProperty("parsed", NewFixedGetterSlot(true), NULL);
+- RegisterProperty("parseError", NewSlot(&DOMDocument::GetParseError), NULL);
+- RegisterProperty("resolveExternals", NULL, NewSlot(&DummySetter));
+- RegisterProperty("validateOnParse", NULL, NewSlot(&DummySetter));
+- RegisterProperty("preserveWhiteSpace",
++ this->RegisterProperty("parsed", NewFixedGetterSlot(true), NULL);
++ this->RegisterProperty("parseError", NewSlot(&DOMDocument::GetParseError), NULL);
++ this->RegisterProperty("resolveExternals", NULL, NewSlot(&DummySetter));
++ this->RegisterProperty("validateOnParse", NULL, NewSlot(&DummySetter));
++ this->RegisterProperty("preserveWhiteSpace",
+ NewSlot(&DOMDocument::PreservesWhiteSpace),
+ NewSlot(&DOMDocument::SetPreserveWhiteSpace));
+- RegisterMethod("getProperty", NewSlot(DummyGetProperty));
+- RegisterMethod("setProperty", NewSlot(DummySetProperty));
++ this->RegisterMethod("getProperty", NewSlot(DummyGetProperty));
++ this->RegisterMethod("setProperty", NewSlot(DummySetProperty));
+ // Compatibility with Microsoft DOM: XMLHttpRequest functions.
+- RegisterProperty("async", NewSlot(&DOMDocument::IsAsync),
++ this->RegisterProperty("async", NewSlot(&DOMDocument::IsAsync),
+ NewSlot(&DOMDocument::SetAsync));
+- RegisterProperty("readyState", NewSlot(&DOMDocument::GetReadyState), NULL);
+- RegisterMethod("load", NewSlot(&DOMDocument::Load));
+- RegisterClassSignal("onreadystatechange",
++ this->RegisterProperty("readyState", NewSlot(&DOMDocument::GetReadyState), NULL);
++ this->RegisterMethod("load", NewSlot(&DOMDocument::Load));
++ this->RegisterClassSignal("onreadystatechange",
+ &DOMDocument::onreadystatechange_signal_);
+ }
+
+--- a/ggadget/xdg/icon_theme.cc
++++ b/ggadget/xdg/icon_theme.cc
+@@ -16,6 +16,7 @@
+ #include <sys/time.h>
+ #include <time.h>
+ #include <cstdlib>
++#include <unistd.h>
+
+ #include <map>
+ #include <vector>
+--- a/extensions/qt_system_framework/qt_system_framework.cc
++++ b/extensions/qt_system_framework/qt_system_framework.cc
+@@ -32,6 +32,7 @@
+ #include <ggadget/xdg/desktop_entry.h>
+ #include <ggadget/xdg/icon_theme.h>
+ #include <ggadget/xdg/utilities.h>
++#include <unistd.h>
+
+ #define Initialize qt_system_framework_LTX_Initialize
+ #define Finalize qt_system_framework_LTX_Finalize
+--- a/extensions/linux_system_framework/process.cc
++++ b/extensions/linux_system_framework/process.cc
+@@ -17,6 +17,7 @@
+ #include <sys/types.h>
+ #include <dirent.h>
+ #include <cstdlib>
++#include <unistd.h>
+
+ #ifdef HAVE_X11
+ #include <X11/Xlib.h>
+--- a/gadgets/designer/designer_script_utils.cc
++++ b/gadgets/designer/designer_script_utils.cc
+@@ -39,6 +39,7 @@
+ #include <ggadget/system_utils.h>
+ #include <ggadget/uuid.h>
+ #include <ggadget/view_interface.h>
++#include <unistd.h>
+
+ namespace ggadget {
+ namespace designer {
diff --git a/community/google-gadgets/glibc231.patch b/community/google-gadgets/glibc231.patch
new file mode 100644
index 000000000..61de05162
--- /dev/null
+++ b/community/google-gadgets/glibc231.patch
@@ -0,0 +1,25 @@
+--- ggadget/gtk/main_loop.cc
++++ ggadget/gtk/main_loop.cc
+@@ -16,9 +16,8 @@
+
+ #include <fcntl.h>
+ #include <stdint.h>
+-#include <glib/ghash.h>
++#include <glib.h>
+ #include <gtk/gtk.h>
+-#include <glib/gthread.h>
+ #include <ggadget/common.h>
+ #include "main_loop.h"
+ #include "utilities.h"
+--- hosts/gtk/main.cc
++++ hosts/gtk/main.cc
+@@ -14,8 +14,8 @@
+ limitations under the License.
+ */
+
++#include <glib.h>
+ #include <gtk/gtk.h>
+-#include <glib/gthread.h>
+ #include <locale.h>
+ #include <signal.h>
+ #include <unistd.h>
diff --git a/community/google-gadgets/google-gadgets-common.install b/community/google-gadgets/google-gadgets-common.install
new file mode 100644
index 000000000..210cbc869
--- /dev/null
+++ b/community/google-gadgets/google-gadgets-common.install
@@ -0,0 +1,15 @@
+post_install() {
+ echo "==> Updating desktop database..."
+ gtk-update-icon-cache --quiet usr/share/icons/hicolor
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/google-gadgets/google-gadgets.changelog b/community/google-gadgets/google-gadgets.changelog
new file mode 100644
index 000000000..5b8f85a71
--- /dev/null
+++ b/community/google-gadgets/google-gadgets.changelog
@@ -0,0 +1,8 @@
+25 Mar 2011 (GMT+8) Ray Rashif <schiv@archlinux.org>
+
+ * 0.11.2-3:
+ xulrunner rebuild
+ - undepend on xulrunner (2.0 incompatible)
+ - disable smjs-script/browser-element
+ Cleaned up scriptlets (too many blank lines)
+ Added this changelog
diff --git a/community/google-gadgets/google-gadgets.install b/community/google-gadgets/google-gadgets.install
new file mode 100644
index 000000000..fd88688fc
--- /dev/null
+++ b/community/google-gadgets/google-gadgets.install
@@ -0,0 +1,15 @@
+post_install() {
+ echo "==> Updating desktop database..."
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/google-gadgets/wifi-types.patch b/community/google-gadgets/wifi-types.patch
new file mode 100644
index 000000000..be9383a61
--- /dev/null
+++ b/community/google-gadgets/wifi-types.patch
@@ -0,0 +1,36 @@
+diff -wbBur google-gadgets-for-linux-0.11.2/extensions/linux_system_framework/network.cc google-gadgets-for-linux-0.11.2.my/extensions/linux_system_framework/network.cc
+--- google-gadgets-for-linux-0.11.2/extensions/linux_system_framework/network.cc 2009-03-15 04:12:42.000000000 +0000
++++ google-gadgets-for-linux-0.11.2.my/extensions/linux_system_framework/network.cc 2011-04-08 20:57:16.000000000 +0000
+@@ -23,17 +23,9 @@
+ namespace framework {
+ namespace linux_system {
+
+-#ifdef NM_DEVICE_TYPE_WIFI
+ static const int kDeviceTypeWifi = NM_DEVICE_TYPE_WIFI;
+-#else
+-static const int kDeviceTypeWifi = DEVICE_TYPE_802_11_WIRELESS;
+-#endif
+
+-#ifdef NM_DEVICE_TYPE_ETHERNET
+ static const int kDeviceTypeEthernet = NM_DEVICE_TYPE_ETHERNET;
+-#else
+-static const int kDeviceTypeEthernet = DEVICE_TYPE_802_3_ETHERNET;
+-#endif
+
+ static const int kDeviceTypeUnknown = 0;
+
+diff -wbBur google-gadgets-for-linux-0.11.2/extensions/linux_system_framework/wireless.cc google-gadgets-for-linux-0.11.2.my/extensions/linux_system_framework/wireless.cc
+--- google-gadgets-for-linux-0.11.2/extensions/linux_system_framework/wireless.cc 2009-12-28 10:39:53.000000000 +0000
++++ google-gadgets-for-linux-0.11.2.my/extensions/linux_system_framework/wireless.cc 2011-04-08 20:57:39.000000000 +0000
+@@ -77,11 +77,7 @@
+
+ using namespace ggadget::dbus;
+
+-#ifdef NM_DEVICE_TYPE_WIFI
+ static const int kDeviceTypeWifi = NM_DEVICE_TYPE_WIFI;
+-#else
+-static const int kDeviceTypeWifi = DEVICE_TYPE_802_11_WIRELESS;
+-#endif
+
+ // Defined in nm 0.7
+ static const int kDeviceStateActivated = 8;
diff --git a/community/google-glog/PKGBUILD b/community/google-glog/PKGBUILD
new file mode 100644
index 000000000..7ca4be213
--- /dev/null
+++ b/community/google-glog/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 83436 2013-02-01 07:03:30Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Ian Yang <doit.ian@gmail.com>
+
+pkgname=google-glog
+pkgver=0.3.3
+pkgrel=1
+pkgdesc="Logging library for C++"
+arch=('i686' 'x86_64')
+license=('custom:BSD3')
+url="http://code.google.com/p/google-glog/"
+depends=('gcc-libs')
+makedepends=('make' 'gcc')
+options=('!libtool')
+source=("http://google-glog.googlecode.com/files/glog-${pkgver}.tar.gz")
+
+build() {
+ cd "$srcdir/glog-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/glog-${pkgver}"
+ make DESTDIR="$pkgdir" install
+
+ # Lazy way of dealing with conflicting man and info pages...
+ rm -rf "${pkgdir}/usr/share"
+
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+md5sums=('a6fd2c22f8996846e34c763422717c18')
diff --git a/community/gource/PKGBUILD b/community/gource/PKGBUILD
new file mode 100644
index 000000000..ad1b201a5
--- /dev/null
+++ b/community/gource/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 94026 2013-07-13 12:32:46Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Jose Valecillos <valecillosjg (at) gmail (dot) com>
+# Contributor: Olivier Ramonat <olivier at ramonat dot fr>
+pkgname=gource
+pkgver=0.40
+pkgrel=2
+pkgdesc="software version control visualization"
+license=(GPL3)
+arch=(i686 x86_64)
+url=http://code.google.com/p/gource/
+depends=('ftgl' 'sdl' 'sdl_image' 'pcre' 'glew' 'boost-libs')
+makedepends=('boost' 'glm' 'mesa')
+source=(http://gource.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+md5sums=('89c608a7aa3c901661eb1f2db6117492')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i "s/filesystem3/filesystem/g" src/logmill.cpp
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+# vim: ts=2:sw=2 et:
diff --git a/community/gpac/PKGBUILD b/community/gpac/PKGBUILD
new file mode 100644
index 000000000..0d488e402
--- /dev/null
+++ b/community/gpac/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 90042 2013-05-06 19:37:40Z foutrelis $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=gpac
+pkgver=4288
+pkgrel=2
+pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
+arch=('i686' 'x86_64')
+url="http://gpac.sourceforge.net"
+license=('LGPL')
+depends=('ffmpeg' 'libjpeg' 'libpng' 'glu' 'libxv')
+makedepends=('jack' 'a52dec' 'freetype2' 'faad2' 'libmad' 'mesa')
+optdepends=('jack: for jack support' 'a52dec: for A52 support'
+ 'faad2: for AAC support' 'libmad: for mp3 support')
+options=('!makeflags')
+source=(ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig})
+sha1sums=('6ba29de672b6e4260e510e0e16d5bc0ab09cabb6'
+ '794b0e4a497af527e093ff0328f1acc8995f2b04')
+
+# source PKGBUILD && mksource
+mksource() {
+ [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1)
+ _svnver=${pkgver}
+ _svntrunk="https://gpac.svn.sourceforge.net/svnroot/gpac/trunk/gpac"
+ _svnmod="$pkgname-${pkgver}"
+ mkdir ${pkgname}-${pkgver}
+ pushd ${pkgname}-${pkgver}
+ svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod
+ revision="$(svnversion ${pkgname}-${pkgver})"
+ echo "#define GPAC_SVN_REVISION \"$revision\"" > ${pkgname}-${pkgver}/include/gpac/revision.h
+ find . -depth -type d -name .svn -exec rm -rf {} \;
+ tar -cJf ../${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/*
+ popd
+ rm -r ${pkgname}-${pkgver}
+ gpg --detach-sign --use-agent -u ${GPGKEY} ${pkgname}-${pkgver}.tar.xz
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --mandir=/usr/share/man --X11-path=/usr --use-js=no
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install install-lib
+}
diff --git a/community/gpg-crypter/PKGBUILD b/community/gpg-crypter/PKGBUILD
new file mode 100644
index 000000000..182a33e79
--- /dev/null
+++ b/community/gpg-crypter/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 79925 2012-11-14 19:52:32Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: lp76 <l.peduto@gmail.com>
+
+pkgname=gpg-crypter
+pkgver=0.4.1
+pkgrel=1
+pkgdesc="A graphical front-end to GnuPG(GPG) using the GTK3 toolkit and libgpgme"
+arch=('i686' 'x86_64')
+url="http://gpg-crypter.sourceforge.net/"
+license=('GPL2')
+depends=('gtk3' 'gpgme')
+makedepends=('intltool')
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('1f7e2b27bf4a27ecbb07bce9cd40d1c08477a3bd065ba7d1a75d1732e4bdc023')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/gpg-crypter/gpg-crypter.changelog b/community/gpg-crypter/gpg-crypter.changelog
new file mode 100644
index 000000000..a56f276cc
--- /dev/null
+++ b/community/gpg-crypter/gpg-crypter.changelog
@@ -0,0 +1,2 @@
+2012-11-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * gpg-crypter 0.4.1-1
diff --git a/community/gphpedit/PKGBUILD b/community/gphpedit/PKGBUILD
new file mode 100644
index 000000000..589ee4afe
--- /dev/null
+++ b/community/gphpedit/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 88295 2013-04-16 02:34:03Z bgyorgy $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: tobias <tobias@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+pkgname=gphpedit
+pkgver=0.9.98RC1
+pkgrel=4
+pkgdesc="a scintilla/gnome based editor specialized on php-files"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('gconf' 'webkitgtk2' 'desktop-file-utils' 'hicolor-icon-theme')
+makedepends=('intltool')
+url="http://www.gphpedit.org/"
+options=('!makeflags')
+install=gphpedit.install
+source=(http://www.gphpedit.org/sites/default/files/gphpedit-$pkgver.tar.gz)
+md5sums=('cc3c5f50704fa0ed3ef3d4ac983db525')
+
+build() {
+ cd ${srcdir}/*$pkgname*
+ LDFLAGS=`pkg-config --libs gmodule-2.0` ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd ${srcdir}/*$pkgname*
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/gphpedit/gphpedit.install b/community/gphpedit/gphpedit.install
new file mode 100644
index 000000000..8e46769be
--- /dev/null
+++ b/community/gphpedit/gphpedit.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gpicview/PKGBUILD b/community/gpicview/PKGBUILD
new file mode 100644
index 000000000..ef08560b4
--- /dev/null
+++ b/community/gpicview/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 69882 2012-04-25 13:40:48Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+
+pkgname=gpicview
+pkgver=0.2.3
+pkgrel=1
+pkgdesc="lightweight image viewer"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('gtk2' 'desktop-file-utils')
+install=$pkgname.install
+makedepends=('pkgconfig' 'intltool')
+optdepends=('librsvg: For SVG support')
+source=(http://ftp.de.debian.org/debian/pool/main/g/$pkgname/${pkgname}_${pkgver}.orig.tar.xz)
+md5sums=('0f1275b5b0ca66e48963a7ccda8a5019')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gpicview/gpicview.install b/community/gpicview/gpicview.install
new file mode 100644
index 000000000..bc3abcd40
--- /dev/null
+++ b/community/gpicview/gpicview.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gpointing-device-settings/PKGBUILD b/community/gpointing-device-settings/PKGBUILD
new file mode 100644
index 000000000..65ef2fe48
--- /dev/null
+++ b/community/gpointing-device-settings/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 89372 2013-04-29 00:10:30Z bgyorgy $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Thomas Mudrunka <harvie@@email..cz>
+
+pkgname=gpointing-device-settings
+pkgver=1.5.1
+pkgrel=4
+pkgdesc="GUI tool for setting pointing device such as TrackPoint or Touchpad"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://live.gnome.org/GPointingDeviceSettings"
+depends=('gtk2' 'gconf')
+makedepends=('gnome-settings-daemon' 'intltool')
+options=('!libtool')
+source=("http://keihanna.dl.sourceforge.jp/gsynaptics/45812/${pkgname}-${pkgver}.tar.gz")
+md5sums=('1d1491473df8eabca3c15c997a975d7f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Enable deprecations
+ sed -i -e '/DISABLE_DEPRECATED/d' -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
+
+ # Disable GSD plugin (won't build with GSD 3.8)
+ sed -i 's/ gnome-settings-daemon-plugins//' modules/Makefile.am
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-static --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR=${pkgdir} install
+
+ # Remove GConf schema (used by GSD plugin)
+ rm -r "${pkgdir}/usr/share/gconf"
+}
diff --git a/community/gprolog/PKGBUILD b/community/gprolog/PKGBUILD
new file mode 100644
index 000000000..c2ef1465c
--- /dev/null
+++ b/community/gprolog/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 89518 2013-04-29 16:43:32Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributer: Jason Chu <jchu@xentac.net>
+
+pkgname=gprolog
+pkgver=1.4.4
+pkgrel=1
+pkgdesc="GNU Prolog"
+arch=('i686' 'x86_64')
+url="http://www.gprolog.org/"
+depends=()
+license=('GPL')
+source=(ftp://ftp.gnu.org/gnu/gprolog/gprolog-$pkgver.tar.gz)
+md5sums=('37009da471e5217ff637ad1c516448c8')
+
+build() {
+ cd "$srcdir/gprolog-$pkgver/src"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$srcdir/gprolog-$pkgver/src"
+ make install \
+ INSTALL_DIR="$pkgdir"/usr/share/gprolog \
+ LINKS_DIR="$pkgdir"/usr/bin \
+ DOC_DIR="$pkgdir"/usr/share/gprolog/doc \
+ HTML_DIR="$pkgdir"/usr/share/gprolog/doc/Html \
+ EXAMPLES_DIR="$pkgdir"/usr/share/gprolog \
+ sysconfdir="$pkgdir"/etc \
+ localstatedir="$pkgdir"/var
+ cd "$pkgdir"/usr/bin
+ rm *
+ ln -s /usr/share/gprolog/bin/fd2c
+ ln -s /usr/share/gprolog/bin/gplc
+ ln -s /usr/share/gprolog/bin/gprolog
+ ln -s /usr/share/gprolog/bin/hexgplc
+ ln -s /usr/share/gprolog/bin/ma2asm
+ ln -s /usr/share/gprolog/bin/pl2wam
+ ln -s /usr/share/gprolog/bin/wam2ma
+}
diff --git a/community/gpsbabel/PKGBUILD b/community/gpsbabel/PKGBUILD
new file mode 100644
index 000000000..58865408f
--- /dev/null
+++ b/community/gpsbabel/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 85355 2013-03-01 10:32:31Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=gpsbabel
+pkgver=1.4.4
+pkgrel=2
+pkgdesc="Reads, writes, and manipulates GPS waypoints in a variety of formats"
+arch=('i686' 'x86_64')
+url="http://www.gpsbabel.org"
+license=('GPL')
+depends=('libusb-compat' 'expat')
+makedepends=('fop' 'qt4' 'libxml2' 'libxslt' 'gtk2' 'lcms2' 'qtwebkit' 'java-environment' 'docbook-xsl')
+optdepends=('qt4' 'qtwebkit')
+options=('docs')
+source=("gpsbabel-$pkgver.tar.gz::http://archlinux-stuff.googlecode.com/files/gpsbabel-$pkgver.tar.gz")
+md5sums=('6c4c8f0cb9fcf9f8302585148878f174')
+
+build() {
+ cd $srcdir/gpsbabel-$pkgver
+ ./configure --prefix=/usr
+ make
+ make doc
+ (cd gui && qmake && make)
+}
+
+package() {
+ cd $srcdir/gpsbabel-$pkgver
+ make DESTDIR=$pkgdir install
+
+ # GUI
+ install -Dm755 gui/objects/gpsbabelfe-bin ${pkgdir}/usr/bin/gpsbabelfe-bin
+ install -Dm644 gui/images/appicon.png $pkgdir/usr/share/pixmaps/gpsbabel.png
+ install -Dm644 gui/gpsbabel.desktop $pkgdir/usr/share/applications/gpsbabel.desktop
+
+ # Header install
+ mkdir -p $pkgdir/usr/include/gpsbabel
+ cp {defs.h,queue.h,gbtypes.h,filterdefs.h,cet.h,cet_util.h,garmin_tables.h} \
+ $pkgdir/usr/include/gpsbabel
+
+ # Doc install
+ mkdir -p $pkgdir/usr/share/doc/$pkgname
+ cp -r $srcdir/babelweb/* $pkgdir/usr/share/doc/$pkgname/
+ cp README* $pkgdir/usr/share/doc/$pkgname/
+}
diff --git a/community/gpsdrive/PKGBUILD b/community/gpsdrive/PKGBUILD
new file mode 100644
index 000000000..41c9416a6
--- /dev/null
+++ b/community/gpsdrive/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 94027 2013-07-13 12:32:55Z svenstaro $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Maintainer: damir <damir@archlinux.org>
+
+pkgname=gpsdrive
+pkgver=2.11
+_pkgver=20120928
+pkgrel=19
+pkgdesc="A car (bike, ship, plane) navigation system"
+arch=("i686" "x86_64")
+url="http://www.gpsdrive.de/"
+license=('GPL2')
+depends=('gtk2' 'gpsd' 'libxml2' 'curl' 'python2' 'boost-libs' 'gdal' 'mapnik' 'postgresql-libs' 'openstreetmap-map-icons-svn'
+ 'perl-date-manip' 'perl-timedate' 'perl-dbi' 'perl-file-slurp' 'perl-www-mechanize' 'perl-libwww' 'perl-uri'
+ 'perl-text-query' 'perl-www-curl' 'perl-xml-parser' 'perl-xml-simple' 'perl-xml-twig' 'perl-xml-writer')
+makedepends=('cmake>=2.4.4' 'boost' 'cfitsio')
+install="gpsdrive.install"
+#source=("http://www.gpsdrive.de/packages/${pkgname}-${pkgver}.tar.gz")
+source=("http://arch.p5n.pp.ru/~sergej/dl/2012/${pkgname}-${_pkgver}.tar.gz")
+md5sums=('bc53792529788b81c291a32d628a4850')
+
+prepare() {
+ cd "$srcdir"
+ # python2 fix
+ 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
+ sed -i 's|GdkGC \*kontext_map;|extern GdkGC *kontext_map;|' $srcdir/gpsdrive-${_pkgver}/src/gpsdrive.c
+ sed -i '22,1i#include <mapnik/graphics.hpp>' $srcdir/gpsdrive-${_pkgver}/src/mapnik.cpp
+ sed -i 's|datasource_cache::instance()->|datasource_cache::instance().|' $srcdir/gpsdrive-${_pkgver}/src/mapnik.cpp
+}
+
+build() {
+ cd "$srcdir"
+
+ mkdir -p build
+ cd build
+
+ export CFLAGS=-I/usr/include/gdk-pixbuf-2.0/
+ export CPPFLAGS=-I/usr/include/gdk-pixbuf-2.0/
+ export CXXFLAGS=-I/usr/include/gdk-pixbuf-2.0/
+ export LDFLAGS="`pkg-config --libs gtk+-2.0 gmodule-2.0` -lboost_system -lboost_thread"
+
+ # see DefineOptions.cmake for a list of common options and defaults
+ # cmake -L for a more in-depth listing
+ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="/usr" \
+ -DWITH_SCRIPTS=ON \
+ -DWITH_MAPNIK=ON \
+ -DWITH_POSTGIS=ON \
+ -DWITH_GDAL=ON \
+ -DWITH_BASEMAPS=ON \
+ -DWITH_FRIENDSD=ON \
+ -DWITH_KISMET=ON \
+ -DWITH_NAVIGATION=ON \
+ -DWITH_SPEECH=OFF \
+ -DWITH_DBUS=OFF \
+ -DLIBGPS_OLD=OFF \
+ "$srcdir/gpsdrive-${_pkgver}"
+ make
+}
+
+package() {
+ cd "$srcdir/build"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gpsdrive/gpsdrive.install b/community/gpsdrive/gpsdrive.install
new file mode 100644
index 000000000..8ea63912e
--- /dev/null
+++ b/community/gpsdrive/gpsdrive.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo "Don't forget to generate geoinfo.db with geoinfo.pl script"
+ echo "Also you can check http://wiki.archlinux.org/index.php/GpsDrive"
+}
diff --git a/community/gpsim/PKGBUILD b/community/gpsim/PKGBUILD
new file mode 100644
index 000000000..311a70a32
--- /dev/null
+++ b/community/gpsim/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 63608 2012-02-05 12:00:08Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: mickael9 <mickael9 at gmail dot com>
+
+pkgname=gpsim
+pkgver=0.26.1
+pkgrel=2
+pkgdesc="A full-featured software simulator for Microchip PIC microcontrollers"
+arch=(i686 x86_64)
+url="http://gpsim.sourceforge.net/"
+license=(GPL)
+depends=('gtk2+extra' 'popt')
+makedepends=('gtk2+extra')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('c994c23d2d75056dbefcf5d1d63596d7')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/gpsmanshp/PKGBUILD b/community/gpsmanshp/PKGBUILD
new file mode 100644
index 000000000..89cfa99af
--- /dev/null
+++ b/community/gpsmanshp/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 86486 2013-03-18 11:13:27Z andrea $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+
+pkgname=gpsmanshp
+pkgver=1.2.1
+pkgrel=3
+pkgdesc="A Tcl package to read and write shapefiles"
+arch=('i686' 'x86_64')
+url="http://gpsmanshp.sourceforge.net/"
+license=('GPL')
+depends=('glibc' 'shapelib' 'tcl')
+source=("http://sourceforge.net/projects/$pkgname/files/distr/${pkgname}_$pkgver.tgz")
+md5sums=('c2876d7f67c8215b46b336b5b859d49f')
+
+build() {
+ cd "${pkgname}_$pkgver"
+
+ mv Makefile8.5 Makefile
+ sed -i -e "s:shapefil.h:libshp/shapefil.h:g" gpsmanshp.c
+
+ install -d "$srcdir/${pkgname}_$pkgver/usr/lib/"
+
+ sed -i -e "s|/usr/lib/tcl\$(TCLVERSION)|$srcdir/${pkgname}_$pkgver/usr/lib/gpsmanshp|g" Makefile
+ sed -i -e "s|tclsh\$(TCLVERSION)|tclsh|g" Makefile
+ sed -i "s|package-8.3.tcl|/usr/lib/tcl8.6/package.tcl|g" Makefile
+ sed -i "s|8.4|8.6|g" Makefile
+
+ make
+}
+
+package() {
+ cd "${pkgname}_$pkgver"
+
+ make install
+}
diff --git a/community/gputils/PKGBUILD b/community/gputils/PKGBUILD
new file mode 100644
index 000000000..db76af71b
--- /dev/null
+++ b/community/gputils/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91611 2013-05-25 11:39:42Z bpiotrowski $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Contributor: Johannes Martin <honzor@gmx.net>
+# Contributor: JJDaNiMoTh <jjdanimoth.aur@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=gputils
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="PIC Programming Utilities"
+arch=('i686' 'x86_64')
+url="http://gputils.sourceforge.net/"
+license=('GPL')
+depends=('glibc')
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('2bff2c595b6570ac9bd6efb692fde274')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gq/PKGBUILD b/community/gq/PKGBUILD
new file mode 100644
index 000000000..2f91bca12
--- /dev/null
+++ b/community/gq/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65588 2012-02-21 09:13:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Gergely Tamas <dice@mfa.kfki.hu>
+
+pkgname=gq
+pkgver=1.3.4
+pkgrel=2
+pkgdesc="interactive graphical LDAP browser"
+url="http://sourceforge.net/projects/gqclient"
+license=("GPL")
+depends=('libxml2' 'gtk2' 'libgnome-keyring' 'libglade' 'libldap>=2.4.18' 'libgpg-error' 'libgcrypt')
+makedepends=('intltool' 'pkgconfig' 'gnome-doc-utils')
+arch=('i686' 'x86_64')
+install=gq.install
+source=(http://downloads.sourceforge.net/sourceforge/gqclient/$pkgname-$pkgver.tar.gz)
+md5sums=('d7b1e183a3ecbd77aceea02d27f36b3e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ LDFLAGS=-lcrypto ./configure --prefix=/usr --disable-debugging --disable-update-mimedb
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/gq/gq.install b/community/gq/gq.install
new file mode 100644
index 000000000..895935dc6
--- /dev/null
+++ b/community/gq/gq.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-mime-database usr/share/mime
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
diff --git a/community/grace/PKGBUILD b/community/grace/PKGBUILD
new file mode 100644
index 000000000..b6a4187e9
--- /dev/null
+++ b/community/grace/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90043 2013-05-06 19:37:42Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: damir <damir@archlinux.org>
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+
+pkgname=grace
+pkgver=5.1.23
+pkgrel=2
+pkgdesc="2D plotting tool"
+arch=(i686 x86_64)
+url="http://plasma-gate.weizmann.ac.il/Grace/"
+depends=('libjpeg' 'libpng' 'lesstif' 't1lib' 'netcdf')
+makedepends=('netcdf' 'fftw')
+license=('GPL')
+source=(ftp://plasma-gate.weizmann.ac.il/pub/grace/src/grace5/$pkgname-$pkgver.tar.gz)
+md5sums=('e2b28ebe31288952d899fbb5c97858ae')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i '1,1i#include <zlib.h>' src/rstdrv.c
+ sed -i 's|png_ptr->jmpbuf|png_jmpbuf(png_ptr)|g' src/rstdrv.c
+ ./configure --prefix=/usr --exec-prefix=/usr \
+ --enable-grace-home=/usr/share/grace \
+ --includedir=/usr/include --libdir=/usr/lib \
+ -with-helpviewer="firefox %s"
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ cd $pkgdir/usr/share/grace && mv bin lib include ../../
+}
diff --git a/community/grafx2/PKGBUILD b/community/grafx2/PKGBUILD
new file mode 100644
index 000000000..8e7cbb10b
--- /dev/null
+++ b/community/grafx2/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 90044 2013-05-06 19:37:44Z foutrelis $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Simon Parzer <simon.parzer@gmail.com>
+pkgname=grafx2
+pkgver=2.4
+pkgrel=3
+_pkgrev=2035
+pkgdesc='Pixelart-oriented painting program'
+arch=('x86_64' 'i686')
+url='http://code.google.com/p/grafx2/'
+license=('GPL2')
+install=grafx2.install
+depends=('sdl_ttf' 'sdl_image' 'lua' 'desktop-file-utils' 'gtk-update-icon-cache')
+makedepends=('gendesk')
+options=('!emptydirs')
+source=("http://grafx2.googlecode.com/files/$pkgname-$pkgver.$_pkgrev-src.tgz")
+sha256sums=('5818caea63cd3cf3318baf01dd20f81ec61e4514443000c80a41b68ab3f17a6b')
+_name=('GrafX2')
+_genericname=('Drawing program')
+_exec=('grafx2 %U')
+_mimetype=('image/bmp;image/gif;image/png;image/x-tga;image/tiff')
+_categories=('Graphics;2DGraphics;RasterGraphics')
+
+build() {
+ cd "$srcdir"
+
+ gendesk -n
+ cd "$pkgname/src"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname/src"
+
+ make prefix=/usr DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir/$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+ install -Dm644 "$srcdir/$pkgname/doc/README.txt" \
+ "$pkgdir/usr/share/doc/$pkgname/readme.txt"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/grafx2/grafx2.install b/community/grafx2/grafx2.install
new file mode 100644
index 000000000..ef816a666
--- /dev/null
+++ b/community/grafx2/grafx2.install
@@ -0,0 +1,14 @@
+post_upgrade() {
+ gtk-update-icon-cache -q -f -t /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/grsync/PKGBUILD b/community/grsync/PKGBUILD
new file mode 100644
index 000000000..c5fb910f0
--- /dev/null
+++ b/community/grsync/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 93852 2013-07-11 12:03:07Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: William Rea <sillywilly@gmail.com>
+
+pkgname=grsync
+pkgver=1.2.4
+pkgrel=1
+pkgdesc="GTK GUI for rsync"
+arch=('i686' 'x86_64')
+url="http://www.opbyte.it/grsync"
+license=('GPL')
+depends=('gtk2' 'rsync')
+makedepends=('gettext' 'intltool')
+install=grsync.install
+source=(http://www.opbyte.it/release/grsync-$pkgver.tar.gz)
+md5sums=('253faeac01ef32f0766e9a58ada00abc')
+
+build() {
+ cd $srcdir/grsync-$pkgver
+ [ $NOEXTRACT -eq 1 ] || LDFLAGS=-lm ./configure --prefix=/usr --disable-unity
+ make
+}
+
+package() {
+ cd $srcdir/grsync-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/grsync/grsync.install b/community/grsync/grsync.install
new file mode 100644
index 000000000..1eb57303c
--- /dev/null
+++ b/community/grsync/grsync.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/gshutdown/PKGBUILD b/community/gshutdown/PKGBUILD
new file mode 100644
index 000000000..665e1a034
--- /dev/null
+++ b/community/gshutdown/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 65592 2012-02-21 09:21:53Z spupykin $
+# Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: Achraf cherti <achrafcherti@gmail.com>
+
+pkgname=gshutdown
+pkgver=0.2
+pkgrel=4
+pkgdesc="An advanced shutdown utility"
+arch=('i686' 'x86_64')
+url="http://gshutdown.tuxfamily.org"
+license=('GPL')
+depends=('libglade' 'libnotify')
+makedepends=('pkg-config')
+source=(http://gshutdown.tuxfamily.org/release/$pkgname-$pkgver.tar.gz)
+md5sums=('c0662f6b74fa1be10e4d34bfc5731d9b')
+sha1sums=('ab73b1d6c36831df82d231ffa333cdf394fd5b3e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's/notify_notification_new("GShutdown", message, NULL, GTK_WIDGET(widget));/notify_notification_new("GShutdown", message, GTK_WIDGET(widget));/' src/gui.c
+ LDFLAGS="-lX11 -lXau" ./configure --prefix=/usr --mandir=/usr/share
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gsimplecal/PKGBUILD b/community/gsimplecal/PKGBUILD
new file mode 100644
index 000000000..d469f7621
--- /dev/null
+++ b/community/gsimplecal/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 76303 2012-09-15 15:56:51Z jsteel $
+# Maintainer: Jonathan Steel <mail at jsteel dot org>
+# Contributor: DrZaius <lou at fakeoutdoorsman dot com>
+# Contributor: Victor Feight <vrfeight3 at gmail dot com>
+
+pkgname=gsimplecal
+pkgver=1.6
+pkgrel=1
+pkgdesc="Simple and lightweight GTK calendar"
+arch=('i686' 'x86_64')
+url="http://dmedvinsky.github.com/$pkgname"
+license=('BSD')
+depends=('gtk2')
+source=(https://github.com/downloads/dmedvinsky/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('05a596de37491e52b646a0c71ec14841')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/gsmartcontrol/PKGBUILD b/community/gsmartcontrol/PKGBUILD
new file mode 100644
index 000000000..852b0ea58
--- /dev/null
+++ b/community/gsmartcontrol/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+
+pkgname=gsmartcontrol
+pkgver=0.8.7
+pkgrel=3
+pkgdesc="A graphical user interface for the smartctl hard disk drive health inspection tool."
+arch=('i686' 'x86_64')
+url="http://gsmartcontrol.berlios.de/home/index.php/en/Home"
+license=('GPL3')
+depends=('smartmontools' 'gtkmm' 'xorg-xmessage' 'hicolor-icon-theme' 'polkit')
+optdepends=('polkit-gnome: to run gsmartcontrol directly from menu')
+install=${pkgname}.install
+source=(http://download.berlios.de/gsmartcontrol/${pkgname}-${pkgver}.tar.bz2
+ org.archlinux.pkexec.gsmartcontrol.policy)
+md5sums=('6d104c2ffc1e693cd1a8052a6d7e3b30'
+ 'e403f8e06e6b8a3d1a99da5e584b2257')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ # We need rename the original binary
+ mv "${pkgdir}/usr/bin/gsmartcontrol" "${pkgdir}/usr/bin/gsmartcontrol.elf"
+
+ # Install launcher script
+ echo '#!/bin/sh' > ${pkgdir}/usr/bin/gsmartcontrol
+ echo 'pkexec --disable-internal-agent "/usr/bin/gsmartcontrol.elf" "$@"' \
+ >> ${pkgdir}/usr/bin/gsmartcontrol
+ chmod 755 ${pkgdir}/usr/bin/gsmartcontrol
+
+ # Modify desktop file
+ sed -i -e "s|^Exec=.*|Exec=/usr/bin/gsmartcontrol|" \
+ "${pkgdir}/usr/share/applications/gsmartcontrol.desktop"
+
+ # Install policy file
+ install -Dm766 $srcdir/org.archlinux.pkexec.gsmartcontrol.policy \
+ $pkgdir/usr/share/polkit-1/actions/org.archlinux.pkexec.gsmartcontrol.policy
+}
diff --git a/community/gsmartcontrol/gsmartcontrol.desktop b/community/gsmartcontrol/gsmartcontrol.desktop
new file mode 100644
index 000000000..e65a26ef6
--- /dev/null
+++ b/community/gsmartcontrol/gsmartcontrol.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=GSmartControl
+GenericName=Hard Disk Health Inspection
+Comment=Monitor and control SMART data on hard disks
+Icon=gsmartcontrol
+Exec=pkexec /usr/bin/gsmartcontrol
+Type=Application
+Categories=GTK;GNOME;System;Filesystem;
diff --git a/community/gsmartcontrol/gsmartcontrol.install b/community/gsmartcontrol/gsmartcontrol.install
new file mode 100644
index 000000000..f636406f2
--- /dev/null
+++ b/community/gsmartcontrol/gsmartcontrol.install
@@ -0,0 +1,14 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+ echo 'If you use a lightweight windowmanager, remember to run'
+ echo '/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 to enable'
+ echo 'graphical authentication, which may be needed for pkexec to work.'
+}
+
+post_upgrade() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
diff --git a/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy b/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy
new file mode 100644
index 000000000..b71db7904
--- /dev/null
+++ b/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE policyconfig PUBLIC
+ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
+<policyconfig>
+
+ <action id="org.archlinux.pkexec.gsmartcontrol">
+ <message>Authentication is required to run the GSmartControl</message>
+ <icon_name>gsmartcontrol</icon_name>
+ <defaults>
+ <allow_any>auth_admin</allow_any>
+ <allow_inactive>auth_admin</allow_inactive>
+ <allow_active>auth_admin</allow_active>
+ </defaults>
+ <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/gsmartcontrol.elf</annotate>
+ <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
+ </action>
+
+</policyconfig>
diff --git a/community/gsoap/LICENSE b/community/gsoap/LICENSE
new file mode 100644
index 000000000..00b8ad810
--- /dev/null
+++ b/community/gsoap/LICENSE
@@ -0,0 +1,163 @@
+gSOAP Public License
+Version 1.3a
+The gSOAP public license is derived from the Mozilla Public License (MPL1.1). The sections that were deleted from the original MPL1.1 text are 1.0.1, 2.1.(c),(d), 2.2.(c),(d), 8.2.(b), 10, and 11. Section 3.8 was added. The modified sections are 2.1.(b), 2.2.(b), 3.2 (simplified), 3.5 (deleted the last sentence), and 3.6 (simplified).
+1 DEFINITIONS.
+
+1.0.1.
+1.1. "Contributor"
+ means each entity that creates or contributes to the creation of Modifications.
+1.2. "Contributor Version"
+ means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+1.3. "Covered Code"
+ means the Original Code, or Modifications or the combination of the Original Code, and Modifications, in each case including portions thereof.
+1.4. "Electronic Distribution Mechanism"
+ means a mechanism generally accepted in the software development community for the electronic transfer of data.
+1.5. "Executable"
+ means Covered Code in any form other than Source Code.
+1.6. "Initial Developer"
+ means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+1.7. "Larger Work"
+ means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+1.8. "License"
+ means this document.
+1.8.1. "Licensable"
+ means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+1.9. "Modifications"
+ means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A.
+ Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+ B.
+ Any new file that contains any part of the Original Code, or previous Modifications.
+
+1.10. "Original Code"
+ means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+1.10.1. "Patent Claims"
+ means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+1.11. "Source Code"
+ means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+1.12. "You" (or "Your")
+ means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2 SOURCE CODE LICENSE.
+
+2.1. The Initial Developer Grant.
+
+ The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a)
+ under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+ (b)
+ under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell ("offer to sell and import") the Original Code, Modifications, or portions thereof, but solely to the extent that any such patent is reasonably necessary to enable You to utilize, alone or in combination with other software, the Original Code, Modifications, or any combination or portions thereof.
+ (c)
+ (d)
+
+
+2.2. Contributor Grant.
+
+ Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ (a)
+ under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+ (b)
+ under patents now or hereafter owned or controlled by Contributor, to make, have made, use and sell ("offer to sell and import") the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to utilize, alone or in combination with other software, the Contributor Version (or portions thereof).
+ (c)
+ (d)
+
+3 DISTRIBUTION OBLIGATIONS.
+
+3.1. Application of License.
+
+ The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+3.2. Availability of Source Code.
+
+ Any Modification created by You will be provided to the Initial Developer in Source Code form and are subject to the terms of the License.
+
+3.3. Description of Modifications.
+
+ You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+3.4. Intellectual Property Matters.
+
+ (a) Third Party Claims.
+ If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+ (b) Contributor APIs.
+ If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+ (c) Representations.
+ Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+
+3.5. Required Notices.
+
+ You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor.
+
+3.6. Distribution of Executable Versions.
+
+ You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. If you distribute executable versions containing Covered Code as part of a product, you must reproduce the notice in Exhibit B in the documentation and/or other materials provided with the product.
+
+3.7. Larger Works.
+
+ You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+3.8. Restrictions.
+
+ You may not remove any product identification, copyright, proprietary notices or labels from gSOAP.
+
+4 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION.
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+5 APPLICATION OF THIS LICENSE.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+6 VERSIONS OF THE LICENSE.
+
+6.1. New Versions.
+
+ Grantor may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+6.2. Effect of New Versions.
+
+ Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License.
+
+6.3. Derivative Works.
+
+ If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrase "gSOAP" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the gSOAP Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7 DISCLAIMER OF WARRANTY.
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS, AND ANY WARRANTY THAT MAY ARISE BY REASON OF TRADE USAGE, CUSTOM, OR COURSE OF DEALING. WITHOUT LIMITING THE FOREGOING, YOU ACKNOWLEDGE THAT THE SOFTWARE IS PROVIDED "AS IS" AND THAT THE AUTHORS DO NOT WARRANT THE SOFTWARE WILL RUN UNINTERRUPTED OR ERROR FREE. LIMITED LIABILITY THE ENTIRE RISK AS TO RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU. UNDER NO CIRCUMSTANCES WILL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY KIND OR NATURE WHATSOEVER, WHETHER BASED ON CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, ARISING OUT OF OR IN ANY WAY RELATED TO THE SOFTWARE, EVEN IF THE AUTHORS HAVE BEEN ADVISED ON THE POSSIBILITY OF SUCH DAMAGE OR IF SUCH DAMAGE COULD HAVE BEEN REASONABLY FORESEEN, AND NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY EXCLUSIVE REMEDY PROVIDED. SUCH LIMITATION ON DAMAGES INCLUDES, BUT IS NOT LIMITED TO, DAMAGES FOR LOSS OF GOODWILL, LOST PROFITS, LOSS OF DATA OR SOFTWARE, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION OR IMPAIRMENT OF OTHER GOODS. IN NO EVENT WILL THE AUTHORS BE LIABLE FOR THE COSTS OF PROCUREMENT OF SUBSTITUTE SOFTWARE OR SERVICES. YOU ACKNOWLEDGE THAT THIS SOFTWARE IS NOT DESIGNED FOR USE IN ON-LINE EQUIPMENT IN HAZARDOUS ENVIRONMENTS SUCH AS OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR CONTROL, OR LIFE-CRITICAL APPLICATIONS. THE AUTHORS EXPRESSLY DISCLAIM ANY LIABILITY RESULTING FROM USE OF THE SOFTWARE IN ANY SUCH ON-LINE EQUIPMENT IN HAZARDOUS ENVIRONMENTS AND ACCEPTS NO LIABILITY IN RESPECT OF ANY ACTIONS OR CLAIMS BASED ON THE USE OF THE SOFTWARE IN ANY SUCH ON-LINE EQUIPMENT IN HAZARDOUS ENVIRONMENTS BY YOU. FOR PURPOSES OF THIS PARAGRAPH, THE TERM "LIFE-CRITICAL APPLICATION" MEANS AN APPLICATION IN WHICH THE FUNCTIONING OR MALFUNCTIONING OF THE SOFTWARE MAY RESULT DIRECTLY OR INDIRECTLY IN PHYSICAL INJURY OR LOSS OF HUMAN LIFE. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+8 TERMINATION.
+
+8.1.
+ This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+8.2.
+8.3.
+ If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+8.4.
+ In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9 LIMITATION OF LIABILITY.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+10 U.S. GOVERNMENT END USERS.
+11 MISCELLANEOUS.
+12 RESPONSIBILITY FOR CLAIMS.
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+EXHIBIT A.
+"The contents of this file are subject to the gSOAP Public License Version 1.3 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+
+ http://genivia.com/Products/gsoap/license.pdf
+
+More information on licensing options, support contracts, and consulting can be found at
+
+ http://genivia.com/Products/gsoap/contract.html
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+The Original Code of the gSOAP Software is: stdsoap.h, stdsoap2.h, stdsoap.c, stdsoap2.c, stdsoap.cpp, stdsoap2.cpp, soapcpp2.h, soapcpp2.c, soapcpp2_lex.l, soapcpp2_yacc.y, error2.h, error2.c, symbol2.c, init2.c, soapdoc2.html, and soapdoc2.pdf, httpget.h, httpget.c, stl.h, stldeque.h, stllist.h, stlvector.h, stlset.h.
+The Initial Developer of the Original Code is Robert A. van Engelen. Portions created by Robert A. van Engelen are Copyright (C) 2001-2004 Robert A. van Engelen, Genivia inc. All Rights Reserved.
+Contributor(s):
+
+"________________________."
+
+[Note: The text of this Exhibit A may differ slightly form the text of the notices in the Source Code files of the Original code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
+EXHIBIT B.
+"Part of the software embedded in this product is gSOAP software.
+Portions created by gSOAP are Copyright (C) 2001-2004 Robert A. van Engelen, Genivia inc. All Rights Reserved.
+THE SOFTWARE IN THIS PRODUCT WAS IN PART PROVIDED BY GENIVIA INC 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."
diff --git a/community/gsoap/PKGBUILD b/community/gsoap/PKGBUILD
new file mode 100644
index 000000000..a0452fa3a
--- /dev/null
+++ b/community/gsoap/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 93225 2013-06-28 19:02:51Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tor Krill <tor@krill.nu>
+# Contributor: Lee.MaRS <leemars@gmail.com>
+
+pkgname=gsoap
+pkgver=2.8.15
+pkgrel=1
+pkgdesc="Offers an XML language binding to ease the development of SOAP/XML Web services in C and C/C++"
+url="http://www.cs.fsu.edu/~engelen/soap.html"
+arch=('i686' 'x86_64')
+license=('GPL' 'custom')
+depends=('openssl' 'zlib' 'gcc-libs')
+makedepends=('autoconf' 'automake')
+source=(http://prdownloads.sourceforge.net/gsoap2/${pkgname}_${pkgver}.zip
+ LICENSE)
+md5sums=('abd244644446ae08d3aa36ece9113ad4'
+ '27aaa3f5166db94d44044c11a7b2c37b')
+
+build() {
+ cd $srcdir/gsoap-2.8
+ [ -f Makefile ] || CXXFLAGS=-fPIC CFLAGS=-fPIC LDFLAGS=-fPIC ./configure --prefix=/usr
+ make -j1
+}
+
+package() {
+ cd $srcdir/gsoap-2.8
+ make DESTDIR=$pkgdir install
+ mkdir -p $pkgdir/usr/share/gsoap/import
+ mkdir -p $pkgdir/usr/share/gsoap/WS
+ cp -R gsoap/import $pkgdir/usr/share/gsoap/
+ cp -R gsoap/WS $pkgdir/usr/share/gsoap/
+ install -D ../LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/gsql/PKGBUILD b/community/gsql/PKGBUILD
new file mode 100644
index 000000000..a4d3f5c39
--- /dev/null
+++ b/community/gsql/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 88439 2013-04-17 16:49:53Z bgyorgy $
+# Contributor: Michael Kanis <mkanis@gmx.de>
+
+pkgname=gsql
+pkgver=0.2.2
+pkgrel=6
+pkgdesc="Integrated database development tool for GNOME"
+url="http://gsql.org/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gtk2>=2.12' 'gtksourceview2' 'libglade' 'gconf'
+ 'desktop-file-utils' 'libnotify' 'hicolor-icon-theme')
+makedepends=('vte' 'libmariadbclient' 'postgresql-libs' 'libssh')
+optdepends=('libmariadbclient: MySQL engine'
+ 'libssh: SSH tunneling plugin'
+ 'postgresql-libs: PostgreSQL engine'
+ 'vte: Terminal session plugin')
+install=gsql.install
+options=(!libtool !emptydirs)
+source=(http://gsql.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('8f3322a75390584729e84a8570e08bea')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's/notify_notification_new (subj, message, NULL, NULL);/notify_notification_new (subj, message, NULL);/' libgsql/notify.c
+ LDFLAGS="$LDFLAGS `pkg-config --libs gthread-2.0`" ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-static --without-gnome
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install
+ install -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" "${pkgdir}"/etc/gconf/schemas/*.schemas
+ rm -f "${pkgdir}"/etc/gconf/schemas/*.schemas
+}
diff --git a/community/gsql/gsql.install b/community/gsql/gsql.install
new file mode 100644
index 000000000..e069ea8fc
--- /dev/null
+++ b/community/gsql/gsql.install
@@ -0,0 +1,24 @@
+pkgname=gsql
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/gstreamermm/PKGBUILD b/community/gstreamermm/PKGBUILD
new file mode 100644
index 000000000..9f53179a5
--- /dev/null
+++ b/community/gstreamermm/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 81906 2013-01-03 11:48:18Z jelle $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=gstreamermm
+pkgver=0.10.11
+pkgrel=1
+pkgdesc="C++ interface for GStreamer"
+arch=('i686' 'x86_64')
+url="http://gstreamer.freedesktop.org/bindings/cplusplus.html"
+license=('LGPL')
+depends=('glibmm' 'gstreamer0.10-base>=0.10.25' 'libsigc++2.0' 'libxml++')
+makedepends=('doxygen' 'pkgconfig')
+options=('!libtool')
+changelog=$pkgname.changelog
+source=(http://ftp.gnome.org/pub/GNOME/sources/gstreamermm/0.10/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('12b5f377363594a69cb79f2f5cd0a8b1813ca6553680c3216e6354cfd682ebc6')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
+
+check() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+# Make check won't work, since it checks mic input/capture which don't exists on pkgbuild.com
+# make check
+
+}
diff --git a/community/gstreamermm/gstreamermm.changelog b/community/gstreamermm/gstreamermm.changelog
new file mode 100644
index 000000000..245350ee3
--- /dev/null
+++ b/community/gstreamermm/gstreamermm.changelog
@@ -0,0 +1,9 @@
+2010-02-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * gstreamermm 0.10.10-1
+
+2010-02-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.10.6
+
+2009-11-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community] as a dependency of subtitleeditor
+ * version 0.10.5
diff --git a/community/gtest/PKGBUILD b/community/gtest/PKGBUILD
new file mode 100644
index 000000000..efc2ab416
--- /dev/null
+++ b/community/gtest/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 80934 2012-12-07 06:58:41Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Alexandre Bique <bique.alexandre@gmail.com>
+# Contributor: Louis R. Marascio <lrm@fitnr.com>
+# Contributor: Cody Maloney <cmaloney@theoreticalchaos.com>
+
+pkgname=gtest
+pkgver=1.6.0
+pkgrel=7
+pkgdesc="Google Test - C++ testing utility based on the xUnit framework (like JUnit)"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/googletest/"
+license=('custom:BSD3')
+options=('!libtool')
+depends=('gcc-libs' 'sh')
+makedepends=('python2' 'cmake')
+source=("http://googletest.googlecode.com/files/$pkgname-$pkgver.zip")
+sha1sums=('00d6be170eb9fc3b2198ffdcb1f1d6ba7fc6e621')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON ..
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ mkdir -pm 0755 $pkgdir/usr/{lib,include/gtest/internal,share/licenses/$pkgname,src/gtest/src,src/gtest/cmake}
+ install -m 0644 build/libgtest{,_main}.so $pkgdir/usr/lib/
+ install -m 0644 include/gtest/*.h $pkgdir/usr/include/gtest/
+ install -m 0644 include/gtest/internal/*.h $pkgdir/usr/include/gtest/internal/
+ install -m 0644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ install -m 0644 $srcdir/$pkgname-$pkgver/fused-src/gtest/* $pkgdir/usr/src/gtest/src
+ install -m 0644 $srcdir/$pkgname-$pkgver/CMakeLists.txt $pkgdir/usr/src/gtest
+ install -m 0644 $srcdir/$pkgname-$pkgver/cmake/* $pkgdir/usr/src/gtest/cmake
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gtk-aurora-engine/PKGBUILD b/community/gtk-aurora-engine/PKGBUILD
new file mode 100644
index 000000000..b9f477505
--- /dev/null
+++ b/community/gtk-aurora-engine/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 65546 2012-02-21 08:51:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Dmitry N. Shilov <stormblast@land.ru>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=gtk-aurora-engine
+pkgver=1.5.1
+pkgrel=3
+pkgdesc="gtk-engine: latest member of the clearlooks family"
+arch=('i686' 'x86_64')
+url="http://www.gnome-look.org/content/show.php/Aurora+Gtk+Engine?content=56438"
+license=('GPL')
+depends=('gtk2')
+makedepends=('pkgconfig')
+options=('!libtool')
+source=(http://www.gnome-look.org/CONTENT/content-files/56438-aurora-${pkgver}.tar.bz2)
+md5sums=('5eeea57c5938306ad7ccfc7cd71d009d')
+
+build() {
+ cd ${srcdir}
+ tar xzf aurora-gtk-engine-1.5.tar.gz -C ${srcdir}
+ cd ${srcdir}/aurora-1.5
+ ./configure --prefix=/usr --enable-animation
+ make
+}
+
+package() {
+ cd ${srcdir}/aurora-1.5
+ make DESTDIR=${pkgdir} install
+ mkdir -p ${pkgdir}/usr/share/themes
+ tar xjf ../Aurora.tar.bz2 -C ${pkgdir}/usr/share/themes
+ chown -R root:root ${pkgdir}/usr/share/themes
+}
diff --git a/community/gtk-chtheme/PKGBUILD b/community/gtk-chtheme/PKGBUILD
new file mode 100644
index 000000000..fbce248ad
--- /dev/null
+++ b/community/gtk-chtheme/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 63616 2012-02-05 12:00:48Z ibiru $
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=gtk-chtheme
+pkgver=0.3.1
+pkgrel=7
+pkgdesc="This little program lets you change your Gtk+ 2.0 theme. A better alternative to switch2"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://plasmasturm.org/programs/gtk-chtheme/"
+depends=('gtk2')
+source=("http://plasmasturm.org/programs/gtk-chtheme/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('f688053bf26dd6c4f1cd0bf2ee33de2a')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # Fix xdg compliancy
+ sed -i 's|-DGTK.*||' Makefile
+ sed -i 's|theme_list(g_.*|&\n\tread_theme_list(g_strconcat(g_get_user_data_dir(), "/themes", NULL));|' main.c
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ install -Dm755 gtk-chtheme ${pkgdir}/usr/bin/gtk-chtheme
+}
diff --git a/community/gtk-engine-murrine/PKGBUILD b/community/gtk-engine-murrine/PKGBUILD
new file mode 100644
index 000000000..ead92660a
--- /dev/null
+++ b/community/gtk-engine-murrine/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 69978 2012-04-27 16:16:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: detto <detto-brumm@freenet.de>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=gtk-engine-murrine
+pkgver=0.98.2
+pkgrel=1
+pkgdesc="GTK2 engine to make your desktop look like a 'murrina', an italian word meaning the art glass works done by Venicians glass blowers."
+arch=('i686' 'x86_64')
+url="http://cimitan.com/murrine/project/murrine"
+license=('LGPL3')
+depends=('gtk2')
+makedepends=('intltool')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/murrine/0.98/murrine-${pkgver}.tar.xz)
+sha256sums=('e6a2af72674403d06c03e067d915004e8d9cdeec206f3350c7f3ee595b139912')
+sha256sums=('e9c68ae001b9130d0f9d1b311e8121a94e5c134b82553ba03971088e57d12c89')
+
+build() {
+ cd murrine-${pkgver}
+ ./configure \
+ --prefix=/usr \
+ --enable-animation \
+ --enable-animationrtl
+ make
+}
+
+package() {
+ cd murrine-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/gtk-engine-unico/PKGBUILD b/community/gtk-engine-unico/PKGBUILD
new file mode 100644
index 000000000..23412fb48
--- /dev/null
+++ b/community/gtk-engine-unico/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 79966 2012-11-15 05:43:40Z bpiotrowski $
+# Maintainer: Bartlomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Hilinus <itahilinus[at]hotmail[dot]it>
+
+pkgname=gtk-engine-unico
+pkgver=1.0.2
+pkgrel=3
+pkgdesc='Unico GTK3 theme engine'
+arch=('i686' 'x86_64')
+url='https://launchpad.net/unico'
+license=('GPL')
+depends=('gtk3')
+makedepends=('gnome-common')
+options=(!libtool)
+source=(ftp://ftp.archlinux.org/other/community/$pkgname/$pkgname-139.tar.xz)
+md5sums=('a451cf9e3d6b092a2fbeb424d0436dd3')
+
+build() {
+ cd "~unico-team/unico/trunk"
+ ./autogen.sh --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "~unico-team/unico/trunk"
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/gtk-theme-switch2/PKGBUILD b/community/gtk-theme-switch2/PKGBUILD
new file mode 100644
index 000000000..78087c508
--- /dev/null
+++ b/community/gtk-theme-switch2/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 69248 2012-04-11 04:16:20Z allan $
+# Contributor: Eddie Lozon <almostlucky@attbi.com>
+# Contributor: Jason Chu <jason@archlinux.org>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=gtk-theme-switch2
+pkgver=2.1.0
+pkgrel=2
+pkgdesc="Gtk2 theme switcher"
+url="http://muhri.net/nav.php3?node=gts"
+arch=('i686' 'x86_64')
+license=('GPL2')
+depends=('gtk2')
+source=(http://ftp.de.debian.org/debian/pool/main/g/gtk-theme-switch/gtk-theme-switch_${pkgver}.orig.tar.gz)
+md5sums=('a9e7e62701cd4fba4d277dc210cd4317')
+
+build() {
+ cd ${srcdir}/gtk-theme-switch-${pkgver}
+ make
+}
+
+package() {
+ cd ${srcdir}/gtk-theme-switch-${pkgver}
+
+ install -Dm755 gtk-theme-switch2 \
+ ${pkgdir}/usr/bin/gtk-theme-switch2
+ install -Dm644 gtk-theme-switch2.1 \
+ ${pkgdir}/usr/share/man/man1/gtk-theme-switch2.1
+}
diff --git a/community/gtk2+extra/PKGBUILD b/community/gtk2+extra/PKGBUILD
new file mode 100644
index 000000000..b380bfe1d
--- /dev/null
+++ b/community/gtk2+extra/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65542 2012-02-21 08:49:41Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=gtk2+extra
+pkgver=2.1.2
+pkgrel=2
+pkgdesc="GtkExtra is a useful set of widgets for creating GUI's for the Xwindows system using GTK+"
+arch=(i686 x86_64)
+url="http://gtkextra.sourceforge.net/"
+depends=('gtk2')
+license=('LGPL')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/project/gtkextra/$pkgver/gtk%2Bextra-$pkgver.tar.gz
+ build-fix.patch)
+md5sums=('10779394f39d39115fa3fd0f3dea4436'
+ '114c10e7dc14dc78fc38189ee82fa225')
+
+build() {
+ cd $srcdir/gtk+extra-$pkgver
+ patch -p1 <$srcdir/build-fix.patch
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/gtk2+extra/build-fix.patch b/community/gtk2+extra/build-fix.patch
new file mode 100644
index 000000000..fe44f6ad8
--- /dev/null
+++ b/community/gtk2+extra/build-fix.patch
@@ -0,0 +1,85 @@
+diff -ur gtk+extra-2.1.2/gtkextra/gtkextra-marshal.list gtk+extra-2.1.2.my/gtkextra/gtkextra-marshal.list
+--- gtk+extra-2.1.2/gtkextra/gtkextra-marshal.list 2002-06-14 22:36:36.000000000 +0400
++++ gtk+extra-2.1.2.my/gtkextra/gtkextra-marshal.list 2011-11-21 15:30:00.000000000 +0400
+@@ -10,6 +10,7 @@
+ BOOL:BOXED
+ BOOL:INT,INT
+ VOID:INT
++VOID:INT,BOXED
+ VOID:INT,STRING
+ VOID:BOXED
+ VOID:VOID
+diff -ur gtk+extra-2.1.2/gtkextra/gtkitementry.c gtk+extra-2.1.2.my/gtkextra/gtkitementry.c
+--- gtk+extra-2.1.2/gtkextra/gtkitementry.c 2010-03-13 08:49:00.000000000 +0300
++++ gtk+extra-2.1.2.my/gtkextra/gtkitementry.c 2011-11-21 15:25:18.000000000 +0400
+@@ -131,7 +131,6 @@
+ static PangoLayout *gtk_entry_ensure_layout (GtkEntry *entry,
+ gboolean include_preedit);
+ static void gtk_entry_queue_draw (GtkEntry *entry);
+-static void gtk_entry_reset_im_context (GtkEntry *entry);
+ static void gtk_entry_recompute (GtkEntry *entry);
+ static void gtk_entry_get_cursor_locations (GtkEntry *entry,
+ CursorType type,
+@@ -1755,16 +1754,6 @@
+ }
+
+ static void
+-gtk_entry_reset_im_context (GtkEntry *entry)
+-{
+- if (entry->need_im_reset)
+- {
+- entry->need_im_reset = 0;
+- gtk_im_context_reset (entry->im_context);
+- }
+-}
+-
+-static void
+ gtk_entry_get_cursor_locations (GtkEntry *entry,
+ CursorType type,
+ gint *strong_x,
+diff -ur gtk+extra-2.1.2/gtkextra/Makefile.am gtk+extra-2.1.2.my/gtkextra/Makefile.am
+--- gtk+extra-2.1.2/gtkextra/Makefile.am 2005-06-16 02:54:34.000000000 +0400
++++ gtk+extra-2.1.2.my/gtkextra/Makefile.am 2011-11-21 15:25:18.000000000 +0400
+@@ -197,13 +197,13 @@
+ $(libgtkextra_x11_2_0_la_OBJECTS) $(libgtkextra_linux_fb_2_0_la_OBJECTS) $(libgtkextra_win32_2_0_la_OBJECTS): ${gtkextra_built_public_sources} ${gtkextra_built_private_headers}
+
+ $(srcdir)/gtkextra-marshal.h: gtkextra-marshal.list
+- ( @GLIB_GENMARSHAL@ --prefix=gtkextra gtkextra-marshal.list --header > gtkextra-marshal.tmp \
+- && mv gtkextra-marshal.tmp gtkextra-marshal.h ) \
+- || ( rm -f gtkextra-marshal.tmp && exit 1 )
++ ( glib-genmarshal --prefix=gtkextra gtkextra-marshal.list --header > gtkextra-marshal.tmp \
++ && mv gtkextra-marshal.tmp gtkextra-marshal.h ) \
++ || ( rm -f gtkextra-marshal.tmp && exit 1 )
+ $(srcdir)/gtkextra-marshal.c: gtkextra-marshal.h
+- ( @GLIB_GENMARSHAL@ --prefix=gtkextra gtkextra-marshal.list --body > gtkextra-marshal.tmp \
+- && mv gtkextra-marshal.tmp gtkextra-marshal.c ) \
+- || ( rm -f gtkextra-marshal.tmp && exit 1 )
++ ( glib-genmarshal --prefix=gtkextra gtkextra-marshal.list --body > gtkextra-marshal.tmp \
++ && mv gtkextra-marshal.tmp gtkextra-marshal.c ) \
++ || ( rm -f gtkextra-marshal.tmp && exit 1 )
+
+
+ $(srcdir)/gtkextratypebuiltins.h: $(gtkextra_public_h_sources)
+diff -ur gtk+extra-2.1.2/gtkextra/Makefile.in gtk+extra-2.1.2.my/gtkextra/Makefile.in
+--- gtk+extra-2.1.2/gtkextra/Makefile.in 2010-03-21 03:05:56.000000000 +0300
++++ gtk+extra-2.1.2.my/gtkextra/Makefile.in 2011-11-21 15:25:18.000000000 +0400
+@@ -1028,13 +1028,13 @@
+ $(libgtkextra_x11_2_0_la_OBJECTS) $(libgtkextra_linux_fb_2_0_la_OBJECTS) $(libgtkextra_win32_2_0_la_OBJECTS): ${gtkextra_built_public_sources} ${gtkextra_built_private_headers}
+
+ $(srcdir)/gtkextra-marshal.h: gtkextra-marshal.list
+- ( @GLIB_GENMARSHAL@ --prefix=gtkextra gtkextra-marshal.list --header > gtkextra-marshal.tmp \
+- && mv gtkextra-marshal.tmp gtkextra-marshal.h ) \
+- || ( rm -f gtkextra-marshal.tmp && exit 1 )
++ ( glib-genmarshal --prefix=gtkextra gtkextra-marshal.list --header > gtkextra-marshal.tmp \
++ && mv gtkextra-marshal.tmp gtkextra-marshal.h ) \
++ || ( rm -f gtkextra-marshal.tmp && exit 1 )
+ $(srcdir)/gtkextra-marshal.c: gtkextra-marshal.h
+- ( @GLIB_GENMARSHAL@ --prefix=gtkextra gtkextra-marshal.list --body > gtkextra-marshal.tmp \
+- && mv gtkextra-marshal.tmp gtkextra-marshal.c ) \
+- || ( rm -f gtkextra-marshal.tmp && exit 1 )
++ ( glib-genmarshal --prefix=gtkextra gtkextra-marshal.list --body > gtkextra-marshal.tmp \
++ && mv gtkextra-marshal.tmp gtkextra-marshal.c ) \
++ || ( rm -f gtkextra-marshal.tmp && exit 1 )
+
+ $(srcdir)/gtkextratypebuiltins.h: $(gtkextra_public_h_sources)
+ ( cd $(srcdir) && glib-mkenums \
diff --git a/community/gtk2_prefs/PKGBUILD b/community/gtk2_prefs/PKGBUILD
new file mode 100644
index 000000000..88d0b4b64
--- /dev/null
+++ b/community/gtk2_prefs/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 65544 2012-02-21 08:50:29Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=gtk2_prefs
+pkgver=0.4.1
+pkgrel=3
+pkgdesc="A GTK2 theme selector and font switcher"
+arch=('i686' 'x86_64')
+url="http://gtk-win.sourceforge.net/home/index.php/en/Gtk2Prefs"
+license=("GPL")
+depends=('gtk2')
+source=(http://downloads.sourceforge.net/gtk-win/gtk2_prefs-$pkgver.tar.bz2)
+md5sums=('873d2a7707e1dcadc861399434d98d86')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i '1,1i#include <string.h>' src/main.cpp
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/gtk2fontsel/PKGBUILD b/community/gtk2fontsel/PKGBUILD
new file mode 100644
index 000000000..4abc01cbf
--- /dev/null
+++ b/community/gtk2fontsel/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 67937 2012-03-16 10:28:59Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+
+pkgname=gtk2fontsel
+pkgver=0.1
+pkgrel=4
+pkgdesc="Font selection and preview tool"
+arch=('i686' 'x86_64')
+url="http://gtk2fontsel.sourceforge.net/"
+license=('GPL')
+depends=('gtk2')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('f344018b19b6a818795a4c702770cd9d')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make prefix=${pkgdir}/usr install
+}
diff --git a/community/gtk2hs-buildtools/0001-fix-for-ghc-7.6.1-changes.patch b/community/gtk2hs-buildtools/0001-fix-for-ghc-7.6.1-changes.patch
new file mode 100644
index 000000000..1c6a7dd65
--- /dev/null
+++ b/community/gtk2hs-buildtools/0001-fix-for-ghc-7.6.1-changes.patch
@@ -0,0 +1,69 @@
+From 7d94bcd36eb1d5a2feae182fcb74f9d6ca439a80 Mon Sep 17 00:00:00 2001
+From: Thomas Dziedzic <gostrc@gmail.com>
+Date: Wed, 12 Sep 2012 03:29:46 -0700
+Subject: [PATCH] fix for ghc 7.6.1 changes
+
+---
+ c2hs/base/general/FileOps.hs | 3 ++-
+ c2hs/base/state/StateTrans.hs | 3 ++-
+ c2hs/toplevel/C2HSConfig.hs | 2 +-
+ 3 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/c2hs/base/general/FileOps.hs b/c2hs/base/general/FileOps.hs
+index 83ac70c..4914c4b 100644
+--- a/c2hs/base/general/FileOps.hs
++++ b/c2hs/base/general/FileOps.hs
+@@ -39,6 +39,7 @@ import Control.Monad (liftM)
+ import System.Random (newStdGen, randomRs)
+
+ import FNameOps (dirname, stripDirname, addPath)
++import System.IO.Error (catchIOError)
+
+
+ -- search for the given file in the given list of directories (EXPORTED)
+@@ -89,7 +90,7 @@ mktemp pre post =
+ in do
+ h <- openFile fname ReadWriteMode
+ return (h, fname)
+- `catch` \_ -> createLoop (attempts - 1) rs'
++ `catchIOError` \_ -> createLoop (attempts - 1) rs'
+ --
+ sixChars :: [Int] -> ([Int], String)
+ sixChars is =
+diff --git a/c2hs/base/state/StateTrans.hs b/c2hs/base/state/StateTrans.hs
+index ada62f4..2ab0ad1 100644
+--- a/c2hs/base/state/StateTrans.hs
++++ b/c2hs/base/state/StateTrans.hs
+@@ -84,6 +84,7 @@ import System.IO (fixIO)
+ import Data.IORef (IORef, newIORef, readIORef, writeIORef)
+
+ import Errors (interr)
++import System.IO.Error (catchIOError)
+
+ infixr 1 +>=, +>
+
+@@ -337,7 +338,7 @@ fatalsHandledBy m handler =
+ ioError err
+ Right a -> return state
+ )
+- `catch` (\err -> let
++ `catchIOError` (\err -> let
+ STB handler' = handler err
+ in
+ handler' bs gs)
+diff --git a/c2hs/toplevel/C2HSConfig.hs b/c2hs/toplevel/C2HSConfig.hs
+index e8deddf..af32886 100644
+--- a/c2hs/toplevel/C2HSConfig.hs
++++ b/c2hs/toplevel/C2HSConfig.hs
+@@ -46,7 +46,7 @@ import Data.Array (Array, array)
+
+ import Foreign (Ptr, FunPtr)
+ import Foreign (Storable(sizeOf, alignment), toBool)
+-import Foreign.C (CInt)
++import Foreign.C (CInt(..))
+ import System.Info (os)
+
+ -- program settings
+--
+1.7.12
+
diff --git a/community/gtk2hs-buildtools/PKGBUILD b/community/gtk2hs-buildtools/PKGBUILD
new file mode 100644
index 000000000..82ca841b7
--- /dev/null
+++ b/community/gtk2hs-buildtools/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 89286 2013-04-28 16:52:07Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=gtk2hs-buildtools
+pkgver=0.12.4
+pkgrel=2
+pkgdesc="Tools to build the Gtk2Hs suite of User Interface libraries."
+url="http://hackage.haskell.org/package/gtk2hs-buildtools"
+license=('GPL2')
+arch=('i686' 'x86_64')
+makedepends=('ghc' 'alex' 'happy' 'haskell-random')
+depends=('gmp')
+options=('strip')
+provides=('haskell-gtk2hs-buildtools')
+source=(http://hackage.haskell.org/packages/archive/gtk2hs-buildtools/$pkgver/gtk2hs-buildtools-$pkgver.tar.gz)
+md5sums=('ad3d78bf7c25fdb4c713c3528d137a81')
+
+build() {
+ cd ${srcdir}/gtk2hs-buildtools-$pkgver
+ runhaskell Setup configure --prefix=/usr --docdir=/usr/share/doc/${pkgname}
+ runhaskell Setup build
+}
+
+package() {
+ cd ${srcdir}/gtk2hs-buildtools-$pkgver
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community/gtkballs/PKGBUILD b/community/gtkballs/PKGBUILD
new file mode 100644
index 000000000..530a1e782
--- /dev/null
+++ b/community/gtkballs/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 65548 2012-02-21 08:52:00Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jacek Poplawski <jacekpoplawski@gmail.com>
+
+pkgname=gtkballs
+pkgver=3.1.5
+pkgrel=5
+pkgdesc="clone of Lines - logic game about balls"
+arch=('i686' 'x86_64')
+url="http://gtkballs.antex.ru/"
+license=('GPL')
+depends=("gtk2")
+backup=(var/games/gtkballs/gtkballs-scores)
+source=(http://gtkballs.antex.ru/dist/gtkballs-$pkgver.tar.gz)
+md5sums=('1654799db1e9a46607b06f7ad3c0bf05')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --localstatedir=/var/games/gtkballs \
+ --mandir=/usr/share/man
+ make
+ make install DESTDIR=$pkgdir
+ chown -R root:games $pkgdir/var/games/gtkballs/
+ chmod -R ug+w $pkgdir/var/games/gtkballs/
+}
diff --git a/community/gtkdatabox/PKGBUILD b/community/gtkdatabox/PKGBUILD
new file mode 100644
index 000000000..dd2dff854
--- /dev/null
+++ b/community/gtkdatabox/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 79742 2012-11-11 19:42:10Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=gtkdatabox
+pkgver=0.9.2.0
+pkgrel=1
+pkgdesc="A widget for the Gtk+ library designed to display large amounts of numerical data"
+arch=(i686 x86_64)
+url="http://sourceforge.net/projects/gtkdatabox/"
+license=("LGPL")
+depends=('gtk2' 'libglade')
+makedepends=('gtk-doc')
+options=('!libtool' 'docs')
+source=(http://downloads.sourceforge.net/project/gtkdatabox/gtkdatabox/$pkgver/gtkdatabox-$pkgver.tar.gz)
+md5sums=('99c1fe9a918ee94e2b6f967cd22a6f5b')
+
+build() {
+ cd $srcdir/gtkdatabox-$pkgver
+ export LDFLAGS=-lm
+ ./configure --prefix=/usr \
+ --enable-gtk-doc \
+ --enable-gtk-doc-html \
+ --enable-gtk-doc-pdf \
+ --enable-libglade
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/gtkdialog/PKGBUILD b/community/gtkdialog/PKGBUILD
new file mode 100644
index 000000000..98398f1cf
--- /dev/null
+++ b/community/gtkdialog/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 83201 2013-01-28 10:07:07Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: dojo <joerg.doll[at]gmx.de>
+
+pkgname=gtkdialog
+pkgver=0.8.3
+pkgrel=1
+pkgdesc="Gtkdialog is a small utility for fast and easy GUI building."
+arch=('i686' 'x86_64')
+#url="http://linux.pte.hu/~pipas/gtkdialog/"
+url="http://code.google.com/p/gtkdialog/"
+license=("GPL")
+makedepends=('pkgconfig')
+depends=('gtk2' 'libglade')
+install=gtkdialog.install
+options=('zipman')
+source=(http://gtkdialog.googlecode.com/files/gtkdialog-$pkgver.tar.gz)
+md5sums=('f8d2a2b912bcd5aa7da60984c19bc493')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir UPDATE_ICON_CACHE=true install
+ rm -f $pkgdir/usr/share/info/dir
+ mkdir -p $pkgdir/usr/share/doc/$pkgname
+ cp -a examples $pkgdir/usr/share/doc/$pkgname/examples
+}
diff --git a/community/gtkdialog/gtkdialog.install b/community/gtkdialog/gtkdialog.install
new file mode 100644
index 000000000..ef3856eec
--- /dev/null
+++ b/community/gtkdialog/gtkdialog.install
@@ -0,0 +1,22 @@
+infodir=/usr/share/info
+filelist=(gtkdialog.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+
+ gtk-update-icon-cache -f -t usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/gtkhotkey/PKGBUILD b/community/gtkhotkey/PKGBUILD
new file mode 100644
index 000000000..ea0b42b8d
--- /dev/null
+++ b/community/gtkhotkey/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 81675 2012-12-26 12:18:55Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: kiefer <jorgelmadrid@gmail.com>
+# Contributor: Alessio Sergi <asergi at archlinux dot us>
+# Contributor: Gaute Hope <eg@gaute.vetsj.com>
+# Contributor: Marcos Heredia <chelqo@gmail.com>
+
+pkgname=gtkhotkey
+pkgver=0.2.1
+pkgrel=8
+pkgdesc="Platform independent hotkey handling for Gtk+ applications"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/gtkhotkey"
+license=('LGPL3')
+depends=('gtk2')
+makedepends=('intltool')
+options=('!libtool')
+source=("http://launchpad.net/$pkgname/0.2/$pkgver/+download/$pkgname-$pkgver.tar.gz")
+md5sums=('bfdc73e68e9adbe0d506d31a25862914')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # doc path fix
+ sed -i '/gtkhotkeydocdir/s/\${prefix}/\${datadir}/g' Makefile.{am,in}
+
+ # glib2 fix
+ sed -i 's|glib/gquark\.h|glib.h|' src/gtk-hotkey-error.h
+ sed -i 's|glib/gtypes\.h|glib.h|' src/x11/tomboykeybinder.h
+
+ ./configure --prefix=/usr \
+ --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/gtkperf/PKGBUILD b/community/gtkperf/PKGBUILD
new file mode 100644
index 000000000..144e03df5
--- /dev/null
+++ b/community/gtkperf/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 65550 2012-02-21 08:52:47Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+pkgname=gtkperf
+pkgver=0.40
+pkgrel=4
+pkgdesc="An application designed to test GTK+ performance"
+arch=('i686' 'x86_64')
+url="http://gtkperf.sourceforge.net"
+license=("GPL")
+depends=('gtk2')
+source=(http://downloads.sourceforge.net/sourceforge/gtkperf/gtkperf_$pkgver.tar.gz)
+md5sums=('4331dde4bb83865e15482885fcb0cc53')
+
+build() {
+ cd $srcdir/$pkgname
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+ mv ${pkgdir}/usr/doc ${pkgdir}/usr/share/
+}
diff --git a/community/gtkpod/PKGBUILD b/community/gtkpod/PKGBUILD
new file mode 100644
index 000000000..8727835f9
--- /dev/null
+++ b/community/gtkpod/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 90342 2013-05-11 16:17:24Z tomegun $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Contributor: Kevin Piche <kevin@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+
+pkgname=gtkpod
+pkgver=2.1.3
+pkgrel=4
+pkgdesc="A platform independent GUI for Apple's iPod using GTK3"
+arch=('i686' 'x86_64')
+url="http://gtkpod.sourceforge.net"
+license=('GPL')
+depends=('libanjuta' 'curl' 'flac' 'libid3tag' 'libgpod' 'awk' 'hicolor-icon-theme' 'libwebkit3')
+makedepends=('flex' 'intltool' 'faad2' 'libvorbis')
+optdepends=('libmp4v2: MP4/h264 support'
+ 'vorbis-tools: OGG support'
+ 'libvorbis: OGG support'
+ 'id3v2: mp3 conversion support'
+ 'faad2: m4a conversion support')
+install=gtkpod.install
+options=('!libtool')
+source=("http://downloads.sourceforge.net/gtkpod/$pkgname-$pkgver.tar.gz"
+ gtkpod-2.1.3-gdl-3.6.patch)
+md5sums=('57f04578de6e3262a436ec574422b144'
+ '94a4cc0b47ba8895c0a51e53e94da517')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -p1 -i "$srcdir/gtkpod-2.1.3-gdl-3.6.patch"
+ sed -i 's#python#python2#' scripts/sync-palm-jppy.py
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gtkpod/gtkpod-2.1.3-gdl-3.6.patch b/community/gtkpod/gtkpod-2.1.3-gdl-3.6.patch
new file mode 100644
index 000000000..109ec08a9
--- /dev/null
+++ b/community/gtkpod/gtkpod-2.1.3-gdl-3.6.patch
@@ -0,0 +1,59 @@
+Index: gtkpod-2.1.3/src/anjuta-action-callbacks.c
+===================================================================
+--- gtkpod-2.1.3.orig/src/anjuta-action-callbacks.c
++++ gtkpod-2.1.3/src/anjuta-action-callbacks.c
+@@ -65,7 +65,7 @@ void
+ on_layout_lock_toggle (GtkAction *action, AnjutaApp *app)
+ {
+ if (app->layout_manager)
+- g_object_set (app->layout_manager->master, "locked",
++ g_object_set (gdl_dock_layout_get_master (app->layout_manager), "locked",
+ gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)),
+ NULL);
+ }
+Index: gtkpod-2.1.3/src/anjuta-app.c
+===================================================================
+--- gtkpod-2.1.3.orig/src/anjuta-app.c
++++ gtkpod-2.1.3/src/anjuta-app.c
+@@ -252,7 +252,7 @@ static void on_gdl_style_changed(GSettin
+ else if (g_strcmp0(pr_style, "Tabs") == 0)
+ style = GDL_SWITCHER_STYLE_TABS;
+
+- g_object_set(G_OBJECT(app->layout_manager->master), "switcher-style", style, NULL);
++ g_object_set(G_OBJECT(gdl_dock_layout_get_master (app->layout_manager)), "switcher-style", style, NULL);
+ g_free(pr_style);
+ }
+
+@@ -478,14 +478,14 @@ static void anjuta_app_instance_init(Anj
+ gtk_widget_show(app->dock);
+ gtk_box_pack_end(GTK_BOX (hbox), app->dock, TRUE, TRUE, 0);
+
+- dockbar = gdl_dock_bar_new(GDL_DOCK(app->dock));
++ dockbar = gdl_dock_bar_new(G_OBJECT(app->dock));
+ gtk_widget_show(dockbar);
+ gtk_box_pack_start(GTK_BOX (hbox), dockbar, FALSE, FALSE, 0);
+
+- app->layout_manager = gdl_dock_layout_new(GDL_DOCK (app->dock));
++ app->layout_manager = gdl_dock_layout_new(G_OBJECT (app->dock));
+ g_signal_connect (app->layout_manager, "notify::dirty",
+ G_CALLBACK (on_layout_dirty_notify), app);
+- g_signal_connect (app->layout_manager->master, "notify::locked",
++ g_signal_connect (gdl_dock_layout_get_master (app->layout_manager), "notify::locked",
+ G_CALLBACK (on_layout_locked_notify), app);
+
+ /* UI engine */
+Index: gtkpod-2.1.3/src/gtkpod.c
+===================================================================
+--- gtkpod-2.1.3.orig/src/gtkpod.c
++++ gtkpod.2.1.3/src/gtkpod.c
+@@ -235,8 +235,8 @@ void
+ session_dir = get_user_session_dir();
+ anjuta_shell_session_save(ANJUTA_SHELL(app), session_dir, NULL);
+ g_free(session_dir);
+-
+- anjuta_shell_notify_exit(ANJUTA_SHELL(app), NULL);
++
++ /* anjuta_shell_notify_exit(ANJUTA_SHELL(app), NULL); */
+
+ if (!gtkpod_cleanup_quit()) {
+ // Dont want to quit so avoid signalling any destroy event
diff --git a/community/gtkpod/gtkpod.install b/community/gtkpod/gtkpod.install
new file mode 100644
index 000000000..c5d357a38
--- /dev/null
+++ b/community/gtkpod/gtkpod.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/gtksourceviewmm/PKGBUILD b/community/gtksourceviewmm/PKGBUILD
new file mode 100644
index 000000000..1b7d00a51
--- /dev/null
+++ b/community/gtksourceviewmm/PKGBUILD
@@ -0,0 +1,28 @@
+#$Id: PKGBUILD 88691 2013-04-21 22:17:11Z heftig $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=gtksourceviewmm
+pkgver=3.2.0
+pkgrel=4
+pkgdesc='C++ bindings for the gtksourceview library'
+arch=('x86_64' 'i686')
+url='http://projects.gnome.org/gtksourceviewmm/'
+license=('LGPL2.1')
+depends=('gtkmm3' 'gtksourceview3')
+options=('!libtool')
+source=("http://download.gnome.org/sources/$pkgname/3.2/$pkgname-$pkgver.tar.xz")
+sha256sums=('9dc0c44f00627e434a36ac7c3a34d9c30ebe45eb6dc682dc733a85dcead2ba66')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gtkspell3/PKGBUILD b/community/gtkspell3/PKGBUILD
new file mode 100644
index 000000000..9d761e88a
--- /dev/null
+++ b/community/gtkspell3/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92677 2013-06-12 04:09:55Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=gtkspell3
+pkgver=3.0.3
+pkgrel=1
+url="http://gtkspell.sourceforge.net/"
+pkgdesc="Provides word-processor-style highlighting and replacement of misspelled words in a GtkTextView widget"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gtk3' 'enchant')
+makedepends=('intltool' 'gobject-introspection' 'vala')
+options=('!libtool')
+source=(http://gtkspell.sourceforge.net/download/$pkgname-$pkgver.tar.gz)
+md5sums=('58f68a0fe9007d9a3d6092b222689320')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gtkwave/PKGBUILD b/community/gtkwave/PKGBUILD
new file mode 100644
index 000000000..de37afcb1
--- /dev/null
+++ b/community/gtkwave/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 92578 2013-06-08 21:06:37Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Jared Casper <jaredcasper@gmail.com>
+
+pkgname=gtkwave
+pkgver=3.3.47
+pkgrel=1
+pkgdesc='A wave viewer which reads LXT, LXT2, VZT, GHW and VCD/EVCD files'
+arch=('i686' 'x86_64')
+url='http://gtkwave.sourceforge.net'
+license=('GPL' 'MIT')
+depends=('bzip2' 'xz' 'gtk2')
+makedepends=('gperf')
+install='gtkwave.install'
+source=("http://gtkwave.sourceforge.net/gtkwave-${pkgver}.tar.gz")
+md5sums=('fdb257ed42220a9a7526b70d1746054a')
+
+build() {
+ cd "${srcdir}/gtkwave-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --disable-tcl
+
+ make CFLAGS=-D_LARGEFILE64_SOURCE
+}
+
+package() {
+ cd "${srcdir}/gtkwave-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 "${srcdir}/gtkwave-${pkgver}/LICENSE.TXT" \
+ "${pkgdir}/usr/share/licenses/gtkwave/LICENSE.TXT"
+ install -D -m644 "${srcdir}/gtkwave-${pkgver}/MIT.TXT" \
+ "${pkgdir}/usr/share/licenses/gtkwave/MIT.TXT"
+}
+
diff --git a/community/gtkwave/gtkwave.install b/community/gtkwave/gtkwave.install
new file mode 100644
index 000000000..bc2e66b0d
--- /dev/null
+++ b/community/gtkwave/gtkwave.install
@@ -0,0 +1,6 @@
+post_install() {
+ echo 'Make sure you copy the /usr/share/gtkwave/examples/gtkwaverc file to'
+ echo 'your home directory (as .gtkwaverc) or to your VCD project directory.'
+ echo 'It contains the prefs for a good configuration that most people find'
+ echo 'ergonomic. It is not strictly necessary however.'
+}
diff --git a/community/gtranslator/PKGBUILD b/community/gtranslator/PKGBUILD
new file mode 100644
index 000000000..6c4e2d718
--- /dev/null
+++ b/community/gtranslator/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 88692 2013-04-21 22:17:13Z heftig $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Hugo Doria <hugo@archlinux.org>
+# Contributor: Christer Solskogen (solskogen@carebears.mine.nu)
+
+pkgname=gtranslator
+pkgver=2.91.6
+pkgrel=4
+pkgdesc='Enhanced gettext po file editor for the GNOME'
+arch=('x86_64' 'i686')
+url='http://projects.gnome.org/gtranslator/'
+license=('GPL')
+depends=('desktop-file-utils' 'gdl' 'gettext' 'gtksourceview3' 'gtkspell3' 'iso-codes' 'libgda' 'libpeas' 'gsettings-desktop-schemas' 'hicolor-icon-theme' 'dconf')
+makedepends=('intltool' 'itstool' 'gnome-doc-utils' 'gucharmap' 'json-glib' 'gnome-common' 'yelp-tools')
+optdepends=('gucharmap: for charmap plugin'
+ 'json-glib: for open-tran plugin')
+options=('!libtool')
+install="$pkgname.install"
+source=("http://ftp.acc.umu.se/pub/GNOME/sources/$pkgname/2.91/$pkgname-$pkgver.tar.xz"
+ 'gtkspell3-port.patch')
+sha256sums=('a1fd4b17b1f32cc7223a31d34e34f95b20acc7b5a23768351a34ff0b7a4bcdf6'
+ '29afb55c692869cbd47d0181ddd93acdd53f5b236ebabd9a96a983da66d4cb9d')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # port to the new gtkspell3
+ patch -Np1 -i "$srcdir/gtkspell3-port.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gtranslator/gtkspell3-port.patch b/community/gtranslator/gtkspell3-port.patch
new file mode 100644
index 000000000..e12e3a9d6
--- /dev/null
+++ b/community/gtranslator/gtkspell3-port.patch
@@ -0,0 +1,97 @@
+From cf33d8761dbfc7f6c8b27c3146efcad81f8fbde9 Mon Sep 17 00:00:00 2001
+From: Kalev Lember <kalevlember@gmail.com>
+Date: Sun, 13 Jan 2013 13:19:40 +0000
+Subject: Port to gtkspell3
+
+https://bugzilla.gnome.org/show_bug.cgi?id=691655
+---
+diff --git a/configure.ac b/configure.ac
+index c1ba5b6..3fe9c46 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -84,7 +84,7 @@ GDL_REQUIRED=3.6.0
+ GDA_REQUIRED=4.2.3
+ PEAS_REQUIRED=1.2.0
+ GDICT_OPTIONAL=0.11.0
+-GTKSPELL_OPTIONAL=2.99.99
++GTKSPELL_OPTIONAL=3.0.0
+ JSON_GLIB_OPTIONAL=0.12.0
+
+ AC_ARG_WITH(gda,
+@@ -174,14 +174,14 @@ dnl -------------------------------------------------------------------
+ dnl Check for gtkspell >= 3.0 and use it if found
+ dnl -------------------------------------------------------------------
+ have_gtkspell=no
+-AC_ARG_WITH(gtkspell3,
++AC_ARG_WITH(gtkspell,
+ AS_HELP_STRING([--with-gtkspell],[Build with spell support]),,
+ with_gtkspell=auto)
+
+ if test x"$with_gtkspell" != "xno"
+ then
+ PKG_CHECK_MODULES([GTKSPELL], [
+- gtkspell-3.0 >= $GTKSPELL_OPTIONAL
++ gtkspell3-3.0 >= $GTKSPELL_OPTIONAL
+ ], have_gtkspell=yes, have_gtkspell=no)
+
+ if test x"$have_gtkspell" = "xyes"
+@@ -339,7 +339,7 @@ if [ test x"$have_gtkspell" = "xyes" ]; then
+ echo "Building spell support: ................................YES"
+ else
+ echo "Building spell support: ................................NO"
+- echo " Requires gtkspell >= $GTKSPELL_OPTIONAL"
++ echo " Requires gtkspell3 >= $GTKSPELL_OPTIONAL"
+ fi
+
+ echo "
+diff --git a/src/gtr-view.c b/src/gtr-view.c
+index 59f18e8..b9c4f6a 100644
+--- a/src/gtr-view.c
++++ b/src/gtr-view.c
+@@ -65,7 +65,7 @@ struct _GtrViewPrivate
+ gchar *search_text;
+
+ #ifdef HAVE_GTKSPELL
+- GtkSpell *spell;
++ GtkSpellChecker *spell;
+ #endif
+ };
+
+@@ -75,11 +75,10 @@ gtr_attach_gtkspell (GtrView * view)
+ {
+ GError *error = NULL;
+ gchar *errortext = NULL;
+- view->priv->spell = NULL;
+
+- view->priv->spell =
+- gtkspell_new_attach (GTK_TEXT_VIEW (view), NULL, &error);
+- if (view->priv->spell == NULL)
++ view->priv->spell = gtk_spell_checker_new ();
++ gtk_spell_checker_set_language (view->priv->spell, NULL, &error);
++ if (error)
+ {
+ g_warning (_("gtkspell error: %s\n"), error->message);
+ errortext =
+@@ -90,6 +89,11 @@ gtr_attach_gtkspell (GtrView * view)
+ g_error_free (error);
+ g_free (errortext);
+ }
++ else
++ {
++ gtk_spell_checker_attach (view->priv->spell,
++ GTK_TEXT_VIEW (view));
++ }
+ }
+ #endif
+
+@@ -263,7 +267,7 @@ gtr_view_enable_spellcheck (GtrView * view, gboolean enable)
+ #ifdef HAVE_GTKSPELL
+ if (!view->priv->spell)
+ return;
+- gtkspell_detach (view->priv->spell);
++ gtk_spell_checker_detach (view->priv->spell);
+ #endif
+ }
+ }
+--
+cgit v0.9.1
diff --git a/community/gtranslator/gtranslator.changelog b/community/gtranslator/gtranslator.changelog
new file mode 100644
index 000000000..393b0e71c
--- /dev/null
+++ b/community/gtranslator/gtranslator.changelog
@@ -0,0 +1,61 @@
+2013-03-28 Balló György <ballogyor+arch at gmail dot com>
+ * gtranslator 2.91.6-3
+ rebuild for the new gtkspell3
+
+2013-01-18 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * gtranslator 2.91.6-1
+
+2012-11-05 Balló György <ballogyor+arch at gmail dot com>
+ * gtranslator 2.91.5-2
+ rebuild for gdl 3.6
+ tempolary disable dockbar, because layout loading is completely broken with gdl 3.6
+
+2012-07-30 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * gtranslator 2.91.5-1
+
+2012-05-12 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * gtranslator 2.91.4-1
+
+2012-04-23 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+ * gtranslator 2.91.3-2
+ rebuild for gdl 3.4.2
+
+2012-04-21 Balló György <ballogyor+arch at gmail dot com>
+ * gtranslator 2.91.3-1
+
+2012-04-09 Balló György <ballogyor+arch at gmail dot com>
+ * gtranslator 2.91.2-1
+ replace gtkspell dependency with gtkspell3
+ remove unused libunique dependency
+ remove broken dictionary plugin
+
+2012-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * gtranslator 2.90.8-1
+
+2011-10-28 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * gtranslator 2.90.7-1
+
+2011-08-20 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * gtranslator 2.90.5-1
+
+2011-05-12 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * gtranslator 2.90.3-1
+
+2011-01-09 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * gtranslator-1.9.13-1
+
+2010-08-30 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * gtranslator-1.9.11-1
+
+2010-02-23 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * gtranslator-1.9.7-1
+
+2007-06-19 Eric Belanger (Snowman) <eric@archlinux.org>
+ * gtranslator-1.1.7-3
+ added x86_64 to arch field
+ added license
+ removed gnome.sh sourcing : no longer necessary
+
+2007-05-29 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+ * gtranslator-1.1.7-3
+ move from /opt/gnome to /usr
diff --git a/community/gtranslator/gtranslator.install b/community/gtranslator/gtranslator.install
new file mode 100644
index 000000000..390bbf2b0
--- /dev/null
+++ b/community/gtranslator/gtranslator.install
@@ -0,0 +1,13 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gtypist/PKGBUILD b/community/gtypist/PKGBUILD
new file mode 100644
index 000000000..34bd4c7b5
--- /dev/null
+++ b/community/gtypist/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 92635 2013-06-10 09:42:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Ben Mazer <blm@groknil.org>
+# Contributor: Mike Douglas <code_monkey@gooeylinux.org>
+
+pkgname=gtypist
+pkgver=2.9.3
+pkgrel=1
+pkgdesc="universal typing tutor"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/gtypist/gtypist.html"
+license=("GPL")
+depends=('ncurses' 'perl')
+makedepends=('emacs')
+install=gtypist.install
+source=(ftp://ftp.gnu.org/gnu/gtypist/$pkgname-$pkgver.tar.gz
+ ncurses.patch)
+md5sums=('e26c29be0adf345604a802be81712bee'
+ 'e37a2e8fe90c6c0c684c1a12d016ee03')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 <$srcdir/ncurses.patch
+ autoreconf
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make prefix=$pkgdir/usr install
+ rm -f $pkgdir/usr/share/info/dir
+}
diff --git a/community/gtypist/gtypist.install b/community/gtypist/gtypist.install
new file mode 100644
index 000000000..7fd230fc4
--- /dev/null
+++ b/community/gtypist/gtypist.install
@@ -0,0 +1,18 @@
+infodir=/usr/share/info
+filelist=(gtypist.info)
+
+post_install() {
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/gtypist/ncurses.patch b/community/gtypist/ncurses.patch
new file mode 100644
index 000000000..9fa484ffd
--- /dev/null
+++ b/community/gtypist/ncurses.patch
@@ -0,0 +1,83 @@
+diff -wbBur gtypist-2.9.3/configure.ac gtypist-2.9.3.q/configure.ac
+--- gtypist-2.9.3/configure.ac 2013-06-05 22:50:00.000000000 +0400
++++ gtypist-2.9.3.q/configure.ac 2013-06-10 13:32:54.284038071 +0400
+@@ -44,14 +44,14 @@
+ AC_FUNC_STRTOD
+ AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext getcwd getwd mempcpy memset munmap nl_langinfo setlocale stpcpy strcasecmp strchr strcspn strdup strstr strtoul])
+
+-# check for libncursesw
++# check for libncurses
+
+-AC_CHECK_HEADER(ncursesw/ncurses.h, HAVE_NCURSESW_H=1)
+-AC_CHECK_LIB(ncursesw, add_wch, HAVE_LIBNCURSESW=1)
++AC_CHECK_HEADER(ncurses.h, HAVE_NCURSESW_H=1)
++AC_CHECK_LIB(ncurses, add_wch, HAVE_LIBNCURSESW=1)
+ if test -n "$HAVE_NCURSESW_H" -a -n "$HAVE_LIBNCURSESW"; then
+- LIBS="-lncursesw $LIBS"
++ LIBS="-lncurses $LIBS"
+ else
+- echo -e "Error: both library and header files for the ncursesw library\n"\
++ echo -e "Error: both library and header files for the ncurses library\n"\
+ "are required to build this package. See INSTALL file for"\
+ "further information. On Debian/Ubuntu you need to install libncursesw5-dev."
+ exit 1;
+diff -wbBur gtypist-2.9.3/src/cursmenu.c gtypist-2.9.3.q/src/cursmenu.c
+--- gtypist-2.9.3/src/cursmenu.c 2013-06-05 22:50:00.000000000 +0400
++++ gtypist-2.9.3.q/src/cursmenu.c 2013-06-10 13:33:16.610704480 +0400
+@@ -24,7 +24,7 @@
+ #ifdef HAVE_PDCURSES
+ #include <curses.h>
+ #else
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
+ #endif
+
+ #include "error.h"
+diff -wbBur gtypist-2.9.3/src/error.c gtypist-2.9.3.q/src/error.c
+--- gtypist-2.9.3/src/error.c 2013-06-05 22:50:00.000000000 +0400
++++ gtypist-2.9.3.q/src/error.c 2013-06-10 13:33:26.124037704 +0400
+@@ -25,7 +25,7 @@
+ #ifdef HAVE_PDCURSES
+ #include <curses.h>
+ #else
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
+ #endif
+
+ #include <stdlib.h>
+diff -wbBur gtypist-2.9.3/src/gtypist.c gtypist-2.9.3.q/src/gtypist.c
+--- gtypist-2.9.3/src/gtypist.c 2013-06-05 22:50:00.000000000 +0400
++++ gtypist-2.9.3.q/src/gtypist.c 2013-06-10 13:33:18.844037788 +0400
+@@ -31,7 +31,7 @@
+ #ifdef HAVE_PDCURSES
+ #include <curses.h>
+ #else
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
+ #endif
+
+ #include <time.h>
+diff -wbBur gtypist-2.9.3/src/script.c gtypist-2.9.3.q/src/script.c
+--- gtypist-2.9.3/src/script.c 2013-06-05 22:50:00.000000000 +0400
++++ gtypist-2.9.3.q/src/script.c 2013-06-10 13:33:21.067371095 +0400
+@@ -24,7 +24,7 @@
+ #ifdef HAVE_PDCURSES
+ #include <curses.h>
+ #else
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
+ #endif
+
+ #include "error.h"
+diff -wbBur gtypist-2.9.3/src/utf8.c gtypist-2.9.3.q/src/utf8.c
+--- gtypist-2.9.3/src/utf8.c 2013-06-05 22:50:00.000000000 +0400
++++ gtypist-2.9.3.q/src/utf8.c 2013-06-10 13:33:23.604037733 +0400
+@@ -23,7 +23,7 @@
+ #ifdef HAVE_PDCURSES
+ #include <curses.h>
+ #else
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
+ #endif
+
+ #include <stdlib.h>
diff --git a/community/guake/PKGBUILD b/community/guake/PKGBUILD
new file mode 100644
index 000000000..f5e1eaffd
--- /dev/null
+++ b/community/guake/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 78192 2012-10-17 10:24:02Z allan $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Wilson Pinto Júnior (N3RD3X) <n3rd3x@linuxmail.org>
+
+pkgname=guake
+pkgver=0.4.4
+pkgrel=2
+pkgdesc='Drop-down terminal for GNOME'
+arch=('i686' 'x86_64')
+url="http://guake.org/"
+license=('GPL')
+depends=('python2-notify' 'vte' 'python2-gconf' 'python2-dbus' 'python2-xdg' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool')
+options=('!libtool')
+install=$pkgname.install
+source=(http://guake.org/files/$pkgname-$pkgver.tar.gz
+ guake-fix-notification.patch)
+md5sums=('532adada29b8f0bb79dc15904aa6b70c'
+ '0b57227e6869dd84dd4fb0794ed0d082')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's|schemadir = $(sysconfdir)/gconf/schemas|schemadir = $(GCONF_SCHEMA_FILE_DIR)|' data/Makefile.in
+ sed -i 's|/usr/bin/env python|/usr/bin/python2|' src/{guake{,-prefs},prefs.py}
+
+ # http://guake.org/ticket/416
+ patch -Np1 -i "$srcdir/guake-fix-notification.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/guake/guake-fix-notification.patch b/community/guake/guake-fix-notification.patch
new file mode 100644
index 000000000..847dac10e
--- /dev/null
+++ b/community/guake/guake-fix-notification.patch
@@ -0,0 +1,42 @@
+--- a/src/guake 2011-02-09 20:00:35.000000000 +0100
++++ b/src/guake 2012-02-25 00:55:28.513075769 +0100
+@@ -46,7 +46,10 @@
+ TERMINAL_MATCH_EXPRS, TERMINAL_MATCH_TAGS, \
+ ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER
+
+-pynotify.init('Guake!')
++popup_works = True
++if not pynotify.init('Guake!') or pynotify.get_server_info() == None :
++ popup_works = False
++ print "WARNING: could not use popup notification"
+
+ GNOME_FONT_PATH = '/desktop/gnome/interface/monospace_font_name'
+
+@@ -637,7 +640,12 @@
+ 'Please use Guake Preferences dialog to choose another '
+ 'key (The trayicon was enabled)') % label, filename)
+ self.client.set_bool(KEY('/general/use_trayicon'), True)
+- notification.show()
++ if popup_works :
++ notification.show()
++ else :
++ print _('A problem happened when binding <b>%s</b> key.\n'
++ 'Please use Guake Preferences dialog to choose another '
++ 'key (The trayicon was enabled)') % label
+
+ elif self.client.get_bool(KEY('/general/use_popup')):
+ # Pop-up that shows that guake is working properly (if not
+@@ -646,7 +654,11 @@
+ _('Guake!'),
+ _('Guake is now running,\n'
+ 'press <b>%s</b> to use it.') % label, filename)
+- notification.show()
++ if popup_works :
++ notification.show()
++ else :
++ print _('Guake is now running,\n'
++ 'press <b>%s</b> to use it.') % label
+
+ def execute_command(self, command, tab=None):
+ """Execute the `command' in the `tab'. If tab is None, the
+
diff --git a/community/guake/guake.install b/community/guake/guake.install
new file mode 100644
index 000000000..8084333b1
--- /dev/null
+++ b/community/guake/guake.install
@@ -0,0 +1,22 @@
+pkgname=guake
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ xdg-icon-resource forceupdate
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ xdg-icon-resource forceupdate
+}
diff --git a/community/guayadeque/PKGBUILD b/community/guayadeque/PKGBUILD
new file mode 100755
index 000000000..d720c56b2
--- /dev/null
+++ b/community/guayadeque/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 86605 2013-03-20 15:17:37Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Sial <sial@cpan.org>
+# Contributor: Martin Herndl <martin.herndl@gmail.com>
+
+pkgname=guayadeque
+pkgver=0.3.5
+pkgrel=5
+pkgdesc="Lightweight music player"
+arch=('i686' 'x86_64')
+url="http://guayadeque.org/"
+license=('GPL3')
+depends=('curl' 'dbus' 'desktop-file-utils' 'flac' 'libgpod' 'taglib' 'wxgtk')
+makedepends=('cmake')
+optdepends=('gstreamer0.10-good-plugins: Support for additional file formats'
+ 'gvfs: Support for external devices')
+install=$pkgname.install
+source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2")
+sha256sums=('8281286a715731b567097238e1c0aaf962e052fbc7e2761b10f36407eb6ec4d5')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+# Build
+ ./build
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+# Install
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/guayadeque/guayadeque.install b/community/guayadeque/guayadeque.install
new file mode 100755
index 000000000..0294d6a5b
--- /dev/null
+++ b/community/guayadeque/guayadeque.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade(){
+ post_install
+}
+
+post_remove(){
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/guichan/PKGBUILD b/community/guichan/PKGBUILD
new file mode 100644
index 000000000..032274d45
--- /dev/null
+++ b/community/guichan/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 70598 2012-05-12 11:22:15Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Bjørn Lindeijer <bjorn@lindeijer.nl>
+
+pkgname=guichan
+pkgver=0.8.2
+pkgrel=3
+pkgdesc="A portable C++ GUI library designed for games using Allegro, SDL and/or OpenGL."
+arch=('i686' 'x86_64')
+url="http://guichan.sourceforge.net/"
+license=('BSD')
+makedepends=('sdl_image' 'allegro4' 'libgl' 'glut')
+options=('!libtool' '!strip')
+source=(http://guichan.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+sha256sums=('eedf206eae5201eaae027b133226d0793ab9a287bfd74c5f82c7681e3684eeab')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ CXXFLAGS="-g" ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make prefix=${pkgdir}/usr install
+
+# Install the license, as required for BSD
+ install -m644 -D COPYING ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/guifications/PKGBUILD b/community/guifications/PKGBUILD
new file mode 100644
index 000000000..f89cc9268
--- /dev/null
+++ b/community/guifications/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 58837 2011-11-18 17:38:20Z jelle $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Link Dupont <link@.subpop.net>
+
+pkgname=guifications
+pkgver=2.16
+pkgrel=3
+pkgdesc="A set of GUI popup notifications for pidgin"
+arch=(i686 x86_64)
+url="http://plugins.guifications.org/trac/wiki/Guifications"
+license=("GPL")
+depends=('pidgin')
+makedepends=('perlxml')
+options=('!libtool')
+source=("https://www.guifications.org/attachments/download/145/pidgin-guifications-2.16.tar.gz")
+md5sums=('43fd9022160f15b4b262c4662ba62fc9')
+
+build() {
+ cd "${srcdir}/pidgin-${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-deprecated
+ make
+}
+package()
+{
+ cd "${srcdir}/pidgin-${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/guitarix2/PKGBUILD b/community/guitarix2/PKGBUILD
new file mode 100644
index 000000000..790d0d9e9
--- /dev/null
+++ b/community/guitarix2/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 94119 2013-07-14 14:47:34Z speps $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+pkgname=guitarix2
+pkgver=0.27.1
+pkgrel=2
+pkgdesc="A simple mono guitar amplifier and FX for JACK using Faust"
+arch=('i686' 'x86_64')
+url="http://guitarix.sourceforge.net/"
+license=('GPL')
+depends=('gtkmm' 'jack' 'liblrdf' 'boost-libs' 'zita-convolver' 'zita-resampler')
+makedepends=('python2' 'boost' 'intltool' 'lv2')
+optdepends=('meterbridge: sound meters')
+provides=('guitarix' 'gx_head')
+conflicts=('guitarix' 'gx_head')
+replaces=('guitarix' 'gx_head')
+install="$pkgname.install"
+source=("http://download.sourceforge.net/project/guitarix/guitarix/$pkgname-$pkgver.tar.bz2")
+md5sums=('65e0917f9529460931be522e2879e514')
+
+build() {
+ cd "$srcdir/guitarix-$pkgver"
+ python2 waf configure --prefix=/usr \
+ --no-desktop-update \
+ --no-ldconfig \
+ --no-faust \
+ --optimization \
+ --shared-lib \
+ --lib-dev \
+ --build-lv2
+ python2 waf build
+}
+
+package() {
+ cd "$srcdir/guitarix-$pkgver"
+ python2 waf install --destdir="$pkgdir"
+}
diff --git a/community/guitarix2/guitarix2.install b/community/guitarix2/guitarix2.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/community/guitarix2/guitarix2.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gummi/PKGBUILD b/community/gummi/PKGBUILD
new file mode 100644
index 000000000..69a8ac95c
--- /dev/null
+++ b/community/gummi/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 78640 2012-10-22 12:45:21Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Sergio A. Morales <sergiomorales@archlinux.cl>
+# Contributor: soeren <nonick@posteo.de>
+
+pkgname=gummi
+pkgver=0.6.5
+pkgrel=1
+pkgdesc='Simple LaTex editor for GTK users'
+arch=('x86_64' 'i686')
+url='http://gummi.midnightcoding.org/'
+license=('MIT')
+depends=('texlive-core' 'gtkspell' 'gtksourceview2' 'poppler-glib' 'desktop-file-utils')
+makedepends=('glib2' 'gtk2' 'pango' 'poppler' 'intltool')
+install=$pkgname.install
+source=("$pkgname-$pkgver.tar.gz::http://dev.midnightcoding.org/projects/$pkgname/latest.tar.gz")
+sha256sums=('b23c2958376ea43c701a276ad19ceac5b50d9cb32a489a10897b25aa5004fffb')
+
+build() {
+ cd $pkgname-$pkgver
+
+ find . -type f -exec touch {} \;
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make prefix=$pkgdir/usr install
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gummi/gummi.install b/community/gummi/gummi.install
new file mode 100644
index 000000000..ef816a666
--- /dev/null
+++ b/community/gummi/gummi.install
@@ -0,0 +1,14 @@
+post_upgrade() {
+ gtk-update-icon-cache -q -f -t /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/guvcview/PKGBUILD b/community/guvcview/PKGBUILD
new file mode 100644
index 000000000..b63e5b471
--- /dev/null
+++ b/community/guvcview/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 90045 2013-05-06 19:37:46Z foutrelis $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Maxwell Pray a.k.a. Synthead <synthead@gmail.com>
+
+pkgname=guvcview
+pkgver=1.7.0
+pkgrel=2
+pkgdesc="A video viewer and capturer for the linux uvc driver"
+arch=('i686' 'x86_64')
+url="http://guvcview.sourceforge.net/"
+license=('GPL')
+depends=('portaudio' 'ffmpeg' 'gtk3')
+makedepends=('pkg-config' 'intltool')
+optdepends=('pulseaudio: for PulseAudio support')
+options=('!docs')
+source=("http://downloads.sourceforge.net/project/${pkgname}/source/${pkgname}-src-${pkgver}.tar.gz")
+md5sums=('fe141fe2fe2a16df69f7866c27334a56')
+
+build() {
+ cd "${srcdir}/${pkgname}-src-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --disable-debian-menu
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-src-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/gwenhywfar/PKGBUILD b/community/gwenhywfar/PKGBUILD
new file mode 100644
index 000000000..bac4f1e30
--- /dev/null
+++ b/community/gwenhywfar/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 85356 2013-03-01 10:32:40Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: William Rea <sillywilly@gmail.com>
+
+pkgname=gwenhywfar
+pkgver=4.3.3
+_dnrel=67
+pkgrel=2
+pkgdesc="OS abstraction functions for various projects"
+arch=(i686 x86_64)
+url="http://www.aquamaniac.de"
+options=('!libtool')
+license=("LGPL")
+depends=('openssl' 'gnutls' 'libgcrypt')
+makedepends=('gtk2' 'qt4')
+optdepends=('gtk2' 'qt4')
+source=("gwenhywfar-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=01&release=${_dnrel}&file=01&dummy=gwenhywfar-$pkgver.tar.gz")
+md5sums=('c5b9d52a25960f84f9264a5a5dd484d1')
+
+build() {
+ pacman -Q gwenhywfar && return 1
+ cd $srcdir/gwenhywfar-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-ssl
+ sed -i 's|gnutls_transport_set_lowat||g' src/sio/syncio_tls.c
+ make
+}
+
+package() {
+ cd $srcdir/gwenhywfar-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/gwget/PKGBUILD b/community/gwget/PKGBUILD
new file mode 100644
index 000000000..68d4d72f5
--- /dev/null
+++ b/community/gwget/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 93470 2013-07-04 00:59:01Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Aaron, phrakture, Griffin <aaron@archlinux.org>
+# Contributor: erkaN kaplaN <erkan@linux-sevenler.org>
+# Contributor: Alexsandr Pavlov <kidoz at mail dot ru>
+
+pkgname=gwget
+pkgver=1.0.4
+pkgrel=7
+pkgdesc="Download manager for GNOME"
+arch=('i686' 'x86_64')
+url="http://projects.gnome.org/gwget/"
+license=('GPL')
+depends=('gtk2' 'gconf' 'libnotify')
+makedepends=('intltool')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2
+ gwget-1.0.4-notify-0.7.patch
+ gwget-1.0.4-glib-2.32.patch
+ drop-libgnomeui.patch)
+sha256sums=('a65b2b2b3befb6cf34a697a13111b35498a6d63f9a9b048a22b8654f35ef643f'
+ '84efbbea9c2a91c60288edb67264bbdb4ec2c579cf95b3baa8282040a1b65c76'
+ '319c4795d0034c4adacf302db697d966ca228fc1bbe9778af9dadcfb0c2531c8'
+ 'e95bc7d60bdd98c81d0b44c0d62122889536ee5bc0013d2daaa74244252d0c53')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=634170
+ patch -Np1 -i "$srcdir/gwget-1.0.4-notify-0.7.patch"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=665286
+ patch -Np1 -i "$srcdir/gwget-1.0.4-glib-2.32.patch"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=671759
+ patch -Np1 -i "$srcdir/drop-libgnomeui.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/gwget/drop-libgnomeui.patch b/community/gwget/drop-libgnomeui.patch
new file mode 100644
index 000000000..d88bac58b
--- /dev/null
+++ b/community/gwget/drop-libgnomeui.patch
@@ -0,0 +1,290 @@
+diff -Naur gwget-1.0.4.orig/configure.ac gwget-1.0.4/configure.ac
+--- gwget-1.0.4.orig/configure.ac 2013-07-04 02:34:53.853338000 +0200
++++ gwget-1.0.4/configure.ac 2013-07-04 02:35:57.021516447 +0200
+@@ -14,15 +14,13 @@
+
+ AM_GCONF_SOURCE_2
+
+-LIBGNOMEUI_REQUIRED=2.0.0
+-LIBGNOME_REQUIRED=2.0.0
+ GTK_REQUIRED=2.6.0
+ GCONF_REQUIRED=1.1.11
+ DBUS_GLIB_REQUIRED=0.33
+ GIO_REQUIRED=2.16.0
+
+-PKG_CHECK_MODULES(GNOME, libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED
+- gtk+-2.0 >= $GTK_REQUIRED
++PKG_CHECK_MODULES(GNOME, gtk+-2.0 >= $GTK_REQUIRED
++ gconf-2.0
+ gmodule-2.0
+ gio-unix-2.0 >= $GIO_REQUIRED)
+
+diff -Naur gwget-1.0.4.orig/src/custom-cell-renderer-progressbar.c gwget-1.0.4/src/custom-cell-renderer-progressbar.c
+--- gwget-1.0.4.orig/src/custom-cell-renderer-progressbar.c 2009-06-16 19:58:06.000000000 +0200
++++ gwget-1.0.4/src/custom-cell-renderer-progressbar.c 2013-07-04 02:35:57.024849860 +0200
+@@ -21,8 +21,8 @@
+
+ #include <config.h>
+ #include <stdlib.h>
+-#include <gnome.h>
+-/* #include <glib/gi18n.h> */
++#include <glib/gi18n.h>
++#include <gtk/gtk.h>
+
+ #include "custom-cell-renderer-progressbar.h"
+
+diff -Naur gwget-1.0.4.orig/src/gwget-application.c gwget-1.0.4/src/gwget-application.c
+--- gwget-1.0.4.orig/src/gwget-application.c 2009-06-20 10:12:37.000000000 +0200
++++ gwget-1.0.4/src/gwget-application.c 2013-07-04 02:35:57.024849860 +0200
+@@ -21,8 +21,6 @@
+ #include "gwget-application.h"
+
+
+-#include <libgnomeui/gnome-client.h>
+-
+ #ifdef ENABLE_DBUS
+ #include "gwget-application-service.h"
+ #include <dbus/dbus-glib-bindings.h>
+@@ -86,39 +84,6 @@
+ #endif /* ENABLE_DBUS */
+
+
+-static gint
+-save_session (GnomeClient *client, gint phase, GnomeSaveStyle save_style, gint shutdown,
+- GnomeInteractStyle interact_style, gint fast, GwgetApplication *application)
+-{
+- char **restart_argv;
+- int argc = 0;
+-
+- restart_argv = g_new (char *, 1);
+- restart_argv[0] = g_strdup ("gwget");
+- gnome_client_set_restart_command (client, argc, restart_argv);
+-
+- return TRUE;
+-}
+-
+-static void
+-removed_from_session (GnomeClient *client, GwgetApplication *application)
+-{
+- gwget_application_shutdown (application);
+-}
+-
+-static void
+-init_session (GwgetApplication *application)
+-{
+- GnomeClient *client;
+-
+- client = gnome_master_client ();
+-
+- g_signal_connect (client, "save_yourself",
+- G_CALLBACK (save_session), application);
+- g_signal_connect (client, "die",
+- G_CALLBACK (removed_from_session), application);
+-}
+-
+ gboolean
+ gwget_application_open_window (GwgetApplication *application,
+ guint32 timestamp,
+@@ -199,7 +164,6 @@
+ static void
+ gwget_application_init (GwgetApplication *gwget_application)
+ {
+- init_session (gwget_application);
+
+ }
+
+diff -Naur gwget-1.0.4.orig/src/main.c gwget-1.0.4/src/main.c
+--- gwget-1.0.4.orig/src/main.c 2009-06-20 10:12:37.000000000 +0200
++++ gwget-1.0.4/src/main.c 2013-07-04 02:35:57.024849860 +0200
+@@ -17,11 +17,13 @@
+
+ #include <config.h>
+
+-#include <gnome.h>
++#include <stdlib.h>
++#include <errno.h>
++#include <glib/gi18n.h>
++#include <gtk/gtk.h>
+ #include <string.h>
+ #include <gconf/gconf-client.h>
+ #include <locale.h>
+-#include <libgnomeui/libgnomeui.h>
+ #include <gio/gio.h>
+
+ #include "main_window_cb.h"
+@@ -201,7 +203,6 @@
+
+ int main(int argc,char *argv[])
+ {
+- GnomeProgram *program;
+ GOptionContext *context;
+
+ context = g_option_context_new (_("Gwget Download Manager"));
+@@ -220,12 +221,7 @@
+
+
+ gwget_init_pref(&gwget_pref);
+- program = gnome_program_init(PACKAGE, VERSION,
+- LIBGNOMEUI_MODULE, argc, argv,
+- GNOME_PARAM_GOPTION_CONTEXT, context,
+- GNOME_PARAM_HUMAN_READABLE_NAME, _("Gwget"),
+- GNOME_PARAM_APP_DATADIR, GNOME_GWGET_LOCALEDIR,
+- NULL);
++ gtk_init (&argc, &argv);
+
+ #ifdef ENABLE_DBUS
+ if (!gwget_application_register_service (GWGET_APP)) {
+@@ -243,9 +239,5 @@
+
+ gtk_main();
+
+- gnome_accelerators_sync ();
+-
+- g_object_unref (program);
+-
+ return (0);
+ }
+diff -Naur gwget-1.0.4.orig/src/main_window.c gwget-1.0.4/src/main_window.c
+--- gwget-1.0.4.orig/src/main_window.c 2009-08-14 19:19:51.000000000 +0200
++++ gwget-1.0.4/src/main_window.c 2013-07-04 02:35:57.024849860 +0200
+@@ -15,7 +15,9 @@
+ */
+
+ #include <config.h>
+-#include <gnome.h>
++#include <stdlib.h>
++#include <glib/gi18n.h>
++#include <gtk/gtk.h>
+ #include <gconf/gconf-client.h>
+ #include <glib/gstdio.h>
+ #include <string.h>
+@@ -118,20 +120,22 @@
+ toolbar = GTK_WIDGET (gtk_builder_get_object(builder,"toolbar1"));
+ toolbar_setting = gconf_client_get_string(gconf_client,"/desktop/gnome/interface/toolbar_style",NULL);
+
+- if (!strcmp(toolbar_setting,"icons")) {
+- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_ICONS);
+- }
+-
+- if (!strcmp(toolbar_setting,"both")) {
+- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_BOTH);
+- }
+-
+- if (!strcmp(toolbar_setting,"both-horiz")) {
+- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_BOTH_HORIZ);
+- }
+-
+- if (!strcmp(toolbar_setting,"text")) {
+- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_TEXT);
++ if (toolbar_setting!=NULL) {
++ if (!strcmp(toolbar_setting,"icons")) {
++ gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_ICONS);
++ }
++
++ if (!strcmp(toolbar_setting,"both")) {
++ gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_BOTH);
++ }
++
++ if (!strcmp(toolbar_setting,"both-horiz")) {
++ gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_BOTH_HORIZ);
++ }
++
++ if (!strcmp(toolbar_setting,"text")) {
++ gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_TEXT);
++ }
+ }
+
+ /* Listen to changes to the key. */
+diff -Naur gwget-1.0.4.orig/src/main_window_cb.c gwget-1.0.4/src/main_window_cb.c
+--- gwget-1.0.4.orig/src/main_window_cb.c 2009-08-14 19:19:51.000000000 +0200
++++ gwget-1.0.4/src/main_window_cb.c 2013-07-04 02:45:43.468873631 +0200
+@@ -15,7 +15,9 @@
+ */
+
+ #include <config.h>
+-#include <gnome.h>
++#include <stdlib.h>
++#include <glib/gi18n.h>
++#include <gtk/gtk.h>
+ #include <gconf/gconf-client.h>
+ #include <signal.h>
+
+@@ -217,6 +219,9 @@
+ gchar *size;
+ int width = 16, height = 16;
+ gdouble perc;
++ GIcon *icon;
++ const gchar *const *icon_names;
++ gint i;
+
+ gtk_list_store_append (GTK_LIST_STORE(model), &iter);
+ size = g_strdup_printf ("%d kB", (guint32)(gwgetdata->cur_size + 512) / 1024);
+@@ -243,8 +248,14 @@
+ theme = gtk_icon_theme_get_default ();
+ if (!gwgetdata->recursive) {
+ content_type = g_content_type_guess (gwgetdata->local_filename, NULL, 0, NULL);
+- gwgetdata->icon_name = gnome_icon_lookup (theme, NULL, NULL, NULL, NULL,
+- content_type, GNOME_ICON_LOOKUP_FLAGS_NONE, NULL);
++ icon = g_content_type_get_icon (content_type);
++ icon_names = g_themed_icon_get_names (G_THEMED_ICON (icon));
++ for (i=0; i < g_strv_length ((gchar **)icon_names); i++) {
++ if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), icon_names[i])) {
++ gwgetdata->icon_name = icon_names[i];
++ break;
++ }
++ }
+ } else {
+ gwgetdata->icon_name = g_strdup("gtk-refresh");
+ }
+diff -Naur gwget-1.0.4.orig/src/new_window.c gwget-1.0.4/src/new_window.c
+--- gwget-1.0.4.orig/src/new_window.c 2009-08-14 19:19:51.000000000 +0200
++++ gwget-1.0.4/src/new_window.c 2013-07-04 02:35:57.028183273 +0200
+@@ -24,7 +24,8 @@
+ */
+
+
+-#include <gnome.h>
++#include <glib/gi18n.h>
++#include <gtk/gtk.h>
+ #include <config.h>
+ #include "new_window.h"
+ #include "main_window.h"
+diff -Naur gwget-1.0.4.orig/src/systray.c gwget-1.0.4/src/systray.c
+--- gwget-1.0.4.orig/src/systray.c 2013-07-04 02:34:53.920006000 +0200
++++ gwget-1.0.4/src/systray.c 2013-07-04 02:35:57.028183273 +0200
+@@ -1,6 +1,7 @@
+
+ #include <config.h>
+-#include <gnome.h>
++#include <glib/gi18n.h>
++#include <gtk/gtk.h>
+ #include "main_window.h"
+ #include "gwget_data.h"
+ #include "systray.h"
+diff -Naur gwget-1.0.4.orig/src/utils.c gwget-1.0.4/src/utils.c
+--- gwget-1.0.4.orig/src/utils.c 2009-08-14 19:19:51.000000000 +0200
++++ gwget-1.0.4/src/utils.c 2013-07-04 02:35:57.028183273 +0200
+@@ -14,7 +14,8 @@
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+-#include <gnome.h>
++#include <string.h>
++#include <gtk/gtk.h>
+ #include "main_window.h"
+ #include "utils.h"
+ #include "gwget_data.h"
+diff -Naur gwget-1.0.4.orig/src/wget-log.c gwget-1.0.4/src/wget-log.c
+--- gwget-1.0.4.orig/src/wget-log.c 2009-10-04 20:29:35.000000000 +0200
++++ gwget-1.0.4/src/wget-log.c 2013-07-04 02:35:57.028183273 +0200
+@@ -25,7 +25,9 @@
+ #define _FILE_OFFSET_BITS 64
+
+ #include <config.h>
+-#include <gnome.h>
++#include <stdlib.h>
++#include <glib/gi18n.h>
++#include <gtk/gtk.h>
+ #include <string.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
diff --git a/community/gwget/gwget-1.0.4-glib-2.32.patch b/community/gwget/gwget-1.0.4-glib-2.32.patch
new file mode 100644
index 000000000..ac914070e
--- /dev/null
+++ b/community/gwget/gwget-1.0.4-glib-2.32.patch
@@ -0,0 +1,12 @@
+diff -Naur gwget-1.0.4.orig/src/gwget-application.h gwget-1.0.4/src/gwget-application.h
+--- gwget-1.0.4.orig/src/gwget-application.h 2012-05-05 12:53:49.679322992 +0000
++++ gwget-1.0.4/src/gwget-application.h 2012-05-05 12:56:21.481488856 +0000
+@@ -18,7 +18,7 @@
+ #ifndef GWGET_APPLICATION_H
+ #define GWGET_APPLICATION_H
+
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include <glib-object.h>
+
+ G_BEGIN_DECLS
diff --git a/community/gwget/gwget-1.0.4-notify-0.7.patch b/community/gwget/gwget-1.0.4-notify-0.7.patch
new file mode 100644
index 000000000..2edbfa473
--- /dev/null
+++ b/community/gwget/gwget-1.0.4-notify-0.7.patch
@@ -0,0 +1,24 @@
+diff -Naur gwget-1.0.4.orig/configure.ac gwget-1.0.4/configure.ac
+--- gwget-1.0.4.orig/configure.ac 2009-10-17 22:26:09.000000000 +0200
++++ gwget-1.0.4/configure.ac 2011-03-18 00:24:51.993660191 +0100
+@@ -270,7 +270,7 @@
+ #
+ # Check for libnotify
+ #
+-LIBNOTIFY_REQUIRED=0.2.2
++LIBNOTIFY_REQUIRED=0.7.0
+ AC_ARG_ENABLE(libnotify,
+ AC_HELP_STRING([--disable-libnotify],
+ [Disable libnotify support]),,
+diff -Naur gwget-1.0.4.orig/src/systray.c gwget-1.0.4/src/systray.c
+--- gwget-1.0.4.orig/src/systray.c 2009-08-14 19:19:51.000000000 +0200
++++ gwget-1.0.4/src/systray.c 2011-03-18 00:24:27.612098913 +0100
+@@ -224,7 +224,7 @@
+ if (!notify_is_initted ())
+ if (!notify_init ("gwget"))
+ return;
+- NotifyNotification *notification = notify_notification_new(primary,secondary,icon_name,NULL);
++ NotifyNotification *notification = notify_notification_new(primary,secondary,icon_name);
+ notify_notification_show(notification,NULL);
+ #endif
+
diff --git a/community/gwget/gwget.install b/community/gwget/gwget.install
new file mode 100644
index 000000000..9cdb0dcf9
--- /dev/null
+++ b/community/gwget/gwget.install
@@ -0,0 +1,17 @@
+pkgname=gwget
+
+post_install() {
+ gconfpkg --install $pkgname
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ gconfpkg --uninstall $pkgname
+}
diff --git a/community/gwibber/PKGBUILD b/community/gwibber/PKGBUILD
new file mode 100644
index 000000000..6bf243222
--- /dev/null
+++ b/community/gwibber/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 88679 2013-04-21 22:16:47Z heftig $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=gwibber
+pkgver=3.6.0
+pkgrel=4
+pkgdesc="Microblogging client for GNOME, which supports Facebook, Identi.ca, Twitter, Flickr, Foursquare, Sina and Sohu"
+arch=('i686' 'x86_64')
+url="http://gwibber.com/"
+license=('GPL')
+depends=('libgee06' 'account-plugins' 'libnotify' 'libsoup' 'dee' 'json-glib' 'gtkspell3' 'python2-dbus' 'python2-gobject' 'python2-gobject2' 'python2-httplib2' 'python2-oauth' 'python2-imaging' 'python2-xdg' 'dconf')
+makedepends=('intltool' 'vala')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ lp_934530.patch
+ lp_1051801.patch
+ lp_1088775.patch
+ gtkspell3-port.patch)
+md5sums=('5988e36e9f592c6eca6537ba6878307a'
+ '8c43ae0ed96c52602befeff640a8672a'
+ '0eb53f4f248a6c600b6c6dfaac12341f'
+ '5698a3b1699c018719b193362486c9b5'
+ 'e8c657543542d8141fdfe4b87a24d7fe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ find . -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
+ # Apply some fixes from Ubuntu
+ patch -Np1 -i "$srcdir/lp_934530.patch"
+ patch -Np1 -i "$srcdir/lp_1051801.patch"
+ patch -Np1 -i "$srcdir/lp_1088775.patch"
+
+ # Port to the new gtkspell3
+ patch -Np1 -i "$srcdir/gtkspell3-port.patch"
+
+ # Use the standalone accounts configuration panel
+ sed -i 's/"gnome-control-center", "credentials", "application=gwibber"/"credentials-preferences"/' client/gwibber-client.vala
+ sed -i 's/"gnome-control-center", "credentials"/"credentials-preferences"/' gwibber/microblog/dispatcher.py
+
+ # Remove unneeded dependency on libdbusmenu
+ sed -i '/Dbusmenu-0.4/ d' client/Makefile.{am,in}
+
+ autoreconf -fi
+ intltoolize --force
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static --disable-schemas-compile --disable-unity
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gwibber/gtkspell3-port.patch b/community/gwibber/gtkspell3-port.patch
new file mode 100644
index 000000000..a7cc5da37
--- /dev/null
+++ b/community/gwibber/gtkspell3-port.patch
@@ -0,0 +1,29 @@
+diff -Naur gwibber-3.6.0.orig/configure.ac gwibber-3.6.0/configure.ac
+--- gwibber-3.6.0.orig/configure.ac 2012-10-03 02:09:08.000000000 +0200
++++ gwibber-3.6.0/configure.ac 2013-03-28 21:34:39.227995294 +0100
+@@ -159,10 +159,10 @@
+
+ if test "x$enable_spell" = "xyes"; then
+ PKG_CHECK_MODULES(GTKSPELL,
+- gtkspell-3.0)
++ gtkspell3-3.0)
+ AC_SUBST(GTKSPELL_CFLAGS)
+ AC_SUBST(GTKSPELL_CFLAGS)
+- GTKSPELL_PKG="--pkg gtkspell-3.0"
++ GTKSPELL_PKG="--pkg gtkspell3-3.0"
+ AC_SUBST(GTKSPELL_PKG)
+ fi
+
+diff -Naur gwibber-3.6.0.orig/libgwibber-gtk/entry.vala gwibber-3.6.0/libgwibber-gtk/entry.vala
+--- gwibber-3.6.0.orig/libgwibber-gtk/entry.vala 2012-08-21 06:14:19.000000000 +0200
++++ gwibber-3.6.0/libgwibber-gtk/entry.vala 2013-03-28 21:36:32.830637428 +0100
+@@ -141,7 +141,8 @@
+ #if HAVE_GTKSPELL
+ try
+ {
+- var spell = new Gtk.Spell.attach(this, null);
++ var spell = new GtkSpell.Checker();
++ spell.attach(this);
+ }
+ catch (Error e)
+ {
diff --git a/community/gwibber/gwibber.install b/community/gwibber/gwibber.install
new file mode 100644
index 000000000..d973d53f7
--- /dev/null
+++ b/community/gwibber/gwibber.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/gwibber/lp_1051801.patch b/community/gwibber/lp_1051801.patch
new file mode 100644
index 000000000..706c79e54
--- /dev/null
+++ b/community/gwibber/lp_1051801.patch
@@ -0,0 +1,12 @@
+=== modified file 'bin/gwibber-service'
+--- old/bin/gwibber-service 2012-02-13 20:39:02 +0000
++++ new/bin/gwibber-service 2012-09-20 06:35:40 +0000
+@@ -74,6 +74,7 @@
+ message_monitor = dispatcher.MessagesMonitor()
+ """
+
++dbus.mainloop.glib.threads_init()
+ logger.debug("Setting up monitors")
+ connection_monitor = dispatcher.ConnectionMonitor()
+ urlshortener = dispatcher.URLShorten()
+
diff --git a/community/gwibber/lp_1088775.patch b/community/gwibber/lp_1088775.patch
new file mode 100644
index 000000000..2f3b318d0
--- /dev/null
+++ b/community/gwibber/lp_1088775.patch
@@ -0,0 +1,16 @@
+=== modified file 'gwibber/microblog/plugins/facebook/__init__.py'
+--- old/gwibber/microblog/plugins/facebook/__init__.py 2012-09-24 20:55:20 +0000
++++ new/gwibber/microblog/plugins/facebook/__init__.py 2013-01-14 15:41:35 +0000
+@@ -326,7 +326,10 @@
+
+ if data.has_key("privacy"):
+ m["privacy"] = {}
+- m["privacy"]["description"] = data["privacy"]["description"]
++ if data["privacy"].has_key("description"):
++ m["privacy"]["description"] = data["privacy"]["description"]
++ else:
++ m["privacy"]["description"] = ""
+ m["privacy"]["value"] = data["privacy"]["value"]
+
+ # Handle target for wall posts with a specific recipient
+
diff --git a/community/gwibber/lp_934530.patch b/community/gwibber/lp_934530.patch
new file mode 100644
index 000000000..6f2bd4302
--- /dev/null
+++ b/community/gwibber/lp_934530.patch
@@ -0,0 +1,21 @@
+=== modified file 'gwibber/microblog/network.py'
+--- old/gwibber/microblog/network.py 2012-03-31 15:02:54 +0000
++++ new/gwibber/microblog/network.py 2012-06-13 16:48:52 +0000
+@@ -37,8 +37,14 @@
+ logger.error("HTTP Error for %s - error code: %s", e.geturl().split("?")[0], e.getcode())
+ self.res = "HTTP error: {0}".format(e.getcode())
+ except urllib2.URLError, e:
+- logger.error("Network failure: %s", e.reason)
+- self.res = "Network error: {0}".format(e.reason)
++ logger.error("Network failure: %s", e.message)
++ self.res = "Network error: {0}".format(e.message)
++ except IOError, e:
++ logger.error("Network failure: %s", e.message)
++ self.res = "Network error: {0}".format(e.message)
++ except:
++ logger.error("Network failure: UNKNOWN")
++ self.res = "Network error: UNKNOWN"
+
+ def get_json(self):
+ try:
+
diff --git a/community/gxmessage/PKGBUILD b/community/gxmessage/PKGBUILD
new file mode 100644
index 000000000..c11e4e8fd
--- /dev/null
+++ b/community/gxmessage/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 93662 2013-07-08 11:18:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: Jaroslav Lichtblau <tu@dragonlord.cz>
+
+pkgname=gxmessage
+pkgver=2.20.0
+pkgrel=1
+pkgdesc="A GTK2 based xmessage clone."
+arch=('i686' 'x86_64')
+url="http://homepages.ihug.co.nz/~trmusson/programs.html#gxmessage"
+license=('GPL')
+depends=('gtk2' 'desktop-file-utils')
+makedepends=('pkgconfig' 'intltool')
+install=$pkgname.install
+source=(http://homepages.ihug.co.nz/~trmusson/stuff/$pkgname-$pkgver.tar.gz
+ $pkgname.desktop)
+md5sums=('f4160442548bdd90895b008b85df0f6e'
+ 'af92506581c1aae70e3845a66a983f22')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -D -m644 "$srcdir/$pkgname.desktop" \
+ "${pkgdir}/usr/share/applications/$pkgname.desktop"
+}
diff --git a/community/gxmessage/gxmessage.desktop b/community/gxmessage/gxmessage.desktop
new file mode 100644
index 000000000..f569431ff
--- /dev/null
+++ b/community/gxmessage/gxmessage.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Name=Gxmessage
+GenericName=gxmessage
+Comment=A GTK2 based xmessage clone.
+Comment[cs]=Klon xmessage postavený na knihovně GTK2.
+Icon=gxmessage
+Exec=gxmessage
+Terminal=false
+Categories=Utility;
diff --git a/community/gxmessage/gxmessage.install b/community/gxmessage/gxmessage.install
new file mode 100644
index 000000000..de3e0f510
--- /dev/null
+++ b/community/gxmessage/gxmessage.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo "Updating desktop and mime database ..."
+ update-desktop-database -q
+}
diff --git a/community/haddock/PKGBUILD b/community/haddock/PKGBUILD
new file mode 100644
index 000000000..698be2810
--- /dev/null
+++ b/community/haddock/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 90316 2013-05-11 13:01:51Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+pkgname=haddock
+pkgver=2.13.2
+pkgrel=1
+pkgdesc='Tool for generating documentation for Haskell libraries'
+url='http://hackage.haskell.org/package/haddock/'
+license=('custom:BSD3')
+arch=('x86_64' 'i686')
+makedepends=('alex' 'happy')
+depends=('ghc=7.6.3-1' 'haskell-xhtml=3000.2.1' 'haskell-ghc-paths')
+install="$pkgname.install"
+source=("http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz")
+sha256sums=('25e7d5819d38cbb1c9b1ff967e2a4093c776c3defaa0a249c8eabba1e70892e3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/"$pkgname" \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh \
+ "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s "/usr/share/doc/$pkgname/html" \
+ "$pkgdir/usr/share/doc/ghc/html/libraries/$pkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+ mv "$pkgdir/usr/bin/haddock" "$pkgdir/usr/bin/haddock-cabal"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/haddock/haddock.install b/community/haddock/haddock.install
new file mode 100644
index 000000000..24e27a074
--- /dev/null
+++ b/community/haddock/haddock.install
@@ -0,0 +1,25 @@
+pkgname=haddock
+HS_DIR=usr/share/haskell/haddock
+
+post_upgrade() {
+ ${HS_DIR}/register.sh &> /dev/null
+ post_remove
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index) &> /dev/null
+}
+
+pre_remove() {
+ ${HS_DIR}/unregister.sh &> /dev/null
+}
+
+post_install() {
+ post_upgrade
+}
+
+pre_upgrade() {
+ pre_remove
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/happy/PKGBUILD b/community/happy/PKGBUILD
new file mode 100644
index 000000000..5f63b6e6a
--- /dev/null
+++ b/community/happy/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 89288 2013-04-28 16:52:09Z td123 $
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Contributor: simo <simo@archlinux.org>
+# Contributor: Vesa Kaihlavirta <vegai@iki.fi>
+
+pkgname=happy
+pkgver=1.18.10
+pkgrel=3
+pkgdesc="The Parser Generator for Haskell"
+url="http://hackage.haskell.org/package/happy"
+arch=('i686' 'x86_64')
+license=("custom:BSD3")
+depends=('gmp')
+makedepends=('ghc=7.6.3-1' 'haskell-mtl=2.1.2-3')
+source=("http://hackage.haskell.org/packages/archive/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('a1638e89434427e57f68ef311761dc30')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ runhaskell Setup.lhs configure -O --prefix=/usr
+ runhaskell Setup.lhs build
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ runhaskell Setup.lhs copy --destdir="${pkgdir}"
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/hardlink/PKGBUILD b/community/hardlink/PKGBUILD
new file mode 100644
index 000000000..edf5d6973
--- /dev/null
+++ b/community/hardlink/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 70897 2012-05-18 22:12:06Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgname=hardlink
+pkgver=0.2.0
+pkgrel=1
+pkgdesc='Replace file copies using hardlinks'
+arch=('i686' 'x86_64')
+url='http://jak-linux.org/projects/hardlink/'
+license=('custom: MIT')
+depends=('glibc' 'pcre')
+source=("http://jak-linux.org/projects/hardlink/hardlink_$pkgver.tar.gz")
+md5sums=('4c1621ee7850a1c8b316735a7bced993')
+
+build() {
+ cd $pkgname-$pkgver
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ # install icense
+ install -Dm 644 debian/copyright "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/hashcash/PKGBUILD b/community/hashcash/PKGBUILD
new file mode 100644
index 000000000..d171ada31
--- /dev/null
+++ b/community/hashcash/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 65554 2012-02-21 08:54:32Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=hashcash
+pkgver=1.22
+pkgrel=3
+pkgdesc="a denial-of-service counter measure tool for email/spam."
+arch=('i686' 'x86_64')
+url="http://www.hashcash.org"
+license=('GPL')
+depends=( 'glibc' )
+source=(http://www.hashcash.org/source/${pkgname}-${pkgver}.tgz)
+md5sums=('31fae207061841dffc7b90ee18e3d0fa')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ if [ "${CARCH}" = "x86_64" ]; then
+ make generic-openssl
+ else
+ make x86-openssl
+ fi
+ install -Dm755 hashcash ${pkgdir}/usr/bin/hashcash
+ install -Dm755 sha1 ${pkgdir}/usr/bin/sha1
+ install -Dm755 hashcash.1 ${pkgdir}/usr/share/man/man1/hashcash.1
+}
diff --git a/community/haskell-base64-bytestring/PKGBUILD b/community/haskell-base64-bytestring/PKGBUILD
new file mode 100644
index 000000000..f74265df9
--- /dev/null
+++ b/community/haskell-base64-bytestring/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=base64-bytestring
+pkgname=haskell-base64-bytestring
+pkgver=1.0.0.1
+pkgrel=2
+pkgdesc="Fast base64 encoding and deconding for ByteStrings"
+url="https://github.com/bos/base64-bytestring"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-bytestring')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install="$pkgname.install"
+sha256sums=('ab25abf4b00a2f52b270bc3ed43f1d59f16c8eec9d7dffb14df1e9265b233b50')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -d -m755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-base64-bytestring/haskell-base64-bytestring.install b/community/haskell-base64-bytestring/haskell-base64-bytestring.install
new file mode 100644
index 000000000..434874e99
--- /dev/null
+++ b/community/haskell-base64-bytestring/haskell-base64-bytestring.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-base64-bytestring
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-blaze-builder/PKGBUILD b/community/haskell-blaze-builder/PKGBUILD
new file mode 100644
index 000000000..03ca1928d
--- /dev/null
+++ b/community/haskell-blaze-builder/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+pkgname=haskell-blaze-builder
+_hkgname=blaze-builder
+pkgver=0.3.1.1
+pkgrel=2
+pkgdesc="Efficient buffered output."
+url="http://github.com/meiersi/blaze-builder"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-bytestring' 'haskell-text')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install="$pkgname.install"
+sha256sums=('a12506f8afd650e4ed90e1e2379750035f8e83032a2d260eacc3757fe52cdcde')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-blaze-builder/haskell-blaze-builder.install b/community/haskell-blaze-builder/haskell-blaze-builder.install
new file mode 100644
index 000000000..1f2b9ed67
--- /dev/null
+++ b/community/haskell-blaze-builder/haskell-blaze-builder.install
@@ -0,0 +1,24 @@
+HS_DIR=usr/share/haskell/haskell-blaze-builder
+
+# functions
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-blaze-html/PKGBUILD b/community/haskell-blaze-html/PKGBUILD
new file mode 100644
index 000000000..28b88312c
--- /dev/null
+++ b/community/haskell-blaze-html/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Aleksandar Micovic <metaleks@gmail.com>
+_hkgname=blaze-html
+pkgname=haskell-blaze-html
+pkgver=0.6.1.1
+pkgrel=2
+pkgdesc="A blazingly fast HTML combinator library for Haskell"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc' 'haskell-blaze-builder<0.4' 'haskell-blaze-markup<0.6' 'haskell-bytestring-show' 'haskell-text>=0.11.0.5')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+md5sums=('f9eda0a990cda190538b9e6ff73b05f3')
+
+build() {
+ cd "${srcdir}/${_hkgname}-${pkgver}"
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd "${srcdir}/${_hkgname}-${pkgver}"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/${_hkgname}"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-blaze-html/haskell-blaze-html.install b/community/haskell-blaze-html/haskell-blaze-html.install
new file mode 100644
index 000000000..9887d3a8d
--- /dev/null
+++ b/community/haskell-blaze-html/haskell-blaze-html.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-blaze-html
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-blaze-markup/PKGBUILD b/community/haskell-blaze-markup/PKGBUILD
new file mode 100644
index 000000000..6c0d5e4a9
--- /dev/null
+++ b/community/haskell-blaze-markup/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=blaze-markup
+pkgname=haskell-blaze-markup
+pkgver=0.5.1.5
+pkgrel=2
+pkgdesc="Core modules of a blazingly fast markup combinator library for the Haskell programming language"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-blaze-builder' 'haskell-bytestring-show' 'haskell-text')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+md5sums=('faf0c80851b34987e74541b23cef3218')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-blaze-markup/haskell-blaze-markup.install b/community/haskell-blaze-markup/haskell-blaze-markup.install
new file mode 100644
index 000000000..fa5fb8064
--- /dev/null
+++ b/community/haskell-blaze-markup/haskell-blaze-markup.install
@@ -0,0 +1,22 @@
+HS_DIR=usr/share/haskell/haskell-blaze-markup
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-bytestring-show/PKGBUILD b/community/haskell-bytestring-show/PKGBUILD
new file mode 100644
index 000000000..99fd4ebb6
--- /dev/null
+++ b/community/haskell-bytestring-show/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 89293 2013-04-28 16:52:14Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=haskell-bytestring-show
+pkgver=0.3.5.4
+pkgrel=4
+pkgdesc="Efficient conversion of values into readable byte strings."
+url="http://hackage.haskell.org/package/bytestring-show"
+license=("BSD3")
+arch=('i686' 'x86_64')
+depends=("ghc")
+install="${pkgname}.install"
+source=("http://hackage.haskell.org/packages/archive/bytestring-show/${pkgver}/bytestring-show-${pkgver}.tar.gz")
+md5sums=('2a4ab243c4b6fffed1fc663975a9ec6d')
+
+build() {
+ cd ${srcdir}/bytestring-show-${pkgver}
+
+ # update outdated dependency
+ sed 's/build-depends: integer-gmp >= 0.2 && < 0.5/build-depends: integer-gmp >= 0.2 \&\& < 0.6/' -i bytestring-show.cabal
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ depends=("ghc=`pacman -Q ghc | cut -f2 -d\ |cut -f1 -d-`")
+
+ cd ${srcdir}/bytestring-show-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/bytestring-show
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-bytestring-show/haskell-bytestring-show.install b/community/haskell-bytestring-show/haskell-bytestring-show.install
new file mode 100644
index 000000000..335fc37cd
--- /dev/null
+++ b/community/haskell-bytestring-show/haskell-bytestring-show.install
@@ -0,0 +1,24 @@
+pkgname=haskell-bytestring-show
+HS_DIR=usr/share/haskell/${pkgname}
+
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-cairo/PKGBUILD b/community/haskell-cairo/PKGBUILD
new file mode 100644
index 000000000..751d2ee54
--- /dev/null
+++ b/community/haskell-cairo/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 92370 2013-06-04 12:29:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=haskell-cairo
+pkgver=0.12.4
+pkgrel=5
+pkgdesc="Binding to the cairo library for Gtk2Hs."
+url="http://hackage.haskell.org/package/cairo"
+license=('LGPL2.1')
+arch=('i686' 'x86_64')
+# deps adjusted to specific versions in package()
+depends=('ghc' 'cairo' 'haskell-mtl')
+makedepends=("gtk2hs-buildtools")
+options=('strip')
+conflicts=('gtk2hs-cairo')
+provides=('gtk2hs-cairo')
+replaces=('gtk2hs-cairo')
+install=gtk2hs-cairo.install
+source=(http://hackage.haskell.org/packages/archive/cairo/$pkgver/cairo-$pkgver.tar.gz)
+md5sums=('b9d7e8de6ba4db680c222958622d6ee6')
+
+build() {
+ cd ${srcdir}/cairo-$pkgver
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/haskell-cairo \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ _hmtlver=`pacman -Q haskell-mtl | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" "cairo" "haskell-mtl=${_hmtlver}")
+
+ cd ${srcdir}/cairo-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/gtk2hs-cairo/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/gtk2hs-cairo/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/haskell-cairo/html ${pkgdir}/usr/share/doc/ghc/html/libraries/cairo
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community/haskell-cairo/gtk2hs-cairo.install b/community/haskell-cairo/gtk2hs-cairo.install
new file mode 100644
index 000000000..4ec5096b6
--- /dev/null
+++ b/community/haskell-cairo/gtk2hs-cairo.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/gtk2hs-cairo
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-citeproc-hs/PKGBUILD b/community/haskell-citeproc-hs/PKGBUILD
new file mode 100644
index 000000000..f66d18870
--- /dev/null
+++ b/community/haskell-citeproc-hs/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=citeproc-hs
+pkgname=haskell-citeproc-hs
+pkgver=0.3.8
+pkgrel=3
+pkgdesc="A Citation Style Language implementation in Haskell"
+url="http://gorgias.mine.nu/repos/citeproc-hs/"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=(haskell-http haskell-bytestring haskell-containers haskell-directory
+ haskell-filepath haskell-json haskell-mtl haskell-old-locale haskell-hs-bibutils
+ haskell-pandoc-types haskell-parsec haskell-syb haskell-time haskell-utf8-string haskell-xml)
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('e873673b2960d0eebbcede9d8c18e2acea0e4fed295552fa635814f4bae48e72')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid -f bibutils
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -D -m744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-citeproc-hs/haskell-citeproc-hs.install b/community/haskell-citeproc-hs/haskell-citeproc-hs.install
new file mode 100644
index 000000000..b2c962877
--- /dev/null
+++ b/community/haskell-citeproc-hs/haskell-citeproc-hs.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-citeproc-hs
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-data-default-class/PKGBUILD b/community/haskell-data-default-class/PKGBUILD
new file mode 100644
index 000000000..e2950265b
--- /dev/null
+++ b/community/haskell-data-default-class/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+_hkgname=data-default-class
+pkgname=haskell-data-default-class
+pkgver=0.0.1
+pkgrel=1
+pkgdesc="A class for types with a default value"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc=7.6.3')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('abfd756bcc6d92e47436992c80ccdb80')
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-data-default-class/haskell-data-default-class.install b/community/haskell-data-default-class/haskell-data-default-class.install
new file mode 100644
index 000000000..037788be4
--- /dev/null
+++ b/community/haskell-data-default-class/haskell-data-default-class.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-data-default-class
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-data-default-instances-base/PKGBUILD b/community/haskell-data-default-instances-base/PKGBUILD
new file mode 100644
index 000000000..f433e99e1
--- /dev/null
+++ b/community/haskell-data-default-instances-base/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+_hkgname=data-default-instances-base
+pkgname=haskell-data-default-instances-base
+pkgver=0.0.1
+pkgrel=1
+pkgdesc="Default instances for types in base"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc=7.6.3' 'haskell-data-default-class')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('37fc6531e0227bcf9cfbbf85f04e759d')
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-data-default-instances-base/haskell-data-default-instances-base.install b/community/haskell-data-default-instances-base/haskell-data-default-instances-base.install
new file mode 100644
index 000000000..3d9e5d1e0
--- /dev/null
+++ b/community/haskell-data-default-instances-base/haskell-data-default-instances-base.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-data-default-instances-base
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-data-default-instances-containers/PKGBUILD b/community/haskell-data-default-instances-containers/PKGBUILD
new file mode 100644
index 000000000..5a77dca00
--- /dev/null
+++ b/community/haskell-data-default-instances-containers/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+_hkgname=data-default-instances-containers
+pkgname=haskell-data-default-instances-containers
+pkgver=0.0.1
+pkgrel=1
+pkgdesc="Default instances for types in containers"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc=7.6.3' 'haskell-containers=0.5.0.0' 'haskell-data-default-class=0.0.1')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('1c574d87bf9bc69d4748e3236d575a3c')
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-data-default-instances-containers/haskell-data-default-instances-containers.install b/community/haskell-data-default-instances-containers/haskell-data-default-instances-containers.install
new file mode 100644
index 000000000..7d5535739
--- /dev/null
+++ b/community/haskell-data-default-instances-containers/haskell-data-default-instances-containers.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-data-default-instances-containers
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-data-default-instances-dlist/PKGBUILD b/community/haskell-data-default-instances-dlist/PKGBUILD
new file mode 100644
index 000000000..6bd021546
--- /dev/null
+++ b/community/haskell-data-default-instances-dlist/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+_hkgname=data-default-instances-dlist
+pkgname=haskell-data-default-instances-dlist
+pkgver=0.0.1
+pkgrel=1
+pkgdesc="Default instances for types in dlist"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc=7.6.3' 'haskell-data-default-class=0.0.1' 'haskell-dlist=0.5-24')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('6683d943ab70b7077ff6837fce75b4de')
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-data-default-instances-dlist/haskell-data-default-instances-dlist.install b/community/haskell-data-default-instances-dlist/haskell-data-default-instances-dlist.install
new file mode 100644
index 000000000..8e6e1563c
--- /dev/null
+++ b/community/haskell-data-default-instances-dlist/haskell-data-default-instances-dlist.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-data-default-instances-dlist
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-data-default-instances-old-locale/PKGBUILD b/community/haskell-data-default-instances-old-locale/PKGBUILD
new file mode 100644
index 000000000..fbfe9959b
--- /dev/null
+++ b/community/haskell-data-default-instances-old-locale/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+_hkgname=data-default-instances-old-locale
+pkgname=haskell-data-default-instances-old-locale
+pkgver=0.0.1
+pkgrel=1
+pkgdesc="Default instances for types in old-locale"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc=7.6.3' 'haskell-data-default-class' 'haskell-old-locale=1.0.0.5')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('43bd868049d870ee722eda6bdd89fc28')
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-data-default-instances-old-locale/haskell-data-default-instances-old-locale.install b/community/haskell-data-default-instances-old-locale/haskell-data-default-instances-old-locale.install
new file mode 100644
index 000000000..b6f986d6d
--- /dev/null
+++ b/community/haskell-data-default-instances-old-locale/haskell-data-default-instances-old-locale.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-data-default-instances-old-locale
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-data-default/PKGBUILD b/community/haskell-data-default/PKGBUILD
new file mode 100644
index 000000000..819635eaf
--- /dev/null
+++ b/community/haskell-data-default/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+_hkgname=data-default
+pkgname=haskell-data-default
+pkgver=0.5.3
+pkgrel=1
+pkgdesc="A class for types with a default value"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc=7.6.3' 'haskell-data-default-class' 'haskell-data-default-instances-base' 'haskell-data-default-instances-containers' 'haskell-data-default-instances-dlist' 'haskell-data-default-instances-old-locale')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('03a98d999273ad20d5bc0c711bf1c533')
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-data-default/haskell-data-default.install b/community/haskell-data-default/haskell-data-default.install
new file mode 100644
index 000000000..0b0a72558
--- /dev/null
+++ b/community/haskell-data-default/haskell-data-default.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-data-default
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-dataenc/0001-update-build-deps-for-ghc-7.6.1.patch b/community/haskell-dataenc/0001-update-build-deps-for-ghc-7.6.1.patch
new file mode 100644
index 000000000..9f544bb27
--- /dev/null
+++ b/community/haskell-dataenc/0001-update-build-deps-for-ghc-7.6.1.patch
@@ -0,0 +1,25 @@
+From 961892779b5f5a2f46d6baa44c31d06c39e56470 Mon Sep 17 00:00:00 2001
+From: Thomas Dziedzic <gostrc@gmail.com>
+Date: Tue, 11 Sep 2012 05:06:59 -0700
+Subject: [PATCH] update build deps for ghc 7.6.1
+
+---
+ dataenc.cabal | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dataenc.cabal b/dataenc.cabal
+index 1ad42ca..3a4f5bb 100644
+--- a/dataenc.cabal
++++ b/dataenc.cabal
+@@ -21,7 +21,7 @@ flag BuildTests
+
+ library
+ hs-source-dirs: src
+- build-depends: array >= 0.1.0 && < 0.5, base >= 3.0.0 && < 4.6, containers >= 0.1.0 && < 0.5
++ build-depends: array >= 0.1.0 && < 0.5, base >= 3.0.0 && < 4.7, containers >= 0.1.0 && < 0.6
+ exposed-modules:
+ Codec.Binary.Base16
+ Codec.Binary.Base32
+--
+1.7.12
+
diff --git a/community/haskell-dataenc/PKGBUILD b/community/haskell-dataenc/PKGBUILD
new file mode 100644
index 000000000..0232eb2c1
--- /dev/null
+++ b/community/haskell-dataenc/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 89297 2013-04-28 16:52:18Z td123 $
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Package generated by cabal2arch 0.7.5
+
+_hkgname=dataenc
+pkgname=haskell-dataenc
+pkgver=0.14.0.5
+pkgrel=2
+pkgdesc="Data encoding library"
+url="http://hackage.haskell.org/package/dataenc"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' sh)
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz
+ '0001-update-build-deps-for-ghc-7.6.1.patch')
+install=${pkgname}.install
+md5sums=('4da812ca7a1640a5fdcc676009ab160c'
+ '662056adcb79efe8898298c271b49600')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+
+ # update build deps for ghc 7.6.1
+# patch -Np1 -i ${srcdir}/0001-update-build-deps-for-ghc-7.6.1.patch
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-dataenc/haskell-dataenc.install b/community/haskell-dataenc/haskell-dataenc.install
new file mode 100644
index 000000000..9c1bbff01
--- /dev/null
+++ b/community/haskell-dataenc/haskell-dataenc.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-dataenc
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-digest/PKGBUILD b/community/haskell-digest/PKGBUILD
new file mode 100644
index 000000000..3293c8322
--- /dev/null
+++ b/community/haskell-digest/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=digest
+pkgname=haskell-digest
+pkgver=0.0.1.2
+pkgrel=1
+pkgdesc='Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now.'
+url="http://hackage.haskell.org/package/$_hkgname"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+depends=('ghc' 'zlib')
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/$_hkgname-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('641717eb16392abf8965986a9e8dc21eebf1d97775bbb6923c7b7f8fee17fe11')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/${_hkgname}"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-digest/haskell-digest.install b/community/haskell-digest/haskell-digest.install
new file mode 100644
index 000000000..d0637a0cb
--- /dev/null
+++ b/community/haskell-digest/haskell-digest.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-digest
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-dlist/PKGBUILD b/community/haskell-dlist/PKGBUILD
new file mode 100644
index 000000000..d43156f40
--- /dev/null
+++ b/community/haskell-dlist/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 89299 2013-04-28 16:52:20Z td123 $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Don Stewart <dons@galois.com>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+pkgname=haskell-dlist
+pkgver=0.5
+_hkgname=dlist
+_licensefile=LICENSE
+pkgrel=24
+pkgdesc="Differences lists"
+url="http://code.haskell.org/~dons/code/dlist/"
+license=("BSD3")
+arch=('i686' 'x86_64')
+makedepends=('ghc=7.6.3-1')
+depends=('ghc=7.6.3-1')
+options=('strip')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+sha256sums=('4780e5409eff55bbfdd7470ef802a087a04048c9cd5efe0482c82878292f19ea')
+install="${pkgname}.install"
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 ${_licensefile} ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/${_licensefile}
+}
diff --git a/community/haskell-dlist/haskell-dlist.install b/community/haskell-dlist/haskell-dlist.install
new file mode 100644
index 000000000..c08242863
--- /dev/null
+++ b/community/haskell-dlist/haskell-dlist.install
@@ -0,0 +1,26 @@
+# custom variables
+pkgname=haskell-dlist
+HS_DIR=/usr/share/haskell/${pkgname}
+
+# functions
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_remove() {
+ (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-extensible-exceptions/PKGBUILD b/community/haskell-extensible-exceptions/PKGBUILD
new file mode 100644
index 000000000..784b9ebba
--- /dev/null
+++ b/community/haskell-extensible-exceptions/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 89300 2013-04-28 16:52:21Z td123 $
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+
+_hkgname=extensible-exceptions
+pkgname=haskell-${_hkgname}
+pkgver=0.1.1.4
+pkgrel=5
+pkgdesc="extensible exceptions for both new and old versions of GHC"
+url="http://hackage.haskell.org/package/extensible-exceptions"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' sh)
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+md5sums=('fa1cadd15c1c7aa362618d41c6e17d8b')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-extensible-exceptions/haskell-extensible-exceptions.install b/community/haskell-extensible-exceptions/haskell-extensible-exceptions.install
new file mode 100644
index 000000000..20c7dce30
--- /dev/null
+++ b/community/haskell-extensible-exceptions/haskell-extensible-exceptions.install
@@ -0,0 +1,19 @@
+HS_DIR=usr/share/haskell/haskell-extensible-exceptions
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
diff --git a/community/haskell-ghc-paths/PKGBUILD b/community/haskell-ghc-paths/PKGBUILD
new file mode 100644
index 000000000..ffea0e7d4
--- /dev/null
+++ b/community/haskell-ghc-paths/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 68685 2012-03-31 16:54:07Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+pkgname=haskell-ghc-paths
+pkgver=0.1.0.9
+pkgrel=2
+pkgdesc="Knowledge of GHC's installation directories"
+url='http://hackage.haskell.org/package/ghc-paths'
+license=('custom:BSD3')
+arch=('x86_64' 'i686')
+depends=('ghc=7.6.3-1')
+source=("http://hackage.haskell.org/packages/archive/ghc-paths/$pkgver/ghc-paths-$pkgver.tar.gz")
+install="$pkgname.install"
+sha256sums=('afa68fb86123004c37c1dc354286af2d87a9dcfb12ddcb80e8bd0cd55bc87945')
+
+build() {
+ cd "$srcdir/ghc-paths-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir="/usr/share/doc/$pkgname" \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/ghc-paths-$pkgver"
+
+ install -Dm 744 register.sh \
+ "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m 744 unregister.sh \
+ "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm 755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s "/usr/share/doc/$pkgname/html" \
+ "$pkgdir/usr/share/doc/ghc/html/libraries/ghc-paths"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/haskell-ghc-paths/haskell-ghc-paths.install b/community/haskell-ghc-paths/haskell-ghc-paths.install
new file mode 100644
index 000000000..4fd2c6c56
--- /dev/null
+++ b/community/haskell-ghc-paths/haskell-ghc-paths.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-ghc-paths
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-glib/PKGBUILD b/community/haskell-glib/PKGBUILD
new file mode 100644
index 000000000..6d73d2e55
--- /dev/null
+++ b/community/haskell-glib/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 89302 2013-04-28 16:52:23Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=haskell-glib
+pkgver=0.12.4
+pkgrel=4
+pkgdesc="Binding to the GLIB library for Gtk2Hs."
+url="http://hackage.haskell.org/package/glib"
+license=('LGPL2.1')
+arch=('i686' 'x86_64')
+# deps adjusted to specific versions in package()
+depends=('ghc' 'glib2')
+makedepends=("gtk2hs-buildtools")
+options=('strip')
+install=gtk2hs-glib.install
+provides=('gtk2hs-glib')
+replaces=('gtk2hs-glib')
+conflicts=('gtk2hs-glib')
+source=(http://hackage.haskell.org/packages/archive/glib/$pkgver/glib-$pkgver.tar.gz)
+md5sums=('3172907258183466f1e604a435285c51')
+
+build() {
+ cd glib-$pkgver
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/haskell-glib \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" "glib2")
+
+ cd ${srcdir}/glib-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/gtk2hs-glib/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/gtk2hs-glib/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/haskell-glib/html ${pkgdir}/usr/share/doc/ghc/html/libraries/glib
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community/haskell-glib/gtk2hs-glib.install b/community/haskell-glib/gtk2hs-glib.install
new file mode 100644
index 000000000..24025f5d8
--- /dev/null
+++ b/community/haskell-glib/gtk2hs-glib.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/gtk2hs-glib
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-gtk/PKGBUILD b/community/haskell-gtk/PKGBUILD
new file mode 100644
index 000000000..c7b150561
--- /dev/null
+++ b/community/haskell-gtk/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 89303 2013-04-28 16:52:24Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=haskell-gtk
+pkgver=0.12.4
+pkgrel=4
+pkgdesc="Binding to the gtk library for Gtk2Hs."
+url="http://hackage.haskell.org/package/gtk"
+license=('LGPL2.1')
+arch=('i686' 'x86_64')
+depends=('ghc' 'gtk2' "haskell-pango" 'haskell-mtl')
+makedepends=("gtk2hs-buildtools")
+provides=('gtk2hs-gtk')
+replaces=('gtk2hs-gtk')
+conflicts=('gtk2hs-gtk')
+options=('strip')
+install=gtk2hs-gtk.install
+source=(http://hackage.haskell.org/packages/archive/gtk/$pkgver/gtk-$pkgver.tar.gz
+ ghc-7.6.1.patch)
+md5sums=('165a04134cdc3aec9a9aa149c421b1de'
+ '5fb93f37fe3f494b30ee682a36b8f1b6')
+
+build() {
+ cd ${srcdir}/gtk-${pkgver}
+# patch -p1 <$srcdir/ghc-7.6.1.patch
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/haskell-gtk \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ sed -i 's|import Foreign.C.Types.*(CULong, CUInt)|import Foreign.C.Types (CULong(..), CUInt(..))|' Graphics/UI/Gtk/Types.chs
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ _hmtlver=`pacman -Q haskell-mtl | cut -f2 -d\ | cut -f1 -d-`
+ _hpangover=`pacman -Q haskell-pango | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc" "gtk2" "haskell-pango=${_hpangover}" "haskell-mtl=${_hmtlver}")
+
+ cd ${srcdir}/gtk-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/gtk2hs-gtk/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/gtk2hs-gtk/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/haskell-gtk/html ${pkgdir}/usr/share/doc/ghc/html/libraries/gtk2hs-gtk
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community/haskell-gtk/ghc-7.6.1.patch b/community/haskell-gtk/ghc-7.6.1.patch
new file mode 100644
index 000000000..5e259a38f
--- /dev/null
+++ b/community/haskell-gtk/ghc-7.6.1.patch
@@ -0,0 +1,574 @@
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Abstract/Object.chs gtk/Graphics/UI/Gtk/Abstract/Object.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Abstract/Object.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/Abstract/Object.chs 2012-10-02 16:30:54.000000000 +0400
+@@ -126,7 +126,8 @@
+
+ {#pointer GWeakNotify#}
+
+-foreign import ccall "wrapper" mkDestructor :: IO () -> IO GWeakNotify
++foreign import ccall "wrapper" mkDestructor
++ :: (Ptr () -> Ptr GObject -> IO ()) -> IO GWeakNotify
+
+ -- | Attach a callback that will be called after the
+ -- destroy hooks have been called
+@@ -134,7 +135,7 @@
+ objectWeakref :: ObjectClass o => o -> IO () -> IO GWeakNotify
+ objectWeakref obj uFun = do
+ funPtrContainer <- newIORef nullFunPtr
+- uFunPtr <- mkDestructor $ do
++ uFunPtr <- mkDestructor $ \_ _ -> do
+ uFun
+ funPtr <- readIORef funPtrContainer
+ freeHaskellFunPtr funPtr
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Entry/Entry.chs gtk/Graphics/UI/Gtk/Entry/Entry.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Entry/Entry.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/Entry/Entry.chs 2012-10-02 16:27:26.000000000 +0400
+@@ -78,6 +78,10 @@
+ entrySetCompletion,
+ entryGetCompletion,
+ #endif
++#if GTK_CHECK_VERSION (2,18,0)
++ entryGetBuffer,
++ entrySetBuffer,
++#endif
+ #if GTK_CHECK_VERSION(2,20,0)
+ entryGetIconWindow,
+ entryGetTextWindow,
+@@ -104,6 +108,9 @@
+ entryAlignment,
+ entryCompletion,
+ #endif
++#if GTK_CHECK_VERSION (2,18,0)
++ entryBuffer,
++#endif
+
+ -- * Signals
+ entryActivate,
+@@ -157,6 +164,9 @@
+ import Graphics.UI.Gtk.Gdk.EventM (EventM, EButton, EKey)
+ import Control.Monad.Reader ( ask )
+ import Control.Monad.Trans ( liftIO )
++#if GTK_CHECK_VERSION (2,18,0)
++import Graphics.UI.Gtk.Entry.EntryBuffer
++#endif
+ {#import Graphics.UI.Gtk.Types#}
+ {#import Graphics.UI.Gtk.Signals#}
+
+@@ -429,6 +439,23 @@
+ (toEntry self)
+ #endif
+
++#if GTK_CHECK_VERSION(2,18,0)
++-- | Get the 'EntryBuffer' object which holds the text for this widget.
++entryGetBuffer :: EntryClass self => self
++ -> IO EntryBuffer
++entryGetBuffer self =
++ makeNewGObject mkEntryBuffer $
++ {# call gtk_entry_get_buffer #}
++ (toEntry self)
++
++-- | Set the 'EntryBuffer' object which holds the text for this widget.
++entrySetBuffer :: (EntryClass self, EntryBufferClass buffer) => self
++ -> buffer -> IO ()
++entrySetBuffer self =
++ {# call gtk_entry_set_buffer #}
++ (toEntry self) . toEntryBuffer
++#endif
++
+ #if GTK_CHECK_VERSION(2,20,0)
+ -- | Returns the 'Window' which contains the entry's icon at @iconPos@. This function is useful when
+ -- drawing something to the entry in an 'eventExpose' callback because it enables the callback to
+@@ -623,6 +650,15 @@
+ entrySetCompletion
+ #endif
+
++#if GTK_CHECK_VERSION(2,18,0)
++entryBuffer :: (EntryClass self, EntryBufferClass buffer) =>
++ ReadWriteAttr self EntryBuffer buffer
++entryBuffer = newAttr
++ entryGetBuffer
++ entrySetBuffer
++#endif
++
++
+ --------------------
+ -- Signals
+
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Gdk/EventM.hsc gtk/Graphics/UI/Gtk/Gdk/EventM.hsc
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Gdk/EventM.hsc 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 2012-10-02 16:27:27.000000000 +0400
+@@ -639,14 +639,16 @@
+
+
+ -- | Execute an event handler and assume it handled the event unless it
+--- threw a pattern match exception.
++-- threw a pattern match exception or calls mzero (e.g. via guard).
+ tryEvent :: EventM any () -> EventM any Bool
+ tryEvent act = do
+ ptr <- ask
+ liftIO $ (runReaderT (act >> return True) ptr)
+ #if __GLASGOW_HASKELL__ >= 610
+ `catches` [ Handler (\ (PatternMatchFail _) -> return False)
+- , Handler (\ e -> if isUserError e && "Pattern" `isPrefixOf` ioeGetErrorString e
++ , Handler (\ e -> if isUserError e &&
++ ("Pattern" `isPrefixOf` ioeGetErrorString e ||
++ "mzero" == ioeGetErrorString e)
+ then return False
+ else throw e) ]
+ #else
+@@ -654,6 +656,8 @@
+ IOException e
+ | "user error (Pattern" `isPrefixOf` show e ->
+ return False
++ | "user error (mzero" `isPrefixOf` show e ->
++ return False
+ PatternMatchFail _ -> return False
+ _ -> throw e)
+ #endif
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Gdk/Pixbuf.chs gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Gdk/Pixbuf.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs 2012-10-02 16:27:28.000000000 +0400
+@@ -69,6 +69,7 @@
+
+ -- * Constructors
+ pixbufNew,
++ pixbufNewFromData,
+ pixbufNewFromFile,
+ #if GTK_CHECK_VERSION(2,4,0)
+ pixbufNewFromFileAtSize,
+@@ -402,6 +403,19 @@
+ (fromBool hasAlpha) (fromIntegral bitsPerSample) (fromIntegral width)
+ (fromIntegral height)
+
++pixbufNewFromData :: Ptr CUChar -> Colorspace -> Bool -> Int -> Int -> Int -> Int -> IO Pixbuf
++pixbufNewFromData imData cSpace hasAlpha bitsPerSample width height rowStride
++ = wrapNewGObject mkPixbuf $
++ {#call pixbuf_new_from_data #}
++ imData
++ (fromIntegral . fromEnum $ cSpace)
++ (fromBool hasAlpha)
++ (fromIntegral bitsPerSample)
++ (fromIntegral width)
++ (fromIntegral height)
++ (fromIntegral rowStride)
++ nullFunPtr nullPtr
++
+ -- | Create a new image from a String.
+ --
+ -- * Creates a new pixbuf from a string description.
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/General/Clipboard.chs gtk/Graphics/UI/Gtk/General/Clipboard.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/General/Clipboard.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/General/Clipboard.chs 2012-10-02 16:30:54.000000000 +0400
+@@ -260,7 +260,7 @@
+ -- data succeeded.
+ clipboardSetWithData self targets getFunc clearFunc = do
+ gFunPtr <- mkClipboardGetFunc
+- (\_ sPtr info -> runReaderT (getFunc info) sPtr >> return ())
++ (\_ sPtr info _ -> runReaderT (getFunc info) sPtr >> return ())
+ cFunPtr <- mkClipboardClearFunc
+ (\_ _ -> clearFunc)
+ res <- withTargetEntries targets $ \nTargets targets ->
+@@ -282,7 +282,7 @@
+ {#pointer ClipboardClearFunc#}
+
+ foreign import ccall "wrapper" mkClipboardGetFunc ::
+- (Ptr Clipboard -> Ptr () -> {#type guint#} -> IO ()) -> IO ClipboardGetFunc
++ (Ptr Clipboard -> Ptr () -> {#type guint#} -> Ptr () -> IO ()) -> IO ClipboardGetFunc
+
+ foreign import ccall "wrapper" mkClipboardClearFunc ::
+ (Ptr Clipboard -> Ptr () -> IO ()) -> IO ClipboardClearFunc
+@@ -313,7 +313,7 @@
+ -- ignored.
+ clipboardSetWithOwner self targets getFunc clearFunc owner = do
+ gFunPtr <- mkClipboardGetFunc
+- (\_ sPtr info -> runReaderT (getFunc info) sPtr >> return ())
++ (\_ sPtr info _ -> runReaderT (getFunc info) sPtr >> return ())
+ cFunPtr <- mkClipboardClearFunc
+ (\_ _ -> clearFunc)
+ res <- withTargetEntries targets $ \nTargets targets ->
+@@ -404,7 +404,7 @@
+ clipboardRequestContents self (Atom target) callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardReceivedFunc
+- (\_ sPtr -> do
++ (\_ sPtr _ -> do
+ freeHaskellFunPtr =<< readIORef cbRef
+ runReaderT callback sPtr
+ return ())
+@@ -418,7 +418,7 @@
+ {#pointer ClipboardReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardReceivedFunc ::
+- (Ptr Clipboard -> Ptr () -> IO ()) -> IO ClipboardReceivedFunc
++ (Ptr Clipboard -> Ptr () -> Ptr () -> IO ()) -> IO ClipboardReceivedFunc
+
+ -- %hash c:7bb1 d:4ef1
+ -- | Requests the contents of the clipboard as text. When the text is later
+@@ -439,7 +439,7 @@
+ clipboardRequestText self callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardTextReceivedFunc
+- (\_ sPtr -> do
++ (\_ sPtr _ -> do
+ freeHaskellFunPtr =<< readIORef cbRef
+ mStr <- if sPtr==nullPtr then return Nothing else
+ liftM Just $ peekUTFString sPtr
+@@ -453,7 +453,7 @@
+ {#pointer ClipboardTextReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardTextReceivedFunc ::
+- (Ptr Clipboard -> CString -> IO ()) -> IO ClipboardTextReceivedFunc
++ (Ptr Clipboard -> CString -> Ptr () -> IO ()) -> IO ClipboardTextReceivedFunc
+
+
+ #if GTK_CHECK_VERSION(2,6,0)
+@@ -477,7 +477,7 @@
+ clipboardRequestImage self callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardImageReceivedFunc
+- (\_ sPtr -> do
++ (\_ sPtr _ -> do
+ freeHaskellFunPtr =<< readIORef cbRef
+ mPixbuf <- maybeNull (makeNewGObject mkPixbuf) (return sPtr)
+ callback mPixbuf)
+@@ -490,7 +490,7 @@
+ {#pointer ClipboardImageReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardImageReceivedFunc ::
+- (Ptr Clipboard -> Ptr Pixbuf -> IO ()) -> IO ClipboardImageReceivedFunc
++ (Ptr Clipboard -> Ptr Pixbuf -> Ptr () -> IO ()) -> IO ClipboardImageReceivedFunc
+
+ #endif
+
+@@ -513,7 +513,7 @@
+ clipboardRequestTargets self callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardTargetsReceivedFunc
+- (\_ tPtr len -> do
++ (\_ tPtr len _ -> do
+ -- We must free Haskell pointer *in* the callback to avoid segfault.
+ freeHaskellFunPtr =<< readIORef cbRef
+ mTargets <- if tPtr==nullPtr then return Nothing else
+@@ -528,7 +528,7 @@
+ {#pointer ClipboardTargetsReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardTargetsReceivedFunc ::
+- (Ptr Clipboard -> Ptr (Ptr ()) -> {#type gint#} -> IO ()) -> IO ClipboardTargetsReceivedFunc
++ (Ptr Clipboard -> Ptr (Ptr ()) -> {#type gint#} -> Ptr () -> IO ()) -> IO ClipboardTargetsReceivedFunc
+
+ #if GTK_CHECK_VERSION(2,10,0)
+ -- %hash c:5601 d:d6a6
+@@ -552,10 +552,10 @@
+ clipboardRequestRichText self buffer callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardRichTextReceivedFunc
+- (\_ tPtr sPtr len -> do
++ (\_ tPtr sPtr len _ -> do
+ freeHaskellFunPtr =<< readIORef cbRef
+ mRes <- if sPtr==nullPtr then return Nothing else liftM Just $ do
+- str <- peekUTFStringLen (sPtr,fromIntegral len)
++ str <- peekUTFStringLen (castPtr sPtr,fromIntegral len)
+ return (Atom tPtr, str)
+ callback mRes)
+ writeIORef cbRef cbPtr
+@@ -568,7 +568,7 @@
+ {#pointer ClipboardRichTextReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardRichTextReceivedFunc ::
+- (Ptr Clipboard -> Ptr () -> CString -> {#type gsize#} -> IO ()) ->
++ (Ptr Clipboard -> Ptr () -> Ptr CUChar -> {#type gsize#} -> Ptr () -> IO ()) ->
+ IO ClipboardRichTextReceivedFunc
+ #endif
+ #endif
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/General/General.chs gtk/Graphics/UI/Gtk/General/General.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/General/General.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/General/General.chs 2012-10-02 16:27:28.000000000 +0400
+@@ -202,7 +202,7 @@
+ -- their arguments from the main loop, that is, from the OS thread of Gtk,
+ -- thereby ensuring that any Gtk and OS function can be called.
+ --
+-{#fun unsafe gdk_threads_enter as threadsEnter {} -> `()' #}
++{#fun gdk_threads_enter as threadsEnter {} -> `()' #}
+
+ -- | Release the global Gtk lock.
+ --
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs 2012-10-02 16:30:54.000000000 +0400
+@@ -493,17 +493,17 @@
+ {# call gtk_combo_box_set_row_separator_func #}
+ (toComboBox self) nullFunPtr nullPtr nullFunPtr
+ comboBoxSetRowSeparatorSource self (Just (model, extract)) = do
+- funPtr <- mkRowSeparatorFunc $ \_ iterPtr -> do
++ funPtr <- mkRowSeparatorFunc $ \_ iterPtr _ -> do
+ iter <- peek iterPtr
+ value <- customStoreGetRow model iter
+- return (extract value)
++ return (fromBool $ extract value)
+ {# call gtk_combo_box_set_row_separator_func #}
+ (toComboBox self) funPtr (castFunPtrToPtr funPtr) destroyFunPtr
+
+ {#pointer TreeViewRowSeparatorFunc#}
+
+ foreign import ccall "wrapper" mkRowSeparatorFunc ::
+- (Ptr TreeModel -> Ptr TreeIter -> IO Bool) -> IO TreeViewRowSeparatorFunc
++ (Ptr TreeModel -> Ptr TreeIter -> Ptr () -> IO {#type gboolean #}) -> IO TreeViewRowSeparatorFunc
+
+ -- %hash c:5bf8
+ -- | Sets whether the popup menu should have a tearoff menu item.
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/MenuComboToolbar/MenuItem.chs gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuItem.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/MenuComboToolbar/MenuItem.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuItem.chs 2012-10-02 16:27:30.000000000 +0400
+@@ -76,6 +76,12 @@
+ menuItemNewWithMnemonic,
+
+ -- * Methods
++#if GTK_CHECK_VERSION(2,16,0)
++ menuItemSetLabel,
++ menuItemGetLabel,
++ menuItemSetUseUnderline,
++ menuItemGetUseUnderline,
++#endif
+ menuItemSetSubmenu,
+ menuItemGetSubmenu,
+ menuItemRemoveSubmenu,
+@@ -89,6 +95,10 @@
+ -- * Attributes
+ menuItemSubmenu,
+ menuItemRightJustified,
++#if GTK_CHECK_VERSION(2,16,0)
++ menuItemLabel,
++ menuItemUseUnderline,
++#endif
+
+ -- * Signals
+ menuItemActivateItem,
+@@ -163,7 +173,36 @@
+
+ --------------------
+ -- Methods
++#if GTK_CHECK_VERSION(2,16,0)
++-- | Sets text on the MenuItem label
++
++menuItemSetLabel :: (MenuItemClass self) => self -> String -> IO ()
++menuItemSetLabel self label =
++ withUTFString label $ {# call gtk_menu_item_set_label #} (toMenuItem self)
++
++-- | Gets text on the MenuItem label
++menuItemGetLabel :: (MenuItemClass self) => self -> IO String
++menuItemGetLabel self =
++ {# call gtk_menu_item_get_label #}
++ (toMenuItem self)
++ >>= \strPtr -> if strPtr == nullPtr
++ then return ""
++ else peekUTFString strPtr
++
++-- | If True, an underline in the text indicates the next character should be used for the mnemonic accelerator key.
++--
++menuItemSetUseUnderline :: (MenuItemClass self) => self -> Bool -> IO ()
++menuItemSetUseUnderline self =
++ {# call gtk_menu_item_set_use_underline #} (toMenuItem self) . fromBool
+
++-- | Checks if an underline in the text indicates the next character should be used for the mnemonic accelerator key.
++--
++menuItemGetUseUnderline :: (MenuItemClass self) => self -> IO Bool
++menuItemGetUseUnderline self =
++ liftM toBool $ {# call gtk_menu_item_get_use_underline #}
++ (toMenuItem self)
++
++#endif
+ -- | Sets the item's submenu, or changes it.
+ --
+ menuItemSetSubmenu :: (MenuItemClass self, MenuClass submenu) => self -> submenu -> IO ()
+@@ -278,6 +317,22 @@
+ menuItemGetRightJustified
+ menuItemSetRightJustified
+
++#if GTK_CHECK_VERSION(2,16,0)
++-- | \'label\' property. See 'menuItemSetLabel' and 'menuItemGetLabel'
++--
++menuItemLabel :: MenuItemClass self => Attr self String
++menuItemLabel = newAttr
++ menuItemGetLabel
++ menuItemSetLabel
++
++-- | \'useUnderline\' property. See 'menuItemSetUseUnderline' and
++-- 'menuItemGetUseEUnderline'
++--
++menuItemUseUnderline :: MenuItemClass self => Attr self Bool
++menuItemUseUnderline = newAttr
++ menuItemGetUseUnderline
++ menuItemSetUseUnderline
++#endif
+ --------------------
+ -- Signals
+
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/CustomStore.chs gtk/Graphics/UI/Gtk/ModelView/CustomStore.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/CustomStore.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/ModelView/CustomStore.chs 2012-10-02 16:27:33.000000000 +0400
+@@ -239,7 +239,7 @@
+ customTreeDragSourceIface = fromMaybe dummyDragSource mDragSource,
+ customTreeDragDestIface = fromMaybe dummyDragDest mDragDest }
+ privPtr <- newStablePtr priv
+- liftM con $ makeNewGObject (CustomStore, objectUnref) $
++ liftM con $ wrapNewGObject (CustomStore, objectUnref) $
+ gtk2hs_store_new implPtr privPtr
+
+ foreign import ccall unsafe "Gtk2HsStore.h gtk2hs_store_new"
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeModel.chs gtk/Graphics/UI/Gtk/ModelView/TreeModel.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeModel.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/ModelView/TreeModel.chs 2012-10-02 16:30:54.000000000 +0400
+@@ -427,7 +427,7 @@
+ {#pointer TreeModelForeachFunc#}
+
+ foreign import ccall "wrapper" mkTreeModelForeachFunc ::
+- (Ptr () -> Ptr () -> Ptr TreeIter -> Ptr () -> IO CInt) ->
++ (Ptr TreeModel -> Ptr NativeTreePath -> Ptr TreeIter -> Ptr () -> IO CInt) ->
+ IO TreeModelForeachFunc
+
+ #if GTK_CHECK_VERSION(2,2,0)
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeModelFilter.chs gtk/Graphics/UI/Gtk/ModelView/TreeModelFilter.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeModelFilter.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/ModelView/TreeModelFilter.chs 2012-10-02 16:30:54.000000000 +0400
+@@ -160,7 +160,7 @@
+ {#pointer TreeModelFilterVisibleFunc #}
+
+ foreign import ccall "wrapper" mkTreeModelFilterVisibleFunc ::
+- (Ptr TreeModelFilter -> Ptr TreeIter -> Ptr () -> IO {#type gboolean#}) ->
++ (Ptr TreeModel -> Ptr TreeIter -> Ptr () -> IO {#type gboolean#}) ->
+ IO TreeModelFilterVisibleFunc
+
+ -- %hash c:a56d d:b42e
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeSelection.chs gtk/Graphics/UI/Gtk/ModelView/TreeSelection.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeSelection.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/ModelView/TreeSelection.chs 2012-10-02 16:30:54.000000000 +0400
+@@ -151,7 +151,7 @@
+ treeSelectionSetSelectFunction :: TreeSelectionClass self => self
+ -> TreeSelectionCB -> IO ()
+ treeSelectionSetSelectFunction ts fun = do
+- fPtr <- mkTreeSelectionFunc (\_ _ tp _ -> do
++ fPtr <- mkTreeSelectionFunc (\_ _ tp _ _ -> do
+ path <- peekTreePath (castPtr tp)
+ liftM fromBool $ fun path
+ )
+@@ -168,7 +168,7 @@
+ {#pointer TreeSelectionFunc#}
+
+ foreign import ccall "wrapper" mkTreeSelectionFunc ::
+- (Ptr () -> Ptr () -> Ptr TreePath -> Ptr () -> IO CInt)->
++ (Ptr TreeSelection -> Ptr TreeModel -> Ptr NativeTreePath -> {#type gint#} -> Ptr () -> IO CInt)->
+ IO TreeSelectionFunc
+
+ -- | Retrieve the 'TreeView' widget that this 'TreeSelection' works on.
+@@ -199,7 +199,7 @@
+ -> TreeSelectionForeachCB
+ -> IO ()
+ treeSelectionSelectedForeach self fun = do
+- fPtr <- mkTreeSelectionForeachFunc (\_ _ iterPtr -> do
++ fPtr <- mkTreeSelectionForeachFunc (\_ _ iterPtr _ -> do
+ -- make a deep copy of the iterator. This makes it possible to store this
+ -- iterator in Haskell land somewhere. The TreeModel parameter is not
+ -- passed to the function due to performance reasons. But since it is
+@@ -219,7 +219,7 @@
+ {#pointer TreeSelectionForeachFunc#}
+
+ foreign import ccall "wrapper" mkTreeSelectionForeachFunc ::
+- (Ptr () -> Ptr () -> Ptr TreeIter -> IO ()) -> IO TreeSelectionForeachFunc
++ (Ptr TreeModel -> Ptr NativeTreePath -> Ptr TreeIter -> Ptr () -> IO ()) -> IO TreeSelectionForeachFunc
+
+ #if GTK_CHECK_VERSION(2,2,0)
+ -- | Creates a list of paths of all selected rows.
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeView.chs gtk/Graphics/UI/Gtk/ModelView/TreeView.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeView.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/ModelView/TreeView.chs 2012-10-02 16:30:54.000000000 +0400
+@@ -582,7 +582,7 @@
+ {#pointer TreeViewColumnDropFunc#}
+
+ foreign import ccall "wrapper" mkTreeViewColumnDropFunc ::
+- (Ptr () -> Ptr TreeViewColumn -> Ptr TreeViewColumn -> Ptr TreeViewColumn ->
++ (Ptr TreeView -> Ptr TreeViewColumn -> Ptr TreeViewColumn -> Ptr TreeViewColumn ->
+ Ptr () -> IO {#type gboolean#}) -> IO TreeViewColumnDropFunc
+
+ -- | Scroll to a coordinate.
+@@ -798,7 +798,7 @@
+ {#pointer TreeViewMappingFunc#}
+
+ foreign import ccall "wrapper" mkTreeViewMappingFunc ::
+- (Ptr () -> Ptr NativeTreePath -> Ptr () -> IO ()) ->
++ (Ptr TreeView -> Ptr NativeTreePath -> Ptr () -> IO ()) ->
+ IO TreeViewMappingFunc
+
+ -- | Check if row is expanded.
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Multiline/TextBuffer.chs gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Multiline/TextBuffer.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs 2012-10-02 16:27:34.000000000 +0400
+@@ -1251,16 +1251,26 @@
+
+ -- | A 'Pixbuf' is inserted into the buffer.
+ --
++-- * See note in 'bufferInsertText'.
++--
+ insertPixbuf :: TextBufferClass self => Signal self (TextIter -> Pixbuf -> IO ())
+ insertPixbuf = Signal (connect_BOXED_OBJECT__NONE "insert-pixbuf" mkTextIterCopy)
+
+ -- | The 'insertChildAnchor' signal is emitted to insert a 'TextChildAnchor' in a 'TextBuffer'.
+ -- Insertion actually occurs in the default handler.
+ --
++-- * See note in 'bufferInsertText'.
++--
+ insertChildAnchor :: TextBufferClass self => Signal self (TextIter -> TextChildAnchor -> IO ())
+ insertChildAnchor = Signal (connect_BOXED_OBJECT__NONE "insert-child-anchor" mkTextIterCopy)
+
+--- | Some text was inserted.
++-- | Some text is inserted. Insertion actually occurs in the default handler.
++--
++-- * The function connected to this handler may not modify the buffer since
++-- this would invalidate the iterator. If this function replaces the
++-- default handler, it needs to stop the emission of this signal in order
++-- to prevent the default handler from running. If additional text should
++-- be inserted, this can be done using the 'after' function to connect.
+ --
+ bufferInsertText :: TextBufferClass self => Signal self (TextIter -> String -> IO ())
+ bufferInsertText = Signal $ \after obj handler ->
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Multiline/TextIter.chs gtk/Graphics/UI/Gtk/Multiline/TextIter.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Multiline/TextIter.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/Multiline/TextIter.chs 2012-10-02 16:30:54.000000000 +0400
+@@ -797,7 +797,7 @@
+ {#pointer TextCharPredicate#}
+
+ foreign import ccall "wrapper" mkTextCharPredicate ::
+- ({#type gunichar#} -> Ptr () -> {#type gboolean#}) -> IO TextCharPredicate
++ ({#type gunichar#} -> Ptr () -> IO {#type gboolean#}) -> IO TextCharPredicate
+
+ -- | Move 'TextIter' forward until a
+ -- predicate function returns True.
+@@ -810,7 +810,7 @@
+ textIterForwardFindChar :: TextIter -> (Char -> Bool) -> Maybe TextIter ->
+ IO Bool
+ textIterForwardFindChar ti pred limit = do
+- fPtr <- mkTextCharPredicate (\c _ -> fromBool $ pred (chr (fromIntegral c)))
++ fPtr <- mkTextCharPredicate (\c _ -> return $ fromBool $ pred (chr (fromIntegral c)))
+ res <- liftM toBool $ {#call text_iter_forward_find_char#}
+ ti fPtr nullPtr (fromMaybe (TextIter nullForeignPtr) limit)
+ freeHaskellFunPtr fPtr
+@@ -827,7 +827,7 @@
+ textIterBackwardFindChar :: TextIter -> (Char -> Bool) -> Maybe TextIter ->
+ IO Bool
+ textIterBackwardFindChar ti pred limit = do
+- fPtr <- mkTextCharPredicate (\c _ -> fromBool $ pred (chr (fromIntegral c)))
++ fPtr <- mkTextCharPredicate (\c _ -> return $ fromBool $ pred (chr (fromIntegral c)))
+ res <- liftM toBool $ {#call text_iter_backward_find_char#}
+ ti fPtr nullPtr (fromMaybe (TextIter nullForeignPtr) limit)
+ freeHaskellFunPtr fPtr
+diff -wbBur /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Windows/Assistant.chs gtk/Graphics/UI/Gtk/Windows/Assistant.chs
+--- /home/sergej/community-my.svn/haskell-gtk/trunk/src/gtk-0.12.3.1/Graphics/UI/Gtk/Windows/Assistant.chs 2012-06-18 01:39:34.000000000 +0400
++++ gtk/Graphics/UI/Gtk/Windows/Assistant.chs 2012-10-02 16:30:54.000000000 +0400
+@@ -274,7 +274,7 @@
+ {#pointer AssistantPageFunc#}
+
+ foreign import ccall "wrapper" mkAssistantPageFunc ::
+- ({#type glong#} -> Ptr () -> IO {#type glong#})
++ ({#type gint#} -> Ptr () -> IO {#type gint#})
+ -> IO AssistantPageFunc
+
+ -- | Sets the page type for @page@. The page type determines the page behavior
diff --git a/community/haskell-gtk/gtk-gthread.h-include.patch b/community/haskell-gtk/gtk-gthread.h-include.patch
new file mode 100644
index 000000000..fc600d6be
--- /dev/null
+++ b/community/haskell-gtk/gtk-gthread.h-include.patch
@@ -0,0 +1,15 @@
+diff -u gtk-0.12.2/Graphics/UI/Gtk/General/hsgthread.c\~ gtk-0.12.2/Graphics/UI/Gtk/General/hsgthread.c
+--- gtk-0.12.2/Graphics/UI/Gtk/General/hsgthread.c~ 2011-11-14 07:15:41.000000000 +0900
++++ gtk-0.12.2/Graphics/UI/Gtk/General/hsgthread.c 2012-01-08 14:58:45.849209318 +0900
+@@ -26,7 +26,8 @@
+ */
+
+ #include <glib.h>
+-#include <glib/gthread.h>
++/* f17 gives Error "Only <glib.h> can be included directly."
++ #include <glib/gthread.h> */
+ #include <gdk/gdk.h>
+ #include "hsgthread.h"
+
+
+Diff finished. Sun Jan 8 14:58:54 2012
diff --git a/community/haskell-gtk/gtk2hs-gtk.install b/community/haskell-gtk/gtk2hs-gtk.install
new file mode 100644
index 000000000..7ed674b78
--- /dev/null
+++ b/community/haskell-gtk/gtk2hs-gtk.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/gtk2hs-gtk
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-haskeline/PKGBUILD b/community/haskell-haskeline/PKGBUILD
new file mode 100644
index 000000000..7cd9ccb27
--- /dev/null
+++ b/community/haskell-haskeline/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 89304 2013-04-28 16:52:25Z td123 $
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Package generated by cabal2arch 0.7.6
+
+_hkgname=haskeline
+pkgname=haskell-haskeline
+pkgver=0.7.0.3
+pkgrel=3
+pkgdesc="A command-line interface for user input, written in Haskell."
+url="http://hackage.haskell.org/package/haskeline"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' 'sh' 'haskell-utf8-string=0.3.7-5' 'haskell-mtl=2.1.2-3' 'haskell-terminfo=0.3.2.5-3')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('3a78043dc80b5510202e71e77c0a9923')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure \
+ -O -p --enable-split-objs --enable-shared -fterminfo --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-haskeline/haskell-haskeline.install b/community/haskell-haskeline/haskell-haskeline.install
new file mode 100644
index 000000000..27cb4a093
--- /dev/null
+++ b/community/haskell-haskeline/haskell-haskeline.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-haskeline
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-highlighting-kate/PKGBUILD b/community/haskell-highlighting-kate/PKGBUILD
new file mode 100644
index 000000000..1a3c0b7d1
--- /dev/null
+++ b/community/haskell-highlighting-kate/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=highlighting-kate
+pkgname=haskell-highlighting-kate
+pkgver=0.5.3.9
+pkgrel=1
+pkgdesc="Syntax highlighting"
+url="http://hackage.haskell.org/package/$_hkgname"
+license=('GPL')
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-blaze-html>=0.4.2' 'haskell-containers' 'haskell-filepath' 'haskell-mtl' 'haskell-parsec' 'haskell-pcre-light')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+md5sums=('fa274eb5d1f7002b16a312693ad9eef0')
+
+build() {
+ cd $_hkgname-$pkgver
+ runhaskell Setup configure -O --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd $_hkgname-$pkgver
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+}
diff --git a/community/haskell-highlighting-kate/haskell-highlighting-kate.install b/community/haskell-highlighting-kate/haskell-highlighting-kate.install
new file mode 100644
index 000000000..c03138b71
--- /dev/null
+++ b/community/haskell-highlighting-kate/haskell-highlighting-kate.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-highlighting-kate
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-hs-bibutils/PKGBUILD b/community/haskell-hs-bibutils/PKGBUILD
new file mode 100644
index 000000000..85a7a74c7
--- /dev/null
+++ b/community/haskell-hs-bibutils/PKGBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Ivy Foster <joyfulgirl (at) archlinux (dot) # us>
+# Contributor: Alexander Dunlap <alexander.dunlap at gmail # dot com>
+
+_hkgname=hs-bibutils
+pkgname=haskell-hs-bibutils
+pkgver=5.0
+pkgrel=2
+pkgdesc="Haskell bindings to bibutils, the bibliography conversion utilities."
+url="http://hackage.haskell.org/package/$_hkgname"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('ghc' 'haskell-syb>=0.3' 'bibutils')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/$_hkgname-$pkgver.tar.gz)
+install=$pkgname.install
+md5sums=('611e02005ad8bbb69218ebf15f3587c6')
+
+build() {
+ cd "$_hkgname-$pkgver"
+ runhaskell Setup configure -O \
+ --enable-split-objs \
+ --enable-shared \
+ --prefix=/usr \
+ --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid \
+ --enable-library-profiling
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r \
+ -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" \
+ unregister.sh
+}
+
+package() {
+ cd "$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/${pkgname}/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+}
diff --git a/community/haskell-hs-bibutils/haskell-hs-bibutils.install b/community/haskell-hs-bibutils/haskell-hs-bibutils.install
new file mode 100644
index 000000000..7b5f4d635
--- /dev/null
+++ b/community/haskell-hs-bibutils/haskell-hs-bibutils.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-hs-bibutils
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-hslogger/PKGBUILD b/community/haskell-hslogger/PKGBUILD
new file mode 100644
index 000000000..0dfb8703e
--- /dev/null
+++ b/community/haskell-hslogger/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 89306 2013-04-28 16:52:27Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Arch Haskell Team <arch-haskell@haskell.org>
+
+pkgname=haskell-hslogger
+pkgver=1.2.1
+pkgrel=4
+pkgdesc="Versatile logging framework"
+url="http://hackage.haskell.org/package/hslogger"
+license=('LGPL')
+arch=('i686' 'x86_64')
+depends=('ghc' 'haskell-mtl' 'haskell-network')
+install=${pkgname}.install
+source=(http://hackage.haskell.org/packages/archive/hslogger/${pkgver}/hslogger-${pkgver}.tar.gz)
+md5sums=('d94e39cd6a262565cf0758a6ead74919')
+
+build() {
+ cd ${srcdir}/hslogger-${pkgver}
+ runhaskell Setup configure -p --prefix=/usr --docdir=/usr/share/doc/${pkgname} -O \
+ --enable-split-objs --enable-shared --libsubdir=\$compiler/site-local/\$pkgid \
+ --enable-library-profiling
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/hslogger-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/hslogger
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community/haskell-hslogger/haskell-hslogger.install b/community/haskell-hslogger/haskell-hslogger.install
new file mode 100644
index 000000000..2a0d98ae7
--- /dev/null
+++ b/community/haskell-hslogger/haskell-hslogger.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-hslogger
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-html/PKGBUILD b/community/haskell-html/PKGBUILD
new file mode 100644
index 000000000..05cd89c76
--- /dev/null
+++ b/community/haskell-html/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Package generated by cabal2arch 0.7.6
+
+_hkgname=html
+pkgname=haskell-html
+pkgver=1.0.1.2
+pkgrel=15
+pkgdesc="HTML combinator library"
+url="http://hackage.haskell.org/package/html"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' 'sh')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('2a7de5a2af9a2f80d39825d6a95ee445')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-html/haskell-html.install b/community/haskell-html/haskell-html.install
new file mode 100644
index 000000000..768297e0a
--- /dev/null
+++ b/community/haskell-html/haskell-html.install
@@ -0,0 +1,19 @@
+HS_DIR=usr/share/haskell/haskell-html
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh &> /dev/null
+ exit 0
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-json/PKGBUILD b/community/haskell-json/PKGBUILD
new file mode 100644
index 000000000..b1ed11582
--- /dev/null
+++ b/community/haskell-json/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+
+_hkgname=json
+pkgname=haskell-json
+pkgver=0.7
+pkgrel=5
+pkgdesc="Support for serialising Haskell to and from JSON"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+depends=(ghc haskell-array 'haskell-base>=4' haskell-bytestring
+ haskell-containers haskell-text haskell-mtl 'haskell-syb>=0.3.3')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=("d3654272caa269bc65f6f2af82b583ef05434613fe5272d57053fb3bfada68a3")
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -D -m744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -d -m755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/${_hkgname}"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-json/haskell-json.install b/community/haskell-json/haskell-json.install
new file mode 100644
index 000000000..5be36b5cc
--- /dev/null
+++ b/community/haskell-json/haskell-json.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-json
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-pandoc-types/PKGBUILD b/community/haskell-pandoc-types/PKGBUILD
new file mode 100644
index 000000000..b7c7a47c3
--- /dev/null
+++ b/community/haskell-pandoc-types/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=pandoc-types
+pkgname=haskell-pandoc-types
+pkgver=1.10
+pkgrel=2
+pkgdesc="Types for representing a structured document"
+url="http://johnmacfarlane.net/pandoc"
+license=("GPL")
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-containers' 'haskell-syb')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('e65b983aece74d57db53c6f611f92b9df9dd876e5f022f3a8612c092d6db78f5')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -D -m744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -d -m755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/COPYING"
+}
diff --git a/community/haskell-pandoc-types/haskell-pandoc-types.install b/community/haskell-pandoc-types/haskell-pandoc-types.install
new file mode 100644
index 000000000..72e17a9e2
--- /dev/null
+++ b/community/haskell-pandoc-types/haskell-pandoc-types.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-pandoc-types
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-pandoc/PKGBUILD b/community/haskell-pandoc/PKGBUILD
new file mode 100644
index 000000000..fe85263af
--- /dev/null
+++ b/community/haskell-pandoc/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Aleksandar Micovic <metaleks@gmail.com>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=pandoc
+pkgname=haskell-pandoc
+pkgver=1.11.1
+pkgrel=7
+pkgdesc="Conversion between markup formats"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('GPL')
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-base64-bytestring' 'haskell-blaze-html' 'haskell-blaze-markup' 'haskell-bytestring' 'haskell-citeproc-hs' 'haskell-containers' 'haskell-directory' 'haskell-extensible-exceptions' 'haskell-filepath' 'haskell-highlighting-kate' 'haskell-http' 'haskell-json' 'haskell-mtl' 'haskell-network' 'haskell-old-locale' 'haskell-pandoc-types' 'haskell-parsec' 'haskell-process' 'haskell-random' 'haskell-syb' 'haskell-tagsoup' 'haskell-temporary' 'haskell-texmath' 'haskell-time' 'haskell-utf8-string' 'haskell-xml' 'haskell-zip-archive' 'haskell-zlib' haskell-data-default)
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+md5sums=('e895b22745affba37c0ba5e6e6d0f17c')
+provides=(pandoc)
+conflicts=(pandoc)
+replaces=(pandoc)
+
+build() {
+ cd $_hkgname-$pkgver
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd $_hkgname-$pkgver
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+}
diff --git a/community/haskell-pandoc/haskell-pandoc.install b/community/haskell-pandoc/haskell-pandoc.install
new file mode 100644
index 000000000..24a22db9c
--- /dev/null
+++ b/community/haskell-pandoc/haskell-pandoc.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-pandoc
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-pango/PKGBUILD b/community/haskell-pango/PKGBUILD
new file mode 100644
index 000000000..2d52b6be3
--- /dev/null
+++ b/community/haskell-pango/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 89311 2013-04-28 16:52:32Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=haskell-pango
+pkgver=0.12.4
+pkgrel=4
+pkgdesc="Binding to the pango library for Gtk2Hs."
+url="http://hackage.haskell.org/package/pango"
+license=('LGPL2.1')
+arch=('i686' 'x86_64')
+# deps adjusted to specific versions in package()
+depends=('ghc' 'pango' 'haskell-glib' 'haskell-cairo')
+makedepends=("gtk2hs-buildtools")
+provides=('gtk2hs-pango')
+replaces=('gtk2hs-pango')
+conflicts=('gtk2hs-pango')
+options=('strip')
+install=gtk2hs-pango.install
+source=(http://hackage.haskell.org/packages/archive/pango/${pkgver}/pango-${pkgver}.tar.gz)
+md5sums=('e498beb2d10b45ebf08bffc2296e1195')
+
+build() {
+ cd ${srcdir}/pango-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/haskell-pango \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ sed -i 's|import Foreign.C.Types.*(CULong, CUInt)|import Foreign.C.Types (CULong(..), CUInt(..))|' Graphics/Rendering/Pango/Types.chs
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ _hglibver=`pacman -Q haskell-glib | cut -f2 -d\ | cut -f1 -d-`
+ _hcairover=`pacman -Q haskell-cairo | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" "pango" "haskell-glib=${_hglibver}" "haskell-cairo=${_hcairover}")
+
+ cd ${srcdir}/pango-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/gtk2hs-pango/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/gtk2hs-pango/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/haskell-pango/html ${pkgdir}/usr/share/doc/ghc/html/libraries/pango
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community/haskell-pango/gtk2hs-pango.install b/community/haskell-pango/gtk2hs-pango.install
new file mode 100644
index 000000000..f2be2100f
--- /dev/null
+++ b/community/haskell-pango/gtk2hs-pango.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/gtk2hs-pango
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-pcre-light/PKGBUILD b/community/haskell-pcre-light/PKGBUILD
new file mode 100644
index 000000000..bbd9e0173
--- /dev/null
+++ b/community/haskell-pcre-light/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+
+_hkgname=pcre-light
+pkgname=haskell-pcre-light
+pkgver=0.4
+pkgrel=22
+pkgdesc="A small, efficient and portable regex library for Perl 5 compatible regular expressions"
+url="http://code.haskell.org/~dons/code/pcre-light"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=()
+depends=("ghc>=7.0.3-2"
+ "sh"
+ "haskell-bytestring-show"
+ "pcre")
+options=('strip')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install="$pkgname.install"
+sha256sums=("b37f6ffab07b56540ba4cc410f3ad3c4e0e6e226c610c33f4b7daf70559c31f6")
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-pcre-light/haskell-pcre-light.install b/community/haskell-pcre-light/haskell-pcre-light.install
new file mode 100644
index 000000000..0a9d80b19
--- /dev/null
+++ b/community/haskell-pcre-light/haskell-pcre-light.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-pcre-light
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-primitive/PKGBUILD b/community/haskell-primitive/PKGBUILD
new file mode 100644
index 000000000..088f5e029
--- /dev/null
+++ b/community/haskell-primitive/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 89313 2013-04-28 16:52:35Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=haskell-primitive
+pkgver=0.5.0.1
+pkgrel=4
+pkgdesc="Wrappers for primitive operations"
+url="http://hackage.haskell.org/package/primitive"
+license=("custom:BSD3")
+arch=('i686' 'x86_64')
+makedepends=()
+depends=("ghc")
+options=('strip')
+install="${pkgname}.install"
+source=("http://hackage.haskell.org/packages/archive/primitive/${pkgver}/primitive-${pkgver}.tar.gz")
+sha256sums=('526c9d4d06b7b379cb1aaffeffbb30bef810e771f29617ef6d0d99df711f4313')
+
+build() {
+ cd ${srcdir}/primitive-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/primitive-${pkgver}
+ install -Dm744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -dm755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/primitive
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-primitive/haskell-primitive.install b/community/haskell-primitive/haskell-primitive.install
new file mode 100644
index 000000000..038c509df
--- /dev/null
+++ b/community/haskell-primitive/haskell-primitive.install
@@ -0,0 +1,26 @@
+# custom variables
+pkgname=haskell-primitive
+HS_DIR=/usr/share/haskell/${pkgname}
+
+# functions
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_remove() {
+ (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-quickcheck/0001-update-code-to-support-extensible-exceptions-no-long.patch b/community/haskell-quickcheck/0001-update-code-to-support-extensible-exceptions-no-long.patch
new file mode 100644
index 000000000..a25506e67
--- /dev/null
+++ b/community/haskell-quickcheck/0001-update-code-to-support-extensible-exceptions-no-long.patch
@@ -0,0 +1,50 @@
+From 554b8dc1439b4dbb5bc9a853fc27efe7b1e111de Mon Sep 17 00:00:00 2001
+From: Thomas Dziedzic <gostrc@gmail.com>
+Date: Tue, 11 Sep 2012 03:59:50 -0700
+Subject: [PATCH] update code to support extensible exceptions no longer being
+ a part of ghc >= 7.6.1
+
+---
+ QuickCheck.cabal | 6 +++++-
+ Test/QuickCheck/Exception.hs | 6 ++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/QuickCheck.cabal b/QuickCheck.cabal
+index 1a9126e..5afd6fb 100644
+--- a/QuickCheck.cabal
++++ b/QuickCheck.cabal
+@@ -60,9 +60,13 @@ library
+ Build-depends: ghc
+
+ -- We want to use extensible-exceptions even if linking against base-3.
+- if impl(ghc >= 6.9)
++ if impl(ghc >= 6.9) && impl(ghc < 7.6)
+ Build-depends: extensible-exceptions
+
++ -- GHC >= 7.6.1 no longer provides extensible exceptions
++ if impl(ghc >= 7.6)
++ cpp-options: -DNEW_EXCEPTIONS
++
+ -- Modules that are always built.
+ Exposed-Modules:
+ Test.QuickCheck,
+diff --git a/Test/QuickCheck/Exception.hs b/Test/QuickCheck/Exception.hs
+index f895351..d463195 100644
+--- a/Test/QuickCheck/Exception.hs
++++ b/Test/QuickCheck/Exception.hs
+@@ -18,6 +18,12 @@ module Test.QuickCheck.Exception where
+
+ #if defined(OLD_EXCEPTIONS)
+ import Control.Exception(evaluate, try, Exception(..), throw)
++#elif defined(NEW_EXCEPTIONS)
++import Control.Exception(evaluate, try, SomeException(SomeException), ErrorCall(..), throw
++#if defined(GHC_INTERRUPT)
++ , AsyncException(UserInterrupt)
++#endif
++ )
+ #else
+ import Control.Exception.Extensible(evaluate, try, SomeException(SomeException), ErrorCall(..), throw
+ #if defined(GHC_INTERRUPT)
+--
+1.7.12
+
diff --git a/community/haskell-quickcheck/PKGBUILD b/community/haskell-quickcheck/PKGBUILD
new file mode 100644
index 000000000..937d26326
--- /dev/null
+++ b/community/haskell-quickcheck/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 89314 2013-04-28 16:52:36Z td123 $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+_hkgname=QuickCheck
+pkgname=haskell-quickcheck
+pkgver=2.6
+pkgrel=2
+pkgdesc='Automatic testing of Haskell programs'
+url='http://hackage.haskell.org/package/QuickCheck'
+license=('custom:BSD3')
+arch=('x86_64' 'i686')
+depends=('ghc=7.6.3-1' 'haskell-random=1.0.1.1-5' 'sh')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/$pkgver/${_hkgname}-$pkgver.tar.gz")
+install=${pkgname}.install
+sha256sums=('8001c00a1892714d914e5007ba72cdd428c1ea4c6b8418c6cb5e7809753d970d')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ runhaskell Setup configure -O -p \
+ --enable-split-objs \
+ --enable-shared \
+ --prefix=/usr \
+ --docdir="/usr/share/doc/$pkgname" \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh \
+ "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -d -m755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s "/usr/share/doc/$pkgname/html" \
+ "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/haskell-quickcheck/haskell-quickcheck.install b/community/haskell-quickcheck/haskell-quickcheck.install
new file mode 100644
index 000000000..c9e12fadc
--- /dev/null
+++ b/community/haskell-quickcheck/haskell-quickcheck.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-quickcheck
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-regex-base/PKGBUILD b/community/haskell-regex-base/PKGBUILD
new file mode 100644
index 000000000..c966e3963
--- /dev/null
+++ b/community/haskell-regex-base/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 89315 2013-04-28 16:52:37Z td123 $
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+_hkgname=regex-base
+pkgname=haskell-regex-base
+pkgver=0.93.2
+pkgrel=13
+pkgdesc='Interface API for regex-posix,pcre,parsec,tdfa,dfa'
+url='http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regex-base'
+license=('custom:BSD3')
+arch=('x86_64' 'i686')
+depends=('ghc=7.6.3-1' 'sh' 'haskell-mtl=2.1.2')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/$pkgver/${_hkgname}-$pkgver.tar.gz")
+install=$pkgname.install
+sha256sums=('20dc5713a16f3d5e2e6d056b4beb9cfdc4368cd09fd56f47414c847705243278')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/haskell-regex-base/haskell-regex-base.install b/community/haskell-regex-base/haskell-regex-base.install
new file mode 100644
index 000000000..3ad2fea28
--- /dev/null
+++ b/community/haskell-regex-base/haskell-regex-base.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-regex-base
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-regex-compat/PKGBUILD b/community/haskell-regex-compat/PKGBUILD
new file mode 100644
index 000000000..fc0738ada
--- /dev/null
+++ b/community/haskell-regex-compat/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 89316 2013-04-28 16:52:38Z td123 $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+_hkgname=regex-compat
+pkgname=haskell-regex-compat
+pkgver=0.95.1
+pkgrel=5
+pkgdesc='Replaces and enhances Text.Regex'
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('x86_64' 'i686')
+depends=('ghc=7.6.3-1' 'sh' 'haskell-regex-base=0.93.2' 'haskell-regex-posix=0.95.2')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+sha256sums=('d57cb1a5a4d66753b18eaa37a1621246f660472243b001894f970037548d953b')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/haskell-regex-compat/haskell-regex-compat.install b/community/haskell-regex-compat/haskell-regex-compat.install
new file mode 100644
index 000000000..898c0bba1
--- /dev/null
+++ b/community/haskell-regex-compat/haskell-regex-compat.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-regex-compat
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-regex-posix/PKGBUILD b/community/haskell-regex-posix/PKGBUILD
new file mode 100644
index 000000000..45597f8d6
--- /dev/null
+++ b/community/haskell-regex-posix/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 89317 2013-04-28 16:52:39Z td123 $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+_hkgname=regex-posix
+pkgname=haskell-regex-posix
+pkgver=0.95.2
+pkgrel=4
+pkgdesc='The posix regex backend for regex-base'
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' 'sh' 'haskell-regex-base=0.93.2')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+sha256sums=('56019921cd4a4c9682b81ec614236fea816ba8ed8785a1640cd66d8b24fc703e')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/haskell-regex-posix/haskell-regex-posix.install b/community/haskell-regex-posix/haskell-regex-posix.install
new file mode 100644
index 000000000..2b89fae7b
--- /dev/null
+++ b/community/haskell-regex-posix/haskell-regex-posix.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-regex-posix
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-stm/PKGBUILD b/community/haskell-stm/PKGBUILD
new file mode 100644
index 000000000..0fa5c7670
--- /dev/null
+++ b/community/haskell-stm/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Package generated by cabal2arch 0.7.5
+_hkgname=stm
+pkgname=haskell-stm
+pkgver=2.4.2
+pkgrel=2
+pkgdesc="A modular composable concurrency abstraction."
+url="http://hackage.haskell.org/package/stm"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' 'sh')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/$pkgver/${_hkgname}-$pkgver.tar.gz)
+install=${pkgname}.install
+md5sums=('a0008fce2e12a18ab230516132d4117e')
+
+build() {
+ cd ${srcdir}/${_hkgname}-$pkgver
+ runhaskell Setup configure -O --enable-split-objs --enable-shared --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-$pkgver
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-stm/haskell-stm.install b/community/haskell-stm/haskell-stm.install
new file mode 100644
index 000000000..0283c2fc5
--- /dev/null
+++ b/community/haskell-stm/haskell-stm.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-stm
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-syb/PKGBUILD b/community/haskell-syb/PKGBUILD
new file mode 100644
index 000000000..dee27a3c4
--- /dev/null
+++ b/community/haskell-syb/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+_hkgname=syb
+pkgname=haskell-syb
+pkgver=0.4.0
+pkgrel=2
+pkgdesc="A library for client-side HTTP"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' sh)
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('ec2719d444a6561b2424dcef10b4fe34')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared --prefix=/usr --docdir=/usr/share/doc/${pkgname}
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
+
diff --git a/community/haskell-syb/haskell-syb.install b/community/haskell-syb/haskell-syb.install
new file mode 100644
index 000000000..080055165
--- /dev/null
+++ b/community/haskell-syb/haskell-syb.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-syb
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-tagsoup/PKGBUILD b/community/haskell-tagsoup/PKGBUILD
new file mode 100644
index 000000000..5f7712866
--- /dev/null
+++ b/community/haskell-tagsoup/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+_hkgname=tagsoup
+pkgname=haskell-tagsoup
+pkgver=0.12.8
+pkgrel=3
+pkgdesc="Parsing and extracting information from (possibly malformed) HTML/XML documents"
+url="http://community.haskell.org/~ndm/tagsoup/"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+depends=("ghc" "haskell-text")
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('a31e49133690b546a6b948a9ab9f924aaf5bd94f9e3e0afb99bb570c104c9515')
+
+build() {
+ cd $srcdir/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd $srcdir/${_hkgname}-${pkgver}
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-tagsoup/haskell-tagsoup.install b/community/haskell-tagsoup/haskell-tagsoup.install
new file mode 100644
index 000000000..2e0c845a5
--- /dev/null
+++ b/community/haskell-tagsoup/haskell-tagsoup.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-tagsoup
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-tar/PKGBUILD b/community/haskell-tar/PKGBUILD
new file mode 100644
index 000000000..968bcb1cd
--- /dev/null
+++ b/community/haskell-tar/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 89321 2013-04-28 16:52:43Z td123 $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+pkgname=haskell-tar
+pkgver=0.4.0.1
+pkgrel=5
+pkgdesc='Reading, writing and manipulating tar archive files'
+url='http://hackage.haskell.org/package/tar'
+license=('custom:BSD3')
+arch=('x86_64' 'i686')
+depends=('ghc=7.6.3-1')
+source=("http://hackage.haskell.org/packages/archive/tar/$pkgver/tar-$pkgver.tar.gz")
+install=haskell-tar.install
+sha256sums=('a408274d8325f4e3144c5aa154d72f1ee7b0a7342570fd6805e3be3fe0d97a6d')
+
+build() {
+ cd "$srcdir/tar-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir="/usr/share/doc/$pkgname" \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/tar-$pkgver"
+
+ install -Dm 744 register.sh \
+ $pkgdir/usr/share/haskell/$pkgname/register.sh
+ install -m 744 unregister.sh \
+ $pkgdir/usr/share/haskell/$pkgname/unregister.sh
+ install -dm 755 $pkgdir/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/$pkgname/html \
+ $pkgdir/usr/share/doc/ghc/html/libraries/tar
+ runhaskell Setup copy --destdir=$pkgdir
+ install -Dm 644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ rm -f $pkgdir/usr/share/doc/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/haskell-tar/haskell-tar.install b/community/haskell-tar/haskell-tar.install
new file mode 100644
index 000000000..7e0383621
--- /dev/null
+++ b/community/haskell-tar/haskell-tar.install
@@ -0,0 +1,24 @@
+HS_DIR=usr/share/haskell/haskell-tar
+
+post_install() {
+ ${HS_DIR}/register.sh
+ post_remove
+}
+
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ pre_upgrade
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/haskell-temporary/PKGBUILD b/community/haskell-temporary/PKGBUILD
new file mode 100644
index 000000000..af3453656
--- /dev/null
+++ b/community/haskell-temporary/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+_hkgname=temporary
+pkgname=haskell-temporary
+pkgver=1.1.2.4
+pkgrel=3
+pkgdesc="Portable temporary file and directory support for Windows and Unix, based on code from Cabal"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc' 'haskell-directory' 'haskell-filepath' 'haskell-unix')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+sha1sums=('310b6d07014064b2ecafb794393c1bba76286a33')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/${_hkgname}"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-temporary/haskell-temporary.install b/community/haskell-temporary/haskell-temporary.install
new file mode 100644
index 000000000..39a0a49ff
--- /dev/null
+++ b/community/haskell-temporary/haskell-temporary.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-temporary
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-terminfo/PKGBUILD b/community/haskell-terminfo/PKGBUILD
new file mode 100644
index 000000000..e35f7da1a
--- /dev/null
+++ b/community/haskell-terminfo/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 89323 2013-04-28 16:52:45Z td123 $
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+_hkgname=terminfo
+pkgname=haskell-terminfo
+pkgver=0.3.2.5
+pkgrel=3
+pkgdesc="Haskell bindings to the terminfo library."
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' 'sh')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=${pkgname}.install
+md5sums=('7ef09acfac9f6fc499ed3bb804ae2ab3')
+
+build() {
+ cd "${srcdir}/${_hkgname}-${pkgver}"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "${srcdir}/${_hkgname}-${pkgver}"
+
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-terminfo/haskell-terminfo.install b/community/haskell-terminfo/haskell-terminfo.install
new file mode 100644
index 000000000..40d39f42b
--- /dev/null
+++ b/community/haskell-terminfo/haskell-terminfo.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-terminfo
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-texmath/PKGBUILD b/community/haskell-texmath/PKGBUILD
new file mode 100644
index 000000000..012e2345c
--- /dev/null
+++ b/community/haskell-texmath/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+pkgname=haskell-texmath
+_hkgname=texmath
+pkgver=0.6.1.5
+pkgrel=1
+pkgdesc="Conversion of LaTeX math formulas to MathML."
+url="https://github.com/jgm/texmath"
+license=("GPL")
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=(haskell-containers haskell-parsec haskell-syb haskell-xml)
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/$_hkgname-${pkgver}.tar.gz")
+install=$pkgname.install
+md5sums=('4600cec39f3592a65e5f665df97f56ac')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-texmath/haskell-texmath.install b/community/haskell-texmath/haskell-texmath.install
new file mode 100644
index 000000000..a442219ec
--- /dev/null
+++ b/community/haskell-texmath/haskell-texmath.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-texmath
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-utf8-string/PKGBUILD b/community/haskell-utf8-string/PKGBUILD
new file mode 100644
index 000000000..cbe6930f6
--- /dev/null
+++ b/community/haskell-utf8-string/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 89325 2013-04-28 16:52:49Z td123 $
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Package generated by cabal2arch 0.7.6
+_hkgname=utf8-string
+pkgname=haskell-utf8-string
+pkgver=0.3.7
+pkgrel=5
+pkgdesc="Support for reading and writing UTF8 Strings"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' 'sh')
+install=${pkgname}.install
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+md5sums=('50e5c395713e716e0e4a56da73f87ccd')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-utf8-string/haskell-utf8-string.install b/community/haskell-utf8-string/haskell-utf8-string.install
new file mode 100644
index 000000000..0f64366b2
--- /dev/null
+++ b/community/haskell-utf8-string/haskell-utf8-string.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-utf8-string
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-vector/PKGBUILD b/community/haskell-vector/PKGBUILD
new file mode 100644
index 000000000..bbd867873
--- /dev/null
+++ b/community/haskell-vector/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 89326 2013-04-28 16:52:52Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=haskell-vector
+pkgver=0.10.0.1
+pkgrel=4
+pkgdesc="Efficient Arrays"
+url="http://code.haskell.org/vector"
+license=("custom:BSD3")
+arch=('i686' 'x86_64')
+makedepends=()
+depends=("ghc=7.6.3" "haskell-primitive")
+options=('strip')
+install="${pkgname}.install"
+source=("http://hackage.haskell.org/packages/archive/vector/${pkgver}/vector-${pkgver}.tar.gz")
+sha256sums=('ece945058b01a77c5fff31e89bbea76ac619677041c41286a2da5e8b515508af')
+
+build() {
+ cd ${srcdir}/vector-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/vector-${pkgver}
+ install -Dm744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -Dm744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -dm755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/vector
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-vector/haskell-vector.install b/community/haskell-vector/haskell-vector.install
new file mode 100644
index 000000000..b6bc92892
--- /dev/null
+++ b/community/haskell-vector/haskell-vector.install
@@ -0,0 +1,26 @@
+# custom variables
+pkgname=haskell-vector
+HS_DIR=/usr/share/haskell/${pkgname}
+
+# functions
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_remove() {
+ (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-x11-xft/PKGBUILD b/community/haskell-x11-xft/PKGBUILD
new file mode 100644
index 000000000..a2ef0e0f2
--- /dev/null
+++ b/community/haskell-x11-xft/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 89328 2013-04-28 16:52:54Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+_hkgname=X11-xft
+pkgname=haskell-x11-xft
+pkgver=0.3.1
+pkgrel=9
+pkgdesc="Bindings to the Xft, X Free Type interface library, and some Xrender parts"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('LGPL')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.3-1' 'haskell-x11=1.6.1.1-3' 'haskell-utf8-string=0.3.7' 'libxft')
+options=('strip')
+install=haskell-x11-xft.install
+source=(http://hackage.haskell.org/packages/archive/X11-xft/$pkgver/X11-xft-$pkgver.tar.gz)
+md5sums=('ad885150a59f63de328e73abe5ffc79e')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-x11-xft/haskell-x11-xft.install b/community/haskell-x11-xft/haskell-x11-xft.install
new file mode 100644
index 000000000..a0ff8dac8
--- /dev/null
+++ b/community/haskell-x11-xft/haskell-x11-xft.install
@@ -0,0 +1,18 @@
+HS_DIR=/usr/share/haskell/haskell-x11-xft
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-x11/PKGBUILD b/community/haskell-x11/PKGBUILD
new file mode 100644
index 000000000..5e93dc6b1
--- /dev/null
+++ b/community/haskell-x11/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 89327 2013-04-28 16:52:53Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: shild <sxp@bk.ru>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+
+_hkgname=X11
+pkgname=haskell-x11
+pkgver=1.6.1.1
+pkgrel=3
+pkgdesc="A Haskell binding to the X11 graphics library."
+arch=(i686 x86_64)
+url="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11"
+license=('custom:BSD3')
+options=('strip')
+depends=("ghc=7.6.3-1" "libx11" "libxinerama" "libxrandr" "haskell-data-default=0.5.3")
+conflicts=(haskell-x11-extras)
+install=hsmod.install
+source=(http://hackage.haskell.org/packages/archive/X11/$pkgver/X11-$pkgver.tar.gz)
+md5sums=('80638b99238f72d4cc351b4fbd7274fc')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/community/haskell-x11/hsmod.install b/community/haskell-x11/hsmod.install
new file mode 100644
index 000000000..45c23b979
--- /dev/null
+++ b/community/haskell-x11/hsmod.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-x11
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-xhtml/PKGBUILD b/community/haskell-xhtml/PKGBUILD
new file mode 100644
index 000000000..67ee0ad24
--- /dev/null
+++ b/community/haskell-xhtml/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 68685 2012-03-31 16:54:07Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+_hkgname=xhtml
+pkgname=haskell-xhtml
+pkgver=3000.2.1
+pkgrel=4
+pkgdesc='Combinators for producing XHTML 1.0'
+url='http://hackage.haskell.org/package/xhtml'
+license=('custom:BSD3')
+arch=('x86_64' 'i686')
+depends=('ghc=7.6.3-1' 'sh')
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/$_hkgname-$pkgver.tar.gz")
+install=$pkgname.install
+sha256sums=('33020782170c1c083bc59fc3bfcb72cec2db223e02d1181c07ae23b9fa7fdcd8')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ runhaskell Setup configure -O -p \
+ --enable-split-objs \
+ --enable-shared \
+ --prefix=/usr \
+ --docdir="/usr/share/doc/$pkgname" \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ install -Dm744 register.sh \
+ "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh \
+ "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s "/usr/share/doc/$pkgname/html" \
+ "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/haskell-xhtml/haskell-xhtml.install b/community/haskell-xhtml/haskell-xhtml.install
new file mode 100644
index 000000000..d03b8a053
--- /dev/null
+++ b/community/haskell-xhtml/haskell-xhtml.install
@@ -0,0 +1,19 @@
+HS_DIR=usr/share/haskell/haskell-xhtml
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh &> /dev/null
+ exit 0
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-xml/PKGBUILD b/community/haskell-xml/PKGBUILD
new file mode 100644
index 000000000..1dbd9f84a
--- /dev/null
+++ b/community/haskell-xml/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Don Stewart <dons@galois.com>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=xml
+pkgname=haskell-xml
+pkgver=1.3.13
+pkgrel=2
+pkgdesc="A simple XML library."
+url="http://code.galois.com"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=()
+depends=("ghc" "haskell-bytestring" "haskell-text")
+options=('strip')
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/$_hkgname-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('c33607cef8a48d878b0e617e115135fc6f025fe43dcb65c2c7afb8285415b813')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-xml/haskell-xml.install b/community/haskell-xml/haskell-xml.install
new file mode 100644
index 000000000..8ab99b5b7
--- /dev/null
+++ b/community/haskell-xml/haskell-xml.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-xml
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-zip-archive/PKGBUILD b/community/haskell-zip-archive/PKGBUILD
new file mode 100644
index 000000000..af589729e
--- /dev/null
+++ b/community/haskell-zip-archive/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+pkgname=haskell-zip-archive
+_hkgname=zip-archive
+pkgver=0.1.3.4
+pkgrel=3
+pkgdesc="Library for creating and modifying zip archives."
+url="http://github.com/jgm/zip-archive"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=(haskell-array haskell-binary haskell-bytestring haskell-containers
+ haskell-digest haskell-directory haskell-filepath haskell-mtl
+ haskell-old-time haskell-pretty haskell-utf8-string haskell-zlib)
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('cbef41120d995a87702f7bb0c1ed8107f3f36a61714b2e31d9d19df5466e7643')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-zip-archive/haskell-zip-archive.install b/community/haskell-zip-archive/haskell-zip-archive.install
new file mode 100644
index 000000000..3fc2845ef
--- /dev/null
+++ b/community/haskell-zip-archive/haskell-zip-archive.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-zip-archive
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/hatari/PKGBUILD b/community/hatari/PKGBUILD
new file mode 100644
index 000000000..3eb1385fd
--- /dev/null
+++ b/community/hatari/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 93259 2013-06-30 06:28:12Z lcarlier $
+# Maintainer: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+
+pkgname=hatari
+pkgver=1.7.0
+pkgrel=1
+pkgdesc='An Atari ST and STE emulator'
+arch=('i686' 'x86_64')
+url='http://hatari.sourceforge.net/'
+license=('GPL')
+depends=('sdl' 'libpng')
+makedepends=('cmake')
+source=("http://download.tuxfamily.org/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('67b16ec0a0994aa6a935b193254118e0')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/haveged/PKGBUILD b/community/haveged/PKGBUILD
new file mode 100644
index 000000000..09d1ccf4b
--- /dev/null
+++ b/community/haveged/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92888 2013-06-18 08:41:07Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: kfgz <kfgz at interia dot pl>
+# Contributor: pootzko <pootzko at gmail dot com>
+
+pkgname=haveged
+pkgver=1.7.c
+_pkgver=${pkgver/.c/c}
+pkgrel=1
+pkgdesc='Entropy harvesting daemon using CPU timings'
+arch=('i686' 'x86_64')
+url='http://www.issihosts.com/haveged'
+license=('GPL')
+depends=('glibc')
+options=('!libtool')
+source=($url/$pkgname-$_pkgver.tar.gz
+ service)
+sha256sums=('40397eded96fc0d624a6a81c8e888ab023e46f3114f1ee699994e645531bf121'
+ 'badf8ceb5484d45888a089fabdfba5f44f6ec2930bca203c50200051a4d83e12')
+
+build() {
+ cd $pkgname-$_pkgver
+ ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $pkgname-$_pkgver
+ make DESTDIR="$pkgdir" install
+
+ rm -rf "$pkgdir"/etc/init.d
+ install -D -m644 "$srcdir"/service \
+ "$pkgdir"/usr/lib/systemd/system/haveged.service
+}
diff --git a/community/haveged/service b/community/haveged/service
new file mode 100644
index 000000000..676fb1893
--- /dev/null
+++ b/community/haveged/service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Entropy Harvesting Daemon
+Documentation=man:haveged(8)
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/haveged -w 1024 -v 1
+PIDFile=/var/run/haveged.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/hawknl/PKGBUILD b/community/hawknl/PKGBUILD
new file mode 100644
index 000000000..f10df654a
--- /dev/null
+++ b/community/hawknl/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 64750 2012-02-18 03:56:17Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
+# Contributor: Drew Desai <alerante@yahoo.com>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+
+pkgname=hawknl
+pkgver=1.68
+pkgrel=3
+pkgdesc="An open source game oriented network API"
+arch=('i686' 'x86_64')
+url="http://www.hawksoft.com/hawknl/"
+license=('LGPL')
+depends=('glibc')
+source=(http://www.hawksoft.com/download/files/HawkNL${pkgver/\./}src.tar.gz
+ $pkgname.patch)
+md5sums=('2e4971d422b8c5cadfe2a85527ff2fcf'
+ 'a7e695ceeabb816ba147de563c61616f')
+
+build() {
+ cd "$srcdir"/$pkgname$pkgver
+
+ patch -Np0 -i ../$pkgname.patch
+ make -f makefile.linux
+ install -m755 -d "$pkgdir"/usr/{lib,include}
+}
+
+package() {
+ cd "$srcdir"/$pkgname$pkgver
+
+ make -f makefile.linux \
+ LIBDIR="$pkgdir"/usr/lib \
+ INCDIR="$pkgdir"/usr/include \
+ OPTFLAGS="-D_GNU_SOURCE -D_REENTRANT" \
+ install
+}
diff --git a/community/hawknl/hawknl.patch b/community/hawknl/hawknl.patch
new file mode 100644
index 000000000..193c54ea3
--- /dev/null
+++ b/community/hawknl/hawknl.patch
@@ -0,0 +1,27 @@
+--- src/makefile.linux~ 2009-11-03 17:57:37.978184080 +0500
++++ src/makefile.linux 2009-11-03 18:00:05.228169458 +0500
+@@ -37,20 +37,12 @@
+ cp $(OUTPUT) $(LIBDIR)
+ cp $(STATIC) $(LIBDIR)
+ chmod 755 $(LIBDIR)/$(OUTPUT)
+- ln -s $(LIBDIR)/$(OUTPUT) $(LIBDIR)/lib$(LIBNAME).so.$(MAJOR_VERSION).$(MINOR_VERSION)
+- ln -s $(LIBDIR)/$(OUTPUT) $(LIBDIR)/lib$(LIBNAME).so.$(MAJOR_VERSION)
+- ln -s $(LIBDIR)/$(OUTPUT) $(LIBDIR)/lib$(LIBNAME).so
+- ln -s $(LIBDIR)/$(OUTPUT) $(LIBDIR)/$(LIBNAME).so
++ ln -s $(OUTPUT) $(LIBDIR)/lib$(LIBNAME).so.$(MAJOR_VERSION).$(MINOR_VERSION)
++ ln -s $(OUTPUT) $(LIBDIR)/lib$(LIBNAME).so.$(MAJOR_VERSION)
++ ln -s $(OUTPUT) $(LIBDIR)/lib$(LIBNAME).so
++ ln -s $(OUTPUT) $(LIBDIR)/$(LIBNAME).so
+ cp ../include/nl.h $(INCDIR)/nl.h
+ chmod 644 $(INCDIR)/nl.h
+- @echo ""
+- @echo "*************************************************"
+- @echo "* Installed HawkNL. *"
+- @echo "* Remember to run /sbin/ldconfig before using *"
+- @echo "* the library, you may also want to check that *"
+- @echo "* $(LIBDIR) is included in /etc/ld.so.conf *"
+- @echo "* You must be root to run ldconfig. *"
+- @echo "*************************************************"
+
+ uninstall:
+ rm -f $(LIBDIR)/$(OUTPUT) $(LIBDIR)/lib$(LIBNAME).so.$(MAJOR_VERSION).$(MINOR_VERSION)
diff --git a/community/hdapsd/PKGBUILD b/community/hdapsd/PKGBUILD
new file mode 100644
index 000000000..1fd252d76
--- /dev/null
+++ b/community/hdapsd/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Emil Renner Berthing <esmil@mailme.dk>
+# Contributor: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
+
+pkgname=hdapsd
+pkgver=20090401
+pkgrel=8
+pkgdesc='HDAPS userspace hard drive protection daemon'
+arch=('i686' 'x86_64')
+url='http://sourceforge.net/projects/hdaps/'
+license=('GPL')
+depends=('glibc' 'bash')
+source=("http://downloads.sourceforge.net/hdaps/hdapsd-${pkgver}.tar.gz"
+ 'hdapsd.systemd')
+md5sums=('897cee8b0192febd127470f3e9506aeb'
+ 'f514cca78059477c4f33faf97d4aaa06')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin
+ make ${MAKEFLAGS}
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}/" install
+
+ install -Dm0644 "${srcdir}/hdapsd.systemd" "${pkgdir}/usr/lib/systemd/system/hdapsd.service"
+}
diff --git a/community/hdapsd/hdapsd.systemd b/community/hdapsd/hdapsd.systemd
new file mode 100644
index 000000000..0f35250a7
--- /dev/null
+++ b/community/hdapsd/hdapsd.systemd
@@ -0,0 +1,12 @@
+[Unit]
+Description=HDAPS userspace hard drive protection daemon
+After=syslog.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/hdapsd.pid
+ExecStart=/usr/bin/hdapsd -bp
+ExecReload=/bin/kill -HUP ${MAINPID}
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/hedgewars/PKGBUILD b/community/hedgewars/PKGBUILD
new file mode 100644
index 000000000..caa8bd5b5
--- /dev/null
+++ b/community/hedgewars/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 92299 2013-06-03 16:15:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=hedgewars
+pkgver=0.9.19
+pkgrel=1
+pkgdesc="Free Worms-like turn based strategy game"
+arch=('i686' 'x86_64')
+url="http://hedgewars.org"
+license=('GPL' 'custom')
+depends=('qt4' 'sdl' 'sdl_mixer' 'sdl_image' 'sdl_net' 'sdl_ttf' 'lua51' 'ffmpeg' 'glut')
+makedepends=('fpc' 'cmake'
+ # haskell specific
+ 'ghc'
+ 'haskell-network'
+ 'haskell-bytestring-show'
+ 'haskell-utf8-string'
+ 'haskell-dataenc'
+ 'haskell-hslogger'
+ 'haskell-vector'
+ 'haskell-random')
+source=(http://download.gna.org/hedgewars/hedgewars-src-$pkgver.tar.bz2
+ hedgewars.desktop
+ hedgewars.png
+ build-fix.patch)
+md5sums=('51d84ad6ea00e9894e6119b118b4a523'
+ '48c66a3204d4fa0a69e9aa46f7c31e0c'
+ 'eeb14d50df39063549ac5eca9dbc65d1'
+ 'a9d7b0ba72cbeb7fc74fce459db9dd90')
+
+prepare() {
+ cd $pkgname-src-$pkgver
+ patch -Rp1 <$srcdir/build-fix.patch
+}
+
+build() {
+ cd $pkgname-src-$pkgver
+ cmake \
+ -DCMAKE_BUILD_TYPE="Release" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DDATA_INSTALL_DIR=/usr/share/hedgewars \
+ -DWITH_SERVER=1 \
+ -DSYSTEM_PHYSFS=OFF .
+ make
+}
+
+package() {
+ cd $pkgname-src-$pkgver
+
+ make DESTDIR=$pkgdir install
+
+ install -D -m644 Fonts_LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/Fonts_LICENSE.txt
+ install -D -m644 $srcdir/hedgewars.png $pkgdir/usr/share/pixmaps/hedgewars.png
+ install -D -m644 $srcdir/hedgewars.desktop $pkgdir/usr/share/applications/hedgewars.desktop
+}
diff --git a/community/hedgewars/build-fix.patch b/community/hedgewars/build-fix.patch
new file mode 100644
index 000000000..90a4365f2
--- /dev/null
+++ b/community/hedgewars/build-fix.patch
@@ -0,0 +1,11 @@
+diff -wbBur /home/sergej/tmp/BUILD/extra-i686/sergej/build/hedgewars/src/hedgewars-src-0.9.19/hedgewars/uPhysFSLayer.pas hedgewars-src-0.9.19/hedgewars/uPhysFSLayer.pas
+--- /home/sergej/tmp/BUILD/extra-i686/sergej/build/hedgewars/src/hedgewars-src-0.9.19/hedgewars/uPhysFSLayer.pas 2013-06-03 20:01:14.212121255 +0400
++++ hedgewars-src-0.9.19/hedgewars/uPhysFSLayer.pas 2013-05-31 00:07:33.000000000 +0400
+@@ -9,7 +9,6 @@
+ {$IFNDEF WIN32}
+ {$linklib physfs}
+ {$linklib physlayer}
+- {$linklib gcc_s}
+
+ {statically linking physfs brings IOKit dependency on OSX}
+ {divdi3 is found in stdc++ on linux x86 and in gcc_s.1 on osx ppc32}
diff --git a/community/hedgewars/hedgewars.desktop b/community/hedgewars/hedgewars.desktop
new file mode 100644
index 000000000..9d74ed3f1
--- /dev/null
+++ b/community/hedgewars/hedgewars.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Hedgewars
+GenericName=Platform Game
+Comment=Worms style game
+Exec=hedgewars
+Icon=hedgewars
+Categories=Game;ArcadeGame; \ No newline at end of file
diff --git a/community/hedgewars/hedgewars.png b/community/hedgewars/hedgewars.png
new file mode 100644
index 000000000..60ae66199
--- /dev/null
+++ b/community/hedgewars/hedgewars.png
Binary files differ
diff --git a/community/hercules/PKGBUILD b/community/hercules/PKGBUILD
new file mode 100644
index 000000000..4db656d80
--- /dev/null
+++ b/community/hercules/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 85609 2013-03-03 23:25:19Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Kevin Piche <kevin@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=hercules
+pkgver=3.08
+pkgrel=1
+arch=('x86_64' 'i686')
+pkgdesc='Software implementation of System/370 and ESA/390'
+url='http://www.hercules-390.eu/'
+source=("http://downloads.hercules-390.eu/$pkgname-$pkgver.tar.gz")
+license=('custom')
+options=('!libtool')
+depends=('bzip2' 'libgcrypt' 'zlib' 'perl')
+sha256sums=('85e217773587f2278d4b6cb6bc815e042cfc982d0fc14baa0da4a84dea399e9d')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Change module extension from .la to .so.
+ sed '/HDL_MODULE_SUFFIX/ s/\.la/.so/' -i hdl.h
+ ./configure --prefix=/usr
+ make -j1
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make prefix="$pkgdir/usr" install
+ install -Dm644 COPYRIGHT \
+ "$pkgdir/usr/share/licenses/hercules/qpl1"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/herqq/PKGBUILD b/community/herqq/PKGBUILD
new file mode 100644
index 000000000..9728f46c3
--- /dev/null
+++ b/community/herqq/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 85358 2013-03-01 10:33:17Z andrea $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=herqq
+pkgver=1.0.0
+pkgrel=2
+pkgdesc='Software library for building UPnP devices (HUPnP)'
+arch=('x86_64' 'i686')
+url='http://www.herqq.org/'
+license=('GPL')
+depends=('qt4')
+source=("http://downloads.sourceforge.net/hupnp/$pkgname-$pkgver.zip")
+sha256sums=('cbcfc76f72d561d822a7ff5374b97e80d1731b610a5c257edbf5c013bfe6748e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ qmake PREFIX=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/hevea/PKGBUILD b/community/hevea/PKGBUILD
new file mode 100644
index 000000000..6a2b3397c
--- /dev/null
+++ b/community/hevea/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 83233 2013-01-28 14:16:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Brian Nguyen <bhnguyen@gmail.com>
+# Original Packager: Tom K <tomk@runbox.com>
+
+pkgname=hevea
+pkgver=2.02
+pkgrel=1
+pkgdesc="A quite complete and fast LATEX to HTML translator"
+arch=(i686 x86_64)
+depends=('ocaml')
+license=('GPL')
+url="http://pauillac.inria.fr/~maranget/hevea/"
+install=hevea.install
+source=(http://pauillac.inria.fr/~maranget/$pkgname/distri/$pkgname-$pkgver.tar.gz)
+md5sums=('b0331fdf123c21ce02f15c890d268306')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's:usr/local:usr:' Makefile
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's:/usr:$PREFIX:' config.sh
+ make install PREFIX=$pkgdir/usr
+ mkdir -p $pkgdir/usr/share/texmf/tex/latex
+ ln -s /usr/lib/hevea/hevea.sty $pkgdir/usr/share/texmf/tex/latex/hevea.sty
+}
diff --git a/community/hevea/hevea.install b/community/hevea/hevea.install
new file mode 100644
index 000000000..73059e5df
--- /dev/null
+++ b/community/hevea/hevea.install
@@ -0,0 +1,13 @@
+post_install() {
+ echo "HEVEA is fully functional when other software are installed:"
+ echo "* A modern LaTeX installation including dvips."
+ echo "* The ghostscript PostScript interpreter."
+ echo "* The netpbm image processing package."
+ echo "However, these are optional and hevea runs without them."
+ texhash
+}
+
+post_upgrade() {
+ post_install $1
+}
+
diff --git a/community/hex-a-hop/PKGBUILD b/community/hex-a-hop/PKGBUILD
new file mode 100644
index 000000000..4a1715e85
--- /dev/null
+++ b/community/hex-a-hop/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 65596 2012-02-21 09:23:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: insulae <insulae@gmail.com>
+
+pkgname=hex-a-hop
+pkgver=1.1.0
+pkgrel=3
+pkgdesc='Hex-a-hop is a puzzle game based on hexagonal tiles'
+arch=('i686' 'x86_64')
+url='http://hexahop.sourceforge.net/'
+license=('GPL')
+depends=('sdl_mixer' 'sdl_ttf' 'gcc-libs')
+makedepends=()
+options=()
+source=("http://downloads.sourceforge.net/project/hexahop/$pkgver/hex-a-hop-$pkgver.tar.gz"
+ "hex-a-hop.desktop")
+md5sums=('cc8d065c2cc0fce9e08852b8c465175e'
+ '048ff7975024ae1eda3164620f594c09')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+ make install DESTDIR=${pkgdir}
+ install -Dm0644 $srcdir/hex-a-hop.desktop $pkgdir/usr/share/applications/hex-a-hop.desktop
+}
diff --git a/community/hex-a-hop/hex-a-hop.desktop b/community/hex-a-hop/hex-a-hop.desktop
new file mode 100644
index 000000000..3a0ea92af
--- /dev/null
+++ b/community/hex-a-hop/hex-a-hop.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Hex-a-Hop
+GenericName=Hexagonal Tile-based Puzzle Game
+Comment=Hexagonal Tile-based Puzzle Game
+Exec=/usr/bin/hex-a-hop
+Terminal=false
+MultipleArgs=false
+Type=Application
+Icon=/usr/share/hex-a-hop/icon.bmp
+Categories=Game;ArcadeGame
diff --git a/community/higan-gtk/PKGBUILD b/community/higan-gtk/PKGBUILD
new file mode 100755
index 000000000..dfe77182c
--- /dev/null
+++ b/community/higan-gtk/PKGBUILD
@@ -0,0 +1,74 @@
+# $Id: PKGBUILD 85869 2013-03-07 23:37:24Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+
+pkgname=higan-gtk
+pkgver=092
+pkgrel=4
+pkgdesc="Nintendo multi-system emulator - GTK version"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/higan/"
+license=('GPL3')
+depends=('libao' 'libpulse' 'libxv' 'openal' 'sdl' 'xdialog')
+makedepends=('mesa')
+optdepends=('beat: Delta patcher')
+conflicts=('higan-qt')
+source=("http://higan.googlecode.com/files/higan_v${pkgver}-source.tar.xz" "http://higan.googlecode.com/files/purify_v03-source.tar.xz" 'higan' 'higan.desktop' 'purify.desktop')
+sha1sums=('a205005f118f6e138065af6e0d14ed990b8f1ce1'
+ '2aa16f492c879d2cc1d4ffa28f4729a5ed5bb1c3'
+ '931baedc3bbdd343d2decda72c13b7d0efdcba3c'
+ '55f4de0a65d6428840d013f9b003d88158c131c7'
+ '093643998a2fb676d795c316e35d49cf6293ce86')
+
+_profiles="accuracy balanced performance"
+
+build() {
+# Compile libananke
+ cd "${srcdir}"/purify_v03-source/ananke
+ make compiler=gcc platform=x phoenix=gtk
+
+# Compile purify
+ cd "${srcdir}"/purify_v03-source/purify
+ make compiler=gcc platform=x link='-s -lX11 -ldl -Wl,-export-dynamic' phoenix=gtk
+
+# Compile higan
+ cd "${srcdir}"/higan_v${pkgver}-source/higan
+ sed -i 's|flags += -march=native|flags += -mtune=generic|' Makefile
+ for _profile in ${_profiles} ; do
+ make compiler=gcc platform=x target=ethos phoenix=gtk profile=${_profile}
+ mv out/higan out/higan-${_profile}
+ make clean
+ done
+}
+
+package() {
+# Install common files
+ cd "${srcdir}"/higan_v${pkgver}-source
+ install -dm 755 "${pkgdir}"/usr/{bin,lib,share/{applications,pixmaps,higan}}
+ install -m 755 "${srcdir}"/higan "${pkgdir}"/usr/bin/higan
+ install -m 644 "${srcdir}"/higan.desktop "${pkgdir}"/usr/share/applications/higan.desktop
+ install -m 644 higan/data/higan.png "${pkgdir}"/usr/share/pixmaps/higan.png
+ cp -dr --no-preserve=ownership higan/{profile/*,data/cheats.bml} "${pkgdir}"/usr/share/higan/
+ cp -dr --no-preserve=ownership shaders "${pkgdir}/usr/share/higan/Video Shaders"
+
+# Fix some permissions
+ find "${pkgdir}"/usr/share/higan/ -type d -exec chmod 755 {} +
+ find "${pkgdir}"/usr/share/higan/ -type f -exec chmod 644 {} +
+
+# Install libananke
+ cd "${srcdir}"/purify_v03-source/ananke
+ install -m 644 libananke.so "${pkgdir}"/usr/lib/libananke.so.1
+ ln -s /usr/lib/libananke.so.1 "${pkgdir}"/usr/lib/libananke.so
+
+# Install purify
+ cd "${srcdir}"/purify_v03-source/purify
+ install -m 755 purify "${pkgdir}"/usr/bin/purify
+ install -m 644 "${srcdir}"/purify.desktop "${pkgdir}"/usr/share/applications/purify.desktop
+
+# Install higan
+ cd "${srcdir}"/higan_v${pkgver}-source/higan
+ for _profile in ${_profiles} ; do
+ install -m 755 out/higan-${_profile} "${pkgdir}"/usr/bin/higan-${_profile}
+ done
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/higan-gtk/higan b/community/higan-gtk/higan
new file mode 100755
index 000000000..29fc0b7bb
--- /dev/null
+++ b/community/higan-gtk/higan
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Shared folders workaround
+cp -ru /usr/share/higan ~/.config/
+
+# Check for profiles and prompt user with a GUI
+[ -e /usr/bin/higan-accuracy ] && tag1=accuracy
+[ -e /usr/bin/higan-balanced ] && tag2=balanced
+[ -e /usr/bin/higan-performance ] && tag3=performance
+profile="$(Xdialog --stdout --no-tags --title "higan" --radiolist "Choose a profile" 0 0 0 "$tag1" "Accuracy" off "$tag2" "Balanced" off "$tag3" "Performance" off)"
+
+# Launch selected profile
+exec higan-$profile "$@"
diff --git a/community/higan-gtk/higan.desktop b/community/higan-gtk/higan.desktop
new file mode 100755
index 000000000..c9cd3c14b
--- /dev/null
+++ b/community/higan-gtk/higan.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=higan
+Comment=Nintendo multi-system emulator
+Exec=higan %u
+Icon=higan
+Terminal=false
+Type=Application
+Categories=Game;Emulator;
diff --git a/community/higan-gtk/purify.desktop b/community/higan-gtk/purify.desktop
new file mode 100755
index 000000000..354dc2849
--- /dev/null
+++ b/community/higan-gtk/purify.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=purify
+Comment=ROM purifier
+Exec=/usr/bin/purify
+Icon=higan
+Terminal=false
+Type=Application
+Categories=Game;Emulator;
diff --git a/community/higan-qt/PKGBUILD b/community/higan-qt/PKGBUILD
new file mode 100755
index 000000000..8fb2e10de
--- /dev/null
+++ b/community/higan-qt/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 85871 2013-03-07 23:53:25Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+
+pkgname=higan-qt
+pkgver=092
+pkgrel=6
+pkgdesc="Nintendo multi-system emulator - QT version"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/higan/"
+license=('GPL3')
+depends=('libao' 'libpulse' 'openal' 'qt4' 'sdl' 'xdialog')
+makedepends=('mesa')
+optdepends=('beat: Delta patcher')
+conflicts=('higan-gtk')
+source=("http://higan.googlecode.com/files/higan_v${pkgver}-source.tar.xz" "http://higan.googlecode.com/files/purify_v03-source.tar.xz" 'higan' 'higan.desktop' 'purify.desktop')
+sha1sums=('a205005f118f6e138065af6e0d14ed990b8f1ce1'
+ '2aa16f492c879d2cc1d4ffa28f4729a5ed5bb1c3'
+ '931baedc3bbdd343d2decda72c13b7d0efdcba3c'
+ '55f4de0a65d6428840d013f9b003d88158c131c7'
+ '093643998a2fb676d795c316e35d49cf6293ce86')
+
+_profiles="accuracy balanced performance"
+
+build() {
+# QT 4.8.0 fix
+ cd "${srcdir}"
+ moc-qt4 -i -Ipurify_v03-source/ananke/phoenix/qt/ -o purify_v03-source/ananke/phoenix/qt/platform.moc purify_v03-source/ananke/phoenix/qt/platform.moc.hpp
+ moc-qt4 -i -Ipurify_v03-source/purify/phoenix/qt/ -o purify_v03-source/purify/phoenix/qt/platform.moc purify_v03-source/purify/phoenix/qt/platform.moc.hpp
+ moc-qt4 -i -Ihigan_v${pkgver}-source/higan/phoenix/qt/ -o higan_v${pkgver}-source/higan/phoenix/qt/platform.moc higan_v${pkgver}-source/higan/phoenix/qt/platform.moc.hpp
+
+# Compile libananke
+ cd "${srcdir}"/purify_v03-source/ananke
+ make compiler=gcc platform=x phoenix=qt
+
+# Compile purify
+ cd "${srcdir}"/purify_v03-source/purify
+ make compiler=gcc platform=x link='-s -lX11 -ldl -Wl,-export-dynamic' phoenix=qt
+
+# Compile higan
+ cd "${srcdir}"/higan_v${pkgver}-source/higan
+ sed -i 's|flags += -march=native|flags += -mtune=generic|' Makefile
+ for _profile in ${_profiles} ; do
+ make compiler=gcc platform=x target=ethos phoenix=qt profile=${_profile}
+ mv out/higan out/higan-${_profile}
+ make clean
+ done
+}
+
+package() {
+# Install common files
+ cd "${srcdir}"/higan_v${pkgver}-source
+ install -dm 755 "${pkgdir}"/usr/{bin,lib,share/{applications,pixmaps,higan}}
+ install -m 755 "${srcdir}"/higan "${pkgdir}"/usr/bin/higan
+ install -m 644 "${srcdir}"/higan.desktop "${pkgdir}"/usr/share/applications/higan.desktop
+ install -m 644 higan/data/higan.png "${pkgdir}"/usr/share/pixmaps/higan.png
+ cp -dr --no-preserve=ownership higan/{profile/*,data/cheats.bml} "${pkgdir}"/usr/share/higan/
+ cp -dr --no-preserve=ownership shaders "${pkgdir}/usr/share/higan/Video Shader"s
+
+# Fix some permissions
+ find "${pkgdir}"/usr/share/higan -type d -exec chmod 755 {} +
+ find "${pkgdir}"/usr/share/higan -type f -exec chmod 644 {} +
+
+# Install libananke
+ cd "${srcdir}"/purify_v03-source/ananke
+ install -m 644 libananke.so "${pkgdir}"/usr/lib/libananke.so.1
+ ln -s /usr/lib/libananke.so.1 "${pkgdir}"/usr/lib/libananke.so
+
+# Install purify
+ cd "${srcdir}"/purify_v03-source/purify
+ install -m 755 purify "${pkgdir}"/usr/bin/purify
+ install -m 644 "${srcdir}"/purify.desktop "${pkgdir}"/usr/share/applications/purify.desktop
+
+# Install higan
+ cd "${srcdir}"/higan_v${pkgver}-source/higan
+ for _profile in ${_profiles} ; do
+ install -m 755 out/higan-${_profile} "${pkgdir}"/usr/bin/higan-${_profile}
+ done
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/higan-qt/higan b/community/higan-qt/higan
new file mode 100755
index 000000000..29fc0b7bb
--- /dev/null
+++ b/community/higan-qt/higan
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Shared folders workaround
+cp -ru /usr/share/higan ~/.config/
+
+# Check for profiles and prompt user with a GUI
+[ -e /usr/bin/higan-accuracy ] && tag1=accuracy
+[ -e /usr/bin/higan-balanced ] && tag2=balanced
+[ -e /usr/bin/higan-performance ] && tag3=performance
+profile="$(Xdialog --stdout --no-tags --title "higan" --radiolist "Choose a profile" 0 0 0 "$tag1" "Accuracy" off "$tag2" "Balanced" off "$tag3" "Performance" off)"
+
+# Launch selected profile
+exec higan-$profile "$@"
diff --git a/community/higan-qt/higan.desktop b/community/higan-qt/higan.desktop
new file mode 100755
index 000000000..c9cd3c14b
--- /dev/null
+++ b/community/higan-qt/higan.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=higan
+Comment=Nintendo multi-system emulator
+Exec=higan %u
+Icon=higan
+Terminal=false
+Type=Application
+Categories=Game;Emulator;
diff --git a/community/higan-qt/purify.desktop b/community/higan-qt/purify.desktop
new file mode 100755
index 000000000..354dc2849
--- /dev/null
+++ b/community/higan-qt/purify.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=purify
+Comment=ROM purifier
+Exec=/usr/bin/purify
+Icon=higan
+Terminal=false
+Type=Application
+Categories=Game;Emulator;
diff --git a/community/highlight/PKGBUILD b/community/highlight/PKGBUILD
new file mode 100644
index 000000000..4872a8ebb
--- /dev/null
+++ b/community/highlight/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 92418 2013-06-04 19:14:33Z bluewind $
+# Maintainer: Florian Pritz <flo@xinu.at>
+# Contributor: Jan Fader <jan.fader@web.de>
+pkgbase=highlight
+pkgname=(highlight highlight-gui)
+pkgver=3.14
+pkgrel=1
+url="http://www.andre-simon.de/doku/highlight/highlight.html"
+license=('GPL')
+arch=('i686' 'x86_64')
+makedepends=(qt4 lua51 boost)
+source=(http://www.andre-simon.de/zip/$pkgname-$pkgver.tar.bz2{,.asc})
+md5sums=('a0bf796e952f5e1ccf061704cd774047'
+ 'SKIP')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ make QMAKE=qmake-qt4
+ make QMAKE=qmake-qt4 gui
+}
+
+package_highlight() {
+ pkgdesc="Fast and flexible source code highlighter (CLI version)"
+ depends=('lua51')
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ make DESTDIR="$pkgdir" QMAKE=qmake-qt4 install
+}
+
+package_highlight-gui() {
+ pkgdesc="Fast and flexible source code highlighter (QT version)"
+ depends=('qt4' 'highlight')
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ install -dm755 "$pkgdir/usr/bin"
+ make DESTDIR="$pkgdir" QMAKE=qmake-qt4 install-gui
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/hitori/PKGBUILD b/community/hitori/PKGBUILD
new file mode 100644
index 000000000..9a8053373
--- /dev/null
+++ b/community/hitori/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 77547 2012-10-12 03:16:10Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=hitori
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="GTK+ application to generate and let you play games of Hitori"
+arch=('i686' 'x86_64')
+url="https://live.gnome.org/Hitori"
+license=('GPL')
+depends=('gtk3' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool' 'itstool')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('5d9e1c0f5d33c960167a126242bf57ff4865a6aaf6602da4a25aae56dc491030')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/hitori/hitori.install b/community/hitori/hitori.install
new file mode 100644
index 000000000..2c455e952
--- /dev/null
+++ b/community/hitori/hitori.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/homebank/PKGBUILD b/community/homebank/PKGBUILD
new file mode 100644
index 000000000..8771bbef0
--- /dev/null
+++ b/community/homebank/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 82438 2013-01-18 06:05:16Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=homebank
+pkgver=4.5
+pkgrel=1
+pkgdesc="Free, easy, personal accounting for everyone"
+arch=('i686' 'x86_64')
+url="http://homebank.free.fr/"
+license=('GPL')
+depends=('desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'libofx' 'librsvg' 'perlxml' 'shared-mime-info')
+makedepends=('intltool')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://homebank.free.fr/public/$pkgname-$pkgver.tar.gz)
+sha256sums=('3c6dcb19fd975037857f84fd6a186a5b0b84f590f37ead0d37868fa484c6e547')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/homebank/homebank.changelog b/community/homebank/homebank.changelog
new file mode 100644
index 000000000..75beb2e9d
--- /dev/null
+++ b/community/homebank/homebank.changelog
@@ -0,0 +1,2 @@
+2013-01-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * homebank 4.5-1
diff --git a/community/homebank/homebank.install b/community/homebank/homebank.install
new file mode 100644
index 000000000..3c862f44b
--- /dev/null
+++ b/community/homebank/homebank.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+ update-mime-database usr/share/mime
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/hostapd/PKGBUILD b/community/hostapd/PKGBUILD
new file mode 100644
index 000000000..3b6f2eb3d
--- /dev/null
+++ b/community/hostapd/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 90673 2013-05-13 14:26:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=hostapd
+pkgver=2.0
+pkgrel=6
+pkgdesc="IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator"
+arch=('i686' 'x86_64')
+url="http://w1.fi/hostapd/"
+license=('custom')
+depends=('openssl' 'libnl')
+backup=('etc/hostapd/hostapd.conf'
+ 'etc/conf.d/hostapd'
+ 'etc/hostapd/hlr_auc_gw.milenage_db'
+ 'etc/hostapd/hostapd.accept'
+ 'etc/hostapd/hostapd.deny'
+ 'etc/hostapd/hostapd.eap_user'
+ 'etc/hostapd/hostapd.radius_clients'
+ 'etc/hostapd/hostapd.sim_db'
+ 'etc/hostapd/hostapd.vlan'
+ 'etc/hostapd/hostapd.wpa_psk'
+ 'etc/hostapd/wired.conf')
+install=hostapd.install
+source=(http://w1.fi/releases/$pkgname-$pkgver.tar.gz
+ config
+ hostapd.service)
+md5sums=('ba22e639bc57aa4035d2ea8ffa9bbbee'
+ '5d7ee10b04e33f22c37be56a4c33dddb'
+ 'a0a16879eed5e4e41ae6b225a4809955')
+
+build() {
+ cd $pkgname-$pkgver/hostapd
+ cp ../../config .config
+ sed -i 's#/etc/hostapd#/etc/hostapd/hostapd#' hostapd.conf
+ export CFLAGS="$CFLAGS $(pkg-config --cflags libnl-3.0)"
+ make
+}
+
+package() {
+ # Systemd unit
+ install -Dm644 hostapd.service "$pkgdir/usr/lib/systemd/system/hostapd.service"
+
+ cd $pkgname-$pkgver
+
+ # License
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+ cd hostapd
+
+ # Binaries
+ install -d "$pkgdir/usr/bin"
+ install -t "$pkgdir/usr/bin" hostapd hostapd_cli
+
+ # Configuration
+ install -d "$pkgdir/etc/hostapd"
+ install -m644 -t "$pkgdir/etc/hostapd" \
+ hostapd.{accept,conf,deny,eap_user,radius_clients,sim_db,vlan,wpa_psk} \
+ wired.conf hlr_auc_gw.milenage_db
+
+ # Man pages
+ install -Dm644 hostapd.8 "$pkgdir/usr/share/man/man8/hostapd.8"
+ install -Dm644 hostapd_cli.1 "$pkgdir/usr/share/man/man1/hostapd_cli.1"
+}
diff --git a/community/hostapd/config b/community/hostapd/config
new file mode 100644
index 000000000..a11ebd587
--- /dev/null
+++ b/community/hostapd/config
@@ -0,0 +1,92 @@
+# Example hostapd build time configuration
+#
+# This file lists the configuration options that are used when building the
+# hostapd binary. All lines starting with # are ignored. Configuration option
+# lines must be commented out complete, if they are not to be included, i.e.,
+# just setting VARIABLE=n is not disabling that variable.
+#
+# This file is included in Makefile, so variables like CFLAGS and LIBS can also
+# be modified from here. In most cass, these lines should use += in order not
+# to override previous values of the variables.
+
+# Driver interface for Host AP driver
+CONFIG_DRIVER_HOSTAP=y
+
+# Driver interface for wired authenticator
+CONFIG_DRIVER_WIRED=y
+
+# Driver interface for Prism54 driver
+CONFIG_DRIVER_PRISM54=y
+
+# IEEE 802.11F/IAPP
+CONFIG_IAPP=y
+
+# WPA2/IEEE 802.11i RSN pre-authentication
+CONFIG_RSN_PREAUTH=y
+
+# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS)
+CONFIG_PEERKEY=y
+
+# IEEE 802.11w (management frame protection)
+# This version is an experimental implementation based on IEEE 802.11w/D1.0
+# draft and is subject to change since the standard has not yet been finalized.
+# Driver support is also needed for IEEE 802.11w.
+CONFIG_IEEE80211W=y
+
+# Integrated EAP server
+CONFIG_EAP=y
+
+# EAP-MD5 for the integrated EAP server
+CONFIG_EAP_MD5=y
+
+# EAP-TLS for the integrated EAP server
+CONFIG_EAP_TLS=y
+
+# EAP-MSCHAPv2 for the integrated EAP server
+CONFIG_EAP_MSCHAPV2=y
+
+# EAP-PEAP for the integrated EAP server
+CONFIG_EAP_PEAP=y
+
+# EAP-GTC for the integrated EAP server
+CONFIG_EAP_GTC=y
+
+# EAP-TTLS for the integrated EAP server
+CONFIG_EAP_TTLS=y
+
+# EAP-SIM for the integrated EAP server
+CONFIG_EAP_SIM=y
+
+# EAP-AKA for the integrated EAP server
+CONFIG_EAP_AKA=y
+
+# EAP-PAX for the integrated EAP server
+CONFIG_EAP_PAX=y
+
+# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
+CONFIG_EAP_PSK=y
+
+# EAP-SAKE for the integrated EAP server
+CONFIG_EAP_SAKE=y
+
+# EAP-GPSK for the integrated EAP server
+CONFIG_EAP_GPSK=y
+# Include support for optional SHA256 cipher suite in EAP-GPSK
+CONFIG_EAP_GPSK_SHA256=y
+
+# PKCS#12 (PFX) support (used to read private key and certificate file from
+# a file that usually has extension .p12 or .pfx)
+CONFIG_PKCS12=y
+
+# RADIUS authentication server. This provides access to the integrated EAP
+# server from external hosts using RADIUS.
+CONFIG_RADIUS_SERVER=y
+
+# Build IPv6 support for RADIUS operations
+CONFIG_IPV6=y
+
+CONFIG_DRIVER_NL80211=y
+
+CONFIG_IEEE80211N=y
+
+CONFIG_LIBNL32=y
diff --git a/community/hostapd/hostapd.install b/community/hostapd/hostapd.install
new file mode 100644
index 000000000..d838c6a47
--- /dev/null
+++ b/community/hostapd/hostapd.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo "> More info: https://wiki.archlinux.org/index.php/Software_Access_Point"
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community/hostapd/hostapd.service b/community/hostapd/hostapd.service
new file mode 100644
index 000000000..f278bf793
--- /dev/null
+++ b/community/hostapd/hostapd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/hostapd.pid
+ExecStart=/usr/bin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/hping/Makefile.patch b/community/hping/Makefile.patch
new file mode 100644
index 000000000..d1d4221f4
--- /dev/null
+++ b/community/hping/Makefile.patch
@@ -0,0 +1,30 @@
+diff -Naur hping3-20051105/Makefile hping3-20051105-new/Makefile
+--- hping3-20051105/Makefile 2005-11-05 05:31:41.000000000 -0500
++++ hping3-20051105-new/Makefile 2009-02-26 03:21:46.000000000 -0500
+@@ -72,16 +72,18 @@
+ rm -rf hping3 *.o byteorder byteorder.h systype.h Makefile libars.a .depend
+
+ install: hping3
+- cp -f hping3 /usr/sbin/
+- chmod 755 /usr/sbin/hping3
+- ln -s /usr/sbin/hping3 /usr/sbin/hping
+- ln -s /usr/sbin/hping3 /usr/sbin/hping2
+- @if [ -d ${INSTALL_MANPATH}/man8 ]; then \
+- cp ./docs/hping3.8 ${INSTALL_MANPATH}/man8; \
+- chmod 644 ${INSTALL_MANPATH}/man8/hping3.8; \
++ @[ ! -d ${DESTDIR}/usr/bin ] && install -d ${DESTDIR}/usr/bin
++ cp -f hping3 ${DESTDIR}/usr/bin/
++ chmod 755 ${DESTDIR}/usr/bin/hping3
++ ln -s hping3 ${DESTDIR}/usr/bin/hping
++ ln -s hping3 ${DESTDIR}/usr/bin/hping2
++ @[ ! -d ${DESTDIR}${INSTALL_MANPATH}/man8 ] && install -d ${DESTDIR}${INSTALL_MANPATH}/man8
++ @if [ -d ${DESTDIR}${INSTALL_MANPATH}/man8 ]; then \
++ cp ./docs/hping3.8 ${DESTDIR}${INSTALL_MANPATH}/man8; \
++ chmod 644 ${DESTDIR}${INSTALL_MANPATH}/man8/hping3.8; \
+ else \
+ echo "@@@@@@ WARNING @@@@@@"; \
+- echo "Can't install the man page: ${INSTALL_MANPATH}/man8 does not exist"; \
++ echo "Can't install the man page: ${DESTDIR}${INSTALL_MANPATH}/man8 does not exist"; \
+ fi
+
+ strip: hping3
diff --git a/community/hping/PKGBUILD b/community/hping/PKGBUILD
new file mode 100644
index 000000000..41c30b6a4
--- /dev/null
+++ b/community/hping/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92024 2013-05-30 23:36:53Z seblu $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Kevin Piche <kevin@archlinux.org>
+
+pkgname=hping
+pkgver=3.0.0
+pkgrel=3
+pkgdesc='A command-line oriented TCP/IP packet assembler/analyzer.'
+arch=('i686' 'x86_64')
+url='http://www.hping.org'
+license=('GPL2' 'BSD')
+depends=('libpcap')
+source=("http://www.hping.org/hping3-20051105.tar.gz"
+ 'Makefile.patch'
+ 'bytesex.h.patch')
+md5sums=('ca4ea4e34bcc2162aedf25df8b2d1747'
+ '339a38f86169d1b9344287a85201afbe'
+ '8af8e336819df1447b0c1b879a704be9')
+
+build() {
+ cd "${srcdir}/hping3-20051105"
+
+ [[ "$CARCH" == "x86_64" ]] && patch -Np1 -i ../bytesex.h.patch
+
+ MANPATH=/usr/share/man ./configure --no-tcl
+ make
+}
+
+package() {
+ cd "${srcdir}/hping3-20051105"
+
+ patch -p1 < ../Makefile.patch
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm0644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/hping/bytesex.h.patch b/community/hping/bytesex.h.patch
new file mode 100644
index 000000000..26ee54ee1
--- /dev/null
+++ b/community/hping/bytesex.h.patch
@@ -0,0 +1,18 @@
+diff -uNr hping2-rc3.orig/bytesex.h hping2-rc3/bytesex.h
+--- hping2-rc3.orig/bytesex.h 2004-07-29 15:46:47.572596272 +0000
++++ hping2-rc3/bytesex.h 2004-07-29 15:48:14.557372576 +0000
+@@ -9,11 +9,14 @@
+
+ #if defined(__i386__) \
+ || defined(__alpha__) \
++ || defined(__x86_64__) \
++ || defined(__ia64__) \
+ || (defined(__mips__) && (defined(MIPSEL) || defined (__MIPSEL__)))
+ #define BYTE_ORDER_LITTLE_ENDIAN
+ #elif defined(__mc68000__) \
+ || defined (__sparc__) \
+ || defined (__sparc) \
++ || defined (__hppa__) \
+ || defined (__PPC__) \
+ || defined (__BIG_ENDIAN__) \
+ || (defined(__mips__) && (defined(MIPSEB) || defined (__MIPSEB__)))
diff --git a/community/hsetroot/PKGBUILD b/community/hsetroot/PKGBUILD
new file mode 100644
index 000000000..e6b8b4992
--- /dev/null
+++ b/community/hsetroot/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: SmackleFunky <smacklefunky@optusnet.com.au>
+# Contributor: Slash <demodevil5[at]yahoo[dot]com>
+
+pkgname=hsetroot
+pkgver=1.0.2
+pkgrel=2
+pkgdesc='A tool which allows you to compose wallpapers for X.'
+url='http://www.thegraveyard.org/hsetroot.php'
+license=('GPL')
+depends=('imlib2' 'xorg-server')
+arch=('i686' 'x86_64')
+source=("http://www.thegraveyard.org/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('f599770a6411dcfe216c37b280fad9bc')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/hsolink/PKGBUILD b/community/hsolink/PKGBUILD
new file mode 100644
index 000000000..e72d0eee6
--- /dev/null
+++ b/community/hsolink/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 65558 2012-02-21 08:56:01Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+
+pkgname=hsolink
+pkgver=1.0.118
+pkgrel=8
+pkgdesc="HSO command line connection utility"
+arch=('i686' 'x86_64')
+url="http://www.pharscape.org/hsolinkcontrol.html"
+license=('GPL2')
+depends=('ozerocdoff' 'net-tools')
+install=hsolink.install
+source=("http://www.pharscape.org/downloads1.html/$pkgname-$pkgver.tar.gz")
+md5sums=('8b5b179c487b7ad95112fe74dea7e302')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+ chgrp network "$pkgdir"/usr/bin/hsolinkcontrol
+ chmod ug+s "$pkgdir"/usr/bin/hsolinkcontrol
+}
diff --git a/community/hsolink/hsolink.install b/community/hsolink/hsolink.install
new file mode 100644
index 000000000..95aa860d4
--- /dev/null
+++ b/community/hsolink/hsolink.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "To use hsolinkcontrol, please add yourself to the 'network' group."
+}
diff --git a/community/ht/PKGBUILD b/community/ht/PKGBUILD
new file mode 100644
index 000000000..4b8a33501
--- /dev/null
+++ b/community/ht/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 83652 2013-02-04 10:01:08Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: tardo <tardo@nagi-fanboi.net>
+# Contributor: Simon Morgan <"mra84964@mra.pb.hx".decode('rot-13')>
+
+pkgname=ht
+pkgver=2.0.21
+pkgrel=1
+pkgdesc="A file editor/viewer/analyzer for executables"
+arch=('i686' 'x86_64')
+url="http://hte.sourceforge.net/"
+license=('GPL')
+depends=('gcc-libs' 'ncurses' 'lzo2')
+source=(http://downloads.sourceforge.net/sourceforge/hte/$pkgname-$pkgver.tar.gz)
+md5sums=('419a25004421b9455430f523636bdcca')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --disable-x11-textmode --enable-release --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+
+ # avoid TeX conflict
+ mv $pkgdir/usr/bin/ht $pkgdir/usr/bin/hte
+}
diff --git a/community/html2text/PKGBUILD b/community/html2text/PKGBUILD
new file mode 100644
index 000000000..38fee9ebe
--- /dev/null
+++ b/community/html2text/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 60804 2011-12-18 13:31:52Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=html2text
+pkgver=1.3.2a
+pkgrel=9
+pkgdesc="A HTML to text converter"
+arch=('i686' 'x86_64')
+url="http://www.mbayer.de/html2text"
+license=('GPL2')
+depends=('gcc-libs')
+source=(http://ftp.ibiblio.org/pub/linux/apps/www/converters/${pkgname}-${pkgver}.tar.gz)
+sha256sums=('000b39d5d910b867ff7e087177b470a1e26e2819920dcffd5991c33f6d480392')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ install -D -m755 $pkgname ${pkgdir}/usr/bin/$pkgname
+ install -D -m644 $pkgname.1.gz ${pkgdir}/usr/share/man/man1/$pkgname.1.gz
+ install -D -m644 html2textrc.5.gz ${pkgdir}/usr/share/man/man5/html2textrc.5.gz
+}
diff --git a/community/httperf/PKGBUILD b/community/httperf/PKGBUILD
new file mode 100644
index 000000000..c9b072988
--- /dev/null
+++ b/community/httperf/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 59593 2011-11-28 19:31:35Z seblu $
+# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net>
+# Contributor: Essien Ita Essien <me@essienitaessien.com>
+# Contributor: Peter Baldwin <bald_pete@hotmail.com>
+
+pkgname=httperf
+pkgver=0.9.0
+pkgrel=5
+pkgdesc='A tool for measuring web server performance.'
+arch=('i686' 'x86_64')
+license=('GPL2')
+url='http://code.google.com/p/httperf'
+depends=('openssl')
+source=("http://httperf.googlecode.com/files/$pkgname-$pkgver.tar.gz")
+md5sums=('2968c36b9ecf3d98fc1f2c1c9c0d9341')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/httptunnel/PKGBUILD b/community/httptunnel/PKGBUILD
new file mode 100644
index 000000000..dad2e7b9a
--- /dev/null
+++ b/community/httptunnel/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 55529 2011-09-14 07:38:23Z andrea $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=httptunnel
+pkgver=3.3
+pkgrel=3
+pkgdesc="Creates a bidirectional virtual data connection tunnelled in HTTP requests"
+arch=('i686' 'x86_64')
+url="http://www.nocrew.org/software/httptunnel"
+license=('GPL2')
+depends=('glibc')
+source=("http://www.nocrew.org/software/${pkgname}/$pkgname-$pkgver.tar.gz")
+md5sums=('493cc0f5f21e9955db27ee9cd9a976d5')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/hubbub/PKGBUILD b/community/hubbub/PKGBUILD
new file mode 100644
index 000000000..c22b6f1ea
--- /dev/null
+++ b/community/hubbub/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 89120 2013-04-26 23:11:48Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+
+pkgname=hubbub
+pkgver=0.2.0
+pkgrel=1
+pkgdesc='HTML5 compliant parsing library'
+arch=('x86_64' 'i686')
+url='http://www.netsurf-browser.org/projects/hubbub/'
+license=('MIT')
+depends=('libparserutils>=0.1.2')
+makedepends=('netsurf-buildsystem')
+source=("http://download.netsurf-browser.org/libs/releases/lib$pkgname-$pkgver-src.tar.gz")
+sha256sums=('91c90965fdbbfb9137c7881b33736a03fc80bd16f5cd7808e1efff3d63000eaf')
+
+build() {
+ cd "$srcdir/lib$pkgname-$pkgver"
+
+ sed -i 's:-Werror::' Makefile
+ make PREFIX=/usr COMPONENT_TYPE='lib-shared'
+ make PREFIX=/usr COMPONENT_TYPE='lib-static'
+}
+
+package() {
+ cd "$srcdir/lib$pkgname-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE='lib-shared'
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE='lib-static'
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/hwinfo/PKGBUILD b/community/hwinfo/PKGBUILD
new file mode 100644
index 000000000..11bd4bb06
--- /dev/null
+++ b/community/hwinfo/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 90497 2013-05-12 23:11:39Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Gergely Imreh <imrehgATgmailDOTcom>
+# Contributor: champus
+# Contributor: madeye
+# Contributor: Ranguvar
+# Contributor: ninja_pt
+
+pkgname=hwinfo
+pkgver=20.1
+_subver=3.10
+pkgrel=2
+pkgdesc='Hardware detection tool from openSUSE'
+arch=('x86_64' 'i686')
+url='http://download.opensuse.org/source/factory/repo/oss/suse/src/'
+license=('GPL2')
+depends=('perl' 'libx86emu')
+makedepends=('sysfsutils' 'rpmextract' 'flex')
+source=("http://download.opensuse.org/source/factory/repo/oss/suse/src/$pkgname-$pkgver-$_subver.src.rpm"
+ 'custom_ioctl.patch')
+sha256sums=('b0e2e51b4dd754071fb40843deaaafb0755388de5335b1d2c4c081d0f6393841'
+ '6e83b50aa34f31db5fe6de938402e7c4dda6ffa9ffe1346c076e4779018fcf1d')
+
+prepare() {
+ cd "$srcdir"
+
+ rpmextract.sh "$pkgname-$pkgver-$_subver.src.rpm"
+ tar jxf $pkgname-$pkgver.tar.bz2
+ cd "$pkgname-$pkgver"
+ patch -p0 -i ../custom_ioctl.patch
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make -j1 CFLAGS+="-fPIC -I$srcdir/$pkgname-$pkgver/src/hd" LIBDIR=/usr/lib
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make LIBDIR=/usr/lib DESTDIR="$pkgdir" install
+ mv "$pkgdir/usr/sbin" "$pkgdir/usr/bin"
+ rmdir "$pkgdir/sbin"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/hwinfo/custom_ioctl.patch b/community/hwinfo/custom_ioctl.patch
new file mode 100644
index 000000000..b9dd67161
--- /dev/null
+++ b/community/hwinfo/custom_ioctl.patch
@@ -0,0 +1,16 @@
+--- src/hd/kbd.c.old 2010-03-15 23:37:52.000000000 +0800
++++ src/hd/kbd.c 2010-03-22 10:50:58.000000000 +0800
+@@ -146,11 +146,13 @@
+ }
+
+ if(!dev && (fd = open(DEV_CONSOLE, O_RDWR | O_NONBLOCK | O_NOCTTY)) >= 0) {
++ /* Removing since TIOCGDEV is not supported by the mainline kernel
+ if(ioctl(fd, TIOCGDEV, &u) != -1) {
+ tty_major = (u >> 8) & 0xfff;
+ tty_minor = (u & 0xff) | ((u >> 12) & 0xfff00);
+ ADD2LOG(DEV_CONSOLE ": major %u, minor %u\n", tty_major, tty_minor);
+ }
++ */
+
+ if (0)
+ ;
diff --git a/community/i2c-tools/PKGBUILD b/community/i2c-tools/PKGBUILD
new file mode 100644
index 000000000..448c7452c
--- /dev/null
+++ b/community/i2c-tools/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92028 2013-05-30 23:36:57Z seblu $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: DonVla <donvla@users.sourceforge.net>
+
+pkgname=i2c-tools
+pkgver=3.1.0
+pkgrel=5
+pkgdesc="Heterogeneous set of I2C tools for Linux that used to be part of lm-sensors"
+arch=('i686' 'x86_64')
+url="http://www.lm-sensors.org/wiki/I2CTools"
+license=('GPL')
+depends=('python2')
+optdepends=('read-edid: for decode-edid script')
+source=(http://dl.lm-sensors.org/${pkgname}/releases/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('f15019e559e378c6e9d5d6299a00df21')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make
+ make -C eepromer CFLAGS="$CFLAGS -I../include"
+ cd py-smbus
+ CPPFLAGS="$CPPFLAGS -I../include" python2 setup.py build
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make prefix="${pkgdir}/usr" sbindir="$pkgdir/usr/bin" install
+ install -Dm755 eepromer/eeprog eepromer/eeprom eepromer/eepromer "${pkgdir}/usr/bin"
+ cd py-smbus
+ python2 setup.py install --prefix "${pkgdir}/usr"
+ rm -rf "${pkgdir}/usr/include"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/i3-wm/PKGBUILD b/community/i3-wm/PKGBUILD
new file mode 100644
index 000000000..f7c5221cd
--- /dev/null
+++ b/community/i3-wm/PKGBUILD
@@ -0,0 +1,68 @@
+# $Id: PKGBUILD 86553 2013-03-19 09:17:14Z ttoepper $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=i3-wm
+_pkgsourcename=i3
+pkgver=4.5.1
+pkgrel=1
+pkgdesc="An improved dynamic tiling window manager"
+arch=('i686' 'x86_64')
+url="http://i3wm.org/"
+license=('BSD')
+replaces=("i3" "i3bar")
+groups=("i3")
+depends=('libxcursor' 'xcb-util-keysyms' 'xcb-util-wm' 'libev' 'yajl'
+ 'startup-notification' 'pango' 'perl')
+makedepends=('bison' 'flex')
+optdepends=('dmenu: As menu.'
+ 'i3lock: For locking your screen.'
+ 'i3status: To display systeminformation with a bar.')
+options=('docs' '!strip')
+source=("http://i3wm.org/downloads/${_pkgsourcename}-${pkgver}.tar.bz2")
+md5sums=('a448388a9e26b7ae371534ff9f6ca353')
+
+build() {
+ cd "$srcdir/$_pkgsourcename-$pkgver"
+
+ # In order to avoid problems with bison use only a single process
+ MAKEFLAGS="-j1"
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgsourcename-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ install -Dm644 man/i3.1 \
+ ${pkgdir}/usr/share/man/man1/i3.1
+ install -Dm644 man/i3bar.1 \
+ ${pkgdir}/usr/share/man/man1/i3bar.1
+ install -Dm644 man/i3-config-wizard.1 \
+ ${pkgdir}/usr/share/man/man1/i3-config-wizard.1
+ install -Dm644 man/i3-input.1 \
+ ${pkgdir}/usr/share/man/man1/i3-input.1
+ install -Dm644 man/i3-msg.1 \
+ ${pkgdir}/usr/share/man/man1/i3-msg.1
+ install -Dm644 man/i3-migrate-config-to-v4.1 \
+ ${pkgdir}/usr/share/man/man1/i3-migrate-config-to-v4.1
+ install -Dm644 man/i3-nagbar.1 \
+ ${pkgdir}/usr/share/man/man1/i3-nagbar.1
+ install -Dm644 man/i3-dmenu-desktop.1 \
+ ${pkgdir}/usr/share/man/man1/i3-dmenu-desktop.1
+ install -Dm644 man/i3-dump-log.1 \
+ ${pkgdir}/usr/share/man/man1/i3-dump-log.1
+ install -Dm644 man/i3-sensible-editor.1 \
+ ${pkgdir}/usr/share/man/man1/i3-sensible-editor.1
+ install -Dm644 man/i3-sensible-pager.1 \
+ ${pkgdir}/usr/share/man/man1/i3-sensible-pager.1
+ install -Dm644 man/i3-sensible-terminal.1 \
+ ${pkgdir}/usr/share/man/man1/i3-sensible-terminal.1
+
+ install -Dm644 LICENSE \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+
+ make clean
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/i3lock/PKGBUILD b/community/i3lock/PKGBUILD
new file mode 100644
index 000000000..ed56a3f02
--- /dev/null
+++ b/community/i3lock/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 93991 2013-07-12 19:24:57Z ttoepper $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=i3lock
+pkgver=2.5
+pkgrel=2
+pkgdesc="An improved screenlocker based upon XCB and PAM"
+arch=('i686' 'x86_64')
+url="http://i3wm.org/i3lock/"
+license=('MIT')
+groups=("i3")
+depends=('xcb-util-image' 'libev' 'cairo' 'libxkbcommon' 'libxkbfile' 'xorg-xkbcomp')
+options=('docs')
+backup=("etc/pam.d/i3lock")
+source=("http://i3wm.org/i3lock/$pkgname-$pkgver.tar.bz2"
+ "http://i3wm.org/i3lock/$pkgname-$pkgver.tar.bz2.asc")
+md5sums=('a7d4f2519deb5a62acbc755b09b4faea' 'SKIP')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Fix ticket FS#31544, sed line taken from gentoo
+ sed -i -e 's:login:system-auth:' i3lock.pam
+
+ make
+ gzip i3lock.1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 i3lock.1.gz ${pkgdir}/usr/share/man/man1/i3lock.1.gz
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ make clean
+}
+
+# vim:set ts=2 sw=2 et:
+
diff --git a/community/i3status/PKGBUILD b/community/i3status/PKGBUILD
new file mode 100644
index 000000000..dfd36db63
--- /dev/null
+++ b/community/i3status/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 85172 2013-02-27 14:41:02Z ttoepper $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=i3status
+pkgver=2.7
+pkgrel=1
+pkgdesc="Generates status bar to use with dzen2 or xmobar"
+arch=('i686' 'x86_64')
+url="http://i3.zekjur.net/i3status/"
+license=('BSD')
+groups=('i3')
+depends=('wireless_tools' 'confuse' 'alsa-lib' 'yajl')
+makedepends=('asciidoc')
+backup=('etc/i3status.conf')
+install=i3status.install
+options=('docs')
+source=("http://i3.zekjur.net/i3status/$pkgname-$pkgver.tar.bz2")
+md5sums=('f0a39e84aebb65496af3dcec9d8cfeb8')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+
+ make clean
+}
+
+# vim:set ts=2 sw=2 et:
+
diff --git a/community/i3status/i3status.install b/community/i3status/i3status.install
new file mode 100644
index 000000000..e86d21b80
--- /dev/null
+++ b/community/i3status/i3status.install
@@ -0,0 +1,9 @@
+post_install() {
+ setcap 'CAP_NET_ADMIN=ep' /usr/bin/i3status
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/i7z/PKGBUILD b/community/i7z/PKGBUILD
new file mode 100644
index 000000000..b1242f3ab
--- /dev/null
+++ b/community/i7z/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 85361 2013-03-01 10:33:44Z andrea $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Nathan O <ndowens.aur at gmail dot com>
+
+pkgname=i7z
+pkgver=0.27.2
+pkgrel=2
+pkgdesc="A better i7 (and now i3, i5) reporting tool for Linux"
+arch=('i686' 'x86_64')
+license=('GPL2')
+depends=('ncurses')
+makedepends=('qt4')
+optdepends=('qt4: for i7z-gui')
+url="http://code.google.com/p/i7z/"
+source=("http://i7z.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('7f2c4928146b722d67ecdd0d905a4353')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make
+
+ cd GUI
+ qmake
+ make clean
+ make
+}
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ install -Dm 755 i7z ${pkgdir}/usr/bin/i7z
+ install -Dm 755 GUI/i7z_GUI ${pkgdir}/usr/bin/i7z-gui
+}
diff --git a/community/iasl/LICENSE b/community/iasl/LICENSE
new file mode 100644
index 000000000..d47edccb2
--- /dev/null
+++ b/community/iasl/LICENSE
@@ -0,0 +1,33 @@
+IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.
+Do not use or load this software and any associated materials (collectively, the "Software") until you have carefully read the following terms and conditions. By loading or using the Software, you agree to the terms of this Agreement. If you do not wish to so agree, do not install or use the Software.
+
+1. COPYRIGHT NOTICE
+Some or all of this work - Copyright © 1999-2008, Intel Corp. All rights reserved.
+
+2. LICENSE
+
+2.1. This is your license from Intel Corp. under its intellectual property rights. You may have additional license terms from the party that provided you this software, covering your right to use that party's intellectual property rights.
+
+2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a copy of the source code appearing in this file ("Covered Code") an irrevocable, perpetual, worldwide license under Intel's copyrights in the base code distributed originally by Intel ("Original Intel Code") to copy, make derivatives, distribute, use and display any portion of the Covered Code in any form, with the right to sublicense such rights; and
+
+2.3. Intel grants Licensee a non-exclusive and non-transferable patent license (with the right to sublicense), under only those claims of Intel patents that are infringed by the Original Intel Code, to make, use, sell, offer to sell, and import the Covered Code and derivative works thereof solely to the minimum extent necessary to exercise the above copyright license, and in no event shall the patent license extend to any additions to or modifications of the Original Intel Code. No other license or right is granted directly or by implication, estoppel or otherwise; The above copyright and patent license is granted only if the following conditions are met:
+
+3. CONDITIONS
+
+3.1. Redistribution of Source with Rights to Further Distribute Source. Redistribution of source code of any substantial portion of the Covered Code or modification with rights to further distribute source must include the above Copyright Notice, the above License, this list of Conditions, and the following Disclaimer and Export Compliance provision. In addition, Licensee must cause all Covered Code to which Licensee contributes to contain a file documenting the changes Licensee made to create that Covered Code and the date of any change. Licensee must include in that file the documentation of any changes made by any predecessor Licensee. Licensee must include a prominent statement that the modification is derived, directly or indirectly, from Original Intel Code.
+
+3.2. Redistribution of Source with no Rights to Further Distribute Source. Redistribution of source code of any substantial portion of the Covered Code or modification without rights to further distribute source must include the following Disclaimer and Export Compliance provision in the documentation and/or other materials provided with distribution. In addition, Licensee may not authorize further sublicense of source of any portion of the Covered Code, and must include terms to the effect that the license from Licensee to its licensee is limited to the intellectual property embodied in the software Licensee provides to its licensee, and not to intellectual property embodied in modifications its licensee may make.
+
+3.3. Redistribution of Executable. Redistribution in executable form of any substantial portion of the Covered Code or modification must reproduce the above Copyright Notice, and the following Disclaimer and Export Compliance provision in the documentation and/or other materials provided with the distribution.
+
+3.4. Intel retains all right, title, and interest in and to the Original Intel Code.
+
+3.5. Neither the name Intel nor any other trademark owned or controlled by Intel shall be used in advertising or otherwise to promote the sale, use or other dealings in products derived from or relating to the Covered Code without prior written authorization from Intel.
+
+4. DISCLAIMER AND EXPORT COMPLIANCE
+
+4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+
+4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
+
+4.3. Licensee shall not export, either directly or indirectly, any of this software or system incorporating such software without first obtaining any required license or other approval from the U. S. Department of Commerce or any other agency or department of the United States Government. In the event Licensee exports any such software from the United States or re-exports any such software from a foreign destination, Licensee shall ensure that the distribution and export/re-export of the software is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations. Licensee agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, software, or service, directly or indirectly, to any country for which the United States government or any agency thereof requires an export license, other governmental approval, or letter of assurance, without first obtaining such license, approval or letter.
diff --git a/community/iasl/PKGBUILD b/community/iasl/PKGBUILD
new file mode 100644
index 000000000..8a1c56714
--- /dev/null
+++ b/community/iasl/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 91015 2013-05-17 22:04:55Z lcarlier $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Alessio 'mOlOk' Bolognino <themolok@gmail.com>
+
+pkgname=iasl
+pkgver=20130517
+pkgrel=1
+pkgdesc="Intel ACPI Source Language compiler"
+arch=('i686' 'x86_64')
+url="http://acpica.org"
+license=('custom')
+depends=('glibc')
+makedepends=('flex' 'bison')
+options=('!makeflags')
+#install=iasl.install
+source=(http://acpica.org/sites/acpica/files/acpica-unix-${pkgver}.tar.gz
+ LICENSE)
+md5sums=('99fa19c67c8fa95f90cb7ec0f29d6242'
+ '8615526144f69ea4e870d9bc37df9b29')
+
+build() {
+ cd "${srcdir}/acpica-unix-${pkgver}"/generate/unix
+
+ sed -i -e 's/_CYGWIN/_LINUX/g' -e 's/-Werror//g' Makefile.config
+
+ if [[ $CARCH == i686 ]]; then
+ make BITS=32
+ else
+ make BITS=64
+ fi
+}
+
+package() {
+ cd "${srcdir}/acpica-unix-${pkgver}"/generate/unix
+
+ make DESTDIR=${pkgdir} install
+
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+md5sums=('7846a62551352d7dae6f93f8255e9d99'
+ '8615526144f69ea4e870d9bc37df9b29')
diff --git a/community/iasl/iasl.install b/community/iasl/iasl.install
new file mode 100644
index 000000000..87d1fb7a1
--- /dev/null
+++ b/community/iasl/iasl.install
@@ -0,0 +1,17 @@
+# arg 1: the new package version
+post_install() {
+cat << EOM
+
+==> iasl post install message:
+==> In order to use this software you have to agree to Intel's license located in
+==> /usr/share/licenses/iasl/LICENSE otherwise please remove this package.
+
+EOM
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
diff --git a/community/iat/PKGBUILD b/community/iat/PKGBUILD
new file mode 100644
index 000000000..c458937fa
--- /dev/null
+++ b/community/iat/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 59656 2011-11-29 08:40:05Z arodseth $
+# Maintainer: Alexander Rødseth
+# Contributor: Biru Ionut <ionut@archlinux.ro>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+pkgname=iat
+pkgver=0.1.7
+pkgrel=4
+pkgdesc="Detects and converts DVD/CD images from BIN/MDF/PDI/CDI/NRG/B5I to ISO-9660"
+arch=('x86_64' 'i686')
+url="http://iat.berlios.de/"
+license=('GPL')
+depends=('glibc')
+source=("http://download.berlios.de/$pkgname/$pkgname-$pkgver.tar.bz2")
+md5sums=('5e1ffd82000ea4c80ffb2d63ae55120c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --includedir="/usr/include/$pkgname"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ibam/PKGBUILD b/community/ibam/PKGBUILD
new file mode 100644
index 000000000..6f72fb3dc
--- /dev/null
+++ b/community/ibam/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 65562 2012-02-21 08:57:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com>
+# Contributor: Penguin <TGates81.at.gmail.dot.com>
+
+pkgname=ibam
+pkgver=0.5.2
+pkgrel=5
+pkgdesc="An intelligent battery monitor"
+arch=('i686' 'x86_64')
+url="http://ibam.sourceforge.net/"
+license=('GPL')
+depends=('gcc-libs')
+makedepends=('sed' 'make')
+optdepends=('gnuplot: graphs support')
+install="ibam.install"
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz"
+ ibam-0.5.2-sysfs.patch)
+md5sums=('2d5222ff504dd19e7c1ea8acc2f13cf5'
+ 'c3aafebd5ad9159c89f71beab4a0f414')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -m0755 -d ${pkgdir}/usr/bin
+
+ sed -i \
+ -e "s|/local/bin|/bin|g" \
+ -e "s|^CFLAGS=-O3|CFLAGS=${CFLAGS}|g" \
+ Makefile
+ patch -p1 <$srcdir/ibam-0.5.2-sysfs.patch
+
+ make
+ install -m0755 -D ${srcdir}/${pkgname}-${pkgver}/ibam ${pkgdir}/usr/bin/ibam
+}
diff --git a/community/ibam/ibam-0.5.2-sysfs.patch b/community/ibam/ibam-0.5.2-sysfs.patch
new file mode 100644
index 000000000..d9d73f924
--- /dev/null
+++ b/community/ibam/ibam-0.5.2-sysfs.patch
@@ -0,0 +1,17 @@
+diff -wbBur ibam-0.5.2/ibam.inl ibam-0.5.2.my/ibam.inl
+--- ibam-0.5.2/ibam.inl 2009-03-09 16:53:20.000000000 +0000
++++ ibam-0.5.2.my/ibam.inl 2011-03-24 19:41:32.000000000 +0000
+@@ -959,7 +959,13 @@
+ acpi.close();
+ apm = new acpi_status();
+ } else {
++ sysfs.open((sysfs_path+"/BAT0/charge_full").c_str());
++ if(!sysfs.is_open()) {
+ sysfs.open((sysfs_path+"/BAT1/charge_full").c_str());
++ }
++ if(!sysfs.is_open()) {
++ sysfs.open((sysfs_path+"/BAT2/charge_full").c_str());
++ }
+ if(sysfs.is_open()) {
+ #ifdef IBAM_DEBUG
+ cout << "using sysfs" << endl;
diff --git a/community/ibam/ibam.install b/community/ibam/ibam.install
new file mode 100644
index 000000000..507c1581d
--- /dev/null
+++ b/community/ibam/ibam.install
@@ -0,0 +1,8 @@
+post_install() {
+ echo -e "-> install gnuplot to use the \`--plot' switch."
+ /bin/true
+}
+
+post_upgrade() {
+ post_install $1
+}
diff --git a/community/ibus-anthy/PKGBUILD b/community/ibus-anthy/PKGBUILD
new file mode 100644
index 000000000..d5c01654d
--- /dev/null
+++ b/community/ibus-anthy/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90641 2013-05-13 13:18:31Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Rainy <rainylau(at)gmail(dot)com>
+# Contributor: Lee.MaRS <leemars at gmail dot com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=ibus-anthy
+pkgver=1.5.3
+pkgrel=1
+pkgdesc='Japanese input method Anthy IMEngine for IBus Framework'
+arch=('i686' 'x86_64')
+license=('LGPL')
+url='http://ibus.googlecode.com'
+depends=('ibus' 'anthy' 'python2' 'pygtk' 'gtk-update-icon-cache')
+makedepends=('swig' 'intltool')
+options=('!libtool')
+install=$pkgname.install
+source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # python2 fix
+ for file in setup/ibus-setup-anthy.in engine/ibus-engine-anthy.in; do
+ sed -i 's_exec python_exec python2_' $file
+ done
+
+ ./configure --prefix=/usr --libexec=/usr/lib/ibus
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir/ install
+}
+
+sha512sums=('490a89ef78e31ad9e0f61aadd1d93b7a670852a765cc784cbfa307a208aab4344e851dceee316dd04bdf004e901a1b23bf40ff505e55fa18ab9dafdf097263d3')
diff --git a/community/ibus-anthy/ibus-anthy.install b/community/ibus-anthy/ibus-anthy.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/ibus-anthy/ibus-anthy.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/ibus-chewing/PKGBUILD b/community/ibus-chewing/PKGBUILD
new file mode 100644
index 000000000..fed502367
--- /dev/null
+++ b/community/ibus-chewing/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 80968 2012-12-08 02:26:09Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Rainy <rainylau(at)gmail(dot)com>
+# Contributor: Lee.MaRS <leemars@gmail.com>
+# Contributor: Hiroshi Yui <hiroshiyui@gmail.com>
+
+pkgname=ibus-chewing
+pkgver=1.4.3
+pkgrel=2
+pkgdesc='Chinese Chewing Engine for IBus Framework'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://ibus.googlecode.com'
+depends=('ibus' 'libchewing' 'libxtst' 'gconf')
+makedepends=('swig' 'cmake' 'gob2')
+options=('!makeflags')
+install=ibus-chewing.install
+source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}-Source.tar.gz")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}-Source"
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONF_INSTALL_DIR=/usr/share \
+ -DLIBEXEC_DIR=/usr/lib/ibus
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}-Source"
+ make DESTDIR="${pkgdir}" install
+}
+md5sums=('20b1d553ba14cecabcf7418e91da353b')
diff --git a/community/ibus-chewing/ibus-chewing.install b/community/ibus-chewing/ibus-chewing.install
new file mode 100644
index 000000000..0cfc09857
--- /dev/null
+++ b/community/ibus-chewing/ibus-chewing.install
@@ -0,0 +1,17 @@
+pkgname=ibus-chewing
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
diff --git a/community/ibus-hangul/PKGBUILD b/community/ibus-hangul/PKGBUILD
new file mode 100644
index 000000000..2d24f29df
--- /dev/null
+++ b/community/ibus-hangul/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 82988 2013-01-26 08:44:01Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Radim Hvizdák <hvizdakr at gmail dot com>
+
+pkgname=ibus-hangul
+pkgver=1.4.2
+pkgrel=1
+pkgdesc='Korean input engine for IBus'
+arch=('i686' 'x86_64')
+url='http://ibus.googlecode.com'
+license=('GPL')
+depends=('ibus' 'libhangul' 'iso-codes' 'pygtk' 'gtk-update-icon-cache')
+makedepends=('intltool')
+install=ibus-hangul.install
+source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's/python/python2/' setup/ibus-setup-hangul.in
+ PYTHON=python2 ./configure --prefix=/usr --libexecdir=/usr/lib/ibus
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make NO_INDEX=true DESTDIR="${pkgdir}" install
+}
+
+md5sums=('0229eab9481355bb5f54230890bfa910')
diff --git a/community/ibus-hangul/ibus-hangul.install b/community/ibus-hangul/ibus-hangul.install
new file mode 100644
index 000000000..1a05f573e
--- /dev/null
+++ b/community/ibus-hangul/ibus-hangul.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/ibus-kkc/PKGBUILD b/community/ibus-kkc/PKGBUILD
new file mode 100644
index 000000000..01828f655
--- /dev/null
+++ b/community/ibus-kkc/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+pkgname=ibus-kkc
+pkgver=1.5.16
+pkgrel=1
+pkgdesc="libkkc (Japanese Kana Kanji input method) engine for ibus"
+arch=('i686' 'x86_64')
+url="https://bitbucket.org/libkkc"
+license=('GPL')
+options=(!libtool)
+depends=('ibus' 'libkkc' 'libkkc-data' 'skk-jisyo')
+makedepends=('vala' 'intltool')
+source=(https://bitbucket.org/libkkc/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz)
+
+build() {
+ cd "${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --libexecdir=/usr/lib/ibus-kkc --disable-static
+ make
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums=('e4106f4e40c5de807489f7c27b730dc7f29db6c89c30207d797e1bcced75a195fedd9ae48a5c70821d7357a2b2fad66748f75c74d959f3cdea9444bd1305e267')
diff --git a/community/ibus-libpinyin/PKGBUILD b/community/ibus-libpinyin/PKGBUILD
new file mode 100644
index 000000000..40c189245
--- /dev/null
+++ b/community/ibus-libpinyin/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 89875 2013-05-04 04:07:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Yangtse Su<yangtsesu@gmail.com>
+# Contributor: Jekyll Wu<adaptee [at] gmail [dot] com>
+# Contributor: riverscn<riverscn at gmail.com>
+# Contributor: rainy<rainylau at gmail.com>
+# Contributor: Lee.MaRS<leemars at gmail.com>
+
+pkgname=ibus-libpinyin
+pkgver=1.6.91
+pkgrel=1
+pkgdesc="Intelligent Pinyin engine based on libpinyin for IBus"
+arch=('i686' 'x86_64')
+license=('LGPL')
+url="https://github.com/libpinyin/ibus-libpinyin"
+depends=('ibus' 'libpinyin')
+makedepends=('git' 'intltool' 'gnome-common')
+source=(https://github.com/libpinyin/ibus-libpinyin/archive/$pkgver.tar.gz
+ automake-1.13.patch)
+
+build() {
+ cd "$srcdir"
+ rm -rf "$srcdir/$pkgname-build"
+ cp -r "$srcdir/$pkgname-$pkgver" "$srcdir/$pkgname-build"
+ cd "$srcdir/$pkgname-build"
+
+ patch -Np1 -i "$srcdir/automake-1.13.patch"
+
+ msg "Starting make..."
+ cd "$srcdir/$pkgname-build"
+
+ # python2 fix
+ 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
+
+ for file in setup/ibus-setup-libpinyin.in; do
+ sed -i 's_exec python_exec python2_' $file
+ done
+
+ export REQUIRED_AUTOMAKE_VERSION=1.13 automake_progs=automake-1.13
+
+ ./autogen.sh --prefix=/usr --libexecdir=/usr/lib/$pkgname
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-build"
+ make NO_INDEX=true DESTDIR="$pkgdir" install
+}
+
+sha512sums=('6e1fb4f1fe3c5c6c37e60c8228b79728c388ffd171b68cea87bc2131e27430cdad6eff174a41111cb0694559f6307be3578ea1c960629bbfc99c41f4dbfc344e'
+ 'fbb30cddd1ec140860ce0d5a5a42ad644ae6a1794fb2e805f782fdb43436ad13d2f6f8149b5b68540bbb9beba16dbbdb1d14153cef7fb805de342a8d1bb77965')
diff --git a/community/ibus-libpinyin/automake-1.13.patch b/community/ibus-libpinyin/automake-1.13.patch
new file mode 100644
index 000000000..f7f7cc0c9
--- /dev/null
+++ b/community/ibus-libpinyin/automake-1.13.patch
@@ -0,0 +1,10 @@
+--- a/autogen.sh 2013-03-18 22:55:12.210703327 +0800
++++ b/autogen.sh 2013-03-18 23:01:11.842675010 +0800
+@@ -19,6 +19,6 @@
+ }
+
+ ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4"
+-REQUIRED_AUTOMAKE_VERSION=1.8
++REQUIRED_AUTOMAKE_VERSION=1.13
+
+ . gnome-autogen.sh "$@"
diff --git a/community/ibus-m17n/PKGBUILD b/community/ibus-m17n/PKGBUILD
new file mode 100644
index 000000000..37a284df9
--- /dev/null
+++ b/community/ibus-m17n/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 81008 2012-12-09 15:58:18Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Lonfucius <Lonfucius@gmail.com>
+# Contributor: Jesse Jaara <jesse.jaara@gmail.com>
+
+pkgname=ibus-m17n
+pkgver=1.3.4
+pkgrel=3
+pkgdesc='M17N engine for IBus'
+arch=('i686' 'x86_64')
+url='http://code.google.com/p/ibus/'
+license=('LGPL')
+depends=('python2-pyenchant' 'ibus' 'm17n-db' 'm17n-lib')
+source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('068de56caa87c002adeae0de9e908f47e3f9fde9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/ibus
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/ibus-pinyin/PKGBUILD b/community/ibus-pinyin/PKGBUILD
new file mode 100644
index 000000000..25146a8e3
--- /dev/null
+++ b/community/ibus-pinyin/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 81402 2012-12-19 16:41:48Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Rainy <rainylau(at)gmail(dot)com>
+# Contributor: Lee.maRS<leemars at gmail.com>
+# Contributor: Kerrick Staley <mail at kerrickstaley.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=ibus-pinyin
+pkgver=1.5.0
+pkgrel=2
+pkgdesc='Pinyin (Chinese) input method for the IBus framework'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://ibus.googlecode.com'
+depends=('ibus' 'pyzy' 'lua51')
+makedepends=('intltool')
+source=("https://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i -e "s|python|python2|" setup/ibus-setup-pinyin.in
+
+ PYTHON=python2 ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/ibus
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make NO_INDEX=true DESTDIR="${pkgdir}" install
+}
+md5sums=('f7728b5b785fae58e2b4de8dfda45612')
diff --git a/community/ibus-qt/0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch b/community/ibus-qt/0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch
new file mode 100644
index 000000000..eab3a51fe
--- /dev/null
+++ b/community/ibus-qt/0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch
@@ -0,0 +1,75 @@
+From fab6dc760edc39b9b4e561cfbf21b38c4fa86234 Mon Sep 17 00:00:00 2001
+From: Peter Wu <lekensteyn@gmail.com>
+Date: Tue, 4 Sep 2012 19:40:08 +0200
+Subject: [PATCH] Do not crash on missing/invalid DISPLAY envvar.
+
+- Check whether the passed DISPLAY environment variable contains ":".
+
+- Fallback to "-display" parameter passed to QApplication.
+---
+ src/CMakeLists.txt | 2 ++
+ src/qibusbus.cpp | 23 ++++++++++++++++-------
+ 2 files changed, 18 insertions(+), 7 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 2ad5588..8866ac0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -92,9 +92,11 @@ set_target_properties(
+ target_link_libraries(
+ ibus-qt
+ debug ${QT_QTCORE_LIBRARY_DEBUG}
++ debug ${QT_QTGUI_LIBRARY_DEBUG}
+ debug ${QT_QTDBUS_LIBRARY_DEBUG}
+ debug ${QT_QTXML_LIBRARY_DEBUG}
+ optimized ${QT_QTCORE_LIBRARY_RELEASE}
++ optimized ${QT_QTGUI_LIBRARY_RELEASE}
+ optimized ${QT_QTDBUS_LIBRARY_RELEASE}
+ optimized ${QT_QTXML_LIBRARY_RELEASE}
+ ${DBUS_LIBRARIES}
+diff --git a/src/qibusbus.cpp b/src/qibusbus.cpp
+index 6a45d65..ed8248a 100644
+--- a/src/qibusbus.cpp
++++ b/src/qibusbus.cpp
+@@ -12,7 +12,8 @@
+ #include "qibusbus.h"
+ #include "qibusibusproxy.h"
+ #include "qibusdbusproxy.h"
+-
++#include <X11/Xlib.h>
++#include <QX11Info>
+
+ namespace IBus {
+ /**
+@@ -121,15 +122,23 @@ QString
+ Bus::getSocketPath (void)
+ {
+ QString display = getenv ("DISPLAY");
+- QStringList strs = display.split(":");
+ QString hostname = "unix";
+ QString display_number = "0";
++ /* fallback when -display is passed to QApplication with no DISPLAY env */
++ if (display == NULL) {
++ Display * dpy = QX11Info::display();
++ if (dpy)
++ display = XDisplayString(dpy);
++ }
++ if (display != NULL && display.contains(':')) {
++ QStringList strs = display.split(":");
+
+- if (!strs[0].isEmpty())
+- hostname = strs[0];
+- strs = strs[1].split(".");
+- if (!strs[0].isEmpty())
+- display_number = strs[0];
++ if (!strs[0].isEmpty())
++ hostname = strs[0];
++ strs = strs[1].split(".");
++ if (!strs[0].isEmpty())
++ display_number = strs[0];
++ }
+
+ QString path =
+ QDir::homePath() +
+--
+1.7.12
diff --git a/community/ibus-qt/PKGBUILD b/community/ibus-qt/PKGBUILD
new file mode 100644
index 000000000..0f26672df
--- /dev/null
+++ b/community/ibus-qt/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 87047 2013-03-26 11:49:40Z foutrelis $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: garion < garion @ mailoo.org >
+# Contributor: leemars
+
+pkgname=ibus-qt
+pkgver=1.3.2
+pkgrel=1
+pkgdesc='IBus qt library and IBus qt input method plugin'
+arch=('i686' 'x86_64')
+license=('LGPL')
+url='http://ibus.googlecode.com'
+depends=('qt4' 'ibus' 'icu')
+makedepends=('cmake' 'automoc4' 'doxygen')
+source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}-Source.tar.gz")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}-Source"
+ mkdir build
+ cd build
+
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}-Source/build"
+ make DESTDIR="${pkgdir}" install
+}
+md5sums=('e53cb59f993d0c93ba968330dbc62c22')
diff --git a/community/ibus-rime/PKGBUILD b/community/ibus-rime/PKGBUILD
new file mode 100644
index 000000000..d17860c54
--- /dev/null
+++ b/community/ibus-rime/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 90137 2013-05-07 05:26:33Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: GONG Chen <chen dot sst at gmail dot com>
+# Contributor: 網軍總司令
+
+pkgname=ibus-rime
+pkgver=0.9.9
+pkgrel=1
+pkgdesc="Rime input method engine for ibus"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/rimeime/"
+license=('GPL3')
+depends=('ibus' 'libnotify' 'librime>=0.9.9' 'brise')
+makedepends=('cmake')
+install='ibus-rime.install'
+source=("http://rimeime.googlecode.com/files/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/$pkgname"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums=('b18e6f3ba6c97e3b55900d9c4cb70d58f24b202bf2ae894ca861af10ddb028c193d9ac97e609f3b4f0f183b212b74180a02e5d823f235b4c799733933a48afb7')
diff --git a/community/ibus-rime/ibus-rime.install b/community/ibus-rime/ibus-rime.install
new file mode 100644
index 000000000..1ed0581cb
--- /dev/null
+++ b/community/ibus-rime/ibus-rime.install
@@ -0,0 +1,3 @@
+pre_upgrade() {
+ rm -f /usr/share/ibus-rime/*.bin
+}
diff --git a/community/ibus-sunpinyin/PKGBUILD b/community/ibus-sunpinyin/PKGBUILD
new file mode 100644
index 000000000..c41529cec
--- /dev/null
+++ b/community/ibus-sunpinyin/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92623 2013-06-10 07:28:20Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=ibus-sunpinyin
+_pkgname=sunpinyin
+pkgver=2.0.3.20130307
+_commit=64e26d9ed1f617e59ff37c2efc0be97727c799a1
+pkgrel=1
+pkgdesc="IBus Wrapper for sunpinyin"
+arch=('i686' 'x86_64')
+url="http://sunpinyin.googlecode.com"
+license=('LGPL')
+depends=('sunpinyin>2.0.3' 'sunpinyin-data' 'ibus')
+makedepends=('git' 'scons')
+source=("git://github.com/sunpinyin/sunpinyin.git#commit=$_commit")
+md5sums=("SKIP")
+
+build() {
+ cd "$srcdir/$_pkgname/wrapper/ibus"
+ sed -i -e "s|python|python2|" setup/ibus-setup-sunpinyin.in
+
+ scons \
+ --prefix=/usr
+}
+
+package() {
+ cd "$srcdir/$_pkgname/wrapper/ibus"
+
+ scons \
+ --prefix=/usr \
+ --install-sandbox="$pkgdir" \
+ install
+}
diff --git a/community/ibus-table-extraphrase/PKGBUILD b/community/ibus-table-extraphrase/PKGBUILD
new file mode 100644
index 000000000..04016b0c7
--- /dev/null
+++ b/community/ibus-table-extraphrase/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 61932 2012-01-11 04:09:08Z ebelanger $
+# Contributor: Lee.MaRS<leemars at gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=ibus-table-extraphrase
+pkgver=1.3.9.20110826
+pkgrel=1
+pkgdesc="The extra phrases of tables engines for IBus"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/ibus/"
+license=('LGPL')
+depends=('ibus-table')
+source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('b2f69cfedc230988d7b8693dd8fd3c250a376246')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/ibus
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/ibus-unikey/PKGBUILD b/community/ibus-unikey/PKGBUILD
new file mode 100644
index 000000000..f1e78b64e
--- /dev/null
+++ b/community/ibus-unikey/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 79163 2012-10-31 05:41:19Z ebelanger $
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Trương Xuân Tính <xuantinh at gmail dot com>
+
+pkgname=ibus-unikey
+pkgver=0.6.1
+pkgrel=2
+pkgdesc='IBus module for Vietnamese Keyboard'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://code.google.com/p/ibus-unikey/'
+depends=('ibus')
+makedepends=('intltool')
+source=("http://ibus-unikey.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('3bae6df0d4609a8c438c246030b9a61e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/ibus
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/icecast/PKGBUILD b/community/icecast/PKGBUILD
new file mode 100644
index 000000000..aad4ca008
--- /dev/null
+++ b/community/icecast/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 90559 2013-05-13 07:47:15Z lfleischer $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: Jason Chu <jchu@xentac.net>
+
+pkgname=icecast
+pkgver=2.3.3
+pkgrel=4
+pkgdesc='Streaming audio over the Internet'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://www.icecast.org/'
+depends=('libxslt' 'libvorbis' 'curl' 'speex' 'libtheora')
+backup=('etc/icecast.xml'
+ 'etc/logrotate.d/icecast')
+source=("http://downloads.us.xiph.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'icecast.logrotate'
+ 'start-by-nobody.patch'
+ 'icecast.service')
+md5sums=('2b5d1b40778922e5f6431b7758c359ad'
+ '59c6552bcb1dd9fb542af8670dfabd3c'
+ 'd8e929d2214123a1954da4383bf16583'
+ '1468e59f76de194579b615889e20198f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/start-by-nobody.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ # install man page
+ sed -i -e 's/icecast2/icecast/g' debian/icecast2.1
+ install -Dm644 debian/icecast2.1 "${pkgdir}/usr/share/man/man1/icecast.1"
+
+ # install logrotate config (taken from Fedora)
+ install -Dm644 "${srcdir}/icecast.logrotate" "${pkgdir}/etc/logrotate.d/icecast"
+
+ # create log directory
+ install -d -g99 -o99 "${pkgdir}/var/log/icecast"
+
+ # install systemd unit
+ install -Dm0644 "${srcdir}/icecast.service" "${pkgdir}/usr/lib/systemd/system/icecast.service"
+}
diff --git a/community/icecast/icecast.logrotate b/community/icecast/icecast.logrotate
new file mode 100644
index 000000000..0fb014c06
--- /dev/null
+++ b/community/icecast/icecast.logrotate
@@ -0,0 +1,8 @@
+/var/log/icecast/*log {
+ missingok
+ notifempty
+ sharedscripts
+ postrotate
+ endscript
+}
+
diff --git a/community/icecast/icecast.service b/community/icecast/icecast.service
new file mode 100644
index 000000000..2f4b0eb29
--- /dev/null
+++ b/community/icecast/icecast.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Icecast Network Audio Streaming Server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/icecast -c /etc/icecast.xml
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/icecast/start-by-nobody.patch b/community/icecast/start-by-nobody.patch
new file mode 100644
index 000000000..d218e5afe
--- /dev/null
+++ b/community/icecast/start-by-nobody.patch
@@ -0,0 +1,15 @@
+--- icecast-2.3.2/conf/icecast.xml.in~ 2010-11-12 16:47:54.750000918 +0100
++++ icecast-2.3.2/conf/icecast.xml.in 2010-11-12 16:48:08.086667585 +0100
+@@ -164,11 +164,9 @@
+
+ <security>
+ <chroot>0</chroot>
+- <!--
+ <changeowner>
+ <user>nobody</user>
+- <group>nogroup</group>
++ <group>nobody</group>
+ </changeowner>
+- -->
+ </security>
+ </icecast>
diff --git a/community/icedtea-web-java7/PKGBUILD b/community/icedtea-web-java7/PKGBUILD
deleted file mode 100644
index a28b75be1..000000000
--- a/community/icedtea-web-java7/PKGBUILD
+++ /dev/null
@@ -1,91 +0,0 @@
-# $Id: PKGBUILD 136836 2011-09-02 07:59:01Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgbase=icedtea-web-java7
-pkgname=('icedtea-web-java7' 'icedtea-web-java7-doc')
-pkgver=1.4
-pkgrel=2
-arch=('i686' 'x86_64')
-url="http://icedtea.classpath.org/wiki/IcedTea-Web"
-license=('GPL2')
-makedepends=('jdk7-openjdk' 'zip' 'libxtst' 'npapi-sdk' 'rhino' 'junit' 'firefox' 'chromium' 'epiphany')
-noextract=${pkgbase/-java7/}-$pkgver.tar.gz # due to broken path names in the tarball that fails with LANG=C in our chroot
-source=(http://icedtea.classpath.org/download/source/${pkgbase/-java7/}-$pkgver.tar.gz
- openjdk-hotfix.patch)
-sha256sums=('e53a41fa132e086fa8d17cadf1e7e38cb3ab99577277949fbcae4ab8705245fb'
- '1bf96e430d0694c53539e4e7a8c979c65a2ab5274d8ae38067b0fd7dd5bfba03')
-
-_javaver=7
-_jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk
-
-build() {
- # extract it
- cd "$srcdir"
- LANG=en_US.UTF-8 bsdtar -x -f ${srcdir}/${pkgbase/-java7/}-$pkgver.tar.gz
-
- cd "${srcdir}"/icedtea-web*
- patch -Np1 < $srcdir/openjdk-hotfix.patch
- ./configure --prefix=${_jvmdir} \
- --datarootdir=/usr/share \
- --with-jdk-home=${_jvmdir} \
- --with-browser-tests \
- --with-firefox=/usr/bin/firefox \
- --with-chromium=/usr/bin/chromium \
- --with-epiphany=/usr/bin/epiphany
- make
-}
-
-check() {
- cd "${srcdir}"/icedtea-web*
- # as more tests have been added some are expectged to fail
- # see http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017566.html
- make -k check || /bin/true
-}
-
-
-package_icedtea-web-java7() {
-
- pkgdesc="provides a Free Software web browser plugin running applets written in the Java programming language and an implementation of Java Web Start, originally based on the NetX project"
- depends=('jre7-openjdk' 'desktop-file-utils')
- provides=('java-web-start=7')
- replaces=('icedtea-web')
- install=${pkgname}.install
-
- cd "${srcdir}"/icedtea-web* #${pkgname}-${_date}"
- # possible make target (see bottom of Makefile.am: install-exec-local install-data-local
- make DESTDIR="${pkgdir}" install-exec-local install-data-local
-
- # Install desktop files.
- install -m755 -d ${pkgdir}/usr/share/{applications,pixmaps}
- install -m644 javaws.png ${pkgdir}/usr/share/pixmaps
- install -m644 {javaws,itweb-settings}.desktop ${pkgdir}/usr/share/applications
- # remove splitted doc files
- rm -rf ${pkgdir}/usr/share/doc
-
- # link binaries into /usr/bin + jre/bin
- install -m755 -d ${pkgdir}/usr/bin
- install -m755 -d ${pkgdir}/${_jvmdir}/jre/bin
- pushd ${pkgdir}/${_jvmdir}/bin
- for file in *; do
- ln -sf ${_jvmdir}/bin/${file} ${pkgdir}/usr/bin
- ln -sf ${_jvmdir}/bin/${file} ${pkgdir}/${_jvmdir}/jre/bin
- done
- popd
-
- # link the mozilla-plugin - test it here http://www.java.com/en/download/help/testvm.xml
- install -m755 -d ${pkgdir}/usr/lib/mozilla/plugins/
- ln -sf ${_jvmdir}/lib/IcedTeaPlugin.so ${pkgdir}/usr/lib/mozilla/plugins/
-}
-
-package_icedtea-web-java7-doc() {
-
- pkgdesc="icedtea-web browser plugin + Java WebStart - documentation files"
- replaces=('icedtea-web-doc')
-
- cd "${srcdir}"/icedtea-web*
- make DESTDIR="${pkgdir}" install-data-local
- # remove javaws about and man page
- rm -rf ${pkgdir}/usr/lib
- rm -rf ${pkgdir}/usr/share/man
- rm -rf ${pkgdir}/usr/share/icedtea-web # conflicting and unneeded file it seems
-}
diff --git a/community/icedtea-web-java7/openjdk-hotfix.patch b/community/icedtea-web-java7/openjdk-hotfix.patch
deleted file mode 100644
index 29a0a309b..000000000
--- a/community/icedtea-web-java7/openjdk-hotfix.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -r 1a327a09262e netx/net/sourceforge/jnlp/runtime/Boot.java
---- a/netx/net/sourceforge/jnlp/runtime/Boot.java Mon Jun 10 13:22:53 2013 +0200
-+++ b/netx/net/sourceforge/jnlp/runtime/Boot.java Wed Jun 19 10:32:32 2013 +0200
-@@ -35,6 +35,8 @@
- import net.sourceforge.jnlp.cache.UpdatePolicy;
- import net.sourceforge.jnlp.security.viewer.CertificateViewer;
- import net.sourceforge.jnlp.services.ServiceUtil;
-+import sun.awt.AppContext;
-+import sun.awt.SunToolkit;
-
- /**
- * This is the main entry point for the JNLP client. The main
-@@ -113,6 +115,9 @@
- * Launch the JNLP file specified by the command-line arguments.
- */
- public static void main(String[] argsIn) {
-+ if (AppContext.getAppContext() == null) {
-+ SunToolkit.createNewAppContext();
-+ }
- args = argsIn;
-
- if (null != getOption("-viewer")) {
-diff -r 1a327a09262e netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
---- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Mon Jun 10 13:22:53 2013 +0200
-+++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Wed Jun 19 10:32:32 2013 +0200
-@@ -234,7 +234,7 @@
- try {
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- } catch (Exception e) {
-- // ignore it
-+ e.printStackTrace();
- }
-
- doMainAppContextHacks();
-diff -r 1a327a09262e plugin/icedteanp/java/sun/applet/PluginMain.java
---- a/plugin/icedteanp/java/sun/applet/PluginMain.java Mon Jun 10 13:22:53 2013 +0200
-+++ b/plugin/icedteanp/java/sun/applet/PluginMain.java Wed Jun 19 10:32:32 2013 +0200
-@@ -72,6 +72,8 @@
- import java.net.ProxySelector;
- import java.util.Enumeration;
- import java.util.Properties;
-+import sun.awt.AppContext;
-+import sun.awt.SunToolkit;
-
- import net.sourceforge.jnlp.config.DeploymentConfiguration;
- import net.sourceforge.jnlp.runtime.JNLPRuntime;
-@@ -94,6 +96,9 @@
- */
- public static void main(String args[])
- throws IOException {
-+ if (AppContext.getAppContext() == null) {
-+ SunToolkit.createNewAppContext();
-+ }
- if (args.length != 2 || !(new File(args[0]).exists()) || !(new File(args[1]).exists())) {
- System.err.println("Invalid pipe names provided. Refusing to proceed.");
- System.exit(1);
diff --git a/community/icewm-utils/PKGBUILD b/community/icewm-utils/PKGBUILD
new file mode 100644
index 000000000..b49cbedef
--- /dev/null
+++ b/community/icewm-utils/PKGBUILD
@@ -0,0 +1,113 @@
+# $Id: PKGBUILD 87991 2013-04-09 21:31:23Z eric $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Dominika Solarz <dominikasolarz@gmail.com>
+
+pkgname=icewm-utils
+pkgver=1.0
+
+_mcver=2.1
+_tsver=1.4
+_bgsetver=1.3
+_kedver=1.5
+_woedver=1.8
+_sndcfgver=1.3
+_ccver=2.9
+_cursorscfgver=0.6
+_iconcvtver=1.0
+_rrunver=0.5
+_mergeprefsver=0.5
+
+pkgrel=6
+pkgdesc="Suite of tools for IceWM"
+arch=(i686 x86_64)
+license=("GPL")
+url="http://icecc.sourceforge.net/"
+depends=('qt3' 'python2')
+optdepends=('pyqt3' 'gvim')
+source=("http://downloads.sourceforge.net/icecc/icemc-$_mcver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/icets-$_tsver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/icebgset-$_bgsetver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/iceked-$_kedver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/icewoed-$_woedver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/icesndcfg-$_sndcfgver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/icecc-$_ccver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/icecursorscfg-$_cursorscfgver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/iceiconcvt-$_iconcvtver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/icerrun-$_rrunver.tar.bz2"
+ "http://downloads.sourceforge.net/sourceforge/icecc/icemergeprefs-$_mergeprefsver.tar.bz2"
+ icets-fix-icewmtray-crash.diff)
+md5sums=('cb2afc6efaa0f9d77b0119b29d528667'
+ '1d87c93f5cb27da16c90f47531b7fb21'
+ '7086b771fc7877369924affc5b5f5e41'
+ '47761a8dc59880ddda2a00de9cd187f5'
+ '518f05c02cb24a7e36715ce0d0672c8e'
+ '2113c524ebbbf38ce7eb174b9997c202'
+ 'e3ddbb3536941745435f727053816865'
+ '000ec299a83dbae269f2f335910bd50e'
+ '64463287b6c535b31cb2823d97bfe299'
+ 'cea2fd7726b9f01b080e3861d325ec24'
+ 'b34931566da118e7a14ddcb529e739c6'
+ '5116da930c0063dd8c478dd8e473b08f')
+
+build() {
+ cd $srcdir
+ # fix default global path to IceWM
+ for file in icewoed-$_woedver/qcentralwidget.cpp \
+ icemc-$_mcver/qcentralwidget.cpp \
+ icets-$_tsver/icets.cpp
+ do
+ sed -i 's|/usr/local/|/usr/|' $file
+ done
+
+ # python2 fix
+ 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
+
+ (cd icets-$_tsver && patch -p0 <$srcdir/icets-fix-icewmtray-crash.diff)
+
+ cd $srcdir/icemc-$_mcver
+ qmake-qt3
+ make MOC=/usr/bin/moc-qt3 UIC=/usr/bin/uic-qt3 INCPATH+='-I/usr/include/qt3'
+
+ cd $srcdir/icets-$_tsver
+ qmake-qt3
+ make MOC=/usr/bin/moc-qt3 UIC=/usr/bin/uic-qt3 INCPATH+='-I/usr/include/qt3'
+
+ cd $srcdir/icebgset-$_bgsetver
+ qmake-qt3
+ make MOC=/usr/bin/moc-qt3 UIC=/usr/bin/uic-qt3 INCPATH+='-I/usr/include/qt3'
+
+ cd $srcdir/iceked-$_kedver
+ qmake-qt3
+ make MOC=/usr/bin/moc-qt3 UIC=/usr/bin/uic-qt3 INCPATH+='-I/usr/include/qt3'
+
+ cd $srcdir/icecc-$_ccver
+ qmake-qt3
+ make MOC=/usr/bin/moc-qt3 UIC=/usr/bin/uic-qt3 INCPATH+='-I/usr/include/qt3'
+
+ cd $srcdir/icesndcfg-$_sndcfgver
+ qmake-qt3
+ make MOC=/usr/bin/moc-qt3 UIC=/usr/bin/uic-qt3 INCPATH+='-I/usr/include/qt3'
+
+ cd $srcdir/icewoed-$_woedver
+ qmake-qt3
+ make MOC=/usr/bin/moc-qt3 UIC=/usr/bin/uic-qt3 INCPATH+='-I/usr/include/qt3'
+}
+
+package() {
+ mkdir -p $pkgdir/usr/bin
+ cp $srcdir/icemc-$_mcver/icemc $pkgdir/usr/bin/
+ cp $srcdir/icets-$_tsver/icets $pkgdir/usr/bin/
+ cp $srcdir/icebgset-$_bgsetver/icebgset $pkgdir/usr/bin/
+ cp $srcdir/iceked-$_kedver/iceked $pkgdir/usr/bin/
+ cp $srcdir/icecc-$_ccver/icecc $pkgdir/usr/bin/
+ cp $srcdir/icesndcfg-$_sndcfgver/icesndcfg $pkgdir/usr/bin/
+ cp $srcdir/icewoed-$_woedver/icewoed $pkgdir/usr/bin/
+ cp $srcdir/icecursorscfg-$_cursorscfgver/icecurcfg.py $pkgdir/usr/bin/icecurcfg
+ cp $srcdir/iceiconcvt-$_iconcvtver/iceiconcvt.py $pkgdir/usr/bin/iceiconcvt
+ cp $srcdir/icemergeprefs-$_mergeprefsver/icemergeprefs.py $pkgdir/usr/bin/icemergeprefs
+ cp $srcdir/icerrun-$_rrunver/icerrun.py $pkgdir/usr/bin/icerrun
+ cp $srcdir/icerrun-$_rrunver/icerrrun.py $pkgdir/usr/bin/icerrrun
+}
diff --git a/community/icewm-utils/icets-fix-icewmtray-crash.diff b/community/icewm-utils/icets-fix-icewmtray-crash.diff
new file mode 100644
index 000000000..3a3b62bcc
--- /dev/null
+++ b/community/icewm-utils/icets-fix-icewmtray-crash.diff
@@ -0,0 +1,13 @@
+--- ./icets.cpp.orig 2010-03-22 00:42:19.231913625 +1000
++++ ./icets.cpp 2010-03-22 00:43:34.611221044 +1000
+@@ -311,7 +311,9 @@
+ }/* if(bakFile.exists()) */
+
+ //restart IceWM
+- system("pkill -1 icewm");
++ // Use killall instead of pkill, because pkill kills all icewm processes
++ // like icewmtray - in this case we lost view of running tray apps
++ system("killall -1 icewm");
+ }/* setTheme() */
+
+ /**
diff --git a/community/ico2xpm/ChangeLog b/community/ico2xpm/ChangeLog
new file mode 100644
index 000000000..7fd5bbf99
--- /dev/null
+++ b/community/ico2xpm/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-26 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
diff --git a/community/ico2xpm/PKGBUILD b/community/ico2xpm/PKGBUILD
new file mode 100644
index 000000000..ac06c0ef4
--- /dev/null
+++ b/community/ico2xpm/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 76155 2012-09-12 10:40:28Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=ico2xpm
+pkgver=1.3
+pkgrel=1
+pkgdesc="A utility which converts Windows icons into X pixmaps"
+arch=('i686' 'x86_64')
+url="http://ico2xpm.sourceforge.net/"
+license=('GPL')
+source=(http://downloads.sourceforge.net/ico2xpm/$pkgver/ico2xpm-${pkgver/./_}-src.tar.gz)
+md5sums=('fbae5631281cb6b48ca31f78bbbcba85')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ install -Dm755 ${pkgname} ${pkgdir}/usr/bin/${pkgname}
+}
diff --git a/community/icoutils/PKGBUILD b/community/icoutils/PKGBUILD
new file mode 100644
index 000000000..b24c5c601
--- /dev/null
+++ b/community/icoutils/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 90048 2013-05-06 19:37:55Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Contributor: neodreams <yanbrodeur@videotron.ca>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=icoutils
+pkgver=0.30.0
+pkgrel=2
+pkgdesc='Extracts and converts images in MS Windows(R) icon and cursor files.'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://www.nongnu.org/icoutils/'
+depends=('libpng>=1.0.0' 'perl-libwww>=5.64')
+source=("http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('2574eb4ff5c0d3b2a59ad5a7d8848ced')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/id3lib-rcc/PKGBUILD b/community/id3lib-rcc/PKGBUILD
new file mode 100644
index 000000000..cb62b1ef9
--- /dev/null
+++ b/community/id3lib-rcc/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 55559 2011-09-14 10:08:38Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=id3lib-rcc
+pkgver=3.8.3
+pkgrel=7
+pkgdesc="id3lib with librcc patch"
+arch=('i686' 'x86_64')
+url="http://id3lib.sourceforge.net/"
+license=('GPL')
+depends=('libxml2' 'librcc' 'gcc-libs')
+provides=('id3lib')
+conflicts=('id3lib')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/id3lib/id3lib-$pkgver.tar.gz
+ http://downloads.sourceforge.net/rusxmms/id3lib-csa2.tar.bz2
+ arch.patch
+ id3lib-gcc4.patch)
+md5sums=('19f27ddd2dda4b2d26a559a4f0f402a7'
+ '608a475f119974c8f72406fd84e1030f'
+ '8b503330d653578f75fc9f2bf3c3833d'
+ '94191cf1fe6f5fd391d95a6de81a48b9')
+
+build() {
+ cd "${srcdir}"/id3lib-$pkgver
+
+ patch -Np1 -i "${srcdir}"/id3lib/id3lib-ds-rcc.patch
+ patch -Np1 -i "${srcdir}"/id3lib-gcc4.patch
+ cd src
+ patch -Np0 -i "${srcdir}"/arch.patch
+ cd ..
+
+ sed -i 's#iomanip.h##' configure
+ sed -i 's|size_t size_t, size_t \*size_t|size_t s1, size_t *s2|' src/rccpatch.h
+
+ ./configure --prefix=/usr
+ make LDFLAGS=-lrcc
+}
+
+package() {
+ cd "${srcdir}"/id3lib-$pkgver
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/id3lib-rcc/arch.patch b/community/id3lib-rcc/arch.patch
new file mode 100644
index 000000000..2732fde5e
--- /dev/null
+++ b/community/id3lib-rcc/arch.patch
@@ -0,0 +1,39 @@
+--- Makefile.in.org 2003-03-02 03:23:00.000000000 +0300
++++ Makefile.in 2006-07-14 08:33:40.000000000 +0400
+@@ -172,7 +172,8 @@
+ tag_parse_v1.cpp \
+ tag_render.cpp \
+ utils.cpp \
+- writers.cpp
++ writers.cpp \
++ rccpatch.cpp
+
+
+ lib_LTLIBRARIES = libid3.la
+@@ -200,7 +201,7 @@
+ io_decorators.lo io_helpers.lo misc_support.lo mp3_parse.lo \
+ readers.lo spec.lo tag.lo tag_file.lo tag_find.lo tag_impl.lo \
+ tag_parse.lo tag_parse_lyrics3.lo tag_parse_musicmatch.lo \
+- tag_parse_v1.lo tag_render.lo utils.lo writers.lo
++ tag_parse_v1.lo tag_render.lo utils.lo writers.lo rccpatch.lo
+ am_libid3_la_OBJECTS = $(am__objects_1)
+ libid3_la_OBJECTS = $(am_libid3_la_OBJECTS)
+
+@@ -233,7 +234,8 @@
+ @AMDEP_TRUE@ ./$(DEPDIR)/tag_parse_musicmatch.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/tag_parse_v1.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/tag_render.Plo ./$(DEPDIR)/utils.Plo \
+-@AMDEP_TRUE@ ./$(DEPDIR)/writers.Plo
++@AMDEP_TRUE@ ./$(DEPDIR)/writers.Plo \
++@AMDEP_TRUE@ ./$(DEPDIR)/rccpatch.Plo
+ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+ LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+@@ -328,6 +330,7 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tag_render.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writers.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rccpatch.Plo@am__quote@
+
+ distclean-depend:
+ -rm -rf ./$(DEPDIR)
diff --git a/community/id3lib-rcc/id3lib-gcc4.patch b/community/id3lib-rcc/id3lib-gcc4.patch
new file mode 100644
index 000000000..7f4ef666a
--- /dev/null
+++ b/community/id3lib-rcc/id3lib-gcc4.patch
@@ -0,0 +1,189 @@
+diff -wbBur id3lib-3.8.3/configure.in id3lib-3.8.3.my/configure.in
+--- id3lib-3.8.3/configure.in 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/configure.in 2009-09-08 15:09:40.000000000 +0000
+@@ -227,7 +227,6 @@
+ )
+ AC_CHECK_HEADERS( \
+ string \
+- iomanip.h \
+ ,,AC_MSG_ERROR([Missing a vital header file for id3lib])
+ )
+
+@@ -296,11 +295,11 @@
+ AC_DEFINE_UNQUOTED(_ID3LIB_BINARY_AGE, $ID3LIB_BINARY_AGE)
+ AC_DEFINE_UNQUOTED(_ID3_COMPILED_WITH_DEBUGGING, "${enable_debug}")
+
+-CONDITIONAL_SUBDIRS=
+-if test "x$ac_cv_lib_z_uncompress" = "xno"; then
+- CONDITIONAL_SUBDIRS="$CONDITIONAL_SUBDIRS zlib"
+-fi
+-AC_CONFIG_SUBDIRS(zlib)
++#CONDITIONAL_SUBDIRS=
++#if test "x$ac_cv_lib_z_uncompress" = "xno"; then
++# CONDITIONAL_SUBDIRS="$CONDITIONAL_SUBDIRS zlib"
++#fi
++#AC_CONFIG_SUBDIRS(zlib)
+
+ CFLAGS="$CFLAGS -Wall"
+
+diff -wbBur id3lib-3.8.3/doc/Doxyfile.in id3lib-3.8.3.my/doc/Doxyfile.in
+--- id3lib-3.8.3/doc/Doxyfile.in 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/doc/Doxyfile.in 2009-09-08 15:10:40.000000000 +0000
+@@ -263,8 +263,10 @@
+
+ INPUT = ../src \
+ ../include/id3/field.h \
+- ../include/id3/frame.h \
+ ../include/id3/globals.h \
++ ../include/id3/io_decorators.h \
++ ../include/id3/io_helpers.h \
++ ../include/id3/io_strings.h \
+ ../include/id3/misc_support.h \
+ ../include/id3/reader.h \
+ ../include/id3/readers.h \
+diff -wbBur id3lib-3.8.3/examples/demo_convert.cpp id3lib-3.8.3.my/examples/demo_convert.cpp
+--- id3lib-3.8.3/examples/demo_convert.cpp 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/examples/demo_convert.cpp 2009-09-08 15:09:26.000000000 +0000
+@@ -84,7 +84,7 @@
+ }
+ }
+
+-int main( unsigned int argc, char * const argv[])
++int main( int argc, char * const argv[])
+ {
+ flags_t ulFlag = ID3TT_ALL;
+ gengetopt_args_info args;
+diff -wbBur id3lib-3.8.3/examples/demo_copy.cpp id3lib-3.8.3.my/examples/demo_copy.cpp
+--- id3lib-3.8.3/examples/demo_copy.cpp 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/examples/demo_copy.cpp 2009-09-08 15:09:26.000000000 +0000
+@@ -81,7 +81,7 @@
+ }
+ }
+
+-int main( unsigned int argc, char * const argv[])
++int main( int argc, char * const argv[])
+ {
+ int ulFlag = ID3TT_ID3;
+ ID3D_INIT_DOUT();
+diff -wbBur id3lib-3.8.3/examples/demo_info.cpp id3lib-3.8.3.my/examples/demo_info.cpp
+--- id3lib-3.8.3/examples/demo_info.cpp 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/examples/demo_info.cpp 2009-09-08 15:09:26.000000000 +0000
+@@ -309,7 +309,7 @@
+
+ #define DEBUG
+
+-int main( unsigned int argc, char * const argv[])
++int main( int argc, char * const argv[])
+ {
+ ID3D_INIT_DOUT();
+
+diff -wbBur id3lib-3.8.3/examples/demo_tag.cpp id3lib-3.8.3.my/examples/demo_tag.cpp
+--- id3lib-3.8.3/examples/demo_tag.cpp 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/examples/demo_tag.cpp 2009-09-08 15:09:26.000000000 +0000
+@@ -46,7 +46,7 @@
+ os << "v2";
+ }
+
+-int main( unsigned int argc, char * const argv[])
++int main( int argc, char * const argv[])
+ {
+ int ulFlag = ID3TT_ID3;
+ ID3D_INIT_DOUT();
+diff -wbBur id3lib-3.8.3/include/id3/id3lib_strings.h id3lib-3.8.3.my/include/id3/id3lib_strings.h
+--- id3lib-3.8.3/include/id3/id3lib_strings.h 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/include/id3/id3lib_strings.h 2009-09-08 15:09:26.000000000 +0000
+@@ -30,6 +30,7 @@
+ #define _ID3LIB_STRINGS_H_
+
+ #include <string>
++#include <cstring>
+
+ #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000))
+ namespace std
+diff -wbBur id3lib-3.8.3/include/id3/writers.h id3lib-3.8.3.my/include/id3/writers.h
+--- id3lib-3.8.3/include/id3/writers.h 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/include/id3/writers.h 2009-09-08 15:09:26.000000000 +0000
+@@ -30,7 +30,7 @@
+
+ #include "id3/writer.h"
+ #include "id3/id3lib_streams.h"
+-//#include <string.h>
++#include <string.h>
+
+ class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer
+ {
+diff -wbBur id3lib-3.8.3/src/Makefile.am id3lib-3.8.3.my/src/Makefile.am
+--- id3lib-3.8.3/src/Makefile.am 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/src/Makefile.am 2009-09-08 15:09:49.000000000 +0000
+@@ -76,6 +76,8 @@
+ LDADD = $(top_builddir)/zlib/src/libz.la
+ endif
+
++libid3_la_LIBADD = -lz -lstdc++
++
+ libid3_la_LDFLAGS = \
+ -version-info $(LT_VERSION) \
+ -release $(LT_RELEASE) \
+diff -wbBur id3lib-3.8.3/src/Makefile.in id3lib-3.8.3.my/src/Makefile.in
+--- id3lib-3.8.3/src/Makefile.in 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/src/Makefile.in 2009-09-08 15:09:49.000000000 +0000
+@@ -192,7 +192,8 @@
+ CONFIG_CLEAN_FILES =
+ LTLIBRARIES = $(lib_LTLIBRARIES)
+
+-libid3_la_LIBADD =
++libid3_la_LIBADD = -lz -lstdc++
++
+ am__objects_1 = c_wrapper.lo field.lo field_binary.lo field_integer.lo \
+ field_string_ascii.lo field_string_unicode.lo frame.lo \
+ frame_impl.lo frame_parse.lo frame_render.lo globals.lo \
+diff -wbBur id3lib-3.8.3/src/tag_file.cpp id3lib-3.8.3.my/src/tag_file.cpp
+--- id3lib-3.8.3/src/tag_file.cpp 2008-10-27 18:24:52.000000000 +0000
++++ id3lib-3.8.3.my/src/tag_file.cpp 2009-09-08 15:10:22.000000000 +0000
+@@ -242,8 +242,8 @@
+ strcpy(sTempFile, filename.c_str());
+ strcat(sTempFile, sTmpSuffix.c_str());
+
+-#if ((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP))
+- // This section is for Windows folk && gcc 3.x folk
++#if !defined(HAVE_MKSTEMP)
++ // This section is for Windows folk
+ fstream tmpOut;
+ createFile(sTempFile, tmpOut);
+
+@@ -257,7 +257,7 @@
+ tmpOut.write((char *)tmpBuffer, nBytes);
+ }
+
+-#else //((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP))
++#else //!defined(HAVE_MKSTEMP)
+
+ // else we gotta make a temp file, copy the tag into it, copy the
+ // rest of the old file after the tag, delete the old file, rename
+@@ -270,7 +270,7 @@
+ //ID3_THROW_DESC(ID3E_NoFile, "couldn't open temp file");
+ }
+
+- ofstream tmpOut(fd);
++ ofstream tmpOut(sTempFile);
+ if (!tmpOut)
+ {
+ tmpOut.close();
+@@ -285,14 +285,14 @@
+ uchar tmpBuffer[BUFSIZ];
+ while (file)
+ {
+- file.read(tmpBuffer, BUFSIZ);
++ file.read((char *)tmpBuffer, BUFSIZ);
+ size_t nBytes = file.gcount();
+- tmpOut.write(tmpBuffer, nBytes);
++ tmpOut.write((char *)tmpBuffer, nBytes);
+ }
+
+ close(fd); //closes the file
+
+-#endif ////((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP))
++#endif ////!defined(HAVE_MKSTEMP)
+
+ tmpOut.close();
+ file.close();
diff --git a/community/idesk/PKGBUILD b/community/idesk/PKGBUILD
new file mode 100644
index 000000000..027925bcc
--- /dev/null
+++ b/community/idesk/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90753 2013-05-13 15:08:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Claudio Sabattoli <gasherbrum3@alice.it>
+
+pkgname=idesk
+pkgver=0.7.5
+pkgrel=4
+pkgdesc="iDesk gives users of minimal wm's (fluxbox, blackbox, openbox, windowsmaker...) icons on their desktop"
+arch=("i686" "x86_64")
+url="http://idesk.sourceforge.net/wiki/index.php"
+license=('GPL')
+depends=('pkgconfig' 'imlib2' 'libpng' 'libxpm' 'libxft' 'gcc-libs')
+source=("http://downloads.sourceforge.net/sourceforge/idesk/$pkgname-$pkgver.tar.bz2")
+md5sums=('beb48c97815c7b085e3b3d601297fbb8')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ sed -i \
+ -e '1,1i#include <unistd.h>' \
+ -e '1,1i#include <sys/stat.h>' \
+ -e '1,1i#include <sys/types.h>' \
+ src/DesktopConfig.cpp
+ sed -i 's#usr/local#usr#' examples/default.lnk
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/iec16022/PKGBUILD b/community/iec16022/PKGBUILD
new file mode 100644
index 000000000..0924cbbce
--- /dev/null
+++ b/community/iec16022/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 69134 2012-04-09 18:02:18Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=iec16022
+pkgver=0.2.4
+pkgrel=1
+pkgdesc="Produce 2D barcodes often also referenced as DataMatrix"
+arch=('i686' 'x86_64')
+url="http://datenfreihafen.org/projects/iec16022.html"
+license=('GPL')
+depends=('popt' 'zlib')
+options=('!libtool')
+source=(http://datenfreihafen.org/~stefan/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('9395108f1deaa2c4bd6d05a9e7c91431')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/iftop/PKGBUILD b/community/iftop/PKGBUILD
new file mode 100644
index 000000000..c74667fab
--- /dev/null
+++ b/community/iftop/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92025 2013-05-30 23:36:54Z seblu $
+# Maintainer: Daenyth <Daenyth+Arch at gmail dot com>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: Alexander Mieland (dma147) <dma147@linux-stats.org>
+# Contributor: slubman <slubman@slubman.net>
+
+pkgname=iftop
+pkgver=0.17
+pkgrel=11
+pkgdesc="iftop does for network usage what top(1) does for CPU usage"
+arch=('i686' 'x86_64')
+url="http://www.ex-parrot.com/~pdw/iftop/"
+license=('GPL')
+depends=('libpcap' 'ncurses')
+options=('!makeflags')
+source=("http://www.ex-parrot.com/~pdw/$pkgname/download/$pkgname-$pkgver.tar.gz")
+md5sums=('062bc8fb3856580319857326e0b8752d')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sbindir=/usr/bin --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/ifuse/PKGBUILD b/community/ifuse/PKGBUILD
new file mode 100644
index 000000000..c1dc11f7d
--- /dev/null
+++ b/community/ifuse/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 90343 2013-05-11 16:17:25Z tomegun $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Gabriel Martinez < reitaka at gmail dot com >
+
+pkgname=ifuse
+pkgver=1.1.2
+pkgrel=4
+pkgdesc='A fuse filesystem to access the contents of an iPhone or iPod Touch'
+url='http://libimobiledevice.org/'
+arch=('i686' 'x86_64')
+license=('LGPL2.1')
+depends=('libimobiledevice' 'fuse')
+source=("http://www.libimobiledevice.org/downloads/$pkgname-$pkgver.tar.bz2")
+md5sums=('4152526b2ac3c505cb41797d997be14d')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/igmpproxy/PKGBUILD b/community/igmpproxy/PKGBUILD
new file mode 100644
index 000000000..5255e1648
--- /dev/null
+++ b/community/igmpproxy/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 91494 2013-05-23 10:13:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: sda <sda00@himki.net>
+
+pkgname=igmpproxy
+pkgver=0.1
+pkgrel=3
+pkgdesc="a simple multicast router for Linux only using the IGMP protocol"
+arch=(i686 x86_64)
+url="http://sourceforge.net/projects/igmpproxy"
+license=('GPL')
+depends=()
+backup=("etc/igmpproxy.conf")
+source=("http://downloads.sourceforge.net/sourceforge/igmpproxy/igmpproxy-$pkgver.tar.gz"
+ "igmpproxy.service")
+md5sums=('c56f41ec195bc1fe016369bf74efc5a1'
+ '2a4387442ce00297d97371f729f8b21e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -Dm644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+}
diff --git a/community/igmpproxy/igmpproxy.service b/community/igmpproxy/igmpproxy.service
new file mode 100644
index 000000000..734d600ab
--- /dev/null
+++ b/community/igmpproxy/igmpproxy.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=IGMP proxy
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/igmpproxy /etc/igmpproxy.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/imdbpy/PKGBUILD b/community/imdbpy/PKGBUILD
new file mode 100644
index 000000000..2980e6df1
--- /dev/null
+++ b/community/imdbpy/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 83597 2013-02-03 15:16:51Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: lang2 <wenzhi.liang@gmail.com>
+
+pkgname=imdbpy
+_realname=IMDbPY
+pkgver=4.9
+pkgrel=1
+pkgdesc="Python bindings for the Internet Movie Database (IMDb)"
+url="http://imdbpy.sourceforge.net/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('python2')
+makedepends=('python2-distribute')
+optdepends=('python2-lxml' 'python2-sqlalchemy' 'python2-sqlobject')
+source=(http://downloads.sourceforge.net/$pkgname/$_realname-$pkgver.tar.gz)
+md5sums=('5b071cd63d1804ed568741d2db8d12b5')
+
+package(){
+ cd "$srcdir/$_realname-$pkgver"
+
+ # python2 fix
+ 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 install --root="$pkgdir" --optimize=1
+
+ # fix paths
+ # WTH is upstream doing?
+ # TODO: report upstream about this nasty
+ mv "$pkgdir/usr/etc" "$pkgdir"
+ mkdir -p "$pkgdir/usr/share/doc"
+ #mv "$pkgdir/usr/imdb" "$pkgdir/usr/share"
+ mv "$pkgdir/usr/doc" "$pkgdir/usr/share/doc/imdb"
+}
diff --git a/community/incron/PKGBUILD b/community/incron/PKGBUILD
new file mode 100644
index 000000000..7417beb4a
--- /dev/null
+++ b/community/incron/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 91949 2013-05-30 09:42:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+# Contributor: scj <scj(at)archlinux(dot)us>
+
+pkgname=incron
+pkgver=0.5.10
+pkgrel=6
+pkgdesc="Like the regular cron but is driven by filesystem events instead of time periods"
+arch=('i686' 'x86_64')
+url="http://incron.aiken.cz/"
+license=('GPL')
+depends=('gcc-libs' 'bash')
+install=incron.install
+options=('emptydirs')
+source=("http://inotify.aiken.cz/download/incron/$pkgname-$pkgver.tar.gz"
+ 'incrond.service')
+md5sums=('67f8b671db8169edccc8ef11c7d2c8be'
+ '4be206ba6ecacd9d2006cdc72b4604db')
+
+prepare() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ sed -i '1,1i#include <unistd.h>' inotify-cxx.cpp icd-main.cpp
+ sed -i '1,1i#include <stdio.h>' icd-main.cpp inotify-cxx.cpp usertable.cpp appargs.cpp
+ sed -i 's|strchr(s,|(char*)strchr(s,|' incroncfg.cpp
+ sed -i 's|$(DESTDIR)$(PREFIX)/sbin/|$(DESTDIR)$(PREFIX)/bin/|g' Makefile
+}
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ install -d "${pkgdir}"/usr/share/man "${pkgdir}"/usr/{s,}bin
+
+ make PREFIX="${pkgdir}"/usr \
+ MANPATH="${pkgdir}"/usr/share/man \
+ USERDATADIR="${pkgdir}"/var/spool/incron \
+ CFGDIR="${pkgdir}"/etc \
+ SYSDATADIR="${pkgdir}"/etc/incron.d install
+
+ install -Dm0644 "${srcdir}/incrond.service" "${pkgdir}/usr/lib/systemd/system/incrond.service"
+ rmdir $pkgdir/usr/sbin
+}
diff --git a/community/incron/incron.install b/community/incron/incron.install
new file mode 100644
index 000000000..9cb53bbe6
--- /dev/null
+++ b/community/incron/incron.install
@@ -0,0 +1,13 @@
+post_install () {
+ # Check user/group incron exists
+ getent group incron > /dev/null || groupadd -r incron
+ getent passwd incron > /dev/null || useradd -r -c "Incron system" -g incron -s /bin/false -d /var/spool/incron incron
+ # Fix permissions
+ chown incron.incron -R /var/spool/incron
+}
+
+pre_remove() {
+ [ -h /var/service/incron ] && rm /var/service/incron
+ userdel incron >& /dev/null
+ groupdel incron >& /dev/null
+}
diff --git a/community/incron/incrond.service b/community/incron/incrond.service
new file mode 100644
index 000000000..d46814bf3
--- /dev/null
+++ b/community/incron/incrond.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Inotify System Scheduler
+
+[Service]
+Type=forking
+PIDFile=/run/incrond.pid
+ExecStart=/usr/bin/incrond
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/inn/PKGBUILD b/community/inn/PKGBUILD
new file mode 100644
index 000000000..adc62dab0
--- /dev/null
+++ b/community/inn/PKGBUILD
@@ -0,0 +1,125 @@
+# $Id: PKGBUILD 92442 2013-06-05 11:48:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Edward Tjörnhammar <xhemi@cube2.se>
+# Contributor: Edward Tjörnhammar <xhemi@cube2.se>
+
+pkgname=inn
+pkgver=2.5.3
+pkgrel=7
+pkgdesc="Complete open source Usenet system. De facto standard for handling news routing, news spool and serving the spool to customers."
+url="http://www.isc.org/software/inn/"
+arch=('i686' 'x86_64')
+license=("custom:INN")
+depends=('openssl' 'dovecot')
+makedepends=('make' 'bison' 'python2' 'gcc' 'smtp-forwarder' 'libsasl')
+optdepends=('perl' 'python2' 'libsasl')
+options=(emptydirs docs zipman)
+install=inn.install
+backup=(etc/inn/newsfeeds
+ etc/inn/incoming.conf
+ etc/inn/nnrpd.track
+ etc/inn/passwd.nntp
+ etc/inn/inn.conf
+ etc/inn/moderators
+ etc/inn/control.ctl
+ etc/inn/expire.ctl
+ etc/inn/nntpsend.ctl
+ etc/inn/innreport.conf
+ etc/inn/innwatch.ctl
+ etc/inn/distrib.pats
+ etc/inn/actsync.cfg
+ etc/inn/actsync.ign
+ etc/inn/motd.news
+ etc/inn/storage.conf
+ etc/inn/cycbuff.conf
+ etc/inn/buffindexed.conf
+ etc/inn/innfeed.conf
+ etc/inn/news2mail.cf
+ etc/inn/readers.conf
+ etc/inn/radius.conf
+ etc/inn/ovdb.conf
+ etc/inn/subscriptions
+ var/db/inn/active
+ var/db/inn/active.times
+ var/db/inn/history
+ var/db/inn/history.dir
+ var/db/inn/history.hash
+ var/db/inn/history.index
+ var/db/inn/newsgroups)
+source=(http://ftp.isc.org/isc/inn/inn-$pkgver.tar.gz
+ innd.service
+ inn.tmpfiles
+ site.make.patch)
+md5sums=('353fe95232828ddbc80debff86c240bc'
+ '9da925a486fcf0cd67fdf462cbb9c0b4'
+ '050b7bffff3361c673a118739e42349e'
+ '960c800026ed6e03901cf0bafdfd53d8')
+
+prepare() {
+ cd $srcdir/inn-$pkgver
+# sed -i 's|-export-dynamic gnu|-export-dynamic|' Makefile.global
+ [ $NOEXTRACT -eq 1 ] || patch -p3 < $srcdir/site.make.patch
+ sed -i 's|#define L_NOTICE.*|#define L_NOTICE LOG_NOTICE|' include/inn/options.h
+}
+
+build() {
+ cd $srcdir/inn-$pkgver
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --includedir=/usr/include/inn \
+ --sbindir=/usr/sbin \
+ --with-libtool \
+ --with-gnu-id \
+ --with-db-dir=/var/db/inn \
+ --sysconfdir=/etc/inn \
+ --with-spool-dir=/var/spool/news \
+ --with-log-dir=/var/log/inn \
+ --with-run-dir=/var/run/inn \
+ --with-tmp-dir=/var/spool/inn/tmp \
+ --enable-largefiles \
+ --with-openssl=/usr \
+ --with-perl \
+ --with-python \
+ --with-sendmail=/usr/bin/msmtp \
+ --with-sasl=/usr \
+ --with-news-user=9 \
+ --with-news-group=13
+ # See https://wiki.archlinux.org/index.php/DeveloperWiki:UID_/_GID_Database
+ test -f include/config.h
+ cat >>include/config.h <<EOF
+#undef RUNASUSER
+#define RUNASUSER "news"
+#undef RUNASGROUP
+#define RUNASGROUP "news"
+EOF
+ make
+}
+
+package() {
+ cd $srcdir/inn-$pkgver
+ export LD_LIBRARY_PATH=.:$pkgdir/usr/lib:$LD_LIBRARY_PATH
+
+ make DESTDIR=$pkgdir install
+
+ cd $pkgdir/usr/lib
+ for i in lib*.a; do
+ gcc -shared -o ${i%%.a}.so.2.0.0 $i
+ for j in 2.0 2; do
+ ln -s ${i%%a}so.2.0.0 ${i%%a}so.$j
+ done
+ done
+
+ touch $pkgdir/var/db/inn/history{.dir,.hash,.index,}
+
+ mkdir -p $pkgdir/usr/share/doc/inn $pkgdir/usr/share/inn/
+ mv $pkgdir/usr/share/man/man3/list.3 $pkgdir/usr/share/man/man3/list-inn.3
+ mv $pkgdir/usr/doc/* $pkgdir/usr/share/doc/inn/
+ mv $pkgdir/usr/http/* $pkgdir/usr/share/inn/
+ mv $pkgdir/usr/bin/archive $pkgdir/usr/bin/archive.inn
+ rm -rf $pkgdir/usr/doc $pkgdir/usr/http $pkgdir/var/run
+ install -D -m0644 $srcdir/inn-$pkgver/LICENSE $pkgdir/usr/share/licenses/inn/LICENSE
+ chown root:root $pkgdir/usr/bin/innbind
+ chmod 05555 $pkgdir/usr/bin/innbind
+
+ install -Dm0644 $srcdir/innd.service $pkgdir/usr/lib/systemd/system/innd.service
+ install -Dm0644 $srcdir/inn.tmpfiles $pkgdir/usr/lib/tmpfiles.d/inn.conf
+}
diff --git a/community/inn/inn.install b/community/inn/inn.install
new file mode 100644
index 000000000..e4070870f
--- /dev/null
+++ b/community/inn/inn.install
@@ -0,0 +1,22 @@
+post_install() {
+ grep -e "^news:" /etc/group 2>&- >&- || groupadd -g 13 -r news 2>&- >&-
+ grep -e "^news:" /etc/passwd 2>&- >&- || useradd -u 9 -r -m -g news news 2>&- >&-
+
+ /usr/bin/makedbz -i -o 2>&- >&-
+ mkdir /var/log/news 2>&- >&-
+
+ chown news:news -R var/spool/news 2>&- >&-
+ chown news:news var/log/news 2>&- >&-
+ chown news:news -R var/db/inn 2>&- >&-
+
+ echo ""
+ echo "->"
+ echo "-> If this is a first-time installation, a minimal active file and"
+ echo "-> history database have been installed. Do not forget to update"
+ echo "-> your cron entries and configure INN. See INSTALL for more"
+ echo "-> information."
+ echo "->"
+ echo "-> The default user:group for inn is news:news"
+ echo "->"
+ echo ""
+}
diff --git a/community/inn/inn.tmpfiles b/community/inn/inn.tmpfiles
new file mode 100644
index 000000000..234b97c2c
--- /dev/null
+++ b/community/inn/inn.tmpfiles
@@ -0,0 +1 @@
+d /run/inn 0755 news news -
diff --git a/community/inn/innd.service b/community/inn/innd.service
new file mode 100644
index 000000000..724baf90c
--- /dev/null
+++ b/community/inn/innd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Inetnet News Daemon
+After=syslog.target network.target
+ConditionPathExists=/etc/inn/inn.conf
+
+[Service]
+User=news
+PermissionsStartOnly=true
+PIDFile=/run/inn/innd.pid
+Type=forking
+ExecStart=/usr/bin/rc.news
+ExecStop=/bin/su -m news -c '/usr/bin/rc.news stop'
+KillMode=control-group
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/inn/site.make.patch b/community/inn/site.make.patch
new file mode 100644
index 000000000..5af6e1162
--- /dev/null
+++ b/community/inn/site.make.patch
@@ -0,0 +1,32 @@
+--- old/src/inn-2.4.5/site/Makefile 2008-06-29 19:56:57.000000000 +0200
++++ new/src/inn-2.4.5/site/Makefile 2008-10-09 19:27:59.613208825 +0200
+@@ -52,7 +52,6 @@
+
+ PATH_ACTIVE = ${PATHDB}/active
+ PATH_ACTIVE_TIMES = ${PATHDB}/active.times
+-PATH_HISTORY = ${PATHDB}/history
+ PATH_NEWSGROUPS = ${PATHDB}/newsgroups
+
+ ## Scripts from above, plus site-specific config files.
+@@ -98,7 +97,7 @@
+ ALL_INSTALLED = $(MOST_INSTALLED) $(REST_INSTALLED)
+
+ SPECIAL = $D$(PATH_ACTIVE) $D$(PATH_ACTIVE_TIMES) \
+- $D$(PATH_NEWSGROUPS) $D$(PATH_HISTORY)
++ $D$(PATH_NEWSGROUPS)
+
+ ## Get new versions of everything from samples directory.
+ all: $(ALL) config
+@@ -143,12 +142,6 @@
+ chown $(RUNASUSER) $@
+ chgrp $(RUNASGROUP) $@
+ chmod $(FILEMODE) $@
+-$D$(PATH_HISTORY):
+- touch $@
+- chown $(RUNASUSER) $@
+- chgrp $(RUNASGROUP) $@
+- chmod $(FILEMODE) $@
+- test -z "$D" && $(PATHBIN)/makedbz -i -o
+
+ bootstrap:
+
diff --git a/community/inotify-tools/PKGBUILD b/community/inotify-tools/PKGBUILD
new file mode 100644
index 000000000..382a1dc6e
--- /dev/null
+++ b/community/inotify-tools/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 65568 2012-02-21 08:59:52Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Alessandro Sagratini
+
+pkgname=inotify-tools
+pkgver=3.14
+pkgrel=2
+pkgdesc="inotify-tools is a C library and a set of command-line programs for Linux providing a simple interface to inotify."
+arch=('i686' 'x86_64')
+url="http://inotify-tools.sourceforge.net/"
+license=('GPL')
+depends=(glibc)
+makedepends=('gcc' 'make')
+source=(http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-$pkgver.tar.gz)
+md5sums=('b43d95a0fa8c45f8bab3aec9672cf30c')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/inputattach/0001-Add-w8001-flag.patch b/community/inputattach/0001-Add-w8001-flag.patch
new file mode 100644
index 000000000..ba6f9394b
--- /dev/null
+++ b/community/inputattach/0001-Add-w8001-flag.patch
@@ -0,0 +1,27 @@
+From 729257077e328e0b2fa1bba5a5509c09a743d5d0 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 13 Jul 2010 11:49:47 +1000
+Subject: [PATCH 2/3] Add w8001 flag for serial Wacom devices.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ inputattach.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/inputattach.c b/inputattach.c
+index a7de302..0382954 100644
+--- a/inputattach.c
++++ b/inputattach.c
+@@ -495,6 +495,9 @@ static struct input_types input_types[] = {
+ { "--dump", "-dump", "Just enable device",
+ B2400, CS8,
+ 0, 0x00, 0x00, 0, dump_init },
++{ "--w8001", "-w8001", "Wacom W8001",
++ B38400, CS8,
++ SERIO_W8001, 0x00, 0x00, 0, NULL },
+ { NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, NULL }
+ };
+
+--
+1.7.2.3
+
diff --git a/community/inputattach/0002-Allow-for-custom-baud-rates.patch b/community/inputattach/0002-Allow-for-custom-baud-rates.patch
new file mode 100644
index 000000000..78f5d19c8
--- /dev/null
+++ b/community/inputattach/0002-Allow-for-custom-baud-rates.patch
@@ -0,0 +1,70 @@
+From 5d9373f24f1b519c030024b2f36277ba9713697c Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 21 Jul 2010 14:41:04 +1000
+Subject: [PATCH 3/3] Allow for custom baud rates.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ inputattach.c | 25 ++++++++++++++++++++++++-
+ 1 files changed, 24 insertions(+), 1 deletions(-)
+
+diff --git a/inputattach.c b/inputattach.c
+index 0382954..6806fc8 100644
+--- a/inputattach.c
++++ b/inputattach.c
+@@ -506,7 +506,7 @@ static void show_help(void)
+ struct input_types *type;
+
+ puts("");
+- puts("Usage: inputattach [--daemon] <mode> <device>");
++ puts("Usage: inputattach [--daemon] [--baud <baud>] <mode> <device>");
+ puts("");
+ puts("Modes:");
+
+@@ -530,6 +530,7 @@ int main(int argc, char **argv)
+ int i;
+ char c;
+ int retval;
++ int baud = -1;
+
+ for (i = 1; i < argc; i++) {
+ if (!strcasecmp(argv[i], "--help")) {
+@@ -540,6 +541,15 @@ int main(int argc, char **argv)
+ } else if (need_device) {
+ device = argv[i];
+ need_device = 0;
++ } else if (!strcasecmp(argv[i], "--baud")) {
++ if (argc <= i + 1) {
++ show_help();
++ fprintf(stderr,
++ "inputattach: require baud rate\n");
++ return EXIT_FAILURE;
++ }
++
++ baud = atoi(argv[++i]);
+ } else {
+ if (type && type->name) {
+ fprintf(stderr,
+@@ -580,6 +590,19 @@ int main(int argc, char **argv)
+ return 1;
+ }
+
++ switch(baud) {
++ case -1: break;
++ case 2400: type->speed = B2400; break;
++ case 4800: type->speed = B4800; break;
++ case 9600: type->speed = B9600; break;
++ case 19200: type->speed = B19200; break;
++ case 38400: type->speed = B38400; break;
++ default:
++ fprintf(stderr, "inputattach: invalid baud rate '%d'\n",
++ baud);
++ return EXIT_FAILURE;
++ }
++
+ setline(fd, type->flags, type->speed);
+
+ if (type->flush)
+--
+1.7.2.3
+
diff --git a/community/inputattach/PKGBUILD b/community/inputattach/PKGBUILD
new file mode 100644
index 000000000..bda613cf0
--- /dev/null
+++ b/community/inputattach/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 91882 2013-05-28 18:09:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Mark Smith <markzzzsmith@yahoo.com.au>
+
+pkgname=inputattach
+pkgver=1.24
+pkgrel=10
+pkgdesc="Attach serial mice, keyboards and other input devices to the kernel input system"
+arch=('i686' 'x86_64')
+url="http://linuxconsole.sourceforge.net/"
+license=('GPL')
+depends=('bash')
+makedepends=('gcc')
+backup=(etc/conf.d/inputattach)
+source=('http://arch.p5n.pp.ru/~sergej/dl/2011/inputattach.c'
+ 'http://arch.p5n.pp.ru/~sergej/dl/2011/serio-ids.h'
+ 'inputattach.conf.d'
+ 'inputattach.service'
+ 'inputattachctl'
+ '0001-Add-w8001-flag.patch'
+ '0002-Allow-for-custom-baud-rates.patch')
+md5sums=('eb595a766ca363edb3b14c25404596ce'
+ '93d34d96cd3ad19ea1aeca7f68a66b4a'
+ '7ca903e54829764c8241233af5069216'
+ 'c19b9ed38b243191cf5378b87a42a4cc'
+ '7dd0690a9d2fe5e1052900650906e273'
+ 'f1b3ddae308351357f557cbd5c6cda81'
+ '8f76908449cae24a95adbf0bc0a17721')
+
+build() {
+ cd "$srcdir"
+
+ mkdir src
+ cp inputattach.c serio-ids.h src/
+ cd src
+
+ # Add support for serial wacom tablets
+ patch -Np1 -i "$srcdir/0001-Add-w8001-flag.patch"
+ patch -Np1 -i "$srcdir/0002-Allow-for-custom-baud-rates.patch"
+
+ cc $CFLAGS inputattach.c -o inputattach
+}
+
+package() {
+ cd "$srcdir/src"
+ install -Dm755 inputattach "$pkgdir/usr/bin/inputattach"
+ install -Dm755 $srcdir/inputattachctl $pkgdir/usr/bin/inputattachctl
+ install -Dm644 $srcdir/inputattach.conf.d "$pkgdir/etc/conf.d/inputattach"
+ install -Dm644 $srcdir/inputattach.service $pkgdir/usr/lib/systemd/system/inputattach.service
+}
diff --git a/community/inputattach/inputattach.conf.d b/community/inputattach/inputattach.conf.d
new file mode 100644
index 000000000..ae8d1842a
--- /dev/null
+++ b/community/inputattach/inputattach.conf.d
@@ -0,0 +1,10 @@
+#
+# Configuration for inputattach
+#
+# IAPARAMS is an array of inputattach arguments, see 'inputattach --help'.
+# An inputattach instance will be started for each element.
+
+IAPARAMS=(
+ "--microsoft /dev/ttyS0"
+ #"--baud 9600 --w8001 /dev/ttyS1"
+)
diff --git a/community/inputattach/inputattach.service b/community/inputattach/inputattach.service
new file mode 100644
index 000000000..2ec902c09
--- /dev/null
+++ b/community/inputattach/inputattach.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Attach serial input devices to kernel input subsystem
+After=syslog.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/inputattachctl start
+ExecStop=/usr/bin/inputattachctl stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/inputattach/inputattachctl b/community/inputattach/inputattachctl
new file mode 100755
index 000000000..05dfa4af5
--- /dev/null
+++ b/community/inputattach/inputattachctl
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+. /etc/conf.d/inputattach
+
+case "$1" in
+ start)
+ for i in "${IAPARAMS[@]}"; do
+ /usr/bin/inputattach --daemon $i || exit 1
+ done
+ ;;
+ stop)
+ killall inputattach || exit 1
+ ;;
+esac
diff --git a/community/instead-launcher/PKGBUILD b/community/instead-launcher/PKGBUILD
new file mode 100644
index 000000000..bbb190068
--- /dev/null
+++ b/community/instead-launcher/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 85363 2013-03-01 10:34:01Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Peter Kosyh <p.kosyhgmail.com>
+
+pkgname=instead-launcher
+pkgver=0.6.1
+pkgrel=3
+pkgdesc="launcher and games downloader for INSTEAD quest interpreter"
+arch=('i686' 'x86_64')
+url="http://instead-launcher.googlecode.com/"
+license=('GPL')
+makedepends=('sed' 'qt4')
+source=(http://instead-launcher.googlecode.com/files/instead-launcher_$pkgver.tar.gz)
+md5sums=('b2136e535dbb77eacb79e3357dc2a173')
+
+build() {
+ cd $srcdir/instead-launcher-$pkgver
+ sed -i 's|/usr/local/bin/sdl-instead|/usr/bin/sdl-instead|g' platform.cpp
+ qmake PREFIX=/usr
+ make
+}
+
+package() {
+ depends=('qt4' 'instead')
+ cd $srcdir/instead-launcher-$pkgver
+ make INSTALL_ROOT=$pkgdir install
+}
diff --git a/community/instead/PKGBUILD b/community/instead/PKGBUILD
new file mode 100644
index 000000000..77b579cd4
--- /dev/null
+++ b/community/instead/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 94126 2013-07-14 18:31:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Peter Kosyh <p.kosyhgmail.com>
+
+pkgname=instead
+pkgver=1.9.1
+pkgrel=2
+pkgdesc="a quest interpreter"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/instead/"
+license=('GPL')
+depends=('sdl_image' 'sdl_mixer' 'sdl_ttf' 'lua')
+optdepends=('instead-launcher: install and update INSTEAD games from net')
+source=(http://downloads.sourceforge.net/project/instead/instead/${pkgver}/instead_${pkgver}.tar.gz)
+md5sums=('fe925715e48ce06ddce9eeeec380b881')
+
+build() {
+ cd "${srcdir}/instead-${pkgver}"
+ echo "2" | ./configure.sh
+ make PREFIX=/usr
+}
+
+package() {
+ cd "${srcdir}/instead-${pkgver}"
+ make DESTDIR="${pkgdir}" PREFIX=/usr install
+
+ cp -a doc/*.{html,txt,pdf} doc/examples $pkgdir/usr/share/doc/instead/
+}
diff --git a/community/intel-gpu-tools/PKGBUILD b/community/intel-gpu-tools/PKGBUILD
new file mode 100644
index 000000000..605221109
--- /dev/null
+++ b/community/intel-gpu-tools/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 82424 2013-01-17 10:47:47Z thestinger $
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Mikael Eriksson <mikael_eriksson@miffe.org>
+# Originally by: Denis Smirnov <detanator@gmail.com>
+
+pkgname=intel-gpu-tools
+pkgver=1.3
+pkgrel=2
+pkgdesc="Tools for development and testing of the Intel DRM driver"
+arch=(i686 x86_64)
+license=(MIT)
+url="http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/"
+depends=('libdrm' 'libpciaccess' 'cairo')
+source=(http://xorg.freedesktop.org/releases/individual/app/$pkgname-$pkgver.tar.bz2)
+md5sums=('67facd6241e26e2c68614728e3a932e9')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/intel-gpu-tools/COPYING"
+}
diff --git a/community/intellij-idea-libs/PKGBUILD b/community/intellij-idea-libs/PKGBUILD
new file mode 100644
index 000000000..e77686bc4
--- /dev/null
+++ b/community/intellij-idea-libs/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 92669 2013-06-11 16:29:42Z andrea $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=intellij-idea-libs
+pkgver=12.1.4
+_pkgver=129.713
+pkgrel=1
+pkgdesc="Architecture dependend libraries needed by the Intellij Idea IDE"
+arch=('i686' 'x86_64')
+url="http://www.jetbrains.org/"
+license=('apache')
+depends=('glibc')
+options=(!strip)
+source=(http://download.jetbrains.com/idea/ideaIC-$pkgver.tar.gz)
+md5sums=('573815dd7dbb6a66c19f7f77a1bb048f')
+
+package() {
+ install -d -m755 "$pkgdir/usr/share/intellijidea-ce/bin"
+ install -d -m755 "$pkgdir/usr/lib"
+
+ [ $CARCH == "x86_64" ] && SUFFIX=64
+ install -m755 "idea-IC-$_pkgver"/bin/fsnotifier${SUFFIX} "$pkgdir"/usr/share/intellijidea-ce/bin/
+ install -m644 "idea-IC-$_pkgver"/bin/libbreakgen${SUFFIX}.so "$pkgdir"/usr/lib
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ioping/PKGBUILD b/community/ioping/PKGBUILD
new file mode 100644
index 000000000..1b8482b6c
--- /dev/null
+++ b/community/ioping/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 93783 2013-07-10 08:34:25Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Kovivchak Evgen <oneonfire@gmail.com>
+
+pkgname=ioping
+pkgver=0.7
+pkgrel=1
+pkgdesc='Simple disk I/0 latency measuring tool'
+arch=('i686' 'x86_64')
+license=('GPL3')
+url='http://ioping.googlecode.com'
+depends=('glibc')
+source=("http://ioping.googlecode.com/files/$pkgname-$pkgver.tar.gz")
+sha1sums=('f841244149830506daca1b052694965d94fe2408')
+
+build() {
+ cd $pkgname-$pkgver
+ make PREFIX=/usr
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make PREFIX="$pkgdir/usr" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/iperf/PKGBUILD b/community/iperf/PKGBUILD
new file mode 100644
index 000000000..fb4539a72
--- /dev/null
+++ b/community/iperf/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 82783 2013-01-24 12:34:05Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Dale Blount <dale@archlinux.org>
+
+pkgname=iperf
+pkgver=2.0.5
+pkgrel=7
+pkgdesc='A tool to measure maximum TCP bandwidth'
+arch=('i686' 'x86_64')
+license=('custom')
+url='http://iperf.sourceforge.net'
+depends=('gcc-libs')
+install=iperf.install
+source=("http://downloads.sourceforge.net/iperf/iperf-$pkgver.tar.gz"
+ 'iperf-tcp.service'
+ 'iperf-udp.service'
+ 'client.cpp.patch')
+md5sums=('44b5536b67719f4250faed632a3cd016'
+ '1d8660b540aa0db2e627d3d400cb8de4'
+ 'a27a8d27b1585bc999a04a2f082e2726'
+ '82ce63c87cc8bb2f0f94069857ac14a9')
+
+build() {
+ cd $pkgname-$pkgver
+ # fix FS#25159
+ patch -Np1 -i "$srcdir/client.cpp.patch"
+ ./configure --prefix=/usr \
+ --enable-ipv6 \
+ --enable-multicast \
+ --enable-threads
+ make
+}
+
+package() {
+ pushd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/iperf/LICENSE"
+ popd
+ # systemd
+ install -Dm644 iperf-tcp.service "$pkgdir/usr/lib/systemd/system/iperf-tcp.service"
+ install -Dm644 iperf-udp.service "$pkgdir/usr/lib/systemd/system/iperf-udp.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/iperf/client.cpp.patch b/community/iperf/client.cpp.patch
new file mode 100644
index 000000000..85f89e765
--- /dev/null
+++ b/community/iperf/client.cpp.patch
@@ -0,0 +1,17 @@
+--- a/src/Client.cpp 2010-04-01 22:23:17.000000000 +0200
++++ b/src/Client.cpp 2011-07-19 11:03:42.000000000 +0200
+@@ -212,10 +212,10 @@
+ char* readAt = mBuf;
+
+ #if HAVE_THREAD
+- if ( !isUDP( mSettings ) ) {
+- RunTCP();
+- return;
+- }
++// if ( !isUDP( mSettings ) ) {
++// RunTCP();
++// return;
++// }
+ #endif
+
+ // Indicates if the stream is readable
diff --git a/community/iperf/iperf-tcp.service b/community/iperf/iperf-tcp.service
new file mode 100644
index 000000000..ccb8401c8
--- /dev/null
+++ b/community/iperf/iperf-tcp.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Iperf TCP Server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/iperf -s -V
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/iperf/iperf-udp.service b/community/iperf/iperf-udp.service
new file mode 100644
index 000000000..b3c5d2686
--- /dev/null
+++ b/community/iperf/iperf-udp.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Iperf UDP Server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/iperf -u -s -V
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/iperf/iperf.install b/community/iperf/iperf.install
new file mode 100644
index 000000000..2fa553d52
--- /dev/null
+++ b/community/iperf/iperf.install
@@ -0,0 +1,11 @@
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 2.0.5-6)" -lt 0 ]; then
+ cat << EOF
+===> iperf.service unit has been moved to iperf-udp.service and iperf-tcp.service.
+EOF
+ fi
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/ipguard/PKGBUILD b/community/ipguard/PKGBUILD
new file mode 100644
index 000000000..691be3d32
--- /dev/null
+++ b/community/ipguard/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 91832 2013-05-28 17:04:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=ipguard
+pkgver=1.04
+pkgrel=3
+pkgdesc="ipguard - arp<->ip relation checking tool"
+arch=(i686 x86_64)
+url="http://ipguard.deep.perm.ru/"
+license=("GPL")
+depends=(libpcap libnet)
+source=(http://ipguard.deep.perm.ru/files/$pkgname-$pkgver.tar.gz
+ build-fix-le.patch)
+md5sums=('7f44f7c31876f0d68792f02047e25409'
+ 'b27cfc9e8ad4ef9459d7274a2e624831')
+
+prepare() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np1 <../build-fix-le.patch
+ sed -i 's|$(PREFIX)/sbin|$(PREFIX)/bin|g' Makefile
+}
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ CFLAGS="-DLIBNET_LIL_ENDIAN" make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make PREFIX=$pkgdir/usr install
+ mkdir -p $pkgdir/usr/share
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+}
diff --git a/community/ipguard/build-fix-le.patch b/community/ipguard/build-fix-le.patch
new file mode 100644
index 000000000..05cd1a902
--- /dev/null
+++ b/community/ipguard/build-fix-le.patch
@@ -0,0 +1,24 @@
+diff -wbBur ipguard-1.02/Makefile ipguard-1.02.my/Makefile
+--- ipguard-1.02/Makefile 2008-11-24 15:33:11.000000000 +0300
++++ ipguard-1.02.my/Makefile 2008-12-11 17:23:07.000000000 +0300
+@@ -9,16 +9,16 @@
+ ETHERS?=/etc/ethers
+
+ ## FreeBSD
+-LOCALBASE=/usr/local
+-LIBNET_CONFIG=libnet11-config
++# LOCALBASE=/usr/local
++# LIBNET_CONFIG=libnet11-config
+
+ ## OpenBSD (tested by irix)
+ # LOCALBASE=/usr/local
+ # LIBNET_CONFIG=libnet-config-1.1
+
+ ## Linux
+-# LOCALBASE=/usr
+-# LIBNET_CONFIG=libnet-config
++LOCALBASE=/usr
++LIBNET_CONFIG=libnet-config
+
+ INCLUDES=`${LIBNET_CONFIG} --cflags`
+ LIBS=`${LIBNET_CONFIG} --libs` -lpcap -L${LOCALBASE}/lib
diff --git a/community/ipset/PKGBUILD b/community/ipset/PKGBUILD
new file mode 100644
index 000000000..a4d3cb929
--- /dev/null
+++ b/community/ipset/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 90514 2013-05-12 23:45:55Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgname=ipset
+pkgver=6.19
+pkgrel=2
+pkgdesc='Administration tool for IP sets'
+arch=('i686' 'x86_64')
+url='http://ipset.netfilter.org'
+license=('GPL2')
+depends=('libmnl' 'bash')
+backup=("etc/$pkgname.conf")
+options=('!libtool')
+source=("http://ipset.netfilter.org/$pkgname-$pkgver.tar.bz2"
+ "$pkgname.service")
+md5sums=('cabba1bd63a93f6e1c3db3fb22412b64'
+ '6be6a2b34c1f38fc8ad60828403e2077')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sbindir=/usr/bin --with-kmod=no
+ make
+}
+
+package() {
+ pushd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ # install doc
+ install -dm755 "$pkgdir/usr/share/doc/$pkgname"
+ install -m644 README UPGRADE ChangeLog "$pkgdir/usr/share/doc/$pkgname"
+ # install pkgconfig file
+ install -Dm644 lib/libipset.pc "$pkgdir/usr/lib/pkgconfig/libipset.pc"
+ popd
+ # systemd
+ install -Dm 644 $pkgname.service \
+ "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ # default config file
+ install -Dm 644 /dev/null "$pkgdir/etc/$pkgname.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ipset/ipset.service b/community/ipset/ipset.service
new file mode 100644
index 000000000..39183c7d7
--- /dev/null
+++ b/community/ipset/ipset.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Loading IP Sets
+Before=iptables.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/ipset -f /etc/ipset.conf restore
+ExecStop=/usr/bin/ipset destroy
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/iptstate/PKGBUILD b/community/iptstate/PKGBUILD
new file mode 100644
index 000000000..458bc3ad1
--- /dev/null
+++ b/community/iptstate/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 90516 2013-05-12 23:47:26Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Andrea Zucchelli <zukka77@gmail.com>
+
+pkgname=iptstate
+pkgver=2.2.5
+pkgrel=2
+pkgdesc='top-like interface to netfilter connection-tracking table'
+arch=('i686' 'x86_64')
+url='http://www.phildev.net/iptstate/'
+license=('custom')
+depends=('gcc-libs' 'ncurses' 'libnetfilter_conntrack')
+source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2")
+md5sums=('5abe47e473bee256adaf8a48b1141a90')
+
+build() {
+ cd $pkgname-$pkgver
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ install -D -m755 $pkgname "$pkgdir/usr/bin/$pkgname"
+ install -D -m644 $pkgname.8 "$pkgdir/usr/share/man/man8/$pkgname.8"
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+# vim:set ts=2 sw=2 et:
diff --git a/community/ipvsadm/01-fix-not-showing-all-server.patch b/community/ipvsadm/01-fix-not-showing-all-server.patch
new file mode 100644
index 000000000..dea23bf76
--- /dev/null
+++ b/community/ipvsadm/01-fix-not-showing-all-server.patch
@@ -0,0 +1,24 @@
+diff -urN ipvsadm-1.26.vanilla/libipvs/ip_vs.h ipvsadm-1.26/libipvs/ip_vs.h
+--- ipvsadm-1.26.vanilla/libipvs/ip_vs.h 2011-02-06 18:38:57.000000000 -0800
++++ ipvsadm-1.26/libipvs/ip_vs.h 2011-08-23 15:03:59.000000000 -0700
+@@ -413,7 +413,7 @@
+ __IPVS_CMD_ATTR_MAX,
+ };
+
+-#define IPVS_CMD_ATTR_MAX (__IPVS_SVC_ATTR_MAX - 1)
++#define IPVS_CMD_ATTR_MAX (__IPVS_CMD_ATTR_MAX - 1)
+
+ /*
+ * Attributes used to describe a service
+diff -urN ipvsadm-1.26.vanilla/libipvs/ip_vs_nl_policy.c
+ipvsadm-1.26/libipvs/ip_vs_nl_policy.c
+--- ipvsadm-1.26.vanilla/libipvs/ip_vs_nl_policy.c 2008-09-18
+08:57:37.000000000 -0700
++++ ipvsadm-1.26/libipvs/ip_vs_nl_policy.c 2011-08-23 14:45:34.000000000 -0700
+@@ -26,6 +26,8 @@
+ [IPVS_SVC_ATTR_TIMEOUT] = { .type = NLA_U32 },
+ [IPVS_SVC_ATTR_NETMASK] = { .type = NLA_U32 },
+ [IPVS_SVC_ATTR_STATS] = { .type = NLA_NESTED },
++ [IPVS_SVC_ATTR_PE_NAME] = { .type = NLA_STRING,
++ .maxlen = IP_VS_PENAME_MAXLEN},
+ };
diff --git a/community/ipvsadm/PKGBUILD b/community/ipvsadm/PKGBUILD
new file mode 100644
index 000000000..e34683321
--- /dev/null
+++ b/community/ipvsadm/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 90518 2013-05-12 23:51:34Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=ipvsadm
+pkgver=1.26
+pkgrel=8
+pkgdesc='The IP Virtual Server administration utility'
+arch=('i686' 'x86_64')
+url='http://www.linuxvirtualserver.org/software/ipvs.html'
+license=('GPL2')
+depends=('libnl1' 'popt' 'bash')
+backup=("etc/$pkgname.conf")
+options=('!makeflags')
+install=$pkgname.install
+source=("http://www.linuxvirtualserver.org/software/kernel-2.6/$pkgname-$pkgver.tar.gz"
+ "$pkgname.systemd"
+ "$pkgname.service"
+ '01-fix-not-showing-all-server.patch')
+md5sums=('eac3ba3f62cd4dea2da353aeddd353a8'
+ 'b45ef25d384a7a68b51ff80d0fe81dd2'
+ 'dc87684064f85b64c1e79c1eac336303'
+ 'e9fb77d2fbe2d3f41d60257316338543')
+
+prepare() {
+ patch -p1 -d $pkgname-$pkgver < 01-fix-not-showing-all-server.patch
+}
+
+build() {
+ cd $pkgname-$pkgver
+ make
+}
+
+package() {
+ pushd $pkgname-$pkgver
+ make \
+ BUILD_ROOT="$pkgdir" \
+ MANDIR=usr/share/man \
+ SBIN="$pkgdir/usr/bin" \
+ INIT="$pkgdir/etc/rc.d" \
+ install
+ popd
+ # systemd
+ install -Dm 755 $pkgname.systemd \
+ "$pkgdir/usr/lib/systemd/scripts/$pkgname"
+ install -Dm 644 $pkgname.service \
+ "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ # remove legacy init system
+ rm -rf "$pkgdir/etc/rc.d"
+ # default config file
+ install -Dm 644 /dev/null "$pkgdir/etc/$pkgname.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ipvsadm/ipvsadm.install b/community/ipvsadm/ipvsadm.install
new file mode 100644
index 000000000..d235b560a
--- /dev/null
+++ b/community/ipvsadm/ipvsadm.install
@@ -0,0 +1,10 @@
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ [ $(vercmp "$2" '1.26-4') -gt 0 ] || cat <<EOF
+Config file have been moved from /etc/ipvsadm.rules to /etc/ipvsadm.conf.
+You can revert to the previous location by editing /etc/conf.d/ipvsadm.
+EOF
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/ipvsadm/ipvsadm.service b/community/ipvsadm/ipvsadm.service
new file mode 100644
index 000000000..bb6b01c3f
--- /dev/null
+++ b/community/ipvsadm/ipvsadm.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=IP Virtual Server
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/lib/systemd/scripts/ipvsadm start
+ExecStop=/usr/lib/systemd/scripts/ipvsadm stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ipvsadm/ipvsadm.systemd b/community/ipvsadm/ipvsadm.systemd
new file mode 100644
index 000000000..c12e3a8ee
--- /dev/null
+++ b/community/ipvsadm/ipvsadm.systemd
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+CONFIG_FILE='/etc/ipvsadm.conf'
+
+case $1 in
+ start)
+ ipvsadm-restore < "$CONFIG_FILE"
+ ;;
+ stop)
+ ipvsadm -C
+ ;;
+ save)
+ ipvsadm-save -n > "$CONFIG_FILE"
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|stop|save}" >&2
+ exit 1
+ ;;
+esac
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/irrlicht/PKGBUILD b/community/irrlicht/PKGBUILD
new file mode 100644
index 000000000..53ac71ce8
--- /dev/null
+++ b/community/irrlicht/PKGBUILD
@@ -0,0 +1,70 @@
+# $Id: PKGBUILD 79765 2012-11-12 07:14:50Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Hilton Medeiros <medeiros.hilton AT gmail DOT com>
+# Contributor: Ali H. Caliskan <ali.h.caliskan AT gmail DOT com>
+# Contributor: Paolo Fagni <paolo.fagni AT mail DOT com>
+# Contributor: Lukas Kropatschek <lukas.krop AT gmail DOT com>
+
+pkgname=irrlicht
+pkgver=1.8
+pkgrel=1
+pkgdesc="An open source high performance realtime 3D graphics engine."
+arch=('i686' 'x86_64')
+url="http://irrlicht.sourceforge.net/"
+license=('ZLIB')
+depends=('libgl' 'libjpeg' 'bzip2' 'libpng')
+makedepends=('mesa' 'unzip' 'libxcursor')
+optdepends=('libxcursor: run examples')
+source=("http://downloads.sourceforge.net/irrlicht/$pkgname-$pkgver.zip")
+noextract=($pkgname-$pkgver.zip)
+md5sums=('d06329d8f466658caaf4838ba349e393')
+
+build() {
+ unzip $pkgname-$pkgver.zip
+
+ cd $srcdir/$pkgname-$pkgver
+
+ cd source/Irrlicht
+ sed -i "/^INSTALL_DIR/s:=.*:=$pkgdir/usr/lib:" \
+ Makefile
+
+ make NDEBUG=1 sharedlib
+
+ make NDEBUG=1
+
+ install -d $pkgdir/usr/lib \
+ $pkgdir/usr/share/licenses/$pkgname \
+ $pkgdir/usr/share/$pkgname/examples/bin \
+ $pkgdir/usr/share/doc/$pkgname
+
+ make install
+
+ cd $srcdir/$pkgname-$pkgver/
+ install -m644 readme.txt $pkgdir/usr/share/licenses/$pkgname
+
+ # Install static library and fix headers permissions
+ install -m644 lib/Linux/libIrrlicht.a $pkgdir/usr/lib
+ chmod 644 $pkgdir/usr/include/$pkgname/*
+
+ # Install media files for examples
+ cp -r media $pkgdir/usr/share/$pkgname
+
+ # Install documentation
+ cp -r doc/* $pkgdir/usr/share/doc/$pkgname
+ rm -f $pkgdir/usr/share/doc/$pkgname/*.txt
+
+ cd $pkgdir/usr/lib
+ ln -s libIrrlicht.so.$pkgver libIrrlicht.so.1
+
+ # Just a helper for examples compilation
+ ln -s libIrrlicht.so.$pkgver $srcdir/$pkgname-$pkgver/lib/Linux/libIrrlicht.so
+
+ # Edit, build and install the examples
+ cd $srcdir/$pkgname-$pkgver/examples
+ sed -i '/define USE_IRRKLANG/s:.*://&:' ./Demo/CDemo.h
+ sed -i '/^CXXFLAGS/d' $(grep -Rl "^CXXFLAGS =" *)
+
+ make
+
+ install -m755 ../bin/Linux/* /$pkgdir/usr/share/$pkgname/examples/bin/
+}
diff --git a/community/irrlicht/irrlicht-1.7.2-libpng15.patch b/community/irrlicht/irrlicht-1.7.2-libpng15.patch
new file mode 100644
index 000000000..a1426bf29
--- /dev/null
+++ b/community/irrlicht/irrlicht-1.7.2-libpng15.patch
@@ -0,0 +1,40 @@
+--- source/Irrlicht/CImageLoaderPNG.cpp
++++ source/Irrlicht/CImageLoaderPNG.cpp
+@@ -28,7 +28,7 @@
+ static void png_cpexcept_error(png_structp png_ptr, png_const_charp msg)
+ {
+ os::Printer::log("PNG FATAL ERROR", msg, ELL_ERROR);
+- longjmp(png_ptr->jmpbuf, 1);
++ longjmp(png_jmpbuf(png_ptr), 1);
+ }
+
+ // PNG function for file reading
+@@ -37,7 +37,7 @@
+ png_size_t check;
+
+ // changed by zola {
+- io::IReadFile* file=(io::IReadFile*)png_ptr->io_ptr;
++ io::IReadFile* file=(io::IReadFile*)png_get_io_ptr(png_ptr);
+ check=(png_size_t) file->read((void*)data,(u32)length);
+ // }
+
+--- source/Irrlicht/CImageWriterPNG.cpp
++++ source/Irrlicht/CImageWriterPNG.cpp
+@@ -35,7 +35,7 @@
+ static void png_cpexcept_error(png_structp png_ptr, png_const_charp msg)
+ {
+ os::Printer::log("PNG FATAL ERROR", msg, ELL_ERROR);
+- longjmp(png_ptr->jmpbuf, 1);
++ longjmp(png_jmpbuf(png_ptr), 1);
+ }
+
+ // PNG function for file writing
+@@ -43,7 +43,7 @@
+ {
+ png_size_t check;
+
+- io::IWriteFile* file=(io::IWriteFile*)png_ptr->io_ptr;
++ io::IWriteFile* file=(io::IWriteFile*)png_get_io_ptr(png_ptr);
+ check=(png_size_t) file->write((const void*)data,(u32)length);
+
+ if (check != length)
diff --git a/community/iverilog/PKGBUILD b/community/iverilog/PKGBUILD
new file mode 100644
index 000000000..1cb86beee
--- /dev/null
+++ b/community/iverilog/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 73557 2012-07-09 19:15:21Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Jared Casper <jaredcasper@gmail.com>
+# Contributor: Paulo Matias <matias archlinux-br org>
+
+pkgname=iverilog
+pkgver=0.9.6
+pkgrel=1
+pkgdesc='Icarus Verilog compiler and simulation tool'
+arch=('x86_64' 'i686')
+url='http://iverilog.icarus.com/'
+license=('GPL')
+makedepends=('readline' 'gperf')
+depends=('bzip2' 'sh' 'gcc-libs' 'zlib')
+source=("ftp://ftp.icarus.com/pub/eda/verilog/v0.9/verilog-$pkgver.tar.gz")
+sha256sums=('25304d5d58d6411fcd1ab94992a505215eea5a6bbd9779c2be2d9d19f38cd54a')
+
+build() {
+ cd "$srcdir/${pkgname/i}-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname/i}-$pkgver"
+
+ make -j1 prefix="$pkgdir/usr" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/jack2/40-hpet-permissions.rules b/community/jack2/40-hpet-permissions.rules
new file mode 100644
index 000000000..7af3780f9
--- /dev/null
+++ b/community/jack2/40-hpet-permissions.rules
@@ -0,0 +1,2 @@
+KERNEL=="rtc0", GROUP="audio"
+KERNEL=="hpet", GROUP="audio"
diff --git a/community/jack2/99-audio.conf b/community/jack2/99-audio.conf
new file mode 100644
index 000000000..eb76ef920
--- /dev/null
+++ b/community/jack2/99-audio.conf
@@ -0,0 +1,2 @@
+@audio - rtprio 99
+@audio - memlock unlimited
diff --git a/community/jack2/PKGBUILD b/community/jack2/PKGBUILD
new file mode 100644
index 000000000..d8ad4d636
--- /dev/null
+++ b/community/jack2/PKGBUILD
@@ -0,0 +1,128 @@
+# $Id: PKGBUILD 92144 2013-06-01 12:22:16Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Daniele Paolella <danielepaolella@email.it>
+# Contributor: Philipp Überbacher <hollunder at gmx dot at>
+# Contributor: Thomas Bahn <thomas-bahn at gmx dot net>
+
+pkgbase=jack2
+pkgname=('jack2' 'jack2-dbus')
+#pkgname= # single build (overrides split)
+_tarname=jack
+pkgver=1.9.9.5
+pkgrel=3
+arch=('i686' 'x86_64')
+url="http://jackaudio.org/"
+backup=(etc/security/limits.d/99-audio.conf)
+license=('GPL')
+makedepends=('python2' 'libffado' 'celt' 'opus' 'libsamplerate')
+source=("https://dl.dropbox.com/u/28869550/jack-1.9.9.5.tar.bz2"
+ '99-audio.conf'
+ '40-hpet-permissions.rules')
+md5sums=('6c9de6b89db9d7076fa2ce222816cf4c'
+ 'ae65b7c9ebe0fff6c918ba9d97ae342d'
+ '471aad533ff56c5d3cbbf65ce32cadef')
+
+_isbuild() {
+ printf "%s\n" ${pkgname[@]} | grep -qx $1
+}
+
+_pyfix() {
+ sed -i 's:bin/env python:bin/env python2:' \
+ "$pkgdir/usr/bin/jack_control"
+}
+
+_wafconf() {
+ python2 waf configure --prefix=/usr \
+ --alsa \
+ --firewire $@
+
+ # not building with doxygen
+ # see https://github.com/jackaudio/jack2/issues/22
+}
+
+prepare() {
+ cd "$srcdir"
+
+ # Some optimisation bug exists for current GCC
+ # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53663
+ #export CFLAGS="${CFLAGS/-O[0-9]/-O0}"
+ #export CXXFLAGS="$CFLAGS"
+
+ # fix doxygen building
+ # TODO: report upstream, but redundant until github issue 22 resolves
+ #sed -i 's:build/default/html:html:' $_tarname-$pkgver/wscript
+
+ # we may do 2 different builds
+ cp -r $_tarname-$pkgver $_tarname-dbus-$pkgver
+}
+
+build() {
+ cd "$srcdir"
+
+ # mixed dbus/classic build
+ if _isbuild jack2; then
+ cd $_tarname-$pkgver
+ msg2 "Running Mixed D-Bus/Classic build"
+ _wafconf --classic --dbus
+ python2 waf build $MAKEFLAGS
+ cd ..
+ fi
+
+ # dbus-ONLY build
+ if _isbuild jack2-dbus; then
+ cd $_tarname-dbus-$pkgver
+ msg2 "Running D-Bus-only build"
+ _wafconf --dbus
+ python2 waf build $MAKEFLAGS
+ cd ..
+ fi
+}
+
+package_jack2() {
+ ! _isbuild jack2 && return 0
+
+ pkgdesc="The next-generation JACK with SMP support"
+ depends=('libsamplerate' 'celt' 'opus' 'libffado')
+ optdepends=('python2: jack_control')
+ conflicts=('jack')
+ provides=('jack' 'jackmp' 'jackdmp' 'jackdbus')
+
+ cd "$srcdir/$_tarname-$pkgver"
+
+ python2 waf install --destdir="$pkgdir"
+
+ # fix for major python transition
+ _pyfix
+
+ # configure realtime access/scheduling
+ # see https://bugs.archlinux.org/task/26343
+ install -Dm644 "$srcdir/99-audio.conf" \
+ "$pkgdir/etc/security/limits.d/99-audio.conf"
+
+ install -Dm644 "$srcdir/40-hpet-permissions.rules" \
+ "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules"
+}
+
+package_jack2-dbus() {
+ ! _isbuild jack2-dbus && return 0
+
+ pkgdesc="The next-generation JACK with SMP support (for D-BUS interaction only)"
+ depends=('libsamplerate' 'celt' 'opus' 'libffado')
+ optdepends=('python2: jack_control')
+ conflicts=('jack' 'jack2')
+ provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus')
+
+ cd "$srcdir/$_tarname-dbus-$pkgver"
+
+ python2 waf install --destdir="$pkgdir"
+
+ _pyfix
+
+ install -Dm644 "$srcdir/99-audio.conf" \
+ "$pkgdir/etc/security/limits.d/99-audio.conf"
+
+ install -Dm644 "$srcdir/40-hpet-permissions.rules" \
+ "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/jad/PKGBUILD b/community/jad/PKGBUILD
new file mode 100644
index 000000000..30c8ea509
--- /dev/null
+++ b/community/jad/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 86961 2013-03-25 11:13:01Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: astaroth <astaroth_@web.de>
+
+pkgname=jad
+pkgver=1.5.8e
+pkgrel=4
+pkgdesc='Java decompiler'
+license=('custom')
+arch=('x86_64' 'i686')
+url='http://www.varaneckas.com/jad'
+source=("http://www.varaneckas.com/$pkgname/${pkgname}${pkgver//./}.linux.static.zip"
+ 'jad.html::http://www.varaneckas.com/jad')
+sha256sums=('2878e19fc1fdd725b516f538a57b02aaec1b2d1e4b106d550230381ffa9c0c81'
+ '4acee94ff29fe01ea2a9c4c0b47f22fb5a93fc667ee2dd8b6740f7f36bcbcdf2')
+
+build() {
+ cd "$srcdir"
+
+ grep '<code>' jad.html -A18 | sed 's:<code>::' | sed 's:</code>::' > LICENSE
+}
+
+package() {
+ cd "$srcdir"
+
+ install -Dm755 "$srcdir/$pkgname" "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 Readme.txt "$pkgdir/usr/share/doc/$pkgname/README"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/jansson/PKGBUILD b/community/jansson/PKGBUILD
new file mode 100644
index 000000000..db43bce92
--- /dev/null
+++ b/community/jansson/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 76779 2012-09-29 19:28:30Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Dave Reisner <d@falconindy.com>
+
+pkgname=jansson
+pkgver=2.4
+pkgrel=1
+pkgdesc='C library for encoding, decoding and manipulating JSON data'
+arch=('i686' 'x86_64')
+url='http://www.digip.org/jansson/'
+depends=('glibc')
+license=('MIT')
+options=('!libtool')
+source=("http://www.digip.org/$pkgname/releases/$pkgname-$pkgver.tar.bz2")
+md5sums=('3aaa1bb1195d705fac602b7504c9b945')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/javasqlite/PKGBUILD b/community/javasqlite/PKGBUILD
new file mode 100644
index 000000000..74e548fa0
--- /dev/null
+++ b/community/javasqlite/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 69678 2012-04-22 12:35:52Z guillaume $
+# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+
+pkgname=javasqlite
+pkgver=20120209
+pkgrel=1
+pkgdesc="Java support for SQLite database engine"
+arch=('i686' 'x86_64')
+url="http://www.ch-werner.de/javasqlite/"
+license=('custom:BSD-style')
+depends=('java-runtime' 'sqlite')
+makedepends=('java-environment')
+options=('!libtool')
+source=(http://www.ch-werner.de/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('a5c4f7760ed002749560068b2bd4bb25')
+sha1sums=('76aebb0a11b9e1f861ebaeab9ea3e5818b753ab3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -D -m 644 license.terms "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/jbig2dec/PKGBUILD b/community/jbig2dec/PKGBUILD
new file mode 100644
index 000000000..9ea0595f9
--- /dev/null
+++ b/community/jbig2dec/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90049 2013-05-06 19:37:57Z foutrelis $
+# Maintainer: Bartłomiej Piotrowski
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=jbig2dec
+pkgver=0.11
+pkgrel=6
+pkgdesc="decoder implementation of the JBIG2 image compression format"
+arch=('x86_64' 'i686')
+url="http://jbig2dec.sourceforge.net/"
+license=('GPL3')
+depends=('glibc' 'libpng')
+options=('!libtool')
+source=(https://github.com/rillian/jbig2dec/archive/$pkgver.tar.gz
+ $pkgname-$pkgver-libpng15.patch)
+sha256sums=('8af7b94b6026aff718d4b41ad990f2702f8fd4a348d565c4b48a695988ca0e9a'
+ 'ed871abd9419dbf35ba7f38d4835098d3838fd9400856ac4ec029e63bb42d859')
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np0 -i "$srcdir"/$pkgname-$pkgver-libpng15.patch
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADER/' configure.ac
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./autogen.sh --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/jbig2dec/jbig2dec-0.11-libpng15.patch b/community/jbig2dec/jbig2dec-0.11-libpng15.patch
new file mode 100644
index 000000000..c18ccb7af
--- /dev/null
+++ b/community/jbig2dec/jbig2dec-0.11-libpng15.patch
@@ -0,0 +1,31 @@
+--- configure.ac
++++ configure.ac
+@@ -45,7 +45,7 @@
+ fi
+ dnl libpng requires pow() which may be in libm
+ AC_SEARCH_LIBS([pow], [m])
+- AC_CHECK_LIB([png], [png_check_sig], [
++ AC_CHECK_LIB([png], [png_sig_cmp], [
+ AC_CHECK_LIB([z], [deflate], [
+ AC_DEFINE(HAVE_LIBPNG, 1, [Define if libpng is available (-lpng)])
+ LIBS="-lpng -lz $LIBS"
+--- jbig2_image_png.c
++++ jbig2_image_png.c
+@@ -33,7 +33,7 @@
+ {
+ png_size_t check;
+
+- check = fwrite(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
++ check = fwrite(data, 1, length, (png_FILE_p)png_get_io_ptr(png_ptr));
+ if (check != length) {
+ png_error(png_ptr, "Write Error");
+ }
+@@ -43,7 +43,7 @@
+ jbig2_png_flush(png_structp png_ptr)
+ {
+ png_FILE_p io_ptr;
+- io_ptr = (png_FILE_p)CVT_PTR((png_ptr->io_ptr));
++ io_ptr = (png_FILE_p)png_get_io_ptr(png_ptr);
+ if (io_ptr != NULL)
+ fflush(io_ptr);
+ }
diff --git a/community/jbigkit/PKGBUILD b/community/jbigkit/PKGBUILD
new file mode 100644
index 000000000..363c57193
--- /dev/null
+++ b/community/jbigkit/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 65580 2012-02-21 09:05:55Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Frank Ickstadt (frank dot ickstadt at gmail dot com)
+
+pkgname=jbigkit
+pkgver=2.0
+pkgrel=3
+pkgdesc="Data compression library/utilities for bi-level high-resolution images"
+arch=('i686' 'x86_64')
+url="http://www.cl.cam.ac.uk/~mgk25/jbigkit/"
+license=('GPL')
+depends=('glibc')
+source=(http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-$pkgver.tar.gz)
+md5sums=('3dd87f605abb1a97a22dc79d8b3e8f6c')
+
+build() {
+ cd $srcdir/$pkgname
+
+ make
+
+ install -D -m644 $srcdir/$pkgname/libjbig/libjbig.a $pkgdir/usr/lib/libjbig.a
+ install -D -m644 $srcdir/$pkgname/libjbig/libjbig85.a $pkgdir/usr/lib/libjbig85.a
+ install -D -m644 $srcdir/$pkgname/libjbig/jbig.h $pkgdir/usr/include/jbig.h
+ install -D -m644 $srcdir/$pkgname/libjbig/jbig_ar.h $pkgdir/usr/include/jbig_ar.h
+ install -D -m644 $srcdir/$pkgname/libjbig/jbig85.h $pkgdir/usr/include/jbig85.h
+
+ install -d -m755 $pkgdir/usr/share/man/man1
+# install -d -m755 $pkgdir/usr/share/man/man5
+ install -m644 $srcdir/$pkgname/pbmtools/*.1* $pkgdir/usr/share/man/man1
+# install -m644 $srcdir/$pkgname/pbmtools/*.5* $pkgdir/usr/share/man/man5
+
+ install -D -m755 $srcdir/$pkgname/pbmtools/jbgtopbm $pkgdir/usr/bin/jbgtopbm
+ install -D -m755 $srcdir/$pkgname/pbmtools/pbmtojbg $pkgdir/usr/bin/pbmtojbg
+ install -D -m755 $srcdir/$pkgname/pbmtools/jbgtopbm85 $pkgdir/usr/bin/jbgtopbm85
+ install -D -m755 $srcdir/$pkgname/pbmtools/pbmtojbg85 $pkgdir/usr/bin/pbmtojbg85
+
+ rm -f $pkgdir/usr/share/man/man5/p{b,g}m.5*
+}
diff --git a/community/jemalloc/PKGBUILD b/community/jemalloc/PKGBUILD
new file mode 100644
index 000000000..1cdca27a1
--- /dev/null
+++ b/community/jemalloc/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92707 2013-06-13 08:34:56Z mtorromeo $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Contributor: Kovivchak Evgen <oneonfire@gmail.com>
+
+pkgname=jemalloc
+pkgver=3.4.0
+pkgrel=1
+pkgdesc="General-purpose scalable concurrent malloc implementation"
+arch=('i686' 'x86_64')
+license=('BSD')
+url="http://www.canonware.com/jemalloc/"
+depends=('glibc')
+makedepends=('autoconf' 'make')
+source=(http://www.canonware.com/download/jemalloc/$pkgname-$pkgver.tar.bz2)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ mv "$pkgdir"/usr/bin/{,jemalloc-}pprof
+ chmod 644 "$pkgdir"/usr/lib/*.a
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+sha256sums=('f60802c4c2c60bc24598fd052494aea96f4426f3d4decd832eadeed520ff81c0')
diff --git a/community/jhead/LICENSE b/community/jhead/LICENSE
new file mode 100644
index 000000000..63ad89ebc
--- /dev/null
+++ b/community/jhead/LICENSE
@@ -0,0 +1,12 @@
+License:
+
+ Jhead is public domain software - that is, you can do whatever you want
+ with it, and include it software that is licensesed under the GNU or the
+ BSD license, or whatever other licence you chose, including proprietary
+ closed source licenses. Although not part of the liscense, I do expect
+ common courtesy, please.
+
+ If you do integrate the code into some software of yours, I'd appreciate
+ knowing about it though.
+
+Matthias Wandel
diff --git a/community/jhead/PKGBUILD b/community/jhead/PKGBUILD
new file mode 100644
index 000000000..4a2f0ccf3
--- /dev/null
+++ b/community/jhead/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 84285 2013-02-15 14:37:36Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: François Charette <francois ατ archlinux δοτ org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=jhead
+pkgver=2.97
+pkgrel=1
+pkgdesc='EXIF JPEG info parser and thumbnail remover'
+url="http://www.sentex.net/~mwandel/jhead/"
+arch=('i686' 'x86_64')
+license=('custom')
+depends=('glibc')
+optdepends=('libjpeg: to up-right images according to rotation tag')
+source=("http://www.sentex.net/~mwandel/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ LICENSE)
+md5sums=('23b037d0c54211973a3951e41a97c924'
+ '1f0db611d2642a981719f45252762a45')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ install -Dm755 jhead "${pkgdir}/usr/bin/jhead"
+ install -Dm644 jhead.1 "${pkgdir}/usr/share/man/man1/jhead.1"
+ install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/john/PKGBUILD b/community/john/PKGBUILD
new file mode 100644
index 000000000..20e0a3d7c
--- /dev/null
+++ b/community/john/PKGBUILD
@@ -0,0 +1,131 @@
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Dale Blount <dale@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Michal Krenek <mikos@sg1.cz>
+
+pkgname=john
+pkgver=1.7.9
+pkgrel=7
+_jumbover=7
+pkgdesc="John The Ripper - A fast password cracker (jumbo-$_jumbover included)"
+arch=('i686' 'x86_64')
+url="http://www.openwall.com/$pkgname/"
+license=('GPL2' 'custom')
+depends=('openssl')
+optdepends=("perl: for executing some of the scripts at /usr/share/john"
+ "ruby: for executing some of the scripts at /usr/share/john"
+ "python: for executing some of the scripts at /usr/share/john")
+backup=('etc/john/john.conf')
+install=john.install
+source=(http://www.openwall.com/$pkgname/g/$pkgname-$pkgver.tar.bz2
+ http://www.openwall.com/john/g/john-$pkgver-jumbo-$_jumbover.diff.gz
+ ftp://ftp.kfki.hu/pub/packages/security/ssh/ossh/libdes-4.04b.tar.gz
+ params.h.patch)
+md5sums=('45f54fc59386ecd67daaef9f19781d93'
+ 'b953fcb7f743eeeb5f938a28c352b8ef'
+ 'c8d5c69f86c2eedb485583b0305284a1'
+ 'f69ed632eba8fb9e45847a4b4a323787')
+
+build() {
+ # jumbo patch
+ cd ${srcdir}/$pkgname-$pkgver
+ patch -p1 < ${srcdir}/$pkgname-$pkgver-jumbo-$_jumbover.diff
+ cd ${srcdir}/john-$pkgver/src/
+
+ # patch default params
+ patch -p0 < ${srcdir}/params.h.patch
+ if [ "$CARCH" == "x86_64" ]; then
+ sed -i 's|CFLAGS = -c -Wall -O2|CFLAGS = -c -Wall -O2 -march=x86-64 -DJOHN_SYSTEMWIDE=1|' Makefile
+ sed -i 's|^LDFLAGS =\(.*\)|LDFLAGS =\1 -lm|' Makefile
+ sed -i -e 's|-m486||g' Makefile
+ else sed -i 's|CFLAGS = -c -Wall -O2|CFLAGS = -c -Wall -O2 -march=i686 -DJOHN_SYSTEMWIDE=1|' Makefile
+ fi
+ sed -i 's|LIBS = -ldes|LIBS = -ldes -Ldes|' Makefile
+# sed -i 's|#include <des.h>|#include "des/des.h"|' KRB5_fmt.c
+ sed -i 's|#include <des.h>|#include "des/des.h"|' KRB5_std.h
+
+ # enable OMP
+ sed -i 's|#OMPFLAGS = -fopenmp$|OMPFLAGS = -fopenmp|' Makefile
+
+ # build john
+ if [ "$CARCH" == "x86_64" ]; then
+ make linux-x86-64
+ else make linux-x86-mmx
+ fi
+}
+
+package() {
+ # config file
+ sed -i 's|$JOHN/john.local.conf|/etc/john/john.local.conf|g' ${srcdir}/john-$pkgver/run/john.conf
+ sed -i 's|$JOHN|/usr/share/john|g' ${srcdir}/john-$pkgver/run/john.conf
+ install -Dm644 ${srcdir}/john-$pkgver/run/john.conf ${pkgdir}/etc/john/john.conf
+
+ # docs
+ install -d ${pkgdir}/usr/share/doc/john
+ install -m644 ${srcdir}/john-$pkgver/doc/* ${pkgdir}/usr/share/doc/john/
+ install -Dm644 ${srcdir}/john-$pkgver/doc/LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+
+ # install password list, charset files
+ install -d ${pkgdir}/usr/share/john/
+ install -m644 ${srcdir}/${pkgname}-${pkgver}/run/password.lst ${pkgdir}/usr/share/john/
+ install -m644 ${srcdir}/${pkgname}-${pkgver}/run/dictionary.rfc2865 ${pkgdir}/usr/share/john/
+ install -m644 ${srcdir}/${pkgname}-${pkgver}/run/stats ${pkgdir}/usr/share/john/
+ install -m644 ${srcdir}/${pkgname}-${pkgver}/run/{all,alnum,alpha,digits,lanman}.chr \
+ ${pkgdir}/usr/share/john/
+ install -m644 ${srcdir}/${pkgname}-${pkgver}/run/{dumb16,dumb32,dynamic}.conf \
+ ${pkgdir}/usr/share/john/
+
+ # install scripts
+ john_scripts=(benchmark-unify \
+ cracf2john.py \
+ genincstats.rb \
+ ldif2john.pl \
+ lion2john-alt.pl \
+ lion2john.pl \
+ netntlm.pl \
+ netscreen.py \
+ odf2john.py \
+ pass_gen.pl \
+ radius2john.pl \
+ sap2john.pl \
+ sha-dump.pl \
+ sha-test.pl \
+ sipdump2john.py)
+ for john_script in "${john_scripts[@]}"; do
+ install -m755 ${srcdir}/${pkgname}-${pkgver}/run/${john_script} \
+ ${pkgdir}/usr/share/john
+ done
+
+ install -m644 ${srcdir}/${pkgname}-${pkgver}/run/dynamic.conf ${pkgdir}/etc/john/
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/run/john.bash_completion \
+ ${pkgdir}/etc/bash_completion.d/john
+
+ # install binaries
+ install -Dm755 ${srcdir}/john-$pkgver/run/john ${pkgdir}/usr/bin/john
+ install -Dm755 ${srcdir}/john-$pkgver/run/calc_stat ${pkgdir}/usr/bin/calc_stat
+ install -Dm755 ${srcdir}/john-$pkgver/run/genmkvpwd ${pkgdir}/usr/bin/genmkvpwd
+ install -Dm755 ${srcdir}/john-$pkgver/run/mkvcalcproba ${pkgdir}/usr/bin/mkvcalcproba
+ install -Dm755 ${srcdir}/john-$pkgver/run/relbench ${pkgdir}/usr/bin/relbench
+ install -Dm755 ${srcdir}/john-$pkgver/run/tgtsnarf ${pkgdir}/usr/bin/tgtsnarf
+ install -Dm755 ${srcdir}/john-$pkgver/run/mailer ${pkgdir}/usr/bin/john-mailer
+ install -Dm755 ${srcdir}/john-$pkgver/run/raw2dyna ${pkgdir}/usr/bin/raw2dyna
+
+ # create links
+ cd ${pkgdir}/usr/bin
+ ln -s john hccap2john
+ ln -s john keepass2john
+ ln -s john pdf2john
+ ln -s john pwsafe2john
+ ln -s john racf2john
+ ln -s john rar2john
+ ln -s john ssh2john
+ ln -s john unafs
+ ln -s john unique
+ ln -s john unshadow
+ ln -s john undrop
+ ln -s john zip2john
+}
+
+# vim:set ts=2 sw=2 et:
+
diff --git a/community/john/john.install b/community/john/john.install
new file mode 100644
index 000000000..21bc51c70
--- /dev/null
+++ b/community/john/john.install
@@ -0,0 +1,10 @@
+post_install() {
+ touch /etc/john/john.local.conf 2> /dev/null
+}
+
+
+post_upgrade() {
+ post_install $1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/john/params.h.patch b/community/john/params.h.patch
new file mode 100644
index 000000000..ba05a40ab
--- /dev/null
+++ b/community/john/params.h.patch
@@ -0,0 +1,13 @@
+--- params.h.orig 2006-03-17 08:23:42.000000000 -0500
++++ params.h 2006-03-17 08:50:35.000000000 -0500
+@@ -101,8 +101,8 @@
+ /*
+ * File names.
+ */
+-#define CFG_FULL_NAME "$JOHN/john.conf"
+-#define CFG_ALT_NAME "$JOHN/john.ini"
++#define CFG_FULL_NAME "/etc/john/john.conf"
++#define CFG_ALT_NAME "/etc/john/john.ini"
+ #if JOHN_SYSTEMWIDE
+ #define CFG_PRIVATE_FULL_NAME JOHN_PRIVATE_HOME "/john.conf"
+ #define CFG_PRIVATE_ALT_NAME JOHN_PRIVATE_HOME "/john.ini"
diff --git a/community/jshon/PKGBUILD b/community/jshon/PKGBUILD
new file mode 100644
index 000000000..d04a76d85
--- /dev/null
+++ b/community/jshon/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 80521 2012-11-23 18:22:00Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+pkgname=jshon
+pkgver=20121122
+pkgrel=1
+pkgdesc="A json parser for the shell."
+arch=('i686' 'x86_64')
+url="http://kmkeen.com/jshon/"
+license=('MIT')
+depends=('jansson')
+source=(http://kmkeen.com/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('b66f6b23b510fc2cb571dcb69121b24c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -Dm755 $pkgname "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 $pkgname.1 "$pkgdir/usr/share/man/man1/$pkgname.1"
+}
diff --git a/community/judy/PKGBUILD b/community/judy/PKGBUILD
new file mode 100644
index 000000000..e0fc510d8
--- /dev/null
+++ b/community/judy/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65582 2012-02-21 09:06:42Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: d'Ronin <daronin@2600.com>
+
+pkgname=judy
+pkgver=1.0.5
+pkgrel=3
+arch=('i686' 'x86_64')
+pkgdesc="C library creating and accessing dynamic arrays"
+makedepends=(gcc)
+options=(!strip)
+license=('LGPL')
+url="http://judy.sourceforge.net/"
+source=(http://downloads.sourceforge.net/judy/Judy-$pkgver.tar.gz)
+md5sums=('115a0d26302676e962ae2f70ec484a54')
+
+build()
+{
+ cd $srcdir/$pkgname-$pkgver
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr
+ make -j1
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/jwm/PKGBUILD b/community/jwm/PKGBUILD
new file mode 100644
index 000000000..ec6f017c1
--- /dev/null
+++ b/community/jwm/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 90050 2013-05-06 19:37:59Z foutrelis $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=jwm
+pkgver=2.1.0
+pkgrel=3
+pkgdesc="A lightweight window manager for the X11 Window System"
+arch=('i686' 'x86_64')
+url="http://joewing.net/programs/jwm/"
+license=('GPL2')
+depends=('libx11' 'libxft' 'libjpeg>=7' 'libxpm' 'libxinerama' 'libpng')
+backup=('etc/system.jwmrc')
+source=(http://joewing.net/programs/jwm/releases/jwm-$pkgver.tar.bz2)
+md5sums=('e8fab21b2410eb82032b7c3472af642c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-fribidi
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make BINDIR="$pkgdir/usr/bin" MANDIR="$pkgdir/usr/share/man" \
+ SYSCONF="$pkgdir/etc" install
+}
diff --git a/community/kaa-base/PKGBUILD b/community/kaa-base/PKGBUILD
new file mode 100644
index 000000000..89c535bc2
--- /dev/null
+++ b/community/kaa-base/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 68025 2012-03-17 01:28:26Z giovanni $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: DonVla <donvla@users.sourceforge.net>
+
+pkgname=kaa-base
+pkgver=0.6.0
+pkgrel=4
+pkgdesc="KAA base package"
+url="http://freevo.sourceforge.net/"
+license=('GPL2')
+depends=('python2' 'glib2')
+arch=('i686' 'x86_64')
+source=(http://downloads.sourceforge.net/freevo/$pkgname-$pkgver.tar.gz)
+md5sums=('5fdac0492dbbb412c2cafe32ea8c60a8')
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # python2 fix
+ 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 install --prefix=${pkgdir}/usr --optimize=1
+}
diff --git a/community/kaa-imlib2/PKGBUILD b/community/kaa-imlib2/PKGBUILD
new file mode 100644
index 000000000..ed9acf40f
--- /dev/null
+++ b/community/kaa-imlib2/PKGBUILD
@@ -0,0 +1,19 @@
+# $Id: PKGBUILD 86681 2013-03-21 01:58:58Z eric $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: DonVla <donvla@users.sourceforge.net>
+
+pkgname=kaa-imlib2
+pkgver=0.2.3
+pkgrel=5
+pkgdesc="KAA imlib2 package"
+url="http://freevo.sourceforge.net/"
+license=('GPL2')
+depends=('imlib2' 'python2' 'kaa-base')
+arch=('i686' 'x86_64')
+source=(http://downloads.sourceforge.net/freevo/$pkgname-$pkgver.tar.gz)
+md5sums=('64828ede785ab0dd2d3c1f2f36c99342')
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py install --prefix="$pkgdir/usr"
+}
diff --git a/community/kaa-metadata/PKGBUILD b/community/kaa-metadata/PKGBUILD
new file mode 100644
index 000000000..29be1626d
--- /dev/null
+++ b/community/kaa-metadata/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 68029 2012-03-17 01:35:40Z giovanni $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: DonVla <donvla@users.sourceforge.net>
+
+pkgname=kaa-metadata
+pkgver=0.7.7
+pkgrel=4
+pkgdesc="KAA metadata package"
+url="http://freevo.sourceforge.net/"
+license=('GPL2')
+depends=('libdvdread' 'python2' 'kaa-base')
+arch=('i686' 'x86_64')
+source=(http://downloads.sourceforge.net/freevo/$pkgname-$pkgver.tar.gz)
+md5sums=('4bca23a0c695b4281ae2220022cdeb77')
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # python2 fix
+ 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 install --prefix=${pkgdir}/usr --optimize=1
+
+ # rename executable, conflicts with mmpython FS#14601
+ mv ${pkgdir}/usr/bin/mminfo ${pkgdir}/usr/bin/kaa-mminfo
+}
diff --git a/community/kadu/PKGBUILD b/community/kadu/PKGBUILD
new file mode 100644
index 000000000..c34fcdf61
--- /dev/null
+++ b/community/kadu/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 89897 2013-05-05 09:24:04Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Mateusz Herych
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+
+pkgname=kadu
+pkgver=0.12.3
+pkgrel=3
+pkgdesc='Qt-based Jabber/XMPP and Gadu-Gadu client'
+arch=('i686' 'x86_64')
+url='http://www.kadu.net/'
+license=('GPL')
+depends=('libgadu' 'libxss' 'enchant' 'phonon' 'qca-ossl'
+ 'libidn' 'libmpdclient' 'qtwebkit' 'xdg-utils')
+makedepends=('cmake' 'libao' 'libsndfile' 'libxtst' 'curl' 'optipng')
+install=kadu.install
+source=(http://download.kadu.im/stable/$pkgname-$pkgver.tar.bz2)
+sha256sums=('d607bbd0d00b01bfb70dd15f15c8be4076896a935041651e67a3887ad12ab8a8')
+
+prepare() {
+ find -name '*.png' -exec optipng -quiet -force -fix {} +
+}
+
+build() {
+ mkdir build
+ cd build
+
+ cmake ../$pkgname-$pkgver \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib
+ make
+}
+
+package() {
+ cd build
+ make DESTDIR=$pkgdir LIBDIR=/usr/lib install
+
+ mv $pkgdir/usr/sdk $pkgdir/usr/share/kadu/sdk
+ rm -rf $pkgdir/usr/{lib,include}/{libgadu*,pkgconfig}
+}
diff --git a/community/kadu/kadu.install b/community/kadu/kadu.install
new file mode 100644
index 000000000..f32ae9d17
--- /dev/null
+++ b/community/kadu/kadu.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
diff --git a/community/kakasi/PKGBUILD b/community/kakasi/PKGBUILD
new file mode 100644
index 000000000..846869370
--- /dev/null
+++ b/community/kakasi/PKGBUILD
@@ -0,0 +1,26 @@
+# Contributor: Allan McRae <mcrae_allan@hotmail.com>
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=kakasi
+pkgver=2.3.4
+pkgrel=4
+pkgdesc="Convert Kanji characters to Hiragana, Katakana or Romaji"
+arch=('i686' 'x86_64')
+url="http://kakasi.namazu.org/"
+license=('GPL')
+source=("http://kakasi.namazu.org/stable/${pkgname}-${pkgver}.tar.gz")
+depends=('sh')
+md5sums=(4eff51aafbd56c9635791a20c03efa8f)
+options=(!libtool)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/kaudiocreator/PKGBUILD b/community/kaudiocreator/PKGBUILD
new file mode 100644
index 000000000..730b924da
--- /dev/null
+++ b/community/kaudiocreator/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 74831 2012-08-06 23:08:36Z andrea $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Nick B <Shirakawasuna at gmail _dot_com>
+
+pkgname=kaudiocreator
+pkgver=1.3
+pkgrel=3
+pkgdesc="A program for ripping and encoding Audio-CDs, encoding files from disk"
+arch=('i686' 'x86_64')
+url="http://www.kde-apps.org/content/show.php/KAudioCreator?content=107645"
+license=('GPL')
+depends=('kdebase-runtime' 'libkcddb' 'libkcompactdisc' 'taglib' 'libdiscid')
+makedepends=('cmake' 'automoc4')
+install="${pkgname}.install"
+source=("http://www.kde-apps.org/CONTENT/content-files/107645-${pkgname}-${pkgver}.tar.bz2")
+md5sums=('6adce848d3cdc9d80a52d35144890c86')
+
+build() {
+ cd ${srcdir}
+
+ mkdir build
+ cd build
+
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/kaudiocreator/kaudiocreator.install b/community/kaudiocreator/kaudiocreator.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/community/kaudiocreator/kaudiocreator.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/kbibtex/PKGBUILD b/community/kbibtex/PKGBUILD
new file mode 100644
index 000000000..abcd8d8b8
--- /dev/null
+++ b/community/kbibtex/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 87529 2013-04-02 15:44:34Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Antonio Rojas <nqn1976 @ gmail.com>
+# Contributor: cmorlok <christianmorlok@web.de>
+
+pkgname=kbibtex
+pkgver=0.4.1
+_branch=0.4
+pkgrel=2
+pkgdesc="A BibTeX editor for KDE"
+arch=('i686' 'x86_64')
+url='http://home.gna.org/kbibtex/'
+license=('GPL')
+depends=('kdebase-runtime' 'kdegraphics-okular')
+makedepends=('cmake' 'automoc4')
+install=$pkgname.install
+source=("http://download.gna.org/$pkgname/$_branch/$pkgname-$pkgver.tar.bz2")
+md5sums=('657eda1da48198a3c336ff268ce46d6f')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/kbibtex/kbibtex.install b/community/kbibtex/kbibtex.install
new file mode 100644
index 000000000..139cb5694
--- /dev/null
+++ b/community/kbibtex/kbibtex.install
@@ -0,0 +1,15 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/kcheckers/PKGBUILD b/community/kcheckers/PKGBUILD
new file mode 100644
index 000000000..87f3a5ad8
--- /dev/null
+++ b/community/kcheckers/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 85364 2013-03-01 10:34:09Z andrea $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=kcheckers
+pkgver=0.8.1
+pkgrel=8
+pkgdesc="Qt4-based checkers boardgame"
+arch=('i686' 'x86_64')
+url="http://qcheckers.sourceforge.net/"
+license=('GPL')
+depends=('qt4')
+source=(http://downloads.sourceforge.net/qcheckers/${pkgname}-${pkgver}.tar.gz kcheckers.desktop)
+md5sums=('793736a007cd92122dfd91bcfd14ab69'
+ '25b2605f4d605615e265150b722f1897')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's|/usr/local|/usr|' common.h
+ qmake kcheckers.pro
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make INSTALL_ROOT="${pkgdir}/usr" install
+ install -Dm644 "${srcdir}/kcheckers.desktop" "${pkgdir}/usr/share/applications/kcheckers.desktop"
+}
diff --git a/community/kcheckers/kcheckers.desktop b/community/kcheckers/kcheckers.desktop
new file mode 100644
index 000000000..815cfb4a8
--- /dev/null
+++ b/community/kcheckers/kcheckers.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Kcheckers
+Comment=Checkers/Daughts game using Qt4 toolkit
+Exec=kcheckers
+Icon=/usr/share/kcheckers/themes/simple_small/kingwhite.png
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Game;BoardGame;
diff --git a/community/kchmviewer/PKGBUILD b/community/kchmviewer/PKGBUILD
new file mode 100644
index 000000000..3a41d670c
--- /dev/null
+++ b/community/kchmviewer/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 85365 2013-03-01 10:34:18Z andrea $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Alexander Bogdanov <andorn@gmail.com>
+
+pkgname=kchmviewer
+pkgver=6.0
+pkgrel=3
+pkgdesc="A .chm files (MS HTML help file format) viewer"
+arch=('i686' 'x86_64')
+url="http://kchmviewer.sourceforge.net/"
+license=('GPL')
+depends=('desktop-file-utils' 'chmlib' 'kdebase-runtime' 'xdg-utils')
+makedepends=('automoc4' 'cmake')
+options=('libtool')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('81c856434a86977039c36cb10f2427cc8cb1ea29a778f24fff2285d49c717979')
+
+build() {
+ cd $pkgname-$pkgver
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+
+#icon file
+ install -D -m644 ${srcdir}/$pkgname-$pkgver/packages/$pkgname.png \
+ ${pkgdir}/usr/share/pixmaps/$pkgname.png
+
+#msits.protocol file provided by kdegraphics-okular package
+ rm -rf ${pkgdir}/usr/share/kde4
+#kio_msits.so file provided by kdegraphics-okular package - FS#14376
+ rm -rf ${pkgdir}/usr/lib
+}
diff --git a/community/kchmviewer/kchmviewer.changelog b/community/kchmviewer/kchmviewer.changelog
new file mode 100644
index 000000000..3204bc3dc
--- /dev/null
+++ b/community/kchmviewer/kchmviewer.changelog
@@ -0,0 +1,29 @@
+2011-12-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kchmviewer 6.0-1
+
+2011-01-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kchmviewer-5.3
+
+2010-06-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 5.2
+
+2009-12-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 5.1
+
+2009-07-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 4.1
+
+2009-04-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#14376 fixed
+
+2009-03-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#12349 fixed
+
+2008-12-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 4.0 final
+
+2008-11-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 4.0beta3 - KDE4 version
+
+2007-08-09 Vinay S Shastry <vinayshastry@gmail.com>
+ * PKGBUILD: do not delete libtool files.
diff --git a/community/kchmviewer/kchmviewer.install b/community/kchmviewer/kchmviewer.install
new file mode 100644
index 000000000..82baa7bf0
--- /dev/null
+++ b/community/kchmviewer/kchmviewer.install
@@ -0,0 +1,12 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/kcm-fcitx/PKGBUILD b/community/kcm-fcitx/PKGBUILD
new file mode 100644
index 000000000..6b24e756e
--- /dev/null
+++ b/community/kcm-fcitx/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 93373 2013-07-02 09:47:29Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: poplarch <poplarch@gmail.com>
+
+pkgname=kcm-fcitx
+pkgver=0.4.3
+pkgrel=1
+pkgdesc="KDE Config Module for Fcitx"
+arch=('i686' 'x86_64')
+url="https://github.com/fcitx/kcm-fcitx"
+license=('GPL')
+depends=('fcitx>=4.2.7' 'kdebase-runtime' 'fcitx-qt4')
+makedepends=('cmake' 'automoc4')
+source=("http://download.fcitx-im.org/$pkgname/$pkgname-${pkgver}.tar.xz")
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DQT_QMAKE_EXECUTABLE=qmake-qt4 ..
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+}
+
+sha512sums=('d311699a5d99f75d353899b7fba0a950491ee8b891724b855033449900ec4b3db9408bb1b80e60ceb0dbb0ce91072162062261a497f83a2a683214b71c3f4713')
diff --git a/community/kdbg/PKGBUILD b/community/kdbg/PKGBUILD
new file mode 100644
index 000000000..7ed9d510c
--- /dev/null
+++ b/community/kdbg/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 89959 2013-05-06 10:40:38Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Eric Belanger <belanger@astro.umontreal.ca>
+# Contributor: Jason Taylor <jftaylor21@gmail.com>
+# Contributor: Georg Grabler <ggrabler@chello.at>
+
+pkgname=kdbg
+pkgver=2.5.3
+pkgrel=2
+pkgdesc="A gdb GUI for KDE"
+arch=('i686' 'x86_64')
+url="http://www.kdbg.org"
+license=('GPL')
+depends=('kdebase-runtime' 'gdb')
+makedepends=('automoc4' 'cmake' 'optipng')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/project/kdbg/Source%20Code/$pkgver/kdbg-$pkgver.tar.gz")
+md5sums=('345183d07eb11a9c841d3dc34b734613')
+
+build() {
+ cd $srcdir
+ mkdir -p build
+ cd build
+ cmake ../${pkgname}-${pkgver} -DCMAKE_INSTALL_PREFIX=/usr
+ make
+ find -name '*.png' -exec optipng -quiet -force -fix {} \;
+}
+
+package() {
+ cd $srcdir/build
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/kde-gtk-config/PKGBUILD b/community/kde-gtk-config/PKGBUILD
new file mode 100644
index 000000000..88840a813
--- /dev/null
+++ b/community/kde-gtk-config/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 89140 2013-04-27 07:58:51Z lcarlier $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: birdflesh <antkoul at gmail dot com>
+
+pkgname=kde-gtk-config
+pkgver=2.2.1
+pkgrel=1
+pkgdesc="GTK2 and GTK3 Configurator for KDE"
+arch=('i686' 'x86_64')
+url="https://projects.kde.org/kde-gtk-config"
+license=('GPL3')
+depends=('kdelibs')
+makedepends=('cmake' 'automoc4' 'gtk2' 'gtk3')
+optdepends=('gtk2: GTK+ v2 support'
+ 'gtk3: GTK+ v3 support')
+source=("http://download.kde.org/stable/$pkgname/$pkgver/src/$pkgname-$pkgver.tar.xz")
+md5sums=('d155ed431d509e54a60383a70b700e1c')
+install=$pkgname.install
+
+build() {
+ cd "$srcdir"
+
+ mkdir -p build && cd build
+
+ cmake ../$pkgname-$pkgver \
+ -DQT_QMAKE_EXECUTABLE=qmake-qt4 \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package(){
+ cd "$srcdir/build"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/kde-gtk-config/kde-gtk-config.install b/community/kde-gtk-config/kde-gtk-config.install
new file mode 100644
index 000000000..6905e303e
--- /dev/null
+++ b/community/kde-gtk-config/kde-gtk-config.install
@@ -0,0 +1,11 @@
+post_install() {
+xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+} \ No newline at end of file
diff --git a/community/kde4-kio-rapip/PKGBUILD b/community/kde4-kio-rapip/PKGBUILD
new file mode 100644
index 000000000..d014800a4
--- /dev/null
+++ b/community/kde4-kio-rapip/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 65608 2012-02-21 09:35:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: ReNoM <renom@list.ru>
+
+pkgname=kde4-kio-rapip
+pkgver=0.2
+pkgrel=2
+pkgdesc="KIOSlave to browse through the PDA file system via the SynCE infrastructure"
+arch=(i686 x86_64)
+url="http://synce.sourceforge.net/"
+license="MIT"
+depends=('kdelibs' 'synce-libsynce' 'synce-librapi')
+makedepends=('gcc' 'cmake' 'automoc4')
+install=kde4-kio-rapip.install
+source=(http://downloads.sourceforge.net/synce/$pkgname-$pkgver.tar.gz)
+md5sums=('94473e10e1b4dd6040c646a8c7421d0c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR=$pkgdir install
+ install -Dm0644 LICENSE $pkgdir/usr/share/licenses/kde4-kio-rapip/LICENSE
+}
diff --git a/community/kde4-kio-rapip/kde4-kio-rapip.install b/community/kde4-kio-rapip/kde4-kio-rapip.install
new file mode 100644
index 000000000..b3ddbc43f
--- /dev/null
+++ b/community/kde4-kio-rapip/kde4-kio-rapip.install
@@ -0,0 +1,14 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+ update-mime-database usr/share/mime 1>/dev/null 2>/dev/null || true
+}
+
+post_upgrade() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+ update-mime-database usr/share/mime 1>/dev/null 2>/dev/null || true
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+ update-mime-database usr/share/mime 1>/dev/null 2>/dev/null || true
+}
diff --git a/community/kdenlive/PKGBUILD b/community/kdenlive/PKGBUILD
new file mode 100644
index 000000000..87705015f
--- /dev/null
+++ b/community/kdenlive/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 92336 2013-06-04 05:10:18Z svenstaro $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zuf <kontakt.zuf@gmail.com>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+
+pkgname=kdenlive
+pkgver=0.9.6
+pkgrel=2
+pkgdesc="A non-linear video editor for Linux"
+arch=('i686' 'x86_64')
+# http://download.kde.org/stable/kdenlive/
+url="http://www.kdenlive.org/"
+license=('GPL')
+depends=('kdebase-runtime' 'mlt' 'qjson' 'libqzeitgeist')
+makedepends=('automoc4' 'cmake' 'gettext' 'mesa' 'glu')
+optdepends=('recordmydesktop: screen capture'
+ 'dvdauthor: dvd creation'
+ 'dvgrab: firewire capture'
+ 'xine-ui: dvd preview'
+ 'cdrkit: dvd iso image creation')
+install=kdenlive.install
+options=('docs')
+source=(http://download.kde.org/stable/kdenlive/$pkgver/src/kdenlive-$pkgver.tar.bz2)
+md5sums=('3bd3a511b860490acc367e7c9d7ffa43')
+
+build() {
+ export LDFLAGS="$LDFLAGS -lX11"
+ cd "${srcdir}"
+ mkdir -p build
+ cd build
+ cmake ../kdenlive-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_INSTALL_DIR=/usr/lib \
+ -DLINK_LIBRARIES=-lX11
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/kdenlive/kdenlive.install b/community/kdenlive/kdenlive.install
new file mode 100644
index 000000000..53a1827fd
--- /dev/null
+++ b/community/kdenlive/kdenlive.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/kdesvn/PKGBUILD b/community/kdesvn/PKGBUILD
new file mode 100644
index 000000000..96d0a7028
--- /dev/null
+++ b/community/kdesvn/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 75515 2012-08-26 19:36:08Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=kdesvn
+pkgver=1.6.0
+pkgrel=1
+pkgdesc="A pure C++ SVN-client for KDE"
+arch=('i686' 'x86_64')
+url="http://kdesvn.alwins-world.de/"
+license=('GPL')
+depends=('kdebase-runtime' 'subversion')
+makedepends=('automoc4' 'cmake' 'patch')
+conflicts=('qsvn')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://kdesvn.alwins-world.de/downloads/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('05686f246b76810f90a9f80f1d45cdccf812b42e18fa10a16b14e7d27d370f96')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_CXX_FLAGS="-DQT_THREAD_SUPPORT" \
+ -DLIB_SUFFIX=
+
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+
+#removing conflicting files - kdesdk
+ rm -f ${pkgdir}/usr/share/kde4/services/svn*
+
+#removing $srcdir reference
+ rm -rf ${pkgdir}/usr/share/doc
+}
diff --git a/community/kdesvn/kdesvn.changelog b/community/kdesvn/kdesvn.changelog
new file mode 100644
index 000000000..0a9b5d864
--- /dev/null
+++ b/community/kdesvn/kdesvn.changelog
@@ -0,0 +1,58 @@
+2012-08-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.6.0-1
+
+2010-09-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.5.5
+
+2010-04-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.5.3
+
+2010-01-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.5.1
+
+2010-01-11 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.5.0
+
+2009-10-01 Biru Ionut <ionut@archlinux.ro>
+ * Update to major release 1.4.1
+
+2009-07-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.3.2
+
+2009-05-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.3.1
+
+2009-05-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#14602 fixed in 1.3.0-2
+
+2009-04-30 Biru Ionut <biru.ionut@gmail.com>
+ * rebuild for x86_64 #FS14506
+
+2009-04-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.3.0
+
+2009-02-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.2.4
+
+2009-01-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.2.3
+
+2008-11-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.2.2
+
+2008-10-08 Eric Belanger <eric@archlinux.org>
+ * Removed unneede file sourcing
+
+2008-10-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Removed conflicting files in 1.2.1-2
+ * The one provided with kdesdk are more complete.
+
+2008-10-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.2.1 - KDE4 version
+
+2008-09-23 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.2
+
+2008-08-31 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.1
+
diff --git a/community/kdesvn/kdesvn.install b/community/kdesvn/kdesvn.install
new file mode 100644
index 000000000..5c501dc49
--- /dev/null
+++ b/community/kdesvn/kdesvn.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/keepalived/PKGBUILD b/community/keepalived/PKGBUILD
new file mode 100644
index 000000000..c5bb554c4
--- /dev/null
+++ b/community/keepalived/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 90520 2013-05-12 23:55:17Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Andrea Zucchelli <zukka77@gmail.com>
+
+pkgname=keepalived
+pkgver=1.2.7
+pkgrel=3
+pkgdesc='Failover and monitoring daemon for LVS clusters'
+arch=('i686' 'x86_64')
+url='http://www.keepalived.org/'
+license=('GPL2')
+backup=('etc/keepalived/keepalived.conf')
+depends=('openssl' 'popt' 'libnl1')
+source=("http://www.keepalived.org/software/$pkgname-$pkgver.tar.gz"
+ 'keepalived.service')
+md5sums=('8551a34ee048895dbe5350a031ff29c1'
+ '0a5171f4298528315e8a8004b55befb7')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ # clean pacakge init scripts
+ rm -r "$pkgdir/etc/rc.d" "$pkgdir/etc/sysconfig"
+ # move examples to /usr/share
+ install -d -m 755 "$pkgdir/usr/share/$pkgname"
+ mv "$pkgdir/etc/keepalived/samples" "$pkgdir/usr/share/$pkgname/samples"
+ # systemd
+ install -D -m 644 "$srcdir/$pkgname.service" \
+ "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/keepalived/keepalived.service b/community/keepalived/keepalived.service
new file mode 100644
index 000000000..a1bbeabb3
--- /dev/null
+++ b/community/keepalived/keepalived.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Keepalive Daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/keepalived --dont-fork
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/keepassx/ChangeLog b/community/keepassx/ChangeLog
new file mode 100644
index 000000000..7e326dab6
--- /dev/null
+++ b/community/keepassx/ChangeLog
@@ -0,0 +1,16 @@
+2008-12-08 Alexander Fehr <pizzapunk gmail com>
+
+ * keepassx-0.3.4-1:
+ New upstream release.
+
+2008-08-14 Alexander Fehr <pizzapunk gmail com>
+
+ * keepassx-0.3.3-1:
+ New upstream release.
+
+2008-07-31 Alexander Fehr <pizzapunk gmail com>
+
+ * keepassx-0.3.2-1:
+ New upstream release.
+ Added dependency on libxtst.
+ Added ChangeLog.
diff --git a/community/keepassx/PKGBUILD b/community/keepassx/PKGBUILD
new file mode 100644
index 000000000..3aaedec5e
--- /dev/null
+++ b/community/keepassx/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 89961 2013-05-06 10:41:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Greg Bouzakis <gregbouzakis@gmail.com>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: Philipp Giebel <arch@ambience-design.net>
+
+pkgname=keepassx
+pkgver=0.4.3
+pkgrel=5
+pkgdesc='Password manager'
+arch=('i686' 'x86_64')
+url='http://www.keepassx.org'
+license=('GPL2')
+depends=('libxtst' 'qt4' 'shared-mime-info')
+makedepends=('optipng')
+install=keepassx.install
+source=(http://downloads.sourceforge.net/keepassx/$pkgname-$pkgver.tar.gz)
+md5sums=('1df67bb22b2e08df49f09e61d156f508')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i '1,1i#include <unistd.h>' src/lib/random.cpp
+ qmake-qt4
+ make
+ find -name '*.png' -exec optipng -quiet -force -fix {} \;
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make INSTALL_ROOT=$pkgdir install
+}
diff --git a/community/keepassx/keepassx.install b/community/keepassx/keepassx.install
new file mode 100644
index 000000000..6210bd0ab
--- /dev/null
+++ b/community/keepassx/keepassx.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/keybinder2/PKGBUILD b/community/keybinder2/PKGBUILD
new file mode 100644
index 000000000..e28e6d131
--- /dev/null
+++ b/community/keybinder2/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
+pkgname=('libkeybinder2' 'python2-keybinder2')
+pkgbase=keybinder2
+_offname=keybinder
+pkgver=0.3.0
+pkgrel=1
+pkgdesc='Library for registering global keyboard shortcuts'
+arch=('i686' 'x86_64')
+url='http://kaizer.se/wiki/keybinder/'
+license=('GPL')
+makedepends=('pygtk')
+options=(!libtool)
+source=(http://kaizer.se/publicfiles/${_offname}/${_offname}-${pkgver}.tar.gz)
+sha256sums=('42863ca0174d568a8c02c6fb243fee1681823825e8bcb1718c51611d8e9793bb')
+
+build() {
+ cd "${srcdir}/${_offname}-${pkgver}"
+ export PYTHON=/usr/bin/python2
+ ./configure \
+ --prefix=/usr \
+ --disable-lua
+ make
+}
+
+package_libkeybinder2() {
+ pkgdesc='Library for registering global keyboard shortcuts'
+ depends=('gtk2')
+
+ cd "${srcdir}/${_offname}-${pkgver}"
+ make DESTDIR="${pkgdir}/" install
+ rm -rf ${pkgdir}/usr/lib/python2.7
+}
+
+package_python2-keybinder2() {
+ pkgdesc='Library for registering global keyboard shortcuts - Python 2 bindings'
+ depends=('libkeybinder2' 'pygtk')
+ provides=('python-keybinder')
+
+ cd "${srcdir}/${_offname}-${pkgver}"
+ make DESTDIR="${pkgdir}/" install
+ rm -rf ${pkgdir}/usr/lib/{girepository-1.0,libkeybinder*,pkgconfig}
+ rm -rf ${pkgdir}/usr/{include,share}
+}
diff --git a/community/kgraphviewer/PKGBUILD b/community/kgraphviewer/PKGBUILD
new file mode 100644
index 000000000..e40108382
--- /dev/null
+++ b/community/kgraphviewer/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 57923 2011-11-04 14:25:20Z lcarlier $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=kgraphviewer
+pkgver=2.1.1
+pkgrel=3
+pkgdesc="A Graphviz dot graph file viewer for KDE"
+arch=('i686' 'x86_64')
+url='http://opendesktop.org/content/show.php?content=23999'
+license=('GPL' 'FDL')
+depends=('kdebase-runtime' 'kdepimlibs' 'graphviz')
+makedepends=('cmake' 'automoc4' 'boost' 'docbook-xsl')
+install="${pkgname}.install"
+source=("https://api.opensuse.org/public/source/home:milianw:kdeapps/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('6cc548221d8a741d13929993615c00f3')
+
+build(){
+ cd ${srcdir}
+
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/kgraphviewer/kgraphviewer.install b/community/kgraphviewer/kgraphviewer.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/community/kgraphviewer/kgraphviewer.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/kicad/PKGBUILD b/community/kicad/PKGBUILD
new file mode 100644
index 000000000..e7c2708ee
--- /dev/null
+++ b/community/kicad/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 92569 2013-06-08 18:17:35Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Marq Schneider <queueRAM@gmail.com>
+
+pkgname=kicad
+pkgver=20130518
+_pkgver=${pkgver:0:4}-${pkgver:4:2}-${pkgver:6:2}
+_pkgbzr=4017
+pkgrel=1
+pkgdesc="Electronic schematic and printed circuit board (PCB) design tools"
+arch=('i686' 'x86_64')
+url="http://iut-tice.ujf-grenoble.fr/kicad/"
+license=('GPL')
+depends=('glu' 'wxgtk' 'hicolor-icon-theme' 'desktop-file-utils')
+makedepends=('cmake' 'zlib' 'mesa')
+optdepends=('kicad-docs-bzr: for documentation'
+ 'kicad-library-bzr: for footprints')
+install=kicad.install
+source=(http://iut-tice.ujf-grenoble.fr/cao/${pkgname}-sources-stable_${_pkgver}_BZR${_pkgbzr}.zip
+ kicad-boost-polygon-declare-gtlsort-earlier.patch)
+md5sums=('9e6aab0f2ad01a17c8ec96cd9162dc79'
+ 'a2c39704238946e74a5ed0c38326345f')
+
+build() {
+ cd "$srcdir/stable_${_pkgver}_BZR${_pkgbzr}"
+
+ patch -p0 < "$srcdir/kicad-boost-polygon-declare-gtlsort-earlier.patch"
+
+ # harmless build blocking error
+ # see https://lists.launchpad.net/kicad-developers/msg07841.html
+ # for proper fix
+ sed -i 's|^#.*error "You must use|//&|' include/common.h
+
+ # FS#31559
+ sed -i 's/-O2/-O1/' CMakeLists.txt
+
+ # build and install kicad
+ mkdir -p build/Release
+ cd build/Release
+ cmake ../.. -DKICAD_STABLE_VERSION=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/stable_${_pkgver}_BZR${_pkgbzr}/build/Release"
+
+ make DESTDIR="$pkgdir" install
+
+ # copy updated linux icons
+ #cp -r -n "$srcdir/$pkgname-icons/resources/linux/mime/icons" "$pkgdir/usr/share/"
+}
+
diff --git a/community/kicad/kicad-boost-polygon-declare-gtlsort-earlier.patch b/community/kicad/kicad-boost-polygon-declare-gtlsort-earlier.patch
new file mode 100644
index 000000000..b0c992297
--- /dev/null
+++ b/community/kicad/kicad-boost-polygon-declare-gtlsort-earlier.patch
@@ -0,0 +1,11 @@
+--- include/boost/polygon/polygon.hpp.orig 2012-04-09 13:07:03.293907598 -0500
++++ include/boost/polygon/polygon.hpp 2012-04-09 13:07:43.759923812 -0500
+@@ -24,6 +24,8 @@
+ #include "transform.hpp"
+ #include "detail/transform_detail.hpp"
+
++#include "detail/polygon_sort_adaptor.hpp"
++
+ //interval
+ #include "interval_data.hpp"
+ #include "interval_traits.hpp"
diff --git a/community/kicad/kicad.install b/community/kicad/kicad.install
new file mode 100644
index 000000000..7c21ff4c7
--- /dev/null
+++ b/community/kicad/kicad.install
@@ -0,0 +1,15 @@
+pkgname=kicad
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-mime-database usr/share/mime > /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/kid3/PKGBUILD b/community/kid3/PKGBUILD
new file mode 100644
index 000000000..270ecbee0
--- /dev/null
+++ b/community/kid3/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 86189 2013-03-12 21:45:28Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Alois Nespor <alois.nespor@gmail.com>
+
+pkgname=kid3
+pkgver=2.3
+pkgrel=1
+pkgdesc="An MP3, Ogg/Vorbis and FLAC tag editor for KDE"
+arch=('i686' 'x86_64')
+url="http://kid3.sourceforge.net/"
+license=('GPL')
+depends=('chromaprint' 'id3lib' 'taglib' 'kdebase-runtime')
+makedepends=('automoc4' 'cmake' 'docbook-xml' 'docbook-xsl')
+options=('!makeflags')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('8426b40b065f5a968796d1ff92da8d7a96d67cd963df837ce30ff1cf795ae301')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ cd ${srcdir}
+
+ mkdir build
+ cd build
+
+ cmake \
+ ../${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+
+ make
+}
+
+package() {
+ cd build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/kid3/kid3.changelog b/community/kid3/kid3.changelog
new file mode 100644
index 000000000..9376c5d71
--- /dev/null
+++ b/community/kid3/kid3.changelog
@@ -0,0 +1,41 @@
+2013-03-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.3-1
+
+2012-12-16 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.2.1-1
+
+2012-10-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.2-1
+
+2012-06-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.1-4 ffmpeg 0.11 rebuild
+
+2012-05-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.1-1
+
+2011-11-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.0.1-1
+
+2011-09-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.0-1
+
+2011-02-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 1.6
+
+2010-09-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v1.5
+
+2010-03-13 Andrea Scarpino <andrea@archlinux.org>
+ * Update to major release v1.4
+ * MP4V2 enabled
+ * Cleanup dependencies
+
+2010-01-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v1.3
+ * MP4V2 disabled, package in [extra] needs to be updated to be used with kid3
+
+2009-04-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v1.2
+
+2008-10-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v1.1
diff --git a/community/kid3/kid3.install b/community/kid3/kid3.install
new file mode 100644
index 000000000..8ec315e7c
--- /dev/null
+++ b/community/kid3/kid3.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/kimtoy/PKGBUILD b/community/kimtoy/PKGBUILD
new file mode 100644
index 000000000..f278a3d5f
--- /dev/null
+++ b/community/kimtoy/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: CSSlayer <wengxt@gmail.com>
+
+pkgname=kimtoy
+pkgver=1.9.2
+pkgdesc="Standalone input method panel"
+pkgrel=1
+arch=(i686 x86_64)
+url="http://kde-apps.org/content/show.php/KIMToy?content=140967"
+license=(GPL)
+makedepends=(cmake automoc4 fcitx scim dbus-c++) #ibus) ibus support not working due to upstream ABI change
+depends=(kdebase-workspace)
+optdepends=('fcitx: fcitx support'
+ 'scim: scim support'
+ 'dbus-c++: scim support')
+ #'ibus: ibus support') ibus support not working due to upstream ABI change
+install=$pkgname.install
+source=(http://kde-apps.org/CONTENT/content-files/140967-kimtoy-${pkgver}.tar.bz2)
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr .
+ make
+}
+
+package ()
+{
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+
+md5sums=('94f09a33940d189059f9620427689af5')
diff --git a/community/kimtoy/kimtoy.install b/community/kimtoy/kimtoy.install
new file mode 100644
index 000000000..db2bfe60e
--- /dev/null
+++ b/community/kimtoy/kimtoy.install
@@ -0,0 +1,11 @@
+post_upgrade() {
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
diff --git a/community/kio-mtp/PKGBUILD b/community/kio-mtp/PKGBUILD
new file mode 100644
index 000000000..010938ead
--- /dev/null
+++ b/community/kio-mtp/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 86399 2013-03-16 10:03:49Z fyan $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Antonio Rojas < nqn1976 @ gmail.com >
+
+pkgname=kio-mtp
+pkgver=0.75
+pkgrel=1
+arch=('i686' 'x86_64')
+pkgdesc="Provides KIO Access to MTP devices using the mtp:/// protocol"
+url='https://projects.kde.org/projects/playground/base/kio-mtp'
+license=('GPL')
+depends=('kdebase-runtime' 'libmtp')
+makedepends=('cmake' 'automoc4')
+source=("$pkgname-$pkgver.tar.gz::http://quickgit.kde.org/?p=kio-mtp.git&a=snapshot&h=7de86bae3623192eb468772bb187f6afffc03fe0&fmt=tgz")
+
+build() {
+ mkdir build
+ cd build
+ cmake ../${pkgname} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package(){
+ cd build
+ make DESTDIR="${pkgdir}" install
+}
+md5sums=('813d9de196ce969b84a14f68e1b320b9')
diff --git a/community/kiwi/PKGBUILD b/community/kiwi/PKGBUILD
new file mode 100644
index 000000000..b532a6e6c
--- /dev/null
+++ b/community/kiwi/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 85550 2013-03-03 03:09:38Z cinelli $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=kiwi
+pkgver=1.9.29
+pkgrel=2
+pkgdesc="A set of classes and wrappers for PyGTK"
+arch=('i686' 'x86_64')
+url="http://www.async.com.br/projects/kiwi"
+license=("LGPL")
+depends=('python2' 'python' 'pygtk' 'gtk')
+makedepends=('gettext')
+source=("http://download.gnome.org/sources/$pkgname/1.9/$pkgname-$pkgver.tar.bz2")
+sha256sums=('0ffa912cd180b3092b3ff636c582ab2c40f0f8eb541ada07b1432631a2d49e90')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Apply Python2 fix.
+ for file in bin/{kiwi-i18n,kiwi-ui-test} setup.py; do
+ echo "Applying python2 fix for $file"
+ sed -i 's_/usr/bin/env python_/usr/bin/env python2_' "$file"
+ done
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python2 setup.py install --root="$pkgdir"
+}
diff --git a/community/klavaro/PKGBUILD b/community/klavaro/PKGBUILD
new file mode 100644
index 000000000..19dae4b17
--- /dev/null
+++ b/community/klavaro/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 87583 2013-04-03 13:18:34Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=klavaro
+pkgver=1.9.7
+pkgrel=1
+pkgdesc="Free touch typing tutor program"
+arch=('i686' 'x86_64')
+url="http://klavaro.sourceforge.net/"
+license=('GPL2')
+depends=('curl' 'gtkdatabox' 'hicolor-icon-theme')
+makedepends=('intltool')
+optdepends=('espeakup: voice output')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('e28114568ac20f64b372f5af53abc5a3')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+# CFLAGS="-lgmodule-2.0" ./configure --prefix=/usr
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ sed -i 's|/usr/share/icons/hicolor/24x24/apps/klavaro.png|klavaro|' \
+ "$pkgdir"/usr/share/applications/$pkgname.desktop
+}
diff --git a/community/klavaro/klavaro.install b/community/klavaro/klavaro.install
new file mode 100644
index 000000000..881feae71
--- /dev/null
+++ b/community/klavaro/klavaro.install
@@ -0,0 +1,10 @@
+post_install() {
+ gtk-update-icon-cache -f /usr/share/icons/hicolor/
+}
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/kleansweep/ChangeLog b/community/kleansweep/ChangeLog
new file mode 100644
index 000000000..d8e35c402
--- /dev/null
+++ b/community/kleansweep/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-25 Georg Grabler (STiAT) <ggrabler@gmail.com>
+* Added libtool option
diff --git a/community/kleansweep/PKGBUILD b/community/kleansweep/PKGBUILD
new file mode 100644
index 000000000..c6783590d
--- /dev/null
+++ b/community/kleansweep/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 77134 2012-10-05 11:29:08Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Guillermo A. Amaral <me@guillermoamaral.com>
+
+pkgname=kleansweep
+pkgver=0.2.9
+pkgrel=6
+pkgdesc="Allows you to reclaim disk space by finding unneeded files"
+license=("GPL")
+url="http://linux.bydg.org/~yogin/"
+arch=(i686 x86_64)
+depends=('kdelibs3')
+makedepends=('scons')
+options=('libtool')
+#source=(http://linux-projects.net/d/kleansweep-$pkgver.tar.gz
+source=(http://arch.p5n.pp.ru/~sergej/dl/2011/kleansweep-$pkgver.tar.gz
+ kubuntu_03_fix_scons_chmod_error.patch)
+md5sums=('25fea364644590acd23fe766506e0b92'
+ 'bebb833313fc184848b5fef77a7cb310')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ [ $NOEXTRACT -eq 1 ] || patch -p1 <$srcdir/kubuntu_03_fix_scons_chmod_error.patch
+ [ $NOEXTRACT -eq 1 ] || ./configure
+ scons
+ scons install DESTDIR=$pkgdir
+}
diff --git a/community/kleansweep/kubuntu_03_fix_scons_chmod_error.patch b/community/kleansweep/kubuntu_03_fix_scons_chmod_error.patch
new file mode 100644
index 000000000..4e6495016
--- /dev/null
+++ b/community/kleansweep/kubuntu_03_fix_scons_chmod_error.patch
@@ -0,0 +1,23 @@
+diff -Nur -x '*.orig' -x '*~' kleansweep-0.2.9/admin/generic.py kleansweep-0.2.9.new/admin/generic.py
+--- kleansweep-0.2.9/admin/generic.py 2008-02-15 02:59:29.000000000 +0100
++++ kleansweep-0.2.9.new/admin/generic.py 2008-02-15 03:00:49.278304972 +0100
+@@ -244,7 +244,8 @@
+ ret=self.env.Program(self.p_localtarget, self.p_localsource)
+ if not self.env.has_key('NOAUTOINSTALL'):
+ ins=self.env.bksys_install(self.instdir, ret)
+- if self.perms: self.env.AddPostAction(ins, self.env.Chmod(ins, self.perms))
++ if ins and self.perms:
++ for i in ins: self.env.AddPostAction(ins, self.env.Chmod(str(i), self.perms))
+ elif self.type=='staticlib':
+ ret=self.env.StaticLibrary(self.p_localtarget, self.p_localsource)
+
+@@ -462,7 +463,8 @@
+ if not destfile: install_list = env.Install(lenv.join(basedir,subdir), lenv.make_list(files))
+ elif subdir: install_list = env.InstallAs(lenv.join(basedir,subdir,destfile), lenv.make_list(files))
+ else: install_list = env.InstallAs(lenv.join(basedir,destfile), lenv.make_list(files))
+- if perms and install_list: lenv.AddPostAction(install_list, lenv.Chmod(install_list, perms))
++ if perms and install_list:
++ for i in install_list: lenv.AddPostAction(install_list, lenv.Chmod(str(i), perms))
+ env.Alias('install', install_list)
+ return install_list
+
diff --git a/community/kmess/PKGBUILD b/community/kmess/PKGBUILD
new file mode 100644
index 000000000..772815e49
--- /dev/null
+++ b/community/kmess/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 91296 2013-05-20 21:10:18Z foutrelis $
+# Maintainer:
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Stefano Zamprogno <stefano.zamprogno@gmail.com>
+
+pkgname=kmess
+pkgver=2.0.6.2
+pkgrel=2
+pkgdesc="A MSN Messenger client for Linux"
+arch=('i686' 'x86_64')
+url='http://kmess.sourceforge.net/'
+license=('GPL')
+depends=('kdebase-lib')
+makedepends=('automoc4' 'cmake' 'optipng')
+optdepends=('cabextract: provides winks support')
+install=${pkgname}.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-$pkgver.tar.bz2")
+md5sums=('a2e57911713308bef81b9347135cc5dd')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Fix invalid PNG images to work with libpng 1.6
+ find -name '*.png' -exec optipng -quiet -force -fix {} +
+}
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/kmess/kmess.install b/community/kmess/kmess.install
new file mode 100644
index 000000000..c0797237a
--- /dev/null
+++ b/community/kmess/kmess.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/kmscon/PKGBUILD b/community/kmscon/PKGBUILD
new file mode 100644
index 000000000..801f87927
--- /dev/null
+++ b/community/kmscon/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 85313 2013-02-28 21:20:56Z thestinger $
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: David Herrmann <dh.herrmann@googlemail.com>
+pkgname=kmscon
+pkgver=7
+pkgrel=1
+pkgdesc='Terminal emulator based on Kernel Mode Setting (KMS)'
+arch=(i686 x86_64)
+url='https://github.com/dvdhrm/kmscon'
+license=('MIT')
+depends=(systemd libdrm mesa libegl libgbm libgles pango libxkbcommon libpciaccess xkeyboard-config)
+makedepends=(git libxslt docbook-xsl linux-api-headers)
+options=(!libtool)
+
+__gitroot=https://github.com/dvdhrm/kmscon.git
+__gitname=kmscon
+
+build() {
+ cd "$srcdir"
+
+ msg "Connecting to GIT server...."
+
+ if [[ -d "$__gitname" ]]; then
+ cd "$__gitname" && git pull origin
+ msg "The local files are updated."
+ else
+ git clone "$__gitroot" "$__gitname"
+ fi
+
+ msg "GIT checkout done or server timeout"
+ msg "Starting build..."
+
+ rm -rf "$srcdir/$__gitname-build"
+ git clone "$srcdir/$__gitname" "$srcdir/$__gitname-build"
+ cd "$srcdir/$__gitname-build"
+
+ git checkout $pkgname-$pkgver
+ ./autogen.sh --prefix=/usr --disable-wlterm
+ make
+}
+
+package() {
+ cd "$srcdir/$__gitname-build"
+ make DESTDIR="$pkgdir/" install
+ mkdir -p "$pkgdir/usr/share/licenses/$pkgname" "$pkgdir/usr/lib/systemd/system"
+ cp COPYING "$pkgdir/usr/share/licenses/$pkgname/"
+ cp docs/kmscon{,vt@}.service "$pkgdir/usr/lib/systemd/system/"
+}
diff --git a/community/kmymoney/PKGBUILD b/community/kmymoney/PKGBUILD
new file mode 100644
index 000000000..09b2154fa
--- /dev/null
+++ b/community/kmymoney/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 94028 2013-07-13 12:33:04Z svenstaro $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Vamp898 <vamp898@web.de>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Todd Maynard <arch@toddmaynard.com>
+
+pkgname=kmymoney
+pkgver=4.6.3
+pkgrel=3
+pkgdesc="Personal finance manager for KDE which operates similarly to MS-Money or Quicken"
+arch=('i686' 'x86_64')
+url="http://kmymoney2.sourceforge.net/"
+license=('GPL')
+depends=('kdebase-workspace' 'shared-mime-info' 'aqbanking' 'libofx' 'libalkimia' 'boost-libs')
+makedepends=('cmake' 'automoc4' 'docbook-xml' 'docbook-xsl' 'boost')
+replaces=('kmymoney2')
+install=$pkgname.install
+changelog=$pkgname.changelog
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/project/kmymoney2/KMyMoney-KDE4/$pkgver/$pkgname-$pkgver.tar.bz2
+ git-fixes.diff)
+sha256sums=('94e109992b7e9ebb066b608d56c168216b8a944d62538c95176bc36ea4db542e'
+ 'e618cc5531f00c14171c5cae837d8b5fb58bccaac363a5b09eed863355c242d3')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i ../git-fixes.diff
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ mkdir build
+ cd build
+
+ cmake ../ \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_SKIP_RPATH=YES
+ make VERBOSE=1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/build"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/kmymoney/git-fixes.diff b/community/kmymoney/git-fixes.diff
new file mode 100644
index 000000000..21b0e2330
--- /dev/null
+++ b/community/kmymoney/git-fixes.diff
@@ -0,0 +1,43 @@
+commit 77209f84a85360e98d2e805d412956a8f2a77db3
+Author: Alex Merry <kde@randomguy3.me.uk>
+Date: Fri Feb 1 15:31:54 2013 +0000
+
+ Fix build with GMP 5.1.0
+
+ GMP 5.1.0 no longer has implicit conversions to mpz_class from mpq_class
+ or mpf_class. So we have to have an explicit conversion.
+
+ BUG: 312481
+
+diff --git a/kmymoney/mymoney/mymoneymoney.cpp b/kmymoney/mymoney/mymoneymoney.cpp
+index aeed135..5de7fa9 100644
+--- a/kmymoney/mymoney/mymoneymoney.cpp
++++ b/kmymoney/mymoney/mymoneymoney.cpp
+@@ -158,7 +158,7 @@ QString MyMoneyMoney::formatMoney(const QString& currency, const int prec, bool
+ // be much better than using KGlobal::locale()->formatMoney.
+ bool bNegative = false;
+ mpz_class left = value / static_cast<MyMoneyMoney>(convertDenominator(d)).valueRef().get_den();
+- mpz_class right = (valueRef() - mpq_class(left)) * denom;
++ mpz_class right = mpz_class((valueRef() - mpq_class(left)) * denom);
+
+ if (right < 0) {
+ right = -right;
+commit 9b6f96a38b8c84cb87bb07165b503acbe5ea81ff
+Author: Christoph Feck <christoph@maxiom.de>
+Date: Fri Mar 23 23:05:19 2012 +0100
+
+ Fix includes
+
+diff --git a/kmymoney/mymoney/storage/mymoneydatabasemgrtest.cpp b/kmymoney/mymoney/storage/mymoneydatabasemgrtest.cpp
+index ff217e3..d31bb02 100644
+--- a/kmymoney/mymoney/storage/mymoneydatabasemgrtest.cpp
++++ b/kmymoney/mymoney/storage/mymoneydatabasemgrtest.cpp
+@@ -16,6 +16,7 @@
+
+ #include "mymoneydatabasemgrtest.h"
+ #include <pwd.h>
++#include <unistd.h>
+ #include <iostream>
+
+ #include <QtTest/QtTest>
+
diff --git a/community/kmymoney/kmymoney.changelog b/community/kmymoney/kmymoney.changelog
new file mode 100644
index 000000000..30290a6f8
--- /dev/null
+++ b/community/kmymoney/kmymoney.changelog
@@ -0,0 +1,32 @@
+2012-09-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kmymoney 4.6.3-1
+
+2012-08-09 Eric Belanger <eric@archlinux.org>
+ * kmymoney 4.6.2-2
+ * Rebuild against libofx 0.9.5
+
+2011-02-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kmymoney 4.5.3
+
+2010-12-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kmymoney 4.5.2
+
+2010-10-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kmymoney 4.5.1
+ * Added aqbanking dependency
+
+2010-08-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 4.5
+ * Package renamed to 'kmymoney'
+
+2010-05-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.5
+
+2010-04-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.4
+
+2010-04-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#18974 broken OFX imported fixed in 1.0.3-2
+
+2010-03-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.3
diff --git a/community/kmymoney/kmymoney.install b/community/kmymoney/kmymoney.install
new file mode 100644
index 000000000..f7f5bd0bf
--- /dev/null
+++ b/community/kmymoney/kmymoney.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-mime-database usr/share/mime &> /dev/null
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/knemo/PKGBUILD b/community/knemo/PKGBUILD
new file mode 100644
index 000000000..5995a13dd
--- /dev/null
+++ b/community/knemo/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 85916 2013-03-08 23:40:41Z foutrelis $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Stefano Zamprogno <stefano dot zamprogno at gmail dot com>
+
+pkgname=knemo
+pkgver=0.7.6
+pkgrel=3
+pkgdesc="The KDE Network Monitor"
+arch=('i686' 'x86_64')
+url="http://www.kde-apps.org/content/show.php?content=12956"
+license=('GPL')
+depends=('kdebase-workspace' 'wireless_tools' 'iw' 'libnl' 'gtk-update-icon-cache')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+options=('libtool')
+source=("http://www.kde-apps.org/CONTENT/content-files/12956-${pkgname}-${pkgver}.tar.bz2")
+md5sums=('42b35d4d48698a2f514adeb2ca872408')
+
+build() {
+ cd ${srcdir}
+
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+
+ make DESTDIR=${pkgdir} install
+
+ # remove knemo autostart
+ # rm -rf ${pkgdir}/usr/share/autostart
+}
diff --git a/community/knemo/knemo.install b/community/knemo/knemo.install
new file mode 100644
index 000000000..0fbb3047a
--- /dev/null
+++ b/community/knemo/knemo.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/kovpn/ChangeLog b/community/kovpn/ChangeLog
new file mode 100644
index 000000000..d8e35c402
--- /dev/null
+++ b/community/kovpn/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-25 Georg Grabler (STiAT) <ggrabler@gmail.com>
+* Added libtool option
diff --git a/community/kovpn/PKGBUILD b/community/kovpn/PKGBUILD
new file mode 100644
index 000000000..ddf9128d6
--- /dev/null
+++ b/community/kovpn/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 90051 2013-05-06 19:38:01Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Douglas Soares de Andrade <dsandrade@gmail.com>
+
+pkgname=kovpn
+pkgver=0.3pre7
+_pkgver=0.3.pre7
+pkgrel=7
+pkgdesc="An OpenVPN client management interface for KDE"
+arch=('i686' 'x86_64')
+url="http://www.kde-apps.org/content/show.php?content=37043"
+license=('GPL')
+depends=('openvpn' 'kdelibs3' 'xdg-utils')
+makedepends=('automake' 'autoconf')
+options=('libtool')
+install=kovpn.install
+DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
+ 'http::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
+ 'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u')
+source=("https://projects.fslab.de/projects/kovpn/chrome/site/kovpn-${_pkgver}.tar.bz2"
+ "kovpn-disable-dcop.patch::https://bugs.archlinux.org/task/15464?getfile=4173")
+md5sums=('19b61cf9f84088baffbd5bb0a287422c'
+ '21171b74f76289daea1cc61eedaa4dba')
+
+build() {
+ cd $srcdir/$pkgname-$_pkgver
+
+ unset LDFLAGS
+ export QTDIR=/usr
+ export QMAKESPEC=/usr/share/qt3/mkspecs/linux-g++
+
+ patch -Np1 -i ../kovpn-disable-dcop.patch
+ sed -i "s#automake\*1.10\*#automake*`pacman -Q automake | cut -f2 -d\ |cut -f1-2 -d.`*#" admin/cvs.sh
+ sed -i 's#AM_CONFIG_HEADER#AC_CONFIG_HEADER#g' admin/{cvs.sh,configure.in.min}
+ make -f admin/Makefile.common cvs
+ ./configure --prefix=/opt/kde --without-arts --with-qt-dir=/opt/qt
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$_pkgver
+ make prefix=$pkgdir/usr install
+}
diff --git a/community/kovpn/kovpn.install b/community/kovpn/kovpn.install
new file mode 100644
index 000000000..b4ee8556f
--- /dev/null
+++ b/community/kovpn/kovpn.install
@@ -0,0 +1,12 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
diff --git a/community/kpartsplugin/LICENSE b/community/kpartsplugin/LICENSE
new file mode 100644
index 000000000..8328ff550
--- /dev/null
+++ b/community/kpartsplugin/LICENSE
@@ -0,0 +1,28 @@
+Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+ the names of its contributors may be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"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 COPYRIGHT
+OWNER OR CONTRIBUTORS 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. \ No newline at end of file
diff --git a/community/kpartsplugin/PKGBUILD b/community/kpartsplugin/PKGBUILD
new file mode 100644
index 000000000..8e9d6f0aa
--- /dev/null
+++ b/community/kpartsplugin/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 74287 2012-07-23 14:13:38Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: birdflesh <antkoul at gmail dot com>
+# Contributor: Frikilinux <frikilinux at frikilinux.com.ar>
+pkgname=kpartsplugin
+pkgver=20120723
+pkgrel=1
+pkgdesc="This plugin uses KDE's KParts to embed file viewers into non-KDE browsers"
+arch=('i686' 'x86_64')
+url="http://www.unix-ag.uni-kl.de/~fischer/kpartsplugin/"
+license=('GPL3' 'BSD')
+depends=('kdelibs')
+makedepends=('automoc4' 'cmake')
+source=("${url}${pkgname}-${pkgver}.tar.bz2" "LICENSE")
+md5sums=('cf94ee866a934da97a04cd1619e16099'
+ 'c4cc811349e40e9f34e77e27b902ad96')
+
+build(){
+ sed -i 's/nsbrowser/mozilla/g' ${pkgname}-${pkgver}/CMakeLists.txt
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}/" install
+ install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE"
+}
diff --git a/community/kphotoalbum/PKGBUILD b/community/kphotoalbum/PKGBUILD
new file mode 100644
index 000000000..936d33a53
--- /dev/null
+++ b/community/kphotoalbum/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 84672 2013-02-21 14:40:13Z lcarlier $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Gilles CHAUVIN <gcnweb ][ gmail ? com>
+# Contributor: Jonathan Schaeffer <joschaeffer ][ gmail ? com>
+# Contributor: chfoxli <lg ][ romandie ? com>
+
+pkgname=kphotoalbum
+pkgver=4.4
+pkgrel=1
+pkgdesc="KDE Photo Album, picture collection manager"
+url="http://www.kphotoalbum.org/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('kdebase-runtime' 'libkipi' 'libkdcraw')
+makedepends=('cmake' 'automoc4' 'kdeedu-marble' 'kdemultimedia-mplayerthumbs')
+optdepends=('kdeedu-marble: integration with Marble'
+ 'kipi-plugins: add extra functionality'
+ 'kdemultimedia-mplayerthumbs: video thumbnails')
+install=${pkgname}.install
+source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('84cc7741c8e8c62e097ebb5e81d40979')
+
+build() {
+ cd ${srcdir}
+
+ mkdir build
+ cd build
+
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/kphotoalbum/kphotoalbum.install b/community/kphotoalbum/kphotoalbum.install
new file mode 100644
index 000000000..6c87527e2
--- /dev/null
+++ b/community/kphotoalbum/kphotoalbum.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/kpovmodeler/PKGBUILD b/community/kpovmodeler/PKGBUILD
new file mode 100644
index 000000000..ef0506a54
--- /dev/null
+++ b/community/kpovmodeler/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 57931 2011-11-04 17:14:03Z lcarlier $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=kpovmodeler
+pkgver=1.1.3
+_kdever=4.1.1
+pkgrel=4
+pkgdesc="A graphical editor for povray scenes"
+arch=('i686' 'x86_64')
+url='http://kpovmodeler.org'
+license=('GPL' 'LGPL' 'FDL')
+depends=('kdebase-runtime' 'povray')
+makedepends=('pkgconfig' 'cmake' 'automoc4')
+options=('docs')
+install=${pkgname}.install
+source=("http://kpovmodeler.org/files/${pkgname}-${pkgver}-kde${_kdever}.tar.bz2")
+md5sums=('aee8461cc813bb8e21ece3339c677288')
+
+build() {
+ cd ${srcdir}
+
+ mkdir build
+ cd build
+
+ cmake ../${pkgname}-${pkgver}-kde${_kdever} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/kpovmodeler/kpovmodeler.install b/community/kpovmodeler/kpovmodeler.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/community/kpovmodeler/kpovmodeler.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/krecipes/PKGBUILD b/community/krecipes/PKGBUILD
new file mode 100644
index 000000000..a60ccc44f
--- /dev/null
+++ b/community/krecipes/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 93464 2013-07-03 19:08:14Z lcarlier $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: shamrok <szamrok@gmail.com>
+# Contributor: G_Syme <demichan(at)mail(dot)upb(dot)de>
+# Contributor: Adrià Arrufat <swiftscythe@gmail.com>
+
+pkgname=krecipes
+pkgver=2.0beta2
+_pkgver=2.0-beta2
+pkgrel=4
+pkgdesc="A tool designed to make organizing your personal recipes collection fast and easy"
+arch=('i686' 'x86_64')
+url="http://extragear.kde.org/apps/krecipes/"
+license=('GPL')
+depends=('kdebase-runtime' 'qimageblitz' 'hicolor-icon-theme')
+makedepends=('cmake' 'automoc4' 'docbook-xsl')
+optdepends=('mariadb' 'postgresql')
+install=${pkgname}.install
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${_pkgver}.tar.gz)
+md5sums=('4c01ccad7ad1409cb35c824a61250fe2')
+
+build() {
+ cd ${srcdir}
+
+ mkdir build
+ cd build
+
+ cmake ../${pkgname}-${_pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/krecipes/krecipes.install b/community/krecipes/krecipes.install
new file mode 100644
index 000000000..3f06b8deb
--- /dev/null
+++ b/community/krecipes/krecipes.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/krename/PKGBUILD b/community/krename/PKGBUILD
new file mode 100644
index 000000000..f3a23e350
--- /dev/null
+++ b/community/krename/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 74836 2012-08-06 23:09:01Z andrea $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=krename
+pkgver=4.0.9
+pkgrel=2
+pkgdesc="A very powerfull batch file renamer for KDE"
+arch=('i686' 'x86_64')
+url="http://www.krename.net"
+license=('GPL')
+depends=('kdebase-runtime' 'taglib')
+makedepends=('cmake' 'automoc4')
+options=('libtool')
+install=krename.install
+source=(http://downloads.sourceforge.net/project/krename/KDE4%20krename-stable/${pkgver}/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('03886a385a16de4c9bc285d25b9816ea97768c9e')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package() {
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/krename/krename.install b/community/krename/krename.install
new file mode 100644
index 000000000..1c0de2e4f
--- /dev/null
+++ b/community/krename/krename.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/kshutdown/PKGBUILD b/community/kshutdown/PKGBUILD
new file mode 100644
index 000000000..01108ab54
--- /dev/null
+++ b/community/kshutdown/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 93787 2013-07-10 09:09:23Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=kshutdown
+pkgver=3.0
+pkgrel=1
+pkgdesc='Shutdown Utility for KDE'
+arch=('x86_64' 'i686')
+url='http://kshutdown.sourceforge.net/'
+license=('GPL')
+depends=('kdebase-workspace')
+makedepends=('cmake' 'automoc4')
+install="$pkgname.install"
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-source-$pkgver.zip")
+sha256sums=('71295e88e30538e6bc9aceb0ba2d60c2bb6c47739a97ee76f7f1f767044493ee')
+
+build() {
+ mkdir "$srcdir/build"
+ cd "$srcdir/build"
+ cmake "../$pkgname-$pkgver" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/build"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/kshutdown/kshutdown.install b/community/kshutdown/kshutdown.install
new file mode 100644
index 000000000..0583fc931
--- /dev/null
+++ b/community/kshutdown/kshutdown.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ksniffer/PKGBUILD b/community/ksniffer/PKGBUILD
new file mode 100644
index 000000000..9e538ebfa
--- /dev/null
+++ b/community/ksniffer/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65614 2012-02-21 09:40:45Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Giovanni Scafora <linuxmania@gmail.com>
+
+pkgname=ksniffer
+pkgver=0.3.2
+pkgrel=6
+pkgdesc="A sniffing application for KDE"
+arch=('i686' 'x86_64')
+url="http://www.ksniffer.org"
+license=('GPL2')
+depends=('libpcap' 'kdelibs3')
+source=(http://downloads.sourceforge.net/ksniffer/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('dee2cfc8b51d15857ee02382d2603a22')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+ source /etc/profile.d/kde3.sh
+ source /etc/profile.d/qt3.sh
+ ./configure --prefix=/opt/kde --without-arts
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/ksshaskpass/PKGBUILD b/community/ksshaskpass/PKGBUILD
new file mode 100644
index 000000000..63a0198c7
--- /dev/null
+++ b/community/ksshaskpass/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: schuay <jakob.gruber@gmail.com>
+
+pkgname=ksshaskpass
+pkgver=0.5.3
+pkgrel=3
+pkgdesc='KDE4 implementation of ssh-askpass with Kwallet integration'
+url='http://www.kde-apps.org/content/show.php/Ksshaskpass?content=50971'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('kdelibs')
+makedepends=('cmake' 'automoc4')
+provides=('x11-ssh-askpass')
+conflicts=('x11-ssh-askpass')
+source=("http://www.kde-apps.org/CONTENT/content-files/50971-$pkgname-$pkgver.tar.gz"
+ "$pkgname.sh")
+md5sums=('05dad7745e9d92b08bd86e7ab7a9540d'
+ '70396ba019ae05cc91502456f548caff')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
+ make
+}
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # Remove useless desktop file.
+ rm -rf "$pkgdir"/usr/share/applications
+
+ # Documentation requires that this application is installed as /usr/bin/ssh-askpass.
+ # But this way is cleaner.
+ # Add script to profile.d to set ssh password agent to ksshasskpass.
+ install -Dm 755 "$srcdir"/$pkgname.sh "$pkgdir"/etc/profile.d/$pkgname.sh
+}
diff --git a/community/ksshaskpass/ksshaskpass.sh b/community/ksshaskpass/ksshaskpass.sh
new file mode 100644
index 000000000..6e67d0144
--- /dev/null
+++ b/community/ksshaskpass/ksshaskpass.sh
@@ -0,0 +1 @@
+test -f /usr/bin/ksshaskpass && export SSH_ASKPASS="/usr/bin/ksshaskpass"
diff --git a/community/ktechlab/PKGBUILD b/community/ktechlab/PKGBUILD
new file mode 100644
index 000000000..ac59910d6
--- /dev/null
+++ b/community/ktechlab/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 58604 2011-11-16 15:28:16Z spupykin $
+# Maintainer: JJDaNiMoTh <jjdanimoth.aur@gmail.com>
+
+pkgname=ktechlab
+pkgver=0.3.7
+pkgrel=3
+pkgdesc="IDE for electronic circuits and microcontrollers"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/ktechlab"
+license=("GPL")
+depends=('kdelibs3' 'gputils' 'gpsim')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ "$pkgname-gcc45.patch::http://patch-tracker.debian.org/patch/series/dl/ktechlab/0.3.7-10/40-gcc-4.5.patch")
+md5sums=('8e778ef8ce6d0dd4539f5532c933f6bf'
+ '126a04255a8288a7ee42fe47a81c0079')
+
+build() {
+ . /etc/profile.d/qt3.sh
+ cd "${srcdir}/${pkgname}-$pkgver"
+ patch -p1 <$srcdir/$pkgname-gcc45.patch
+ ./configure --prefix=/opt/kde \
+ --disable-debug \
+ --without-arts
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-$pkgver"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/ktikz/PKGBUILD b/community/ktikz/PKGBUILD
new file mode 100644
index 000000000..d20dfbdcb
--- /dev/null
+++ b/community/ktikz/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Peter Lewis <plewis@aur.archlinux.org>
+# Contributor: linuxSEAT <--put_my_name_here--@gmail.com>
+# Contributor: Le_J <clej37 at gmail dot com>
+
+pkgname=ktikz
+pkgver=0.10
+pkgrel=4
+pkgdesc="A small application helping you to create TikZ diagrams (from the LaTeX pgf package)"
+arch=('i686' 'x86_64')
+url="http://www.hackenberger.at/blog/ktikz-editor-for-the-tikz-language/"
+license=("GPL")
+depends=('poppler-qt' 'kdelibs')
+makedepends=('automoc4' 'cmake' 'docbook-xml')
+source=("http://www.hackenberger.at/ktikz/"$pkgname"_"$pkgver".tar.gz")
+md5sums=('e8f0826cba2447250bcdcd389a71a2ac')
+
+build() {
+ cd "$srcdir"/"$pkgname"
+
+ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`
+ make
+}
+
+package() {
+ cd "$srcdir"/"$pkgname"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/ktikz/ktikz.install b/community/ktikz/ktikz.install
new file mode 100644
index 000000000..210d1ac2b
--- /dev/null
+++ b/community/ktikz/ktikz.install
@@ -0,0 +1,14 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor > /dev/null
+ update-mime-database /usr/share/mime > /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ktoblzcheck/PKGBUILD b/community/ktoblzcheck/PKGBUILD
new file mode 100644
index 000000000..87f25f0c7
--- /dev/null
+++ b/community/ktoblzcheck/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92372 2013-06-04 12:30:22Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Philipp Sandhaus <philipp.sandhaus@gmx.de>
+
+pkgname=ktoblzcheck
+pkgver=1.42
+pkgrel=1
+pkgdesc="A library to check account numbers and bank codes of German banks"
+arch=(i686 x86_64)
+url="http://ktoblzcheck.sourceforge.net"
+options=('!libtool')
+license=("LGPL")
+depends=('gcc-libs' 'python')
+optdepends=('perl')
+source=(http://downloads.sourceforge.net/sourceforge/ktoblzcheck/ktoblzcheck-$pkgver.tar.gz
+ ktoblzcheck-python3.patch)
+md5sums=('86f25d5c6a07313638bb74d6b11eb57c'
+ 'a81a697bb3aaeffb7fac0ad7d9166e3f')
+
+build() {
+ cd "$srcdir/ktoblzcheck-$pkgver"
+ ./configure --prefix=/usr
+ patch -p1 <$srcdir/ktoblzcheck-python3.patch
+ make
+}
+
+package() {
+ cd "$srcdir/ktoblzcheck-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/ktoblzcheck/ktoblzcheck-python3.patch b/community/ktoblzcheck/ktoblzcheck-python3.patch
new file mode 100644
index 000000000..5bfc53275
--- /dev/null
+++ b/community/ktoblzcheck/ktoblzcheck-python3.patch
@@ -0,0 +1,57 @@
+diff -ur ktoblzcheck-1.28/src/python/ktoblzcheck.py ktoblzcheck-1.28.my/src/python/ktoblzcheck.py
+--- ktoblzcheck-1.28/src/python/ktoblzcheck.py 2008-08-12 16:48:54.000000000 +0000
++++ ktoblzcheck-1.28.my/src/python/ktoblzcheck.py 2010-09-20 09:08:36.000000000 +0000
+@@ -197,35 +197,35 @@
+
+ def test():
+ a = AccountNumberCheck()
+- print 'Number of Banks:', a.bankCount
+- print 'find 20010020:', a.findBank('20010020')
+- print 'find 20010033:', a.findBank('20010033')
+- print 'check 20070024/9291394:', a.check('20070024','9291394')
+- print 'check 20070024/9291394:', a.check('20070024','9291394023')
+- print
++ print('Number of Banks:', a.bankCount)
++ print('find 20010020:', a.findBank('20010020'))
++ print('find 20010033:', a.findBank('20010033'))
++ print('check 20070024/9291394:', a.check('20070024','9291394'))
++ print('check 20070024/9291394:', a.check('20070024','9291394023'))
++ print()
+ ck = IbanCheck()
+ if not kto.IbanCheck_selftest(ck): # not publicly defined
+- print "Self-Test failed!"
++ print("Self-Test failed!")
+ raise SystemExit
+ s = " iban fr14 2004 1010 0505 0001 3m02 606"
+- print "test for iban :", s
++ print("test for iban :", s)
+ iban = Iban(s)
+- print "transmission form:", iban.transmissionForm()
++ print("transmission form:", iban.transmissionForm())
+ res = ck.check(iban)
+- print "check result :", res, "("+IbanCheck.resultText(res)+")"
+- print "printable form :", iban.printableForm()
+- print
+- print "expect bad checksum:"
++ print("check result :", res, "("+IbanCheck.resultText(res)+")")
++ print("printable form :", iban.printableForm())
++ print()
++ print("expect bad checksum:")
+ s = "FR1420041010050500013X02606"
+ res = ck.check(s)
+- print s + ":", res, "("+IbanCheck.resultText(res)+")"
+- print
++ print(s + ":", res, "("+IbanCheck.resultText(res)+")")
++ print()
+ s = "IBAN DE66 2007 0024 0929 1394 00"
+- print s
++ print(s)
+ s = Iban(s).transmissionForm()
+ start, end = ck.bic_position(s)
+- print "prefix, checksum, BIC, account:"
+- print ', '.join((s[:2], s[2:4], s[start:end], s[end:].lstrip('0')))
++ print("prefix, checksum, BIC, account:")
++ print(', '.join((s[:2], s[2:4], s[start:end], s[end:].lstrip('0'))))
+
+
+ if __name__ == '__main__':
diff --git a/community/kuickshow/PKGBUILD b/community/kuickshow/PKGBUILD
new file mode 100644
index 000000000..49c309a51
--- /dev/null
+++ b/community/kuickshow/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 67493 2012-03-12 21:01:46Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: sxe <sxxe@gmx.de>
+
+pkgname=kuickshow
+pkgver=0.9.1
+pkgrel=4
+pkgdesc="A very fast and convenient image viewer"
+url="http://userbase.kde.org/KuickShow"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('kdebase-runtime' 'imlib')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'docbook-xsl')
+install=${pkgname}.install
+source=("http://hosti.leonde.de/~gis/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('6866128ee3ef3d0dde809cd5b23d2472')
+
+build() {
+ cd ${srcdir}
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package(){
+ cd ${srcdir}/build
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/kuickshow/kuickshow.install b/community/kuickshow/kuickshow.install
new file mode 100644
index 000000000..6c87527e2
--- /dev/null
+++ b/community/kuickshow/kuickshow.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/kvirc/PKGBUILD b/community/kvirc/PKGBUILD
new file mode 100644
index 000000000..7ff5ad13d
--- /dev/null
+++ b/community/kvirc/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 91653 2013-05-26 09:24:37Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=kvirc
+pkgver=4.2.0
+pkgrel=3
+pkgdesc="Qt-based IRC client"
+url="http://www.kvirc.net"
+depends=('python2' 'libxss' 'qtwebkit')
+arch=(i686 x86_64)
+makedepends=('cmake')
+license=('GPL')
+options=("!libtool")
+install=kvirc.install
+source=(ftp://ftp.kvirc.de/pub/kvirc/$pkgver/source/$pkgname-$pkgver.tar.bz2)
+md5sums=('bf7229aaae132933a18b6a35125a2328')
+
+build() {
+ cd $srcdir
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DWANT_KDE4=OFF \
+ -DWANT_PERL=ON \
+ -DWANT_PHONON=OFF \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/kvirc/kvirc-4.0.4-gcc-4.7.0.patch b/community/kvirc/kvirc-4.0.4-gcc-4.7.0.patch
new file mode 100644
index 000000000..f122a29af
--- /dev/null
+++ b/community/kvirc/kvirc-4.0.4-gcc-4.7.0.patch
@@ -0,0 +1,62 @@
+Index: /branches/kvirc/4.0/src/modules/mediaplayer/mp_mprisinterface.cpp
+===================================================================
+--- /branches/kvirc/4.0/src/modules/mediaplayer/mp_mprisinterface.cpp (revision 4667)
++++ /branches/kvirc/4.0/src/modules/mediaplayer/mp_mprisinterface.cpp (revision 6024)
+@@ -190,6 +190,6 @@
+ QString artist;
+ QString title;
+- foreach (QVariant v, reply.arguments()) {
+- QDBusArgument arg = qvariant_cast<QDBusArgument>(v);
++ foreach (QVariant w, reply.arguments()) {
++ QDBusArgument arg = qvariant_cast<QDBusArgument>(w);
+ QVariant v = qdbus_cast<QVariantMap>(arg);
+ if (v.userType() == QVariant::Map) {
+Index: /branches/kvirc/4.0/src/modules/mediaplayer/mp_mprisinterface.cpp
+===================================================================
+--- /branches/kvirc/4.0/src/modules/mediaplayer/mp_mprisinterface.cpp (revision 6024)
++++ /branches/kvirc/4.0/src/modules/mediaplayer/mp_mprisinterface.cpp (revision 6025)
+@@ -139,6 +139,6 @@
+ return __return_if_fail; \
+ MPRIS_CALL_METHOD("GetMetadata", __return_if_fail) \
+- foreach (QVariant v, reply.arguments()) { \
+- QDBusArgument arg = qvariant_cast<QDBusArgument>(v); \
++ foreach (QVariant w, reply.arguments()) { \
++ QDBusArgument arg = qvariant_cast<QDBusArgument>(w); \
+ QVariant v = qdbus_cast<QVariantMap>(arg); \
+ if (v.userType() == QVariant::Map) { \
+@@ -214,6 +214,6 @@
+ MPRIS_CALL_METHOD("GetMetadata", "")
+
+- foreach (QVariant v, reply.arguments()) {
+- QDBusArgument arg = qvariant_cast<QDBusArgument>(v);
++ foreach (QVariant w, reply.arguments()) {
++ QDBusArgument arg = qvariant_cast<QDBusArgument>(w);
+ QVariant v = qdbus_cast<QVariantMap>(arg);
+ if (v.userType() == QVariant::Map) {
+@@ -292,6 +292,6 @@
+ MPRIS_CALL_METHOD("GetMetadata", -1)
+
+- foreach (QVariant v, reply.arguments()) {
+- QDBusArgument arg = qvariant_cast<QDBusArgument>(v);
++ foreach (QVariant w, reply.arguments()) {
++ QDBusArgument arg = qvariant_cast<QDBusArgument>(w);
+ QVariant v = qdbus_cast<QVariantMap>(arg);
+ if (v.userType() == QVariant::Map) {
+@@ -353,6 +353,6 @@
+ MPRIS_CALL_METHOD("GetMetadata", "")
+
+- foreach (QVariant v, reply.arguments()) {
+- QDBusArgument arg = qvariant_cast<QDBusArgument>(v);
++ foreach (QVariant w, reply.arguments()) {
++ QDBusArgument arg = qvariant_cast<QDBusArgument>(w);
+ QVariant v = qdbus_cast<QVariantMap>(arg);
+ if (v.userType() == QVariant::Map) {
+@@ -404,6 +404,6 @@
+ MPRIS_CALL_METHOD("GetMetadata", -1)
+
+- foreach (QVariant v, reply.arguments()) {
+- QDBusArgument arg = qvariant_cast<QDBusArgument>(v);
++ foreach (QVariant w, reply.arguments()) {
++ QDBusArgument arg = qvariant_cast<QDBusArgument>(w);
+ QVariant v = qdbus_cast<QVariantMap>(arg);
+ if (v.userType() == QVariant::Map) {
diff --git a/community/kvirc/kvirc.install b/community/kvirc/kvirc.install
new file mode 100644
index 000000000..8f76d007f
--- /dev/null
+++ b/community/kvirc/kvirc.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
+ true
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
+ true
+}
diff --git a/community/kvpnc/PKGBUILD b/community/kvpnc/PKGBUILD
new file mode 100644
index 000000000..947ebb3ea
--- /dev/null
+++ b/community/kvpnc/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 91108 2013-05-19 18:46:49Z dreisner $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Danial Olsen <do@meyl.fo>
+
+pkgname=kvpnc
+pkgver=0.9.6a
+pkgrel=4
+pkgdesc="A KDE Desktop Environment frontend for various vpn clients"
+arch=(i686 x86_64)
+url="http://home.gna.org/kvpnc/"
+license=("GPL")
+depends=('kdelibs' 'hicolor-icon-theme')
+makedepends=('cmake' 'automoc4' 'optipng')
+install=kvpnc.install
+source=(http://download.gna.org/$pkgname/$pkgname-${pkgver}-kde4.tar.bz2
+ "vpnc-paths.patch")
+md5sums=('bf8b7224284f5d3f8ad5235c599fe9e7'
+ '4bf6a10c7be84656723183b876cbaf9d')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver-kde4"
+
+ patch -Np0 <"$srcdir/vpnc-paths.patch"
+
+ sed -i '1,1i#include <unistd.h>' src/kvpnc.cpp
+}
+
+build() {
+ cd $srcdir
+
+ export LDFLAGS=-lX11
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver}-kde4 \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+ find -name '*.png' -exec optipng -quiet -force -fix {} \;
+}
+
+package() {
+ cd $srcdir/build
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/kvpnc/kvpnc.install b/community/kvpnc/kvpnc.install
new file mode 100644
index 000000000..77b839ca2
--- /dev/null
+++ b/community/kvpnc/kvpnc.install
@@ -0,0 +1,52 @@
+# arg 1: the new package version
+post_install() {
+ echo "
+You will need a vpn client, these are supported:
+-----------------------------------------------
+- vpnc >= 0.2-rm+zomb-pre9 Cisco VPN
+- FreeS/WAN (OpenS/WAN too) >= 2.x IPSec VPN Linux 2.4/2.6
+- racoon (ipsec-tools) > = 1.x IPSec VPN Linux 2.6
+- pptpclient PPTP VPN
+- OpenVPN VPN based on SSL
+
+
+======================================================
+Howto setup KVpnc for use without root password - sudo
+======================================================
+
+1. install sudo
+
+2. edit /etc/sudoers
+
+ # Cmnd alias specification
+ Cmnd_Alias KVPNC = /usr/bin/kvpnc
+
+ # User privilege specification
+ ALL ALL=NOPASSWD:KVPNC
+
+3. edit desktop link (/usr/share/applications/kde4/kvpnc.desktop)
+
+ replace the folling lines:
+
+ Exec=kvpnc
+ X-KDE-SubstituteUID=true
+
+ with:
+
+ Exec=sudo kvpnc
+ X-KDE-SubstituteUID=false
+"
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+# arg 1: the old package version
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
diff --git a/community/kvpnc/vpnc-paths.patch b/community/kvpnc/vpnc-paths.patch
new file mode 100644
index 000000000..5dc66638d
--- /dev/null
+++ b/community/kvpnc/vpnc-paths.patch
@@ -0,0 +1,20 @@
+--- src/kvpncconfig.cpp.orig 2013-05-19 14:37:11.867517045 -0400
++++ src/kvpncconfig.cpp 2013-05-19 14:37:31.702107829 -0400
+@@ -865,7 +865,7 @@
+ enableDebugXl2tpdtunnel = QVariant(configgroup.readEntry("EnableDebugXl2tpdtunnel", false)).toBool();
+
+
+- pathToVpnc = configgroup.readEntry("Path to vpnc-bin", "/usr/sbin/vpnc");
++ pathToVpnc = configgroup.readEntry("Path to vpnc-bin", "/usr/bin/vpnc");
+ pathToCiscoVpnc = configgroup.readEntry("Path to vpnclient", "/usr/local/bin/vpnclient");
+ pathToSetkey = configgroup.readEntry("Path to setkey", "/usr/sbin/setkey");
+ pathToRacoon = configgroup.readEntry("Path to racoon", "/usr/sbin/racoon");
+@@ -1489,7 +1489,7 @@
+ void KVpncConfig::checkStandardPathValues()
+ {
+ if (pathToVpnc.isEmpty())
+- pathToVpnc = "/usr/sbin/vpnc";
++ pathToVpnc = "/usr/bin/vpnc";
+
+ if (pathToCiscoVpnc.isEmpty())
+ pathToCiscoVpnc = "/usr/local/bin/vpnclient";
diff --git a/community/kwalletcli/PKGBUILD b/community/kwalletcli/PKGBUILD
new file mode 100644
index 000000000..803b85750
--- /dev/null
+++ b/community/kwalletcli/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Jens Adam (byte/jra) <j_adam@web.de>
+
+pkgname=kwalletcli
+pkgver=2.11
+pkgrel=1
+pkgdesc="Command-Line Interface for the KDE Wallet"
+url="http://www.mirbsd.org/kwalletcli.htm"
+license=('custom:MirOS' 'LGPL3')
+arch=('i686' 'x86_64')
+depends=('kdebase-runtime' 'mksh')
+optdepends=('gnupg2' 'openssh' 'pinentry')
+source=("http://www.mirbsd.org/MirOS/dist/hosted/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('bf5c0bc1608041dd637f0e8e5e4f8586')
+
+build() {
+ cd "${srcdir}"/${pkgname}
+ KDE_VER=4 KDE_INCS="-I/usr/include/Qt -I/usr/include/QtCore" make -e
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}
+ install -d "${pkgdir}"/usr/{bin,share/man/man1}
+ for F in kwalletaskpass kwalletcli kwalletcli_getpin pinentry-kwallet; do
+ install ${F} "${pkgdir}"/usr/bin/${F}
+ install -m644 ${F}.1 "${pkgdir}"/usr/share/man/man1/${F}.1
+ done
+ install -Dm644 LICENCE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENCE
+}
diff --git a/community/kyotocabinet/PKGBUILD b/community/kyotocabinet/PKGBUILD
new file mode 100644
index 000000000..bb08be242
--- /dev/null
+++ b/community/kyotocabinet/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 90164 2013-05-07 16:07:18Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Alexander Duscheleit <jinks@archlinux.us>
+# Contributor: Joaquim Pedro (osmano807) <osmano807@gmail.com>
+
+pkgname=kyotocabinet
+pkgver=1.2.76
+pkgrel=3
+pkgdesc="a modern implementation of DBM in C++"
+arch=('i686' 'x86_64')
+url="http://fallabs.com/kyotocabinet"
+license=('LGPL3')
+makedepends=('gcc' 'make' 'pkgconfig' 'zlib')
+depends=('zlib' 'gcc-libs')
+source=("http://fallabs.com/${pkgname}/pkg/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --disable-opt
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make install DESTDIR="$pkgdir/"
+}
+
+sha512sums=('278db7b327eb4c21bf0137d9aa14fb67d74d5ce7ed1cb29fc9120d157a60de165ec0cf842903eb7952e8f998045ae585b958977fa973ba0e0773381de71d9f6a')
diff --git a/community/lal/PKGBUILD b/community/lal/PKGBUILD
new file mode 100644
index 000000000..69cec8e11
--- /dev/null
+++ b/community/lal/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 67550 2012-03-13 12:10:00Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+
+pkgname=lal
+pkgver=1.1
+pkgrel=2
+pkgdesc="A simple dockapp to display the date and/or time"
+arch=('i686' 'x86_64')
+url="http://projects.l3ib.org/lal/"
+license=('GPL3')
+depends=('libxft' 'libxt')
+source=(http://projects.l3ib.org/$pkgname/files/$pkgname-$pkgver.tar.gz)
+md5sums=('9fc87db08a5c74a7bbab4095e0868457')
+
+build() {
+ cd ${srcdir}/$pkgname
+
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname
+
+ install -D -m755 ${srcdir}/$pkgname/$pkgname ${pkgdir}/usr/bin/$pkgname
+ install -D -m644 ${srcdir}/$pkgname/docs/$pkgname.1 \
+ ${pkgdir}/usr/share/man/man1/$pkgname.1
+}
diff --git a/community/lash/PKGBUILD b/community/lash/PKGBUILD
new file mode 100644
index 000000000..16390c3ec
--- /dev/null
+++ b/community/lash/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: DonVla <donvla@users.sourceforge.net>
+
+pkgname=lash
+pkgver=0.6.0~rc2
+_relver=0.6.0.594
+pkgrel=6
+pkgdesc="A session management system for JACK and ALSA"
+arch=('i686' 'x86_64')
+options=('!libtool')
+#url="http://lash-audio.org"
+url="http://lash.nongnu.org/"
+license=('GPL')
+depends=('dbus-core' 'gtk2' 'jack' 'libxml2' 'python2')
+install=$pkgname.install
+source=("http://download.savannah.gnu.org/releases/lash/${pkgname}-${pkgver}.tar.bz2" "makefile.patch")
+md5sums=('af1dc4f4ceb284b1b0845de4f4c2fe47'
+ '24ceb7e3d008c25e1490102983165612')
+
+build() {
+ cd "${srcdir}/${pkgname}-${_relver}"
+ patch -p0 < "${srcdir}/makefile.patch"
+
+ # Python2 fixes
+ export PYTHON="python2"
+ sed -i "s#env python#&2#" clients/lash_control
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${_relver}"
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/lash/lash.install b/community/lash/lash.install
new file mode 100644
index 000000000..a169a2211
--- /dev/null
+++ b/community/lash/lash.install
@@ -0,0 +1,6 @@
+post_install() {
+ printf "\n"
+ printf "==> You might need to add following line to your /etc/services(without quotes):\n"
+ printf "==> \"lash 14541/tcp # LASH client/server protocol\"\n"
+ printf "\n"
+}
diff --git a/community/lash/makefile.patch b/community/lash/makefile.patch
new file mode 100644
index 000000000..3d35a1d2d
--- /dev/null
+++ b/community/lash/makefile.patch
@@ -0,0 +1,14 @@
+--- docs/Makefile.in.orig 2008-11-09 22:45:28.000000000 +0100
++++ docs/Makefile.in 2011-07-23 17:12:26.000000000 +0200
+@@ -527,9 +527,9 @@
+ @HAVE_TEXI2HTML_TRUE@ mkdir -lash-manual-html-split; \
+ @HAVE_TEXI2HTML_TRUE@ fi
+ @HAVE_TEXI2HTML_TRUE@ cd lash-manual-html-one-page && \
+-@HAVE_TEXI2HTML_TRUE@ texi2html --number ../$(top_srcdir)/docs/lash-manual.texi
++@HAVE_TEXI2HTML_TRUE@ texi2html --number-footnotes --number-sections ../$(top_srcdir)/docs/lash-manual.texi
+ @HAVE_TEXI2HTML_TRUE@ cd lash-manual-html-split && \
+-@HAVE_TEXI2HTML_TRUE@ texi2html --number --split=chapter ../$(top_srcdir)/docs/lash-manual.texi
++@HAVE_TEXI2HTML_TRUE@ texi2html --number-footnotes --number-sections --split=chapter ../$(top_srcdir)/docs/lash-manual.texi
+ @HAVE_TEXI2HTML_TRUE@ touch html-manual-stamp
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/community/launchy/PKGBUILD b/community/launchy/PKGBUILD
new file mode 100644
index 000000000..33ae2d4f1
--- /dev/null
+++ b/community/launchy/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 85453 2013-03-01 19:08:27Z andrea $
+# Contributor: Andrew Burkett <burkett.andrew@gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=launchy
+pkgver=2.5
+pkgrel=3
+pkgdesc="Indexes the programs in your start menu and can launch your documents, project files, folders, and bookmarks with just a few keystrokes!"
+arch=('i686' 'x86_64')
+url="http://www.launchy.net/"
+license=('GPL')
+depends=('qt4' 'xdg-utils')
+makedepends=('gcc' 'boost')
+source=("http://downloads.sourceforge.net/launchy/launchy-${pkgver}.tar.gz"
+ fix-linking.patch)
+sha256sums=('93ec471423b77973a2118eaec64c7a1c05ce37b5bff41760336ebd14fc819500'
+ 'e1b9203ef5071d401ab6276a38270b651488c4cc481a60a98d2c17fb38114e7d')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # fix linking against libX11
+ patch -Np1 -i ../fix-linking.patch
+
+ qmake-qt4 -r Launchy.pro
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make INSTALL_ROOT=${pkgdir} install
+}
diff --git a/community/launchy/fix-linking.patch b/community/launchy/fix-linking.patch
new file mode 100644
index 000000000..fbdd3f2ae
--- /dev/null
+++ b/community/launchy/fix-linking.patch
@@ -0,0 +1,11 @@
+diff -Nru launchy-2.5/src/src.pro launchy-2.5a/src/src.pro
+--- launchy-2.5/src/src.pro 2010-03-13 18:29:11.000000000 +0000
++++ launchy-2.5a/src/src.pro 2012-03-13 12:00:35.249250229 +0000
+@@ -70,6 +70,7 @@
+ ../platforms/unix/platform_x11_hotkey.h \
+ platform_base_hotkey.h \
+ platform_base_hottrigger.h
++ LIBS += -lX11
+
+ PREFIX = /usr
+ DEFINES += SKINS_PATH=\\\"$$PREFIX/share/launchy/skins/\\\" \
diff --git a/community/lazarus/ChangeLog b/community/lazarus/ChangeLog
new file mode 100644
index 000000000..1e4776b1d
--- /dev/null
+++ b/community/lazarus/ChangeLog
@@ -0,0 +1,18 @@
+2012-05-15 BlackIkeEagle
+ * fix lazcontrols failure
+ see: http://doublecmd.sourceforge.net/mantisbt/view.php?id=347
+ * add compiled files again
+
+2012-05-08 BlackIkeEagle
+ * fix FS#29807
+ * should not have removed Makefiles
+
+2012-04-30 BlackIkeEagle
+ * split pkgbuild
+ * lazarus (can be used for compiling)
+ * lazarus-qt (qt ide)
+ * lazarus-gtk (gtk ide)
+
+2008-01-21 JJDaNiMoTh <jjdanimoth.aur@gmail.com>
+
+ * PKGBUILD: moved man pages to /usr/share
diff --git a/community/lazarus/PKGBUILD b/community/lazarus/PKGBUILD
new file mode 100644
index 000000000..cf23fcf60
--- /dev/null
+++ b/community/lazarus/PKGBUILD
@@ -0,0 +1,124 @@
+# $Id: PKGBUILD 92718 2013-06-13 12:56:35Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jens Adam (byte/jra) <j_adam@web.de>
+# Contributor: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+
+pkgbase=lazarus
+pkgname=('lazarus' 'lazarus-gtk2' 'lazarus-qt')
+pkgver=1.0.10
+_pkgsubver=0
+pkgrel=1
+url='http://www.lazarus.freepascal.org/'
+license=('GPL2' 'MPL' 'custom:LGPL')
+arch=('i686' 'x86_64')
+makedepends=('fpc' 'fpc-src' 'gtk2' 'qt4pas' 'rsync')
+options=('!emptydirs' '!makeflags')
+source=("http://downloads.sourceforge.net/project/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20$pkgver/lazarus-$pkgver-${_pkgsubver}.tar.gz"
+ 'lazcontrols2.diff')
+md5sums=('60d3b297079ca4151f690245295a8708'
+ '288bca6ad5ade79deec34c3602daaaa9')
+
+build() {
+ cd $srcdir/${pkgbase}
+
+ # build gtk2 ide
+ make FPC=/usr/bin/fpc LCL_PLATFORM=gtk2 clean bigide
+ # move gtk binaries
+ mv lazarus lazarus-gtk2
+ mv startlazarus startlazarus-gtk2
+
+ # build qt ide
+ make FPC=/usr/bin/fpc LCL_PLATFORM=qt bigide
+ # move qt binaries
+ mv lazarus lazarus-qt
+ mv startlazarus startlazarus-qt
+}
+
+package_lazarus() {
+ pkgdesc='Delphi-like IDE for FreePascal common files'
+ depends=('fpc' 'fpc-src')
+ optdepends=(
+ 'perl: to run some scirpts in the tools directory'
+ 'gtk2: to compile gtk2 apps'
+ 'qt4pas: to compile qt apps and use help viewer'
+ )
+
+ cd $srcdir/${pkgbase}
+
+ # skip the 'make install' mess completely and do everything manually
+ mkdir -p $pkgdir/usr/lib/lazarus $pkgdir/usr/bin $pkgdir/usr/share/man/man1 $pkgdir/usr/share/doc
+ rsync -a \
+ --exclude="CVS" --exclude=".cvsignore" \
+ --exclude="*.ppw" --exclude="*.ppl" \
+ --exclude="*.ow" --exclude="*.a"\
+ --exclude="*.rst" --exclude=".#*" \
+ --exclude="*.~*" --exclude="*.bak" \
+ --exclude="*.orig" --exclude="*.rej" \
+ --exclude=".xvpics" \
+ --exclude="killme*" --exclude=".gdb_hist*" \
+ --exclude="debian" --exclude="COPYING*" \
+ --exclude="*.app" --exclude="tools/install" \
+ . "$pkgdir"/usr/lib/lazarus
+
+ #remove some stuff, not needed or for in other package
+ pushd $pkgdir/usr/lib/lazarus
+ rm lazarus-*
+ rm startlazarus-*
+ popd
+
+ ln -s /usr/lib/lazarus/lazbuild $pkgdir/usr/bin/lazbuild
+ cp -R install/man/man1/* $pkgdir/usr/share/man/man1/
+ mv $pkgdir/usr/lib/lazarus/docs $pkgdir/usr/share/doc/lazarus
+ mkdir -p $pkgdir/usr/lib/lazarus/docs
+ ln -s /usr/share/doc/lazarus/chm $pkgdir/usr/lib/lazarus/docs/html
+
+ rm -r $pkgdir/usr/lib/lazarus/install
+
+ # license files: /usr/lib/lazarus/COPYING*
+ install -D -m644 COPYING.modifiedLGPL.txt $pkgdir/usr/share/licenses/$pkgbase/COPYING.modifiedLGPL
+}
+
+package_lazarus-gtk2() {
+ pkgdesc='Delphi-like IDE for FreePascal gtk2 version'
+ depends=('lazarus' 'desktop-file-utils' 'gtk2')
+ conflicts=('lazarus-qt')
+ install='lazarus-ide.install'
+
+ cd $srcdir/${pkgbase}
+
+ # install gtk binaries
+ install -Dm755 lazarus-gtk2 $pkgdir/usr/lib/lazarus/lazarus
+ install -Dm755 startlazarus-gtk2 $pkgdir/usr/lib/lazarus/startlazarus
+ install -dm755 $pkgdir/usr/bin
+ ln -s /usr/lib/lazarus/lazarus $pkgdir/usr/bin/lazarus
+ ln -s /usr/lib/lazarus/startlazarus $pkgdir/usr/bin/startlazarus
+
+ # make 'desktop-file-validate' happy and fix missing .png icon
+ sed -e 's|\(Categories\).*|\1=IDE;Development;|' \
+ -e 's|\.png|\.xpm|' -i install/lazarus.desktop
+ install -Dm644 install/lazarus.desktop $pkgdir/usr/share/applications/lazarus.desktop
+ install -Dm644 images/ide_icon48x48.png $pkgdir/usr/share/pixmaps/lazarus.png
+}
+
+package_lazarus-qt() {
+ pkgdesc='Delphi-like IDE for FreePascal qt version'
+ depends=('lazarus' 'qt4pas')
+ conflicts=('lazarus-gtk2')
+ install='lazarus-ide.install'
+
+ cd $srcdir/${pkgbase}
+
+ # install qt binaries
+ install -Dm755 lazarus-qt $pkgdir/usr/lib/lazarus/lazarus
+ install -Dm755 startlazarus-qt $pkgdir/usr/lib/lazarus/startlazarus
+ install -dm755 $pkgdir/usr/bin
+ ln -s /usr/lib/lazarus/lazarus $pkgdir/usr/bin/lazarus
+ ln -s /usr/lib/lazarus/startlazarus $pkgdir/usr/bin/startlazarus
+
+ # make 'desktop-file-validate' happy and fix missing .png icon
+ sed -e 's|\(Categories\).*|\1=IDE;Development;|' \
+ -e 's|\.png|\.xpm|' -i install/lazarus.desktop
+ install -Dm644 install/lazarus.desktop $pkgdir/usr/share/applications/lazarus.desktop
+ install -Dm644 images/ide_icon48x48.png $pkgdir/usr/share/pixmaps/lazarus.png
+}
+# vim:set ts=2 sts=2 sw=2 et:
diff --git a/community/lazarus/lazarus-ide.install b/community/lazarus/lazarus-ide.install
new file mode 100644
index 000000000..40d56528f
--- /dev/null
+++ b/community/lazarus/lazarus-ide.install
@@ -0,0 +1,34 @@
+update_icons() {
+
+ # Setup Menus
+ if which update-desktop-database
+ then
+ update-desktop-database -q /usr/share/applications
+ fi
+
+ # Setup MIME types
+ if which update-mime-database
+ then
+ update-mime-database /usr/share/mime >/dev/null
+ fi
+
+ # Setup Icons
+ touch -c /usr/share/icons/hicolor
+ if which gtk-update-icon-cache
+ then
+ gtk-update-icon-cache -tq /usr/share/icons/hicolor
+ fi
+
+}
+
+post_install() {
+ update_icons
+}
+
+post_upgrade() {
+ update_icons
+}
+
+post_remove() {
+ update_icons
+}
diff --git a/community/lazarus/lazcontrols2.diff b/community/lazarus/lazcontrols2.diff
new file mode 100644
index 000000000..4748ae380
--- /dev/null
+++ b/community/lazarus/lazcontrols2.diff
@@ -0,0 +1,46 @@
+Index: Makefile.fpc
+===================================================================
+--- Makefile.fpc (wersja 37097)
++++ Makefile.fpc (kopia robocza)
+@@ -51,6 +51,6 @@
+ -$(DEL) $(COMPILER_UNITTARGETDIR)/lazcontrols$(PPUEXT)
+
+ compiled:
+- $(COPY) Makefile.compiled $(COMPILER_UNITTARGETDIR)/LazControls.compiled
++ $(CPPROG) -f Makefile.compiled $(COMPILER_UNITTARGETDIR)/LazControls.compiled
+
+ all: cleartarget $(COMPILER_UNITTARGETDIR) lazcontrols$(PPUEXT) compiled
+Index: Makefile.compiled
+===================================================================
+--- Makefile.compiled (wersja 37097)
++++ Makefile.compiled (kopia robocza)
+@@ -1,5 +1,5 @@
+ <?xml version="1.0"?>
+ <CONFIG>
+ <Makefile Value="True"/>
+- <Params Value=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -Fu../../lcl/units/%(CPU_TARGET)-%(OS_TARGET);../../lcl/units/%(CPU_TARGET)-%(OS_TARGET)/%(LCL_PLATFORM);../../packager/units/%(CPU_TARGET)-%(OS_TARGET);. -Fi. -dLCL -dLCL%(LCL_PLATFORM)"/>
++ <Params Value=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -Fu../../lcl/units/%(CPU_TARGET)-%(OS_TARGET);../../lcl/units/%(CPU_TARGET)-%(OS_TARGET)/%(LCL_PLATFORM);../../packager/units/%(CPU_TARGET)-%(OS_TARGET);.;.;lib/%(CPU_TARGET)-%(OS_TARGET) -Fi. -dLCL -dLCL%(LCL_PLATFORM) lazcontrols.pas"/>
+ </CONFIG>
+Index: Makefile
+===================================================================
+--- Makefile (wersja 37097)
++++ Makefile (kopia robocza)
+@@ -2961,5 +2961,5 @@
+ cleartarget:
+ -$(DEL) $(COMPILER_UNITTARGETDIR)/lazcontrols$(PPUEXT)
+ compiled:
+- $(COPY) Makefile.compiled $(COMPILER_UNITTARGETDIR)/LazControls.compiled
++ $(CPPROG) -f Makefile.compiled $(COMPILER_UNITTARGETDIR)/LazControls.compiled
+ all: cleartarget $(COMPILER_UNITTARGETDIR) lazcontrols$(PPUEXT) compiled
+Index: lazcontrols.lpk
+===================================================================
+--- lazcontrols.lpk (wersja 37097)
++++ lazcontrols.lpk (kopia robocza)
+@@ -10,6 +10,7 @@
+ <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+ </SearchPaths>
+ <Other>
++ <CustomOptions Value="$(IDEBuildOptions)"/>
+ <CompilerPath Value="$(CompPath)"/>
+ </Other>
+ </CompilerOptions>
diff --git a/community/lcdproc/PKGBUILD b/community/lcdproc/PKGBUILD
new file mode 100644
index 000000000..ced069659
--- /dev/null
+++ b/community/lcdproc/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 92663 2013-06-11 09:24:01Z idevolder $
+# Maintainer: BlackEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: Bernhard Walle <bernhard.walle@gmx.de>
+
+pkgname=lcdproc
+pkgver=0.5.6
+pkgrel=3
+pkgdesc="Utility to drive one or more LCD (and LCD-like) devices"
+url="http://lcdproc.omnipotent.net/"
+license="GPL"
+depends=('libusb-compat')
+optdepends=(
+ 'perl: needed for some lcdproc tools'
+)
+backup=(
+ 'etc/LCDd.conf'
+ 'etc/lcdexec.conf'
+ 'etc/lcdproc.conf'
+ 'etc/lcdvc.conf'
+)
+arch=('i686' 'x86_64')
+source=(
+ "http://switch.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz"
+ 'lcdd.service'
+)
+
+build() {
+ cd "$pkgname-$pkgver"
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --enable-libusb \
+ --enable-lcdproc-menus \
+ --enable-stat-smbfs \
+ --enable-drivers=all
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ sed -e "s/server\/drivers\//\/usr\/lib\/lcdproc\//g" -i "$pkgdir/etc/LCDd.conf"
+ install -Dm644 "$srcdir/lcdd.service" "$pkgdir/usr/lib/systemd/system/lcdd.service"
+}
+
+sha256sums=('bd2f43c30ff43b30f43110abe6b4a5bc8e0267cb9f57fa97cc5e5ef9488b984a'
+ '0acdc0fb9668e6d5e023349874301153a16935e1ad757d550c426a9a7ac64638')
diff --git a/community/lcdproc/lcdd.service b/community/lcdproc/lcdd.service
new file mode 100644
index 000000000..6b0072d0d
--- /dev/null
+++ b/community/lcdproc/lcdd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=LCD display driver
+After=syslog.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/LCDd -c /etc/LCDd.conf
+ControlGroup=cpu:/
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ldc/PKGBUILD b/community/ldc/PKGBUILD
new file mode 100644
index 000000000..e03404d17
--- /dev/null
+++ b/community/ldc/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 92773 2013-06-15 01:02:41Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+pkgname=ldc
+pkgver=0.11.0
+epoch=1
+pkgrel=1
+pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2"
+arch=('i686' 'x86_64')
+url="http://www.dsource.org/projects/ldc"
+license=('BSD')
+depends=('llvm' 'libconfig')
+makedepends=('git' 'cmake')
+backup=('etc/ldc2.conf')
+source=("git://github.com/ldc-developers/ldc.git#tag=v${pkgver}")
+sha1sums=('SKIP')
+
+[[ $CARCH == "x86_64" ]] && _multilib="ON"
+[[ $CARCH == "i686" ]] && _multilib="OFF"
+
+build() {
+ cd "$srcdir"/ldc
+ git submodule update --init --recursive
+
+ mkdir build && cd build
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINCLUDE_INSTALL_DIR=/usr/include/d/std-ldc \
+ -DMULTILIB=$_multilib \
+ ..
+ make
+}
+
+package() {
+ cd "$srcdir"/ldc
+
+ cd build
+ make DESTDIR=$pkgdir install
+ cd ..
+
+ mkdir -p $pkgdir/usr/share/bash-completion/
+ mv $pkgdir/etc/bash_completion.d $pkgdir/usr/share/bash-completion/completions
+
+ install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+
+ # We don't actually want the multilib libs in this package
+ rm -rf $pkgdir/usr/lib32
+}
diff --git a/community/leafnode/PKGBUILD b/community/leafnode/PKGBUILD
new file mode 100644
index 000000000..c6cf6e9c9
--- /dev/null
+++ b/community/leafnode/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 91512 2013-05-23 11:13:56Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=leafnode
+pkgver=1.11.8
+pkgrel=6
+pkgdesc="implements a store & forward NNTP proxy (client and server) with IPv4 and IPv6"
+arch=('i686' 'x86_64')
+url="http://leafnode.sourceforge.net/"
+depends=('pcre' 'xinetd')
+license=('GPL')
+install=leafnode.install
+options=(!emptydirs)
+backup=('etc/xinetd.d/leafnode')
+source=(http://downloads.sf.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ leafnode.xinetd)
+md5sums=('a3edafeb854efaa3fbb0f7951d02160f'
+ '08cd0a81d6efe0803b5d0747ab31903f')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc/leafnode --sbindir=/usr/bin \
+ --with-user=9 \
+ --with-group=13
+ sed -i 's|#define NEWS_USER .*|#define NEWS_USER "news"|' config.h
+ sed -i 's|#define NEWS_GROUP .*|#define NEWS_GROUP "news"|' config.h
+ make
+}
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ chown -R root.root $pkgdir
+ install -D -m0644 $srcdir/leafnode.xinetd $pkgdir/etc/xinetd.d/leafnode
+}
diff --git a/community/leafnode/leafnode.install b/community/leafnode/leafnode.install
new file mode 100644
index 000000000..8c5f10484
--- /dev/null
+++ b/community/leafnode/leafnode.install
@@ -0,0 +1,14 @@
+post_install() {
+ echo "-- Adding user 'news' and group 'news', chowning /var/spool/news"
+ grep -e "^news:" etc/group 2>&- >&- || groupadd -g 13 -r news 2>&- >&-
+ grep -e "^news:" etc/passwd 2>&- >&- || useradd -u 9 -r -m -g news news 2>&- >&-
+ chown -R root:news etc/leafnode
+ # create dir if necessary
+ if [ ! -d var/spool/news ]; then
+ install -d -m 770 -o news -g news var/spool/news
+ fi
+}
+
+post_remove() {
+ echo "-- Don't forget to remove /var/spool/news directory"
+}
diff --git a/community/leafnode/leafnode.xinetd b/community/leafnode/leafnode.xinetd
new file mode 100644
index 000000000..98b5c24e0
--- /dev/null
+++ b/community/leafnode/leafnode.xinetd
@@ -0,0 +1,18 @@
+#
+# /etc/xinetd.d/leafnode
+#
+
+service nntp
+{
+ socket_type = stream
+ wait = no
+ user = news
+ server = /usr/bin/leafnode
+ log_type = SYSLOG news
+ log_on_success += USERID
+ log_on_failure += USERID
+ port = 119
+ disable = yes
+ groups = yes
+}
+
diff --git a/community/leptonica/PKGBUILD b/community/leptonica/PKGBUILD
new file mode 100644
index 000000000..366c8dc40
--- /dev/null
+++ b/community/leptonica/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 90052 2013-05-06 19:38:03Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Christoph Drexler <chrdr at gmx dot at>
+
+pkgname=leptonica
+pkgver=1.69
+pkgrel=7
+pkgdesc="Software that is broadly useful for image processing and image analysis applications"
+arch=('i686' 'x86_64')
+url="http://www.leptonica.com/"
+license=('custom')
+options=(!libtool)
+depends=('giflib' 'libjpeg' 'libpng' 'libtiff' 'zlib' 'libwebp')
+source=(http://www.leptonica.com/source/leptonica-${pkgver}.tar.gz)
+md5sums=('d4085c302cbcab7f9af9d3d6f004ab22')
+
+build() {
+ cd ${srcdir}/leptonica-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/leptonica-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -D leptonica-license.txt ${pkgdir}/usr/share/licenses/leptonica/leptonica-license.txt
+}
diff --git a/community/lgi/PKGBUILD b/community/lgi/PKGBUILD
new file mode 100644
index 000000000..0c03956a1
--- /dev/null
+++ b/community/lgi/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 85686 2013-03-04 23:40:53Z seblu $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+# Maintainer: Sébastien Luttringer
+
+pkgbase=lgi
+pkgname=(lua-lgi)
+pkgver=0.7.1
+pkgrel=1
+pkgdesc='Lua bindings for gnome/gobject using gobject-introspection library'
+arch=(i686 x86_64)
+url='https://github.com/pavouk/lgi'
+license=('custom:MIT')
+depends=('glibc' 'glib2' 'libffi' 'lua' 'gobject-introspection')
+replaces=('lgi')
+conflicts=('lgi')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pavouk/$pkgbase/archive/$pkgver.tar.gz")
+md5sums=('de7367aee8e39f7df7c2229675c5ff2d')
+
+build() {
+ cd $pkgbase-$pkgver
+ make
+}
+
+package_lua-lgi() {
+ cd $pkgbase-$pkgver
+ make \
+ LUA_LIBDIR=/usr/lib/lua/5.2 \
+ LUA_SHAREDIR=/usr/share/lua/5.2 \
+ DESTDIR="$pkgdir/" install
+
+ # dump typelib tool
+ install -Dm755 tools/dump-typelib.lua \
+ "$pkgdir/usr/bin/dump-typelib"
+
+ # docs
+ install -d "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm644 docs/* \
+ "$pkgdir/usr/share/doc/$pkgname"
+
+ # samples
+ install -d "$pkgdir/usr/share/$pkgname/samples/gtk-demo"
+ install -Dm644 samples/*.lua \
+ "$pkgdir/usr/share/$pkgname/samples"
+ install -Dm644 samples/gtk-demo/* \
+ "$pkgdir/usr/share/$pkgname/samples/gtk-demo"
+
+ # license
+ install -Dm644 LICENSE \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libaccounts-glib/PKGBUILD b/community/libaccounts-glib/PKGBUILD
new file mode 100644
index 000000000..3a0fed574
--- /dev/null
+++ b/community/libaccounts-glib/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 92686 2013-06-12 04:53:53Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=libaccounts-glib
+pkgver=1.11
+pkgrel=1
+pkgdesc="Glib-based client library for accessing the online accounts database"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/accounts-sso/"
+license=('LGPL')
+depends=('dbus-glib' 'libxml2' 'sqlite3')
+makedepends=('python2-gobject')
+options=('!libtool')
+source=(http://accounts-sso.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+sha1sums=('467480fc800c6d22d8d53373f67d49f8a1e4d970')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # Install GI overrides for python 3 as well
+ install -dm755 "$pkgdir/usr/lib/python3.3/site-packages/gi/overrides"
+ ln -s ../../../../python2.7/site-packages/gi/overrides/Accounts.py "$pkgdir/usr/lib/python3.3/site-packages/gi/overrides/Accounts.py"
+
+ # We don't have Backup Framework on Arch Linux
+ rm -r "$pkgdir/usr/share/backup-framework"
+}
diff --git a/community/libaccounts-qt/PKGBUILD b/community/libaccounts-qt/PKGBUILD
new file mode 100644
index 000000000..2d2960ddc
--- /dev/null
+++ b/community/libaccounts-qt/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 93073 2013-06-23 22:18:28Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgbase=libaccounts-qt
+_pkgbase=accounts-qt
+pkgname=('libaccounts-qt' 'libaccounts-qt-doc')
+pkgver=1.8
+pkgrel=1
+pkgdesc="Qt-based client library for accessing the online accounts database"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/accounts-sso/"
+license=('LGPL')
+depends=('qt4' 'libaccounts-glib')
+makedepends=('doxygen' 'graphviz' 'ttf-dejavu')
+options=('!emptydirs')
+source=(http://accounts-sso.googlecode.com/files/$_pkgbase-$pkgver.tar.bz2)
+sha1sums=('f5a29ef1d1e66049bbe5d809d6dbfcf0c1a39b41')
+
+build() {
+ cd "$srcdir/$_pkgbase-$pkgver"
+
+ # Do not install tests
+ echo 'INSTALLS =' >>tests/accountstest.pro
+
+ qmake-qt4 PREFIX=/usr LIBDIR=/usr/lib
+ make
+}
+
+package_libaccounts-qt() {
+ cd "$srcdir/$_pkgbase-$pkgver"
+
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Split out documentation
+ mv "$pkgdir/usr/share/doc" "$srcdir"
+}
+
+package_libaccounts-qt-doc() {
+ pkgdesc="Developer documention of signon"
+ depends=()
+
+ mkdir -p "$pkgdir/usr/share"
+ mv "$srcdir/doc" "$pkgdir/usr/share"
+}
diff --git a/community/libacpi/PKGBUILD b/community/libacpi/PKGBUILD
new file mode 100644
index 000000000..26c930902
--- /dev/null
+++ b/community/libacpi/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 57009 2011-10-18 09:29:14Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=libacpi
+pkgver=0.2
+pkgrel=3
+pkgdesc="general purpose lib to gather ACPI data"
+arch=(i686 x86_64)
+url="http://www.ngolde.de/libacpi.html"
+license=('GPL')
+depends=()
+options=(!emptydirs)
+source=(http://www.ngolde.de/download/${pkgname}-${pkgver}.tar.gz
+ http://ftp.de.debian.org/debian/pool/main/liba/libacpi/libacpi_${pkgver}-4.diff.gz)
+md5sums=('05b53dd7bead66dda35fec502b91066c'
+ '30ecd3c281dfe7e11670618fdd8e3c5b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 <$srcdir/libacpi_${pkgver}-4.diff
+ make PREFIX=/usr
+ make PREFIX=/usr DESTDIR="${pkgdir}" install
+}
diff --git a/community/libalkimia/PKGBUILD b/community/libalkimia/PKGBUILD
new file mode 100644
index 000000000..004c8d6fa
--- /dev/null
+++ b/community/libalkimia/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 62859 2012-01-27 20:47:22Z lcarlier $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: gumper <gumper1034@gmail.com>
+
+pkgname=libalkimia
+pkgver=4.3.2
+pkgrel=1
+pkgdesc="A library with common classes and functionality used by finance applications for the KDE SC."
+depends=('kdelibs')
+makedepends=('cmake' 'automoc4' 'doxygen')
+url=('http://kde-apps.org/content/show.php/libalkimia?content=137323')
+license=('LGPL')
+arch=('i686' 'x86_64')
+source=("http://kde-apps.org/CONTENT/content-files/137323-libalkimia-$pkgver.tar.bz2")
+md5sums=('8d7b529c7be5f72ae1cbb02e818e9b79')
+
+build() {
+ cd "${srcdir}"
+
+ mkdir build
+ cd build
+
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -Wno-dev
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+
+ make DESTDIR="${pkgdir}" install
+}
+
diff --git a/community/libc++/PKGBUILD b/community/libc++/PKGBUILD
new file mode 100644
index 000000000..6a4f8c0df
--- /dev/null
+++ b/community/libc++/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: MThinkCpp <mtc.maintainer[at]outlook.com>
+pkgname=libc++
+pkgver=3.3
+pkgrel=3
+pkgdesc='A new implementation of the C++ standard library, targeting C++11.'
+url='http://libcxx.llvm.org'
+license=('custom:University of Illinois/NCSA Open Source License')
+arch=('i686' 'x86_64')
+# gcc-libs needed for libgcc_s, because Arch doesn't use a pure compiler-rt clang
+depends=('glibc' 'libc++abi' 'gcc-libs')
+makedepends=('clang' 'subversion' 'cmake')
+source=("http://www.llvm.org/releases/${pkgver}/libcxx-${pkgver}.src.tar.gz")
+md5sums=('59006e659ffb33f5222a7b79d4cd071e')
+install=${pkgname}.install
+
+build() {
+ mkdir -p libcxx-${pkgver}.src/build
+ cd libcxx-${pkgver}.src/build
+ CC=clang CXX=clang++ cmake -G "Unix Makefiles" -DLIBCXX_CXX_ABI=libcxxabi \
+ -DLIBCXX_LIBCXXABI_INCLUDE_PATHS=/usr/include \
+ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr "$srcdir/libcxx-${pkgver}.src"
+ make
+}
+package() {
+ install -Dm644 libcxx-${pkgver}.src/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/license.txt"
+ cd libcxx-${pkgver}.src/build
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libc++/libc++.install b/community/libc++/libc++.install
new file mode 100644
index 000000000..caef683ae
--- /dev/null
+++ b/community/libc++/libc++.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo compile with \`clang++ -std=c++11 -stdlib=libc++ -lc++abi\` to use libc++
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community/libc++abi/PKGBUILD b/community/libc++abi/PKGBUILD
new file mode 100644
index 000000000..9d86d1cbc
--- /dev/null
+++ b/community/libc++abi/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Benno Fünfstück <pyhaxor@googlemail.com>
+
+pkgname=libc++abi
+pkgver=3.2
+pkgrel=1
+pkgdesc='A new implementation of low level support for a standard C++ library'
+arch=('i686' 'x86_64')
+url="http://libcxxabi.llvm.org/"
+license=('MIT' 'custom:University of Illinois/NCSA Open Source License')
+makedepends=(subversion libunwind clang libc++)
+source=(svn+https://llvm.org/svn/llvm-project/libcxxabi/branches/release_32)
+md5sums=(SKIP)
+
+build() {
+ cd release_32/lib
+ ./buildit
+}
+
+package() {
+ cd release_32
+ mkdir -p "$pkgdir/usr/include"
+ install -Dm644 lib/libc++abi.so.1.0 "$pkgdir/usr/lib/libc++abi.so.1.0"
+ ln -s /usr/lib/libc++abi.so.1.0 "$pkgdir/usr/lib/libc++abi.so.1"
+ ln -s /usr/lib/libc++abi.so.1.0 "$pkgdir/usr/lib/libc++abi.so"
+ install include/* "$pkgdir/usr/include"
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/libcec/PKGBUILD b/community/libcec/PKGBUILD
new file mode 100644
index 000000000..bd2904d90
--- /dev/null
+++ b/community/libcec/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 93498 2013-07-04 12:44:24Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: Philippe Cherel <philippe.cherel@mayenne.org>
+# vim: ft=sh:
+
+pkgname=libcec
+pkgver=2.1.3
+pkgrel=1
+pkgdesc="Pulse-Eight's libcec for the Pulse-Eight USB-CEC adapter"
+arch=('i686' 'x86_64')
+url="https://github.com/Pulse-Eight/libcec"
+license=('GPL')
+depends=('udev' 'lockdev')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/Pulse-Eight/libcec/tarball/$pkgname-$pkgver")
+_srcfolder=Pulse-Eight-libcec-54be21e
+options=(!libtool)
+sha256sums=('2aa88451b528184b02077ee8c6cd10e2f89121a6a05b1b35b4b792b03108a9d1')
+
+build() {
+ mv "$_srcfolder" "$pkgname-$pkgver"
+
+ cd "$pkgname-$pkgver"
+ export CFLAGS="$CFLAGS -fPIC"
+ export CXXFLAGS="$CXXFLAGS -fPIC"
+ export LDFLAGS="$LDFLAGS -fPIC"
+ autoreconf -vif
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libcgns2/PKGBUILD b/community/libcgns2/PKGBUILD
new file mode 100644
index 000000000..3f7f491cf
--- /dev/null
+++ b/community/libcgns2/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 83543 2013-02-02 15:55:58Z stephane $
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Klimov Max <cleemmi@gmail.com>
+
+pkgname=libcgns2
+_basever=2.5
+_relver=5
+pkgver=${_basever}.${_relver}
+pkgrel=3
+pkgdesc='General purpose library for the storage and retrieval of computational fluid dynamics analysis data by CGNS standard'
+arch=('i686' 'x86_64')
+url='http://www.cgns.org'
+license=('custom')
+conflicts=('libcgns')
+depends=('glibc')
+makedepends=('chrpath')
+source=("http://downloads.sourceforge.net/project/cgns/cgnslib_${_basever}/Release%205/cgnslib_${_basever}-${_relver}.tar.gz")
+md5sums=('ae2a2e79b99d41c63e5ed5f661f70fd9')
+
+[[ "$CARCH" == "x86_64" ]] && _64bits="--enable-64bit"
+
+build() {
+ cd cgnslib_${_basever}
+
+ ./configure \
+ --prefix=/usr \
+ --enable-shared \
+ ${_64bits}
+
+ make
+}
+
+package() {
+ cd cgnslib_${_basever}
+
+ install -d ${pkgdir}/usr/include
+ install -d ${pkgdir}/usr/lib
+
+ make install LIBDIR=${pkgdir}/usr/lib INCLUDEDIR=${pkgdir}/usr/include
+
+ # install license
+ install -d ${pkgdir}/usr/share/licenses/libcgns2
+ install -m644 LICENSE \
+ ${pkgdir}/usr/share/licenses/libcgns2
+
+ chrpath --delete ${pkgdir}/usr/lib/libcgns.so
+}
diff --git a/community/libclastfm/PKGBUILD b/community/libclastfm/PKGBUILD
new file mode 100644
index 000000000..b566ae17a
--- /dev/null
+++ b/community/libclastfm/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 72448 2012-06-14 16:10:56Z ttopper $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+pkgname=libclastfm
+pkgver=0.5
+pkgrel=1
+pkgdesc="An unofficial C-API for the Last.fm web service"
+arch=("i686" "x86_64")
+url="http://liblastfm.sourceforge.net/"
+license=('GPL')
+depends=("curl")
+source=("http://downloads.sourceforge.net/liblastfm/$pkgname-$pkgver.tar.gz")
+sha1sums=('9e2fdd42b14c8c375b0cb4981eb11fc1aebeebf5')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
+
diff --git a/community/libcoverart/PKGBUILD b/community/libcoverart/PKGBUILD
new file mode 100644
index 000000000..f0f4e2012
--- /dev/null
+++ b/community/libcoverart/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 87381 2013-03-30 13:00:20Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=libcoverart
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="C/C++ library for accessing the MusicBrainz Cover Art Archive"
+arch=('i686' 'x86_64')
+url="http://musicbrainz.org/doc/libcoverart"
+license=('LGPL')
+depends=('neon' 'jansson')
+makedepends=('cmake')
+source=(https://github.com/downloads/metabrainz/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('6380056bb4bc1a69790e706b4d506f50')
+
+build() {
+ cd "$srcdir/$pkgname-{PROJECT_VERSION}"
+
+ cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-{PROJECT_VERSION}"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libcryptui/PKGBUILD b/community/libcryptui/PKGBUILD
new file mode 100644
index 000000000..137be3426
--- /dev/null
+++ b/community/libcryptui/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 87353 2013-03-30 10:43:50Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=libcryptui
+pkgver=3.8.0
+pkgrel=1
+pkgdesc="Library for OpenPGP prompts"
+arch=('i686' 'x86_64')
+url="http://git.gnome.org/browse/libcryptui/"
+license=('GPL')
+depends=('gtk3' 'gpgme' 'dbus-glib' 'libnotify' 'libgnome-keyring' 'dconf')
+makedepends=('intltool' 'gobject-introspection')
+options=('!libtool')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('10eed96e33b6d7286795a7c678a5655a86ae099fb98d1f7211aa28aa636c0837')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/libcryptui/libcryptui.install b/community/libcryptui/libcryptui.install
new file mode 100644
index 000000000..7a903e80c
--- /dev/null
+++ b/community/libcryptui/libcryptui.install
@@ -0,0 +1,11 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/libcss/PKGBUILD b/community/libcss/PKGBUILD
new file mode 100644
index 000000000..4c5fb155e
--- /dev/null
+++ b/community/libcss/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 89131 2013-04-27 00:42:21Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=libcss
+pkgver=0.2.0
+pkgrel=1
+pkgdesc='CSS parser and selection engine'
+arch=('x86_64' 'i686')
+url='http://www.netsurf-browser.org/projects/libcss/'
+license=('MIT')
+depends=('libparserutils>=0.1.2' 'libwapcaplet>=0.2.0')
+makedepends=('netsurf-buildsystem')
+source=("http://download.netsurf-browser.org/libs/releases/libcss-$pkgver-src.tar.gz")
+sha256sums=('31b08f6f2259366ccad8b455440f364dc33e7dc78cdb0cf4905da56d5372f613')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ export CFLAGS="-Wno-error=unused-but-set-variable"
+ make PREFIX=/usr COMPONENT_TYPE="lib-shared"
+ make PREFIX=/usr COMPONENT_TYPE="lib-static"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-shared"
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-static"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libcuefile/PKGBUILD b/community/libcuefile/PKGBUILD
new file mode 100644
index 000000000..92654aec4
--- /dev/null
+++ b/community/libcuefile/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 57124 2011-10-22 02:51:18Z ebelanger $
+# Maintainer: Corrado Primier <bardo@aur.archlinux.org>
+
+pkgname=libcuefile
+pkgver=475
+pkgrel=1
+pkgdesc="A library to work with CUE files"
+arch=('i686' 'x86_64')
+url="http://www.musepack.net/index.php?pg=src"
+license=('GPL2')
+depends=('glibc')
+makedepends=('cmake')
+source=(http://files.musepack.net/source/${pkgname}_r${pkgver}.tar.gz)
+md5sums=('1a6ac52e1080fd54f0f59372345f1e4e')
+
+build() {
+ mkdir "${srcdir}/${pkgname}_r${pkgver}/build"
+ cd "${srcdir}/${pkgname}_r${pkgver}/build"
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}_r${pkgver}/build"
+ make DESTDIR="${pkgdir}/" install
+
+ mkdir -p "${pkgdir}/usr/include/cuetools"
+ install -Dm644 "${srcdir}"/${pkgname}_r${pkgver}/include/cuetools/{cd,cdtext,cuefile}.h \
+ "${pkgdir}/usr/include/cuetools"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libdaq/PKGBUILD b/community/libdaq/PKGBUILD
new file mode 100644
index 000000000..79dfc3f2a
--- /dev/null
+++ b/community/libdaq/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 74193 2012-07-22 19:47:13Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+
+pkgname=libdaq
+pkgver=1.1.1
+pkgrel=1
+pkgdesc='Data Acquisition library for packet I/O.'
+arch=('i686' 'x86_64')
+url='http://www.snort.org/'
+license=('GPL')
+depends=('libpcap')
+makedepends=('ca-certificates')
+options=('!libtool')
+source=("http://www.snort.org/dl/snort-current/daq-${pkgver}.tar.gz"{,.sig})
+md5sums=('bc204ea09165b4ecbb1bb49c7c1a2ad4'
+ '3ec4c252249b09adaf5c96e2626a1f74')
+
+build() {
+ cd "${srcdir}/daq-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/daq-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/libdbi-drivers/PKGBUILD b/community/libdbi-drivers/PKGBUILD
new file mode 100644
index 000000000..d69d86823
--- /dev/null
+++ b/community/libdbi-drivers/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 87120 2013-03-27 15:21:01Z ttoepper $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Olivier Médoc <o_medoc@yahoo.fr>
+# Contributor: Ashok `ScriptDevil` Gautham <ScriptDevil.Arch@gmail.com>
+
+pkgname=libdbi-drivers
+pkgver=0.9.0
+pkgrel=1
+pkgdesc="Database drivers for libdbi (MySQL, PostgreSQL, and SQLite)"
+url="http://libdbi-drivers.sourceforge.net/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('libdbi')
+makedepends=('postgresql-libs' 'libmariadbclient' 'sqlite2' 'sqlite')
+optdepends=("postgresql-libs: To work with postgresql using libdbdpgsql "
+ "sqlite3: To work with sqlite3 using libdbdsqlite3"
+ "libmariadbclient: To work with mysql using libdbdmysql"
+ "sqlite2: To work with sqlite2 using libdbdsqlite")
+options=(!libtool)
+install=libdbi-drivers.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('8472875d30c216540d48d591b442e40ba4f7df5d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --disable-docs \
+ --with-libdbi \
+ --with-mysql \
+ --with-pgsql \
+ --with-sqlite \
+ --with-sqlite3
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR=${pkgdir} install
+}
+
diff --git a/community/libdbi-drivers/libdbi-drivers.install b/community/libdbi-drivers/libdbi-drivers.install
new file mode 100644
index 000000000..158201554
--- /dev/null
+++ b/community/libdbi-drivers/libdbi-drivers.install
@@ -0,0 +1,19 @@
+# arg 1: the new package version
+post_install() {
+ ldconfig
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ ldconfig
+}
+
+# arg 1: the old package version
+post_remove() {
+ ldconfig
+}
+
+op=$1
+shift
+$op $*
diff --git a/community/libdbi/PKGBUILD b/community/libdbi/PKGBUILD
new file mode 100644
index 000000000..e0c031534
--- /dev/null
+++ b/community/libdbi/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 87114 2013-03-27 13:46:18Z ttoepper $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Carl Flippin <carlf@photocarl.org>
+
+pkgname=libdbi
+pkgver=0.9.0
+pkgrel=1
+pkgdesc="A database independant abstraction layer for C"
+url="http://libdbi.sourceforge.net"
+license=('LGPL')
+arch=('i686' 'x86_64')
+depends=('glibc')
+options=(!libtool)
+install=libdbi.install
+source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('6c1ecfb78f43a921d5f914299304bd6c82cb0e23')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make CFLAGS="-fno-fast-math"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR=${pkgdir} install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libdbi/libdbi.install b/community/libdbi/libdbi.install
new file mode 100644
index 000000000..1dcdad1a1
--- /dev/null
+++ b/community/libdbi/libdbi.install
@@ -0,0 +1,13 @@
+post_install() {
+ ldconfig
+}
+
+post_upgrade() {
+ ldconfig
+}
+
+post_remove() {
+ ldconfig
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libdesktop-agnostic/PKGBUILD b/community/libdesktop-agnostic/PKGBUILD
new file mode 100644
index 000000000..e6848d808
--- /dev/null
+++ b/community/libdesktop-agnostic/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 79732 2012-11-11 19:02:50Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=libdesktop-agnostic
+pkgver=0.3.92
+pkgrel=5
+pkgdesc="Provides an extensible config API, a unified virtual fs API, and a desktop item editor for GLib-based projects"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/libdesktop-agnostic"
+license=('GPL' 'LGPL')
+depends=('pygtk')
+makedepends=('intltool' 'vala' 'gconf' 'gobject-introspection')
+optdepends=('gconf: gconf configuration backend')
+options=('!libtool')
+backup=(etc/xdg/libdesktop-agnostic/desktop-agnostic.ini)
+source=(https://launchpad.net/$pkgname/0.4/$pkgver/+download/$pkgname-$pkgver.tar.gz)
+md5sums=('42374d226a21d57637f97173f6b105a1')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ export PYTHON=/usr/bin/python2
+
+ python2 ./waf configure --prefix=/usr --sysconfdir=/etc \
+ --config-backends=gconf,keyfile \
+ --vfs-backends=gio \
+ --desktop-entry-backends=gio,glib
+ python2 ./waf
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python2 ./waf install --destdir="$pkgdir"
+}
diff --git a/community/libdlna/PKGBUILD b/community/libdlna/PKGBUILD
new file mode 100644
index 000000000..d72ab5531
--- /dev/null
+++ b/community/libdlna/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 73658 2012-07-12 19:03:11Z spupykin $
+# Maintainer: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com>
+# Contributor: kastor <kastor@fobos.org.ar>
+
+pkgname=libdlna
+pkgver=0.2.4
+pkgrel=11
+pkgdesc="An open-source implementation of DLNA (Digital Living Network Alliance) standards "
+url="http://libdlna.geexbox.org"
+license=("LGPL")
+arch=('i686' 'x86_64')
+options=('!libtool' '!makeflags') # not parallel safe, error find -ldlna
+#makedepends=('ctags')
+depends=('glibc' 'ffmpeg')
+source=("http://libdlna.geexbox.org/releases/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('64d7de57aff5a729f2434fc5e69b4ffc')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/libdnet/PKGBUILD b/community/libdnet/PKGBUILD
new file mode 100644
index 000000000..d12544eef
--- /dev/null
+++ b/community/libdnet/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 91834 2013-05-28 17:04:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: James Fryman <jfryman@gmail.com>
+
+pkgname=libdnet
+pkgver=1.12
+pkgrel=7
+pkgdesc="A simplified, portable interface to several low-level networking routines"
+arch=(i686 x86_64)
+makedepends=(python2)
+optdepends=(python2)
+license=("BSD")
+url="http://code.google.com/p/libdnet/"
+options=('!libtool')
+source=(http://libdnet.googlecode.com/files/libdnet-$pkgver.tgz)
+md5sums=('9253ef6de1b5e28e9c9a62b882e44cc9')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ autoreconf -I config --force --install
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+
+ cd python && \
+ python2 setup.py install --root=$pkgdir
+
+ install -D -m0644 ../LICENSE $pkgdir/usr/share/licenses/libdnet/license
+}
diff --git a/community/libdnet/libdnet.install b/community/libdnet/libdnet.install
new file mode 100644
index 000000000..3264378fd
--- /dev/null
+++ b/community/libdnet/libdnet.install
@@ -0,0 +1,3 @@
+post_install() {
+ /sbin/ldconfig
+}
diff --git a/community/libdom/PKGBUILD b/community/libdom/PKGBUILD
new file mode 100644
index 000000000..0ee76677c
--- /dev/null
+++ b/community/libdom/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 89135 2013-04-27 01:19:34Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=libdom
+pkgver=0.0.1
+pkgrel=1
+pkgdesc='Implementation of the W3C DOM'
+arch=('x86_64' 'i686')
+url='http://www.netsurf-browser.org/projects/libdom/'
+license=('MIT')
+depends=('hubbub>=0.2.0' 'libwapcaplet>=0.2.0' 'expat')
+makedepends=('netsurf-buildsystem')
+source=("http://download.netsurf-browser.org/libs/releases/$pkgname-$pkgver-src.tar.gz")
+sha256sums=('2aa75861c8a8291b6b3d1a3856c65ca615677afeec64ccfdf35a113a292c36b1')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ export CFLAGS="-Wno-error=unused-but-set-variable"
+ make PREFIX=/usr COMPONENT_TYPE="lib-shared"
+ make PREFIX=/usr COMPONENT_TYPE="lib-static"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-shared"
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-static"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libee/PKGBUILD b/community/libee/PKGBUILD
new file mode 100644
index 000000000..f2dd94444
--- /dev/null
+++ b/community/libee/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91836 2013-05-28 17:04:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Brian Knox <taotetek@gmail.com>
+
+pkgname=libee
+pkgver=0.4.1
+pkgrel=2
+pkgdesc="event expression library inspired by CEE"
+url="http://www.libee.org/"
+arch=('i686' 'x86_64')
+license=('LGPL2.1')
+depends=('libestr' 'glibc')
+makedepends=()
+optdepends=()
+options=(!libtool)
+source=("http://www.libee.org/files/download/libee-$pkgver.tar.gz")
+md5sums=('7bbf4160876c12db6193c06e2badedb2')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make -j1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/community/libesmtp/PKGBUILD b/community/libesmtp/PKGBUILD
new file mode 100644
index 000000000..76c54991e
--- /dev/null
+++ b/community/libesmtp/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 57896 2011-11-04 08:47:23Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=libesmtp
+pkgver=1.0.6
+pkgrel=2
+pkgdesc='A library to manage posting mail to a preconfigured MTA.'
+arch=('i686' 'x86_64')
+url='http://www.stafford.uklinux.net/libesmtp/'
+license=('LGPL')
+depends=('openssl')
+source=("http://www.stafford.uklinux.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('bf3915e627fd8f35524a8fdfeed979c8')
+options=('!libtool')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/libestr/PKGBUILD b/community/libestr/PKGBUILD
new file mode 100644
index 000000000..af365dc03
--- /dev/null
+++ b/community/libestr/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 88518 2013-04-19 10:30:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Brian Knox <taotetek@gmail.com>
+
+pkgname=libestr
+pkgver=0.1.5
+pkgrel=1
+pkgdesc="essentials for string handling (and a bit more)"
+url="http://libestr.adiscon.com/"
+arch=('i686' 'x86_64')
+license=('LGPL2.1')
+depends=()
+options=(!libtool)
+source=("http://libestr.adiscon.com/files/download/libestr-$pkgver.tar.gz")
+md5sums=('f180c0cdc82883d161eba3f2e8a34eb4')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/community/libev/PKGBUILD b/community/libev/PKGBUILD
new file mode 100644
index 000000000..210f339d8
--- /dev/null
+++ b/community/libev/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92911 2013-06-18 17:53:17Z bpiotrowski $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Thomas Haider <t.haider@vcnc.org>
+
+pkgname=libev
+pkgver=4.15
+pkgrel=1
+pkgdesc="A full-featured and high-performance event loop"
+arch=('i686' 'x86_64')
+url="http://software.schmorp.de/pkg/libev.html"
+license=('BSD')
+depends=('glibc')
+options=('!libtool')
+source=(http://dist.schmorp.de/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+sha1sums=('88655b1e2c0b328c9f90a6df7e72361a97fa8dc3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ # fix conflict with libevent
+ rm ${pkgdir}/usr/include/event.h
+
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/libexosip2/ChangeLog b/community/libexosip2/ChangeLog
new file mode 100644
index 000000000..7b33546b8
--- /dev/null
+++ b/community/libexosip2/ChangeLog
@@ -0,0 +1,7 @@
+2008-04-20 Darwin Bautista <djclue917@gmail.com>
+* libexosip2 3.1.0-1
+* New upstream release
+
+2007-11-21 Darwin Bautista <djclue917@gmail.com>
+* libexosip2 3.0.3_3-1
+* Initial release
diff --git a/community/libexosip2/PKGBUILD b/community/libexosip2/PKGBUILD
new file mode 100644
index 000000000..aa31a11c4
--- /dev/null
+++ b/community/libexosip2/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 88347 2013-04-16 14:01:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+
+pkgname=libexosip2
+epoch=1
+pkgver=3.6.0
+pkgrel=1
+pkgdesc="A library that hides the complexity of using SIP for multimedia session establishement"
+arch=('i686' 'x86_64')
+url="http://savannah.nongnu.org/projects/exosip/"
+license=('GPL')
+depends=('libosip2>=4.0.0' 'openssl')
+options=(!libtool)
+source=(http://download.savannah.nongnu.org/releases/exosip/libeXosip2-${pkgver/_/-}.tar.gz)
+md5sums=('6fef4c110f1305048a8b307f440933d9')
+
+build() {
+ cd "$srcdir/libeXosip2-${pkgver/_/-}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/libeXosip2-${pkgver/_/-}"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libextractor/PKGBUILD b/community/libextractor/PKGBUILD
new file mode 100644
index 000000000..9a113dd10
--- /dev/null
+++ b/community/libextractor/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 85587 2013-03-03 17:28:54Z dreisner $
+# Maintainer: Sergej Pupykin <pupykin.s@gmail.com>
+# Contributor: damir <damir@archlinux.org>
+
+pkgname=libextractor
+pkgver=1.0.1
+pkgrel=4
+pkgdesc="A library used to extract meta-data from files of arbitrary type"
+arch=("i686" "x86_64")
+license=('GPL')
+url="http://gnunet.org/libextractor/"
+depends=('libltdl')
+makedepends=('flac' 'poppler' 'exiv2' 'qt4' 'libvorbis' 'gtk2' 'libgsf' 'libmpeg2')
+optdepends=('flac: flac support'
+ 'poppler: pdf support'
+ 'exiv2: metadata support'
+ 'qt: the Qt GUI interface/thumbnails'
+ 'gtk2: gtk2 GUI interface/thumbnails'
+ 'libgsf: (optional) for ODF support'
+ 'libmpeg2: mpeg support'
+ 'libvorbis: ogg/vorbis support')
+options=('!libtool' '!makeflags')
+install=libextractor.install
+source=("http://ftp.gnu.org/gnu/libextractor/${pkgname}-${pkgver}.tar.gz"{,.sig})
+md5sums=('593c40670fd7fc8c3ae7adc3df557f64'
+ 'ef9bfeb3ade063dc9a5b29b2afd0732e')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --enable-shared --disable-static
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ rm ${pkgdir}/usr/share/info/dir
+}
diff --git a/community/libextractor/libextractor.install b/community/libextractor/libextractor.install
new file mode 100644
index 000000000..27002d556
--- /dev/null
+++ b/community/libextractor/libextractor.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(libextractor.info.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/libfakekey/PKGBUILD b/community/libfakekey/PKGBUILD
new file mode 100644
index 000000000..9c88316ce
--- /dev/null
+++ b/community/libfakekey/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: zoulnix <z[o]ulnix.borkedduck.c[o]m>
+
+pkgname=libfakekey
+pkgver=0.1
+pkgrel=5
+pkgdesc='X virtual keyboard library.'
+arch=('i686' 'x86_64')
+url='http://matchbox-project.org/'
+license=('GPL')
+depends=('libxtst')
+options=('!libtool')
+source=("http://matchbox-project.org/sources/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('83dbde4d77e8baf0176fe4291d8a2303')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static
+ make AM_LDFLAGS=-lX11
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/libfaketime/PKGBUILD b/community/libfaketime/PKGBUILD
new file mode 100644
index 000000000..447f4b364
--- /dev/null
+++ b/community/libfaketime/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 62627 2012-01-22 21:34:26Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Dan Serban
+# Contributor: Ross Melin <rdmelin@gmail.com>
+
+pkgname=libfaketime
+pkgver=0.9.1
+pkgrel=1
+pkgdesc='Report fake dates and times to programs without having to change the system-wide time.'
+arch=('i686' 'x86_64')
+url='http://www.code-wizards.com/projects/libfaketime/'
+license=('GPL2')
+source=("http://www.code-wizards.com/projects/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'libfaketime-0.9.1-fix-as-needed.patch'
+ 'libfaketime-0.9.1-fix-README-NEWS.patch')
+md5sums=('ce3f996dfd5826b4ac62f1a7cc36ea27'
+ '90873e4df35283463ef54b159c318686'
+ 'b1b641a8e2298aa1646982e3bde96117')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+
+ patch -p1 -i ../libfaketime-0.9.1-fix-as-needed.patch
+ patch -p1 -i ../libfaketime-0.9.1-fix-README-NEWS.patch
+
+ make
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+ make PREFIX=/usr DESTDIR="${pkgdir}" install
+}
diff --git a/community/libfaketime/libfaketime-0.9.1-fix-README-NEWS.patch b/community/libfaketime/libfaketime-0.9.1-fix-README-NEWS.patch
new file mode 100644
index 000000000..3d47c5404
--- /dev/null
+++ b/community/libfaketime/libfaketime-0.9.1-fix-README-NEWS.patch
@@ -0,0 +1,29 @@
+From c0c19a71c5481f3082afee2ac7962bd7abfcf134 Mon Sep 17 00:00:00 2001
+From: Lukas Fleischer <info@cryptocrack.de>
+Date: Sun, 22 Jan 2012 22:19:50 +0100
+Subject: [PATCH] Makefile: Fix installation of "README" and "NEWS"
+
+Initialize "INSTALL" in the top-level Makefile in order to avoid broken
+install(1) invocations such as:
+
+ dm0755 "/build/pkg/usr/share/doc/faketime/"
+ /bin/sh: dm0755: command not found
+
+Signed-off-by: Lukas Fleischer <info@cryptocrack.de>
+---
+ Makefile | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index f90e18e..d0225ba 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,3 +1,5 @@
++INSTALL = install
++
+ all:
+ $(MAKE) -C src all
+ $(MAKE) -C test all
+--
+1.7.8.4
+
diff --git a/community/libfaketime/libfaketime-0.9.1-fix-as-needed.patch b/community/libfaketime/libfaketime-0.9.1-fix-as-needed.patch
new file mode 100644
index 000000000..870349145
--- /dev/null
+++ b/community/libfaketime/libfaketime-0.9.1-fix-as-needed.patch
@@ -0,0 +1,39 @@
+From f0ee2ee1e0a2fa5f11614a55ab8543380faa9695 Mon Sep 17 00:00:00 2001
+From: Lukas Fleischer <info@cryptocrack.de>
+Date: Sun, 22 Jan 2012 21:47:52 +0100
+Subject: [PATCH] Fix linking with "-Wl,--as-needed"
+
+Reorder linker flags in order to ensure proper linking when using
+"--Wl,--as-needed". Read http://www.gentoo.org/proj/en/qa/asneeded.xml,
+especially "Importance of linking order" for details:
+
+ Basically, what the linker does is look for the symbols missing in a
+ given file (either an object file, a static archive or a library)
+ only in the files coming after it. When using the normal linking,
+ without --as-needed, this is not a problem, although there might be
+ some internal drawbacks on the linking stage, the files are linked
+ together without considering ordering. But with the flag, the
+ libraries that aren't used for resolving symbols are discarded and
+ thus not linked.
+
+Signed-off-by: Lukas Fleischer <info@cryptocrack.de>
+---
+ src/Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 9118815..d4a04b5 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -69,7 +69,7 @@ ${OBJ}: faketime.c
+ ${CC} -o $@ -c ${CFLAGS} ${EXTRA_FLAGS} $<
+
+ lib%.so.${SONAME}: %.o
+- ${CC} -o $@ -Wl,-soname,$@ ${LDFLAGS} $<
++ ${CC} -o $@ -Wl,-soname,$@ $< ${LDFLAGS}
+
+ clean:
+ @rm -f ${OBJ} ${LIBS}
+--
+1.7.8.4
+
diff --git a/community/libfbclient/ChangeLog b/community/libfbclient/ChangeLog
new file mode 100644
index 000000000..f02bd5ff5
--- /dev/null
+++ b/community/libfbclient/ChangeLog
@@ -0,0 +1,26 @@
+
+2009-06-08 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Rebuilt for the new icu
+
+2009-04-09 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.1.2
+
+2008-08-10 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.1.1
+
+2008-05-10 Mateusz Herych <heniekk@gmail.com>
+
+ * Updated for x86_64 - 2.1.0
+
+2008-04-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated for i686 - 2.1.0
+ * Sure, firebird is the hell to build. Waiting contributions ;-)
+
+2007-07-06 tardo <tardo@nagi-fanboi.net>
+
+ * Built for x86_64
+ * This is the most fucked up pkg evar.
diff --git a/community/libfbclient/LICENSE b/community/libfbclient/LICENSE
new file mode 100644
index 000000000..e735b0cc1
--- /dev/null
+++ b/community/libfbclient/LICENSE
@@ -0,0 +1,44 @@
+
+LICENSES
+--------
+
+The applicable and approved licenses for the source files
+of the Firebird RDBMS project are:
+
+ 1) InterBase Public License (IPL), version 1.0
+ http://bdn.borland.com/article/0,1410,30198,00.html
+
+ 2) Initial Developer's Public License (IDPL), version 1.0
+ http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl
+
+The IPL is copyright of Borland Corp., the other licenses are copyright
+by the source code authors and contributors.
+
+
+USAGE RULES
+-----------
+
+1) The source code which was released under the IPL must keep this license.
+ All modifications / adaptations of this code are still subjects of the IPL.
+
+2) The files that are derived from the IPL covered code, must also keep
+ this license. It means that if any new file contains some code covered by
+ the IPL, then this file should be released under the IPL too.
+
+3) The new files developed by the members of the Firebird project should
+ be released under the IDPL.
+
+4) The new files contributed by people who are not members of the Firebird
+ project should follow the rule #3. If an author (initial developer) doesn't
+ specify the license to be used, the person who applies the contributed code
+ to the CVS tree (a committer) becomes responsible for the license assigned
+ to the contributed code.
+
+5) Every non-binary file that exists in the CVS tree, should have a header
+ section which describes the license this code is released under. If a file
+ contains no header, it means that this code is freeware and nobody owns the
+ appropriate copyrights.
+
+
+You may find the exhibits for the approved licenses in /doc/license directory
+of the CVS tree.
diff --git a/community/libfbclient/PKGBUILD b/community/libfbclient/PKGBUILD
new file mode 100644
index 000000000..44cb112af
--- /dev/null
+++ b/community/libfbclient/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 88481 2013-04-18 13:13:14Z lcarlier $
+# Maintainer: Carlier Laurent <lordheavym@gmail.com>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+pkgname=libfbclient
+pkgver=2.5.2.26540
+pkgrel=1
+pkgdesc="Client library for Firebird."
+arch=('i686' 'x86_64')
+url="http://www.firebirdsql.org/"
+license=('custom')
+depends=('gcc-libs' 'icu')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/firebird/Firebird-$pkgver-0.tar.bz2
+ LICENSE)
+md5sums=('21154d2004e025c8a3666625b0357bb5'
+ '0d61798861e159c85dbdf0f30fe2f2ce')
+
+build() {
+ cd $srcdir/Firebird-$pkgver-0
+
+ ./configure --prefix=/usr --with-system-icu --without-fbudf \
+ --without-fbsbin --without-fbconf --without-fbdoc --without-fbsample \
+ --without-fbsample-db --without-fbintl --without-fbmisc --without-fbhelp \
+ --without-fbsecure-db --with-fbmsg=/usr/share/firebird --without-fblog \
+ --without-fbglock --without-fbplugins
+
+ make
+}
+
+package() {
+ cd $srcdir/Firebird-$pkgver-0
+
+ mkdir -p $pkgdir/usr/{bin,share/{firebird,licenses/$pkgname}}
+
+ cp -R gen/firebird/{lib,include} $pkgdir/usr
+ rm -f $pkgdir/usr/lib/libedit.a
+
+ install -m644 gen/firebird/*.msg $pkgdir/usr/share/firebird
+ install -m755 gen/firebird/bin/fb_config $pkgdir/usr/bin
+ install -m644 ${srcdir}/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+
+ # Add libgds support FS#30062 FS#30282
+ cd $pkgdir/usr/lib
+ ln -s libfbclient.so libgds.so.0
+ ln -s libfbclient.so libgds.so
+}
diff --git a/community/libfm/PKGBUILD b/community/libfm/PKGBUILD
new file mode 100644
index 000000000..b92caf778
--- /dev/null
+++ b/community/libfm/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 93766 2013-07-10 06:57:36Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Unknown47 <unknown47r@gmail.com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=libfm
+pkgver=1.1.0
+pkgrel=5
+pkgdesc='Library for file management'
+url='http://pcmanfm.sourceforge.net/'
+arch=('i686' 'x86_64')
+license=('GPL')
+groups=('lxde')
+options=('!libtool')
+install=libfm.install
+depends=('gtk2' 'menu-cache' 'shared-mime-info' 'udisks' 'desktop-file-utils')
+source=(http://downloads.sourceforge.net/pcmanfm/$pkgname-$pkgver.tar.gz)
+md5sums=('a5bc8b8291cf810c659bfb3af378b5de')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-udisks \
+ --with-gnu-ld
+ make LDFLAGS+=' -lgobject-2.0 -lglib-2.0'
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # Temporary fix to FS#32361
+ rm "$pkgdir"/usr/include/libfm
+ mv "$pkgdir"/usr/include/libfm-1.0/ "$pkgdir"/usr/include/libfm
+}
diff --git a/community/libfm/libfm.install b/community/libfm/libfm.install
new file mode 100644
index 000000000..e83eccb55
--- /dev/null
+++ b/community/libfm/libfm.install
@@ -0,0 +1,15 @@
+post_install() {
+ update-mime-database /usr/share/mime > /dev/null
+ update-desktop-database -q
+ #[ -d /usr/lib/gio/modules ] && gio-querymodules /usr/lib/gio/modules
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+
diff --git a/community/libgdamm/PKGBUILD b/community/libgdamm/PKGBUILD
new file mode 100644
index 000000000..a5fb71909
--- /dev/null
+++ b/community/libgdamm/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 91044 2013-05-18 13:45:43Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Jan de Groot <jan@jgc.homeip.net>
+
+pkgbase=libgdamm
+pkgname=(libgdamm libgdamm-docs)
+pkgver=4.99.7
+pkgrel=1
+arch=('i686' 'x86_64')
+makedepends=('libgda' 'libsigc++' 'glibmm' 'glibmm-docs')
+url="http://www.gtkmm.org/"
+license=('LGPL')
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgbase/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('5b864ddc7d5555c6c2d7fb5c6a3856c690911d12837148511a7b9f85100ca06c')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package_libgdamm() {
+ pkgdesc="C++ bindings for libgda"
+ depends=('libgda' 'glibmm' 'libsigc++')
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ sed -i -e 's/^doc_subdirs/#doc_subdirs/' Makefile
+
+ make DESTDIR="${pkgdir}" install
+}
+
+package_libgdamm-docs() {
+ pkgdesc="Developer documentation for libgdamm"
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make -C docs DESTDIR="${pkgdir}" install
+}
diff --git a/community/libgeotiff/PKGBUILD b/community/libgeotiff/PKGBUILD
new file mode 100644
index 000000000..67e2632a7
--- /dev/null
+++ b/community/libgeotiff/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 78993 2012-10-28 17:33:39Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=libgeotiff
+pkgver=1.4.0
+pkgrel=1
+pkgdesc="A TIFF based interchange format for georeferenced raster imagery"
+arch=('i686' 'x86_64')
+url="http://www.remotesensing.org/geotiff"
+license=('custom')
+depends=('libtiff' 'proj' 'libjpeg>=7')
+options=('!makeflags' '!libtool')
+changelog=$pkgname.changelog
+source=(ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/$pkgname-$pkgver.tar.gz)
+sha256sums=('d0acb8d341fd6a8f2c673456e09fdb8f50f91e3166ac934719fe05b30d328329')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/libgeotiff/LICENSE
+}
diff --git a/community/libgeotiff/libgeotiff.changelog b/community/libgeotiff/libgeotiff.changelog
new file mode 100644
index 000000000..e49948e98
--- /dev/null
+++ b/community/libgeotiff/libgeotiff.changelog
@@ -0,0 +1,2 @@
+2012-10-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libgeotiff 1.4.0-1
diff --git a/community/libgexiv2/PKGBUILD b/community/libgexiv2/PKGBUILD
new file mode 100644
index 000000000..69bb7a979
--- /dev/null
+++ b/community/libgexiv2/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 87061 2013-03-26 15:12:47Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=libgexiv2
+pkgver=0.6.1
+pkgrel=1
+pkgdesc='GObject-based wrapper around the Exiv2 library'
+arch=('x86_64' 'i686')
+url='http://redmine.yorba.org/projects/gexiv2'
+license=('GPL2')
+depends=('exiv2' 'gobject-introspection')
+options=('!libtool')
+source=("http://yorba.org/download/gexiv2/${pkgver%.1}/${pkgname}_$pkgver.tar.xz")
+sha256sums=('72ee2fcc6a98c9e83467adea45b10d1b61c55654c204dcce9c2463615389a9e3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --enable-introspection
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libgig/PKGBUILD b/community/libgig/PKGBUILD
new file mode 100644
index 000000000..49d7ed254
--- /dev/null
+++ b/community/libgig/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 67536 2012-03-13 11:11:23Z lcarlier $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: svoufff <svoufff at gmail dot com>
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+
+pkgname=libgig
+pkgver=3.3.0
+pkgrel=2
+pkgdesc="C++ library for loading Gigasampler and DLS files"
+arch=(i686 x86_64)
+url="http://www.linuxsampler.org/libgig/"
+license=('GPL')
+depends=('gcc-libs' 'util-linux-ng' 'libsndfile')
+options=('!libtool' '!makeflags')
+source=(http://download.linuxsampler.org/packages/$pkgname-$pkgver.tar.bz2)
+md5sums=('fc33e8e948ed2db9b7003a3ecdb78549')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libgit2-glib/PKGBUILD b/community/libgit2-glib/PKGBUILD
new file mode 100644
index 000000000..38f5b31d5
--- /dev/null
+++ b/community/libgit2-glib/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 93394 2013-07-02 20:55:40Z eric $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=libgit2-glib
+pkgver=0.0.6
+pkgrel=1
+pkgdesc="GLib wrapper for libgit2"
+url="http://live.gnome.org/Libgit2-glib"
+license=(LGPL2.1)
+arch=(i686 x86_64)
+depends=(glib2 libgit2 gobject-introspection)
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('bda84b5ab6fbe2922a4cf386b4e6d4401863dec7bea1879e86939d005cd521f6')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libgit2/PKGBUILD b/community/libgit2/PKGBUILD
new file mode 100644
index 000000000..aedbb4fde
--- /dev/null
+++ b/community/libgit2/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 93245 2013-06-29 19:05:07Z thestinger $
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Hilton Medeiros <medeiros.hilton@gmail.com>
+# Contributor: Dave Reisner <d@falconindy.com>
+
+pkgname=libgit2
+pkgver=0.19.0
+pkgrel=1
+pkgdesc="A linkable library for Git"
+arch=('i686' 'x86_64')
+url="http://libgit2.github.com/"
+depends=(zlib openssl libssh2)
+makedepends=(cmake python)
+license=('GPL2')
+source=("src-$pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/tarball/v$pkgver")
+md5sums=('df1c1e058b2d0f46b1b73dc78d551ea1')
+
+build() {
+ cd $pkgname-*
+ export LANG=en_US.UTF-8
+ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DTHREADSAFE=ON
+ make
+}
+
+check() {
+ cd $pkgname-*
+ make test
+}
+
+package() {
+ cd $pkgname-*
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libgnome-media-profiles/PKGBUILD b/community/libgnome-media-profiles/PKGBUILD
new file mode 100644
index 000000000..6fc7c2a8f
--- /dev/null
+++ b/community/libgnome-media-profiles/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 87928 2013-04-08 18:08:07Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=libgnome-media-profiles
+pkgver=3.0.0
+pkgrel=4
+pkgdesc="Library for management of audio recording profiles"
+arch=('i686' 'x86_64')
+url="https://git.gnome.org/browse/libgnome-media-profiles"
+license=('GPL2')
+depends=('gconf' 'gtk3' 'gstreamer0.10-base-plugins')
+makedepends=('intltool' 'gnome-doc-utils')
+options=('!libtool')
+install=$pkgname.install
+source=(http://download.gnome.org/sources/${pkgname}/3.0/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('ab1288e53a8fccca3e8fa59757ef586901e236e09a737a1178eeb8d74428c061')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-static --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libgnome-media-profiles/libgnome-media-profiles.install b/community/libgnome-media-profiles/libgnome-media-profiles.install
new file mode 100644
index 000000000..1c2bfeac0
--- /dev/null
+++ b/community/libgnome-media-profiles/libgnome-media-profiles.install
@@ -0,0 +1,21 @@
+pkgname=gnome-media-profiles
+
+post_install(){
+ usr/sbin/gconfpkg --install ${pkgname}
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ if [ "$(vercmp 3.0.0-4 "$2")" -eq 1 ]; then
+ usr/sbin/gconfpkg --uninstall libgnome-media-profiles
+ else
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+ fi
+}
diff --git a/community/libgooglepinyin/PKGBUILD b/community/libgooglepinyin/PKGBUILD
new file mode 100644
index 000000000..bac38b86c
--- /dev/null
+++ b/community/libgooglepinyin/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Author: CSSlayer <wengxt@gmail.com>
+# Contributor: Yangtse <yangtsesu@gmail.com>
+
+pkgname=libgooglepinyin
+pkgver=0.1.2
+pkgrel=1
+pkgdesc="A fork from google pinyin on android"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/libgooglepinyin"
+license=('APACHE')
+depends=('gcc-libs')
+makedepends=('cmake')
+source=(http://libgooglepinyin.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2)
+
+build() {
+ cd "${srcdir}"
+
+ msg "Starting make..."
+
+ rm -rf "${srcdir}/build"
+ cp -rf "${srcdir}/${pkgname}-${pkgver}" "$srcdir/build"
+ cd "${srcdir}/build"
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr . \
+ -DENABLE_STATIC=Off
+}
+
+package() {
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
+}
+
+md5sums=('d697aba08fdc0fe15c9d7b6096ca3b28')
diff --git a/community/libgoom2/PKGBUILD b/community/libgoom2/PKGBUILD
new file mode 100644
index 000000000..d1264bd43
--- /dev/null
+++ b/community/libgoom2/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 66115 2012-02-23 01:28:54Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: danitool
+
+pkgname=libgoom2
+pkgver=2k4
+pkgrel=2
+pkgdesc="Shared library part of the Goom visualization plugin"
+arch=('i686' 'x86_64')
+url="http://www.fovea.cc/?page=details_produits&id=goom"
+license=('LGPL')
+depends=('glibc')
+options=('!libtool' '!emptydirs')
+source=("http://downloads.sourceforge.net/project/goom/goom2k4/0/goom-2k4-0-src.tar.gz")
+md5sums=('8100dd07e0c6784fdf079eeaa53a5c7f')
+
+build() {
+ cd "${srcdir}/goom2k4-0"
+
+ ./configure --prefix=/usr \
+ --without-xmms \
+ --without-sdl
+ make
+}
+
+package() {
+ cd "${srcdir}/goom2k4-0"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/libgringotts/PKGBUILD b/community/libgringotts/PKGBUILD
new file mode 100644
index 000000000..ec06cbb6b
--- /dev/null
+++ b/community/libgringotts/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 70182 2012-05-01 12:27:33Z andrea $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=libgringotts
+pkgver=1.2.1
+pkgrel=10
+pkgdesc="Encryption backend for Gringotts"
+arch=('i686' 'x86_64')
+url="http://developer.berlios.de/projects/gringotts"
+license=('GPL')
+depends=('bzip2' 'libmcrypt' 'mhash' 'zlib')
+changelog=$pkgname.changelog
+options=('!libtool')
+source=(http://download.berlios.de/gringotts/$pkgname-$pkgver.tar.bz2)
+md5sums=('b2b1bad56ef33153f251ccd9500860be')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ autoconf
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+
+ rm -fr ${pkgdir}/usr/share
+}
diff --git a/community/libgringotts/libgringotts.changelog b/community/libgringotts/libgringotts.changelog
new file mode 100644
index 000000000..a2357a924
--- /dev/null
+++ b/community/libgringotts/libgringotts.changelog
@@ -0,0 +1,6 @@
+2012-05-01 Andrea Scarpino <andrea@archlinux.org>
+ * Remove libtool dependence
+ * Remove .la file
+
+2009-03-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * osmo dependency, moved to [community]
diff --git a/community/libgtksourceviewmm2/PKGBUILD b/community/libgtksourceviewmm2/PKGBUILD
new file mode 100644
index 000000000..8d2ec7fff
--- /dev/null
+++ b/community/libgtksourceviewmm2/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 88627 2013-04-20 17:41:57Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.orgg>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+
+pkgname=libgtksourceviewmm2
+pkgver=2.10.3
+pkgrel=1
+pkgdesc='A C++ API for gtksourceview2'
+arch=('i686' 'x86_64')
+url='http://projects.gnome.org/gtksourceviewmm/'
+license=('LGPL')
+depends=('gtkmm' 'gtksourceview2')
+makedepends=('doxygen' 'glibmm-docs')
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/GNOME/sources/gtksourceviewmm/2.10/gtksourceviewmm-$pkgver.tar.xz)
+sha256sums=('0000df1b582d7be2e412020c5d748f21c0e6e5074c6b2ca8529985e70479375b')
+
+build() {
+ cd gtksourceviewmm-${pkgver}
+
+ ./configure \
+ --prefix=/usr
+
+ make
+}
+
+package() {
+ cd gtksourceviewmm-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/libharu/PKGBUILD b/community/libharu/PKGBUILD
new file mode 100644
index 000000000..211f20c9f
--- /dev/null
+++ b/community/libharu/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90053 2013-05-06 19:38:05Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : SpepS <dreamspepser at yahoo dot it>
+# Contributor: Auguste <auguste@gmail.com>
+# Contributor: Jose Negron <josenj.arch@mailnull.com>
+
+pkgname=libharu
+pkgver=2.2.1
+pkgrel=4
+pkgdesc="C/C++ library for generating PDF documents"
+url="http://libharu.org/wiki/Main_Page"
+arch=('i686' 'x86_64')
+license=('custom:ZLIB')
+depends=('libpng' 'gcc-libs')
+options=(!libtool)
+source=("http://libharu.org/files/$pkgname-$pkgver.tar.gz"
+ libpng15.patch)
+md5sums=('63da8e087744f1d6cf16f9501b1cb766'
+ '01ead345fba55e6374fe2dbf9be0db3e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/libpng15.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+ # license
+ install -d "$pkgdir/usr/share/licenses/$pkgname"
+ sed -n '102,120p' README > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/libharu/libpng15.patch b/community/libharu/libpng15.patch
new file mode 100644
index 000000000..210c5c29a
--- /dev/null
+++ b/community/libharu/libpng15.patch
@@ -0,0 +1,302 @@
+diff -wbBur libharu-2.2.1/src/hpdf_image_png.c libharu-2.2.1.my/src/hpdf_image_png.c
+--- libharu-2.2.1/src/hpdf_image_png.c 2010-02-08 12:27:51.000000000 +0300
++++ libharu-2.2.1.my/src/hpdf_image_png.c 2012-01-23 12:53:05.000000000 +0400
+@@ -110,13 +110,13 @@
+ {
+ png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+ png_bytep* row_pointers = HPDF_GetMem (image->mmgr,
+- info_ptr->height * sizeof (png_bytep));
++ png_get_image_height(png_ptr, info_ptr) * sizeof (png_bytep));
+
+ if (row_pointers) {
+ HPDF_UINT i;
+
+- HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof (png_bytep));
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ HPDF_MemSet (row_pointers, 0, png_get_image_height(png_ptr, info_ptr) * sizeof (png_bytep));
++ for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ row_pointers[i] = HPDF_GetMem (image->mmgr, len);
+
+ if (image->error->error_no != HPDF_OK)
+@@ -126,7 +126,7 @@
+ if (image->error->error_no == HPDF_OK) {
+ png_read_image(png_ptr, row_pointers);
+ if (image->error->error_no == HPDF_OK) { /* add this line */
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ if (HPDF_Stream_Write (image->stream, row_pointers[i], len) !=
+ HPDF_OK)
+ break;
+@@ -135,7 +135,7 @@
+ }
+
+ /* clean up */
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ HPDF_FreeMem (image->mmgr, row_pointers[i]);
+ }
+
+@@ -156,7 +156,7 @@
+ if (buf_ptr) {
+ HPDF_UINT i;
+
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ png_read_rows(png_ptr, (png_byte**)&buf_ptr, NULL, 1);
+ if (image->error->error_no != HPDF_OK)
+ break;
+@@ -183,13 +183,13 @@
+ HPDF_UINT i, j;
+ png_bytep *row_ptr;
+
+- row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
++ row_ptr = HPDF_GetMem (image->mmgr, png_get_image_height(png_ptr, info_ptr) * sizeof(png_bytep));
+ if (!row_ptr) {
+ return HPDF_FAILD_TO_ALLOC_MEM;
+ } else {
+ png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ row_ptr[i] = HPDF_GetMem(image->mmgr, len);
+ if (!row_ptr[i]) {
+ for (; i >= 0; i--) {
+@@ -207,19 +207,19 @@
+ goto Error;
+ }
+
+- for (j = 0; j < info_ptr->height; j++) {
+- for (i = 0; i < info_ptr->width; i++) {
+- smask_data[info_ptr->width * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
++ for (j = 0; j < png_get_image_height(png_ptr, info_ptr); j++) {
++ for (i = 0; i < png_get_image_width(png_ptr, info_ptr); i++) {
++ smask_data[png_get_image_width(png_ptr, info_ptr) * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
+ }
+
+- if (HPDF_Stream_Write (image->stream, row_ptr[j], info_ptr->width) != HPDF_OK) {
++ if (HPDF_Stream_Write (image->stream, row_ptr[j], png_get_image_width(png_ptr, info_ptr)) != HPDF_OK) {
+ ret = HPDF_FILE_IO_ERROR;
+ goto Error;
+ }
+ }
+
+ Error:
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ HPDF_FreeMem (image->mmgr, row_ptr[i]);
+ }
+
+@@ -245,13 +245,13 @@
+ return HPDF_INVALID_PNG_IMAGE;
+ }
+
+- row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
++ row_ptr = HPDF_GetMem (image->mmgr, png_get_image_height(png_ptr, info_ptr) * sizeof(png_bytep));
+ if (!row_ptr) {
+ return HPDF_FAILD_TO_ALLOC_MEM;
+ } else {
+ png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ row_ptr[i] = HPDF_GetMem(image->mmgr, len);
+ if (!row_ptr[i]) {
+ for (; i >= 0; i--) {
+@@ -271,12 +271,12 @@
+
+ switch (color_type) {
+ case PNG_COLOR_TYPE_RGB_ALPHA:
+- row_len = 3 * info_ptr->width * sizeof(png_byte);
+- for (j = 0; j < info_ptr->height; j++) {
+- for (i = 0; i < info_ptr->width; i++) {
++ row_len = 3 * png_get_image_width(png_ptr, info_ptr) * sizeof(png_byte);
++ for (j = 0; j < png_get_image_height(png_ptr, info_ptr); j++) {
++ for (i = 0; i < png_get_image_width(png_ptr, info_ptr); i++) {
+ row = row_ptr[j];
+ memmove(row + (3 * i), row + (4*i), 3);
+- smask_data[info_ptr->width * j + i] = row[4 * i + 3];
++ smask_data[png_get_image_width(png_ptr, info_ptr) * j + i] = row[4 * i + 3];
+ }
+
+ if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
+@@ -286,12 +286,12 @@
+ }
+ break;
+ case PNG_COLOR_TYPE_GRAY_ALPHA:
+- row_len = info_ptr->width * sizeof(png_byte);
+- for (j = 0; j < info_ptr->height; j++) {
+- for (i = 0; i < info_ptr->width; i++) {
++ row_len = png_get_image_width(png_ptr, info_ptr) * sizeof(png_byte);
++ for (j = 0; j < png_get_image_height(png_ptr, info_ptr); j++) {
++ for (i = 0; i < png_get_image_width(png_ptr, info_ptr); i++) {
+ row = row_ptr[j];
+ row[i] = row[2 * i];
+- smask_data[info_ptr->width * j + i] = row[2 * i + 1];
++ smask_data[png_get_image_width(png_ptr, info_ptr) * j + i] = row[2 * i + 1];
+ }
+
+ if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
+@@ -306,7 +306,7 @@
+ }
+
+ Error:
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ HPDF_FreeMem (image->mmgr, row_ptr[i]);
+ }
+
+@@ -448,7 +448,7 @@
+ }
+
+ /* 16bit images are not supported. */
+- if (info_ptr->bit_depth == 16) {
++ if (png_get_bit_depth(png_ptr, info_ptr) == 16) {
+ png_set_strip_16(png_ptr);
+ }
+
+@@ -458,7 +458,7 @@
+ }
+
+ /* check palette-based images for transparent areas and load them immediately if found */
+- if (xref && PNG_COLOR_TYPE_PALETTE & info_ptr->color_type) {
++ if (xref && PNG_COLOR_TYPE_PALETTE & png_get_color_type(png_ptr, info_ptr)) {
+ png_bytep trans;
+ int num_trans;
+ HPDF_Dict smask;
+@@ -478,10 +478,10 @@
+ smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
+ ret = HPDF_Dict_AddName (smask, "Type", "XObject");
+ ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
+- ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
+- ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
++ ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
+ ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
+- ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++ ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+
+ if (ret != HPDF_OK) {
+ HPDF_Dict_Free(smask);
+@@ -489,7 +489,7 @@
+ goto Exit;
+ }
+
+- smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
++ smask_data = HPDF_GetMem(image->mmgr, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr));
+ if (!smask_data) {
+ HPDF_Dict_Free(smask);
+ ret = HPDF_FAILD_TO_ALLOC_MEM;
+@@ -503,7 +503,7 @@
+ goto Exit;
+ }
+
+- if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
++ if (HPDF_Stream_Write(smask->stream, smask_data, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr)) != HPDF_OK) {
+ HPDF_FreeMem(image->mmgr, smask_data);
+ HPDF_Dict_Free(smask);
+ ret = HPDF_FILE_IO_ERROR;
+@@ -513,9 +513,9 @@
+
+
+ ret += CreatePallet(image, png_ptr, info_ptr);
+- ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
+- ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
+- ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++ ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ ret += HPDF_Dict_Add (image, "SMask", smask);
+
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+@@ -526,7 +526,7 @@
+
+ /* read images with alpha channel right away
+ we have to do this because image transparent mask must be added to the Xref */
+- if (xref && PNG_COLOR_MASK_ALPHA & info_ptr->color_type) {
++ if (xref && PNG_COLOR_MASK_ALPHA & png_get_color_type(png_ptr, info_ptr)) {
+ HPDF_Dict smask;
+ png_bytep smask_data;
+
+@@ -539,10 +539,10 @@
+ smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
+ ret = HPDF_Dict_AddName (smask, "Type", "XObject");
+ ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
+- ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
+- ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
++ ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
+ ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
+- ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++ ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+
+ if (ret != HPDF_OK) {
+ HPDF_Dict_Free(smask);
+@@ -550,7 +550,7 @@
+ goto Exit;
+ }
+
+- smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
++ smask_data = HPDF_GetMem(image->mmgr, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr));
+ if (!smask_data) {
+ HPDF_Dict_Free(smask);
+ ret = HPDF_FAILD_TO_ALLOC_MEM;
+@@ -564,7 +564,7 @@
+ goto Exit;
+ }
+
+- if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
++ if (HPDF_Stream_Write(smask->stream, smask_data, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr)) != HPDF_OK) {
+ HPDF_FreeMem(image->mmgr, smask_data);
+ HPDF_Dict_Free(smask);
+ ret = HPDF_FILE_IO_ERROR;
+@@ -572,14 +572,14 @@
+ }
+ HPDF_FreeMem(image->mmgr, smask_data);
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) {
+ ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
+ } else {
+ ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
+ }
+- ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
+- ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
+- ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++ ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ ret += HPDF_Dict_Add (image, "SMask", smask);
+
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+@@ -589,9 +589,9 @@
+ /* if the image has color palette, copy the pallet of the image to
+ * create color map.
+ */
+- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
+ ret = CreatePallet(image, png_ptr, info_ptr);
+- else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++ else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
+ ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
+ else
+ ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
+@@ -617,16 +617,16 @@
+ }
+
+ /* setting the info of the image. */
+- if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width)
++ if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr))
+ != HPDF_OK)
+ goto Exit;
+
+- if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height)
++ if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr))
+ != HPDF_OK)
+ goto Exit;
+
+ if (HPDF_Dict_AddNumber (image, "BitsPerComponent",
+- (HPDF_UINT)info_ptr->bit_depth) != HPDF_OK)
++ (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr)) != HPDF_OK)
+ goto Exit;
+
+ /* clean up */
diff --git a/community/libhx/PKGBUILD b/community/libhx/PKGBUILD
new file mode 100644
index 000000000..ed40ebd4e
--- /dev/null
+++ b/community/libhx/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 89905 2013-05-05 14:47:57Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Max Roder <maxroder@web.de>
+# Contributor: Nathan Owe <ndowens.aur at gmail dot com>
+
+pkgname='libhx'
+pkgver=3.15
+pkgrel=1
+pkgdesc='A library providing queue, tree, I/O and utility functions'
+arch=('i686' 'x86_64')
+url=('http://libhx.sourceforge.net/')
+license=('GPL')
+depends=()
+options=('!libtool')
+source=("http://downloads.sourceforge.net/${pkgname}/libHX-${pkgver}.tar.xz")
+md5sums=('0165d6aa994a094b2a170d93a48599e0')
+
+build() {
+ cd ${srcdir}/libHX-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/libHX-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/libident/PKGBUILD b/community/libident/PKGBUILD
new file mode 100644
index 000000000..4e4207c6a
--- /dev/null
+++ b/community/libident/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90500 2013-05-12 23:26:42Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+
+pkgname=libident
+pkgver=0.32
+pkgrel=5
+pkgdesc='Library for querying IDENT servers'
+arch=('x86_64' 'i686')
+url='http://www.remlab.net/libident/'
+license=('custom')
+depends=('glibc')
+options=('!emptydirs' '!libtool')
+source=("http://www.remlab.net/files/libident/libident-$pkgver.tar.gz"
+ 'libident.pc')
+sha256sums=('8cc8fb69f1c888be7cffde7f4caeb3dc6cd0abbc475337683a720aa7638a174b'
+ '81907cda4fe9c925e78bf58bc9c61d1af439784e4f01da4bd6fc7e4d87750f5c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm755 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ install -Dm644 "$srcdir/libident.pc" "$pkgdir/usr/lib/pkgconfig/libident.pc"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libident/libident.pc b/community/libident/libident.pc
new file mode 100644
index 000000000..835504e9a
--- /dev/null
+++ b/community/libident/libident.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: libident
+Description: IDENT query library
+Version: 0.32
+Libs: -L${libdir} -lident
+Cflags: -I${includedir}
diff --git a/community/libinfinity/PKGBUILD b/community/libinfinity/PKGBUILD
new file mode 100644
index 000000000..64094d1c2
--- /dev/null
+++ b/community/libinfinity/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 89907 2013-05-05 14:48:21Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Gregory Haynes <greg@greghaynes.net>
+
+pkgname=libinfinity
+pkgver=0.5.3
+pkgrel=1
+pkgdesc="An implementation of the Infininote protocol written in GObject-based C"
+arch=('i686' 'x86_64')
+url="http://gobby.0x539.de"
+license=('GPL')
+depends=('gnutls>=1.7.2' 'gsasl>=0.2.21' 'glib2>=2.16' 'libxml2>=2.0' 'gtk2')
+makedepends=('gtk-doc' 'pkgconfig')
+optdepends=('avahi: zeroconf support'
+ 'gtk2: gtk support')
+options=('!libtool')
+source=("http://releases.0x539.de/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('1a784b00fe26c6984c03cd5a09eb2cd6')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --localstatedir=/var
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ rm -rf $pkgdir/var
+}
diff --git a/community/libiptcdata/PKGBUILD b/community/libiptcdata/PKGBUILD
new file mode 100644
index 000000000..88fd20f62
--- /dev/null
+++ b/community/libiptcdata/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 64858 2012-02-18 18:11:08Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=libiptcdata
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Library for manipulating the IPTC metadata"
+arch=('i686' 'x86_64')
+url="http://libiptcdata.sourceforge.net/"
+license=('GPL')
+depends=('glibc')
+options=(!libtool)
+source=(http://downloads.sourceforge.net/sourceforge/libiptcdata/$pkgname-$pkgver.tar.gz)
+md5sums=('af886556ecb129b694f2d365d03d95a8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libircclient/PKGBUILD b/community/libircclient/PKGBUILD
new file mode 100644
index 000000000..cba8f34e7
--- /dev/null
+++ b/community/libircclient/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 93508 2013-07-04 20:56:31Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Maintainer: SpepS <dreamspepser at yahoo dot it>
+# Contributor: Marcel Wysocki <maci@satgnu.net>
+# Contributor: coolkehon <coolkehon at g m a i l>
+
+pkgname=libircclient
+pkgver=1.7
+pkgrel=1
+pkgdesc='Small but powerful library, which implements client-server IRC protocol'
+arch=('i686' 'x86_64')
+url='http://www.ulduzsoft.com/libircclient/'
+depends=('glibc')
+makedepends=('python2-sphinx' 'python2-rst2pdf')
+license=('GPL')
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('968370276f7cf21302f504f9bce1fc99')
+
+build() {
+ cd $pkgname-$pkgver
+
+ # add fPIC flag for x86_64
+ [[ "$CARCH" = "x86_64" ]] && export CFLAGS="$CFLAGS -fPIC"
+
+ sed -e "/install/s/lib/all/" \
+ -e "/DESTDIR/s/\.a/\.so/g" \
+ -e "s/@\/include/&\/$pkgname/" \
+ -i src/Makefile.in
+
+ ./configure --prefix=/usr \
+ --libdir=/usr/lib \
+ --enable-shared
+ cd src && make
+
+ cd ../doc
+ sed -i 's/sphinx-build/sphinx-build2/g' Makefile
+ make singlehtml man
+}
+
+package() {
+ cd $pkgname-$pkgver/src
+ make DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir"/usr/share/doc/$pkgname
+ cp -a ../doc/_build/singlehtml/* "$pkgdir"/usr/share/doc/$pkgname
+ cp -a ../doc/_build/man "$pkgdir"/usr/share
+
+ install -d "$pkgdir"/usr/share/$pkgname/examples
+ install -Dm644 ../examples/* \
+ "$pkgdir"/usr/share/$pkgname/examples
+}
diff --git a/community/libircclient/shared.patch b/community/libircclient/shared.patch
new file mode 100644
index 000000000..ac57fe3a8
--- /dev/null
+++ b/community/libircclient/shared.patch
@@ -0,0 +1,44 @@
+diff -aur libircclient-1.3/src/Makefile.in libircclient-1.3.patched/src/Makefile.in
+--- libircclient-1.3/src/Makefile.in 2005-03-09 22:11:53.000000000 +0100
++++ libircclient-1.3.patched/src/Makefile.in 2012-01-05 05:46:21.000000000 +0100
+@@ -4,21 +4,22 @@
+ AR=@AR@ cr
+ RANLIB=@RANLIB@
+ INCLUDES=-I../include
+-
++DESTDIR+=
+
+ OBJS = libircclient.o
+
+ all: lib
+
+-lib: libircclient.a
++lib: libircclient.a libircclient.so
+
+ install: lib
+- -mkdir @prefix@/include
+- -mkdir @prefix@/lib
+- cp ../include/libircclient.h @prefix@/include/libircclient.h
+- cp ../include/libirc_errors.h @prefix@/include/libirc_errors.h
+- cp ../include/libirc_events.h @prefix@/include/libirc_events.h
+- cp libirc.a @prefix@/include/lib/libirc.a
++ mkdir -p $(DESTDIR)/usr/{lib,include/libircclient}
++ mkdir -p $(DESTDIR)/usr/share/{man,{doc,}/libircclient}
++ cp libircclient.a libircclient.so $(DESTDIR)/usr/lib
++ cp ../include/libirc*.h $(DESTDIR)/usr/include/libircclient
++ cp -a ../doc/{html,rfc1459.txt} $(DESTDIR)/usr/share/doc/libircclient
++ cp -a ../examples $(DESTDIR)/usr/share/libircclient
++ cp -a ../doc/man/man3 $(DESTDIR)/usr/share/man
+
+ $(OBJS): utils.c dcc.c errors.c portable.c sockets.c colors.c
+
+@@ -26,6 +27,9 @@
+ $(AR) libircclient.a $(OBJS)
+ $(RANLIB) libircclient.a
+
++libircclient.so: $(OBJS)
++ $(CC) -shared -Wl $(OBJS) -o libircclient.so
++
+ clean:
+ rm -f libircclient.a $(OBJS)
+
diff --git a/community/libkkc-data/ChangeLog b/community/libkkc-data/ChangeLog
new file mode 100644
index 000000000..dc925a33b
--- /dev/null
+++ b/community/libkkc-data/ChangeLog
@@ -0,0 +1,14 @@
+2013-05-28 ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+ - Clean up makedepends
+
+2013-05-28 ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+ * libkkc-data 0.2.0-2
+ - Add marisa (marisa-python) into makedepends
+
+2013-05-27 ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+ * libkkc-data 0.2.0-1
+ - Initial release on AUR
+
diff --git a/community/libkkc-data/PKGBUILD b/community/libkkc-data/PKGBUILD
new file mode 100644
index 000000000..0a235cb22
--- /dev/null
+++ b/community/libkkc-data/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+pkgname=libkkc-data
+pkgver=0.2.5
+pkgrel=1
+pkgdesc="Language model data package for libkkc"
+arch=('i686' 'x86_64')
+url="https://bitbucket.org/libkkc"
+license=('GPL')
+makedepends=('python2-marisa')
+changelog=ChangeLog
+source=(https://bitbucket.org/libkkc/${pkgname}/downloads/${pkgname}-${pkgver}.tar.xz)
+
+build() {
+ cd "${pkgname}-${pkgver}"
+ ./configure PYTHON=/usr/bin/python2 --prefix=/usr
+ make
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums=('bb31dca814e72dfcddf88f2da3fc37c5')
diff --git a/community/libkkc/PKGBUILD b/community/libkkc/PKGBUILD
new file mode 100644
index 000000000..c80ee65ec
--- /dev/null
+++ b/community/libkkc/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+pkgname=libkkc
+pkgver=0.2.6
+pkgrel=1
+pkgdesc="Japanese Kana Kanji conversion library"
+arch=('i686' 'x86_64')
+url="https://bitbucket.org/libkkc"
+license=('GPL')
+options=(!libtool)
+depends=('marisa' 'json-glib' 'libgee06')
+makedepends=('vala' 'gobject-introspection' 'intltool' 'python2-marisa')
+source=(https://bitbucket.org/libkkc/libkkc/downloads/${pkgname}-${pkgver}.tar.gz)
+
+build() {
+ cd "${pkgname}-${pkgver}"
+
+ PYTHON=/usr/bin/python2 \
+ ./configure --prefix=/usr --disable-static --disable-silent-rules
+ make
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+ make DESTDIR="$pkgdir" install
+ install -d "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}"
+ install -m 644 README data/rules/README.rules COPYING \
+ "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}/"
+}
+
+md5sums=('b50f0341596a4e290188a7bf5195cd26')
diff --git a/community/liblinebreak/PKGBUILD b/community/liblinebreak/PKGBUILD
new file mode 100644
index 000000000..ce6a84fe4
--- /dev/null
+++ b/community/liblinebreak/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 74591 2012-07-31 10:04:29Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Orivej Desh <smpuj@bk.ru>
+
+pkgname=liblinebreak
+pkgver=2.1
+pkgrel=1
+pkgdesc="An implementation of the line breaking algorithm as described in Unicode 5.2.0 Standard Annex 14, Revision 24"
+arch=("i686" "x86_64")
+url="http://vimgadgets.sourceforge.net/liblinebreak/"
+license=("custom:zlib/libpng")
+depends=("glibc")
+makedepends=()
+options=("!libtool")
+source=("http://downloads.sourceforge.net/vimgadgets/liblinebreak-$pkgver.tar.gz")
+md5sums=('9fe73b4b230434765be2305e50f8fe45')
+
+build() {
+ cd "$srcdir/liblinebreak-$pkgver"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="$pkgdir" install
+ install -Dm644 LICENCE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
diff --git a/community/liblockfile/PKGBUILD b/community/liblockfile/PKGBUILD
new file mode 100644
index 000000000..7bb437825
--- /dev/null
+++ b/community/liblockfile/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 66217 2012-02-23 03:31:35Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
+
+pkgname=liblockfile
+pkgver=1.08_4
+_basever=1.08
+pkgrel=2
+pkgdesc="a library with NFS-safe locking functions"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://packages.debian.org/unstable/libs/liblockfile1"
+depends=('glibc')
+makedepends=()
+source=(http://ftp.debian.org/debian/pool/main/libl/$pkgname/${pkgname}_${_basever}.orig.tar.gz
+ http://ftp.debian.org/debian/pool/main/libl/$pkgname/${pkgname}_${pkgver/_/-}.debian.tar.bz2)
+md5sums=('c24e2dfb4a2aab0263fe5ac1564d305e'
+ '50c0c049d2838704f5720f5fd9eaddac')
+
+build() {
+ cd $srcdir/$pkgname-${_basever}
+ for p in `cat ../debian/patches/series` ; do
+ patch -p1 < ../debian/patches/$p
+ done
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-${_basever}
+ mkdir -p $pkgdir/usr/{lib,bin,include,share/man/man1,share/man/man3}
+ make install prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man
+}
diff --git a/community/libmaa/PKGBUILD b/community/libmaa/PKGBUILD
new file mode 100644
index 000000000..085518f80
--- /dev/null
+++ b/community/libmaa/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 88315 2013-04-16 13:28:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=libmaa
+pkgver=1.3.2
+pkgrel=1
+pkgdesc="Provides many low-level data structures which are helpful for writing compilers"
+url="http://sourceforge.net/projects/dict/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('glibc')
+makedepends=('flex')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/dict/${pkgname}-${pkgver}.tar.gz")
+md5sums=('01dab2cde2e0a322653e45bfa63537ee')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/libmatchbox/PKGBUILD b/community/libmatchbox/PKGBUILD
new file mode 100644
index 000000000..7adf26263
--- /dev/null
+++ b/community/libmatchbox/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 90054 2013-05-06 19:38:07Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Henrique C. Alves <hcarvalhoalves@gmail.com>
+
+pkgname=libmatchbox
+pkgver=1.10
+pkgrel=2
+pkgdesc="Base library for Matchbox WM"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('pango' 'libpng' 'libjpeg>=7' 'xsettings-client' 'libxext')
+options=('!libtool')
+url="http://matchbox-project.org/"
+source=(http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/$pkgver/libmatchbox-$pkgver.tar.gz)
+md5sums=('042c5874631dfb95151aa793dc1434b8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+# sed -i 's|png_check_sig( header, 8 )|png_sig_cmp( header, 0, 8 ) == 0|' libmb/mbpixbuf.c
+# patch -Rp1 <$srcdir/libpng15.patch
+ LDFLAGS="-lX11" ./configure --prefix=/usr --enable-pango --enable-jpeg --enable-xsettings
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libmatchbox/libpng15.patch b/community/libmatchbox/libpng15.patch
new file mode 100644
index 000000000..6c4ddef4d
--- /dev/null
+++ b/community/libmatchbox/libpng15.patch
@@ -0,0 +1,23 @@
+diff -wbBur libmatchbox-1.9/libmb/mbpixbuf.c libmatchbox-1.9.org/libmb/mbpixbuf.c
+--- libmatchbox-1.9/libmb/mbpixbuf.c 2012-01-19 21:57:56.000000000 +0400
++++ libmatchbox-1.9.org/libmb/mbpixbuf.c 2006-07-26 23:12:25.000000000 +0400
+@@ -247,7 +247,7 @@
+ return NULL;
+ }
+
+- if ( setjmp( png_jmpbuf(png_ptr) ) ) {
++ if ( setjmp( png_ptr->jmpbuf ) ) {
+ png_destroy_read_struct( &png_ptr, &info_ptr, NULL);
+ fclose(fd);
+ return NULL;
+@@ -269,8 +269,8 @@
+ ( color_type == PNG_COLOR_TYPE_GRAY_ALPHA ))
+ png_set_gray_to_rgb(png_ptr);
+
+- if ( png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA
+- || png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA
++ if ( info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA
++ || info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA
+ )
+ *has_alpha = 1;
+ else
diff --git a/community/libmatio/PKGBUILD b/community/libmatio/PKGBUILD
new file mode 100644
index 000000000..da7660150
--- /dev/null
+++ b/community/libmatio/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 88815 2013-04-23 01:03:57Z eric $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=libmatio
+pkgver=1.5.1
+pkgrel=1
+pkgdesc='C library with a fortran 90/95 module interface for reading/writing MATLAB MAT-files'
+arch=('x86_64' 'i686')
+license=('LGPL')
+url='http://sourceforge.net/projects/matio'
+depends=('zlib')
+options=('!libtool' '!emptydirs')
+source=("http://downloads.sourceforge.net/matio/matio-$pkgver.tar.bz2")
+sha1sums=('12b8ed59688b2f41903ddc3e7975f21f10fe42bb')
+
+build() {
+ cd matio-$pkgver
+ ./configure --prefix=/usr --enable-shared
+ make
+}
+
+check() {
+ cd matio-$pkgver
+ make check
+}
+
+package() {
+ cd matio-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libmediainfo/PKGBUILD b/community/libmediainfo/PKGBUILD
new file mode 100644
index 000000000..3561880a4
--- /dev/null
+++ b/community/libmediainfo/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 90920 2013-05-15 13:45:55Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: hydro <hydro@freenet.de>
+
+pkgname=libmediainfo
+pkgver=0.7.63
+pkgrel=1
+pkgdesc="shared library for mediainfo"
+arch=('i686' 'x86_64')
+url="http://mediainfo.sourceforge.net"
+license=('GPL')
+depends=( 'curl' 'libmms' 'libzen')
+makedepends=('libtool' 'automake' 'autoconf')
+options=(!libtool)
+source=(http://downloads.sourceforge.net/mediainfo/${pkgname}_${pkgver}.tar.bz2
+ libmediainfo-0.7.50-libmms.patch)
+md5sums=('7a50881744a29dac6f93a8f6cbaebc0c'
+ '2f4b21cc250f663d52b497dedb963e3b')
+
+build() {
+ cd $srcdir/MediaInfoLib/Project/GNU/Library
+ sh ./autogen
+ ./configure --prefix=/usr --enable-shared --disable-static --with-libcurl --with-libmms
+ make clean
+ (cd ../../.. && patch -p1 <$srcdir/libmediainfo-0.7.50-libmms.patch)
+ make
+}
+
+package() {
+ cd $srcdir/MediaInfoLib/Project/GNU/Library
+ make DESTDIR=$pkgdir install
+ for i in MediaInfo MediaInfoDLL; do
+ install -dm 755 $pkgdir/usr/include/$i
+ install -m 644 $srcdir/MediaInfoLib/Source/$i/*.h $pkgdir/usr/include/$i
+ done
+ install -dm 755 $pkgdir/usr/lib/pkgconfig
+ install -m 644 $srcdir/MediaInfoLib/Project/GNU/Library/libmediainfo.pc $pkgdir/usr/lib/pkgconfig
+ sed -i -e 's|Version: |Version: '$pkgver'|g' $pkgdir/usr/lib/pkgconfig/libmediainfo.pc
+}
diff --git a/community/libmediainfo/libmediainfo-0.7.50-libmms.patch b/community/libmediainfo/libmediainfo-0.7.50-libmms.patch
new file mode 100644
index 000000000..540e4c12d
--- /dev/null
+++ b/community/libmediainfo/libmediainfo-0.7.50-libmms.patch
@@ -0,0 +1,50 @@
+diff -wbBur MediaInfoLib/Source/MediaInfo/Reader/Reader_libmms.cpp MediaInfoLib.my/Source/MediaInfo/Reader/Reader_libmms.cpp
+--- MediaInfoLib/Source/MediaInfo/Reader/Reader_libmms.cpp 2011-08-25 15:14:50.000000000 +0400
++++ MediaInfoLib.my/Source/MediaInfo/Reader/Reader_libmms.cpp 2011-10-05 17:29:12.000000000 +0400
+@@ -48,10 +48,8 @@
+ #else
+ #ifdef MEDIAINFO_LIBMMS_FROMSOURCE
+ #include "mmsx.h"
+- #include "mmsh.h"
+ #else //MEDIAINFO_LIBMMS_FROMSOURCE
+ #include "libmms/mmsx.h"
+- #include "libmms/mmsh.h"
+ #endif //MEDIAINFO_LIBMMS_FROMSOURCE
+ #endif
+ #include <iostream>
+@@ -71,34 +69,9 @@
+ //---------------------------------------------------------------------------
+ size_t Reader_libmms::Format_Test(MediaInfo_Internal* MI, const String &File_Name)
+ {
+- mmsx_t* Handle;
+-
+- //Opening the file
+- #if MEDIAINFO_LIBMMS_DESCRIBE_SUPPORT
+- if (MI->Config.File_Mmsh_Describe_Only_Get())
+- {
+- // Use MMSH & Send a DESCRIBE request
+- mmsh_t* MmshHandle;
+-
+- MmshHandle=mmsh_describe_request(0, 0, Ztring(File_Name).To_Local().c_str());
+- if (MmshHandle==NULL)
+- return 0;
+-
+- Handle=mmsx_set_mmsh_handle(MmshHandle);
+- if (Handle==NULL)
+- {
+- mmsh_close(MmshHandle);
+- return 0;
+- }
+- }
+- else
+- #endif //MEDIAINFO_LIBMMS_DESCRIBE_SUPPORT
+- {
+- // Use MMS or MMSH (Send a DESCRIBE & PLAY request)
+- Handle=mmsx_connect(0, 0, Ztring(File_Name).To_Local().c_str(), (int)-1);
++ mmsx_t* Handle=mmsx_connect(0, 0, Ztring(File_Name).To_Local().c_str(), (int)-1);
+ if (Handle==NULL)
+ return 0;
+- }
+
+ //Init
+ size_t Buffer_Size_Max;
diff --git a/community/libmemcached/PKGBUILD b/community/libmemcached/PKGBUILD
new file mode 100644
index 000000000..25791b35d
--- /dev/null
+++ b/community/libmemcached/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 93008 2013-06-22 07:02:22Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+
+pkgname=libmemcached
+pkgver=1.0.17
+pkgrel=1
+pkgdesc="C and C++ client library to the memcached server"
+arch=('i686' 'x86_64')
+url="http://libmemcached.org/"
+license=('GPL')
+depends=('glibc' 'libsasl' 'libevent')
+makedepends=('perl' 'memcached' 'python-sphinx')
+options=('!libtool')
+source=(http://launchpad.net/$pkgname/1.0/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ gcc-4.8.patch)
+sha256sums=('7bb27b2589400f918df1cf5002cb01ef7ccac6e23f818604e2386de62c80bba5'
+ '4a6b5d70cf7905fbd9e58a4646a6943da5f77b5e0a87b1518c4688f437963194')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Fix build with GCC 4.8 (patch from Debian)
+ patch -Np1 -i "$srcdir/gcc-4.8.patch"
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libmemcached/gcc-4.8.patch b/community/libmemcached/gcc-4.8.patch
new file mode 100644
index 000000000..5f42d3f3c
--- /dev/null
+++ b/community/libmemcached/gcc-4.8.patch
@@ -0,0 +1,183 @@
+Description: Fix compilation with gcc-4.8
+ This patch fixes the error flags made incompatible with gcc-4.8:
+ g++: error: -fsanitize=address is incompatible with -fsanitize=thread
+Author: Brian Aker
+Last-Update: 2013-06-14
+Bug: https://bugs.launchpad.net/libmemcached/+bug/1164442
+
+--- a/libtest/run.gdb 2012-03-26 01:08:09 +0000
++++ b/libtest/run.gdb 2013-04-10 05:25:24 +0000
+@@ -1,5 +1,6 @@
+ set logging on
+ set logging overwrite on
+ set environment LIBTEST_IN_GDB=1
++set ASAN_OPTIONS=abort_on_error=1
+ run
+ thread apply all bt
+
+--- a/m4/ax_harden_compiler_flags.m4 2013-02-12 05:44:21 +0000
++++ b/m4/ax_harden_compiler_flags.m4 2013-04-10 05:25:24 +0000
+@@ -53,7 +53,7 @@
+ # ? _APPEND_COMPILE_FLAGS_ERROR([-Wlong-long]) -- Don't turn on for
+ # compatibility issues memcached_stat_st
+
+-#serial 8
++#serial 9
+
+ AC_DEFUN([_WARNINGS_AS_ERRORS],
+ [AC_CACHE_CHECK([if all warnings into errors],[ac_cv_warnings_as_errors],
+@@ -92,9 +92,12 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-H])
+ _APPEND_COMPILE_FLAGS_ERROR([-ggdb])
+ _APPEND_COMPILE_FLAGS_ERROR([-g])
+- _APPEND_COMPILE_FLAGS_ERROR([-O0])],
+- [_APPEND_COMPILE_FLAGS_ERROR([-g])
+- _APPEND_COMPILE_FLAGS_ERROR([-O2])])
++ _APPEND_COMPILE_FLAGS_ERROR([-O0]),
++ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
++ ],[
++ _APPEND_COMPILE_FLAGS_ERROR([-g])
++ _APPEND_COMPILE_FLAGS_ERROR([-O2])
++ ])
+
+ AS_IF([test "x$ac_cv_vcs_checkout" = xyes],
+ [_APPEND_COMPILE_FLAGS_ERROR([-fstack-check])
+@@ -155,26 +158,31 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-Wundef])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunsafe-loop-optimizations])
+ _APPEND_COMPILE_FLAGS_ERROR([-funsafe-loop-optimizations])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bounds])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=enum])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-cast-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-divide-by-zero])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer-divide-by-zero])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=null])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=object-size])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=return])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=shift])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=signed-integer-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unreachable])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unsigned-integer-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vla-bound])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vptr])
++ AS_IF([test "x$ac_cv_vcs_checkout" = xyes],[
++ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
++ AS_IF([test "x$enable_shared" = "xyes"],[
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
++ ])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bounds])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=enum])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-cast-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-divide-by-zero])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer-divide-by-zero])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=null])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=object-size])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=return])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=shift])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=signed-integer-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unreachable])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unsigned-integer-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vla-bound])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vptr])
++ ])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wclobbered])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunused])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunused-result])
+@@ -186,6 +194,7 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-fwrapv])
+ _APPEND_COMPILE_FLAGS_ERROR([-fmudflapt])
+ _APPEND_COMPILE_FLAGS_ERROR([-pipe])
++ _APPEND_COMPILE_FLAGS_ERROR([-Wsizeof-pointer-memaccess])
+
+ AS_IF([test "x$ax_enable_debug" = xno],
+ [AS_IF([test "x$ac_cv_vcs_checkout" = xyes],
+@@ -213,9 +222,12 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-H])
+ _APPEND_COMPILE_FLAGS_ERROR([-ggdb])
+ _APPEND_COMPILE_FLAGS_ERROR([-g])
+- _APPEND_COMPILE_FLAGS_ERROR([-O0])],
+- [_APPEND_COMPILE_FLAGS_ERROR([-g])
+- _APPEND_COMPILE_FLAGS_ERROR([-O2])])
++ _APPEND_COMPILE_FLAGS_ERROR([-O0]),
++ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
++ ],[
++ _APPEND_COMPILE_FLAGS_ERROR([-g])
++ _APPEND_COMPILE_FLAGS_ERROR([-O2])
++ ])
+
+ AS_IF([test "x$ac_cv_vcs_checkout" = xyes],
+ [_APPEND_COMPILE_FLAGS_ERROR([-fstack-check])
+@@ -268,27 +280,32 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-funsafe-loop-optimizations])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wc++11-compat])
+ # _APPEND_COMPILE_FLAGS_ERROR([-Weffc++])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bounds])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=enum])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-cast-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-divide-by-zero])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer-divide-by-zero])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=null])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=object-size])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=return])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=shift])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=signed-integer-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unreachable])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unsigned-integer-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vla-bound])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vptr])
+-# _APPEND_COMPILE_FLAGS_ERROR([-Wold-style-cast])
++ AS_IF([test "x$ac_cv_vcs_checkout" = xyes],[
++ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
++ AS_IF([test "x$enable_shared" = "xyes"],[
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
++ ])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bounds])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=enum])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-cast-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-divide-by-zero])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer-divide-by-zero])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=null])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=object-size])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=return])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=shift])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=signed-integer-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unreachable])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unsigned-integer-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vla-bound])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vptr])
++ ])
++# _APPEND_COMPILE_FLAGS_ERROR([-Wold-style-cast])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wclobbered])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunused])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunused-result])
+@@ -301,6 +318,7 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-fwrapv])
+ _APPEND_COMPILE_FLAGS_ERROR([-fmudflapt])
+ _APPEND_COMPILE_FLAGS_ERROR([-pipe])
++ _APPEND_COMPILE_FLAGS_ERROR([-Wsizeof-pointer-memaccess])
+
+ AS_IF([test "x$ax_enable_debug" = xno],
+ [AS_IF([test "x$ac_cv_vcs_checkout" = xyes],
+
diff --git a/community/libmicrohttpd/PKGBUILD b/community/libmicrohttpd/PKGBUILD
new file mode 100644
index 000000000..276f61817
--- /dev/null
+++ b/community/libmicrohttpd/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 89934 2013-05-05 21:30:28Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Norberto Lopes <shelika@mail.telepac.pt>
+# Contributor: Kao Dome <kaodome@gmail.com>
+# Contributor: Dmitrij D. Czarkoff <czarkoff@gmail.com>
+# Contributor: Mathias Rohnstock <linksoft@gmx.de>
+
+pkgname=libmicrohttpd
+pkgver=0.9.27
+pkgrel=1
+pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application."
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libmicrohttpd/"
+license=('LGPL')
+options=('!libtool')
+depends=('gnutls' 'libgcrypt')
+install=libmicrohttpd.install
+source=(ftp://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz)
+md5sums=('a10496b7f1b495aaf6897584da52f51b')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --disable-dependency-tracking --enable-largefile \
+ --enable-curl --enable-messages --with-pic
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/include/platform.h \
+ ${pkgdir}/usr/include/$pkgname/platform.h
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/include/plibc/plibc.h \
+ ${pkgdir}/usr/include/$pkgname/plibc.h
+ sed -i 's#Cflags: -I${includedir}#Cflags: -I${includedir} -I${includedir}/libmicrohttpd#' \
+ $pkgdir/usr/lib/pkgconfig/libmicrohttpd.pc
+}
diff --git a/community/libmicrohttpd/libmicrohttpd.install b/community/libmicrohttpd/libmicrohttpd.install
new file mode 100644
index 000000000..7129b1754
--- /dev/null
+++ b/community/libmicrohttpd/libmicrohttpd.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(libmicrohttpd.info libmicrohttpd-tutorial.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/libmilter/PKGBUILD b/community/libmilter/PKGBUILD
new file mode 100644
index 000000000..6256f409f
--- /dev/null
+++ b/community/libmilter/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 88321 2013-04-16 13:29:18Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: mutantmonkey <mutantmonkey@gmail.com>
+
+pkgname=libmilter
+pkgver=8.14.6
+pkgrel=1
+pkgdesc="libmilter"
+arch=(i686 x86_64)
+url="http://www.postfix.org/MILTER_README.html"
+license=('custom:Sendmail open source license')
+source="ftp://ftp.sendmail.org/pub/sendmail/sendmail.${pkgver}.tar.gz"
+md5sums=('9eeed3d1baecbf4e17d829d2ec005553')
+
+build(){
+ cd "${srcdir}/sendmail-${pkgver}"
+
+ # From http://www.j-chkmail.org/wiki/doku.php/doc/installation/start#libmilter
+ cat >> devtools/Site/site.config.m4 <<EOF
+dnl
+dnl Enable libmilter with a pool of workers
+APPENDDEF(\`conf_libmilter_ENVDEF',\`-D_FFR_WORKERS_POOL=1 -DMIN_WORKERS=4')
+dnl
+dnl Use poll instead of select
+APPENDDEF(\`conf_libmilter_ENVDEF',\`-DSM_CONF_POLL=1')
+dnl Enable IPv6
+APPENDDEF(\`conf_libmilter_ENVDEF',\`-DNETINET6=1')
+dnl
+dnl Include our CFLAGS
+APPENDDEF(\`conf_libmilter_ENVDEF',\`${CFLAGS}')
+dnl
+dnl Add -fPIC
+APPENDDEF(\`conf_libmilter_ENVDEF',\`-fPIC')
+dnl
+EOF
+
+ cd libmilter
+ ./Build
+}
+
+package(){
+ cd "${srcdir}/sendmail-${pkgver}/libmilter"
+ mkdir -p "${pkgdir}/usr/lib"
+ ./Build DESTDIR="${pkgdir}" install
+ install -Dm0644 ../LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ chown -R root:root $pkgdir
+}
diff --git a/community/libmirage/PKGBUILD b/community/libmirage/PKGBUILD
new file mode 100644
index 000000000..8bc37fc29
--- /dev/null
+++ b/community/libmirage/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92550 2013-06-08 08:15:45Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Charles Lindsay <charles@chaoslizard.org>
+
+pkgname=libmirage
+pkgver=2.1.0
+pkgrel=2
+pkgdesc="CD-ROM image (B6T/C2D/CCD/CDI/CIF/CUE/ISO/MDS/MDX/NRG/TOC) access library"
+arch=(i686 x86_64)
+url="http://cdemu.sourceforge.net/"
+license=(GPL)
+depends=(glib2 libsndfile libsamplerate zlib bzip2 xz shared-mime-info)
+makedepends=(gtk-doc gobject-introspection cmake)
+options=(!libtool)
+install=libmirage.install
+source=(http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.bz2)
+sha256sums=('fb30eea15b8c1fc55e194e1af55127fa3b3860a79fec0b6c60588cf9ae8d1ca9')
+
+prepare() {
+ mkdir build
+}
+
+build() {
+ cd build
+ cmake ../$pkgname-$pkgver \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ make
+}
+
+package() {
+ cd build
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libmirage/libmirage.install b/community/libmirage/libmirage.install
new file mode 100644
index 000000000..78659c470
--- /dev/null
+++ b/community/libmirage/libmirage.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-mime-database usr/share/mime
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/libmnl/PKGBUILD b/community/libmnl/PKGBUILD
new file mode 100644
index 000000000..bc4e355c2
--- /dev/null
+++ b/community/libmnl/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 71327 2012-05-26 23:26:09Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Christian Hesse <mail@earthworm.de>
+
+pkgname=libmnl
+pkgver=1.0.3
+pkgrel=1
+pkgdesc='Minimalistic user-space library oriented to Netlink developers.'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/libmnl/'
+license=('LGPL2.1')
+depends=('glibc')
+options=('!libtool')
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2")
+sha1sums=('c27e25f67c6422ebf893fc3a844af8085a1c5b63')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/libmusicbrainz4/PKGBUILD b/community/libmusicbrainz4/PKGBUILD
new file mode 100644
index 000000000..5369830fe
--- /dev/null
+++ b/community/libmusicbrainz4/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 83160 2013-01-27 16:20:02Z pierre $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Max Fehrm max.fehrm@gmail.com
+
+pkgname=libmusicbrainz4
+pkgver=4.0.3
+pkgrel=1
+pkgdesc="Library That Provides Access to the MusicBrainz Server"
+arch=('i686' 'x86_64')
+url="http://musicbrainz.org/"
+license=('LGPL2.1')
+depends=('neon')
+makedepends=('cmake')
+source=(https://github.com/downloads/metabrainz/libmusicbrainz/libmusicbrainz-$pkgver.tar.gz)
+md5sums=('19b43a543d338751e9dc524f6236892b')
+
+build() {
+ cd libmusicbrainz-$pkgver
+ cmake . -DCMAKE_INSTALL_PREFIX:PATH=/usr
+ make
+}
+
+package() {
+ cd libmusicbrainz-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libnetfilter_acct/PKGBUILD b/community/libnetfilter_acct/PKGBUILD
new file mode 100644
index 000000000..33666d8fd
--- /dev/null
+++ b/community/libnetfilter_acct/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 71613 2012-05-31 08:51:38Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Sébastien Luttringer
+# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
+# Maintainer: Filip Wojciechowski, filip at loka dot pl
+
+pkgname=libnetfilter_acct
+pkgver=1.0.2
+pkgrel=1
+pkgdesc='Library providing interface to extended accounting infrastructure'
+arch=('i686' 'x86_64')
+url="http://www.netfilter.org/projects/libnetfilter_acct/index.html"
+license=('GPL')
+depends=('libnfnetlink' 'libmnl')
+makedepends=('pkgconfig')
+options=('!libtool')
+source=(http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2)
+md5sums=('2118d9514c079839ebd9cb3144ad2ad7')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libnetfilter_conntrack/PKGBUILD b/community/libnetfilter_conntrack/PKGBUILD
new file mode 100644
index 000000000..302795ef4
--- /dev/null
+++ b/community/libnetfilter_conntrack/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 85675 2013-03-04 19:37:18Z seblu $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Sébastien Luttringer
+# Contributor: Alessandro Sagratini <ale_sagra@hotmail.com>
+# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
+
+pkgname=libnetfilter_conntrack
+pkgver=1.0.3
+pkgrel=1
+pkgdesc='Library providing an API to the in-kernel connection tracking state table'
+arch=('i686' 'x86_64')
+depends=('libnfnetlink' 'libmnl')
+url='http://www.netfilter.org/projects/libnetfilter_conntrack/'
+license=('GPL')
+options=('!libtool')
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2")
+md5sums=('73394a3d8d0cfecc6abb6027b4792d52')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libnetfilter_cthelper/PKGBUILD b/community/libnetfilter_cthelper/PKGBUILD
new file mode 100644
index 000000000..0cca5f479
--- /dev/null
+++ b/community/libnetfilter_cthelper/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 77960 2012-10-16 01:20:23Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgname=libnetfilter_cthelper
+pkgver=1.0.0
+pkgrel=1
+pkgdesc='Library for the connection tracking helper infrastructure'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/libnetfilter_cthelper/'
+license=('GPL2')
+depends=('libmnl')
+options=('!libtool')
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2")
+md5sums=('b2efab1a3a198a5add448960ba011acd')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libnetfilter_cttimeout/PKGBUILD b/community/libnetfilter_cttimeout/PKGBUILD
new file mode 100644
index 000000000..1c3211c32
--- /dev/null
+++ b/community/libnetfilter_cttimeout/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 72544 2012-06-16 15:53:38Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgname=libnetfilter_cttimeout
+pkgver=1.0.0
+pkgrel=3
+pkgdesc='Library for the connection tracking timeout infrastructure'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/libnetfilter_cttimeout/'
+license=('GPL2')
+depends=('libmnl')
+options=('!libtool')
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2")
+md5sums=('7697437fc9ebb6f6b83df56a633db7f9')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/libnetfilter_log/PKGBUILD b/community/libnetfilter_log/PKGBUILD
new file mode 100644
index 000000000..e8519887b
--- /dev/null
+++ b/community/libnetfilter_log/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 71613 2012-05-31 08:51:38Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
+# Maintainer: Filip Wojciechowski, filip at loka dot pl
+
+pkgname=libnetfilter_log
+pkgver=1.0.1
+pkgrel=2
+pkgdesc='Library providing API to packets that have been logged by netfilter'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/libnetfilter_log/'
+license=('GPL')
+depends=('libnfnetlink')
+options=('!libtool')
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2")
+md5sums=('2a4bb0654ae675a52d2e8d1c06090b94')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libnetfilter_queue/PKGBUILD b/community/libnetfilter_queue/PKGBUILD
new file mode 100644
index 000000000..fa219ba98
--- /dev/null
+++ b/community/libnetfilter_queue/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 77377 2012-10-09 09:50:14Z seblu $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
+# Maintainer: Filip Wojciechowski, filip at loka dot pl
+
+pkgname=libnetfilter_queue
+pkgver=1.0.2
+pkgrel=1
+pkgdesc='Userspace API to packets that have been queued by the kernel packet filter'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/libnetfilter_queue/'
+license=('GPL')
+depends=('libnfnetlink' 'libmnl')
+options=('!libtool')
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2")
+md5sums=('df09befac35cb215865b39a36c96a3fa')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libnewt/PKGBUILD b/community/libnewt/PKGBUILD
new file mode 100644
index 000000000..307d2d90d
--- /dev/null
+++ b/community/libnewt/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 88638 2013-04-20 19:08:21Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Tom Killian <tomk@runbox.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=libnewt
+pkgver=0.52.15
+pkgrel=1
+_tclver=8.6
+pkgdesc="Not Erik's Windowing Toolkit - text mode windowing with slang"
+arch=('x86_64' 'i686')
+url='https://fedorahosted.org/newt/'
+license=('GPL')
+depends=('slang' 'popt' 'gpm')
+makedepends=("tcl>=$_tclver" 'python2')
+optdepends=('tcl: whiptcl support' \
+ 'python2: libnewt api through _snack module')
+options=('!makeflags')
+source=("https://fedorahosted.org/releases/n/e/newt/newt-$pkgver.tar.gz")
+sha256sums=('7a6151923e7a8a950f9a8a21668a5780d09b0f35f9d76a7ec606c71c35a0e241')
+
+prepare() {
+ cd "$srcdir/newt-$pkgver"
+
+ sed -i "s:tcl8.4:tcl$_tclver:" Makefile.in
+ sed -i 's:bin/python:bin/python2:' *.py
+ echo '#define USE_INTERP_RESULT 1' >> config.h
+}
+
+build() {
+ cd "$srcdir/newt-$pkgver"
+
+ ./configure --prefix=/usr --with-gpm-support
+ make
+}
+
+package() {
+ cd "$srcdir/newt-$pkgver"
+
+ make prefix="$pkgdir/usr" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libnfnetlink/PKGBUILD b/community/libnfnetlink/PKGBUILD
new file mode 100644
index 000000000..5bb6c345d
--- /dev/null
+++ b/community/libnfnetlink/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 77381 2012-10-09 10:06:36Z seblu $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
+# Contributor: Filip Wojciechowski, filip at loka dot pl
+
+pkgname=libnfnetlink
+pkgver=1.0.1
+pkgrel=1
+pkgdesc='Low-level library for netfilter related kernel/userspace communication'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/libnfnetlink/'
+license=('GPL')
+depends=('glibc')
+options=('!libtool')
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2")
+md5sums=('98927583d2016a9fb1936fed992e2c5e')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libnfs/PKGBUILD b/community/libnfs/PKGBUILD
new file mode 100644
index 000000000..c1572628f
--- /dev/null
+++ b/community/libnfs/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 92631 2013-06-10 08:52:37Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+
+pkgname=libnfs
+pkgver=1.6.0
+pkgrel=1
+pkgdesc="client library for accessing NFS shares"
+arch=('i686' 'x86_64')
+url="https://github.com/sahlberg/libnfs"
+license=('GPL')
+depends=('glibc')
+source=("https://github.com/sahlberg/$pkgname/archive/$pkgname-$pkgver.tar.gz")
+sha256sums=('19a497044f086d2bed973d0e89392bd41d1a8e9f524d5787f3090f966e20ccc3')
+options=(!libtool)
+
+build() {
+ cd "$pkgname-$pkgname-$pkgver"
+
+ autoreconf -vif
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libnids/PKGBUILD b/community/libnids/PKGBUILD
new file mode 100644
index 000000000..50877bae2
--- /dev/null
+++ b/community/libnids/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 67519 2012-03-12 22:18:06Z lcarlier $
+# Maintainer:
+# Contributor: Essien Ita Essien <essiene@datavibe.net>
+# Contributor: damir <damir@archlinux.org>
+
+pkgname=libnids
+pkgver=1.24
+pkgrel=2
+pkgdesc="An implementation of an E-component of Network Intrusion Detection System."
+arch=('i686' 'x86_64')
+url="http://libnids.sourceforge.net/"
+license=('GPL')
+depends=('libnet' 'libpcap' 'glib2')
+makedepends=('pkgconfig')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('72d37c79c85615ffe158aa524d649610')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --man=/usr/share/man --enable-shared
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make install_prefix=$pkgdir install
+ ln -s libnids.so.1.24 $pkgdir/usr/lib/libnids.so.1
+}
diff --git a/community/libnoise/CMakeLists.txt b/community/libnoise/CMakeLists.txt
new file mode 100644
index 000000000..a348f2653
--- /dev/null
+++ b/community/libnoise/CMakeLists.txt
@@ -0,0 +1,101 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+
+PROJECT(libnoise)
+
+SET (LIBNOISE_SRC
+ src/latlon.cpp
+ src/model/cylinder.cpp
+ src/model/line.cpp
+ src/model/plane.cpp
+ src/model/sphere.cpp
+ src/module/abs.cpp
+ src/module/add.cpp
+ src/module/billow.cpp
+ src/module/blend.cpp
+ src/module/cache.cpp
+ src/module/checkerboard.cpp
+ src/module/clamp.cpp
+ src/module/const.cpp
+ src/module/curve.cpp
+ src/module/cylinders.cpp
+ src/module/displace.cpp
+ src/module/exponent.cpp
+ src/module/invert.cpp
+ src/module/max.cpp
+ src/module/min.cpp
+ src/module/modulebase.cpp
+ src/module/multiply.cpp
+ src/module/perlin.cpp
+ src/module/power.cpp
+ src/module/ridgedmulti.cpp
+ src/module/rotatepoint.cpp
+ src/module/scalebias.cpp
+ src/module/scalepoint.cpp
+ src/module/select.cpp
+ src/module/spheres.cpp
+ src/module/terrace.cpp
+ src/module/translatepoint.cpp
+ src/module/turbulence.cpp
+ src/module/voronoi.cpp
+ src/noisegen.cpp
+)
+
+set (BASE_HEADERS
+ src/basictypes.h
+ src/exception.h
+ src/interp.h
+ src/latlon.h
+ src/mathconsts.h
+ src/misc.h
+ src/noise.h
+ src/noisegen.h
+ src/vectortable.h
+)
+
+SET (MODEL_HEADERS
+ src/model/cylinder.h
+ src/model/line.h
+ src/model/model.h
+ src/model/plane.h
+ src/model/sphere.h
+)
+
+SET (MODULE_HEADERS
+ src/module/abs.h
+ src/module/add.h
+ src/module/billow.h
+ src/module/blend.h
+ src/module/cache.h
+ src/module/checkerboard.h
+ src/module/clamp.h
+ src/module/const.h
+ src/module/curve.h
+ src/module/cylinders.h
+ src/module/displace.h
+ src/module/exponent.h
+ src/module/invert.h
+ src/module/max.h
+ src/module/min.h
+ src/module/module.h
+ src/module/modulebase.h
+ src/module/multiply.h
+ src/module/perlin.h
+ src/module/power.h
+ src/module/ridgedmulti.h
+ src/module/rotatepoint.h
+ src/module/scalebias.h
+ src/module/scalepoint.h
+ src/module/select.h
+ src/module/spheres.h
+ src/module/terrace.h
+ src/module/translatepoint.h
+ src/module/turbulence.h
+ src/module/voronoi.h
+)
+
+ADD_LIBRARY (noise SHARED ${LIBNOISE_SRC})
+SET_TARGET_PROPERTIES (noise PROPERTIES VERSION 1.0.0)
+INSTALL(TARGETS noise DESTINATION lib)
+INSTALL(FILES ${BASE_HEADERS} DESTINATION "include/noise")
+INSTALL(FILES ${MODEL_HEADERS} DESTINATION "include/noise/model")
+INSTALL(FILES ${MODULE_HEADERS} DESTINATION "include/noise/module")
diff --git a/community/libnoise/PKGBUILD b/community/libnoise/PKGBUILD
new file mode 100644
index 000000000..6c863acf9
--- /dev/null
+++ b/community/libnoise/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 64752 2012-02-18 03:57:07Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: jimmy-6
+pkgname=libnoise
+pkgver=1.0.0
+pkgrel=2
+pkgdesc="A portable, open-source, coherent noise-generating library for C++"
+arch=('i686' 'x86_64')
+url="http://libnoise.sourceforge.net/"
+license=('LGPL')
+makedepends=('cmake' 'unzip')
+source=("http://prdownloads.sourceforge.net/libnoise/libnoisesrc-${pkgver}.zip"
+ "CMakeLists.txt")
+noextract=("libnoisesrc-${pkgver}.zip")
+md5sums=('fc0d9b4f6477397568c3a9d5294b3b8c'
+ '913a4145cdc7c38d43698386321ea85b')
+
+build() {
+ cd ${srcdir}
+ unzip "libnoisesrc-${pkgver}.zip"
+ cp 'CMakeLists.txt' 'noise'
+ mkdir build
+ cd build
+ cmake ../noise \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/libnsbmp/PKGBUILD b/community/libnsbmp/PKGBUILD
new file mode 100644
index 000000000..6b01b1638
--- /dev/null
+++ b/community/libnsbmp/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 89122 2013-04-26 23:30:55Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=libnsbmp
+pkgver=0.1.0
+pkgrel=1
+pkgdesc='Decoding library for BMP and ICO image file formats'
+arch=('x86_64' 'i686')
+url='http://www.netsurf-browser.org/projects/libnsbmp/'
+license=('MIT')
+depends=('glibc')
+makedepends=('netsurf-buildsystem')
+source=("http://download.netsurf-browser.org/libs/releases/$pkgname-$pkgver-src.tar.gz")
+sha256sums=('fb576af6bd4d02d3626d5c2092bc06c80b2a80089a14decf40c813d9ec80ddc0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make PREFIX=/usr COMPONENT_TYPE="lib-shared"
+ make PREFIX=/usr COMPONENT_TYPE="lib-static"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-shared"
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-static"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libnsgif/PKGBUILD b/community/libnsgif/PKGBUILD
new file mode 100644
index 000000000..c17d5a370
--- /dev/null
+++ b/community/libnsgif/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 89124 2013-04-26 23:34:05Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+
+pkgname=libnsgif
+pkgver=0.1.0
+pkgrel=1
+pkgdesc='Decoding library for the GIF image file format'
+arch=('x86_64' 'i686')
+url='http://www.netsurf-browser.org/projects/libnsgif/'
+license=('MIT')
+depends=('glibc')
+makedepends=('netsurf-buildsystem')
+source=("http://download.netsurf-browser.org/libs/releases/$pkgname-$pkgver-src.tar.gz")
+sha256sums=('e7dc7ee887fefc19e7c7985c5a2b057870e0fa3dd0dcfc1fdb4e98da1f36593c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ CFLAGS="$CFLAGS -fno-strict-aliasing"
+ make PREFIX=/usr COMPONENT_TYPE="lib-shared"
+ make PREFIX=/usr COMPONENT_TYPE="lib-static"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-shared"
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-static"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/liboggz/PKGBUILD b/community/liboggz/PKGBUILD
new file mode 100644
index 000000000..01aec1fc9
--- /dev/null
+++ b/community/liboggz/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 68273 2012-03-21 06:40:28Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Vincent Cappe <vcappe at gmail dot com>
+# Contributor: Jeff Bailes <thepizzaking at gmail dot com>
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+
+pkgname=liboggz
+pkgver=1.1.1
+pkgrel=3
+pkgdesc="A simple programming interface for reading and writing Ogg files and streams"
+arch=('i686' 'x86_64')
+url="http://www.xiph.org/oggz/"
+license=('custom:BSD')
+depends=('libogg' 'sh')
+makedepends=('doxygen' 'pkg-config')
+options=('!libtool')
+source=("http://downloads.xiph.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('3649a657f8e368b881ba8b1b57381ff7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --enable-static=no
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ # license
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ # bash completion
+ install -Dm644 bash-completion/oggz "${pkgdir}/usr/share/bash-completion/completions/oggz"
+}
diff --git a/community/libopenraw/PKGBUILD b/community/libopenraw/PKGBUILD
new file mode 100644
index 000000000..3d6834987
--- /dev/null
+++ b/community/libopenraw/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 62429 2012-01-19 22:28:28Z foutrelis $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: <boromil@gmail.com>
+pkgname=libopenraw
+pkgver=0.0.9
+pkgrel=2
+pkgdesc="Library for decoding RAW files"
+arch=('i686' 'x86_64')
+url="http://libopenraw.freedesktop.org/"
+license=('LGPL')
+depends=('gdk-pixbuf2')
+makedepends=('boost' 'libxml2')
+options=('!libtool')
+source=("http://libopenraw.freedesktop.org/download/$pkgname-$pkgver.tar.bz2")
+md5sums=('3611d8aea870d25314665ef53093288e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libopensync/PKGBUILD b/community/libopensync/PKGBUILD
new file mode 100644
index 000000000..bf1eed273
--- /dev/null
+++ b/community/libopensync/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 66195 2012-02-23 03:06:28Z spupykin $
+# Maintainer: Sergej Pupykin
+# Contributor: Hauke Wesselmann <hauke@h-dawg.de>
+# Contributor: Laurie Clark-Michalek <bluepeppers@archlinux.us>
+
+pkgname=libopensync
+pkgver=0.39
+pkgrel=4
+pkgdesc='Stable version of the opensync synchronisation framework'
+url='http://www.opensync.org'
+license=('LGPL')
+arch=('i686' 'x86_64')
+makedepends=('python2' 'cmake' 'chrpath')
+depends=('glib2' 'libxml2' 'sqlite3' 'libxslt')
+options=('!libtool')
+source=(http://www.opensync.org/download/releases/$pkgver/$pkgname-$pkgver.tar.bz2)
+md5sums=('733211e82b61e2aa575d149dda17d475')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ #disable treating of warnings as errors
+ find /$(pwd) -type f -exec sed -i 's/-Werror//g' '{}' \;
+
+ mkdir build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr $srcdir/$pkgname-$pkgver
+ make
+ make DESTDIR=$pkgdir install
+
+ find $pkgdir -name \*.so -type f -exec chrpath -d {} \;
+ find $pkgdir -perm /ugo+x -type f -exec chrpath -d {} \;
+}
diff --git a/community/liboping/PKGBUILD b/community/liboping/PKGBUILD
new file mode 100644
index 000000000..3e982e04b
--- /dev/null
+++ b/community/liboping/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 64661 2012-02-17 14:00:22Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=liboping
+pkgver=1.6.2
+pkgrel=1
+pkgdesc='C library to generate ICMP echo requests, better known as "ping packets"'
+url='http://verplant.org/liboping/'
+arch=('i686' 'x86_64')
+license=('GPL')
+options=('!libtool')
+depends=('libcap')
+makedepends=('ncurses')
+optdepends=('perl: perl bindings'
+ 'ncurses: noping CLI tool')
+source=("${url}files/${pkgname}-${pkgver}.tar.gz")
+sha256sums=('1b3203e5f13b35a6f7ff163c26e4f42284a625fa30d3bdbfdafb6cccb1f33803')
+
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # setting capabilities/setuid is futile in fakeroot
+ # (we do that in the install script)
+ sed -i 's/ install-exec-hook//g' src/Makefile.in
+
+ ./configure --prefix=/usr --enable-static=no
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/liboping/install b/community/liboping/install
new file mode 100644
index 000000000..04cdb38f8
--- /dev/null
+++ b/community/liboping/install
@@ -0,0 +1,8 @@
+post_upgrade() {
+ setcap cap_net_raw=ep usr/bin/oping
+ setcap cap_net_raw=ep usr/bin/noping
+}
+
+post_install() {
+ post_upgrade
+}
diff --git a/community/libosip2/ChangeLog b/community/libosip2/ChangeLog
new file mode 100644
index 000000000..c36d63a16
--- /dev/null
+++ b/community/libosip2/ChangeLog
@@ -0,0 +1,11 @@
+2008-04-20 Darwin Bautista <djclue917@gmail.com>
+* libosip2 3.1.0-1
+* New upstream release
+
+2007-11-21 Darwin Bautista <djclue917@gmail.com>
+* libosip2 3.0.3_2-1
+* New upstream release
+
+2007-11-16 Darwin Bautista <djclue917@gmail.com>
+* libosip2 2.2.2-1
+* Reverting back to old version since Linphone requires it
diff --git a/community/libosip2/PKGBUILD b/community/libosip2/PKGBUILD
new file mode 100644
index 000000000..399eef688
--- /dev/null
+++ b/community/libosip2/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 88345 2013-04-16 13:58:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Michal Hybner <dta081@gmail.com>
+
+pkgname=libosip2
+epoch=1
+pkgver=3.6.0
+pkgrel=1
+pkgdesc="oSIP is an implementation of SIP"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/osip/"
+license=('LGPL')
+depends=(glibc)
+options=(!emptydirs !libtool)
+source=(http://ftp.gnu.org/gnu/osip/libosip2-${pkgver/_/-}.tar.gz)
+md5sums=('92fd1c1698235a798497887db159c9b3')
+
+build() {
+ cd $srcdir/libosip2-${pkgver/_/-}/
+
+ patch -p1 <<EOF
+diff -wbBur libosip2-3.1.0/src/osip2/port_sema.c libosip2-3.1.0.my/src/osip2/port_sema.c
+--- libosip2-3.1.0/src/osip2/port_sema.c 2007-06-05 14:17:50.000000000 +0400
++++ libosip2-3.1.0.my/src/osip2/port_sema.c 2008-10-22 17:47:37.000000000 +0400
+@@ -22,6 +22,14 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+
++union semun
++{
++ int val;
++ struct semid_ds *buf;
++ unsigned short int *array;
++ struct seminfo *__buf;
++};
++
+ #include <osip2/internal.h>
+
+ #include <osip2/internal.h>
+EOF
+
+ ./configure --prefix=/usr --disable-semaphore --enable-sysv
+ make
+}
+
+package() {
+ cd $srcdir/libosip2-${pkgver/_/-}/
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/libpaper/PKGBUILD b/community/libpaper/PKGBUILD
new file mode 100644
index 000000000..5b8ccc1e7
--- /dev/null
+++ b/community/libpaper/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90780 2013-05-13 21:25:37Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: royrocks <royrocks13@gmail.com>
+
+pkgname=libpaper
+pkgver=1.1.24
+pkgrel=5
+pkgdesc='Library for handling paper characteristics'
+arch=('x86_64' 'i686')
+url='http://packages.debian.org/unstable/source/libpaper'
+license=('GPL')
+depends=('sh')
+options=('!libtool')
+source=("http://ftp.de.debian.org/debian/pool/main/libp/$pkgname/${pkgname}_$pkgver+nmu2.tar.gz")
+sha256sums=('c5bdd6d9dff179699160675dbb61651d9b3158f6da27558fdaba00e7c427ba96')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver+nmu2"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver+nmu2"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libpar2/PKGBUILD b/community/libpar2/PKGBUILD
new file mode 100644
index 000000000..db732b4d4
--- /dev/null
+++ b/community/libpar2/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Paul Bredbury <brebs@sent.com>
+# Contributor: Matt McDonald <metzen@gmail.com>
+
+pkgname=libpar2
+pkgver=0.2
+pkgrel=6
+pkgdesc="Parity checking library"
+arch=('i686' 'x86_64')
+url="http://parchive.sourceforge.net/"
+license=('GPL')
+depends=('libsigc++2.0')
+makedepends=('autoconf' 'automake' 'pkgconfig')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/parchive/${pkgname}-${pkgver}.tar.gz
+ libpar2-0.2-bugfixes.patch libpar2-0.2-cancel.patch)
+sha256sums=('074fbf840f73b1e13e0405fce261078c81c8c0a4859e30a7bba10510f9199908'
+ 'bcdb0cf45b97b99bc2fb05074887bd73be15745d5d2ce94d65bd0e0c248fb341'
+ 'b05e08033dd2056b47c5610a5bd1d74b93dc283d2f798bfc0d3d9e3fd4f9da14')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ patch -p2 < ${srcdir}/libpar2-0.2-bugfixes.patch
+ patch -p2 < ${srcdir}/libpar2-0.2-cancel.patch
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+# Docs
+ install -d ${pkgdir}/usr/share/doc/${pkgname}
+ install -m644 -t ${pkgdir}/usr/share/doc/${pkgname}/ AUTHORS PORTING README ROADMAP
+}
diff --git a/community/libpar2/libpar2-0.2-bugfixes.patch b/community/libpar2/libpar2-0.2-bugfixes.patch
new file mode 100644
index 000000000..0ce3a43bd
--- /dev/null
+++ b/community/libpar2/libpar2-0.2-bugfixes.patch
@@ -0,0 +1,60 @@
+diff -aud -U 5 ../libpar2-0.2-original/par2repairer.cpp ../libpar2-0.2/par2repairer.cpp
+--- ../libpar2-0.2-original/par2repairer.cpp 2006-01-20 18:25:20.000000000 +0100
++++ ../libpar2-0.2/par2repairer.cpp 2012-11-30 14:23:31.000000000 +0100
+@@ -76,10 +76,11 @@
+ ++sf;
+ }
+
+ delete mainpacket;
+ delete creatorpacket;
++ delete headers;
+ }
+
+
+ Result Par2Repairer::PreProcess(const CommandLine &commandline)
+ {
+@@ -1259,11 +1260,11 @@
+ string path;
+ string name;
+ DiskFile::SplitFilename(filename, path, name);
+
+ cout << "Target: \"" << name << "\" - missing." << endl;
+- sig_done.emit(name, 0, sourcefile->GetVerificationPacket()->BlockCount());
++ sig_done.emit(name, 0, sourcefile->GetVerificationPacket() ? sourcefile->GetVerificationPacket()->BlockCount() : 0);
+ }
+ }
+
+ ++sf;
+ }
+@@ -1802,11 +1803,11 @@
+ << "\" - no data found."
+ << endl;
+ }
+ }
+ }
+- sig_done.emit(name,count,sourcefile->GetVerificationPacket()->BlockCount());
++ sig_done.emit(name,count, count>0 && sourcefile->GetVerificationPacket() ? sourcefile->GetVerificationPacket()->BlockCount() : 0);
+ sig_progress.emit(1000.0);
+ return true;
+ }
+
+ // Find out how much data we have found
+diff -aud -U 5 ../libpar2-0.2-original/par2repairer.h ../libpar2-0.2/par2repairer.h
+--- ../libpar2-0.2-original/par2repairer.h 2006-01-20 00:38:27.000000000 +0100
++++ ../libpar2-0.2/par2repairer.h 2012-11-30 14:24:46.000000000 +0100
+@@ -34,10 +34,15 @@
+ sigc::signal<void, std::string> sig_filename;
+ sigc::signal<void, double> sig_progress;
+ sigc::signal<void, ParHeaders*> sig_headers;
+ sigc::signal<void, std::string, int, int> sig_done;
+
++ // This method allows to determine whether libpar2 includes the patches
++ // ("libpar2-0.2-bugfixes.patch") submitted to libpar2 project.
++ // Use the method in configure scripts for detection.
++ void BugfixesPatchVersion2() { }
++
+ protected:
+ // Steps in verifying and repairing files:
+
+ // Load packets from the specified file
+ bool LoadPacketsFromFile(string filename);
diff --git a/community/libpar2/libpar2-0.2-cancel.patch b/community/libpar2/libpar2-0.2-cancel.patch
new file mode 100644
index 000000000..4a6d01c35
--- /dev/null
+++ b/community/libpar2/libpar2-0.2-cancel.patch
@@ -0,0 +1,236 @@
+diff -aud -U 5 ../libpar2-0.2-original/par2repairer.cpp ../libpar2-0.2/par2repairer.cpp
+--- ../libpar2-0.2-original/par2repairer.cpp 2012-12-03 10:47:04.000000000 +0100
++++ ../libpar2-0.2/par2repairer.cpp 2012-12-03 10:48:13.000000000 +0100
+@@ -50,10 +50,12 @@
+ outputbuffer = 0;
+
+ noiselevel = CommandLine::nlNormal;
+ headers = new ParHeaders;
+ alreadyloaded = false;
++
++ cancelled = false;
+ }
+
+ Par2Repairer::~Par2Repairer(void)
+ {
+ delete [] (u8*)inputbuffer;
+@@ -404,10 +406,14 @@
+ {
+ cout << "Loading: " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush;
+ progress = offset;
+ sig_progress.emit(newfraction);
+
++ if (cancelled)
++ {
++ break;
++ }
+ }
+ }
+
+ // Attempt to read the next packet header
+ PACKET_HEADER header;
+@@ -582,10 +588,15 @@
+ if (noiselevel > CommandLine::nlQuiet)
+ cout << "No new packets found" << endl;
+ delete diskfile;
+ }
+
++ if (cancelled)
++ {
++ return false;
++ }
++
+ return true;
+ }
+
+ // Finish loading a recovery packet
+ bool Par2Repairer::LoadRecoveryPacket(DiskFile *diskfile, u64 offset, PACKET_HEADER &header)
+@@ -831,26 +842,42 @@
+
+ // Load packets from each file that was found
+ for (list<string>::const_iterator s=files->begin(); s!=files->end(); ++s)
+ {
+ LoadPacketsFromFile(*s);
++ if (cancelled)
++ {
++ break;
++ }
+ }
+
+ delete files;
++ if (cancelled)
++ {
++ return false;
++ }
+ }
+
+ {
+ string wildcard = name.empty() ? "*.PAR2" : name + ".*.PAR2";
+ list<string> *files = DiskFile::FindFiles(path, wildcard);
+
+ // Load packets from each file that was found
+ for (list<string>::const_iterator s=files->begin(); s!=files->end(); ++s)
+ {
+ LoadPacketsFromFile(*s);
++ if (cancelled)
++ {
++ break;
++ }
+ }
+
+ delete files;
++ if (cancelled)
++ {
++ return false;
++ }
+ }
+
+ return true;
+ }
+
+@@ -864,13 +891,22 @@
+ // If the filename contains ".par2" anywhere
+ if (string::npos != filename.find(".par2") ||
+ string::npos != filename.find(".PAR2"))
+ {
+ LoadPacketsFromFile(filename);
++ if (cancelled)
++ {
++ break;
++ }
+ }
+ }
+
++ if (cancelled)
++ {
++ return false;
++ }
++
+ return true;
+ }
+
+ // Check that the packets are consistent and discard any that are not
+ bool Par2Repairer::CheckPacketConsistency(void)
+@@ -1208,10 +1244,15 @@
+
+ // Start verifying the files
+ sf = sortedfiles.begin();
+ while (sf != sortedfiles.end())
+ {
++ if (cancelled)
++ {
++ return false;
++ }
++
+ // Do we have a source file
+ Par2RepairerSourceFile *sourcefile = *sf;
+
+ // What filename does the file use
+ string filename = sourcefile->TargetFileName();
+@@ -1560,10 +1601,14 @@
+ if (oldfraction != newfraction)
+ {
+ cout << "Scanning: \"" << shortname << "\": " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush;
+ sig_progress.emit(newfraction);
+
++ if (cancelled)
++ {
++ break;
++ }
+ }
+ }
+
+ // If we fail to find a match, it might be because it was a duplicate of a block
+ // that we have already found.
+@@ -1649,10 +1694,15 @@
+ return false;
+ }
+ }
+ }
+
++ if (cancelled)
++ {
++ return false;
++ }
++
+ // Get the Full and 16k hash values of the file
+ filechecksummer.GetFileHashes(hashfull, hash16k);
+
+ // Did we make any matches at all
+ if (count > 0)
+@@ -2289,14 +2339,23 @@
+ if (oldfraction != newfraction)
+ {
+ cout << "Repairing: " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush;
+ sig_progress.emit(newfraction);
+
++ if (cancelled)
++ {
++ break;
++ }
+ }
+ }
+ }
+
++ if (cancelled)
++ {
++ break;
++ }
++
+ ++inputblock;
+ ++inputindex;
+ }
+ }
+ else
+@@ -2346,13 +2405,22 @@
+ if (oldfraction != newfraction)
+ {
+ cout << "Processing: " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush;
+ sig_progress.emit(newfraction);
+
++ if (cancelled)
++ {
++ break;
++ }
+ }
+ }
+
++ if (cancelled)
++ {
++ break;
++ }
++
+ ++copyblock;
+ ++inputblock;
+ }
+ }
+
+@@ -2360,10 +2428,15 @@
+ if (lastopenfile != NULL)
+ {
+ lastopenfile->Close();
+ }
+
++ if (cancelled)
++ {
++ return false;
++ }
++
+ if (noiselevel > CommandLine::nlQuiet)
+ cout << "Writing recovered data\r";
+
+ // For each output block that has been recomputed
+ vector<DataBlock*>::iterator outputblock = outputblocks.begin();
+diff -aud -U 5 ../libpar2-0.2-with-bugfixes-patch/par2repairer.h ../libpar2-0.2/par2repairer.h
+--- ../libpar2-0.2-original/par2repairer.h 2012-12-03 10:47:04.000000000 +0100
++++ ../libpar2-0.2/par2repairer.h 2012-12-03 10:48:13.000000000 +0100
+@@ -186,8 +186,9 @@
+
+ u64 progress; // How much data has been processed.
+ u64 totaldata; // Total amount of data to be processed.
+ u64 totalsize; // Total data size
+
++ bool cancelled; // repair cancelled
+ };
+
+ #endif // __PAR2REPAIRER_H__
diff --git a/community/libparserutils/PKGBUILD b/community/libparserutils/PKGBUILD
new file mode 100644
index 000000000..d8e38bb04
--- /dev/null
+++ b/community/libparserutils/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 89113 2013-04-26 21:37:10Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=libparserutils
+pkgver=0.1.2
+pkgrel=1
+pkgdesc='Library for building efficient parsers'
+arch=('x86_64' 'i686')
+url='http://www.netsurf-browser.org/projects/libparserutils'
+license=('MIT')
+depends=('glibc')
+makedepends=('netsurf-buildsystem')
+source=("http://download.netsurf-browser.org/libs/releases/$pkgname-$pkgver-src.tar.gz")
+sha256sums=('0a21efd3882c19965f57161c4ecda85a363a71dbe090030dfa69f9aecd2160aa')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed 's:-Wall::' -i Makefile
+ make PREFIX=/usr COMPONENT_TYPE="lib-shared"
+ make PREFIX=/usr COMPONENT_TYPE="lib-static"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-shared"
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-static"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libpinyin/PKGBUILD b/community/libpinyin/PKGBUILD
new file mode 100644
index 000000000..4622a10d9
--- /dev/null
+++ b/community/libpinyin/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 93183 2013-06-27 13:57:26Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Yangtse <yangtsesu@gmail.com>
+# Contributor: WU Jun <quark at lihdd dot net>
+
+pkgname=libpinyin
+pkgver=0.9.93
+pkgrel=1
+pkgdesc="Library to deal with pinyin"
+arch=('i686' 'x86_64')
+url="https://github.com/libpinyin/libpinyin"
+license=('GPL')
+depends=('db' 'glib2')
+options=(!libtool)
+source=("https://github.com/libpinyin/libpinyin/archive/${pkgver}.tar.gz"
+ "http://downloads.sourceforge.net/libpinyin/model6.text.tar.gz")
+noextract=("model6.text.tar.gz")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ cp "${srcdir}/model6.text.tar.gz" "${srcdir}/${pkgname}-${pkgver}/data/"
+ sed -i '/wget.*model6\.text\.tar\.gz/ d' ${srcdir}/${pkgname}-${pkgver}/data/Makefile.am
+
+ aclocal && libtoolize --force && autoheader && automake -a && autoconf
+ ./configure --prefix=/usr && make
+}
+
+package() {
+ cd "${srcdir}/libpinyin-$pkgver"
+ make DESTDIR="${pkgdir}" install
+}
+sha512sums=('7214c7913ed116a5557e89958d0d117e7a2781dcbbcc8b1c6713fb569ca121a5763e5cf1dedfdb4607638f773875c374112865d3a306876906a126954c4ef387'
+ '8719d99b2efb22438ec067c046f8d45addb3e0d336e8d6ec4b8ed22370fe81366d19a34934bb059230f86e74c379acb62822ee3458850437880d531de8ff3e0e')
diff --git a/community/libpng12/PKGBUILD b/community/libpng12/PKGBUILD
new file mode 100644
index 000000000..968cd9123
--- /dev/null
+++ b/community/libpng12/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 79866 2012-11-14 07:22:13Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: dorphell <archlinux.org: dorphell>
+# Contributor: Travis Willard <archlinux.org: travis>
+# Contributor: Douglas Soares de Andrade <archlinux.org: douglas>
+# Contributor: Jesse Jaara <gmail.com: jesse.jaara>
+
+pkgname=libpng12
+_realname=libpng
+pkgver=1.2.50
+pkgrel=2
+pkgdesc="A collection of routines used to create PNG format graphics files"
+arch=('i686' 'x86_64')
+url="http://www.libpng.org/pub/png/libpng.html"
+license=('custom')
+depends=('zlib')
+options=('!libtool')
+source=("http://sourceforge.net/projects/libpng/files/libpng-${pkgver}.tar.xz"
+ "http://sourceforge.net/projects/apng/files/libpng/libpng12/libpng-${pkgver}-apng.patch.gz")
+
+build() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+
+ patch -Np0 -i "${srcdir}/libpng-${pkgver}-apng.patch"
+
+ libtoolize --force --copy
+ aclocal
+ autoconf
+ automake --add-missing
+
+ ./configure --prefix=/usr
+
+ make ECHO=echo
+}
+
+package() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+
+ make ECHO=echo DESTDIR="${pkgdir}" install
+
+ rm -rf "${pkgdir}/usr/share"
+ rm -rf "${pkgdir}/usr/bin/libpng-config"
+ rm -rf "${pkgdir}/usr/lib/"{libpng.so,libpng.a}
+ rm -fr "${pkgdir}/usr/lib/pkgconfig/libpng.pc"
+ rm -rf "${pkgdir}/usr/include/"{pngconf.h,png.h}
+
+}
+
+md5sums=('a3e00fccbfe356174ab515b5c00641c7'
+ 'b06ac3f6a6f982abc2036359665e82a9')
diff --git a/community/libpqxx/ChangeLog b/community/libpqxx/ChangeLog
new file mode 100644
index 000000000..bf9624d43
--- /dev/null
+++ b/community/libpqxx/ChangeLog
@@ -0,0 +1,9 @@
+
+2009-09-16 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated to 3.0.2
+
+2009-08-06 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated to 3.0.1
+
diff --git a/community/libpqxx/PKGBUILD b/community/libpqxx/PKGBUILD
new file mode 100644
index 000000000..00a6dba5d
--- /dev/null
+++ b/community/libpqxx/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 83662 2013-02-04 10:17:35Z spupykin $
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=libpqxx
+pkgver=4.0.1
+pkgrel=1
+pkgdesc="C++ client API for PostgreSQL"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://pqxx.org/development/libpqxx/"
+depends=('postgresql-libs>=8.4.1')
+makedepends=('python2')
+options=('!libtool')
+source=("http://pqxx.org/download/software/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('6ea888b9ba85dd7cef1b182dc5f223a2')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's|python|python2|' tools/splitconfig
+ ./configure --prefix=/usr --enable-shared
+ make
+ make prefix="${pkgdir}/usr" install
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/libraw/PKGBUILD b/community/libraw/PKGBUILD
new file mode 100644
index 000000000..0c1004e39
--- /dev/null
+++ b/community/libraw/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 92940 2013-06-19 21:09:45Z bpiotrowski $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+
+pkgname=libraw
+pkgver=0.15.2
+pkgrel=1
+pkgdesc="A library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)"
+arch=('i686' 'x86_64')
+url="http://www.libraw.org/"
+license=('CDDL' 'LGPL' 'custom')
+depends=('lcms')
+options=('!makeflags')
+changelog=$pkgname.changelog
+source=(http://www.libraw.org/data/LibRaw-${pkgver}.tar.gz)
+sha256sums=('828eac93910f26f813f91d35f92f33a9e719c2ec8522d575b248063194b068c6')
+
+build() {
+ cd ${srcdir}/LibRaw-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/LibRaw-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+#license
+ install -D -m644 ${srcdir}/LibRaw-${pkgver}/LICENSE.LibRaw.pdf \
+ ${pkgdir}/usr/share/licenses/libraw/LICENSE.LibRaw.pdf
+}
diff --git a/community/libraw/libraw.changelog b/community/libraw/libraw.changelog
new file mode 100644
index 000000000..ae434aae0
--- /dev/null
+++ b/community/libraw/libraw.changelog
@@ -0,0 +1,17 @@
+2013-06-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libraw 0.15.2-1
+
+2013-06-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libraw 0.14.8-1
+
+2012-09-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libraw 0.14.7-1
+
+2012-04-06 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libraw 0.14.6-1
+
+2012-02-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libraw 0.14.5-1
+
+2011-12-13 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libraw 0.14.4-1
diff --git a/community/librcc/PKGBUILD b/community/librcc/PKGBUILD
new file mode 100644
index 000000000..fa2df29fc
--- /dev/null
+++ b/community/librcc/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 83682 2013-02-04 11:06:09Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=librcc
+pkgver=0.2.6
+pkgrel=5
+pkgdesc="Charset Conversion Library"
+arch=(i686 x86_64)
+url="http://rusxmms.sourceforge.net/"
+license=('GPL')
+depends=(aspell enca libxml2 db librcd)
+makedepends=(patch gtk gtk2)
+install=librcc.install
+options=('!libtool')
+source=(http://downloads.sourceforge.net/rusxmms/${pkgname}-${pkgver}.tar.bz2
+ librcc-strnlen.patch)
+md5sums=('9bbf248c7312c73c0b6ca19b9c5a2af1'
+ '040313d1d8f166ccf2b128cea4c05f21')
+
+build() {
+ cd $srcdir/$pkgname-${pkgver}
+ ./configure --prefix=/usr
+ patch -p1 <$srcdir/librcc-strnlen.patch
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-${pkgver}
+ mkdir -p $pkgdir/etc/rcc
+ mkdir -p $pkgdir/usr/lib/rcc/engines
+ mkdir -p $pkgdir/usr/bin
+
+ make DESTDIR=$pkgdir install
+
+ make -C examples
+ make -C examples install DESTDIR=$pkgdir
+ rm -f $pkgdir/usr/bin/example*
+
+ install -m 644 examples/rcc.xml $pkgdir/etc
+
+ if [ -f $pkgdir/usr/bin/rcc-gtk2-config ]; then
+ ln -s rcc-gtk2-config $pkgdir/usr/bin/rcc-config
+ elif [ -f $pkgdir/usr/bin/rcc-gtk-config ]; then
+ ln -s rcc-gtk-config $pkgdir/usr/bin/rcc-config
+ else
+ echo "#!/bin/bash" > $pkgdir/usr/bin/rcc-config
+ echo "echo \"Configuration UI is not available!\"" >> $pkgdir/usr/bin/rcc-config
+ fi
+}
diff --git a/community/librcc/librcc-strnlen.patch b/community/librcc/librcc-strnlen.patch
new file mode 100644
index 000000000..9fc0e8b0b
--- /dev/null
+++ b/community/librcc/librcc-strnlen.patch
@@ -0,0 +1,17 @@
+diff -wbBur librcc-0.2.6/src/rccstring.h librcc-0.2.6.qwe/src/rccstring.h
+--- librcc-0.2.6/src/rccstring.h 2006-01-08 15:42:59.000000000 +0000
++++ librcc-0.2.6.qwe/src/rccstring.h 2009-09-28 08:45:37.000000000 +0000
+@@ -18,13 +18,6 @@
+ int rccStringFixID(rcc_string string, rcc_context ctx);
+ int rccStringChangeID(rcc_string string, rcc_language_id language_id);
+
+-#ifdef HAVE_STRNLEN
+-# ifndef strnlen
+-int strnlen(const char *str, size_t size);
+-# endif /* !strnlen */
+-#else
+-int rccStrnlen(const char *str, size_t size);
+-#endif /* HAVE_STRNLEN */
+ int rccIsASCII(const char *str);
+ size_t rccStringSizedGetChars(const char *str, size_t size);
+
diff --git a/community/librcc/librcc.install b/community/librcc/librcc.install
new file mode 100644
index 000000000..53b1d7ce7
--- /dev/null
+++ b/community/librcc/librcc.install
@@ -0,0 +1,6 @@
+post_install() {
+ echo "-- Don't forget to install gtk or/and gtk2 packages to enable librcc"
+ echo " gui features"
+ echo "-- Also you may change /usr/bin/rcc-config symlink to switch between"
+ echo " gtk and gtk2 (rcc-gtk-config and rcc-gtk2-config)"
+}
diff --git a/community/librcd/PKGBUILD b/community/librcd/PKGBUILD
new file mode 100644
index 000000000..810c7b9ae
--- /dev/null
+++ b/community/librcd/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 66203 2012-02-23 03:17:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=librcd
+pkgver=0.1.11
+pkgrel=3
+pkgdesc="Charset Detection Library"
+arch=(i686 x86_64)
+url="http://rusxmms.sourceforge.net/"
+depends=(glibc)
+license=('GPL')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/rusxmms/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('17fcea35961f85c21c58a233d54a508c')
+
+build() {
+ cd $srcdir/$pkgname-${pkgver}
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/libreplaygain/PKGBUILD b/community/libreplaygain/PKGBUILD
new file mode 100644
index 000000000..19505622d
--- /dev/null
+++ b/community/libreplaygain/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 57695 2011-11-01 10:46:06Z andrea $
+# Maintainer:
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+
+pkgname=libreplaygain
+pkgver=475
+pkgrel=1
+pkgdesc="A library to adjust audio gain"
+arch=('i686' 'x86_64')
+url="http://www.musepack.net/index.php?pg=src"
+license=('LGPL')
+depends=('glibc')
+makedepends=('cmake')
+source=("http://files.musepack.net/source/${pkgname}_r${pkgver}.tar.gz")
+md5sums=('e27b3b1249b7fbae92d656d9e3d26633')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname}_r${pkgver}/ \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+
+ install -d "${pkgdir}/usr/include/replaygain/"
+ install -Dm644 "${srcdir}"/${pkgname}_r${pkgver}/include/replaygain/* \
+ "${pkgdir}/usr/include/replaygain/"
+}
diff --git a/community/librime/PKGBUILD b/community/librime/PKGBUILD
new file mode 100644
index 000000000..9c6f8e205
--- /dev/null
+++ b/community/librime/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 94029 2013-07-13 12:33:16Z svenstaro $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: GONG Chen <chen dot sst at gmail dot com>
+# Contributor: 網軍總司令
+
+pkgname=librime
+pkgver=0.9.9
+pkgrel=3
+pkgdesc="Rime input method engine"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/rimeime/"
+license=('GPL3')
+depends=('boost' 'google-glog' 'kyotocabinet' 'opencc' 'yaml-cpp>=0.5')
+optdepends=('brise: Rime schema repository')
+makedepends=('cmake')
+source=("http://rimeime.googlecode.com/files/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "${srcdir}/$pkgname"
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums=('bd705cd3e4c7ab6e47d983b07044769f')
diff --git a/community/librsync/PKGBUILD b/community/librsync/PKGBUILD
new file mode 100644
index 000000000..5674db504
--- /dev/null
+++ b/community/librsync/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 64645 2012-02-17 13:31:34Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+# Contributor: Christoph 'delmonico' Neuroth <delmonico@gmx.net>
+
+pkgname=librsync
+pkgver=0.9.7
+pkgrel=6
+pkgdesc="A free software library that implements the rsync remote-delta algorithm (rdiff)"
+arch=('i686' 'x86_64')
+url="http://librsync.sourceforge.net/"
+license=('GPL')
+depends=('popt' 'zlib' 'bzip2')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/librsync/$pkgname-$pkgver.tar.gz
+ lfs-overflow.patch)
+sha256sums=('6633e4605662763a03bb6388529cbdfd3b11a9ec55b8845351c1bd9a92bc41d6'
+ 'bda94f0aa550498673a459326656798b9f327c8687fa924415cf7b08e8fd2f38')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Patch for large files (https://bugzilla.redhat.com/show_bug.cgi?id=207940)
+ patch -Np1 -i "$srcdir/lfs-overflow.patch"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man --enable-shared
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/librsync/lfs-overflow.patch b/community/librsync/lfs-overflow.patch
new file mode 100644
index 000000000..714fbaa84
--- /dev/null
+++ b/community/librsync/lfs-overflow.patch
@@ -0,0 +1,55 @@
+Files over 4 Gig in size encountered an error resulting in an unsuccessful copy as
+per (upstream) Bug Request ID: 1110812.
+
+The assignment 'len = job->basis_len' sometimes overflows. Made changes so that
+assignment is done only when appropriate.
+
+rs_mdfour variables B and C were observed to overflow their 'int' definition.
+This has been changed to 'unsigned int', which is now consistent with like coding
+in the openssl package.
+
+--- librsync-0.9.7/mdfour.h 2004-02-08 00:17:57.000000000 +0100
++++ librsync-0.9.7/mdfour.h.lfs_overflow 2006-03-10 11:44:10.000000000 +0100
+@@ -1,7 +1,7 @@
+ /*= -*- c-basic-offset: 4; indent-tabs-mode: nil; -*-
+ *
+ * librsync -- the library for network deltas
+- * $Id: mdfour.h,v 1.7 2003/10/17 16:15:21 abo Exp $
++ * $Id: mdfour.h,v 1.8 2006/03/10 10:44:10 abo Exp $
+ *
+ * Copyright (C) 2000, 2001 by Martin Pool <mbp@samba.org>
+ * Copyright (C) 2002, 2003 by Donovan Baarda <abo@minkirri.apana.org.au>
+@@ -24,7 +24,7 @@
+ #include "types.h"
+
+ struct rs_mdfour {
+- int A, B, C, D;
++ unsigned int A, B, C, D;
+ #if HAVE_UINT64
+ uint64_t totalN;
+ #else
+--- librsync-0.9.7/patch.c 2004-09-17 23:35:50.000000000 +0200
++++ librsync-0.9.7/patch.c.lfs_overflow 2006-03-10 11:44:10.000000000 +0100
+@@ -1,7 +1,7 @@
+ /*= -*- c-basic-offset: 4; indent-tabs-mode: nil; -*-
+ *
+ * librsync -- the library for network deltas
+- * $Id: patch.c,v 1.30 2004/09/10 02:48:58 mbp Exp $
++ * $Id: patch.c,v 1.31 2006/03/10 10:44:10 abo Exp $
+ *
+ * Copyright (C) 2000, 2001 by Martin Pool <mbp@samba.org>
+ *
+@@ -214,12 +214,9 @@
+ void *buf, *ptr;
+ rs_buffers_t *buffs = job->stream;
+
+- len = job->basis_len;
+-
+ /* copy only as much as will fit in the output buffer, so that we
+ * don't have to block or store the input. */
+- if (len > buffs->avail_out)
+- len = buffs->avail_out;
++ len = (buffs->avail_out < job->basis_len) ? buffs->avail_out : job->basis_len;
+
+ if (!len)
+ return RS_BLOCKED;
diff --git a/community/librtfcomp/PKGBUILD b/community/librtfcomp/PKGBUILD
new file mode 100644
index 000000000..a7b5355d5
--- /dev/null
+++ b/community/librtfcomp/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 88520 2013-04-19 10:31:06Z spupykin $
+# Contributor: Bartek Iwaniec <hash87 [at] gmail [dot] com>
+
+pkgname=librtfcomp
+pkgver=1.2
+pkgrel=1
+pkgdesc="SynCE librtfcomp library"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://www.synce.org/"
+depends=(pyrex)
+source=(http://downloads.sourceforge.net/synce/${pkgname}-${pkgver}.tar.gz)
+md5sums=('cdff301ff346905595d0bb6efd432850')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -dm0755 $pkgdir/usr/bin
+ install -m0755 tests/{to,from}rtf $pkgdir/usr/bin
+}
diff --git a/community/libshairport/PKGBUILD b/community/libshairport/PKGBUILD
new file mode 100644
index 000000000..7e69f1b6e
--- /dev/null
+++ b/community/libshairport/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 87587 2013-04-03 13:29:16Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+
+pkgname=libshairport
+_developer='amejia1'
+_version=1.2.1.20121215
+_commithash='16395d8'
+pkgver=${_version}
+pkgrel=1
+pkgdesc="emulates an AirPort Express"
+arch=('i686' 'x86_64')
+url='https://github.com/amejia1/libshairport'
+license=('GPL')
+depends=('openssl' 'libao')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/amejia1/libshairport/tarball/$_commithash")
+sha256sums=('98b73313d0a8f2abcb32e11f4fd4b422777a495cd62dbe881d5061b91959d1d5')
+options=(!libtool)
+
+_srcfolder=$_developer-$pkgname-$_commithash
+
+build() {
+ mv "$_srcfolder" "$pkgname-$pkgver"
+
+ cd "$pkgname-$pkgver"
+ autoreconf -vif
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libsieve/PKGBUILD b/community/libsieve/PKGBUILD
new file mode 100644
index 000000000..b9e1477b8
--- /dev/null
+++ b/community/libsieve/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 72453 2012-06-14 19:07:49Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=libsieve
+pkgver=2.3.1
+pkgrel=1
+pkgdesc="sieve interpretator lib"
+arch=(i686 x86_64)
+url="http://libsieve.sourceforge.net/"
+license=('GPL')
+options=('!libtool')
+source=("https://github.com/downloads/sodabrew/libsieve/libsieve-$pkgver.tar.gz")
+md5sums=('bb48eecf877cc7fdb2b0dfe757b48d7a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/libsignon-glib/PKGBUILD b/community/libsignon-glib/PKGBUILD
new file mode 100644
index 000000000..d17506366
--- /dev/null
+++ b/community/libsignon-glib/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92688 2013-06-12 04:57:26Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=libsignon-glib
+pkgver=1.10
+pkgrel=1
+pkgdesc="GLib-based client library for applications handling account authentication through the Online Accounts Single Sign-On service"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/accounts-sso/"
+license=('LGPL')
+depends=('signon')
+makedepends=('python2-gobject')
+options=('!libtool')
+source=(http://accounts-sso.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+sha1sums=('224f66c9662843705da4b35d781a50d6aeb8ca5f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static \
+ PYTHON=python2
+ make -j1
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # Install GI overrides for python 3 as well
+ install -dm755 "$pkgdir/usr/lib/python3.3/site-packages/gi/overrides"
+ ln -s ../../../../python2.7/site-packages/gi/overrides/Signon.py "$pkgdir/usr/lib/python3.3/site-packages/gi/overrides/Signon.py"
+}
diff --git a/community/libsmf/PKGBUILD b/community/libsmf/PKGBUILD
new file mode 100644
index 000000000..62f77a96a
--- /dev/null
+++ b/community/libsmf/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 60154 2011-12-06 08:54:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: SpepS <dreamspepser at yahoo dot it>
+
+pkgname=libsmf
+pkgver=1.3
+pkgrel=3
+pkgdesc='A BSD-licensed C library for handling SMF ("*.mid") files.'
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/libsmf/"
+license=('BSD')
+depends=('glib2' 'readline')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/project/libsmf/libsmf/$pkgver/$pkgname-$pkgver.tar.gz")
+md5sums=('eb698f1bc0bad9d5bce4c10386347486')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr \
+ --enable-static=no
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/libstatgrab/PKGBUILD b/community/libstatgrab/PKGBUILD
new file mode 100644
index 000000000..30b014b6b
--- /dev/null
+++ b/community/libstatgrab/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 83514 2013-02-02 11:47:44Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+
+pkgname=libstatgrab
+pkgver=0.17
+pkgrel=3
+pkgdesc="A library that provides cross platform access to statistics about the system on which it's run"
+arch=('i686' 'x86_64')
+url="http://www.i-scream.org/libstatgrab"
+license=('LGPL' 'GPL')
+depends=('ncurses' 'perl')
+options=('!libtool' '!makeflags')
+changelog=$pkgname.changelog
+source=(http://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('bbaa88c6bde8bd3cf2720b81a26528cc055a7e83e4ea3bdb1d0a3c4287cceb88')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/libstatgrab/libstatgrab.changelog b/community/libstatgrab/libstatgrab.changelog
new file mode 100644
index 000000000..ee8f7860f
--- /dev/null
+++ b/community/libstatgrab/libstatgrab.changelog
@@ -0,0 +1,11 @@
+2011-01-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libstatgrab 0.17-1
+
+2010-07-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * rebuild for correct package naming
+
+2008-03-20 Eric Belanger <eric@archlinux.org>
+
+ * libstatgrab 0.16-1
+ * Upstream update
+ * Added ChangeLog
diff --git a/community/libsynaptics/PKGBUILD b/community/libsynaptics/PKGBUILD
new file mode 100644
index 000000000..2b449fd36
--- /dev/null
+++ b/community/libsynaptics/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 66206 2012-02-23 03:20:15Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=libsynaptics
+pkgver=0.14.6c
+pkgrel=5
+pkgdesc="Library for accessing synaptics touchpads"
+arch=('i686' 'x86_64')
+url="http://qsynaptics.sourceforge.net"
+license=('GPL')
+depends=('gcc-libs')
+makedepends=('xproto')
+options=('!libtool')
+source=(http://qsynaptics.sourceforge.net/$pkgname-$pkgver.tar.bz2 libsynaptics-gcc433.patch)
+md5sums=('fedf8b31171d288954ff2e83b251de44'
+ '5e1df34fe8c2480b803a8ea6520bdda8')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np0 -i ../libsynaptics-gcc433.patch
+ sed -i '1,1i#include <stdio.h>' pad.cpp
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/libsynaptics/libsynaptics-gcc433.patch b/community/libsynaptics/libsynaptics-gcc433.patch
new file mode 100644
index 000000000..162ecb0fe
--- /dev/null
+++ b/community/libsynaptics/libsynaptics-gcc433.patch
@@ -0,0 +1,10 @@
+--- pad.cpp 2009-01-29 20:29:48.000000000 +0100
++++ pad.cpp 2009-01-29 20:29:48.000000000 +0100
+@@ -4,6 +4,7 @@
+ #include <pthread.h>
+ #include <unistd.h>
+ #include <sys/shm.h>
++#include <stdlib.h>
+
+ //
+ // singleton specific code
diff --git a/community/libtaginfo/PKGBUILD b/community/libtaginfo/PKGBUILD
new file mode 100644
index 000000000..3042a577b
--- /dev/null
+++ b/community/libtaginfo/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 88454 2013-04-18 04:14:11Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=libtaginfo
+pkgver=0.1.6
+pkgrel=1
+pkgdesc="Library for reading media metadata"
+arch=('i686' 'x86_64')
+url="https://bitbucket.org/shuerhaaken/libtaginfo"
+depends=('taglib' 'gcc-libs')
+license=('GPL2')
+source=("https://bitbucket.org/shuerhaaken/libtaginfo/downloads/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./autogen.sh --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums=('781361a667767e8553735682d63670ca')
diff --git a/community/libtommath/PKGBUILD b/community/libtommath/PKGBUILD
new file mode 100644
index 000000000..33c60ba42
--- /dev/null
+++ b/community/libtommath/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 59626 2011-11-28 21:56:45Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: suasageandeggs <s_stoakley@hotmail.co.uk>
+# Contributor: Michael Fellinger <manveru@www.weez-int.com>
+
+pkgname=libtommath
+pkgver=0.42.0
+pkgrel=2
+pkgdesc="Highly optimized and portable routines for integer based number theoretic applications"
+url="http://www.libtom.org/"
+license=('custom')
+arch=('i686' 'x86_64')
+source=("http://libtom.org/files/ltm-${pkgver}.tar.bz2"
+ 'libtommath-0.42.0-makefile.patch')
+md5sums=('7380da904b020301be7045cb3a89039b'
+ 'd50c26fdc5aa87e6acfd4adc20557ff4')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ patch -Np1 -i ${srcdir}/libtommath-0.42.0-makefile.patch
+
+ make -f makefile.shared IGNORE_SPEED=1
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir INSTALL_GROUP=root install
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ chmod 644 ${pkgdir}/usr/lib/libtommath.a
+}
diff --git a/community/libtommath/libtommath-0.42.0-makefile.patch b/community/libtommath/libtommath-0.42.0-makefile.patch
new file mode 100644
index 000000000..d98456e5b
--- /dev/null
+++ b/community/libtommath/libtommath-0.42.0-makefile.patch
@@ -0,0 +1,44 @@
+--- a/makefile.shared
++++ b/makefile.shared
+@@ -3,7 +3,7 @@
+ #Tom St Denis
+ VERSION=0:41
+
+-CC = libtool --mode=compile --tag=CC gcc
++LTCOMPILE = libtool --mode=compile --tag=CC $(CC)
+
+ CFLAGS += -I./ -Wall -W -Wshadow -Wsign-compare
+
+@@ -82,21 +82,24 @@
+
+ objs: $(OBJECTS)
+
++.c.o:
++ $(LTCOMPILE) $(CFLAGS) $(LDFLAGS) -o $@ -c $<
++
+ $(LIBNAME): $(OBJECTS)
+- libtool --mode=link gcc *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
++ libtool --mode=link --tag=CC $(CC) $(LDFLAGS) *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
+
+ install: $(LIBNAME)
+- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
++ install -d $(DESTDIR)$(LIBPATH)
+ libtool --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
+- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
+- install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
++ install -d $(DESTDIR)$(INCPATH)
++ install -m 644 $(HEADERS) $(DESTDIR)$(INCPATH)
+
+ test: $(LIBNAME) demo/demo.o
+- gcc $(CFLAGS) -c demo/demo.c -o demo/demo.o
+- libtool --mode=link gcc -o test demo/demo.o $(LIBNAME_S)
++ $(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o
++ libtool --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME_S)
+
+ mtest: test
+- cd mtest ; gcc $(CFLAGS) mtest.c -o mtest
++ cd mtest ; $(CC) $(CFLAGS) $(LDFLAGS) mtest.c -o mtest
+
+ timing: $(LIBNAME)
+- gcc $(CFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest
++ libtool --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest
diff --git a/community/libtorrent/PKGBUILD b/community/libtorrent/PKGBUILD
new file mode 100644
index 000000000..01884fc7b
--- /dev/null
+++ b/community/libtorrent/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90569 2013-05-13 09:41:28Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Daenyth <Daenyth+Arch [at] gmail [dot] com>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: sh__
+
+pkgname=libtorrent
+pkgver=0.13.3
+pkgrel=2
+pkgdesc='BitTorrent library with a focus on high performance and good code'
+url='http://libtorrent.rakshasa.no/'
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('openssl')
+source=("http://libtorrent.rakshasa.no/downloads/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('e65a20b9e6d5c04b4e0849543d58befb60d948b7')
+
+options=('!libtool')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ export CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ ./configure \
+ --prefix=/usr \
+ --disable-debug \
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/libunwind/PKGBUILD b/community/libunwind/PKGBUILD
new file mode 100644
index 000000000..57cc71112
--- /dev/null
+++ b/community/libunwind/PKGBUILD
@@ -0,0 +1,36 @@
+# $id$
+# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
+# Contributor: Lawrence Lee <valheru@facticius.net>
+# Contributor: Phillip Marvin <phillip.marvin@gmail.com>
+# Contributor: keystone <phillip.marvin@gmail.com>
+
+pkgname=libunwind
+pkgver=1.1
+pkgrel=1
+pkgdesc='Portable and efficient C programming interface (API) to determine the call-chain of a program'
+arch=('i686' 'x86_64')
+url='http://www.nongnu.org/libunwind/'
+license=('GPL')
+depends=('glibc' 'xz')
+options=(!libtool)
+source=("http://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('fb4ea2f6fbbe45bf032cd36e586883ce')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure CFLAGS="$CFLAGS -U_FORTIFY_SOURCE" --prefix=/usr
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ # This function is ``supposed'' to fail. Upstream know, but haven't fixed it.
+ make check || return 0
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libuser/PKGBUILD b/community/libuser/PKGBUILD
new file mode 100644
index 000000000..ff830f669
--- /dev/null
+++ b/community/libuser/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 91838 2013-05-28 17:05:08Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+
+pkgname=libuser
+pkgver=0.59
+pkgrel=2
+pkgdesc='A standardized interface for manipulating and administering user and group accounts.'
+arch=('i686' 'x86_64')
+license=('LGPL')
+url='https://fedorahosted.org/libuser/'
+depends=('python2' 'glib2' 'popt')
+options=('!libtool')
+backup=('etc/libuser.conf')
+source=("https://fedorahosted.org/releases/l/i/libuser/libuser-${pkgver}.tar.xz")
+md5sums=('22835cbfec894b1e9491845ed5023244')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ export PYTHON=python2
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --disable-gtk-doc-html \
+ --disable-rpath
+ sed -i 's/SUBDIRS = po docs/SUBDIRS = po/' Makefile
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/libvirt-glib/PKGBUILD b/community/libvirt-glib/PKGBUILD
new file mode 100644
index 000000000..f04454542
--- /dev/null
+++ b/community/libvirt-glib/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 93427 2013-07-03 12:11:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Stefano Facchini <stefano.facchini@gmail.com>
+
+pkgname=libvirt-glib
+pkgver=0.1.6
+pkgrel=1
+pkgdesc="GLib bindings for libvirt"
+arch=('i686' 'x86_64')
+url="http://libvirt.org"
+license=('LGPL2.1')
+depends=('libvirt' 'glib2' 'gobject-introspection' 'python2')
+options=('!libtool')
+source=(ftp://libvirt.org/libvirt/glib/$pkgname-$pkgver.tar.gz)
+sha256sums=('274b88584db94bb5d404e5398d6b5ef184afad49a2e4b3f4f6c47ba940bf55bf')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libvirt/PKGBUILD b/community/libvirt/PKGBUILD
new file mode 100644
index 000000000..473cc16a0
--- /dev/null
+++ b/community/libvirt/PKGBUILD
@@ -0,0 +1,88 @@
+# $Id: PKGBUILD 93546 2013-07-05 10:38:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jonathan Wiersma <archaur at jonw dot org>
+
+pkgname=libvirt
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)"
+arch=('i686' 'x86_64')
+url="http://libvirt.org/"
+license=('LGPL')
+depends=('e2fsprogs' 'gnutls' 'iptables' 'libxml2' 'parted' 'polkit' 'python2'
+ 'avahi' 'yajl' 'libpciaccess' 'udev' 'dbus-core' 'libxau' 'libxdmcp' 'libpcap'
+ 'curl' 'libsasl' 'libgcrypt' 'libgpg-error' 'openssl' 'libxcb' 'gcc-libs'
+ 'iproute2' 'libnl' 'libx11' 'audit' 'numactl')
+makedepends=('pkgconfig' 'lvm2' 'linux-api-headers' 'dnsmasq')
+optdepends=('bridge-utils: for briged networking (default)'
+ 'dnsmasq: for NAT/DHCP for guests'
+ 'kvm'
+ 'openbsd-netcat: for remote management over ssh'
+ 'qemu'
+ 'radvd'
+ 'dmidecode'
+ 'ebtables')
+options=('emptydirs' '!libtool')
+backup=('etc/conf.d/libvirtd'
+ 'etc/conf.d/libvirtd-guests'
+ 'etc/libvirt/libvirtd.conf'
+ 'etc/libvirt/libvirt.conf'
+ 'etc/libvirt/qemu.conf'
+ 'etc/sasl2/libvirt.conf')
+install="libvirt.install"
+source=("http://libvirt.org/sources/$pkgname-$pkgver.tar.gz"
+ libvirtd.conf.d
+ libvirtd-guests.conf.d
+ libvirt.tmpfiles.d
+ "storage-fix.patch::https://bugs.archlinux.org/index.php?getfile=10700")
+md5sums=('f980a84719033e9efca01048da505dfb'
+ '3ed0e24f5b5e25bf553f5427d64915e6'
+ '0a96ed876ffb1fcb9dff5a9b3a609c1e'
+ '020971887442ebbf1b6949e031c8dd3f'
+ '321f03bd626d2d24e816d5298c3bc3fe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # python2 fix
+ export PYTHON=`which python2`
+ 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
+
+ patch -p1 <$srcdir/storage-fix.patch
+
+ export LDFLAGS=-lX11
+ export RADVD=/usr/bin/radvd
+ [ -f Makefile ] || ./configure --prefix=/usr --libexec=/usr/lib/"$pkgname" --sbindir=/usr/bin \
+ --with-storage-lvm --without-xen --with-udev --without-hal --disable-static \
+ --with-init-script=systemd --with-audit \
+ --with-qemu-user=nobody --with-qemu-group=nobody \
+ --without-netcf --with-interface
+ make
+
+ sed -i 's|/etc/sysconfig/|/etc/conf.d/|' daemon/libvirtd.service tools/libvirt-guests.service
+ sed -i 's|@sbindir@|/usr/bin|g' src/virtlockd.service
+ sed -i 's|#group =.*|group="kvm"|' src/qemu/qemu.conf
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ install -D -m644 "$srcdir"/libvirtd.conf.d "$pkgdir"/etc/conf.d/libvirtd
+ install -D -m644 "$srcdir"/libvirtd-guests.conf.d "$pkgdir"/etc/conf.d/libvirtd-guests
+
+ # systemd stuff
+ install -D -m644 "$srcdir"/libvirt.tmpfiles.d "$pkgdir"/usr/lib/tmpfiles.d/libvirt.conf
+ mv "$pkgdir"/lib/* "$pkgdir"/usr/lib/
+
+ rm -rf \
+ "$pkgdir"/var/run \
+ "$pkgdir"/etc/sysconfig \
+ "$pkgdir"/etc/rc.d/init.d \
+ "$pkgdir"/lib \
+ "$pkgdir"/etc/sysctl.d
+}
diff --git a/community/libvirt/libvirt.install b/community/libvirt/libvirt.install
new file mode 100644
index 000000000..efb652a88
--- /dev/null
+++ b/community/libvirt/libvirt.install
@@ -0,0 +1,19 @@
+_libvirt_setup() {
+ systemd-tmpfiles --create libvirt.conf
+}
+
+post_install() {
+ _libvirt_setup || return 1
+ echo ">>> See https://wiki.archlinux.org/index.php/Libvirt for more info"
+}
+
+post_upgrade() {
+ _libvirt_setup || return 1
+ echo ">>> You may need to run 'rm -rf ~/.libvirt'"
+ echo ">>> libvirt runs qemu from nobody:nobody by default"
+ echo ">>> change it in /etc/libvirt/qemu.conf"
+}
+
+post_remove() {
+ rm -f /usr/lib/python[0-9].[0-9]/site-packages/libvirt.pyc
+}
diff --git a/community/libvirt/libvirt.tmpfiles.d b/community/libvirt/libvirt.tmpfiles.d
new file mode 100644
index 000000000..2804c43c8
--- /dev/null
+++ b/community/libvirt/libvirt.tmpfiles.d
@@ -0,0 +1,4 @@
+d /run/libvirt/qemu 0755 root root -
+d /run/libvirt/lxc 0755 root root -
+d /run/libvirt/uml 0755 root root -
+d /run/libvirt/network 0755 root root -
diff --git a/community/libvirt/libvirtd-guests.conf.d b/community/libvirt/libvirtd-guests.conf.d
new file mode 100644
index 000000000..dd987611b
--- /dev/null
+++ b/community/libvirt/libvirtd-guests.conf.d
@@ -0,0 +1,11 @@
+LIBVIRTD_STOP_ACTION=suspend
+
+#LIBVIRTD_URI="-c qemu+ssh://user@host/system"
+LIBVIRTD_URI=""
+
+#LIBVIRTD_BYPASS_CACHE="--bypass-cache"
+LIBVIRTD_BYPASS_CACHE=""
+
+LIBVIRTD_START_DELAY=0
+
+LIBVIRTD_SHUTDOWN_TIMEOUT=60
diff --git a/community/libvirt/libvirtd.conf.d b/community/libvirt/libvirtd.conf.d
new file mode 100644
index 000000000..d4d25b47a
--- /dev/null
+++ b/community/libvirt/libvirtd.conf.d
@@ -0,0 +1,3 @@
+LIBVIRTD_CONFIG="/etc/libvirt/libvirtd.conf"
+LIBVIRTD_ARGS="-p /var/run/libvirtd.pid"
+KRB5_KTNAME="/etc/libvirt/krb5.tab"
diff --git a/community/libwapcaplet/PKGBUILD b/community/libwapcaplet/PKGBUILD
new file mode 100644
index 000000000..e9425b8c5
--- /dev/null
+++ b/community/libwapcaplet/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 89126 2013-04-26 23:37:42Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=libwapcaplet
+pkgver=0.2.0
+pkgrel=1
+pkgdesc='String internment library with rapid string comparison'
+arch=('x86_64' 'i686')
+url='http://www.netsurf-browser.org/projects/libwapcaplet/'
+license=('MIT')
+depends=('glibc')
+makedepends=('netsurf-buildsystem')
+source=("http://download.netsurf-browser.org/libs/releases/$pkgname-$pkgver-src.tar.gz")
+sha256sums=('5fb49841ba335b0c7a1420d92c3a60480df63696c50353c02724aa8c6b45cb24')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make PREFIX=/usr COMPONENT_TYPE="lib-shared"
+ make PREFIX=/usr COMPONENT_TYPE="lib-static"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-shared"
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE="lib-static"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/libwww/PKGBUILD b/community/libwww/PKGBUILD
new file mode 100644
index 000000000..c26669f7d
--- /dev/null
+++ b/community/libwww/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 57429 2011-10-27 16:42:35Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Buharev Vasilij <buharev.v.p@gmail.com>
+
+pkgname=libwww
+pkgver=5.4.0
+pkgrel=5
+pkgdesc="A general-purpose client side WEB API"
+arch=('i686' 'x86_64')
+url="http://www.w3.org/Library/"
+license=('W3C')
+depends=()
+makedepends=('gcc pkgconfig perl zlib openssl')
+options=('!libtool')
+source=(http://www.w3.org/Library/Distribution/w3c-$pkgname-$pkgver.tgz)
+md5sums=('c3734ca6caa405707e134cc8c6d7e422')
+
+build() {
+ cd "$srcdir/w3c-$pkgname-$pkgver"
+ [ -f Makefile ] || ./configure --prefix=/usr \
+ --with-md5 --with-zlib --with-expat --with-regex --with-ssl
+ sed -i 's#Examples##' Library/Makefile
+ make
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libx86/PKGBUILD b/community/libx86/PKGBUILD
new file mode 100644
index 000000000..460166174
--- /dev/null
+++ b/community/libx86/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 55525 2011-09-14 07:30:42Z andrea $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: tardo <tardo@nagi-fanboi.net>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+
+pkgname=libx86
+pkgver=1.1
+pkgrel=3
+pkgdesc="Provides an lrmi interface that works on x86, am64 and alpha"
+arch=('i686' 'x86_64')
+url="http://www.codon.org.uk/~mjg59/libx86/"
+license=('custom')
+depends=('glibc')
+source=("http://www.codon.org.uk/~mjg59/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz"
+ 'libx86-ifmask.patch')
+md5sums=('41bee1f8e22b82d82b5f7d7ba51abc2a'
+ '573897186eb8670d8d97c64ea7614001')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ # lrmi.c patch courtesy of Gentoo
+ patch -Np0 -i "${srcdir}"/libx86-ifmask.patch
+
+ # compensate for x86_64
+ if [ "$CARCH" = "x86_64" ]; then
+ make BACKEND=x86emu
+ else
+ make
+ fi
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+ chmod 644 "${pkgdir}"/usr/lib/libx86.a
+
+ install -D -m 644 COPYRIGHT "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/libx86/libx86-ifmask.patch b/community/libx86/libx86-ifmask.patch
new file mode 100644
index 000000000..c99eeb819
--- /dev/null
+++ b/community/libx86/libx86-ifmask.patch
@@ -0,0 +1,21 @@
+--- lrmi.c.orig 2008-09-06 12:24:36.070136428 +0200
++++ lrmi.c 2008-09-06 12:28:10.584287458 +0200
+@@ -55,6 +55,18 @@ OTHER DEALINGS IN THE SOFTWARE.
+ #include "x86-common.h"
+
+ #if defined(__linux__)
++#ifndef TF_MASK
++#define TF_MASK X86_EFLAGS_TF
++#endif
++#ifndef IF_MASK
++#define IF_MASK X86_EFLAGS_IF
++#endif
++#ifndef IOPL_MASK
++#define IOPL_MASK X86_EFLAGS_IOPL
++#endif
++#ifndef VIF_MASK
++#define VIF_MASK X86_EFLAGS_VIF
++#endif
+ #define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK)
+ #elif defined(__NetBSD__) || defined(__FreeBSD__)
+ #define DEFAULT_VM86_FLAGS (PSL_I | PSL_IOPL)
diff --git a/community/libx86emu/PKGBUILD b/community/libx86emu/PKGBUILD
new file mode 100644
index 000000000..a25689370
--- /dev/null
+++ b/community/libx86emu/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 67396 2012-03-11 10:52:58Z lcarlier $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Gergely Imreh <imrehgATgmailDOTcom>
+
+pkgname=libx86emu
+pkgver=1.1
+_pkgver=$pkgver-15.3
+pkgrel=29
+pkgdesc='x86 emulation library'
+arch=('i686' 'x86_64')
+url='http://www.opensuse.org/'
+license=('BSD')
+depends=('glibc')
+makedepends=('rpmextract')
+source=("http://download.opensuse.org/source/factory/repo/oss/suse/src/$pkgname-$_pkgver.src.rpm")
+md5sums=('ba6a0fc46307dd79078579140aab2f02')
+
+build() {
+ cd "${srcdir}"
+
+ rpmextract.sh "${pkgname}-${_pkgver}.src.rpm"
+ tar -xjf $pkgname-$pkgver.tar.bz2
+
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make LIBDIR=/usr/lib
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make LIBDIR=/usr/lib DESTDIR=$pkgdir install
+
+ install -Dm644 LICENSE \
+ ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/libxdg-basedir/LICENSE b/community/libxdg-basedir/LICENSE
new file mode 100644
index 000000000..42b182976
--- /dev/null
+++ b/community/libxdg-basedir/LICENSE
@@ -0,0 +1,24 @@
+/* Copyright (c) 2007 Mark Nevill
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
diff --git a/community/libxdg-basedir/PKGBUILD b/community/libxdg-basedir/PKGBUILD
new file mode 100644
index 000000000..ccbcc87a1
--- /dev/null
+++ b/community/libxdg-basedir/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Ondrej Martinak <omartinak@gmail.com>
+
+pkgname=libxdg-basedir
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="An implementation of the XDG Base Directory specifications."
+arch=('i686' 'x86_64')
+url="http://n.ethz.ch/student/nevillm/download/libxdg-basedir"
+license=('MIT')
+depends=('glibc')
+source=(http://n.ethz.ch/student/nevillm/download/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ 'LICENSE')
+options=('!libtool')
+sha1sums=('b924afe4e29c52358ad67476887e9ca0dcf90f7c'
+ 'c76efede60d0632d4241d718919d8b4ec62056b3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR=${pkgdir} install
+
+ # Install MIT license
+ install -Dm644 ${srcdir}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
diff --git a/community/libyaml/PKGBUILD b/community/libyaml/PKGBUILD
new file mode 100644
index 000000000..73d2c7b1e
--- /dev/null
+++ b/community/libyaml/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 66208 2012-02-23 03:22:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Michal Bozon <michal.bozon__at__gmail.com>
+
+pkgname=libyaml
+pkgver=0.1.4
+pkgrel=2
+pkgdesc="YAML 1.1 library"
+arch=('i686' 'x86_64')
+url="http://pyyaml.org/wiki/LibYAML"
+license=('MIT')
+source=(http://pyyaml.org/download/libyaml/yaml-$pkgver.tar.gz)
+md5sums=('36c852831d02cf90508c29852361d01b')
+
+build() {
+ cd "$srcdir/yaml-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/yaml-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/community/libzdb/PKGBUILD b/community/libzdb/PKGBUILD
new file mode 100644
index 000000000..ddd025ad0
--- /dev/null
+++ b/community/libzdb/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 88544 2013-04-19 13:27:42Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=libzdb
+pkgver=2.11.2
+pkgrel=1
+pkgdesc="Zild Database Library"
+arch=('i686' 'x86_64')
+url="http://www.tildeslash.com/libzdb/"
+license=('GPL')
+depends=('postgresql-libs' 'sqlite' 'libmariadbclient')
+options=('!libtool')
+source=(http://www.tildeslash.com/libzdb/dist/libzdb-$pkgver.tar.gz)
+md5sums=('f3ebd6c32c47be084643a44d34459499')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/libzen/PKGBUILD b/community/libzen/PKGBUILD
new file mode 100644
index 000000000..6e81755fc
--- /dev/null
+++ b/community/libzen/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 90922 2013-05-15 13:46:19Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: hydro <hydro@freenet.de>
+
+pkgname=libzen
+pkgver=0.4.29
+pkgrel=1
+pkgdesc="shared library for libmediainfo and mediainfo"
+arch=('i686' 'x86_64')
+url="http://mediainfo.sourceforge.net"
+license=('BSD')
+depends=('gcc-libs')
+makedepends=('libtool' 'automake' 'autoconf')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/zenlib/${pkgname}_${pkgver}.tar.bz2)
+md5sums=('a103218d3438c63fe246cda71ad0ca88')
+
+build() {
+ cd $srcdir/ZenLib/Project/GNU/Library
+ [ -x configure ] || sh ./autogen
+ [ -f Makefile ] || ./configure --prefix=/usr --enable-shared
+ make clean
+ make
+}
+
+package() {
+ cd $srcdir/ZenLib/Project/GNU/Library
+ make DESTDIR=$pkgdir install
+ install -dm 755 $pkgdir/usr/include/ZenLib
+ install -m 644 $srcdir/ZenLib/Source/ZenLib/*.h $pkgdir/usr/include/ZenLib
+ for i in HTTP_Client Format/Html Format/Http; do
+ install -dm0755 $pkgdir/usr/include/ZenLib/$i
+ install -m0644 $srcdir/ZenLib/Source/ZenLib/$i/*.h $pkgdir/usr/include/ZenLib/$i
+ done
+ install -dm 755 $pkgdir/usr/lib/pkgconfig
+ install -m 644 $srcdir/ZenLib/Project/GNU/Library/libzen.pc $pkgdir/usr/lib/pkgconfig
+ sed -i -e 's|Version: |Version: '$pkgver'|g' $pkgdir/usr/lib/pkgconfig/libzen.pc
+ install -D -m 644 $srcdir/ZenLib/License.txt $pkgdir/usr/share/licenses/libzen/License.txt
+}
diff --git a/community/lightdm-gtk2-greeter/PKGBUILD b/community/lightdm-gtk2-greeter/PKGBUILD
new file mode 100755
index 000000000..fe1c0a16e
--- /dev/null
+++ b/community/lightdm-gtk2-greeter/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92267 2013-06-03 13:05:16Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Padfoot <padfoot@exemail.com.au>
+
+pkgname=lightdm-gtk2-greeter
+pkgver=1.6.0
+pkgrel=1
+epoch=1
+pkgdesc="GTK+ greeter for LightDM"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/lightdm-gtk-greeter"
+license=('GPL3' 'LGPL3')
+depends=('gtk2' 'lightdm')
+makedepends=('exo' 'gnome-doc-utils' 'gobject-introspection' 'intltool')
+provides=("${pkgname/2/}")
+conflicts=("${pkgname/2/3}")
+backup=('etc/lightdm/lightdm-gtk-greeter.conf')
+source=("https://launchpad.net/${pkgname/2/}/1.6/${pkgver}/+download/${pkgname/2/}-${pkgver}.tar.gz")
+sha256sums=('69df6199a7e62b07a1865b0319a7c031abc2b06dc3eb193b8b7b453f536283ac')
+
+build() {
+ cd "${srcdir}"/${pkgname/2/}-${pkgver}
+
+ ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --libexecdir=/usr/lib/lightdm --disable-static --with-gtk2
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname/2/}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/lightdm-gtk3-greeter/PKGBUILD b/community/lightdm-gtk3-greeter/PKGBUILD
new file mode 100755
index 000000000..6455f5383
--- /dev/null
+++ b/community/lightdm-gtk3-greeter/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92265 2013-06-03 12:53:06Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Padfoot <padfoot@exemail.com.au>
+
+pkgname=lightdm-gtk3-greeter
+pkgver=1.6.0
+pkgrel=1
+epoch=1
+pkgdesc="GTK+ greeter for LightDM"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/lightdm-gtk-greeter"
+license=('GPL3' 'LGPL3')
+depends=('gtk3' 'lightdm')
+makedepends=('exo' 'gnome-doc-utils' 'gobject-introspection' 'intltool')
+provides=("${pkgname/3/}")
+conflicts=("${pkgname/3/2}")
+backup=('etc/lightdm/lightdm-gtk-greeter.conf')
+source=("https://launchpad.net/${pkgname/3/}/1.6/${pkgver}/+download/${pkgname/3/}-${pkgver}.tar.gz")
+sha256sums=('69df6199a7e62b07a1865b0319a7c031abc2b06dc3eb193b8b7b453f536283ac')
+
+build() {
+ cd "${srcdir}"/${pkgname/3/}-${pkgver}
+
+ ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --libexecdir=/usr/lib/lightdm --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname/3/}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/lightdm-kde-greeter/PKGBUILD b/community/lightdm-kde-greeter/PKGBUILD
new file mode 100755
index 000000000..8954c1d66
--- /dev/null
+++ b/community/lightdm-kde-greeter/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 90484 2013-05-12 21:57:59Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Contributor: Mladen Pejakovic <pejakm@gmail.com>
+# Contributor: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
+
+pkgname=lightdm-kde-greeter
+pkgver=0.3.2.1
+pkgrel=2
+pkgdesc="KDE greeter for LightDM"
+arch=('i686' 'x86_64')
+url="https://projects.kde.org/projects/playground/base/lightdm"
+license=('GPL')
+depends=('kdebase-runtime' 'liblightdm-qt4')
+makedepends=('cmake' 'automoc4')
+backup=('etc/lightdm/lightdm-kde-greeter.conf'
+ 'etc/dbus-1/system.d/org.kde.kcontrol.kcmlightdm.conf')
+source=("ftp://ftp.kde.org/pub/kde/unstable/${pkgname%-*}/src/${pkgname%-*}-${pkgver}.tar.bz2"
+ 'lightdm-kde-greeter.conf')
+sha256sums=('65b2a1bab2c88bf55a07e62cbe0eb8ac3660638636c5825e5925b28d03f12188'
+ 'a8fe10ef68d553781b91b1377106f95915c3ca14d835bd66910e08f922ef64c8')
+
+build() {
+ cd "${srcdir}"/lightdm-${pkgver}
+
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build && cd build
+
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/lightdm-${pkgver}/build
+
+ make DESTDIR="${pkgdir}" install
+ mv "${pkgdir}"/usr/{sbin,bin}
+ install -dm 755 "${pkgdir}"/etc/lightdm
+ install -m 644 ../../lightdm-kde-greeter.conf "${pkgdir}"/etc/lightdm/lightdm-kde-greeter.conf
+}
+
+# vim ts=2 sw=2 et:
diff --git a/community/lightdm-kde-greeter/lightdm-kde-greeter.conf b/community/lightdm-kde-greeter/lightdm-kde-greeter.conf
new file mode 100755
index 000000000..09c4ad281
--- /dev/null
+++ b/community/lightdm-kde-greeter/lightdm-kde-greeter.conf
@@ -0,0 +1,2 @@
+[greeter]
+theme-name=classic
diff --git a/community/lightdm/PKGBUILD b/community/lightdm/PKGBUILD
new file mode 100755
index 000000000..e86a8fccd
--- /dev/null
+++ b/community/lightdm/PKGBUILD
@@ -0,0 +1,121 @@
+# $Id: PKGBUILD 92709 2013-06-13 08:52:31Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Morfeo <morfeo89@hotmail.it>
+
+pkgbase=lightdm
+pkgname=('lightdm' 'liblightdm-qt4' 'liblightdm-qt5')
+pkgver=1.6.0
+pkgrel=5
+epoch=1
+pkgdesc="A lightweight display manager"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/lightdm"
+license=('GPL3' 'LGPL3')
+groups=('lightdm')
+makedepends=('gobject-introspection' 'gtk-doc' 'intltool' 'itstool' 'libxklavier' 'qt4' 'qt5-base' 'yelp-tools')
+options=('!emptydirs' '!libtool')
+source=("https://launchpad.net/lightdm/1.6/${pkgver}/+download/${pkgbase}-${pkgver}.tar.xz"
+ 'lightdm.service'
+ 'lightdm.tmpfiles'
+ 'lightdm.pam'
+ 'lightdm-autologin.pam'
+ 'lightdm.rules'
+ 'lightdm-default-config.patch'
+ 'lightdm-lock-screen-before-switch.patch'
+ 'lightdm-use-login1.patch'
+ 'xsession')
+sha256sums=('882ece568df0d81c0b6e399ff00b3f89eee6d50efc09ad1c52c61d8753efb419'
+ '3daf2f7e1b751415eab9b2aa92d78d8e00c3447a77fa31f7e75863136286a86f'
+ 'b29521fbd7a48a8f60b93ecca3b30c30bcb71560de8033c8d39b25c22c6f696f'
+ 'e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0'
+ '33e3c3d6e16c8d30756754ea3f31f5457c5be0343686aad287692be34958984a'
+ 'a89566307e1c81c24f037d854cbd472d2f94f8a4b759877a01563a332319f7d6'
+ '6d5a754f41e9c7e52c51d2ff018b926ddaabb807e9a0b88c4a7bde1acffa3b1c'
+ '4793eaee5915f5c519f569a4cd9158822d4c57c8b6e405895d2eddf82fa00822'
+ '3247aa1e5e7c2c2f8653cfbb22e1f74252c556b6159ff4ec47c1c7d5ea6883ac'
+ '7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4')
+
+prepare() {
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+
+ patch -Np1 -i ../lightdm-default-config.patch
+ patch -Np1 -i ../lightdm-lock-screen-before-switch.patch
+ patch -Np0 -i ../lightdm-use-login1.patch
+ sed -i 's/MOC5 --qt=qt5/MOC5/' configure
+}
+
+build() {
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+
+ ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/${pkgbase} --with-greeter-user=lightdm --with-greeter-session=lightdm-gtk-greeter --disable-{static,tests}
+ make
+}
+
+package_lightdm() {
+depends=('libxklavier' 'systemd')
+optdepends=('xorg-server-xephyr: LightDM test mode'
+ 'accountsservice: limit visible accounts')
+backup=('etc/apparmor.d/lightdm-guest-session'
+ 'etc/lightdm/keys.conf'
+ 'etc/lightdm/lightdm.conf'
+ 'etc/lightdm/users.conf')
+install=${pkgbase}.install
+
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+ make DESTDIR="${pkgdir}" -C liblightdm-qt uninstall
+ rm -rf "${pkgdir}"/etc/init
+
+# Persistent home
+ install -dm 770 "${pkgdir}"/var/lib/lightdm
+ chmod +t "${pkgdir}"/var/lib/lightdm
+ echo 'GDK_CORE_DEVICE_EVENTS=true' > "${pkgdir}"/var/lib/lightdm/.pam_environment
+ chmod 644 "${pkgdir}"/var/lib/lightdm/.pam_environment
+
+# Session wrapper
+ install -m 755 ../xsession "${pkgdir}"/etc/lightdm/xsession
+
+# PAM
+ install -m 644 ../lightdm.pam "${pkgdir}"/etc/pam.d/lightdm
+ install -m 644 ../lightdm-autologin.pam "${pkgdir}"/etc/pam.d/lightdm-autologin
+
+# PolicyKit
+ install -dm 700 "${pkgdir}"/usr/share/polkit-1/rules.d
+ install -m 644 ../lightdm.rules "${pkgdir}"/usr/share/polkit-1/rules.d/lightdm.rules
+
+# Systemd
+ install -dm 755 "${pkgdir}"/usr/lib/{systemd/system,tmpfiles.d}
+ install -m 644 ../lightdm.service "${pkgdir}"/usr/lib/systemd/system/lightdm.service
+ install -m 644 ../lightdm.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lightdm.conf
+}
+
+package_liblightdm-qt4() {
+pkgdesc=('LightDM Qt client library')
+depends=('lightdm' 'qt4')
+
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+
+ make DESTDIR="${pkgdir}" -C liblightdm-gobject install
+ make DESTDIR="${pkgdir}" -C liblightdm-qt install
+ make DESTDIR="${pkgdir}" -C liblightdm-gobject uninstall
+ find "${pkgdir}" -type d -name *qt5* -exec rm -rf {} +
+ find "${pkgdir}" -type f -name *qt5* -exec rm {} +
+ find "${pkgdir}" -type l -name *qt5* -exec rm {} +
+}
+
+package_liblightdm-qt5() {
+pkgdesc=('LightDM Qt client library')
+depends=('lightdm' 'qt5-base')
+
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+
+ make DESTDIR="${pkgdir}" -C liblightdm-gobject install
+ make DESTDIR="${pkgdir}" -C liblightdm-qt install
+ make DESTDIR="${pkgdir}" -C liblightdm-gobject uninstall
+ find "${pkgdir}" -type d -name *qt[!5]* -exec rm -rf {} +
+ find "${pkgdir}" -type f -name *qt[!5]* -exec rm {} +
+ find "${pkgdir}" -type l -name *qt[!5]* -exec rm {} +
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/lightdm/lightdm-autologin.pam b/community/lightdm/lightdm-autologin.pam
new file mode 100755
index 000000000..0b1f79e3e
--- /dev/null
+++ b/community/lightdm/lightdm-autologin.pam
@@ -0,0 +1,13 @@
+#%PAM-1.0
+auth required pam_env.so
+auth required pam_tally.so file=/var/log/faillog onerr=succeed
+auth required pam_shells.so
+auth required pam_nologin.so
+auth [success=1 default=ignore] pam_succeed_if.so user ingroup autologin
+auth required pam_unix.so
+auth required pam_permit.so
+-auth optional pam_gnome_keyring.so
+account include system-local-login
+password include system-local-login
+session include system-local-login
+-session optional pam_gnome_keyring.so auto_start
diff --git a/community/lightdm/lightdm-default-config.patch b/community/lightdm/lightdm-default-config.patch
new file mode 100755
index 000000000..42d49536d
--- /dev/null
+++ b/community/lightdm/lightdm-default-config.patch
@@ -0,0 +1,43 @@
+diff -rupN lightdm-1.5.1.orig/data/lightdm.conf lightdm-1.5.1/data/lightdm.conf
+--- lightdm-1.5.1.orig/data/lightdm.conf 2013-03-06 03:40:10.000000000 +0100
++++ lightdm-1.5.1/data/lightdm.conf 2013-03-12 22:59:22.494743200 +0100
+@@ -24,7 +24,7 @@
+ #user-authority-in-system-dir=false
+ #guest-account-script=guest-account
+ #log-directory=/var/log/lightdm
+-#run-directory=/var/run/lightdm
++run-directory=/run/lightdm
+ #cache-directory=/var/cache/lightdm
+ #xsessions-directory=/usr/share/xsessions
+ #remote-sessions-directory=/usr/share/lightdm/remote-sessions
+@@ -77,7 +77,7 @@
+ #user-session=default
+ #allow-guest=true
+ #guest-session=UNIMPLEMENTED
+-#session-wrapper=lightdm-session
++session-wrapper=/etc/lightdm/xsession
+ #display-setup-script=
+ #greeter-setup-script=
+ #session-setup-script=
+@@ -86,6 +86,7 @@
+ #autologin-user=
+ #autologin-user-timeout=0
+ #autologin-session=UNIMPLEMENTED
++pam-service=lightdm-autologin
+ #exit-on-failure=false
+
+ #
+diff -rupN lightdm-1.5.1.orig/data/users.conf lightdm-1.5.1/data/users.conf
+--- lightdm-1.5.1.orig/data/users.conf 2013-03-06 03:40:10.000000000 +0100
++++ lightdm-1.5.1/data/users.conf 2013-03-12 22:54:29.398854700 +0100
+@@ -8,7 +8,7 @@
+ # hidden-users = Users that are not shown to the user
+ # hidden-shells = Shells that indicate a user cannot login
+ #
+-[UserAccounts]
+-minimum-uid=500
++[UserList]
++minimum-uid=1000
+ hidden-users=nobody nobody4 noaccess
+-hidden-shells=/bin/false /usr/sbin/nologin
++hidden-shells=/bin/false /sbin/nologin
diff --git a/community/lightdm/lightdm-lock-screen-before-switch.patch b/community/lightdm/lightdm-lock-screen-before-switch.patch
new file mode 100755
index 000000000..b8b1d559c
--- /dev/null
+++ b/community/lightdm/lightdm-lock-screen-before-switch.patch
@@ -0,0 +1,55 @@
+# HG changeset patch
+# Parent b329fa1badaa454239690c3feb93d53324134915
+try to lock the screen before switching users
+
+diff --git a/utils/gdmflexiserver b/utils/gdmflexiserver
+--- a/utils/gdmflexiserver
++++ b/utils/gdmflexiserver
+@@ -9,9 +9,47 @@
+ #
+ # See http://www.gnu.org/copyleft/gpl.html for the full text of the license.
+
++PATH=/usr/local/bin:/bin:/usr/bin
++export PATH
++
+ if [ -z "$XDG_SEAT_PATH" ]; then
+ # something went wrong
+ exit 1
+ fi
+
++find_command () {
++ cmd="$1"
++ oIFS="${IFS}"; IFS=:
++ set -- ${PATH}
++ IFS="${oIFS}"
++
++ for part; do
++ [ -x "${part}/${cmd}" ] && return 0
++ done
++ return 1
++}
++
++lock_screen () {
++ for lock_cmd in \
++ "xscreensaver-command -lock" \
++ "gnome-screensaver-command --lock" \
++ "dbus-send --session --dest=org.freedesktop.ScreenSaver --type=method_call /ScreenSaver org.freedesktop.ScreenSaver.Lock"
++ do
++ ${lock_cmd} >/dev/null 2>&1 && return
++ done
++
++ for lock_cmd in \
++ "slock" \
++ "xlock -mode blank"
++ do
++ set -- ${lock_cmd}
++ if find_command "$1"; then
++ ${lock_cmd} >/dev/null 2>&1 &
++ return
++ fi
++ done
++}
++
++lock_screen
++
+ dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH org.freedesktop.DisplayManager.Seat.SwitchToGreeter
diff --git a/community/lightdm/lightdm-use-login1.patch b/community/lightdm/lightdm-use-login1.patch
new file mode 100755
index 000000000..89adbdbb7
--- /dev/null
+++ b/community/lightdm/lightdm-use-login1.patch
@@ -0,0 +1,514 @@
+=== modified file 'liblightdm-gobject/power.c'
+--- liblightdm-gobject/power.c 2013-01-31 20:56:09 +0000
++++ liblightdm-gobject/power.c 2013-04-15 02:21:06 +0000
+@@ -17,6 +17,7 @@
+
+ static GDBusProxy *upower_proxy = NULL;
+ static GDBusProxy *ck_proxy = NULL;
++static GDBusProxy *login1_proxy = NULL;
+
+ static gboolean
+ upower_call_function (const gchar *function, gboolean default_result, GError **error)
+@@ -109,11 +110,10 @@
+ return upower_call_function ("Hibernate", TRUE, error);
+ }
+
+-static gboolean
+-ck_call_function (const gchar *function, gboolean default_result, GError **error)
++static GVariant *
++ck_call_function (const gchar *function, GError **error)
+ {
+- GVariant *result;
+- gboolean function_result = FALSE;
++ GVariant *r;
+
+ if (!ck_proxy)
+ {
+@@ -129,22 +129,46 @@
+ return FALSE;
+ }
+
+- result = g_dbus_proxy_call_sync (ck_proxy,
+- function,
+- NULL,
+- G_DBUS_CALL_FLAGS_NONE,
+- -1,
+- NULL,
+- error);
+-
+- if (!result)
+- return default_result;
+-
+- if (g_variant_is_of_type (result, G_VARIANT_TYPE ("(b)")))
+- g_variant_get (result, "(b)", &function_result);
+-
+- g_variant_unref (result);
+- return function_result;
++ r = g_dbus_proxy_call_sync (ck_proxy,
++ function,
++ NULL,
++ G_DBUS_CALL_FLAGS_NONE,
++ -1,
++ NULL,
++ error);
++
++ return r;
++}
++
++static GVariant *
++login1_call_function (const gchar *function, GVariant *parameters, GError **error)
++{
++ GVariant *r;
++ gchar *str_result;
++
++ if (!login1_proxy)
++ {
++ login1_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
++ G_DBUS_PROXY_FLAGS_NONE,
++ NULL,
++ "org.freedesktop.login1",
++ "/org/freedesktop/login1",
++ "org.freedesktop.login1.Manager",
++ NULL,
++ error);
++ if (!login1_proxy)
++ return NULL;
++ }
++
++ r = g_dbus_proxy_call_sync (login1_proxy,
++ function,
++ parameters,
++ G_DBUS_CALL_FLAGS_NONE,
++ -1,
++ NULL,
++ error);
++
++ return r;
+ }
+
+ /**
+@@ -157,7 +181,29 @@
+ gboolean
+ lightdm_get_can_restart (void)
+ {
+- return ck_call_function ("CanRestart", FALSE, NULL);
++ gboolean can_restart = FALSE;
++ GVariant *r;
++
++ r = login1_call_function ("CanReboot", NULL, NULL);
++ if (r)
++ {
++ gchar *result;
++ if (g_variant_is_of_type (r, G_VARIANT_TYPE ("(s)")))
++ {
++ g_variant_get (r, "(&s)", &result);
++ can_restart = g_strcmp0 (result, "yes") == 0;
++ }
++ }
++ else
++ {
++ r = ck_call_function ("CanRestart", NULL);
++ if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
++ g_variant_get (r, "(b)", &can_restart);
++ }
++ if (r)
++ g_variant_unref (r);
++
++ return can_restart;
+ }
+
+ /**
+@@ -171,7 +217,20 @@
+ gboolean
+ lightdm_restart (GError **error)
+ {
+- return ck_call_function ("Restart", TRUE, error);
++ GVariant *r;
++ gboolean restarted;
++
++ r = login1_call_function ("Reboot", g_variant_new("(b)", FALSE), error);
++ if (!r)
++ {
++ g_clear_error (error);
++ r = ck_call_function ("Restart", error);
++ }
++ restarted = r != NULL;
++ if (r)
++ g_variant_unref (r);
++
++ return restarted;
+ }
+
+ /**
+@@ -184,7 +243,29 @@
+ gboolean
+ lightdm_get_can_shutdown (void)
+ {
+- return ck_call_function ("CanStop", FALSE, NULL);
++ gboolean can_shutdown = FALSE;
++ GVariant *r;
++
++ r = login1_call_function ("CanPowerOff", NULL, NULL);
++ if (r)
++ {
++ gchar *result;
++ if (g_variant_is_of_type (r, G_VARIANT_TYPE ("(s)")))
++ {
++ g_variant_get (r, "(&s)", &result);
++ can_shutdown = g_strcmp0 (result, "yes") == 0;
++ }
++ }
++ else
++ {
++ r = ck_call_function ("CanStop", NULL);
++ if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
++ g_variant_get (r, "(b)", &can_shutdown);
++ }
++ if (r)
++ g_variant_unref (r);
++
++ return can_shutdown;
+ }
+
+ /**
+@@ -198,5 +279,18 @@
+ gboolean
+ lightdm_shutdown (GError **error)
+ {
+- return ck_call_function ("Stop", TRUE, error);
++ GVariant *r;
++ gboolean shutdown;
++
++ r = login1_call_function ("PowerOff", g_variant_new("(b)", FALSE), error);
++ if (!r)
++ {
++ g_clear_error (error);
++ r = ck_call_function ("Stop", error);
++ }
++ shutdown = r != NULL;
++ if (r)
++ g_variant_unref (r);
++
++ return shutdown;
+ }
+
+=== modified file 'liblightdm-qt/power.cpp'
+--- liblightdm-qt/power.cpp 2013-02-06 14:08:25 +0000
++++ liblightdm-qt/power.cpp 2013-04-14 23:00:34 +0000
+@@ -15,6 +15,7 @@
+ #include <QtCore/QVariant>
+ #include <QtDBus/QDBusInterface>
+ #include <QtDBus/QDBusReply>
++#include <QDebug>
+
+ #include "config.h"
+
+@@ -26,11 +27,13 @@
+ PowerInterfacePrivate();
+ QScopedPointer<QDBusInterface> powerManagementInterface;
+ QScopedPointer<QDBusInterface> consoleKitInterface;
++ QScopedPointer<QDBusInterface> login1Interface;
+ };
+
+ PowerInterface::PowerInterfacePrivate::PowerInterfacePrivate() :
+ powerManagementInterface(new QDBusInterface("org.freedesktop.UPower","/org/freedesktop/UPower", "org.freedesktop.UPower", QDBusConnection::systemBus())),
+- consoleKitInterface(new QDBusInterface("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", QDBusConnection::systemBus()))
++ consoleKitInterface(new QDBusInterface("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", QDBusConnection::systemBus())),
++ login1Interface(new QDBusInterface("org.freedesktop.login1", "/org/freedesktop/login1", "org.freedesktop.login1.Manager", QDBusConnection::systemBus()))
+ {
+ }
+
+@@ -80,34 +83,54 @@
+
+ bool PowerInterface::canShutdown()
+ {
++ if (d->login1Interface->isValid()) {
++ QDBusReply<QString> reply1 = d->login1Interface->call("CanPowerOff");
++ if (reply1.isValid()) {
++ return reply1.value() == "yes";
++ }
++ }
++ qWarning() << d->login1Interface->lastError();
++
+ QDBusReply<bool> reply = d->consoleKitInterface->call("CanStop");
+ if (reply.isValid()) {
+ return reply.value();
+ }
+- else {
+- return false;
+- }
++
++ return false;
+ }
+
+ void PowerInterface::shutdown()
+ {
+- d->consoleKitInterface->call("Stop");
++ if (d->login1Interface->isValid())
++ d->login1Interface->call("PowerOff", false);
++ else
++ d->consoleKitInterface->call("Stop");
+ }
+
+ bool PowerInterface::canRestart()
+ {
++ if (d->login1Interface->isValid()) {
++ QDBusReply<QString> reply1 = d->login1Interface->call("CanReboot");
++ if (reply1.isValid()) {
++ return reply1.value() == "yes";
++ }
++ }
++ qWarning() << d->login1Interface->lastError();
++
+ QDBusReply<bool> reply = d->consoleKitInterface->call("CanRestart");
+ if (reply.isValid()) {
+ return reply.value();
+ }
+- else {
+- return false;
+- }
++
++ return false;
+ }
+
+ void PowerInterface::restart()
+ {
+- d->consoleKitInterface->call("Restart");
++ if (d->login1Interface->isValid())
++ d->login1Interface->call("Reboot", false);
++ else
++ d->consoleKitInterface->call("Restart");
+ }
+
+ #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+
+=== modified file 'tests/Makefile.am'
+--- tests/Makefile.am 2013-04-12 03:46:06 +0000
++++ tests/Makefile.am 2013-04-14 22:54:54 +0000
+@@ -135,6 +135,8 @@
+ test-no-accounts-service \
+ test-console-kit \
+ test-no-console-kit \
++ test-no-login1 \
++ test-no-console-kit-or-login1 \
+ test-open-file-descriptors \
+ test-xdmcp-open-file-descriptors
+
+@@ -284,8 +286,10 @@
+ scripts/no-accounts-service.conf \
+ scripts/no-config.conf \
+ scripts/no-console-kit.conf \
++ scripts/no-console-kit-or-login1.conf \
+ scripts/no-keyboard-layout.conf \
+ scripts/no-language.conf \
++ scripts/no-login1.conf \
+ scripts/open-file-descriptors.conf \
+ scripts/pam.conf \
+ scripts/plymouth-active-vt.conf \
+
+=== added file 'tests/scripts/no-console-kit-or-login1.conf'
+--- tests/scripts/no-console-kit-or-login1.conf 1970-01-01 00:00:00 +0000
++++ tests/scripts/no-console-kit-or-login1.conf 2013-04-14 22:54:54 +0000
+@@ -0,0 +1,34 @@
++#
++# Check still works when neither ConsoleKit or login1 is available
++#
++
++[test-runner-config]
++disable-console-kit=true
++disable-login1=true
++
++[LightDM]
++minimum-display-number=50
++
++[SeatDefaults]
++autologin-user=have-password1
++
++#?RUNNER DAEMON-START
++
++# X server starts
++#?XSERVER :50 START
++#?XSERVER :50 INDICATE-READY
++
++# LightDM connects to X server
++#?XSERVER :50 ACCEPT-CONNECT
++
++# Session starts
++#?SESSION :50 START USER=have-password1
++#?XSERVER :50 ACCEPT-CONNECT
++#?SESSION :50 CONNECT-XSERVER
++
++# Cleanup
++#?*STOP-DAEMON
++# Don't know what order they will terminate
++#?(SESSION :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
++#?(SESSION :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
++#?RUNNER DAEMON-EXIT STATUS=0
+
+=== added file 'tests/scripts/no-login1.conf'
+--- tests/scripts/no-login1.conf 1970-01-01 00:00:00 +0000
++++ tests/scripts/no-login1.conf 2013-04-14 22:54:54 +0000
+@@ -0,0 +1,33 @@
++#
++# Check still works when login1 is not available
++#
++
++[test-runner-config]
++disable-login1=true
++
++[LightDM]
++minimum-display-number=50
++
++[SeatDefaults]
++autologin-user=have-password1
++
++#?RUNNER DAEMON-START
++
++# X server starts
++#?XSERVER :50 START
++#?XSERVER :50 INDICATE-READY
++
++# LightDM connects to X server
++#?XSERVER :50 ACCEPT-CONNECT
++
++# Session starts
++#?SESSION :50 START USER=have-password1
++#?XSERVER :50 ACCEPT-CONNECT
++#?SESSION :50 CONNECT-XSERVER
++
++# Cleanup
++#?*STOP-DAEMON
++# Don't know what order they will terminate
++#?(SESSION :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
++#?(SESSION :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
++#?RUNNER DAEMON-EXIT STATUS=0
+
+=== modified file 'tests/src/test-runner.c'
+--- tests/src/test-runner.c 2013-03-27 00:48:48 +0000
++++ tests/src/test-runner.c 2013-04-14 22:54:54 +0000
+@@ -838,6 +838,101 @@
+ }
+
+ static void
++handle_login1_call (GDBusConnection *connection,
++ const gchar *sender,
++ const gchar *object_path,
++ const gchar *interface_name,
++ const gchar *method_name,
++ GVariant *parameters,
++ GDBusMethodInvocation *invocation,
++ gpointer user_data)
++{
++ if (strcmp (method_name, "CanReboot") == 0)
++ g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", "yes"));
++ else if (strcmp (method_name, "Reboot") == 0)
++ {
++ gboolean interactive;
++ g_variant_get (parameters, "(b)", &interactive);
++ g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
++ }
++ if (strcmp (method_name, "CanPowerOff") == 0)
++ g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", "yes"));
++ else if (strcmp (method_name, "PowerOff") == 0)
++ {
++ gboolean interactive;
++ g_variant_get (parameters, "(b)", &interactive);
++ g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
++ }
++ else
++ g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "No such method: %s", method_name);
++}
++
++static void
++login1_name_acquired_cb (GDBusConnection *connection,
++ const gchar *name,
++ gpointer user_data)
++{
++ const gchar *login1_interface =
++ "<node>"
++ " <interface name='org.freedesktop.login1.Manager'>"
++ " <method name='CanReboot'>"
++ " <arg name='result' direction='out' type='s'/>"
++ " </method>"
++ " <method name='Reboot'>"
++ " <arg name='interactive' direction='in' type='b'/>"
++ " </method>"
++ " <method name='CanPowerOff'>"
++ " <arg name='result' direction='out' type='s'/>"
++ " </method>"
++ " <method name='PowerOff'>"
++ " <arg name='interactive' direction='in' type='b'/>"
++ " </method>"
++ " </interface>"
++ "</node>";
++ static const GDBusInterfaceVTable login1_vtable =
++ {
++ handle_login1_call,
++ };
++ GDBusNodeInfo *login1_info;
++ GError *error = NULL;
++
++ login1_info = g_dbus_node_info_new_for_xml (login1_interface, &error);
++ if (error)
++ g_warning ("Failed to parse D-Bus interface: %s", error->message);
++ g_clear_error (&error);
++ if (!login1_info)
++ return;
++ g_dbus_connection_register_object (connection,
++ "/org/freedesktop/login1",
++ login1_info->interfaces[0],
++ &login1_vtable,
++ NULL, NULL,
++ &error);
++ if (error)
++ g_warning ("Failed to register login1 service: %s", error->message);
++ g_clear_error (&error);
++ g_dbus_node_info_unref (login1_info);
++
++ service_count--;
++ if (service_count == 0)
++ run_lightdm ();
++}
++
++static void
++start_login1_daemon ()
++{
++ service_count++;
++ g_bus_own_name (G_BUS_TYPE_SYSTEM,
++ "org.freedesktop.login1",
++ G_BUS_NAME_OWNER_FLAGS_NONE,
++ login1_name_acquired_cb,
++ NULL,
++ NULL,
++ NULL,
++ NULL);
++}
++
++static void
+ load_passwd_file ()
+ {
+ gchar *path, *data, **lines;
+@@ -1474,6 +1569,8 @@
+ /* Start D-Bus services */
+ if (!g_key_file_get_boolean (config, "test-runner-config", "disable-console-kit", NULL))
+ start_console_kit_daemon ();
++ if (!g_key_file_get_boolean (config, "test-runner-config", "disable-login1", NULL))
++ start_login1_daemon ();
+ if (!g_key_file_get_boolean (config, "test-runner-config", "disable-accounts-service", NULL))
+ start_accounts_service_daemon ();
+
+
+=== added file 'tests/test-no-console-kit-or-login1'
+--- tests/test-no-console-kit-or-login1 1970-01-01 00:00:00 +0000
++++ tests/test-no-console-kit-or-login1 2013-04-14 22:54:54 +0000
+@@ -0,0 +1,2 @@
++#!/bin/sh
++./src/dbus-env ./src/test-runner no-console-kit-or-login1 test-gobject-greeter
+
+=== added file 'tests/test-no-login1'
+--- tests/test-no-login1 1970-01-01 00:00:00 +0000
++++ tests/test-no-login1 2013-04-14 22:54:54 +0000
+@@ -0,0 +1,2 @@
++#!/bin/sh
++./src/dbus-env ./src/test-runner no-login1 test-gobject-greeter
+
diff --git a/community/lightdm/lightdm.install b/community/lightdm/lightdm.install
new file mode 100755
index 000000000..7d9d99a26
--- /dev/null
+++ b/community/lightdm/lightdm.install
@@ -0,0 +1,18 @@
+post_install() {
+ getent group lightdm > /dev/null 2>&1 || groupadd -g 620 lightdm
+ getent passwd lightdm > /dev/null 2>&1 || useradd -c 'Light Display Manager' -u 620 -g lightdm -d /var/lib/lightdm -s /sbin/nologin lightdm
+ passwd -l lightdm > /dev/null
+ chown -R lightdm:lightdm /var/lib/lightdm > /dev/null
+ systemd-tmpfiles --create lightdm.conf
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ getent passwd lightdm > /dev/null 2>&1 && userdel lightdm
+ getent group lightdm > /dev/null 2>&1 && groupdel lightdm
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/lightdm/lightdm.pam b/community/lightdm/lightdm.pam
new file mode 100755
index 000000000..76b8869a2
--- /dev/null
+++ b/community/lightdm/lightdm.pam
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth include system-login
+-auth optional pam_gnome_keyring.so
+account include system-login
+password include system-login
+session include system-login
+-session optional pam_gnome_keyring.so auto_start
diff --git a/community/lightdm/lightdm.rules b/community/lightdm/lightdm.rules
new file mode 100755
index 000000000..eda155bf3
--- /dev/null
+++ b/community/lightdm/lightdm.rules
@@ -0,0 +1,15 @@
+polkit.addRule(function(action, subject) {
+ if (subject.user == "lightdm") {
+ polkit.log("action=" + action);
+ polkit.log("subject=" + subject);
+ if (action.id.indexOf("org.freedesktop.login1.") == 0) {
+ return polkit.Result.YES;
+ }
+ if (action.id.indexOf("org.freedesktop.consolekit.system.") == 0) {
+ return polkit.Result.YES;
+ }
+ if (action.id.indexOf("org.freedesktop.upower.") == 0) {
+ return polkit.Result.YES;
+ }
+ }
+});
diff --git a/community/lightdm/lightdm.service b/community/lightdm/lightdm.service
new file mode 100755
index 000000000..a5556c7ca
--- /dev/null
+++ b/community/lightdm/lightdm.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Light Display Manager
+Documentation=man:lightdm(1)
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/bin/lightdm
+StandardOutput=syslog
+Restart=always
+IgnoreSIGPIPE=no
+BusName=org.freedesktop.DisplayManager
+
+[Install]
+Alias=display-manager.service
diff --git a/community/lightdm/lightdm.tmpfiles b/community/lightdm/lightdm.tmpfiles
new file mode 100755
index 000000000..d8ef132d3
--- /dev/null
+++ b/community/lightdm/lightdm.tmpfiles
@@ -0,0 +1 @@
+d /run/lightdm 0711 lightdm lightdm
diff --git a/community/lightdm/xsession b/community/lightdm/xsession
new file mode 100755
index 000000000..589205342
--- /dev/null
+++ b/community/lightdm/xsession
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# LightDM wrapper to run around X sessions.
+
+echo "Running X session wrapper"
+
+# Load profile
+for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
+ if [ -f "$file" ]; then
+ echo "Loading profile from $file";
+ . "$file"
+ fi
+done
+
+# Load resources
+for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
+ if [ -f "$file" ]; then
+ echo "Loading resource: $file"
+ xrdb -nocpp -merge "$file"
+ fi
+done
+
+# Load keymaps
+for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading keymap: $file"
+ setxkbmap `cat "$file"`
+ XKB_IN_USE=yes
+ fi
+done
+
+# Load xmodmap if not using XKB
+if [ -z "$XKB_IN_USE" ]; then
+ for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading modmap: $file"
+ xmodmap "$file"
+ fi
+ done
+fi
+
+unset XKB_IN_USE
+
+# Run all system xinitrc shell scripts.
+xinitdir="/etc/X11/xinit/xinitrc.d"
+if [ -d "$xinitdir" ]; then
+ for script in $xinitdir/*; do
+ echo "Loading xinit script $script"
+ if [ -x "$script" -a ! -d "$script" ]; then
+ . "$script"
+ fi
+ done
+fi
+
+# Load xsession scripts
+xsessionddir="/etc/X11/xsession.d"
+if [ -d "$xsessionddir" ]; then
+ for i in `ls $xsessionddir`; do
+ script="$xsessionddir/$i"
+ echo "Loading X session script $script"
+ if [ -r "$script" -a -f "$script" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then
+ . "$script"
+ fi
+ done
+fi
+if [ -x "$HOME/.xsession" -a -f "$HOME/.xsession" ]; then
+ echo "Loading user X session script"
+ . "$HOME/.xsession"
+fi
+
+echo "X session wrapper complete, running session $@"
+
+exec $@
diff --git a/community/lilypond/PKGBUILD b/community/lilypond/PKGBUILD
new file mode 100644
index 000000000..9502f54ef
--- /dev/null
+++ b/community/lilypond/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 92554 2013-06-08 11:18:50Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Geoffroy Carrier <geoffroy@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Robert Emil Berge <filoktetes@linuxophic.org>
+
+pkgname=lilypond
+pkgver=2.16.2
+pkgrel=3
+pkgdesc="An automated music engraving system"
+arch=('i686' 'x86_64')
+url="http://lilypond.org"
+license=('GPL')
+depends=('guile1.8' 'python2' 'texlive-core' 'ghostscript' 'pango' 'fontconfig')
+makedepends=('flex' 'bison' 'gettext' 'mftrace' 'texinfo' 'fontforge' 't1utils'
+ 'gsfonts' 'texi2html')
+options=('emptydirs')
+install=lilypond.install
+source=(http://download.linuxaudio.org/lilypond/sources/v2.16/$pkgname-$pkgver.tar.gz)
+md5sums=('6db27f17d47e4f66a3b0716c65db3041')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # python2 fix
+ 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
+
+ sed -i 's|GUILE_CFLAGS=.*|GUILE_CFLAGS="`pkg-config --cflags guile-1.8`"|' configure
+ sed -i 's|GUILE_LDFLAGS=.*|GUILE_LDFLAGS="`pkg-config --libs guile-1.8`"|' configure
+
+ rm -rf python/out/
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ export PYTHON=/usr/bin/python2
+ export GUILE=/usr/bin/guile1.8
+ export GUILE_CONFIG=/usr/bin/guile-config1.8
+ ./configure --prefix=/usr --disable-documentation
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" vimdir="/usr/share/vim/vimfiles" install
+}
diff --git a/community/lilypond/lilypond.install b/community/lilypond/lilypond.install
new file mode 100644
index 000000000..934e7b435
--- /dev/null
+++ b/community/lilypond/lilypond.install
@@ -0,0 +1,48 @@
+infodir=usr/share/info
+filelist=(music-glossary.info
+ lilypond-web.info
+ lilypond-contributor.info
+ lilypond-contributor.info-1
+ lilypond-contributor.info-2
+ lilypond-internals.info-1
+ lilypond-internals.info-2
+ lilypond-internals.info-3
+ lilypond-internals.info-4
+ lilypond-internals.info-5
+ lilypond-notation.info-1
+ lilypond-notation.info-2
+ lilypond-notation.info-3
+ lilypond-notation.info-4
+ lilypond-notation.info-5
+ lilypond-notation.info-6
+ lilypond-usage.info
+ lilypond-learning.info
+ lilypond-web.info-1
+ lilypond-web.info-2
+ lilypond-internals.info
+ lilypond-essay.info
+ lilypond-notation.info
+ lilypond-learning.info-1
+ lilypond-learning.info-2
+ lilypond-extending.info
+ lilypond-changes.info)
+
+post_install() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install "$1"
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info --delete "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/lilypond/texlive-workaround.patch b/community/lilypond/texlive-workaround.patch
new file mode 100644
index 000000000..1eb262863
--- /dev/null
+++ b/community/lilypond/texlive-workaround.patch
@@ -0,0 +1,88 @@
+diff --git a/mf/feta-autometric.mf b/mf/feta-autometric.mf
+index d5cbb7f..b25c4bc 100644
+--- a/mf/feta-autometric.mf
++++ b/mf/feta-autometric.mf
+@@ -149,7 +149,6 @@ def set_char_box (expr b_sharp, w_sharp, d_sharp, h_sharp) =
+ & to_bp (w) & " "
+ & to_bp (h);
+ special "% MF2PT1: font_size " & decimal designsize;
+- special "% MF2PT1: font_slant " & decimal font_slant_;
+
+ for fvar = "font_identifier",
+ "font_coding_scheme",
+@@ -175,9 +174,6 @@ def set_char_box (expr b_sharp, w_sharp, d_sharp, h_sharp) =
+ fi;
+ endfor;
+
+- special "% MF2PT1: font_fixed_pitch "
+- & (if font_fixed_pitch_: "1" else: "0" fi);
+-
+ % this must come after the `font_size' special
+ special "% MF2PT1: charwd " & decimal charwd;
+ fi;
+diff --git a/mf/mf2pt1.mp b/mf/mf2pt1.mp
+index a8b45aa..c935628 100644
+--- a/mf/mf2pt1.mp
++++ b/mf/mf2pt1.mp
+@@ -61,7 +61,6 @@ def beginchar(expr c,w_sharp,h_sharp,d_sharp) =
+ def to_bp (expr num) = decimal (ceiling (num*bp_per_pixel)) enddef;
+ special "% MF2PT1: glyph_dimensions 0 " & to_bp (-d) & " " & to_bp(w) & " " & to_bp(h);
+ special "% MF2PT1: font_size " & decimal designsize;
+- special "% MF2PT1: font_slant " & decimal font_slant_;
+ special "% MF2PT1: charwd " & decimal charwd; % Must come after the |font_size| |special|
+ for fvar = "font_identifier", "font_coding_scheme", "font_version",
+ "font_comment", "font_family", "font_weight", "font_unique_id",
+@@ -76,8 +75,6 @@ def beginchar(expr c,w_sharp,h_sharp,d_sharp) =
+ scantokens ("decimal " & fvar & "_");
+ fi;
+ endfor;
+- special "% MF2PT1: font_fixed_pitch " &
+- (if font_fixed_pitch_: "1" else: "0" fi);
+ enddef;
+
+
+@@ -91,19 +88,6 @@ enddef;
+
+
+ %% \begin{explaincode}
+-%% Store the value of \mfcomment
+-% |font_slant_|, so we can recall it at each |beginchar|.
+-%% \end{explaincode}
+-
+-font_slant_ := 0;
+-
+-def font_slant expr x =
+- font_slant_ := x;
+- fontdimen 1: x
+-enddef;
+-
+-
+-%% \begin{explaincode}
+ %% Redefine \mfcomment
+ % |bpppix_|, the number of ``big'' points per pixel. \mfcomment
+ % This in turn redefines |mm|, |in|, |pt|, and other derived units.
+@@ -141,11 +125,6 @@ forsuffixes fvar = font_underline_position, font_underline_thickness:
+ scantokens ("def " & str fvar & " expr x = " & str fvar & "_ := x enddef;");
+ endfor;
+
+-boolean font_fixed_pitch_;
+-font_fixed_pitch_ := false;
+-def font_fixed_pitch expr x = font_fixed_pitch_ := x enddef;
+-
+-
+ %% \begin{explaincode}
+ %% We'd like to be able to use calligraphic pens. Normally, MetaPost's
+ %% output routine does all the work for us of converting these to filled
+diff --git a/scripts/build/mf2pt1.pl b/scripts/build/mf2pt1.pl
+index 95df0f8..20f410b 100644
+--- a/scripts/build/mf2pt1.pl
++++ b/scripts/build/mf2pt1.pl
+@@ -427,7 +427,7 @@ ENDHEADER
+ sub get_bboxes ($)
+ {
+ execute_command 1, ("mpost", "-mem=mf2pt1", "-progname=mpost",
+- "\\mode:=localfont; mag:=$mag; bpppix $bpppix; input $mffile");
++ "\\mode:=localfont; mag:=$mag; bpppix:=$bpppix; input $mffile");
+ opendir (CURDIR, ".") || die "${progname}: $! ($filedir)\n";
+ @charfiles = sort
+ { ($a=~ /\.(\d+)$/)[0] <=> ($b=~ /\.(\d+)$/)[0] }
diff --git a/community/lilyterm/PKGBUILD b/community/lilyterm/PKGBUILD
new file mode 100644
index 000000000..1c44b642d
--- /dev/null
+++ b/community/lilyterm/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 80564 2012-11-25 16:09:33Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: TDY <tdy@gmx.com>
+# Contributor: DonVla <donvla@users.sourceforge.net>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=lilyterm
+pkgver=0.9.9.2
+pkgrel=1
+pkgdesc="A light and easy to use libvte based X terminal emulator"
+arch=('i686' 'x86_64')
+url="http://lilyterm.luna.com.tw/index_en.html"
+_watch="http://lilyterm.luna.com.tw/html/download.html"
+license=('GPL3')
+depends=('vte')
+makedepends=('gettext' 'intltool' 'pkgconfig>=0.16')
+source=(http://lilyterm.luna.com.tw/file/$pkgname-$pkgver.tar.gz)
+md5sums=('d68dd29ce4894f765adba1efd470f90e')
+
+build() {
+ cd "$srcdir/lilyterm-$pkgver"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "$srcdir/lilyterm-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING \
+ "$pkgdir/usr/share/licenses/lilyterm/COPYING"
+}
+
diff --git a/community/lincity-ng/PKGBUILD b/community/lincity-ng/PKGBUILD
new file mode 100644
index 000000000..ee4e04a08
--- /dev/null
+++ b/community/lincity-ng/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 75818 2012-09-01 20:39:35Z heftig $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=lincity-ng
+pkgver=2.0
+pkgrel=5.1
+pkgdesc="A city simulation game"
+arch=('i686' 'x86_64')
+url="https://fedorahosted.org/LinCity-NG"
+license=('GPL' 'custom')
+depends=('sdl_mixer' 'sdl_ttf' 'sdl_image' 'physfs' 'libxml2' 'sdl_gfx' 'gcc-libs' 'libgl')
+makedepends=('ftjam' 'mesa')
+source=(http://sourceforge.net/projects/${pkgname}.berlios/files/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('2961a3f60f7481b33858d7d5ef7cf9c788d01077')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ jam
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ jam -sprefix="${pkgdir}/usr" install
+ install -D -m644 COPYING-data.txt "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-data.txt"
+ install -D -m644 COPYING-fonts.txt "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-fonts.txt"
+}
diff --git a/community/linphone/ChangeLog b/community/linphone/ChangeLog
new file mode 100644
index 000000000..d87628505
--- /dev/null
+++ b/community/linphone/ChangeLog
@@ -0,0 +1,33 @@
+2008-10-16 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+* v3.0.0 build for x86_64
+
+2008-08-23 Darwin Bautista <djclue917@gmail.com>
+* linphone 2.1.1-3
+* Fixed build against ffmpeg 20080715
+
+2008-04-20 Darwin Bautista <djclue917@gmail.com>
+* linphone 2.1.1-2
+* Fixed md5sums
+
+2008-02-24 Darwin Bautista <djclue917@gmail.com>
+* linphone 2.1.1-1
+* New upstream release
+* makedeps: added 'perlxml'
+* Use internal ortp
+
+2007-12-02 Darwin Bautista <djclue917@gmail.com>
+* linphone 2.0.1-1
+* New upstream release
+
+2007-11-21 Darwin Bautista <djclue917@gmail.com>
+* linphone 2.0.0-1
+* New upstream release
+* depends=(): added 'libexosip2', remove 'libosip2'
+* Bumped minimum required version of dependencies
+
+2007-11-16 Darwin Bautista <djclue917@gmail.com>
+* linphone 1.7.1-1
+* New upstream release
+* Revamped PKGBUILD
+* Fixed dependencies
+* Use external ortp
diff --git a/community/linphone/PKGBUILD b/community/linphone/PKGBUILD
new file mode 100644
index 000000000..70f242c4c
--- /dev/null
+++ b/community/linphone/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92850 2013-06-17 06:54:08Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+
+pkgname=linphone
+pkgver=3.6.0
+pkgrel=1
+pkgdesc="A Voice-over-IP phone"
+arch=('i686' 'x86_64')
+url="http://www.linphone.org/index.php/eng"
+license=('GPL')
+depends=('alsa-lib' 'ffmpeg' 'gtk2' 'libexosip2' 'speex' 'libv4l' 'libglade' 'v4l-utils'
+ 'libpulse' 'libxv' 'mediastreamer' 'ortp' 'libzrtpcpp' 'bcg729' 'libsoup')
+makedepends=('pkgconfig' 'perlxml' 'intltool' 'sgmltools-lite')
+optdepends=('pulseaudio')
+options=('!libtool' '!emptydirs')
+source=("http://download-mirror.savannah.gnu.org/releases/${pkgname}/3.6.x/sources/${pkgname}-$pkgver.tar.gz")
+md5sums=('9a101854bb16034b39096e18c80ceb78')
+
+build() {
+ cd $pkgname-$pkgver
+ export PKG_CONFIG=/usr/bin/pkg-config
+ unset SGML_CATALOG_FILES
+ ./configure --prefix=/usr --disable-static --enable-ipv6 --enable-video \
+ --enable-alsa --enable-pulseaudio --disable-artsc --disable-strict \
+ --libexecdir=/usr/lib/$pkgname \
+ --enable-external-mediastreamer \
+ --enable-external-ortp \
+ --enable-zrtp
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/linux-tools/PKGBUILD b/community/linux-tools/PKGBUILD
new file mode 100644
index 000000000..d9bab088c
--- /dev/null
+++ b/community/linux-tools/PKGBUILD
@@ -0,0 +1,168 @@
+# $Id: PKGBUILD 93324 2013-07-01 22:56:17Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgbase=linux-tools
+pkgname=('linux-tools-meta'
+ 'libtraceevent'
+ 'perf'
+ 'cpupower'
+ 'x86_energy_perf_policy'
+ 'usbip')
+pkgver=3.10
+pkgrel=1
+license=('GPL2')
+arch=('i686' 'x86_64')
+url='http://www.kernel.org'
+options=('!strip')
+# split packages need all package dependencies set manually in makedepends
+# kernel source deps
+makedepends=('asciidoc' 'xmlto')
+# perf deps
+makedepends+=('perl' 'python2' 'libnewt' 'elfutils' 'audit' 'libunwind')
+# cpupower deps
+makedepends+=('pciutils')
+# usbip deps
+makedepends+=('glib2' 'sysfsutils')
+groups=("$pkgbase")
+source=("http://ftp.kernel.org/pub/linux/kernel/v3.x/linux-$pkgver.tar.xz"
+# "http://ftp.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.6.xz"
+ 'cpupower.default'
+ 'cpupower.systemd'
+ 'cpupower.service'
+ 'usbipd.service')
+# http://www.kernel.org/pub/linux/kernel/v3.x/sha256sums.asc
+sha256sums=('df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544'
+ '4fa509949d6863d001075fa3e8671eff2599c046d20c98bb4a70778595cd1c3f'
+ 'fbf6e0ce6eb0ef15703fe212958de6ca46e62188900b5e9f9272ed3cc9cfd54e'
+ 'a89284d0ecb556ca53a66d1c2087b5fd6d0a901ab2769cd3aebb93f4478905dc'
+ '2e187734d8aec58a3046d79883510d779aa93fb3ab20bd3132c1a607ebe5498f')
+
+prepare() {
+ # apply stable patching set
+ if [[ -e "$srcdir"/patch-* ]]; then
+ msg2 'Applying stable patch set'
+ patch -N -p1 -i "$srcdir"/patch-*
+ fi
+}
+
+build() {
+ msg2 'Build libtraceevent'
+ pushd linux-$pkgver/tools/lib/traceevent
+ make
+ popd
+
+ msg2 'Build perf'
+ pushd linux-$pkgver/tools/perf
+ make \
+ WERROR=0 \
+ DESTDIR="$pkgdir/usr" \
+ perfexecdir='lib/perf' \
+ PYTHON=python2 \
+ NO_GTK2=1 \
+ PERF_VERSION=$pkgver-$pkgrel \
+ all man
+ popd
+
+ msg2 'Build cpupower'
+ pushd linux-$pkgver/tools/power/cpupower
+ # we cannot use --as-needed
+ LDFLAGS=${LDFLAGS:+"$LDFLAGS,--no-as-needed"}
+ make VERSION=$pkgver-$pkgrel
+ popd
+
+ msg2 'Build x86_energy_perf_policy'
+ pushd linux-$pkgver/tools/power/x86/x86_energy_perf_policy
+ make
+ popd
+
+ msg2 'Build usbip'
+ pushd linux-$pkgver/drivers/staging/usbip/userspace
+ # fix missing man page
+ sed -i 's/usbip_bind_driver.8//' Makefile.am
+ ./autogen.sh
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+ popd
+}
+
+package_linux-tools-meta() {
+ pkgdesc='Linux kernel tools meta package'
+ groups=()
+ depends=('libtraceevent' 'perf' 'cpupower' 'x86_energy_perf_policy' 'usbip')
+}
+
+package_libtraceevent() {
+ pkgdesc='Linux kernel trace event library'
+ depends=('glibc')
+
+ cd linux-$pkgver/tools/lib/traceevent
+ install -dm 755 "$pkgdir/usr/lib"
+ install -m 644 libtraceevent.a libtraceevent.so "$pkgdir/usr/lib"
+}
+
+package_perf() {
+ pkgdesc='Linux kernel performance auditing tool'
+ depends=('perl' 'python2' 'libnewt' 'elfutils' 'audit' 'libunwind' 'binutils')
+
+ cd linux-$pkgver/tools/perf
+ make \
+ WERROR=0 \
+ DESTDIR="$pkgdir/usr" \
+ perfexecdir='lib/perf' \
+ PYTHON=python2 \
+ NO_GTK2=1 \
+ PERF_VERSION=$pkgver-$pkgrel \
+ install install-man
+ # move completion in new directory
+ cd "$pkgdir"
+ install -Dm644 usr/etc/bash_completion.d/perf usr/share/bash-completion/perf
+ rm -r usr/etc
+}
+
+package_cpupower() {
+ pkgdesc='Linux kernel tool to examine and tune power saving related features of your processor'
+ backup=('etc/default/cpupower')
+ depends=('bash' 'pciutils')
+ conflicts=('cpufrequtils')
+ replaces=('cpufrequtils')
+ install=cpupower.install
+
+ pushd linux-$pkgver/tools/power/cpupower
+ make \
+ DESTDIR="$pkgdir" \
+ sbindir='/usr/bin' \
+ mandir='/usr/share/man' \
+ docdir='/usr/share/doc/cpupower' \
+ install install-man
+ popd
+ # install startup scripts
+ install -Dm 644 $pkgname.default "$pkgdir/etc/default/$pkgname"
+ install -Dm 644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ install -Dm 755 $pkgname.systemd "$pkgdir/usr/lib/systemd/scripts/$pkgname"
+}
+
+package_x86_energy_perf_policy() {
+ pkgdesc='Read or write MSR_IA32_ENERGY_PERF_BIAS'
+ depends=('glibc')
+
+ cd linux-$pkgver/tools/power/x86/x86_energy_perf_policy
+ install -Dm 755 x86_energy_perf_policy "$pkgdir/usr/bin/x86_energy_perf_policy"
+ install -Dm 644 x86_energy_perf_policy.8 "$pkgdir/usr/share/man/man8/x86_energy_perf_policy.8"
+}
+
+package_usbip() {
+ pkgdesc='An USB device sharing system over IP network'
+ depends=('glib2' 'sysfsutils')
+ options=('!libtool')
+
+ pushd linux-$pkgver/drivers/staging/usbip/userspace
+ make install DESTDIR="$pkgdir"
+ popd
+ # module loading
+ install -Dm 644 /dev/null "$pkgdir/usr/lib/modules-load.d/$pkgname.conf"
+ printf 'usbip-core\nusbip-host\n' > "$pkgdir/usr/lib/modules-load.d/$pkgname.conf"
+ # systemd
+ install -Dm 644 usbipd.service "$pkgdir/usr/lib/systemd/system/usbipd.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/linux-tools/cpupower.default b/community/linux-tools/cpupower.default
new file mode 100644
index 000000000..b5c522ea1
--- /dev/null
+++ b/community/linux-tools/cpupower.default
@@ -0,0 +1,29 @@
+# Define CPUs governor
+# valid governors: ondemand, performance, powersave, conservative, userspace.
+#governor='ondemand'
+
+# Limit frequency range
+# Valid suffixes: Hz, kHz (default), MHz, GHz, THz
+#min_freq="2.25GHz"
+#max_freq="3GHz"
+
+# Specific frequency to be set.
+# Requires userspace governor to be available.
+# Do not set governor field if you use this one.
+#freq=
+
+# Utilizes cores in one processor package/socket first before processes are
+# scheduled to other processor packages/sockets.
+# See man (1) CPUPOWER-SET for additional details.
+#mc_scheduler=
+
+# Utilizes thread siblings of one processor core first before processes are
+# scheduled to other cores. See man (1) CPUPOWER-SET for additional details.
+#smp_scheduler=
+
+# Sets a register on supported Intel processore which allows software to convey
+# its policy for the relative importance of performance versus energy savings to
+# the processor. See man (1) CPUPOWER-SET for additional details.
+#perf_bias=
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/linux-tools/cpupower.install b/community/linux-tools/cpupower.install
new file mode 100644
index 000000000..10e07ae52
--- /dev/null
+++ b/community/linux-tools/cpupower.install
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 3.7-4)" -le 0 ]; then
+ cat << EOF
+===> cpupower startup config file moved to /etc/default/cpupower
+EOF
+ fi
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/linux-tools/cpupower.service b/community/linux-tools/cpupower.service
new file mode 100644
index 000000000..aaeba2b08
--- /dev/null
+++ b/community/linux-tools/cpupower.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Apply cpupower configuration
+
+[Service]
+Type=oneshot
+ExecStart=/usr/lib/systemd/scripts/cpupower
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/linux-tools/cpupower.systemd b/community/linux-tools/cpupower.systemd
new file mode 100644
index 000000000..51c645415
--- /dev/null
+++ b/community/linux-tools/cpupower.systemd
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+. /etc/default/cpupower
+
+declare -i fail=0
+
+# parse frequency options
+declare -a params=()
+params+=(${governor:+-g $governor})
+params+=(${min_freq:+-d $min_freq})
+params+=(${max_freq:+-u $max_freq})
+params+=(${freq:+-f $freq})
+
+# apply frequency options
+if ((${#params[@]} > 0)); then
+ cpupower frequency-set "${params[@]}" >/dev/null || fail=1
+fi
+
+# parse cpu options
+declare -a params=()
+params+=(${mc_scheduler:+-m $mc_scheduler})
+params+=(${smp_scheduler:+-s $smp_scheduler})
+params+=(${perf_bias:+-b $perf_bias})
+
+# apply cpu options
+if ((${#params[@]} > 0)); then
+ cpupower set "${params[@]}" >/dev/null || fail=1
+fi
+
+exit $fail
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/linux-tools/usbipd.service b/community/linux-tools/usbipd.service
new file mode 100644
index 000000000..1807e94b1
--- /dev/null
+++ b/community/linux-tools/usbipd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=USB/IP server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/usbipd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/linuxdcpp/PKGBUILD b/community/linuxdcpp/PKGBUILD
new file mode 100644
index 000000000..28f0261c0
--- /dev/null
+++ b/community/linuxdcpp/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Jelle van der waa <jelle@vdwaa.nl>
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Tom K <tom@archlinux.org>
+
+pkgname=linuxdcpp
+pkgver=1.1.0
+pkgrel=3
+pkgdesc="A Gtk+ Direct Connect client based on DC++."
+url="https://launchpad.net/linuxdcpp/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('openssl' 'glib2' 'libglade' 'bzip2' 'libnotify' 'hicolor-icon-theme')
+makedepends=('scons' 'boost')
+conflicts=('linuxdcpp-bzr')
+install=$pkgname.install
+source=("$url${pkgver%%.?}/$pkgver/+download/$pkgname-$pkgver.tar.bz2")
+md5sums=('037de708bdb1e5dd7ac6c359b0e2c1a0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ scons PREFIX=/usr
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ scons install FAKE_ROOT="$pkgdir/"
+}
diff --git a/community/linuxdcpp/linuxdcpp.install b/community/linuxdcpp/linuxdcpp.install
new file mode 100644
index 000000000..bce670aff
--- /dev/null
+++ b/community/linuxdcpp/linuxdcpp.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/linuxdoc-tools/PKGBUILD b/community/linuxdoc-tools/PKGBUILD
new file mode 100644
index 000000000..22c533374
--- /dev/null
+++ b/community/linuxdoc-tools/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: David Ell <david at bytesizebits dot net>
+
+pkgname=linuxdoc-tools
+pkgver=0.9.68
+pkgrel=1
+pkgdesc="Convert LinuxDoc SGML source into other formats"
+arch=('i686' 'x86_64')
+url="http://packages.debian.org/sid/linuxdoc-tools"
+license=('GPL')
+depends=('jade')
+optdepends=('groff' 'texlive-bin')
+source=(http://ftp.de.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_${pkgver}.tar.gz)
+md5sums=('68434f800ab3b68f44da790cc61cf766')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i '/extern int yyleng;/d' rtf-fix/rtf2rtf.l
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/linuxsampler/PKGBUILD b/community/linuxsampler/PKGBUILD
new file mode 100644
index 000000000..44be22aac
--- /dev/null
+++ b/community/linuxsampler/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 67532 2012-03-13 11:02:12Z lcarlier $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: svoufff <svoufff at gmail dot com>
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+
+pkgname=linuxsampler
+pkgver=1.0.0
+pkgrel=2
+pkgdesc="Professional-grade audio sampler alternative to Gigasampler"
+arch=(i686 x86_64)
+url="http://www.linuxsampler.org/"
+license=('GPL' 'custom')
+depends=('libgig' 'jack' 'sqlite3')
+makedepends=('dssi' 'lv2core')
+options=('libtool') # do NOT slay libtool; required by gigedit
+source=(http://download.linuxsampler.org/packages/$pkgname-$pkgver.tar.bz2
+ license.txt)
+md5sums=('a97136791a3228d840b006e5481fc39d'
+ '746c1421eb9f6812b5fa411bfb923c75')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ # install GPL exception statement
+ install -Dm644 ../license.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/GPL-EXCEPTION"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/linuxsampler/license.txt b/community/linuxsampler/license.txt
new file mode 100644
index 000000000..98031bc95
--- /dev/null
+++ b/community/linuxsampler/license.txt
@@ -0,0 +1,7 @@
+LinuxSampler is licensed under the GNU GPL with the exception that
+USAGE of the source code, libraries and applications
+FOR COMMERCIAL HARDWARE OR SOFTWARE PRODUCTS IS NOT ALLOWED without
+prior written permission by the LinuxSampler authors.
+
+If you have questions on the subject, that are not yet covered by
+the FAQ, please contact us.
diff --git a/community/linuxtv-dvb-apps/PKGBUILD b/community/linuxtv-dvb-apps/PKGBUILD
new file mode 100644
index 000000000..c99735f62
--- /dev/null
+++ b/community/linuxtv-dvb-apps/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 80369 2012-11-21 04:04:30Z jconder $
+# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Camille Moncelier <pix@devlife.org>
+
+pkgname=linuxtv-dvb-apps
+pkgver=1486
+pkgrel=1
+_hgrev=3fc7dfa68484
+pkgdesc='Viewer programs for DVB cards'
+arch=('i686' 'x86_64')
+url='http://www.linuxtv.org/'
+license=('GPL')
+source=("http://linuxtv.org/hg/dvb-apps/archive/$_hgrev.tar.bz2")
+sha256sums=('60cfd45fe7417a4445a7814ce6e645ddaad0f8e934015c09d53eb93c8739b35a')
+
+build() {
+ cd "dvb-apps-$_hgrev"
+ rm -rf include
+
+ make -C lib
+ make -C util
+}
+
+package() {
+ cd "dvb-apps-$_hgrev"
+
+ make -C lib DESTDIR="$pkgdir" install
+ make -C util DESTDIR="$pkgdir" install
+
+ chmod 755 "$pkgdir"/usr/lib/*.so*
+}
diff --git a/community/lksctp-tools/PKGBUILD b/community/lksctp-tools/PKGBUILD
new file mode 100644
index 000000000..13d3d93e9
--- /dev/null
+++ b/community/lksctp-tools/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Sébastien Luttringer
+# Contributer: Nicolas Martyanoff <khaelin@gmail.com>
+
+pkgname=lksctp-tools
+pkgver=1.0.15
+pkgrel=1
+pkgdesc='An implementation of the SCTP protocol'
+arch=('i686' 'x86_64')
+url='http://lksctp.sourceforge.net/'
+license=('GPL2' 'LGPL2.1')
+depends=('bash')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/sourceforge/lksctp/$pkgname-$pkgver.tar.gz")
+md5sums=('d829677541fb41061e7f4d61f8413b07')
+
+build() {
+ cd $pkgname-$pkgver
+ ./bootstrap
+ ./configure --prefix=/usr
+ make
+}
+
+#check() {
+# cd $pkgname-$pkgver/src/func_tests
+# make v4test
+# make v6test
+#}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/lmms/PKGBUILD b/community/lmms/PKGBUILD
new file mode 100644
index 000000000..b9a6a79dc
--- /dev/null
+++ b/community/lmms/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 92797 2013-06-15 10:20:30Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Storyteller <spiralsorrow@hotmail.com>
+
+pkgname=lmms
+pkgver=0.4.15
+pkgrel=1
+pkgdesc='The Linux MultiMedia Studio.'
+arch=('i686' 'x86_64')
+url='http://lmms.sourceforge.net/'
+license=('GPL')
+depends=('sdl' 'glib2' 'fluidsynth' 'libpng' 'libvorbis' 'libxft' 'libxinerama' 'qt4' 'sdl_sound'
+ 'libsamplerate' 'shared-mime-info')
+optdepends=('wine: VST support (experimental)'
+ 'fftw: SpectrumAnalyzer plugin'
+ 'stk: STK instruments plugins'
+ 'pulseaudio: PulseAudio output')
+makedepends=('cmake' 'ladspa' 'libxft' 'freetype2' 'fftw' 'stk')
+[[ $CARCH = i686 ]] && makedepends+=('wine')
+provides=('lmms-extras')
+conflicts=('lmms-extras')
+options=('!libtool' '!makeflags')
+install=lmms.install
+source=("http://downloads.sourceforge.net/sourceforge/lmms/${pkgname}-${pkgver}.tar.bz2"
+ zynaddsubfx_unlink.patch)
+md5sums=('0c754480ded76b7c081a99d7a884549c'
+ 'd2ea78ac0cf2979505f140c6845617cf')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i 's|lib64|lib|g' cmake/modules/DetectMachine.cmake
+
+ patch -Np1 -i ../zynaddsubfx_unlink.patch
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr -USE=vst
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/lmms/lmms.install b/community/lmms/lmms.install
new file mode 100644
index 000000000..11549cb5c
--- /dev/null
+++ b/community/lmms/lmms.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/lmms/zynaddsubfx_unlink.patch b/community/lmms/zynaddsubfx_unlink.patch
new file mode 100644
index 000000000..6b2521f55
--- /dev/null
+++ b/community/lmms/zynaddsubfx_unlink.patch
@@ -0,0 +1,10 @@
+--- lmms-0.4.13_orig/plugins/zynaddsubfx/LocalZynAddSubFx.cpp 2012-04-08 13:01:25.951925761 +0200
++++ lmms-0.4.13_test/plugins/zynaddsubfx/LocalZynAddSubFx.cpp 2012-04-08 13:08:32.841905201 +0200
+@@ -23,6 +23,7 @@
+ */
+
+ #include <lmmsconfig.h>
++#include <unistd.h>
+
+ #include "LocalZynAddSubFx.h"
+
diff --git a/community/lockdev/PKGBUILD b/community/lockdev/PKGBUILD
new file mode 100644
index 000000000..5a4de60d5
--- /dev/null
+++ b/community/lockdev/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 83333 2013-01-29 17:40:17Z spupykin $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andreas Wagner <a.wagner@stud.uni-frankfurt.de>
+
+pkgname=lockdev
+pkgver=1.0.3_1.5
+_pkgver=1.0.3
+pkgrel=2
+pkgdesc='Run-time shared library for locking devices, using _both_ FSSTND and SVr4 methods.'
+url='http://packages.qa.debian.org/l/lockdev.html'
+license=("GPL")
+arch=('i686' 'x86_64')
+source=("http://ftp.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_${_pkgver}.orig.tar.gz"
+ "http://ftp.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_${pkgver/_/-}.diff.gz")
+md5sums=('64b9c1b87b125fc348e892e24625524a'
+ 'c4e8a5a2e46b76b48339c232b358f579')
+
+build() {
+ cd "${pkgname}-${_pkgver}"
+
+ patch -p1 -i "../${pkgname}_${pkgver/_/-}.diff"
+ sed -i "s|CFLAGS = -g|CFLAGS = -g -fPIC|" Makefile
+
+ make shared CFLAGS="${CFLAGS} -D_PATH_LOCK=\\\"/run/lock/lockdev\\\" -fPIC"
+ make static CFLAGS="${CFLAGS} -D_PATH_LOCK=\\\"/run/lock/lockdev\\\" -fPIC"
+}
+
+package() {
+ cd "${pkgname}-${_pkgver}"
+ make basedir="${pkgdir}/usr" install
+}
diff --git a/community/lockfile-progs/PKGBUILD b/community/lockfile-progs/PKGBUILD
new file mode 100644
index 000000000..f41542171
--- /dev/null
+++ b/community/lockfile-progs/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 88325 2013-04-16 13:30:02Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
+
+pkgname=lockfile-progs
+pkgver=0.1.17
+pkgrel=1
+pkgdesc="programs for locking and unlocking files and mailboxes"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://packages.debian.org/unstable/misc/lockfile-progs"
+depends=('glibc')
+makedepends=('gcc' 'make' 'liblockfile')
+source=(http://ftp.debian.org/debian/pool/main/l/lockfile-progs/${pkgname}_${pkgver}.tar.gz)
+md5sums=('64424a766fbc8cf6d613fcc14a096e14')
+
+build() {
+ cd $srcdir/lockfile-progs-$pkgver
+ make CFLAGS="-g -Wall -O2"
+}
+
+package() {
+ cd $srcdir/lockfile-progs-$pkgver
+ mkdir -p $pkgdir/usr/bin
+ install -s bin/* $pkgdir/usr/bin
+ mkdir -p $pkgdir/usr/share/man/man1
+ install man/*.1 $pkgdir/usr/share/man/man1
+}
diff --git a/community/log4cpp/PKGBUILD b/community/log4cpp/PKGBUILD
new file mode 100644
index 000000000..3ac6c659b
--- /dev/null
+++ b/community/log4cpp/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 89526 2013-04-29 18:41:08Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Contributor : Geraud Le Falher <daureg@gmail.com>
+
+pkgname=log4cpp
+pkgver=1.1
+pkgrel=1
+pkgdesc="A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations."
+arch=('i686' 'x86_64')
+url="http://log4cpp.sourceforge.net/"
+license=('LGPL')
+depends=('gcc-libs')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('b9ef6244baa5e5e435f35e0b9474b35d')
+
+build() {
+ cd "$srcdir/$pkgname"
+ ./configure --prefix=/usr --disable-doxygen --disable-dot --without-idsa
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim: set ft=sh ts=2 sw=2 et:
diff --git a/community/lomoco/PKGBUILD b/community/lomoco/PKGBUILD
new file mode 100644
index 000000000..fc8ca5598
--- /dev/null
+++ b/community/lomoco/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 68931 2012-04-06 00:04:27Z dreisner $
+# Maintainer: Jeff Mickey <j@codemac.net>
+# Contributor: Shadowhand <woody.gilk@gmail.com>
+
+pkgname=lomoco
+pkgver=1.0
+pkgrel=8
+url="http://www.lomoco.org/"
+pkgdesc="Logitech USB mouse configuration program"
+license=('GPL')
+depends=('libusb-compat')
+replaces=('lmctl')
+arch=('i686' 'x86_64')
+options=(!libtool)
+backup=(etc/udev/lomoco_mouse.conf)
+source=(http://www.lomoco.org/${pkgname}-${pkgver}.tar.gz
+ "lomoco_mx518.patch::https://bugs.archlinux.org/task/28180?getfile=8163"
+ lomoco_mouse.conf
+ lomoco.sh)
+md5sums=('f5197d0a3ee81229c3eecc1e03f7b08d'
+ '87aeccb99413faf9e49453215c3d0b8a'
+ '182b10a7e4a1828a93c1d55ef7f81b97'
+ 'bc92f661641265b33b27895ef24028fd')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -p1 <$srcdir/lomoco_mx518.patch
+ ./autogen.sh --prefix=/usr --mandir=/usr/share/man
+ make
+ make udev-rules
+ make DESTDIR=${pkgdir} install
+
+ # Fix and install udev rules and helpers
+ sed -i 's|/etc/sysconfig/logitech_mouse|/etc/udev/lomoco_mouse.conf|g' udev/udev.lomoco
+ sed -i 's|RUN="lomoco"|RUN+="lomoco.sh"|g' udev/lomoco.rules
+ sed -i 's|SYSFS|ATTR|' udev/lomoco.rules
+ install -D -m 644 udev/lomoco.rules ${pkgdir}/usr/lib/udev/rules.d/80-lomoco.rules
+ install -D -m 755 ../lomoco.sh ${pkgdir}/usr/lib/udev/lomoco.sh
+ install -D -m 644 ../lomoco_mouse.conf ${pkgdir}/etc/udev/lomoco_mouse.conf
+}
diff --git a/community/lomoco/lomoco.sh b/community/lomoco/lomoco.sh
new file mode 100644
index 000000000..76e2392da
--- /dev/null
+++ b/community/lomoco/lomoco.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+if [ -n "$BUSNUM" -a -n "$DEVNUM" ]; then
+ . /etc/udev/lomoco_mouse.conf
+
+ options=
+
+ if [ -n "$LOGITECH_MOUSE_RESOLUTION" ]; then
+ options="--$LOGITECH_MOUSE_RESOLUTION"
+ fi
+
+ case "$LOGITECH_MOUSE_SMS" in
+ yes) options="$options --sms" ;;
+ no) options="$options --no-sms" ;;
+ esac
+
+ if [ -n "$options" ]; then
+ /usr/bin/lomoco -b $BUSNUM -d $DEVNUM $options
+ fi
+
+fi 2>&1 | /usr/bin/logger -t lomoco
diff --git a/community/lomoco/lomoco_mouse.conf b/community/lomoco/lomoco_mouse.conf
new file mode 100644
index 000000000..b8c534ec2
--- /dev/null
+++ b/community/lomoco/lomoco_mouse.conf
@@ -0,0 +1,5 @@
+# Possible Resolutions Are: 400 800 1200 1600 2000
+#LOGITECH_MOUSE_RESOLUTION="800"
+
+# SmartScroll/Cruise Control (SMS command set): yes or no
+#LOGITECH_MOUSE_SMS="no"
diff --git a/community/lorcon/PKGBUILD b/community/lorcon/PKGBUILD
new file mode 100644
index 000000000..3f821cb23
--- /dev/null
+++ b/community/lorcon/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 64291 2012-02-11 15:46:46Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: fnord0 [fnord0 <AT> riseup <DOT> net]
+# Contributor: dninja <dninja@gmail.com>
+
+pkgname=lorcon
+pkgver=224
+pkgrel=2
+pkgdesc="Loss Of Radio CONnectivity: A generic library for injecting 802.11 frames"
+url='http://802.11ninja.net/'
+license=('GPL')
+arch=('x86_64' 'i686')
+depends=('libpcap')
+makedepends=('subversion')
+replaces=('lorcon-old-svn')
+options=('!libtool')
+_svntrunk="http://802.11ninja.net/svn/lorcon/trunk"
+_svnrev=$pkgver
+
+build() {
+ cd "$srcdir"
+
+ if [ -d "$_svnmod/.svn" ]; then
+ (cd "$_svnmod" && svn up -r "$_svnrev")
+ else
+ svn co "$_svntrunk/$_svnmod" --config-dir ./ -r \
+ "$_svnrev" "$_svnmod"
+ fi
+ msg "SVN checkout done or server timeout"
+ cd "$_svnmod"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$_svnmod"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/lout/PKGBUILD b/community/lout/PKGBUILD
new file mode 100644
index 000000000..df2dcfc35
--- /dev/null
+++ b/community/lout/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 94153 2013-07-15 07:02:55Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: catwell <catwell@archlinux.us>
+
+pkgname=lout
+pkgver=3.40
+pkgrel=1
+pkgdesc="A lightweight document formatting system."
+arch=('i686' 'x86_64')
+url="http://lout.wiki.sourceforge.net/"
+license=('GPL')
+depends=('glibc')
+install=lout.install
+source=(http://mirrors.ctan.org/support/$pkgname/$pkgname-$pkgver.tar.gz
+ makefile.arch
+ lout.install
+ http://pkgs.fedoraproject.org/repo/pkgs/lout/slides.pdf/6822c33e49a1dca0b090f297d404d7fa/slides.pdf)
+md5sums=('fd0fe084cebd07fc209d392a2d380755'
+ '088a29ca16477a9a30da9fafc9391de8'
+ '597cd52eb87ef6253cf769bed4db3952'
+ '6822c33e49a1dca0b090f297d404d7fa')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ cp ../makefile.arch .
+ make -f makefile.arch
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -f makefile.arch PKGDIR="$pkgdir" install
+ chmod 0775 "$pkgdir/usr/lib/lout/data/"
+ chgrp users "$pkgdir/usr/lib/lout/data/"
+ install -Dm644 "$srcdir/slides.pdf" "$pkgdir/usr/share/doc/$pkgname/introduction.pdf"
+}
+
diff --git a/community/lout/lout.install b/community/lout/lout.install
new file mode 100644
index 000000000..e3688a219
--- /dev/null
+++ b/community/lout/lout.install
@@ -0,0 +1,11 @@
+post_install()
+{
+ /usr/bin/lout -x -s /usr/lib/lout/include/init
+ chmod 0775 "/usr/lib/lout/data/"
+ chgrp users "/usr/lib/lout/data/"
+}
+
+post_upgrade()
+{
+ post_install $1
+}
diff --git a/community/lout/makefile.arch b/community/lout/makefile.arch
new file mode 100644
index 000000000..e0cb63322
--- /dev/null
+++ b/community/lout/makefile.arch
@@ -0,0 +1,45 @@
+# Makefile for lout 3.38 on Arch Linux.
+# catwell <catwell@archlinux.us>
+
+PKGDIR = /
+COPTS = -ansi -pedantic -O3
+
+CFLAGS = -DOS_UNIX=1 -DOS_DOS=0 -DOS_MAC=0 -DDB_FIX=0 -DUSE_STAT=1 \
+ -DSAFE_DFT=0 -DCOLLATE=1 -DLIB_DIR=\"/usr/lib/lout\" -DFONT_DIR=\"font\" \
+ -DMAPS_DIR=\"maps\" -DINCL_DIR=\"include\" -DDATA_DIR=\"data\" -DHYPH_DIR=\"hyph\" \
+ -DLOCALE_DIR=\"locale\" -DCHAR_IN=1 -DCHAR_OUT=0 -DLOCALE_ON=0 \
+ -DASSERT_ON=1 $(COPTS) -DDEBUG_ON=0 -DPDF_COMPRESSION=1 -I/usr/lib/
+
+OBJS = z01.o z02.o z03.o z04.o z05.o z06.o z07.o z08.o \
+ z09.o z10.o z11.o z12.o z13.o z14.o z15.o z16.o \
+ z17.o z18.o z19.o z20.o z21.o z22.o z23.o z24.o \
+ z25.o z26.o z27.o z28.o z29.o z30.o z31.o z32.o \
+ z33.o z34.o z35.o z36.o z37.o z38.o z39.o z40.o \
+ z41.o z42.o z43.o z44.o z45.o z46.o z47.o z48.o \
+ z49.o z50.o z51.o z52.o
+
+arch: $(OBJS)
+ gcc -o lout $(OBJS) /usr/lib/libz.a -lm
+ gcc -o prg2lout prg2lout.c
+
+$(OBJS): externs.h
+
+externs.h:
+
+install: arch
+ # lout
+ install -Dm0755 lout $(PKGDIR)/usr/bin/lout
+ set include data hyph font maps; \
+ for i; do \
+ install -d $(PKGDIR)/usr/lib/lout/$$i; \
+ install -m0644 -t $(PKGDIR)/usr/lib/lout/$$i/ $$i/*; \
+ done
+ # prg2lout
+ install -Dm0755 prg2lout $(PKGDIR)/usr/bin/prg2lout
+ # man
+ sed -i -e "s@<BINDIR>@/usr/bin@" -e "s@<LIBDIR>@/usr/lib/lout@" \
+ -e "s@<LOUTDOCDIR>@/usr/doc/lout@" -e "s@<MANDIR>@/usr/share/man/man1@" \
+ man/lout.1
+ install -Dm0644 man/lout.1 $(PKGDIR)/usr/share/man/man1/lout.1
+ install -Dm0644 man/prg2lout.1 $(PKGDIR)/usr/share/man/man1/prg2lout.1
+
diff --git a/community/love/PKGBUILD b/community/love/PKGBUILD
new file mode 100644
index 000000000..0fc743ccc
--- /dev/null
+++ b/community/love/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Linus Sjögren <thelinx@unreliablepollution.net>
+# Contributor: Eric Forgeot < http://anamnese.online.fr >, dreeze
+pkgname=love
+pkgver=0.8.0
+pkgrel=2
+pkgdesc="An open-source 2D game engine which uses the versatile Lua scripting language to create dynamic gaming experiences"
+arch=(i686 x86_64)
+url="http://love2d.org/"
+license=('zlib')
+depends=('luajit' 'physfs' 'freetype2' 'devil' 'mpg123' 'openal' 'libvorbis' 'libmodplug' 'sdl' 'shared-mime-info' 'hicolor-icon-theme' 'desktop-file-utils')
+install=love.install
+source=("https://bitbucket.org/rude/love/downloads/love-${pkgver}-linux-src.tar.gz"
+ "https://bitbucket.org/rude/love/raw/$pkgver/license.txt"
+ "https://bitbucket.org/rude/love/raw/$pkgver/platform/unix/app.svg"
+ "https://bitbucket.org/rude/love/raw/$pkgver/platform/unix/game.svg"
+ "https://bitbucket.org/rude/love/raw/$pkgver/platform/unix/love.desktop"
+ "https://bitbucket.org/rude/love/raw/$pkgver/platform/unix/love.xml")
+md5sums=('9db9c32585fc7c7da3eba7e438783099'
+ 'a4890908149d91bc042b30d00c121c58'
+ 'a1e19f91420cc519a683af360f5b1120'
+ '16f2ecc899c9ffc8b7b7c807f8967861'
+ '971bec1bffe4f424972eef2a26d27bec'
+ 'b4f00fb1cb80057a0a371a994100d418')
+
+build() {
+ cd "$srcdir"/love-$pkgver
+ #./platform/unix/automagic
+ ./configure --prefix=/usr --with-luajit #LDFLAGS="$LDFLAGS -Wl,--no-as-needed"
+ make
+}
+
+package() {
+ cd "$srcdir"/love-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ mkdir -p "$pkgdir/usr/share/licenses/$pkgname"
+ mkdir -p "$pkgdir/usr/share/icons/hicolor/scalable/mimetypes"
+ mkdir -p "$pkgdir/usr/share/icons/hicolor/scalable/apps"
+ mkdir -p "$pkgdir/usr/share/applications"
+ mkdir -p "$pkgdir/usr/share/mime/packages"
+
+ install -Dm0644 "$srcdir/license.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm0644 "$srcdir/app.svg" "$pkgdir/usr/share/icons/hicolor/scalable/apps/love.svg"
+ install -Dm0644 "$srcdir/game.svg" "$pkgdir/usr/share/icons/hicolor/scalable/mimetypes/gnome-mime-application-x-love-game.svg"
+ install -Dm0644 "$srcdir/love.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
+ install -Dm0644 "$srcdir/love.xml" "$pkgdir/usr/share/mime/packages/love.xml"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/love/love.install b/community/love/love.install
new file mode 100644
index 000000000..dbc25459b
--- /dev/null
+++ b/community/love/love.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_remove() {
+ post_install
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community/lrzip/PKGBUILD b/community/lrzip/PKGBUILD
new file mode 100644
index 000000000..f3d56e6fb
--- /dev/null
+++ b/community/lrzip/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 73744 2012-07-15 12:25:29Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: graysky <graysky AT archlinux DOT us>
+# Contributor: kastor@fobos.org.ar
+
+pkgname=lrzip
+pkgver=0.614
+pkgrel=1
+pkgdesc="Multi-threaded compression using the rzip/lzma, lzo, and zpaq algorithms"
+url="http://lrzip.kolivas.org/"
+license=('GPL')
+arch=('x86_64' 'i686')
+depends=('lzo2' 'bzip2' 'zlib' 'bash' 'gcc-libs')
+if [ "$CARCH" != "x86_64" ]
+then
+ makedepends+=('nasm')
+ _flag="--enable-asm"
+fi
+options=('!libtool')
+source=("http://ck.kolivas.org/apps/$pkgname/$pkgname-$pkgver.tar.bz2")
+sha256sums=('65024d69d1773f3ccf84508a481d7de128c03d1cf9750b5803aead4a24522763')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ CFLAGS="$CFLAGS -fomit-frame-pointer"
+ CXXFLAGS="$CXXFLAGS -fomit-frame-pointer"
+ ./autogen.sh --prefix=/usr "$_flag"
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install-strip
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/lrzsz/PKGBUILD b/community/lrzsz/PKGBUILD
new file mode 100644
index 000000000..cb1874f18
--- /dev/null
+++ b/community/lrzsz/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 66212 2012-02-23 03:25:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jeremie Dimino <jeremie@dimino.org>
+# Contributor: bender02 at gmx dot com
+
+pkgname=lrzsz
+pkgver=0.12.20
+pkgrel=4
+pkgdesc="xmodem, ymodem and zmodem file transfer protocols"
+url="http://www.ohse.de/uwe/software/lrzsz.html"
+license=('GPL2')
+arch=('i686' 'x86_64')
+source=(http://www.ohse.de/uwe/releases/$pkgname-$pkgver.tar.gz
+ lrzsz.patch)
+md5sums=('b5ce6a74abc9b9eb2af94dffdfd372a4'
+ '332f6e4af9fe0266efecf9d334c4d3db')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np1 -i ../lrzsz.patch
+ # Rename file so they can be used with minicom
+ ./configure --prefix=/usr --mandir=/usr/share/man \
+ --program-transform-name=s/l//
+ make -j1
+ make -j1 DESTDIR=$pkgdir install
+}
diff --git a/community/lrzsz/lrzsz.patch b/community/lrzsz/lrzsz.patch
new file mode 100644
index 000000000..8caeae54c
--- /dev/null
+++ b/community/lrzsz/lrzsz.patch
@@ -0,0 +1,40 @@
+diff -ur lrzsz-0.12.20-orig/src/Makefile.am lrzsz-0.12.20/src/Makefile.am
+--- lrzsz-0.12.20-orig/src/Makefile.am 1998-12-28 09:38:47.000000000 +0100
++++ lrzsz-0.12.20/src/Makefile.am 2007-10-13 22:48:15.000000000 +0200
+@@ -18,13 +18,13 @@
+ rm -f $(DESTDIR)/$(bindir)/`echo lsb | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lsb |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lsx | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lsx | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lsx |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lrb | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lrb | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lrb |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lrx | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lrx | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lrx |sed -e '$(transform)'`
+ # rm -f $(bindir)/`echo lrzszbug | sed -e '$(transform)'`
+diff -ur lrzsz-0.12.20-orig/src/Makefile.in lrzsz-0.12.20/src/Makefile.in
+--- lrzsz-0.12.20-orig/src/Makefile.in 1998-12-30 17:31:46.000000000 +0100
++++ lrzsz-0.12.20/src/Makefile.in 2007-10-13 22:47:48.000000000 +0200
+@@ -372,13 +372,13 @@
+ rm -f $(DESTDIR)/$(bindir)/`echo lsb | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lsb |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lsx | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lsx | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lsx |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lrb | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lrb | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lrb |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lrx | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lrx | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lrx |sed -e '$(transform)'`
+ # rm -f $(bindir)/`echo lrzszbug | sed -e '$(transform)'`
diff --git a/community/lsdvd/PKGBUILD b/community/lsdvd/PKGBUILD
new file mode 100644
index 000000000..69fca75c9
--- /dev/null
+++ b/community/lsdvd/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 76873 2012-10-01 14:53:57Z bisson $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+
+pkgname=lsdvd
+pkgver=0.16
+pkgrel=6
+pkgdesc="A C application for reading the contents of a DVD and printing the contents to your terminal"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/lsdvd/"
+depends=('libdvdread')
+license=('GPL2')
+#Special thanks to Mathieu Clabaut <mathieu.clabaut@gmail.com> for patches
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'stdint_usage.patch')
+md5sums=('340e1abe5c5e5abf7ff8031e78f49ee7'
+ '6cbcbfde873f894bd3c784f65141b2fc')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/stdint_usage.patch"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/lsdvd/stdint_usage.patch b/community/lsdvd/stdint_usage.patch
new file mode 100644
index 000000000..67b9ee82d
--- /dev/null
+++ b/community/lsdvd/stdint_usage.patch
@@ -0,0 +1,22 @@
+--- a/lsdvd.c 2006-03-02 07:48:11.000000000 -0600
++++ b/lsdvd.c 2007-09-27 19:15:28.000000000 -0500
+@@ -13,6 +13,7 @@
+ * 2003-04-19 Cleanups get_title_name, added dvdtime2msec, added helper macros,
+ * output info structures in form of a Perl module, by Henk Vergonet.
+ */
++#include <stdint.h>
+ #include <dvdread/ifo_read.h>
+ #include <string.h>
+ #include <sys/stat.h>
+--- a/configure 2005-12-12 14:22:45.000000000 -0600
++++ b/configure 2007-09-27 19:15:13.000000000 -0500
+@@ -2887,8 +2887,8 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <dvdread/ifo_read.h>
+ #include <stdint.h>
++#include <dvdread/ifo_read.h>
+ int
+ main ()
+ {
diff --git a/community/lshw/PKGBUILD b/community/lshw/PKGBUILD
new file mode 100644
index 000000000..46563504b
--- /dev/null
+++ b/community/lshw/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 91516 2013-05-23 11:14:32Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Stefano Zamprogno <stefano dot zamprogno at gmail dot com>
+# Contributor: Chuck Yang <Chuck.Yang@gmail.com>
+
+pkgname=lshw
+pkgver=B.02.16
+pkgrel=5
+pkgdesc="A small tool to provide detailed information on the hardware configuration of the machine."
+url="http://ezix.org/project/wiki/HardwareLiSter"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gcc-libs' 'hwids')
+optdepends=('gtk2')
+makedepends=('gcc' 'gtk2' 'sqlite')
+source=(http://ezix.org/software/files/lshw-$pkgver.tar.gz)
+md5sums=('67479167add605e8f001097c30e96d0d')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's|/usr/bin/gtk-lshw|/usr/sbin/gtk-lshw|' src/gui/integration/gtk-lshw.desktop
+ make SBINDIR=/usr/bin
+ make SBINDIR=/usr/bin gui
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir/ SBINDIR=/usr/bin install
+ make DESTDIR=$pkgdir/ SBINDIR=/usr/bin install-gui
+ install -Dm0644 src/gui/integration/gtk-lshw.desktop $pkgdir/usr/share/applications/gtk-lshw.desktop
+ install -Dm0644 src/gui/integration/gtk-lshw.pam $pkgdir/usr/share/doc/$pkgname/gtk-lshw.pam
+ install -Dm0644 src/gui/integration/console.apps $pkgdir/usr/share/doc/$pkgname/console.apps
+ rm -f $pkgdir/usr/share/lshw/{pci,usb}.ids
+}
diff --git a/community/lsscsi/PKGBUILD b/community/lsscsi/PKGBUILD
new file mode 100644
index 000000000..5a09e2f00
--- /dev/null
+++ b/community/lsscsi/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 90283 2013-05-10 22:36:28Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor : XAVeRY - los dot danielos at gmail dot com
+
+pkgname=lsscsi
+pkgver=0.27
+pkgrel=1
+pkgdesc='A tool that lists devices connected via SCSI and its transports'
+arch=('i686' 'x86_64')
+url="http://sg.danny.cz/scsi/lsscsi.html"
+license=('GPL')
+depends=('sysfsutils')
+source=("http://sg.danny.cz/scsi/${pkgname}-${pkgver}.tgz")
+md5sums=('33ab2927a9e567a47905e6a618c17859')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ltris/PKGBUILD b/community/ltris/PKGBUILD
new file mode 100644
index 000000000..17db56fa0
--- /dev/null
+++ b/community/ltris/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 60814 2011-12-18 17:13:32Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: SmackleFunky <smacklefunky@optusnet.com.au>
+
+pkgname=ltris
+pkgver=1.0.18
+pkgrel=1
+pkgdesc="A tetris clone where you have a bowl with blocks falling down"
+arch=('i686' 'x86_64')
+url="http://lgames.sourceforge.net/index.php?project=LTris"
+license=('GPL')
+depends=('sdl_mixer')
+backup=('var/games/ltris.hscr')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/lgames/$pkgname-$pkgver.tar.gz)
+sha256sums=('3cba90365d50e79601368499af77d54cb03c0cf2544324e5df246eb1eeaa0e30')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr --localstatedir=/var/games
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ install -d ${pkgdir}/usr/share/pixmaps
+ install -m644 icons/ltris{16,32,48}.xpm ${pkgdir}/usr/share/pixmaps
+}
diff --git a/community/ltris/ltris.changelog b/community/ltris/ltris.changelog
new file mode 100644
index 000000000..4cf7b905f
--- /dev/null
+++ b/community/ltris/ltris.changelog
@@ -0,0 +1,30 @@
+2011-12-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+ * ltris 1.0.18-1
+ * Upstream update
+
+2011-08-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+ * ltris 1.0.17-1
+ * Upstream update
+
+2011-03-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+ * ltris 1.0.16-1
+ * Upstream update
+
+2009-12-29 Eric Belanger <eric@archlinux.org>
+
+ * ltris 1.0.14-1
+ * Upstream update
+
+2009-11-07 Eric Belanger <eric@archlinux.org>
+
+ * ltris 1.0.13-1
+ * Upstream update
+
+2009-04-07 Eric Belanger <eric@archlinux.org>
+
+ * ltris 1.0.12-1
+ * Fixed score file location and permissions (close FS#13489)
+ * Added ChangeLog
diff --git a/community/ltris/ltris.install b/community/ltris/ltris.install
new file mode 100644
index 000000000..e270274bd
--- /dev/null
+++ b/community/ltris/ltris.install
@@ -0,0 +1,4 @@
+post_install() {
+ chown root:games /var/games/ltris.hscr
+ chmod 664 /var/games/ltris.hscr
+}
diff --git a/community/lua-zlib/ChangeLog b/community/lua-zlib/ChangeLog
new file mode 100644
index 000000000..881a6885b
--- /dev/null
+++ b/community/lua-zlib/ChangeLog
@@ -0,0 +1,42 @@
+2010-02-18 Dwayne Bent <dbb.0@liqd.org>
+
+ * PKGBUILD:
+ Actually build the library
+ [b994a1eae8e4] [tip]
+
+2010-02-15 Dwayne Bent <dbb.1@liqd.org>
+
+ * .hgtags:
+ Added tag v20100215-1 for changeset 82cf8c12f58d
+ [5e6e628919ec]
+
+ * ChangeLog, PKGBUILD:
+ Added ChangeLog
+ [82cf8c12f58d] [v20100215-1]
+
+ * PKGBUILD:
+ Install license file
+ [470c65e1d08b]
+
+ * PKGBUILD:
+ Updated email address
+ [cf9fdc7b9cc5]
+
+ * PKGBUILD:
+ Change package name to reflect the type of package this actually is
+ [39b61ef661d7]
+
+ * PKGBUILD:
+ Clean up PKGBUILD
+ [183b11d1286e]
+
+2009-11-26 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v20091125-1 for changeset 8e6cc75fb38b
+ [72c8c117a64c]
+
+ * Makefile, PKGBUILD:
+ Initial commit
+ [8e6cc75fb38b] [v20091125-1]
+
diff --git a/community/lua-zlib/PKGBUILD b/community/lua-zlib/PKGBUILD
new file mode 100644
index 000000000..17a34d721
--- /dev/null
+++ b/community/lua-zlib/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 93359 2013-07-02 09:43:15Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=(lua-zlib lua51-zlib)
+pkgbase=lua-zlib
+pkgver=20130702
+pkgrel=1
+url="http://github.com/brimworks/lua-zlib"
+pkgdesc='Simple streaming interface to zlib for Lua.'
+arch=('i686' 'x86_64')
+license=('MIT')
+makedepends=('cmake' 'lua' 'lua51' 'zlib' 'git')
+conflicts=('lua-lzlib')
+#source=("lua-zlib-$pkgver.zip::https://github.com/brimworks/lua-zlib/zipball/v$pkgver")
+source=("git://github.com/brimworks/lua-zlib.git")
+md5sums=('SKIP')
+
+build() {
+ cp -a $srcdir/lua-zlib $srcdir/lua51-zlib
+
+ cd $srcdir/lua-zlib
+ gcc -o zlib.so -O2 -fPIC -shared lua_zlib.c -llua -lz
+
+ cd $srcdir/lua51-zlib
+ gcc -o zlib.so -O2 -fPIC -shared -I/usr/include/lua5.1 lua_zlib.c -llua5.1 -lz
+}
+
+package_lua-zlib() {
+ depends=('zlib' 'lua')
+
+ cd $srcdir/lua-zlib
+ install -Dm0755 zlib.so $pkgdir/usr/lib/lua/5.2/zlib.so
+ install -Dm644 "README" "$pkgdir/usr/share/licenses/$pkgname/README"
+}
+
+package_lua51-zlib() {
+ depends=('zlib' 'lua51')
+
+ cd $srcdir/lua51-zlib
+ install -Dm0755 zlib.so $pkgdir/usr/lib/lua/5.1/zlib.so
+ install -D -m644 "README" "$pkgdir/usr/share/licenses/$pkgname/README"
+}
diff --git a/community/luabitop/PKGBUILD b/community/luabitop/PKGBUILD
new file mode 100644
index 000000000..7dacdad3e
--- /dev/null
+++ b/community/luabitop/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 81388 2012-12-19 13:22:34Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Lucas Hermann Negri <kkndrox@gmail.com>
+
+pkgbase=luabitop
+pkgname=(lua-bitop lua51-bitop)
+pkgver=1.0.2
+pkgrel=2
+pkgdesc='C extension adding bitwise operations on numbers'
+arch=(i686 x86_64)
+url='http://bitop.luajit.org/index.html'
+makedepends=('lua' 'lua51')
+source=("http://bitop.luajit.org/download/LuaBitOp-$pkgver.tar.gz")
+md5sums=('d0c1080fe0c844e8477279668e2d0d06')
+license=('MIT')
+
+build() {
+ cp -a LuaBitOp-$pkgver LuaBitOp51-$pkgver
+ msg2 'Building with lua 5.2'
+ cd LuaBitOp-$pkgver
+ make INCLUDES=' -I/usr/include' LUA='lua'
+ msg2 'Building with lua 5.1'
+ cd ../LuaBitOp51-$pkgver
+ make INCLUDES=' -I/usr/include/lua5.1' LUA='lua5.1'
+}
+
+package_lua-bitop() {
+ depends=('lua')
+ cd LuaBitOp-$pkgver
+ install -Dm 644 bit.so "$pkgdir/usr/lib/lua/5.2/bit.so"
+ install -dm 755 "$pkgdir/usr/share/licenses/$pkgname"
+ ln -s '../lua/COPYRIGHT' "$pkgdir/usr/share/licenses/$pkgname/COPYRIGHT"
+}
+
+package_lua51-bitop() {
+ depends=('lua51')
+ conflicts=('luabitop')
+ replaces=('luabitop')
+ cd LuaBitOp51-$pkgver
+ install -Dm 644 bit.so "$pkgdir/usr/lib/lua/5.1/bit.so"
+ install -dm 755 "$pkgdir/usr/share/licenses/$pkgname"
+ ln -s '../lua51/COPYRIGHT' "$pkgdir/usr/share/licenses/$pkgname/COPYRIGHT"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/luaexpat/PKGBUILD b/community/luaexpat/PKGBUILD
new file mode 100644
index 000000000..9ae182732
--- /dev/null
+++ b/community/luaexpat/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 81392 2012-12-19 13:28:13Z seblu $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Lucas Hermann Negri <kkndrox@gmail.com>
+
+pkgbase=luaexpat
+pkgname=(lua-expat lua51-expat)
+pkgver=1.2.0
+pkgrel=4
+pkgdesc='SAX XML parser based on the Expat library'
+arch=('i686' 'x86_64')
+url='http://matthewwild.co.uk/projects/luaexpat/'
+license=('MIT')
+makedepends=('gcc' 'lua' 'lua51' 'expat')
+source=("http://matthewwild.co.uk/projects/luaexpat/luaexpat-$pkgver.tar.gz"
+ 'config.51'
+ 'config.52'
+ 'lua52.patch')
+md5sums=('03efe50c7f30a34580701e6527d7bfee'
+ '64abbf5b602e0e31b68db2925a5e6b2f'
+ '60ae0633ac6f829cc3359f3533252eb0'
+ '21da93cbf0d3cef80d00e2380b7c2679')
+
+build() {
+ # 5.1
+ msg2 "Building $pkgbase with lua 5.1"
+ cp -a $pkgbase-$pkgver $pkgbase-$pkgver-51
+ cd $pkgbase-$pkgver-51
+ cp -L "$srcdir/config.51" config
+ make LUA_INC=/usr/include/lua5.1
+ # 5.2
+ msg2 "Building $pkgbase with lua 5.2"
+ cd "$srcdir/$pkgbase-$pkgver"
+ patch -p1 < "$srcdir/lua52.patch"
+ cp -L "$srcdir/config.52" config
+ make
+}
+
+package_lua-expat() {
+ depends=('lua' 'expat')
+
+ cd $pkgbase-$pkgver
+ make DESTDIR="$pkgdir" install
+ mv usr "$pkgdir"
+ install -Dm0644 doc/us/license.html "$pkgdir/usr/share/licenses/$pkgname/license.html"
+}
+
+package_lua51-expat() {
+ depends=('lua51' 'expat')
+ replaces=('luaexpat')
+ conflicts=('luaexpat')
+
+ cd $pkgbase-$pkgver-51
+ make DESTDIR="$pkgdir" install
+ mv usr "$pkgdir"
+ install -Dm0644 doc/us/license.html "$pkgdir/usr/share/licenses/$pkgname/license.html"
+}
diff --git a/community/luaexpat/config.51 b/community/luaexpat/config.51
new file mode 100644
index 000000000..64afe1cca
--- /dev/null
+++ b/community/luaexpat/config.51
@@ -0,0 +1,26 @@
+LUA_LIBDIR= usr/lib/lua/5.1
+LUA_DIR= usr/share/lua/5.1
+LUA_INC= /usr/include/lua5.1
+EXPAT_INC= /usr/include
+
+# OS dependent
+LIB_OPTION= -shared
+
+LIBNAME= $T.so.$V
+LUA_VERSION_NUM= 515
+COMPAT_DIR= ../compat/src
+
+# Compilation parameters
+CWARNS = -Wall -pedantic \
+ -Waggregate-return \
+ -Wcast-align \
+ -Wmissing-prototypes \
+ -Wstrict-prototypes \
+ -Wnested-externs \
+ -Wpointer-arith \
+ -Wshadow \
+ -Wwrite-strings
+
+CFLAGS = $(CWARNS) -ansi -O2 -I$(LUA_INC) \
+ -I$(COMPAT_DIR) -I$(EXPAT_INC) -fPIC
+CC = gcc
diff --git a/community/luaexpat/config.52 b/community/luaexpat/config.52
new file mode 100644
index 000000000..bc5b25d8f
--- /dev/null
+++ b/community/luaexpat/config.52
@@ -0,0 +1,26 @@
+LUA_LIBDIR= usr/lib/lua/5.2
+LUA_DIR= usr/share/lua/5.2
+LUA_INC= /usr/include
+EXPAT_INC= /usr/include
+
+# OS dependent
+LIB_OPTION= -shared
+
+LIBNAME= $T.so.$V
+LUA_VERSION_NUM= 521
+COMPAT_DIR= ../compat/src
+
+# Compilation parameters
+CWARNS = -Wall -pedantic \
+ -Waggregate-return \
+ -Wcast-align \
+ -Wmissing-prototypes \
+ -Wstrict-prototypes \
+ -Wnested-externs \
+ -Wpointer-arith \
+ -Wshadow \
+ -Wwrite-strings
+
+CFLAGS = $(CWARNS) -ansi -O2 -I$(LUA_INC) \
+ -I$(COMPAT_DIR) -I$(EXPAT_INC) -fPIC
+CC = gcc
diff --git a/community/luaexpat/lua52.patch b/community/luaexpat/lua52.patch
new file mode 100644
index 000000000..8b418e3a7
--- /dev/null
+++ b/community/luaexpat/lua52.patch
@@ -0,0 +1,372 @@
+diff -wbBur luaexpat-1.2.0/config lua-expat-b4e6b167e020/config
+--- luaexpat-1.2.0/config 2011-06-03 18:17:04.000000000 +0400
++++ lua-expat-b4e6b167e020/config 2012-07-28 04:59:45.000000000 +0400
+@@ -17,8 +17,7 @@
+ # (according to Lua 5.1 definition:
+ # first version digit * 100 + second version digit
+ # e.g. Lua 5.0.2 => 500, Lua 5.1 => 501, Lua 5.1.1 => 501)
+-LUA_VERSION_NUM= 500
+-COMPAT_DIR= ../compat/src
++LUA_VERSION_NUM= 502
+
+ # Compilation parameters
+ CWARNS = -Wall -pedantic \
+@@ -31,6 +30,6 @@
+ -Wshadow \
+ -Wwrite-strings
+
+-CFLAGS = $(CWARNS) -ansi -O2 -I$(LUA_INC) \
+- -I$(COMPAT_DIR) -I$(EXPAT_INC)
++CFLAGS = $(CWARNS) -ansi -O2 -fPIC -I$(LUA_INC) \
++ -I$(EXPAT_INC)
+ CC = gcc
+diff -wbBur luaexpat-1.2.0/.hg_archival.txt lua-expat-b4e6b167e020/.hg_archival.txt
+--- luaexpat-1.2.0/.hg_archival.txt 2011-06-03 18:17:04.000000000 +0400
++++ lua-expat-b4e6b167e020/.hg_archival.txt 2012-07-28 04:59:45.000000000 +0400
+@@ -1,4 +1,5 @@
+ repo: 24d141cb2d1e66a1bb42b445f049fcc037972f2b
+-node: 30c2491fe44a485caf2dd24643052670c91b91e3
++node: b4e6b167e020ba1bd9402acd0a142ef6e91d912a
+ branch: default
+-tag: 1.2.0
++latesttag: 1.2.0
++latesttagdistance: 7
+diff -wbBur luaexpat-1.2.0/makefile lua-expat-b4e6b167e020/makefile
+--- luaexpat-1.2.0/makefile 2011-06-03 18:17:04.000000000 +0400
++++ lua-expat-b4e6b167e020/makefile 2012-07-28 04:59:45.000000000 +0400
+@@ -1,22 +1,15 @@
+ T= lxp
+-V= 1.2.0
++V= 1.3.0
+ CONFIG= ./config
+
+ include $(CONFIG)
+
+-ifeq "$(LUA_VERSION_NUM)" "500"
+-COMPAT_O= $(COMPAT_DIR)/compat-5.1.o
+-endif
+-
+-OBJS= src/lxplib.o $(COMPAT_O)
++OBJS= src/lxplib.o
+ lib: src/$(LIBNAME)
+
+ src/$(LIBNAME) : $(OBJS)
+ export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) -o src/$(LIBNAME) $(LIB_OPTION) $(OBJS) -lexpat
+
+-$(COMPAT_DIR)/compat-5.1.o: $(COMPAT_DIR)/compat-5.1.c
+- $(CC) -c $(CFLAGS) -o $@ $(COMPAT_DIR)/compat-5.1.c
+-
+ install:
+ mkdir -p $(LUA_LIBDIR)
+ cp src/$(LIBNAME) $(LUA_LIBDIR)
+diff -wbBur luaexpat-1.2.0/README lua-expat-b4e6b167e020/README
+--- luaexpat-1.2.0/README 2011-06-03 18:17:04.000000000 +0400
++++ lua-expat-b4e6b167e020/README 2012-07-28 04:59:45.000000000 +0400
+@@ -47,11 +47,11 @@
+
+ Credits
+
+-Version 1.0 was designed by Roberto Ierusalimschy, Andr Carregal and Toms Guisasola
++Version 1.0 was designed by Roberto Ierusalimschy, André Carregal and Tomás Guisasola
+ as part of the Kepler Project which holds its copyright. The implementation was coded
+ by Roberto Ierusalimschy, based on a previous design by Jay Carlson.
+
+-LuaExpat development was sponsored by Fbrica Digital and FINEP.
++LuaExpat development was sponsored by Fábrica Digital and FINEP.
+
+ Contact
+
+diff -wbBur luaexpat-1.2.0/src/lxp/lom.lua lua-expat-b4e6b167e020/src/lxp/lom.lua
+--- luaexpat-1.2.0/src/lxp/lom.lua 2011-06-03 18:17:04.000000000 +0400
++++ lua-expat-b4e6b167e020/src/lxp/lom.lua 2012-07-28 04:59:45.000000000 +0400
+@@ -1,13 +1,11 @@
+ -- See Copyright Notice in license.html
+ -- $Id: lom.lua,v 1.6 2005/06/09 19:18:40 tuler Exp $
+
+-require "lxp"
++local lxp = require "lxp"
+
+-local tinsert, tremove, getn = table.insert, table.remove, table.getn
++local tinsert, tremove = table.insert, table.remove
+ local assert, type, print = assert, type, print
+-local lxp = lxp
+
+-module ("lxp.lom")
+
+ local function starttag (p, tag, attr)
+ local stack = p:getcallbacks().stack
+@@ -19,14 +17,14 @@
+ local stack = p:getcallbacks().stack
+ local element = tremove(stack)
+ assert(element.tag == tag)
+- local level = getn(stack)
++ local level = #stack
+ tinsert(stack[level], element)
+ end
+
+ local function text (p, txt)
+ local stack = p:getcallbacks().stack
+- local element = stack[getn(stack)]
+- local n = getn(element)
++ local element = stack[#stack]
++ local n = #element
+ if type(element[n]) == "string" then
+ element[n] = element[n] .. txt
+ else
+@@ -34,7 +32,7 @@
+ end
+ end
+
+-function parse (o)
++local function parse (o)
+ local c = { StartElement = starttag,
+ EndElement = endtag,
+ CharacterData = text,
+@@ -47,7 +45,7 @@
+ status, err = p:parse(o)
+ if not status then return nil, err end
+ else
+- for l in o do
++ for l in pairs(o) do
+ status, err = p:parse(l)
+ if not status then return nil, err end
+ end
+@@ -58,3 +56,4 @@
+ return c.stack[1][1]
+ end
+
++return { parse = parse }
+diff -wbBur luaexpat-1.2.0/src/lxplib.c lua-expat-b4e6b167e020/src/lxplib.c
+--- luaexpat-1.2.0/src/lxplib.c 2011-06-03 18:17:04.000000000 +0400
++++ lua-expat-b4e6b167e020/src/lxplib.c 2012-07-28 04:59:45.000000000 +0400
+@@ -13,14 +13,16 @@
+
+ #include "lua.h"
+ #include "lauxlib.h"
+-#if ! defined (LUA_VERSION_NUM) || LUA_VERSION_NUM < 501
+-#include "compat-5.1.h"
+-#endif
+
+
+ #include "lxplib.h"
+
+
++#if !defined(lua_pushliteral)
++#define lua_pushliteral(L, s) \
++ lua_pushstring(L, "" s, (sizeof(s)/sizeof(char))-1)
++#endif
++
+
+ enum XPState {
+ XPSpre, /* parser just initialized */
+@@ -66,7 +68,7 @@
+
+
+ static void lxpclose (lua_State *L, lxp_userdata *xpu) {
+- lua_unref(L, xpu->tableref);
++ luaL_unref(L, LUA_REGISTRYINDEX, xpu->tableref);
+ xpu->tableref = LUA_REFNIL;
+ if (xpu->parser)
+ XML_ParserFree(xpu->parser);
+@@ -225,7 +227,7 @@
+ child->parser = XML_ExternalEntityParserCreate(p, context, NULL);
+ if (!child->parser)
+ luaL_error(L, "XML_ParserCreate failed");
+- lua_getref(L, xpu->tableref); /* child uses the same table of its father */
++ lua_rawgeti(L, LUA_REGISTRYINDEX, xpu->tableref); /*lua_getref(L, xpu->tableref); */ /* child uses the same table of its father */
+ child->tableref = luaL_ref(L, LUA_REGISTRYINDEX);
+ lua_pushstring(L, base);
+ lua_pushstring(L, systemId);
+@@ -449,7 +451,7 @@
+ xpu->state = XPSok;
+ xpu->b = &b;
+ lua_settop(L, 2);
+- lua_getref(L, xpu->tableref); /* to be used by handlers */
++ lua_rawgeti(L, LUA_REGISTRYINDEX, xpu->tableref); /*lua_getref(L, xpu->tableref);*/ /* to be used by handlers */
+ status = XML_Parse(xpu->parser, s, (int)len, s == NULL);
+ if (xpu->state == XPSstring) dischargestring(xpu);
+ if (xpu->state == XPSerror) { /* callback error? */
+@@ -517,7 +519,12 @@
+ return 1;
+ }
+
+-static const struct luaL_reg lxp_meths[] = {
++#if !defined LUA_VERSION_NUM
++/* Lua 5.0 */
++#define luaL_Reg luaL_reg
++#endif
++
++static const struct luaL_Reg lxp_meths[] = {
+ {"parse", lxp_parse},
+ {"close", lxp_close},
+ {"__gc", parser_gc},
+@@ -530,7 +537,7 @@
+ {NULL, NULL}
+ };
+
+-static const struct luaL_reg lxp_funcs[] = {
++static const struct luaL_Reg lxp_funcs[] = {
+ {"new", lxp_make_parser},
+ {NULL, NULL}
+ };
+@@ -541,19 +548,39 @@
+ */
+ static void set_info (lua_State *L) {
+ lua_pushliteral (L, "_COPYRIGHT");
+- lua_pushliteral (L, "Copyright (C) 2003-2007 Kepler Project");
++ lua_pushliteral (L, "Copyright (C) 2003-2012 Kepler Project");
+ lua_settable (L, -3);
+ lua_pushliteral (L, "_DESCRIPTION");
+ lua_pushliteral (L, "LuaExpat is a SAX XML parser based on the Expat library");
+ lua_settable (L, -3);
+ lua_pushliteral (L, "_VERSION");
+- lua_pushliteral (L, "LuaExpat 1.2.0");
++ lua_pushliteral (L, "LuaExpat 1.3.0");
+ lua_settable (L, -3);
+ }
+
+
++#if !defined LUA_VERSION_NUM || LUA_VERSION_NUM==501
++/*
++** Adapted from Lua 5.2.0
++*/
++static void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
++ luaL_checkstack(L, nup, "too many upvalues");
++ for (; l->name != NULL; l++) { /* fill the table with given functions */
++ int i;
++ for (i = 0; i < nup; i++) /* copy upvalues to the top */
++ lua_pushvalue(L, -nup);
++ lua_pushstring(L, l->name);
++ lua_pushcclosure(L, l->func, nup); /* closure with those upvalues */
++ lua_settable(L, -(nup + 3));
++ }
++ lua_pop(L, nup); /* remove upvalues */
++}
++#endif
++
++
+ int luaopen_lxp (lua_State *L) {
+ luaL_newmetatable(L, ParserType);
++
+ lua_pushliteral(L, "__index");
+ lua_pushvalue(L, -2);
+ lua_rawset(L, -3);
+@@ -557,9 +584,12 @@
+ lua_pushliteral(L, "__index");
+ lua_pushvalue(L, -2);
+ lua_rawset(L, -3);
+- luaL_openlib (L, NULL, lxp_meths, 0);
+- luaL_openlib (L, "lxp", lxp_funcs, 0);
+- set_info (L);
+
++ luaL_setfuncs (L, lxp_meths, 0);
++ lua_pop (L, 1); /* remove metatable */
++
++ lua_newtable (L);
++ luaL_setfuncs (L, lxp_funcs, 0);
++ set_info (L);
+ return 1;
+ }
+diff -wbBur luaexpat-1.2.0/tests/test.lua lua-expat-b4e6b167e020/tests/test.lua
+--- luaexpat-1.2.0/tests/test.lua 2011-06-03 18:17:04.000000000 +0400
++++ lua-expat-b4e6b167e020/tests/test.lua 2012-07-28 04:59:45.000000000 +0400
+@@ -2,8 +2,14 @@
+ -- See Copyright Notice in license.html
+ -- $Id: test.lua,v 1.6 2006/06/08 20:34:52 tomas Exp $
+
+-require"lxp"
++if string.find(_VERSION, " 5.0") then
++ lxp = assert(loadlib("./lxp.so", "luaopen_lxp"))()
++else
++ lxp = require"lxp"
++ gcinfo = function () return collectgarbage"count" end
++end
+ print (lxp._VERSION)
++assert(lxp.new, "Cannot find function lxp.new ("..tostring(lxp.new)..")")
+
+ -- basic test with no preamble
+ local p = lxp.new{}
+@@ -35,9 +41,9 @@
+ ]>
+ ]]
+
+-local X
++X = {}
++if string.find(_VERSION, " 5.0") then
+ function getargs (...) X = arg end
+-
+ function xgetargs (c)
+ return function (...)
+ table.insert(arg, 1, c)
+@@ -44,6 +50,35 @@
+ table.insert(X, arg)
+ end
+ end
++else
++ (loadstring or load)[[
++ function getargs (...)
++ X = { ... }
++ X.n = select('#', ...)
++ end
++ function xgetargs (c)
++ return function (...)
++ local arg = { ... }
++ arg.n = select('#', ...) + 1
++ table.insert(arg, 1, c)
++ table.insert(X, arg)
++ end
++ end
++ table.getn = function (t)
++ if t.n then
++ return t.n
++ else
++ local n = 0
++ for i in pairs(t) do
++ if type(i) == "number" then
++ n = math.max(n, i)
++ end
++ end
++ return n
++ end
++ end]]()
++end
++
+
+
+ -------------------------------
+@@ -61,7 +96,7 @@
+ assert(X.n == 3 and X[1] == p and X[2] == "to")
+ x = X[3]
+ assert(x.priority=="10" and x.xu=="hi" and x.method=="POST")
+-assert(x[1] == "priority" and x[2] == "xu" and table.getn(x) == 2)
++assert(x[1] == "priority" and x[2] == "xu" and table.getn(x) == 2, "x[1] == "..tostring(x[1])..", x[2] == "..tostring(x[2])..", #x == "..tostring(table.getn(x)))
+ assert(p:parse("</to>"))
+ assert(p:parse())
+ p:close()
+@@ -95,7 +130,7 @@
+ assert(p:parse"<to>")
+ assert(p:parse"<![CDATA[hi]]>")
+ assert(table.getn(X) == 3)
+-assert(X[1][1] == "s" and X[1][2] == p)
++assert(X[1][1] == "s" and X[1][2] == p, "X[1][1] == "..tostring(X[1][1])..", X[1][2] == "..tostring(X[1][2])..", p == "..tostring(p))
+ assert(X[2][1] == "c" and X[2][2] == p and X[2][3] == "hi")
+ assert(X[3][1] == "e" and X[3][2] == p)
+ assert(p:parse"</to>")
+@@ -220,7 +255,7 @@
+ ]])
+ p:close()
+ x = X[1]
+-assert(x[1] == "sn" and x[3] == "space" and x[4] == "a/namespace" and table.getn(x) == 4)
++assert(x[1] == "sn" and x[3] == "space" and x[4] == "a/namespace" and table.getn(x) == 4, "x[1] == "..tostring(x[1])..", x[3] == "..tostring(x[3])..", x[4] == "..tostring(x[4])..", #x == "..tostring(table.getn(x)))
+ x = X[3]
+ assert(x[1] == "s" and x[3] == "a/namespace?a")
+ x = X[4]
+@@ -316,7 +351,7 @@
+ local x = gcinfo()
+ for i=1,100000 do
+ -- due to a small bug in Lua...
+- if math.mod(i, 100) == 0 then collectgarbage() end
++ if (math.mod or math.fmod)(i, 100) == 0 then collectgarbage() end
+ lxp.new({})
+ end
+ collectgarbage(); collectgarbage()
diff --git a/community/luafilesystem/LICENSE b/community/luafilesystem/LICENSE
new file mode 100644
index 000000000..53f2abebc
--- /dev/null
+++ b/community/luafilesystem/LICENSE
@@ -0,0 +1,22 @@
+Copyright (C) 2004-2007 The Kepler Project.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use, copy,
+modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
diff --git a/community/luafilesystem/PKGBUILD b/community/luafilesystem/PKGBUILD
new file mode 100644
index 000000000..d4237e35a
--- /dev/null
+++ b/community/luafilesystem/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 81391 2012-12-19 13:27:48Z seblu $
+# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Anders Bergh <anders1@gmail.com>
+
+pkgbase=luafilesystem
+pkgname=(lua-filesystem lua51-filesystem)
+pkgver=1.6.2
+pkgrel=2
+pkgdesc='File System Library for the Lua Programming Language'
+arch=('i686' 'x86_64')
+url='http://www.keplerproject.org/luafilesystem/'
+license=('MIT')
+makedepends=(lua lua51)
+source=(http://github.com/downloads/keplerproject/$pkgbase/$pkgbase-$pkgver.tar.gz
+ LICENSE)
+md5sums=('4e7ec93678c760c4e42cea7d28aafa13'
+ 'beb2b58c4b5c2782304a5b0267a5651b')
+
+build() {
+ msg2 "Building $pkgbase with lua 5.1"
+ cp -a $pkgbase-$pkgver $pkgbase-$pkgver-51
+ cd $pkgbase-$pkgver-51
+ make LUA_INC=/usr/include/lua5.1
+ msg2 "Building $pkgbase with lua 5.2"
+ cd "$srcdir/$pkgbase-$pkgver"
+ make
+}
+
+package_lua-filesystem() {
+ depends=('lua')
+
+ cd $pkgbase-$pkgver
+ make PREFIX=$pkgdir/usr LUA_LIBDIR='$(PREFIX)/lib/lua/5.2' install
+ install -Dm644 $srcdir/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_lua51-filesystem() {
+ depends=('lua51')
+ conflicts=('luafilesystem')
+ replaces=('luafilesystem')
+
+ cd $pkgbase-$pkgver-51
+ make PREFIX=$pkgdir/usr LUA_LIBDIR='$(PREFIX)/lib/lua/5.1' install
+ install -Dm644 $srcdir/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/luajit/PKGBUILD b/community/luajit/PKGBUILD
new file mode 100644
index 000000000..497e28d5a
--- /dev/null
+++ b/community/luajit/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 92307 2013-06-03 20:18:47Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Chris Brannon <chris@the-brannons.com>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Anders Bergh <anders1@gmail.com>
+
+pkgname=luajit
+pkgver=2.0.2
+pkgrel=1
+pkgdesc='Just-in-time compiler and drop-in replacement for Lua 5.1'
+arch=('i686' 'x86_64')
+url='http://luajit.org/'
+license=('MIT')
+depends=('gcc-libs')
+source=(http://luajit.org/download/LuaJIT-${pkgver/rc/-rc}.tar.gz)
+sha256sums=('c05202974a5890e777b181908ac237625b499aece026654d7cc33607e3f46c38')
+
+build() {
+ cd $srcdir/LuaJIT-$pkgver
+ make amalg PREFIX=/usr
+}
+
+package() {
+ cd $srcdir/LuaJIT-$pkgver
+ make install DESTDIR=$pkgdir PREFIX=/usr
+
+ install -Dm644 $srcdir/LuaJIT-$pkgver/COPYRIGHT \
+ $pkgdir/usr/share/licenses/$pkgname/COPYRIGHT
+}
diff --git a/community/luakit/0001-Dont-mark-desktop-file-as-executable.patch b/community/luakit/0001-Dont-mark-desktop-file-as-executable.patch
new file mode 100644
index 000000000..8cccb88c1
--- /dev/null
+++ b/community/luakit/0001-Dont-mark-desktop-file-as-executable.patch
@@ -0,0 +1,24 @@
+From d3f47d51ab68054ceb3415971455ca2c036b395f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bart=C5=82omiej=20Piotrowski?= <b@bpiotrowski.pl>
+Date: Thu, 12 Apr 2012 16:43:41 +0200
+Subject: [PATCH] Don't mark desktop file as executable.
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index be1567b..50973d6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -78,7 +78,7 @@ install:
+ install -d $(DESTDIR)/usr/share/pixmaps
+ install extras/luakit.png $(DESTDIR)/usr/share/pixmaps/
+ install -d $(DESTDIR)/usr/share/applications
+- install extras/luakit.desktop $(DESTDIR)/usr/share/applications/
++ install -m0644 extras/luakit.desktop $(DESTDIR)/usr/share/applications/
+ install -d $(MANPREFIX)/man1/
+ install -m644 luakit.1 $(MANPREFIX)/man1/
+
+--
+1.7.10
diff --git a/community/luakit/PKGBUILD b/community/luakit/PKGBUILD
new file mode 100644
index 000000000..ca99340cb
--- /dev/null
+++ b/community/luakit/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 81116 2012-12-12 00:49:28Z eric $
+# Maintainer: Bartłomiej Piotrowski
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: J. W. Birdsong <jwbirdsong AT gmail DOT com>
+
+pkgname=luakit
+pkgver=2012.09.13.r1
+_pkgver=2012.09.13-r1
+pkgrel=5
+pkgdesc='Fast, small, webkit based browser framework extensible by Lua'
+arch=('i686' 'x86_64')
+url='http://mason-larobina.github.com/luakit/'
+license=('GPL3')
+depends=('libwebkit' 'lua51-filesystem' 'libunique' 'desktop-file-utils' 'luajit')
+makedepends=('git' 'help2man')
+options=(!makeflags)
+install='luakit.install'
+source=($pkgname-$pkgver.tar.gz::https://github.com/mason-larobina/luakit/tarball/$_pkgver)
+md5sums=('77b02e6d19ba021409f1778fddd94a42')
+
+build() {
+ cd mason-larobina-luakit-*
+
+ # use luajit to run script needed at build
+ sed -i '1s,lua,luajit,' build-utils/gentokens.lua
+
+ make USE_LUAJIT=1 PREFIX=/usr all
+}
+
+package() {
+ cd mason-larobina-luakit-*
+ make PREFIX=/usr DESTDIR=$pkgdir install
+
+ chmod -x $pkgdir/usr/share/pixmaps/luakit.png # FS#32938
+}
diff --git a/community/luakit/luakit.install b/community/luakit/luakit.install
new file mode 100644
index 000000000..3010f25a4
--- /dev/null
+++ b/community/luakit/luakit.install
@@ -0,0 +1,14 @@
+post_install() {
+ echo 'Configuration files are located in /etc/xdg/luakit/*.lua'
+ echo 'Copy them to ~/.config/luakit/ (this folder is created on 1st start of Luakit) for local config.'
+ echo 'You can edit them in place for global changes.'
+ echo 'You NEED to replace local configs after each update!'
+}
+
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_remove() {
+ post_upgrade
+}
diff --git a/community/luaposix/PKGBUILD b/community/luaposix/PKGBUILD
new file mode 100644
index 000000000..e937311b8
--- /dev/null
+++ b/community/luaposix/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 93201 2013-06-28 13:21:16Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+# Contributor: Laszlo Papp <djszapi at archlinux us>
+# Contributor: Donald Ephraim Curtis <dcurtis@gmail.com>
+
+pkgbase=luaposix
+pkgname=('lua-posix' 'lua51-posix')
+pkgver=29
+pkgrel=1
+pkgdesc='A POSIX library for Lua programming language'
+arch=('i686' 'x86_64')
+url='https://github.com/luaposix/luaposix'
+license=('GPL' 'LGPL')
+makedepends=('lua' 'lua51' 'lua51-bitop' 'git')
+options=('!libtool')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/luaposix/luaposix/archive/v$pkgver.tar.gz")
+md5sums=('5c3e49c51caeee6eb5f9dcb2bb082bed')
+
+prepare() {
+ # do bootstrap in prepare, as it clone external git
+ (cd $pkgbase-$pkgver && ./bootstrap)
+ cp -r $pkgbase-$pkgver $pkgbase-$pkgver-51
+}
+
+build() {
+ msg2 'Build with lua 5.2'
+ cd $pkgbase-$pkgver
+ ./configure \
+ LUA=/usr/bin/lua \
+ --prefix=/usr \
+ --libdir=/usr/lib/lua/5.2 \
+ --datadir=/usr/share/lua/5.2 \
+ --docdir=/usr/share/doc/lua-posix
+ make
+ msg2 'Build with lua 5.1'
+ cd "$srcdir/$pkgbase-$pkgver-51"
+ ./configure \
+ LUA=/usr/bin/lua5.1 \
+ LUA_INCLUDE=-I/usr/include/lua5.1 \
+ --prefix=/usr \
+ --libdir=/usr/lib/lua/5.1 \
+ --datadir=/usr/share/lua/5.1 \
+ --docdir=/usr/share/doc/lua51-posix
+ make
+}
+
+package_lua-posix() {
+ depends=('lua')
+
+ cd $pkgbase-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
+
+package_lua51-posix() {
+ depends=('lua51' 'lua51-bitop')
+ conflicts=('luaposix')
+ replaces=('luaposix')
+
+ cd $pkgbase-$pkgver-51
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/luasec/PKGBUILD b/community/luasec/PKGBUILD
new file mode 100644
index 000000000..ac93b46cb
--- /dev/null
+++ b/community/luasec/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 81569 2012-12-24 14:48:29Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Dwayne Bent <dbb.1@liqd.org>
+# Contributor: Paul-Sebastian Manole <brokenthorn@gmail.com>
+
+pkgbase=luasec
+pkgname=(lua51-sec)
+pkgver=0.4.1
+pkgrel=4
+pkgdesc='Lua bindings for OpenSSL library to provide TLS/SSL communication.'
+arch=('i686' 'x86_64')
+url='http://luasec.luaforge.net/'
+license=('MIT')
+#makedepends=('openssl' 'lua' 'lua-socket' 'lua51' 'lua51-socket')
+makedepends=('openssl' 'lua51' 'lua51-socket')
+source=("http://www.inf.puc-rio.br/~brunoos/luasec/download/luasec-$pkgver.tar.gz")
+md5sums=('b8a5fde3b3fdb6174f54cd51d7f53e12')
+
+build() {
+ cp -a luasec-$pkgver luasec-$pkgver-51
+ msg2 'Building with lua 5.2'
+ cd luasec-$pkgver
+ make linux
+ msg2 'Building with lua 5.1'
+ cd ../luasec-$pkgver-51
+ make INCDIR=-I/usr/include/lua5.1 linux
+}
+
+#package_lua-sec() {
+# depends=('openssl' 'lua' 'lua-socket')
+#
+# install -dm755 "$pkgdir/usr/lib/lua/5.2"
+# cd luasec-$pkgver
+# make LUACPATH="$pkgdir/usr/lib/lua/5.2" LUAPATH="$pkgdir/usr/share/lua/5.2" install
+# install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+#}
+
+package_lua51-sec() {
+ depends=('openssl' 'lua51' 'lua51-socket')
+ conflicts=('luasec')
+ replaces=('luasec')
+
+ install -dm755 "$pkgdir/usr/lib/lua/5.1"
+ cd luasec-$pkgver-51
+ make LUACPATH="$pkgdir/usr/lib/lua/5.1" LUAPATH="$pkgdir/usr/share/lua/5.1" install
+ install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=4 sw=4 et:
diff --git a/community/luasocket/PKGBUILD b/community/luasocket/PKGBUILD
new file mode 100644
index 000000000..d659a6086
--- /dev/null
+++ b/community/luasocket/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 81274 2012-12-15 15:00:36Z seblu $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Anders Bergh <anders1@gmail.com>
+
+pkgbase=luasocket
+pkgname=(lua51-socket)
+pkgver=2.0.2
+pkgrel=5
+pkgdesc='Networking support library for the Lua language'
+arch=('i686' 'x86_64')
+url='http://www.cs.princeton.edu/~diego/professional/luasocket/'
+license=('MIT')
+replaces=('luasocket')
+conflicts=('luasocket')
+makedepends=('lua' 'lua51')
+source=("http://luaforge.net/frs/download.php/2664/luasocket-$pkgver.tar.gz"
+ 'luasocket-unixsocket.patch')
+md5sums=('41445b138deb7bcfe97bff957503da8e'
+ '8d116bb70bd7a2fa15cbe949d4cfc35e')
+
+build() {
+# cp -a luasocket-$pkgver luasocket-$pkgver-52
+# msg2 'Building with lua 5.2'
+# pushd luasocket-$pkgver-52
+# patch -Np1 -i "$srcdir/luasocket-unixsocket.patch"
+# make
+# popd
+ msg2 'Building with lua 5.1'
+ cd luasocket-$pkgver
+ patch -Np1 -i "$srcdir/luasocket-unixsocket.patch"
+ make LUAINC=-I/usr/include/lua5.1
+}
+
+#package_lua-socket() {
+# depends=('lua')
+# cd luasocket-$pkgver-52
+# make DESTDIR="$pkgdir/" \
+# INSTALL_TOP_SHARE='$(DESTDIR)/usr/share/lua/5.2' \
+# INSTALL_TOP_LIB='$(DESTDIR)/usr/lib/lua/5.2' install
+# install -D -m0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+#}
+
+package_lua51-socket() {
+ depends=('lua51')
+ cd luasocket-$pkgver
+ make DESTDIR="$pkgdir/" \
+ INSTALL_TOP_SHARE='$(DESTDIR)/usr/share/lua/5.1' \
+ INSTALL_TOP_LIB='$(DESTDIR)/usr/lib/lua/5.1' install
+ install -D -m0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/luasocket/luasocket-unixsocket.patch b/community/luasocket/luasocket-unixsocket.patch
new file mode 100644
index 000000000..07c9401fa
--- /dev/null
+++ b/community/luasocket/luasocket-unixsocket.patch
@@ -0,0 +1,33 @@
+diff -wbBur luasocket-2.0.2/makefile luasocket-2.0.2.my/makefile
+--- luasocket-2.0.2/makefile 2007-10-15 04:21:05.000000000 +0000
++++ luasocket-2.0.2.my/makefile 2011-03-09 12:00:54.000000000 +0000
+@@ -10,6 +10,8 @@
+ INSTALL_SOCKET_LIB=$(INSTALL_TOP_LIB)/socket
+ INSTALL_MIME_SHARE=$(INSTALL_TOP_SHARE)/mime
+ INSTALL_MIME_LIB=$(INSTALL_TOP_LIB)/mime
++#
++INSTALL_UNIX_LIB=$(INSTALL_SOCKET_LIB)
+
+ all clean:
+ cd src; $(MAKE) $@
+@@ -45,6 +47,8 @@
+ #cd src; $(INSTALL_DATA) $(TO_MIME_SHARE) $(INSTALL_MIME_SHARE)
+ cd src; mkdir -p $(INSTALL_MIME_LIB)
+ cd src; $(INSTALL_EXEC) $(MIME_SO) $(INSTALL_MIME_LIB)/core.$(EXT)
++ cd src; mkdir -p $(INSTALL_UNIX_LIB)
++ cd src; $(INSTALL_EXEC) $(UNIX_SO) $(INSTALL_UNIX_LIB)/$(UNIX_SO)
+
+ #------
+ # End of makefile
+diff -wbBur luasocket-2.0.2/src/makefile luasocket-2.0.2.my/src/makefile
+--- luasocket-2.0.2/src/makefile 2007-10-15 04:21:05.000000000 +0000
++++ luasocket-2.0.2.my/src/makefile 2011-03-09 12:02:25.000000000 +0000
+@@ -47,7 +47,7 @@
+ usocket.o \
+ unix.o
+
+-all: $(SOCKET_SO) $(MIME_SO)
++all: $(SOCKET_SO) $(MIME_SO) $(UNIX_SO)
+
+ $(SOCKET_SO): $(SOCKET_OBJS)
+ $(LD) $(LDFLAGS) -o $@ $(SOCKET_OBJS)
diff --git a/community/luasql/PKGBUILD b/community/luasql/PKGBUILD
new file mode 100644
index 000000000..1969e2304
--- /dev/null
+++ b/community/luasql/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 87008 2013-03-25 19:16:48Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sébastien Luttringer <seblu@archlinux.org>
+# Contributor: Anders Bergh <anders1@gmail.com>
+
+pkgbase=luasql
+pkgname=('lua-sql-mysql' 'lua-sql-postgres' 'lua-sql-sqlite')
+pkgver=2.2.0
+pkgrel=3
+arch=('i686' 'x86_64')
+url='http://www.keplerproject.org/luasql/'
+license=('MIT')
+makedepends=('lua' 'libmariadbclient' 'postgresql-libs' 'sqlite')
+source=("https://github.com/downloads/keplerproject/luasql/luasql-$pkgver.tar.gz"
+ 'lua52.patch')
+md5sums=('59d72db444c6369c936d4f03694db6b7'
+ 'a1d6083215e7a83cfc08621b6998914c')
+
+build() {
+ cd $pkgbase-$pkgver
+ patch -p1 < "$srcdir/lua52.patch"
+ msg2 'Building sqlite support'
+ make T=sqlite3 PREFIX=/usr DRIVER_LIBS='-lsqlite3' DRIVER_INCS='-fPIC -std=c99'
+ msg2 'Building PostgreSQL support'
+ make T=postgres PREFIX=/usr DRIVER_LIBS='-lpq' DRIVER_INCS='-fPIC'
+ msg2 'Building MySQL support'
+ make T=mysql PREFIX=/usr DRIVER_LIBS="$(mysql_config --libs)" \
+ DRIVER_INCS="$(mysql_config --include) -fPIC"
+}
+
+package_lua-sql-mysql() {
+ pkgdesc='MySQL module for Lua'
+ depends=('lua' 'libmariadbclient')
+ conflicts=('luasql-mysql')
+ replaces=('luasql-mysql')
+
+ cd $pkgbase-$pkgver
+ install -Dm644 src/mysql.so "$pkgdir/usr/lib/lua/5.2/luasql/mysql.so"
+ install -Dm644 doc/us/license.html "$pkgdir/usr/share/licenses/$pkgname/license.html"
+}
+
+package_lua-sql-postgres() {
+ pkgdesc='PostgreSQL module for Lua'
+ depends=('lua' 'postgresql-libs')
+
+ cd $pkgbase-$pkgver
+ install -Dm644 src/postgres.so "$pkgdir/usr/lib/lua/5.2/luasql/postgres.so"
+ install -Dm644 doc/us/license.html "$pkgdir/usr/share/licenses/$pkgname/license.html"
+}
+
+package_lua-sql-sqlite() {
+ pkgdesc='SQLite module for Lua'
+ depends=('lua' 'sqlite')
+
+ cd $pkgbase-$pkgver
+ install -Dm644 src/sqlite3.so "$pkgdir/usr/lib/lua/5.2/luasql/sqlite3.so"
+ install -Dm644 doc/us/license.html "$pkgdir/usr/share/licenses/$pkgname/license.html"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/luasql/lua52.patch b/community/luasql/lua52.patch
new file mode 100644
index 000000000..6f4eb59e0
--- /dev/null
+++ b/community/luasql/lua52.patch
@@ -0,0 +1,283 @@
+diff -wbBur luasql-2.2.0/src/ls_firebird.c luasql-2.2.0.my/src/ls_firebird.c
+--- luasql-2.2.0/src/ls_firebird.c 2009-10-20 20:38:38.000000000 +0400
++++ luasql-2.2.0.my/src/ls_firebird.c 2012-11-14 19:06:50.508901839 +0400
+@@ -1008,13 +1008,13 @@
+ ** Create metatables for each class of object.
+ */
+ static void create_metatables (lua_State *L) {
+- struct luaL_reg environment_methods[] = {
++ struct luaL_Reg environment_methods[] = {
+ {"__gc", env_gc},
+ {"close", env_close},
+ {"connect", env_connect},
+ {NULL, NULL},
+ };
+- struct luaL_reg connection_methods[] = {
++ struct luaL_Reg connection_methods[] = {
+ {"__gc", conn_gc},
+ {"close", conn_close},
+ {"execute", conn_execute},
+@@ -1024,7 +1024,7 @@
+ {"escape", conn_escape},
+ {NULL, NULL},
+ };
+- struct luaL_reg cursor_methods[] = {
++ struct luaL_Reg cursor_methods[] = {
+ {"__gc", cur_gc},
+ {"close", cur_close},
+ {"fetch", cur_fetch},
+@@ -1043,7 +1043,7 @@
+ ** driver open method.
+ */
+ LUASQL_API int luaopen_luasql_firebird (lua_State *L) {
+- struct luaL_reg driver[] = {
++ struct luaL_Reg driver[] = {
+ {"firebird", create_environment},
+ {NULL, NULL},
+ };
+diff -wbBur luasql-2.2.0/src/ls_mysql.c luasql-2.2.0.my/src/ls_mysql.c
+--- luasql-2.2.0/src/ls_mysql.c 2009-10-20 20:38:38.000000000 +0400
++++ luasql-2.2.0.my/src/ls_mysql.c 2012-11-14 19:06:56.782236770 +0400
+@@ -511,13 +511,13 @@
+ ** Create metatables for each class of object.
+ */
+ static void create_metatables (lua_State *L) {
+- struct luaL_reg environment_methods[] = {
++ struct luaL_Reg environment_methods[] = {
+ {"__gc", env_close},
+ {"close", env_close},
+ {"connect", env_connect},
+ {NULL, NULL},
+ };
+- struct luaL_reg connection_methods[] = {
++ struct luaL_Reg connection_methods[] = {
+ {"__gc", conn_close},
+ {"close", conn_close},
+ {"escape", escape_string},
+@@ -528,7 +528,7 @@
+ {"getlastautoid", conn_getlastautoid},
+ {NULL, NULL},
+ };
+- struct luaL_reg cursor_methods[] = {
++ struct luaL_Reg cursor_methods[] = {
+ {"__gc", cur_close},
+ {"close", cur_close},
+ {"getcolnames", cur_getcolnames},
+@@ -562,7 +562,7 @@
+ ** driver open method.
+ */
+ LUASQL_API int luaopen_luasql_mysql (lua_State *L) {
+- struct luaL_reg driver[] = {
++ struct luaL_Reg driver[] = {
+ {"mysql", create_environment},
+ {NULL, NULL},
+ };
+diff -wbBur luasql-2.2.0/src/ls_oci8.c luasql-2.2.0.my/src/ls_oci8.c
+--- luasql-2.2.0/src/ls_oci8.c 2009-10-20 20:38:38.000000000 +0400
++++ luasql-2.2.0.my/src/ls_oci8.c 2012-11-14 19:06:39.182232288 +0400
+@@ -814,13 +814,13 @@
+ ** Create metatables for each class of object.
+ */
+ static void create_metatables (lua_State *L) {
+- struct luaL_reg environment_methods[] = {
++ struct luaL_Reg environment_methods[] = {
+ {"__gc", env_close},
+ {"close", env_close},
+ {"connect", env_connect},
+ {NULL, NULL},
+ };
+- struct luaL_reg connection_methods[] = {
++ struct luaL_Reg connection_methods[] = {
+ {"__gc", conn_close},
+ {"close", conn_close},
+ {"execute", conn_execute},
+@@ -829,7 +829,7 @@
+ {"setautocommit", conn_setautocommit},
+ {NULL, NULL},
+ };
+- struct luaL_reg cursor_methods[] = {
++ struct luaL_Reg cursor_methods[] = {
+ {"__gc", cur_close},
+ {"close", cur_close},
+ {"getcolnames", cur_getcolnames},
+@@ -850,7 +850,7 @@
+ ** driver open method.
+ */
+ LUASQL_API int luaopen_luasql_oci8 (lua_State *L) {
+- struct luaL_reg driver[] = {
++ struct luaL_Reg driver[] = {
+ {"oci8", create_environment},
+ {NULL, NULL},
+ };
+diff -wbBur luasql-2.2.0/src/ls_odbc.c luasql-2.2.0.my/src/ls_odbc.c
+--- luasql-2.2.0/src/ls_odbc.c 2009-10-20 20:38:38.000000000 +0400
++++ luasql-2.2.0.my/src/ls_odbc.c 2012-11-14 19:06:53.652235973 +0400
+@@ -638,13 +638,13 @@
+ ** Create metatables for each class of object.
+ */
+ static void create_metatables (lua_State *L) {
+- struct luaL_reg environment_methods[] = {
++ struct luaL_Reg environment_methods[] = {
+ {"__gc", env_close},
+ {"close", env_close},
+ {"connect", env_connect},
+ {NULL, NULL},
+ };
+- struct luaL_reg connection_methods[] = {
++ struct luaL_Reg connection_methods[] = {
+ {"__gc", conn_close},
+ {"close", conn_close},
+ {"execute", conn_execute},
+@@ -653,7 +653,7 @@
+ {"setautocommit", conn_setautocommit},
+ {NULL, NULL},
+ };
+- struct luaL_reg cursor_methods[] = {
++ struct luaL_Reg cursor_methods[] = {
+ {"__gc", cur_close},
+ {"close", cur_close},
+ {"fetch", cur_fetch},
+@@ -701,7 +701,7 @@
+ ** driver open method.
+ */
+ LUASQL_API int luaopen_luasql_odbc (lua_State *L) {
+- struct luaL_reg driver[] = {
++ struct luaL_Reg driver[] = {
+ {"odbc", create_environment},
+ {NULL, NULL},
+ };
+diff -wbBur luasql-2.2.0/src/ls_postgres.c luasql-2.2.0.my/src/ls_postgres.c
+--- luasql-2.2.0/src/ls_postgres.c 2009-10-20 20:38:38.000000000 +0400
++++ luasql-2.2.0.my/src/ls_postgres.c 2012-11-14 19:06:47.275567683 +0400
+@@ -551,13 +551,13 @@
+ ** Create metatables for each class of object.
+ */
+ static void create_metatables (lua_State *L) {
+- struct luaL_reg environment_methods[] = {
++ struct luaL_Reg environment_methods[] = {
+ {"__gc", env_gc},
+ {"close", env_close},
+ {"connect", env_connect},
+ {NULL, NULL},
+ };
+- struct luaL_reg connection_methods[] = {
++ struct luaL_Reg connection_methods[] = {
+ {"__gc", conn_gc},
+ {"close", conn_close},
+ {"escape", conn_escape},
+@@ -567,7 +567,7 @@
+ {"setautocommit", conn_setautocommit},
+ {NULL, NULL},
+ };
+- struct luaL_reg cursor_methods[] = {
++ struct luaL_Reg cursor_methods[] = {
+ {"__gc", cur_gc},
+ {"close", cur_close},
+ {"getcolnames", cur_getcolnames},
+@@ -600,7 +600,7 @@
+ ** driver open method.
+ */
+ LUASQL_API int luaopen_luasql_postgres (lua_State *L) {
+- struct luaL_reg driver[] = {
++ struct luaL_Reg driver[] = {
+ {"postgres", create_environment},
+ {NULL, NULL},
+ };
+diff -wbBur luasql-2.2.0/src/ls_sqlite3.c luasql-2.2.0.my/src/ls_sqlite3.c
+--- luasql-2.2.0/src/ls_sqlite3.c 2009-10-20 20:38:38.000000000 +0400
++++ luasql-2.2.0.my/src/ls_sqlite3.c 2012-11-14 19:06:26.115562295 +0400
+@@ -560,13 +560,13 @@
+ */
+ static void create_metatables (lua_State *L)
+ {
+- struct luaL_reg environment_methods[] = {
++ struct luaL_Reg environment_methods[] = {
+ {"__gc", env_close},
+ {"close", env_close},
+ {"connect", env_connect},
+ {NULL, NULL},
+ };
+- struct luaL_reg connection_methods[] = {
++ struct luaL_Reg connection_methods[] = {
+ {"__gc", conn_close},
+ {"close", conn_close},
+ {"escape", conn_escape},
+@@ -577,7 +577,7 @@
+ {"getlastautoid", conn_getlastautoid},
+ {NULL, NULL},
+ };
+- struct luaL_reg cursor_methods[] = {
++ struct luaL_Reg cursor_methods[] = {
+ {"__gc", cur_close},
+ {"close", cur_close},
+ {"getcolnames", cur_getcolnames},
+@@ -611,7 +611,7 @@
+ */
+ LUASQL_API int luaopen_luasql_sqlite3(lua_State *L)
+ {
+- struct luaL_reg driver[] = {
++ struct luaL_Reg driver[] = {
+ {"sqlite3", create_environment},
+ {NULL, NULL},
+ };
+diff -wbBur luasql-2.2.0/src/ls_sqlite.c luasql-2.2.0.my/src/ls_sqlite.c
+--- luasql-2.2.0/src/ls_sqlite.c 2009-10-20 20:38:38.000000000 +0400
++++ luasql-2.2.0.my/src/ls_sqlite.c 2012-11-14 19:06:43.845566808 +0400
+@@ -518,13 +518,13 @@
+ */
+ static void create_metatables (lua_State *L)
+ {
+- struct luaL_reg environment_methods[] = {
++ struct luaL_Reg environment_methods[] = {
+ {"__gc", env_close},
+ {"close", env_close},
+ {"connect", env_connect},
+ {NULL, NULL},
+ };
+- struct luaL_reg connection_methods[] = {
++ struct luaL_Reg connection_methods[] = {
+ {"__gc", conn_close},
+ {"close", conn_close},
+ {"escape", conn_escape},
+@@ -534,7 +534,7 @@
+ {"setautocommit", conn_setautocommit},
+ {NULL, NULL},
+ };
+- struct luaL_reg cursor_methods[] = {
++ struct luaL_Reg cursor_methods[] = {
+ {"__gc", cur_close},
+ {"close", cur_close},
+ {"getcolnames", cur_getcolnames},
+@@ -568,7 +568,7 @@
+ */
+ LUASQL_API int luaopen_luasql_sqlite(lua_State *L)
+ {
+- struct luaL_reg driver[] = {
++ struct luaL_Reg driver[] = {
+ {"sqlite", create_environment},
+ {NULL, NULL},
+ };
+diff -wbBur luasql-2.2.0/src/luasql.c luasql-2.2.0.my/src/luasql.c
+--- luasql-2.2.0/src/luasql.c 2009-10-20 20:38:38.000000000 +0400
++++ luasql-2.2.0.my/src/luasql.c 2012-11-14 19:06:32.412230565 +0400
+@@ -60,7 +60,7 @@
+ /*
+ ** Create a metatable and leave it on top of the stack.
+ */
+-LUASQL_API int luasql_createmeta (lua_State *L, const char *name, const luaL_reg *methods) {
++LUASQL_API int luasql_createmeta (lua_State *L, const char *name, const luaL_Reg *methods) {
+ if (!luaL_newmetatable (L, name))
+ return 0;
+
+diff -wbBur luasql-2.2.0/src/luasql.h luasql-2.2.0.my/src/luasql.h
+--- luasql-2.2.0/src/luasql.h 2009-10-20 20:38:38.000000000 +0400
++++ luasql-2.2.0.my/src/luasql.h 2012-11-14 19:06:29.002229695 +0400
+@@ -22,7 +22,7 @@
+
+ LUASQL_API int luasql_faildirect (lua_State *L, const char *err);
+ LUASQL_API int luasql_failmsg (lua_State *L, const char *err, const char *m);
+-LUASQL_API int luasql_createmeta (lua_State *L, const char *name, const luaL_reg *methods);
++LUASQL_API int luasql_createmeta (lua_State *L, const char *name, const luaL_Reg *methods);
+ LUASQL_API void luasql_setmeta (lua_State *L, const char *name);
+ LUASQL_API void luasql_set_info (lua_State *L);
+
diff --git a/community/luminancehdr/PKGBUILD b/community/luminancehdr/PKGBUILD
new file mode 100644
index 000000000..1815ec67f
--- /dev/null
+++ b/community/luminancehdr/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 92941 2013-06-19 21:09:46Z bpiotrowski $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Contributor: Dmitry N. Shilov <stormblast@land.ru>
+
+pkgname=luminancehdr
+pkgver=2.3.1
+pkgrel=3
+pkgdesc='Open source graphical user interface application that aims to provide a workflow for HDR imaging'
+arch=('i686' 'x86_64')
+url='http://qtpfsgui.sourceforge.net/'
+license=('GPL')
+depends=('exiv2' 'fftw' 'gsl' 'lcms2' 'libraw' 'openexr' 'qtwebkit')
+makedepends=('cmake' 'boost' 'gtest')
+optdepends=('hugin: align image stack functionality')
+install=$pkgname.install
+changelog=$pkgname.changelog
+options=('!emptydirs')
+source=(http://sourceforge.net/projects/qtpfsgui/files/luminance/${pkgver}/luminance-hdr-${pkgver}.tar.bz2)
+sha256sums=('7a2a81cd0f2da6b6780bdd47e5f902c9dfaeb8107d763ea63007b6fcdcb4d23b')
+
+build() {
+ cd "${srcdir}"
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/luminancehdr/luminancehdr.changelog b/community/luminancehdr/luminancehdr.changelog
new file mode 100644
index 000000000..ab6898db8
--- /dev/null
+++ b/community/luminancehdr/luminancehdr.changelog
@@ -0,0 +1,51 @@
+2013-06-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * luminancehdr 2.3.1-3 libraw rebuild
+
+2013-04-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * luminancehdr 2.3.1-1
+
+2012-07-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * luminancehdr 2.3.0-2 exiv2-0.23 rebuild
+
+2012-07-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * luminancehdr 2.3.0-1
+
+2012-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * luminancehdr 2.2.1-1
+
+2012-01-27 Eric Belanger <eric@archlinux.org>
+ * Rebuild against libpng 1.5 and libtiff 4.0
+
+2011-08-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * luminancehdr 2.1.0-1
+
+2011-05-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * luminancehdr 2.0.2-1
+
+2010-10-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * exiv2 0.20 rebuild
+
+2010-10-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 2.0.1
+
+2010-06-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package renamed to LuminanceHDR
+ * Update to major release 2.0.0
+
+2010-03-09 Andrea Scarpino <andrea@archlinux.org>
+ * exiv2 0.19 rebuild
+
+2009-11-02 Biru Ionut <ionut@archlinux.ro>
+ * add translation and fix segfault on old i686 procesors
+
+2009-04-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v1.9.3
+
+2009-04-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Minor version (v1.9.2-3) update caused by exiv2 upgrade.
+
+2008-11-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Minor version (v1.9.2-2) update caused by openexr upgrade.
+
+2008-09-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community]
diff --git a/community/luminancehdr/luminancehdr.install b/community/luminancehdr/luminancehdr.install
new file mode 100644
index 000000000..279762804
--- /dev/null
+++ b/community/luminancehdr/luminancehdr.install
@@ -0,0 +1,12 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/luxrays/PKGBUILD b/community/luxrays/PKGBUILD
new file mode 100644
index 000000000..9d3769717
--- /dev/null
+++ b/community/luxrays/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 94030 2013-07-13 12:33:25Z svenstaro $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=('luxrays' 'luxmark')
+pkgver=1.2.1
+_pkgver=475fbf15f0ca
+pkgrel=1
+pkgdesc="Accelerate the ray intersection process by using GPUs"
+arch=('i686' 'x86_64')
+url="http://www.luxrender.net/"
+license=('GPL')
+depends=('freeimage' 'libcl' 'libgl')
+makedepends=('cmake' 'boost' 'mesa' 'opencl-headers' 'glew' 'freeglut' 'qt4')
+source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2 \
+ http://www.luxrender.net/release/luxmark/room_scene_v2.1.zip \
+ luxmark_scenes_path.diff)
+md5sums=('ac98e9a42ecc20d97d4c12dcdf17e315'
+ 'ae917f025e32e20b1d20ebf8d22204cb'
+ '1fd2a6f32e2822b5e0f147304292a1b9')
+
+build() {
+ cd "$srcdir/luxrender-luxrays-$_pkgver"
+
+ # change the path to luxmark scenes
+ patch -Np1 < "$srcdir/luxmark_scenes_path.diff" || true
+
+ export CXXFLAGS="$CXXFLAGS -lpthread"
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DLUXRAYS_DISABLE_OPENCL=OFF \
+ -DBUILD_LUXMARK=ON \
+ .
+ make
+}
+
+package_luxrays() {
+ optdepends=('glew: demos (SmallLuxGPU etc.)' 'freeglut: demos (SmallLuxGPU etc.)'
+ 'boost-libs: demos (SmallLuxGPU etc.)')
+
+ cd "$srcdir/luxrender-luxrays-$_pkgver"
+
+ install -d -m755 "$pkgdir"/usr/{bin,include,lib}
+ install -m755 bin/* "$pkgdir"/usr/bin
+ install -m644 lib/* "$pkgdir"/usr/lib
+ cp -a include "$pkgdir"/usr
+
+ # remove luxmark (packaged separately)
+ rm "$pkgdir"/usr/bin/luxmark
+}
+
+package_luxmark() {
+ pkgdesc="OpenCL benchmark tool"
+ depends+=("${depends[@]}" 'boost-libs' 'qt4')
+
+ cd "$srcdir/luxrender-luxrays-$_pkgver"
+ install -d -m755 "$pkgdir"/usr/{bin,share}
+ install -m755 bin/luxmark "$pkgdir"/usr/bin
+
+ # install scenes
+ cp -a samples/luxmark/scenes "$pkgdir"/usr/share/luxmark
+ cp -a "$srcdir"/samples/luxmark/scenes/room "$pkgdir"/usr/share/luxmark
+ # fix the paths
+ sed -i 's|scenes/|/usr/share/luxmark/|' "$pkgdir"/usr/share/luxmark/*/*.cfg "$pkgdir"/usr/share/luxmark/*/*.scn
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/luxrays/luxmark_scenes_path.diff b/community/luxrays/luxmark_scenes_path.diff
new file mode 100644
index 000000000..80f909a05
--- /dev/null
+++ b/community/luxrays/luxmark_scenes_path.diff
@@ -0,0 +1,20 @@
+diff -rup luxrender-luxrays-475fbf15f0ca/samples/luxmark/luxmarkapp.h luxrender-luxrays-475fbf15f0ca.new/samples/luxmark/luxmarkapp.h
+--- luxrender-luxrays-475fbf15f0ca/samples/luxmark/luxmarkapp.h 2013-02-22 22:29:42.000000000 +0100
++++ luxrender-luxrays-475fbf15f0ca.new/samples/luxmark/luxmarkapp.h 2013-06-24 14:54:12.946992718 +0200
+@@ -36,11 +36,11 @@
+ //------------------------------------------------------------------------------
+
+ // List of supported scenes
+-#define SCENE_ROOM "scenes/room/render.cfg"
+-#define SCENE_SALA "scenes/sala/render.cfg"
+-#define SCENE_LUXBALL_HDR "scenes/luxball/render-hdr.cfg"
+-#define SCENE_LUXBALL "scenes/luxball/render.cfg"
+-#define SCENE_LUXBALL_SKY "scenes/luxball/render-sunset.cfg"
++#define SCENE_ROOM "/usr/share/luxmark/room/render.cfg"
++#define SCENE_SALA "/usr/share/luxmark/sala/render.cfg"
++#define SCENE_LUXBALL_HDR "/usr/share/luxmark/luxball/render-hdr.cfg"
++#define SCENE_LUXBALL "/usr/share/luxmark/luxball/render.cfg"
++#define SCENE_LUXBALL_SKY "/usr/share/luxmark/luxball/render-sunset.cfg"
+
+ class LuxMarkApp : public QApplication {
+ Q_OBJECT
diff --git a/community/lwm/PKGBUILD b/community/lwm/PKGBUILD
new file mode 100644
index 000000000..61fed43ce
--- /dev/null
+++ b/community/lwm/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 94155 2013-07-15 07:14:16Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Jeff Mickey <j@codemac.net>
+# Contributor: Ben Mazer <blm@groknil.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=lwm
+pkgver=1.2.3
+pkgrel=1
+pkgdesc="A very light weight window manager"
+arch=('i686' 'x86_64')
+url="http://www.jfc.org.uk/software/lwm.html"
+license=('GPL')
+depends=('xorg-server' 'libxext' 'libsm')
+makedepends=('imake')
+source=(http://www.jfc.org.uk/files/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('439789a5396107cca5f54e108760c1f4')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ xmkmf
+ sed -i 's/^LOCAL_LIBRARIES.*/& $(ICELIB)/' Makefile
+ make
+ strip lwm
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm755 lwm "$pkgdir/usr/bin/lwm"
+ install -Dm644 lwm.man "$pkgdir/usr/share/man/man1/lwm.1"
+}
diff --git a/community/lwp/PKGBUILD b/community/lwp/PKGBUILD
new file mode 100644
index 000000000..445d5a001
--- /dev/null
+++ b/community/lwp/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 66195 2012-02-23 03:06:28Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=lwp
+pkgver=2.6
+pkgrel=2
+pkgdesc="Light weight process library"
+arch=(i686 x86_64)
+url="http://www.coda.cs.cmu.edu"
+options=('!libtool')
+license=("LGPL")
+depends=(glibc)
+source=(http://www.coda.cs.cmu.edu/pub/lwp/src/lwp-$pkgver.tar.gz)
+md5sums=('65ba6faddf2c9741d4a481b0e9661a34')
+
+build() {
+ cd $srcdir/lwp-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/lxappearance-obconf/PKGBUILD b/community/lxappearance-obconf/PKGBUILD
new file mode 100644
index 000000000..92b47b7fb
--- /dev/null
+++ b/community/lxappearance-obconf/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 71868 2012-06-02 14:56:09Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+
+pkgname=lxappearance-obconf
+pkgver=0.2.0
+pkgrel=1
+pkgdesc='A plugin for LXAppearance to configure Openbox'
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('lxappearance' 'openbox')
+makedepends=('intltool')
+source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz)
+md5sums=('8bf23c90febe6a655e0f86c80e44725d')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
diff --git a/community/lxappearance/PKGBUILD b/community/lxappearance/PKGBUILD
new file mode 100644
index 000000000..322e4c7d6
--- /dev/null
+++ b/community/lxappearance/PKGBUILD
@@ -0,0 +1,30 @@
+#$Id: PKGBUILD 71027 2012-05-22 05:49:29Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+
+pkgname=lxappearance
+pkgver=0.5.2
+pkgrel=1
+pkgdesc="Feature-rich GTK+ theme switcher of the LXDE Desktop"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('gtk2' 'intltool')
+makedepends=('pkgconfig')
+source=(http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz)
+md5sums=('a088c6ef08fd25df7dc3be5b07168bbe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/lxappearance/gtk-3.0.patch b/community/lxappearance/gtk-3.0.patch
new file mode 100644
index 000000000..a65615cd7
--- /dev/null
+++ b/community/lxappearance/gtk-3.0.patch
@@ -0,0 +1,111 @@
+--- src/lxappearance.c 2011-07-29 16:50:19.000000000 +0200
++++ src/lxappearance1.c 2011-07-30 18:51:40.323368701 +0200
+@@ -153,21 +153,33 @@
+
+ char* file_path = g_build_filename(g_get_home_dir(), ".gtkrc-2.0", NULL);
+ GString* content = g_string_sized_new(512);
++ GString* content3 = g_string_sized_new(512);
+ g_string_append(content,
+ "# DO NOT EDIT! This file will be overwritten by LXAppearance.\n"
+ "# Any customization should be done in ~/.gtkrc-2.0.mine instead.\n\n");
++ g_string_append(content3, "[Settings]\n"
++ "# DO NOT EDIT! This file will be overwritten by LXAppearance.\n");
++
+ if(app.widget_theme)
+ g_string_append_printf(content,
+ "gtk-theme-name=\"%s\"\n", app.widget_theme);
++ g_string_append_printf(content3,
++ "gtk-theme-name = %s\n", app.widget_theme);
+ if(app.icon_theme)
+ g_string_append_printf(content,
+- "gtk-icon-theme-name=\"%s\"\n", app.icon_theme);
++ "gtk-icon-theme-name=\"%s\"\n", app.icon_theme);
++ g_string_append_printf(content3,
++ "gtk-icon-theme-name = %s\n", app.icon_theme);
+ if(app.default_font)
+ g_string_append_printf(content,
+ "gtk-font-name=\"%s\"\n", app.default_font);
++ g_string_append_printf(content3,
++ "gtk-font-name = %s\n", app.default_font);
+ if(app.cursor_theme)
+ g_string_append_printf(content,
+ "gtk-cursor-theme-name=\"%s\"\n", app.cursor_theme);
++ g_string_append_printf(content3,
++ "gtk-cursor-theme-name = %s\n", app.cursor_theme);
+ save_cursor_theme_name();
+
+ g_string_append_printf(content,
+@@ -196,20 +208,46 @@
+ app.enable_hinting ? 1 : 0
+ );
+
++ g_string_append_printf(content3,
++ "gtk-cursor-theme-size = %d\n"
++ "gtk-toolbar-style = %s\n"
++ "gtk-toolbar-icon-size = %s\n"
++ "gtk-button-images = %d\n"
++ "gtk-menu-images = %d\n"
++ "gtk-enable-event-sounds = %d\n"
++ "gtk-enable-input-feedback-sounds = %d\n"
++ "gtk-xft-antialias = %d\n"
++ "gtk-xft-hinting = %d\n",
++ app.cursor_theme_size,
++ tb_styles[app.toolbar_style],
++ tb_icon_sizes[app.toolbar_icon_size],
++ app.button_images ? 1 : 0,
++ app.menu_images ? 1 : 0,
++ app.enable_event_sound ? 1 : 0,
++ app.enable_input_feedback ? 1 : 0,
++ app.enable_antialising ? 1 : 0,
++ app.enable_hinting ? 1 : 0
++ );
++
+ if(app.hinting_style)
+ g_string_append_printf(content,
+ "gtk-xft-hintstyle=\"%s\"\n", app.hinting_style);
++ g_string_append_printf(content3,
++ "gtk-xft-hintstyle = %s\n", app.hinting_style);
+
+ if(app.font_rgba)
+ g_string_append_printf(content,
+ "gtk-xft-rgba=\"%s\"\n", app.font_rgba);
++ g_string_append_printf(content3,
++ "gtk-xft-rgba = %s\n", app.font_rgba);
+
+ if(app.color_scheme)
+ {
+ char* escaped = g_strescape(app.color_scheme, NULL);
+ g_string_append_printf(content,
+- "gtk-color-scheme=\"%s\"\n",
+- escaped);
++ "gtk-color-scheme=\"%s\"\n", escaped);
++ g_string_append_printf(content3,
++ "gtk-color-scheme = %s\n", escaped);
+ g_free(escaped);
+ }
+
+@@ -218,20 +256,20 @@
+ g_get_home_dir());
+
+ g_file_set_contents(file_path, content->str, content->len, NULL);
++ g_string_free(content, TRUE);
+
+ /* Save also for GTK3 */
+- g_string_prepend(content, "[Settings] \n");
+- char* file_path_gtk3 = g_build_filename(g_get_home_dir(), "gtk-3.0", NULL);
+- char* file_path_settings = g_build_filename(g_get_home_dir(), "gtk-3.0", "settings.ini", NULL);
++ char* file_path_gtk3 = g_build_filename(g_get_user_config_dir(), "gtk-3.0", NULL);
++ char* file_path_settings = g_build_filename(g_get_user_config_dir(), "gtk-3.0", "settings.ini", NULL);
+
+ if (!g_file_test(file_path_gtk3, G_FILE_TEST_IS_DIR))
+ {
+ g_mkdir_with_parents(file_path_gtk3, 0755);
+ }
+
+- g_file_set_contents(file_path_settings, content->str, content->len, NULL);
++ g_file_set_contents(file_path_settings, content3->str, content3->len, NULL);
+
+- g_string_free(content, TRUE);
++ g_string_free(content3, TRUE);
+ g_free(file_path);
+ }
diff --git a/community/lxc/PKGBUILD b/community/lxc/PKGBUILD
new file mode 100644
index 000000000..354f1cafc
--- /dev/null
+++ b/community/lxc/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 93086 2013-06-24 09:48:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andrea Zucchelli <zukka77@gmail.com>
+# Contributor: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Jonathan Liu <net147@gmail.com>
+# Contributor: Jon Nordby <jononor@gmail.com>
+
+pkgname=lxc
+pkgver=0.9.0
+epoch=1
+pkgrel=4
+pkgdesc="Linux Containers"
+arch=('i686' 'x86_64')
+url="http://lxc.sourceforge.net/"
+depends=('bash' 'perl' 'libseccomp')
+makedepends=('docbook2x')
+optdepends=('arch-install-scripts: for archlinux template')
+license=('LGPL')
+source=("http://lxc.sourceforge.net/download/lxc/$pkgname-${pkgver/_/-}.tar.gz")
+md5sums=('8552a4479090616f4bc04d8473765fc9')
+
+prepare() {
+ cd "$srcdir/$pkgname-${pkgver/_/-}"
+ sed -i \
+ -e "s/for name in docbook2x-man db2x_docbook2man; do/for name in docbook2x-man db2x_docbook2man docbook2man; do/" \
+ -e "s|AM_INIT_AUTOMAKE.*|AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability subdir-objects])|" \
+ configure.ac
+}
+
+build() {
+ cd "$srcdir/$pkgname-${pkgver/_/-}"
+ ./autogen.sh
+ ./configure \
+ --prefix=/usr \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib \
+ --sysconfdir=/etc \
+ --disable-apparmor \
+ --enable-seccomp
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-${pkgver/_/-}"
+
+ make DESTDIR="$pkgdir" install
+ install -d -m755 "$pkgdir/var/lib/lxc"
+
+ cd doc
+ find . -type f -name '*.1' -exec install -D -m644 "{}" "$pkgdir/usr/share/man/man1/{}" \;
+ find . -type f -name '*.5' -exec install -D -m644 "{}" "$pkgdir/usr/share/man/man5/{}" \;
+ find . -type f -name '*.7' -exec install -D -m644 "{}" "$pkgdir/usr/share/man/man7/{}" \;
+}
diff --git a/community/lxdm/PKGBUILD b/community/lxdm/PKGBUILD
new file mode 100644
index 000000000..6c5b8036d
--- /dev/null
+++ b/community/lxdm/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 91463 2013-05-23 00:34:07Z dwallace $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: AndyRTR <andyrtr@archlinux.org>
+# Contributor: kiefer <jorgelmadrid@gmail.com>
+
+pkgname=lxdm
+pkgver=0.4.1
+pkgrel=22
+pkgdesc='Lightweight X11 Display Manager'
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/lxdm/"
+license=('GPL')
+groups=('lxde')
+depends=('gtk2' 'xorg-server')
+makedepends=('intltool')
+optdepends=('librsvg: display the default background')
+install=${pkgname}.install
+backup=('etc/lxdm/lxdm.conf' 'etc/pam.d/lxdm' 'etc/lxdm/Xsession'
+ 'etc/lxdm/PreLogin' 'etc/lxdm/LoginReady' 'etc/lxdm/PostLogin'
+ 'etc/lxdm/PostLogout' 'etc/lxdm/PreReboot' 'etc/lxdm/PreShutdown')
+source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz
+ lxdm.pam lxdm.service
+ lxdm-0.4.1-Xsession-source-profile.patch
+ lxdm-0.4.1-conf.patch
+ lxdm-0.4.1-event-check-bug.patch
+ lxdm-0.4.1-industrial-greeter-ui.patch
+ lxdm-0.4.1-modern-systems.patch
+ lxdm-0.4.1-nolang-show-sessions.patch
+ lxdm-0.4.1-pam-env-vars.patch
+ lxdm-0.4.1-kill_user_processes.patch
+ )
+md5sums=('8da1cfc2be6dc9217c85a7cf51e1e821'
+ '9cc734228696a3c6f06d91bba61b03c1'
+ 'b86317143ae44d7ed38c150fe4f25502'
+ 'd2e4a4a22ee2aa1a986be154c647b6c6'
+ 'c50dd01b715b0a236407d48066191601'
+ 'a1e3c46a8bef691bc544028f5b6cfe22'
+ '2c4afdbe3532be4f90d8f6240d352766'
+ 'baed9055e8825a5511712bc095197519'
+ '28475239d0c8b4fd778ec49f5ec72962'
+ '4c1d43e81e9a256e8d1ea7686c24b3d3'
+ '3ac63085f9df9296dfa645fa623af0e2')
+
+prepare(){
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np1 -i $srcdir/lxdm-0.4.1-event-check-bug.patch
+ patch -Np1 -i $srcdir/lxdm-0.4.1-nolang-show-sessions.patch
+ patch -Np1 -i $srcdir/lxdm-0.4.1-pam-env-vars.patch
+ patch -Np1 -i $srcdir/lxdm-0.4.1-kill_user_processes.patch
+}
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+
+ ./configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib/lxdm \
+ --bindir=/usr/bin \
+ --sbindir=/usr/bin
+ make
+
+ patch -Np0 -i $srcdir/lxdm-0.4.1-modern-systems.patch
+ patch -Np0 -i $srcdir/lxdm-0.4.1-conf.patch
+ patch -Np0 -i $srcdir/lxdm-0.4.1-Xsession-source-profile.patch
+ patch -Np0 -i $srcdir/lxdm-0.4.1-industrial-greeter-ui.patch
+}
+
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir sbindir=/usr/bin install
+
+ install -m644 $srcdir/lxdm.pam $pkgdir/etc/pam.d/lxdm
+ install -Dm644 $srcdir/lxdm.service $pkgdir/usr/lib/systemd/system/lxdm.service
+ install -d $pkgdir/var/{lib,run}/lxdm
+
+ # fix the greeter location
+ sed -i -e 's/local\/libexec/lib\/lxdm/' $pkgdir/etc/lxdm/lxdm.conf
+ sed -i 's:sbin:bin:' $pkgdir/usr/bin/lxdm
+
+ # avoid conflict with filesystem>=2012.06
+ rm -r $pkgdir/var/run
+}
diff --git a/community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch b/community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch
new file mode 100644
index 000000000..035ff0383
--- /dev/null
+++ b/community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch
@@ -0,0 +1,11 @@
+--- data/Xsession.orig 2011-07-29 15:42:33.000000000 +0200
++++ data/Xsession 2011-12-03 09:09:14.592876087 +0100
+@@ -9,6 +9,8 @@
+ LXSESSION=/usr/bin/startlxde
+ fi
+
++[ -f /etc/profile ] && . /etc/profile
++[ -f ~/.profile ] && . ~/.profile
+ [ -f /etc/xprofile ] && . /etc/xprofile
+ [ -f ~/.xprofile ] && . ~/.xprofile
+
diff --git a/community/lxdm/lxdm-0.4.1-conf.patch b/community/lxdm/lxdm-0.4.1-conf.patch
new file mode 100644
index 000000000..1744e557e
--- /dev/null
+++ b/community/lxdm/lxdm-0.4.1-conf.patch
@@ -0,0 +1,11 @@
+--- data/lxdm.conf.orig 2011-11-01 17:57:59.208757577 +0100
++++ data/lxdm.conf 2011-11-01 18:03:55.608741945 +0100
+@@ -27,7 +27,7 @@
+ gtk_theme=Clearlooks
+
+ ## background of the greeter
+-bg=/usr/share/backgrounds/default.png
++# bg=/usr/share/backgrounds/default.png
+
+ ## if show bottom pane
+ bottom_pane=1
diff --git a/community/lxdm/lxdm-0.4.1-event-check-bug.patch b/community/lxdm/lxdm-0.4.1-event-check-bug.patch
new file mode 100644
index 000000000..cebfc6133
--- /dev/null
+++ b/community/lxdm/lxdm-0.4.1-event-check-bug.patch
@@ -0,0 +1,21 @@
+From: dgod <dgod.osa@gmail.com>
+Date: Sun, 25 Dec 2011 07:23:19 +0000 (+0800)
+Subject: fix event check bug caused cpu 100%
+X-Git-Url: http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde%2Flxdm;a=commitdiff_plain;h=d4e41ecb;hp=f0951bdf736026b041001e846d2cb93f7f2852e1
+
+fix event check bug caused cpu 100%
+---
+
+diff --git a/src/lxcom.c b/src/lxcom.c
+index 02763eb..18ee12e 100644
+--- a/src/lxcom.c
++++ b/src/lxcom.c
+@@ -89,7 +89,7 @@ static gboolean lxcom_prepare (GSource *source,gint *timeout)
+
+ static gboolean lxcom_check(GSource *source)
+ {
+- return TRUE;
++ return (((LXComSource*)source)->poll.revents&G_IO_IN)?TRUE:FALSE;
+ }
+
+ static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer user_data)
diff --git a/community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch b/community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch
new file mode 100644
index 000000000..a2a366809
--- /dev/null
+++ b/community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch
@@ -0,0 +1,13 @@
+--- data/themes/Industrial/greeter.ui.orig 2012-05-09 23:54:03.743980613 -0300
++++ data/themes/Industrial/greeter.ui 2012-05-10 00:26:20.340687396 -0300
+@@ -201,7 +201,9 @@
+ </packing>
+ </child>
+ <child>
+- <object class="GtkComboBoxEntry" id="keyboard"/>
++ <object class="GtkComboBoxEntry" id="keyboard">
++ <property name="text_column">0</property>
++ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">3</property>
diff --git a/community/lxdm/lxdm-0.4.1-kill_user_processes.patch b/community/lxdm/lxdm-0.4.1-kill_user_processes.patch
new file mode 100644
index 000000000..f267b105a
--- /dev/null
+++ b/community/lxdm/lxdm-0.4.1-kill_user_processes.patch
@@ -0,0 +1,35 @@
+diff -aur lxdm/src/xconn.c lxdm.modified/src/xconn.c
+--- lxdm/src/xconn.c 2012-12-23 19:27:04.512531088 -0800
++++ lxdm/src/xconn.c 2012-12-23 19:28:31.659227448 -0800
+@@ -172,7 +172,7 @@
+ free(c);
+ }
+
+-#if 0
++//#if 0
+ static xcb_window_t xconn_get_root(xconn_t c)
+ {
+ const xcb_setup_t *setup;
+@@ -181,11 +181,11 @@
+ xcb_screen_t *screen = iter.data;
+ return screen->root;
+ }
+-#endif
++//#endif
+
+ void xconn_clean(xconn_t c)
+ {
+-#if 0
++//#if 0
+ xcb_query_tree_cookie_t wintree;
+ xcb_query_tree_reply_t *rep;
+ xcb_window_t *children;
+@@ -202,7 +202,7 @@
+ xcb_kill_client(c->c,children[i]);
+ free(rep);
+ xcb_flush(c->c);
+-#endif
++//#endif
+ }
+
+ #endif
diff --git a/community/lxdm/lxdm-0.4.1-modern-systems.patch b/community/lxdm/lxdm-0.4.1-modern-systems.patch
new file mode 100644
index 000000000..a703a386d
--- /dev/null
+++ b/community/lxdm/lxdm-0.4.1-modern-systems.patch
@@ -0,0 +1,26 @@
+--- data/lxdm.orig 2010-01-24 16:58:42.262866825 -0200
++++ data/lxdm 2010-01-19 11:56:34.308668692 -0200
+@@ -1,21 +1,13 @@
+ #!/bin/sh
+
+-[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
+-
+-if [ -z "$LANG" -a -e /etc/sysconfig/language ]; then
+- . /etc/sysconfig/language
+- if [ -n "$RC_LANG"]; then
+- LANG=$RC_LANG
+- fi
++if [ -r /etc/profile.d/locale.sh ]; then
++ . /etc/profile.d/locale.sh
+ fi
+
+ if [ -n "$LANG" ]; then
+ export LANG
+ fi
+
+-[ -f /etc/sysconfig/desktop ] && . /etc/sysconfig/desktop
+-[ -f /etc/sysconfig/windowmanager ] && . /etc/sysconfig/windowmanager
+-
+ if [ -n "$DEFAULT_WM" ]; then
+ PREFERRED=$DEFAULT_WM
+ fi
diff --git a/community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch b/community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch
new file mode 100644
index 000000000..f3b94a57a
--- /dev/null
+++ b/community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch
@@ -0,0 +1,13 @@
+diff --git a/src/greeter.c b/src/greeter.c
+index c0c150d..1f6b88e 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -114,7 +114,7 @@ static char *get_session_exec(void)
+ GtkTreeModel* model;
+ GtkTreeIter it;
+ gchar *res;
+- if(!lang)
++ if(!sessions)
+ return g_strdup("");
+
+ if(!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(sessions), &it))
diff --git a/community/lxdm/lxdm-0.4.1-pam-env-vars.patch b/community/lxdm/lxdm-0.4.1-pam-env-vars.patch
new file mode 100644
index 000000000..ab8605ff1
--- /dev/null
+++ b/community/lxdm/lxdm-0.4.1-pam-env-vars.patch
@@ -0,0 +1,50 @@
+diff --git a/src/lxdm.c b/src/lxdm.c
+index 369aedf..cd1d486 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -935,16 +935,23 @@ void setup_pam_session(LXSession *s,struct passwd *pw,char *session_name)
+ g_warning( "pam open session error \"%s\"\n", pam_strerror(s->pamh, err));
+ }
+
+-void append_pam_environ(pam_handle_t *pamh,char **env)
++static char **append_pam_environ(pam_handle_t *pamh,char **env)
+ {
+- int i,j,n;
++ int i,j,n,a;
+ char **penv;
+- if(!pamh) return;
++ if(!pamh) return env;
+ penv=pam_getenvlist(pamh);
+- if(!penv) return;
++ if(!penv) return env;
++ a=g_strv_length(penv);
++ if(a==0)
++ {
++ free(penv);
++ return env;
++ }
++ env=g_renew(char *,env,g_strv_length(env)+1+a+10);
+ for(i=0;penv[i]!=NULL;i++)
+ {
+- //printf("PAM %s\n",penv[i]);
++ fprintf(stderr,"PAM %s\n",penv[i]);
+ n=strcspn(penv[i],"=")+1;
+ for(j=0;env[j]!=NULL;j++)
+ {
+@@ -960,6 +967,7 @@ void append_pam_environ(pam_handle_t *pamh,char **env)
+ free(penv[i]);
+ }
+ free(penv);
++ return env;
+ }
+
+ #endif
+@@ -1540,7 +1548,7 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
+ if(s->child==0)
+ {
+ #if HAVE_LIBPAM
+- append_pam_environ(s->pamh,env);
++ env=append_pam_environ(s->pamh,env);
+ pam_end(s->pamh,0);
+ #endif
+ switch_user(pw, session_exec, env);
diff --git a/community/lxdm/lxdm.install b/community/lxdm/lxdm.install
new file mode 100644
index 000000000..875dc59e3
--- /dev/null
+++ b/community/lxdm/lxdm.install
@@ -0,0 +1,21 @@
+post_install() {
+ getent group lxdm >/dev/null && groupmod -g 121 lxdm || groupadd -g 121 lxdm
+ getent passwd lxdm >/dev/null && usermod -u 121 -g 121 lxdm || useradd -r -d /var/lib/lxdm -u 121 -g 121 lxdm
+ chown -R 121:121 /var/lib/lxdm
+ chgrp 121 /etc/lxdm/lxdm.conf
+ chmod +r /etc/lxdm/lxdm.conf
+}
+
+post_upgrade() {
+ post_install $1
+ if [[ $(vercmp $2 0.4.1-22) < 0 ]]; then
+ groupmod -g 121 lxdm
+ usermod -g 121 -u 121 lxdm
+ fi
+}
+
+post_remove() {
+ userdel -f lxdm
+ groupdel lxdm
+ true
+}
diff --git a/community/lxdm/lxdm.pam b/community/lxdm/lxdm.pam
new file mode 100644
index 000000000..57f33b221
--- /dev/null
+++ b/community/lxdm/lxdm.pam
@@ -0,0 +1,10 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_limits.so
+session required pam_unix.so
+password required pam_unix.so
+-session optional pam_loginuid.so
+-session optional pam_systemd.so
diff --git a/community/lxdm/lxdm.service b/community/lxdm/lxdm.service
new file mode 100644
index 000000000..026d62b50
--- /dev/null
+++ b/community/lxdm/lxdm.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=LXDE Display Manager
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/bin/lxdm
+
+[Install]
+Alias=display-manager.service
diff --git a/community/lxinput/PKGBUILD b/community/lxinput/PKGBUILD
new file mode 100644
index 000000000..7ed91636f
--- /dev/null
+++ b/community/lxinput/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 72002 2012-06-05 13:35:16Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Filipp "Scorp" Andjelo <scorp@mailueberfall.de>
+
+pkgname=lxinput
+pkgver=0.3.2
+pkgrel=2
+pkgdesc="A small program to configure keyboard and mouse for LXDE."
+arch=('i686' 'x86_64')
+url="http://lxde.org/"
+license=('GPL')
+groups=('lxde')
+depends=('gtk2>=2.12.0')
+makedepends=('pkgconfig' 'intltool')
+source=(http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz)
+md5sums=('5bf563d04984ef2a147433f3bdda687b')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
+
diff --git a/community/lxlauncher/PKGBUILD b/community/lxlauncher/PKGBUILD
new file mode 100644
index 000000000..42e2df8ef
--- /dev/null
+++ b/community/lxlauncher/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 93768 2013-07-10 07:02:47Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+
+pkgname=lxlauncher
+pkgver=0.2.2
+pkgrel=3
+pkgdesc='Open source clone of the Asus launcher for EeePC'
+arch=('i686' 'x86_64')
+license=('GPL2')
+url='http://lxde.org/'
+groups=('lxde')
+depends=('gtk2' 'startup-notification' 'gnome-menus' 'menu-cache' 'intltool')
+makedepends=('pkgconfig')
+source=(http://downloads.sourceforge.net/sourceforge/lxde/$pkgname-$pkgver.tar.gz)
+md5sums=('16df627447838b170a72cc3a9ee21497')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/lxlauncher/intltool.patch b/community/lxlauncher/intltool.patch
new file mode 100644
index 000000000..3829806c8
--- /dev/null
+++ b/community/lxlauncher/intltool.patch
@@ -0,0 +1,16 @@
+diff -NrU5 lxlauncher-0.2.1.original/configure.in lxlauncher-0.2.1/configure.in
+--- lxlauncher-0.2.1.original/configure.in 2009-07-18 21:49:07.000000000 -0600
++++ lxlauncher-0.2.1/configure.in 2009-07-18 21:49:50.000000000 -0600
+@@ -2,10 +2,11 @@
+
+ AC_INIT(configure.in)
+ AM_INIT_AUTOMAKE(lxlauncher, 0.2.1)
+ AM_CONFIG_HEADER(config.h)
+ AM_MAINTAINER_MODE
++IT_PROG_INTLTOOL
+
+ AC_ISC_POSIX
+ AC_PROG_CC
+ AM_PROG_CC_STDC
+ AC_HEADER_STDC
+
diff --git a/community/lxlauncher/lxlauncher-0.2.1-dsofix.patch b/community/lxlauncher/lxlauncher-0.2.1-dsofix.patch
new file mode 100644
index 000000000..7ee0c1c68
--- /dev/null
+++ b/community/lxlauncher/lxlauncher-0.2.1-dsofix.patch
@@ -0,0 +1,12 @@
+diff -dur lxlauncher-0.2.1.orig/src/Makefile.in lxlauncher-0.2.1/src/Makefile.in
+--- lxlauncher-0.2.1.orig/src/Makefile.in 2009-07-07 14:46:41.000000000 +0200
++++ lxlauncher-0.2.1/src/Makefile.in 2010-02-17 13:34:43.000000000 +0100
+@@ -101,7 +101,7 @@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ INSTOBJEXT = @INSTOBJEXT@
+ INTLLIBS = @INTLLIBS@
+-LDFLAGS = @LDFLAGS@
++LDFLAGS = @LDFLAGS@ -lX11
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LTLIBOBJS = @LTLIBOBJS@
diff --git a/community/lxlauncher/lxlauncher-0.2.1-fix-SUSE-lint-warnings.patch b/community/lxlauncher/lxlauncher-0.2.1-fix-SUSE-lint-warnings.patch
new file mode 100644
index 000000000..49a4b3488
--- /dev/null
+++ b/community/lxlauncher/lxlauncher-0.2.1-fix-SUSE-lint-warnings.patch
@@ -0,0 +1,32 @@
+From cb99b126dd90a8460c5bd4a837fdb7505658ba52 Mon Sep 17 00:00:00 2001
+From: martyj19 <martyj19@comcast.net>
+Date: Mon, 13 Jul 2009 16:46:09 +0000
+Subject: [PATCH 02/50] Fix SUSE lint warnings
+
+---
+ src/lxlauncher.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/src/lxlauncher.c b/src/lxlauncher.c
+index 7dab830..034d308 100644
+--- a/src/lxlauncher.c
++++ b/src/lxlauncher.c
+@@ -311,6 +311,7 @@ static gboolean on_scroll( GtkAdjustment* adj, PageData* data )
+ {
+ // Dirty hacks used to force pseudo-transparent background
+ gtk_widget_queue_draw( data->table );
++ return TRUE;
+ }
+
+ // Dirty hacks used to reduce unnecessary redrew during scroll
+@@ -674,6 +675,7 @@ gchar* get_xdg_config_file(const char *name) {
+ }
+ free(file);
+ }
++ return NULL;
+ }
+
+ int main(int argc, char** argv)
+--
+1.6.6
+
diff --git a/community/lxlauncher/lxlauncher-0.2.1-fix-for-the-new-behavior-of-libmenu-cache-0.3-series.patch b/community/lxlauncher/lxlauncher-0.2.1-fix-for-the-new-behavior-of-libmenu-cache-0.3-series.patch
new file mode 100644
index 000000000..1720d3e62
--- /dev/null
+++ b/community/lxlauncher/lxlauncher-0.2.1-fix-for-the-new-behavior-of-libmenu-cache-0.3-series.patch
@@ -0,0 +1,125 @@
+From a7dad81b883a783bc1ac4f8092a1571b7f843914 Mon Sep 17 00:00:00 2001
+From: Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
+Date: Wed, 17 Feb 2010 22:42:01 +0800
+Subject: [PATCH 50/50] Fix for the new behavior of libmenu-cache 0.3 series.
+
+---
+ src/lxlauncher.c | 67 +++++++++++++++++++++++++++++++++++++----------------
+ 1 files changed, 47 insertions(+), 20 deletions(-)
+
+diff --git a/src/lxlauncher.c b/src/lxlauncher.c
+index 6dfbbc9..3a39bc6 100644
+--- a/src/lxlauncher.c
++++ b/src/lxlauncher.c
+@@ -663,21 +663,40 @@ gchar* get_xdg_config_file(const char *name) {
+ gchar *file;
+
+ file = g_build_filename(user_dir, name, NULL);
+- if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE) {
+- return file;
+- }
++ if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE)
++ return file;
+ free(file);
+
+ for (dir = system_dirs; *dir; ++dir ) {
+- file = g_build_filename(*dir, name, NULL);
+- if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE) {
+- return file;
+- }
+- free(file);
++ file = g_build_filename(*dir, name, NULL);
++ if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE)
++ return file;
++ free(file);
+ }
+ return NULL;
+ }
+
++static void on_menu_cache_reload(MenuCache* mc, gpointer user_data)
++{
++ GMainLoop* mainloop = (GMainLoop*)user_data;
++ g_main_loop_quit(mainloop);
++}
++
++MenuCache* _menu_cache_lookup_sync( const char* menu_name )
++{
++ MenuCache* mc = menu_cache_lookup(menu_name);
++ /* ensure that the menu cache is loaded */
++ if(! menu_cache_get_root_dir(mc)) /* if it's not yet loaded */
++ {
++ GMainLoop* mainloop = g_main_loop_new(NULL, FALSE);
++ gpointer notify_id = menu_cache_add_reload_notify(mc, on_menu_cache_reload, mainloop);
++ g_main_loop_run(mainloop);
++ g_main_loop_unref(mainloop);
++ menu_cache_remove_reload_notify(mc, notify_id);
++ }
++ return mc;
++}
++
+ int main(int argc, char** argv)
+ {
+ int i;
+@@ -697,13 +716,14 @@ int main(int argc, char** argv)
+ GError *error = NULL;
+ gchar *config_file = get_xdg_config_file(CONFIG_FILE);
+ if (config_file &&
+- g_key_file_load_from_file(key_file,
+- config_file,
+- G_KEY_FILE_NONE,
+- &error)) {
+- printf("Loaded %s\n", config_file);
+- } else {
+- perror("Error loading " CONFIG_FILE);
++ g_key_file_load_from_file(key_file,
++ config_file,
++ G_KEY_FILE_NONE,
++ &error)) {
++ printf("Loaded %s\n", config_file);
++ }
++ else {
++ perror("Error loading " CONFIG_FILE);
+ }
+ if (config_file)
+ free(config_file);
+@@ -719,15 +739,17 @@ int main(int argc, char** argv)
+ gchar* gtkrc_file = get_xdg_config_file("lxlauncher/gtkrc");
+ gtk_rc_parse(gtkrc_file);
+ if (gtkrc_file) {
+- free(gtkrc_file);
++ free(gtkrc_file);
+ }
+
+ button_size = g_key_file_get_integer(key_file, "Main", "BUTTON_SIZE", NULL);
+ img_size = g_key_file_get_integer(key_file, "Main", "IMG_SIZE", NULL);
+
+ // to prevent from going without configure file
+- if(!button_size) button_size = BUTTON_SIZE_FALLBACK;
+- if(!img_size) img_size = IMG_SIZE_FALLBACK;
++ if(!button_size)
++ button_size = BUTTON_SIZE_FALLBACK;
++ if(!img_size)
++ img_size = IMG_SIZE_FALLBACK;
+
+ icon_size = gtk_icon_size_register( "ALIcon", img_size, img_size );
+
+@@ -758,9 +780,14 @@ int main(int argc, char** argv)
+ gtk_container_add( (GtkContainer*)main_window, notebook );
+
+ g_setenv("XDG_MENU_PREFIX", "lxlauncher-", TRUE);
+- menu_tree = menu_cache_lookup( "applications.menu" );
++ menu_tree = _menu_cache_lookup_sync( "applications.menu" );
++ if(!menu_tree)
++ {
++ g_print("Unable to load application menu\n");
++ return 1;
++ }
++ root_dir = menu_cache_item_ref(menu_cache_get_root_dir( menu_tree ));
+ reload_notify_id = menu_cache_add_reload_notify( menu_tree, on_menu_tree_changed, NULL );
+- root_dir = menu_cache_ref(menu_cache_get_root_dir( menu_tree ));
+
+ create_notebook_pages();
+
+--
+1.6.6
+
diff --git a/community/lxmenu-data/PKGBUILD b/community/lxmenu-data/PKGBUILD
new file mode 100644
index 000000000..6087648d9
--- /dev/null
+++ b/community/lxmenu-data/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 52895 2011-07-29 18:44:33Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=lxmenu-data
+pkgver=0.1.2
+pkgrel=1
+pkgdesc="freedesktop.org desktop menus for LXDE"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+source=("http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz")
+makedepends=('intltool')
+md5sums=('2184ab3746d572477f1bea7e98e230a8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/lxmusic/PKGBUILD b/community/lxmusic/PKGBUILD
new file mode 100644
index 000000000..197adf4ec
--- /dev/null
+++ b/community/lxmusic/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 71871 2012-06-02 14:59:08Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Marcus Schulderinsky <mmaacceess at gmail dot com>
+
+pkgname=lxmusic
+pkgver=0.4.5
+pkgrel=1
+pkgdesc='Lightweight XMMS2 client'
+arch=('i686' 'x86_64')
+url="http://lxde.org/"
+license=('GPL')
+groups=('lxde')
+depends=('gtk2' 'xmms2')
+makedepends=('pkgconfig' 'intltool')
+source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz
+ libnotify-0.7.patch)
+md5sums=('9c3e5eb636f05e8c190d359cd0c8b679'
+ '770c63254a7369613daeb6d1260d123f')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np1 -i $srcdir/libnotify-0.7.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/lxmusic/libnotify-0.7.patch b/community/lxmusic/libnotify-0.7.patch
new file mode 100644
index 000000000..01f513de4
--- /dev/null
+++ b/community/lxmusic/libnotify-0.7.patch
@@ -0,0 +1,27 @@
+Upstream:
+https://sourceforge.net/tracker/?func=detail&aid=3529198&group_id=180858&atid=894869
+Index: lxmusic-0.4.5/src/lxmusic-notify.c
+===================================================================
+--- lxmusic-0.4.5.orig/src/lxmusic-notify.c
++++ lxmusic-0.4.5/src/lxmusic-notify.c
+@@ -84,9 +84,20 @@ LXMusicNotification lxmusic_do_notify_pr
+ else
+ g_string_append( message, title );
+ struct _LXMusicNotification *lxn = g_new ( struct _LXMusicNotification, 1);
++#ifdef NOTIFY_CHECK_VERSION
++#if NOTIFY_CHECK_VERSION (0, 7, 0)
++ lxn->notify = notify_notification_new (summary, message->str, NULL);
++#else
+ lxn->notify = notify_notification_new (summary, message->str, NULL, NULL);
++#endif
++#else
++ lxn->notify = notify_notification_new (summary, message->str, NULL, NULL);
++#endif
+ notify_notification_set_urgency (lxn->notify, NOTIFY_URGENCY_NORMAL);
++#if !defined(NOTIFY_VERSION_MINOR) || (NOTIFY_VERSION_MAJOR == 0 && NOTIFY_VERSION_MINOR < 7)
++ notify_notification_attach_to_status_icon(notify, priv->statusIcon);
+ notify_notification_attach_to_status_icon( lxn->notify, status_icon );
++#endif
+ notify_notification_set_timeout (lxn->notify, NOTIFY_EXPIRES_DEFAULT);
+ g_string_free( message, TRUE );
+ return lxn;
diff --git a/community/lxnm/PKGBUILD b/community/lxnm/PKGBUILD
new file mode 100644
index 000000000..d44a06750
--- /dev/null
+++ b/community/lxnm/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 90454 2013-05-12 16:50:48Z bluewind $
+# Maintainer: Florian Pritz <flo@xinu.at>
+# Contributor: Cainã Costa <cainan.costa@gmail.com>
+
+pkgname=lxnm
+pkgver=0.2.2
+pkgrel=4
+pkgdesc="A Network Manager (Part of LXDE)"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org"
+depends=('glib2')
+source=("http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums=('2ee64e5fad4a27a522f1eb2da08dd46a')
diff --git a/community/lxpanel/PKGBUILD b/community/lxpanel/PKGBUILD
new file mode 100644
index 000000000..d9e2cdaf5
--- /dev/null
+++ b/community/lxpanel/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 93770 2013-07-10 07:14:37Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=lxpanel
+pkgver=0.5.12
+pkgrel=2
+pkgdesc='Lightweight X11 desktop panel for LXDE'
+arch=('i686' 'x86_64')
+license=('GPL2')
+url='http://lxde.org/'
+groups=('lxde')
+depends=('gtk2' 'alsa-lib' 'menu-cache' 'lxmenu-data' 'libwnck')
+makedepends=('docbook-xml' 'docbook-xsl' 'wireless_tools')
+optdepends=('wireless_tools: netstat plugin')
+source=(ftp://ftp.archlinux.org/other/community/$pkgname/$pkgname-$pkgver.tar.xz
+ lxpanel-0.5.12-automake-1.14-support.patch)
+sha256sums=('c29997c522f138e4beb02fc549c84136fc840a836c1f69b400d90d2d4e91de1b'
+ 'ce5bf608374188da00ce3f0a1c74d1ddebd160555db4119eebd85f64731fe1d1')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np0 -i ../lxpanel-0.5.12-automake-1.14-support.patch
+ ./autogen.sh
+}
+
+build() {
+ cd $pkgname-$pkgver
+ CFLAGS+=' -lgmodule-2.0' ./configure \
+ --sysconfdir=/etc \
+ --prefix=/usr \
+ --enable-man
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/lxpanel/lxpanel-0.5.12-automake-1.14-support.patch b/community/lxpanel/lxpanel-0.5.12-automake-1.14-support.patch
new file mode 100644
index 000000000..3b40931de
--- /dev/null
+++ b/community/lxpanel/lxpanel-0.5.12-automake-1.14-support.patch
@@ -0,0 +1,15 @@
+--- autogen.sh.orig 2013-01-27 10:38:55.000000000 +0100
++++ autogen.sh 2013-01-27 10:59:56.897030226 +0100
+@@ -6,9 +6,10 @@
+
+ if [ "$AM_INSTALLED_VERSION" != "1.10" \
+ -a "$AM_INSTALLED_VERSION" != "1.11" \
+- -a "$AM_INSTALLED_VERSION" != "1.12" ];then
++ -a "$AM_INSTALLED_VERSION" != "1.12" \
++ -a "$AM_INSTALLED_VERSION" != "1.14" ];then
+ echo
+- echo "You must have automake 1.10, 1.11, or 1.12 installed to compile lxpanel."
++ echo "You must have automake >=1.10 installed to compile lxpanel."
+ echo "Install the appropriate package for your distribution,"
+ echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
+ exit 1
diff --git a/community/lxrandr/PKGBUILD b/community/lxrandr/PKGBUILD
new file mode 100644
index 000000000..2cd922a11
--- /dev/null
+++ b/community/lxrandr/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 82107 2013-01-08 18:48:27Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+
+pkgname=lxrandr
+pkgver=0.1.2
+pkgrel=3
+pkgdesc="Monitor configuration tool (part of LXDE)"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('gtk2' 'xorg-xrandr')
+makedepends=('pkgconfig' 'intltool')
+source=(http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz)
+md5sums=('8a7391581541bba58839ac11dbf5b575')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ [ -f Makefile ] || ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/lxsession/PKGBUILD b/community/lxsession/PKGBUILD
new file mode 100644
index 000000000..178291ceb
--- /dev/null
+++ b/community/lxsession/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 80231 2012-11-18 09:34:03Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=lxsession
+pkgver=0.4.6.1
+pkgrel=3
+pkgdesc='Lightweight X11 session manager'
+arch=('i686' 'x86_64')
+url="http://lxde.org/"
+license=('GPL2')
+groups=('lxde')
+depends=('gtk2' 'dbus')
+makedepends=('pkgconfig' 'intltool')
+replaces=('lxde-settings-daemon' 'lxsession-lite')
+conflicts=('lxsession-lite' 'lxde-settings-daemon')
+source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz
+ lxsession-0.4.6.1-logind-support.patch)
+md5sums=('e456b64c5ab3652a4dec661ec706dc6e'
+ '7459321f5dc263493837768dcb03f852')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np2 -i $srcdir/lxsession-0.4.6.1-logind-support.patch
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/lxsession/lxsession-0.4.6.1-logind-support.patch b/community/lxsession/lxsession-0.4.6.1-logind-support.patch
new file mode 100644
index 000000000..44829e615
--- /dev/null
+++ b/community/lxsession/lxsession-0.4.6.1-logind-support.patch
@@ -0,0 +1,608 @@
+--- src/lxsession-0.4.6.1/lxsession-logout/dbus-interface.c 2011-07-27 21:26:36.000000000 +0200
++++ src/lxsession-0.4.6.1/lxsession-logout-logind/dbus-interface.c 2012-11-13 17:26:30.807070976 +0100
+@@ -51,13 +51,20 @@
+ char * dbus_HAL_Reboot(void);
+ char * dbus_HAL_Suspend(void);
+ char * dbus_HAL_Hibernate(void);
++gboolean dbus_logind_CanPowerOff(void);
++gboolean dbus_logind_CanReboot(void);
++gboolean dbus_logind_CanSuspend(void);
++gboolean dbus_logind_CanHibernate(void);
++char * dbus_logind_PowerOff(void);
++char * dbus_logind_Reboot(void);
++char * dbus_logind_Suspend(void);
++char * dbus_logind_Hibernate(void);
++char * dbus_LXDE_Logout(void);
+ /* End FORWARDS */
+
+ /* Connect to the system bus. Once a connection is made, it is saved for reuse. */
+-static DBusConnection * dbus_connect(void)
++static DBusConnection * dbus_connect_system(void)
+ {
+- if ((dbus_context.connection == NULL) && ( ! dbus_context.connection_tried))
+- {
+ DBusError error;
+ dbus_error_init(&error);
+ dbus_context.connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
+@@ -67,16 +74,57 @@
+ dbus_error_free(&error);
+ }
+ dbus_context.connection_tried = TRUE;
+- }
+
+ return dbus_context.connection;
+ }
+
++static DBusConnection * dbus_connect_session(void)
++{
++ DBusError error;
++ dbus_error_init(&error);
++ dbus_context.connection = dbus_bus_get(DBUS_BUS_SESSION, &error);
++ if (dbus_context.connection == NULL)
++ {
++ g_warning(G_STRLOC ": Failed to connect to the session message bus: %s", error.message);
++ dbus_error_free(&error);
++ }
++ dbus_context.connection_tried = TRUE;
++
++ return dbus_context.connection;
++}
++
++
+ /* Send a message. */
+-static DBusMessage * dbus_send_message(DBusMessage * message, char * * error_text)
++static DBusMessage * dbus_send_message_system(DBusMessage * message, char * * error_text)
+ {
+ /* Get a connection handle. */
+- DBusConnection * connection = dbus_connect();
++ DBusConnection * connection = dbus_connect_system();
++ if (connection == NULL)
++ return FALSE;
++
++ /* Send the message. */
++ DBusError error;
++ dbus_error_init(&error);
++ DBusMessage * reply = dbus_connection_send_with_reply_and_block(connection, message, DBUS_TIMEOUT, &error);
++ dbus_message_unref(message);
++ if (reply == NULL)
++ {
++ if ((error.name == NULL) || (strcmp(error.name, DBUS_ERROR_NO_REPLY) != 0))
++ {
++ if (error_text != NULL)
++ *error_text = g_strdup(error.message);
++ g_warning(G_STRLOC ": DBUS: %s", error.message);
++ }
++ dbus_error_free(&error);
++ }
++ return reply;
++}
++
++/* Send a message. */
++static DBusMessage * dbus_send_message_session(DBusMessage * message, char * * error_text)
++{
++ /* Get a connection handle. */
++ DBusConnection * connection = dbus_connect_session();
+ if (connection == NULL)
+ return FALSE;
+
+@@ -132,6 +180,36 @@
+ }
+ return result;
+ }
++
++/* Read a result for a method that returns a string encoded boolean. */
++static gboolean dbus_read_result_sboolean(DBusMessage * reply)
++{
++ gboolean result = FALSE;
++ char* string_result;
++ if (reply != NULL)
++ {
++ /* Get the string result. */
++ DBusError error;
++ dbus_error_init(&error);
++ dbus_bool_t status = dbus_message_get_args(
++ reply,
++ &error,
++ DBUS_TYPE_STRING, &string_result,
++ DBUS_TYPE_INVALID);
++ if ( ! status)
++ {
++ g_warning(G_STRLOC ": DBUS: %s", error.message);
++ dbus_error_free(&error);
++ }
++ else
++ {
++ if (!strcmp(string_result, "yes"))
++ result = TRUE;
++ }
++ dbus_message_unref(reply);
++ }
++ return result;
++}
+ #endif
+
+ /*** ConsoleKit mechanism ***/
+@@ -152,7 +230,7 @@
+ static gboolean dbus_ConsoleKit_query(const char * const query)
+ {
+ #ifdef HAVE_DBUS
+- return dbus_read_result_boolean(dbus_send_message(dbus_ConsoleKit_formulate_message(query), NULL));
++ return dbus_read_result_boolean(dbus_send_message_system(dbus_ConsoleKit_formulate_message(query), NULL));
+ #else
+ return FALSE;
+ #endif
+@@ -163,7 +241,7 @@
+ {
+ #ifdef HAVE_DBUS
+ char * error = NULL;
+- dbus_read_result_void(dbus_send_message(dbus_ConsoleKit_formulate_message(command), &error));
++ dbus_read_result_void(dbus_send_message_system(dbus_ConsoleKit_formulate_message(command), &error));
+ return error;
+ #else
+ return NULL;
+@@ -225,7 +303,7 @@
+ DBUS_TYPE_INVALID);
+
+ /* Send the message. */
+- DBusMessage * reply = dbus_send_message(message, NULL);
++ DBusMessage * reply = dbus_send_message_system(message, NULL);
+ if (reply == NULL)
+ return FALSE;
+
+@@ -252,7 +330,7 @@
+ {
+ #ifdef HAVE_DBUS
+ char * error = NULL;
+- dbus_read_result_void(dbus_send_message(dbus_UPower_formulate_command(command), &error));
++ dbus_read_result_void(dbus_send_message_system(dbus_UPower_formulate_command(command), &error));
+ return error;
+ #else
+ return NULL;
+@@ -329,7 +407,7 @@
+ DBusMessage * message = dbus_HAL_formulate_string_property_query(property);
+ if (message == NULL)
+ return FALSE;
+- DBusMessage * reply = dbus_send_message(message, NULL);
++ DBusMessage * reply = dbus_send_message_system(message, NULL);
+ if (reply == NULL)
+ return FALSE;
+ dbus_message_unref(reply);
+@@ -343,7 +421,7 @@
+ static gboolean dbus_HAL_boolean_query(const char * const property)
+ {
+ #ifdef HAVE_DBUS
+- return dbus_read_result_boolean(dbus_send_message(dbus_HAL_formulate_boolean_property_query(property), NULL));
++ return dbus_read_result_boolean(dbus_send_message_system(dbus_HAL_formulate_boolean_property_query(property), NULL));
+ #else
+ return FALSE;
+ #endif
+@@ -367,7 +445,7 @@
+
+ /* Send the message and wait for a reply. */
+ char * error = NULL;
+- dbus_read_result_void(dbus_send_message(message, &error));
++ dbus_read_result_void(dbus_send_message_system(message, &error));
+ return error;
+ #else
+ return NULL;
+@@ -421,3 +499,185 @@
+ {
+ return dbus_HAL_command("Hibernate");
+ }
++
++/*** logind mechanism ***/
++
++#ifdef HAVE_DBUS
++/* Formulate a message to the logind Manager interface to query a property. */
++static DBusMessage * dbus_logind_formulate_query(const char * const query)
++{
++ return dbus_message_new_method_call(
++ "org.freedesktop.login1",
++ "/org/freedesktop/login1",
++ "org.freedesktop.login1.Manager",
++ query);
++}
++
++/* Formulate a message to the logind Manager interface. */
++static DBusMessage * dbus_logind_formulate_message(const char * const method)
++{
++ static dbus_bool_t interactive = FALSE;
++ DBusMessage * message = dbus_message_new_method_call(
++ "org.freedesktop.login1",
++ "/org/freedesktop/login1",
++ "org.freedesktop.login1.Manager",
++ method);
++ if (message != NULL)
++ dbus_message_append_args(message, DBUS_TYPE_BOOLEAN, &interactive, DBUS_TYPE_INVALID);
++ return message;
++}
++#endif
++
++/* Send a specified query to the logind interface and process a boolean result. */
++static gboolean dbus_logind_query(const char * const query)
++{
++#ifdef HAVE_DBUS
++ return dbus_read_result_sboolean(dbus_send_message_system(dbus_logind_formulate_query(query), NULL));
++#else
++ return FALSE;
++#endif
++}
++
++/* Send a specified command to the logind interface and process a void result. */
++static char * dbus_logind_command(const char * const command)
++{
++#ifdef HAVE_DBUS
++ char * error = NULL;
++ dbus_read_result_void(dbus_send_message_system(dbus_logind_formulate_message(command), &error));
++ return error;
++#else
++ return NULL;
++#endif
++}
++
++/* Read the can-poweroff property of logind. */
++gboolean dbus_logind_CanPowerOff(void)
++{
++ return dbus_logind_query("CanPowerOff");
++}
++
++/* Read the can-reboot property of logind. */
++gboolean dbus_logind_CanReboot(void)
++{
++ return dbus_logind_query("CanReboot");
++}
++
++/* Read the can-suspend property of logind. */
++gboolean dbus_logind_CanSuspend(void)
++{
++ return dbus_logind_query("CanSuspend");
++}
++
++/* Read the can-hibernate property of logind. */
++gboolean dbus_logind_CanHibernate(void)
++{
++ return dbus_logind_query("CanHibernate");
++}
++
++/* Invoke the PowerOff method on logind. */
++char * dbus_logind_PowerOff(void)
++{
++ return dbus_logind_command("PowerOff");
++}
++
++/* Invoke the Reboot method on logind. */
++char * dbus_logind_Reboot(void)
++{
++ return dbus_logind_command("Reboot");
++}
++
++/* Invoke the Suspend method on logind. */
++char * dbus_logind_Suspend(void)
++{
++ return dbus_logind_command("Suspend");
++}
++
++/* Invoke the Hibernate method on logind. */
++char * dbus_logind_Hibernate(void)
++{
++ return dbus_logind_command("Hibernate");
++}
++
++/*** LXDE mechanism ***/
++
++#ifdef HAVE_DBUS
++/* Formulate a message to the LXDE Session Manager interface. */
++static DBusMessage * dbus_LXDE_formulate_message(const char * const query)
++{
++ return dbus_message_new_method_call(
++ "org.lxde.SessionManager",
++ "/org/lxde/SessionManager",
++ "org.lxde.SessionManager",
++ query);
++}
++#endif
++
++/* Send a specified message to the LXDE interface and process a boolean result. */
++static gboolean dbus_LXDE_query(const char * const query)
++{
++#ifdef HAVE_DBUS
++ return dbus_read_result_boolean(dbus_send_message_session(dbus_LXDE_formulate_message(query), NULL));
++#else
++ return FALSE;
++#endif
++}
++
++/* Send a specified message to the LXDE interface and process a void result. */
++static char * dbus_LXDE_command(const char * const command)
++{
++#ifdef HAVE_DBUS
++ char * error = NULL;
++ dbus_read_result_void(dbus_send_message_session(dbus_LXDE_formulate_message(command), &error));
++ return error;
++#else
++ return NULL;
++#endif
++}
++
++/* Invoke the Logout method on LXDE. */
++char * dbus_LXDE_Logout(void)
++{
++ return dbus_LXDE_command("Logout");
++}
++
++/*** Lightdm mechanism ***/
++
++#ifdef HAVE_DBUS
++/* Formulate a message to the Lightdm interface. */
++static DBusMessage * dbus_Lightdm_formulate_message(const char * const query)
++{
++ return dbus_message_new_method_call(
++ "org.freedesktop.DisplayManager",
++ g_getenv ("XDG_SEAT_PATH"),
++ "org.freedesktop.DisplayManager.Seat",
++ query);
++}
++#endif
++
++/* Send a specified message to the Lightdm interface and process a boolean result. */
++static gboolean dbus_Lightdm_query(const char * const query)
++{
++#ifdef HAVE_DBUS
++ return dbus_read_result_boolean(dbus_send_message_session(dbus_Lightdm_formulate_message(query), NULL));
++#else
++ return FALSE;
++#endif
++}
++
++/* Send a specified message to the Lightdm interface and process a void result. */
++static char * dbus_Lightdm_command(const char * const command)
++{
++#ifdef HAVE_DBUS
++ char * error = NULL;
++ dbus_read_result_void(dbus_send_message_session(dbus_Lightdm_formulate_message(command), &error));
++ return error;
++#else
++ return NULL;
++#endif
++}
++
++/* Invoke the Logout method on LXDE. */
++char * dbus_Lightdm_SwitchToGreeter(void)
++{
++ return dbus_Lightdm_command("SwitchToGreeter");
++}
+--- src/lxsession-0.4.6.1/lxsession-logout/dbus-interface.h 2011-07-27 21:26:36.000000000 +0200
++++ src/lxsession-0.4.6.1/lxsession-logout-logind/dbus-interface.h 2012-11-13 17:26:30.807070976 +0100
+@@ -44,4 +44,18 @@
+ extern char * dbus_HAL_Suspend(void);
+ extern char * dbus_HAL_Hibernate(void);
+
++/* Interface to logind for shutdown, reboot, suspend, and hibernate. */
++extern gboolean dbus_logind_CanPowerOff(void);
++extern gboolean dbus_logind_CanRestart(void);
++extern char * dbus_logind_PowerOff(void);
++extern char * dbus_logind_Restart(void);
++extern gboolean dbus_logind_CanSuspend(void);
++extern gboolean dbus_logind_CanHibernate(void);
++extern char * dbus_logind_Suspend(void);
++extern char * dbus_logind_Hibernate(void);
++
++extern char * dbus_LXDE_Logout(void);
++
++extern char * dbus_Lightdm_SwitchToGreeter();
++
+ #endif
+--- src/lxsession-0.4.6.1/lxsession-logout/lxsession-logout.c 2011-07-27 21:26:36.000000000 +0200
++++ src/lxsession-0.4.6.1/lxsession-logout-logind/lxsession-logout.c 2012-11-13 17:26:30.807070976 +0100
+@@ -69,12 +69,21 @@
+ int reboot_HAL : 1; /* Reboot is available via HAL */
+ int suspend_HAL : 1; /* Suspend is available via HAL */
+ int hibernate_HAL : 1; /* Hibernate is available via HAL */
++ int shutdown_logind : 1; /* Shutdown is available via logind */
++ int reboot_logind : 1; /* Reboot is available via logind */
++ int suspend_logind : 1; /* Suspend is available via logind */
++ int hibernate_logind : 1; /* Hibernate is available via logind */
+ int switch_user_GDM : 1; /* Switch User is available via GDM */
+- int switch_user_KDM : 1; /* Switch User is available via KDM */
++ int switch_user_LIGHTDM : 1; /* Switch User is available via GDM */
++ int switch_user_KDM : 1; /* Switch User is available via LIGHTDM */
+ int ltsp : 1; /* Shutdown and reboot is accomplished via LTSP */
++
++ int lock_screen : 1; /* Lock screen available */
++
+ } HandlerContext;
+
+ static gboolean lock_screen(void);
++static const gchar* determine_lock_screen(void);
+ static gboolean verify_running(const char * display_manager, const char * executable);
+ static void logout_clicked(GtkButton * button, HandlerContext * handler_context);
+ static void change_root_property(GtkWidget* w, const char* prop_name, const char* value);
+@@ -93,13 +102,32 @@
+ */
+ static gboolean lock_screen(void)
+ {
+- if (!g_spawn_command_line_async("lxlock", NULL))
++ const gchar* program = determine_lock_screen();
++
++ if (program)
+ {
++ g_spawn_command_line_async(program, NULL);
+ return TRUE;
+ }
+ return FALSE;
+ }
+
++static const gchar* determine_lock_screen(void)
++{
++ const gchar* program = NULL;
++
++ if (g_find_program_in_path("xdg-screensaver"))
++ {
++ program = "xdg-screensaver lock";
++ }
++ else if (g_find_program_in_path("lxlock"))
++ {
++ program = "lxlock";
++ }
++ return program;
++}
++
++
+ /* Verify that a program is running and that an executable is available. */
+ static gboolean verify_running(const char * display_manager, const char * executable)
+ {
+@@ -187,6 +215,8 @@
+ error_result = dbus_ConsoleKit_Stop();
+ else if (handler_context->shutdown_HAL)
+ error_result = dbus_HAL_Shutdown();
++ else if (handler_context->shutdown_logind)
++ error_result = dbus_logind_PowerOff();
+
+ if (error_result != NULL)
+ gtk_label_set_text(GTK_LABEL(handler_context->error_label), error_result);
+@@ -208,6 +238,8 @@
+ error_result = dbus_ConsoleKit_Restart();
+ else if (handler_context->reboot_HAL)
+ error_result = dbus_HAL_Reboot();
++ else if (handler_context->reboot_logind)
++ error_result = dbus_logind_Reboot();
+
+ if (error_result != NULL)
+ gtk_label_set_text(GTK_LABEL(handler_context->error_label), error_result);
+@@ -225,6 +257,8 @@
+ error_result = dbus_UPower_Suspend();
+ else if (handler_context->suspend_HAL)
+ error_result = dbus_HAL_Suspend();
++ else if (handler_context->suspend_logind)
++ error_result = dbus_logind_Suspend();
+
+ if (error_result != NULL)
+ gtk_label_set_text(GTK_LABEL(handler_context->error_label), error_result);
+@@ -242,6 +276,8 @@
+ error_result = dbus_UPower_Hibernate();
+ else if (handler_context->hibernate_HAL)
+ error_result = dbus_HAL_Hibernate();
++ else if (handler_context->hibernate_logind)
++ error_result = dbus_logind_Hibernate();
+
+ if (error_result != NULL)
+ gtk_label_set_text(GTK_LABEL(handler_context->error_label), error_result);
+@@ -258,6 +294,17 @@
+ g_spawn_command_line_sync("gdmflexiserver --startnew", NULL, NULL, NULL, NULL);
+ else if (handler_context->switch_user_KDM)
+ g_spawn_command_line_sync("kdmctl reserve", NULL, NULL, NULL, NULL);
++ else if (handler_context->switch_user_LIGHTDM)
++ dbus_Lightdm_SwitchToGreeter();
++ gtk_main_quit();
++}
++
++/* Handler for "clicked" signal on Lock button. */
++static void lock_screen_clicked(GtkButton * button, HandlerContext * handler_context)
++{
++ gtk_label_set_text(GTK_LABEL(handler_context->error_label), NULL);
++
++ lock_screen();
+ gtk_main_quit();
+ }
+
+@@ -435,6 +482,28 @@
+ handler_context.hibernate_HAL = TRUE;
+ }
+
++ /* Initialize capabilities of the logind mechanism. */
++ if (!handler_context.shutdown_available && dbus_logind_CanPowerOff())
++ {
++ handler_context.shutdown_available = TRUE;
++ handler_context.shutdown_logind = TRUE;
++ }
++ if (!handler_context.reboot_available && dbus_logind_CanReboot())
++ {
++ handler_context.reboot_available = TRUE;
++ handler_context.reboot_logind = TRUE;
++ }
++ if (!handler_context.suspend_available && dbus_logind_CanSuspend())
++ {
++ handler_context.suspend_available = TRUE;
++ handler_context.suspend_logind = TRUE;
++ }
++ if (!handler_context.hibernate_available && dbus_logind_CanHibernate())
++ {
++ handler_context.hibernate_available = TRUE;
++ handler_context.hibernate_logind = TRUE;
++ }
++
+ /* If we are under GDM, its "Switch User" is available. */
+ if (verify_running("gdm", "gdmflexiserver"))
+ {
+@@ -442,6 +511,34 @@
+ handler_context.switch_user_GDM = TRUE;
+ }
+
++ /* If we are under GDM3, its "Switch User" is available. */
++ if (verify_running("gdm3", "gdmflexiserver"))
++ {
++ handler_context.switch_user_available = TRUE;
++ handler_context.switch_user_GDM = TRUE;
++ }
++
++ /* lightdm also use gdmflexiserver */
++ if (verify_running("lightdm", "gdmflexiserver"))
++ {
++ handler_context.switch_user_available = TRUE;
++ handler_context.switch_user_GDM = TRUE;
++ }
++
++ /* lightdm also use gdmflexiserver */
++ if (verify_running("lightdm", "gdmflexiserver"))
++ {
++ handler_context.switch_user_available = TRUE;
++ handler_context.switch_user_GDM = TRUE;
++ }
++
++ /* lightdm can also be find by the env */
++ if (g_getenv("XDG_SEAT_PATH"))
++ {
++ handler_context.switch_user_available = TRUE;
++ handler_context.switch_user_LIGHTDM = TRUE;
++ }
++
+ /* If we are under KDM, its "Switch User" is available. */
+ if (verify_running("kdm", "kdmctl"))
+ {
+@@ -451,7 +548,18 @@
+
+ /* LTSP support */
+ if (g_getenv("LTSP_CLIENT"))
++ {
+ handler_context.ltsp = TRUE;
++ handler_context.shutdown_available = TRUE;
++ handler_context.reboot_available = TRUE;
++ }
++
++ /* Lock screen */
++ const gchar* very_lock_screen = determine_lock_screen();
++ if (very_lock_screen)
++ {
++ handler_context.lock_screen = TRUE;
++ }
+
+ /* Make the button images accessible. */
+ gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), PACKAGE_DATA_DIR "/lxsession/images");
+@@ -596,6 +704,17 @@
+ gtk_box_pack_start(GTK_BOX(controls), switch_user_button, FALSE, FALSE, 4);
+ }
+
++ /* Create the Lock Screen button. */
++ if (handler_context.lock_screen && !handler_context.ltsp)
++ {
++ GtkWidget * lock_screen_button = gtk_button_new_with_mnemonic(_("L_ock Screen"));
++ GtkWidget * image = gtk_image_new_from_icon_name("system-lock-screen", GTK_ICON_SIZE_BUTTON);
++ gtk_button_set_image(GTK_BUTTON(lock_screen_button), image);
++ gtk_button_set_alignment(GTK_BUTTON(lock_screen_button), 0.0, 0.5);
++ g_signal_connect(G_OBJECT(lock_screen_button), "clicked", G_CALLBACK(lock_screen_clicked), &handler_context);
++ gtk_box_pack_start(GTK_BOX(controls), lock_screen_button, FALSE, FALSE, 4);
++ }
++
+ /* Create the Logout button. */
+ GtkWidget * logout_button = gtk_button_new_with_mnemonic(_("_Logout"));
+ GtkWidget * image = gtk_image_new_from_icon_name("system-log-out", GTK_ICON_SIZE_BUTTON);
diff --git a/community/lxshortcut/PKGBUILD b/community/lxshortcut/PKGBUILD
new file mode 100644
index 000000000..75732c2a7
--- /dev/null
+++ b/community/lxshortcut/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 71908 2012-06-03 08:11:43Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: swanson <swansonwebaake at gmail dot com>
+# Contributor: zoulnix <http://goo.gl/HQaP>
+# Contributor: n6W588kJ2d
+
+pkgname=lxshortcut
+pkgver=0.1.2
+pkgrel=1
+pkgdesc='Small program used to edit application shortcuts'
+arch=('i686' 'x86_64')
+url="http://lxde.org/"
+license=('GPL')
+groups=('lxde')
+depends=('gtk2')
+makedepends=('autoconf' 'automake' 'gcc' 'intltool' 'make' 'pkg-config')
+options=(!libtool)
+source=(http://downloads.sourceforge.net/lxde/${pkgname}-${pkgver}.tar.gz)
+md5sums=('72f0dfafa8098be853beae6e33b5e13b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/lxtask/PKGBUILD b/community/lxtask/PKGBUILD
new file mode 100644
index 000000000..db8d97ae5
--- /dev/null
+++ b/community/lxtask/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 56901 2011-10-16 07:43:53Z bpiotrowski $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+pkgname=lxtask
+pkgver=0.1.4
+pkgrel=3
+pkgdesc="Task manager of the LXDE Desktop"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('gtk2')
+makedepends=('pkgconfig' 'intltool')
+source=(http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz)
+md5sums=('c4ab47d03d41a88696d64d3f1e78cf7f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ autoreconf
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/lxterminal/PKGBUILD b/community/lxterminal/PKGBUILD
new file mode 100644
index 000000000..9751bc21a
--- /dev/null
+++ b/community/lxterminal/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 71600 2012-05-30 16:08:38Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+
+pkgname=lxterminal
+pkgver=0.1.11
+pkgrel=2
+pkgdesc="VTE-based terminal emulator (part of LXDE)"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('fontconfig' 'libx11' 'glib2' 'vte' 'gtk2')
+makedepends=('pkgconfig' 'intltool')
+source=(http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz
+ shift-keybinds.patch)
+md5sums=('fd9140b45c0f28d021253c4aeb8c4aea'
+ '7eff715e02181b006b1912cd041b7f1a')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ patch -Np1 -i "$srcdir"/shift-keybinds.patch
+
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
diff --git a/community/lxterminal/shift-keybinds.patch b/community/lxterminal/shift-keybinds.patch
new file mode 100644
index 000000000..ecef20318
--- /dev/null
+++ b/community/lxterminal/shift-keybinds.patch
@@ -0,0 +1,39 @@
+diff -ru lxterminal-0.1.11.orig/src/lxterminal.c lxterminal-0.1.11/src/lxterminal.c
+--- lxterminal-0.1.11.orig/src/lxterminal.c 2011-07-27 23:07:54.000000000 +0200
++++ lxterminal-0.1.11/src/lxterminal.c 2012-05-18 17:58:40.483588501 +0200
+@@ -77,9 +77,9 @@
+ static void terminal_close_tab_activate_event(GtkAction * action, LXTerminal * terminal);
+ static void terminal_close_tab_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
+ static void terminal_copy_activate_event(GtkAction * action, LXTerminal * terminal);
+-static void terminal_copy_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
++static gboolean terminal_copy_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
+ static void terminal_paste_activate_event(GtkAction * action, LXTerminal * terminal);
+-static void terminal_paste_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
++static gboolean terminal_paste_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
+ static void terminal_name_tab_response_event(GtkWidget * dialog, gint response, LXTerminal * terminal);
+ static void terminal_name_tab_activate_event(GtkAction * action, LXTerminal * terminal);
+ static void terminal_name_tab_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
+@@ -433,9 +433,10 @@
+ }
+
+ /* Handler for accelerator <CTRL><SHIFT> C. Copy to the clipboard. */
+-static void terminal_copy_accelerator(LXTerminal * terminal, guint action, GtkWidget * item)
++static gboolean terminal_copy_accelerator(LXTerminal * terminal, guint action, GtkWidget * item)
+ {
+ terminal_copy_activate_event(NULL, terminal);
++ return TRUE;
+ }
+
+ /* Handler for "activate" signal on Edit/Paste menu item.
+@@ -447,9 +448,10 @@
+ }
+
+ /* Handler for accelerator <CTRL><SHIFT> V. Paste from the clipboard. */
+-static void terminal_paste_accelerator(LXTerminal * terminal, guint action, GtkWidget * item)
++static gboolean terminal_paste_accelerator(LXTerminal * terminal, guint action, GtkWidget * item)
+ {
+ terminal_paste_activate_event(NULL, terminal);
++ return TRUE;
+ }
+
+ /* Handler for "response" signal on Name Tab dialog. */
diff --git a/community/macchanger/PKGBUILD b/community/macchanger/PKGBUILD
new file mode 100644
index 000000000..6992f1f08
--- /dev/null
+++ b/community/macchanger/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 87606 2013-04-04 02:46:04Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=macchanger
+pkgver=1.6.0
+pkgrel=1
+pkgdesc="A small utility to change your NIC's MAC address"
+arch=('i686' 'x86_64')
+url="http://ftp.gnu.org/gnu/macchanger"
+license=('GPL')
+source=(http://ftp.gnu.org/gnu/macchanger/${pkgname}-${pkgver}.tar.gz)
+md5sums=('1257b18e9067a8192c9747da52aabdda')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/madman/PKGBUILD b/community/madman/PKGBUILD
new file mode 100644
index 000000000..6cb991cff
--- /dev/null
+++ b/community/madman/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 87994 2013-04-09 21:36:20Z eric $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Eric Belanger <belanger@astro.umontreal.ca>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+# Contributor: Zsolt Varadi <sysop_xxl@fibermail.hu>
+
+pkgname=madman
+pkgver=0.94beta1.20060611
+pkgrel=3
+pkgdesc="I-tunes like music player"
+arch=('i686' 'x86_64')
+url="http://madman.sourceforge.net/"
+license=('GPL')
+depends=('qt3' 'xmms' 'gtk' 'taglib')
+makedepends=('python2' 'scons')
+source=(ftp://ftp.archlinux.org/other/community/madman/madman_$pkgver.orig.tar.gz
+ ftp://ftp.archlinux.org/other/community/madman/madman_$pkgver-2.diff.gz
+ ftp://ftp.archlinux.org/other/community/madman/madman.desktop
+ ftp://ftp.archlinux.org/other/community/madman/madman_logo.png
+ ftp://ftp.archlinux.org/other/community/madman/madman_logo_mini.png
+ ftp://ftp.archlinux.org/other/community/madman/madman_logo_large.png
+ fake-g++.sh)
+md5sums=('36e7a4619ebe83ed939c7ae09c16d535'
+ '26de942ae2465fb805748d3bea9a8a17'
+ '591354b69235d5a4b5a09591d04db266'
+ 'd4546f77857a6ccdabb2036eb6a0da07'
+ '2d54bb8eceed283edc88a3e4553d2483'
+ '3c2da1b1800fb372e225ae38fa1398e8'
+ '685a6fb13c861b82950dd6a77fd02120')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver.orig
+
+ patch -p1 -i $srcdir/madman_0.94beta1.20060611-2.diff
+ mkdir -p ,build/release/designer
+ touch ,build/release/designer/tsonglistview.h \
+ ,build/release/designer/tsetlistview.h \
+ ,build/release/designer/tclickablelabel.h \
+ ,build/release/designer/tacceleratorlineedit.h \
+ ,build/release/designer/tsonglistview.h \
+ ,build/release/designer/tsetlistview.h
+ sed -i '26,1i#include <memory>' utility/base.h
+ sed -i 's|python|python2|' designer/make_imagedata httpd/make_webdata doc/update_format_tag
+ install -m755 $srcdir/fake-g++.sh ./g++
+ export PATH=.:$PATH
+
+ scons qt_directory=/usr/lib/qt3 add_c_include_dirs=/usr/include/qt3
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver.orig
+
+ scons qt_directory=/usr/lib/qt3 add_c_include_dirs=/usr/include/qt3 \
+ install_to=$pkgdir/usr prefix=/usr install
+
+ install -Dm644 $srcdir/madman_logo.png $pkgdir/usr/share/icons/madman_logo.png
+ install -Dm644 $srcdir/madman_logo_mini.png $pkgdir/usr/share/icons/mini/madman_logo_mini.png
+ install -Dm644 $srcdir/madman_logo_large.png $pkgdir/usr/share/icons/large/madman_logo_large.png
+ install -Dm644 $srcdir/madman.desktop $pkgdir/usr/share/applications/madman.desktop
+}
diff --git a/community/madman/fake-g++.sh b/community/madman/fake-g++.sh
new file mode 100644
index 000000000..af424f5ca
--- /dev/null
+++ b/community/madman/fake-g++.sh
@@ -0,0 +1,5 @@
+#!/bin/sh -x
+
+Q=`echo "$*" | sed 's|- p t h r e a d|-pthread|'`
+echo "$Q" | grep 'lmp4ff' && Q="$Q /usr/lib/libmp4ff.a"
+exec /usr/bin/g++ $Q
diff --git a/community/mahjong/PKGBUILD b/community/mahjong/PKGBUILD
new file mode 100644
index 000000000..465a41e07
--- /dev/null
+++ b/community/mahjong/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 83162 2013-01-27 16:20:47Z pierre $
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: Jason Chu <jchu@xentac.net>
+
+pkgname=mahjong
+pkgver=1.12.1
+pkgrel=1
+pkgdesc="The classical game of Mah Jong (not the solitare version) with network support"
+arch=('i686' 'x86_64')
+url="http://www.stevens-bradfield.com/MahJong/"
+license=('GPL' 'custom')
+depends=('gtk2')
+source=(http://mahjong.julianbradfield.org/Source/mj-$pkgver-src.tar.gz)
+md5sums=('a74acae39d6a49bad9c34b84088f72f3')
+
+build() {
+ cd "$srcdir/mj-$pkgver-src"
+ sed -i 's/& Calling/Calling/' gui-dial.c
+ make LDLIBS="-lm"
+}
+
+package() {
+ cd "$srcdir/mj-$pkgver-src"
+ make DESTDIR="$pkgdir/usr/" MANDIR=share/man/man1 install install.man
+ install -D -m644 tiles-v1/README "$pkgdir/usr/share/licenses/$pkgname/tiles-license.txt"
+}
diff --git a/community/mailman/PKGBUILD b/community/mailman/PKGBUILD
new file mode 100644
index 000000000..91ef3a656
--- /dev/null
+++ b/community/mailman/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 83707 2013-02-04 14:51:45Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
+# Contributor: Paul Mattal <paul@archlinux.org>
+
+pkgname=mailman
+pkgver=2.1.15
+pkgrel=3
+pkgdesc='The GNU Mailing List Manager'
+arch=(i686 x86_64)
+license=('GPL')
+url='http://www.list.org/'
+depends=('glibc' 'python2' 'smtp-server')
+# we need to have the mailman user to build mailman
+makedepends=('mailman')
+# 'Defaults.py' should not be changed by users; 'mm_cfg.py' should instead.
+backup=('usr/lib/mailman/Mailman/mm_cfg.py')
+install=$pkgname.install
+source=("http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tgz"
+ 'mailman-2.1-build.patch'
+ "$pkgname.profile.sh"
+ "$pkgname.profile.csh"
+ "$pkgname.service")
+md5sums=('7d207489e8e9de0727cb334d46029833'
+ 'ed04d062379eb21e39ce1e70e6b1ade2'
+ 'a9c71ec940c56173415fbd49087d10b0'
+ '85a8c30ffc444e677b286f54df530482'
+ 'f3ea6ef02ab135274406ce52ea8bbb7b')
+
+build() {
+ cd $pkgname-$pkgver
+ # some files in mailman doesn't use configure parameter
+ find . -type f -exec \
+ sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
+ # fix directory permissions to satisfy check_perms
+ patch -p1 -i "$srcdir/mailman-2.1-build.patch"
+ # set some sane defaults before the configure script has a chance to screw them up
+ ./configure \
+ --without-permcheck \
+ --prefix=/usr/lib/mailman \
+ --with-var-prefix=/var/lib/mailman \
+ --with-mail-gid=mailman \
+ --with-username=mailman \
+ --with-groupname=mailman \
+ --with-cgi-gid=http \
+ --with-python=/usr/bin/python2 \
+ --with-mailhost=localhost \
+ --with-urlhost=localhost
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # let's follow Fedora FHS way; Gentoo does it the other way round
+
+ # Create a link so that the config file mm_cfg.py appears in config
+ # directory /etc/mailman. We don't put mm_cfg.py in the config directory
+ # because its executable code (python file) and the security policy wants
+ # to keep executable code out of /etc and inside of a lib directory instead,
+ # and because traditionally mm_cfg.py was in the Mailman subdirectory and
+ # experienced mailman admins will expect to find it there. But having it
+ # "appear" in the config directory is good practice and heading in the
+ # right direction for FHS compliance.
+ install -d -m755 "$pkgdir/etc/$pkgname"
+ ln -sv /usr/lib/mailman/Mailman/mm_cfg.py "$pkgdir/etc/$pkgname/mm_cfg.py"
+ # fix some permissions to satisfy check_perms
+ chown -R mailman:mailman "$pkgdir"/{usr/lib/mailman,var/lib/mailman,etc/mailman/*}
+ chown http:mailman "$pkgdir"/var/lib/mailman/archives/private
+ chmod 2770 "$pkgdir"/var/lib/mailman/archives/private
+ chmod 2755 "$pkgdir"/usr/lib/mailman/cgi-bin/*
+ chmod 2755 "$pkgdir"/usr/lib/mailman/mail/mailman
+ cd "$srcdir"
+ # systemd
+ install -Dm 644 $pkgname.service \
+ "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ # profiles
+ install -Dm 755 $pkgname.profile.sh "$pkgdir/etc/profile.d/$pkgname.sh"
+ install -Dm 755 $pkgname.profile.csh "$pkgdir/etc/profile.d/$pkgname.csh"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mailman/mailman-2.1-build.patch b/community/mailman/mailman-2.1-build.patch
new file mode 100644
index 000000000..d00613ad7
--- /dev/null
+++ b/community/mailman/mailman-2.1-build.patch
@@ -0,0 +1,694 @@
+diff -ruN mailman-2.1.12-a/bin/Makefile.in mailman-2.1.12-b/bin/Makefile.in
+--- mailman-2.1.12-a/bin/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/bin/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -56,7 +55,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -72,8 +71,6 @@
+ $(INSTALL) -m $(EXEMODE) $(BUILDDIR)/$$f $(DESTDIR)$(SCRIPTSDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/cron/Makefile.in mailman-2.1.12-b/cron/Makefile.in
+--- mailman-2.1.12-a/cron/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/cron/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -68,8 +67,6 @@
+ $(INSTALL) -m $(EXEMODE) $(BUILDDIR)/$$f $(DESTDIR)$(CRONDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Archiver/Makefile.in mailman-2.1.12-b/Mailman/Archiver/Makefile.in
+--- mailman-2.1.12-a/Mailman/Archiver/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Archiver/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -47,7 +46,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -63,8 +62,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Bouncers/Makefile.in mailman-2.1.12-b/Mailman/Bouncers/Makefile.in
+--- mailman-2.1.12-a/Mailman/Bouncers/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Bouncers/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Cgi/Makefile.in mailman-2.1.12-b/Mailman/Cgi/Makefile.in
+--- mailman-2.1.12-a/Mailman/Cgi/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Cgi/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -47,7 +46,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -63,8 +62,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(CGIDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Commands/Makefile.in mailman-2.1.12-b/Mailman/Commands/Makefile.in
+--- mailman-2.1.12-a/Mailman/Commands/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Commands/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Gui/Makefile.in mailman-2.1.12-b/Mailman/Gui/Makefile.in
+--- mailman-2.1.12-a/Mailman/Gui/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Gui/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Handlers/Makefile.in mailman-2.1.12-b/Mailman/Handlers/Makefile.in
+--- mailman-2.1.12-a/Mailman/Handlers/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Handlers/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Logging/Makefile.in mailman-2.1.12-b/Mailman/Logging/Makefile.in
+--- mailman-2.1.12-a/Mailman/Logging/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Logging/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Makefile.in mailman-2.1.12-b/Mailman/Makefile.in
+--- mailman-2.1.12-a/Mailman/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -20,8 +20,6 @@
+
+ # Variables set by configure
+
+-VERSION= @VERSION@
+-
+ VPATH= @srcdir@
+ srcdir= @srcdir@
+ bindir= @bindir@
+@@ -30,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -48,7 +45,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -79,12 +76,6 @@
+ (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
+ done
+
+-finish:
+- @for d in $(SUBDIRS); \
+- do \
+- (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) finish); \
+- done
+-
+ clean:
+ for d in $(SUBDIRS); \
+ do \
+diff -ruN mailman-2.1.12-a/Mailman/MTA/Makefile.in mailman-2.1.12-b/Mailman/MTA/Makefile.in
+--- mailman-2.1.12-a/Mailman/MTA/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/MTA/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Queue/Makefile.in mailman-2.1.12-b/Mailman/Queue/Makefile.in
+--- mailman-2.1.12-a/Mailman/Queue/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Queue/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Makefile.in mailman-2.1.12-b/Makefile.in
+--- mailman-2.1.12-a/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -61,11 +61,10 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+-DIRSETGID= chmod g+s
+
+ DATE = $(shell python -c 'import time; print time.strftime("%d-%b-%Y"),')
+ LANGPACK = README-I18N.en templates messages
+@@ -85,14 +84,24 @@
+
+ doinstall: $(SUBDIRS)
+ @echo "Creating architecture independent directories..."
++ dir=$(DESTDIR)$(prefix); \
++ if test ! -d $$dir; then \
++ echo "Creating directory hierarchy $$dir"; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
++ else true; \
++ fi;
++ dir=$(DESTDIR)$(var_prefix); \
++ if test ! -d $$dir; then \
++ echo "Creating directory hierarchy $$dir"; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
++ else true; \
++ fi;
+ @for d in $(VAR_DIRS); \
+ do \
+ dir=$(DESTDIR)$(var_prefix)/$$d; \
+ if test ! -d $$dir; then \
+ echo "Creating directory hierarchy $$dir"; \
+- $(srcdir)/mkinstalldirs $$dir; \
+- chmod $(DIRMODE) $$dir; \
+- $(DIRSETGID) $$dir; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
+ else true; \
+ fi; \
+ done
+@@ -102,9 +111,7 @@
+ dir=$(DESTDIR)$(prefix)/$$d; \
+ if test ! -d $$dir; then \
+ echo "Creating directory hierarchy $$dir"; \
+- $(srcdir)/mkinstalldirs $$dir; \
+- chmod $(DIRMODE) $$dir; \
+- $(DIRSETGID) $$dir; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
+ else true; \
+ fi; \
+ done
+@@ -114,9 +121,7 @@
+ dir=$(DESTDIR)$(exec_prefix)/$$d; \
+ if test ! -d $$dir; then \
+ echo "Creating directory hierarchy $$dir"; \
+- $(srcdir)/mkinstalldirs $$dir; \
+- chmod $(DIRMODE) $$dir; \
+- $(DIRSETGID) $$dir; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
+ else true; \
+ fi; \
+ done
+diff -ruN mailman-2.1.12-a/messages/Makefile.in mailman-2.1.12-b/messages/Makefile.in
+--- mailman-2.1.12-a/messages/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/messages/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -32,7 +32,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -43,7 +42,6 @@
+ CFLAGS= $(OPT) $(DEFS)
+ PACKAGEDIR= $(prefix)/messages
+ SHELL= /bin/sh
+-DIRSETGID= chmod g+s
+ MSGFMT= @PYTHON@ ../build/bin/msgfmt.py
+ MSGMERGE= msgmerge
+
+@@ -60,7 +58,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -90,9 +88,8 @@
+ do \
+ dir=$(DESTDIR)$(prefix)/$$d; \
+ echo "Creating language directory $$dir"; \
+- $(srcdir)/../mkinstalldirs $$dir; \
+- chmod $(DIRMODE) $$dir; \
+- $(DIRSETGID) $$dir; \
++ $(INSTALL) -d -m $(DIRMODE) `dirname $$dir`; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
+ done
+ @for d in $(LANGUAGES); \
+ do \
+@@ -113,8 +110,6 @@
+
+ mofiles: $(MOFILES)
+
+-finish:
+-
+ clean:
+ -rm -f */LC_MESSAGES/mailman.mo
+
+diff -ruN mailman-2.1.12-a/misc/Makefile.in mailman-2.1.12-b/misc/Makefile.in
+--- mailman-2.1.12-a/misc/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/misc/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -30,7 +30,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+ PYTHON= @PYTHON@
+
+@@ -62,7 +61,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ DATAMODE= 664
+@@ -101,8 +100,6 @@
+ (cd $(PKGDIR)/$$p ; umask 02 ; PYTHONPATH=$(PYTHONLIBDIR) $(PYTHON) $(SETUPCMD)); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/scripts/Makefile.in mailman-2.1.12-b/scripts/Makefile.in
+--- mailman-2.1.12-a/scripts/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/scripts/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -49,7 +48,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -68,8 +67,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/join $(DESTDIR)$(SCRIPTSDIR)/subscribe
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/leave $(DESTDIR)$(SCRIPTSDIR)/unsubscribe
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/src/Makefile.in mailman-2.1.12-b/src/Makefile.in
+--- mailman-2.1.12-a/src/Makefile.in 2009-07-28 12:19:47.000000000 +0200
++++ mailman-2.1.12-b/src/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+ PYTHON= @PYTHON@
+
+@@ -63,10 +62,9 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
+-EXEMODE= 755
++DIRMODE= 2775
++EXEMODE= 2755
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+-DIRSETGID= chmod g+s
+
+ # Fixed definitions
+
+@@ -110,20 +108,10 @@
+ do \
+ exe=$(DESTDIR)$(CGIDIR)/$$f$(CGIEXT); \
+ $(INSTALL_PROGRAM) $$f $$exe; \
+- $(DIRSETGID) $$exe; \
+ done
+ for f in $(MAIL_PROGS); \
+ do \
+ $(INSTALL_PROGRAM) $$f $(DESTDIR)$(MAILDIR); \
+- $(DIRSETGID) $(DESTDIR)$(MAILDIR)/$$f; \
+- done
+-
+-finish:
+- -for f in $(SUID_CGI_PROGS); \
+- do \
+- exe=$(DESTDIR)$(CGIDIR)/$$f$(CGIEXT); \
+- chown $(MAILMAN_USER) $$exe; \
+- chmod u+s $$exe; \
+ done
+
+ clean:
+diff -ruN mailman-2.1.12-a/templates/Makefile.in mailman-2.1.12-b/templates/Makefile.in
+--- mailman-2.1.12-a/templates/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/templates/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+ TRUE= @TRUE@
+
+@@ -48,7 +47,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,15 +60,13 @@
+ install:
+ for d in $(LANGUAGES); \
+ do \
+- $(srcdir)/../mkinstalldirs $(DESTDIR)$(TEMPLATEDIR)/$$d; \
++ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(TEMPLATEDIR)/$$d; \
+ for f in $(srcdir)/$$d/*.html $(srcdir)/$$d/*.txt; \
+ do \
+ $(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(TEMPLATEDIR)/$$d; \
+ done; \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/tests/bounces/Makefile.in mailman-2.1.12-b/tests/bounces/Makefile.in
+--- mailman-2.1.12-a/tests/bounces/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/tests/bounces/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -46,7 +45,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -60,8 +59,6 @@
+ $(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(BOUNCEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/tests/Makefile.in mailman-2.1.12-b/tests/Makefile.in
+--- mailman-2.1.12-a/tests/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/tests/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -46,7 +45,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -71,8 +70,6 @@
+ (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/tests/msgs/Makefile.in mailman-2.1.12-b/tests/msgs/Makefile.in
+--- mailman-2.1.12-a/tests/msgs/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/tests/msgs/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -46,7 +45,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -60,8 +59,6 @@
+ $(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(MSGSDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
diff --git a/community/mailman/mailman.install b/community/mailman/mailman.install
new file mode 100644
index 000000000..98864b3d3
--- /dev/null
+++ b/community/mailman/mailman.install
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+## arg 1: the new package version
+post_install() {
+ if ! getent group mailman >/dev/null; then
+ groupadd -g 80 mailman >/dev/null
+ fi
+
+ if ! getent passwd mailman >/dev/null; then
+ useradd -s /sbin/nologin -c "GNU Mailing List Manager" -d /usr/lib/mailman \
+ -u 80 -g mailman -M -r mailman >/dev/null
+ fi
+ # check file permissions
+ cd /usr/lib/mailman && bin/check_perms > /dev/null
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ # check file permissions
+ cd /usr/lib/mailman && bin/check_perms > /dev/null
+}
+
+## arg 1: the old package version
+post_remove() {
+ userdel -f mailman >/dev/null 2>&1 || true
+ groupdel mailman >/dev/null 2>&1 || true
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/mailman/mailman.profile.csh b/community/mailman/mailman.profile.csh
new file mode 100644
index 000000000..c0a39edee
--- /dev/null
+++ b/community/mailman/mailman.profile.csh
@@ -0,0 +1 @@
+[ -d /usr/lib/mailman/bin ] && setenv PATH ${PATH}:/usr/lib/mailman/bin
diff --git a/community/mailman/mailman.profile.sh b/community/mailman/mailman.profile.sh
new file mode 100644
index 000000000..51b69ebfb
--- /dev/null
+++ b/community/mailman/mailman.profile.sh
@@ -0,0 +1,3 @@
+[ -d /usr/lib/mailman/bin ] && PATH=$PATH:/usr/lib/mailman/bin
+
+export PATH
diff --git a/community/mailman/mailman.service b/community/mailman/mailman.service
new file mode 100644
index 000000000..633412dbc
--- /dev/null
+++ b/community/mailman/mailman.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=GNU Mailing List Manager
+After=network.target
+
+[Service]
+ExecStart=/usr/lib/mailman/bin/mailmanctl -s start
+ExecReload=/usr/lib/mailman/bin/mailmanctl restart
+ExecStop=/usr/lib/mailman/bin/mailmanctl stop
+StandardError=syslog
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mailutils/PKGBUILD b/community/mailutils/PKGBUILD
new file mode 100644
index 000000000..c1649d573
--- /dev/null
+++ b/community/mailutils/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 92555 2013-06-08 11:18:51Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=mailutils
+pkgver=2.2
+pkgrel=7
+pkgdesc="MUA command line tool (mailx)"
+arch=(i686 x86_64)
+url="http://www.gnu.org/software/mailutils/"
+license=('GPL')
+depends=('libldap' 'pam' 'gnutls')
+makedepends=('emacs')
+conflicts=('libsieve')
+install=mailutils.install
+options=(zipman !emptydirs)
+source=(http://ftp.gnu.org/gnu/mailutils/mailutils-$pkgver.tar.bz2
+ build-fix.patch)
+md5sums=('834d2f616b922856127ecfe6c2de7d1a'
+ 'e83709ffdcdb257dfab443ef77c89574')
+
+prepare() {
+ cd "$srcdir/mailutils-$pkgver"
+ patch -p1 <$srcdir/build-fix.patch
+}
+
+build() {
+ cd "$srcdir/mailutils-$pkgver"
+ ./configure --prefix=/usr --with-gdbm --with-gnutls \
+ --libexecdir=/usr/lib/$pkgname --without-fribidi \
+ --without-tcp-wrappers --sbindir=/usr/bin \
+ --without-python --without-guile
+ make -j1
+}
+
+package() {
+ cd "$srcdir/mailutils-$pkgver"
+ make -j1 DESTDIR=$pkgdir install
+ rm -f $pkgdir/usr/share/info/dir
+ mv $pkgdir/usr/bin/mail $pkgdir/usr/bin/gnu-mail
+ mv $pkgdir/usr/share/man/man1/mail.1 $pkgdir/usr/share/man/man1/gnu-mail.1
+ chown -R root:root $pkgdir
+}
diff --git a/community/mailutils/build-fix.patch b/community/mailutils/build-fix.patch
new file mode 100644
index 000000000..ec4afd5e3
--- /dev/null
+++ b/community/mailutils/build-fix.patch
@@ -0,0 +1,13 @@
+diff -wbBur mailutils-2.2/lib/Makefile.in mailutils-2.2.q/lib/Makefile.in
+--- mailutils-2.2/lib/Makefile.in 2010-09-08 13:58:58.000000000 +0400
++++ mailutils-2.2.q/lib/Makefile.in 2013-05-29 14:51:14.064888989 +0400
+@@ -1861,7 +1861,8 @@
+ -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+- -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
++ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
++ -e 's|_GL_WARN_ON_USE (gets.*||'; \
+ } > $@-t && \
+ mv $@-t $@
+
diff --git a/community/mailutils/mailutils.install b/community/mailutils/mailutils.install
new file mode 100644
index 000000000..03b451b3e
--- /dev/null
+++ b/community/mailutils/mailutils.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(mailutils.info mailutils.info-1 mailutils.info-2)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/mairix/PKGBUILD b/community/mairix/PKGBUILD
new file mode 100644
index 000000000..5cd6acd7f
--- /dev/null
+++ b/community/mairix/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 72993 2012-06-26 19:39:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+# Contributor: Giorgio Lando <patroclo7@gmail.com>
+# Contributor: Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
+
+pkgname=mairix
+pkgver=0.23
+pkgrel=1
+pkgdesc="A program for indexing and searching emails"
+arch=('i686' 'x86_64')
+url="http://www.rpcurnow.force9.co.uk/mairix/"
+license=('GPL')
+depends=(bzip2 zlib)
+makedepends=('flex' 'bison')
+install=$pkgname.install
+source=(http://downloads.sf.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('732cf94e05c779ff1ce4a9e9eb19ab44')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+
+ mkdir -p $pkgdir/usr/share/
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+ install -D -m 644 dotmairixrc.eg $pkgdir/etc/mairixrc.sample
+}
diff --git a/community/mairix/mairix.install b/community/mairix/mairix.install
new file mode 100644
index 000000000..9554b6ccb
--- /dev/null
+++ b/community/mairix/mairix.install
@@ -0,0 +1,14 @@
+# arg 1: the new package version
+post_install() {
+
+cat << EOM
+
+==> mairix post-install message:
+
+==> copy /etc/mairixrc.sample in ~/.mairixrc
+==> and edit it according to your needs.
+
+EOM
+
+}
+
diff --git a/community/makedev/PKGBUILD b/community/makedev/PKGBUILD
new file mode 100644
index 000000000..85285e4ab
--- /dev/null
+++ b/community/makedev/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 90528 2013-05-13 00:22:02Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Jonathan Liu <net147@gmail.com>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=makedev
+pkgver=3.23_1
+pkgrel=2
+pkgdesc='The ubiquitous script to create static device nodes'
+arch=('i686' 'x86_64')
+license=('GPL2')
+url='http://people.redhat.com/nalin/MAKEDEV/'
+source=("http://people.redhat.com/nalin/MAKEDEV/MAKEDEV-${pkgver//_/-}.tar.gz")
+md5sums=('554faf6cbc9a84e4bd58ccfa32d74e2f')
+
+build() {
+ cd ${pkgname^^*}-${pkgver/_*}
+ make
+}
+
+package() {
+ cd ${pkgname^^*}-${pkgver/_*}
+ # We make devdir == makedevdir to avoid install script to symlink into /dev
+ # As previous make doesn't have a bad devdir, everything goes well
+ make DESTDIR="$pkgdir" devdir=/usr/bin makedevdir=/usr/bin sbindir=/usr/bin install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mandvd/PKGBUILD b/community/mandvd/PKGBUILD
new file mode 100644
index 000000000..3519ac8dd
--- /dev/null
+++ b/community/mandvd/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 87997 2013-04-09 21:40:35Z eric $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: JJDaNiMoTh <jjdanimoth.aur@gmail.com>
+# Contributor: Jesus Lazaro Plaza <jesuslazaro84@gmail.com>
+
+pkgname=mandvd
+pkgver=2.6
+pkgrel=2
+pkgdesc="A program to simply create DVD Video"
+arch=('i686' 'x86_64')
+url="http://www.kde-apps.org/content/show.php/ManDVD?content=83906"
+license=('GPL')
+depends=('dvd+rw-tools>=5.21.4' 'dvd-slideshow>=0.7.5' 'mjpegtools>=1.8.0' 'mplayer' 'qt3' 'xine-ui>=0.99.4')
+changelog=$pkgname.changelog
+source=(http://vectorlinux.osuosl.org/veclinux-7.0/source/abs/xap/$pkgname/$pkgname-$pkgver-1.fc12.tar.gz)
+sha256sums=('967fd66da31f0619001b3aaea494ab41579ab7ffdc6a1b0a51a4a4add012eb9c')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ qmake-qt3
+ sed -i "s|O2|O1|" ./Makefile
+ sed -i 's|-I$(QTDIR)/include|-I/usr/include/qt3|' Makefile
+ sed -i '55 i\#include <unistd.h>' main.cpp
+ sed -i '28 i\#include <unistd.h>' mandvd.cpp
+ make QTDIR=/usr MOC=/usr/bin/moc-qt3 UIC=/usr/bin/uic-qt3
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ install -D -m755 $pkgname ${pkgdir}/usr/bin/$pkgname
+
+# Creating menu item
+ install -D -m644 mandvdico.png ${pkgdir}/usr/share/pixmaps/$pkgname.png
+ install -D -m644 $pkgname.desktop ${pkgdir}/usr/share/applications/$pkgname.desktop
+}
diff --git a/community/mandvd/mandvd.changelog b/community/mandvd/mandvd.changelog
new file mode 100644
index 000000000..90b4038b0
--- /dev/null
+++ b/community/mandvd/mandvd.changelog
@@ -0,0 +1,10 @@
+2012-02-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * mandvd 2.6-2
+ * package signed and FS#27067 fixed
+
+2010-08-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * mandvd 2.6-1
+ * new upstream release
+
+2009-04-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 2.5
diff --git a/community/mapnik/PKGBUILD b/community/mapnik/PKGBUILD
new file mode 100644
index 000000000..8d572e131
--- /dev/null
+++ b/community/mapnik/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 94032 2013-07-13 12:33:54Z svenstaro $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: David Dent <thewinch@gmail.com>
+# Contributor: orbisvicis <orbisvicis@gmail.com>
+
+pkgname=mapnik
+pkgver=2.2.0
+pkgrel=3
+pkgdesc="Free Toolkit for developing mapping applications. Above all Mapnik is about rendering beautiful maps"
+arch=('i686' 'x86_64')
+url="http://mapnik.org/"
+license=('LGPL')
+depends=('boost-libs' 'icu' 'libpng' 'libjpeg' 'libtiff' 'freetype2'
+ 'libxml2' 'python2' 'proj' 'cairo' 'cairomm' 'pycairo'
+ 'postgresql-libs' 'postgis' 'gdal' 'curl' 'libltdl')
+optdepends=('libxslt: Web Map Service'
+ 'python2-lxml: Web Map Service'
+ 'python-imaging: Web Map Service'
+ 'python-nose: Web Map Service'
+ 'apache: Web Map Service'
+ 'mod_fastcgi: Web Map Service - or:'
+ 'mod_fcgid: Web Map Service - or:'
+ 'mod_wsgi2: Web Map Service')
+makedepends=('scons' 'boost')
+install="mapnik.install"
+source=("https://github.com/mapnik/mapnik/archive/v$pkgver.tar.gz")
+md5sums=('b837931c7f1a4dc630d8550d3e635036')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i 's|lib64|lib|g' SConstruct
+ sed -i 's|python|python2|' \
+ utils/performance/mapnik-speed-check \
+ utils/upgrade_map_xml/*.py
+ scons configure \
+ PREFIX="/usr" \
+ INPUT_PLUGINS=all \
+ DESTDIR="$pkgdir"
+ scons $MAKEFLAGS
+}
+
+package(){
+ cd "$srcdir/$pkgname-$pkgver"
+ scons install
+}
diff --git a/community/mapnik/mapnik-2.1.0-compile-fix-for-boost-1.53.patch b/community/mapnik/mapnik-2.1.0-compile-fix-for-boost-1.53.patch
new file mode 100644
index 000000000..00b37c08f
--- /dev/null
+++ b/community/mapnik/mapnik-2.1.0-compile-fix-for-boost-1.53.patch
@@ -0,0 +1,36 @@
+From cf70b9959a45b9ab6af4a34824a5e4e80ce1d05c Mon Sep 17 00:00:00 2001
+From: Dane Springmeyer <dane@dbsgeo.com>
+Date: Sun, 10 Feb 2013 07:24:35 -0800
+Subject: [PATCH] fix compile of json feature_collection grammar when building
+ against >= boost 1.52 - refs #1658 and #1716
+
+---
+ src/json/feature_collection_parser.cpp | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/json/feature_collection_parser.cpp b/src/json/feature_collection_parser.cpp
+index 3faeda7..51ad824 100644
+--- a/src/json/feature_collection_parser.cpp
++++ b/src/json/feature_collection_parser.cpp
+@@ -20,12 +20,17 @@
+ *
+ *****************************************************************************/
+
++// TODO https://github.com/mapnik/mapnik/issues/1658
++#include <boost/version.hpp>
++#if BOOST_VERSION >= 105200
++#define BOOST_SPIRIT_USE_PHOENIX_V3
++#endif
++
+ // mapnik
+ #include <mapnik/json/feature_collection_parser.hpp>
+ #include <mapnik/json/feature_collection_grammar.hpp>
+
+ // boost
+-#include <boost/version.hpp>
+ #include <boost/spirit/include/qi.hpp>
+ #include <boost/spirit/include/support_multi_pass.hpp>
+
+--
+1.8.1.5
+
diff --git a/community/mapnik/mapnik.install b/community/mapnik/mapnik.install
new file mode 100644
index 000000000..46f265d5b
--- /dev/null
+++ b/community/mapnik/mapnik.install
@@ -0,0 +1,11 @@
+post_install() {
+ /sbin/ldconfig
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/marisa/ChangeLog b/community/marisa/ChangeLog
new file mode 100644
index 000000000..b7f4b062d
--- /dev/null
+++ b/community/marisa/ChangeLog
@@ -0,0 +1,10 @@
+2013-05-28 ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+ * marisa 0.2.4-2
+ - Separate bindings to another packages
+
+2013-05-27 ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+ * marisa 0.2.4-1
+ - Initial release on AUR
+
diff --git a/community/marisa/PKGBUILD b/community/marisa/PKGBUILD
new file mode 100644
index 000000000..9d4effbc3
--- /dev/null
+++ b/community/marisa/PKGBUILD
@@ -0,0 +1,109 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+pkgbase=marisa
+pkgname=('marisa' 'perl-marisa' 'python2-marisa' 'ruby-marisa')
+pkgver=0.2.4
+pkgrel=2
+arch=('i686' 'x86_64')
+url="https://code.google.com/p/marisa-trie/"
+license=('BSD' 'LGPL')
+options=(!libtool)
+makedepends=('python2' 'ruby' 'perl')
+changelog=ChangeLog
+source=(https://marisa-trie.googlecode.com/files/$pkgbase-$pkgver.tar.gz)
+sha1sums=('fb0ed7d993e84dff32ec456a79bd36a00022629d')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-static \
+ # --enable-popcnt
+ # --enable-sse2
+ # --enable-sse3
+ # --enable-ssse3
+ # --enable-sse4.1
+ # --enable-sse4.2
+ # --enable-sse4
+ # --enable-sse4a
+
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+ make
+
+ # Perl bindings
+ cd "${srcdir}/${pkgbase}-${pkgver}/bindings/perl"
+ perl Makefile.PL \
+ INC="-I${srcdir}/${pkgbase}-${pkgver}/lib" \
+ LIBS="-L${srcdir}/${pkgbase}-${pkgver}/lib/.libs"
+ make
+
+ # Python bindings
+ cd "${srcdir}/${pkgbase}-${pkgver}/bindings/python"
+ python2 setup.py build_ext \
+ --include-dirs="${srcdir}/${pkgbase}-${pkgver}/lib" \
+ --library-dirs="${srcdir}/${pkgbase}-${pkgver}/lib/.libs"
+ python2 setup.py build
+
+ # Ruby bindings
+ cd "${srcdir}/${pkgbase}-${pkgver}/bindings/ruby"
+ ruby extconf.rb \
+ --with-opt-include="${srcdir}/${pkgbase}-${pkgver}/lib" \
+ --with-opt-lib="${srcdir}/${pkgbase}-${pkgver}/lib/.libs" \
+ --vendor
+ make
+}
+
+package_marisa() {
+ pkgdesc="Static and space-efficient trie data structure library"
+ depends=('gcc-libs')
+
+ cd "${pkgbase}-${pkgver}"
+ make DESTDIR="$pkgdir" install
+
+ install -d "${pkgdir}/usr/share/doc/${pkgbase}-${pkgver}"
+ install -m 644 docs/* README "${pkgdir}/usr/share/doc/${pkgbase}-${pkgver}/"
+
+ install -d "${pkgdir}/usr/share/licenses/$pkgname"
+ install -m 644 AUTHORS COPYING "${pkgdir}/usr/share/licenses/$pkgname/"
+}
+
+package_perl-marisa() {
+ pkgdesc="Perl language binding for marisa"
+ depends=('perl' 'marisa')
+
+ cd "${pkgbase}-${pkgver}/bindings/perl"
+ make DESTDIR="$pkgdir" install
+
+ cd ../..
+ install -d "${pkgdir}/usr/share/licenses/$pkgname"
+ install -m 644 AUTHORS COPYING "${pkgdir}/usr/share/licenses/$pkgname/"
+}
+
+package_python2-marisa() {
+ pkgdesc="Python 2.x language binding for marisa"
+ depends=('python2' 'marisa')
+
+ cd "${pkgbase}-${pkgver}/bindings/python"
+ python2 setup.py install --root="$pkgdir"
+
+ cd ../..
+ install -d "${pkgdir}/usr/share/licenses/$pkgname"
+ install -m 644 AUTHORS COPYING "${pkgdir}/usr/share/licenses/$pkgname/"
+}
+
+package_ruby-marisa() {
+ pkgdesc="Ruby language binding for marisa"
+ depends=('ruby' 'marisa')
+
+ cd "${pkgbase}-${pkgver}/bindings/ruby"
+ _hdrdir=`pkg-config --variable=rubyhdrdir ruby-2.0`
+ _arch=`pkg-config --variable=arch ruby-2.0`
+ make DESTDIR="$pkgdir" install \
+ hdrdir="$_hdrdir" \
+ arch_hdrdir="${_hdrdir}/${_arch}" \
+ rubyhdrdir="$_hdrdir"
+
+ cd ../..
+ install -d "${pkgdir}/usr/share/licenses/$pkgname"
+ install -m 644 AUTHORS COPYING "${pkgdir}/usr/share/licenses/$pkgname/"
+}
diff --git a/community/mashup/PKGBUILD b/community/mashup/PKGBUILD
new file mode 100644
index 000000000..c17c47e0a
--- /dev/null
+++ b/community/mashup/PKGBUILD
@@ -0,0 +1,30 @@
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=mashup
+pkgver=3.7.1
+pkgrel=1
+pkgdesc="Adjusting images on a sheet of paper for printing"
+url="http://kornelix.com/$pkgname"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('gtk3')
+replaces=('printoxx')
+source=("http://www.kornelix.com/uploads/1/3/0/3/13035936/$pkgname-$pkgver.tar.gz")
+md5sums=('e93e38fb831b01a30bf90684ea4e44c9')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's+xdg-deskto+#xdg-deskto+' Makefile
+ sed -i 's/--libs gtk+-3.0/--libs gtk+-3.0 gthread-2.0/' Makefile
+ make PREFIX=/usr
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -Dm644 desktop $pkgdir/usr/share/applications/$pkgname.desktop
+ make DESTDIR=$pkgdir install
+ rm $pkgdir/usr/share/applications/kornelix-$pkgname.desktop
+ rm $pkgdir/usr/share/doc/$pkgname/$pkgname.man
+}
+
diff --git a/community/matchbox-desktop/PKGBUILD b/community/matchbox-desktop/PKGBUILD
new file mode 100644
index 000000000..3af5a9717
--- /dev/null
+++ b/community/matchbox-desktop/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 66229 2012-02-23 05:03:36Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Henrique C. Alves <hcarvalhoalves@gmail.com>
+
+pkgname=matchbox-desktop
+pkgver=2.0
+pkgrel=3
+pkgdesc="A PDA style application launcher or 'item browser'."
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libmatchbox' 'startup-notification' 'libpng' 'gtk2')
+url="http://matchbox-project.org/"
+options=('!libtool')
+source=(http://matchbox-project.org/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2)
+md5sums=('b0a4a47130272e2adab4e9feb43a6c9c')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ LDFLAGS=-lX11 ./configure --sysconfdir=/etc --prefix=/usr --enable-startup-notification
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/matchbox-keyboard/PKGBUILD b/community/matchbox-keyboard/PKGBUILD
new file mode 100644
index 000000000..a2a6e34cf
--- /dev/null
+++ b/community/matchbox-keyboard/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 66225 2012-02-23 05:01:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=matchbox-keyboard
+pkgver=0.1
+pkgrel=4
+pkgdesc="An on screen virtual keyboard"
+arch=('i686' 'x86_64')
+depends=('cairo' 'libfakekey' 'libxft')
+url="http://matchbox-project.org/"
+license=('GPL')
+source=(http://matchbox-project.org/sources/$pkgname/0.1/$pkgname-$pkgver.tar.gz)
+md5sums=('9d1f61e0785f2ac4fc7588fa39b87e6f')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/matchbox-panel/PKGBUILD b/community/matchbox-panel/PKGBUILD
new file mode 100644
index 000000000..81d0eb80d
--- /dev/null
+++ b/community/matchbox-panel/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 66225 2012-02-23 05:01:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Henrique C. Alves <hcarvalhoalves@gmail.com>
+
+pkgname=matchbox-panel
+pkgver=0.9.3
+pkgrel=5
+pkgdesc="A flexible always present 'window bar' for holding application launchers and small 'applet' style applications"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libmatchbox' 'startup-notification' 'libpng')
+url="http://matchbox-project.org/"
+source=(http://matchbox-project.org/sources/$pkgname/0.9/$pkgname-$pkgver.tar.bz2)
+md5sums=('56d1807636f3919e22e51896ab7ccd2e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --sysconfdir=/etc --prefix=/usr --enable-startup-notification
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/matchbox-window-manager/PKGBUILD b/community/matchbox-window-manager/PKGBUILD
new file mode 100644
index 000000000..d9a3c002b
--- /dev/null
+++ b/community/matchbox-window-manager/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 92576 2013-06-08 20:30:59Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Henrique C. Alves <hcarvalhoalves@gmail.com>
+
+pkgname=matchbox-window-manager
+pkgver=1.2
+pkgrel=4
+pkgdesc="A pretty much unique X window manager with a classic PDA management policy"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libmatchbox' 'startup-notification' 'libpng' 'libsm')
+url="http://matchbox-project.org/"
+source=(http://downloads.yoctoproject.org/releases/matchbox/matchbox-window-manager/$pkgver/$pkgname-$pkgver.tar.bz2)
+md5sums=('3e158dcf57823b55c926d95b245500fb')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --sysconfdir=/etc --prefix=/usr \
+ --enable-startup-notification --enable-session \
+ --enable-alt-input-wins --enable-expat
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/mathomatic/PKGBUILD b/community/mathomatic/PKGBUILD
new file mode 100644
index 000000000..d3067ade0
--- /dev/null
+++ b/community/mathomatic/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 79365 2012-11-03 16:31:24Z ttopper $
+# Contributor: G_Syme <demichan(at)mail(dot)upb(dot)de>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=mathomatic
+pkgver=16.0.5
+pkgrel=1
+pkgdesc='General purpose Computer Algebra System written in C'
+arch=('i686' 'x86_64')
+license=('LGPL')
+url="http://mathomatic.orgserve.de/math/"
+depends=('readline')
+makedepends=('time')
+optdepends=('python2: for running /usr/share/doc/mathomatic/factorial/factorial'
+ 'bash: for running a test script'
+ 'm4: for complex operations using the matho script'
+ 'rlwrap: for readline editing'
+ 'gnuplot: for plotting')
+source=(http://mathomatic.org/$pkgname-$pkgver.tar.bz2)
+md5sums=('dd04913a98a5073b56f3bc78a01820f3')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ # python2 fix
+ for file in primes/{primorial,matho-sum,matho-mult} examples/factorial; do
+ sed -i 's_#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+
+ make READLINE=1
+ make test
+ cd "$srcdir"/$pkgname-$pkgver/primes
+ make
+ make test
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make prefix="$pkgdir"/usr m4install
+ sed -i 's+/build/pkg++' "$pkgdir"/usr/bin/matho
+
+ cd "$srcdir"/$pkgname-$pkgver/primes
+ make prefix="$pkgdir"/usr install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mayavi/PKGBUILD b/community/mayavi/PKGBUILD
new file mode 100644
index 000000000..a4498094c
--- /dev/null
+++ b/community/mayavi/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id: PKGBUILD 88238 2013-04-14 20:02:10Z aginiewicz $
+# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
+
+pkgname=mayavi
+pkgver=4.3.0
+pkgrel=1
+pkgdesc="A 3-dimensional visualizer of scientific data"
+arch=('i686' 'x86_64')
+url="https://github.com/enthought/mayavi"
+license=('BSD')
+depends=('ipython2' 'vtk' 'python2-envisage' 'wxpython')
+makedepends=('python2-distribute' 'python2-sphinx' 'xorg-server-xvfb' 'twisted')
+replaces=('python2-mayavi')
+provides=('python2-mayavi')
+options=(!emptydirs)
+
+source=("$pkgname-$pkgver.tar.gz::https://github.com/enthought/mayavi/archive/${pkgver}.tar.gz")
+md5sums=('7708d85a77c427c8dfbeb914630d31be')
+
+build() {
+ cd "$srcdir"/mayavi-$pkgver
+
+ # Use python2-sphinx provided sphinx-build2
+ sed -i -e 's/sphinx-build/sphinx-build2/' docs/Makefile*
+
+ # Fix distutils compatibility
+ sed -i -e 's/distutils.Version/distutils.version/' mayavi/modules/text.py
+ sed -i -e 's/distutils.Version/distutils.version/' tvtk/tools/mlab.py
+
+ # set path so autodoc can find just built modules
+ echo "sys.path.append('$srcdir/enthought-mayavi-${_githubtag}/build/lib.linux-$CARCH-2.7/')" >> docs/source/mayavi/conf.py
+ mkdir -p build/lib.linux-$CARCH-2.7/{tvtk/plugins/scene,mayavi/preferences,mayavi/core}
+ ln -s "$srcdir"/enthought-mayavi-${_githubtag}/tvtk/tvtk_classes.zip \
+ build/lib.linux-$CARCH-2.7/tvtk/tvtk_classes.zip
+ ln -s "$srcdir"/enthought-mayavi-${_githubtag}/mayavi/preferences/preferences.ini \
+ build/lib.linux-$CARCH-2.7/mayavi/preferences/preferences.ini
+ ln -s "$srcdir"/enthought-mayavi-${_githubtag}/tvtk/plugins/scene/preferences.ini \
+ build/lib.linux-$CARCH-2.7/tvtk/plugins/scene/preferences.ini
+
+ # now this is ugly, but docs do not build without X. We setup X according to:
+ # http://docs.enthought.com/mayavi/mayavi/tips.html#rendering-using-the-virtual-framebuffer
+ export DISPLAY=:69
+ Xvfb $DISPLAY &
+
+ # build!
+ python2 setup.py build
+
+ # have to kill the server to proceed, and do other cleanup
+ kill `cat /tmp/.X${DISPLAY/:/}-lock`
+ rm build/lib.linux-$CARCH-2.7/tvtk/tvtk_classes.zip
+ rm build/lib.linux-$CARCH-2.7/mayavi/preferences/preferences.ini
+ rm build/lib.linux-$CARCH-2.7/tvtk/plugins/scene/preferences.ini
+}
+
+package() {
+ cd "$srcdir"/mayavi-$pkgver
+
+ python2 setup.py install --root="$pkgdir"/ --optimize=1
+
+ cp -r docs/build/* "${pkgdir}"/usr/lib/python2.7/site-packages
+
+ sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find "${pkgdir}" -name '*.py')
+ sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ "$pkgdir/usr/lib/python2.7/site-packages/mayavi/tests/csv_files/csv_2_py"
+
+ install -D LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/community/mayavi/vtk-5.10.patch b/community/mayavi/vtk-5.10.patch
new file mode 100644
index 000000000..34fbbcf34
--- /dev/null
+++ b/community/mayavi/vtk-5.10.patch
@@ -0,0 +1,83 @@
+From e61d4afa02072b48a332c7250b293704f57c6b2a Mon Sep 17 00:00:00 2001
+From: "mluessi@nmr.mgh.harvard.edu" <mluessi@nmr.mgh.harvard.edu>
+Date: Mon, 9 Jul 2012 17:48:20 -0400
+Subject: [PATCH 01/13] FIX: version comp. for VTK 5.10
+
+---
+ mayavi/modules/text.py | 8 +++++---
+ tvtk/tools/mlab.py | 5 +++--
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/mayavi/modules/text.py b/mayavi/modules/text.py
+index 1fcc0e0..d1c79c0 100644
+--- a/mayavi/modules/text.py
++++ b/mayavi/modules/text.py
+@@ -5,6 +5,8 @@
+ # Copyright (c) 2005, Enthought, Inc.
+ # License: BSD Style.
+
++from distutils.Version import StrictVersion
++
+ # Enthought library imports.
+ from traits.api import Instance, Range, Str, Bool, Property, \
+ Float
+@@ -16,7 +18,7 @@ from apptools.persistence import state_pickler
+ from mayavi.core.module import Module
+ from mayavi.core.pipeline_info import PipelineInfo
+
+-VTK_VER = float(tvtk.Version().vtk_version[:3])
++VTK_VER = StrictVersion(tvtk.Version().vtk_version)
+
+
+ ######################################################################
+@@ -68,7 +70,7 @@ class Text(Module):
+ ########################################
+ # The view of this object.
+
+- if VTK_VER > 5.1:
++ if VTK_VER > '5.1':
+ _text_actor_group = Group(Item(name='visibility'),
+ Item(name='text_scale_mode'),
+ Item(name='alignment_point'),
+@@ -152,7 +154,7 @@ class Text(Module):
+ set the `actors` attribute up at this point.
+ """
+ actor = self.actor = tvtk.TextActor(input=str(self.text))
+- if VTK_VER > 5.1:
++ if VTK_VER > '5.1':
+ actor.set(text_scale_mode='prop', width=0.4, height=1.0)
+ else:
+ actor.set(scaled_text=True, width=0.4, height=1.0)
+diff --git a/tvtk/tools/mlab.py b/tvtk/tools/mlab.py
+index 8262da0..dfe9230 100644
+--- a/tvtk/tools/mlab.py
++++ b/tvtk/tools/mlab.py
+@@ -92,6 +92,7 @@ functions::
+ # Copyright (c) 2005-2007, Enthought, Inc.
+ # License: BSD Style.
+
++from distutils.Version import StrictVersion
+
+ import numpy
+
+@@ -107,7 +108,7 @@ from tvtk.tools import ivtk
+ # Set this to False to not use LOD Actors.
+ USE_LOD_ACTOR = True
+
+-VTK_VER = float(tvtk.Version().vtk_version[:3])
++VTK_VER = StrictVersion(tvtk.Version().vtk_version)
+
+ ######################################################################
+ # Utility functions.
+@@ -639,7 +640,7 @@ class Title(MLabBase):
+ super(Title, self).__init__(**traits)
+
+ ta = self.text_actor
+- if VTK_VER > 5.1:
++ if VTK_VER > '5.1':
+ ta.set(text_scale_mode='prop', height=0.05, input=self.text)
+ else:
+ ta.set(scaled_text=True, height=0.05, input=self.text)
+--
+1.7.12
+
diff --git a/community/mcabber/PKGBUILD b/community/mcabber/PKGBUILD
new file mode 100644
index 000000000..3637a85e2
--- /dev/null
+++ b/community/mcabber/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 80881 2012-12-05 10:05:02Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: 3ED <kas1987@o2.pl>
+
+pkgname=mcabber
+pkgver=0.10.2
+pkgrel=1
+pkgdesc="A small Jabber console client, includes features: SSL, PGP, MUC, UTF8"
+arch=('i686' 'x86_64')
+url="http://www.lilotux.net/~mikael/mcabber/"
+license=('GPL')
+depends=('ncurses' 'glib2' 'loudmouth' 'gpgme' 'libotr3' 'aspell')
+makedepends=('pkg-config')
+options=('!libtool')
+source=(http://www.lilotux.net/~mikael/mcabber/files/$pkgname-${pkgver/_/-}.tar.bz2)
+md5sums=('6bb2302f5168ad4c28b647390e37f9b3')
+
+build() {
+ cd "${srcdir}"/$pkgname-${pkgver/_/-}
+
+ sed -i 's|lotr|lotr3|' configure
+ sed -i 's|libotr/version.h|libotr3/version.h|' configure
+ sed -i 's|#include <libotr|#include <libotr3|' mcabber/otr.h
+
+ ./configure --prefix=/usr --enable-hgcset \
+ --mandir=/usr/share/man \
+ --enable-aspell --enable-otr
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-${pkgver/_/-}
+
+ make DESTDIR="${pkgdir}" install
+ mkdir -p "${pkgdir}"/usr/share/mcabber/example
+ msg "Copying mcabberrc.example to usr/share/mcabber/example/mcabberrc"
+ cp -a "${srcdir}"/$pkgname-${pkgver/_/-}/mcabberrc.example \
+ "${pkgdir}"/usr/share/mcabber/example/mcabberrc
+}
+
diff --git a/community/mcdp/PKGBUILD b/community/mcdp/PKGBUILD
new file mode 100644
index 000000000..a59874434
--- /dev/null
+++ b/community/mcdp/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 67966 2012-03-16 12:59:54Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tino Reichardt <milky-archlinux@mcmilk.de>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=mcdp
+pkgver=0.4b
+pkgrel=2
+pkgdesc="Small console cd player"
+arch=('i686' 'x86_64')
+url="http://www.mcmilk.de/projects/mcdp/"
+license=('GPL')
+depends=('glibc')
+makedepends=('dietlibc')
+source=(http://www.mcmilk.de/projects/$pkgname/dl/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('0faa031b07299b0fb2353306a669328c877717e1bc7e274e40c3d2612e103cab')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make $pkgname
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ install -Dm755 $pkgname ${pkgdir}/usr/bin/$pkgname
+ install -Dm644 $pkgname.1 ${pkgdir}/usr/share/man/man1/$pkgname.1
+}
diff --git a/community/mcelog/PKGBUILD b/community/mcelog/PKGBUILD
new file mode 100644
index 000000000..2fd31c1c6
--- /dev/null
+++ b/community/mcelog/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 93664 2013-07-08 11:18:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Thomas Mudrunka <harvie@@email..cz>
+# Maintainer: Thomas Mudrunka <harvie@@email..cz>
+
+pkgname=mcelog
+pkgver=20130708
+pkgrel=1
+pkgdesc="Print machine check event log from x86-64 kernel"
+url="http://freshmeat.net/projects/mcelog/"
+license=("GPL")
+arch=('i686' 'x86_64')
+makedepends=('git')
+options=('docs')
+backup=('etc/mcelog/mcelog.conf')
+source=("git://github.com/andikleen/mcelog.git"
+ "mcelog.service")
+md5sums=('SKIP'
+ 'afd7fc2b7a2f92a75e040b23d6b15958')
+
+prepare() {
+ cd "${srcdir}/mcelog"
+ sed -i 's|sbin|bin|g' Makefile mcelog.cron
+}
+
+build() {
+ cd "${srcdir}/mcelog"
+ make
+}
+
+package() {
+ cd "${srcdir}/mcelog"
+ mkdir -p $pkgdir/usr/share/doc/mcelog
+ make install prefix=$pkgdir/usr etcprefix=$pkgdir DOCDIR=$pkgdir/usr/share/doc/mcelog
+ install -Dm0755 mcelog.cron "${pkgdir}/usr/bin/mcelog.cron"
+ install -Dm0644 mcelog.logrotate "${pkgdir}/etc/logrotate.d/mcelog.logrotate"
+ install -Dm0644 README "${pkgdir}/usr/share/doc/mcelog/README"
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+}
diff --git a/community/mcelog/mcelog.service b/community/mcelog/mcelog.service
new file mode 100644
index 000000000..9d6c84f40
--- /dev/null
+++ b/community/mcelog/mcelog.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Machine Check Exception Logging Daemon
+After=syslog.target
+
+[Service]
+PIDFile=/run/mcelog.pid
+ExecStart=/usr/bin/mcelog --ignorenodev --daemon --foreground --pidfile /run/mcelog.pid
+StandardOutput=syslog
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mdf2iso/ChangeLog b/community/mdf2iso/ChangeLog
new file mode 100644
index 000000000..c206c3cde
--- /dev/null
+++ b/community/mdf2iso/ChangeLog
@@ -0,0 +1,9 @@
+2007-06-29 tardo <tardo@nagi-fanboi.net>
+* Rebuilt with LFS patch
+
+2007-06-29 Georg Grabler (STiAT) <ggrabler@gmail.com>
+* Added lfs.patch (long file system support) for images > 4GB
+
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/mdf2iso/PKGBUILD b/community/mdf2iso/PKGBUILD
new file mode 100644
index 000000000..b58c51413
--- /dev/null
+++ b/community/mdf2iso/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 64842 2012-02-18 17:37:56Z lcarlier $
+# Contributor: Jeff Mickey <j@codemac.net>
+# Contributor: Henrik Ronellenfitsch <henrik at searinox dot de>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=mdf2iso
+pkgver=0.3.0
+pkgrel=5
+pkgdesc="Converts Alcohol 120% .mdf files to .iso files"
+arch=('x86_64' 'i686')
+url="http://mdf2iso.berlios.de/"
+license=('GPL')
+depends=('glibc')
+source=("http://download.berlios.de/mdf2iso/$pkgname-$pkgver-src.tar.bz2"
+ "lfs.patch")
+sha256sums=('7b6622c58bc6a5111eba719d2b55cdfab54cbb26f3aea98b7e5db0eb0062be84'
+ 'a15878b4b6c3e9484fbf8685220e482359cabc4d8039ffaf2a581175c381677d')
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ patch -p1 < ../lfs.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mdf2iso/lfs.patch b/community/mdf2iso/lfs.patch
new file mode 100644
index 000000000..5ff62c0ba
--- /dev/null
+++ b/community/mdf2iso/lfs.patch
@@ -0,0 +1,683 @@
+Only in mdf2iso/src: .deps
+Only in mdf2iso.new/src: .kdbgrc.mdf2iso
+diff -bur mdf2iso/src/Makefile.am mdf2iso.new/src/Makefile.am
+--- mdf2iso/src/Makefile.am 2005-05-19 11:24:11.000000000 +0200
++++ mdf2iso.new/src/Makefile.am 2005-07-31 17:47:36.000000000 +0200
+@@ -1,2 +1,3 @@
+ bin_PROGRAMS = mdf2iso
+ mdf2iso_SOURCES = mdf2iso.c
++AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -Wall
+diff -bur mdf2iso/src/Makefile.in mdf2iso.new/src/Makefile.in
+--- mdf2iso/src/Makefile.in 2005-05-22 21:42:09.000000000 +0200
++++ mdf2iso.new/src/Makefile.in 2005-07-31 17:49:16.000000000 +0200
+@@ -136,6 +136,7 @@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ mdf2iso_SOURCES = mdf2iso.c
++AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -Wall
+ all: all-am
+
+ .SUFFIXES:
+@@ -149,9 +150,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --foreign src/Makefile
++ $(AUTOMAKE) --gnu src/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+diff -bur mdf2iso/src/mdf2iso.c mdf2iso.new/src/mdf2iso.c
+--- mdf2iso/src/mdf2iso.c 2005-05-22 21:52:08.000000000 +0200
++++ mdf2iso.new/src/mdf2iso.c 2005-07-31 19:41:56.000000000 +0200
+@@ -1,4 +1,4 @@
+- /* $Id: mdf2iso.c, 22/05/05
++/* $Id: mdf2iso.c, 22/05/05
+
+ Copyright (C) 2004,2005 Salvatore Santagati <salvatore.santagati@gmail.com>
+
+@@ -16,19 +16,14 @@
+ along with this program; if not, write to the
+ Free Software Foundation, Inc.,
+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- */
++*/
+
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <errno.h>
+
+-#define VERSION "0.3.0"
+-
+-/* Support Large File */
+-
+-#define _FILE_OFFSET_BITS 64
+-
++#define VERSION "0.3.1"
+
+
+ const char SYNC_HEADER[12] = { (char) 0x00,
+@@ -83,14 +78,21 @@
+ (char) 0x00
+ };
+
++#define ISO9660 0
++#define SYNC 1
++#define SYNC_MDF 2
++#define MDF_AUDIO 3
++#define UNKNOWN -1
+
+-void
+-toc_file (char *destfilename, int sub)
++int toc_file (char *destfilename, int sub)
+ {
+- char destfiletoc[1024], destfiledat[1024];
++ int ret=0;
++ char *destfiletoc;
++ char *destfiledat;
+ FILE *ftoc;
+- strcpy (destfiletoc, destfilename);
+- strcpy (destfiledat, destfilename);
++
++ destfiletoc=strdup(destfilename);
++ destfiledat=strdup(destfilename);
+ strcpy (destfiletoc + strlen (destfilename) - 4, ".toc");
+ strcpy (destfiledat + strlen (destfilename) - 4, ".dat");
+
+@@ -100,11 +102,8 @@
+ fprintf (ftoc, "// Track 1\n");
+ fprintf (ftoc, "TRACK MODE1_RAW");
+
+- if (sub == 1)
+- fprintf (ftoc, " RW_RAW\n");
+-
+- else
+- fprintf (ftoc, "\n");
++ if (sub == 1) fprintf (ftoc, " RW_RAW\n");
++ else fprintf (ftoc, "\n");
+
+ fprintf (ftoc, "NO COPY\n");
+ fprintf (ftoc, "DATAFILE \"%s\"\n", destfiledat);
+@@ -114,26 +113,27 @@
+ }
+ else
+ {
+- printf ("%s\n", strerror (errno));
+- exit (EXIT_FAILURE);
++ printf ("Error opening %s for output: %s\n",destfiletoc,strerror(errno));
++ ret=-1;
+ };
+-
++ free(destfiletoc);
++ free(destfiledat);
++ return ret;
+ }
+
+-int
+-number_file (char *destfilename)
++/*
++int number_file (char *destfilename)
+ {
+ int i = 1, test_mdf = 0;
+ int n_mdf;
+ char mdf[2], destfilemdf[2354];
+ FILE *fsource;
++
+ strcpy (destfilemdf, destfilename);
+ strcpy (destfilemdf + strlen (destfilename) - 1, ".0");
+ for (i = 0; test_mdf == 0; i++)
+-
+ {
+ if ((fsource = fopen (destfilemdf, "rb")) != NULL)
+-
+ {
+ printf ("\nCheck : ");
+ sprintf (mdf, "md%d", i);
+@@ -141,203 +141,219 @@
+ printf ("%s, ", destfilemdf);
+ fclose (fsource);
+ }
+-
+ else
+ {
+ test_mdf = 1;
+ }
+- };
++ }
+ printf ("\r \n");
+ n_mdf = i - 1;
+ return (n_mdf);
+ }
++*/
+
+-void
+-cuesheets (char *destfilename)
++int cuesheets (char *destfilename)
+ {
+- char destfilecue[1024], destfilebin[1024];
++ int ret=0;
++ char *destfilecue;
++ char *destfilebin;
+ FILE *fcue;
+- strcpy (destfilecue, destfilename);
+- strcpy (destfilebin, destfilename);
++
++ destfilecue=strdup(destfilename);
++ destfilebin=strdup(destfilename);
+ strcpy (destfilecue + strlen (destfilename) - 4, ".cue");
+ strcpy (destfilebin + strlen (destfilename) - 4, ".bin");
+- fcue = fopen (destfilecue, "w");
++ if ((fcue = fopen (destfilecue, "w"))!=NULL)
++ {
+ fprintf (fcue, "FILE \"%s\" BINARY\n", destfilebin);
+ fprintf (fcue, "TRACK 1 MODE1/2352\n");
+ fprintf (fcue, "INDEX 1 00:00:00\n");
+ rename (destfilename, destfilebin);
+ printf ("Create Cuesheets : %s\n", destfilecue);
+ fclose (fcue);
++ }
++ else
++ {
++ printf ("Error opening %s for output: %s\n",destfilecue,strerror(errno));
++ ret=-1;
++ }
++ return ret;
+ }
+
+-void
+-main_percent (int percent_bar)
++int previous_percent=-1;
++void main_percent (int percent_bar)
++// Prints a progress bar, takes a percentage as argument.
+ {
+- int progress_bar, progress_space;
++ //int progress_bar, progress_space;
++
++ if (percent_bar==previous_percent) return; // Nothing changed, don't waste CPU cycles.
++
++ printf("%3d%% [:%.*s>%.*s:]\r",percent_bar,20-(percent_bar/5)," ",
++ percent_bar/5,"====================");
++ /*
+ printf ("%d%% [:", percent_bar);
+- for (progress_bar = 1; progress_bar <= (int) (percent_bar / 5);
+- progress_bar++)
++ for (progress_bar = 1; progress_bar <= (int) (percent_bar / 5); progress_bar++)
+ printf ("=");
+ printf (">");
+
+- for (progress_space = 0; progress_space < (20 - progress_bar);
+- progress_space++)
+- printf (" ");
++ for (; progress_bar <= 20; ++progress_bar) printf (" ");
+ printf (":]\r");
++ */
+ }
+
+-void
+-usage ()
++void usage ()
++// Prints the command line syntax
+ {
+- printf ("mdf2iso v%s by Salvatore Santagati\n", VERSION);
+- printf ("Web : http//mdf2iso.berlios.de\n");
+- printf ("Email : salvatore.santagati@gmail.com\n");
+- printf ("Irc : irc.freenode.net #ignus\n");
+- printf ("Note : iodellavitanonhocapitouncazzo\n");
+- printf ("License : released under the GNU GPL v2 or later\n\n");
++ printf (" Web : http//mdf2iso.berlios.de\n");
++ printf (" Email : salvatore.santagati@gmail.com\n");
++ printf (" Irc : irc.freenode.net #ignus\n");
++ printf (" Note : iodellavitanonhocapitouncazzo\n\n");
+ printf ("Usage :\n");
+- printf ("mdf2iso [OPTION] [BASENAME.MDF] [DESTINATION]\n\n");
+- printf ("OPTION\n");
+- printf ("\t--toc Generate toc file\n");
+- printf ("\t--cue Generate cue file\n");
+- printf ("\t--help display this notice\n\n");
++ printf ("mdf2iso [--cue|--toc|--help] <sourcefile> [destfile]\n\n");
++ printf ("Options:\n");
++ printf (" --toc Generate toc/dat files\n");
++ printf (" --cue Generate cue/bin files\n");
++ printf (" --help Display this notice\n");
++ printf (" sourcefile\tFilename of the .mdf file to be converted\n");
++ printf (" destfile\tFilename of the target ISO9660 file.\n"\
++ "\t\tIf none given, one is derived from sourcefile.\n\n");
+ }
+
+-int
+-main (int argc, char **argv)
++char mdftype(FILE *f)
++/* returns
++ -1 for unknown
++ 0 for ISO9660
++ 1 for SYNC
++ 2 for SYNC MDF
++ 3 for MDF Audio
++ (see #defines above)
++*/
+ {
+- int seek_ecc, sector_size, seek_head, sector_data, n_mdf;
++ char buf[12];
++
++ fseek(f, 32768, SEEK_SET);
++ fread(buf, sizeof (char), 8, f);
++ if (!memcmp (ISO_9660, buf, 8)) return ISO9660; // File is ISO9660
++
++ fseek(f, 0L, SEEK_SET);
++ fread(buf, sizeof (char), 12, f);
++
++ fseek (f, 2352, SEEK_SET);
++
++ if (!memcmp (SYNC_HEADER, buf, 12)) // Has SYNC_HEADER
++ {
++ fread (buf, sizeof (char), 12, f);
++ if (!memcmp (SYNC_HEADER_MDF, buf, 12)) return SYNC_MDF; // File is SYNC MDF
++ if (!memcmp (SYNC_HEADER, buf, 12)) return SYNC; // File is SYNC
++ }
++ else // Does not have SYNC_HEADER
++ {
++ fread(buf, sizeof (char), 12, f);
++ if (!memcmp (SYNC_HEADER_MDF_AUDIO, buf, 12)) return MDF_AUDIO; // File is MDF Audio
++ }
++
++ // Reached a point where nothing else matters.
++ return UNKNOWN; // Unknown format
++}
++
++
++// === Main program code ===
++
++int main (int argc, char **argv)
++{
++ int seek_ecc, sector_size, seek_head, sector_data;//, n_mdf;
+ int cue = 0, cue_mode = 0, sub = 1, toc = 0, sub_toc = 0;
+ int opts = 0;
+- double size_iso, write_iso;
+- long percent = 0;
+- long i, source_length, progressbar;
+- char buf[2448], destfilename[2354];
++ long i, source_length;
++ char buf[2448];
++ char *destfilename=NULL;
++ char *basefilename=NULL;
+ FILE *fdest, *fsource;
+
++ // Print identification
++ printf ("mdf2iso v%s by Salvatore Santagati\n", VERSION);
++ printf ("Licensed under GPL v2 or later\n");
+
+- if (argc < 2)
+
++ // *** Process command line options ***
++
++ if (argc < 2)
+ {
+- usage ();
+- exit (EXIT_FAILURE);
++ // Not enough parameters; print help
++ usage();
++ exit(EXIT_FAILURE);
+ }
+
+- else
+-
+- {
++ // Search for options --cue and --toc
+ for (i = 0; i < argc; i++)
+-
+ {
+-
+ if (!strcmp (argv[i], "--help"))
+-
+ {
+ usage ();
+ exit (EXIT_SUCCESS);
+ }
+ if (!strcmp (argv[i], "--cue"))
+-
+ {
+ cue = 1;
+ opts++;
+ }
+ if (!strcmp (argv[i], "--toc"))
+-
+ {
+ toc = 1;
+ opts++;
+ }
+ }
+
+- if ((cue == 1) && (toc == 1))
+-
+- {
+- usage ();
+- exit (EXIT_FAILURE);
+- }
+- if ((opts == 1) && (argc <= 2))
+-
++ // Catch impossible parameter combinations
++ if (((cue == 1) && (toc == 1)) ||
++ ((opts == 1) && (argc <= 2)))
+ {
+- usage ();
+- exit (EXIT_FAILURE);
++ usage();
++ exit(EXIT_FAILURE);
+ }
+
++ // Get the base filename
++ basefilename=argv[1+opts]; // simple pointer, but makes life easier.
+
++ // Get the destination filename
+ if (argc >= (3 + opts))
+- strcpy (destfilename, argv[2 + opts]);
+-
+- else
+-
+- {
+- strcpy (destfilename, argv[1 + opts]);
+- if (strlen (argv[1 + cue]) < 5
+- || strcmp (destfilename + strlen (argv[1 + opts]) - 4, ".mdf"))
+- strcpy (destfilename + strlen (argv[1 + opts]), ".iso");
+-
++ // The destination filename is explicitly entered at the prompt
++ destfilename=strdup(argv[2 + opts]);
+ else
+- strcpy (destfilename + strlen (argv[1 + opts]) - 4, ".iso");
+- }
+- if ((fsource = fopen (argv[1 + opts], "rb")) != NULL)
+-
+ {
+- fseek (fsource, 32768, SEEK_CUR);
+- fread (buf, sizeof (char), 8, fsource);
+- if (memcmp (ISO_9660, buf, 8))
+-
++ // Derive destination filename from the basename:
++ // If basename is "*.mdf" use "*.iso" als destname
++ // otherwise simply append ".iso" to the basename to create destname.
++ destfilename=strdup(basefilename);
++ i=strlen(destfilename); // Reusing 'i' here as temporary variable
++ if (i < 5 || strcmp(destfilename + i - 4, ".mdf"))
+ {
+- fseek (fsource, 0L, SEEK_SET);
+- fread (buf, sizeof (char), 12, fsource);
+- if (!memcmp (SYNC_HEADER, buf, 12))
+-
+- {
+- fseek (fsource, 0L, SEEK_SET);
+- fseek (fsource, 2352, SEEK_CUR);
+- fread (buf, sizeof (char), 12, fsource);
+- if (!memcmp (SYNC_HEADER_MDF, buf, 12))
+-
+- {
+- if (cue == 1)
+- {
+- cue_mode = 1;
+-
+- /* BAD SECTOR TO NORMAL IMAGE */
+- seek_ecc = 96;
+- sector_size = 2448;
+- sector_data = 2352;
+- seek_head = 0;
+- }
+-
+- else if (toc == 0)
+-
+- {
+-
+- /*BAD SECTOR */
+- seek_ecc = 384;
+- sector_size = 2448;
+- sector_data = 2048;
+- seek_head = 16;
++ destfilename=realloc(destfilename,i+5);
++ strcat(destfilename, ".iso");
+ }
+-
+ else
+-
+- {
+-
+- /*BAD SECTOR */
+- seek_ecc = 0;
+- sector_size = 2448;
+- sector_data = 2448;
+- seek_head = 0;
+- sub_toc = 1;
+- }
++ strcpy(destfilename + i - 3, "iso");
+ }
+
+- else
++ // *** Preprocess basefile ***
+
++ // Try opening basefile
++ if ((fsource = fopen(basefilename, "rb")) == NULL)
+ {
+- if (!memcmp (SYNC_HEADER, buf, 12))
++ free(destfilename);
++ printf ("Could not open %s: %s\n", basefilename, strerror(errno));
++ exit (EXIT_FAILURE);
++ }
+
++ // Determine filetype & set some stuff accordingly (or exit)
++ switch (mdftype(fsource))
+ {
++ case ISO9660:
++ printf("%s is already ISO9660.\n",basefilename);
++ fclose(fsource);
++ free(destfilename);
++ exit(EXIT_SUCCESS);
++ case SYNC:
+ if (cue == 1)
+ {
+ cue_mode = 1;
+@@ -348,129 +364,134 @@
+ seek_head = 0;
+ }
+ if (toc == 0)
+-
+ {
+-
+ /*NORMAL IMAGE */
+ seek_ecc = 288;
+ sector_size = 2352;
+ sector_data = 2048;
+ seek_head = 16;
+ }
+-
+ else
+-
+ {
+ seek_ecc = 0;
+ sector_size = 2352;
+ sector_data = 2352;
+ seek_head = 0;
+ }
+- }
+-
+- else
+-
+- {
+- printf ("Sorry I don't know this format :(\n");
+- exit (EXIT_FAILURE);
+- }
+- }
+- }
+-
+- else
+-
++ break;
++ case SYNC_MDF:
++ if (cue == 1)
+ {
+- fseek (fsource, 0L, SEEK_SET);
+- fseek (fsource, 2352, SEEK_CUR);
+- fread (buf, sizeof (char), 12, fsource);
+- if (memcmp (SYNC_HEADER_MDF_AUDIO, buf, 12))
++ cue_mode = 1;
+
++ /* BAD SECTOR TO NORMAL IMAGE */
++ seek_ecc = 96;
++ sector_size = 2448;
++ sector_data = 2352;
++ seek_head = 0;
++ }
++ else if (toc == 0)
+ {
+- printf ("Sorry I don't know this format :(\n");
+- exit (EXIT_FAILURE);
++ /*BAD SECTOR */
++ seek_ecc = 384;
++ sector_size = 2448;
++ sector_data = 2048;
++ seek_head = 16;
+ }
+-
+ else
+-
+ {
+-
++ /*BAD SECTOR */
++ seek_ecc = 0;
++ sector_size = 2448;
++ sector_data = 2448;
++ seek_head = 0;
++ sub_toc = 1;
++ }
++ break;
++ case MDF_AUDIO:
+ /*BAD SECTOR AUDIO */
+ seek_head = 0;
+ sector_size = 2448;
+ seek_ecc = 96;
+ sector_data = 2352;
+ cue = 0;
++ break;
++ default:printf("Unknown format for %s.\n",basefilename);
++ fclose(fsource);
++ free(destfilename);
++ exit (EXIT_FAILURE);
+ }
+- }
+- if ((fdest = fopen (destfilename, "wb")) != NULL);
+
+- else
++ // *** Create destination file ***
++
++ // Try opening the destination file for output
++ if ((fdest = fopen (destfilename, "wb")) == NULL)
+ {
+- printf ("%s\n", strerror (errno));
++ printf ("Unable to open %s for output: %s\n",destfilename,strerror(errno));
++ free(destfilename);
++ fclose(fsource);
+ exit (EXIT_FAILURE);
+- };
++ }
++
++
+ fseek (fsource, 0L, SEEK_END);
+ source_length = ftell (fsource) / sector_size;
+- size_iso = (int) (source_length * sector_data);
+- progressbar = 100 / source_length;
+ fseek (fsource, 0L, SEEK_SET);
+-
+ {
+ for (i = 0; i < source_length; i++)
+-
+ {
+ fseek (fsource, seek_head, SEEK_CUR);
+- if (fread (buf, sizeof (char), sector_data, fsource));
+-
+- else
++ if (fread(buf, sizeof (char), sector_data, fsource)!=sector_data)
+ {
+- printf ("%s\n", strerror (errno));
++ printf ("Error reading from %s: %s\n",basefilename, strerror (errno));
++ fclose(fsource);
++ fclose(fdest);
++ remove(destfilename);
++ free(destfilename);
+ exit (EXIT_FAILURE);
+- };
+- if (fwrite (buf, sizeof (char), sector_data, fdest));
+-
+- else
++ }
++ if (fwrite (buf, sizeof (char), sector_data, fdest)!=sector_data)
+ {
+- printf ("%s\n", strerror (errno));
++ printf ("Error writing to %s: %s\n",destfilename, strerror (errno));
++ fclose(fsource);
++ fclose(fdest);
++ remove(destfilename);
++ free(destfilename);
+ exit (EXIT_FAILURE);
+- };
++ }
+ fseek (fsource, seek_ecc, SEEK_CUR);
+- write_iso = (int) (sector_data * i);
+- if (i != 0)
+- percent = (int) (write_iso * 100 / size_iso);
+- main_percent (percent);
+- }} printf ("100%%[:====================:]\n");
++ main_percent(i*100/source_length);
++ }
++ } printf ("100%% [:=====================:]\n");
+
+ fclose (fsource);
+ fclose (fdest);
+
+- if (cue == 1)
+- cuesheets (destfilename);
+- if (toc == 1)
+- toc_file (destfilename, sub_toc);
++ // *** create Toc or Cue file is requested ***
++ if (cue == 1) if (cuesheets(destfilename))
++ {
++ free(destfilename);
++ exit(EXIT_FAILURE);
++ }
++ if (toc == 1) if (toc_file(destfilename, sub_toc))
++ {
++ free(destfilename);
++ exit(EXIT_FAILURE);
++ }
+ if ((toc == 0) && (cue == 0))
+- printf ("Create iso9660: %s\n", destfilename);
++ printf("Created iso9660: %s\n", destfilename);
++
++ free(destfilename);
+
+ exit (EXIT_SUCCESS);
+- }
+
+- else
+- printf ("This is file iso9660 ;)\n");
++/*
+ n_mdf = number_file (destfilename) - 1;
+- /* if (n_mdf > 1)
+-
++ / * if (n_mdf > 1)
+ {
+ printf ("\rDetect %d md* file and now emerge this\n", n_mdf);
+ }
+- */
++ * /
+ fclose (fsource);
+- exit (EXIT_SUCCESS);
+- }
+-
+- else
+- {
+- printf ("%s\n", strerror (errno));
+- exit (EXIT_FAILURE);
+- };
+- }
++ exit (EXIT_SUCCESS);*/
+ }
diff --git a/community/mediainfo-gui/PKGBUILD b/community/mediainfo-gui/PKGBUILD
new file mode 100644
index 000000000..cf721eebe
--- /dev/null
+++ b/community/mediainfo-gui/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90926 2013-05-15 13:47:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: hydro <hydro@freenet.de>
+
+pkgname=mediainfo-gui
+pkgver=0.7.63
+pkgrel=1
+pkgdesc="GUI for mediainfo"
+arch=('i686' 'x86_64')
+url="http://mediainfo.sourceforge.net"
+license=('GPL')
+depends=('libmediainfo' 'wxgtk')
+makedepends=('libtool' 'automake' 'autoconf')
+install=mediainfo-gui.install
+source=(http://downloads.sourceforge.net/mediainfo/mediainfo_${pkgver}.tar.bz2)
+md5sums=('bd794e4066b6bb197af23cb7b8ba832b')
+
+build() {
+ cd $srcdir/MediaInfo/Project/GNU/GUI
+ sh ./autogen
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/MediaInfo/Project/GNU/GUI
+ make DESTDIR=$pkgdir install
+ install -D -m 644 $srcdir/MediaInfo/Source/Resource/Image/MediaInfo.png \
+ $pkgdir/usr/share/icons/hicolor/128x128/apps/mediainfo.png
+ install -D -m 644 $srcdir/MediaInfo/Source/Resource/Image/MediaInfo.png \
+ $pkgdir/usr/share/pixmaps/mediainfo-gui.png
+ install -D -m 644 $srcdir/MediaInfo/Project/GNU/GUI/mediainfo-gui.desktop \
+ $pkgdir/usr/share/applications/mediainfo-gui.desktop
+}
diff --git a/community/mediainfo-gui/mediainfo-gui.install b/community/mediainfo-gui/mediainfo-gui.install
new file mode 100644
index 000000000..28d8f7815
--- /dev/null
+++ b/community/mediainfo-gui/mediainfo-gui.install
@@ -0,0 +1,11 @@
+post_install() {
+ which gtk-update-icon-cache >/dev/null && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/mediainfo/PKGBUILD b/community/mediainfo/PKGBUILD
new file mode 100644
index 000000000..3166fd6ad
--- /dev/null
+++ b/community/mediainfo/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 90924 2013-05-15 13:46:41Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: hydro <hydro@freenet.de>
+
+pkgname=mediainfo
+pkgver=0.7.63
+pkgrel=1
+pkgdesc="supplies technical and tag information about a video or audio file"
+arch=('i686' 'x86_64')
+url="http://mediainfo.sourceforge.net"
+license=('GPL')
+depends=('libmediainfo')
+makedepends=('libtool' 'automake' 'autoconf')
+source=(http://downloads.sourceforge.net/mediainfo/${pkgname}_${pkgver}.tar.bz2)
+md5sums=('bd794e4066b6bb197af23cb7b8ba832b')
+
+build() {
+ cd $srcdir/MediaInfo/Project/GNU/CLI
+ sh ./autogen
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd $srcdir/MediaInfo/Project/GNU/CLI
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/mediaproxy/PKGBUILD b/community/mediaproxy/PKGBUILD
new file mode 100644
index 000000000..940e7b69f
--- /dev/null
+++ b/community/mediaproxy/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90685 2013-05-13 14:28:43Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Colin Pitrat <colin.pitrat@gmail.com>
+
+pkgname=mediaproxy
+pkgver=2.5.2
+pkgrel=5
+pkgdesc="Open-source media proxy for OpenSER"
+url="http://mediaproxy.ag-projects.com/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('python2' 'libnetfilter_conntrack' 'iptables'
+ 'python2-application' 'python2-cjson' 'python2-gnutls')
+#backup=('opt/mediaproxy/config.ini')
+source=("http://download.ag-projects.com/MediaProxy/mediaproxy-$pkgver.tar.gz"
+ "mediaproxy-dispatcher.service"
+ "mediaproxy-relay.service"
+ "mediaproxy.tmpfiles")
+md5sums=('840de8f52e656991be728c15ec30bb5e'
+ '4a1fa0b6ce0a8bd44bf0f1d9d36a6154'
+ '23c1a584835de00a958ef963cdd40040'
+ '60a25f2cb6429a0a7d62d45d0c75a0ea')
+
+build() {
+ cd $srcdir/mediaproxy-$pkgver
+ sed -i "s|libraries = get_link_libraries(),|libraries = ['netfilter_conntrack', 'ip4tc'],|g" setup.py
+}
+
+package() {
+ cd $srcdir/mediaproxy-$pkgver
+
+ python2 setup.py install --root=$pkgdir
+
+ install -Dm0644 $srcdir/$pkgname-dispatcher.service $pkgdir/usr/lib/systemd/system/$pkgname-dispatcher.service
+ install -Dm0644 $srcdir/$pkgname-relay.service $pkgdir/usr/lib/systemd/system/$pkgname-relay.service
+ install -Dm0644 $srcdir/$pkgname.tmpfiles $pkgdir/usr/lib/tmpfiles.d/$pkgname.conf
+}
diff --git a/community/mediaproxy/mediaproxy-dispatcher.service b/community/mediaproxy/mediaproxy-dispatcher.service
new file mode 100644
index 000000000..500bb33c7
--- /dev/null
+++ b/community/mediaproxy/mediaproxy-dispatcher.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Mediaproxy dispatcher service
+After=network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/mediaproxy/dispatcher.pid
+ExecStart=media-dispatcher
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mediaproxy/mediaproxy-relay.service b/community/mediaproxy/mediaproxy-relay.service
new file mode 100644
index 000000000..2618800e6
--- /dev/null
+++ b/community/mediaproxy/mediaproxy-relay.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Mediaproxy relay service
+After=network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/mediaproxy/relay.pid
+ExecStart=media-relay
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mediaproxy/mediaproxy.tmpfiles b/community/mediaproxy/mediaproxy.tmpfiles
new file mode 100644
index 000000000..a102c489f
--- /dev/null
+++ b/community/mediaproxy/mediaproxy.tmpfiles
@@ -0,0 +1 @@
+d /var/run/mediaproxy 0755 root root -
diff --git a/community/medit/PKGBUILD b/community/medit/PKGBUILD
new file mode 100644
index 000000000..9752a3ec1
--- /dev/null
+++ b/community/medit/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 75884 2012-09-04 15:31:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=medit
+pkgver=1.1.1
+pkgrel=1
+pkgdesc="A GTK text editor"
+arch=('i686' 'x86_64')
+url="http://mooedit.sourceforge.net"
+options=('!emptydirs')
+license=('GPL')
+depends=('pygtk' 'libxml2' 'pcre' 'libsm' 'python2' 'gtk2' 'gcc-libs')
+optdepends=('ctags' 'vte: terminal emulator')
+makedepends=(pkgconfig perlxml intltool gcc-objc)
+install=medit.install
+source=(http://downloads.sourceforge.net/mooedit/medit-$pkgver.tar.bz2)
+md5sums=('9ea0d396a3bf3ee6ce220365bffb7358')
+
+build() {
+ cd $srcdir/medit-$pkgver
+ export PYTHON=/usr/bin/python2
+ [ -f Makefile ] || ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/medit-$pkgver
+ make DESTDIR=${pkgdir} install
+ cd ${pkgdir}/usr/share/medit-1/language-specs
+ sed -i "s|*.sh|*.sh;PKGBUILD|" sh.lang
+ rm -rf $pkgdir/usr/share/mime
+ rm -rf $pkgdir/usr/share/icons/hicolor/icon-theme.cache
+}
diff --git a/community/medit/medit.install b/community/medit/medit.install
new file mode 100644
index 000000000..b95cc069d
--- /dev/null
+++ b/community/medit/medit.install
@@ -0,0 +1,11 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
diff --git a/community/mednafen/PKGBUILD b/community/mednafen/PKGBUILD
new file mode 100644
index 000000000..660dafc40
--- /dev/null
+++ b/community/mednafen/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 83342 2013-01-29 21:58:18Z jsteel $
+# Maintainer: Jonathan Steel <mail at jsteel dot org>
+# Contributor: megadriver <megadriver at gmx dot com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Daenyth <Daenyth+Arch [at] gmail [dot] com>
+# Contributor: kagan <juanynie@mi.madritel.es>
+# Contributor: Hans-Kristian Arntzen <maister@archlinux.us>
+
+pkgname=mednafen
+pkgver=0.9.28
+_pkgver=0.9.28-wip
+pkgrel=1
+pkgdesc="A command-line multi-system gaming emulator"
+url="http://mednafen.sourceforge.net"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('libcdio' 'libsamplerate' 'sdl_net' 'zlib')
+makedepends=('mesa' 'glu')
+replaces=('mednafen-wip')
+install="$pkgname.install"
+source=(http://downloads.sourceforge.net/mednafen/$pkgname-$_pkgver.tar.bz2)
+md5sums=('2b9f0be9f77a6e1b5d26093e30b24e77')
+
+build() {
+ cd "$srcdir"/$pkgname
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname
+
+ make DESTDIR="$pkgdir"/ install
+}
diff --git a/community/mednafen/mednafen.install b/community/mednafen/mednafen.install
new file mode 100644
index 000000000..8a0672362
--- /dev/null
+++ b/community/mednafen/mednafen.install
@@ -0,0 +1,5 @@
+post_upgrade() {
+ echo 'Save states from 0.8.x and earlier are not compatible with 0.9.x,
+ [...] The configuration file name has changed to "mednafen-09x.cfg"
+ [...] http://mednafen.sourceforge.net/releases/'
+}
diff --git a/community/megaglest/PKGBUILD b/community/megaglest/PKGBUILD
new file mode 100644
index 000000000..30c6d9479
--- /dev/null
+++ b/community/megaglest/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 93166 2013-06-26 17:55:13Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Larry Hajali <larryhaja [at] gmail [dot] com>
+
+pkgname=megaglest
+pkgver=3.8.0beta1
+_pkgver=3.8.0-beta1
+pkgrel=1
+pkgdesc="Fork of Glest, a 3D real-time strategy game in a fantastic world."
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/megaglest/"
+license=('GPL3')
+depends=('curl' 'megaglest-data' 'xerces-c' 'sdl' 'libvorbis' 'openal' 'libgl' 'lua51' 'icu' 'ftgl' 'glew'
+'libircclient' 'miniupnpc' 'wxgtk' 'glu')
+makedepends=('ftjam' 'cmake' 'mesa')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-source-${_pkgver}.tar.xz")
+md5sums=('1da8707d435ffb2342f03ca466d4eeed')
+
+build() {
+ cd "${srcdir}"/"${pkgname}"-"${_pkgver}"/
+
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+
+ cmake .. \
+ -DWANT_SVN_STAMP=OFF \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package() {
+ cd "${srcdir}"/"${pkgname}"-"${_pkgver}"/
+
+ cd build
+ make DESTDIR="$pkgdir" install
+}
+
+# vim: sw=2:ts=2 et:
diff --git a/community/menu-cache/PKGBUILD b/community/menu-cache/PKGBUILD
new file mode 100644
index 000000000..915f30b71
--- /dev/null
+++ b/community/menu-cache/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 93764 2013-07-10 06:48:17Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=menu-cache
+pkgver=0.5.0
+pkgrel=1
+pkgdesc='Caching mechanism for freedesktop.org compliant menus'
+arch=('i686' 'x86_64')
+license=('GPL2')
+url='http://lxde.org/'
+groups=('lxde')
+depends=('intltool' 'glib2')
+options=('!libtool')
+makedepends=('pkgconfig')
+source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz)
+sha256sums=('875a7441b34bb24debc1c8017d74d59987d7a704c4c023e81a0b4ebcc2d7904a')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/menu-cache \
+ --disable-static
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/mesa-dri1/PKGBUILD b/community/mesa-dri1/PKGBUILD
new file mode 100644
index 000000000..3fa2266bf
--- /dev/null
+++ b/community/mesa-dri1/PKGBUILD
@@ -0,0 +1,97 @@
+# Maintainer: ConnorBehan <connor.behan@gmail.com>
+
+pkgbase=mesa-dri1
+pkgname=('unichrome-dri' 'i810-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri')
+
+pkgver=7.11.2
+pkgrel=4
+arch=('i686' 'x86_64')
+makedepends=('glproto>=1.4.14' 'dri2proto' 'libdrm>=2.4.26' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.3' 'libxt>=1.1.1'
+ 'gcc-libs>=4.6.1' 'python2' 'libxml2' 'imake' 'llvm' 'udev')
+url="http://mesa3d.sourceforge.net"
+license=('custom')
+source=("ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2")
+md5sums=('0837c52698fe3252369c3fdb5195afcc')
+
+build() {
+ cd ${srcdir}/?esa-*
+ autoreconf -vfi
+ ./configure --prefix=/usr \
+ --with-dri-driverdir=/usr/lib/xorg/modules/dri \
+ --with-dri-drivers=unichrome,i810,mach64,mga,r128,savage,sis,tdfx \
+ --with-gallium-drivers= \
+ --disable-gallium-llvm \
+ --enable-glx-tls \
+ --with-driver=dri \
+ --enable-xcb \
+ --disable-glut \
+ --enable-gles1 \
+ --enable-gles2 \
+ --enable-egl \
+ --enable-texture-float \
+ --disable-shared-dricore
+
+ make
+}
+
+package_unichrome-dri() {
+ depends=("mesa-libgl")
+ pkgdesc="Mesa DRI drivers for S3 Graphics/VIA Unichrome"
+
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/unichrome DESTDIR="${pkgdir}" install
+}
+
+package_i810-dri() {
+ depends=("mesa-libgl")
+ pkgdesc="Mesa DRI drivers for Intel i810"
+
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/i810 DESTDIR="${pkgdir}" install
+}
+
+package_mach64-dri() {
+ depends=("mesa-libgl")
+ pkgdesc="Mesa DRI drivers for ATI Mach64"
+ conflicts=('xf86-video-mach64<6.8.2')
+
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/mach64 DESTDIR="${pkgdir}" install
+}
+
+package_mga-dri() {
+ depends=("mesa-libgl")
+ pkgdesc="Mesa DRI drivers for Matrox"
+ conflicts=('xf86-video-mga<1.4.11')
+
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/mga DESTDIR="${pkgdir}" install
+}
+
+package_r128-dri() {
+ depends=("mesa-libgl")
+ pkgdesc="Mesa DRI drivers for ATI Rage128"
+ conflicts=('xf86-video-r128<6.8.1')
+
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/r128 DESTDIR="${pkgdir}" install
+}
+
+package_savage-dri() {
+ depends=("mesa-libgl")
+ pkgdesc="Mesa DRI drivers for S3 Sraphics/VIA Savage"
+ conflicts=('xf86-video-savage<2.3.1')
+
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/savage DESTDIR="${pkgdir}" install
+}
+
+package_sis-dri() {
+ depends=("mesa-libgl")
+ pkgdesc="Mesa DRI drivers for SiS"
+ conflicts=('xf86-video-sis<0.10.2')
+
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/sis DESTDIR="${pkgdir}" install
+}
+
+package_tdfx-dri() {
+ depends=("mesa-libgl")
+ pkgdesc="Mesa DRI drivers for 3dfx"
+ conflicts=('xf86-video-tdfx<1.4.3')
+
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/tdfx DESTDIR="${pkgdir}" install
+}
diff --git a/community/metacity/PKGBUILD b/community/metacity/PKGBUILD
new file mode 100644
index 000000000..1eef10aa0
--- /dev/null
+++ b/community/metacity/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 88820 2013-04-23 01:21:30Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=metacity
+pkgver=2.34.13
+pkgrel=5
+pkgdesc="Legacy GNOME window manager"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('dconf' 'libcanberra' 'libgtop' 'gsettings-desktop-schemas' 'gtk2' 'startup-notification' 'zenity')
+makedepends=('intltool' 'itstool')
+url="https://live.gnome.org/Metacity"
+options=('!libtool')
+install=metacity.install
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ fix_compositing_startup.patch
+ fix_force_quit.patch
+ fix_shadows.patch
+ enable_compositing.patch
+ application-switcher.patch)
+sha256sums=('8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075'
+ '5094a0ffe3eb8289ed752829877c2e1b743eddf938ad3fc92fb4574b42765ae2'
+ '917760ac3375894ebb4052dfc7c8dff1ac556fb81033d7a7caf02123ceede50d'
+ 'a0981477e9b3fd108fd03b7637bfd1f17a1f6cb13ec703d86b424b55076096f3'
+ 'e53c1c20e19cd3d94d05d08045c7a9a373ce52051928ccc69bf3068081f30f9a'
+ '177ded8203c3ff25f59a24445145cb54da9aba4216a0014c34979b7c12f3c099')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=658036
+ patch -Np1 -i "$srcdir/fix_compositing_startup.patch"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=687938
+ patch -Np1 -i "$srcdir/fix_force_quit.patch"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=648340
+ patch -Np1 -i "$srcdir/fix_shadows.patch"
+
+ # Enable compositing by default (required for the desktop rendering feature of nautilus)
+ patch -Np1 -i "$srcdir/enable_compositing.patch"
+
+ # Rename switch-windows to switch-applications (required for GNOME 3.8 compatibility)
+ patch -Np1 -i "$srcdir/application-switcher.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/metacity/application-switcher.patch b/community/metacity/application-switcher.patch
new file mode 100644
index 000000000..2832d262c
--- /dev/null
+++ b/community/metacity/application-switcher.patch
@@ -0,0 +1,26 @@
+diff -Naur metacity-2.34.13.orig/src/50-metacity-navigation.xml.in metacity-2.34.13/src/50-metacity-navigation.xml.in
+--- metacity-2.34.13.orig/src/50-metacity-navigation.xml.in 2012-10-15 20:06:27.000000000 +0200
++++ metacity-2.34.13/src/50-metacity-navigation.xml.in 2013-04-23 02:35:18.000734619 +0200
+@@ -29,7 +29,7 @@
+ <KeyListEntry name="move-to-workspace-down"
+ _description="Move window one workspace down" />
+
+- <KeyListEntry name="switch-windows"
++ <KeyListEntry name="switch-applications"
+ _description="Switch applications"/>
+
+ <KeyListEntry name="switch-group"
+diff -Naur metacity-2.34.13.orig/src/include/all-keybindings.h metacity-2.34.13/src/include/all-keybindings.h
+--- metacity-2.34.13.orig/src/include/all-keybindings.h 2012-02-09 19:07:40.000000000 +0100
++++ metacity-2.34.13/src/include/all-keybindings.h 2013-04-23 02:34:22.632775305 +0200
+@@ -126,8 +126,8 @@
+ keybind (switch-group, handle_switch, META_TAB_LIST_GROUP, BINDING_REVERSES)
+ keybind (switch-group-backward, handle_switch, META_TAB_LIST_GROUP,
+ REVERSES_AND_REVERSED)
+-keybind (switch-windows, handle_switch, META_TAB_LIST_NORMAL, BINDING_REVERSES)
+-keybind (switch-windows-backward, handle_switch, META_TAB_LIST_NORMAL,
++keybind (switch-applications, handle_switch, META_TAB_LIST_NORMAL, BINDING_REVERSES)
++keybind (switch-applications-backward, handle_switch, META_TAB_LIST_NORMAL,
+ REVERSES_AND_REVERSED)
+ keybind (switch-panels, handle_switch, META_TAB_LIST_DOCKS, BINDING_REVERSES)
+ keybind (switch-panels-backward, handle_switch, META_TAB_LIST_DOCKS,
diff --git a/community/metacity/enable_compositing.patch b/community/metacity/enable_compositing.patch
new file mode 100644
index 000000000..3c5f09666
--- /dev/null
+++ b/community/metacity/enable_compositing.patch
@@ -0,0 +1,12 @@
+diff -Naur metacity-2.34.13.orig/src/org.gnome.metacity.gschema.xml.in metacity-2.34.13/src/org.gnome.metacity.gschema.xml.in
+--- metacity-2.34.13.orig/src/org.gnome.metacity.gschema.xml.in 2012-02-15 18:31:44.000000000 +0100
++++ metacity-2.34.13/src/org.gnome.metacity.gschema.xml.in 2013-04-10 20:14:39.837033219 +0200
+@@ -3,7 +3,7 @@
+ <schema id="org.gnome.metacity" path="/org/gnome/metacity/"
+ gettext-domain="@GETTEXT_PACKAGE@">
+ <key name="compositing-manager" type="b">
+- <default>false</default>
++ <default>true</default>
+ <_summary>Compositing Manager</_summary>
+ <_description>
+ Determines whether Metacity is a compositing manager.
diff --git a/community/metacity/fix_compositing_startup.patch b/community/metacity/fix_compositing_startup.patch
new file mode 100644
index 000000000..56b218ae7
--- /dev/null
+++ b/community/metacity/fix_compositing_startup.patch
@@ -0,0 +1,12 @@
+diff -Naur metacity-2.34.5.orig/src/compositor/compositor-xrender.c metacity-2.34.5/src/compositor/compositor-xrender.c
+--- metacity-2.34.5.orig/src/compositor/compositor-xrender.c 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.5/src/compositor/compositor-xrender.c 2012-08-28 14:23:04.093750568 +0200
+@@ -3066,6 +3057,8 @@
+ #endif
+
+ xrc->enabled = TRUE;
++ xrc->show_redraw = FALSE;
++ xrc->debug = FALSE;
+ g_timeout_add (2000, (GSourceFunc) timeout_debug, xrc);
+
+ return compositor;
diff --git a/community/metacity/fix_force_quit.patch b/community/metacity/fix_force_quit.patch
new file mode 100644
index 000000000..020f427c4
--- /dev/null
+++ b/community/metacity/fix_force_quit.patch
@@ -0,0 +1,222 @@
+diff -Naur metacity-2.34.13.orig/src/core/delete.c metacity-2.34.13/src/core/delete.c
+--- metacity-2.34.13.orig/src/core/delete.c 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/core/delete.c 2012-11-08 21:36:48.373976906 +0100
+@@ -90,23 +90,41 @@
+ return;
+ }
+
+- window_title = g_locale_from_utf8 (window->title, -1, NULL, NULL, NULL);
++ /* This is to get a better string if the title isn't representable
++ * in the locale encoding; actual conversion to UTF-8 is done inside
++ * meta_show_dialog */
++
++ if (window->title && window->title[0])
++ {
++ tmp = g_locale_from_utf8 (window->title, -1, NULL, NULL, NULL);
++ if (tmp == NULL)
++ window_title = NULL;
++ else
++ window_title = window->title;
++ g_free (tmp);
++ }
++ else
++ {
++ window_title = NULL;
++ }
+
+ /* Translators: %s is a window title */
+- tmp = g_strdup_printf (_("<tt>%s</tt> is not responding."),
+- window_title);
++ if (window_title)
++ tmp = g_markup_printf_escaped (_("<tt>%s</tt> is not responding."),
++ window_title);
++ else
++ tmp = g_strdup (_("Application is not responding."));
++
+ window_content = g_strdup_printf (
+ "<big><b>%s</b></big>\n\n<i>%s</i>",
+ tmp,
+ _("You may choose to wait a short while for it to "
+ "continue or force the application to quit entirely."));
+
+- g_free (window_title);
+-
+ dialog_pid =
+ meta_show_dialog ("--question",
+- window_content, 0,
+- window->screen->number,
++ window_content, NULL,
++ window->screen->screen_name,
+ _("_Wait"), _("_Force Quit"), window->xwindow,
+ NULL, NULL);
+
+diff -Naur metacity-2.34.13.orig/src/core/session.c metacity-2.34.13/src/core/session.c
+--- metacity-2.34.13.orig/src/core/session.c 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/core/session.c 2012-11-08 21:35:56.896216322 +0100
+@@ -1809,7 +1809,7 @@
+ "and will have to be restarted manually next time "
+ "you log in."),
+ "240",
+- meta_screen_get_screen_number (meta_get_display()->active_screen),
++ meta_get_display()->active_screen->screen_name,
+ NULL, NULL,
+ None,
+ columns,
+diff -Naur metacity-2.34.13.orig/src/core/util.c metacity-2.34.13/src/core/util.c
+--- metacity-2.34.13.orig/src/core/util.c 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/core/util.c 2012-11-08 21:36:41.373828115 +0100
+@@ -538,11 +538,30 @@
+ }
+ }
+
++/* Command line arguments are passed in the locale encoding; in almost
++ * all cases, we'd hope that is UTF-8 and no conversion is necessary.
++ * If it's not UTF-8, then it's possible that the message isn't
++ * representable in the locale encoding.
++ */
++static void
++append_argument (GPtrArray *args,
++ const char *arg)
++{
++ char *locale_arg = g_locale_from_utf8 (arg, -1, NULL, NULL, NULL);
++
++ /* This is cheesy, but it's better to have a few ???'s in the dialog
++ * for an unresponsive application than no dialog at all appear */
++ if (!locale_arg)
++ locale_arg = g_strdup ("???");
++
++ g_ptr_array_add (args, locale_arg);
++}
++
+ GPid
+ meta_show_dialog (const char *type,
+ const char *message,
+ const char *timeout,
+- const gint screen_number,
++ const char *display,
+ const char *ok_text,
+ const char *cancel_text,
+ const int transient_for,
+@@ -550,61 +569,58 @@
+ GSList *entries)
+ {
+ GError *error = NULL;
+- char *screen_number_text = g_strdup_printf("%d", screen_number);
+ GSList *tmp;
+- int i=0;
+ GPid child_pid;
+- const char **argvl = g_malloc(sizeof (char*) *
+- (17 +
+- g_slist_length (columns)*2 +
+- g_slist_length (entries)));
+-
+- argvl[i++] = "zenity";
+- argvl[i++] = type;
+- argvl[i++] = "--screen";
+- argvl[i++] = screen_number_text;
+- argvl[i++] = "--class";
+- argvl[i++] = "metacity-dialog";
+- argvl[i++] = "--title";
++ GPtrArray *args;
++
++ args = g_ptr_array_new ();
++
++ append_argument (args, "zenity");
++ append_argument (args, type);
++ append_argument (args, "--display");
++ append_argument (args, display);
++ append_argument (args, "--class");
++ append_argument (args, "metaicty-dialog");
++ append_argument (args, "--title");
+ /* Translators: This is the title used on dialog boxes */
+- argvl[i++] = _("Metacity");
+- argvl[i++] = "--text";
+- argvl[i++] = message;
+-
++ append_argument (args, _("Metacity"));
++ append_argument (args, "--text");
++ append_argument (args, message);
++
+ if (timeout)
+ {
+- argvl[i++] = "--timeout";
+- argvl[i++] = timeout;
++ append_argument (args, "--timeout");
++ append_argument (args, timeout);
+ }
+
+ if (ok_text)
+ {
+- argvl[i++] = "--ok-label";
+- argvl[i++] = ok_text;
++ append_argument (args, "--ok-label");
++ append_argument (args, ok_text);
+ }
+
+ if (cancel_text)
+ {
+- argvl[i++] = "--cancel-label";
+- argvl[i++] = cancel_text;
++ append_argument (args, "--cancel-label");
++ append_argument (args, cancel_text);
+ }
+-
++
+ tmp = columns;
+ while (tmp)
+ {
+- argvl[i++] = "--column";
+- argvl[i++] = tmp->data;
++ append_argument (args, "--column");
++ append_argument (args, tmp->data);
+ tmp = tmp->next;
+ }
+
+ tmp = entries;
+ while (tmp)
+ {
+- argvl[i++] = tmp->data;
++ append_argument (args, tmp->data);
+ tmp = tmp->next;
+ }
+-
+- argvl[i] = NULL;
++
++ g_ptr_array_add (args, NULL); /* NULL-terminate */
+
+ if (transient_for)
+ {
+@@ -615,7 +631,7 @@
+
+ g_spawn_async (
+ "/",
+- (gchar**) argvl, /* ugh */
++ (gchar**) args->pdata,
+ NULL,
+ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
+ NULL, NULL,
+@@ -626,8 +642,7 @@
+ if (transient_for)
+ unsetenv ("WINDOWID");
+
+- g_free (argvl);
+- g_free (screen_number_text);
++ g_ptr_array_free (args, TRUE);
+
+ if (error)
+ {
+diff -Naur metacity-2.34.13.orig/src/include/util.h metacity-2.34.13/src/include/util.h
+--- metacity-2.34.13.orig/src/include/util.h 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/include/util.h 2012-11-08 21:36:27.206860608 +0100
+@@ -99,9 +99,9 @@
+ void meta_free_gslist_and_elements (GSList *list_to_deep_free);
+
+ GPid meta_show_dialog (const char *type,
+- const char *title,
+ const char *message,
+- gint timeout,
++ const char *timeout,
++ const char *display,
+ const char *ok_text,
+ const char *cancel_text,
+ const int transient_for,
diff --git a/community/metacity/fix_shadows.patch b/community/metacity/fix_shadows.patch
new file mode 100644
index 000000000..8d4bf9939
--- /dev/null
+++ b/community/metacity/fix_shadows.patch
@@ -0,0 +1,39 @@
+diff -Naur metacity-2.34.13.orig/src/compositor/compositor-xrender.c metacity-2.34.13/src/compositor/compositor-xrender.c
+--- metacity-2.34.13.orig/src/compositor/compositor-xrender.c 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/compositor/compositor-xrender.c 2012-11-09 13:51:42.492411570 +0100
+@@ -905,35 +905,6 @@
+ }
+ }
+
+- /* Never put a shadow around shaped windows */
+- if (cw->shaped) {
+- meta_verbose ("Window has no shadow as it is shaped\n");
+- return FALSE;
+- }
+-
+- /* Don't put shadow around DND icon windows */
+- if (cw->type == META_COMP_WINDOW_DND ||
+- cw->type == META_COMP_WINDOW_DESKTOP) {
+- meta_verbose ("Window has no shadow as it is DND or Desktop\n");
+- return FALSE;
+- }
+-
+- if (cw->mode != WINDOW_ARGB) {
+- meta_verbose ("Window has shadow as it is not ARGB\n");
+- return TRUE;
+- }
+-
+- if (cw->type == META_COMP_WINDOW_MENU ||
+- cw->type == META_COMP_WINDOW_DROP_DOWN_MENU) {
+- meta_verbose ("Window has shadow as it is a menu\n");
+- return TRUE;
+- }
+-
+- if (cw->type == META_COMP_WINDOW_TOOLTIP) {
+- meta_verbose ("Window has shadow as it is a tooltip\n");
+- return TRUE;
+- }
+-
+ meta_verbose ("Window has no shadow as it fell through\n");
+ return FALSE;
+ }
diff --git a/community/metacity/metacity.install b/community/metacity/metacity.install
new file mode 100644
index 000000000..ba0feffc1
--- /dev/null
+++ b/community/metacity/metacity.install
@@ -0,0 +1,19 @@
+pkgname=metacity
+
+post_install() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+}
+
+pre_upgrade() {
+ if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then
+ /usr/sbin/gconfpkg --uninstall $pkgname
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/metakit/PKGBUILD b/community/metakit/PKGBUILD
new file mode 100644
index 000000000..289776b18
--- /dev/null
+++ b/community/metakit/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 66530 2012-02-25 23:36:00Z lfleischer $
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=metakit
+pkgver=2.4.9.7
+pkgrel=5
+pkgdesc='MetaKit is an efficient database library with a small footprint'
+arch=('i686' 'x86_64')
+url='http://www.equi4.com/metakit/'
+makedepends=('tcl' 'python2')
+license=('BSD')
+options=('!libtool')
+source=("http://www.equi4.com/pub/mk/${pkgname}-${pkgver}.tar.gz")
+md5sums=('17330257376eea657827ed632ea62c9e')
+
+build() {
+ cd ${pkgname}-${pkgver}/builds
+
+ sed -i 's_"${prefix}/include/python2.5"_"${prefix}/include/python2.7"_' ../unix/configure
+ sed -i 's_"${prefix}/lib/python2.5/site-packages"_"${prefix}/lib/python2.7/site-packages"_' ../unix/configure
+
+ ../unix/configure \
+ --prefix=/usr \
+ --with-python \
+ --with-tcl=/usr/include
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}/builds
+
+ mkdir -p ${pkgdir}/usr/lib/python2.7/site-packages
+
+ make DESTDIR=${pkgdir} install
+
+ install -D -m644 ../license.terms ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/metamail/PKGBUILD b/community/metamail/PKGBUILD
new file mode 100644
index 000000000..71922cd14
--- /dev/null
+++ b/community/metamail/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 66234 2012-02-23 05:08:28Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sekenre <sekenre at ukfsn dot org>
+# Contributor: Daenyth <Daenyth+Arch [AT] gmail [DOT] com>
+
+pkgname=metamail
+pkgver=2.7
+pkgrel=6
+pkgdesc="Used to display and process MIME messages"
+arch=('i686' 'x86_64')
+url="http://packages.debian.org/stable/mail/metamail"
+license=('custom')
+depends=('ncurses')
+options=('!libtool')
+noextract=(metamail_$pkgver-52.diff.gz)
+source=("http://ftp.de.debian.org/debian/pool/main/m/metamail/metamail_$pkgver.orig.tar.gz" \
+ "http://ftp.de.debian.org/debian/pool/main/m/metamail/metamail_$pkgver-54.diff.gz" \
+ license)
+md5sums=('c6967e9bc5d3c919764b02df24efca01'
+ '2071dc7b9c33345443ab9a619e640a69'
+ '38be502570f3ce5b5a2bafd6a876373f')
+
+build() {
+ cd $srcdir/metamail-$pkgver.orig
+
+ patch -p1 <$srcdir/metamail_$pkgver-54.diff
+ sed -i 's|getline|xgetline|' metamail/uue.c src/metamail/uue.c
+
+ sh ./bootstrap
+ sh ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+
+ install -D -m0644 $srcdir/license $pkgdir/usr/share/licenses/$pkgname/license
+}
diff --git a/community/metamail/license b/community/metamail/license
new file mode 100644
index 000000000..3b186faa4
--- /dev/null
+++ b/community/metamail/license
@@ -0,0 +1,37 @@
+This is the Debian GNU/Linux prepackaged version of Metamail.
+
+This package was put together by Michael Meskes <meskes@debian.org>,
+from sources obtained from:
+ ftp.bellcore.com:/pub/nsb/mm2.7.tar.Z and /pub/nsb/contrib2.7.tar.Z
+
+This package was then worked on by Herbert Xu <herbert@debian.org>.
+
+****************************************************************
+Copyright (c) 1991 Bell Communications Research, Inc. (Bellcore)
+
+Permission to use, copy, modify, and distribute this material
+for any purpose and without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies, and that the name of Bellcore not be
+used in advertising or publicity pertaining to this
+material without the specific, prior written permission
+of an authorized representative of Bellcore. BELLCORE
+MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY
+OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED "AS IS",
+WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
+****************************************************************
+
+Most scripts are:
+
+# Conversion from C shell to Bourne shell by Z-Code Software Corp.
+# Conversion Copyright (c) 1992 Z-Code Software Corp.
+# Permission to use, copy, modify, and distribute this material
+# for any purpose and without fee is hereby granted, provided
+# that the above copyright notice and this permission notice
+# appear in all copies, and that the name of Z-Code Software not
+# be used in advertising or publicity pertaining to this
+# material without the specific, prior written permission
+# of an authorized representative of Z-Code. Z-CODE SOFTWARE
+# MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY
+# OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED "AS IS",
+# WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
diff --git a/community/metapixel/PKGBUILD b/community/metapixel/PKGBUILD
new file mode 100644
index 000000000..4fca5f1c7
--- /dev/null
+++ b/community/metapixel/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 90060 2013-05-06 19:38:23Z foutrelis $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Daniel Isenmann <daniel.isenmann [at] gmx [dot] de>
+
+pkgname=metapixel
+pkgver=1.0.2
+pkgrel=4
+pkgdesc='A program for generating photomosaics.'
+arch=('i686' 'x86_64')
+url='http://www.complang.tuwien.ac.at/schani/metapixel/'
+license=('GPL')
+depends=('giflib' 'libjpeg' 'libpng' 'perl')
+source=("http://www.complang.tuwien.ac.at/schani/metapixel/files/${pkgname}-${pkgver}.tar.gz"
+ 'metapixel-1.0.2-libpng-1.5.patch')
+md5sums=('af5d77d38826756af213a08e3ada9941'
+ '1832a79790b07402735bfeb9f71f36e9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i ../metapixel-1.0.2-libpng-1.5.patch
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ install -dm0755 "${pkgdir}/usr/share/man/man1"
+
+ make PREFIX="${pkgdir}/usr" install
+}
diff --git a/community/metapixel/metapixel-1.0.2-libpng-1.5.patch b/community/metapixel/metapixel-1.0.2-libpng-1.5.patch
new file mode 100644
index 000000000..ed787452f
--- /dev/null
+++ b/community/metapixel/metapixel-1.0.2-libpng-1.5.patch
@@ -0,0 +1,174 @@
+--- metapixel-1.0.2.orig/rwimg/rwpng.c
++++ metapixel-1.0.2/rwimg/rwpng.c
+@@ -57,19 +57,39 @@
+ data->end_info = png_create_info_struct(data->png_ptr);
+ assert(data->end_info != 0);
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ if (setjmp(png_jmpbuf((data->png_ptr))))
++#else
+ if (setjmp(data->png_ptr->jmpbuf))
++#endif
+ assert(0);
+
+- png_init_io(data->png_ptr, data->file);
+-
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ png_init_io(data->png_ptr, data->file);
++ png_read_info(data->png_ptr, data->info_ptr);
++#else
++ png_init_io(data->png_ptr, data->file);
+ png_read_info(data->png_ptr, data->info_ptr);
++#endif
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ *width = png_get_image_width(data->png_ptr, data->info_ptr);
++ *height = png_get_image_height(data->png_ptr, data->info_ptr);
++ {
++ png_byte value = png_get_bit_depth(data->png_ptr, data->info_ptr);
++ assert(value == 8 || value == 16);
++ value = png_get_color_type(data->png_ptr, data->info_ptr);
++ assert(value == PNG_COLOR_TYPE_RGB || value == PNG_COLOR_TYPE_RGB_ALPHA);
++ value = png_get_interlace_type(data->png_ptr, data->info_ptr);
++ assert(value == PNG_INTERLACE_NONE);
++ }
++#else
+ *width = data->info_ptr->width;
+ *height = data->info_ptr->height;
+-
+ assert(data->info_ptr->bit_depth == 8 || data->info_ptr->bit_depth == 16);
+ assert(data->info_ptr->color_type == PNG_COLOR_TYPE_RGB || data->info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA);
+ assert(data->info_ptr->interlace_type == PNG_INTERLACE_NONE);
++#endif
+
+ data->have_read = 0;
+
+@@ -81,32 +101,51 @@
+ {
+ png_data_t *data = (png_data_t*)_data;
+ int i;
+- int bps, spp;
++ int bps, spp, width;
+ unsigned char *row;
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++
++ if (setjmp(png_jmpbuf((data->png_ptr))))
++#else
+ if (setjmp(data->png_ptr->jmpbuf))
++#endif
+ assert(0);
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ if(png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_RGB)
++#else
+ if (data->info_ptr->color_type == PNG_COLOR_TYPE_RGB)
++#endif
+ spp = 3;
+ else
+ spp = 4;
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ if(png_get_bit_depth(data->png_ptr, data->info_ptr) == 16)
++#else
+ if (data->info_ptr->bit_depth == 16)
++#endif
+ bps = 2;
+ else
+ bps = 1;
+
+- row = (unsigned char*)malloc(data->info_ptr->width * spp * bps);
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ width = png_get_image_width(data->png_ptr, data->info_ptr);
++#else
++ width = data->info_ptr->width:
++#endif
++
++ row = (unsigned char*)malloc(width * spp * bps);
+
+ for (i = 0; i < num_lines; ++i)
+ {
+ int j, channel;
+
+ png_read_row(data->png_ptr, (png_bytep)row, 0);
+- for (j = 0; j < data->info_ptr->width; ++j)
++ for (j = 0; j < width; ++j)
+ for (channel = 0; channel < 3; ++channel)
+- lines[i * data->info_ptr->width * 3 + j * 3 + channel] = row[j * spp * bps + channel * bps];
++ lines[i * width * 3 + j * 3 + channel] = row[j * spp * bps + channel * bps];
+ }
+
+ free(row);
+@@ -119,7 +158,11 @@
+ {
+ png_data_t *data = (png_data_t*)_data;
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ if (setjmp(png_jmpbuf((data->png_ptr))))
++#else
+ if (setjmp(data->png_ptr->jmpbuf))
++#endif
+ assert(0);
+
+ if (data->have_read)
+@@ -148,7 +191,11 @@
+ data->info_ptr = png_create_info_struct(data->png_ptr);
+ assert(data->info_ptr != 0);
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ if (setjmp(png_jmpbuf((data->png_ptr))))
++#else
+ if (setjmp(data->png_ptr->jmpbuf))
++#endif
+ assert(0);
+
+ if (pixel_stride == 4)
+@@ -156,6 +203,16 @@
+
+ png_init_io(data->png_ptr, data->file);
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ png_set_IHDR(data->png_ptr, data->info_ptr,
++ width, height, 8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE,
++ PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
++
++ /* Maybe does not need following. */
++ png_set_tRNS(data->png_ptr, data->info_ptr, NULL, 0, NULL);
++ png_set_PLTE(data->png_ptr, data->info_ptr, NULL, 0);
++ png_set_invalid(data->png_ptr, data->info_ptr, 0);
++#else
+ data->info_ptr->width = width;
+ data->info_ptr->height = height;
+ data->info_ptr->valid = 0;
+@@ -168,6 +225,7 @@
+ data->info_ptr->compression_type = PNG_COMPRESSION_TYPE_DEFAULT;
+ data->info_ptr->filter_type = PNG_FILTER_TYPE_DEFAULT;
+ data->info_ptr->interlace_type = PNG_INTERLACE_NONE;
++#endif
+
+ png_write_info(data->png_ptr, data->info_ptr);
+
+@@ -182,7 +240,11 @@
+ png_data_t *data = (png_data_t*)_data;
+ int i;
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ if (setjmp(png_jmpbuf((data->png_ptr))))
++#else
+ if (setjmp(data->png_ptr->jmpbuf))
++#endif
+ assert(0);
+
+ for (i = 0; i < num_lines; ++i)
+@@ -194,7 +256,11 @@
+ {
+ png_data_t *data = (png_data_t*)_data;
+
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++ if (setjmp(png_jmpbuf((data->png_ptr))))
++#else
+ if (setjmp(data->png_ptr->jmpbuf))
++#endif
+ assert(0);
+
+ png_write_end(data->png_ptr, data->info_ptr);
diff --git a/community/mezogis/ChangeLog b/community/mezogis/ChangeLog
new file mode 100644
index 000000000..dba4cf7ec
--- /dev/null
+++ b/community/mezogis/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/mezogis/PKGBUILD b/community/mezogis/PKGBUILD
new file mode 100644
index 000000000..ec459f9fd
--- /dev/null
+++ b/community/mezogis/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 78274 2012-10-17 10:28:19Z allan $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=mezogis
+pkgver=0.1.5
+pkgrel=6
+pkgdesc="A GIS application to query and analyse spatial data"
+arch=('i686' 'x86_64')
+url="http://www.mezogis.org"
+license=('GPL')
+depends=('pygtk' 'python2-geotypes' 'postgis')
+source=("http://www.mezogis.org/files/mezogis-$pkgver.tar.gz")
+md5sums=('1f886b849109a1a1bd3e165353b82368')
+
+package() {
+ cd $srcdir/mezogis-$pkgver
+
+ # python2 fix
+ 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 install --root=$pkgdir
+}
diff --git a/community/mfs/PKGBUILD b/community/mfs/PKGBUILD
new file mode 100644
index 000000000..35be11dc7
--- /dev/null
+++ b/community/mfs/PKGBUILD
@@ -0,0 +1,129 @@
+# $Id: PKGBUILD 87206 2013-03-28 15:53:12Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Thomas S Hatch <thatch45@gmail.com>
+
+pkgbase=mfs
+pkgname=('mfs-master' 'mfs-chunkserver' 'mfs-client')
+pkgver=1.6.27_1
+pkgrel=1
+pkgdesc='MooseFS, fault tolerant, network distributed file system'
+url='http://www.moosefs.com/'
+arch=('x86_64' 'i686')
+license=('GPL3')
+depends=('zlib' 'fuse' 'python2' 'bash' 'xfsprogs')
+install="$pkgbase.install"
+options=('!libtool')
+source=("http://www.moosefs.org/tl_files/${pkgbase}code/$pkgbase-${pkgver/_/-}.tar.gz"
+ 'mfsmaster.service'
+ 'mfschunkserver.service'
+ 'mfsmetalogger.service'
+ 'mfscgiserv.service')
+sha256sums=('dfe682f0b184ed13e602274825148cd9a7ddfe4f0894e1ab9c1823f66208cb28'
+ 'b24fc4f699e7d11fcda00d83a1feb45aa0e6f4f448e675a1857edcf315427fe0'
+ '19262bde4dbefb1d3eba09ba7d507595aed9647328a0a7822bbc1915ae3201a7'
+ 'bf92e93be68308d53f649de84dc5bbb0fb433e33306b8d0c303be6c6c3e59a55'
+ '6725a732c6294ee8817be6c24e3811481bf05e97a0a64108908e2312d7687f1a')
+
+build() {
+ cd "$srcdir"
+
+ msg2 'Building client...'
+ cp -r "$pkgbase-${pkgver%_1}" "$pkgbase-client"
+ cd "$pkgbase-client"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc/mfs \
+ --localstatedir=/var/lib \
+ --disable-mfschunkserver \
+ --disable-mfsmaster \
+ --disable-mfscgi \
+ --disable-mfscgiserv
+ make
+ cd ..
+
+ msg2 'Building chunkserver...'
+ cp -r "$pkgbase-${pkgver%_1}" "$pkgbase-chunk"
+ cd "$pkgbase-chunk"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc/mfs \
+ --localstatedir=/var/lib \
+ --disable-mfsmaster \
+ --disable-mfsmount \
+ --disable-mfscgi \
+ --disable-mfscgiserv
+ make
+ cd ..
+
+ msg2 'Building master...'
+ cp -r "$pkgbase-${pkgver%_1}" "$pkgbase-master"
+ cd "$pkgbase-master"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc/mfs \
+ --localstatedir=/var/lib \
+ --disable-mfschunkserver \
+ --disable-mfsmount
+ make
+}
+
+package_mfs-client() {
+ depends=('zlib' 'fuse' 'bash')
+ cd "$srcdir/$pkgbase-client"
+
+ msg2 'Packaging client...'
+ make DESTDIR="$pkgdir" install
+
+ msg2 'Cleaning up...'
+ rm -rf "$pkgdir/usr/share/man/man7"
+ rmdir "$pkgdir/usr/share/man/man5"
+}
+
+package_mfs-chunkserver() {
+ depends=('zlib' 'bash')
+ cd "$srcdir/$pkgbase-chunk"
+
+ msg2 'Packaging chunkserver...'
+ make DESTDIR="$pkgdir" install
+
+ msg2 'Packaging Systemd service...'
+ install -Dm644 "$srcdir/mfschunkserver.service" \
+ "$pkgdir/usr/lib/systemd/system/mfschunkserver.service"
+
+ msg2 'Cleaning up...'
+ rm -rf "$pkgdir/usr/share/man/man7"
+ rmdir "$pkgdir/usr/share/man/man1"
+ mv "$pkgdir/usr/sbin" "$pkgdir/usr/bin"
+}
+
+package_mfs-master() {
+ depends=('zlib' 'python2')
+ cd "$srcdir/$pkgbase-master"
+
+ msg2 'Packaging master, metalogger and web interface...'
+ make DESTDIR="$pkgdir" install
+
+ msg2 'Packaging various text files...'
+ install -Dm644 README "$pkgdir/usr/share/doc/$pkgbase/README"
+ install -Dm644 INSTALL "$pkgdir/usr/share/doc/$pkgbase/INSTALL"
+ install -Dm644 NEWS "$pkgdir/usr/share/doc/$pkgbase/NEWS"
+ install -Dm644 UPGRADE "$pkgdir/usr/share/doc/$pkgbase/UPGRADE"
+
+ msg2 'Packaging Systemd services...'
+ for fn in master metalogger cgiserv; do
+ install -Dm644 "$srcdir/mfs$fn.service" \
+ "$pkgdir/usr/lib/systemd/system/mfs$fn.service"
+ done
+
+ msg2 'Python2 fix...'
+ sed -i '0,/on/s//on2/' \
+ "$pkgdir/usr/sbin/mfscgiserv" \
+ "$pkgdir/usr/share/mfscgi/chart.cgi" \
+ "$pkgdir/usr/share/mfscgi/mfs.cgi"
+
+ msg2 'Cleaning up...'
+ rmdir "$pkgdir/usr/share/man/man1"
+ mv "$pkgdir/usr/sbin" "$pkgdir/usr/bin"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mfs/mfs.install b/community/mfs/mfs.install
new file mode 100644
index 000000000..433595cb0
--- /dev/null
+++ b/community/mfs/mfs.install
@@ -0,0 +1,24 @@
+post_upgrade() {
+ # Moving the old configuration to the new location at /etc/mfs/
+ for fn in chunkserver hdd mount metalogger master exports topology; do
+ if [ -e /etc/mfs$fn.cfg -a ! -e /etc/mfs/mfs$fn.cfg ]; then
+ echo "Moving /etc/mfs$fn.cfg to /etc/mfs/mfs$fn.cfg"
+ mv /etc/mfs$fn.cfg /etc/mfs/mfs$fn.cfg
+ fi
+ done
+}
+
+post_install() {
+ post_upgrade
+ echo
+ echo 'For configuring MooseFS, the .cfg.dist files in /etc/mfs can'
+ echo 'be used as a basis for writing the corresponding .cfg files.'
+ echo
+ echo 'To troubleshoot a service, like "mfschunkserver", just running'
+ echo '"/usr/bin/mfschunkserver start" can be helpful.'
+ echo
+ echo 'Systemd is supported for starting services at boot.'
+ echo
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mfs/mfscgiserv.service b/community/mfs/mfscgiserv.service
new file mode 100644
index 000000000..09daf41b7
--- /dev/null
+++ b/community/mfs/mfscgiserv.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Distributed file system (web interface)
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/mfscgiserv
+ExecStop=/bin/kill -15 $MAINPID
+PIDFile=/run/mfs/mfscgiserv.pid
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mfs/mfschunkserver.service b/community/mfs/mfschunkserver.service
new file mode 100644
index 000000000..83ef11adc
--- /dev/null
+++ b/community/mfs/mfschunkserver.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Distributed file system (chunk server)
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/mfschunkserver start
+ExecStop=/usr/bin/mfschunkserver stop
+ExecReload=/usr/bin/mfschunkserver reload
+PIDFile=/run/mfs/mfschunkserver.pid
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mfs/mfsmaster.service b/community/mfs/mfsmaster.service
new file mode 100644
index 000000000..410774f9a
--- /dev/null
+++ b/community/mfs/mfsmaster.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Distributed file system (master)
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/mfsmaster start
+ExecStop=/usr/bin/mfsmaster stop
+PIDFile=/run/mfs/mfsmaster.pid
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mfs/mfsmetalogger.service b/community/mfs/mfsmetalogger.service
new file mode 100644
index 000000000..611afc532
--- /dev/null
+++ b/community/mfs/mfsmetalogger.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Distributed file system (meta logger)
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/mfsmetalogger start
+ExecStop=/usr/bin/mfsmetalogger stop
+PIDFile=/run/mfs/mfsmetalogger.pid
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mftrace/PKGBUILD b/community/mftrace/PKGBUILD
new file mode 100644
index 000000000..8d8d7ba9c
--- /dev/null
+++ b/community/mftrace/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 76923 2012-10-02 09:37:01Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: William Rea <sillywilly@gmail.com>
+
+pkgname=mftrace
+pkgver=1.2.18
+pkgrel=1
+pkgdesc="Traces TeX bitmap fonts into PFA, PFB, or TTF"
+arch=('i686' 'x86_64')
+url="http://lilypond.org/mftrace/"
+license=("GPL")
+depends=('python2' 'potrace' 't1utils')
+source=(http://lilypond.org/download/sources/mftrace/mftrace-$pkgver.tar.gz)
+md5sums=('7d660226b6f933a239b2413ac010fe0c')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/mg/PKGBUILD b/community/mg/PKGBUILD
new file mode 100644
index 000000000..be271595b
--- /dev/null
+++ b/community/mg/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 62917 2012-01-29 07:15:53Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Hannes Rist <hrist@phreeknet.org>
+
+pkgname=mg
+pkgver=20110905
+pkgrel=1
+pkgdesc="mg is Micro GNU/emacs, this is a portable version of the mg maintained by the OpenBSD team."
+arch=('i686' 'x86_64')
+url="http://homepage.boetes.org/software/mg/"
+depends=('ncurses')
+license=('custom')
+options=(!libtool)
+source=(http://homepage.boetes.org/software/mg/mg-$pkgver.tar.gz
+ README
+ cleanup.patch)
+md5sums=('2de35316fa8ebafe6003efaae70b723e'
+ '8cc5195ad4fabcf7c6782764f9617748'
+ 'e009afe0d249593f3436b2fea110f72e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ unset CFLAGS
+ patch -p1 <$srcdir/cleanup.patch
+ ./configure
+ make prefix=/usr
+
+ mkdir -p $pkgdir/usr/bin
+ make install INSTALL=/bin/install prefix=$pkgdir/usr
+
+ mkdir -p $pkgdir/usr/share/
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+ install -D -m0644 $srcdir/README $pkgdir/usr/share/licenses/$pkgname/README
+}
diff --git a/community/mg/README b/community/mg/README
new file mode 100644
index 000000000..cf2d78917
--- /dev/null
+++ b/community/mg/README
@@ -0,0 +1,74 @@
+[This is an edited version of the original mg README, updated slightly to
+reflect changes in the last 20 years.]
+
+
+Mg (mg) is a Public Domain EMACS style editor. It is "broadly"
+compatible with GNU Emacs, the latest creation of Richard M.
+Stallman, Chief GNUisance and inventor of Emacs. GNU Emacs (and other
+portions of GNU as they are released) are essentially free, (there are
+handling charges for obtaining it) and so is Mg. You may never have
+to learn another editor. (But probably will, at least long enough to
+port Mg...) Mg was formerly named MicroGnuEmacs, the name change was
+done at the request of Richard Stallman.
+
+Mg is not associated with the GNU project, and most of it does not
+have the copyright restrictions present in GNU Emacs. (However, some
+of the system dependent modules and the regular expression module do
+have copyright notices. Look at the source code for exact
+copyright restrictions.) The Mg authors individually may or may not
+agree with the opinions expressed by Richard Stallman in "The GNU
+Manifesto".
+
+This program is intended to be a small, fast, and portable editor for
+people who can't (or don't want to) run real Emacs for one reason
+or another. It is compatible with GNU because there shouldn't be
+any reason to learn more than one Emacs flavor.
+
+
+Beyond the work of Dave Conroy, author of the original public domain
+v30, the current version contains the work of:
+
+ blarson@ecla.usc.edu Bob Larson
+ mic@emx.utexas.edu Mic Kaczmarczik
+ mwm@violet.berkeley.edu Mike Meyer
+ sandra@cs.utah.edu Sandra Loosemore
+ mp1u+@andrew.cmu.edu Michael Portuesi
+ RCKG01M@CALSTATE.BITNET Stephen Walton
+ hakanson@mist.cs.orst.edu Marion Hakanson
+
+People who have worked on previous versions of Mg:
+
+ rtech!daveb@sun.com Dave Brower
+
+Currently maintained in the OpenBSD src tree, with contributions from
+many others.
+
+----------------------------------------------------------------------
+
+Known limitations:
+
+Recursive bindings may cause help and key rebinding code to go into
+an infinite loop, aborting with a stack overflow.
+
+Overwrite mode does not work in macros. (Characters are inserted
+rather than overwriting.)
+
+Dired mode has some problems: Rename does not update the buffer.
+Doing a dired again will update the buffer (whether it needs it or
+not) and will lose any marks for deletion. .. and . are not
+recognized as special cases.
+
+On systems with 16 bit integers, the kill buffer cannot exceed 32767
+bytes.
+
+
+
+New implementation oddities:
+
+insert and define-key are new commands corresponding to the mocklisp
+functions in Gnu Emacs. (Mg does not have non-command functions.)
+(Mg's insert will only insert one string.)
+
+The display wrap code does not work at all like that of GNU emacs.
+
+
diff --git a/community/mg/cleanup.patch b/community/mg/cleanup.patch
new file mode 100644
index 000000000..5a8e761cb
--- /dev/null
+++ b/community/mg/cleanup.patch
@@ -0,0 +1,163 @@
+Only in mg-20110120.my: autoexec.o
+Only in mg-20110120.my: basename.o
+Only in mg-20110120.my: basic.o
+Only in mg-20110120.my: buffer.o
+Only in mg-20110120.my: cinfo.o
+diff -wbBur mg-20110120/cmode.c mg-20110120.my/cmode.c
+--- mg-20110120/cmode.c 2011-01-20 07:36:13.000000000 +0300
++++ mg-20110120.my/cmode.c 2011-11-21 15:40:11.000000000 +0400
+@@ -158,7 +158,7 @@
+ cc_indent(int f, int n)
+ {
+ int pi, mi; /* Previous indents */
+- int ci, dci; /* current indent, don't care */
++ int ci; /* current indent, don't care */
+ struct line *lp;
+ int ret;
+
+@@ -181,7 +181,7 @@
+ /* Strip leading space on current line */
+ delleadwhite(FFRAND, 1);
+ /* current indent is computed only to current position */
+- dci = getindent(curwp->w_dotp, &ci);
++ getindent(curwp->w_dotp, &ci);
+
+ if (pi + ci < 0)
+ ret = indent(FFOTHARG, 0);
+@@ -217,7 +217,6 @@
+ {
+ int lo, co; /* leading space, current offset*/
+ int nicol = 0; /* position count */
+- int ccol = 0; /* current column */
+ int c = '\0'; /* current char */
+ int newind = 0; /* new index value */
+ int stringp = FALSE; /* in string? */
+@@ -226,7 +225,6 @@
+ int nparen = 0; /* paren count */
+ int obrace = 0; /* open brace count */
+ int cbrace = 0; /* close brace count */
+- int contp = FALSE; /* Continue? */
+ int firstnwsp = FALSE; /* First nonspace encountered? */
+ int colonp = FALSE; /* Did we see a colon? */
+ int questionp = FALSE; /* Did we see a question mark? */
+@@ -256,13 +254,11 @@
+ nicol = 0;
+
+ newind = 0;
+- ccol = nicol; /* current column */
+ /* Compute modifiers */
+ for (co = lo; co < llength(lp); co++) {
+ c = lgetc(lp, co);
+ /* We have a non-whitespace char */
+ if (!firstnwsp && !isspace(c)) {
+- contp = TRUE;
+ if (c == '#')
+ cppp = TRUE;
+ firstnwsp = TRUE;
+@@ -285,7 +281,6 @@
+ } else if (c == '{') {
+ obrace++;
+ firstnwsp = FALSE;
+- contp = FALSE;
+ } else if (c == '}') {
+ cbrace++;
+ } else if (c == '?') {
+@@ -294,9 +289,6 @@
+ /* ignore (foo ? bar : baz) construct */
+ if (!questionp)
+ colonp = TRUE;
+- } else if (c == ';') {
+- if (nparen > 0)
+- contp = FALSE;
+ } else if (c == '/') {
+ /* first nonwhitespace? -> indent */
+ if (firstnwsp) {
+Only in mg-20110120.my: cmode.o
+diff -wbBur mg-20110120/config.h mg-20110120.my/config.h
+--- mg-20110120/config.h 2011-01-20 07:37:40.000000000 +0300
++++ mg-20110120.my/config.h 2011-11-21 15:39:43.000000000 +0400
+@@ -7,4 +7,8 @@
+ #ifndef MAXLOGNAME
+ #define MAXLOGNAME LOGIN_NAME_MAX
+ #endif
+-#define HAVE_ARC4RANDOM
++#define HAVE_NOSTRTONUM
++#define HAVE_NOSTRLCPY
++#define HAVE_NOSTRLCAT
++#define HAVE_NOFGETLN
++#define GNU_LS
+Only in mg-20110120.my: config.log
+Only in mg-20110120.my: dired.o
+Only in mg-20110120.my: dirname.o
+Only in mg-20110120.my: dir.o
+Only in mg-20110120.my: display.o
+Only in mg-20110120.my: echo.o
+Only in mg-20110120.my: extend.o
+Only in mg-20110120.my: fgetln.o
+diff -wbBur mg-20110120/fileio.c mg-20110120.my/fileio.c
+--- mg-20110120/fileio.c 2008-12-30 19:04:23.000000000 +0300
++++ mg-20110120.my/fileio.c 2011-11-21 15:43:12.000000000 +0400
+@@ -121,10 +121,8 @@
+ * future writes will do the same thing.
+ */
+ if (bp && bp->b_fi.fi_mode) {
+- int ret;
+-
+ fchmod(fd, bp->b_fi.fi_mode & 07777);
+- ret = fchown(fd, bp->b_fi.fi_uid, bp->b_fi.fi_gid);
++ (void)fchown(fd, bp->b_fi.fi_uid, bp->b_fi.fi_gid);
+ }
+ return (FIOSUC);
+ }
+Only in mg-20110120.my: fileio.o
+Only in mg-20110120.my: file.o
+Only in mg-20110120.my: funmap.o
+Only in mg-20110120.my: grep.o
+Only in mg-20110120.my: help.o
+Only in mg-20110120.my: kbd.o
+Only in mg-20110120.my: keymap.o
+Only in mg-20110120.my: line.o
+Only in mg-20110120.my: macro.o
+Only in mg-20110120.my: main.o
+Only in mg-20110120.my: Makefile
+Only in mg-20110120.my: match.o
+Only in mg-20110120.my: mg
+Only in mg-20110120.my: modes.o
+Only in mg-20110120.my: paragraph.o
+Only in mg-20110120.my: random.o
+Only in mg-20110120.my: region.o
+Only in mg-20110120.my: re_search.o
+Only in mg-20110120.my: search.o
+Only in mg-20110120.my: spawn.o
+Only in mg-20110120.my: strlcat.o
+Only in mg-20110120.my: strlcpy.o
+Only in mg-20110120.my: strtonum.o
+Only in mg-20110120.my: theo.o
+Only in mg-20110120.my: ttyio.o
+Only in mg-20110120.my: ttykbd.o
+Only in mg-20110120.my: tty.o
+diff -wbBur mg-20110120/undo.c mg-20110120.my/undo.c
+--- mg-20110120/undo.c 2011-01-03 01:57:57.000000000 +0300
++++ mg-20110120.my/undo.c 2011-11-21 15:41:05.000000000 +0400
+@@ -464,14 +464,14 @@
+ struct undo_rec *ptr, *nptr;
+ int done, rval;
+ struct line *lp;
+- int offset, save, dot;
++ int offset, save;
+ static int nulled = FALSE;
+ int lineno;
+
+ if (n < 0)
+ return (FALSE);
+
+- dot = find_dot(curwp->w_dotp, curwp->w_doto);
++ find_dot(curwp->w_dotp, curwp->w_doto);
+
+ ptr = curbp->b_undoptr;
+
+Only in mg-20110120.my: undo.o
+Only in mg-20110120.my: version.o
+Only in mg-20110120.my: window.o
+Only in mg-20110120.my: word.o
+Only in mg-20110120.my: yank.o
diff --git a/community/midori/PKGBUILD b/community/midori/PKGBUILD
new file mode 100644
index 000000000..b763614f7
--- /dev/null
+++ b/community/midori/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 94215 2013-07-16 20:10:35Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: rabyte <rabyte.at.gmail.dot.com>
+# Contributor: Johannes Krampf <wuischke.at.amule.dot.org>
+# Contributor: Bartłomiej Piotrowski <barthalion@gmail.com>
+
+pkgname=midori
+pkgver=0.5.4
+pkgrel=1
+pkgdesc='Lightweight web browser based on Gtk WebKit'
+arch=('x86_64' 'i686')
+url='http://www.twotoasts.de/index.php?/pages/midori_summary.html'
+license=('LGPL2.1')
+install='midori.install'
+depends=('libzeitgeist' 'webkitgtk3' 'libnotify' 'libxss' 'hicolor-icon-theme' 'desktop-file-utils' 'libunique3' 'gcr') # 'granite'
+makedepends=('pkg-config' 'bzr' 'python2' 'libxml2' 'gtk3' 'intltool' 'python2-docutils' 'libsoup' 'vala' 'librsvg')
+optdepends=('gstreamer0.10-ugly-plugins: HTML5 videos support'
+ 'aria2: download utility')
+ #'steadyflow: download manager')
+options=('!emptydirs')
+source=("http://www.midori-browser.org/downloads/${pkgname}_${pkgver}_all_.tar.bz2")
+sha256sums=('d4ee77f3dd9bf2c07cea7674d533e77960e9346bd8b5482582ccb3cdaf182022')
+
+build() {
+ cd "$srcdir/${pkgname}_${pkgver}_all_"
+
+ python2 ./waf configure \
+ --prefix=/usr \
+ --enable-gtk3 \
+ --disable-granite \
+ --enable-webkit2
+ python2 ./waf build
+}
+
+package() {
+ cd "$srcdir/${pkgname}_${pkgver}_all_"
+
+ DESTDIR="$pkgdir" python2 ./waf install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/midori/midori.install b/community/midori/midori.install
new file mode 100644
index 000000000..e6af79c5f
--- /dev/null
+++ b/community/midori/midori.install
@@ -0,0 +1,14 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -f -q -t usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/milkytracker/PKGBUILD b/community/milkytracker/PKGBUILD
new file mode 100644
index 000000000..711a96e51
--- /dev/null
+++ b/community/milkytracker/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 88664 2013-04-21 13:23:51Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Christopher O'Neill <milkytracker@chrisoneill.co.uk>
+# Contributor: Maks Verver <maksverver@geocities.com>
+
+pkgname=milkytracker
+pkgver=0.90.85
+pkgrel=8
+pkgdesc='Fast Tracker II inspired music tracker'
+arch=('x86_64' 'i686')
+url="http://www.milkytracker.org/"
+license=('GPL3')
+depends=('sdl' 'alsa-lib' 'zlib' 'gcc-libs')
+makedepends=('jack-audio-connection-kit' 'gendesk')
+optdepends=('jack-audio-connection-kit: JACK audio support')
+options=('docs' '!strip')
+install="$pkgname.install"
+source=("http://milkytracker.org/files/$pkgname-$pkgver.tar.bz2"
+ "$pkgname.patch")
+sha256sums=('59a0d294d63752be74b157e07b0c70252c9198c312d9b1ad0ca460129fe5bd80'
+ '0b701bf97375343f13d1af8a30df052c85b526e527bf6402634c37c7e9fa5b42')
+_name=('MilkyTracker')
+_categories=('AudioVideo;Audio;AudioVideoEditing;')
+
+prepare() {
+ cd "$srcdir"
+
+ gendesk -n
+ patch -p0 -i "$pkgname.patch"
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --with-alsa --with-jack
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ mkdir -p "$pkgdir/usr/share/applications" \
+ "$pkgdir/usr/share/doc/milkytracker"
+ install -Dm644 resources/pictures/carton.png \
+ "$pkgdir/usr/share/pixmaps/milkytracker.png"
+ install -m644 "$srcdir/milkytracker.desktop" \
+ "$pkgdir/usr/share/applications"
+ install -m644 docs/ChangeLog.html "$pkgdir/usr/share/doc/milkytracker"
+ install -m644 docs/MilkyTracker.html "$pkgdir/usr/share/doc/milkytracker"
+ install -m644 docs/readme_unix "$pkgdir/usr/share/doc/milkytracker"
+ install -m644 docs/FAQ.html "$pkgdir/usr/share/doc/milkytracker"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/milkytracker/milkytracker.install b/community/milkytracker/milkytracker.install
new file mode 100644
index 000000000..f415655f7
--- /dev/null
+++ b/community/milkytracker/milkytracker.install
@@ -0,0 +1,16 @@
+post_upgrade() {
+ echo 'If you wish to use jack (or jack2), use this command the first time'
+ echo 'you start milkytracker: SDL_AUDIODRIVER=jack milkytracker'
+ echo 'Then select the jack driver in milkytracker and connect the audio'
+ echo 'with a program like qjackctl.'
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/milkytracker/milkytracker.patch b/community/milkytracker/milkytracker.patch
new file mode 100644
index 000000000..ee292a87c
--- /dev/null
+++ b/community/milkytracker/milkytracker.patch
@@ -0,0 +1,632 @@
+*** milkytracker-0.90.85/src/tracker/sdl/SDL_Main.cpp 2009-02-22 10:20:39.140388000 +0000
+--- milkytracker-trunk/src/tracker/sdl/SDL_Main.cpp 2010-01-03 18:11:52.541377210 +0000
+***************
+*** 751,758 ****
+ case SDLUserEventLMouseRepeat:
+ {
+ PPPoint p;
+! p.x = (pp_int32)event.data1;
+! p.y = (pp_int32)event.data2;
+ PPEvent myEvent(eLMouseRepeat, &p, sizeof(PPPoint));
+ RaiseEventSerialized(&myEvent);
+ break;
+--- 751,758 ----
+ case SDLUserEventLMouseRepeat:
+ {
+ PPPoint p;
+! p.x = reinterpret_cast<intptr_t> (event.data1);
+! p.y = reinterpret_cast<intptr_t> (event.data2);
+ PPEvent myEvent(eLMouseRepeat, &p, sizeof(PPPoint));
+ RaiseEventSerialized(&myEvent);
+ break;
+***************
+*** 761,768 ****
+ case SDLUserEventRMouseRepeat:
+ {
+ PPPoint p;
+! p.x = (pp_int32)event.data1;
+! p.y = (pp_int32)event.data2;
+ PPEvent myEvent(eRMouseRepeat, &p, sizeof(PPPoint));
+ RaiseEventSerialized(&myEvent);
+ break;
+--- 761,768 ----
+ case SDLUserEventRMouseRepeat:
+ {
+ PPPoint p;
+! p.x = reinterpret_cast<intptr_t> (event.data1);
+! p.y = reinterpret_cast<intptr_t> (event.data2);
+ PPEvent myEvent(eRMouseRepeat, &p, sizeof(PPPoint));
+ RaiseEventSerialized(&myEvent);
+ break;
+***************
+*** 770,777 ****
+
+ case SDLUserEventMidiKeyDown:
+ {
+! pp_int32 note = (pp_int32)event.data1;
+! pp_int32 volume = (pp_int32)event.data2;
+ globalMutex->lock();
+ myTracker->sendNoteDown(note, volume);
+ globalMutex->unlock();
+--- 770,777 ----
+
+ case SDLUserEventMidiKeyDown:
+ {
+! pp_int32 note = reinterpret_cast<intptr_t> (event.data1);
+! pp_int32 volume = reinterpret_cast<intptr_t> (event.data2);
+ globalMutex->lock();
+ myTracker->sendNoteDown(note, volume);
+ globalMutex->unlock();
+***************
+*** 780,786 ****
+
+ case SDLUserEventMidiKeyUp:
+ {
+! pp_int32 note = (pp_int32)event.data1;
+ globalMutex->lock();
+ myTracker->sendNoteUp(note);
+ globalMutex->unlock();
+--- 780,786 ----
+
+ case SDLUserEventMidiKeyUp:
+ {
+! pp_int32 note = reinterpret_cast<intptr_t> (event.data1);
+ globalMutex->lock();
+ myTracker->sendNoteUp(note);
+ globalMutex->unlock();
+diff -c -x .svn milkytracker-0.90.85/docs/FAQ.html milkytracker-trunk/docs/FAQ.html
+*** milkytracker-0.90.85/docs/FAQ.html 2010-01-01 23:00:57.183928000 +0000
+--- milkytracker-trunk/docs/FAQ.html 2010-01-05 10:34:37.212763931 +0000
+***************
+*** 49,65 ****
+ {
+ questions = document.getElementsByTagName('a');
+ answers = document.getElementsByTagName('ul');
+! for (i = 1; i <= questions.length; i++)
+ {
+! questions.item(i-1).id = "q"+i;
+! var question = questions.item(i-1).id;
+! document.getElementById(question).href="javascript:flip('a"+i+"')";
+ }
+! for (i = 1; i <= answers.length; i++)
+ {
+! answers.item(i-1).id = "a"+i;
+! var answer = answers.item(i-1).id;
+! document.getElementById(answer).style.display="none";
+ }
+ }
+ }
+--- 49,66 ----
+ {
+ questions = document.getElementsByTagName('a');
+ answers = document.getElementsByTagName('ul');
+! q = 0;
+! for (i = 0; i < questions.length; i++)
+ {
+! if(questions.item(i).href != "") continue;
+! questions.item(i).id = "q"+q;
+! questions.item(i).href="javascript:flip('a"+q+"')";
+! q++;
+ }
+! for (i = 0; i < answers.length; i++)
+ {
+! answers.item(i).id = "a"+i;
+! answers.item(i).style.display="none";
+ }
+ }
+ }
+***************
+*** 87,96 ****
+ <ol>
+
+ <li>
+! <a>Where can I find a list of all the effect codes?</a>
+ <ul>
+ <li>
+! Read the manual: <a href="milkytracker.html">milkytracker.html</a>
+ </li>
+ </ul>
+ </li>
+--- 88,97 ----
+ <ol>
+
+ <li>
+! <a id="question">Where can I find a list of all the effect codes?</a>
+ <ul>
+ <li>
+! Read the manual: <a href="MilkyTracker.html">milkytracker.html</a>
+ </li>
+ </ul>
+ </li>
+***************
+*** 99,105 ****
+ <a>Where can I find a list of all the keyboard shortcuts?</a>
+ <ul>
+ <li>
+! Read the manual: <a href="milkytracker.html">milkytracker.html</a>
+ </li>
+ </ul>
+
+--- 100,106 ----
+ <a>Where can I find a list of all the keyboard shortcuts?</a>
+ <ul>
+ <li>
+! Read the manual: <a href="MilkyTracker.html">milkytracker.html</a>
+ </li>
+ </ul>
+
+diff -c -x .svn milkytracker-0.90.85/docs/MilkyTracker.html milkytracker-trunk/docs/MilkyTracker.html
+*** milkytracker-0.90.85/docs/MilkyTracker.html 2010-01-01 23:00:57.183928000 +0000
+--- milkytracker-trunk/docs/MilkyTracker.html 2010-01-05 10:34:37.212763931 +0000
+***************
+*** 183,189 ****
+ <body>
+ <h1>MilkyTracker Manual <span id="version" style="font-size: 10pt; font-weight: normal;">v0.90.85</span></h1>
+ <p>
+! Hello and welcome to MilkyTracker, an open source multi-platform Fasttracker II compatible music tracker program. This document holds a lot of valuable information about the tracker but it's not a tracking manual. If you want to learn more about tracking and how it's done, the Internet is your friend. We host some resources on <a href="http://www.milkytracker.net/">MilkyTracker.net</a> as well.
+ </p>
+ <h4>Disclaimer:</h4>
+ <p>
+--- 183,189 ----
+ <body>
+ <h1>MilkyTracker Manual <span id="version" style="font-size: 10pt; font-weight: normal;">v0.90.85</span></h1>
+ <p>
+! Hello and welcome to MilkyTracker, an open source multi-platform Fasttracker II compatible music tracker program. This document holds a lot of valuable information about the tracker but it's not a tracking manual. If you want to learn more about tracking and how it's done, the Internet is your friend. We host some resources on <a href="http://www.milkytracker.org/">MilkyTracker.net</a> as well.
+ </p>
+ <h4>Disclaimer:</h4>
+ <p>
+***************
+*** 3111,3122 ****
+ and everybody who donated or dropped a letter.
+ </p>
+ <p>
+! Special greetings to everyone at <a href="http://www.milkytracker.net/?community">#MilkyTracker</a> for making it a daily active channel.
+ </p>
+
+ <h2><a id="contact">10. Contact</a></h2>
+ <p>
+! You can contact the MilkyTracker team by email (<span class="email">ten.rekcartyklim@troppus</span>), through the forum at <a href="http://www.milkytracker.net/?community">http://www.milkytracker.net/?community</a> or in IRC. To chat with the community live, you can connect to #MilkyTracker on <a href="http://www.esper.net/">EsperNet</a> with your IRC client or use the java client on our website.
+ </p>
+
+
+--- 3111,3122 ----
+ and everybody who donated or dropped a letter.
+ </p>
+ <p>
+! Special greetings to everyone at <a href="http://www.milkytracker.org/?community">#MilkyTracker</a> for making it a daily active channel.
+ </p>
+
+ <h2><a id="contact">10. Contact</a></h2>
+ <p>
+! You can contact the MilkyTracker team by email (<span class="email">ten.rekcartyklim@troppus</span>), through the forum at <a href="http://www.milkytracker.org/?community">http://www.milkytracker.org/?community</a> or in IRC. To chat with the community live, you can connect to #MilkyTracker on <a href="http://www.esper.net/">EsperNet</a> with your IRC client or use the java client on our website.
+ </p>
+
+
+Only in milkytracker-0.90.85/docs/: MilkyTracker.rtf
+--- milkytracker-0.90.85/src/compression/DecompressorGZIP.cpp 2012-08-28 17:54:46.000000000 +0200
++++ milkytracker-trunk/src/compression/DecompressorGZIP.cpp 2012-08-28 17:55:21.000000000 +0200
+@@ -57,11 +57,11 @@
+
+ bool DecompressorGZIP::decompress(const PPSystemString& outFileName, Hints hint)
+ {
+- gzFile *gz_input_file = NULL;
++ gzFile gz_input_file = NULL;
+ int len = 0;
+ pp_uint8 *buf;
+
+- if ((gz_input_file = (void **)gzopen (fileName.getStrBuffer(), "r")) == NULL)
++ if ((gz_input_file = gzopen (fileName.getStrBuffer(), "r")) == NULL)
+ return false;
+
+ if ((buf = new pp_uint8[0x10000]) == NULL)
+diff -cx .svn milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp
+*** milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp 2009-03-28 11:19:41.392162000 +0000
+--- milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp 2010-01-03 18:48:15.616918068 +0000
+***************
+*** 102,124 ****
+ // Each function has to be cast.. surely there must be an easier way?
+ dlerror();
+ jack_port_get_buffer = (void* (*)(jack_port_t*, jack_nframes_t))
+! dlsym(libJack, "jack_port_get_buffer");
+ jack_client_new = (jack_client_t* (*)(const char*))
+! dlsym(libJack, "jack_client_new");
+ jack_port_register = (jack_port_t* (*)(jack_client_t*, const char*, const char*, long unsigned int, long unsigned int))
+! dlsym(libJack, "jack_port_register");
+ jack_set_process_callback = (int (*)(jack_client_t*, int (*)(jack_nframes_t, void*), void*))
+! dlsym(libJack, "jack_set_process_callback");
+ jack_get_buffer_size = (jack_nframes_t (*)(jack_client_t*))
+! dlsym(libJack, "jack_get_buffer_size");
+ jack_deactivate = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_deactivate");
+ jack_client_close = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_client_close");
+ jack_activate = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_activate");
+ jack_get_sample_rate = (jack_nframes_t (*)(jack_client_t *))
+! dlsym(libJack, "jack_get_sample_rate");
+ if(dlerror()) {
+ fprintf(stderr, "JACK: An error occured whilst loading symbols, aborting.\n");
+ return -1;
+--- 102,130 ----
+ // Each function has to be cast.. surely there must be an easier way?
+ dlerror();
+ jack_port_get_buffer = (void* (*)(jack_port_t*, jack_nframes_t))
+! dlsym(libJack, "jack_port_get_buffer");
+ jack_client_new = (jack_client_t* (*)(const char*))
+! dlsym(libJack, "jack_client_new");
+ jack_port_register = (jack_port_t* (*)(jack_client_t*, const char*, const char*, long unsigned int, long unsigned int))
+! dlsym(libJack, "jack_port_register");
+ jack_set_process_callback = (int (*)(jack_client_t*, int (*)(jack_nframes_t, void*), void*))
+! dlsym(libJack, "jack_set_process_callback");
+ jack_get_buffer_size = (jack_nframes_t (*)(jack_client_t*))
+! dlsym(libJack, "jack_get_buffer_size");
+ jack_deactivate = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_deactivate");
+ jack_client_close = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_client_close");
+ jack_activate = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_activate");
+ jack_get_sample_rate = (jack_nframes_t (*)(jack_client_t *))
+! dlsym(libJack, "jack_get_sample_rate");
+! jack_get_ports = (const char** (*)(jack_client_t *, const char *, const char *, unsigned long))
+! dlsym(libJack, "jack_get_ports");
+! jack_connect = (int (*)(jack_client_t *, const char *source_port, const char *destination_port))
+! dlsym(libJack, "jack_connect");
+! jack_port_name = (const char* (*)(const jack_port_t *))
+! dlsym(libJack, "jack_port_name");
+ if(dlerror()) {
+ fprintf(stderr, "JACK: An error occured whilst loading symbols, aborting.\n");
+ return -1;
+***************
+*** 179,184 ****
+--- 185,196 ----
+
+ mp_sint32 AudioDriver_JACK::start()
+ {
++ jack_get_ports = (const char** (*)(jack_client_t *, const char *, const char *, unsigned long))
++ dlsym(libJack, "jack_get_ports");
++ jack_connect = (int (*)(jack_client_t *, const char *source_port, const char *destination_port))
++ dlsym(libJack, "jack_connect");
++ jack_port_name = (const char* (*)(const jack_port_t *))
++ dlsym(libJack, "jack_port_name");
+ jack_activate(hJack);
+ deviceHasStarted = true;
+ return 0;
+diff -cx .svn milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.h milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.h
+*** milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.h 2009-03-28 11:19:41.392162000 +0000
+--- milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.h 2010-01-03 18:38:35.835648568 +0000
+***************
+*** 57,74 ****
+ jack_client_t *(*jack_client_new) (const char *client_name);
+ int (*jack_client_close) (jack_client_t *client);
+ int (*jack_set_process_callback) (jack_client_t *client,
+! JackProcessCallback process_callback,
+! void *arg);
+ int (*jack_activate) (jack_client_t *client);
+ int (*jack_deactivate) (jack_client_t *client);
+ jack_port_t *(*jack_port_register) (jack_client_t *client,
+! const char *port_name,
+! const char *port_type,
+! unsigned long flags,
+! unsigned long buffer_size);
+ void *(*jack_port_get_buffer) (jack_port_t *, jack_nframes_t);
+ jack_nframes_t (*jack_get_buffer_size) (jack_client_t *);
+ jack_nframes_t (*jack_get_sample_rate) (jack_client_t *);
+
+ public:
+ AudioDriver_JACK();
+--- 57,83 ----
+ jack_client_t *(*jack_client_new) (const char *client_name);
+ int (*jack_client_close) (jack_client_t *client);
+ int (*jack_set_process_callback) (jack_client_t *client,
+! JackProcessCallback process_callback,
+! void *arg);
+ int (*jack_activate) (jack_client_t *client);
+ int (*jack_deactivate) (jack_client_t *client);
+ jack_port_t *(*jack_port_register) (jack_client_t *client,
+! const char *port_name,
+! const char *port_type,
+! unsigned long flags,
+! unsigned long buffer_size);
+ void *(*jack_port_get_buffer) (jack_port_t *, jack_nframes_t);
+ jack_nframes_t (*jack_get_buffer_size) (jack_client_t *);
+ jack_nframes_t (*jack_get_sample_rate) (jack_client_t *);
++ const char ** (*jack_get_ports) (jack_client_t *,
++ const char *port_name_pattern,
++ const char *type_name_pattern,
++ unsigned long flags);
++ int (*jack_connect) (jack_client_t *,
++ const char *source_port,
++ const char *destination_port);
++ const char* (*jack_port_name) (const jack_port_t *);
++
+
+ public:
+ AudioDriver_JACK();
+*** milkytracker-0.90.85/configure.in 2009-09-17 20:35:47.231496000 +0100
+--- milkytracker-trunk/configure.in 2010-01-05 10:03:17.292774154 +0000
+***************
+*** 43,49 ****
+
+ AC_SEARCH_LIBS(gzopen, z, AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the 'libz' library.]),)
+ #AC_CHECK_LIB(zzip, zzip_file_open,,AC_MSG_ERROR("Cannot find -lzzip"))
+! PKG_CHECK_MODULES([ZZIP],[zziplib >= 0.10.75])
+
+ SDL_VERSION=1.2.0
+ AM_PATH_SDL($SDL_VERSION,, AC_MSG_ERROR([Please install libSDL]))
+--- 43,49 ----
+
+ AC_SEARCH_LIBS(gzopen, z, AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the 'libz' library.]),)
+ #AC_CHECK_LIB(zzip, zzip_file_open,,AC_MSG_ERROR("Cannot find -lzzip"))
+! #PKG_CHECK_MODULES([ZZIP],[zziplib >= 0.10.75])
+
+ SDL_VERSION=1.2.0
+ AM_PATH_SDL($SDL_VERSION,, AC_MSG_ERROR([Please install libSDL]))
+*** milkytracker-0.90.85/configure 2010-01-02 00:03:37.602601121 +0000
+--- milkytracker-trunk/configure 2010-01-05 10:03:38.372781464 +0000
+***************
+*** 599,607 ****
+ SDL_LIBS
+ SDL_CFLAGS
+ SDL_CONFIG
+- ZZIP_LIBS
+- ZZIP_CFLAGS
+- PKG_CONFIG
+ ALSA_LIBS
+ ALSA_CFLAGS
+ RTMIDI_DIR
+--- 599,604 ----
+***************
+*** 717,726 ****
+ CCC
+ CC
+ CFLAGS
+! CPP
+! PKG_CONFIG
+! ZZIP_CFLAGS
+! ZZIP_LIBS'
+
+
+ # Initialize some variables set by options.
+--- 714,720 ----
+ CCC
+ CC
+ CFLAGS
+! CPP'
+
+
+ # Initialize some variables set by options.
+***************
+*** 1363,1371 ****
+ CC C compiler command
+ CFLAGS C compiler flags
+ CPP C preprocessor
+- PKG_CONFIG path to pkg-config utility
+- ZZIP_CFLAGS C compiler flags for ZZIP, overriding pkg-config
+- ZZIP_LIBS linker flags for ZZIP, overriding pkg-config
+
+ Use these variables to override the choices made by `configure' or to help
+ it to find libraries and programs with nonstandard names/locations.
+--- 1357,1362 ----
+***************
+*** 5313,5524 ****
+ fi
+
+ #AC_CHECK_LIB(zzip, zzip_file_open,,AC_MSG_ERROR("Cannot find -lzzip"))
+!
+!
+! if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+! if test -n "$ac_tool_prefix"; then
+! # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+! set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+! $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+! $as_echo_n "(cached) " >&6
+! else
+! case $PKG_CONFIG in
+! [\\/]* | ?:[\\/]*)
+! ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+! ;;
+! *)
+! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+! for as_dir in $PATH
+! do
+! IFS=$as_save_IFS
+! test -z "$as_dir" && as_dir=.
+! for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+! ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+! $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+! break 2
+! fi
+! done
+! done
+! IFS=$as_save_IFS
+!
+! ;;
+! esac
+! fi
+! PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+! if test -n "$PKG_CONFIG"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+! $as_echo "$PKG_CONFIG" >&6; }
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }
+! fi
+!
+!
+! fi
+! if test -z "$ac_cv_path_PKG_CONFIG"; then
+! ac_pt_PKG_CONFIG=$PKG_CONFIG
+! # Extract the first word of "pkg-config", so it can be a program name with args.
+! set dummy pkg-config; ac_word=$2
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+! $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
+! $as_echo_n "(cached) " >&6
+! else
+! case $ac_pt_PKG_CONFIG in
+! [\\/]* | ?:[\\/]*)
+! ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+! ;;
+! *)
+! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+! for as_dir in $PATH
+! do
+! IFS=$as_save_IFS
+! test -z "$as_dir" && as_dir=.
+! for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+! ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+! $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+! break 2
+! fi
+! done
+! done
+! IFS=$as_save_IFS
+!
+! ;;
+! esac
+! fi
+! ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+! if test -n "$ac_pt_PKG_CONFIG"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+! $as_echo "$ac_pt_PKG_CONFIG" >&6; }
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }
+! fi
+!
+! if test "x$ac_pt_PKG_CONFIG" = x; then
+! PKG_CONFIG=""
+! else
+! case $cross_compiling:$ac_tool_warned in
+! yes:)
+! { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+! $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+! ac_tool_warned=yes ;;
+! esac
+! PKG_CONFIG=$ac_pt_PKG_CONFIG
+! fi
+! else
+! PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+! fi
+!
+! fi
+! if test -n "$PKG_CONFIG"; then
+! _pkg_min_version=0.9.0
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+! $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+! if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+! $as_echo "yes" >&6; }
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }
+! PKG_CONFIG=""
+! fi
+!
+! fi
+!
+! pkg_failed=no
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZZIP" >&5
+! $as_echo_n "checking for ZZIP... " >&6; }
+!
+! if test -n "$PKG_CONFIG"; then
+! if test -n "$ZZIP_CFLAGS"; then
+! pkg_cv_ZZIP_CFLAGS="$ZZIP_CFLAGS"
+! else
+! if test -n "$PKG_CONFIG" && \
+! { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zziplib >= 0.10.75\""; } >&5
+! ($PKG_CONFIG --exists --print-errors "zziplib >= 0.10.75") 2>&5
+! ac_status=$?
+! $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+! test $ac_status = 0; }; then
+! pkg_cv_ZZIP_CFLAGS=`$PKG_CONFIG --cflags "zziplib >= 0.10.75" 2>/dev/null`
+! else
+! pkg_failed=yes
+! fi
+! fi
+! else
+! pkg_failed=untried
+! fi
+! if test -n "$PKG_CONFIG"; then
+! if test -n "$ZZIP_LIBS"; then
+! pkg_cv_ZZIP_LIBS="$ZZIP_LIBS"
+! else
+! if test -n "$PKG_CONFIG" && \
+! { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zziplib >= 0.10.75\""; } >&5
+! ($PKG_CONFIG --exists --print-errors "zziplib >= 0.10.75") 2>&5
+! ac_status=$?
+! $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+! test $ac_status = 0; }; then
+! pkg_cv_ZZIP_LIBS=`$PKG_CONFIG --libs "zziplib >= 0.10.75" 2>/dev/null`
+! else
+! pkg_failed=yes
+! fi
+! fi
+! else
+! pkg_failed=untried
+! fi
+!
+!
+!
+! if test $pkg_failed = yes; then
+!
+! if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+! _pkg_short_errors_supported=yes
+! else
+! _pkg_short_errors_supported=no
+! fi
+! if test $_pkg_short_errors_supported = yes; then
+! ZZIP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "zziplib >= 0.10.75"`
+! else
+! ZZIP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "zziplib >= 0.10.75"`
+! fi
+! # Put the nasty error message in config.log where it belongs
+! echo "$ZZIP_PKG_ERRORS" >&5
+!
+! as_fn_error "Package requirements (zziplib >= 0.10.75) were not met:
+!
+! $ZZIP_PKG_ERRORS
+!
+! Consider adjusting the PKG_CONFIG_PATH environment variable if you
+! installed software in a non-standard prefix.
+!
+! Alternatively, you may set the environment variables ZZIP_CFLAGS
+! and ZZIP_LIBS to avoid the need to call pkg-config.
+! See the pkg-config man page for more details.
+! " "$LINENO" 5
+! elif test $pkg_failed = untried; then
+! { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+! $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error "The pkg-config script could not be found or is too old. Make sure it
+! is in your PATH or set the PKG_CONFIG environment variable to the full
+! path to pkg-config.
+!
+! Alternatively, you may set the environment variables ZZIP_CFLAGS
+! and ZZIP_LIBS to avoid the need to call pkg-config.
+! See the pkg-config man page for more details.
+!
+! To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+! See \`config.log' for more details." "$LINENO" 5; }
+! else
+! ZZIP_CFLAGS=$pkg_cv_ZZIP_CFLAGS
+! ZZIP_LIBS=$pkg_cv_ZZIP_LIBS
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+! $as_echo "yes" >&6; }
+! :
+! fi
+
+ SDL_VERSION=1.2.0
+
+--- 5304,5310 ----
+ fi
+
+ #AC_CHECK_LIB(zzip, zzip_file_open,,AC_MSG_ERROR("Cannot find -lzzip"))
+! #PKG_CHECK_MODULES([ZZIP],[zziplib >= 0.10.75])
+
+ SDL_VERSION=1.2.0
+
diff --git a/community/mimetex/PKGBUILD b/community/mimetex/PKGBUILD
new file mode 100644
index 000000000..234f2e4c4
--- /dev/null
+++ b/community/mimetex/PKGBUILD
@@ -0,0 +1,19 @@
+# $Id: PKGBUILD 66237 2012-02-23 05:11:06Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=mimetex
+pkgver=1.70
+pkgrel=3
+pkgdesc="tex to gif converter"
+arch=(i686 x86_64)
+url="http://www.forkosh.com/mimetex.html"
+license=('GPL')
+depends=()
+source=(ftp://ftp.archlinux.org/other/community/mimetex/mimetex.zip)
+md5sums=('c73b1dde70526edb137daaf72189024b')
+
+build() {
+ cd $srcdir
+ gcc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
+ install -D -m0755 mimetex.cgi $pkgdir/usr/bin/mimetex.cgi
+}
diff --git a/community/minbif/PKGBUILD b/community/minbif/PKGBUILD
new file mode 100644
index 000000000..ebc095a12
--- /dev/null
+++ b/community/minbif/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 90561 2013-05-13 08:02:43Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: AkiraYB <brunoyb!yahoo,com,br>
+
+pkgname=minbif
+pkgver=1.0.5
+pkgrel=3
+pkgdesc='An IRC gateway to IM networks that uses libpurple.'
+arch=('i686' 'x86_64')
+url='http://minbif.im/'
+license=('GPL2')
+depends=('gnutls' 'libcaca' 'libpurple')
+makedepends=('cmake')
+optdepends=('xinetd: to run minbif through xinetd')
+backup=('etc/minbif/minbif.conf'
+ 'etc/minbif/minbif.motd')
+install='minbif.install'
+source=("http://minbif.im/attachments/download/148/${pkgname}-${pkgver}.tar.gz"
+ 'minbif-gcc-4.7.patch'
+ 'minbif.service'
+ 'minbif.tmpfiles.conf')
+md5sums=('00c5c1abbe2b8a9d900961832c7909a8'
+ '2235c45d5bdb01e9ef4b11d2a41d49bb'
+ 'b34876e339a37dfb1dc6cd0b9d8edf9d'
+ '3360f5d1bf9bc69fd9b7c9326f321dc3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # build fixes
+ patch -p1 -i ../minbif-gcc-4.7.patch
+
+ make PREFIX=/usr CONF_PREFIX=/etc/minbif ENABLE_MINBIF=ON ENABLE_IMLIB=ON ENABLE_CACA=ON \
+ ENABLE_VIDEO=OFF ENABLE_PLUGIN=OFF ENABLE_PAM=ON ENABLE_TLS=ON DEBUG=OFF
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ install -dm0755 "${pkgdir}/var/lib"
+ install -dm0770 -o67 -g67 "${pkgdir}/var/lib/minbif"
+ install -dm0770 -o67 -g67 "${pkgdir}/var/lib/minbif/users"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm0644 "${srcdir}/minbif.service" "${pkgdir}/usr/lib/systemd/system/minbif.service"
+ install -Dm0644 "${srcdir}/minbif.tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/minbif.conf"
+}
diff --git a/community/minbif/minbif-gcc-4.7.patch b/community/minbif/minbif-gcc-4.7.patch
new file mode 100644
index 000000000..b6aceb57a
--- /dev/null
+++ b/community/minbif/minbif-gcc-4.7.patch
@@ -0,0 +1,98 @@
+diff --git a/src/im/account.cpp b/src/im/account.cpp
+index f155334..21baa5f 100644
+--- a/src/im/account.cpp
++++ b/src/im/account.cpp
+@@ -18,6 +18,7 @@
+
+ #include <cassert>
+ #include <cstring>
++#include <unistd.h>
+ #ifdef HAVE_IMLIB
+ #include <Imlib2.h>
+ #endif /* HAVE_IMLIB */
+diff --git a/src/im/request.cpp b/src/im/request.cpp
+index e72cbc9..a247e3b 100644
+--- a/src/im/request.cpp
++++ b/src/im/request.cpp
+@@ -18,6 +18,7 @@
+
+ #include <errno.h>
+ #include <string.h>
++#include <unistd.h>
+
+ #include "request.h"
+ #include "buddy.h"
+diff --git a/src/irc/dcc.cpp b/src/irc/dcc.cpp
+index 6d05034..231122c 100644
+--- a/src/irc/dcc.cpp
++++ b/src/irc/dcc.cpp
+@@ -23,6 +23,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
++#include <unistd.h>
+
+ #include "dcc.h"
+ #include "nick.h"
+diff --git a/src/irc/irc.cpp b/src/irc/irc.cpp
+index 5d28acb..116d9db 100644
+--- a/src/irc/irc.cpp
++++ b/src/irc/irc.cpp
+@@ -246,7 +246,7 @@ Nick* IRC::getNick(string nickname, bool case_sensitive) const
+ Buddy* IRC::getNick(const im::Buddy& buddy) const
+ {
+ map<string, Nick*>::const_iterator it;
+- Buddy* nb;
++ Buddy* nb = NULL;
+ for(it = users.begin();
+ it != users.end() && (!(nb = dynamic_cast<Buddy*>(it->second)) || nb->getBuddy() != buddy);
+ ++it)
+@@ -261,7 +261,7 @@ Buddy* IRC::getNick(const im::Buddy& buddy) const
+ ConvNick* IRC::getNick(const im::Conversation& conv) const
+ {
+ map<string, Nick*>::const_iterator it;
+- ConvNick* n;
++ ConvNick* n = NULL;
+ for(it = users.begin();
+ it != users.end() && (!(n = dynamic_cast<ConvNick*>(it->second)) || n->getConversation() != conv);
+ ++it)
+diff --git a/src/server_poll/daemon_fork.cpp b/src/server_poll/daemon_fork.cpp
+index 53606a0..e205a61 100644
+--- a/src/server_poll/daemon_fork.cpp
++++ b/src/server_poll/daemon_fork.cpp
+@@ -20,7 +20,7 @@
+ #include <cassert>
+ #include <cstring>
+ #include <cerrno>
+-#include <glib/gmain.h>
++#include <glib.h>
+ #include <sys/socket.h>
+ #include <sys/stat.h>
+ #include <arpa/inet.h>
+diff --git a/src/server_poll/inetd.cpp b/src/server_poll/inetd.cpp
+index 291c40f..f747e74 100644
+--- a/src/server_poll/inetd.cpp
++++ b/src/server_poll/inetd.cpp
+@@ -17,7 +17,8 @@
+ */
+
+ #include <cassert>
+-#include <glib/gmain.h>
++#include <glib.h>
++#include <unistd.h>
+
+ #include "inetd.h"
+ #include "irc/irc.h"
+diff --git a/src/sockwrap/sockwrap.cpp b/src/sockwrap/sockwrap.cpp
+index f10755c..478c616 100644
+--- a/src/sockwrap/sockwrap.cpp
++++ b/src/sockwrap/sockwrap.cpp
+@@ -16,6 +16,8 @@
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
++#include <unistd.h>
++
+ #include "sockwrap.h"
+ #include "sockwrap_plain.h"
+ #ifdef HAVE_TLS
diff --git a/community/minbif/minbif.install b/community/minbif/minbif.install
new file mode 100644
index 000000000..264763407
--- /dev/null
+++ b/community/minbif/minbif.install
@@ -0,0 +1,18 @@
+post_install() {
+ grep -qs ^minbif: /etc/group || groupadd -g 67 minbif
+ grep -qs ^minbif: /etc/passwd || useradd -u 67 -g minbif \
+ -d /var/lib/minbif -s /bin/false minbif
+
+ chown -R minbif:minbif /var/lib/minbif
+ chmod 0770 /var/lib/minbif
+ chmod 0770 /var/lib/minbif/users
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ grep -qs ^minbif: /etc/passwd && userdel minbif
+ grep -qs ^minbif: /etc/group && groupdel minbif
+}
diff --git a/community/minbif/minbif.service b/community/minbif/minbif.service
new file mode 100644
index 000000000..89ab2d4ca
--- /dev/null
+++ b/community/minbif/minbif.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=minbif daemon
+
+[Service]
+Type=forking
+PIDFile=/run/minbif/minbif.pid
+User=minbif
+ExecStart=/usr/bin/minbif --pidfile /run/minbif/minbif.pid /etc/minbif/minbif.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/minbif/minbif.tmpfiles.conf b/community/minbif/minbif.tmpfiles.conf
new file mode 100644
index 000000000..bf46cc25c
--- /dev/null
+++ b/community/minbif/minbif.tmpfiles.conf
@@ -0,0 +1 @@
+d /run/minbif - minbif minbif -
diff --git a/community/minetest/PKGBUILD b/community/minetest/PKGBUILD
new file mode 100644
index 000000000..a4673ea18
--- /dev/null
+++ b/community/minetest/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92558 2013-06-08 12:13:58Z lcarlier $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Konsta Kokkinen <kray@tsundere.fi>
+
+pkgname=minetest
+pkgver=0.4.7
+pkgrel=1
+pkgdesc='An Infiniminer/Minecraft inspired game'
+arch=('i686' 'x86_64')
+url='http://minetest.net/'
+license=('GPL')
+depends=('sqlite' 'libgl' 'libxxf86vm' 'openal' 'libvorbis' 'curl' 'hicolor-icon-theme')
+makedepends=('cmake' 'irrlicht' 'mesa')
+install=minetest.install
+source=(${pkgname}-${pkgver}.tar.gz::https://github.com/minetest/${pkgname}/tarball/${pkgver}
+ ${pkgname}_game-${pkgver}.tar.gz::https://github.com/minetest/${pkgname}_game/tarball/${pkgver})
+md5sums=('232b87ef5c4300ddad7bc883f8f1a1c5'
+ '30a9965667470ebc785979de665d4df4')
+
+build() {
+ cd "$srcdir"/minetest-minetest-*
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "$srcdir"/minetest-minetest-*
+
+ make DESTDIR="$pkgdir" install
+
+ mv -v "$srcdir"/minetest-minetest_game-* "$pkgdir"/usr/share/minetest/games/minetest
+
+ # small cleanup
+ rm "$pkgdir"/usr/share/minetest/games/minetest/.gitignore
+}
diff --git a/community/minetest/minetest.install b/community/minetest/minetest.install
new file mode 100644
index 000000000..85b22a1c5
--- /dev/null
+++ b/community/minetest/minetest.install
@@ -0,0 +1,17 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor > /dev/null 2>&1
+ update-desktop-database > /dev/null 2>&1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ update-desktop-database > /dev/null 2>&1
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor > /dev/null 2>&1
+ update-desktop-database > /dev/null 2>&1
+}
diff --git a/community/ming/PKGBUILD b/community/ming/PKGBUILD
new file mode 100644
index 000000000..423865a86
--- /dev/null
+++ b/community/ming/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Connor Behan <connor.behan@gmail.com>
+# Contributor: mar77i <mysatyre at gmail dot com>
+
+pkgname=ming
+pkgver=0.4.4
+pkgrel=2
+pkgdesc="SWF output library"
+arch=('i686' 'x86_64')
+url="http://www.libming.net/"
+license=('GPL' 'LGPL')
+depends=('freetype2' 'libpng' 'flex')
+makedepends=('bison' 'pkg-config' 'python2')
+options=('!libtool' '!emptydirs')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('9e780f93670eaf68b1eefa6cdfc1d1e2')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver/
+ sed -i -e 's/ifndef HAVE_VASPRINTF/ifdef HAVE_VASPRINTF/' util/decompile.c util/makeswf.c
+ LDFLAGS="${LDFLAGS/ -Wl,--as-needed/}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --enable-python
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver/
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/mingw32-binutils/PKGBUILD b/community/mingw32-binutils/PKGBUILD
new file mode 100644
index 000000000..1b462e15f
--- /dev/null
+++ b/community/mingw32-binutils/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 83337 2013-01-29 19:58:19Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Ondrej Jirman <megous@megous.com>
+# Contributor: mosra <mosra@centrum.cz>
+
+pkgname=mingw32-binutils
+pkgver=2.23.1
+pkgrel=3
+_uprel=1
+arch=(i686 x86_64)
+url="https://sourceforge.net/projects/mingw/files/MinGW/Base/binutils/"
+pkgdesc="A set of programs to assemble and manipulate binary and object files (mingw)"
+depends=('glibc' 'zlib')
+license=(GPL)
+source=("https://downloads.sourceforge.net/project/mingw/MinGW/Base/binutils/binutils-$pkgver/binutils-$pkgver-${_uprel}-mingw32-src.tar.lzma"
+ "260cd952.patch::http://sourceware.org/git/?p=binutils.git;a=patch;h=260cd95271cdf002ed8e419898fd29c42e257841")
+md5sums=('5d76604f545b151230d1c86e1b8cfab3'
+ '9226501a8258a12c81956252ba3b4ba1')
+
+build() {
+ [ $NOEXTRACT -eq 1 ] || tar --lzma -xf binutils-$pkgver-${_uprel}-mingw32-src.tar.lzma
+ [ $NOEXTRACT -eq 1 ] || tar xjf binutils-$pkgver-${_uprel}-mingw32-src/binutils-$pkgver.tar.bz2
+
+ cd $srcdir/binutils-$pkgver
+ patch -Np1 <$srcdir/260cd952.patch || true
+ ./configure \
+ --target=i486-mingw32 \
+ --host=$CHOST \
+ --build=$CHOST \
+ --prefix=/usr \
+ --disable-nls \
+ --enable-shared
+ make
+ make install DESTDIR=$pkgdir
+ rm -rf $pkgdir/usr/lib
+ rm -rf $pkgdir/usr/share/{info,man}
+}
diff --git a/community/mingw32-gcc-base/PKGBUILD b/community/mingw32-gcc-base/PKGBUILD
new file mode 100644
index 000000000..73f13fce9
--- /dev/null
+++ b/community/mingw32-gcc-base/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 79594 2012-11-08 15:25:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Ondrej Jirman <megous@megous.com>
+
+pkgname=mingw32-gcc-base
+pkgver=4.7.2
+_w32apiver=3.17
+_runtimever=3.20
+_uprel=1
+_upw32rel=1
+pkgrel=1
+arch=(i686 x86_64)
+pkgdesc="A C cross-compiler for building Windows executables on Linux"
+depends=(mingw32-binutils)
+makedepends=(p7zip mingw32-runtime mingw32-w32api)
+conflicts=(mingw32-gcc)
+options=(!strip)
+license=(GPL LGPL)
+url="http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/"
+source=(gcc-$pkgver-${_uprel}-mingw32-src.tar.lzma::http://downloads.sourceforge.net/project/mingw/MinGW/Base/gcc/Version4/gcc-$pkgver-${_uprel}/gcc-$pkgver-${_uprel}-mingw32-src.tar.lzma
+ http://downloads.sourceforge.net/project/mingw/MinGW/Base/w32api/w32api-${_w32apiver}/w32api-${_w32apiver}-${_upw32rel}-mingw32-src.tar.lzma
+ http://downloads.sourceforge.net/project/mingw/MinGW/Base/mingw-rt/mingwrt-${_runtimever}/mingwrt-${_runtimever}-mingw32-src.tar.gz
+ gcc-1-mingw-float.patch)
+md5sums=('bc2d1828dd6c53683600545ca6a901e1'
+ '89e5800096aa334009f98e7c1743d825'
+ '26c0886cc60729b94956cc6d81cd076c'
+ '2407123c35c0aa92ee5ffc27decca9a7')
+
+build()
+{
+ if [ $NOEXTRACT -ne 1 ]; then
+ # prepare headers
+ mkdir -p $srcdir/mingw/include/
+ cp -r $srcdir/w32api-${_w32apiver}-${_upw32rel}-mingw32/include/* \
+ $srcdir/mingwrt-${_runtimever}-mingw32/include/* \
+ $srcdir/mingw/include/
+
+ unset CFLAGS CXXFLAGS
+
+# tar xJf gcc-$pkgver-${_uprel}-mingw32-src.tar.xz
+ cd $srcdir
+ tar xjf gcc-$pkgver-${_uprel}-mingw32-src/gcc-$pkgver.tar.bz2
+
+ patch -d $srcdir/gcc-$pkgver -Np1 < $srcdir/gcc-1-mingw-float.patch
+
+ mkdir -p $srcdir/build
+ cd $srcdir/build
+
+ chmod ugo+x $srcdir/gcc-$pkgver/configure
+ chmod ugo+x $srcdir/gcc-$pkgver/move-if-change
+
+ $srcdir/gcc-$pkgver/configure \
+ --target=i486-mingw32 \
+ --host=$CHOST \
+ --build=$CHOST \
+ --prefix=/usr \
+ --enable-languages=c \
+ --enable-sjlj-exceptions \
+ --enable-hash-synchronization \
+ --disable-nls \
+ --disable-shared \
+ --disable-libssp \
+ --disable-libgomp \
+ --with-build-sysroot=$srcdir \
+ --with-headers=$srcdir/include
+ else
+ cd $srcdir/build
+ fi
+
+ make
+ make install DESTDIR=$pkgdir
+
+ cd $pkgdir
+ rm -rf usr/bin/i486-mingw32-{gcov,gccbug,gcc-*} \
+ usr/{include,lib/libiberty.a} usr/i486-mingw32 \
+ usr/share/{info,man} usr/i486-mingw32
+ strip usr/bin/*
+ strip usr/libexec/gcc/i486-mingw32/$pkgver/{cc1*,collect2}
+ i486-mingw32-strip -g usr/lib/gcc/i486-mingw32/$pkgver/*.a
+}
diff --git a/community/mingw32-gcc-base/gcc-1-mingw-float.patch b/community/mingw32-gcc-base/gcc-1-mingw-float.patch
new file mode 100644
index 000000000..365949ad7
--- /dev/null
+++ b/community/mingw32-gcc-base/gcc-1-mingw-float.patch
@@ -0,0 +1,18 @@
+This file is part of mingw-cross-env.
+See doc/index.html for further information.
+
+This patch has been taken from:
+http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00387.html
+http://sourceforge.net/tracker/?func=detail&atid=302435&aid=3011968&group_id=2435
+
+diff -urN a/gcc/ginclude/float.h b/gcc/ginclude/float.h
+--- a/gcc/ginclude/float.h 2009-04-09 17:00:19.000000000 +0200
++++ b/gcc/ginclude/float.h 2010-06-05 12:03:41.887724045 +0200
+@@ -275,3 +275,7 @@
+ #endif /* __STDC_WANT_DEC_FP__ */
+
+ #endif /* _FLOAT_H___ */
++
++#ifdef __MINGW32__
++#include_next<float.h>
++#endif
diff --git a/community/mingw32-gcc/PKGBUILD b/community/mingw32-gcc/PKGBUILD
new file mode 100644
index 000000000..e6cb07938
--- /dev/null
+++ b/community/mingw32-gcc/PKGBUILD
@@ -0,0 +1,78 @@
+# $Id: PKGBUILD 79591 2012-11-08 15:24:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Ondrej Jirman <megous@megous.com>
+
+pkgname=mingw32-gcc
+pkgver=4.7.2
+pkgrel=1
+_uprel=1
+arch=(i686 x86_64)
+pkgdesc="A C and C++ cross-compilers for building Windows executables on Linux"
+depends=('mingw32-pthreads' 'mingw32-runtime' 'mingw32-binutils' 'mingw32-w32api'
+ 'libmpc' 'elfutils' 'gmp')
+replaces=('mingw32-gcc-base')
+provides=('mingw32-gcc-base')
+options=(!strip)
+url="http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/"
+license=(GPL LGPL)
+source=(gcc-$pkgver-${_uprel}-mingw32-src.tar.lzma::http://downloads.sourceforge.net/project/mingw/MinGW/Base/gcc/Version4/gcc-$pkgver-${_uprel}/gcc-$pkgver-${_uprel}-mingw32-src.tar.lzma
+ gcc-1-mingw-float.patch)
+md5sums=('bc2d1828dd6c53683600545ca6a901e1'
+ '2407123c35c0aa92ee5ffc27decca9a7')
+
+build()
+{
+ [ $NOEXTRACT -eq 1 ] || tar xjf gcc-$pkgver-${_uprel}-mingw32-src/gcc-$pkgver.tar.bz2
+
+ patch -d $srcdir/gcc-$pkgver -Np1 < $srcdir/gcc-1-mingw-float.patch
+
+ mkdir -p $srcdir/build
+ cd $srcdir/build
+
+ unset CFLAGS CXXFLAGS
+
+ chmod ugo+x $srcdir/gcc-$pkgver/configure
+ chmod ugo+x $srcdir/gcc-$pkgver/move-if-change
+
+ msg "gcc"
+ [ -f Makefile ] || $srcdir/gcc-$pkgver/configure \
+ --target=i486-mingw32 \
+ --host=$CHOST \
+ --build=$CHOST \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-languages=c,c++ \
+ --enable-shared \
+ --enable-sjlj-exceptions \
+ --enable-hash-synchronization \
+ --disable-nls \
+ --disable-libssp \
+ --enable-libgomp
+
+ make
+ make install DESTDIR=$pkgdir
+
+ msg "libgcc"
+ make -j1 -C i486-mingw32/libgcc DESTDIR=${pkgdir} libgcc_eh.a install
+
+ msg "libstdc++"
+ make -j1 -C i486-mingw32/libstdc++-v3 DESTDIR=${pkgdir} install
+
+ msg "fixes"
+ cd $pkgdir/usr/i486-mingw32/lib
+ mkdir -p $pkgdir/usr/i486-mingw32/bin/
+ for i in `ls -1 *.dll`; do
+ ln -s ../lib/$i $pkgdir/usr/i486-mingw32/bin/$i
+ done
+
+ cd $pkgdir
+ rm -rf usr/bin/i486-mingw32-{gcov,gccbug,gcc-*} \
+ usr/{include,lib/libiberty.a} \
+ usr/share/{info,man} \
+ usr/share/gcc-$pkgver/python
+
+ strip usr/bin/*
+ strip usr/lib/gcc/i486-mingw32/$pkgver/{cc1*,collect2}
+ i486-mingw32-strip -g usr/lib/gcc/i486-mingw32/$pkgver/*.a
+}
diff --git a/community/mingw32-gcc/gcc-1-mingw-float.patch b/community/mingw32-gcc/gcc-1-mingw-float.patch
new file mode 100644
index 000000000..365949ad7
--- /dev/null
+++ b/community/mingw32-gcc/gcc-1-mingw-float.patch
@@ -0,0 +1,18 @@
+This file is part of mingw-cross-env.
+See doc/index.html for further information.
+
+This patch has been taken from:
+http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00387.html
+http://sourceforge.net/tracker/?func=detail&atid=302435&aid=3011968&group_id=2435
+
+diff -urN a/gcc/ginclude/float.h b/gcc/ginclude/float.h
+--- a/gcc/ginclude/float.h 2009-04-09 17:00:19.000000000 +0200
++++ b/gcc/ginclude/float.h 2010-06-05 12:03:41.887724045 +0200
+@@ -275,3 +275,7 @@
+ #endif /* __STDC_WANT_DEC_FP__ */
+
+ #endif /* _FLOAT_H___ */
++
++#ifdef __MINGW32__
++#include_next<float.h>
++#endif
diff --git a/community/mingw32-pthreads/PKGBUILD b/community/mingw32-pthreads/PKGBUILD
new file mode 100644
index 000000000..f34d87ddf
--- /dev/null
+++ b/community/mingw32-pthreads/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 73530 2012-07-09 08:46:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Marcel Schneider marcelATcoopmastersDOTde
+
+pkgname=mingw32-pthreads
+pkgver=2.9.1
+pkgrel=1
+arch=(i686 x86_64)
+pkgdesc="The POSIX 1003.1-2001 standard for writing multithreaded applications."
+license=(LGPL)
+makedepends=('mingw32-gcc-base' 'mingw32-runtime' 'mingw32-w32api')
+url="http://sourceware.org/pthreads-win32/"
+options=(!strip)
+source=(ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-${pkgver//./-}-release.tar.gz)
+md5sums=('36ba827d6aa0fa9f9ae740a35626e2e3')
+
+build() {
+ cd $srcdir/pthreads-w32-${pkgver//./-}-release
+ make CROSS=i486-mingw32- clean GC
+}
+
+package() {
+ cd $srcdir/pthreads-w32-${pkgver//./-}-release
+ mkdir $pkgdir/usr
+ mkdir $pkgdir/usr/i486-mingw32
+ mkdir $pkgdir/usr/i486-mingw32/include
+ mkdir $pkgdir/usr/i486-mingw32/lib
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/pthread.h $pkgdir/usr/i486-mingw32/include/pthread.h
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/sched.h $pkgdir/usr/i486-mingw32/include/sched.h
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/semaphore.h $pkgdir/usr/i486-mingw32/include/semaphore.h
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/libpthreadGC2.a $pkgdir/usr/i486-mingw32/lib/libpthread.a
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/pthreadGC2.dll $pkgdir/usr/i486-mingw32/lib/
+}
diff --git a/community/minidlna/PKGBUILD b/community/minidlna/PKGBUILD
new file mode 100644
index 000000000..adf1e58e0
--- /dev/null
+++ b/community/minidlna/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 91520 2013-05-23 11:15:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer:Biginoz < biginoz AT free point fr>
+# Contributor: Ignacio Galmarino <igalmarino@gmail.com>
+# Contributor: Matthias Sobczyk <matthias.sobczyk@googlemail.com>
+# Contributor: Kamil Kaminski <kyle@kkaminsk.com>
+
+pkgname=minidlna
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="A DLNA/UPnP-AV Media server (aka ReadyDLNA)"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/minidlna/"
+license=('GPL')
+depends=('libexif' 'libjpeg' 'libid3tag' 'flac' 'libvorbis' 'ffmpeg' 'sqlite')
+backup=('etc/minidlna.conf'
+ 'etc/conf.d/minidlna')
+install=minidlna.install
+changelog=changelog
+source=(http://downloads.sourceforge.net/project/minidlna/minidlna/$pkgver/minidlna-$pkgver.tar.gz
+ minidlna.service
+ minidlna.tmpfiles)
+md5sums=('26484a84af3fceafdee26595aae097f7'
+ '7e3890ee50aa4dfa4d1754261e6cc965'
+ '26de27b12d6a37c47d9714107d07aac9')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ DESTDIR=$pkgdir make install
+ install -Dm644 minidlna.conf ${pkgdir}/etc/minidlna.conf
+ install -Dm0644 $srcdir/minidlna.tmpfiles $pkgdir/usr/lib/tmpfiles.d/minidlna.conf
+ install -Dm0644 $srcdir/minidlna.service $pkgdir/usr/lib/systemd/system/minidlna.service
+}
diff --git a/community/minidlna/changelog b/community/minidlna/changelog
new file mode 100644
index 000000000..35bf6239c
--- /dev/null
+++ b/community/minidlna/changelog
@@ -0,0 +1,4 @@
+2011-08-29 Sergej Pupykin <sergej@p5n.pp.ru>
+
+ * 1.0.22-3 :
+ add user configuration to /etc/conf.d/minidlna
diff --git a/community/minidlna/minidlna.install b/community/minidlna/minidlna.install
new file mode 100644
index 000000000..c9cdc0f13
--- /dev/null
+++ b/community/minidlna/minidlna.install
@@ -0,0 +1,7 @@
+post_install() {
+ systemd-tmpfiles --create minidlna.conf
+}
+
+post_upgrade() {
+ systemd-tmpfiles --create minidlna.conf
+}
diff --git a/community/minidlna/minidlna.service b/community/minidlna/minidlna.service
new file mode 100644
index 000000000..bc79e96ef
--- /dev/null
+++ b/community/minidlna/minidlna.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=minidlna server
+After=network.target
+
+[Service]
+Type=forking
+User=nobody
+ExecStart=/usr/bin/minidlnad -P /run/minidlna/minidlna.pid
+PIDFile=/run/minidlna/minidlna.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/minidlna/minidlna.tmpfiles b/community/minidlna/minidlna.tmpfiles
new file mode 100644
index 000000000..56e057f62
--- /dev/null
+++ b/community/minidlna/minidlna.tmpfiles
@@ -0,0 +1,5 @@
+# systemd tmpfile settings for minidlna
+# See tmpfiles.d(5) for details
+
+d /var/run/minidlna 0755 nobody nobody -
+d /var/cache/minidlna 0755 nobody nobody -
diff --git a/community/minitube/PKGBUILD b/community/minitube/PKGBUILD
new file mode 100644
index 000000000..e010ef758
--- /dev/null
+++ b/community/minitube/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 83577 2013-02-03 13:21:39Z speps $
+# Maintainer : speps <speps at aur dot archlinux dot org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=minitube
+pkgver=2.0
+pkgrel=1
+pkgdesc="A native YouTube client in QT. Watch YouTube videos without Flash Player"
+arch=('i686' 'x86_64')
+url='http://flavio.tordini.org/minitube'
+license=('GPL')
+depends=('phonon')
+install="$pkgname.install"
+source=("http://flavio.tordini.org/files/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('7df1e44b86a4744a492ccc414c0fa77d')
+
+build() {
+ cd "$srcdir/$pkgname"
+ qmake
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+ make install INSTALL_ROOT="$pkgdir/"
+}
diff --git a/community/minitube/minitube.install b/community/minitube/minitube.install
new file mode 100644
index 000000000..1c0de2e4f
--- /dev/null
+++ b/community/minitube/minitube.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/miniupnpc/PKGBUILD b/community/miniupnpc/PKGBUILD
new file mode 100644
index 000000000..6b163f4c4
--- /dev/null
+++ b/community/miniupnpc/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 92933 2013-06-19 14:29:17Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Florian Loitsch <archlinux@florian.loitsch.com>
+pkgname=miniupnpc
+pkgver=1.8
+pkgrel=1
+pkgdesc="A small UPnP client library/tool to access Internet Gateway Devices"
+arch=('i686' 'x86_64')
+url="http://miniupnp.free.fr"
+license=('BSD')
+depends=('sh')
+source=("http://miniupnp.free.fr/files/$pkgname-$pkgver.tar.gz")
+md5sums=('065bf20a20ebe605c675b7a5aaef340a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make PREFIX="$pkgdir/" install
+ install -Dm644 man3/miniupnpc.3 "${pkgdir}"/usr/share/man/man3/miniupnpc.3
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/minizip/LICENSE b/community/minizip/LICENSE
new file mode 100644
index 000000000..7fb61585d
--- /dev/null
+++ b/community/minizip/LICENSE
@@ -0,0 +1,54 @@
+ Condition of use and distribution are the same than zlib :
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Modifications of Unzip for Zip64
+ Copyright (C) 2007-2008 Even Rouault
+
+ Modifications for Zip64 support on both zip and unzip
+ Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+mztools.h
+ Code: Xavier Roche '2004
+
+--------------------------------------------------------------------------------
+
+crypt.h
+
+ Version 1.01e, February 12th, 2005
+
+ Copyright (C) 1998-2005 Gilles Vollant
+
+ This code is a modified version of crypting code in Infozip distribution
+
+ The encryption/decryption parts of this source code (as opposed to the
+ non-echoing password parts) were originally written in Europe. The
+ whole source package can be freely distributed, including from the USA.
+ (Prior to January 2000, re-export from the US was a violation of US law.)
+
+ This encryption code is a direct transcription of the algorithm from
+ Roger Schlafly, described by Phil Katz in the file appnote.txt. This
+ file (appnote.txt) is distributed with the PKZIP program (even in the
+ version without encryption capabilities).
+
+--------------------------------------------------------------------------------
+
+unzip.c
+
+for the license see: see: ftp://ftp.info-zip.org/pub/infozip/license.html
diff --git a/community/minizip/PKGBUILD b/community/minizip/PKGBUILD
new file mode 100644
index 000000000..f367b98fb
--- /dev/null
+++ b/community/minizip/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 68685 2012-03-31 16:54:07Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Babets <fbabetz@yahoo.it>
+# Contributor: Leslie P. Polzer <polzer at stardawn dot org>
+
+pkgname=minizip
+pkgver=1.2.8
+pkgrel=1
+pkgdesc='ZIP file extraction library'
+url='http://www.winimage.com/zLibDll/minizip.html'
+license=('ZLIB' 'custom')
+arch=('x86_64' 'i686')
+depends=('zlib')
+options=('!libtool')
+source=("http://zlib.net/current/zlib-${pkgver}.tar.gz"
+ 'LICENSE')
+sha256sums=('36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d'
+ '3b66c863472c2107984f383f34412578b479e7f8fa111ded78190ff0cb3f2eb7')
+
+prepare() {
+ cd "$srcdir/zlib-$pkgver/contrib/$pkgname"
+
+ rm -f Makefile
+ autoreconf -i
+ autoconf
+ automake --add-missing
+ automake
+}
+
+build() {
+ cd "$srcdir/zlib-$pkgver/contrib/$pkgname"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/zlib-$pkgver/contrib/$pkgname"
+
+ make install DESTDIR="$pkgdir"
+ install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/miredo/PKGBUILD b/community/miredo/PKGBUILD
new file mode 100644
index 000000000..6b7bb6503
--- /dev/null
+++ b/community/miredo/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 91953 2013-05-30 09:43:18Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=miredo
+pkgver=1.2.6
+pkgrel=1
+pkgdesc="Teredo client and server."
+arch=('i686' 'x86_64')
+url="http://www.remlab.net/miredo/"
+license=('GPL')
+depends=('judy' 'iproute2' 'libcap')
+backup=('etc/miredo/miredo.conf'
+ 'etc/miredo/client-hook')
+options=('!libtool')
+source=(http://www.remlab.net/files/${pkgname}/${pkgname}-${pkgver}.tar.xz
+ miredo.install
+ miredo.service)
+md5sums=('5bcdbaced54f40b6cb1e9c9a8dbac411'
+ 'd1b655d7a851cdb46c91c3418ed1962f'
+ 'fd6d5b355b2356426eeefd6047f6bb7c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib \
+ --sbindir=/usr/bin \
+ --with-Judy
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ sed -i 's#/sbin/ip#/usr/sbin/ip#' $pkgdir/etc/miredo/client-hook
+
+ # avoid conflict with filesystem>=2012.06
+ rmdir "$pkgdir/var/run" "$pkgdir/var"
+
+ install -Dm644 "$srcdir/miredo.service" "$pkgdir/usr/lib/systemd/system/miredo.service"
+}
diff --git a/community/miredo/miredo.install b/community/miredo/miredo.install
new file mode 100644
index 000000000..338459fb3
--- /dev/null
+++ b/community/miredo/miredo.install
@@ -0,0 +1,8 @@
+post_remove() {
+
+ # clean up just in case
+ rm -f /var/run/miredo.pid
+ rm -f /var/run/miredo-server.pid
+ rm -f /var/run/isatapd.pid
+}
+
diff --git a/community/miredo/miredo.service b/community/miredo/miredo.service
new file mode 100644
index 000000000..e824f99e1
--- /dev/null
+++ b/community/miredo/miredo.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Teredo IPv6 Tunneling Daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/miredo -f
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file
diff --git a/community/mixxx/PKGBUILD b/community/mixxx/PKGBUILD
new file mode 100644
index 000000000..de26827ae
--- /dev/null
+++ b/community/mixxx/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 92429 2013-06-05 10:08:34Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Ali H. Caliskan <ali.h.caliskan AT gmail DOT com>
+# Contributor: Ryan Coyner <rcoyner@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=mixxx
+pkgver=1.11.0
+pkgrel=1
+pkgdesc="Free, open source software for digital DJ'ing."
+arch=('i686' 'x86_64')
+url='http://www.mixxx.org'
+license=('GPL')
+depends=('fftw' 'libid3tag' 'libmad' 'libogg' 'libshout' 'libsndfile' 'portaudio' 'portmidi'
+ 'taglib' 'qtwebkit' 'vamp-plugin-sdk' 'libusbx' 'protobuf')
+makedepends=('mesa' 'scons' 'libshout' 'glu')
+source=("http://downloads.mixxx.org/${pkgname}-${pkgver}/${pkgname}-${pkgver}-src.tar.gz")
+md5sums=('89ee8ba60824919d8dd1194287bda259')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ scons qtdir=/usr/lib/qt4 prefix=/usr
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ scons qtdir=/usr/lib/qt4 prefix=/usr install_root="${pkgdir}/usr" install
+}
diff --git a/community/mksh/PKGBUILD b/community/mksh/PKGBUILD
new file mode 100644
index 000000000..337e08c62
--- /dev/null
+++ b/community/mksh/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92251 2013-06-03 11:15:23Z allan $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Daniel Hommel <dhommel@gmail.com>
+
+pkgname=mksh
+pkgver=R46
+pkgrel=3
+pkgdesc='The MirBSD Korn Shell - an enhanced version of the public domain ksh'
+url='https://www.mirbsd.org/mksh.htm'
+license=('custom')
+arch=('i686' 'x86_64')
+depends=('gcc-libs')
+install=mksh.install
+source=("https://www.mirbsd.org/MirOS/dist/mir/mksh/$pkgname-$pkgver.tgz"
+ 'https://www.mirbsd.org/TaC-mksh.txt')
+md5sums=('77c108d8143a6e7670954d77517d216d'
+ 'a231b325d5f2155a6c667a9323986718')
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ sh Build.sh -r -c lto
+ ./test.sh
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+ install -D -m 755 mksh "$pkgdir/usr/bin/mksh"
+ install -D -m 644 mksh.1 "$pkgdir/usr/share/man/man1/mksh.1"
+ install -D -m 644 dot.mkshrc "$pkgdir/etc/skel/.mkshrc"
+ install -D -m 644 "$srcdir/TaC-mksh.txt" "$pkgdir/usr/share/licenses/mksh/TaC-mksh.txt"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mksh/mksh.install b/community/mksh/mksh.install
new file mode 100644
index 000000000..f096a2b66
--- /dev/null
+++ b/community/mksh/mksh.install
@@ -0,0 +1,9 @@
+post_install() {
+ grep -x /bin/mksh /etc/shells >/dev/null || echo /bin/mksh >>/etc/shells
+}
+
+post_remove() {
+ sed -i "/^\/bin\/mksh$/d" /etc/shells
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mktorrent/PKGBUILD b/community/mktorrent/PKGBUILD
new file mode 100644
index 000000000..495ea2b59
--- /dev/null
+++ b/community/mktorrent/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 66239 2012-02-23 05:13:18Z spupykin $
+# Contributor: Emil Renner Berthing <esmil@users.sourceforge.net>
+
+pkgname=mktorrent
+pkgver=1.0
+pkgrel=3
+pkgdesc='Simple command line utility to create BitTorrent metainfo files'
+arch=('i686' 'x86_64')
+url='http://mktorrent.sourceforge.net/'
+license='GPL'
+depends=('openssl')
+source=("http://downloads.sourceforge.net/mktorrent/mktorrent-${pkgver}.tar.gz")
+md5sums=('0da00209da96a0dc39efbb6eb5b4d8ff')
+
+build() {
+ cd ${srcdir}/mktorrent-${pkgver}
+ make DESTDIR=${pkgdir} PREFIX=/usr \
+ USE_PTHREADS=1 USE_OPENSSL=1 USE_LONG_OPTIONS=1 USE_LARGE_FILES=1 \
+ install
+}
diff --git a/community/mlt/PKGBUILD b/community/mlt/PKGBUILD
new file mode 100644
index 000000000..d807e93f1
--- /dev/null
+++ b/community/mlt/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 92918 2013-06-19 09:58:46Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Fabian Schoelzel <myfirstname.mylastname@googlemail.com>
+# Contributor: funkyou <spamopfer@nickname.berlin.de>
+# Contributor: tardo <tardo@nagi-fanboi.net>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgbase=mlt
+pkgname=('mlt' 'mlt-python-bindings')
+pkgver=0.9.0
+pkgrel=2
+pkgdesc="An open source multimedia framework"
+arch=('i686' 'x86_64')
+url="http://www.mltframework.org"
+license=('GPL')
+makedepends=('sdl_image' 'libsamplerate' 'libdv' 'qt4' 'sox' 'libxml2' 'gtk2' 'ffmpeg'
+ 'frei0r-plugins' 'swig' 'python2' "jack" "ladspa")
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
+ fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch)
+md5sums=('1cd2d73f3ffe77a43980e99aaa4ea06c'
+ '8227e7a1b059b1b16901166d2a508317')
+
+build() {
+ # mlt
+ cd "$srcdir/mlt-$pkgver"
+
+ msg "SSE2=$SSE2"
+ ./configure --prefix=/usr --disable-gtk2 \
+ --avformat-vdpau \
+ --avformat-swscale \
+ --enable-gpl --enable-gpl3
+ make
+
+ # mlt python bindings
+ cd "$srcdir/mlt-$pkgver/src/swig/python"
+ sed -i 's_path=`which python_path=`which python2_' build
+ sed -i 's_`python -c_`python2 -c_' build
+ sed -i 's#python-config#python2-config#' build
+ ./build
+}
+
+package_mlt() {
+ depends=('sdl_image' 'libsamplerate' 'libdv' 'sox' 'libxml2' 'ffmpeg' 'frei0r-plugins')
+ optdepends=('jack' 'libexif' 'qt4' 'gtk2' "ladspa")
+ conflicts=('mlt++<=0.3.8')
+
+ cd "$srcdir/mlt-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+package_mlt-python-bindings() {
+ depends=('python2' 'mlt')
+
+ cd "$srcdir/mlt-$pkgver/src/swig/python"
+ mkdir -p "$pkgdir/usr/lib/python2.7/"
+ install -m755 mlt.py "$pkgdir/usr/lib/python2.7/"
+ install -m755 _mlt.so "$pkgdir/usr/lib/python2.7/"
+ install -m755 mlt_wrap.o "$pkgdir/usr/lib/python2.7/"
+}
diff --git a/community/mlt/fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch b/community/mlt/fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch
new file mode 100644
index 000000000..eb81f33f4
--- /dev/null
+++ b/community/mlt/fix-segmentation-fault-at-exit-by-calling-av_lockmgr.patch
@@ -0,0 +1,37 @@
+From ef749d7b526f0762a00a369ea35b5b12c18142fb Mon Sep 17 00:00:00 2001
+From: Nicolas Boichat <nicolas@boichat.ch>
+Date: Wed, 20 Mar 2013 16:50:56 +0800
+Subject: [PATCH] Fix Segmentation fault at exit by calling
+ av_lockmgr_register( NULL );
+
+---
+ src/modules/avformat/factory.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/modules/avformat/factory.c b/src/modules/avformat/factory.c
+index ddf05fe..a273537 100644
+--- a/src/modules/avformat/factory.c
++++ b/src/modules/avformat/factory.c
+@@ -83,6 +83,11 @@ static int avformat_lockmgr(void **mutex, enum AVLockOp op)
+ return 0;
+ }
+
++static void avformat_exit( )
++{
++ av_lockmgr_register( NULL );
++}
++
+ static void avformat_init( )
+ {
+ // Initialise avformat if necessary
+@@ -98,6 +103,7 @@ static void avformat_init( )
+ avformat_network_init();
+ #endif
+ av_log_set_level( mlt_log_get_level() );
++ atexit(avformat_exit);
+ }
+ }
+
+--
+1.8.1.5
+
diff --git a/community/mmsrip/PKGBUILD b/community/mmsrip/PKGBUILD
new file mode 100644
index 000000000..2d0314986
--- /dev/null
+++ b/community/mmsrip/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 67956 2012-03-16 12:10:10Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+
+pkgname=mmsrip
+pkgver=0.7.0
+pkgrel=4
+pkgdesc="A downloader for the proprietary protocol MMS://"
+arch=('i686' 'x86_64')
+url="http://nbenoit.tuxfamily.org/projects.php?rq=mmsrip"
+license=('GPL2')
+depends=('glibc')
+source=(http://nbenoit.tuxfamily.org/projects/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('498a5ec10a004481532eaceacdff3a10')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/mod_wsgi/PKGBUILD b/community/mod_wsgi/PKGBUILD
new file mode 100644
index 000000000..22c403936
--- /dev/null
+++ b/community/mod_wsgi/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 79940 2012-11-15 00:36:52Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Ryan Coyner <rcoyner@gmail.com>
+
+pkgname=mod_wsgi
+pkgver=3.4
+pkgrel=2
+pkgdesc='Python WSGI adapter module for Apache'
+arch=('x86_64' 'i686')
+url='http://www.modwsgi.org/'
+license=('APACHE')
+depends=('apache' 'python')
+makedepends=('setconf')
+install=mod_wsgi.install
+source=("http://modwsgi.googlecode.com/files/$pkgname-$pkgver.tar.gz")
+sha256sums=('ae85c98e9e146840ab3c3e4490e6774f9bef0f99b9f679fca786b2adb5b4b6e8')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ ./configure --prefix=/usr \
+ --with-apxs=/usr/sbin/apxs \
+ --with-python=/usr/bin/python
+ setconf Makefile LDLIBS '-lpython3 -lpthread -ldl -lutil -lm'
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mod_wsgi/mod_wsgi.install b/community/mod_wsgi/mod_wsgi.install
new file mode 100644
index 000000000..d26d61631
--- /dev/null
+++ b/community/mod_wsgi/mod_wsgi.install
@@ -0,0 +1,14 @@
+post_install() {
+/bin/cat << ENDOFMESSAGE
+==>
+==>
+==> To install mod_wsgi, add the following line in
+==> /etc/httpd/conf/httpd.conf file :
+==>
+==> LoadModule wsgi_module modules/mod_wsgi.so
+==>
+==> and restart/reload Apache.
+==>
+==>
+ENDOFMESSAGE
+}
diff --git a/community/mod_wsgi2/PKGBUILD b/community/mod_wsgi2/PKGBUILD
new file mode 100644
index 000000000..3a27e99e2
--- /dev/null
+++ b/community/mod_wsgi2/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 89811 2013-05-02 13:55:03Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Ryan Coyner <rcoyner@gmail.com>
+
+pkgname=mod_wsgi2
+pkgver=3.4
+pkgrel=3
+pkgdesc='Python2 WSGI adapter module for Apache'
+arch=('x86_64' 'i686')
+url='http://www.modwsgi.org/'
+license=('APACHE')
+depends=('apache' 'python2')
+conflicts=('mod_wsgi')
+install="$pkgname.install"
+source=("http://modwsgi.googlecode.com/files/mod_wsgi-$pkgver.tar.gz")
+sha256sums=('ae85c98e9e146840ab3c3e4490e6774f9bef0f99b9f679fca786b2adb5b4b6e8')
+
+build() {
+ cd "$srcdir/mod_wsgi-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --with-apxs=/usr/sbin/apxs \
+ --with-python=/usr/bin/python2
+ make
+}
+
+package() {
+ cd "$srcdir/mod_wsgi-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mod_wsgi2/mod_wsgi2.install b/community/mod_wsgi2/mod_wsgi2.install
new file mode 100644
index 000000000..a7f0290c2
--- /dev/null
+++ b/community/mod_wsgi2/mod_wsgi2.install
@@ -0,0 +1,16 @@
+post_install() {
+ cat << ENDOFMESSAGE
+==>
+==>
+==> To install mod_wsgi, add the following line in
+==> /etc/httpd/conf/httpd.conf file:
+==>
+==> LoadModule wsgi_module modules/mod_wsgi.so
+==>
+==> and restart/reload Apache.
+==>
+==>
+ENDOFMESSAGE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD
new file mode 100644
index 000000000..0f935a956
--- /dev/null
+++ b/community/mongodb/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 94033 2013-07-13 12:34:05Z svenstaro $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Mathias Stearn <mathias@10gen.com>
+# Contributor: Alec Thomas
+
+pkgname=mongodb
+pkgver=2.4.5
+pkgrel=2
+pkgdesc='A high-performance, open source, schema-free document-oriented database'
+arch=('i686' 'x86_64')
+url='http://www.mongodb.org'
+license=('AGPL3')
+depends=('boost-libs' 'pcre' 'snappy' 'openssl' 'gperftools') # 'v8') doesn't work
+makedepends=('scons' 'boost' 'readline' 'ncurses' 'libpcap') # 'cyrus-sasl') doesn't work
+checkdepends=('python2-pymongo')
+optdepends=('libpcap: needed for mongosniff')
+backup=('etc/mongodb.conf')
+install=mongodb.install
+source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz"
+ 'mongodb.conf' 'mongodb.service' 'removeWerror.patch')
+
+build() {
+ # fucking mongo aint no fun to package
+ export SCONSFLAGS="$MAKEFLAGS"
+
+ cd mongodb-src-r${pkgver}
+
+ # failed to build with -Werror since 2.4.0
+ patch -Np1 -i "$srcdir/removeWerror.patch"
+
+ scons all \
+ --use-system-boost \
+ --use-system-pcre \
+ --use-system-snappy \
+ --use-system-tcmalloc \
+ --ssl \
+ --sharedclient
+ # --use-sasl-client doesn't work
+ # --use-system-v8 doesn't work
+}
+
+<<COMMENT
+check() {
+ export SCONSFLAGS="$MAKEFLAGS"
+
+ cd mongodb-src-r${pkgver}
+
+ scons smokeAll --smokedbprefix=$srcdir
+}
+COMMENT
+
+package() {
+ export SCONSFLAGS="$MAKEFLAGS"
+
+ cd mongodb-src-r${pkgver}
+
+ scons install \
+ --use-system-boost \
+ --use-system-pcre \
+ --use-system-snappy \
+ --use-system-tcmalloc \
+ --ssl \
+ --sharedclient \
+ --full \
+ --prefix="$pkgdir/usr"
+ # --use-sasl-client doesn't work
+ # --use-system-v8 doesn't work
+
+ rm "$pkgdir/usr/lib/libmongoclient.a"
+
+ install -Dm644 "$srcdir/mongodb.conf" "$pkgdir/etc/mongodb.conf"
+ install -Dm644 "$srcdir/mongodb.service" "$pkgdir/usr/lib/systemd/system/mongodb.service"
+ install -dm700 "$pkgdir/var/lib/mongodb"
+ install -dm755 "$pkgdir/var/log/mongodb"
+}
+
+sha512sums=('07a46770c5acc0e046750e0299e669b934f6093705f5979bc5fa8bb56e73761f9602a5bdbaaad688700e4dde32d1e5f48a6cf3763ffab4d80a47f0158d8fb89e'
+ '05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c'
+ '177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9'
+ 'e709f76fa71a10d6b72d2eeae65d715e0a0a7e6cb93704114f22db8662d7102de77bd1e6706049351beb159aaa04548cfe4b14fe6ee498a166c5ad54c8275f84')
diff --git a/community/mongodb/SConscript.client.patch b/community/mongodb/SConscript.client.patch
new file mode 100644
index 000000000..f289d18da
--- /dev/null
+++ b/community/mongodb/SConscript.client.patch
@@ -0,0 +1,13 @@
+diff --git a/src/SConscript.client b/src/SConscript.client
+index 7a6bdc9..3fb55e5 100644
+--- a/src/SConscript.client
++++ b/src/SConscript.client
+@@ -134,7 +134,7 @@ env.Install(
+ # install
+ prefix = GetOption("prefix")
+
+-env.Install(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}')
++env.InstallAs(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}')
+
+ for x in clientHeaderDirectories:
+ env.Install(prefix + "/include/mongo/" + x,
diff --git a/community/mongodb/mongodb.conf b/community/mongodb/mongodb.conf
new file mode 100644
index 000000000..c5272b7f2
--- /dev/null
+++ b/community/mongodb/mongodb.conf
@@ -0,0 +1,8 @@
+# See http://www.mongodb.org/display/DOCS/File+Based+Configuration for format details
+# Run mongod --help to see a list of options
+
+bind_ip = 127.0.0.1
+quiet = true
+dbpath = /var/lib/mongodb
+logpath = /var/log/mongodb/mongod.log
+logappend = true
diff --git a/community/mongodb/mongodb.install b/community/mongodb/mongodb.install
new file mode 100644
index 000000000..2ea94553c
--- /dev/null
+++ b/community/mongodb/mongodb.install
@@ -0,0 +1,32 @@
+# vim: syntax=sh
+
+post_install() {
+ useradd -r -g daemon -d /var/lib/mongodb -s /bin/bash mongodb
+ chown -R mongodb:daemon /var/lib/mongodb
+ chown -R mongodb:daemon /var/log/mongodb
+
+ if [ "$(uname -m)" != "x86_64" ]
+ then
+ echo '==> Warning: the 32 bit version of MongoDB is limited to about 2GB of data.'
+ echo '==> See http://blog.mongodb.org/post/137788967/32-bit-limitations'
+ fi
+}
+
+post_upgrade() {
+ chown -R mongodb:daemon /var/lib/mongodb
+ chown -R mongodb:daemon /var/log/mongodb
+
+ if [ "$(vercmp $2 1.8.2-3)" -lt 0 ]
+ then
+ # have to fix my fudge up in 1.8.2-2 and 1.8.2-3
+ # added july 5th, 2011
+ usermod -s /bin/bash mongodb >& /dev/null
+ echo 'The dbpath has changed from /var/state/mongodb to /var/lib/mongodb'
+ echo 'Make sure you move your data files to the new dbpath before you start/restart mongodb'
+ echo 'The logpath has changed from /var/log/mongod to /var/log/mongodb/mongod.log'
+ fi
+}
+
+pre_remove() {
+ userdel mongodb
+}
diff --git a/community/mongodb/mongodb.service b/community/mongodb/mongodb.service
new file mode 100644
index 000000000..78d551183
--- /dev/null
+++ b/community/mongodb/mongodb.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=High-performance, schema-free document-oriented database
+After=network.target
+
+[Service]
+User=mongodb
+ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mongodb/removeWerror.patch b/community/mongodb/removeWerror.patch
new file mode 100644
index 000000000..dd96084da
--- /dev/null
+++ b/community/mongodb/removeWerror.patch
@@ -0,0 +1,21 @@
+--- a/SConstruct 2013-03-16 02:59:55.000000000 +0800
++++ b/SConstruct 2013-03-20 10:55:20.009645869 +0800
+@@ -692,7 +692,7 @@
+ "-Winvalid-pch"] )
+ # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
+ if linux:
+- env.Append( CCFLAGS=["-Werror", "-pipe"] )
++ env.Append( CCFLAGS=["-pipe"] )
+ if not has_option('clang'):
+ env.Append( CCFLAGS=["-fno-builtin-memcmp"] ) # glibc's memcmp is faster than gcc's
+
+--- a/src/third_party/v8/SConscript 2013-04-17 03:21:23.000000000 +0800
++++ b/src/third_party/v8/SConscript 2013-04-18 17:41:29.878618892 +0800
+@@ -47,7 +47,6 @@
+ 'gcc': {
+ 'all': {
+ 'CCFLAGS': ['-Wall',
+- '-Werror',
+ '-W',
+ '-Wno-unused-parameter',
+ '-Woverloaded-virtual',
diff --git a/community/monica/PKGBUILD b/community/monica/PKGBUILD
new file mode 100644
index 000000000..3c24c4e7d
--- /dev/null
+++ b/community/monica/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 83166 2013-01-27 16:22:08Z pierre $
+# Maintainer: tobias <tobias@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+pkgname=monica
+pkgver=3.7
+pkgrel=2
+pkgdesc="A monitor calibration tool"
+arch=('i686' 'x86_64')
+url="http://www.pcbypaul.com/software/monica.html"
+license=('BSD')
+depends=('fltk' 'xorg-xgamma')
+makedepends=('librsvg')
+#http://www.pcbypaul.com/software/dl/${pkgname}-${pkgver}.tar.bz2
+source=(ftp://ftp.archlinux.org/other/monica/${pkgname}-${pkgver}.tar.bz2 \
+ monica.desktop monica.svg)
+md5sums=('490aabc35b830e4a3dc32a2f893ba805'
+ 'a337bfda1fca7228420db0ce92256816'
+ '4569f5df7d7b3eaf20108adf48e8dfe4')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -Dm755 monica "${pkgdir}/usr/bin/monica"
+ install -Dm644 "${srcdir}/monica.desktop" "${pkgdir}/usr/share/applications/monica.desktop"
+ install -Dm644 "${srcdir}/monica.svg" "${pkgdir}/usr/share/pixmaps/monica.svg"
+ rsvg-convert -w 64 -h 57 -f png -o "${pkgdir}/usr/share/pixmaps/monica.png" "${srcdir}/monica.svg"
+ install -Dm644 licence "${pkgdir}/usr/share/licenses/monica/license.txt"
+}
diff --git a/community/monica/monica.desktop b/community/monica/monica.desktop
new file mode 100644
index 000000000..6b17659ca
--- /dev/null
+++ b/community/monica/monica.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Monica
+Comment=Monitor Calibration for x-server
+Exec=monica
+Icon=monica
+Terminal=false
+Type=Application
+X-MultipleArgs=false
+Categories=Application;Settings;System;
diff --git a/community/monica/monica.svg b/community/monica/monica.svg
new file mode 100644
index 000000000..bb9f77d9b
--- /dev/null
+++ b/community/monica/monica.svg
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="monica.svg"
+ sodipodi:docbase="/home/pool/graphics/arch_candy/svg-icons"
+ height="67.000000pt"
+ width="70.000000pt"
+ inkscape:version="0.41"
+ sodipodi:version="0.32"
+ id="svg1573">
+ <defs
+ id="defs1575">
+ <linearGradient
+ id="linearGradient1606">
+ <stop
+ id="stop1607"
+ offset="0.0000000"
+ style="stop-color:#000000;stop-opacity:0.62745100;" />
+ <stop
+ id="stop1608"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ gradientTransform="translate(0.000000,3.125000)"
+ gradientUnits="userSpaceOnUse"
+ fy="12.500000"
+ fx="12.500000"
+ r="12.433378"
+ cy="12.500000"
+ cx="12.500000"
+ id="radialGradient1636"
+ xlink:href="#linearGradient1606"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.437333,0.000000,0.000000,0.410284,0.000000,3.125000)"
+ y2="0.0000000"
+ x2="20.514223"
+ y1="30.771334"
+ x1="20.514223"
+ id="linearGradient1638"
+ xlink:href="#linearGradient1606"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="translate(-12.50000,3.250000)"
+ gradientUnits="userSpaceOnUse"
+ fy="12.500000"
+ fx="100.00000"
+ r="12.500000"
+ cy="12.500000"
+ cx="100.00000"
+ id="radialGradient1643"
+ xlink:href="#linearGradient1606"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.447214,0.000000,0.000000,2.236068,-12.50000,3.250000)"
+ y2="19.565595"
+ x2="251.55765"
+ y1="19.565595"
+ x1="223.60680"
+ id="linearGradient1645"
+ xlink:href="#linearGradient1606"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.508806,0.000000,0.000000,1.965387,0.000000,3.125000)"
+ y2="18.889412"
+ x2="0.0000000"
+ y1="18.889412"
+ x1="25.058681"
+ id="linearGradient1647"
+ xlink:href="#linearGradient1606"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.814390,0.000000,0.000000,0.355317,0.000000,-10.12500)"
+ y2="246.61094"
+ x2="22.207298"
+ y1="211.07926"
+ x1="22.207298"
+ id="linearGradient1649"
+ xlink:href="#linearGradient1606"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="translate(0.000000,-10.12500)"
+ gradientUnits="userSpaceOnUse"
+ fy="75.000000"
+ fx="12.500000"
+ r="12.500000"
+ cy="75.000000"
+ cx="12.500000"
+ id="radialGradient1651"
+ xlink:href="#linearGradient1606"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="translate(-12.50000,-10.000000)"
+ gradientUnits="userSpaceOnUse"
+ fy="75.000000"
+ fx="100.00000"
+ r="12.500000"
+ cy="75.000000"
+ cx="100.00000"
+ id="radialGradient1653"
+ xlink:href="#linearGradient1606"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:current-layer="svg1573"
+ inkscape:window-y="3"
+ inkscape:window-x="0"
+ inkscape:grid-points="true"
+ inkscape:grid-bbox="true"
+ gridtolerance="2.0000000px"
+ gridoriginx="0.0000000pt"
+ gridoriginy="0.0000000pt"
+ gridspacingx="10.000000pt"
+ gridspacingy="10.000000pt"
+ snaptogrid="false"
+ showgrid="true"
+ inkscape:window-height="1002"
+ inkscape:window-width="1272"
+ inkscape:cy="50.235475"
+ inkscape:cx="67.194289"
+ inkscape:zoom="7.9999998"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base" />
+ <metadata
+ id="metadata1576">
+ <rdf:RDF
+ id="RDF1577">
+ <cc:Work
+ id="Work1578"
+ rdf:about="">
+ <dc:description
+ id="description1579">Created with Inkscape
+http://www.inkscape.org/</dc:description>
+ <dc:format
+ id="format1581">image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage"
+ id="type1583" />
+ <dc:title
+ id="title1606">ML-Term Icon</dc:title>
+ <dc:date
+ id="date1608">2004-07-14</dc:date>
+ <dc:creator
+ id="creator1610">
+ <cc:Agent
+ id="Agent1611">
+ <dc:title
+ id="title1612">Tobias Kieslich</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:coverage
+ id="coverage1614" />
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/GPL/2.0/"
+ id="license1616" />
+ </cc:Work>
+ <cc:License
+ id="License1624"
+ rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+ <cc:permits
+ id="permits1625"
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ id="permits1626"
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ id="requires1627"
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:permits
+ id="permits1628"
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ id="requires1629"
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ <cc:requires
+ id="requires1630"
+ rdf:resource="http://web.resource.org/cc/SourceCode" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2775"
+ d="M 5.8437501,76.625001 L 82.343750,76.625001"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:9.1875000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2007"
+ d="M 10.593750,6.8437510 L 77.343750,6.8437510"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:5.0625000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path2803"
+ d="M 8.2187499,9.3437490 L 8.2187499,59.593751 L 79.718750,59.593751 L 79.718750,9.3437490"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:5.0625000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2807"
+ d="M 29.750001,67.218750 L 58.125000,67.218750"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:14.937500;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2953"
+ d="M 22.468750,14.718749 L 22.468750,52.468750"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#3f0000;stroke-width:5.0625000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2955"
+ d="M 27.468750,14.718749 L 27.468750,52.468750"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ff1500;stroke-width:5.0625000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2957"
+ d="M 41.593750,14.718749 L 41.593750,52.468750"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#0b2f00;stroke-width:5.0625000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2959"
+ d="M 46.593750,14.718749 L 46.593750,52.468750"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#08ce00;stroke-width:5.0625000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2961"
+ d="M 60.718750,14.718749 L 60.718750,52.468750"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#00004e;stroke-width:5.0625000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2963"
+ d="M 65.718750,14.718749 L 65.718750,52.468750"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#0072ff;stroke-width:5.0625000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+</svg>
diff --git a/community/monit/PKGBUILD b/community/monit/PKGBUILD
new file mode 100644
index 000000000..48ff45d64
--- /dev/null
+++ b/community/monit/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 92063 2013-05-31 02:32:07Z seblu $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Contributor: Marco Bartholomew <marco@marcobartholomew.com>
+
+pkgname=monit
+pkgver=5.5
+pkgrel=3
+pkgdesc="Utility for managing and monitoring, processes, files, directories and devices on a *NIX system"
+arch=('i686' 'x86_64')
+url="http://mmonit.com/monit/"
+license=('GPL3')
+depends=('openssl')
+backup=('etc/monitrc')
+changelog=$pkgname.changelog
+source=(http://mmonit.com/$pkgname/dist/$pkgname-$pkgver.tar.gz \
+ monit.service)
+sha256sums=('8276b060b3f0e6453c9748d421dec044ddae09d3e4c4666e13472aab294d7c53'
+ 'cf607209e9e5d39e708152dc181525570371fab750f828e890e2b6a00b81ebc4')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+
+ install -D -m700 monitrc ${pkgdir}/etc/monitrc
+
+ install -D -m644 ${srcdir}/$pkgname.service ${pkgdir}/usr/lib/systemd/system/$pkgname.service
+}
diff --git a/community/monit/monit.changelog b/community/monit/monit.changelog
new file mode 100644
index 000000000..07cea8e3d
--- /dev/null
+++ b/community/monit/monit.changelog
@@ -0,0 +1,40 @@
+2012-10-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.5-2 systemd .service file added
+
+2012-10-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.5-1
+
+2012-05-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.4-1
+
+2012-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.3.2-1
+
+2011-11-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.3.1-1
+
+2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.3-1
+
+2011-07-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.2.5-1
+
+2011-03-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.2.4-1
+
+2010-11-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.2.3-1
+
+2010-09-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.2-1
+
+2010-08-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.1.1-2
+ * fixed FS#20666
+
+2010-08-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.1.1-1
+ * fixed FS#20559
+
+2009-12-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * monit 5.0.3-1
diff --git a/community/monit/monit.service b/community/monit/monit.service
new file mode 100644
index 000000000..775435a4a
--- /dev/null
+++ b/community/monit/monit.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Pro-active monitoring utility for unix systems
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/monit -I
+ExecStop=/usr/bin/monit quit
+ExecReload=/usr/bin/monit reload
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/community/moreutils/PKGBUILD b/community/moreutils/PKGBUILD
new file mode 100644
index 000000000..c2a552c34
--- /dev/null
+++ b/community/moreutils/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90575 2013-05-13 09:53:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+pkgname=moreutils
+pkgver=0.48
+pkgrel=1
+pkgdesc="A growing collection of the unix tools that nobody thought to write thirty years ago"
+arch=('i686' 'x86_64')
+url="http://joeyh.name/code/moreutils/"
+license=('GPL')
+makedepends=('docbook2x' 'docbook-xml' 'perl-xml-sax')
+depends=('perl' 'perl-ipc-run' 'perl-timedate' 'perl-time-duration')
+options=('!emptydirs' 'zipman')
+replaces=(moreutils-svn)
+source=(http://ftp.de.debian.org/debian/pool/main/m/moreutils/moreutils_$pkgver.tar.gz)
+md5sums=('c6f1eb13132a88ce053be709aa2625d2')
+
+build() {
+ cd $srcdir/$pkgname
+ sed -i 's|schema/dtd/4.4|xml-dtd-4.5|g' *.docbook
+ make DOCBOOK2XMAN=docbook2man
+}
+
+package() {
+ cd $srcdir/$pkgname
+ make PREFIX=$pkgdir/usr install
+ chmod 0644 $pkgdir/usr/share/man/man1/*
+
+ mv $pkgdir/usr/share/man/man1/ts.1 $pkgdir/usr/share/man/man1/ts.1moreutils
+
+ mv $pkgdir/usr/share/man/man1/parallel.1 $pkgdir/usr/share/man/man1/parallel-moreutils.1
+ mv $pkgdir/usr/bin/parallel $pkgdir/usr/bin/parallel-moreutils
+}
diff --git a/community/mosh/PKGBUILD b/community/mosh/PKGBUILD
new file mode 100644
index 000000000..41df99725
--- /dev/null
+++ b/community/mosh/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 68685 2012-03-31 16:54:07Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Christian Neukirchen <chneukirchen@gmail.com>
+# Contributor: Thomas Weißschuh <thomas_weissschuh lavabit.com>
+
+pkgname=mosh
+pkgver=1.2.4
+pkgrel=1
+pkgdesc='Mobile shell, surviving disconnects with local echo and line editing'
+arch=('x86_64' 'i686')
+url='http://mosh.mit.edu/'
+license=('GPL3')
+depends=('protobuf' 'ncurses' 'zlib' 'openssh' 'perl' 'perl-io-tty' 'libutempter')
+source=("http://$pkgname.mit.edu/$pkgname-$pkgver.tar.gz")
+sha256sums=('e74d0d323226046e402dd469a176075fc2013b69b0e67cea49762c957175df46')
+optdepends=('ufw-extras')
+options=('!emptydirs')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 "conf/bash_completion.d/$pkgname" \
+ "$pkgdir/usr/share/bash-completion/completions/$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/motion/PKGBUILD b/community/motion/PKGBUILD
new file mode 100644
index 000000000..d4b737918
--- /dev/null
+++ b/community/motion/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 90689 2013-05-13 14:29:50Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=motion
+pkgver=3.2.12
+pkgrel=9
+pkgdesc="A software motion detector which grabs images from video4linux devices and/or from webcams"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome"
+depends=('libjpeg' 'v4l-utils' 'ffmpeg-compat')
+backup=('etc/motion/motion.conf')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ motion.service
+ motion.tmpfiles
+ ffmpeg-0.8.patch
+ linux-headers.patch
+ ffmpeg-compat.patch)
+md5sums=('1ba0065ed50509aaffb171594c689f46'
+ 'b5b589f8f39939b7a1802cbd9dbe2e1a'
+ 'f863f8c025f7f025b2178def8418decd'
+ 'd36687710837d69fbce4608b1345fa34'
+ 'd8c3c4fdded5cfbd729710475559a21d'
+ 'e85c596292aceb425fcf17e5072e2fff')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
+ patch -Np1 -i $srcdir/ffmpeg-0.8.patch
+ patch -Np1 -i $srcdir/linux-headers.patch
+ patch -Np1 -i $srcdir/ffmpeg-compat.patch
+ autoreconf
+ ./configure --prefix=/usr \
+ --without-pgsql \
+ --without-mysql \
+ --sysconfdir=/etc/motion \
+ --with-ffmpeg
+ make
+}
+
+package(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ mv "${pkgdir}/etc/motion/motion-dist.conf" "${pkgdir}/etc/motion/motion.conf"
+ install -Dm644 "${srcdir}/motion.service" "${pkgdir}/usr/lib/systemd/system/motion.service"
+ install -Dm644 "${srcdir}/motion.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/motion.conf"
+}
diff --git a/community/motion/ffmpeg-0.8.patch b/community/motion/ffmpeg-0.8.patch
new file mode 100644
index 000000000..5dcc6e686
--- /dev/null
+++ b/community/motion/ffmpeg-0.8.patch
@@ -0,0 +1,112 @@
+diff -aur motion-3.2.12/ffmpeg.c motion-3.2.12.new/ffmpeg.c
+--- motion-3.2.12/ffmpeg.c 2010-06-01 08:48:23.000000000 +0200
++++ motion-3.2.12.new/ffmpeg.c 2011-10-31 17:25:03.000000000 +0100
+@@ -14,7 +14,7 @@
+
+ #include "ffmpeg.h"
+ #include "motion.h"
+-
++#include <libavformat/avformat.h>
+ #if LIBAVCODEC_BUILD > 4680
+ /* FFmpeg after build 4680 doesn't have support for mpeg1 videos with
+ * non-standard framerates. Previous builds contained a broken hack
+@@ -228,10 +228,12 @@
+ mpeg1_file_protocol.url_close = file_protocol.url_close;
+
+ /* Register the append file protocol. */
+-#if LIBAVFORMAT_BUILD >= (52<<16 | 31<<8)
+- av_register_protocol(&mpeg1_file_protocol);
++#ifdef have_av_register_protocol2
++ av_register_protocol2(&mpeg1_file_protocol, sizeof(mpeg1_file_protocol));
++#elif defined have_av_register_protocol
++ av_register_protocol(&mpeg1_file_protocol);
+ #else
+- register_protocol(&mpeg1_file_protocol);
++# warning av_register_protocolXXX missing
+ #endif
+ }
+
+@@ -244,7 +246,7 @@
+ const char *ext;
+ AVOutputFormat *of = NULL;
+
+- /* Here, we use guess_format to automatically setup the codec information.
++ /* Here, we use av_guess_format to automatically setup the codec information.
+ * If we are using msmpeg4, manually set that codec here.
+ * We also dynamically add the file extension to the filename here. This was
+ * done to support both mpeg1 and mpeg4 codecs since they have different extensions.
+@@ -258,7 +260,7 @@
+ /* We use "mpeg1video" for raw mpeg1 format. Using "mpeg" would
+ * result in a muxed output file, which isn't appropriate here.
+ */
+- of = guess_format("mpeg1video", NULL, NULL);
++ of = av_guess_format("mpeg1video", NULL, NULL);
+ if (of) {
+ /* But we want the trailer to be correctly written. */
+ of->write_trailer = mpeg1_write_trailer;
+@@ -270,24 +272,24 @@
+ #endif
+ } else if (strcmp(codec, "mpeg4") == 0) {
+ ext = ".avi";
+- of = guess_format("avi", NULL, NULL);
++ of = av_guess_format("avi", NULL, NULL);
+ } else if (strcmp(codec, "msmpeg4") == 0) {
+ ext = ".avi";
+- of = guess_format("avi", NULL, NULL);
++ of = av_guess_format("avi", NULL, NULL);
+ if (of) {
+ /* Manually override the codec id. */
+ of->video_codec = CODEC_ID_MSMPEG4V2;
+ }
+ } else if (strcmp(codec, "swf") == 0) {
+ ext = ".swf";
+- of = guess_format("swf", NULL, NULL);
++ of = av_guess_format("swf", NULL, NULL);
+ } else if (strcmp(codec, "flv") == 0) {
+ ext = ".flv";
+- of = guess_format("flv", NULL, NULL);
++ of = av_guess_format("flv", NULL, NULL);
+ of->video_codec = CODEC_ID_FLV1;
+ } else if (strcmp(codec, "ffv1") == 0) {
+ ext = ".avi";
+- of = guess_format("avi", NULL, NULL);
++ of = av_guess_format("avi", NULL, NULL);
+ if (of) {
+ /* Use the FFMPEG Lossless Video codec (experimental!).
+ Requires strict_std_compliance to be <= -2 */
+@@ -295,7 +297,7 @@
+ }
+ } else if (strcmp(codec, "mov") == 0) {
+ ext = ".mov";
+- of = guess_format("mov", NULL, NULL);
++ of = av_guess_format("mov", NULL, NULL);
+ } else {
+ motion_log(LOG_ERR, 0, "ffmpeg_video_codec option value %s is not supported", codec);
+ return NULL;
+@@ -377,7 +379,7 @@
+
+ ffmpeg->c = c = AVSTREAM_CODEC_PTR(ffmpeg->video_st);
+ c->codec_id = ffmpeg->oc->oformat->video_codec;
+- c->codec_type = CODEC_TYPE_VIDEO;
++ c->codec_type = AVMEDIA_TYPE_VIDEO;
+ is_mpeg1 = c->codec_id == CODEC_ID_MPEG1VIDEO;
+
+ if (strcmp(ffmpeg_video_codec, "ffv1") == 0)
+@@ -646,7 +648,7 @@
+ if (ffmpeg->oc->oformat->flags & AVFMT_RAWPICTURE) {
+ /* raw video case. The API will change slightly in the near future for that */
+ #ifdef FFMPEG_AVWRITEFRAME_NEWAPI
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ pkt.data = (uint8_t *)pic;
+ pkt.size = sizeof(AVPicture);
+ ret = av_write_frame(ffmpeg->oc, &pkt);
+@@ -667,7 +669,7 @@
+ #ifdef FFMPEG_AVWRITEFRAME_NEWAPI
+ pkt.pts = AVSTREAM_CODEC_PTR(ffmpeg->video_st)->coded_frame->pts;
+ if (AVSTREAM_CODEC_PTR(ffmpeg->video_st)->coded_frame->key_frame) {
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ }
+ pkt.data = ffmpeg->video_outbuf;
+ pkt.size = out_size;
diff --git a/community/motion/ffmpeg-compat.patch b/community/motion/ffmpeg-compat.patch
new file mode 100644
index 000000000..278166e18
--- /dev/null
+++ b/community/motion/ffmpeg-compat.patch
@@ -0,0 +1,172 @@
+diff -wbBur motion-3.2.12/configure.in motion-3.2.12.q/configure.in
+--- motion-3.2.12/configure.in 2010-06-01 10:48:23.000000000 +0400
++++ motion-3.2.12.q/configure.in 2012-06-20 13:51:42.000000000 +0400
+@@ -290,163 +290,11 @@
+ fi
+
+
+-#
+-# Check for libavcodec and libavformat from ffmpeg
+-#
+-FFMPEG_DIR="yes"
+-FFMPEG_OK="no_found"
+-FFMPEG_OBJ=""
+-AC_ARG_WITH(ffmpeg,
+-[ --with-ffmpeg[=DIR] Specify the prefix for the install path for
+- libavcodec/libavformat (part of ffmpeg) be able to
+- encode mpeg movies realtime.
+- If this is not specified motion will try to find
+- the libraries in /usr and /usr/local.
+- ],
+-FFMPEG_DIR="$withval"
+-)
+-#
+-# --without-ffmpeg or with-ffmpeg=no
+-#
+-if test "${FFMPEG_DIR}" = "no"; then
+- AC_MSG_CHECKING(for ffmpeg)
+- AC_MSG_RESULT(skipping)
+-#
+-# with-ffmpeg=<dir> or nothing
+-#
+-else if test "${FFMPEG_DIR}" = "yes"; then
+- # AUTODETECT STATIC/SHARED LIB
+- AC_MSG_CHECKING(for ffmpeg autodetecting)
+-
+- if test -f /usr/lib64/libavcodec.a -o -f /usr/lib64/libavcodec.so && test -f /usr/lib64/libavformat.a -o -f /usr/lib64/libavformat.so ; then
+- AC_MSG_RESULT(found in /usr/lib64)
+- FFMPEG_OK="found"
+- FFMPEG_LIB="/usr/lib64"
+- FFMPEG_DIR="/usr"
+- elif test -f /usr/lib/libavcodec.a -o -f /usr/lib/libavcodec.so && test -f /usr/lib/libavformat.a -o -f /usr/lib/libavformat.so ; then
+- AC_MSG_RESULT(found in /usr/lib)
+- FFMPEG_OK="found"
+- FFMPEG_LIB="/usr/lib"
+- FFMPEG_DIR="/usr"
+- elif test -f /usr/local/lib/libavcodec.a -o -f /usr/local/lib/libavcodec.so && test -f /usr/local/lib/libavformat.a -o -f /usr/local/lib/libavformat.so ; then
+- AC_MSG_RESULT(found in /usr/local/lib)
+- FFMPEG_OK="found"
+- FFMPEG_LIB="/usr/local/lib"
+- FFMPEG_DIR="/usr/local"
+- else
+- AC_MSG_RESULT(not found)
+- echo ""
+- echo "**********************************************"
+- echo "* libavcodec.a or libavcodec.so or *"
+- echo "* libavformat.a or libavformat.so not found: *"
+- echo "* ALL FFMPEG FEATURES DISABLED *"
+- echo "* *"
+- echo "* Please read the Motion Guide for help: *"
+- echo "* http://motion.sourceforge.net *"
+- echo "**********************************************"
+- echo ""
+- fi
+-else
+- AC_MSG_CHECKING(for ffmpeg in -> [${FFMPEG_DIR}] <-)
+- if test -f ${FFMPEG_DIR}/lib/libavcodec.a -o -f ${FFMPEG_DIR}/lib/libavcodec.so && test -f ${FFMPEG_DIR}/lib/libavformat.a -o -f ${FFMPEG_DIR}/lib/libavformat.so ; then
+- AC_MSG_RESULT(found)
+- FFMPEG_OK="found"
+- FFMPEG_LIB="${FFMPEG_DIR}/lib"
+- elif test -f ${FFMPEG_DIR}/libavcodec.a -o -f ${FFMPEG_DIR}/libavcodec.so && test -f ${FFMPEG_DIR}/libavformat.a -o -f ${FFMPEG_DIR}/libavformat.so ; then
+- AC_MSG_RESULT(found)
+- FFMPEG_LIB="${FFMPEG_DIR}"
+- FFMPEG_OK="found"
+- else
+- AC_MSG_RESULT(not found)
+- if test "${FFMPEG_OK}" != "found"; then
+- echo ""
+- echo "**********************************************"
+- echo "* libavcodec.a or libavcodec.so or *"
+- echo "* libavformat.a or libavformat.so not found: *"
+- echo "* ALL FFMPEG FEATURES DISABLED *"
+- echo "* *"
+- echo "* Please read the Motion Guide for help: *"
+- echo "* http://motion.sourceforge.net *"
+- echo "**********************************************"
+- echo ""
+- fi
+- fi
+-fi
+-
+-#
+-# Now check for ffmpeg headers ( avformat.h ) if ffmpeg libs were found
+-#
+-
+-if test "${FFMPEG_OK}" = "found"; then
+- AC_MSG_CHECKING(for ffmpeg headers in ${FFMPEG_DIR})
+-
+- if test -f ${FFMPEG_DIR}/include/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include"
+- elif test -f ${FFMPEG_DIR}/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}"
+- elif test -f ${FFMPEG_DIR}/include/ffmpeg/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/ffmpeg/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include/ffmpeg"
+- elif test -f ${FFMPEG_DIR}/include/libavformat/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/libavformat/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include -DFFMPEG_NEW_INCLUDES"
+- elif test -f ${FFMPEG_DIR}/include/ffmpeg/libavformat/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/ffmpeg/libavformat/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include/ffmpeg -DFFMPEG_NEW_INCLUDES"
+- else
+- AC_MSG_RESULT(not found)
+- FFMPEG_OK="no_found"
+- echo "**********************************************"
+- echo "* avformat.h not found: *"
+- echo "* ALL FFMPEG FEATURES DISABLED *"
+- echo "* *"
+- echo "* Please read the Motion Guide for help: *"
+- echo "* http://motion.sourceforge.net *"
+- echo "**********************************************"
+- echo ""
+- fi
+-
+-#
+-# If ffmpeg libs and headers have been found
+-#
+-
+- if test "${FFMPEG_OK}" = "found"; then
+- TEMP_LIBS="$TEMP_LIBS -L${FFMPEG_LIB} -lavformat -lavcodec -lavutil -lm -lz"
+- TEMP_LDFLAGS="${TEMP_LDFLAGS} -L${FFMPEG_LIB}"
+- TEMP_CFLAGS="${TEMP_CFLAGS} -DHAVE_FFMPEG ${FFMPEG_CFLAGS}"
+-
+- FFMPEG_OBJ="ffmpeg.o"
+- AC_SUBST(FFMPEG_OBJ)
+-
+- AC_MSG_CHECKING([file_protocol is defined in ffmpeg ?])
+- saved_CFLAGS=$CFLAGS
+- saved_LIBS=$LIBS
+- CFLAGS="${FFMPEG_CFLAGS}"
+- LIBS="$TEMP_LIBS"
+-
+- AC_COMPILE_IFELSE(
+- [
+- #include <avformat.h>
+- URLProtocol test_file_protocol;
+- int main(void){
+- test_file_protocol.url_read = file_protocol.url_read;
+- return 0;
+- }
+- ],
+- [AC_MSG_RESULT(yes)],
+- [
+- AC_MSG_RESULT(no)
+- TEMP_CFLAGS="${TEMP_CFLAGS} -DHAVE_FFMPEG_NEW"
+- ]
+- )
+- CFLAGS=$saved_CFLAGS
+- LIBS=$saved_LIBS
+- fi
+-fi
+-fi
+-
++TEMP_CFLAGS+=" `pkg-config --cflags libavformat libavcodec` -DHAVE_FFMPEG -DFFMPEG_NEW_INCLUDES -DHAVE_FFMPEG_NEW"
++TEMP_LIBS+=" `pkg-config --libs libavformat libavcodec` -lavutil -Wl,-rpath /usr/lib/ffmpeg-compat"
++FFMPEG_OK=found
++FFMPEG_OBJ="ffmpeg.o"
++AC_SUBST(FFMPEG_OBJ)
+
+ #
+ # Check Mysql
diff --git a/community/motion/linux-headers.patch b/community/motion/linux-headers.patch
new file mode 100644
index 000000000..795c8aec5
--- /dev/null
+++ b/community/motion/linux-headers.patch
@@ -0,0 +1,35 @@
+diff -urN motion-3.2.12-OLD/motion.h motion-3.2.12-NEW/motion.h
+--- motion-3.2.12-OLD/motion.h 2010-05-31 23:48:23.000000000 -0700
++++ motion-3.2.12-NEW/motion.h 2011-08-30 02:11:08.000000000 -0700
+@@ -40,7 +40,7 @@
+
+ #define _LINUX_TIME_H 1
+ #if !defined(WITHOUT_V4L) && !defined(BSD)
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+ #endif
+
+ #include <pthread.h>
+diff -urN motion-3.2.12-OLD/track.c motion-3.2.12-NEW/track.c
+--- motion-3.2.12-OLD/track.c 2010-05-31 23:48:23.000000000 -0700
++++ motion-3.2.12-NEW/track.c 2011-08-30 23:05:09.000000000 -0700
+@@ -11,6 +11,7 @@
+ #include "motion.h"
+
+ #ifndef WITHOUT_V4L
++#include <linux/videodev2.h>
+ #include "pwc-ioctl.h"
+ #endif
+
+diff -urN motion-3.2.12-OLD/video.h motion-3.2.12-NEW/video.h
+--- motion-3.2.12-OLD/video.h 2010-05-31 23:48:23.000000000 -0700
++++ motion-3.2.12-NEW/video.h 2011-08-30 02:11:12.000000000 -0700
+@@ -12,7 +12,7 @@
+
+ #define _LINUX_TIME_H 1
+ #ifndef WITHOUT_V4L
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+ #include <sys/mman.h>
+ #include "pwc-ioctl.h"
+ #endif
diff --git a/community/motion/motion.service b/community/motion/motion.service
new file mode 100644
index 000000000..23aba29cd
--- /dev/null
+++ b/community/motion/motion.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Motion daemon
+After=local-fs.target
+
+[Service]
+ExecStart=/usr/bin/motion
+Type=forking
+#StandardOutput=null
+StandardError=null
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/motion/motion.tmpfiles b/community/motion/motion.tmpfiles
new file mode 100644
index 000000000..b558b66df
--- /dev/null
+++ b/community/motion/motion.tmpfiles
@@ -0,0 +1 @@
+D /var/run/motion 0755 root root
diff --git a/community/motion/rc.motion b/community/motion/rc.motion
new file mode 100644
index 000000000..5b4c65500
--- /dev/null
+++ b/community/motion/rc.motion
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/motion`
+case "$1" in
+ start)
+ stat_busy "Starting Motion"
+ mkdir -p /var/run/motion
+ [ -z "$PID" ] && /usr/bin/motion 1>/dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon motion
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Motion"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon motion
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community/mp3gain/PKGBUILD b/community/mp3gain/PKGBUILD
new file mode 100644
index 000000000..d3ec615a4
--- /dev/null
+++ b/community/mp3gain/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 66240 2012-02-23 05:13:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+# Contributor: keith <keith@hubbard.net>
+
+pkgname=mp3gain
+pkgver=1.5.2
+pkgrel=2
+pkgdesc="Lossless mp3 normalizer with statistical analysis "
+arch=('i686' 'x86_64')
+url="http://mp3gain.sourceforge.net"
+license=("GPL")
+depends=('glibc')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-${pkgver//./_}-src.zip
+ build-fix.patch)
+md5sums=('d888563538ec863eeea8afc8207b2739'
+ '20680cbada13ba941b0532ff94e583e1')
+
+build() {
+ cd $srcdir
+
+ mkdir -p $pkgdir/usr/bin
+ patch -p0 Makefile <$srcdir/build-fix.patch
+
+ make OSTYPE=linux
+ make OSTYPE=linux INSTALL_PATH=$pkgdir/usr/bin install
+}
diff --git a/community/mp3gain/build-fix.patch b/community/mp3gain/build-fix.patch
new file mode 100644
index 000000000..6297f0a52
--- /dev/null
+++ b/community/mp3gain/build-fix.patch
@@ -0,0 +1,22 @@
+22d21
+< ifneq ($(OSTYPE),beos)
+24,26d22
+< else
+< INSTALL_PATH= $(HOME)/config/bin
+< endif
+28,29d23
+< # BeOS doesn't have libm (it's all in libroot)
+< ifneq ($(OSTYPE),beos)
+31,34d24
+< else
+< # BeOS: without this it wants to use bcopy() :^)
+< CFLAGS+= -DHAVE_MEMCPY
+< endif
+56,58d45
+< ifeq ($(OSTYPE),beos)
+< mimeset -f mp3gain$(EXE_EXT)
+< endif
+63,65d49
+< ifeq ($(OSTYPE),beos)
+< mimeset -f "$(INSTALL_PATH)/mp3gain$(EXE_EXT)"
+< endif
diff --git a/community/mp3info/ChangeLog b/community/mp3info/ChangeLog
new file mode 100644
index 000000000..7fd5bbf99
--- /dev/null
+++ b/community/mp3info/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-26 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
diff --git a/community/mp3info/PKGBUILD b/community/mp3info/PKGBUILD
new file mode 100644
index 000000000..e661e929c
--- /dev/null
+++ b/community/mp3info/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 66241 2012-02-23 05:14:32Z spupykin $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Vinay S Shastry <vinayshastry@gmail.com>
+
+pkgname=mp3info
+pkgver=0.8.5a
+pkgrel=4
+pkgdesc="An MP3 technical info viewer and ID3 1.x tag editor"
+arch=('i686' 'x86_64')
+url="http://ibiblio.org/mp3info/"
+license=('GPL')
+depends=('ncurses' 'gtk2' )
+source=(http://ibiblio.org/pub/linux/apps/sound/mp3-utils/$pkgname/$pkgname-$pkgver.tgz)
+md5sums=('cb7b619a10a40aaac2113b87bb2b2ea2')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ sed -i "s:-O2:${CFLAGS}:" Makefile
+ sed -i "s:/usr/bin/install:/bin/install:" Makefile
+
+ make
+
+ install -d ${pkgdir}/usr/bin ${pkgdir}/usr/share/man/man1
+ make prefix=${pkgdir}/usr mandir=${pkgdir}/usr/share/man/man1 install
+}
diff --git a/community/mp3splt-gtk/PKGBUILD b/community/mp3splt-gtk/PKGBUILD
new file mode 100644
index 000000000..3fc75d039
--- /dev/null
+++ b/community/mp3splt-gtk/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 88581 2013-04-20 15:31:43Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=mp3splt-gtk
+pkgver=0.8.2
+pkgrel=1
+pkgdesc="Split mp3 and ogg files without decoding"
+arch=('i686' 'x86_64')
+url="http://mp3splt.sourceforge.net/"
+license=('GPL')
+depends=('desktop-file-utils' 'gstreamer0.10-ffmpeg' 'gtk3' 'libmp3splt')
+makedepends=('pkgconfig')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/sourceforge/mp3splt/$pkgname-$pkgver.tar.gz)
+sha256sums=('5634d0a6d15f73affc361c49cafb96a5e53fa2e65a6d7723e74a3a79d3f27c88')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --disable-gnome --disable-mp3splttest --disable-audacious
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/mp3splt-gtk/mp3splt-gtk.changelog b/community/mp3splt-gtk/mp3splt-gtk.changelog
new file mode 100644
index 000000000..724bd3ded
--- /dev/null
+++ b/community/mp3splt-gtk/mp3splt-gtk.changelog
@@ -0,0 +1,33 @@
+2013-04-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * mp3splt-gtk 0.8.2-1
+
+2013-03-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * mp3splt-gtk 0.8.1-1
+
+2012-09-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * mp3splt-gtk 0.7.3-1
+
+2012-05-16 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * mp3splt-gtk 0.7.2-1
+
+2012-02-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * mp3splt-gtk 0.7.1-1
+
+2011-08-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * mp3splt-gtk 0.7-1
+
+2011-04-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * mp3splt-gtk 0.6.1a-1
+ * FS#23275 fixed
+
+2010-10-11 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.6
+
+2010-04-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.5.9
+
+2009-11-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.5.8a
+
+2009-11-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Moved to [community] - 67 votes in AUR
diff --git a/community/mp3splt-gtk/mp3splt-gtk.install b/community/mp3splt-gtk/mp3splt-gtk.install
new file mode 100644
index 000000000..de3e0f510
--- /dev/null
+++ b/community/mp3splt-gtk/mp3splt-gtk.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo "Updating desktop and mime database ..."
+ update-desktop-database -q
+}
diff --git a/community/mp3unicode/PKGBUILD b/community/mp3unicode/PKGBUILD
new file mode 100644
index 000000000..5a76772f3
--- /dev/null
+++ b/community/mp3unicode/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 76345 2012-09-16 07:08:17Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=mp3unicode
+pkgver=1.2.1
+pkgrel=1
+pkgdesc="A command line utility to convert ID3 tags in mp3 files between different encodings"
+arch=('i686' 'x86_64')
+url="http://mp3unicode.yellowsite.ru/"
+license=('GPL')
+depends=('taglib')
+source=(https://github.com/downloads/alonbl/$pkgname/$pkgname-$pkgver.tar.bz2)
+sha256sums=('375b432ce784407e74fceb055d115bf83b1bd04a83b95256171e1a36e00cfe07')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/mpck/PKGBUILD b/community/mpck/PKGBUILD
new file mode 100644
index 000000000..a1b381592
--- /dev/null
+++ b/community/mpck/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 81980 2013-01-05 08:44:35Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: damir <damir@archlinux.org>
+
+pkgname=mpck
+pkgver=0.19
+pkgrel=2
+license=('GPL')
+pkgdesc="Reads MP3 files and tries to determine if they are correct"
+arch=('i686' 'x86_64')
+url="http://checkmate.gissen.nl/"
+depends=('glibc')
+source=("http://checkmate.gissen.nl/checkmate-${pkgver}.tar.gz")
+md5sums=('f72114b0982a101b68ddeb65f99b84f7')
+
+build() {
+ cd "${srcdir}/checkmate-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/checkmate-${pkgver}"
+
+ make prefix="${pkgdir}/usr" install
+}
diff --git a/community/mpdscribble/PKGBUILD b/community/mpdscribble/PKGBUILD
new file mode 100644
index 000000000..f7198378c
--- /dev/null
+++ b/community/mpdscribble/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 82753 2013-01-23 20:52:45Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowwski.pl>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: evr <evanroman at gmail>
+# Contributor: Luiz Ribeiro <luizribeiro@gmail.com>
+
+pkgname=mpdscribble
+pkgver=0.22
+pkgrel=6
+pkgdesc='MPD client which submits track info to Last.fm'
+url='http://mpd.wikia.com/wiki/Client:Mpdscribble'
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libsoup' 'glib2' 'libmpdclient')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/musicpd/mpdscribble-${pkgver}.tar.bz2
+ service)
+sha256sums=('1cde2b5f8c70f0e3e6f059d01bf0b0f2eac2b29fbcd14b01a8a5103e603feb41'
+ '8a6568235e8b2ac7535a6f99f4401450a4162bac0cacb938af2ec39a808e1132')
+
+build() {
+ cd mpdscribble-$pkgver
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-http-client=soup
+
+ make
+}
+
+package() {
+ cd mpdscribble-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${srcdir}"/service \
+ "${pkgdir}"/usr/lib/systemd/system/mpdscribble.service
+
+ # default config is really an example
+ install -D -m644 "${pkgdir}"/etc/mpdscribble.conf \
+ "${pkgdir}"/usr/share/mpdscribble/mpdscribble.conf.example
+ rm -f "${pkgdir}"/etc/mpdscribble.conf
+
+ install -d "${pkgdir}"/var/cache/mpdscribble
+ touch "${pkgdir}"/var/cache/mpdscribble/mpdscribble.cache
+}
diff --git a/community/mpdscribble/mpdscribble.install b/community/mpdscribble/mpdscribble.install
new file mode 100644
index 000000000..e7038d5d8
--- /dev/null
+++ b/community/mpdscribble/mpdscribble.install
@@ -0,0 +1,22 @@
+post_install() {
+ echo 'An example config is provided in /usr/share/mpdscribble/mpdscribble.conf.example'
+ echo
+ echo 'For system-wide config copy this file to /etc/mpdscribble.conf'
+ echo 'For per-user config copy this file to ~/.mpdscribble/mpdscribble.conf'
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+pre_upgrade() {
+ # removed /etc/mpdscribble.conf on FEB 19 2011
+ # only display warning for people with mpdscribble older then 0.21
+ if (( "$(vercmp 0.21-1 $2)" > 0 )) && [[ -f /etc/mpdscribble.conf ]]
+ then
+ echo "$1 is new $2 is old"
+ cp /etc/mpdscribble.conf /etc/mpdscribble.conf.oldbackup
+ echo 'The package does not provide /etc/mpdscribble.conf anymore.'
+ echo 'Copied /etc/mpdscribble.conf to /etc/mpdscribble.conf.oldbackup'
+ echo
+ echo 'The example file is now located at /etc/mpdscribble.conf.example'
+ fi
+}
diff --git a/community/mpdscribble/service b/community/mpdscribble/service
new file mode 100644
index 000000000..25f64d7d5
--- /dev/null
+++ b/community/mpdscribble/service
@@ -0,0 +1,9 @@
+[Unit]
+Description=last.fm updater for MPD
+After=mpd.service
+
+[Service]
+ExecStart=/usr/bin/mpdscribble --no-daemon
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mpgtx/PKGBUILD b/community/mpgtx/PKGBUILD
new file mode 100644
index 000000000..42c9a8080
--- /dev/null
+++ b/community/mpgtx/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 55451 2011-09-12 23:46:30Z ebelanger $
+# Contributor: Peter Baldwin <bald_pete@hotmail.com>
+
+pkgname=mpgtx
+pkgver=1.3.1
+pkgrel=3
+pkgdesc="A command line MPEG audio/video/system toolkit"
+arch=('i686' 'x86_64')
+url="http://mpgtx.sourceforge.net"
+license=('GPL')
+depends=('gcc-libs')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('d628060aa04ad3b40a175bf35f5167cf')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make PREFIX="$pkgdir/usr" manprefix="${pkgdir}/usr/share" install
+}
diff --git a/community/mplayer2/PKGBUILD b/community/mplayer2/PKGBUILD
new file mode 100644
index 000000000..7eb0e78e8
--- /dev/null
+++ b/community/mplayer2/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 92601 2013-06-09 16:56:19Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Martin Panter <vadmium+aur@gmail.com>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+
+pkgname=mplayer2
+pkgver=20130428
+pkgrel=1
+pkgdesc='Advanced general-purpose media player. A fork of the original MPlayer project'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://www.mplayer2.org/'
+install=$pkgname.install
+depends=('a52dec' 'aalib' 'cdparanoia' 'desktop-file-utils' 'enca' 'faad2' 'ffmpeg'
+ 'fontconfig' 'freetype2' 'jack' 'ladspa' 'lame' 'libass' 'libbluray'
+ 'libcaca' 'libcdio-paranoia' 'libdca' 'libdvdcss' 'libdvdnav' 'libdvdread'
+ 'libgl' 'libjpeg' 'libmad' 'libpulse' 'libquvi' 'libtheora' 'libvdpau'
+ 'libxinerama' 'libxss' 'libxv' 'libxxf86dga' 'libxxf86vm' 'lirc-utils'
+ 'mpg123' 'ncurses' 'sdl' 'ttf-dejavu')
+makedepends=('mesa' 'mesa-libgl' 'unzip' 'yasm' 'python' 'python-docutils' 'git')
+backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
+provides=('mplayer')
+conflicts=('mplayer')
+options=(!emptydirs)
+source=(git://git.mplayer2.org/mplayer2.git#commit=6c87a981baa)
+sha256sums=('SKIP')
+
+prepare() {
+ cd $pkgname
+ sed 's/gmplayer/mplayer/g' -i etc/mplayer.desktop
+ find -type f -exec sed -e 's/python3/python/' -i {} \;
+}
+
+build() {
+ cd $pkgname
+
+ ./configure --prefix=/usr --confdir=/etc/mplayer \
+ --enable-translation --language=all \
+ --enable-runtime-cpudetection \
+ --enable-joystick \
+ --disable-speex \
+ --disable-openal \
+ --disable-libdv \
+ --disable-musepack
+ make
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR=$pkgdir install
+
+ install -Dm644 etc/{codecs.conf,input.conf,example.conf} $pkgdir/etc/mplayer/
+ install -dm755 $pkgdir/usr/share/mplayer/
+ ln -s /usr/share/fonts/TTF/DejaVuSans.ttf $pkgdir/usr/share/mplayer/subfont.ttf
+
+ install -dm755 $pkgdir/usr/share/applications/
+ install -m 644 etc/mplayer.desktop $pkgdir/usr/share/applications/
+}
diff --git a/community/mplayer2/mplayer2.install b/community/mplayer2/mplayer2.install
new file mode 100644
index 000000000..660593cf5
--- /dev/null
+++ b/community/mplayer2/mplayer2.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/mrtg/PKGBUILD b/community/mrtg/PKGBUILD
new file mode 100644
index 000000000..344ea6af2
--- /dev/null
+++ b/community/mrtg/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 93774 2013-07-10 07:27:14Z bpiotrowski $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
+
+pkgname=mrtg
+pkgver=2.17.4
+pkgrel=2
+pkgdesc="Multi Router Traffic Grapher."
+arch=('i686' 'x86_64')
+url="http://oss.oetiker.ch/mrtg/"
+license=('GPL')
+depends=('gd' 'perl')
+source=("http://oss.oetiker.ch/mrtg/pub/${pkgname}-${pkgver}.tar.gz")
+md5sums=('197565e97f97212eef7b414463c8d40c')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed 's|LD_RUN_PATH=$(LD_RUN_PATH) ||g' -i Makefile.in
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make prefix=${pkgdir}/usr install
+}
diff --git a/community/mtasc/PKGBUILD b/community/mtasc/PKGBUILD
new file mode 100644
index 000000000..31875d2d4
--- /dev/null
+++ b/community/mtasc/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 66242 2012-02-23 05:15:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Niel Drummond <niel.drummond@grumpytoad.org>
+
+pkgname=mtasc
+pkgver=20091229
+pkgrel=4
+pkgdesc="An open source flash (swf) compiler"
+arch=(i686 x86_64)
+url="http://mtasc.org/"
+license=('GPL2')
+depends=('zlib')
+makedepends=('ocaml' 'cvs')
+source=("http://arch.p5n.pp.ru/~sergej/dl/mtasc-$pkgver-1.tar.gz")
+md5sums=('e3b1f31ae906ebbd92678fdac0fdd411')
+
+build() {
+ cd $srcdir/mtasc-$pkgver
+ (cd ocaml/extc && make)
+ ocaml install.ml
+}
+
+package() {
+ cd $srcdir/mtasc-$pkgver
+ install -D -m755 $srcdir/mtasc-$pkgver/bin/${pkgname} $pkgdir/usr/bin/${pkgname}
+ for f in $( cd ocaml/mtasc/ && find ./{std,std8} -type f -iname '*.as' | grep -iv cvs ); do
+ install -D -m644 ocaml/mtasc/$f $pkgdir/usr/share/mtasc/$f
+ done
+}
diff --git a/community/mtpaint/PKGBUILD b/community/mtpaint/PKGBUILD
new file mode 100644
index 000000000..5995d6e71
--- /dev/null
+++ b/community/mtpaint/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90064 2013-05-06 19:38:31Z foutrelis $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: yosh64 <yosh64.at.gmail.dot.com>
+
+pkgname=mtpaint
+pkgver=3.40
+pkgrel=6
+pkgdesc="Simple GTK2 paint program for creating icons and pixel based artwork"
+arch=('x86_64' 'i686')
+url="http://mtpaint.sourceforge.net/"
+license=('GPL3')
+depends=('gtk2' 'giflib' 'openjpeg' 'desktop-file-utils' 'lcms2')
+install=mtpaint.install
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2"
+ "libpng15.patch")
+sha256sums=('ef321d2b404839c7b909bdf5283eb22a37fbdd35b4cc9e380ddc400573d7c890'
+ 'be51d45d1146d6c61d1c2c12d1712134da5048dd7314e2741ff336cac6838de3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np1 -i ../libpng15.patch
+ ./configure --prefix=/usr --mandir=/usr/share/man man intl gif jpeg tiff
+ sed -i 's:-lpng:-lpng -lgif:' _conf.txt
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
+
diff --git a/community/mtpaint/libpng15.patch b/community/mtpaint/libpng15.patch
new file mode 100644
index 000000000..7df3b2127
--- /dev/null
+++ b/community/mtpaint/libpng15.patch
@@ -0,0 +1,21 @@
+diff -upr mtpaint-3.31.orig/src/png.c mtpaint-3.31/src/png.c
+--- mtpaint-3.31.orig/src/png.c 2010-01-25 00:43:07.000000000 +0200
++++ mtpaint-3.31/src/png.c 2010-01-25 00:43:39.000000000 +0200
+@@ -539,7 +539,7 @@ static int load_png(char *file_name, ls_
+ if (settings->bpp == 3)
+ {
+ png_set_strip_16(png_ptr);
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ png_set_palette_to_rgb(png_ptr);
+ png_set_gray_to_rgb(png_ptr);
+
+@@ -644,7 +644,7 @@ static int load_png(char *file_name, ls_
+ png_set_strip_alpha(png_ptr);
+ png_set_packing(png_ptr);
+ if ((color_type == PNG_COLOR_TYPE_GRAY) && (bit_depth < 8))
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ for (i = 0; i < height; i++)
+ {
+ row_pointers[i] = settings->img[CHN_IMAGE] + i * width;
diff --git a/community/mtpaint/mtpaint.install b/community/mtpaint/mtpaint.install
new file mode 100644
index 000000000..ad97d7bab
--- /dev/null
+++ b/community/mtpaint/mtpaint.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mtpfs/PKGBUILD b/community/mtpfs/PKGBUILD
new file mode 100644
index 000000000..7f2731b40
--- /dev/null
+++ b/community/mtpfs/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 67994 2012-03-16 19:16:02Z lcarlier $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: yugrotavele <yugrotavele at archlinux dot us>
+# Contributor: Anton Pirogov <anton.pirogov <AT> googlemail.com>
+
+pkgname=mtpfs
+pkgver=1.1
+pkgrel=1
+pkgdesc="A FUSE filesystem that supports reading and writing from any MTP device"
+arch=('i686' 'x86_64')
+url="http://www.adebenham.com/mtpfs/"
+license=('GPL3')
+depends=('libmtp' 'glib2' 'libid3tag' 'fuse' 'libmad')
+makedepends=('pkg-config')
+source=(http://www.adebenham.com/files/mtp/${pkgname}-${pkgver}.tar.gz)
+md5sums=('a299cadca336e6945b7275b44c6e8d27')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/muffin/PKGBUILD b/community/muffin/PKGBUILD
new file mode 100644
index 000000000..a577edb80
--- /dev/null
+++ b/community/muffin/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 91466 2013-05-23 00:58:44Z faidoc $
+# Maintainer: Alexandre Filgueira <alexfilgueira@cinnarch.com>
+# Contributor: Adam Hani Schakaki <adam@schakaki.net>
+# Contributor: Ner0
+
+pkgname=muffin
+pkgver=1.8.2
+pkgrel=1
+pkgdesc="Cinnamon window manager based on Mutter"
+arch=('i686' 'x86_64')
+url="https://github.com/linuxmint/muffin"
+license=('GPL')
+depends=('clutter' 'gobject-introspection' 'gsettings-desktop-schemas' \
+ 'libcanberra' 'startup-notification' 'zenity' 'dconf')
+makedepends=('intltool' 'gnome-doc-utils' 'gnome-common')
+options=('!libtool' '!emptydirs')
+install=$pkgname.install
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/muffin/archive/$pkgver.tar.gz"
+ "switch-applications.patch")
+sha256sums=('903c6ab5e228c8a1b8e05f460ba34c111e8a92ce9382ebd0b014416af4dd7049'
+ '206eefac342b08e061c4eedfb6b9e0c96e2eae8fb9535f52f20bf50464381a96')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ # Fix windows switcher keybinding with default settings in GNOME 3.8
+ patch -Np1 -i ../switch-applications.patch
+
+
+ PYTHON=python2 ./autogen.sh --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/muffin \
+ --localstatedir=/var --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/muffin/muffin.install b/community/muffin/muffin.install
new file mode 100644
index 000000000..2daef58d5
--- /dev/null
+++ b/community/muffin/muffin.install
@@ -0,0 +1,10 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install
+}
+post_remove() {
+ post_install
+}
diff --git a/community/muffin/switch-applications.patch b/community/muffin/switch-applications.patch
new file mode 100644
index 000000000..61b727b57
--- /dev/null
+++ b/community/muffin/switch-applications.patch
@@ -0,0 +1,20 @@
+diff -Naur linuxmint-muffin-1ad6bd4.orig/src/core/keybindings.c linuxmint-muffin-1ad6bd4/src/core/keybindings.c
+--- linuxmint-muffin-1ad6bd4.orig/src/core/keybindings.c 2013-04-15 15:53:35.000000000 +0200
++++ linuxmint-muffin-1ad6bd4/src/core/keybindings.c 2013-04-24 18:37:54.028549911 +0200
+@@ -3774,14 +3774,14 @@
+ handle_switch, META_TAB_LIST_GROUP);
+
+ add_builtin_keybinding (display,
+- "switch-windows",
++ "switch-applications",
+ SCHEMA_COMMON_KEYBINDINGS,
+ META_KEY_BINDING_REVERSES,
+ META_KEYBINDING_ACTION_SWITCH_WINDOWS,
+ handle_switch, META_TAB_LIST_NORMAL);
+
+ add_builtin_keybinding (display,
+- "switch-windows-backward",
++ "switch-applications-backward",
+ SCHEMA_COMMON_KEYBINDINGS,
+ REVERSES_AND_REVERSED,
+ META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD,
diff --git a/community/multitail/PKGBUILD b/community/multitail/PKGBUILD
new file mode 100644
index 000000000..49b813ba2
--- /dev/null
+++ b/community/multitail/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 92994 2013-06-21 13:00:51Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Kevin Piche <kevin@archlinux.org>
+# Contributor: Roberto Carvajal <roberto@archlinux.org>
+
+pkgname=multitail
+pkgver=5.2.13
+pkgrel=1
+pkgdesc="Lets you view one or multiple files like the original tail program"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.vanheusden.com/multitail"
+depends=('ncurses')
+backup=('etc/multitail.conf')
+source=("${url}/${pkgname}-${pkgver}.tgz")
+md5sums=('71a774b6d6bb430672c8a9252baac6e6')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -D -m 755 multitail "$pkgdir/usr/bin/multitail"
+ install -D -m 644 multitail.1 "$pkgdir/usr/share/man/man1/multitail.1"
+ install -D -m 644 multitail.conf "$pkgdir/etc/multitail.conf"
+}
+# vim: ts=2 sw=2 et ft=sh
diff --git a/community/mumble/PKGBUILD b/community/mumble/PKGBUILD
new file mode 100644
index 000000000..7bac8dd9c
--- /dev/null
+++ b/community/mumble/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 92323 2013-06-04 02:33:32Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Lauri Niskanen <ape@ape3000.com>
+# Contributor: Sebastian.Salich@gmx.de
+# Contributor: Doc Angelo
+
+# If you want support for your G15 Keyboard, please add 'g15daemon'
+# to the depends and delete "no-g15" in the configure line below
+
+pkgname=mumble
+pkgver=1.2.4
+pkgrel=2
+arch=('i686' 'x86_64')
+pkgdesc="A voice chat application similar to TeamSpeak"
+license=('BSD')
+depends=('qt4' 'speex' 'lsb-release' 'libxi' 'avahi' 'libsndfile' 'protobuf' 'libpulse' 'opus')
+makedepends=('boost' 'mesa' 'avahi')
+#optdepends=('portaudio: for portaudio back-end' 'g15daemon: G15 Keyboard support')
+options=('!libtool')
+install=mumble.install
+url="http://mumble.sourceforge.net/"
+source=("http://downloads.sourceforge.net/mumble/$pkgname-$pkgver.tar.gz")
+md5sums=('49bc6abea78f9c54298934c2c28a7c7c')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # Building mumble
+ qmake-qt4 main.pro \
+ CONFIG+="bundled-celt no-bundled-opus no-bundled-speex no-speechd no-g15 no-xevie no-server \
+ no-embed-qt-translations no-update packaged" \
+ DEFINES+="PLUGIN_PATH=/usr/lib/mumble"
+ make release
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # bin stuff
+ install -m755 -D ./release/mumble $pkgdir/usr/bin/mumble
+ install -m755 -D ./scripts/mumble-overlay $pkgdir/usr/bin/mumble-overlay
+
+ # lib stuff
+ install -m755 -D ./release/libmumble.so.$pkgver $pkgdir/usr/lib/mumble/libmumble.so.$pkgver
+ ln -s libmumble.so.$pkgver $pkgdir/usr/lib/mumble/libmumble.so
+ ln -s libmumble.so.$pkgver $pkgdir/usr/lib/mumble/libmumble.so.1
+ ln -s libmumble.so.$pkgver $pkgdir/usr/lib/mumble/libmumble.so.1.2
+ install -m755 -D ./release/plugins/liblink.so $pkgdir/usr/lib/mumble/liblink.so
+ install -m755 -D ./release/plugins/libmanual.so $pkgdir/usr/lib/mumble/libmanual.so
+ install -m755 -D ./release/libcelt* $pkgdir/usr/lib/mumble/
+
+ # other stuff
+ install -m644 -D ./scripts/mumble.desktop $pkgdir/usr/share/applications/mumble.desktop
+ install -m755 -d $pkgdir/usr/share/man/man1
+ install -m644 -D ./man/mum* $pkgdir/usr/share/man/man1/
+ install -m644 -D ./icons/mumble.svg $pkgdir/usr/share/icons/hicolor/scalable/apps/mumble.svg
+}
+# vim: sw=2:ts=2 et:
diff --git a/community/mumble/mumble.install b/community/mumble/mumble.install
new file mode 100644
index 000000000..547348418
--- /dev/null
+++ b/community/mumble/mumble.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/mumble/mumble11x.desktop b/community/mumble/mumble11x.desktop
new file mode 100644
index 000000000..5dba0d0c6
--- /dev/null
+++ b/community/mumble/mumble11x.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Mumble (1.1.X compatible)
+GenericName=Voice Chat
+Comment=Voice chat program (compatible with Mumble 1.1.X)
+Exec=mumble11x
+Icon=mumble
+Terminal=false
+Type=Application
+StartupNotify=false
+Categories=Network;Chat;Qt;
+Version=1.2.1
diff --git a/community/mupdf/PKGBUILD b/community/mupdf/PKGBUILD
new file mode 100644
index 000000000..5dbd5a16b
--- /dev/null
+++ b/community/mupdf/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 92586 2013-06-09 13:32:10Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Pierre-Paul Paquin <pierrepaulpaquin@gmail.com>
+# Contributor: xduugu (.desktop and install files)
+
+pkgname=mupdf
+pkgver=1.2
+pkgrel=3
+pkgdesc='Lightweight PDF and XPS viewer'
+arch=('i686' 'x86_64')
+url='http://mupdf.com'
+license=('GPL3')
+depends=('freetype2' 'libjpeg' 'jbig2dec' 'openjpeg' 'libxext' 'desktop-file-utils' 'xdg-utils')
+install=mupdf.install
+source=(https://mupdf.googlecode.com/files/$pkgname-$pkgver-source.zip
+ mupdf-1.2-fix-dirty-flag-handling.patch)
+sha256sums=('9bc9e31ec27c091dad37f70940bd799e46ab6da4299bc58e803bff3dbb07dc3b'
+ 'd5c9ab3c5e9975909562230569a149a569f44fcd2b24c0b57e889b541a017f10')
+
+prepare() {
+ cd $pkgname-$pkgver-source
+ patch -Np1 -i "$srcdir"/mupdf-1.2-fix-dirty-flag-handling.patch
+}
+
+build() {
+ CFLAGS+=' -fPIC'
+ CXXFLAGS+=' -fPIC'
+
+ cd $pkgname-$pkgver-source
+ rm -rf thirdparty
+ make build=release prefix=/usr
+}
+
+package() {
+ cd $pkgname-$pkgver-source
+ make build=release prefix="$pkgdir"/usr install
+
+ sed -i 's/mupdf.xpm/mupdf/' debian/mupdf.desktop
+ sed -i 's/application\/x-pdf/application\/x-pdf/' debian/mupdf.desktop
+ install -Dm644 debian/mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop
+ install -Dm644 debian/mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm
+
+ chmod 644 "$pkgdir"/usr/lib/libfitz.a
+}
diff --git a/community/mupdf/mupdf-1.2-fix-dirty-flag-handling.patch b/community/mupdf/mupdf-1.2-fix-dirty-flag-handling.patch
new file mode 100644
index 000000000..ec22ac328
--- /dev/null
+++ b/community/mupdf/mupdf-1.2-fix-dirty-flag-handling.patch
@@ -0,0 +1,88 @@
+From a20d6a58ebc6c60ff44f0f385cf399ee6fca55bf Mon Sep 17 00:00:00 2001
+From: Robin Watts <Robin.Watts@artifex.com>
+Date: Fri, 26 Apr 2013 12:21:17 +0100
+Subject: [PATCH] Fix dirty flag handling bug in X11 event loop.
+
+When I added transition handling to mupdf, I broke the X11
+behaviour of coalescing all events and only blitting when
+idle.
+
+This commit restores that behaviour, except when transitions
+are actually in progress (when it still blits instantly).
+---
+ apps/pdfapp.c | 6 +++++-
+ apps/x11_main.c | 8 ++++++--
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/apps/pdfapp.c b/apps/pdfapp.c
+index c3b7d54..ff23c4b 100644
+--- a/apps/pdfapp.c
++++ b/apps/pdfapp.c
+@@ -1677,7 +1677,6 @@ void pdfapp_postblit(pdfapp_t *app)
+ if (llama >= 256)
+ {
+ /* Completed. */
+- app->in_transit = 0;
+ fz_drop_pixmap(app->ctx, app->image);
+ app->image = app->new_image;
+ app->new_image = NULL;
+@@ -1689,4 +1688,9 @@ void pdfapp_postblit(pdfapp_t *app)
+ else
+ fz_generate_transition(app->image, app->old_image, app->new_image, llama, &app->transition);
+ winrepaint(app);
++ if (llama >= 256)
++ {
++ /* Completed. */
++ app->in_transit = 0;
++ }
+ }
+diff --git a/apps/x11_main.c b/apps/x11_main.c
+index 364013c..987e359 100644
+--- a/apps/x11_main.c
++++ b/apps/x11_main.c
+@@ -79,6 +79,7 @@ static int mapped = 0;
+ static Cursor xcarrow, xchand, xcwait, xccaret;
+ static int justcopied = 0;
+ static int dirty = 0;
++static int transition_dirty = 0;
+ static int dirtysearch = 0;
+ static char *password = "";
+ static XColor xbgcolor;
+@@ -504,6 +505,8 @@ static void winblit(pdfapp_t *app)
+ void winrepaint(pdfapp_t *app)
+ {
+ dirty = 1;
++ if (app->in_transit)
++ transition_dirty = 1;
+ }
+
+ void winrepaintsearch(pdfapp_t *app)
+@@ -779,7 +782,7 @@ int main(int argc, char **argv)
+
+ while (!closing)
+ {
+- while (!closing && XPending(xdpy) && !dirty)
++ while (!closing && XPending(xdpy) && !transition_dirty)
+ {
+ XNextEvent(xdpy, &xevt);
+
+@@ -886,6 +889,7 @@ int main(int argc, char **argv)
+ else if (dirtysearch)
+ winblitsearch(&gapp);
+ dirty = 0;
++ transition_dirty = 0;
+ dirtysearch = 0;
+ pdfapp_postblit(&gapp);
+ }
+@@ -899,7 +903,7 @@ int main(int argc, char **argv)
+ timeradd(&now, &tmo, &tmo_at);
+ }
+
+- if (XPending(xdpy) || dirty)
++ if (XPending(xdpy) || transition_dirty)
+ continue;
+
+ timeout = NULL;
+--
+1.8.3
+
diff --git a/community/mupdf/mupdf.install b/community/mupdf/mupdf.install
new file mode 100644
index 000000000..b4632d36d
--- /dev/null
+++ b/community/mupdf/mupdf.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
diff --git a/community/murmur/0003-fix-long-username-query.patch b/community/murmur/0003-fix-long-username-query.patch
new file mode 100644
index 000000000..2fc52f70c
--- /dev/null
+++ b/community/murmur/0003-fix-long-username-query.patch
@@ -0,0 +1,42 @@
+commit 6b33dda344f89e5a039b7d79eb43925040654242
+Author: Benjamin Jemlich <pcgod@users.sourceforge.net>
+Date: Tue Jun 29 14:49:14 2010 +0200
+
+ Don't crash on long usernames
+
+diff --git a/src/murmur/Messages.cpp b/src/murmur/Messages.cpp
+index f12867a..de307ea 100644
+--- a/src/murmur/Messages.cpp
++++ b/src/murmur/Messages.cpp
+@@ -1231,6 +1231,9 @@ void Server::msgQueryUsers(ServerUser *uSource, MumbleProto::QueryUsers &msg) {
+
+ for (int i=0;i<msg.names_size();++i) {
+ QString name = u8(msg.names(i));
++ if (!validateUserName(name)) {
++ continue;
++ }
+ int id = getUserID(name);
+ if (id >= 0) {
+ name = getUserName(id);
+diff --git a/src/murmur/ServerDB.cpp b/src/murmur/ServerDB.cpp
+index 11b6906..7e15def 100644
+--- a/src/murmur/ServerDB.cpp
++++ b/src/murmur/ServerDB.cpp
+@@ -810,7 +810,7 @@ int Server::authenticate(QString &name, const QString &pw, const QStringList &em
+ TransactionHolder th;
+ QSqlQuery &query = *th.qsqQuery;
+
+- SQLPREP("SELECT `user_id`,`name`,`pw` FROM `%1users` WHERE `server_id` = ? AND `name` like ?");
++ SQLPREP("SELECT `user_id`,`name`,`pw` FROM `%1users` WHERE `server_id` = ? AND LOWER(`name`) = LOWER(?)");
+ query.addBindValue(iServerNum);
+ query.addBindValue(name);
+ SQLEXEC();
+@@ -1051,7 +1051,7 @@ int Server::getUserID(const QString &name) {
+ TransactionHolder th;
+
+ QSqlQuery &query = *th.qsqQuery;
+- SQLPREP("SELECT `user_id` FROM `%1users` WHERE `server_id` = ? AND `name` like ?");
++ SQLPREP("SELECT `user_id` FROM `%1users` WHERE `server_id` = ? AND LOWER(`name`) = LOWER(?)");
+ query.addBindValue(iServerNum);
+ query.addBindValue(name);
+ SQLEXEC();
diff --git a/community/murmur/0004-fix-username-validation.patch b/community/murmur/0004-fix-username-validation.patch
new file mode 100644
index 000000000..493f78ba5
--- /dev/null
+++ b/community/murmur/0004-fix-username-validation.patch
@@ -0,0 +1,36 @@
+commit 5c40cfeb4b5f8911df926c19f2dd628703840f64
+Author: Stefan Hacker <dd0t@users.sourceforge.net>
+Date: Tue Jun 29 23:39:16 2010 +0200
+
+ Don't validate the name before we are sure it wasn't already validated by an authenticator
+
+diff --git a/src/murmur/Messages.cpp b/src/murmur/Messages.cpp
+index de307ea..f12867a 100644
+--- a/src/murmur/Messages.cpp
++++ b/src/murmur/Messages.cpp
+@@ -1231,9 +1231,6 @@ void Server::msgQueryUsers(ServerUser *uSource, MumbleProto::QueryUsers &msg) {
+
+ for (int i=0;i<msg.names_size();++i) {
+ QString name = u8(msg.names(i));
+- if (!validateUserName(name)) {
+- continue;
+- }
+ int id = getUserID(name);
+ if (id >= 0) {
+ name = getUserName(id);
+diff --git a/src/murmur/ServerDB.cpp b/src/murmur/ServerDB.cpp
+index 7e15def..70b4ca4 100644
+--- a/src/murmur/ServerDB.cpp
++++ b/src/murmur/ServerDB.cpp
+@@ -1048,6 +1048,11 @@ int Server::getUserID(const QString &name) {
+ qhUserNameCache.insert(id, name);
+ return id;
+ }
++
++ if (!validateUserName(name)) {
++ return id;
++ }
++
+ TransactionHolder th;
+
+ QSqlQuery &query = *th.qsqQuery;
diff --git a/community/murmur/ChangeLog b/community/murmur/ChangeLog
new file mode 100644
index 000000000..7537836fa
--- /dev/null
+++ b/community/murmur/ChangeLog
@@ -0,0 +1,36 @@
+2010-02-11 Otto Allmendinger <otto.allmendinger@googlemail.com>
+ * 1.2.2-1:
+ bump to version 1.2.2
+
+2010-01-09 Otto Allmendinger <otto.allmendinger@googlemail.com>
+ * 1.2.1-1:
+ bump to version 1.2.1
+
+2009-12-18 Otto Allmendinger <otto.allmendinger@googlemail.com>
+ * 1.2.0-8:
+ included dbus configuration file, changed default dbus settings
+
+ * 1.2.0-7:
+ included manfile
+ renamed binary "murmur" to "murmurd" to be consistent with manfile
+ changed murmur user shell to /bin/false (shell access not required anymore)
+
+2009-12-17 Malte Rabenseifner <malte@zearan.de>
+ * 1.2.0-6:
+ included manfile
+ using mumbles included privilige dropping
+ added some files to backup array
+ added logrotate configuration file
+
+2009-12-15 Otto Allmendinger <otto.allmendinger@googlemail.com>
+ * 1.2.0-5 :
+ simplified dependencies
+ increased visibility of install messages
+
+ * 1.2.0-4 :
+ added boost to makedepends
+
+ * 1.2.0-3 :
+ added ChangeLog
+ added post_upgrade() function
+ added x86_64 to arch
diff --git a/community/murmur/PKGBUILD b/community/murmur/PKGBUILD
new file mode 100644
index 000000000..9efba13a5
--- /dev/null
+++ b/community/murmur/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 92168 2013-06-02 06:18:50Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Otto Allmendinger <otto.allmendinger@googlemail.com>
+# Contributor: Malte Rabenseifner <malte@zearan.de>
+
+pkgname=murmur
+pkgver=1.2.4
+pkgrel=1
+pkgdesc="The voice chat application server for Mumble"
+arch=('i686' 'x86_64')
+url="http://mumble.sourceforge.net"
+license=('BSD')
+depends=('avahi' 'lsb-release' 'protobuf' 'qt4' 'icu')
+makedepends=('boost')
+backup=("etc/murmur.ini")
+install="murmur.install"
+source=("http://downloads.sourceforge.net/mumble/mumble-$pkgver.tar.gz"
+ "murmur.dbus.conf"
+ "murmur.service")
+md5sums=('49bc6abea78f9c54298934c2c28a7c7c'
+ 'eddea4cdbd0bde4b960a67e16b5d5478'
+ 'd27a9adcd7561859e7b033046729bc0e')
+
+build() {
+ cd ${srcdir}/mumble-$pkgver
+
+ qmake-qt4 main.pro CONFIG+="no-client no-ice"
+ make release
+}
+
+package() {
+ cd ${srcdir}/mumble-$pkgver
+
+ sed -e "1i# vi:ft=cfg" \
+ -e "s|database=|database=/var/lib/murmur/murmur.sqlite|" \
+ -e "s|#logfile=murmur.log|logfile=|" \
+ -e "s|#uname=|uname=murmur|" \
+ -i scripts/murmur.ini
+
+ install -dm755 ${pkgdir}/var/lib/murmur
+ install -Dm755 release/murmurd ${pkgdir}/usr/bin/murmurd
+ install -Dm644 scripts/murmur.ini ${pkgdir}/etc/murmur.ini
+ install -Dm644 ${srcdir}/murmur.dbus.conf ${pkgdir}/etc/dbus-1/system.d/murmur.conf
+ install -Dm644 README ${pkgdir}/usr/share/doc/murmur/README
+ install -Dm644 man/murmurd.1 ${pkgdir}/usr/share/man/man1/murmurd.1
+ install -Dm644 ${srcdir}/murmur.service ${pkgdir}/usr/lib/systemd/system/murmur.service
+}
+
+# vim: sw=2:ts=2 et:
diff --git a/community/murmur/murmur.dbus.conf b/community/murmur/murmur.dbus.conf
new file mode 100644
index 000000000..cf937d7b1
--- /dev/null
+++ b/community/murmur/murmur.dbus.conf
@@ -0,0 +1,22 @@
+<!-- vi: set ft=xml: -->
+<!--
+ As described in http://mumble.sourceforge.net/DBus,
+ but with different username
+-->
+<!DOCTYPE busconfig PUBLIC
+ "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+
+ <policy user="murmur">
+ <allow own="net.sourceforge.mumble.murmur"/>
+ </policy>
+ <policy user="root">
+ <allow own="net.sourceforge.mumble.murmur"/>
+ </policy>
+
+ <policy context="default">
+ <allow send_destination="net.sourceforge.mumble.murmur"/>
+ <allow receive_sender="net.sourceforge.mumble.murmur"/>
+ </policy>
+</busconfig>
diff --git a/community/murmur/murmur.install b/community/murmur/murmur.install
new file mode 100644
index 000000000..fecd2c2ca
--- /dev/null
+++ b/community/murmur/murmur.install
@@ -0,0 +1,16 @@
+post_install() {
+ getent group murmur > /dev/null || groupadd -r -g 86 murmur 1>/dev/null
+ getent passwd murmur > /dev/null || useradd -r -u 86 -d /var/lib/murmur -g murmur -s /bin/false murmur 1>/dev/null
+
+ chown -R murmur:murmur /var/lib/murmur
+
+ echo "You might have to reload dbus before launching murmur:"
+ echo " systemctl reload bus"
+ echo "Don't forget to set the superuser password:"
+ echo " murmurd -ini /etc/murmur.ini -supw <your-password>"
+}
+
+post_remove() {
+ getent passwd murmur > /dev/null && userdel murmur 1>/dev/null
+ getent group murmur > /dev/null && groupdel murmur 1>/dev/null
+}
diff --git a/community/murmur/murmur.service b/community/murmur/murmur.service
new file mode 100644
index 000000000..685b84d13
--- /dev/null
+++ b/community/murmur/murmur.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Mumble Daemon
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/murmurd -ini /etc/murmur.ini -fg
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/musepack-tools/PKGBUILD b/community/musepack-tools/PKGBUILD
new file mode 100644
index 000000000..eac151149
--- /dev/null
+++ b/community/musepack-tools/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 67972 2012-03-16 13:24:52Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: Eric Belanger <belanger@astro.umontreal.ca>
+
+pkgname=musepack-tools
+pkgver=475
+pkgrel=2
+pkgdesc="Musepack decoder/encoder"
+arch=('i686' 'x86_64')
+url="http://www.musepack.net/"
+license=('LGPL')
+depends=('libcuefile' 'libreplaygain')
+makedepends=('cmake')
+source=("http://files.musepack.net/source/musepack_src_r$pkgver.tar.gz"
+ 'math.patch')
+md5sums=('754d67be67f713e54baf70fcfdb2817e'
+ '9de31f07a3492c7b1db1248b055fbdc8')
+
+build() {
+ cd "$srcdir/musepack_src_r$pkgver"
+
+ #export LDFLAGS+="-lm"
+
+ patch -Np1 -i "$srcdir/math.patch"
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=ON
+}
+
+package() {
+ cd "$srcdir/musepack_src_r$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ for bin in chap cut dec enc gain 2sv8; do
+ install -Dm755 mpc$bin/mpc$bin "$pkgdir/usr/bin/mpc$bin"
+ done
+
+ find ${pkgdir} -depth -type d -name .svn -exec rm -rf {} \;
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/musepack-tools/math.patch b/community/musepack-tools/math.patch
new file mode 100644
index 000000000..61b3d07ec
--- /dev/null
+++ b/community/musepack-tools/math.patch
@@ -0,0 +1,12 @@
+diff -aur musepack_src_r475.old/CMakeLists.txt musepack_src_r475/CMakeLists.txt
+--- musepack_src_r475.old/CMakeLists.txt 2011-10-14 16:31:05.536450109 +0800
++++ musepack_src_r475/CMakeLists.txt 2011-10-14 16:31:34.022962450 +0800
+@@ -16,7 +16,7 @@
+ add_definitions(-DFAST_MATH -DCVD_FASTLOG)
+
+ if(NOT MSVC)
+- set(CMAKE_C_FLAGS "-O3 -Wall -fomit-frame-pointer -pipe")
++ set(CMAKE_C_FLAGS "-O3 -Wall -fomit-frame-pointer -pipe -lm")
+ endif(NOT MSVC)
+
+ add_subdirectory(libmpcdec)
diff --git a/community/mxml/PKGBUILD b/community/mxml/PKGBUILD
new file mode 100644
index 000000000..26b4ca03d
--- /dev/null
+++ b/community/mxml/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 67931 2012-03-16 10:17:49Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Johannes Sjolund <j.sjolund@gmail.com>
+
+pkgname=mxml
+pkgver=2.7
+pkgrel=1
+pkgdesc="A small XML parsing library"
+arch=('i686' 'x86_64')
+url="http://www.minixml.org/"
+license=('LGPL')
+source=("http://ftp.easysw.com/pub/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz")
+md5sums=('76f2ae49bf0f5745d5cb5d9507774dc9')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+# [ "$CARCH" = x86_64 ] && export CFLAGS="$CFLAGS -fPIC"
+ ./configure --prefix=/usr --enable-shared
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DSTROOT="$pkgdir" install
+ chmod -x "$pkgdir/usr/lib/libmxml.a"
+}
diff --git a/community/mygui/PKGBUILD b/community/mygui/PKGBUILD
new file mode 100644
index 000000000..7ed4936bb
--- /dev/null
+++ b/community/mygui/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 94034 2013-07-13 12:34:24Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Andrew Belitsky <belitsky.a@gmail.com>
+pkgbase=mygui
+pkgname=('mygui' 'mygui-docs')
+pkgver=3.2.0
+pkgrel=6
+pkgdesc="A multilayer and overlappable GUI System for OGRE"
+arch=('i686' 'x86_64')
+url="http://mygui.info/"
+license=('LGPL')
+depends=('boost-libs' 'ogre' 'ois')
+makedepends=('boost' 'cmake' 'doxygen' 'graphviz' 'ttf-dejavu')
+install=mygui.install
+source=("http://downloads.sourceforge.net/my-gui/MyGUI_$pkgver.zip")
+md5sums=('7c20486a0db82f497d8b7c5300613b61')
+
+build() {
+ cd $srcdir/MyGUI_$pkgver
+
+ # change CMake config so demos install to /opt
+ sed -i 's:"bin:"../opt/MYGUI:' CMake/Utils/MyGUIConfigTargets.cmake
+ sed -i -e 's:../share:/usr/share:' \
+ -e 's:"bin":"../opt/MYGUI":' \
+ CMake/InstallResources.cmake
+ sed -i '71 i set(MYGUI_GCC_VISIBILITY_FLAGS "")' CMakeLists.txt
+ sed -i 's/\${OIS_LIBRARIES}/${OIS_LIBRARIES} boost_system/g' Common/CMakeLists.txt
+
+ # get a clean build dir
+ [[ -d build ]] && rm -rf build
+ mkdir build && cd build
+
+ # generate CMake Makefile
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMYGUI_INSTALL_SAMPLES=TRUE \
+ -DMYGUI_INSTALL_TOOLS=TRUE \
+ -DMYGUI_INSTALL_DOCS=TRUE \
+ -DMYGUI_INSTALL_MEDIA=TRUE \
+ -DCMAKE_BUILD_TYPE=Release # set=Debug for debugging version
+
+ # compile
+ make
+
+ # generate docs
+ if [[ $(which dot) && $(which doxygen) ]]; then
+ make api-docs 2>/dev/null
+ fi
+}
+
+package_mygui() {
+ optdepends=('mygui-docs: documentation')
+
+ cd $srcdir/MyGUI_$pkgver
+
+ cd build
+
+ # install the whole bunch
+ make DESTDIR="$pkgdir" install
+
+ # make demos work
+ chown root:users $pkgdir/opt/MYGUI
+ chmod 775 $pkgdir/opt/MYGUI
+}
+
+package_mygui-docs() {
+ pkgdesc="Documentation for mygui"
+ depends=()
+
+ cd $srcdir/MyGUI_$pkgver
+
+ cd build
+
+ # install docs
+ install -d $pkgdir/usr/share/doc/
+ cp -r Docs/html $pkgdir/usr/share/doc/MYGUI
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mygui/mygui.install b/community/mygui/mygui.install
new file mode 100644
index 000000000..8db799a0e
--- /dev/null
+++ b/community/mygui/mygui.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "To view the MyGUI samples, go to /opt/MYGUI/ and run the samples individually"
+}
diff --git a/community/myodbc/PKGBUILD b/community/myodbc/PKGBUILD
new file mode 100644
index 000000000..201a434ae
--- /dev/null
+++ b/community/myodbc/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 87009 2013-03-25 19:16:48Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=myodbc
+pkgver=5.2.4
+pkgrel=2
+pkgdesc="ODBC driver/connector for mariadb"
+arch=(i686 x86_64)
+url="http://dev.mysql.com/downloads/connector/odbc/"
+depends=('unixodbc' 'libmariadbclient')
+makedepends=('cmake')
+license=('GPL')
+options=('libtool')
+source=("http://cdn.mysql.com/Downloads/Connector-ODBC/5.2/mysql-connector-odbc-$pkgver-src.tar.gz")
+md5sums=('0ace04820794ea1712b2a303ebd99dba')
+
+build() {
+ cd $srcdir/mysql-connector-odbc-${pkgver}-src
+ unset LDFLAGS
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DWITH_UNIXODBC=1 .
+ make
+}
+
+package() {
+ cd $srcdir/mysql-connector-odbc-${pkgver}-src
+ make DESTDIR=$pkgdir install
+ pushd $pkgdir/usr
+ rm -rf test
+ install -dm0755 share/mysql-connector-odbc
+ mv ChangeLog COPYING INSTALL Licenses_for_Third-Party_Components.txt README README.debug \
+ share/mysql-connector-odbc/
+ popd
+}
diff --git a/community/mypaint/PKGBUILD b/community/mypaint/PKGBUILD
new file mode 100644
index 000000000..7302a36f2
--- /dev/null
+++ b/community/mypaint/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 90066 2013-05-06 19:38:37Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jon Nordby <jononor@gmail.com>
+
+pkgname=mypaint
+pkgver=1.1.0
+pkgrel=2
+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' 'json-c' 'lcms2')
+makedepends=('scons>=0.97' 'swig>=1.3.39')
+install=mypaint.install
+source=(http://download.gna.org/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('7846a8406259d0fc81c9a2157a2348bf')
+
+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/mypaint/mypaint.install b/community/mypaint/mypaint.install
new file mode 100644
index 000000000..5f0358791
--- /dev/null
+++ b/community/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/mysql++/PKGBUILD b/community/mysql++/PKGBUILD
new file mode 100644
index 000000000..6b5364edf
--- /dev/null
+++ b/community/mysql++/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 93854 2013-07-11 12:03:32Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Markus Härer <markus.haerer@gmx.net>
+
+pkgname=mysql++
+pkgver=3.2.0
+pkgrel=1
+pkgdesc="A C++ wraper for MySQLs C API"
+arch=("i686" "x86_64")
+url="http://tangentsoft.net/mysql++/"
+license=("LGPL" "custom")
+depends=("libmariadbclient")
+options=('docs')
+source=("http://tangentsoft.net/mysql++/releases/$pkgname-$pkgver.tar.gz"
+ "mysql++-fix-cstring.patch"
+ "mysql++-fix-size_t.patch")
+md5sums=('d2220b74e000d8ede13f451fe99bad5a'
+ '72f85a1bdba9d5285f0baf1d973033f8'
+ '6dcfbf06072b81cf27530ca9a0df8a8e')
+
+build() {
+ unset LDFLAGS
+ cd "$srcdir/$pkgname-$pkgver/"
+ patch -p1 <$srcdir/mysql++-fix-cstring.patch
+ patch -p1 <$srcdir/mysql++-fix-size_t.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/"
+ make DESTDIR="$pkgdir" install
+
+ #install docs
+ mkdir -p $pkgdir/usr/share/doc/mysql++
+ cp -r doc/html $pkgdir/usr/share/doc/mysql++
+ cp -r doc/pdf $pkgdir/usr/share/doc/mysql++
+
+ #install doc licence
+ install -Dm0644 doc/userman/LICENSE.txt $pkgdir/usr/share/licenses/mysql++/LICENSE
+}
diff --git a/community/mysql++/mysql++-fix-cstring.patch b/community/mysql++/mysql++-fix-cstring.patch
new file mode 100644
index 000000000..2a9faeb07
--- /dev/null
+++ b/community/mysql++/mysql++-fix-cstring.patch
@@ -0,0 +1,11 @@
+diff -Naur mysql++-3.1.0.old/ssx/genv2.cpp mysql++-3.1.0/ssx/genv2.cpp
+--- mysql++-3.1.0.old/ssx/genv2.cpp 2010-06-12 11:12:11.574891331 +0200
++++ mysql++-3.1.0/ssx/genv2.cpp 2010-06-12 11:14:00.564881723 +0200
+@@ -35,6 +35,7 @@
+ #include <iostream>
+ #include <fstream>
+ #include <typeinfo>
++#include <cstring>
+
+ using namespace std;
+
diff --git a/community/mysql++/mysql++-fix-size_t.patch b/community/mysql++/mysql++-fix-size_t.patch
new file mode 100644
index 000000000..908141d5d
--- /dev/null
+++ b/community/mysql++/mysql++-fix-size_t.patch
@@ -0,0 +1,21 @@
+diff -Naur mysql++-3.1.0.old//lib/refcounted.h mysql++-3.1.0/lib/refcounted.h
+--- mysql++-3.1.0.old//lib/refcounted.h 2010-06-03 19:59:23.000000000 +0200
++++ mysql++-3.1.0/lib/refcounted.h 2011-04-23 12:35:39.943366970 +0200
+@@ -101,7 +101,7 @@
+ {
+ std::auto_ptr<T> exception_guard(counted_);
+ if (counted_) {
+- refs_ = new size_t(1);
++ refs_ = new std::size_t(1);
+ }
+ exception_guard.release(); // previous new didn't throw
+ }
+@@ -255,7 +255,7 @@
+ /// We can't keep this as a plain integer because this object
+ /// allows itself to be copied. All copies need to share this
+ /// reference count, not just the pointer to the counted object.
+- size_t* refs_;
++ std::size_t* refs_;
+ };
+
+
diff --git a/community/mythplugins/PKGBUILD b/community/mythplugins/PKGBUILD
new file mode 100644
index 000000000..7eb180b74
--- /dev/null
+++ b/community/mythplugins/PKGBUILD
@@ -0,0 +1,138 @@
+# $Id: PKGBUILD 82334 2013-01-15 11:35:06Z allan $
+# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgbase=mythplugins
+pkgname=('mythplugins-mytharchive'
+ 'mythplugins-mythbrowser'
+ 'mythplugins-mythgallery'
+ 'mythplugins-mythgame'
+ 'mythplugins-mythmusic'
+ 'mythplugins-mythnetvision'
+ 'mythplugins-mythnews'
+ 'mythplugins-mythweather'
+ 'mythplugins-mythweb'
+ 'mythplugins-mythzoneminder')
+pkgver=0.26.0
+pkgrel=2
+epoch=1
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org"
+license=('GPL')
+makedepends=('cdrkit' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' 'flac' 'libexif'
+ 'libvorbis' 'mesa' 'mplayer' 'mythtv'
+ 'perl-datetime-format-iso8601' 'perl-date-manip' 'perl-image-size'
+ 'perl-json' 'perl-libwww' 'perl-soap-lite' 'perl-xml-sax'
+ 'perl-xml-simple' 'perl-xml-xpath' 'python2-oauth' 'python-imaging'
+ 'python2-pycurl' 'taglib' 'zlib')
+source=("ftp://ftp.osuosl.org/pub/mythtv/$pkgbase-$pkgver.tar.bz2"
+ 'cdparanoia.patch'
+ 'mtd.rc')
+md5sums=('15bd7b2f4173488966f3d761e0eacffa'
+ '5de8dd79d0b8a2b006f3c3258938b6b7'
+ '476c12ba074794ad7f4ae092bdf949d6')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver"
+ find . -name '*.py' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
+ sed -re 's@/usr/local.*/usr/share@/usr/share@' -i 'mythweb/mythweb.php'
+ sed -re 's@cstdio@cstdio>\n#include <unistd.h@' -i 'mythzoneminder/mythzmserver/zmserver.cpp'
+
+ patch -Np1 -i "$srcdir/cdparanoia.patch"
+
+ ./configure --prefix=/usr \
+ --enable-all \
+ --python=python2
+ qmake mythplugins.pro
+ make -s
+}
+
+package_mythplugins-mytharchive() {
+ pkgdesc="Create DVDs or archive recorded shows in MythTV"
+ depends=('cdrkit' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' 'mythtv'
+ 'python-imaging')
+
+ cd "$srcdir/$pkgbase-$pkgver/mytharchive"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythbrowser() {
+ pkgdesc="Mini web browser for MythTV"
+ depends=('mythtv')
+
+ cd "$srcdir/$pkgbase-$pkgver/mythbrowser"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythgallery() {
+ pkgdesc="Image gallery plugin for MythTV"
+ depends=('libexif' 'mythtv')
+
+ cd "$srcdir/$pkgbase-$pkgver/mythgallery"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythgame() {
+ pkgdesc="Game emulator plugin for MythTV"
+ depends=('mythtv')
+
+ cd "$srcdir/$pkgbase-$pkgver/mythgame"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythmusic() {
+ pkgdesc="Music playing plugin for MythTV"
+ depends=('mythtv' 'libcdio-paranoia' 'taglib')
+
+ cd "$srcdir/$pkgbase-$pkgver/mythmusic"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythnetvision() {
+ pkgdesc="MythNetvision plugin for MythTV"
+ depends=('mythtv' 'python2-oauth')
+
+ cd "$srcdir/$pkgbase-$pkgver/mythnetvision"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythnews() {
+ pkgdesc="News checking plugin for MythTV"
+ depends=('mythtv')
+
+ cd "$srcdir/$pkgbase-$pkgver/mythnews"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythweather() {
+ pkgdesc="Weather checking plugin for MythTV"
+ depends=('mythtv' 'perl-date-manip' 'perl-json' 'perl-soap-lite'
+ 'perl-xml-sax' 'perl-xml-simple' 'perl-xml-xpath' 'perl-image-size'
+ 'perl-datetime-format-iso8601')
+
+ cd "$srcdir/$pkgbase-$pkgver/mythweather"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+package_mythplugins-mythweb() {
+ pkgdesc="Web interface for the MythTV scheduler"
+ depends=('mythtv')
+ optdepends=('lighttpd'
+ 'php-apache')
+ install='mythplugins-mythweb.install'
+
+ mkdir -p "$pkgdir/var/lib/mythtv/mythweb"/{image_cache,php_sessions}
+ cp -R "$srcdir/$pkgbase-$pkgver/mythweb"/* "$pkgdir/var/lib/mythtv/mythweb"
+ chown -R http:http "$pkgdir/var/lib/mythtv/mythweb"
+ chmod g+rw "$pkgdir/var/lib/mythtv/mythweb"/{image_cache,php_sessions}
+}
+
+package_mythplugins-mythzoneminder() {
+ pkgdesc="View CCTV footage from zoneminder in MythTV"
+ depends=('mythtv')
+ install='mythplugins-mythzoneminder.install'
+
+ cd "$srcdir/$pkgbase-$pkgver/mythzoneminder"
+ make INSTALL_ROOT="$pkgdir" install
+}
diff --git a/community/mythplugins/cdparanoia.patch b/community/mythplugins/cdparanoia.patch
new file mode 100644
index 000000000..b4d1449d5
--- /dev/null
+++ b/community/mythplugins/cdparanoia.patch
@@ -0,0 +1,52 @@
+diff -Nru a/configure b/configure
+--- a/configure 2012-10-02 23:30:24.000000000 +1300
++++ b/configure 2013-01-09 14:54:40.448916370 +1300
+@@ -649,7 +649,7 @@
+ echo "MythMusic requires FLAC."
+ fi
+
+- if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then
++ if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/paranoia/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then
+ disable cdio
+ fi
+
+diff -Nru a/mythmusic/mythmusic/cddecoder.cpp b/mythmusic/mythmusic/cddecoder.cpp
+--- a/mythmusic/mythmusic/cddecoder.cpp 2012-10-02 23:30:24.000000000 +1300
++++ b/mythmusic/mythmusic/cddecoder.cpp 2013-01-09 14:53:37.031690618 +1300
+@@ -14,7 +14,7 @@
+ #include <QString>
+
+ // libcdio
+-#include <cdio/cdda.h>
++#include <cdio/paranoia/cdda.h>
+ #include <cdio/logging.h>
+
+ // MythTV
+diff -Nru a/mythmusic/mythmusic/cddecoder.h b/mythmusic/mythmusic/cddecoder.h
+--- a/mythmusic/mythmusic/cddecoder.h 2012-10-02 23:30:24.000000000 +1300
++++ b/mythmusic/mythmusic/cddecoder.h 2013-01-09 14:53:12.328140979 +1300
+@@ -11,8 +11,8 @@
+ #endif
+
+ #ifdef HAVE_CDIO
+-# include <cdio/cdda.h>
+-# include <cdio/paranoia.h>
++# include <cdio/paranoia/cdda.h>
++# include <cdio/paranoia/paranoia.h>
+ #endif
+
+ class Metadata;
+diff -Nru a/mythmusic/mythmusic/cdrip.cpp b/mythmusic/mythmusic/cdrip.cpp
+--- a/mythmusic/mythmusic/cdrip.cpp 2012-10-02 23:30:24.000000000 +1300
++++ b/mythmusic/mythmusic/cdrip.cpp 2013-01-09 14:54:11.815330268 +1300
+@@ -8,8 +8,8 @@
+
+ #include "config.h"
+ #ifdef HAVE_CDIO
+-# include <cdio/cdda.h>
+-# include <cdio/paranoia.h>
++# include <cdio/paranoia/cdda.h>
++# include <cdio/paranoia/paranoia.h>
+ #endif //def HAVE_CDIO
+
+ // C++ includes
diff --git a/community/mythplugins/mtd.rc b/community/mythplugins/mtd.rc
new file mode 100644
index 000000000..1f46dfed1
--- /dev/null
+++ b/community/mythplugins/mtd.rc
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/mtd`
+case "$1" in
+ start)
+ stat_busy "Starting Myth Transcoding Daemon"
+ [ -z "$PID" ] && /usr/bin/mtd -d
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $PID > /var/run/mtd.pid
+ add_daemon mythtranscode
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Myth Transcoding Daemon"
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon mtd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community/mythplugins/mythplugins-mythweb.install b/community/mythplugins/mythplugins-mythweb.install
new file mode 100644
index 000000000..2c626c538
--- /dev/null
+++ b/community/mythplugins/mythplugins-mythweb.install
@@ -0,0 +1,4 @@
+post_upgrade() {
+ echo "MythWeb files are now in /var/lib/mythtv/mythweb"
+ echo "Please update your server configuration accordingly"
+}
diff --git a/community/mythplugins/mythplugins-mythzoneminder.install b/community/mythplugins/mythplugins-mythzoneminder.install
new file mode 100644
index 000000000..142212b56
--- /dev/null
+++ b/community/mythplugins/mythplugins-mythzoneminder.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "If you want to use this plugin, install zoneminder from AUR."
+}
diff --git a/community/mythtv/PKGBUILD b/community/mythtv/PKGBUILD
new file mode 100644
index 000000000..368cf746d
--- /dev/null
+++ b/community/mythtv/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 93850 2013-07-11 09:50:39Z jconder $
+# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: <kleptophobiac@gmail.com>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=mythtv
+pkgver=0.26.0
+pkgrel=9
+epoch=1
+pkgdesc="A Homebrew PVR project"
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org/"
+license=('GPL')
+depends=('avahi' 'fftw' 'lame' 'libass' 'libavc1394' 'libcdio' 'libiec61883'
+ 'libpulse' 'libva' 'libvdpau' 'libxinerama' 'lirc-utils'
+ 'mariadb-clients' 'mysql-python' 'perl-dbd-mysql' 'perl-io-socket-inet6'
+ 'perl-libwww' 'perl-net-upnp' 'python2-lxml' 'qtwebkit' 'urlgrabber'
+ 'x264')
+makedepends=('glew' 'libcec' 'libxml2' 'mesa' 'mesa-libgl' 'openssl' 'yasm')
+optdepends=('glew: for GPU commercial flagging'
+ 'libcec: for consumer electronics control capabilities'
+ 'libxml2: to read blu-ray metadata'
+ 'openssl: for AirTunes (RAOP) support'
+ 'xmltv: to download tv listings')
+conflicts=('myththemes' 'mythplugins-mythvideo')
+replaces=('myththemes' 'mythplugins-mythvideo')
+backup=()
+install='mythtv.install'
+source=("ftp://ftp.osuosl.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2"
+ 'alsa.patch'
+ 'mythbackend.service'
+ 'libva-compat.patch::https://github.com/garybuhrmaster/mythtv/commit/2add868d2f18b8b47d9747e043f052e88869bfc3.patch'
+ 'http://code.mythtv.org/trac/raw-attachment/ticket/11338/libcec-2-support.patch')
+md5sums=('f57066bf75e6f14824c494d41639f4f9'
+ 'f64b8219e3d27a2edf96733b851e576b'
+ 'e4d572dcc307d6d8ae26bee5aebf9f3a'
+ 'ae88a16e9f42a913f395bf71af18e931'
+ '6e156c9fc0b369346d93ccafad46cba3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ find 'bindings/python' 'contrib' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
+ patch -Np1 -i "$srcdir/alsa.patch"
+ patch -Np2 -i "$srcdir/libva-compat.patch"
+ patch -Np2 -i "$srcdir/libcec-2-support.patch"
+
+ ARCH="${CARCH/_/-}"
+ ./configure --prefix=/usr \
+ --cpu="$ARCH" \
+ --disable-altivec \
+ --disable-audio-jack \
+ --disable-ccache \
+ --disable-distcc \
+ --enable-libfftw3 \
+ --enable-libmp3lame \
+ --enable-libx264 \
+ --enable-vaapi \
+ --python=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make INSTALL_ROOT="$pkgdir" install
+
+ install -D -m644 "$srcdir/mythbackend.service" "$pkgdir/usr/lib/systemd/system/mythbackend.service"
+ install -D -m644 'database/mc.sql' "$pkgdir/usr/share/mythtv/mc.sql"
+
+ mkdir -p "$pkgdir/usr/share/mythtv"
+ cp -R 'contrib' "$pkgdir/usr/share/mythtv"
+ mkdir -p "$pkgdir/var/log/mythtv"
+}
diff --git a/community/mythtv/alsa.patch b/community/mythtv/alsa.patch
new file mode 100644
index 000000000..07cf1c3a9
--- /dev/null
+++ b/community/mythtv/alsa.patch
@@ -0,0 +1,66 @@
+diff -Nru a/external/FFmpeg/libavdevice/alsa-audio-common.c b/external/FFmpeg/libavdevice/alsa-audio-common.c
+--- a/external/FFmpeg/libavdevice/alsa-audio-common.c 2012-10-02 23:30:24.000000000 +1300
++++ b/external/FFmpeg/libavdevice/alsa-audio-common.c 2013-01-09 13:23:49.704360811 +1300
+@@ -28,6 +28,7 @@
+ * @author Nicolas George ( nicolas george normalesup org )
+ */
+
++#include <sys/types.h>
+ #include <alsa/asoundlib.h>
+ #include "avdevice.h"
+ #include "libavutil/avassert.h"
+diff -Nru a/external/FFmpeg/libavdevice/alsa-audio-dec.c b/external/FFmpeg/libavdevice/alsa-audio-dec.c
+--- a/external/FFmpeg/libavdevice/alsa-audio-dec.c 2012-10-02 23:30:24.000000000 +1300
++++ b/external/FFmpeg/libavdevice/alsa-audio-dec.c 2013-01-09 13:23:47.911005108 +1300
+@@ -45,6 +45,7 @@
+ * plugin.
+ */
+
++#include <sys/types.h>
+ #include <alsa/asoundlib.h>
+ #include "libavformat/internal.h"
+ #include "libavutil/opt.h"
+diff -Nru a/external/FFmpeg/libavdevice/alsa-audio-enc.c b/external/FFmpeg/libavdevice/alsa-audio-enc.c
+--- a/external/FFmpeg/libavdevice/alsa-audio-enc.c 2012-10-02 23:30:24.000000000 +1300
++++ b/external/FFmpeg/libavdevice/alsa-audio-enc.c 2013-01-09 13:23:46.880992286 +1300
+@@ -37,6 +37,7 @@
+ * which gives a low latency suitable for real-time playback.
+ */
+
++#include <sys/types.h>
+ #include <alsa/asoundlib.h>
+
+ #include "libavformat/internal.h"
+diff -Nru a/external/FFmpeg/libavdevice/alsa-audio.h b/external/FFmpeg/libavdevice/alsa-audio.h
+--- a/external/FFmpeg/libavdevice/alsa-audio.h 2012-10-02 23:30:24.000000000 +1300
++++ b/external/FFmpeg/libavdevice/alsa-audio.h 2013-01-09 13:23:51.121045145 +1300
+@@ -30,6 +30,7 @@
+ #ifndef AVDEVICE_ALSA_AUDIO_H
+ #define AVDEVICE_ALSA_AUDIO_H
+
++#include <sys/types.h>
+ #include <alsa/asoundlib.h>
+ #include "config.h"
+ #include "libavutil/log.h"
+diff -Nru a/libs/libmyth/audio/audiooutputalsa.h b/libs/libmyth/audio/audiooutputalsa.h
+--- a/libs/libmyth/audio/audiooutputalsa.h 2012-10-02 23:30:24.000000000 +1300
++++ b/libs/libmyth/audio/audiooutputalsa.h 2013-01-09 13:22:13.313180438 +1300
+@@ -1,6 +1,7 @@
+ #ifndef AUDIOOUTPUTALSA
+ #define AUDIOOUTPUTALSA
+
++#include <sys/types.h>
+ #define ALSA_PCM_NEW_HW_PARAMS_API
+ #define ALSA_PCM_NEW_SW_PARAMS_API
+ #include <alsa/asoundlib.h>
+diff -Nru a/libs/libmythtv/audioinputalsa.h b/libs/libmythtv/audioinputalsa.h
+--- a/libs/libmythtv/audioinputalsa.h 2012-10-02 23:30:24.000000000 +1300
++++ b/libs/libmythtv/audioinputalsa.h 2013-01-09 13:22:44.470223553 +1300
+@@ -24,6 +24,7 @@
+ #include "audioinput.h"
+
+ #ifdef USING_ALSA
++#include <sys/types.h>
+ #include <alsa/asoundlib.h>
+ #else
+ typedef int snd_pcm_t;
diff --git a/community/mythtv/mythbackend.service b/community/mythtv/mythbackend.service
new file mode 100644
index 000000000..2a2b8b7db
--- /dev/null
+++ b/community/mythtv/mythbackend.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=MythTV Backend
+After=network.target mysqld.service
+
+[Service]
+Type=simple
+Environment=HOME=/var/lib/mythtv
+User=mythtv
+ExecStart=/usr/bin/mythbackend --logpath /var/log/mythtv
+ExecStop=/usr/bin/mythshutdown --setscheduledwakeup
+#ExecStop=/usr/bin/mythshutdown --shutdown
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mythtv/mythtv.install b/community/mythtv/mythtv.install
new file mode 100644
index 000000000..90ad79d28
--- /dev/null
+++ b/community/mythtv/mythtv.install
@@ -0,0 +1,22 @@
+post_upgrade() {
+ if ! getent passwd mythtv &>/dev/null; then
+ getent group mythtv &>/dev/null || groupadd -r mythtv >/dev/null
+ useradd -rmd /var/lib/mythtv -g mythtv -G video,audio,optical -s /bin/bash mythtv >/dev/null
+ fi
+
+ echo -e "You may need to load time zone tables in MySQL.\nSee http://www.mythtv.org/wiki/MySQL_Time_Zone_Tables"
+}
+
+post_install() {
+ echo -e "For installation information, visit:\nhttps://wiki.archlinux.org/index.php/MythTV"
+
+ post_upgrade
+}
+
+post_remove() {
+ echo -e "The MythTV database was not removed. To remove it, run:\n mysql -u root -e 'drop database mythconverg;'"
+ [ -d var/lib/mythtv ] && echo "The MythTV home directory /var/lib/mythtv can also be removed."
+
+ getent passwd mythtv &>/dev/null && userdel mythtv >/dev/null
+ getent group mythtv &>/dev/null && groupdel mythtv >/dev/null
+}
diff --git a/community/naev/PKGBUILD b/community/naev/PKGBUILD
new file mode 100644
index 000000000..2c5f407b2
--- /dev/null
+++ b/community/naev/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 90067 2013-05-06 19:38:39Z foutrelis $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Johan Rehnberg <cleanrock@gmail.com>
+
+pkgname=naev
+pkgver=0.5.3
+pkgrel=2
+pkgdesc='2D action/rpg space game'
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/naev/"
+license=('GPL3')
+depends=('glu' 'openal' 'libvorbis' 'sdl_image' 'sdl_mixer' 'libgl' 'libxml2' 'freetype2' 'libpng' 'naev-data')
+makedepends=('freeglut')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('bec719b3daa33ec190d785120a7b0159')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i "41 i #include <zlib.h>" src/opengl.c
+
+ ./configure --prefix=/usr --disable-debug --disable-shave --with-ndata-path=/usr/share/naev/ndata-${pkgver}
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/namazu/PKGBUILD b/community/namazu/PKGBUILD
new file mode 100644
index 000000000..a70a36943
--- /dev/null
+++ b/community/namazu/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 56480 2011-10-07 10:10:22Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Benjamin Andresen <bandresen gmail com>
+
+pkgname=namazu
+pkgver=2.0.21
+pkgrel=1
+pkgdesc="Namazu is a full-text search engine intended for easy use."
+url="http://namazu.org/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=(perl-file-mmagic)
+options=(!libtool)
+source=(http://namazu.org/stable/$pkgname-$pkgver.tar.gz)
+md5sums=('8865d912a3de9c94f5ce01d0de5ccad9')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ --mandir=/usr/share/man \
+ --libexecdir=/usr/lib/namazu \
+ --libdir=/usr/lib/namazu
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/nautilus-actions/PKGBUILD b/community/nautilus-actions/PKGBUILD
new file mode 100644
index 000000000..c8e5e37b0
--- /dev/null
+++ b/community/nautilus-actions/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 72886 2012-06-24 13:16:21Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Tor Krill <tor@krill.nu>
+
+pkgname=nautilus-actions
+pkgver=3.2.2
+pkgrel=2
+pkgdesc="Configures programs to be launched when files are selected in Nautilus"
+arch=('i686' 'x86_64')
+url="http://www.nautilus-actions.org/"
+license=('GPL')
+depends=('nautilus' 'libunique3' 'libgtop' 'gconf' 'libsm')
+makedepends=('intltool' 'gnome-doc-utils')
+install=nautilus-actions.install
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/nautilus-actions/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('214af9fd2a7f561366bf88446f9b79182e696a303da8e15c7a8a1ffaeaca11c4')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib \
+ --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package(){
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # Install GConf schemas
+ mkdir -p "$pkgdir/usr/share/gconf/schemas"
+ gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" --domain nautilus-actions \
+ "$pkgdir"/usr/share/nautilus-actions/gconf-schemas/*.schemas
+ rm -r "$pkgdir/usr/share/nautilus-actions/gconf-schemas/"
+
+ # Remove redundant documentation
+ rm -r "$pkgdir/usr/share/doc/"
+}
diff --git a/community/nautilus-actions/nautilus-actions.install b/community/nautilus-actions/nautilus-actions.install
new file mode 100644
index 000000000..92e77d54d
--- /dev/null
+++ b/community/nautilus-actions/nautilus-actions.install
@@ -0,0 +1,24 @@
+pkgname=nautilus-actions
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
diff --git a/community/nbd/PKGBUILD b/community/nbd/PKGBUILD
new file mode 100644
index 000000000..bc073921d
--- /dev/null
+++ b/community/nbd/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 90984 2013-05-16 23:49:59Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Christian Hesse <mail@eworm.de>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Gerhard Brauer <gerbra@archlinux.de>
+
+pkgname=nbd
+pkgver=3.3
+pkgrel=3
+pkgdesc="tools for network block devices, allowing you to use remote block devices over TCP/IP"
+arch=('i686' 'x86_64')
+url="http://nbd.sourceforge.net"
+license=('GPL')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2
+ config nbd.service)
+backup=('etc/nbd-server/config')
+depends=('glib2')
+install=nbd.install
+md5sums=('cde8fe6e870b8a7459f12e5dcf572d86'
+ '2d05d426b8c2708d5f8a0d028fcbae05'
+ '5d1acc143018117174f79eff15afa038')
+
+build(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-syslog --sbindir=/usr/bin
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 "${srcdir}"/config "${pkgdir}"/etc/nbd-server/config
+ install -D -m644 "${srcdir}"/nbd.service "${pkgdir}"/usr/lib/systemd/system/nbd.service
+
+ install -D -m644 README "${pkgdir}"/usr/share/doc/nbd/README
+}
diff --git a/community/nbd/config b/community/nbd/config
new file mode 100644
index 000000000..777f0ef24
--- /dev/null
+++ b/community/nbd/config
@@ -0,0 +1,33 @@
+[generic]
+ # The [generic] section is required, even if nothing is specified
+ # there.
+ # When either of these options are specified, nbd-server drops
+ # privileges to the given user and group after opening ports, but
+ # _before_ opening files.
+ user = nbd
+ group = nbd
+ # Since version 2.9.17, nbd-server will do exports on a name
+ # basis (the used name is the name of the section in which the
+ # export is specified). This however required an incompatible
+ # protocol change. To enable backwards-compatible port-based
+ # exports, uncomment the following line:
+ # oldstyle = true
+[export1]
+ exportname = /export/nbd/export1-file
+ # The following line will be ignored unless the
+ # "oldstyle = true" line in the generic section above is
+ # enabled.
+ #port = 12345
+ authfile = /export/nbd/export1-authfile
+ timeout = 30
+ filesize = 10000000
+ readonly = false
+ multifile = false
+ copyonwrite = false
+ prerun = dd if=/dev/zero of=%s bs=1k count=500
+ postrun = rm -f %s
+[otherexport]
+ exportname = /export/nbd/experiment
+ # The other options are all optional, except this one in case
+ # the oldstyle option is used in [generic]:
+ # port = 12346
diff --git a/community/nbd/nbd.install b/community/nbd/nbd.install
new file mode 100644
index 000000000..9e7a01e98
--- /dev/null
+++ b/community/nbd/nbd.install
@@ -0,0 +1,13 @@
+post_install() {
+ getent group "nbd" &>/dev/null || groupadd -r -g 44 nbd 1>/dev/null
+ getent passwd "nbd" &>/dev/null || useradd -r -u 44 -g nbd -d "/var/empty" -s "/bin/false" nbd 1>/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ getent passwd "nbd" &>/dev/null && userdel nbd 1>/dev/null
+ getent group "nbd" &>/dev/null && groupdel nbd 1>/dev/null
+}
diff --git a/community/nbd/nbd.service b/community/nbd/nbd.service
new file mode 100644
index 000000000..3d580514c
--- /dev/null
+++ b/community/nbd/nbd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Network Block Device Server
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/nbd-server
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/nbtscan/PKGBUILD b/community/nbtscan/PKGBUILD
new file mode 100644
index 000000000..03c637932
--- /dev/null
+++ b/community/nbtscan/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 66246 2012-02-23 05:18:07Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergio Rubio <rubiojr@biondofu.net>
+
+pkgname=nbtscan
+pkgver=1.5.1
+pkgrel=5
+pkgdesc="NBTscan is a program for scanning IP networks for NetBIOS name information."
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=(glibc)
+url="http://www.inetcat.net/software/nbtscan.html"
+source=(http://www.sourcefiles.org/Networking/Tools/Miscellanenous/nbtscan-1.5.1.tar.gz
+ nbtscan.1.gz)
+md5sums=('85bb085077c380b82a6ff73e0de0c154'
+ 'c9b7f61d2be12af5edc120142341c5f7')
+
+build() {
+ cd $srcdir/$pkgname-${pkgver}a
+ ./configure --prefix=/usr
+ make
+
+ # Copy the binary
+ mkdir -p $pkgdir/usr/bin
+ cp nbtscan $pkgdir/usr/bin
+
+ cd $srcdir
+ # Include the nbtscan debian man page
+ mkdir -p $pkgdir/usr/share/man/man1
+ cp nbtscan.1.gz $pkgdir/usr/share/man/man1
+}
diff --git a/community/nbtscan/nbtscan.1.gz b/community/nbtscan/nbtscan.1.gz
new file mode 100644
index 000000000..9d7aeb416
--- /dev/null
+++ b/community/nbtscan/nbtscan.1.gz
Binary files differ
diff --git a/community/ncdu/PKGBUILD b/community/ncdu/PKGBUILD
new file mode 100644
index 000000000..209caf267
--- /dev/null
+++ b/community/ncdu/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 90258 2013-05-10 15:34:37Z jelle $
+
+# Contributor: lp76 <l.peduto@gmail.com>
+# Contributor: Daenyth <Daenyth+Arch AT gmail DOT com>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=ncdu
+pkgver=1.10
+pkgrel=1
+pkgdesc='Disk usage analyzer with an ncurses interface'
+url='http://dev.yorhel.nl/ncdu/'
+license=('custom:MIT')
+depends=('ncurses')
+arch=('i686' 'x86_64')
+source=("http://dev.yorhel.nl/download/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('cf3b5fbb5b69cbae5425bfff2660ac3d8224a605')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/ncmpcpp/PKGBUILD b/community/ncmpcpp/PKGBUILD
new file mode 100644
index 000000000..c3ccc6166
--- /dev/null
+++ b/community/ncmpcpp/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 80358 2012-11-20 16:00:53Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski
+# Contributor: graysky <graysky AT archlinux DOT us>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Army <uli[dot]armbruster[at]gmail[dot]com>
+
+pkgname=ncmpcpp
+pkgver=0.5.10
+pkgrel=4
+pkgdesc='Almost exact clone of ncmpc with some new features'
+arch=('i686' 'x86_64')
+url='http://ncmpcpp.rybczak.net/'
+license=('GPL')
+depends=('curl' 'libmpdclient' 'taglib' 'ncurses' 'fftw')
+install=ncmpcpp.install
+source=(http://ncmpcpp.rybczak.net/stable/$pkgname-$pkgver.tar.bz2)
+md5sums=('298ed66325bcfe358e37e186c7ea4861')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --enable-clock \
+ --enable-outputs \
+ --enable-unicode \
+ --enable-visualizer \
+ --with-curl \
+ --with-fftw \
+ --with-taglib
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ make -C extras/
+ install -Dm755 extras/artist_to_albumartist $pkgdir/usr/bin/
+}
diff --git a/community/ncmpcpp/ncmpcpp.install b/community/ncmpcpp/ncmpcpp.install
new file mode 100644
index 000000000..b539969ae
--- /dev/null
+++ b/community/ncmpcpp/ncmpcpp.install
@@ -0,0 +1,19 @@
+pre_install() {
+ /bin/true
+}
+post_install() {
+ echo "Example configuration files can be found in"
+ echo "/usr/share/doc/ncmpcpp"
+}
+pre_upgrade() {
+ /bin/true
+}
+post_upgrade() {
+ /bin/true
+}
+pre_remove() {
+ /bin/true
+}
+post_remove() {
+ /bin/true
+}
diff --git a/community/ncrack/PKGBUILD b/community/ncrack/PKGBUILD
new file mode 100644
index 000000000..09e369a4d
--- /dev/null
+++ b/community/ncrack/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Daniel Micay <daneilmicay@gmail.com>
+# Contributor: mickael9 <mickael9 at gmail dot com>
+
+pkgname=ncrack
+pkgver=0.4a
+_realver=0.4ALPHA
+pkgrel=2
+pkgdesc='A high-speed network authentication cracking tool'
+arch=(i686 x86_64)
+url='http://nmap.org/ncrack/'
+license=(GPL)
+depends=(openssl)
+source=("http://nmap.org/ncrack/dist/ncrack-${_realver}.tar.gz")
+md5sums=('db9be165469c04650ddc7403b29eb472')
+
+build() {
+ cd "$srcdir/$pkgname-${_realver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-${_realver}"
+ make install DESTDIR="$pkgdir"
+}
diff --git a/community/ndisc6/PKGBUILD b/community/ndisc6/PKGBUILD
new file mode 100644
index 000000000..99bbe8325
--- /dev/null
+++ b/community/ndisc6/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 90526 2013-05-13 00:18:50Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Chris Brannon <chris@the-brannons.com>
+# Contributor: Mark Smith <markzzzsmith@yahoo.com.au>
+
+pkgname=ndisc6
+pkgver=1.0.2
+pkgrel=7
+pkgdesc='Collection of IPv6 networking utilities'
+arch=('i686' 'x86_64')
+url='http://www.remlab.net/ndisc6/'
+license=('GPL')
+depends=('glibc' 'perl')
+makedepends=('glibc' 'gcc')
+options=(!emptydirs)
+install=$pkgname.install
+source=("http://www.remlab.net/files/ndisc6/$pkgname-$pkgver.tar.bz2"
+ 'rdnssd.service')
+md5sums=('50cb4c19606cf6ff2b7388e71832f579'
+ '88a290cbcf51ac5e10ed5f995a8ba4b9')
+
+prepare() {
+ # patch invalid path
+ sed -ri 's,PATH=/sbin:/bin,PATH=/sbin:/bin:/usr/sbin:/usr/bin,' \
+ $pkgname-$pkgver/rdnssd/merge-hook.in
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --localstatedir=/var \
+ --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir/rdnssd.service" "$pkgdir/usr/lib/systemd/system/rdnssd.service"
+ install -Dm644 /dev/null "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+ echo 'd /run/rdnssd 0755 nobody root' > "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ndisc6/ndisc6.install b/community/ndisc6/ndisc6.install
new file mode 100644
index 000000000..fb1d5c926
--- /dev/null
+++ b/community/ndisc6/ndisc6.install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# arg 1: the new package version
+post_install() {
+ systemd-tmpfiles --create ndisc6.conf
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/ndisc6/rdnssd.service b/community/ndisc6/rdnssd.service
new file mode 100644
index 000000000..6fdf91f2d
--- /dev/null
+++ b/community/ndisc6/rdnssd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=RDNSS daemon for Linux
+Before=network.target
+Requires=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/rdnssd.pid
+ExecStart=/usr/bin/rdnssd -H /etc/rdnssd/merge-hook
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/neatx/PKGBUILD b/community/neatx/PKGBUILD
new file mode 100644
index 000000000..46f8b95f2
--- /dev/null
+++ b/community/neatx/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 78204 2012-10-17 10:24:52Z allan $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Nicolas Doualot <packages@slubman.info>
+
+pkgname=neatx
+pkgver=0.3.1
+pkgrel=13
+pkgdesc="A free NX server by google"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/neatx/"
+license=('GPL')
+depends=('nxserver' 'python2-pexpect' 'python2-simplejson' 'netcat' 'pygtk')
+makedepends=('docutils')
+optdepends=('xorg-xdm: if you want to use KDE or GNOME session'
+ 'xorg-fonts-misc: to use default font'
+ 'xterm: if you want console session')
+install=neatx.install
+source=(http://neatx.googlecode.com/files/$pkgname-$pkgver.tar.gz
+ constants.archlinux.patch)
+md5sums=('5748656738d5f04fef1af01b9fe5ef20'
+ 'a5ca4aa399cc25fa8435280e8b03c5a3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -i "$srcdir/constants.archlinux.patch" -p2
+
+ ./configure --prefix=/usr --localstatedir=/var RST2HTML=/usr/bin/rst2html2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+ chmod 777 "$pkgdir/var/lib/neatx/sessions"
+
+ install -d -m755 ${pkgdir}/etc/ld.so.conf.d/
+ echo -e '/usr/lib\n/opt/NX/lib' > ${pkgdir}/etc/ld.so.conf.d/neatx.conf
+}
diff --git a/community/neatx/constants.archlinux.patch b/community/neatx/constants.archlinux.patch
new file mode 100644
index 000000000..dff5e2415
--- /dev/null
+++ b/community/neatx/constants.archlinux.patch
@@ -0,0 +1,42 @@
+--- a/neatx-0.3.1/lib/constants.py 2009-06-24 21:19:55.000000000 +0200
++++ b/neatx-0.3.1/lib/constants.py 2009-07-08 10:50:30.000000000 +0200
+@@ -25,19 +25,19 @@
+ from neatx import _autoconf
+
+
+-NXDIR = "/usr/lib/nx"
++NXDIR = "/opt/NX/bin"
+
+ SYSLOG_ADDRESS = "/dev/log"
+ BASH = "/bin/bash"
+-NETCAT = "/bin/netcat"
++NETCAT = "/usr/bin/netcat"
+ XRDB = "/usr/bin/xrdb"
+ SU = "/bin/su"
+ SSH = "/usr/bin/ssh"
+ XAUTH = "/usr/bin/xauth"
+-XSESSION = "/etc/X11/Xsession"
++XSESSION = "/etc/X11/xdm/Xsession"
+
+ START_CONSOLE_COMMAND = "/usr/bin/xterm"
+-START_KDE_COMMAND = XSESSION + " startkde"
++START_KDE_COMMAND = " startkde"
+ START_GNOME_COMMAND = XSESSION + " gnome-session"
+
+ NXUSER = "nx"
+@@ -47,12 +47,13 @@
+ NXNC = _autoconf.PKGLIBDIR + "/nxnc"
+ NXDIALOG = _autoconf.PKGLIBDIR + "/nxdialog"
+ NXAGENT = NXDIR + "/nxagent"
+-NXAGENT_PKGNAME = "nxagent"
++#NXAGENT_PKGNAME = "nxagent"
++NXAGENT_PKGNAME = "nxserver"
+ FDCOPY = _autoconf.PKGLIBDIR + "/fdcopy"
+ TTYSETUP = _autoconf.PKGLIBDIR + "/ttysetup"
+
+ # Extract nxagent version using the following command.
+-NXAGENT_VERSION_COMMAND = ("dpkg-query -W --showformat='${Version}' %s" %
++NXAGENT_VERSION_COMMAND = ("pacman -Qi %s | grep Version | awk '{print $3}'" %
+ NXAGENT_PKGNAME)
+ NXAGENT_VERSION_SEP = ".-~"
+
diff --git a/community/neatx/neatx.install b/community/neatx/neatx.install
new file mode 100644
index 000000000..89356878c
--- /dev/null
+++ b/community/neatx/neatx.install
@@ -0,0 +1,18 @@
+post_install() {
+ useradd -d /opt/NX/home/nx -s /usr/lib/neatx/nxserver-login-wrapper nx &> /dev/null
+ mkdir -p ~nx/.ssh
+ cp /usr/share/neatx/authorized_keys.nomachine ~nx/.ssh/authorized_keys
+ chmod 600 ~nx/.ssh/authorized_keys
+ chown -R nx ~nx
+ post_remove
+}
+
+pre_remove() {
+ userdel nx > /dev/null 2>&1
+ rm -rf ~nx
+}
+
+post_remove() {
+ sed -e '/\/opt\/NX\/lib/d' -i etc/ld.so.conf
+ ldconfig
+}
diff --git a/community/nemesis/PKGBUILD b/community/nemesis/PKGBUILD
new file mode 100644
index 000000000..b80d7d3fe
--- /dev/null
+++ b/community/nemesis/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 66248 2012-02-23 05:20:26Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=nemesis
+pkgver=1.4
+pkgrel=5
+pkgdesc="command-line network packet crafting and injection utility"
+arch=(i686 x86_64)
+url="http://nemesis.sourceforge.net/"
+license=('BSD')
+depends=()
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/nemesis/nemesis-$pkgver.tar.gz
+ http://archlinux-stuff.googlecode.com/files/libnet-1.0.2a.tar.gz
+ nemesis-proto_tcp.c.diff)
+md5sums=('acd7de57798a7f90f445f80d4d4a6e61'
+ 'ddf53f0f484184390e8c2a1bd0853667'
+ 'd802f7a12610e68124200310ad80e0ac')
+
+build() {
+ # build libnet
+ cd $srcdir/Libnet-1.0.2a
+ # very dirty hack
+ sed -i 's#malloc(p_size)#malloc(p_size*2)#' src/libnet_packet_mem.c
+ [ -f Makefile ] || ./configure --prefix=$srcdir/libnet
+ make
+ make MAN_PREFIX=$srcdir/libnet/usr/man/man3 install
+
+ # build nemesis
+ cd $srcdir/nemesis-$pkgver
+ export PATH="$srcdir/libnet/bin:$PATH"
+ export CFLAGS="-D__GLIBC__=0 -I$srcdir/libnet/include -DLIBNET_LIL_ENDIAN"
+ export LDFLAGS="-L$srcdir/libnet/lib"
+ patch -Np1 <$srcdir/nemesis-proto_tcp.c.diff
+ [ -f Makefile ] || ./configure --prefix=/usr --mandir=/usr/share/man \
+ --with-libnet-includes=$srcdir/libnet/include \
+ --with-libnet-libraries=$srcdir/libnet/lib
+ make
+ make DESTDIR=$pkgdir install
+ install -D -m0644 LICENSE $pkgdir/usr/share/licenses/nemesis/LICENSE
+}
diff --git a/community/nemesis/nemesis-proto_tcp.c.diff b/community/nemesis/nemesis-proto_tcp.c.diff
new file mode 100644
index 000000000..d5a921738
--- /dev/null
+++ b/community/nemesis/nemesis-proto_tcp.c.diff
@@ -0,0 +1,46 @@
+diff -wbBur nemesis-1.4/src/nemesis-functions.c nemesis-1.4.my/src/nemesis-functions.c
+--- nemesis-1.4/src/nemesis-functions.c 2004-10-07 02:16:50.000000000 +0000
++++ nemesis-1.4.my/src/nemesis-functions.c 2009-06-19 13:51:30.000000000 +0000
+@@ -8,6 +8,8 @@
+ *
+ */
+
++#include <net/ethernet.h>
++
+ #if defined(HAVE_CONFIG_H)
+ #include "config.h"
+ #endif
+diff -wbBur nemesis-1.4/src/nemesis-proto_tcp.c nemesis-1.4.my/src/nemesis-proto_tcp.c
+--- nemesis-1.4/src/nemesis-proto_tcp.c 2003-10-31 21:29:37.000000000 +0000
++++ nemesis-1.4.my/src/nemesis-proto_tcp.c 2009-06-19 13:51:15.000000000 +0000
+@@ -16,7 +16,7 @@
+ FileData *ipod, FileData *tcpod, char *device)
+ {
+ int n;
+- u_int32_t tcp_packetlen = 0, tcp_meta_packetlen = 0;
++ u_int32_t tcp_packetlen = 0, tcp_meta_packetlen = 0, tcp_headerlen = 0, ip_headerlen = 0;
+ static u_int8_t *pkt;
+ static int sockfd = -1;
+ struct libnet_link_int *l2 = NULL;
+@@ -58,13 +58,20 @@
+ #endif
+ }
+
++ ip_headerlen = LIBNET_IP_H + ipod->file_s;
++ tcp_headerlen = LIBNET_TCP_H + tcpod->file_s;
++
+ tcp_packetlen = link_offset + LIBNET_IP_H + LIBNET_TCP_H + pd->file_s +
+ ipod->file_s + tcpod->file_s;
+
+- tcp_meta_packetlen = tcp_packetlen - (link_offset + LIBNET_IP_H);
++ tcp_meta_packetlen = LIBNET_TCP_H + pd->file_s;
+
+ #ifdef DEBUG
++ printf("DEBUG: link offsetlength %u.\n", link_offset);
++ printf("DEBUG: IP header length %u.\n", ip_headerlen);
++ printf("DEBUG: TCP header length %u.\n", tcp_headerlen);
+ printf("DEBUG: TCP packet length %u.\n", tcp_packetlen);
++ printf("DEBUG: TCP meta length %u.\n", tcp_meta_packetlen);
+ printf("DEBUG: IP options size %u.\n", ipod->file_s);
+ printf("DEBUG: TCP options size %u.\n", tcpod->file_s);
+ printf("DEBUG: TCP payload size %u.\n", pd->file_s);
diff --git a/community/nemiver/PKGBUILD b/community/nemiver/PKGBUILD
new file mode 100644
index 000000000..73274bfcd
--- /dev/null
+++ b/community/nemiver/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 90245 2013-05-09 23:52:58Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: jordz <jordz@archlinux.us>
+
+pkgname=nemiver
+pkgver=0.9.4
+pkgrel=4
+pkgdesc='C/C++ debugger for GNOME'
+arch=('x86_64' 'i686')
+license=('GPL')
+url='http://www.gnome.org/projects/nemiver/'
+install="$pkgname.install"
+depends=('gdlmm' 'gdb' 'gtksourceviewmm' 'libgtop' 'vte3' 'ghex' 'gsettings-desktop-schemas')
+makedepends=('boost' 'intltool' 'itstool')
+source=("http://ftp.acc.umu.se/pub/GNOME/sources/nemiver/0.9/$pkgname-$pkgver.tar.xz")
+options=('!libtool' '!emptydirs')
+sha256sums=('12cc5b6092ba720f2524f59928bee4d736e5e5ffeeffb6fd06f99695f17d683f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ --with-boost \
+ --disable-scrollkeeper \
+ --enable-symsvis=yes \
+ --enable-memoryview=yes \
+ --enable-gsettings=yes \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/nemiver/nemiver.install b/community/nemiver/nemiver.install
new file mode 100644
index 000000000..aabb4b360
--- /dev/null
+++ b/community/nemiver/nemiver.install
@@ -0,0 +1,14 @@
+post_install() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/nemo-fileroller/PKGBUILD b/community/nemo-fileroller/PKGBUILD
new file mode 100644
index 000000000..b3b8c4268
--- /dev/null
+++ b/community/nemo-fileroller/PKGBUILD
@@ -0,0 +1,41 @@
+
+# Maintainer: Alexandre Filgueira <alexfilgueira@cinnarch.com>
+# Contributor: twa022 <twa022 at gmail dot com>
+
+pkgname=nemo-fileroller
+pkgver=1.8.0
+pkgrel=1
+pkgdesc="Nemo fileroller extension"
+arch=('i686' 'x86_64')
+url="https://github.com/linuxmint/nemo-extensions"
+license=('GPL')
+source=("configure.in_fix.patch"
+ "$pkgname-$pkgver.tar.gz::http://github.com/linuxmint/nemo-extensions/archive/master.tar.gz")
+
+depends=('nemo' 'file-roller')
+options=('!libtool' '!emptydirs')
+
+sha256sums=('3381a3421b2fd69746b610cfa3dfeb83d4795076ec692fcf28bcccf69bfe36d0'
+ 'b89c4667b175ad6ad59b6938dab7e9b53c3bcdc25a5ac5177203662900aac2f5')
+
+
+build() {
+
+
+ cd nemo-extensions-master/${pkgname}
+
+ ## I think they started with the nemo-dropbox source, so there
+ ## are some unnecessary python dependencies
+ patch -uNp2 -r- -i ${srcdir}/configure.in_fix.patch
+ autoreconf -fi
+
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd nemo-extensions-master/${pkgname}
+ make DESTDIR="${pkgdir}" install
+}
+
+
diff --git a/community/nemo-fileroller/configure.in_fix.patch b/community/nemo-fileroller/configure.in_fix.patch
new file mode 100644
index 000000000..898c0abce
--- /dev/null
+++ b/community/nemo-fileroller/configure.in_fix.patch
@@ -0,0 +1,39 @@
+diff -Naur nemo-fileroller.orig/configure.in nemo-fileroller/configure.in
+--- ./nemo-fileroller.orig/configure.in 2012-10-28 16:48:29.000000000 +0100
++++ ./nemo-fileroller/configure.in 2013-02-19 09:03:34.009486606 +0100
+@@ -6,7 +6,7 @@
+
+ AC_PREFIX_DEFAULT(/usr)
+
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+
+ # not ready for i18n yet
+ #AC_PROG_INTLTOOL([0.29])
+@@ -29,10 +29,10 @@
+ PKG_CHECK_MODULES(NEMO, libnemo-extension >= $NEMO_REQUIRED)
+ PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
+
+-AC_PATH_PROG([PYTHON], [python])
++#AC_PATH_PROG([PYTHON], [python])
+
+-AC_PATH_PROG([RST2MAN], [rst2man], [python rst2man.py])
+-AC_SUBST(RST2MAN)
++#AC_PATH_PROG([RST2MAN], [rst2man], [python rst2man.py])
++#AC_SUBST(RST2MAN)
+
+ # define module checking macro
+ AC_DEFUN([PYTHON_CHECK_MODULE], [
+@@ -55,9 +55,9 @@
+ fi
+ ])
+
+-PYTHON_CHECK_MODULE(pygtk, gtk)
+-PYTHON_CHECK_MODULE(gobject, gobject)
+-PYTHON_CHECK_MODULE(docutils, docutils)
++#PYTHON_CHECK_MODULE(pygtk, gtk)
++#PYTHON_CHECK_MODULE(gobject, gobject)
++#PYTHON_CHECK_MODULE(docutils, docutils)
+
+ # Make dependency CFLAGS and LIBS available
+ AC_SUBST(NEMO_CFLAGS)
diff --git a/community/nemo/PKGBUILD b/community/nemo/PKGBUILD
new file mode 100644
index 000000000..5c3cab47f
--- /dev/null
+++ b/community/nemo/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 94000 2013-07-12 22:37:49Z faidoc $
+# Maintainer: Alexandre Filgueira <alexfilgueira@cinnarch.com>
+# Contributor: Ner0
+
+pkgname=nemo
+pkgver=1.8.4
+pkgrel=1
+pkgdesc="Cinnamon file manager (Nautilus fork)"
+arch=('i686' 'x86_64')
+url="https://github.com/linuxmint/nemo"
+license=('GPL')
+depends=('libexif' 'gvfs' 'dconf' 'desktop-file-utils' 'exempi' 'python2'
+ 'gnome-desktop' 'gnome-icon-theme' 'libnotify' 'libtracker-sparql')
+makedepends=('gtk-doc' 'gobject-introspection' 'intltool' 'gnome-common')
+optdepends=('gksu: Open as Root')
+options=('!emptydirs' '!libtool')
+install=nemo.install
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/nemo/tarball/$pkgver"
+ "tracker-0.16.patch"
+ "remove-desktop-background.patch")
+sha256sums=('c8805302144c1aba72707eed22501cdd4f008a4c4090dea94fde5c05cd6c25f6'
+ '2b86f486add84e3affb0b14eb84425443e7cf5e593738d10d02e9c2ac0f17626'
+ '0bd07fd931ad701442358cdcbd26e0c5d57717ffadfd39a1cba137e36def1aa5')
+
+build() {
+ cd linuxmint-nemo-*
+
+ # Python2 fix
+ sed -i 's/bin\/python/bin\/python2/g' files/usr/share/nemo/actions/myaction.py
+
+ # https://github.com/linuxmint/nemo/pull/258
+ patch -Np1 -i ../tracker-0.16.patch
+
+ # https://github.com/linuxmint/nemo/pull/263
+ patch -Np1 -i ../remove-desktop-background.patch
+
+ ./autogen.sh --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --libexecdir=/usr/lib/nemo \
+ --disable-update-mimedb \
+ --disable-packagekit \
+ --disable-gtk-doc-html \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd linuxmint-nemo-*
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/nemo/nemo.install b/community/nemo/nemo.install
new file mode 100644
index 000000000..da632ed5c
--- /dev/null
+++ b/community/nemo/nemo.install
@@ -0,0 +1,14 @@
+post_install() {
+ glib-compile-schemas --allow-any-name usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -ftq usr/share/icons/hicolor
+ update-mime-database usr/share/mime > /dev/null
+}
+
+post_upgrade() {
+ post_install "$1"
+}
+
+post_remove() {
+ post_install "$1"
+}
diff --git a/community/nemo/remove-desktop-background.patch b/community/nemo/remove-desktop-background.patch
new file mode 100644
index 000000000..0301cc820
--- /dev/null
+++ b/community/nemo/remove-desktop-background.patch
@@ -0,0 +1,1050 @@
+From 5f82ebba474f6c1068a21f51ded2b0e26869ecaf Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Mon, 15 Apr 2013 18:44:35 -0400
+Subject: [PATCH 1/6] Don't render the background. Need to fix selected icon
+ style
+
+---
+ src/nemo-desktop-icon-view.c | 18 +++---------------
+ src/nemo-desktop-window.c | 15 ++++++++++++++-
+ 2 files changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/src/nemo-desktop-icon-view.c b/src/nemo-desktop-icon-view.c
+index b903c5b..37cd8cb 100644
+--- a/src/nemo-desktop-icon-view.c
++++ b/src/nemo-desktop-icon-view.c
+@@ -243,16 +243,6 @@ struct NemoDesktopIconViewDetails
+ static void
+ real_begin_loading (NemoView *object)
+ {
+- NemoIconContainer *icon_container;
+- NemoDesktopIconView *view;
+-
+- view = NEMO_DESKTOP_ICON_VIEW (object);
+-
+- icon_container = get_icon_container (view);
+- if (view->details->background == NULL) {
+- view->details->background = nemo_desktop_background_new (icon_container);
+- }
+-
+ NEMO_VIEW_CLASS (nemo_desktop_icon_view_parent_class)->begin_loading (object);
+ }
+
+@@ -298,11 +288,6 @@ struct NemoDesktopIconViewDetails
+ nemo_view_update_menus,
+ icon_view);
+
+- if (icon_view->details->background != NULL) {
+- g_object_unref (icon_view->details->background);
+- icon_view->details->background = NULL;
+- }
+-
+ G_OBJECT_CLASS (nemo_desktop_icon_view_parent_class)->dispose (object);
+ }
+
+@@ -652,6 +637,9 @@ struct NemoDesktopIconViewDetails
+ G_CALLBACK (nemo_view_update_menus),
+ desktop_icon_view);
+
++ GdkRGBA transparent = { 0, 0, 0, 0 };
++ gtk_widget_override_background_color (GTK_WIDGET (icon_container), GTK_STATE_FLAG_NORMAL, &transparent);
++
+ have_cinnamon_settings = g_find_program_in_path ("cinnamon-settings") != NULL;
+ }
+
+diff --git a/src/nemo-desktop-window.c b/src/nemo-desktop-window.c
+index 9c80c62..2d5c4e8 100644
+--- a/src/nemo-desktop-window.c
++++ b/src/nemo-desktop-window.c
+@@ -97,6 +97,7 @@ struct NemoDesktopWindowDetails {
+ g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_DESKTOP_IS_HOME_DIR,
+ G_CALLBACK (nemo_desktop_window_update_directory),
+ window);
++
+ }
+
+ static void
+@@ -189,6 +190,12 @@ struct NemoDesktopWindowDetails {
+ /* Chain up to realize our children */
+ GTK_WIDGET_CLASS (nemo_desktop_window_parent_class)->map (widget);
+ gdk_window_lower (gtk_widget_get_window (widget));
++
++ GdkWindow *window;
++ GdkRGBA transparent = { 0, 0, 0, 0 };
++
++ window = gtk_widget_get_window (widget);
++ gdk_window_set_background_rgba (window, &transparent);
+ }
+
+ static void
+@@ -254,6 +261,7 @@ struct NemoDesktopWindowDetails {
+ {
+ NemoDesktopWindow *window;
+ NemoDesktopWindowDetails *details;
++ GdkVisual *visual;
+
+ window = NEMO_DESKTOP_WINDOW (widget);
+ details = window->details;
+@@ -261,7 +269,12 @@ struct NemoDesktopWindowDetails {
+ /* Make sure we get keyboard events */
+ gtk_widget_set_events (widget, gtk_widget_get_events (widget)
+ | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
+-
++
++ visual = gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget));
++ if (visual) {
++ gtk_widget_set_visual (widget, visual);
++ }
++
+ /* Do the work of realizing. */
+ GTK_WIDGET_CLASS (nemo_desktop_window_parent_class)->realize (widget);
+
+--
+1.8.1.6
+
+
+From 6b013acb8f0ad855d042d0e8d51350c539a37c21 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Mon, 15 Apr 2013 20:03:03 -0400
+Subject: [PATCH 2/6] Remove nemo-desktop-background, the desktop window makes
+ a transparent background and just uses the existing rendered background from
+ muffin/g-s-d
+
+---
+ libnemo-private/Makefile.am | 2 -
+ libnemo-private/nemo-desktop-background.c | 578 ------------------------------
+ libnemo-private/nemo-desktop-background.h | 65 ----
+ src/nemo-desktop-icon-view.c | 26 +-
+ 4 files changed, 13 insertions(+), 658 deletions(-)
+ delete mode 100644 libnemo-private/nemo-desktop-background.c
+ delete mode 100644 libnemo-private/nemo-desktop-background.h
+
+diff --git a/libnemo-private/Makefile.am b/libnemo-private/Makefile.am
+index 3b46318..5fd797c 100644
+--- a/libnemo-private/Makefile.am
++++ b/libnemo-private/Makefile.am
+@@ -81,8 +81,6 @@ libnemo_private_la_SOURCES = \
+ nemo-debug.h \
+ nemo-default-file-icon.c \
+ nemo-default-file-icon.h \
+- nemo-desktop-background.c \
+- nemo-desktop-background.h \
+ nemo-desktop-directory-file.c \
+ nemo-desktop-directory-file.h \
+ nemo-desktop-directory.c \
+diff --git a/libnemo-private/nemo-desktop-background.c b/libnemo-private/nemo-desktop-background.c
+deleted file mode 100644
+index f8dc979..0000000
+--- a/libnemo-private/nemo-desktop-background.c
++++ /dev/null
+@@ -1,578 +0,0 @@
+-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+-
+-/*
+- * nemo-desktop-background.c: Helper object to handle desktop background
+- * changes.
+- *
+- * Copyright (C) 2000 Eazel, Inc.
+- * Copyright (C) 2010 Cosimo Cecchi <cosimoc@gnome.org>
+- *
+- * 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., 51 Franklin Street - Suite 500,
+- * Boston, MA 02110-1335, USA.
+- *
+- * Authors: Darin Adler <darin@bentspoon.com>
+- * Cosimo Cecchi <cosimoc@gnome.org>
+- */
+-
+-#include <config.h>
+-
+-#include "nemo-desktop-background.h"
+-
+-#include <eel/eel-gdk-extensions.h>
+-#include <eel/eel-gtk-extensions.h>
+-
+-#include "nemo-global-preferences.h"
+-
+-#define GNOME_DESKTOP_USE_UNSTABLE_API
+-#include <libgnome-desktop/gnome-bg.h>
+-#include <gdesktop-enums.h>
+-
+-#include <gtk/gtk.h>
+-#include <string.h>
+-
+-static void init_fade (NemoDesktopBackground *self);
+-static void free_fade (NemoDesktopBackground *self);
+-static void queue_background_change (NemoDesktopBackground *self);
+-
+-static NemoDesktopBackground *singleton = NULL;
+-
+-G_DEFINE_TYPE (NemoDesktopBackground, nemo_desktop_background, G_TYPE_OBJECT);
+-
+-enum {
+- PROP_WIDGET = 1,
+- NUM_PROPERTIES,
+-};
+-
+-struct NemoDesktopBackgroundDetails {
+-
+- GtkWidget *widget;
+- GnomeBG *bg;
+-
+- /* Realized data: */
+- cairo_surface_t *background_surface;
+- GnomeBGCrossfade *fade;
+- int background_entire_width;
+- int background_entire_height;
+- GdkColor default_color;
+-
+- /* Desktop screen size watcher */
+- gulong screen_size_handler;
+- /* Desktop monitors configuration watcher */
+- gulong screen_monitors_handler;
+- guint change_idle_id;
+-};
+-
+-
+-static gboolean
+-background_settings_change_event_cb (GSettings *settings,
+- gpointer keys,
+- gint n_keys,
+- gpointer user_data);
+-
+-
+-static void
+-free_fade (NemoDesktopBackground *self)
+-{
+- if (self->details->fade != NULL) {
+- g_object_unref (self->details->fade);
+- self->details->fade = NULL;
+- }
+-}
+-
+-static void
+-free_background_surface (NemoDesktopBackground *self)
+-{
+- cairo_surface_t *surface;
+-
+- surface = self->details->background_surface;
+- if (surface != NULL) {
+- cairo_surface_destroy (surface);
+- self->details->background_surface = NULL;
+- }
+-}
+-
+-static void
+-nemo_desktop_background_finalize (GObject *object)
+-{
+- NemoDesktopBackground *self;
+-
+- self = NEMO_DESKTOP_BACKGROUND (object);
+-
+- g_signal_handlers_disconnect_by_func (gnome_background_preferences,
+- background_settings_change_event_cb,
+- self);
+-
+- free_background_surface (self);
+- free_fade (self);
+-
+- g_clear_object (&self->details->bg);
+-
+- G_OBJECT_CLASS (nemo_desktop_background_parent_class)->finalize (object);
+-}
+-
+-static void
+-nemo_desktop_background_unrealize (NemoDesktopBackground *self)
+-{
+- free_background_surface (self);
+-
+- self->details->background_entire_width = 0;
+- self->details->background_entire_height = 0;
+- self->details->default_color.red = 0xffff;
+- self->details->default_color.green = 0xffff;
+- self->details->default_color.blue = 0xffff;
+-}
+-
+-static void
+-nemo_desktop_background_set_image_uri (NemoDesktopBackground *self,
+- const char *image_uri)
+-{
+- char *filename;
+-
+- if (image_uri != NULL) {
+- filename = g_filename_from_uri (image_uri, NULL, NULL);
+- }
+- else {
+- filename = NULL;
+- }
+-
+- gnome_bg_set_filename (self->details->bg, filename);
+-
+- g_free (filename);
+-}
+-
+-static void
+-init_fade (NemoDesktopBackground *self)
+-{
+- GtkWidget *widget;
+- gboolean do_fade;
+-
+- widget = self->details->widget;
+-
+- if (widget == NULL || !gtk_widget_get_realized (widget))
+- return;
+-
+- do_fade = g_settings_get_boolean (nemo_desktop_preferences,
+- NEMO_PREFERENCES_DESKTOP_BACKGROUND_FADE);
+-
+- if (!do_fade) {
+- return;
+- }
+-
+- if (self->details->fade == NULL) {
+- GdkWindow *window;
+- GdkScreen *screen;
+- int old_width, old_height, width, height;
+-
+- /* If this was the result of a screen size change,
+- * we don't want to crossfade
+- */
+- window = gtk_widget_get_window (widget);
+- old_width = gdk_window_get_width (window);
+- old_height = gdk_window_get_height (window);
+-
+- screen = gtk_widget_get_screen (widget);
+- width = gdk_screen_get_width (screen);
+- height = gdk_screen_get_height (screen);
+-
+- if (old_width == width && old_height == height) {
+- self->details->fade = gnome_bg_crossfade_new (width, height);
+- g_signal_connect_swapped (self->details->fade,
+- "finished",
+- G_CALLBACK (free_fade),
+- self);
+- }
+- }
+-
+- if (self->details->fade != NULL && !gnome_bg_crossfade_is_started (self->details->fade)) {
+- cairo_surface_t *start_surface;
+-
+- if (self->details->background_surface == NULL) {
+- start_surface = gnome_bg_get_surface_from_root (gtk_widget_get_screen (widget));
+- } else {
+- start_surface = cairo_surface_reference (self->details->background_surface);
+- }
+- gnome_bg_crossfade_set_start_surface (self->details->fade,
+- start_surface);
+- cairo_surface_destroy (start_surface);
+- }
+-}
+-
+-static void
+-screen_size_changed (GdkScreen *screen,
+- NemoDesktopBackground *self)
+-{
+- queue_background_change (self);
+-}
+-
+-static gboolean
+-nemo_desktop_background_ensure_realized (NemoDesktopBackground *self)
+-{
+- int entire_width;
+- int entire_height;
+- GdkScreen *screen;
+- GdkWindow *window;
+-
+- screen = gtk_widget_get_screen (self->details->widget);
+- entire_height = gdk_screen_get_height (screen);
+- entire_width = gdk_screen_get_width (screen);
+-
+- /* If the window size is the same as last time, don't update */
+- if (entire_width == self->details->background_entire_width &&
+- entire_height == self->details->background_entire_height) {
+- return FALSE;
+- }
+-
+- free_background_surface (self);
+-
+- window = gtk_widget_get_window (self->details->widget);
+- self->details->background_surface = gnome_bg_create_surface (self->details->bg,
+- window,
+- entire_width, entire_height,
+- TRUE);
+-
+- /* We got the surface and everything, so we don't care about a change
+- that is pending (unless things actually change after this time) */
+- g_object_set_data (G_OBJECT (self),
+- "ignore-pending-change", GINT_TO_POINTER (TRUE));
+-
+- self->details->background_entire_width = entire_width;
+- self->details->background_entire_height = entire_height;
+-
+- return TRUE;
+-}
+-
+-static void
+-on_fade_finished (GnomeBGCrossfade *fade,
+- GdkWindow *window,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self = user_data;
+-
+- nemo_desktop_background_ensure_realized (self);
+- gnome_bg_set_surface_as_root (gdk_window_get_screen (window),
+- self->details->background_surface);
+-}
+-
+-static gboolean
+-fade_to_surface (NemoDesktopBackground *self,
+- GdkWindow *window,
+- cairo_surface_t *surface)
+-{
+- if (self->details->fade == NULL) {
+- return FALSE;
+- }
+-
+- if (!gnome_bg_crossfade_set_end_surface (self->details->fade,
+- surface)) {
+- return FALSE;
+- }
+-
+- if (!gnome_bg_crossfade_is_started (self->details->fade)) {
+- gnome_bg_crossfade_start (self->details->fade, window);
+- g_signal_connect (self->details->fade,
+- "finished",
+- G_CALLBACK (on_fade_finished), self);
+- }
+-
+- return gnome_bg_crossfade_is_started (self->details->fade);
+-}
+-
+-static void
+-nemo_desktop_background_set_up_widget (NemoDesktopBackground *self)
+-{
+- GdkWindow *window;
+- gboolean in_fade = FALSE;
+- GtkWidget *widget;
+-
+- widget = self->details->widget;
+-
+- if (!gtk_widget_get_realized (widget)) {
+- return;
+- }
+-
+- nemo_desktop_background_ensure_realized (self);
+- window = gtk_layout_get_bin_window (GTK_LAYOUT (widget));
+-
+- in_fade = fade_to_surface (self, window,
+- self->details->background_surface);
+-
+- if (!in_fade) {
+- cairo_pattern_t *pattern;
+-
+- pattern = cairo_pattern_create_for_surface (self->details->background_surface);
+- gdk_window_set_background_pattern (window, pattern);
+- cairo_pattern_destroy (pattern);
+-
+- gnome_bg_set_surface_as_root (gtk_widget_get_screen (widget),
+- self->details->background_surface);
+- }
+-}
+-
+-static gboolean
+-background_changed_cb (NemoDesktopBackground *self)
+-{
+- self->details->change_idle_id = 0;
+-
+- nemo_desktop_background_unrealize (self);
+- nemo_desktop_background_set_up_widget (self);
+-
+- gtk_widget_queue_draw (self->details->widget);
+-
+- return FALSE;
+-}
+-
+-static void
+-queue_background_change (NemoDesktopBackground *self)
+-{
+- if (self->details->change_idle_id != 0) {
+- g_source_remove (self->details->change_idle_id);
+- }
+-
+- self->details->change_idle_id =
+- g_idle_add ((GSourceFunc) background_changed_cb, self);
+-}
+-
+-static void
+-nemo_desktop_background_changed (GnomeBG *bg,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self;
+-
+- self = user_data;
+- init_fade (self);
+- queue_background_change (self);
+-}
+-
+-static void
+-nemo_desktop_background_transitioned (GnomeBG *bg,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self;
+-
+- self = user_data;
+- free_fade (self);
+- queue_background_change (self);
+-}
+-
+-static void
+-widget_realize_cb (GtkWidget *widget,
+- gpointer user_data)
+-{
+- GdkScreen *screen;
+- NemoDesktopBackground *self = user_data;
+-
+- screen = gtk_widget_get_screen (widget);
+-
+- if (self->details->screen_size_handler > 0) {
+- g_signal_handler_disconnect (screen,
+- self->details->screen_size_handler);
+- }
+- self->details->screen_size_handler =
+- g_signal_connect (screen, "size_changed",
+- G_CALLBACK (screen_size_changed), self);
+-
+- if (self->details->screen_monitors_handler > 0) {
+- g_signal_handler_disconnect (screen,
+- self->details->screen_monitors_handler);
+- }
+- self->details->screen_monitors_handler =
+- g_signal_connect (screen, "monitors-changed",
+- G_CALLBACK (screen_size_changed), self);
+- nemo_desktop_background_set_up_widget (self);
+-}
+-
+-static void
+-widget_unrealize_cb (GtkWidget *widget,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self = user_data;
+-
+- if (self->details->screen_size_handler > 0) {
+- g_signal_handler_disconnect (gtk_widget_get_screen (GTK_WIDGET (widget)),
+- self->details->screen_size_handler);
+- self->details->screen_size_handler = 0;
+- }
+- if (self->details->screen_monitors_handler > 0) {
+- g_signal_handler_disconnect (gtk_widget_get_screen (GTK_WIDGET (widget)),
+- self->details->screen_monitors_handler);
+- self->details->screen_monitors_handler = 0;
+- }
+-}
+-
+-static void
+-on_widget_destroyed (GtkWidget *widget,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self = user_data;
+-
+- if (self->details->change_idle_id != 0) {
+- g_source_remove (self->details->change_idle_id);
+- self->details->change_idle_id = 0;
+- }
+-
+- free_fade (self);
+- self->details->widget = NULL;
+-}
+-
+-static gboolean
+-background_change_event_idle_cb (NemoDesktopBackground *self)
+-{
+- gnome_bg_load_from_preferences (self->details->bg,
+- gnome_background_preferences);
+-
+- g_object_unref (self);
+-
+- return FALSE;
+-}
+-
+-static gboolean
+-background_settings_change_event_cb (GSettings *settings,
+- gpointer keys,
+- gint n_keys,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self = user_data;
+-
+- /* Need to defer signal processing otherwise
+- * we would make the dconf backend deadlock.
+- */
+- g_idle_add ((GSourceFunc) background_change_event_idle_cb,
+- g_object_ref (self));
+-
+- return FALSE;
+-}
+-
+-static void
+-nemo_desktop_background_constructed (GObject *obj)
+-{
+- NemoDesktopBackground *self;
+- GtkWidget *widget;
+-
+- self = NEMO_DESKTOP_BACKGROUND (obj);
+-
+- if (G_OBJECT_CLASS (nemo_desktop_background_parent_class)->constructed != NULL) {
+- G_OBJECT_CLASS (nemo_desktop_background_parent_class)->constructed (obj);
+- }
+-
+- widget = self->details->widget;
+-
+- g_assert (widget != NULL);
+-
+- g_signal_connect_object (widget, "destroy",
+- G_CALLBACK (on_widget_destroyed), self, 0);
+- g_signal_connect_object (widget, "realize",
+- G_CALLBACK (widget_realize_cb), self, 0);
+- g_signal_connect_object (widget, "unrealize",
+- G_CALLBACK (widget_unrealize_cb), self, 0);
+-
+- gnome_bg_load_from_preferences (self->details->bg,
+- gnome_background_preferences);
+-
+- /* Let's receive batch change events instead of every single one */
+- g_signal_connect (gnome_background_preferences,
+- "change-event",
+- G_CALLBACK (background_settings_change_event_cb),
+- self);
+-
+- queue_background_change (self);
+-}
+-
+-static void
+-nemo_desktop_background_set_property (GObject *object,
+- guint property_id,
+- const GValue *value,
+- GParamSpec *pspec)
+-{
+- NemoDesktopBackground *self;
+-
+- self = NEMO_DESKTOP_BACKGROUND (object);
+-
+- switch (property_id) {
+- case PROP_WIDGET:
+- self->details->widget = g_value_get_object (value);
+- break;
+- default:
+- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+- break;
+- }
+-}
+-
+-static GObject *
+-nemo_desktop_background_constructor (GType type,
+- guint n_construct_params,
+- GObjectConstructParam *construct_params)
+-{
+- GObject *retval;
+-
+- if (singleton != NULL) {
+- return g_object_ref (singleton);
+- }
+-
+- retval = G_OBJECT_CLASS (nemo_desktop_background_parent_class)->constructor
+- (type, n_construct_params, construct_params);
+-
+- singleton = NEMO_DESKTOP_BACKGROUND (retval);
+- g_object_add_weak_pointer (retval, (gpointer) &singleton);
+-
+- return retval;
+-}
+-
+-static void
+-nemo_desktop_background_class_init (NemoDesktopBackgroundClass *klass)
+-{
+- GObjectClass *object_class;
+- GParamSpec *pspec;
+-
+- object_class = G_OBJECT_CLASS (klass);
+- object_class->finalize = nemo_desktop_background_finalize;
+- object_class->set_property = nemo_desktop_background_set_property;
+- object_class->constructor = nemo_desktop_background_constructor;
+- object_class->constructed = nemo_desktop_background_constructed;
+-
+- pspec = g_param_spec_object ("widget", "The widget for this background",
+- "The widget that gets its background set",
+- NEMO_TYPE_ICON_CONTAINER,
+- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+- g_object_class_install_property (object_class, PROP_WIDGET, pspec);
+-
+- g_type_class_add_private (klass, sizeof (NemoDesktopBackgroundDetails));
+-}
+-
+-static void
+-nemo_desktop_background_init (NemoDesktopBackground *self)
+-{
+- self->details =
+- G_TYPE_INSTANCE_GET_PRIVATE (self,
+- NEMO_TYPE_DESKTOP_BACKGROUND,
+- NemoDesktopBackgroundDetails);
+-
+- self->details->bg = gnome_bg_new ();
+- self->details->default_color.red = 0xffff;
+- self->details->default_color.green = 0xffff;
+- self->details->default_color.blue = 0xffff;
+-
+- g_signal_connect (self->details->bg, "changed",
+- G_CALLBACK (nemo_desktop_background_changed), self);
+- g_signal_connect (self->details->bg, "transitioned",
+- G_CALLBACK (nemo_desktop_background_transitioned), self);
+-}
+-
+-NemoDesktopBackground *
+-nemo_desktop_background_new (NemoIconContainer *container)
+-{
+- return g_object_new (NEMO_TYPE_DESKTOP_BACKGROUND,
+- "widget", container,
+- NULL);
+-}
+diff --git a/libnemo-private/nemo-desktop-background.h b/libnemo-private/nemo-desktop-background.h
+deleted file mode 100644
+index 8755cb1..0000000
+--- a/libnemo-private/nemo-desktop-background.h
++++ /dev/null
+@@ -1,65 +0,0 @@
+-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+-
+-/*
+- * nemo-desktop-background.c: Helper object to handle desktop background
+- * changes.
+- *
+- * Copyright (C) 2000 Eazel, Inc.
+- * Copyright (C) 2010 Cosimo Cecchi <cosimoc@gnome.org>
+- *
+- * 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., 51 Franklin Street - Suite 500,
+- * Boston, MA 02110-1335, USA.
+- *
+- * Authors: Darin Adler <darin@bentspoon.com>
+- * Cosimo Cecchi <cosimoc@gnome.org>
+- */
+-
+-#ifndef __NAUTILIUS_DESKTOP_BACKGROUND_H__
+-#define __NAUTILIUS_DESKTOP_BACKGROUND_H__
+-
+-#include <gtk/gtk.h>
+-
+-#include "nemo-icon-container.h"
+-
+-typedef struct NemoDesktopBackground NemoDesktopBackground;
+-typedef struct NemoDesktopBackgroundClass NemoDesktopBackgroundClass;
+-
+-#define NEMO_TYPE_DESKTOP_BACKGROUND nemo_desktop_background_get_type()
+-#define NEMO_DESKTOP_BACKGROUND(obj) \
+- (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_DESKTOP_BACKGROUND, NemoDesktopBackground))
+-#define NEMO_DESKTOP_BACKGROUND_CLASS(klass) \
+- (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_DESKTOP_BACKGROUND, NemoDesktopBackgroundClass))
+-#define NEMO_IS_DESKTOP_BACKGROUND(obj) \
+- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_DESKTOP_BACKGROUND))
+-#define NEMO_IS_DESKTOP_BACKGROUND_CLASS(klass) \
+- (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_DESKTOP_BACKGROUND))
+-#define NEMO_DESKTOP_BACKGROUND_GET_CLASS(obj) \
+- (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_DESKTOP_BACKGROUND, NemoDesktopBackgroundClass))
+-
+-GType nemo_desktop_background_get_type (void);
+-NemoDesktopBackground * nemo_desktop_background_new (NemoIconContainer *container);
+-
+-typedef struct NemoDesktopBackgroundDetails NemoDesktopBackgroundDetails;
+-
+-struct NemoDesktopBackground {
+- GObject parent;
+- NemoDesktopBackgroundDetails *details;
+-};
+-
+-struct NemoDesktopBackgroundClass {
+- GObjectClass parent_class;
+-};
+-
+-#endif /* __NAUTILIUS_DESKTOP_BACKGROUND_H__ */
+diff --git a/src/nemo-desktop-icon-view.c b/src/nemo-desktop-icon-view.c
+index 37cd8cb..5dec8b5 100644
+--- a/src/nemo-desktop-icon-view.c
++++ b/src/nemo-desktop-icon-view.c
+@@ -41,7 +41,6 @@
+ #include <fcntl.h>
+ #include <gdk/gdkx.h>
+ #include <glib/gi18n.h>
+-#include <libnemo-private/nemo-desktop-background.h>
+ #include <libnemo-private/nemo-desktop-icon-file.h>
+ #include <libnemo-private/nemo-directory-notify.h>
+ #include <libnemo-private/nemo-file-changes-queue.h>
+@@ -76,8 +75,6 @@ struct NemoDesktopIconViewDetails
+ gulong delayed_init_signal;
+ guint reload_desktop_timeout;
+ gboolean pending_rescan;
+-
+- NemoDesktopBackground *background;
+ };
+
+ static void default_zoom_level_changed (gpointer user_data);
+@@ -240,12 +237,6 @@ struct NemoDesktopIconViewDetails
+ return GDK_FILTER_CONTINUE;
+ }
+
+-static void
+-real_begin_loading (NemoView *object)
+-{
+- NEMO_VIEW_CLASS (nemo_desktop_icon_view_parent_class)->begin_loading (object);
+-}
+-
+ static const char *
+ real_get_id (NemoView *view)
+ {
+@@ -300,7 +291,6 @@ struct NemoDesktopIconViewDetails
+
+ G_OBJECT_CLASS (class)->dispose = nemo_desktop_icon_view_dispose;
+
+- vclass->begin_loading = real_begin_loading;
+ vclass->merge_menus = real_merge_menus;
+ vclass->update_menus = real_update_menus;
+ vclass->get_view_id = real_get_id;
+@@ -428,6 +418,17 @@ struct NemoDesktopIconViewDetails
+ desktop_icon_view);
+ }
+
++static void
++desktop_icon_container_realize (GtkWidget *widget,
++ NemoDesktopIconView *desktop_icon_view)
++{
++ GdkWindow *bin_window;
++ GdkRGBA transparent = { 0, 0, 0, 0 };
++
++ bin_window = gtk_layout_get_bin_window (GTK_LAYOUT (widget));
++ gdk_window_set_background_rgba (bin_window, &transparent);
++}
++
+ static NemoZoomLevel
+ get_default_zoom_level (void)
+ {
+@@ -614,6 +615,8 @@ struct NemoDesktopIconViewDetails
+
+ g_signal_connect_object (icon_container, "middle_click",
+ G_CALLBACK (nemo_desktop_icon_view_handle_middle_click), desktop_icon_view, 0);
++ g_signal_connect_object (icon_container, "realize",
++ G_CALLBACK (desktop_icon_container_realize), desktop_icon_view, 0);
+ g_signal_connect_object (desktop_icon_view, "realize",
+ G_CALLBACK (realized_callback), desktop_icon_view, 0);
+ g_signal_connect_object (desktop_icon_view, "unrealize",
+@@ -637,9 +640,6 @@ struct NemoDesktopIconViewDetails
+ G_CALLBACK (nemo_view_update_menus),
+ desktop_icon_view);
+
+- GdkRGBA transparent = { 0, 0, 0, 0 };
+- gtk_widget_override_background_color (GTK_WIDGET (icon_container), GTK_STATE_FLAG_NORMAL, &transparent);
+-
+ have_cinnamon_settings = g_find_program_in_path ("cinnamon-settings") != NULL;
+ }
+
+--
+1.8.1.6
+
+
+From b40990397b6fff55878481a806a1b5574e43951f Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Mon, 15 Apr 2013 20:14:40 -0400
+Subject: [PATCH 3/6] Forgot an include
+
+---
+ libnemo-private/nemo-icon-dnd.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/libnemo-private/nemo-icon-dnd.c b/libnemo-private/nemo-icon-dnd.c
+index 017c6a7..2ed073c 100644
+--- a/libnemo-private/nemo-icon-dnd.c
++++ b/libnemo-private/nemo-icon-dnd.c
+@@ -52,7 +52,6 @@
+ #include <gtk/gtk.h>
+ #include <glib/gi18n.h>
+
+-#include <libnemo-private/nemo-desktop-background.h>
+ #include <libnemo-private/nemo-file-utilities.h>
+ #include <libnemo-private/nemo-file-changes-queue.h>
+ #include <stdio.h>
+--
+1.8.1.6
+
+
+From 020d4dc15fa9c0e1303cef7795e45e688ede7726 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Tue, 16 Apr 2013 18:00:01 -0400
+Subject: [PATCH 4/6] Change to use cinnamon background keys
+
+---
+ libnemo-private/nemo-global-preferences.c | 2 +-
+ libnemo-private/nemo-global-preferences.h | 2 +-
+ src/nemo-places-sidebar.c | 2 +-
+ src/nemo-view.c | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libnemo-private/nemo-global-preferences.c b/libnemo-private/nemo-global-preferences.c
+index d3ad20a..336afc3 100644
+--- a/libnemo-private/nemo-global-preferences.c
++++ b/libnemo-private/nemo-global-preferences.c
+@@ -76,7 +76,7 @@
+ nemo_desktop_preferences = g_settings_new("org.nemo.desktop");
+ nemo_tree_sidebar_preferences = g_settings_new("org.nemo.sidebar-panels.tree");
+ gnome_lockdown_preferences = g_settings_new("org.gnome.desktop.lockdown");
+- gnome_background_preferences = g_settings_new("org.gnome.desktop.background");
++ cinnamon_background_preferences = g_settings_new("org.cinnamon.background");
+ gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling");
+ gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal");
+ }
+diff --git a/libnemo-private/nemo-global-preferences.h b/libnemo-private/nemo-global-preferences.h
+index 2b9c56a..c1ec61a 100644
+--- a/libnemo-private/nemo-global-preferences.h
++++ b/libnemo-private/nemo-global-preferences.h
+@@ -226,7 +226,7 @@ enum
+ GSettings *nemo_tree_sidebar_preferences;
+ GSettings *nemo_window_state;
+ GSettings *gnome_lockdown_preferences;
+-GSettings *gnome_background_preferences;
++GSettings *cinnamon_background_preferences;
+ GSettings *gnome_media_handling_preferences;
+ GSettings *gnome_terminal_preferences;
+
+diff --git a/src/nemo-places-sidebar.c b/src/nemo-places-sidebar.c
+index a0bc4d4..ca32193 100644
+--- a/src/nemo-places-sidebar.c
++++ b/src/nemo-places-sidebar.c
+@@ -3825,7 +3825,7 @@ static void expand_or_collapse_category (NemoPlacesSidebar *sidebar,
+ bookmarks_popup_menu_detach_cb,
+ sidebar);
+
+- g_signal_handlers_disconnect_by_func (gnome_background_preferences,
++ g_signal_handlers_disconnect_by_func (cinnamon_background_preferences,
+ desktop_setting_changed_callback,
+ sidebar);
+
+diff --git a/src/nemo-view.c b/src/nemo-view.c
+index ab03b44..3ece32a 100644
+--- a/src/nemo-view.c
++++ b/src/nemo-view.c
+@@ -6945,7 +6945,7 @@ static void slot_changed_pane (NemoWindowSlot *slot,
+
+ uri = nemo_file_info_get_uri (file);
+
+- g_settings_set_string (gnome_background_preferences,
++ g_settings_set_string (cinnamon_background_preferences,
+ "picture-uri", uri);
+ g_free (uri);
+ }
+--
+1.8.1.6
+
+
+From f487954ebce3f564744e9c83b5dd40fa8f8fad6d Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Mon, 22 Apr 2013 08:33:41 -0400
+Subject: [PATCH 5/6] Fall back to org.gnome.desktop.background schema when
+ cinnamon is not installed
+
+---
+ libnemo-private/nemo-global-preferences.c | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/libnemo-private/nemo-global-preferences.c b/libnemo-private/nemo-global-preferences.c
+index 336afc3..7eb04ef 100644
+--- a/libnemo-private/nemo-global-preferences.c
++++ b/libnemo-private/nemo-global-preferences.c
+@@ -76,7 +76,25 @@
+ nemo_desktop_preferences = g_settings_new("org.nemo.desktop");
+ nemo_tree_sidebar_preferences = g_settings_new("org.nemo.sidebar-panels.tree");
+ gnome_lockdown_preferences = g_settings_new("org.gnome.desktop.lockdown");
+- cinnamon_background_preferences = g_settings_new("org.cinnamon.background");
+ gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling");
+ gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal");
++
++ const gchar * const *schema_list = g_settings_list_schemas ();
++ int i = 0;
++ gboolean has_cinnamon = FALSE;
++ if (schema_list != NULL) {
++ while (schema_list[i] != NULL) {
++ if (g_strcmp0 (schema_list[i], "org.cinnamon.background") == 0) {
++ has_cinnamon = TRUE;
++ break;
++ }
++ i++;
++ }
++ }
++
++ if (has_cinnamon) {
++ cinnamon_background_preferences = g_settings_new ("org.cinnamon.background");
++ } else {
++ cinnamon_background_preferences = g_settings_new ("org.gnome.desktop.background");
++ }
+ }
+--
+1.8.1.6
+
+
+From 9739a1b30603868ea6b8b12cf7aeb167be5aea22 Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Mon, 22 Apr 2013 09:31:49 -0400
+Subject: [PATCH 6/6] simplify schema check
+
+---
+ libnemo-private/nemo-global-preferences.c | 17 +++--------------
+ 1 file changed, 3 insertions(+), 14 deletions(-)
+
+diff --git a/libnemo-private/nemo-global-preferences.c b/libnemo-private/nemo-global-preferences.c
+index 7eb04ef..0470595 100644
+--- a/libnemo-private/nemo-global-preferences.c
++++ b/libnemo-private/nemo-global-preferences.c
+@@ -79,20 +79,9 @@
+ gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling");
+ gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal");
+
+- const gchar * const *schema_list = g_settings_list_schemas ();
+- int i = 0;
+- gboolean has_cinnamon = FALSE;
+- if (schema_list != NULL) {
+- while (schema_list[i] != NULL) {
+- if (g_strcmp0 (schema_list[i], "org.cinnamon.background") == 0) {
+- has_cinnamon = TRUE;
+- break;
+- }
+- i++;
+- }
+- }
+-
+- if (has_cinnamon) {
++ GSettingsSchemaSource *schema_source;
++ schema_source = g_settings_schema_source_get_default();
++ if (g_settings_schema_source_lookup (schema_source, "org.cinnamon.background", FALSE)) {
+ cinnamon_background_preferences = g_settings_new ("org.cinnamon.background");
+ } else {
+ cinnamon_background_preferences = g_settings_new ("org.gnome.desktop.background");
+--
+1.8.1.6
+
diff --git a/community/nemo/tracker-0.16.patch b/community/nemo/tracker-0.16.patch
new file mode 100644
index 000000000..49964678d
--- /dev/null
+++ b/community/nemo/tracker-0.16.patch
@@ -0,0 +1,33 @@
+From 88459a57ac2fcf06400ade5c6d0189bf1aa2334d Mon Sep 17 00:00:00 2001
+From: Nick Black <nick.black@sprezzatech.com>
+Date: Fri, 12 Apr 2013 17:10:46 -0400
+Subject: [PATCH] build with tracker 0.16
+
+---
+ configure.in | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index ec72f73..21afbe4 100644
+--- a/configure.in
++++ b/configure.in
+@@ -249,11 +249,13 @@ AC_ARG_ENABLE(tracker,
+
+ build_tracker=no
+ if test "x$enable_tracker" != "xno"; then
+- PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.14,
++ PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.16,
+ [build_tracker=yes],
+- [PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.12,
++ [PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.14,
++ [build_tracker=yes],
++ [PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.12,
+ [build_tracker=yes],
+- [build_tracker=no])])
++ [build_tracker=no])])])
+ if test "x$build_tracker" = "xyes"; then
+ AC_DEFINE(ENABLE_TRACKER, 1, [Define to enable Tracker support])
+ fi
+--
+1.8.1.5
+
diff --git a/community/nestopia/ChangeLog b/community/nestopia/ChangeLog
new file mode 100644
index 000000000..5077d00b2
--- /dev/null
+++ b/community/nestopia/ChangeLog
@@ -0,0 +1,12 @@
+2008-12-16 Tiago Pierezan Camargo <tcamargo@gmail.com>
+
+ * PKGBUILD: Minor corrections.
+
+2008-12-04 Tiago Pierezan Camargo <tcamargo@gmail.com>
+
+ * PKGBUILD (source): Package adopted.
+ Variable/version cleanup.
+ Patch to remove bogus error messages on program exit.
+ New dependency: mesa.
+ Renamed executable to nestopia.
+
diff --git a/community/nestopia/PKGBUILD b/community/nestopia/PKGBUILD
new file mode 100644
index 000000000..e2ddb8395
--- /dev/null
+++ b/community/nestopia/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 82601 2013-01-21 11:30:27Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tiago Pierezan Camargo <tcamargo@gmail.com>
+# Contributor: robb_force <robb_force@holybuffalo.net>
+
+pkgname=nestopia
+pkgver=1.44
+pkgrel=1
+pkgdesc='An NES emulator featuring cycle exact emulation, a ridiculous number of mappers, and lots of custom sound chips.'
+url='http://0ldsk00l.ca/nestopia.html'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('sdl' 'alsa-lib' 'gtk3' 'glu')
+makedepends=('unzip' 'mesa')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/rdanbrook/nestopia/tarball/$pkgver"
+ "build-fix.patch")
+md5sums=('ea59be039dfc50ae32a6decf905f04b8'
+ '4a852d8e484c2fe214377ec18a68356f')
+
+build() {
+ cd ${srcdir}/rdanbrook-nestopia-*
+ patch -p1 <$srcdir/build-fix.patch
+ export LDFLAGS=-lX11
+ make PREFIX=/usr -j1
+}
+
+package() {
+ cd ${srcdir}/rdanbrook-nestopia-*
+ mkdir -p $pkgdir/usr/{bin,share/nestopia}
+ make install PREFIX=$pkgdir/usr
+}
diff --git a/community/nestopia/build-fix.patch b/community/nestopia/build-fix.patch
new file mode 100644
index 000000000..a7d82ead1
--- /dev/null
+++ b/community/nestopia/build-fix.patch
@@ -0,0 +1,18 @@
+diff -wbBur rdanbrook-nestopia-f1dde9b/Makefile rdanbrook-nestopia-f1dde9b.my/Makefile
+--- rdanbrook-nestopia-f1dde9b/Makefile 2013-01-20 20:10:25.000000000 +0400
++++ rdanbrook-nestopia-f1dde9b.my/Makefile 2013-01-21 15:18:54.727577673 +0400
+@@ -197,11 +197,11 @@
+ install -m 0644 NstDatabase.xml $(DATADIR)
+ install -m 0644 source/unix/icons/*.png $(DATADIR)/icons
+ install -m 0644 source/unix/icons/*.svg $(DATADIR)/icons
+- install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps
+- xdg-desktop-menu install --novendor $(DATADIR)/nestopia.desktop
++ install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps/nestopia.svg
++ install -Dm0644 $(DATADIR)/nestopia.desktop $(PREFIX)/share/applications/nestopia.desktop
+
+ uninstall:
+- xdg-desktop-menu uninstall $(DATADIR)/nestopia.desktop
++ rm $(PREFIX)/share/applications/nestopia.desktop
+ rm $(PREFIX)/share/pixmaps/nestopia.svg
+ rm $(BINDIR)/$(BIN)
+ rm -rf $(DATADIR)
diff --git a/community/net6/PKGBUILD b/community/net6/PKGBUILD
new file mode 100644
index 000000000..f02498291
--- /dev/null
+++ b/community/net6/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 89936 2013-05-05 21:30:50Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=net6
+pkgver=1.3.14
+pkgrel=1
+pkgdesc="A library that provides a TCP protocol abstraction for C++"
+arch=('i686' 'x86_64')
+url="http://gobby.0x539.de/"
+license=('LGPL')
+depends=('gnutls' 'libsigc++2.0')
+options=('!libtool')
+source=(http://releases.0x539.de/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('be6db739f71c5c08421bf6181e77f3b2')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/netbrake/PKGBUILD b/community/netbrake/PKGBUILD
new file mode 100644
index 000000000..3eb1bf9cd
--- /dev/null
+++ b/community/netbrake/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 66250 2012-02-23 05:21:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zsolt Varadi <sysop_xxl@fibermail.hu>
+
+pkgname=netbrake
+pkgver=0.2
+pkgrel=4
+pkgdesc="Netbrake is an utility to limit the bandwidth used by a process"
+arch=(i686 x86_64)
+url="http://www.hping.org/netbrake/"
+license=('GPL')
+depends=(glibc)
+makedepends=()
+source=($url/$pkgname-$pkgver.tar.gz
+ arch-x86_64.patch)
+md5sums=('42f61481cdb910bddd1105d48367bdd2'
+ 'fe9de3428ff2a2ec8766d1b2bf8acfb5')
+
+build() {
+ cd $srcdir/$pkgname
+
+ [ $CARCH == "x86_64" ] && patch -Np1 <../arch-x86_64.patch
+
+ cp Makefile.in Makefile
+ sed -i -e 's|LIBPATH=@LIBPATH@|LIBPATH=/usr/lib|g' Makefile
+ sed -i -e 's|BINPATH=@BINPATH@|BINPATH=/usr/bin|g' Makefile
+ sed -i -e 's|COMPILE_TIME=@COMPILE_TIME@|COMPILE_TIME=-DNB_HTTPFS|g' Makefile
+
+ cp netbrake.h.in netbrake.h
+ sed -i -e 's|#define LIBPATH "@LIBPATH@"|#define LIBPATH "/usr/lib"|g' netbrake.h
+
+ make
+
+ mkdir -p $pkgdir/usr/bin
+ mkdir -p $pkgdir/usr/lib
+
+ install -m 755 netbrake $pkgdir/usr/bin
+ install -m 755 libnetbrake.so.0.1 $pkgdir/usr/lib
+}
diff --git a/community/netbrake/arch-x86_64.patch b/community/netbrake/arch-x86_64.patch
new file mode 100644
index 000000000..327ffca84
--- /dev/null
+++ b/community/netbrake/arch-x86_64.patch
@@ -0,0 +1,39 @@
+diff -wbBur netbrake/libnetbrake.c netbrake.my/libnetbrake.c
+--- netbrake/libnetbrake.c 2003-12-04 09:33:00.000000000 +0300
++++ netbrake.my/libnetbrake.c 2007-10-11 13:29:22.000000000 +0400
+@@ -236,7 +236,7 @@
+ return retval;
+ }
+
+-int recv(int s, void *buf, size_t len, int flags)
++ssize_t recv(int s, void *buf, size_t len, int flags)
+ {
+ int retval;
+
+@@ -245,7 +245,7 @@
+ return retval;
+ }
+
+-int recvfrom(int s, void *buf, size_t len, int flags,
++ssize_t recvfrom(int s, void *buf, size_t len, int flags,
+ struct sockaddr *from, socklen_t *fromlen)
+ {
+ int retval;
+@@ -255,7 +255,7 @@
+ return retval;
+ }
+
+-int send(int s, const void *msg, size_t len , int flags)
++ssize_t send(int s, const void *msg, size_t len , int flags)
+ {
+ int retval;
+
+@@ -264,7 +264,7 @@
+ return retval;
+ }
+
+-int sendto(int s, const void *msg, size_t len, int flags,
++ssize_t sendto(int s, const void *msg, size_t len, int flags,
+ const struct sockaddr *to, socklen_t tolen)
+ {
+ int retval;
diff --git a/community/netcf/PKGBUILD b/community/netcf/PKGBUILD
new file mode 100644
index 000000000..5a4727a7e
--- /dev/null
+++ b/community/netcf/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90691 2013-05-13 14:30:21Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Aurélien Wailly <aurelien.wailly@gmail.com>
+
+pkgname=netcf
+pkgver=0.2.3
+pkgrel=2
+pkgdesc="A library for configuring network interfaces"
+arch=('i686' 'x86_64')
+license=('LGPL')
+url="https://fedorahosted.org/netcf/"
+depends=('augeas>=0.7.4' 'netctl' 'libxslt' 'libxml2' 'libnl')
+makedepends=('gcc')
+options=(!libtool)
+source=("https://fedorahosted.org/released/netcf/$pkgname-$pkgver.tar.gz")
+md5sums=('bee292470b06201b59af0fad473a1b65')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ aclocal
+ automake --add-missing || true
+ autoreconf
+ ./configure --prefix=/usr \
+ --disable-static \
+ --with-init-script=none \
+ --with-driver=redhat
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR=${pkgdir} install
+ rm -rf $pkgdir/etc/rc.d
+}
diff --git a/community/nethack/PKGBUILD b/community/nethack/PKGBUILD
new file mode 100644
index 000000000..ccb4a8c60
--- /dev/null
+++ b/community/nethack/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 73189 2012-07-03 18:35:52Z schuay $
+# Maintainer : schuay <jakob.gruber@gmail.com>
+# Contributor : kevin <kevin@archlinux.org>
+# Contributor : Christian Schmidt <mucknert@gmx.net>
+# Contributor : Markus Meissner <markus@meissna.de>
+# Contributor : Nick Erdmann <erdmann@date.upb.de>
+
+pkgname=nethack
+pkgver=3.4.3
+pkgrel=7
+pkgdesc='A single player dungeon exploration game'
+arch=('i686' 'x86_64')
+url="http://www.nethack.org/index.html"
+license=('custom')
+depends=('ncurses' 'gzip')
+install=nethack.install
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-${pkgver//.}-src.tgz")
+md5sums=('21479c95990eefe7650df582426457f9')
+
+build(){
+ cd $srcdir/$pkgname-$pkgver/
+ sh sys/unix/setup.sh
+
+ sed -e '/define HACKDIR/ s|/usr/games/lib/nethackdir|/var/games/nethack/|' \
+ -e "/^#define COMPRESS\s/ s|/usr/bin/compress|$(which gzip)|" \
+ -e '/^#define COMPRESS_EXTENSION/ s|".Z"|".gz"|' \
+ -e 's|^/\* \(#define DLB\) \*/|\1|' -i include/config.h
+
+ sed -e 's|^/\* \(#define LINUX\) \*/|\1|' \
+ -e 's|^/\* \(#define TIMED_DELAY\) \*/|\1|' -i include/unixconf.h
+
+ sed -e 's|^# \(WINTTYLIB = -lncurses\)|\1|' \
+ -e 's|^WINTTYLIB = -ltermlib|#&|' -i src/Makefile
+
+ # we are setting up for setgid games, so modify all necessary permissions
+ # to allow full access for groups
+
+ sed -e '/^GAMEDIR\s*=/ s|/games/.*$|/var/games/$(GAME)|' \
+ -e '/^GAMEUID\s*=/ s|games|root|' \
+ -e '/^GAMEGRP\s*=/ s|bin|games|' \
+ -e '/^GAMEPERM\s*=/ s|04755|02755|' \
+ -e '/^FILEPERM\s*=/ s|0644|0664|' \
+ -e '/^DIRPERM\s*=/ s|0755|0775|' \
+ -e '/^SHELLDIR\s*=/ s|/games|/usr/bin|' -i Makefile
+
+ sed -e "/^MANDIR\s*=/s|/usr/man/man6|$pkgdir/usr/share/man/man6|" -i doc/Makefile
+
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver/
+
+ install -dm755 $pkgdir/usr/share/{man/man6,doc/nethack}
+ install -dm775 $pkgdir/var/games/
+ make PREFIX=$pkgdir install manpages
+ sed -e "s|HACKDIR=$pkgdir/|HACKDIR=/|" \
+ -e 's|HACK=$HACKDIR|HACK=/usr/lib/nethack|' \
+ -i $pkgdir/usr/bin/nethack
+
+ install -dm755 $pkgdir/usr/lib/nethack
+ mv $pkgdir/var/games/nethack/{nethack,recover} $pkgdir/usr/lib/nethack/
+
+ install -Dm644 doc/Guidebook.txt $pkgdir/usr/share/doc/nethack/Guidebook.txt
+
+ install -Dm644 dat/license $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/nethack/nethack.install b/community/nethack/nethack.install
new file mode 100644
index 000000000..66ec2aeb5
--- /dev/null
+++ b/community/nethack/nethack.install
@@ -0,0 +1,12 @@
+pre_upgrade() {
+ if(test `vercmp '3.4.3-5' "$2"` -ge 0); then
+ mv /usr/share/nethack /tmp/nethack-backup
+ fi
+}
+
+post_upgrade() {
+ if(test `vercmp '3.4.3-5' "$2"` -ge 0); then
+ rm -rf /var/games/nethack
+ mv /tmp/nethack-backup /var/games/nethack
+ fi
+}
diff --git a/community/nethogs/PKGBUILD b/community/nethogs/PKGBUILD
new file mode 100644
index 000000000..3bf9ec080
--- /dev/null
+++ b/community/nethogs/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 83919 2013-02-06 14:47:26Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: ViNS <gladiator@fastwebnet.it>
+# Contributor: Daenyth
+pkgname=nethogs
+pkgver=0.8.0
+pkgrel=2
+pkgdesc="A net top tool which displays traffic used per process instead of per IP or interface"
+url="http://nethogs.sourceforge.net"
+license=(GPL)
+depends=(libpcap ncurses gcc-libs)
+arch=(i686 x86_64)
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz gcc44.patch)
+md5sums=('d6fb12b46e80a50c9b9f91dd48e2b234'
+ '62eb824fbbadd1c60d0749593c16d293')
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ sed -i 's/sbin/bin/g' Makefile
+
+ # Patch the code to work with gcc 4.4
+ patch -Np1 -i "$srcdir/gcc44.patch"
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+ make DESTDIR="$pkgdir/usr" install
+}
+# vim:set ts=2 sw=2 et:
diff --git a/community/nethogs/gcc44.patch b/community/nethogs/gcc44.patch
new file mode 100644
index 000000000..7fedbf978
--- /dev/null
+++ b/community/nethogs/gcc44.patch
@@ -0,0 +1,11 @@
+diff -ruN nethogs-old/conninode.cpp nethogs/conninode.cpp
+--- nethogs-old/conninode.cpp 2009-05-17 09:05:32.000000000 -0400
++++ nethogs/conninode.cpp 2009-05-17 09:06:47.000000000 -0400
+@@ -1,6 +1,7 @@
+ #include <netinet/in.h>
+ #include <map>
+ #include <stdlib.h>
++#include <cstdio>
+
+ #include "nethogs.h"
+ #include "conninode.h"
diff --git a/community/netselect/PKGBUILD b/community/netselect/PKGBUILD
new file mode 100644
index 000000000..14aab1bbe
--- /dev/null
+++ b/community/netselect/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 60659 2011-12-16 15:40:36Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=netselect
+pkgver=0.3
+pkgrel=2
+pkgdesc="An ultrafast intelligent parallelizing binary-search implementation of ping"
+arch=('i686' 'x86_64')
+url="http://alumnit.ca/~apenwarr/netselect/index.html"
+license=('custom')
+depends=('glibc')
+source=("http://apenwarr.ca/netselect/$pkgname-$pkgver.tar.gz"
+ "license.txt")
+md5sums=('3a3714946db2458e5db3d55373057ef2'
+ '741ea171051c5cbac5ff18326c11d65e')
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ sed -i '/sudo /d' Makefile
+
+ make
+}
+
+package() {
+
+ install -D -m4755 "$srcdir/$pkgname"/netselect "$pkgdir"/usr/bin/netselect
+ install -D -m644 "$srcdir"/license.txt \
+ "$pkgdir"/usr/share/licenses/netselect/LICENSE
+}
diff --git a/community/netselect/license.txt b/community/netselect/license.txt
new file mode 100644
index 000000000..ff9ba9c48
--- /dev/null
+++ b/community/netselect/license.txt
@@ -0,0 +1,35 @@
+/*
+ * Netselect:
+ * Copyright (c) 1998-2001 by Avery Pennarun <apenwarr@worldvisions.ca>
+ *
+ * Traceroute:
+ * Copyright (c) 1990, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Van Jacobson.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
+ */
diff --git a/community/netstat-nat/PKGBUILD b/community/netstat-nat/PKGBUILD
new file mode 100644
index 000000000..a6b7b85ae
--- /dev/null
+++ b/community/netstat-nat/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 66252 2012-02-23 05:24:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=netstat-nat
+pkgver=1.4.10
+pkgrel=2
+pkgdesc="Small program written in C displaying NAT connections, managed by netfilter."
+url="http://tweegy.nl/projects/netstat-nat/"
+license=("GPL")
+arch=(i686 x86_64)
+depends=(iptables)
+source=(http://tweegy.nl/download/netstat-nat-$pkgver.tar.gz)
+md5sums=('c1bbb3ee9774ebfa27c440e2d9dd7286')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/netsurf-buildsystem/PKGBUILD b/community/netsurf-buildsystem/PKGBUILD
new file mode 100644
index 000000000..3787946b4
--- /dev/null
+++ b/community/netsurf-buildsystem/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 89110 2013-04-26 20:53:25Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=netsurf-buildsystem
+pkgver=1.0
+pkgrel=1
+pkgdesc='The Netsurf buildsystem'
+arch=('x86_64' 'i686')
+url='http://www.netsurf-browser.org/'
+license=('MIT')
+source=("http://download.netsurf-browser.org/libs/releases/buildsystem-$pkgver.tar.gz")
+sha256sums=('4495e8e12faf0ace668ab80401064ce7f65a195efe63c924c066a109649ff146')
+
+build() {
+ cd "$srcdir/buildsystem-$pkgver"
+
+ sed -i 's:-Werror::' Makefile
+ make PREFIX=/usr COMPONENT_TYPE='lib-shared'
+ make PREFIX=/usr COMPONENT_TYPE='lib-static'
+}
+
+package() {
+ cd "$srcdir/buildsystem-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE='lib-shared'
+ make install PREFIX=/usr DESTDIR="$pkgdir" COMPONENT_TYPE='lib-static'
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/netsurf/PKGBUILD b/community/netsurf/PKGBUILD
new file mode 100644
index 000000000..ed44aee5d
--- /dev/null
+++ b/community/netsurf/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 90068 2013-05-06 19:38:43Z foutrelis $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Georgij Kondratjev <smpuj@bk.ru>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=netsurf
+pkgver=3.0
+pkgrel=2
+pkgdesc='Lightweight and fast web browser'
+arch=('x86_64' 'i686')
+url='http://www.netsurf-browser.org/'
+license=('GPL')
+depends=('gtk2' 'libmng' 'curl' 'librsvg' 'desktop-file-utils' 'libnsbmp' 'libnsgif' 'libcss' 'libwebp' 'libdom') # 'libharu' 'gstreamer0.10'
+makedepends=('js' 're2c' 'lcms' 'gendesk' 'netsurf-buildsystem' 'libglade')
+install="$pkgname.install"
+source=("netsurf.png::http://ubuntu.allmyapps.com/data/n/e/netsurf-netsurf-web-browser/icon_48x48_netsurf.png"
+ "http://download.$pkgname-browser.org/$pkgname/releases/source/$pkgname-$pkgver-src.tar.gz")
+sha256sums=('f0dbcc5d80bf03d706aa8b28a322aa7f169a40813848c2d1505691f6e2c7ef00'
+ '7c6a48d3cc3e9a3e3a51b532ddf60f7697e97bf8b61a6d3b2ced1a2e89fbccc6')
+
+_exec=('netsurf %U')
+_genericname=('Web Browser')
+_comment=('Lightweight web browser')
+_mimetype=('text/html;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/geo')
+
+prepare() {
+ cd "$srcdir"
+
+ gendesk
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ make \
+ PREFIX=/usr \
+ TARGET=gtk \
+ NETSURF_USE_WEBP=YES \
+ NETSURF_USE_VIDEO=NO \
+ NETSURF_USE_MOZILLA_JS=YES \
+ NETSURF_USE_HARU_PDF=NO
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir"
+ install -Dm644 "../$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+ install -Dm644 "../$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+ install -Dm644 COPYING \
+ "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/netsurf/netsurf.install b/community/netsurf/netsurf.install
new file mode 100644
index 000000000..ef816a666
--- /dev/null
+++ b/community/netsurf/netsurf.install
@@ -0,0 +1,14 @@
+post_upgrade() {
+ gtk-update-icon-cache -q -f -t /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/netwatch/PKGBUILD b/community/netwatch/PKGBUILD
new file mode 100644
index 000000000..4bbe25890
--- /dev/null
+++ b/community/netwatch/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 66253 2012-02-23 05:25:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=netwatch
+pkgver=1.3.0
+pkgrel=3
+pkgdesc="monitor network connections"
+arch=(i686 x86_64)
+url="http://www.slctech.org/~mackay/NETWATCH/netwatch.html"
+license=('GPL')
+options=(zipman)
+depends=(ncurses)
+source=(http://www.slctech.org/~mackay/NETWATCH/netwatch-$pkgver-1.tgz)
+md5sums=('9168c20c1984e9d126d1a0ec1eb0c1d3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ unset CFLAGS
+ ./configure --prefix=/usr
+ make
+
+ install -D -m0755 netwatch $pkgdir/usr/bin/netwatch
+ install -D -m0755 netresolv $pkgdir/usr/bin/netresolv
+ install -D -m0644 netwatch.1 $pkgdir/usr/share/man/man1/netwatch.1
+}
diff --git a/community/newsbeuter/PKGBUILD b/community/newsbeuter/PKGBUILD
new file mode 100644
index 000000000..72ad250d0
--- /dev/null
+++ b/community/newsbeuter/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 87233 2013-03-28 21:20:42Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Sven Pfleiderer <pfleidi@roothausen.de>
+
+pkgname=newsbeuter
+pkgver=2.6
+pkgrel=1
+pkgdesc="A RSS feed reader for the text console with special Podcast support"
+arch=('i686' 'x86_64')
+url="http://www.newsbeuter.org/"
+license=('custom: MIT')
+depends=('curl' 'json-c' 'libxml2' 'sqlite' 'stfl')
+makedepends=('swig' 'gettext')
+optdepends=('ruby')
+options=('!libtool')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://www.newsbeuter.org/downloads/$pkgname-$pkgver.tar.gz)
+sha256sums=('3189fdd3c65b3207f9ffb3a10f6fda4e92ea927776cb49a79c1e4c0344f9dcc3')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make prefix=/usr
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make prefix=/usr DESTDIR=$pkgdir install
+
+#license
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/newsbeuter/newsbeuter.changelog b/community/newsbeuter/newsbeuter.changelog
new file mode 100644
index 000000000..d8fb146ff
--- /dev/null
+++ b/community/newsbeuter/newsbeuter.changelog
@@ -0,0 +1,30 @@
+2013-03-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * newsbeuter 2.6-1
+
+2013-03-07 Andrea Scarpino <andrea@archlinux.org>
+ * ruby 2.0 rebuild
+
+2012-02-23 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * newsbeuter 2.5-1
+
+2011-01-06 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * newsbeuter 2.4-1
+
+2010-06-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v2.3
+ * FS#19744 fixed - non-working locale
+
+2010-03-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v2.2
+
+2009-12-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v2.1
+
+2009-10-28 Biru Ionut <ionut@archlinux.ro>
+ * Fixed FS#16857
+
+2009-10-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Fixed FS#16850
+
+2009-06-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community] in v2.0
diff --git a/community/newsbeuter/newsbeuter.install b/community/newsbeuter/newsbeuter.install
new file mode 100644
index 000000000..f74c51bc5
--- /dev/null
+++ b/community/newsbeuter/newsbeuter.install
@@ -0,0 +1,6 @@
+post_install() {
+cat << EOF
+==> If you're not satisfied by the information "man newsbeuter" provides,
+==> have a look at /usr/share/doc/newsbeuter/newsbeuter.html
+EOF
+}
diff --git a/community/nfacct/PKGBUILD b/community/nfacct/PKGBUILD
new file mode 100644
index 000000000..c1041dfa4
--- /dev/null
+++ b/community/nfacct/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90530 2013-05-13 00:24:07Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Alessandro Sagratini <ale_sagra@hotmail.com>
+
+pkgname=nfacct
+pkgver=1.0.1
+pkgrel=2
+pkgdesc='Command line tool to create/retrieve/delete accounting objects'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/nfacct/'
+license=('GPL2')
+depends=('libnetfilter_acct')
+options=(!libtool)
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2")
+md5sums=('992e863409d144350dbc8f0554a0f478')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make -k check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/nginx/PKGBUILD b/community/nginx/PKGBUILD
new file mode 100644
index 000000000..e731ec975
--- /dev/null
+++ b/community/nginx/PKGBUILD
@@ -0,0 +1,102 @@
+# $Id: PKGBUILD 94240 2013-07-17 19:28:57Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Miroslaw Szot <mss@czlug.icis.pcz.pl>
+
+_cfgdir=/etc/nginx
+_tmpdir=/var/lib/nginx
+
+pkgname=nginx
+pkgver=1.4.2
+pkgrel=1
+pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server'
+arch=('i686' 'x86_64')
+depends=('pcre' 'zlib' 'openssl' 'geoip')
+makedepends=('passenger')
+url="http://nginx.org"
+license=('custom')
+install=nginx.install
+backup=(${_cfgdir:1}/fastcgi.conf
+ ${_cfgdir:1}/fastcgi_params
+ ${_cfgdir:1}/koi-win
+ ${_cfgdir:1}/koi-utf
+ ${_cfgdir:1}/mime.types
+ ${_cfgdir:1}/nginx.conf
+ ${_cfgdir:1}/scgi_params
+ ${_cfgdir:1}/uwsgi_params
+ ${_cfgdir:1}/win-utf
+ etc/logrotate.d/nginx)
+source=(http://nginx.org/download/nginx-$pkgver.tar.gz
+ service
+ logrotate)
+sha256sums=('5361ffb7b0ebf8b1a04369bc3d1295eaed091680c1c58115f88d56c8e51f3611'
+ '05fdc0c0483410944b988d7f4beabb00bec4a44a41bd13ebc9b78585da7d3f9b'
+ '9523a1fdd5eb61bf62f3049f6ee088b198e36d5edcce2d9b08bbeb2930aa5a16')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ ./configure \
+ --prefix=$_cfgdir \
+ --conf-path=$_cfgdir/nginx.conf \
+ --sbin-path=/usr/bin/nginx \
+ --pid-path=/var/run/nginx.pid \
+ --lock-path=/var/lock/nginx.lock \
+ --user=http --group=http \
+ --http-log-path=/var/log/nginx/access.log \
+ --error-log-path=/var/log/nginx/error.log \
+ --http-client-body-temp-path=$_tmpdir/client-body \
+ --http-proxy-temp-path=$_tmpdir/proxy \
+ --http-fastcgi-temp-path=$_tmpdir/fastcgi \
+ --http-scgi-temp-path=$_tmpdir/scgi \
+ --http-uwsgi-temp-path=$_tmpdir/uwsgi \
+ --with-imap --with-imap_ssl_module \
+ --with-ipv6 --with-pcre-jit \
+ --with-file-aio \
+ --with-http_dav_module \
+ --with-http_geoip_module \
+ --with-http_gunzip_module \
+ --with-http_gzip_static_module \
+ --with-http_realip_module \
+ --with-http_spdy_module \
+ --with-http_ssl_module \
+ --with-http_stub_status_module \
+ --add-module=/usr/lib/passenger/ext/nginx \
+ #--with-http_mp4_module \
+ #--with-http_addition_module \
+ #--with-http_xslt_module \
+ #--with-http_image_filter_module \
+ #--with-http_sub_module \
+ #--with-http_flv_module \
+ #--with-http_random_index_module \
+ #--with-http_secure_link_module \
+ #--with-http_degradation_module \
+ #--with-http_perl_module \
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ sed -e 's|\<user\s\+\w\+;|user html;|g' \
+ -e '44s|html|/usr/share/nginx/html|' \
+ -e '54s|html|/usr/share/nginx/html|' \
+ -i "$pkgdir"/etc/nginx/nginx.conf
+ rm "$pkgdir"/etc/nginx/*.default
+
+ install -d "$pkgdir"/$_tmpdir
+ install -dm700 "$pkgdir"/$_tmpdir/proxy
+
+ chmod 750 "$pkgdir"/var/log/nginx
+ chown http:log "$pkgdir"/var/log/nginx
+
+ install -d "$pkgdir"/usr/share/nginx
+ mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx
+
+ install -Dm644 "$srcdir"/logrotate "$pkgdir"/etc/logrotate.d/nginx
+ install -Dm644 "$srcdir"/service "$pkgdir"/usr/lib/systemd/system/nginx.service
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/nginx/LICENSE
+ rm -rf "$pkgdir"/var/run
+}
diff --git a/community/nginx/logrotate b/community/nginx/logrotate
new file mode 100644
index 000000000..3d082bcf8
--- /dev/null
+++ b/community/nginx/logrotate
@@ -0,0 +1,9 @@
+/var/log/nginx/*log {
+ missingok
+ create 640 http log
+ sharedscripts
+ compress
+ postrotate
+ test -r /var/run/nginx.pid && kill -USR1 `cat /var/run/nginx.pid`
+ endscript
+}
diff --git a/community/nginx/nginx.install b/community/nginx/nginx.install
new file mode 100644
index 000000000..0daccc639
--- /dev/null
+++ b/community/nginx/nginx.install
@@ -0,0 +1,15 @@
+post_upgrade() {
+ if [[ $(vercmp $2 1.2.7-4) -le 0 ]]; then
+ chmod 750 var/log/nginx
+ chown http:log var/log/nginx
+ fi
+ if [[ $(vercmp $2 1.2.1-2) -le 0 ]]; then
+ echo " >>> Since 1.2.1-2 several changes has been made in package:"
+ echo " - *.conf files have been moved to /etc/nginx"
+ echo " - /etc/conf.d/nginx has been removed"
+ echo " Main configuration file is set to /etc/nginx/nginx.conf"
+ echo " - access.log and error.log can be found in /var/log/nginx by default"
+ echo " - bundled *.html files have been moved to /usr/share/nginx/html"
+ echo " - /etc/nginx/{html,logs} symbolic links and *.default files have been removed"
+ fi
+}
diff --git a/community/nginx/service b/community/nginx/service
new file mode 100644
index 000000000..29d3aa877
--- /dev/null
+++ b/community/nginx/service
@@ -0,0 +1,14 @@
+[Unit]
+Description=A high performance web server and a reverse proxy server
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/run/nginx.pid
+ExecStartPre=/usr/bin/nginx -t -q -g 'pid /run/nginx.pid; daemon on; master_process on;'
+ExecStart=/usr/bin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;'
+ExecReload=/usr/bin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;' -s reload
+ExecStop=/usr/bin/nginx -g 'pid /run/nginx.pid;' -s quit
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ngircd/PKGBUILD b/community/ngircd/PKGBUILD
new file mode 100644
index 000000000..be8677c53
--- /dev/null
+++ b/community/ngircd/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 92045 2013-05-31 00:26:55Z seblu $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=ngircd
+pkgver=20.2
+pkgrel=2
+pkgdesc="Next Generation IRC Daemon"
+arch=('x86_64' 'i686')
+backup=(etc/ngircd.conf)
+url="http://ngircd.barton.de/"
+license=('GPL')
+depends=('openssl' 'libident')
+source=("http://ngircd.barton.de/pub/ngircd/ngircd-$pkgver.tar.gz"
+ ngircd.service)
+sha256sums=('306c0ef0d2ceac0836a84ecf871a6bc4dd16c25683aa87c0f172b6e68b93357d'
+ 'f02e30f6864ba1130bcc85bedc44ad782687f572c06f10e0501b0ddcf532b404')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --mandir=/usr/share/man \
+ --with-ident \
+ --with-openssl \
+ --enable-ipv6
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm 755 ../ngircd.service "$pkgdir/usr/lib/systemd/system/ngircd.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ngircd/ngircd.service b/community/ngircd/ngircd.service
new file mode 100644
index 000000000..b75382ea9
--- /dev/null
+++ b/community/ngircd/ngircd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Next Generation IRC Daemon
+After=network.target
+
+[Service]
+# don't daemonize to simplify stuff
+ExecStart=/usr/bin/ngircd -n
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ngrep/PKGBUILD b/community/ngrep/PKGBUILD
new file mode 100644
index 000000000..2bc220a0e
--- /dev/null
+++ b/community/ngrep/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 66459 2012-02-25 02:54:09Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=ngrep
+pkgver=1.45
+pkgrel=9
+pkgdesc='A grep-like utility that allows you to search for network packets on an interface.'
+arch=('i686' 'x86_64')
+url='http://ngrep.sourceforge.net/'
+license=('custom')
+depends=('libpcap>=1.0.0' 'pcre')
+# Fix build failure when using "-j" (FS#27091).
+options=(!makeflags)
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'ngrep-1.45-fix-ipv6.patch'
+ 'ngrep-1.45-use-system-pcre.patch')
+md5sums=('bc8150331601f3b869549c94866b4f1c'
+ '524ee2e0d9ff3c6a262eca836ddf63ed'
+ 'c546da1e47d3e8bddc7678c81a22a6b7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # add patch for broken ipv6 support (FS#27225)
+ patch -Np1 -i "$srcdir/ngrep-1.45-fix-ipv6.patch"
+
+ # use system PCRE (FS#27225)
+ patch -Np1 -i "$srcdir/ngrep-1.45-use-system-pcre.patch"
+ autoreconf
+
+ export EXTRA_INCLUDES=$(pcre-config --cflags)
+ export EXTRA_LIBS=$(pcre-config --libs)
+ ./configure --prefix=/usr --with-pcap-includes=/usr/include/pcap --enable-ipv6 --enable-pcre
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm0644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
+}
diff --git a/community/ngrep/ngrep-1.45-fix-ipv6.patch b/community/ngrep/ngrep-1.45-fix-ipv6.patch
new file mode 100644
index 000000000..66c5ff399
--- /dev/null
+++ b/community/ngrep/ngrep-1.45-fix-ipv6.patch
@@ -0,0 +1,41 @@
+--- ngrep-1.45.ds2/ngrep.c 2010-04-21 12:16:52.000000000 +0200
++++ ngrep-1.45.ds2-ipv6-patch/ngrep.c 2010-04-21 12:11:49.581088102 +0200
+@@ -711,10 +711,12 @@ void process(u_char *d, struct pcap_pkth
+ data = (unsigned char *)(tcp_pkt) + tcphdr_offset;
+ len -= link_offset + ip_hl + tcphdr_offset;
+
++/*
+ #if USE_IPv6
+ if (ip_ver == 6)
+ len -= ntohs(ip6_pkt->ip6_plen);
+-#endif
++#endif
++*/
+
+ if ((int32_t)len < 0)
+ len = 0;
+@@ -731,11 +733,12 @@ void process(u_char *d, struct pcap_pkth
+ data = (unsigned char *)(udp_pkt) + udphdr_offset;
+ len -= link_offset + ip_hl + udphdr_offset;
+
++/*
+ #if USE_IPv6
+ if (ip_ver == 6)
+ len -= ntohs(ip6_pkt->ip6_plen);
+ #endif
+-
++*/
+ if ((int32_t)len < 0)
+ len = 0;
+
+@@ -769,7 +772,7 @@ void process(u_char *d, struct pcap_pkth
+ uint16_t icmp6hdr_offset = (frag_offset) ? 0 : 4;
+
+ data = (unsigned char *)(icmp6_pkt) + icmp6hdr_offset;
+- len -= link_offset + ip_hl + ntohs(ip6_pkt->ip6_plen) + icmp6hdr_offset;
++ len -= link_offset + ip_hl + icmp6hdr_offset;
+
+ if ((int32_t)len < 0)
+ len = 0;
+
+
diff --git a/community/ngrep/ngrep-1.45-use-system-pcre.patch b/community/ngrep/ngrep-1.45-use-system-pcre.patch
new file mode 100644
index 000000000..973dd25d6
--- /dev/null
+++ b/community/ngrep/ngrep-1.45-use-system-pcre.patch
@@ -0,0 +1,60 @@
+diff -urN ngrep-1.45/configure.in ngrep-1.45-patched/configure.in
+--- ngrep-1.45/configure.in 2006-11-14 21:43:56.000000000 -0600
++++ ngrep-1.45-patched/configure.in 2006-11-29 10:34:48.000000000 -0600
+@@ -28,8 +28,8 @@
+ dnl
+
+ EXTRA_DEFINES=""
+-EXTRA_INCLUDES=""
+-EXTRA_LIBS=""
++EXTRA_INCLUDES="$EXTRA_INCLUDES"
++EXTRA_LIBS="$EXTRA_LIBS"
+
+
+ dnl
+@@ -130,8 +130,8 @@
+ echo 'Configuring Perl-Compatible Regular Expression (PCRE) library ...'
+ echo
+
+- REGEX_DIR='pcre-5.0'
+- REGEX_OBJS="$REGEX_DIR/pcre.o $REGEX_DIR/study.o"
++# REGEX_DIR='pcre-5.0'
++# REGEX_OBJS="$REGEX_DIR/pcre.o $REGEX_DIR/study.o"
+ USE_PCRE="1"
+
+ else
+@@ -146,7 +146,7 @@
+
+ fi
+
+-( cd $REGEX_DIR && ./configure )
++#( cd $REGEX_DIR && ./configure )
+
+ AC_SUBST(REGEX_DIR)
+ AC_SUBST(REGEX_OBJS)
+diff -urN ngrep-1.45/Makefile.in ngrep-1.45-patched/Makefile.in
+--- ngrep-1.45/Makefile.in 2006-11-28 07:35:37.000000000 -0600
++++ ngrep-1.45-patched/Makefile.in 2006-11-29 08:20:32.000000000 -0600
+@@ -38,7 +38,7 @@
+
+ all: $(TARGET)
+
+-$(TARGET): $(REGEX_OBJS) $(OBJS)
++$(TARGET): $(OBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(STRIPFLAG) -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(LIBS)
+
+ debug: $(REGEX_OBJS) $(OBJS)
+diff -urN ngrep-1.45/ngrep.c ngrep-1.45-patched/ngrep.c
+--- ngrep-1.45/ngrep.c 2006-11-28 07:38:43.000000000 -0600
++++ ngrep-1.45-patched/ngrep.c 2006-11-29 08:10:48.000000000 -0600
+@@ -92,7 +92,7 @@
+ #endif
+
+ #if USE_PCRE
+-#include "pcre-5.0/pcre.h"
++#include "pcre.h"
+ #else
+ #include "regex-0.12/regex.h"
+ #endif
+
+
diff --git a/community/ngspice/PKGBUILD b/community/ngspice/PKGBUILD
new file mode 100644
index 000000000..e55415fa4
--- /dev/null
+++ b/community/ngspice/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 88376 2013-04-16 21:34:14Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Abhishek Dasgupta <abhidg@gmail.com>
+# Contributor: Jason Taylor <jftaylor21@gmail.com>
+# Contributor: Luis Henrique <lmello.009@gmail.com>
+
+pkgname=ngspice
+pkgver=25
+pkgrel=2
+pkgdesc='Mixed-level/Mixed-signal circuit simulator based on Spice3f5, Ciber1b1, and Xspice.'
+url='http://ngspice.sourceforge.net'
+license=('BSD')
+arch=('i686' 'x86_64')
+depends=('libxaw' 'libedit' 'gcc-libs')
+source=("http://downloads.sourceforge.net/project/$pkgname/ng-spice-rework/$pkgver/$pkgname-$pkgver.tar.gz"
+ "http://downloads.sourceforge.net/project/$pkgname/ng-spice-rework/$pkgver/$pkgname-doc-$pkgver.tar.gz")
+sha1sums=('745c3c32385b7d5c808836e393fe7699f8568860'
+ 'db7a1de7553b4e0d454e6c99b4371677eaf130aa')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-readline=yes \
+ --enable-xspice \
+ --enable-cider \
+ --enable-openmp
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="$pkgdir" install
+ install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -D -m644 "$srcdir/$pkgname-doc-$pkgver/manual.pdf" "$pkgdir/usr/share/doc/$pkgname/manual.pdf"
+}
diff --git a/community/nickle/PKGBUILD b/community/nickle/PKGBUILD
new file mode 100644
index 000000000..44f3e05ca
--- /dev/null
+++ b/community/nickle/PKGBUILD
@@ -0,0 +1,25 @@
+#$Id: PKGBUILD 69252 2012-04-11 04:23:34Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=nickle
+pkgver=2.70
+pkgrel=2
+pkgdesc="A programming language based prototyping environment with powerful programming and scripting capabilities"
+arch=('i686' 'x86_64')
+url="http://nickle.org"
+license=('custom')
+depends=('readline')
+source=(http://nickle.org/release/${pkgname}-${pkgver}.tar.gz)
+md5sums=('fbb77ad1c6f80a9a67ae28a2a678ed67')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/community/nload/PKGBUILD b/community/nload/PKGBUILD
new file mode 100644
index 000000000..f8cd1d0b6
--- /dev/null
+++ b/community/nload/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 63950 2012-02-07 21:18:01Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Andreas Hauser <andy-aur@splashground.de>
+
+pkgname=nload
+pkgver=0.7.4
+pkgrel=1
+pkgdesc='Monitors network traffic and bandwidth usage'
+url='http://www.roland-riegel.de/nload'
+license=('GPL2')
+depends=('ncurses')
+arch=('i686' 'x86_64')
+source=("$url/$pkgname-$pkgver.tar.gz")
+md5sums=('3c733c528f244ca5a4f76bf185729c39')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/nmon/PKGBUILD b/community/nmon/PKGBUILD
new file mode 100644
index 000000000..6420dedb8
--- /dev/null
+++ b/community/nmon/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 67998 2012-03-16 23:55:43Z giovanni $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgname=nmon
+pkgver=14g
+pkgrel=3
+pkgdesc="AIX & Linux Performance Monitoring tool"
+arch=('i686' 'x86_64')
+url="http://nmon.sourceforge.net"
+license=('GPL')
+depends=('ncurses')
+source=("http://downloads.sourceforge.net/${pkgname}/lmon$pkgver.c")
+md5sums=('e537f51446fb375140368b115dc8278b')
+
+build() {
+ cd ${srcdir}
+
+ cc -o nmon lmon$pkgver.c -g -O2 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses -g
+}
+
+package() {
+ cd ${srcdir}
+
+ install -D -m 0755 nmon "${pkgdir}/usr/bin/nmon"
+}
diff --git a/community/nodejs/PKGBUILD b/community/nodejs/PKGBUILD
new file mode 100644
index 000000000..11d508c2d
--- /dev/null
+++ b/community/nodejs/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 93869 2013-07-11 15:37:07Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: James Campos <james.r.campos@gmail.com>
+# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com >
+# Contributor: Dongsheng Cai <dongsheng at moodle dot com>
+# Contributor: Masutu Subric <masutu.arch at googlemail dot com>
+# Contributor: TIanyi Cui <tianyicui@gmail.com>
+
+pkgname=nodejs
+pkgver=0.10.13
+pkgrel=1
+pkgdesc='Evented I/O for V8 javascript'
+arch=('i686' 'x86_64')
+url='http://nodejs.org/'
+license=('MIT')
+depends=('openssl')
+makedepends=('python2')
+checkdepends=('curl')
+options=('!emptydirs')
+source=(http://nodejs.org/dist/v$pkgver/node-v$pkgver.tar.gz)
+sha256sums=('a102fad260d216b95611ddd57aeb6531c92ad1038508390654423feb1b51c059')
+
+prepare() {
+ cd node-v$pkgver
+
+ msg 'Fixing for python2 name'
+ find -type f -exec sed \
+ -e 's_^#!/usr/bin/env python$_&2_' \
+ -e 's_^\(#!/usr/bin/python2\).[45]$_\1_' \
+ -e 's_^#!/usr/bin/python$_&2_' \
+ -e "s_'python'_'python2'_" -i {} \;
+ find test/ -type f -exec sed 's_python _python2 _' -i {} \;
+}
+
+build() {
+ cd node-v$pkgver
+
+ export PYTHON=python2
+ ./configure \
+ --prefix=/usr \
+ --shared-openssl
+
+ make
+}
+
+check() {
+ cd node-v$pkgver
+ make test || true
+}
+
+package() {
+ cd node-v$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ # install docs as per user request
+ install -d "$pkgdir"/usr/share/doc/nodejs
+ cp -r doc/api/{*.html,assets} \
+ "$pkgdir"/usr/share/doc/nodejs
+
+ install -D -m644 LICENSE \
+ "$pkgdir"/usr/share/licenses/nodejs/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/noip/PKGBUILD b/community/noip/PKGBUILD
new file mode 100644
index 000000000..86d19b280
--- /dev/null
+++ b/community/noip/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 90507 2013-05-12 23:35:57Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Daenyth
+# Contributor: Lyle Putnam <lcputnam@amerytel.net>
+
+pkgname=noip
+pkgver=2.1.9
+pkgrel=5
+pkgdesc='Dynamic DNS Client Updater for no-ip.com services'
+arch=('x86_64' 'i686')
+url='http://www.no-ip.com/downloads.php?page=linux'
+license=('GPL')
+install="$pkgname.install"
+depends=('glibc')
+source=('http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz'
+ 'noip.service')
+sha256sums=('82b9bafab96a0c53b21aaef688bf70b3572e26217b5e2072bdb09da3c4a6f593'
+ '624553d92d69bb76cb457a056a7722dc051b5bbd17ea0e622b5cc08909019ea5')
+
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver-1"
+
+ sed -i '/^#define CONFIG_FILEPATH/s/PREFIX//' noip2.c
+ sed -i '/^#define CONFIG_FILENAME/s/PREFIX//' noip2.c
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver-1"
+
+ cc -Wall $CLFAGS $LDFLAGS -g -Dlinux -DPREFIX=/usr noip2.c -o noip2 -Wno-unused-but-set-variable
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver-1"
+
+ install -Dm755 noip2 "$pkgdir/usr/bin/noip2"
+ install -Dm644 "$srcdir/$pkgname.service" \
+ "$pkgdir/usr/lib/systemd/system/noip2.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/noip/noip.install b/community/noip/noip.install
new file mode 100644
index 000000000..1207f20e4
--- /dev/null
+++ b/community/noip/noip.install
@@ -0,0 +1,6 @@
+post_install() {
+ echo
+ echo 'Before running noip2 you must configure it.'
+ echo 'To configure noip2 run the command "noip2 -C -Y"'
+ echo
+}
diff --git a/community/noip/noip.service b/community/noip/noip.service
new file mode 100644
index 000000000..2ad0ba867
--- /dev/null
+++ b/community/noip/noip.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=No-IP Dynamic DNS Update Client
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/noip2 -c /etc/no-ip2.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/nomacs/PKGBUILD b/community/nomacs/PKGBUILD
new file mode 100644
index 000000000..1b737b3d0
--- /dev/null
+++ b/community/nomacs/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 94002 2013-07-13 00:27:24Z speps $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+pkgname=nomacs
+pkgver=1.4.0
+pkgrel=1
+pkgdesc="A Qt image viewer"
+arch=(i686 x86_64)
+url="http://www.nomacs.org/"
+license=('GPL3')
+depends=('qt4' 'exiv2' 'libraw' 'opencv')
+makedepends=('cmake')
+install="$pkgname.install"
+source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver-source.tar.bz2")
+md5sums=('ede84986dce5f67c270bb5ff7354e867')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ [ -d bld ] || mkdir bld && cd bld
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
+ -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/bld"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/nomacs/nomacs.install b/community/nomacs/nomacs.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/community/nomacs/nomacs.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/normalize/PKGBUILD b/community/normalize/PKGBUILD
new file mode 100644
index 000000000..62f0a5766
--- /dev/null
+++ b/community/normalize/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 81986 2013-01-05 08:50:13Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=normalize
+pkgver=0.7.7
+pkgrel=6
+pkgdesc="A tool for adjusting the volume of WAV files to a standard level"
+arch=('i686' 'x86_64')
+url="http://normalize.nongnu.org"
+license=('GPL')
+depends=('audiofile' 'libmad' 'vorbis-tools' 'lame' 'flac' 'mpg123')
+makedepends=('pkg-config' 'intltool')
+source=("http://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'normalize-0.7.7-audiofile-pkgconfig.patch'
+ 'normalize-0.7.7-m4.patch')
+md5sums=('1749b16fc7a08aa5d0cf9f76eeaa8436'
+ '77d565e29bef11837e80347adfd42b58'
+ '0b4bca7bf183275b9f939576ebad4233')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/normalize-0.7.7-audiofile-pkgconfig.patch"
+ patch -Np0 -i "${srcdir}/normalize-0.7.7-m4.patch"
+
+ touch AUTHORS NEWS ChangeLog
+ libtoolize --force --copy
+ aclocal -I m4
+ autoreconf
+ automake --add-missing
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --with-audiofile \
+ --with-mad
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/normalize/normalize-0.7.7-audiofile-pkgconfig.patch b/community/normalize/normalize-0.7.7-audiofile-pkgconfig.patch
new file mode 100644
index 000000000..09f211cdf
--- /dev/null
+++ b/community/normalize/normalize-0.7.7-audiofile-pkgconfig.patch
@@ -0,0 +1,55 @@
+Use pkgconfig to check for audiofile since the audiofile-config script was
+removed from >=audiofile-0.3.0.
+
+--- normalize-0.7.7/configure.ac.orig
++++ normalize-0.7.7/configure.ac
+@@ -248,33 +248,16 @@
+
+
+ dnl *** Stuff for audiofile library ***
+-dnl v0.2.1 and before have bugs with 24-bit LE files
+-AM_PATH_AUDIOFILE([ 0.2.2 ], [ have_audiofile=true ])
+-dnl AC_CHECK_LIB(audiofile, afSetVirtualSampleFormat, have_audiofile=true)
++AC_ARG_WITH(audiofile, AC_HELP_STRING([--with-audiofile],
++ [use the audiofile library (default yes)]))
+ AH_TEMPLATE([USE_AUDIOFILE],
+ [Define if you want to use the audiofile library.])
+-AC_ARG_WITH(audiofile,
+- AC_HELP_STRING([--with-audiofile],
+- [use the audiofile library (default yes)]),
+- [ case "$withval" in
+- no) with_audiofile=false ;;
+- *) with_audiofile=true ;;
+- esac ])
+
+-use_audiofile=false
+-if test x$with_audiofile != xfalse; then
+- if test x$have_audiofile = xtrue; then
+- AC_DEFINE(USE_AUDIOFILE)
+- use_audiofile=true
+-dnl AUDIOFILELIBS="-laudiofile"
+- elif test x$with_audiofile = xtrue; then
+- AC_MSG_ERROR([--with-audiofile specified, but audiofile library not found])
+- fi
+-fi
+-dnl AC_SUBST(AUDIOFILELIBS)
+-test x$use_audiofile = xfalse && AUDIOFILE_LIBS=
+-test x$use_audiofile = xfalse && AUDIOFILE_CFLAGS=
+-AM_CONDITIONAL(AUDIOFILE, test x$use_audiofile = xtrue)
++AS_IF([test "x$with_audiofile" = "xyes"], [
++ PKG_CHECK_MODULES([AUDIOFILE], [audiofile])
++ AC_DEFINE(USE_AUDIOFILE)
++])
++AM_CONDITIONAL(AUDIOFILE, test x$with_audiofile = xyes)
+
+
+ dnl *** Stuff for mad mpeg audio decoder library ***
+@@ -330,7 +313,7 @@
+
+ echo
+ echo "Configuration:"
+-echo " audiofile library: $use_audiofile"
++echo " audiofile library: $with_audiofile"
+ echo " mpeg audio support: $use_mad"
+ echo " xmms volume adjust plugin: $use_xmms"
+ echo
diff --git a/community/normalize/normalize-0.7.7-m4.patch b/community/normalize/normalize-0.7.7-m4.patch
new file mode 100644
index 000000000..2aeb3e451
--- /dev/null
+++ b/community/normalize/normalize-0.7.7-m4.patch
@@ -0,0 +1,553 @@
+--- m4/extra.m4
++++ m4/extra.m4
+@@ -0,0 +1,550 @@
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
++# 2005 Free Software Foundation, Inc.
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++# Configure paths for GLIB
++# Owen Taylor 97-11-3
++
++dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
++dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or
++dnl gthread is specified in MODULES, pass to glib-config
++dnl
++AC_DEFUN(AM_PATH_GLIB,
++[dnl
++dnl Get the cflags and libraries from the glib-config script
++dnl
++AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)],
++ glib_config_prefix="$withval", glib_config_prefix="")
++AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)],
++ glib_config_exec_prefix="$withval", glib_config_exec_prefix="")
++AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program],
++ , enable_glibtest=yes)
++
++ if test x$glib_config_exec_prefix != x ; then
++ glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config
++ fi
++ fi
++ if test x$glib_config_prefix != x ; then
++ glib_config_args="$glib_config_args --prefix=$glib_config_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_prefix/bin/glib-config
++ fi
++ fi
++
++ for module in . $4
++ do
++ case "$module" in
++ gmodule)
++ glib_config_args="$glib_config_args gmodule"
++ ;;
++ gthread)
++ glib_config_args="$glib_config_args gthread"
++ ;;
++ esac
++ done
++
++ AC_PATH_PROG(GLIB_CONFIG, glib-config, no)
++ min_glib_version=ifelse([$1], ,0.99.7,$1)
++ AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
++ no_glib=""
++ if test "$GLIB_CONFIG" = "no" ; then
++ no_glib=yes
++ else
++ GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags`
++ GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs`
++ glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
++ glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
++ glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
++ if test "x$enable_glibtest" = "xyes" ; then
++ ac_save_CFLAGS="$CFLAGS"
++ ac_save_LIBS="$LIBS"
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$GLIB_LIBS $LIBS"
++dnl
++dnl Now check if the installed GLIB is sufficiently new. (Also sanity
++dnl checks the results of glib-config to some extent
++dnl
++ rm -f conf.glibtest
++ AC_TRY_RUN([
++#include <glib.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++int
++main ()
++{
++ int major, minor, micro;
++ char *tmp_version;
++
++ system ("touch conf.glibtest");
++
++ /* HP/UX 9 (%@#!) writes to sscanf strings */
++ tmp_version = g_strdup("$min_glib_version");
++ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
++ printf("%s, bad version string\n", "$min_glib_version");
++ exit(1);
++ }
++
++ if ((glib_major_version != $glib_config_major_version) ||
++ (glib_minor_version != $glib_config_minor_version) ||
++ (glib_micro_version != $glib_config_micro_version))
++ {
++ printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
++ $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf ("*** was found! If glib-config was correct, then it is best\n");
++ printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n");
++ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
++ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
++ printf("*** required on your system.\n");
++ printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n");
++ printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n");
++ printf("*** before re-running configure\n");
++ }
++ else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
++ (glib_minor_version != GLIB_MINOR_VERSION) ||
++ (glib_micro_version != GLIB_MICRO_VERSION))
++ {
++ printf("*** GLIB header files (version %d.%d.%d) do not match\n",
++ GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
++ printf("*** library (version %d.%d.%d)\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ }
++ else
++ {
++ if ((glib_major_version > major) ||
++ ((glib_major_version == major) && (glib_minor_version > minor)) ||
++ ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
++ {
++ return 0;
++ }
++ else
++ {
++ printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
++ major, minor, micro);
++ printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
++ printf("***\n");
++ printf("*** If you have already installed a sufficiently new version, this error\n");
++ printf("*** probably means that the wrong copy of the glib-config shell script is\n");
++ printf("*** being found. The easiest way to fix this is to remove the old version\n");
++ printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n");
++ printf("*** correct copy of glib-config. (In this case, you will have to\n");
++ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
++ printf("*** so that the correct libraries are found at run-time))\n");
++ }
++ }
++ return 1;
++}
++],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ if test "x$no_glib" = x ; then
++ AC_MSG_RESULT(yes)
++ ifelse([$2], , :, [$2])
++ else
++ AC_MSG_RESULT(no)
++ if test "$GLIB_CONFIG" = "no" ; then
++ echo "*** The glib-config script installed by GLIB could not be found"
++ echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in"
++ echo "*** your path, or set the GLIB_CONFIG environment variable to the"
++ echo "*** full path to glib-config."
++ else
++ if test -f conf.glibtest ; then
++ :
++ else
++ echo "*** Could not run GLIB test program, checking why..."
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$LIBS $GLIB_LIBS"
++ AC_TRY_LINK([
++#include <glib.h>
++#include <stdio.h>
++], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
++ [ echo "*** The test program compiled, but did not run. This usually means"
++ echo "*** that the run-time linker is not finding GLIB or finding the wrong"
++ echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
++ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
++ echo "*** to the installed location Also, make sure you have run ldconfig if that"
++ echo "*** is required on your system"
++ echo "***"
++ echo "*** If you have an old version installed, it is best to remove it, although"
++ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
++ echo "***"
++ echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
++ echo "*** came with the system with the command"
++ echo "***"
++ echo "*** rpm --erase --nodeps gtk gtk-devel" ],
++ [ echo "*** The test program failed to compile or link. See the file config.log for the"
++ echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
++ echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
++ echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ GLIB_CFLAGS=""
++ GLIB_LIBS=""
++ ifelse([$3], , :, [$3])
++ fi
++ AC_SUBST(GLIB_CFLAGS)
++ AC_SUBST(GLIB_LIBS)
++ rm -f conf.glibtest
++])
++
++# Configure paths for GTK+
++# Owen Taylor 97-11-3
++
++dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
++dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
++dnl
++AC_DEFUN(AM_PATH_GTK,
++[dnl
++dnl Get the cflags and libraries from the gtk-config script
++dnl
++AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
++ gtk_config_prefix="$withval", gtk_config_prefix="")
++AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
++ gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
++AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
++ , enable_gtktest=yes)
++
++ for module in . $4
++ do
++ case "$module" in
++ gthread)
++ gtk_config_args="$gtk_config_args gthread"
++ ;;
++ esac
++ done
++
++ if test x$gtk_config_exec_prefix != x ; then
++ gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
++ if test x${GTK_CONFIG+set} != xset ; then
++ GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
++ fi
++ fi
++ if test x$gtk_config_prefix != x ; then
++ gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
++ if test x${GTK_CONFIG+set} != xset ; then
++ GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
++ fi
++ fi
++
++ AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
++ min_gtk_version=ifelse([$1], ,0.99.7,$1)
++ AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
++ no_gtk=""
++ if test "$GTK_CONFIG" = "no" ; then
++ no_gtk=yes
++ else
++ GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
++ GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
++ gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
++ gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
++ gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
++ if test "x$enable_gtktest" = "xyes" ; then
++ ac_save_CFLAGS="$CFLAGS"
++ ac_save_LIBS="$LIBS"
++ CFLAGS="$CFLAGS $GTK_CFLAGS"
++ LIBS="$GTK_LIBS $LIBS"
++dnl
++dnl Now check if the installed GTK is sufficiently new. (Also sanity
++dnl checks the results of gtk-config to some extent
++dnl
++ rm -f conf.gtktest
++ AC_TRY_RUN([
++#include <gtk/gtk.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++int
++main ()
++{
++ int major, minor, micro;
++ char *tmp_version;
++
++ system ("touch conf.gtktest");
++
++ /* HP/UX 9 (%@#!) writes to sscanf strings */
++ tmp_version = g_strdup("$min_gtk_version");
++ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
++ printf("%s, bad version string\n", "$min_gtk_version");
++ exit(1);
++ }
++
++ if ((gtk_major_version != $gtk_config_major_version) ||
++ (gtk_minor_version != $gtk_config_minor_version) ||
++ (gtk_micro_version != $gtk_config_micro_version))
++ {
++ printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
++ $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
++ gtk_major_version, gtk_minor_version, gtk_micro_version);
++ printf ("*** was found! If gtk-config was correct, then it is best\n");
++ printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
++ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
++ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
++ printf("*** required on your system.\n");
++ printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
++ printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
++ printf("*** before re-running configure\n");
++ }
++#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
++ else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
++ (gtk_minor_version != GTK_MINOR_VERSION) ||
++ (gtk_micro_version != GTK_MICRO_VERSION))
++ {
++ printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
++ GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
++ printf("*** library (version %d.%d.%d)\n",
++ gtk_major_version, gtk_minor_version, gtk_micro_version);
++ }
++#endif /* defined (GTK_MAJOR_VERSION) ... */
++ else
++ {
++ if ((gtk_major_version > major) ||
++ ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
++ ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
++ {
++ return 0;
++ }
++ else
++ {
++ printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
++ gtk_major_version, gtk_minor_version, gtk_micro_version);
++ printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
++ major, minor, micro);
++ printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
++ printf("***\n");
++ printf("*** If you have already installed a sufficiently new version, this error\n");
++ printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
++ printf("*** being found. The easiest way to fix this is to remove the old version\n");
++ printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
++ printf("*** correct copy of gtk-config. (In this case, you will have to\n");
++ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
++ printf("*** so that the correct libraries are found at run-time))\n");
++ }
++ }
++ return 1;
++}
++],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ if test "x$no_gtk" = x ; then
++ AC_MSG_RESULT(yes)
++ ifelse([$2], , :, [$2])
++ else
++ AC_MSG_RESULT(no)
++ if test "$GTK_CONFIG" = "no" ; then
++ echo "*** The gtk-config script installed by GTK could not be found"
++ echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
++ echo "*** your path, or set the GTK_CONFIG environment variable to the"
++ echo "*** full path to gtk-config."
++ else
++ if test -f conf.gtktest ; then
++ :
++ else
++ echo "*** Could not run GTK test program, checking why..."
++ CFLAGS="$CFLAGS $GTK_CFLAGS"
++ LIBS="$LIBS $GTK_LIBS"
++ AC_TRY_LINK([
++#include <gtk/gtk.h>
++#include <stdio.h>
++], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
++ [ echo "*** The test program compiled, but did not run. This usually means"
++ echo "*** that the run-time linker is not finding GTK or finding the wrong"
++ echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
++ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
++ echo "*** to the installed location Also, make sure you have run ldconfig if that"
++ echo "*** is required on your system"
++ echo "***"
++ echo "*** If you have an old version installed, it is best to remove it, although"
++ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
++ echo "***"
++ echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
++ echo "*** came with the system with the command"
++ echo "***"
++ echo "*** rpm --erase --nodeps gtk gtk-devel" ],
++ [ echo "*** The test program failed to compile or link. See the file config.log for the"
++ echo "*** exact error that occured. This usually means GTK was incorrectly installed"
++ echo "*** or that you have moved GTK since it was installed. In the latter case, you"
++ echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ GTK_CFLAGS=""
++ GTK_LIBS=""
++ ifelse([$3], , :, [$3])
++ fi
++ AC_SUBST(GTK_CFLAGS)
++ AC_SUBST(GTK_LIBS)
++ rm -f conf.gtktest
++])
++
++# CFLAGS and library paths for XMMS
++# written 15 December 1999 by Ben Gertzfield <che@debian.org>
++
++dnl Usage:
++dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
++dnl
++dnl Example:
++dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***]))
++dnl
++dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR,
++dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR,
++dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR,
++dnl and XMMS_VERSION for your plugin pleasure.
++dnl
++
++dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]])
++AC_DEFUN(XMMS_TEST_VERSION, [
++
++# Determine which version number is greater. Prints 2 to stdout if
++# the second number is greater, 1 if the first number is greater,
++# 0 if the numbers are equal.
++
++# Written 15 December 1999 by Ben Gertzfield <che@debian.org>
++# Revised 15 December 1999 by Jim Monty <monty@primenet.com>
++
++ AC_PROG_AWK
++ xmms_got_version=[` $AWK ' \
++BEGIN { \
++ print vercmp(ARGV[1], ARGV[2]); \
++} \
++ \
++function vercmp(ver1, ver2, ver1arr, ver2arr, \
++ ver1len, ver2len, \
++ ver1int, ver2int, len, i, p) { \
++ \
++ ver1len = split(ver1, ver1arr, /\./); \
++ ver2len = split(ver2, ver2arr, /\./); \
++ \
++ len = ver1len > ver2len ? ver1len : ver2len; \
++ \
++ for (i = 1; i <= len; i++) { \
++ p = 1000 ^ (len - i); \
++ ver1int += ver1arr[i] * p; \
++ ver2int += ver2arr[i] * p; \
++ } \
++ \
++ if (ver1int < ver2int) \
++ return 2; \
++ else if (ver1int > ver2int) \
++ return 1; \
++ else \
++ return 0; \
++}' $1 $2`]
++
++ if test $xmms_got_version -eq 2; then # failure
++ ifelse([$4], , :, $4)
++ else # success!
++ ifelse([$3], , :, $3)
++ fi
++])
++
++AC_DEFUN(AM_PATH_XMMS,
++[
++AC_ARG_WITH(xmms-prefix,[ --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)],
++ xmms_config_prefix="$withval", xmms_config_prefix="")
++AC_ARG_WITH(xmms-exec-prefix,[ --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)],
++ xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="")
++
++if test x$xmms_config_exec_prefix != x; then
++ xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix"
++ if test x${XMMS_CONFIG+set} != xset; then
++ XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config
++ fi
++fi
++
++if test x$xmms_config_prefix != x; then
++ xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix"
++ if test x${XMMS_CONFIG+set} != xset; then
++ XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config
++ fi
++fi
++
++AC_PATH_PROG(XMMS_CONFIG, xmms-config, no)
++min_xmms_version=ifelse([$1], ,0.9.5.1, $1)
++
++if test "$XMMS_CONFIG" = "no"; then
++ no_xmms=yes
++else
++ XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags`
++ XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs`
++ XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version`
++ XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir`
++ XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir`
++ XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \
++ --visualization-plugin-dir`
++ XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir`
++ XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir`
++ XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir`
++ XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir`
++
++ XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version)
++fi
++
++AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version)
++
++if test "x$no_xmms" = x; then
++ AC_MSG_RESULT(yes)
++ ifelse([$2], , :, [$2])
++else
++ AC_MSG_RESULT(no)
++
++ if test "$XMMS_CONFIG" = "no" ; then
++ echo "*** The xmms-config script installed by XMMS could not be found."
++ echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in"
++ echo "*** your path, or set the XMMS_CONFIG environment variable to the"
++ echo "*** full path to xmms-config."
++ else
++ if test "$no_xmms" = "version"; then
++ echo "*** An old version of XMMS, $XMMS_VERSION, was found."
++ echo "*** You need a version of XMMS newer than $min_xmms_version."
++ echo "*** The latest version of XMMS is always available from"
++ echo "*** http://www.xmms.org/"
++ echo "***"
++
++ echo "*** If you have already installed a sufficiently new version, this error"
++ echo "*** probably means that the wrong copy of the xmms-config shell script is"
++ echo "*** being found. The easiest way to fix this is to remove the old version"
++ echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the"
++ echo "*** correct copy of xmms-config. (In this case, you will have to"
++ echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf"
++ echo "*** so that the correct libraries are found at run-time)"
++ fi
++ fi
++ XMMS_CFLAGS=""
++ XMMS_LIBS=""
++ ifelse([$3], , :, [$3])
++fi
++AC_SUBST(XMMS_CFLAGS)
++AC_SUBST(XMMS_LIBS)
++AC_SUBST(XMMS_VERSION)
++AC_SUBST(XMMS_DATA_DIR)
++AC_SUBST(XMMS_PLUGIN_DIR)
++AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR)
++AC_SUBST(XMMS_INPUT_PLUGIN_DIR)
++AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR)
++AC_SUBST(XMMS_GENERAL_PLUGIN_DIR)
++AC_SUBST(XMMS_EFFECT_PLUGIN_DIR)
++])
diff --git a/community/notification-daemon/PKGBUILD b/community/notification-daemon/PKGBUILD
new file mode 100644
index 000000000..e9b304b8a
--- /dev/null
+++ b/community/notification-daemon/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90252 2013-05-10 04:00:26Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Mark Rosenstand <mark@borkware.net>
+
+pkgname=notification-daemon
+pkgver=0.7.6
+pkgrel=2
+pkgdesc="Notification daemon for the desktop notifications framework"
+arch=(i686 x86_64)
+license=(GPL)
+url="http://www.galago-project.org/specs/notification/"
+depends=(gtk3 libcanberra)
+makedepends=(pkgconfig intltool)
+options=('!libtool' '!emptydirs')
+source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('64d0ce6fb12c94c3b73b701502c804c408cb5a94580bcae5ac37607639f7a0b3')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/notification-daemon-1.0 \
+ --localstatedir=/var --disable-static
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/notification-daemon/notification-daemon.install b/community/notification-daemon/notification-daemon.install
new file mode 100644
index 000000000..8a1aa3433
--- /dev/null
+++ b/community/notification-daemon/notification-daemon.install
@@ -0,0 +1,22 @@
+pkgname=notification-daemon
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/notify-osd/PKGBUILD b/community/notify-osd/PKGBUILD
new file mode 100644
index 000000000..431581ae0
--- /dev/null
+++ b/community/notify-osd/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 79663 2012-11-10 19:03:29Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Johannes Pfau <johannespfau at gmail dot com>
+
+pkgname=notify-osd
+pkgver=0.9.34
+pkgrel=1
+pkgdesc="Canonical's on-screen-display notification agent, implementing the freedesktop.org Desktop Notifications Specification with semi-transparent click-through bubbles"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/notify-osd"
+license=('GPL')
+depends=('libwnck3' 'dbus-glib' 'dconf' 'gsettings-desktop-schemas')
+makedepends=('libnotify')
+provides=('notification-daemon')
+install=$pkgname.install
+source=(http://launchpad.net/$pkgname/precise/$pkgver/+download/$pkgname-$pkgver.tar.gz)
+md5sums=('18d9a95467daac570789fb7893011595')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # Remove readme file from non-standard location
+ rm "$pkgdir/usr/share/notify-osd/icons/hicolor/scalable/status/README"
+}
diff --git a/community/notify-osd/notify-osd.install b/community/notify-osd/notify-osd.install
new file mode 100644
index 000000000..f8470c77c
--- /dev/null
+++ b/community/notify-osd/notify-osd.install
@@ -0,0 +1,12 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
diff --git a/community/notion/ChangleLog b/community/notion/ChangleLog
new file mode 100644
index 000000000..2107408db
--- /dev/null
+++ b/community/notion/ChangleLog
@@ -0,0 +1,5 @@
+2011-09-14 Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+ * 20110914-1 :
+ Add contrib/ to /usr/share/notion/contrib
+ Add mod_*.lua to /etc/notion/
diff --git a/community/notion/PKGBUILD b/community/notion/PKGBUILD
new file mode 100644
index 000000000..a94cee35b
--- /dev/null
+++ b/community/notion/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 88793 2013-04-22 10:31:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Eugen Zagorodniy e dot zagorodniy at gmail dot com
+# Contributor: aunoor
+
+pkgname=notion
+pkgver=20130422
+pkgrel=1
+pkgdesc="Tabbed tiling, window manager. Fork of Ion3"
+url="http://sourceforge.net/projects/notion/"
+arch=('i686' 'x86_64')
+license=('custom:LGPL')
+depends=('glib2' 'gettext' 'lua' 'libxext' 'libsm')
+optdepends=('libxinerama' 'libxrandr')
+makedepends=('git' 'pkgconfig' 'libxinerama' 'libxrandr'
+ 'rubber' 'latex2html' 'texlive-htmlxml' 'texlive-latexextra')
+provides=('libtu' 'libextl')
+changelog=ChangleLog
+source=("git://notion.git.sourceforge.net/gitroot/notion/notion"
+ "git://notion.git.sourceforge.net/gitroot/notion/libtu"
+ "git://notion.git.sourceforge.net/gitroot/notion/libextl"
+ "git://notion.git.sourceforge.net/gitroot/notion/notion-doc"
+ "git://notion.git.sourceforge.net/gitroot/notion/mod_xinerama"
+ "git://notion.git.sourceforge.net/gitroot/notion/mod_xkbevents"
+ "git://notion.git.sourceforge.net/gitroot/notion/mod_xrandr"
+ "git://notion.git.sourceforge.net/gitroot/notion/mod_notionflux"
+ "git://notion.git.sourceforge.net/gitroot/notion/contrib")
+md5sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
+
+build() {
+ cd ${srcdir}
+
+ for i in libextl libtu mod_xinerama mod_xkbevents mod_xrandr mod_notionflux notion-doc; do
+ cp -r ${srcdir}/$i ${srcdir}/notion/
+ done
+
+ # build notion
+ cd ${srcdir}/notion
+ msg "Starting make..."
+ sed -e 's/^\(PREFIX=\).*$/\1\/usr/' \
+ -e 's/^\(ETCDIR=\).*$/\1\/etc\/notion/' \
+ -e 's/^\(LUA_DIR=\).*$/\1\/usr/' \
+ -e 's/^\(X11_PREFIX=\).*/\1\/usr/' \
+ -i system-autodetect.mk
+ make INCLUDES=-I${srcdir}/notion
+
+ # build doc and modules
+ for i in mod_xinerama mod_xkbevents mod_xrandr; do
+ (cd $i && make -j1 TOPDIR=.. all)
+ done
+
+ (cd notion-doc && make -j1 TOPDIR=.. all)
+}
+
+package() {
+ cd ${srcdir}/notion
+
+ # notion
+ make PREFIX=${pkgdir}/usr ETCDIR=${pkgdir}/etc/notion install
+
+ # modules
+ for i in mod_xinerama mod_xkbevents mod_xrandr notion-doc; do
+ (cd $i && make PREFIX=${pkgdir}/usr ETCDIR=${pkgdir}/etc/notion TOPDIR=.. install)
+ done
+ cp ${srcdir}/mod_xinerama/*.lua $pkgdir/etc/notion/
+ cp ${srcdir}/mod_xkbevents/*.lua $pkgdir/etc/notion/
+
+ # contrib
+ mkdir -p $pkgdir/usr/share/notion/contrib
+ cp -a ${srcdir}/contrib/* $pkgdir/usr/share/notion/contrib
+
+ # license
+ install -Dm0644 LICENSE ${pkgdir}/usr/share/licenses/notion/LICENSE
+}
diff --git a/community/notmuch/PKGBUILD b/community/notmuch/PKGBUILD
new file mode 100644
index 000000000..0412ca867
--- /dev/null
+++ b/community/notmuch/PKGBUILD
@@ -0,0 +1,105 @@
+# $Id: PKGBUILD 92216 2013-06-02 21:17:12Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: fauno <fauno at kiwwwi.com.ar>
+# Contributor: Olivier Ramonat <olivier at ramonat dot fr>
+# Contributor: Richard Murri <admin@richardmurri.com>
+
+pkgbase=notmuch
+pkgname=('notmuch' 'notmuch-vim' 'notmuch-mutt' 'notmuch-runtime')
+pkgver=0.15.2
+pkgrel=4
+arch=('i686' 'x86_64')
+url="http://notmuchmail.org/"
+license=('GPL3')
+makedepends=('python2' 'python' 'emacs' 'gnupg' 'ruby' 'pkgconfig' 'xapian-core' 'gmime' 'talloc')
+options=(!distcc !makeflags)
+source=("http://notmuchmail.org/releases/${pkgname}-${pkgver}.tar.gz")
+md5sums=('e86968dfcd7ffaf162b7b87de56b7f18')
+
+prepare(){
+ #cp -dpr --no-preserve=ownership "$srcdir/$pkgname-$pkgver" "$srcdir/$pkgname-runtime-$pkgver"
+ cp -dpr --no-preserve=ownership "$srcdir/${pkgname}-$pkgver"/bindings/python{,2}
+
+ find "$srcdir/${pkgname}-${pkgver}/bindings/python" -name '*.py' -exec sed -i -e '1s,python$,python3,' {} +
+ find "$srcdir/${pkgname}-${pkgver}/bindings/python2" -name '*.py' -exec sed -i -e '1s,python$,python2,' {} +
+}
+build() {
+ cd "$srcdir/${pkgname}-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --includedir=/usr/include \
+ --without-zsh-completion
+
+ make
+ ( pushd "contrib/$pkgbase-deliver"
+ export CPPFLAGS="-I ../../lib"
+ ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --includedir=/usr/include \
+ LDFLAGS="-L$srcdir/$pkgname-$pkgver/lib" \
+ CPPFLAGS="-I$srcdir/$pkgname-$pkgver/lib"
+ make)
+ make -C "contrib/${pkgbase}-mutt" "${pkgname}-mutt.1"
+
+ cd bindings/ruby
+ ruby extconf.rb
+
+ cd "$srcdir/${pkgname}-${pkgver}/bindings/python"
+ python setup.py build
+
+ cd "$srcdir/${pkgname}-${pkgver}/bindings/python2"
+ python2 setup.py build
+}
+
+package_notmuch-runtime(){
+ pkgdesc="Runtime for notmuch and notmuch-mutt"
+ depends=('xapian-core' 'gmime' 'talloc')
+ cd "$srcdir/${pkgbase}-$pkgver"
+ make DESTDIR="$pkgdir/" LIBDIR_IN_LDCONFIG=0 install
+ install -Dm755 notmuch $pkgdir/usr/bin/notmuch
+}
+
+
+package_notmuch-vim(){
+ pkgdesc="Vim plugins for notmuch"
+ depends=('notmuch-runtime')
+ mkdir -p "$pkgdir"/usr/share/vim/vimfiles/{plugin,syntax}
+ make -C "$srcdir/$pkgbase-$pkgver/vim" prefix="$pkgdir/usr/share/vim/vimfiles" install
+}
+
+
+package_notmuch(){
+ pkgdesc="Notmuch is not much of an email program"
+ depends=('notmuch-runtime')
+ optdepends=('emacs: for using the emacs interface'
+ 'vim: for using the vim interface'
+ 'python2: for using the python2 bindings'
+ 'ruby: for using the ruby bindings'
+ 'gnupg: for email encryption')
+
+ cd "$srcdir/${pkgname}-$pkgver"
+ # Install ruby bindings
+ sed -i -e 's,/site_ruby,,g' bindings/ruby/Makefile
+ make -C bindings/ruby exec_prefix=$pkgdir/usr prefix=/usr install
+
+ # Install notmuch-deliver
+ make -C "contrib/${pkgbase}-deliver" DESTDIR="$pkgdir" install
+
+ # Install python bindings
+ cd "$srcdir/${pkgname}-${pkgver}/bindings/python2"
+ python2 setup.py install --prefix=/usr --root="$pkgdir"
+
+ cd "$srcdir/${pkgname}-${pkgver}/bindings/python"
+ python setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+package_notmuch-mutt(){
+ pkgdesc="The mail indexer"
+ depends=('notmuch-runtime' 'perl-mailtools' 'perl-mail-box' 'perl-term-readline-gnu' 'perl-string-shellquote' 'perl-file-which')
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ install -Dm755 "contrib/$pkgname/$pkgname" "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 "contrib/$pkgname/${pkgname}.1" "${pkgdir}/usr/share/man/man1/${pkgname}.1"
+}
+
+#vim: set filetype=PKGBUILD sw=4 ts=4 et
diff --git a/community/nrg2iso/PKGBUILD b/community/nrg2iso/PKGBUILD
new file mode 100644
index 000000000..e9e155f50
--- /dev/null
+++ b/community/nrg2iso/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 64934 2012-02-18 21:26:21Z jelle $
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Pointer <pointer@linux-blog.de>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=nrg2iso
+pkgver=0.4
+pkgrel=8
+pkgdesc="Utility for converting CD or DVD image generated by Nero Burning Rom to ISO format"
+arch=('i686' 'x86_64')
+url="http://gregory.kokanosky.free.fr/v4/linux/nrg2iso.en.html"
+license=('GPL')
+depends=('glibc')
+source=(http://gregory.kokanosky.free.fr/v4/linux/${pkgname}-${pkgver}.tar.gz)
+md5sums=('996c38c8f1465e9c51ccad4f31ec2eee')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ sed -i -e 's|gcc|gcc ${CFLAGS}|g' Makefile
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ install -D nrg2iso ${pkgdir}/usr/bin/nrg2iso
+}
+
diff --git a/community/nsd/PKGBUILD b/community/nsd/PKGBUILD
new file mode 100644
index 000000000..797a82a98
--- /dev/null
+++ b/community/nsd/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 91246 2013-05-20 14:50:30Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+
+pkgname=nsd
+pkgver=3.2.15
+pkgrel=2
+pkgdesc='Authoritative only, high performance and simple DNS server'
+url='http://www.nlnetlabs.nl/nsd/'
+license=('BSD')
+depends=('openssl')
+makedepends=('flex')
+arch=('i686' 'x86_64')
+source=("http://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'service')
+sha1sums=('e31a81ab7877422b34e1f163f9509cd93f395664'
+ 'f35ecb887e86ae0a54ac70aef5a7577fc8761877')
+
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure \
+ --prefix=/ \
+ --sbindir=/usr/bin \
+ --datarootdir=/usr/share \
+ --with-pidfile=/run/nsd.pid \
+ --enable-ratelimit
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 ../service "${pkgdir}"/usr/lib/systemd/system/nsd.service
+ rm doc/differences.pdf
+ install -d "${pkgdir}"/usr/share/{doc,licenses}/"${pkgname}"
+ install -m644 doc/* "${pkgdir}"/usr/share/doc/"${pkgname}"
+ ln -s ../../doc/"${pkgname}"/LICENSE "${pkgdir}"/usr/share/licenses/"${pkgname}"/LICENSE
+}
diff --git a/community/nsd/install b/community/nsd/install
new file mode 100644
index 000000000..5a5f41dd7
--- /dev/null
+++ b/community/nsd/install
@@ -0,0 +1,12 @@
+post_install() {
+ getent group nsd &>/dev/null || groupadd -r nsd >/dev/null
+ getent passwd nsd &>/dev/null || useradd -r -g nsd -d /dev/null -s /bin/false -c nsd nsd >/dev/null
+ chown nsd:nsd /var/db/nsd
+ chmod 700 /var/db/nsd
+}
+
+post_remove() {
+ getent passwd nsd &>/dev/null && userdel nsd >/dev/null
+ getent group nsd &>/dev/null && groupdel nsd >/dev/null
+ true
+}
diff --git a/community/nsd/service b/community/nsd/service
new file mode 100644
index 000000000..ca423c29c
--- /dev/null
+++ b/community/nsd/service
@@ -0,0 +1,13 @@
+[Unit]
+Description=NSD Name Server Daemon
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/nsd.pid
+ExecStart=/usr/bin/nsdc start
+ExecReload=/usr/bin/nsdc reload
+ExecStop=/usr/bin/nsdc stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/nss-pam-ldapd/PKGBUILD b/community/nss-pam-ldapd/PKGBUILD
new file mode 100644
index 000000000..bbdedb365
--- /dev/null
+++ b/community/nss-pam-ldapd/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+
+pkgname=nss-pam-ldapd
+pkgver=0.8.13
+pkgrel=2
+pkgdesc='LDAP module for NSS and PAM'
+arch=('i686' 'x86_64')
+url="http://arthurdejong.org/$pkgname/"
+license=('LGPL2.1')
+depends=('krb5')
+replaces=('pam_ldap' 'nss_ldap')
+conflicts=('nss-pam-ldapd-git')
+provides=('nss-pam-ldapd')
+install=nss-pam-ldapd.install
+backup=('etc/nslcd.conf')
+source=("http://arthurdejong.org/$pkgname/$pkgname-$pkgver.tar.gz"
+ "nslcd.service")
+sha1sums=('0567cfea104defabeacd88a3a3200b311b8071ec'
+ 'b564fa5738963a67a9240bf4ce63b2fa494cafb7')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-pam-seclib-dir=/usr/lib/security;
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm644 "$srcdir/nslcd.service" "$pkgdir/usr/lib/systemd/system/nslcd.service"
+ install -Dm644 "$srcdir/$pkgname-$pkgver/nslcd.conf" "$pkgdir/etc/nslcd.conf"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/nss-pam-ldapd/nslcd.service b/community/nss-pam-ldapd/nslcd.service
new file mode 100644
index 000000000..73a9b5272
--- /dev/null
+++ b/community/nss-pam-ldapd/nslcd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Naming services LDAP client daemon.
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/nslcd/nslcd.pid
+ExecStart=/usr/bin/nslcd
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/community/nss-pam-ldapd/nss-pam-ldapd.install b/community/nss-pam-ldapd/nss-pam-ldapd.install
new file mode 100644
index 000000000..a8b93f218
--- /dev/null
+++ b/community/nss-pam-ldapd/nss-pam-ldapd.install
@@ -0,0 +1,12 @@
+post_install() {
+ getent passwd nslcd >> /dev/null || useradd -r -M -d /var/run/nslcd -s /bin/false nslcd
+}
+
+post_upgrade() {
+ getent passwd nslcd >> /dev/null || useradd -r -M -s /bin/false nslcd
+}
+
+pre_remove() {
+ userdel nslcd >/dev/null 2>&1 || true
+}
+
diff --git a/community/ntop/PKGBUILD b/community/ntop/PKGBUILD
new file mode 100644
index 000000000..1689d4a55
--- /dev/null
+++ b/community/ntop/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 92109 2013-05-31 15:39:41Z foutrelis $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgname=ntop
+pkgver=5.0.1
+pkgrel=3
+pkgdesc='A network traffic probe that shows the network usage.'
+arch=('i686' 'x86_64')
+url='http://www.ntop.org/'
+license=('GPL')
+depends=('libevent' 'libpcap' 'gd' 'glibc' 'libxml2' 'openssl' 'rrdtool' 'pcre' 'geoip' 'lua')
+makedepends=('subversion' 'wget' 'ca-certificates')
+options=('!libtool' '!makeflags')
+install='ntop.install'
+source=("http://sourceforge.net/projects/${pkgname}/files/${pkgname}/Stable/${pkgname}-${pkgver}.tar.gz"
+ 'ntop.service')
+md5sums=('01710b6925a8a5ffe1a41b8b512ebd69'
+ '0e149d20f881600e8387d850ac268483')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --disable-snmp
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install-recursive
+
+ install -dm0755 -o nobody -g nobody "${pkgdir}/var/lib/ntop"
+ install -dm0755 -o nobody -g nobody "${pkgdir}/var/lib/ntop/rrd"
+
+ for _f in "${pkgdir}/usr/lib/ntop/plugins/"*.so; do
+ _plug="$(basename ${_f})"
+ ln -sf "../../lib${_plug}" "${_f}"
+ done
+
+ install -Dm0644 "${srcdir}/ntop.service" "${pkgdir}/usr/lib/systemd/system/ntop.service"
+}
diff --git a/community/ntop/ntop.install b/community/ntop/ntop.install
new file mode 100644
index 000000000..8d8063751
--- /dev/null
+++ b/community/ntop/ntop.install
@@ -0,0 +1,8 @@
+post_install() {
+ /bin/cat <<EOF
+==> Before running the daemon script for the first time, you need to run
+ ntop as the root user to set an administrator password.
+==> If you attempt to run ntop as a daemon without setting a password, a
+ FATAL ERROR message is generated and ntop stops.
+EOF
+}
diff --git a/community/ntop/ntop.service b/community/ntop/ntop.service
new file mode 100644
index 000000000..c18a2c83a
--- /dev/null
+++ b/community/ntop/ntop.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=A network traffic probe similar to the UNIX top command
+Requires=network.target
+ConditionPathExists=/var/lib/ntop/ntop_pw.db
+After=syslog.target network.target
+
+[Service]
+Environment=LANG=C
+ExecStart=/usr/bin/ntop -i eth0 -w 3000
+Type=simple
+StandardError=syslog
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/numlockx/PKGBUILD b/community/numlockx/PKGBUILD
new file mode 100644
index 000000000..48787c9fa
--- /dev/null
+++ b/community/numlockx/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 59007 2011-11-20 19:54:44Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Travis Willard <travisw@wmpub.ca>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=numlockx
+pkgver=1.2
+pkgrel=2
+pkgdesc='Turns on the numlock key in X11.'
+arch=('i686' 'x86_64')
+license=('MIT')
+url='http://home.kde.org/~seli/numlockx/'
+depends=('libxtst')
+source=("http://home.kde.org/~seli/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('be9109370447eae23f6f3f8527bb1a67')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr x_includes=/usr/include/X11 x_libraries=/usr/lib
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make prefix="${pkgdir}/usr" install
+
+ # Install the custom MIT license
+ install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/nzbget/PKGBUILD b/community/nzbget/PKGBUILD
new file mode 100644
index 000000000..1bcf90acc
--- /dev/null
+++ b/community/nzbget/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 94084 2013-07-14 10:32:42Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=nzbget
+pkgver=11.0
+pkgrel=1
+pkgdesc="Download from Usenet using .nzb files"
+arch=('x86_64' 'i686')
+url="http://nzbget.sourceforge.net/"
+license=('GPL')
+depends=('gnutls' 'libpar2' 'libxml2' 'libsigc++' 'libgcrypt')
+makedepends=('autoconf' 'automake')
+changelog=$pkgname.changelog
+source=(http://sourceforge.net/projects/$pkgname/files/$pkgname-$pkgver.tar.gz)
+sha256sums=('27abacf6c604969dc987b7e50689caef22a65dbb1690b020b0c6d147ae123b3d')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --sbindir=/usr/bin --enable-parcheck
+ make CXXFLAGS="-lsigc-2.0"
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+
+ install -d ${pkgdir}/usr/share/$pkgname
+ install -m644 -t ${pkgdir}/usr/share/$pkgname AUTHORS ChangeLog README
+}
diff --git a/community/nzbget/nzbget.changelog b/community/nzbget/nzbget.changelog
new file mode 100644
index 000000000..7e2a9312a
--- /dev/null
+++ b/community/nzbget/nzbget.changelog
@@ -0,0 +1,36 @@
+2013-07-14-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * nzbget 11.0-1
+
+2013-04-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * nzbget 10.2-1
+
+2013-01-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * nzbget 9.1-1
+
+2013-01-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * nzbget 9.0-1
+
+2012-05-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * nzbget 0.8.0-1
+
+2012-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * nzbget 0.7.0-4 package signed
+
+2010-05-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Fixed FS#19399 - missing postprocess-example.conf file
+
+2010-05-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.7.0
+
+2009-10-11 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Dependency added (gnutls) in v0.6.0-2
+
+2008-03-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.6.0
+
+2008-09-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.5.1
+
+2008-09-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community]
+ * Update to major release 0.5.0
diff --git a/community/oath-toolkit/PKGBUILD b/community/oath-toolkit/PKGBUILD
new file mode 100644
index 000000000..e5aee3cbc
--- /dev/null
+++ b/community/oath-toolkit/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 93727 2013-07-08 23:58:49Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Christian Hesse <mail@eworm.de>
+# Contributor: L42y <423300@gmail.com>
+
+pkgname=oath-toolkit
+pkgver=2.2.0
+pkgrel=1
+pkgdesc='OATH one-time password toolkit'
+arch=('i686' 'x86_64')
+url='http://www.nongnu.org/oath-toolkit/'
+license=('GPL3')
+depends=('glibc' 'pam' 'xmlsec')
+options=('!libtool')
+source=("http://download.savannah.nongnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('2afc64577936a1a79cff72b0718c9636')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ # Install basic docs too
+ install -D -m 644 pam_oath/README "$pkgdir/usr/share/doc/$pkgname/PAM_README"
+ install -D -m 644 README "$pkgdir/usr/share/doc/$pkgname/README"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/obby/PKGBUILD b/community/obby/PKGBUILD
new file mode 100644
index 000000000..a70f5eed4
--- /dev/null
+++ b/community/obby/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65712 2012-02-22 10:21:10Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+
+pkgname=obby
+pkgver=0.4.8
+pkgrel=1
+pkgdesc="A library which provides synced document buffers"
+url="http://gobby.0x539.de"
+options=('!libtool')
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('net6' 'avahi' 'libsigc++')
+source=(http://releases.0x539.de/obby/obby-$pkgver.tar.gz)
+md5sums=('5d4cd4e77f87b092e5ed21b104d8ad33')
+
+build() {
+ cd $srcdir/obby-$pkgver
+ ./configure --prefix=/usr --with-zeroconf --enable-ipv6
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/obconf/PKGBUILD b/community/obconf/PKGBUILD
new file mode 100644
index 000000000..f6b1793c5
--- /dev/null
+++ b/community/obconf/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 64692 2012-02-17 18:43:19Z bluewind $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=obconf
+pkgver=2.0.3.git20100309
+pkgrel=3
+pkgdesc="A GTK2 based configuration tool for the Openbox windowmanager"
+arch=('i686' 'x86_64')
+url="http://openbox.org/wiki/ObConf:About"
+license=('GPL')
+depends=('openbox' 'gtk2' 'libglade' 'desktop-file-utils' 'libsm')
+install=${pkgname}.install
+source=("ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'config-file.patch')
+md5sums=('d45a1eab18aa25c18280821118368b97'
+ '51f5f110f8bc4a89dfb460c3dd4a3be8')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}"/config-file.patch
+
+ ./bootstrap
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/obconf/config-file.patch b/community/obconf/config-file.patch
new file mode 100644
index 000000000..ce7973f3d
--- /dev/null
+++ b/community/obconf/config-file.patch
@@ -0,0 +1,28 @@
+From: Dana Jansens <danakj@orodu.net>
+Date: Fri, 5 Aug 2011 16:05:10 +0000 (-0400)
+Subject: Load the rc.xml config file given on --config-file the same as Openbox (use the whole ...
+X-Git-Url: http://git.openbox.org/?p=dana%2Fobconf.git;a=commitdiff_plain;h=cc7a18807663313ef111d86a75844ded0416a889
+
+Load the rc.xml config file given on --config-file the same as Openbox (use the whole path given).
+---
+
+diff --git a/src/main.c b/src/main.c
+index 9035e8d..a576253 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -233,11 +233,10 @@ int main(int argc, char **argv)
+ }
+
+ xmlIndentTreeOutput = 1;
+- if (!obt_xml_load_config_file(parse_i,
+- "openbox",
+- (obc_config_file ?
+- obc_config_file : "rc.xml"),
+- "openbox_config"))
++ if (!((obc_config_file &&
++ obt_xml_load_file(parse_i, obc_config_file, "openbox_config")) ||
++ obt_xml_load_config_file(parse_i, "openbox", "rc.xml",
++ "openbox_config")))
+ {
+ obconf_error(_("Failed to load an rc.xml. You have probably failed to install Openbox properly."), TRUE);
+ exit_with_error = TRUE;
diff --git a/community/obconf/obconf.install b/community/obconf/obconf.install
new file mode 100644
index 000000000..6735f2dbe
--- /dev/null
+++ b/community/obconf/obconf.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database /usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/obexfs/PKGBUILD b/community/obexfs/PKGBUILD
new file mode 100644
index 000000000..c3472e487
--- /dev/null
+++ b/community/obexfs/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 66254 2012-02-23 05:25:58Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Packager: cs-cam - me.at.camdaniel.com
+
+pkgname=obexfs
+pkgver=0.12
+pkgrel=3
+pkgdesc="FUSE based filesystem using ObexFTP (currently beta)."
+arch=('i686' 'x86_64')
+url="http://openobex.triq.net/obexfs"
+license=('GPL')
+source=(http://triq.net/obexftp/$pkgname-$pkgver.tar.gz)
+depends=('fuse' 'obexftp>=0.22')
+md5sums=('0f505672b025cdb505e215ee707a2e2f')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ export OBEXFTP_CFLAGS="-I/usr/include/obexftp -I/usr/include/multicobex -I/usr/include/bfb"
+ export OBEXFTP_LIBS="-lobexftp -lmulticobex -lbfb -lopenobex -lbluetooth"
+
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/ocaml-findlib/PKGBUILD b/community/ocaml-findlib/PKGBUILD
new file mode 100644
index 000000000..a78465650
--- /dev/null
+++ b/community/ocaml-findlib/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Thomas S Hatch <thatch45 at gmail dot com>
+# Contributor: Sebastian Wiesner <lunaryorn googlemail com>
+# Contributor: Benjamin Andresen <benny(at)klapmuetz(dot)org>
+# Contributor: scj <scj archlinux us>
+
+pkgname=ocaml-findlib
+pkgver=1.3.3
+pkgrel=2
+license=('MIT')
+arch=('i686' 'x86_64')
+pkgdesc='Objective Caml (OCaml) package manager'
+url='http://projects.camlcity.org/projects/findlib.html'
+depends=('ocaml')
+source=("http://download.camlcity.org/download/findlib-$pkgver.tar.gz")
+options=('!strip' 'zipman') # otherwise the bytecode gets broken
+md5sums=('a4c22ad5e0d38367a73cf58a25fcbebd')
+
+build() {
+ cd "$srcdir/findlib-$pkgver"
+
+ ./configure -config /etc/findlib.conf -sitelib /usr/lib/ocaml -mandir /usr/share/man
+ make all opt
+}
+
+package () {
+ cd "$srcdir/findlib-$pkgver"
+
+ make prefix="$pkgdir" install
+
+ # add the old site-lib to the path to maintain compatibility with old style packages
+ sed -i 's/path=\"\/usr\/lib\/ocaml\"/path="\/usr\/lib\/ocaml:\/usr\/lib\/ocaml\/site-lib"/' \
+ "${pkgdir}/etc/findlib.conf"
+
+ install -m755 src/findlib/ocamlfind_opt "$pkgdir/usr/bin/"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/odt2txt/PKGBUILD b/community/odt2txt/PKGBUILD
new file mode 100644
index 000000000..8ff16fba4
--- /dev/null
+++ b/community/odt2txt/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 69493 2012-04-17 10:36:52Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Vladimir Chizhov <jagoterr@gmail.com>
+
+pkgname=odt2txt
+pkgver=0.4
+pkgrel=1
+pkgdesc="extracts the text out of OpenDocument Texts"
+url="http://stosberg.net/odt2txt/"
+license=("GPL2")
+arch=('i686' 'x86_64')
+depends=('zlib')
+source=(http://stosberg.net/odt2txt/$pkgname-$pkgver.tar.gz)
+md5sums=('6fe3bd261ce2dde2810244bbe969bbc5')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make
+ install -Dm755 odt2txt $pkgdir/usr/bin/odt2txt
+ install -Dm644 odt2txt.1 $pkgdir/usr/share/man/man1/odt2txt.1
+}
diff --git a/community/ogle-gui/PKGBUILD b/community/ogle-gui/PKGBUILD
new file mode 100644
index 000000000..2c8d95b91
--- /dev/null
+++ b/community/ogle-gui/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 55509 2011-09-13 21:28:22Z ebelanger $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Contributor: Kritoke <kritoke@nospam.gamebox.net>
+
+pkgname=ogle-gui
+pkgver=0.9.2
+pkgrel=5
+pkgdesc="A gtk2 gui for ogle"
+arch=('i686' 'x86_64')
+url="http://www.dtek.chalmers.se/groups/dvd/"
+license=('GPL')
+depends=('ogle' 'libglade')
+#source=(http://www.dtek.chalmers.se/groups/dvd/dist/ogle_gui-${pkgver}.tar.gz)
+source=(ftp://ftp.archlinux.org/other/community/ogle-gui/ogle_gui-${pkgver}.tar.gz)
+md5sums=('e685aa3046f9da13532ede9300f2f794')
+sha1sums=('0d73ec30852b9cd2a9714b5088f6ab6deecf097d')
+
+build() {
+ cd "${srcdir}/ogle_gui-${pkgver}"
+ ./configure --prefix=/usr --enable-gtk2
+ make
+}
+
+package() {
+ cd "${srcdir}/ogle_gui-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/oidentd/PKGBUILD b/community/oidentd/PKGBUILD
new file mode 100644
index 000000000..b93d89d74
--- /dev/null
+++ b/community/oidentd/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 90524 2013-05-13 00:06:48Z eric $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: simo <simo@archlinux.org>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=oidentd
+pkgver=2.0.8
+pkgrel=8
+pkgdesc='An RFC1413 compliant ident daemon'
+arch=('i686' 'x86_64')
+url="http://dev.ojnk.net/"
+license=('GPL')
+depends=('glibc' 'bash')
+source=(http://downloads.sourceforge.net/sourceforge/ojnk/$pkgname-$pkgver.tar.gz{,.asc}
+ service socket)
+md5sums=('c3d9a56255819ef8904b867284386911'
+ 'SKIP'
+ 'f54c5ed2a532a559c837af18735a28f1'
+ '4442fb9fc10754914568e6ffc3d5fc42')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sbindir=/usr/bin --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ install -D -m644 "$srcdir/service" "$pkgdir/usr/lib/systemd/system/oidentd@.service"
+ install -D -m644 "$srcdir/socket" "$pkgdir/usr/lib/systemd/system/oidentd.socket"
+}
+
diff --git a/community/oidentd/service b/community/oidentd/service
new file mode 100644
index 000000000..72ca7c244
--- /dev/null
+++ b/community/oidentd/service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Ident (RFC 1413) per-connection server
+
+[Service]
+ExecStart=/usr/bin/oidentd -I -u nobody -g nobody
+ExecReload=/bin/kill -HUP $MAINPID
+StandardInput=socket
+StandardError=syslog
diff --git a/community/oidentd/socket b/community/oidentd/socket
new file mode 100644
index 000000000..cf00b55b8
--- /dev/null
+++ b/community/oidentd/socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Ident (RFC 1413) socket
+
+[Socket]
+ListenStream=113
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community/ois/PKGBUILD b/community/ois/PKGBUILD
new file mode 100644
index 000000000..f7de157c3
--- /dev/null
+++ b/community/ois/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 64772 2012-02-18 04:26:52Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: scippio <scippio@berounet.cz>
+pkgname=ois
+pkgver=1.3
+_oisver=${pkgver/./-}
+pkgrel=2
+pkgdesc="Object Oriented Input System"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/wgois"
+license=('custom:zlib/libpng')
+makedepends=('autoconf' 'automake' 'libtool' 'gcc' 'libxaw')
+source=("http://downloads.sourceforge.net/project/wgois/Source%20Release/${pkgver}/ois_v${_oisver}.tar.gz")
+md5sums=('9697fead17eac6025151cd2e1fca1518')
+
+build() {
+ cd ${srcdir}/${pkgname}-v${_oisver}
+ chmod +x bootstrap
+ ./bootstrap
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-v${_oisver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/onboard/PKGBUILD b/community/onboard/PKGBUILD
new file mode 100644
index 000000000..1a12858cf
--- /dev/null
+++ b/community/onboard/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 84150 2013-02-12 01:00:22Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=onboard
+pkgver=0.98.2
+pkgrel=1
+pkgdesc="On-screen keyboard useful on tablet PCs or for mobility impaired users"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/onboard"
+license=('GPL')
+depends=('python-dbus' 'python-gobject' 'gtk3' 'python-virtkey' 'librsvg' 'gsettings-desktop-schemas' 'desktop-file-utils' 'dconf' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('python-distutils-extra')
+optdepends=('at-spi2-atk: auto-show when editing text'
+ 'mousetweaks: hover click with mouse')
+options=('!emptydirs')
+install=$pkgname.install
+source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.gz)
+md5sums=('7b44ab2873ca7b76ff1d9ab0b3398487')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python3 setup.py build
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python3 setup.py install --root=$pkgdir/ --optimize=1
+}
diff --git a/community/onboard/onboard.install b/community/onboard/onboard.install
new file mode 100644
index 000000000..aa4c3e059
--- /dev/null
+++ b/community/onboard/onboard.install
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/oolite/PKGBUILD b/community/oolite/PKGBUILD
new file mode 100644
index 000000000..a77fc48e2
--- /dev/null
+++ b/community/oolite/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 90332 2013-05-11 15:38:55Z alucryd $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Lone_Wolf <lonewolf@xs4all.nl>
+pkgname=oolite
+pkgver=1.77
+pkgrel=2
+pkgdesc="A space-sim based on the classic Elite"
+arch=('i686' 'x86_64')
+url="http://oolite-linux.berlios.de"
+license=('GPL2')
+depends=('gnustep-gui' 'sdl_mixer' 'glu' 'espeak' 'nspr' 'python2' 'icu' 'gnustep-base')
+makedepends=('gcc-objc' 'gnustep-make' 'curl' 'zip' 'mesa')
+options=(!makeflags)
+source=(oolite
+ http://download.berlios.de/oolite-linux/oolite-source-${pkgver}.tar.bz2)
+md5sums=('b182976fade9b64a3b3702e2a8c72bf0'
+ '78e0f1da12d1478534eb2af4d0983b01')
+
+build() {
+ cd $srcdir
+ cp -r ${srcdir}/oolite-source-${pkgver} ${srcdir}/${pkgname}-build
+
+ cd ${srcdir}/${pkgname}-build
+ unset CPPFLAGS
+ sed -i '/void png_error/d' src/Core/Materials/OOPNGTextureLoader.m
+ sed -i "/ADDITIONAL_OBJCFLAGS/s/=/= -fobjc-exceptions/" GNUmakefile
+ make -f libjs.make debug=no
+ make -f Makefile release
+}
+
+package() {
+ mkdir -p ${pkgdir}/usr/bin
+ mkdir -p ${pkgdir}/usr/share/{oolite,applications,pixmaps,doc/oolite}
+ cd ${srcdir}/${pkgname}-build
+ cp -r oolite.app/* ${pkgdir}/usr/share/oolite/
+#install shellscript and icon
+ install -D -m755 ../oolite ${pkgdir}/usr/bin/oolite
+ install -D -m644 installers/FreeDesktop/oolite-icon.png ${pkgdir}/usr/share/pixmaps/oolite-icon.png
+# copy .desktop file
+ install -D -m644 installers/FreeDesktop/oolite.desktop ${pkgdir}/usr/share/applications/oolite.desktop
+# documentation
+ install -D -m644 Doc/AdviceForNewCommanders.pdf Doc/OoliteReadMe.pdf Doc/OoliteRS.pdf ${pkgdir}/usr/share/doc/oolite/
+ }
+# vim:set ts=2 sw=2 et:
diff --git a/community/oolite/oolite b/community/oolite/oolite
new file mode 100644
index 000000000..6c9de2446
--- /dev/null
+++ b/community/oolite/oolite
@@ -0,0 +1,6 @@
+#!/bin/bash
+source /usr/share/GNUstep/Makefiles/GNUstep.sh
+if [ ! -d ~/.Oolite/AddOns ]; then
+ mkdir -p ~/.Oolite/AddOns
+fi
+/usr/share/oolite/oolite $@
diff --git a/community/openarena/PKGBUILD b/community/openarena/PKGBUILD
new file mode 100644
index 000000000..707848e5d
--- /dev/null
+++ b/community/openarena/PKGBUILD
@@ -0,0 +1,70 @@
+# $Id: PKGBUILD 64715 2012-02-18 02:34:57Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Arkham <arkham at archlinux dot us>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+pkgname=openarena
+pkgver=0.8.8
+_oldver=0.8.1
+pkgrel=1
+pkgdesc="A violent, sexy, multiplayer first person shooter based on the ioquake3 engine"
+arch=('i686' 'x86_64')
+url="http://openarena.ws/"
+license=('GPL')
+depends=('sdl' 'libvorbis' 'curl' 'openarena-data')
+makedepends=('openal' 'mesa')
+optdepends=('openal')
+source=(http://download.tuxfamily.org/$pkgname/rel/081/oa081.zip
+ http://download.tuxfamily.org/$pkgname/rel/085/oa085p.zip
+ http://178.63.102.135/svens_stuff/oa088p.zip
+ $url/svn/source/081/$pkgname-engine-$_oldver-1.tar.bz2
+ $pkgname.png
+ $pkgname-server.png
+ $pkgname.desktop
+ $pkgname-server.desktop
+ strcpy-memmove.patch)
+md5sums=('49006bcb02b4e8ea3d06749e8f4e4887'
+ 'b2a0437da751cd50dd2351ed9e0c4e9d'
+ '45da37955eba40cfd0e6e0f89cbb4b61'
+ '4ee696eacc4b0350f9dbb5588dcd74a2'
+ 'c69f824dc500d436fc631b78b6a62dc8'
+ '17e2f4fa060ed97ff6fe1eaff647bcfb'
+ '229c87648c10e48b523c25d24aba8372'
+ '00649517a4dd08cd9c6e99d6703f01f1'
+ '723ec16d949f454588d62da499bbefca')
+
+build() {
+ cd $srcdir/$pkgname-engine-$_oldver
+
+ patch -Np0 < $srcdir/strcpy-memmove.patch
+ sed -i 's/#define ALDRIVER_DEFAULT "libopenal.so.0"/#define ALDRIVER_DEFAULT "libopenal.so.1"/g' code/client/snd_openal.c
+
+ make DEFAULT_BASEDIR=/usr/share/$pkgname \
+ BUILD_CLIENT_SMP=0 \
+ USE_LOCAL_HEADERS=0 \
+ GENERATE_DEPENDENCIES=0 \
+ OPTIMIZE=
+}
+
+package() {
+ cd $srcdir/$pkgname-engine-$_oldver
+
+ install -d $pkgdir/usr/{bin,share/{$pkgname,applications,pixmaps}}
+
+ make COPYDIR=$pkgdir/usr/share/$pkgname copyfiles
+
+ [ "$CARCH" = "x86_64" ] && {
+ mv -f $pkgdir/usr/share/$pkgname/$pkgname.$CARCH $pkgdir/usr/bin/$pkgname
+ mv -f $pkgdir/usr/share/$pkgname/oa_ded.$CARCH $pkgdir/usr/bin/$pkgname-server
+ } || {
+ mv -f $pkgdir/usr/share/$pkgname/$pkgname.i386 $pkgdir/usr/bin/$pkgname
+ mv -f $pkgdir/usr/share/$pkgname/oa_ded.i386 $pkgdir/usr/bin/$pkgname-server
+ }
+
+ find $pkgdir/usr/share -type f -exec chmod 644 {} +
+
+ install -m 644 $srcdir/$pkgname{,-server}.png $pkgdir/usr/share/pixmaps/
+ install -m 644 $srcdir/$pkgname{,-server}.desktop $pkgdir/usr/share/applications/
+}
+
+# vim: sw=2:ts=2 et:
diff --git a/community/openarena/openarena-server.desktop b/community/openarena/openarena-server.desktop
new file mode 100644
index 000000000..47bc786a2
--- /dev/null
+++ b/community/openarena/openarena-server.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=OpenArena Server
+Exec=openarena-server
+Icon=openarena-server
+Type=Application
+Terminal=true
+Comment=Run an OpenArena server
+Categories=Network;
diff --git a/community/openarena/openarena-server.png b/community/openarena/openarena-server.png
new file mode 100644
index 000000000..55c5177f5
--- /dev/null
+++ b/community/openarena/openarena-server.png
Binary files differ
diff --git a/community/openarena/openarena.desktop b/community/openarena/openarena.desktop
new file mode 100644
index 000000000..321461a32
--- /dev/null
+++ b/community/openarena/openarena.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=OpenArena
+Exec=openarena
+Icon=openarena
+Type=Application
+Comment=A Quake3-based FPS Game
+Categories=Game;ActionGame;
diff --git a/community/openarena/openarena.png b/community/openarena/openarena.png
new file mode 100644
index 000000000..0fa1f4ec3
--- /dev/null
+++ b/community/openarena/openarena.png
Binary files differ
diff --git a/community/openarena/strcpy-memmove.patch b/community/openarena/strcpy-memmove.patch
new file mode 100644
index 000000000..0123af61a
--- /dev/null
+++ b/community/openarena/strcpy-memmove.patch
@@ -0,0 +1,20 @@
+--- code/botlib/l_script.c.orig 2009-11-02 20:29:23.000000000 +0100
++++ code/botlib/l_script.c 2009-11-02 22:21:40.000000000 +0100
+@@ -1118,7 +1118,7 @@
+ {
+ if (*string == '\"')
+ {
+- strcpy(string, string+1);
++ memmove(string, string+1, strlen(string));
+ } //end if
+ if (string[strlen(string)-1] == '\"')
+ {
+@@ -1135,7 +1135,7 @@
+ {
+ if (*string == '\'')
+ {
+- strcpy(string, string+1);
++ memmove(string, string+1, strlen(string));
+ } //end if
+ if (string[strlen(string)-1] == '\'')
+ {
diff --git a/community/openbox/PKGBUILD b/community/openbox/PKGBUILD
new file mode 100644
index 000000000..a3b6fd69e
--- /dev/null
+++ b/community/openbox/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 93636 2013-07-08 07:28:15Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: tobias <tobias@archlinux.org>
+
+pkgname=openbox
+pkgver=3.5.0
+pkgrel=9
+pkgdesc='Highly configurable and lightweight X11 window manager'
+arch=('i686' 'x86_64')
+url='http://openbox.org'
+license=('GPL')
+depends=('startup-notification' 'libxml2' 'libxinerama' 'libxrandr'
+ 'libxcursor' 'pango' 'imlib2')
+optdepends=('python2: for the xdg-autostart script')
+groups=('lxde')
+options=('!libtool')
+backup=('etc/xdg/openbox/menu.xml' 'etc/xdg/openbox/rc.xml'
+ 'etc/xdg/openbox/autostart' 'etc/xdg/openbox/environment')
+source=(http://www.icculus.org/openbox/releases/$pkgname-$pkgver.tar.gz
+ openbox-3.5.0-Fix-crash-on-NET_WM_MOVERESIZE_CANCEL.patch
+ openbox-3.5.0-title-matching.patch
+ openbox-3.5.0-which-2.20.patch)
+md5sums=('00441b53cf14c03566c8e82643544ff9'
+ 'f2e5198a9dfc803c59fd42448a85f2da'
+ '0a11d7149da210a31ef88f8a9c717711'
+ '7ca3b5244bb092d46f5bcf1e2bdf4a18')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ patch -Np1 -i "$srcdir"/openbox-3.5.0-Fix-crash-on-NET_WM_MOVERESIZE_CANCEL.patch # FS#29812
+ patch -Np1 -i "$srcdir"/openbox-3.5.0-title-matching.patch # OB#5277
+ patch -Np1 -i "$srcdir"/openbox-3.5.0-which-2.20.patch # FS#11455
+
+ sed -i 's|/usr/bin/env python|/usr/bin/env python2|' \
+ data/autostart/openbox-xdg-autostart
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --with-x \
+ --enable-startup-notification \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/openbox
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ rm "$pkgdir"/usr/bin/{gdm-control,gnome-panel-control}
+
+ sed -i 's:startkde:/usr/bin/\0:' \
+ "$pkgdir"/usr/share/xsessions/openbox-kde.desktop
+ sed -i 's:=gnome-session:=/usr/bin/gnome-session:' \
+ "$pkgdir"/usr/share/xsessions/openbox-gnome.desktop
+}
diff --git a/community/openbox/openbox-3.5.0-Fix-crash-on-NET_WM_MOVERESIZE_CANCEL.patch b/community/openbox/openbox-3.5.0-Fix-crash-on-NET_WM_MOVERESIZE_CANCEL.patch
new file mode 100644
index 000000000..174482da4
--- /dev/null
+++ b/community/openbox/openbox-3.5.0-Fix-crash-on-NET_WM_MOVERESIZE_CANCEL.patch
@@ -0,0 +1,28 @@
+From 339c19d1b3a7a5139aed8b59bad755ddd0e518ff Mon Sep 17 00:00:00 2001
+From: Mikael Magnusson <mikachu@gmail.com>
+Date: Sun, 3 Jun 2012 20:18:48 +0200
+Subject: [PATCH] Fix crash on unexpected NET_WM_MOVERESIZE_CANCEL messages
+
+gtk+ 3.4 apparently sends these randomly when you select text in a
+GtkEntry. This also fixes bug #5460.
+---
+ openbox/event.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/openbox/event.c b/openbox/event.c
+index b9ec1c5..4d091bf 100644
+--- a/openbox/event.c
++++ b/openbox/event.c
+@@ -1495,7 +1495,8 @@ static void event_handle_client(ObClient *client, XEvent *e)
+ }
+ else if ((Atom)e->xclient.data.l[2] ==
+ OBT_PROP_ATOM(NET_WM_MOVERESIZE_CANCEL))
+- moveresize_end(TRUE);
++ if (moveresize_client)
++ moveresize_end(TRUE);
+ } else if (msgtype == OBT_PROP_ATOM(NET_MOVERESIZE_WINDOW)) {
+ gint ograv, x, y, w, h;
+
+--
+1.7.10
+
diff --git a/community/openbox/openbox-3.5.0-title-matching.patch b/community/openbox/openbox-3.5.0-title-matching.patch
new file mode 100644
index 000000000..fdfe28af0
--- /dev/null
+++ b/community/openbox/openbox-3.5.0-title-matching.patch
@@ -0,0 +1,11 @@
+--- openbox-3.5.0/openbox/client.c 2011-08-01 22:14:58.000000000 +0200
++++ openbox-3.5.0/openbox/client.c 2011-10-22 14:59:56.000000000 +0200
+@@ -883,7 +883,7 @@
+ !g_pattern_match(app->role,
+ strlen(self->role), self->role, NULL))
+ match = FALSE;
+- else if (app->title &&
++ else if (app->title && self->title &&
+ !g_pattern_match(app->title,
+ strlen(self->title), self->title, NULL))
+ match = FALSE;
diff --git a/community/openbox/openbox-3.5.0-which-2.20.patch b/community/openbox/openbox-3.5.0-which-2.20.patch
new file mode 100644
index 000000000..f947d6a98
--- /dev/null
+++ b/community/openbox/openbox-3.5.0-which-2.20.patch
@@ -0,0 +1,11 @@
+--- openbox-3.5.0/data/autostart/autostart.in~ 2011-08-02 15:50:01.963531310 +0000
++++ openbox-3.5.0/data/autostart/autostart.in 2011-08-02 15:51:57.277879458 +0000
+@@ -8,7 +8,7 @@
+ #
+ #if test -x @libexecdir@/gnome-settings-daemon >/dev/null; then
+ # @libexecdir@/gnome-settings-daemon &
+-#elif which gnome-settings-daemon >/dev/null; then
++#elif which gnome-settings-daemon >/dev/null 2>&1; then
+ # gnome-settings-daemon &
+ #fi
+
diff --git a/community/openbsd-netcat/PKGBUILD b/community/openbsd-netcat/PKGBUILD
new file mode 100644
index 000000000..ffc02fc9b
--- /dev/null
+++ b/community/openbsd-netcat/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 86494 2013-03-18 11:55:20Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andrej Gelenberg <andrej.gelenberg@udo.edu>
+
+pkgname="openbsd-netcat"
+pkgver=1.105_7
+pkgrel=6
+pkgdesc="TCP/IP swiss army knife. OpenBSD variant."
+arch=('i686' 'x86_64')
+url="http://packages.debian.org/sid/netcat-openbsd"
+license=('BSD')
+depends=('libbsd')
+makedepends=('gcc' 'make')
+provides=('netcat')
+conflicts=('gnu-netcat')
+source=("http://ftp.debian.org/debian/pool/main/n/netcat-openbsd/netcat-openbsd_${pkgver%_*}.orig.tar.gz"
+ "http://ftp.debian.org/debian/pool/main/n/netcat-openbsd/netcat-openbsd_${pkgver/_/-}.debian.tar.gz")
+md5sums=('7e67b22f1ad41a1b7effbb59ff28fca1'
+ 'e914f8eb7eda5c75c679dd77787ac76b')
+
+build() {
+ cd $srcdir/netcat-openbsd-${pkgver%_*}
+ for i in `cat ../debian/patches/series`; do
+ echo "** patch $i" 1>&2
+ cat "../debian/patches/$i"
+ done | patch -p1
+ make \
+ CFLAGS="$CFLAGS -DDEBIAN_VERSION=\"\\\"${pkgrel}\\\"\" -I/usr/include/libbsd" \
+ LDFLAGS="$LDFLAGS -lbsd"
+}
+
+package() {
+ cd $srcdir/netcat-openbsd-${pkgver%_*}
+ install -Dm0755 nc $pkgdir/usr/bin/nc
+ ln -s nc $pkgdir/usr/bin/netcat
+ install -Dm0644 nc.1 $pkgdir/usr/share/man/man1/nc.1
+ install -dm0755 $pkgdir/usr/share/licenses/$pkgname/
+ head -n28 netcat.c | tail -n+2 >$pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/opencc/PKGBUILD b/community/opencc/PKGBUILD
new file mode 100644
index 000000000..23122e818
--- /dev/null
+++ b/community/opencc/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 88293 2013-04-16 02:22:14Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgbase=opencc
+pkgname=(opencc opencc-doc)
+pkgver=0.4.2
+pkgrel=2
+url="http://code.google.com/p/opencc/"
+arch=('i686' 'x86_64')
+license=('Apache')
+makedepends=('cmake' 'doxygen')
+source=("http://opencc.googlecode.com/files/${pkgbase}-${pkgver}.tar.gz")
+
+build() {
+ cd "$srcdir/${pkgbase}-${pkgver}"
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_DOCUMENTATION:BOOL=ON
+ make
+}
+
+package_opencc() {
+ pkgdesc="Library for Open Chinese Convert"
+ depends=('glibc')
+
+ cd "$srcdir/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # Remove docs - install in splitted package
+ rm -r "$pkgdir/usr/share/opencc/doc"
+}
+
+package_opencc-doc() {
+ pkgdesc="Documentation for Library for Open Chinese Convert"
+
+ cd "$srcdir/${pkgbase}-${pkgver}/doc"
+ make DESTDIR="${pkgdir}" install
+
+ # Remove manpages - already installed in main package
+ rm -r "$pkgdir/usr/share/man"
+}
+
+md5sums=('d5c001098e824dae0e3debb1b864304b')
diff --git a/community/openclonk/PKGBUILD b/community/openclonk/PKGBUILD
new file mode 100644
index 000000000..f748da628
--- /dev/null
+++ b/community/openclonk/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 90070 2013-05-06 19:38:47Z foutrelis $
+# Maintainer: Jonathan Steel <mail at jsteel dot org>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Wesley <rudirennsau at hotmail dot com>
+
+pkgname=openclonk
+pkgver=5.3.3
+pkgrel=1
+pkgdesc="A multiplayer-action-tactic-skill game"
+arch=('i686' 'x86_64')
+url="http://openclonk.org"
+license=('custom')
+depends=('gtk2' 'glew' 'sdl_mixer' 'libxpm' 'hicolor-icon-theme' 'libupnp')
+makedepends=('cmake' 'boost' 'imagemagick' 'mesa')
+install=$pkgname.install
+source=(http://hg.openclonk.org/$pkgname/archive/$pkgname-release-$pkgver-src.tar.gz)
+md5sums=('a61d8a7d7c41bcc8d85a647c25095658')
+
+build() {
+ [[ -d build ]] && rm -rf build
+ mkdir build && cd build
+
+ cmake ../ -DCMAKE_INSTALL_PREFIX=/usr
+
+ make
+}
+
+package() {
+ cd build
+
+ make DESTDIR="$pkgdir"/ install
+
+ install -Dm644 clonk.png "$pkgdir"/usr/share/pixmaps/clonk.png
+ install -dm755 "$pkgdir"/usr/share/licenses/$pkgname
+ install -m644 ../licenses/*.txt "$pkgdir"/usr/share/licenses/$pkgname
+}
diff --git a/community/openclonk/openclonk.install b/community/openclonk/openclonk.install
new file mode 100644
index 000000000..b9bbaf706
--- /dev/null
+++ b/community/openclonk/openclonk.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/opencolorio/PKGBUILD b/community/opencolorio/PKGBUILD
new file mode 100644
index 000000000..18bc01a39
--- /dev/null
+++ b/community/opencolorio/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Dumitru Ursu <dima@ceata.org>
+
+pkgname=opencolorio
+pkgver=1.0.8
+pkgrel=1
+pkgdesc="A color management framework for visual effects and animation"
+arch=('i686' 'x86_64')
+url="http://opencolorio.org"
+license=('BSD')
+depends=('python')
+makedepends=('cmake')
+source=(http://github.com/imageworks/OpenColorIO/tarball/v$pkgver)
+sha1sums=('9b9bac9ed85c84f53775686eb72f3d612b148fef')
+
+build()
+{
+ mv imageworks-OpenColorIO-* $pkgname-$pkgver
+ cd $pkgname-$pkgver
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr .
+ make
+}
+
+package()
+{
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/opendkim/PKGBUILD b/community/opendkim/PKGBUILD
new file mode 100644
index 000000000..d88c3a5f1
--- /dev/null
+++ b/community/opendkim/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 91498 2013-05-23 10:14:14Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Thomas Jost <schnouki@schnouki.net>
+
+pkgname=opendkim
+pkgver=2.8.3
+pkgrel=3
+pkgdesc="An open source implementation of the DKIM sender authentication system. Based on a fork of dkim-milter."
+arch=(i686 x86_64)
+url="http://www.opendkim.org/"
+license=('BSD' 'custom:Sendmail')
+depends=("db" "openssl")
+makedepends=("libmilter")
+options=(!libtool !emptydirs)
+backup=(etc/conf.d/opendkim)
+install=opendkim.install
+source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver.tar.gz
+ opendkim.conf
+ opendkim.service)
+md5sums=('0ae9d37e3221a244eb34c3e0e2d665cc'
+ '3e2bb1058ac0662f01e675aa6ac7ee8f'
+ '85010750a21954e2d3cf5d57fe210d3f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sbindir=/usr/bin --with-db
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ # Sample configuration
+ mkdir -p "$pkgdir/etc/opendkim"
+ mv "$pkgdir/usr/share/doc/opendkim/opendkim.conf.sample" "$pkgdir/etc/opendkim/opendkim.conf.sample"
+ chmod 0700 "$pkgdir/etc/opendkim"
+ chmod 0600 "$pkgdir/etc/opendkim/opendkim.conf.sample"
+ install -Dm644 "$srcdir/opendkim.conf" "$pkgdir/etc/conf.d/opendkim"
+
+ # License
+ mkdir -p "$pkgdir/usr/share/licenses/opendkim"
+ for f in LICENSE LICENSE.Sendmail; do
+ ln -s ../../doc/opendkim/$f "$pkgdir/usr/share/licenses/opendkim/$f"
+ done
+
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+}
diff --git a/community/opendkim/opendkim.conf b/community/opendkim/opendkim.conf
new file mode 100644
index 000000000..ebe9024e0
--- /dev/null
+++ b/community/opendkim/opendkim.conf
@@ -0,0 +1 @@
+OPENDKIM_FILTER="-x /etc/opendkim/opendkim.conf"
diff --git a/community/opendkim/opendkim.install b/community/opendkim/opendkim.install
new file mode 100644
index 000000000..a1f16f6ca
--- /dev/null
+++ b/community/opendkim/opendkim.install
@@ -0,0 +1,11 @@
+post_install() {
+ useradd -r -g mail -d / opendkim
+ chown -R opendkim:mail etc/opendkim
+ cat <<EOF
+>>> Check and modify /etc/opendkim/opendkim.conf before starting
+EOF
+}
+
+post_remove() {
+ userdel opendkim
+}
diff --git a/community/opendkim/opendkim.service b/community/opendkim/opendkim.service
new file mode 100644
index 000000000..7d2eb79aa
--- /dev/null
+++ b/community/opendkim/opendkim.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=OpenDKIM daemon
+After=network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/opendkim
+ExecStart=/usr/bin/opendkim $OPENDKIM_FILTER
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/openimageio/PKGBUILD b/community/openimageio/PKGBUILD
new file mode 100644
index 000000000..4a8953754
--- /dev/null
+++ b/community/openimageio/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 94036 2013-07-13 12:34:57Z svenstaro $
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+
+pkgname=openimageio
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="A library for reading and writing images, including classes, utilities, and applications"
+arch=(i686 x86_64)
+url="http://www.openimageio.org/"
+license=('custom')
+depends=('openexr' 'boost-libs' 'jasper' 'glew' 'libtiff' 'opencolorio' 'intel-tbb')
+makedepends=('cmake' 'qt4' 'python2' 'boost' 'mesa')
+optdepends=('qt4: iv image viewer'
+ 'python2: bindings support')
+source=(https://github.com/OpenImageIO/oiio/tarball/Release-$pkgver)
+md5sums=('8738dd9b24fc4f0cb3eebb094347104a')
+
+build() {
+ cd "$srcdir"/$_pkgname*
+
+ cd src
+
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DPYLIB_INSTALL_DIR=lib/python2.7/site-packages \
+ -DUSE_EXTERNAL_TBB=ON \
+ -DOIIO_BUILD_TESTS=OFF \
+ ..
+ make
+}
+
+package() {
+ cd "$srcdir"/$_pkgname*/src/build
+
+ make DESTDIR="$pkgdir" install
+
+ # license
+ cd ../..
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/openimageio/fix32bit-fail.patch b/community/openimageio/fix32bit-fail.patch
new file mode 100644
index 000000000..5d9bbbe36
--- /dev/null
+++ b/community/openimageio/fix32bit-fail.patch
@@ -0,0 +1,13 @@
+--- orig/src/libutil/SHA1.cpp 2012-11-17 01:02:42.000000000 +0200
++++ fixed/src/libutil/SHA1.cpp 2012-12-14 14:37:37.552042793 +0200
+@@ -8,9 +8,9 @@
+
+ // If compiling with MFC, you might want to add #include "StdAfx.h"
+
++#include "SHA1.h"
+ #include "hash.h"
+ #include "dassert.h"
+-#include "SHA1.h"
+
+ #ifdef SHA1_UTILITY_FUNCTIONS
+ #define SHA1_MAX_FILE_BUFFER 8000
diff --git a/community/openlierox/PKGBUILD b/community/openlierox/PKGBUILD
new file mode 100644
index 000000000..d358dc718
--- /dev/null
+++ b/community/openlierox/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 93775 2013-07-10 07:27:15Z bpiotrowski $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=openlierox
+pkgver=0.58_rc3
+pkgrel=5
+pkgdesc="A real-time excessive Worms-clone"
+arch=('i686' 'x86_64')
+url="http://www.openlierox.net/"
+license=('LGPL')
+depends=('curl' 'gcc-libs' 'sdl_image' 'sdl_mixer' 'gd' 'hawknl' 'libxml2' 'libzip')
+makedepends=('cmake')
+optdepends=('bash: for scripts support'
+ 'python: for scripts support')
+conflicts=('openlierox-beta' 'openlierox-svn')
+source=(http://downloads.sourceforge.net/$pkgname/OpenLieroX_$pkgver.src.tar.bz2)
+md5sums=('c4f7057d8f210e30bdef3cfdd75d613b')
+
+build() {
+ cd "$srcdir"/OpenLieroX
+
+ sed -i '1i #include <sys/stat.h>' src/breakpad/external/src/common/linux/file_id.cc
+ sed -i 's|/usr/share/games|/usr/share|g' include/FindFile.h
+
+ sed -i '/curl\/types\.h/d' include/HTTP.h
+ sed -i '/curl\/types\.h/d' src/common/HTTP.cpp
+
+ [[ -d build ]] && rm -r build
+ mkdir build
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSTEM_DATA_DIR=/usr/share \
+ -DHAWKNL_BUILTIN=OFF \
+ -DBREAKPAD=OFF
+
+ make
+}
+
+package() {
+ cd "$srcdir"/OpenLieroX
+
+ # Awesome, they are using CMake but they do not want it to also make the install.
+
+ # install binary
+ install -Dm755 bin/$pkgname "$pkgdir"/usr/bin/$pkgname
+
+ # install data
+ install -m755 -d "$pkgdir"/usr/share/OpenLieroX
+ cp -r share/gamedir/* "$pkgdir"/usr/share/OpenLieroX/
+ find "$pkgdir"/usr/share/OpenLieroX -type d -exec chmod 755 {} +
+ find "$pkgdir"/usr/share/OpenLieroX -type f -exec chmod 644 {} +
+
+ # install manual
+ install -Dm644 doc/$pkgname.6 "$pkgdir"/usr/share/man/man6/$pkgname.6
+
+ # install icon
+ install -Dm644 share/OpenLieroX.svg \
+ "$pkgdir"/usr/share/pixmaps/OpenLieroX.svg
+
+ # install .desktop file
+ install -Dm644 share/$pkgname-$pkgname.desktop \
+ "$pkgdir"/usr/share/applications/$pkgname.desktop
+}
diff --git a/community/openmotif/PKGBUILD b/community/openmotif/PKGBUILD
new file mode 100644
index 000000000..7c2623685
--- /dev/null
+++ b/community/openmotif/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90072 2013-05-06 19:38:52Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Enrico Morelli <morelli@cerm.unifi.it>
+
+pkgname=openmotif
+pkgver=2.3.4
+pkgrel=2
+pkgdesc="Open Motif"
+arch=('i686' 'x86_64')
+url="http://www.motifzone.org/"
+license=('GPL')
+depends=(libxext libxp libxft libxt libxmu libpng libjpeg)
+makedepends=(xbitmaps xproto printproto xextproto automake)
+conflicts=(lesstif)
+options=('!libtool')
+source=("http://downloads.sourceforge.net/project/motif/Motif%20$pkgver%20Source%20Code/motif-$pkgver-src.tgz")
+md5sums=('612bb8127d0d31da6e5474edf8a5c247')
+
+build() {
+ cd $srcdir/motif-$pkgver
+ export LDFLAGS="-lX11"
+ sed -i \
+ -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADER|g' \
+ -e 's|AM_PROG_CC_STDC|AC_PROG_CC|g' \
+ configure.ac
+ [ -x configure ] || ./autogen.sh --prefix=/usr
+ [ -f Makefile ] || ./configure --prefix=/usr
+ make -j1
+}
+
+package() {
+ cd $srcdir/motif-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/openntpd/PKGBUILD b/community/openntpd/PKGBUILD
new file mode 100644
index 000000000..4eafda56d
--- /dev/null
+++ b/community/openntpd/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 91455 2013-05-22 23:28:35Z seblu $
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Mark Rosenstand <mark@borkware.net>
+# Contributor: Giorgio Lando <patroclo7@gmail.com> (adjtimex patch)
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=openntpd
+pkgver=3.9p1
+pkgrel=22
+pkgdesc='Free, easy to use implementation of the Network Time Protocol.'
+url='http://www.openntpd.org/'
+arch=('x86_64' 'i686')
+license=('BSD')
+depends=('openssl')
+conflicts=('ntp')
+backup=('etc/ntpd.conf')
+install=$pkgname.install
+source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenNTPD/$pkgname-$pkgver.tar.gz"
+ 'linux-adjtimex.patch'
+ 'openntpd.tmpfiles'
+ 'openntpd.service')
+sha256sums=('83dd7c1e8ec8b4567afe49af539271b5a73562fb7a3ca51df73eccba89ec8c49'
+ '3abcec94c072b5913ef7156a22049d796ff04e19105befe1ea81a66522928fd2'
+ 'fe12841110c3c080519e248988c4b6334f54bd9646b015753c7e15de2a9600c5'
+ '3239fc6f69d661cd9233233da9e68bebdf7b12888febbc2f2d794742db2d8ed1')
+
+prepare() {
+ patch -Np1 -d $pkgname-$pkgver < linux-adjtimex.patch
+}
+
+build() {
+ cd $pkgname-$pkgver
+ autoreconf -fi
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --with-privsep-user=ntp \
+ --with-privsep-path=/run/openntpd/ \
+ --with-adjtimex
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir/$pkgname-$pkgver/LICENCE" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENCE"
+ sed -i 's/\*/0.0.0.0/' $pkgdir/etc/ntpd.conf
+
+ install -Dm644 "$srcdir/openntpd.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/openntpd.conf"
+ install -Dm644 "$srcdir/openntpd.service" "$pkgdir/usr/lib/systemd/system/openntpd.service"
+
+ # avoid conflict with filesystem>=2012.06
+ rm -r "$pkgdir/run"
+
+ install -dm755 "$pkgdir/usr/lib/systemd/ntp-units.d"
+ echo "$pkgname.service" > "$pkgdir/usr/lib/systemd/ntp-units.d/$pkgname.list"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/openntpd/linux-adjtimex.patch b/community/openntpd/linux-adjtimex.patch
new file mode 100644
index 000000000..e7b72daf9
--- /dev/null
+++ b/community/openntpd/linux-adjtimex.patch
@@ -0,0 +1,168 @@
+Only in openntpd-3.9p1.old: configure
+diff -ur --unidirectional-new-file openntpd-3.9p1.old/configure.ac openntpd-3.9p1/configure.ac
+--- openntpd-3.9p1.old/configure.ac 2006-05-14 07:29:23.000000000 +0200
++++ openntpd-3.9p1/configure.ac 2008-02-07 13:13:18.066366142 +0100
+@@ -583,6 +583,11 @@
+ [ builtin_arc4random=$withval ]
+ )
+
++AC_ARG_WITH(adjtimex,
++ [ --with-adjtimex Use adjtimex to adjust kernel skew],
++ [ AC_DEFINE(USE_ADJTIMEX, [], [Use adjust skew with adjtimex (experimental)]) ]
++ )
++
+ AC_ARG_WITH(mantype,
+ [ --with-mantype=man|cat|doc Set man page type],
+ [
+diff -ur --unidirectional-new-file openntpd-3.9p1.old/defines.h openntpd-3.9p1/defines.h
+--- openntpd-3.9p1.old/defines.h 2006-05-14 07:29:21.000000000 +0200
++++ openntpd-3.9p1/defines.h 2008-02-07 13:14:34.488711868 +0100
+@@ -20,6 +20,10 @@
+ # define setproctitle(x)
+ #endif
+
++#ifdef USE_ADJTIMEX
++# define adjtime(a,b) (_compat_adjtime((a),(b)))
++#endif
++
+ #if !defined(SA_LEN)
+ # if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)
+ # define SA_LEN(x) ((x)->sa_len)
+Only in openntpd-3.9p1.old: ntpd.0
+Only in openntpd-3.9p1.old: ntpd.conf.0
+diff -ur --unidirectional-new-file openntpd-3.9p1.old/openbsd-compat/Makefile.in openntpd-3.9p1/openbsd-compat/Makefile.in
+--- openntpd-3.9p1.old/openbsd-compat/Makefile.in 2006-05-14 07:29:19.000000000 +0200
++++ openntpd-3.9p1/openbsd-compat/Makefile.in 2008-02-07 13:31:39.499728930 +0100
+@@ -9,7 +9,7 @@
+ COMPAT= atomicio.o bsd-arc4random.o bsd-misc.o bsd-poll.o \
+ bsd-snprintf.o bsd-getifaddrs.o bsd-setresuid.o \
+ bsd-setresgid.o fake-rfc2553.o
+-PORT= port-qnx.o
++PORT= port-linux.o port-qnx.o
+
+ VPATH=@srcdir@
+ CC=@CC@
+diff -ur --unidirectional-new-file openntpd-3.9p1.old/openbsd-compat/openbsd-compat.h openntpd-3.9p1/openbsd-compat/openbsd-compat.h
+--- openntpd-3.9p1.old/openbsd-compat/openbsd-compat.h 2006-05-14 07:29:19.000000000 +0200
++++ openntpd-3.9p1/openbsd-compat/openbsd-compat.h 2008-02-07 13:17:00.272366764 +0100
+@@ -46,6 +46,11 @@
+ __attribute__((__format__ (printf, 2, 3)));
+ #endif
+
++#ifdef USE_ADJTIMEX
++# include <sys/time.h>
++int _compat_adjtime(const struct timeval *, struct timeval *);
++#endif
++
+ #ifndef HAVE_INET_PTON
+ int inet_pton(int, const char *, void *);
+ #endif
+diff -ur --unidirectional-new-file openntpd-3.9p1.old/openbsd-compat/port-linux.c openntpd-3.9p1/openbsd-compat/port-linux.c
+--- openntpd-3.9p1.old/openbsd-compat/port-linux.c 1970-01-01 01:00:00.000000000 +0100
++++ openntpd-3.9p1/openbsd-compat/port-linux.c 2008-02-07 13:24:43.800366563 +0100
+@@ -0,0 +1,105 @@
++
++
++/*
++ * Copyright (c) 2004 Darren Tucker <dtucker at zip com au>
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ */
++
++#include "includes.h"
++
++#ifdef USE_ADJTIMEX
++#include <sys/timex.h>
++#include <errno.h>
++#ifdef adjtime
++# undef adjtime
++#endif
++
++#include "ntpd.h"
++
++/* scale factor used by adjtimex freq param. 1 ppm = 65536 */
++#define ADJTIMEX_FREQ_SCALE 65536
++
++/* maximum change to skew per adjustment, in PPM */
++#define MAX_SKEW_DELTA 5.0
++
++int
++_compat_adjtime(const struct timeval *delta, struct timeval *olddelta)
++{
++ static struct timeval tlast = {0,0};
++ static double tskew = 0;
++ static int synced = -1;
++ struct timeval tnow, tdelta;
++ double skew = 0, newskew, deltaskew, adjust, interval = 0;
++ struct timex tmx;
++ int result, saved_errno;
++
++ gettimeofday(&tnow, NULL);
++ adjust = (double)delta->tv_sec;
++ adjust += (double)delta->tv_usec / 1000000;
++
++ /* Even if the caller doesn't care about the olddelta, we do */
++ if (olddelta == NULL)
++ olddelta = &tdelta;
++
++ result = adjtime(delta, olddelta);
++ saved_errno = errno;
++
++ if (olddelta->tv_sec == 0 && olddelta->tv_usec == 0 &&
++ synced != INT_MAX)
++ synced++;
++ else
++ synced = 0;
++
++ /*
++ * do skew calculations if we have synced
++ */
++ if (synced == 0 ) {
++ tmx.modes = 0;
++ if (adjtimex(&tmx) == -1)
++ log_warn("adjtimex get failed");
++ else
++ tskew = (double)tmx.freq / ADJTIMEX_FREQ_SCALE;
++ } else if (synced >= 1) {
++ interval = (double)(tnow.tv_sec - tlast.tv_sec);
++ interval += (double)(tnow.tv_usec - tlast.tv_usec) / 1000000;
++
++ skew = (adjust * 1000000) / interval;
++ newskew = ((tskew * synced) + skew) / synced;
++ deltaskew = newskew - tskew;
++
++ if (deltaskew > MAX_SKEW_DELTA) {
++ log_info("skew change %0.3lf exceeds limit", deltaskew);
++ tskew += MAX_SKEW_DELTA;
++ } else if (deltaskew < -MAX_SKEW_DELTA) {
++ log_info("skew change %0.3lf exceeds limit", deltaskew);
++ tskew -= MAX_SKEW_DELTA;
++ } else {
++ tskew = newskew;
++ }
++
++ /* Adjust the kernel skew. */
++ tmx.freq = (long)(tskew * ADJTIMEX_FREQ_SCALE);
++ tmx.modes = ADJ_FREQUENCY;
++ if (adjtimex(&tmx) == -1)
++ log_warn("adjtimex set freq failed");
++ }
++
++ log_debug("interval %0.3lf skew %0.3lf total skew %0.3lf", interval,
++ skew, tskew);
++
++ tlast = tnow;
++ errno = saved_errno;
++ return result;
++}
++#endif
diff --git a/community/openntpd/openntpd.install b/community/openntpd/openntpd.install
new file mode 100644
index 000000000..dd2bf4a4f
--- /dev/null
+++ b/community/openntpd/openntpd.install
@@ -0,0 +1,15 @@
+post_install() {
+ getent group ntp &>/dev/null || groupadd -g 87 ntp >/dev/null
+ getent passwd ntp &>/dev/null || useradd -u 87 -g ntp -d /var/lib/ntp -c 'Network Time Protocol' -s /bin/false ntp >/dev/null
+
+ systemd-tmpfiles --create openntpd.conf
+ true
+}
+
+post_remove() {
+ getent passwd ntp &>/dev/null && userdel ntp >/dev/null
+ getent group ntp &>/dev/null && groupdel ntp >/dev/null
+ true
+}
+
+# vim: ts=2 sw=2 et ft=sh
diff --git a/community/openntpd/openntpd.service b/community/openntpd/openntpd.service
new file mode 100644
index 000000000..ebaf10540
--- /dev/null
+++ b/community/openntpd/openntpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=OpenNTP Daemon
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/ntpd -s
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/openntpd/openntpd.tmpfiles b/community/openntpd/openntpd.tmpfiles
new file mode 100644
index 000000000..3a34146fc
--- /dev/null
+++ b/community/openntpd/openntpd.tmpfiles
@@ -0,0 +1 @@
+d /run/openntpd 0755 root root -
diff --git a/community/openocd/PKGBUILD b/community/openocd/PKGBUILD
new file mode 100644
index 000000000..6c5f0846d
--- /dev/null
+++ b/community/openocd/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 89932 2013-05-05 20:07:45Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Matthias Bauch <matthias.bauch@gmail.com>
+# Contributor: Laszlo Papp <djszapi2 at gmail com>
+# Contributor: Samuel Tardieu <sam@rfc1149.net>
+
+pkgname=openocd
+pkgver=0.7.0
+pkgrel=1
+pkgdesc='Debugging, in-system programming and boundary-scan testing for embedded target devices'
+arch=('i686' 'x86_64')
+url='http://openocd.berlios.de'
+license=('GPL')
+depends=('libftdi')
+options=(!strip !libtool)
+install=openocd.install
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2)
+sha256sums=('52237b786530c8460b221556c26fa4779f668b7dcb83ff14b8c5eb2050f38e63')
+
+_features=(amtjtagaccel arm-jtag-ew at91rm9200 buspirate ep93xx ft2232_libftdi ftdi gw16012 jlink oocd_trace opendous osbdm parport presto_libftdi remote-bitbang rlink stlink ti-icdi ulink usbprog vsllink)
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr ${_features[@]/#/--enable-} --disable-werror
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/openocd/openocd.install b/community/openocd/openocd.install
new file mode 100644
index 000000000..ac561dd8c
--- /dev/null
+++ b/community/openocd/openocd.install
@@ -0,0 +1,22 @@
+infodir=usr/share/info
+filelist=(openocd.info openocd.info-1 openocd.info-2)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/opensc/PKGBUILD b/community/opensc/PKGBUILD
new file mode 100644
index 000000000..cabba2e79
--- /dev/null
+++ b/community/opensc/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 84027 2013-02-08 13:50:52Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: kevku <kevku@msn.com>
+
+pkgname=opensc
+pkgver=0.13.0
+pkgrel=2
+pkgdesc='Access smart cards that support cryptographic operations'
+arch=('x86_64' 'i686')
+url='http://www.opensc-project.org/opensc/'
+license=('LGPL')
+backup=('etc/opensc.conf')
+makedepends=('docbook-xsl')
+depends=('openssl' 'pcsclite' 'libltdl')
+options=('!libtool' '!emptydirs')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('74a10de6c646bdaae307d6dc9e9accc0')
+
+build() {
+ cd $pkgname-$pkgver
+ export LIBS=-lltdl
+ _sheetdir=(/usr/share/xml/docbook/xsl-stylesheets-*)
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-man \
+ --enable-doc \
+ --enable-readline \
+ --enable-openssl \
+ --enable-pcsc \
+ --enable-zlib \
+ --enable-sm \
+ --with-xsl-stylesheetsdir="$_sheetdir"
+ make
+}
+
+package(){
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -D -m644 etc/opensc.conf "$pkgdir/etc/opensc.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/openscenegraph/PKGBUILD b/community/openscenegraph/PKGBUILD
new file mode 100644
index 000000000..3ef92191b
--- /dev/null
+++ b/community/openscenegraph/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 90073 2013-05-06 19:38:55Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Hans Janssen <janserv@gmail.com>
+# Contributor: my64 <packages@obordes.com>
+# Contributor: Colin Pitrat <colin.pitrat@gmail.com>
+
+pkgname=openscenegraph
+pkgver=3.0.1
+pkgrel=10
+pkgdesc="An Open Source, high performance real-time graphics toolkit"
+arch=('i686' 'x86_64')
+license=('custom:OSGPL')
+url="http://www.openscenegraph.org"
+depends=('giflib' 'jasper' 'librsvg' 'xine-lib' 'curl' 'pth')
+makedepends=('cmake' 'libvncserver' 'qt4' 'ffmpeg-compat' 'mesa')
+optdepends=('libvncserver' 'gdal' 'openexr' 'poppler-glib' 'qt4')
+conflicts=('openthreads')
+provides=('openthreads')
+source=(http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-$pkgver/source/OpenSceneGraph-$pkgver.zip
+ osg-xine-1.2.patch)
+#source=("http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-$pkgver.zip")
+md5sums=('c43a25d023e635c3566b2083d8e6d956'
+ 'b05a486fdc2aaf06b29efb5e0714672e')
+
+build() {
+ cd OpenSceneGraph-$pkgver
+ export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
+ LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,/usr/lib/ffmpeg-compat"
+ CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS"
+ CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS"
+ [ $NOEXTRACT -eq 1 ] || cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DFFMPEG_LIBAVCODEC_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBAVCODEC_LIBRARIES=/usr/lib/ffmpeg-compat/libavcodec.so \
+ -DFFMPEG_LIBAVDEVICE_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBAVDEVICE_LIBRARIES=/usr/lib/ffmpeg-compat/libavdevice.so \
+ -DFFMPEG_LIBAVFORMAT_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBAVFORMAT_LIBRARIES=/usr/lib/ffmpeg-compat/libavformat.so \
+ -DFFMPEG_LIBAVUTIL_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBAVUTIL_LIBRARIES=/usr/lib/ffmpeg-compat/libavutil.so \
+ -DFFMPEG_LIBSWSCALE_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBSWSCALE_LIBRARIES=/usr/lib/ffmpeg-compat/libswscale.so
+
+ sed -i 's|#include <curl/types.h>|//#include <curl/types.h>|' src/osgPlugins/curl/ReaderWriterCURL.cpp
+ patch -p1 <$srcdir/osg-xine-1.2.patch
+ make
+}
+
+package() {
+ cd OpenSceneGraph-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ [ -d "$pkgdir/usr/lib64" ] && mv "$pkgdir/usr/lib64" "$pkgdir/usr/lib" || true
+}
diff --git a/community/openscenegraph/osg-xine-1.2.patch b/community/openscenegraph/osg-xine-1.2.patch
new file mode 100644
index 000000000..c73b588dc
--- /dev/null
+++ b/community/openscenegraph/osg-xine-1.2.patch
@@ -0,0 +1,14 @@
+diff -wbBur OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c OpenSceneGraph-3.0.1.my/src/osgPlugins/xine/video_out_rgb.c
+--- OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c 2009-11-20 14:46:20.000000000 +0300
++++ OpenSceneGraph-3.0.1.my/src/osgPlugins/xine/video_out_rgb.c 2012-01-05 02:15:38.000000000 +0400
+@@ -2769,8 +2769,8 @@
+ clear(rgb_class, sizeof(rgbout_class_t));
+
+ rgb_class->driver_class.open_plugin = open_plugin;
+- rgb_class->driver_class.get_identifier = get_identifier;
+- rgb_class->driver_class.get_description = get_description;
++ rgb_class->driver_class.identifier = get_identifier(NULL);
++ rgb_class->driver_class.description = get_description(NULL);
+ rgb_class->driver_class.dispose = dispose_class;
+
+ return(rgb_class);
diff --git a/community/openshadinglanguage/PKGBUILD b/community/openshadinglanguage/PKGBUILD
new file mode 100644
index 000000000..fc56c8211
--- /dev/null
+++ b/community/openshadinglanguage/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 94175 2013-07-15 22:55:05Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+pkgname=openshadinglanguage
+pkgver=1.3.3
+pkgrel=3
+pkgdesc="Advanced shading language for production GI renderers"
+arch=(i686 x86_64)
+url="https://github.com/imageworks/OpenShadingLanguage"
+license=('custom')
+depends=('boost-libs' 'openimageio' 'openexr' 'intel-tbb' 'freetype2' 'libpng' 'libtiff' 'llvm')
+makedepends=('boost' 'cmake' 'clang')
+source=(https://github.com/imageworks/OpenShadingLanguage/archive/Release-${pkgver}.tar.gz)
+md5sums=('17aaa01987963220e164522c29281f14')
+
+build() {
+ cd OpenShadingLanguage-Release-$pkgver
+
+ cd src
+
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLLVM_STATIC=1 \
+ ..
+ make
+}
+
+package() {
+ cd OpenShadingLanguage-Release-$pkgver/src/build
+
+ make DESTDIR="$pkgdir/" install
+
+ mkdir -p "$pkgdir"/usr/share/OSL/
+ mkdir -p "$pkgdir"/usr/share/licenses/$pkgname
+ mv "$pkgdir"/usr/LICENSE "$pkgdir"/usr/share/licenses/$pkgname # TODO: Tell upstream about this shit
+ mv "$pkgdir"/usr/{CHANGES,README.md,INSTALL} "$pkgdir"/usr/share/OSL/
+ mv "$pkgdir"/usr/doc "$pkgdir"/usr/share/OSL/doc
+ mv "$pkgdir"/usr/shaders "$pkgdir"/usr/share/OSL/shaders
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/openshadinglanguage/llvm32.patch b/community/openshadinglanguage/llvm32.patch
new file mode 100644
index 000000000..5eb63bcf3
--- /dev/null
+++ b/community/openshadinglanguage/llvm32.patch
@@ -0,0 +1,71 @@
+commit c391ceb1936459b70147d6f8ac389ded26a7e028
+Author: Sven-Hendrik Haase <sh@lutzhaase.com>
+Date: Fri Dec 28 09:00:33 2012 +0100
+
+ Fix for LLVM 3.2
+
+diff --git a/src/liboslexec/llvm_headers.h b/src/liboslexec/llvm_headers.h
+index 41a7a11..5ff4384 100644
+--- a/src/liboslexec/llvm_headers.h
++++ b/src/liboslexec/llvm_headers.h
+@@ -45,10 +45,18 @@ namespace llvm = LLVM_NAMESPACE;
+ #include <llvm/LLVMContext.h>
+ #include <llvm/Module.h>
+ #include <llvm/PassManager.h>
++#if OSL_LLVM_VERSION >= 32
++#include <llvm/IRBuilder.h>
++#else
+ #include <llvm/Support/IRBuilder.h>
++#endif
+ #include <llvm/Support/ManagedStatic.h>
+ #include <llvm/Support/MemoryBuffer.h>
+ #include <llvm/Support/raw_ostream.h>
++#if OSL_LLVM_VERSION >= 32
++#include <llvm/DataLayout.h>
++#else
+ #include <llvm/Target/TargetData.h>
++#endif
+
+ #endif /* OSL_LLVM_HEADERS_H */
+diff --git a/src/liboslexec/llvm_instance.cpp b/src/liboslexec/llvm_instance.cpp
+index 8709c8b..3e42557 100644
+--- a/src/liboslexec/llvm_instance.cpp
++++ b/src/liboslexec/llvm_instance.cpp
+@@ -1273,13 +1273,21 @@ RuntimeOptimizer::llvm_setup_optimization_passes ()
+ //
+ m_llvm_func_passes = new llvm::FunctionPassManager(llvm_module());
+ llvm::FunctionPassManager &fpm (*m_llvm_func_passes);
++#if OSL_LLVM_VERSION >= 32
++ fpm.add (new llvm::DataLayout(llvm_module()));
++#else
+ fpm.add (new llvm::TargetData(llvm_module()));
++#endif
+
+ // Specify module-wide (interprocedural optimization) passes
+ //
+ m_llvm_passes = new llvm::PassManager;
+ llvm::PassManager &passes (*m_llvm_passes);
++#if OSL_LLVM_VERSION >= 32
++ passes.add (new llvm::DataLayout(llvm_module()));
++#else
+ passes.add (new llvm::TargetData(llvm_module()));
++#endif
+
+ if (shadingsys().llvm_optimize() >= 1 && shadingsys().llvm_optimize() <= 3) {
+ // For LLVM 3.0 and higher, llvm_optimize 1-3 means to use the
+diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp
+index 135da2e..4e0eefe 100644
+--- a/src/liboslexec/llvm_util.cpp
++++ b/src/liboslexec/llvm_util.cpp
+@@ -42,7 +42,11 @@ namespace pvt {
+ llvm::Type *
+ RuntimeOptimizer::llvm_type_union(const std::vector<llvm::Type *> &types)
+ {
++#if OSL_LLVM_VERSION >= 32
++ llvm::DataLayout target(llvm_module());
++#else
+ llvm::TargetData target(llvm_module());
++#endif
+ size_t max_size = 0;
+ size_t max_align = 1;
+ for (size_t i = 0; i < types.size(); ++i) {
diff --git a/community/opensips/PKGBUILD b/community/opensips/PKGBUILD
new file mode 100644
index 000000000..7a39ec2b6
--- /dev/null
+++ b/community/opensips/PKGBUILD
@@ -0,0 +1,78 @@
+# $Id: PKGBUILD 91536 2013-05-23 11:21:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=opensips
+pkgver=1.9.1
+pkgrel=2
+pkgdesc="An Open Source SIP Server able to act as a SIP proxy, registrar, location server, redirect server ..."
+url="http://www.opensips.org"
+depends=('gcc-libs' 'openssl' 'db' 'attr' 'libxml2')
+makedepends=('postgresql-libs>=8.4.1' 'unixodbc' 'libldap>=2.4.18' 'libmariadbclient'
+ 'lynx' 'libxslt')
+optdepends=('postgresql-libs'
+ 'unixodbc'
+ 'libldap'
+ 'libmariadbclient'
+ 'libsasl'
+ 'python2'
+ 'pcre')
+backup=("etc/opensips/opensips.cfg"
+ "etc/opensips/dictionary.radius"
+ "etc/opensips/opensipsctlrc")
+arch=('i686' 'x86_64')
+license=('GPL')
+install=opensips.install
+options=('!emptydirs' 'zipman' '!makeflags' 'docs')
+source=(http://opensips.org/pub/opensips/$pkgver/src/opensips-${pkgver}_src.tar.gz
+ opensips.service)
+md5sums=('0b7b93f4df29a96daedf12e490e7ec86'
+ '35cdcb3692f6925236fd5fe7e9484c58')
+
+prepare() {
+ cd $srcdir/$pkgname-$pkgver-tls/
+
+ # python2 fix
+ 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
+
+ sed -i 's|sbin|bin|g' Makefile
+ sed -i 's|bin-dir = sbin/|bin-dir = bin/|' Makefile.defs
+}
+
+build() {
+ cd $srcdir/$pkgname-$pkgver-tls/
+
+ make \
+ include_modules="ldap db_mysql db_postgres db_unixodbc presence presence_xml h350" \
+ TLS=1 LIBDIR=lib
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver-tls/
+
+ make \
+ include_modules="ldap db_mysql db_postgres db_unixodbc presence presence_xml h350" \
+ TLS=1 DESTDIR=$pkgdir/usr LIBDIR=lib install
+
+ # Conforms to the arch packaging standards (http://wiki.archlinux.org/index.php/Arch_Packaging_Standards)
+ mkdir -p $pkgdir/etc/
+ mv $pkgdir/usr/etc/opensips/ $pkgdir/etc/
+ sed -i 's#mpath=".*lib/opensips/modules/"#mpath="/usr/lib/opensips/modules/"#' $pkgdir/etc/opensips/opensips.cfg
+
+ # fix bad paths
+ cd $pkgdir/usr/share
+ find -type f -exec sed -i "s#$pkgdir##" {} \;
+
+ cd $pkgdir/usr/lib/opensips/opensipsctl
+ find -type f -exec sed -i "s#$pkgdir##" {} \;
+
+ cd $pkgdir/usr/bin
+ sed -i "s#$pkgdir##" opensipsctl opensipsdbctl osipsconsole
+
+ cd $pkgdir/etc
+ find -type f -exec sed -i "s#$pkgdir##" {} \;
+
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+}
diff --git a/community/opensips/opensips.install b/community/opensips/opensips.install
new file mode 100644
index 000000000..40973a77a
--- /dev/null
+++ b/community/opensips/opensips.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "To use MySQL, you should install mysql package and run '/usr/bin/openser_mysql.sh create'"
+}
diff --git a/community/opensips/opensips.service b/community/opensips/opensips.service
new file mode 100644
index 000000000..220a5d419
--- /dev/null
+++ b/community/opensips/opensips.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=OpenSIPS daemon
+After=network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=forking
+PIDFile=/run/opensips.pid
+ExecStart=/usr/bin/opensips -f /etc/opensips/opensips.cfg -w /var/tmp -P /run/opensips.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/opensmtpd/PKGBUILD b/community/opensmtpd/PKGBUILD
new file mode 100644
index 000000000..e56eebe63
--- /dev/null
+++ b/community/opensmtpd/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 93322 2013-07-01 22:20:09Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgname=opensmtpd
+pkgver=5.3.3p1
+pkgrel=1
+pkgdesc='Free implementation of the server-side SMTP protocol'
+arch=('i686' 'x86_64')
+url='http://www.opensmtpd.org/'
+license=('custom')
+depends=('libevent')
+provides=('smtp-server' 'smtp-forwarder')
+conflicts=('smtp-server' 'smtp-forwarder')
+backup=('etc/smtpd/smtpd.conf' 'etc/smtpd/aliases')
+install=opensmtpd.install
+source=("http://www.opensmtpd.org/archives/$pkgname-$pkgver.tar.gz"
+ 'smtpd.service'
+ 'smtpd.socket')
+md5sums=('795982f9b0b45c7645f897ba2ead0024'
+ 'a278f272d97a9fe5a8aac784a7c98d67'
+ 'c2c01e9ca78df3f65efe40a7c0e17ee0')
+
+prepare() {
+ cd $pkgname-$pkgver
+ sed -i 's,etc/aliases,etc/smtpd/aliases,' smtpd/smtpd.conf
+ # regen configure. don't use bootstrap script (doesn't support automake 1.14)
+ libtoolize --copy --force
+ aclocal -I m4
+ autoconf
+ autoheader
+ automake --foreign --add-missing --copy
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc/smtpd \
+ --sbindir=/usr/bin \
+ --libexecdir=/usr/bin \
+ --with-maildir=/var/spool/mail \
+ --with-privsep-path=/var/empty \
+ --with-sock-dir=/run \
+ --with-privsep-user=smtpd \
+ --with-lookup-user=smtpd \
+ --with-queue-user=smtpq \
+ --with-filter-user=smtpf \
+ --with-pam
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+ # license
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ # working directory
+ cd "$pkgdir"
+ install -dm711 var/spool/smtpd
+ install -Dm644 "$srcdir/smtpd.service" usr/lib/systemd/system/smtpd.service
+ install -Dm644 "$srcdir/smtpd.socket" usr/lib/systemd/system/smtpd.socket
+ # remove duplicate hardlink into a subfolder
+ rm -vr usr/bin/opensmtpd
+ # empty aliases file (used by default config)
+ install -Dm644 /dev/null "$pkgdir/etc/smtpd/aliases"
+ # fake sendmail binary (used to be smtp-forwarder)
+ # use hardlink as upstream does
+ cd "$pkgdir/usr/bin"
+ ln smtpctl "$pkgdir/usr/bin/sendmail"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/opensmtpd/opensmtpd.install b/community/opensmtpd/opensmtpd.install
new file mode 100644
index 000000000..48366c15c
--- /dev/null
+++ b/community/opensmtpd/opensmtpd.install
@@ -0,0 +1,29 @@
+# arg 1: the new package version
+post_install() {
+ # create users
+ getent passwd smtpd >/dev/null || useradd -d / -u 91 -g 1 smtpd
+ getent passwd smtpq >/dev/null || useradd -d /var/spool/smtpd -u 92 -g 1 smtpq
+ getent passwd smtpf >/dev/null || useradd -d / -u 93 -g 1 smtpf
+ # initialise aliase db
+ #[[ -e /etc/smtpd/aliases.db ]] || makemap -t aliases /etc/smtpd/aliases
+ true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install "$1"
+ if (( $(vercmp $2 5.3.3p1-1) < 0 )); then
+ echo 'Configuration files have been moved to /etc/smtpd.'
+ echo 'New users have been added.'
+ echo 'Check your configuration!'
+ fi
+}
+
+# arg 1: the old package version
+post_remove() {
+ for _u in smtpd smtpq smtpf; do userdel -f "$_u"; done
+ true
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/opensmtpd/smtpd.service b/community/opensmtpd/smtpd.service
new file mode 100644
index 000000000..0ad21825c
--- /dev/null
+++ b/community/opensmtpd/smtpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=OpenSMTPD
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/smtpd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/opensmtpd/smtpd.socket b/community/opensmtpd/smtpd.socket
new file mode 100644
index 000000000..5d1d105cb
--- /dev/null
+++ b/community/opensmtpd/smtpd.socket
@@ -0,0 +1,8 @@
+[Unit]
+Description=OpenSMTPD Socket
+
+[Socket]
+ListenStream=/run/smtpd.sock
+
+[Install]
+WantedBy=sockets.target
diff --git a/community/openssh-askpass/PKGBUILD b/community/openssh-askpass/PKGBUILD
new file mode 100644
index 000000000..feae299a7
--- /dev/null
+++ b/community/openssh-askpass/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Previous Maintainer: TDY <tdy@gmx.com>
+# Contributor: Massimiliano Torromeo <Massimiliano.Torromeo AT gmail DOT com>
+
+pkgname=openssh-askpass
+pkgver=2.0.0
+pkgrel=2
+pkgdesc='A plasma-like passphrase dialog for ssh'
+arch=('i686' 'x86_64')
+url='http://www.phenix.bnl.gov/WWW/publish/hpereira/software/index.php?page=package&package_list=software_list_qt4&package=openssh-askpass&full=1'
+license=('GPL')
+depends=('openssh' 'qt4')
+makedepends=('cmake')
+provides=('x11-ssh-askpass')
+conflicts=('x11-ssh-askpass')
+source=("http://www.phenix.bnl.gov/WWW/publish/hpereira/software/tgz/$pkgname-$pkgver.tar.gz"
+ "$pkgname.sh")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_INSTALL_PREFIX="/usr" ..
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/build"
+ make DESTDIR="$pkgdir" install
+ install -Dm755 "$srcdir/$pkgname.sh" "$pkgdir/etc/profile.d/$pkgname.sh"
+}
+
+md5sums=('99b31e5bc2c12f91cc88869661ad92be'
+ 'baec3f0499b851aca6705968fa9e0df7')
diff --git a/community/openssh-askpass/openssh-askpass.sh b/community/openssh-askpass/openssh-askpass.sh
new file mode 100644
index 000000000..6f2c2b221
--- /dev/null
+++ b/community/openssh-askpass/openssh-askpass.sh
@@ -0,0 +1 @@
+export SSH_ASKPASS=/usr/bin/qt4-ssh-askpass
diff --git a/community/openthreads/PKGBUILD b/community/openthreads/PKGBUILD
new file mode 100644
index 000000000..ff94915c2
--- /dev/null
+++ b/community/openthreads/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 66257 2012-02-23 05:29:45Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=openthreads
+pkgver=2.3.0
+pkgrel=2
+pkgdesc="A minimal & complete Object-Oriented thread interface for C++ programmers"
+arch=('i686' 'x86_64')
+url="http://openthreads.sourceforge.net"
+license=("LGPL")
+depends=('gcc-libs')
+makedepends=('cmake')
+source=(http://www.openscenegraph.org/downloads/developer_releases/OpenThreads-$pkgver.zip)
+md5sums=('ab4899c9d11e3917bd5f1401d6d0af11')
+
+build() {
+ cd "$srcdir/OpenThreads-$pkgver"
+
+ sed -i 's#-lpthreads#-lpthread#' CMakeModules/FindThreads.cmake
+ sed -i 's#SET(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}")#SET(CMAKE_REQUIRED_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")#' src/OpenThreads/pthreads/CMakeLists.txt
+
+ cmake . -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir/OpenThreads-$pkgver"
+
+ sed -i 's#lib64#lib#' src/OpenThreads/pthreads/cmake_install.cmake
+ make DESTDIR="$pkgdir" install
+
+ install -D packaging/pkg_config/openthreads.pc ${pkgdir}/usr/lib/pkgconfig/openthreads.pc
+}
diff --git a/community/openttd/PKGBUILD b/community/openttd/PKGBUILD
new file mode 100644
index 000000000..42eb89827
--- /dev/null
+++ b/community/openttd/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 92128 2013-06-01 08:22:38Z lcarlier $
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+
+pkgname=openttd
+pkgver=1.3.1
+pkgrel=1
+pkgdesc='An engine for running Transport Tycoon Deluxe.'
+arch=('i686' 'x86_64')
+url='http://www.openttd.org'
+license=('GPL')
+depends=('libpng' 'sdl' 'icu' 'fontconfig' 'lzo2' 'hicolor-icon-theme' 'desktop-file-utils' 'xz')
+install=openttd.install
+optdepends=('openttd-opengfx: free graphics'
+ 'openttd-opensfx: free soundset')
+source=("http://binaries.openttd.org/releases/${pkgver}/${pkgname}-${pkgver}-source.tar.xz")
+sha256sums=('f6cb90e0773dc7bdf01161ded03e48661a65c3f1412b192ae954215aaf26eca2')
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure \
+ --prefix-dir=/usr \
+ --binary-name=${pkgname} \
+ --binary-dir=bin \
+ --data-dir=share/${pkgname} \
+ --install-dir=${pkgdir} \
+ --doc-dir=share/doc/${pkgname} \
+ --menu-name="OpenTTD" \
+ --personal-dir=.${pkgname}
+
+ make
+ make install
+}
diff --git a/community/openttd/openttd.install b/community/openttd/openttd.install
new file mode 100644
index 000000000..85b22a1c5
--- /dev/null
+++ b/community/openttd/openttd.install
@@ -0,0 +1,17 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor > /dev/null 2>&1
+ update-desktop-database > /dev/null 2>&1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ update-desktop-database > /dev/null 2>&1
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor > /dev/null 2>&1
+ update-desktop-database > /dev/null 2>&1
+}
diff --git a/community/ophcrack/PKGBUILD b/community/ophcrack/PKGBUILD
new file mode 100644
index 000000000..f89079136
--- /dev/null
+++ b/community/ophcrack/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Max Pray a.k.a. Synthead <synthead@gmail.com>
+# Contributor: Kaos < gianlucaatlas at gmail dot com >
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+# Contributor: Matthew Sharpe <matt.sharpe@gmail.com>
+
+pkgname=ophcrack
+pkgver=3.5.0
+pkgrel=1
+pkgdesc="A free Windows password cracker based on rainbow tables"
+arch=('i686' 'x86_64')
+url="http://ophcrack.sourceforge.net"
+license=('GPL')
+depends=('qt4')
+optdepends=('qwt: enable graph')
+source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2
+ ophcrack.desktop)
+md5sums=('1c61adde21c5dc226515cbd1dc654c60'
+ '664599c4fd7fd210e6c421459f60e20d')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --enable-gui --enable-graph
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir"/ install
+
+ install -Dm644 "$srcdir"/ophcrack.desktop "$pkgdir"/usr/share/applications/ophcrack.desktop
+ install -Dm644 src/gui/pixmaps/os.xpm "$pkgdir"/usr/share/$pkgname/pixmaps/os.xpm
+}
diff --git a/community/ophcrack/ophcrack.desktop b/community/ophcrack/ophcrack.desktop
new file mode 100644
index 000000000..54d143fc8
--- /dev/null
+++ b/community/ophcrack/ophcrack.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=Ophcrack
+Comment=LM and SAM hash cracker
+Exec=ophcrack
+Icon=/usr/share/ophcrack/pixmaps/os.xpm
+Categories=Application;Utilities;System
diff --git a/community/oprofile/PKGBUILD b/community/oprofile/PKGBUILD
new file mode 100644
index 000000000..3491127be
--- /dev/null
+++ b/community/oprofile/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 85381 2013-03-01 10:36:45Z andrea $
+# Maintainer : Aaron Griffin <aaron@archlinux.org>
+
+pkgname=oprofile
+pkgver=0.9.8
+pkgrel=2
+pkgdesc='System-wide profiler for Linux systems'
+arch=('i686' 'x86_64')
+url="http://oprofile.sourceforge.net"
+license=('GPL')
+depends=('popt' 'gcc-libs' 'zlib' 'sh')
+makedepends=('qt4')
+optdepends=('qt4: for oprof_start gui')
+options=('!libtool')
+install=oprofile.install
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
+sha1sums=('28416b853641f913e5f90954f2e3837efd96f6cd')
+
+build() {
+ . /etc/profile.d/qt4.sh
+
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --with-kernel-support --with-x --enable-gui=qt4
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -d "$pkgdir/var/lib/oprofile"
+
+# installing development libraries and headers - FS#20089
+ install -d "$pkgdir/usr/include/oprofile"
+ install -m644 config.h libop/op_*.h libregex/op_*.h libdb/odb.h \
+ libpp/{locate_images.h,image_errors.h} libutil/op_*.h \
+ libutil++/{op_*.h,bfd_support.h,utility.h,cached_value.h} "$pkgdir/usr/include/oprofile"
+ install -m644 libop/libop.a libdb/libodb.a "$pkgdir/usr/lib/"
+ install -m644 libabi/libabi.a "$pkgdir/usr/lib/libopabi.a"
+ install -m644 libutil/libutil.a "$pkgdir/usr/lib/liboputil.a"
+ install -m644 libutil++/libutil++.a "$pkgdir/usr/lib/liboputil++.a"
+}
diff --git a/community/oprofile/oprofile.install b/community/oprofile/oprofile.install
new file mode 100644
index 000000000..5cd3e7e22
--- /dev/null
+++ b/community/oprofile/oprofile.install
@@ -0,0 +1,21 @@
+post_install(){
+ groupadd -g 492 oprofile &>/dev/null
+ useradd -u 492 -g oprofile -d /var/lib/oprofile -s /bin/false oprofile &>/dev/null
+}
+
+post_upgrade(){
+ getent group oprofile >/dev/null 2>&1 || groupadd -g 492 oprofile &>/dev/null
+ getent passwd oprofile >/dev/null 2>&1 || useradd -u 492 -g oprofile -d /var/lib/oprofile -s /bin/false oprofile &>/dev/null
+ if [ "$(vercmp $2 0.9.7-2)" -lt 0 ] ; then
+ usermod -d /var/lib/oprofile oprofile
+ fi
+}
+
+post_remove(){
+ if getent passwd oprofile >/dev/null 2>&1; then
+ userdel oprofile
+ fi
+ if getent group oprofile >/dev/null 2>&1; then
+ groupdel oprofile
+ fi
+}
diff --git a/community/optipng/PKGBUILD b/community/optipng/PKGBUILD
new file mode 100644
index 000000000..59583d22b
--- /dev/null
+++ b/community/optipng/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 79534 2012-11-06 20:25:17Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Aaron Schaefer <aaron@elasticdog.com>
+
+pkgname=optipng
+pkgver=0.7.4
+pkgrel=1
+pkgdesc='Compresses PNG files to a smaller size, without losing any information.'
+arch=('i686' 'x86_64')
+url='http://optipng.sourceforge.net/'
+license=('ZLIB')
+depends=('glibc')
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('8853d89aaf859065e95dcdf98b6bed73')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make prefix="$pkgdir/usr" mandir="$pkgdir/usr/share/man" install
+
+ # install license
+ install -Dm0644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/opus-tools/PKGBUILD b/community/opus-tools/PKGBUILD
new file mode 100644
index 000000000..b711af87f
--- /dev/null
+++ b/community/opus-tools/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 81947 2013-01-04 06:03:54Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Michael Düll <mail@akurei.me>
+# Contributor: pumbur
+
+pkgname=opus-tools
+pkgver=0.1.6
+pkgrel=1
+pkgdesc='Collection of tools for Opus audio codec'
+arch=('i686' 'x86_64')
+url='http://wiki.xiph.org/Opus-tools'
+license=('BSD')
+depends=('opus' 'libogg')
+source=(http://downloads.xiph.org/releases/opus/$pkgname-$pkgver.tar.gz)
+
+build(){
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums=('547828082c4838643eeda513f65316b60b0e44c4a0826ef39cbfa3fe81df71b30651c03ceee7729aeb74258c259014bf95ca5f01aba097a4de8334e58c8e7ce6')
diff --git a/community/opusfile/PKGBUILD b/community/opusfile/PKGBUILD
new file mode 100644
index 000000000..d7a625073
--- /dev/null
+++ b/community/opusfile/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 81936 2013-01-03 21:13:51Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: DrZaius <lou[at]fakeoutdoorsman[dot]com>
+
+pkgname=opusfile
+pkgver=0.2
+pkgrel=2
+pkgdesc='Library for opening, seeking, and decoding .opus files'
+arch=('i686' 'x86_64')
+url='http://www.opus-codec.org/'
+license=('custom')
+depends=('libogg' 'openssl' 'opus')
+options=('!libtool')
+source=(http://downloads.xiph.org/releases/opus/${pkgname}-${pkgver}.tar.gz)
+md5sums=('454375f51fb2f84bef9bf2fbf9535bb1')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/opusfile/LICENSE
+}
diff --git a/community/orange/PKGBUILD b/community/orange/PKGBUILD
new file mode 100644
index 000000000..f013122aa
--- /dev/null
+++ b/community/orange/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 66258 2012-02-23 05:30:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=orange
+pkgver=0.4
+pkgrel=4
+pkgdesc="a helper tool for synce"
+arch=('i686' 'x86_64')
+url="http://synce.sourceforge.net/"
+license=("GPL")
+depends=('dynamite' 'synce-libsynce' 'file' 'unshield')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/synce/liborange-$pkgver.tar.gz)
+md5sums=('40e9ac3de389c74a60007f7493e072a5')
+
+build() {
+ cd $srcdir/liborange-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/os-prober/PKGBUILD b/community/os-prober/PKGBUILD
new file mode 100644
index 000000000..e3af2e380
--- /dev/null
+++ b/community/os-prober/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 92922 2013-06-19 10:19:18Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: darkcoder <mario_vazq@hotmail.com>
+
+pkgname=os-prober
+pkgver=1.58
+pkgrel=1
+pkgdesc="Utility to detect other OSes on a set of drives"
+url="http://joey.kitenet.net/code/os-prober/"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('sh')
+source=(ftp://ftp.debian.org/debian/pool/main/o/${pkgname}/${pkgname}_${pkgver}.tar.gz)
+md5sums=('11406f47d9536bccb655456d6d92d111')
+sha256sums=('db1d936c0356e7a7c2dab5e9aebdf4132e745fd2972ba5016ed6690a0445ea93')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # adjust lib dir to allow detection of 64-bit distros
+ sed -i -e "s:/lib/ld\*\.so\*:/lib*/ld*.so*:g" os-probes/mounted/common/90linux-distro
+
+ rm -f Makefile
+ make newns
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm755 linux-boot-prober "$pkgdir"/usr/bin/linux-boot-prober
+ install -Dm755 os-prober "$pkgdir"/usr/bin/os-prober
+ install -Dm755 newns "$pkgdir"/usr/lib/os-prober/newns
+ install -Dm755 common.sh $pkgdir/usr/share/os-prober/common.sh
+
+ for dir in os-probes os-probes/mounted os-probes/init linux-boot-probes linux-boot-probes/mounted; do
+ install -dm755 "$pkgdir/usr/lib/$dir"
+ install -m755 -t "$pkgdir/usr/lib/$dir" "$dir"/common/*
+ [[ -d "$dir"/x86 ]] && cp -r "$dir"/x86/* "$pkgdir/usr/lib/$dir"
+ done
+
+ install -Dm755 os-probes/mounted/powerpc/20macosx "$pkgdir"/usr/lib/os-probes/mounted/20macosx
+
+ install -dm755 "$pkgdir"/var/lib/os-prober
+}
diff --git a/community/osdbattery/PKGBUILD b/community/osdbattery/PKGBUILD
new file mode 100644
index 000000000..1d2da5715
--- /dev/null
+++ b/community/osdbattery/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 76967 2012-10-02 18:09:45Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: dibblethewrecker <dibblethewrecker@jiwe.org>
+
+pkgname=osdbattery
+pkgver=1.4
+pkgrel=5
+pkgdesc="Displays battery information in the OSD style"
+arch=('i686' 'x86_64')
+url="http://osdbattery.sourceforge.net/"
+license=('GPL2')
+depends=('xosd')
+makedepends=('patch')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}_${pkgver}.tar.gz
+ sysfs.patch::"http://sourceforge.net/tracker/download.php?group_id=120528&atid=687314&file_id=429967&aid=3450277"
+ showbatt)
+sha256sums=('b1f775c746cd78b6aa7fc9ee75ecf2806ef3da93a42dd806c0414dcae55aed9f'
+ 'd7a00e918929d36aaf3eb398649ea070ed6c4840e3da2407226fc5d9ae15d776'
+ '69969053235642315b49fe6ea5df7f8c391befbf492fd4ff71afbf4d438333b2')
+
+build() {
+ cd ${srcdir}/${pkgname}_${pkgver}
+
+ patch -i ${srcdir}/sysfs.patch
+
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}_${pkgver}
+
+ install -D -m755 $pkgname ${pkgdir}/usr/bin/${pkgname}
+ install -D -m755 ${srcdir}/showbatt ${pkgdir}/usr/bin/showbatt
+ install -D -m644 $pkgname.cfg ${pkgdir}/etc/${pkgname}/${pkgname}.cfg
+}
diff --git a/community/osdbattery/osdbattery.install b/community/osdbattery/osdbattery.install
new file mode 100644
index 000000000..7c1294e9c
--- /dev/null
+++ b/community/osdbattery/osdbattery.install
@@ -0,0 +1,9 @@
+post_install() {
+ echo " : Remember to copy /etc/osdbattery/osdbattery.cfg to a ".osdbattery" directory in your home dir"
+ echo " : mkdir ~/.osdbattery"
+ echo " : cp /etc/osdbattery/osdbattery.cfg ~/.osdbattery"
+ echo
+ echo " : The /usr/bin/showbatt script can be bound to a key combo to"
+ echo " : easily show and hide the monitor"
+}
+
diff --git a/community/osdbattery/showbatt b/community/osdbattery/showbatt
new file mode 100644
index 000000000..440de592c
--- /dev/null
+++ b/community/osdbattery/showbatt
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# osdbattery start/stop script - best bound to a keyboard combo
+
+PID=`pidof -o %PPID /usr/bin/osdbattery`
+if [ -z "$PID" ] ; then
+ /usr/bin/osdbattery &
+ echo $PID > /var/run/osdbattery.pid
+elif [ ! -z "$PID" ] ; then
+ kill $PID &> /dev/null
+ rm /var/run/osdbattery.pid
+fi
diff --git a/community/osdlyrics/PKGBUILD b/community/osdlyrics/PKGBUILD
new file mode 100644
index 000000000..10e36f4c7
--- /dev/null
+++ b/community/osdlyrics/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 81442 2012-12-21 03:27:19Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Auguste Pop <auguste [at] gmail [dot] com>
+
+pkgname=osdlyrics
+pkgver=0.4.3
+pkgrel=2
+pkgdesc="A lyric show compatible with various media players"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/osd-lyrics/"
+license=('GPL3')
+depends=('gtk2' 'dbus-glib' 'curl' 'libnotify' 'libmpd' 'xmms2'
+ 'desktop-file-utils' 'hicolor-icon-theme')
+makedepends=('intltool')
+install=$pkgname.install
+source=("http://osd-lyrics.googlecode.com/files/$pkgname-$pkgver.tar.gz")
+md5sums=('a14a3fbfe07eb7137074126db63b9aa2')
+
+build()
+{
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package()
+{
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/osdlyrics/osdlyrics.install b/community/osdlyrics/osdlyrics.install
new file mode 100644
index 000000000..54854a1fe
--- /dev/null
+++ b/community/osdlyrics/osdlyrics.install
@@ -0,0 +1,15 @@
+post_upgrade()
+{
+ usr/bin/update-desktop-database -q
+ usr/bin/gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_install()
+{
+ post_upgrade
+}
+
+post_remove()
+{
+ post_upgrade
+}
diff --git a/community/osec/PKGBUILD b/community/osec/PKGBUILD
new file mode 100644
index 000000000..a7c83c131
--- /dev/null
+++ b/community/osec/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 66262 2012-02-23 05:34:27Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=osec
+pkgver=1.2.3
+pkgrel=2
+pkgdesc="lightweight integrity checking system"
+arch=(i686 x86_64)
+url="http://o-security.sourceforge.net/"
+license=("GPL")
+makedepends=(help2man tinycdb)
+depends=(cdbxx libcap openssl perl)
+install=osec.install
+backup=(etc/osec/dirs.conf
+ etc/osec/pipe.conf)
+source=(https://downloads.sourceforge.net/project/o-security/o-security/$pkgver/osec-$pkgver.tar.gz)
+md5sums=('b7f3612e58c7b0ff379a8ee6b79c725c')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc/osec
+ make
+ make DESTDIR=$pkgdir install
+ mv $pkgdir/usr/share/pipe.conf $pkgdir/etc/osec/pipe.conf
+ mkdir -p $pkgdir/usr/share/osec
+ mv $pkgdir/usr/share/osec.cron $pkgdir/usr/share/osec/
+ install -d -m 0755 $pkgdir/var/lib/osec
+}
diff --git a/community/osec/osec.install b/community/osec/osec.install
new file mode 100644
index 000000000..6d16f9444
--- /dev/null
+++ b/community/osec/osec.install
@@ -0,0 +1,16 @@
+post_install() {
+ groupadd osecgroup
+ useradd -G osecgroup -d /var/lib/osec osec
+ chown -R osec.osecgroup /var/lib/osec
+ echo "-- Use osec -D /var/lib/osec -u osec -g osecgroup -f /etc/osec/dirs.conf | osec_reporter"
+}
+
+post_upgrade() {
+ chown -R osec.osecgroup /var/lib/osec
+ echo "-- Use osec -D /var/lib/osec -u osec -g osecgroup -f /etc/osec/dirs.conf | osec_reporter"
+}
+
+post_remove() {
+ userdel osec
+ groupdel osecgroup
+}
diff --git a/community/osiris/ChangeLog b/community/osiris/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/osiris/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/osiris/PKGBUILD b/community/osiris/PKGBUILD
new file mode 100644
index 000000000..163ed50ab
--- /dev/null
+++ b/community/osiris/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 91866 2013-05-28 17:38:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: jlvsimoes
+
+pkgname=osiris
+pkgver=4.2.3
+pkgrel=7
+pkgdesc="A file integrity management system"
+arch=('i686' 'x86_64')
+url="http://osiris.shmoo.com/"
+license=('custom')
+depends=('openssl' 'readline')
+install=$pkgname.install
+#source=(http://osiris.shmoo.com/data/osiris-$pkgver.tar.gz
+source=(http://arch.p5n.pp.ru/~sergej/dl/2011/osiris-$pkgver.tar.gz
+ osirismd.service
+ osirisd.service)
+md5sums=('1951c7dc0fe729af9ffaf58910340d12'
+ '8398d60bcbf0c90034473365abc3ece6'
+ '758d029a1ff53be11756330de595e77f')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ sed -i "s|/sbin|/bin|g" src/install/install.sh.in
+
+ ./configure --prefix=/usr --sbindir=/usr/bin \
+ --enable-fancy-cli --with-md-root-dir=/usr/share/$pkgname
+ make all
+
+ # Arch-ify install locations
+ sed -i "s|^INSTALL_OSIRISM=0|INSTALL_OSIRISM=1|" src/install/install.sh
+ sed -i "s|^INSTALL_OSIRISD=0|INSTALL_OSIRISD=1|" src/install/install.sh
+ sed -i "s|^ROOT_GROUP=wheel|ROOT_GROUP=root|" src/install/install.sh
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ mkdir -p $pkgdir/usr/share/licenses/$pkgname/
+ install -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/license.txt
+
+ make DESTDIR=$pkgdir install
+
+ rm -rf $pkgdir/usr/osiris $pkgdir/etc/init.d
+
+ install -Dm0644 $srcdir/osirisd.service $pkgdir/usr/lib/systemd/system/osirisd.service
+ install -Dm0644 $srcdir/osirismd.service $pkgdir/usr/lib/systemd/system/osirismd.service
+}
diff --git a/community/osiris/osiris.install b/community/osiris/osiris.install
new file mode 100644
index 000000000..24497d8fd
--- /dev/null
+++ b/community/osiris/osiris.install
@@ -0,0 +1,17 @@
+post_install() {
+ if [ ! `grep osiris etc/group` ]; then
+ groupadd -g 18 osiris &>/dev/null;
+ fi
+
+ id osiris &>/dev/null || \
+ useradd -u 18 -g osiris -d /var/lib/osiris -s /bin/false osiris
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ userdel osiris &> /dev/null
+ groupdel osiris &> /dev/null
+}
diff --git a/community/osiris/osirisd.service b/community/osiris/osirisd.service
new file mode 100644
index 000000000..3b162160f
--- /dev/null
+++ b/community/osiris/osirisd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=A file integrity management system
+
+[Service]
+User=osiris
+Type=forking
+ExecStart=/usr/bin/osirisd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/osiris/osirismd.service b/community/osiris/osirismd.service
new file mode 100644
index 000000000..ec4c40702
--- /dev/null
+++ b/community/osiris/osirismd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=A file integrity management system
+
+[Service]
+User=osiris
+Type=forking
+ExecStart=/usr/bin/osirismd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/osmo/ChangeLog b/community/osmo/ChangeLog
new file mode 100644
index 000000000..d6c25b63f
--- /dev/null
+++ b/community/osmo/ChangeLog
@@ -0,0 +1,12 @@
+2010-04-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#18941 solved
+
+2010-04-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.2.10
+
+2009-03-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#13879 solved
+
+2009-03-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Updated to major version 0.2.6
+
diff --git a/community/osmo/PKGBUILD b/community/osmo/PKGBUILD
new file mode 100644
index 000000000..d63f21c05
--- /dev/null
+++ b/community/osmo/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 90853 2013-05-14 21:40:39Z andrea $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: Benzo <mb_benzo@yahoo.es>
+
+pkgname=osmo
+pkgver=0.2.10
+pkgrel=8
+pkgdesc="A handy personal organizer"
+arch=('i686' 'x86_64')
+url="http://clayo.org/osmo/"
+license=('GPL')
+depends=('gtk2>=2.12' 'gtkspell' 'hicolor-icon-theme' 'libical' 'libnotify' 'libgtkhtml' 'libgringotts>=1.2.1' 'libxml2')
+makedepends=('pkgconfig' 'libtar')
+optdepends=('sox: to play sounds')
+install=$pkgname.install
+source=("http://downloads.sourceforge.net/osmo-pim/$pkgname-$pkgver.tar.gz"
+ 'osmo-0.2.10-libnotify-0.7.patch')
+md5sums=('a774db748228efee96186158d553ade9'
+ '0b146a548f2d3208dc88e6501a8f3448')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np0 -i "$srcdir/osmo-0.2.10-libnotify-0.7.patch"
+
+ #libical 0.4.4 workaround
+ LIBICAL_CFLAGS='-I/usr/include/libical' ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/osmo/osmo-0.2.10-libnotify-0.7.patch b/community/osmo/osmo-0.2.10-libnotify-0.7.patch
new file mode 100644
index 000000000..d626ba2f1
--- /dev/null
+++ b/community/osmo/osmo-0.2.10-libnotify-0.7.patch
@@ -0,0 +1,48 @@
+http://pkgs.fedoraproject.org/gitweb/?p=osmo.git;a=blob_plain;f=osmo-0.2.10-libnotify-0.7.0.patch;hb=HEAD
+
+--- src/check_events.c
++++ src/check_events.c
+@@ -454,9 +454,9 @@
+ a->date = 0;
+
+ if (textdesc != NULL)
+- a->notify = notify_notification_new (item->summary, textdesc, GTK_STOCK_DIALOG_WARNING, NULL);
++ a->notify = notify_notification_new (item->summary, textdesc, GTK_STOCK_DIALOG_WARNING);
+ else
+- a->notify = notify_notification_new (item->summary, text, GTK_STOCK_DIALOG_WARNING, NULL);
++ a->notify = notify_notification_new (item->summary, text, GTK_STOCK_DIALOG_WARNING);
+
+ g_free (textdesc);
+ g_free (text);
+@@ -483,9 +483,6 @@
+ #endif /* HAVE_LIBNOTIFY */
+
+ if (gtk_status_icon_get_visible (appGUI->osmo_trayicon)) {
+-#ifdef HAVE_LIBNOTIFY
+- notify_notification_attach_to_status_icon (a->notify, appGUI->osmo_trayicon);
+-#endif /* HAVE_LIBNOTIFY */
+ gtk_status_icon_set_from_stock (appGUI->osmo_trayicon, OSMO_STOCK_SYSTRAY_TASK);
+
+ if (config.blink_on_events) {
+@@ -532,9 +529,9 @@
+ a->time = -1;
+ a->date = 0;
+ if (textdesc != NULL)
+- a->notify = notify_notification_new (_("Alarm warning!"), textdesc, GTK_STOCK_DIALOG_INFO, NULL);
++ a->notify = notify_notification_new (_("Alarm warning!"), textdesc, GTK_STOCK_DIALOG_INFO);
+ else
+- a->notify = notify_notification_new (_("Alarm warning!"), text, GTK_STOCK_DIALOG_INFO, NULL);
++ a->notify = notify_notification_new (_("Alarm warning!"), text, GTK_STOCK_DIALOG_INFO);
+
+ notify_notification_set_timeout (a->notify, NOTIFY_EXPIRES_NEVER);
+ notify_notification_set_urgency (a->notify, NOTIFY_URGENCY_NORMAL);
+@@ -545,9 +542,6 @@
+ #endif /* HAVE_LIBNOTIFY */
+
+ if (gtk_status_icon_get_visible (appGUI->osmo_trayicon)) {
+-#ifdef HAVE_LIBNOTIFY
+- notify_notification_attach_to_status_icon (a->notify, appGUI->osmo_trayicon);
+-#endif /* HAVE_LIBNOTIFY */
+ gtk_status_icon_set_from_stock (appGUI->osmo_trayicon, OSMO_STOCK_SYSTRAY_TASK);
+
+ if (config.blink_on_events) {
diff --git a/community/osmo/osmo.install b/community/osmo/osmo.install
new file mode 100644
index 000000000..66b9463d4
--- /dev/null
+++ b/community/osmo/osmo.install
@@ -0,0 +1,12 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
diff --git a/community/ozerocdoff/PKGBUILD b/community/ozerocdoff/PKGBUILD
new file mode 100644
index 000000000..aa5cb4031
--- /dev/null
+++ b/community/ozerocdoff/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 91884 2013-05-28 18:09:59Z spupykin $
+# Maintainer: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+
+pkgname=ozerocdoff
+pkgver=2
+pkgrel=8
+pkgdesc="Userspace driver for Option High Speed Mobile Devices"
+arch=('i686' 'x86_64')
+url="http://www.pharscape.org/ozerocdoff.html"
+depends=('bash' 'libusb-compat')
+license=('GPL2')
+options=('!emptydirs')
+source=(udev.tar.gz::"http://www.pharscape.org/forum/index.php?action=dlattach;topic=545.0;attach=4"
+ "remove-old-rules.patch")
+md5sums=('88a78f9380d9591f8d20a657b72e3e5c'
+ '28ed1afd16fdec92de3baf66b32b0b12')
+
+prepare() {
+ cd "${srcdir}/udev"
+ patch -p1 <$srcdir/remove-old-rules.patch
+ sed -i 's|usr/sbin|usr/bin|g' Makefile
+}
+
+build() {
+ cd "${srcdir}/udev"
+ make clean
+ make
+}
+
+package() {
+ cd "${srcdir}/udev"
+ make DESTDIR="${pkgdir}" install
+ rm -rf $pkgdir/usr/lib/hal
+ rm -rf $pkgdir/usr/share/hal
+ mkdir -p $pkgdir/usr/lib
+ mv $pkgdir/etc/udev $pkgdir/usr/lib
+}
diff --git a/community/ozerocdoff/remove-old-rules.patch b/community/ozerocdoff/remove-old-rules.patch
new file mode 100644
index 000000000..3a95877e2
--- /dev/null
+++ b/community/ozerocdoff/remove-old-rules.patch
@@ -0,0 +1,79 @@
+diff -wbBur udev/hso.udev udev.my/hso.udev
+--- udev/hso.udev 2008-06-19 14:34:07.000000000 +0400
++++ udev.my/hso.udev 2012-01-07 15:31:02.000000000 +0400
+@@ -1,8 +1,5 @@
+ ACTION!="add", GOTO="hso_end"
+
+-# Syntax switch, need possibly for upcoming Distros
+-ATTR{dev}!="?*", GOTO="hso_old_syntax"
+-
+ ############################### NEW SYNTAX ###############################
+
+ LABEL="hso_new_syntax"
+@@ -63,65 +60,11 @@
+ SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTR{hsotype}=="PCSC", SYMLINK+="wpcsc0"
+ GOTO="hso_tty_permission"
+
+-
+-############################### OLD SYNTAX ###############################
+-
+-LABEL="hso_old_syntax"
+-#RUN+="/binb/touch /tmp/udev-syntax-old"
+-
+-# enable Selective suspend in USB core system by a helper script
+-SUBSYSTEM=="usb", SYSFS{idVendor}=="0af0", SYSFS{bDeviceClass}=="ff", RUN+="/usr/sbin/osetsuspend udev %k"
+-
+-# send rezero command via ozerocdoff, which uses usblib for all known ZCOPTION devices, supported by bundled driver
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="6711", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="6731", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="6751", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="6771", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="6791", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="6811", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="6911", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="6951", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="6971", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7011", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7031", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7051", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7071", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7111", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7211", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7251", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7271", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7311", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="c031", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="d031", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="d033", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7301", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7361", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7401", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7501", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0af0", SYSFS{idProduct}=="7601", SYSFS{bDeviceClass}=="00", RUN+="/usr/sbin/ozerocdoff -wi 0x%s{idProduct}"
+-# Note SYSTEMS and ATTRS is not supported by udev from Xandros/EeePC
+-
+-# add device node links to all possible device
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="Control", SYMLINK+="wctrl0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="Application", SYMLINK+="wapp0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="Application", SYMLINK+="wappa0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="Application2",SYMLINK+="wappb0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="Diagnostic", SYMLINK+="wdiag0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="Diagnostic", SYMLINK+="wdiaga0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="Diagnostic2", SYMLINK+="wdiagb0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="Modem", SYMLINK+="wmodem0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="GPS", SYMLINK+="wgps0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="GPS_Control", SYMLINK+="wgpsc0"
+-SUBSYSTEM=="tty", SYSFS{hsotype}=="PCSC", SYMLINK+="wpcsc0"
+-# Note use here SYSFS instead of ATTR to be compatible to Xandros/EeePC
+-# Note use no extra check for SUBSYSTEMS=="usb", ATTRS{DRIVERS}="hso", because it is not supported by Xandros/EeePC
+-
+-
+ ############################### COMMON SYNTAX ###############################
+
+ LABEL="hso_tty_permission"
+ # setup group proper group rights
+-KERNEL=="ttyHS[0-9]*", NAME="%k", GROUP="dialout", MODE="0660"
++KERNEL=="ttyHS[0-9]*", GROUP="network", MODE="0660"
+
+
+ SUBSYSTEM!="usb", GOTO="hso_end"
diff --git a/community/p2c/PKGBUILD b/community/p2c/PKGBUILD
new file mode 100644
index 000000000..0a22bcdef
--- /dev/null
+++ b/community/p2c/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 66145 2012-02-23 02:13:19Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: tardo <tardo@nagi-fanboi.net>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=p2c
+pkgver=1.21alpha2
+pkgrel=10
+pkgdesc="pascal to c/c++ converter"
+arch=('i686' 'x86_64')
+url="http://packages.debian.org/sid/p2c"
+license=('GPL')
+depends=('perl')
+# http://ftp.debian.org/debian/pool/main/p/p2c/p2c_$pkgver-3.diff.gz)
+source=(http://www.ccrnp.ncifcrf.gov/~toms/p2c/p2c-$pkgver.tar.gz)
+md5sums=('8340429ae80be2e0e82c01f70c0355bb')
+
+build() {
+ cd $srcdir
+# patch -Np1 <../p2c_$pkgver-3.diff
+
+ cd src
+ sed -i 's#getline#xgetline#' *.c *.hdrs
+ make \
+ BINDIR=/usr/bin \
+ MANDIR=/usr/share/man/man1 \
+ LIBDIR=/usr/lib \
+ HOMEDIR=/usr/lib/p2c \
+ INCDIR=/usr/include/p2c \
+ ABSHOMEDIR=/usr/lib/p2c \
+ ABSLIBDIR=/usr/lib \
+ ABSINCDIR=/usr/include/p2c
+
+ mkdir -p $pkgdir/usr/bin \
+ $pkgdir/usr/share/man/man1 \
+ $pkgdir/usr/lib \
+ $pkgdir/usr/include/p2c
+ make install \
+ BINDIR=$pkgdir/usr/bin \
+ MANDIR=$pkgdir/usr/share/man/man1 \
+ LIBDIR=$pkgdir/usr/lib \
+ HOMEDIR=$pkgdir/usr/lib/p2c \
+ INCDIR=$pkgdir/usr/include/p2c \
+ ABSHOMEDIR=$pkgdir/usr/lib/p2c \
+ ABSLIBDIR=$pkgdir/usr/lib \
+ ABSINCDIR=$pkgdir/usr/include/p2c
+}
diff --git a/community/p3scan/PKGBUILD b/community/p3scan/PKGBUILD
new file mode 100644
index 000000000..17039ff9b
--- /dev/null
+++ b/community/p3scan/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 91863 2013-05-28 17:37:47Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: v01d <phreakuencies@gmail.com>
+
+pkgname=p3scan
+pkgver=2.3.2
+pkgrel=9
+pkgdesc="Fully transparent POP3/SMTP proxy with Anti-Virus and SPAM protection"
+arch=('i686' 'x86_64')
+url="http://p3scan.sourceforge.net/"
+depends=('pcre' 'openssl')
+license=('GPL')
+install=p3scan.install
+source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz"
+ "p3scan.service"
+ "p3scan.tmpfiles")
+md5sums=('9f8decc7d4701228788e3c8717096ca0'
+ '74a3a5e52e6714ac5001985061248a34'
+ '265a730e20e3d8aaf0cd7816dc98ca71')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # Fix CFLAGS and other options hardcoded in Makefiles
+ unset CFLAGS
+ sed -ri "s|^CFLAGS=-Wall( -g)? -O2|CFLAGS=-Wall $CFLAGS|" Makefile ripmime/Makefile ripmime/tnef/Makefile ripmime/ripOLE/Makefile
+ sed -ri 's|^LOCATION=.+$|LOCATION=/usr|' ripmime/Makefile
+ sed -ri 's|\$\(SYSINS\) -v -m 550 --strip p3scan \$\(PREFIX\)/sbin/|$(SYSINS) -D -v -m 550 --strip p3scan $(DESTDIR)/usr/bin/|' Makefile
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # Create base dirs, the Makefile assumes they're there
+ install -d $pkgdir/usr/bin $pkgdir/usr/man/man8 $pkgdir/etc/rc.d
+
+ # install with root set on $pkgdir
+ make DESTDIR=$pkgdir install
+
+ # delete init script provided and use an arch compatible one
+ rm -rf $pkgdir/etc/rc.d
+
+ # BUG?: make absolute link a relative one
+ (
+ cd $pkgdir/etc/p3scan
+ ln -sf p3scan-en.mail p3scan.mail
+ )
+
+ # BUG: fix .conf file (the license has C style comments, they should be conf-style comments)
+ sed -ri 's|^[/ ]\*/?|# |g' $pkgdir/etc/p3scan/p3scan.conf
+
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+ mv $pkgdir/usr/doc $pkgdir/usr/share/
+ rm -rf $pkgdir/var/run
+
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ install -Dm0644 $srcdir/$pkgname.tmpfiles $pkgdir/usr/lib/tmpfiles.d/$pkgname.conf
+}
diff --git a/community/p3scan/p3scan.install b/community/p3scan/p3scan.install
new file mode 100644
index 000000000..0f139dd28
--- /dev/null
+++ b/community/p3scan/p3scan.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo "==> You may want an Anti-Virus program to use with p3scan. Installing clamav is recommended."
+}
+
+post_upgrade() {
+ post_install $1 $2
+}
diff --git a/community/p3scan/p3scan.service b/community/p3scan/p3scan.service
new file mode 100644
index 000000000..bdd34b75c
--- /dev/null
+++ b/community/p3scan/p3scan.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=p3scan proxy
+
+[Service]
+Type=forking
+PIDFile=/run/p3scan/p3scan.pid
+ExecStart=/usr/bin/p3scan
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/p3scan/p3scan.tmpfiles b/community/p3scan/p3scan.tmpfiles
new file mode 100644
index 000000000..17f0a4c22
--- /dev/null
+++ b/community/p3scan/p3scan.tmpfiles
@@ -0,0 +1 @@
+d /run/p3scan 0755 root root -
diff --git a/community/packagekit/PKGBUILD b/community/packagekit/PKGBUILD
new file mode 100644
index 000000000..7dae25c99
--- /dev/null
+++ b/community/packagekit/PKGBUILD
@@ -0,0 +1,105 @@
+# $Id: PKGBUILD 90942 2013-05-16 02:47:08Z jconder $
+# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
+pkgbase='packagekit'
+pkgname=('packagekit' 'packagekit-qt2' 'python2-packagekit')
+pkgver=0.7.6
+pkgrel=10
+pkgdesc="A system designed to make installation and updates of packages easier."
+arch=('i686' 'x86_64')
+url="http://www.packagekit.org"
+license=('GPL')
+makedepends=('dbus-glib' 'gobject-introspection' 'gtk-doc' 'intltool'
+ 'networkmanager' 'pacman' 'pm-utils' 'polkit' 'python2' 'qt4'
+ 'shared-mime-info' 'sqlite' 'udev')
+options=('!libtool')
+source=("http://www.packagekit.org/releases/PackageKit-$pkgver.tar.xz"
+ 'adopt.patch'
+ 'alpm.patch'
+ 'libarchive.patch')
+sha256sums=('82c0a553075d49add3c4f58e6e93f7f3613938809a4b8e36f46476e86981b45d'
+ 'd0ee8580202a878571dddd470017731299c63e5c5120afe881bb41b9544322b8'
+ 'c7f6da04f5b8f09e6d884ae4f480c064eae10de1d2528bf14d2f55b34e472c23'
+ '0d3798c8992afdc0930aa271b3e44deb55c046ab4adee25b4ec4c33bcdd950e2')
+
+build() {
+ cd "$srcdir/PackageKit-$pkgver"
+
+ sed -i 's@SUBDIRS = test@SUBDIRS =@' 'backends/Makefile.in'
+ sed -i 's@python @python2 @' 'lib/python/packagekit/Makefile.in'
+ sed -i 's@bin/python@bin/python2@' 'lib/python/packagekit/'*.py
+
+ patch -Np1 -i "$srcdir/adopt.patch"
+ patch -Np1 -i "$srcdir/alpm.patch"
+ patch -Np1 -i "$srcdir/libarchive.patch"
+ sed -i 's@sbin_PROGRAMS@bin_PROGRAMS@' 'contrib/device-rebind/Makefile.am'
+
+ export PYTHON=/usr/bin/python2
+ ./autogen.sh --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/PackageKit \
+ --enable-strict \
+ --disable-static \
+ --disable-gtk-doc \
+ --disable-tests \
+ --disable-local \
+ --disable-browser-plugin \
+ --disable-gstreamer-plugin \
+ --disable-gtk-module \
+ --disable-command-not-found \
+ --disable-cron \
+ --disable-debuginfo-install \
+ --enable-pm-utils \
+ --disable-dummy \
+ --enable-alpm \
+ --with-default-backend=alpm
+ make -s CFLAGS='-D_FILE_OFFSET_BITS=64 -O2 -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-suggest-attribute=format'
+}
+
+package_packagekit() {
+ backup=('var/lib/PackageKit/transactions.db'
+ 'etc/PackageKit/alpm.d/pacman.conf'
+ 'etc/PackageKit/alpm.d/repos.list')
+ depends=('dbus-glib' 'pacman>=4.1.0' 'pacman<4.2.0' 'polkit'
+ 'shared-mime-info' 'sqlite' 'udev')
+ optdepends=('networkmanager')
+ install='packagekit.install'
+
+ cd "$srcdir/PackageKit-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ rm -rf "$pkgdir/usr/include/PackageKit/packagekit-qt"*
+ rm -rf "$pkgdir/usr/lib/libpackagekit-qt"*
+ rm -rf "$pkgdir/usr/lib/pkgconfig/packagekit-qt"*
+ rm -rf "$pkgdir/usr/lib/cmake"
+
+ rm -rf "$pkgdir/usr/lib/python"*
+ rm -rf "$pkgdir/usr/share/PackageKit/website"
+
+ mkdir -p "$pkgdir/usr/share/bash-completion/completions"
+ mv "$pkgdir/etc/bash_completion.d/pk-completion.bash" \
+ "$pkgdir/usr/share/bash-completion/completions/pkcon"
+ rmdir "$pkgdir/etc/bash_completion.d"
+ touch "$pkgdir/var/log/PackageKit"
+}
+
+package_packagekit-qt2() {
+ depends=('packagekit' 'qt4')
+ pkgdesc=('Qt bindings for PackageKit')
+
+ cd "$srcdir/PackageKit-$pkgver/lib/packagekit-qt2"
+
+ make DESTDIR="$pkgdir" install
+}
+
+package_python2-packagekit() {
+ depends=('packagekit' 'python2')
+ pkgdesc=('Python bindings for PackageKit')
+ conflicts=('packagekit-python')
+ replaces=('packagekit-python')
+
+ cd "$srcdir/PackageKit-$pkgver/lib/python"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/packagekit/adopt.patch b/community/packagekit/adopt.patch
new file mode 100644
index 000000000..5eaf0ea8b
--- /dev/null
+++ b/community/packagekit/adopt.patch
@@ -0,0 +1,13 @@
+diff -ru a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
+--- a/lib/packagekit-glib2/pk-client.c 2012-08-22 00:30:33.000000000 +1200
++++ b/lib/packagekit-glib2/pk-client.c 2012-08-22 19:58:44.772432269 +1200
+@@ -4898,9 +4898,6 @@
+
+ /* connect */
+ pk_client_proxy_connect (state);
+-
+- state->ret = TRUE;
+- pk_client_state_finish (state, NULL);
+ }
+
+ /**
diff --git a/community/packagekit/alpm.patch b/community/packagekit/alpm.patch
new file mode 100644
index 000000000..a15fafeb2
--- /dev/null
+++ b/community/packagekit/alpm.patch
@@ -0,0 +1,1621 @@
+diff --git a/backends/alpm/Makefile.am b/backends/alpm/Makefile.am
+index d8c3dfc..8e14790 100644
+--- a/backends/alpm/Makefile.am
++++ b/backends/alpm/Makefile.am
+@@ -23,6 +23,7 @@ DEFS = -DPK_BACKEND_CONFIG_FILE=\"$(PK_BACKEND_CONFIG_FILE)\" \
+ -DPK_BACKEND_DEFAULT_LOGFILE=\"$(PK_BACKEND_DEFAULT_LOGFILE)\" \
+ -DALPM_CACHE_PATH=\"$(ALPM_CACHE_PATH)\" \
+ -DALPM_PACKAGE_URL=\"$(ALPM_PACKAGE_URL)\" \
++ -DPK_LOG_PREFIX=\"PACKAGEKIT\" \
+ -DG_LOG_DOMAIN=\"PackageKit-alpm\"
+
+ confdir = $(PK_CONF_DIR)/alpm.d
+@@ -47,10 +48,11 @@ libpk_backend_alpm_la_SOURCES = pk-backend-alpm.c \
+ pk-backend-transaction.c \
+ pk-backend-update.c
+ libpk_backend_alpm_la_LIBADD = $(PK_PLUGIN_LIBS) \
+- -lalpm
++ $(ALPM_LIBS)
+ libpk_backend_alpm_la_LDFLAGS = -module \
+ -avoid-version
+ libpk_backend_alpm_la_CFLAGS = $(PK_PLUGIN_CFLAGS) \
++ $(ALPM_CFLAGS) \
+ $(WARNINGFLAGS_C)
+
+ EXTRA_DIST = $(conf_DATA) $(libpk_backend_alpm_la_SOURCES:.c=.h)
+diff --git a/backends/alpm/pk-backend-alpm.c b/backends/alpm/pk-backend-alpm.c
+index 5c6b629..a4cd197 100644
+--- a/backends/alpm/pk-backend-alpm.c
++++ b/backends/alpm/pk-backend-alpm.c
+@@ -284,9 +284,9 @@ pk_backend_initialize_alpm (PkBackend *self, GError **error)
+ backend = self;
+ alpm_option_set_logcb (alpm, pk_backend_logcb);
+
+- localdb = alpm_option_get_localdb (alpm);
++ localdb = alpm_get_localdb (alpm);
+ if (localdb == NULL) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "[%s]: %s", "local",
+ alpm_strerror (errno));
+ }
+diff --git a/backends/alpm/pk-backend-config.c b/backends/alpm/pk-backend-config.c
+index c8fd13b..03adb47 100644
+--- a/backends/alpm/pk-backend-config.c
++++ b/backends/alpm/pk-backend-config.c
+@@ -33,35 +33,32 @@
+
+ typedef struct
+ {
+- gboolean checkspace, ilovecandy, totaldl, usedelta, usesyslog,
+- verbosepkglists;
++ gboolean checkspace, color, ilovecandy, totaldl,
++ usesyslog, verbosepkglists;
++ gdouble deltaratio;
+
+- gchar *arch, *cleanmethod, *dbpath, *gpgdir, *logfile, *root,
+- *xfercmd;
++ gchar *arch, *cleanmethod, *dbpath, *gpgdir, *logfile,
++ *root, *xfercmd;
+
+- alpm_list_t *cachedirs, *holdpkgs, *ignoregroups, *ignorepkgs,
+- *noextracts, *noupgrades, *syncfirsts;
++ alpm_list_t *cachedirs, *holdpkgs, *ignoregroups,
++ *ignorepkgs, *localfilesiglevels, *noextracts,
++ *noupgrades, *remotefilesiglevels;
+
+- alpm_list_t *repos;
+- GHashTable *servers;
+- GHashTable *levels;
+- GRegex *xrepo, *xarch;
++ alpm_list_t *sections;
++ GRegex *xrepo, *xarch;
+ } PkBackendConfig;
+
++typedef struct
++{
++ gchar *name;
++ alpm_list_t *servers, *siglevels;
++} PkBackendConfigSection;
++
+ static PkBackendConfig *
+ pk_backend_config_new (void)
+ {
+ PkBackendConfig *config = g_new0 (PkBackendConfig, 1);
+- alpm_siglevel_t *level = g_new0 (alpm_siglevel_t, 1);
+-
+- config->servers = g_hash_table_new_full (g_str_hash, g_str_equal,
+- g_free, NULL);
+- config->levels = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
+- g_free);
+-
+- *level |= ALPM_SIG_PACKAGE | ALPM_SIG_PACKAGE_OPTIONAL;
+- *level |= ALPM_SIG_DATABASE | ALPM_SIG_DATABASE_OPTIONAL;
+- g_hash_table_insert (config->levels, g_strdup ("options"), level);
++ config->deltaratio = 0.0;
+
+ config->xrepo = g_regex_new ("\\$repo", 0, 0, NULL);
+ config->xarch = g_regex_new ("\\$arch", 0, 0, NULL);
+@@ -70,17 +67,17 @@ pk_backend_config_new (void)
+ }
+
+ static void
+-pk_backend_config_list_free (alpm_list_t *list)
++pk_backend_config_section_free (gpointer data)
+ {
+- alpm_list_free_inner (list, g_free);
+- alpm_list_free (list);
+-}
++ PkBackendConfigSection *section = data;
+
+-static gboolean
+-pk_backend_config_servers_free (gpointer repo, gpointer list, gpointer data)
+-{
+- pk_backend_config_list_free ((alpm_list_t *) list);
+- return TRUE;
++ if (section != NULL) {
++ g_free (section->name);
++ alpm_list_free_inner (section->servers, g_free);
++ alpm_list_free (section->servers);
++ FREELIST (section->siglevels);
++ g_free (section);
++ }
+ }
+
+ static void
+@@ -100,15 +97,13 @@ pk_backend_config_free (PkBackendConfig *config)
+ FREELIST (config->holdpkgs);
+ FREELIST (config->ignoregroups);
+ FREELIST (config->ignorepkgs);
++ FREELIST (config->localfilesiglevels);
+ FREELIST (config->noextracts);
+ FREELIST (config->noupgrades);
+- FREELIST (config->syncfirsts);
++ FREELIST (config->remotefilesiglevels);
+
+- pk_backend_config_list_free (config->repos);
+- g_hash_table_foreach_remove (config->servers,
+- pk_backend_config_servers_free, NULL);
+- g_hash_table_unref (config->servers);
+- g_hash_table_unref (config->levels);
++ alpm_list_free_inner (config->sections, pk_backend_config_section_free);
++ alpm_list_free (config->sections);
+
+ g_regex_unref (config->xrepo);
+ g_regex_unref (config->xarch);
+@@ -123,6 +118,14 @@ pk_backend_config_set_checkspace (PkBackendConfig *config)
+ }
+
+ static void
++pk_backend_config_set_color (PkBackendConfig *config)
++{
++ g_return_if_fail (config != NULL);
++
++ config->color = TRUE;
++}
++
++static void
+ pk_backend_config_set_ilovecandy (PkBackendConfig *config)
+ {
+ g_return_if_fail (config != NULL);
+@@ -143,7 +146,7 @@ pk_backend_config_set_usedelta (PkBackendConfig *config)
+ {
+ g_return_if_fail (config != NULL);
+
+- config->usedelta = TRUE;
++ config->deltaratio = 0.7;
+ }
+
+ static void
+@@ -171,6 +174,7 @@ typedef struct
+ /* keep this in alphabetical order */
+ static const PkBackendConfigBoolean pk_backend_config_boolean_options[] = {
+ { "CheckSpace", pk_backend_config_set_checkspace },
++ { "Color", pk_backend_config_set_color },
+ { "ILoveCandy", pk_backend_config_set_ilovecandy },
+ { "TotalDownload", pk_backend_config_set_totaldl },
+ { "UseDelta", pk_backend_config_set_usedelta },
+@@ -284,6 +288,22 @@ pk_backend_config_set_root (PkBackendConfig *config, const gchar *path)
+ }
+
+ static void
++pk_backend_config_set_deltaratio (PkBackendConfig *config, const gchar *number)
++{
++ gdouble ratio;
++ gchar *endptr;
++
++ g_return_if_fail (config != NULL);
++ g_return_if_fail (number != NULL);
++
++ ratio = g_ascii_strtod (number, &endptr);
++ /* this ignores invalid values whereas pacman reports an error */
++ if (*endptr == '\0' && 0.0 <= ratio && ratio <= 2.0) {
++ config->deltaratio = ratio;
++ }
++}
++
++static void
+ pk_backend_config_set_xfercmd (PkBackendConfig *config, const gchar *command)
+ {
+ g_return_if_fail (config != NULL);
+@@ -308,6 +328,7 @@ static const PkBackendConfigString pk_backend_config_string_options[] = {
+ { "GPGDir", pk_backend_config_set_gpgdir },
+ { "LogFile", pk_backend_config_set_logfile },
+ { "RootDir", pk_backend_config_set_root },
++ { "UseDelta", pk_backend_config_set_deltaratio },
+ { "XferCommand", pk_backend_config_set_xfercmd },
+ { NULL, NULL }
+ };
+@@ -335,102 +356,51 @@ pk_backend_config_set_string (PkBackendConfig *config, const gchar *option,
+ }
+ }
+
+-static void
+-pk_backend_config_add_holdpkg (PkBackendConfig *config, gchar *package)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (package != NULL);
+-
+- config->holdpkgs = alpm_list_add (config->holdpkgs, package);
+-}
+-
+-static void
+-pk_backend_config_add_ignoregroup (PkBackendConfig *config, gchar *group)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (group != NULL);
+-
+- config->ignoregroups = alpm_list_add (config->ignoregroups, group);
+-}
+-
+-static void
+-pk_backend_config_add_ignorepkg (PkBackendConfig *config, gchar *package)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (package != NULL);
+-
+- config->ignorepkgs = alpm_list_add (config->ignorepkgs, package);
+-}
+-
+-static void
+-pk_backend_config_add_noextract (PkBackendConfig *config, gchar *filename)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (filename != NULL);
+-
+- config->noextracts = alpm_list_add (config->noextracts, filename);
+-}
+-
+-static void
+-pk_backend_config_add_noupgrade (PkBackendConfig *config, gchar *filename)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (filename != NULL);
+-
+- config->noupgrades = alpm_list_add (config->noupgrades, filename);
+-}
+-
+-static void
+-pk_backend_config_add_syncfirst (PkBackendConfig *config, gchar *package)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (package != NULL);
+-
+- config->syncfirsts = alpm_list_add (config->syncfirsts, package);
+-}
+-
+ typedef struct
+ {
+ const gchar *name;
+- void (*func) (PkBackendConfig *config, gchar *value);
++ glong offset;
+ } PkBackendConfigList;
+
+ /* keep this in alphabetical order */
+ static const PkBackendConfigList pk_backend_config_list_options[] = {
+- { "HoldPkg", pk_backend_config_add_holdpkg },
+- { "IgnoreGroup", pk_backend_config_add_ignoregroup },
+- { "IgnorePkg", pk_backend_config_add_ignorepkg },
+- { "NoExtract", pk_backend_config_add_noextract },
+- { "NoUpgrade", pk_backend_config_add_noupgrade },
+- { "SyncFirst", pk_backend_config_add_syncfirst },
+- { NULL, NULL }
++ { "HoldPkg", G_STRUCT_OFFSET (PkBackendConfig, holdpkgs) },
++ { "IgnoreGroup", G_STRUCT_OFFSET (PkBackendConfig, ignoregroups) },
++ { "IgnorePkg", G_STRUCT_OFFSET (PkBackendConfig, ignorepkgs) },
++ { "LocalFileSigLevel", G_STRUCT_OFFSET (PkBackendConfig,
++ localfilesiglevels) },
++ { "NoExtract", G_STRUCT_OFFSET (PkBackendConfig, noextracts) },
++ { "NoUpgrade", G_STRUCT_OFFSET (PkBackendConfig, noupgrades) },
++ { "RemoteFileSigLevel", G_STRUCT_OFFSET (PkBackendConfig,
++ remotefilesiglevels) },
++ { NULL, 0 }
+ };
+
+-static void
+-pk_backend_config_list_add (PkBackendConfig *config, gsize option,
+- const gchar *list)
++static alpm_list_t *
++alpm_list_add_words (alpm_list_t *list, const gchar *words)
+ {
+ gchar *str;
+
+- for (str = strchr (list, ' '); str != NULL; str = strchr (list, ' ')) {
++ while ((str = strchr (words, ' ')) != NULL) {
+ /* allocate normally */
+- gchar *value = malloc ((++str - list) * sizeof (gchar));
+- g_strlcpy (value, list, str - list);
+- pk_backend_config_list_options[option].func (config, value);
+- list = str;
++ gchar *word = malloc ((++str - words) * sizeof (gchar));
++ g_strlcpy (word, words, str - words);
++ list = alpm_list_add (list, word);
++ words = str;
+ }
+- pk_backend_config_list_options[option].func (config, strdup (list));
++
++ return alpm_list_add (list, strdup (words));
+ }
+
+ static gboolean
+ pk_backend_config_set_list (PkBackendConfig *config, const gchar *option,
+- const gchar *list)
++ const gchar *words)
+ {
+ gsize i;
+
+ g_return_val_if_fail (config != NULL, FALSE);
+ g_return_val_if_fail (option != NULL, FALSE);
+- g_return_val_if_fail (list != NULL, FALSE);
++ g_return_val_if_fail (words != NULL, FALSE);
+
+ for (i = 0;; ++i) {
+ const gchar *name = pk_backend_config_list_options[i].name;
+@@ -439,37 +409,57 @@ pk_backend_config_set_list (PkBackendConfig *config, const gchar *option,
+ if (name == NULL || cmp < 0) {
+ return FALSE;
+ } else if (cmp == 0) {
+- pk_backend_config_list_add (config, i, list);
++ glong offset = pk_backend_config_list_options[i].offset;
++ alpm_list_t **list = G_STRUCT_MEMBER_P (config, offset);
++ *list = alpm_list_add_words (*list, words);
+ return TRUE;
+ }
+ }
+ }
+
+-static void
+-pk_backend_config_add_repo (PkBackendConfig *config, const gchar *repo)
++static gint
++pk_backend_config_section_match (gconstpointer element, gconstpointer name)
+ {
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (repo != NULL);
++ const PkBackendConfigSection *section = element;
++
++ g_return_val_if_fail (section != NULL, -1);
++
++ return g_strcmp0 (section->name, name);
++}
+
+- if (alpm_list_find_str (config->repos, repo) == NULL) {
+- config->repos = alpm_list_add (config->repos, g_strdup (repo));
++static PkBackendConfigSection *
++pk_backend_config_enter_section (PkBackendConfig *config, const gchar *name)
++{
++ PkBackendConfigSection *section;
++
++ g_return_val_if_fail (config != NULL, NULL);
++ g_return_val_if_fail (name != NULL, NULL);
++
++ section = alpm_list_find (config->sections, name,
++ pk_backend_config_section_match);
++ if (section != NULL) {
++ return section;
+ }
++
++ section = g_new0 (PkBackendConfigSection, 1);
++ section->name = g_strdup (name);
++ config->sections = alpm_list_add (config->sections, section);
++ return section;
+ }
+
+ static gboolean
+-pk_backend_config_repo_add_server (PkBackendConfig *config, const gchar *repo,
+- const gchar *value, GError **e)
++pk_backend_config_add_server (PkBackendConfig *config,
++ PkBackendConfigSection *section,
++ const gchar *address, GError **e)
+ {
+- alpm_list_t *list;
+ gchar *url;
+
+ g_return_val_if_fail (config != NULL, FALSE);
+- g_return_val_if_fail (repo != NULL, FALSE);
+- g_return_val_if_fail (alpm_list_find_str (config->repos, repo) != NULL,
+- FALSE);
+- g_return_val_if_fail (value != NULL, FALSE);
++ g_return_val_if_fail (section != NULL, FALSE);
++ g_return_val_if_fail (address != NULL, FALSE);
+
+- url = g_regex_replace_literal (config->xrepo, value, -1, 0, repo, 0, e);
++ url = g_regex_replace_literal (config->xrepo, address, -1, 0,
++ section->name, 0, e);
+ if (url == NULL) {
+ return FALSE;
+ }
+@@ -488,105 +478,26 @@ pk_backend_config_repo_add_server (PkBackendConfig *config, const gchar *repo,
+ "url contained $arch, which is not set");
+ }
+
+- list = (alpm_list_t *) g_hash_table_lookup (config->servers, repo);
+- list = alpm_list_add (list, url);
+- g_hash_table_insert (config->servers, g_strdup (repo), list);
++ section->servers = alpm_list_add (section->servers, url);
+
+ return TRUE;
+ }
+
+-static gboolean
+-pk_backend_config_set_siglevel (PkBackendConfig *config, const gchar *section,
+- const gchar *list, GError **error)
++static void
++pk_backend_config_add_siglevel (PkBackendConfig *config,
++ PkBackendConfigSection *section,
++ const gchar *words)
+ {
+- alpm_siglevel_t *level;
+-
+- g_return_val_if_fail (config != NULL, FALSE);
+- g_return_val_if_fail (section != NULL, FALSE);
+- g_return_val_if_fail (list != NULL, FALSE);
+-
+- level = g_hash_table_lookup (config->levels, section);
+- if (level == NULL) {
+- level = g_hash_table_lookup (config->levels, "options");
+- level = g_memdup (level, sizeof (alpm_siglevel_t));
+- g_hash_table_insert (config->levels, g_strdup (section), level);
+- }
+-
+- while (TRUE) {
+- gboolean package = TRUE, database = TRUE;
+-
+- if (g_str_has_prefix (list, "Package")) {
+- database = FALSE;
+- list += 7;
+- } else if (g_str_has_prefix (list, "Database")) {
+- package = FALSE;
+- list += 8;
+- }
+-
+- /* this also allows e.g. NeverEver, so put prefixes last */
+- if (g_str_has_prefix (list, "Never")) {
+- if (package) {
+- *level &= ~ALPM_SIG_PACKAGE;
+- }
+- if (database) {
+- *level &= ~ALPM_SIG_DATABASE;
+- }
+- } else if (g_str_has_prefix (list, "Optional")) {
+- if (package) {
+- *level |= ALPM_SIG_PACKAGE;
+- *level |= ALPM_SIG_PACKAGE_OPTIONAL;
+- }
+- if (database) {
+- *level |= ALPM_SIG_DATABASE;
+- *level |= ALPM_SIG_DATABASE_OPTIONAL;
+- }
+- } else if (g_str_has_prefix (list, "Required")) {
+- if (package) {
+- *level |= ALPM_SIG_PACKAGE;
+- *level &= ~ALPM_SIG_PACKAGE_OPTIONAL;
+- }
+- if (database) {
+- *level |= ALPM_SIG_DATABASE;
+- *level &= ~ALPM_SIG_DATABASE_OPTIONAL;
+- }
+- } else if (g_str_has_prefix (list, "TrustedOnly")) {
+- if (package) {
+- *level &= ~ALPM_SIG_PACKAGE_MARGINAL_OK;
+- *level &= ~ALPM_SIG_PACKAGE_UNKNOWN_OK;
+- }
+- if (database) {
+- *level &= ~ALPM_SIG_DATABASE_MARGINAL_OK;
+- *level &= ~ALPM_SIG_DATABASE_UNKNOWN_OK;
+- }
+- } else if (g_str_has_prefix (list, "TrustAll")) {
+- if (package) {
+- *level |= ALPM_SIG_PACKAGE_MARGINAL_OK;
+- *level |= ALPM_SIG_PACKAGE_UNKNOWN_OK;
+- }
+- if (database) {
+- *level |= ALPM_SIG_DATABASE_MARGINAL_OK;
+- *level |= ALPM_SIG_DATABASE_UNKNOWN_OK;
+- }
+- } else {
+- g_set_error (error, ALPM_ERROR, ALPM_ERR_CONFIG_INVALID,
+- "invalid SigLevel value: %s", list);
+- return FALSE;
+- }
+-
+- list = strchr (list, ' ');
+- if (list == NULL) {
+- break;
+- } else {
+- ++list;
+- }
+- }
++ g_return_if_fail (config != NULL);
++ g_return_if_fail (section != NULL);
++ g_return_if_fail (words != NULL);
+
+- return TRUE;
++ section->siglevels = alpm_list_add_words (section->siglevels, words);
+ }
+
+ static gboolean
+ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+- gchar *section, GError **error)
++ PkBackendConfigSection *section, GError **error)
+ {
+ GFile *file;
+ GFileInputStream *is;
+@@ -610,7 +521,6 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ }
+
+ input = g_data_input_stream_new (G_INPUT_STREAM (is));
+- section = g_strdup (section);
+
+ for (;; g_free (line), ++num) {
+ line = g_data_input_stream_read_line (input, NULL, NULL, &e);
+@@ -642,13 +552,7 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ break;
+ }
+
+- g_free (section);
+- section = g_strdup (str);
+-
+- if (g_strcmp0 (section, "options") != 0) {
+- pk_backend_config_add_repo (config, section);
+- }
+-
++ section = pk_backend_config_enter_section (config, str);
+ continue;
+ }
+
+@@ -668,7 +572,8 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+
+ if (str == NULL) {
+ /* set a boolean directive */
+- if (g_strcmp0 (section, "options") == 0 &&
++ if (pk_backend_config_section_match (section,
++ "options") == 0 &&
+ pk_backend_config_set_boolean (config, key)) {
+ continue;
+ }
+@@ -697,7 +602,8 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ } else {
+ continue;
+ }
+- } else if (g_strcmp0 (section, "options") == 0) {
++ } else if (pk_backend_config_section_match (section,
++ "options") == 0) {
+ /* set a string or list directive */
+ if (pk_backend_config_set_string (config, key, str) ||
+ pk_backend_config_set_list (config, key, str)) {
+@@ -705,8 +611,8 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ }
+ /* report error below */
+ } else if (g_strcmp0 (key, "Server") == 0) {
+- if (!pk_backend_config_repo_add_server (config, section,
+- str, &e)) {
++ if (!pk_backend_config_add_server (config, section,
++ str, &e)) {
+ break;
+ } else {
+ continue;
+@@ -714,12 +620,8 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ }
+
+ if (g_strcmp0 (key, "SigLevel") == 0 && str != NULL) {
+- if (!pk_backend_config_set_siglevel (config, section,
+- str, &e)) {
+- break;
+- } else {
+- continue;
+- }
++ pk_backend_config_add_siglevel (config, section, str);
++ continue;
+ }
+
+ /* report errors from above */
+@@ -728,8 +630,6 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ break;
+ }
+
+- g_free (section);
+-
+ g_object_unref (input);
+ g_object_unref (is);
+ g_object_unref (file);
+@@ -746,7 +646,7 @@ static alpm_handle_t *
+ pk_backend_config_initialize_alpm (PkBackendConfig *config, GError **error)
+ {
+ alpm_handle_t *handle;
+- enum _alpm_errno_t errno;
++ alpm_errno_t errno;
+ gsize dir = 1;
+
+ g_return_val_if_fail (config != NULL, FALSE);
+@@ -817,11 +717,160 @@ pk_backend_config_initialize_alpm (PkBackendConfig *config, GError **error)
+ return handle;
+ }
+
++static alpm_siglevel_t
++alpm_siglevel_parse (alpm_siglevel_t base, const alpm_list_t *list,
++ GError **error)
++{
++ for (; list != NULL; list = list->next) {
++ gboolean package = TRUE, database = TRUE;
++ const gchar *level = (const gchar *) list->data;
++
++ if (g_str_has_prefix (level, "Package")) {
++ database = FALSE;
++ level += 7;
++ } else if (g_str_has_prefix (level, "Database")) {
++ package = FALSE;
++ level += 8;
++ }
++
++ if (g_strcmp0 (level, "Never") == 0) {
++ if (package) {
++ base &= ~ALPM_SIG_PACKAGE;
++ base |= ALPM_SIG_PACKAGE_SET;
++ }
++ if (database) {
++ base &= ~ALPM_SIG_DATABASE;
++ }
++ } else if (g_strcmp0 (level, "Optional") == 0) {
++ if (package) {
++ base |= ALPM_SIG_PACKAGE;
++ base |= ALPM_SIG_PACKAGE_OPTIONAL;
++ base |= ALPM_SIG_PACKAGE_SET;
++ }
++ if (database) {
++ base |= ALPM_SIG_DATABASE;
++ base |= ALPM_SIG_DATABASE_OPTIONAL;
++ }
++ } else if (g_strcmp0 (level, "Required") == 0) {
++ if (package) {
++ base |= ALPM_SIG_PACKAGE;
++ base &= ~ALPM_SIG_PACKAGE_OPTIONAL;
++ base |= ALPM_SIG_PACKAGE_SET;
++ }
++ if (database) {
++ base |= ALPM_SIG_DATABASE;
++ base &= ~ALPM_SIG_DATABASE_OPTIONAL;
++ }
++ } else if (g_strcmp0 (level, "TrustedOnly") == 0) {
++ if (package) {
++ base &= ~ALPM_SIG_PACKAGE_MARGINAL_OK;
++ base &= ~ALPM_SIG_PACKAGE_UNKNOWN_OK;
++ base |= ALPM_SIG_PACKAGE_TRUST_SET;
++ }
++ if (database) {
++ base &= ~ALPM_SIG_DATABASE_MARGINAL_OK;
++ base &= ~ALPM_SIG_DATABASE_UNKNOWN_OK;
++ }
++ } else if (g_strcmp0 (level, "TrustAll") == 0) {
++ if (package) {
++ base |= ALPM_SIG_PACKAGE_MARGINAL_OK;
++ base |= ALPM_SIG_PACKAGE_UNKNOWN_OK;
++ base |= ALPM_SIG_PACKAGE_TRUST_SET;
++ }
++ if (database) {
++ base |= ALPM_SIG_DATABASE_MARGINAL_OK;
++ base |= ALPM_SIG_DATABASE_UNKNOWN_OK;
++ }
++ } else {
++ g_set_error (error, ALPM_ERROR, ALPM_ERR_CONFIG_INVALID,
++ "invalid SigLevel value: %s", level);
++ return ALPM_SIG_USE_DEFAULT;
++ }
++ }
++
++ return base;
++}
++
++static alpm_siglevel_t
++alpm_siglevel_cross (alpm_siglevel_t base, const alpm_list_t *list,
++ GError **error)
++{
++ alpm_siglevel_t level;
++
++ if (list == NULL) {
++ return base;
++ }
++
++ level = alpm_siglevel_parse (0, list, error);
++ if (level == ALPM_SIG_USE_DEFAULT) {
++ return level;
++ }
++
++ /* based on unexplained code in pacman */
++ if ((level & ALPM_SIG_PACKAGE_SET) == 0) {
++ level |= base & (ALPM_SIG_PACKAGE | ALPM_SIG_PACKAGE_OPTIONAL);
++ }
++ if ((level & ALPM_SIG_PACKAGE_TRUST_SET) == 0) {
++ level |= base & (ALPM_SIG_PACKAGE_MARGINAL_OK |
++ ALPM_SIG_PACKAGE_UNKNOWN_OK);
++ }
++
++ return level;
++}
++
++static gboolean
++pk_backend_config_configure_repos (PkBackendConfig *config,
++ alpm_handle_t *handle, GError **error)
++{
++ alpm_siglevel_t base, local, remote;
++ const alpm_list_t *i;
++ PkBackendConfigSection *options;
++
++ g_return_val_if_fail (config != NULL, FALSE);
++
++ base = ALPM_SIG_PACKAGE | ALPM_SIG_PACKAGE_OPTIONAL |
++ ALPM_SIG_DATABASE | ALPM_SIG_DATABASE_OPTIONAL;
++
++ i = config->sections;
++ options = i->data;
++
++ base = alpm_siglevel_parse (base, options->siglevels, error);
++ if (base == ALPM_SIG_USE_DEFAULT) {
++ return FALSE;
++ }
++
++ local = alpm_siglevel_cross (base, config->localfilesiglevels, error);
++ if (local == ALPM_SIG_USE_DEFAULT) {
++ return FALSE;
++ }
++
++ remote = alpm_siglevel_cross (base, config->remotefilesiglevels, error);
++ if (remote == ALPM_SIG_USE_DEFAULT) {
++ return FALSE;
++ }
++
++ alpm_option_set_default_siglevel (handle, base);
++ alpm_option_set_local_file_siglevel (handle, local);
++ alpm_option_set_remote_file_siglevel (handle, remote);
++
++ while ((i = i->next) != NULL) {
++ PkBackendConfigSection *repo = i->data;
++ alpm_siglevel_t level;
++
++ level = alpm_siglevel_parse (base, repo->siglevels, error);
++ if (level == ALPM_SIG_USE_DEFAULT) {
++ return FALSE;
++ }
++ pk_backend_add_database (repo->name, repo->servers, level);
++ }
++
++ return TRUE;
++}
++
+ static alpm_handle_t *
+ pk_backend_config_configure_alpm (PkBackendConfig *config, GError **error)
+ {
+ alpm_handle_t *handle;
+- alpm_siglevel_t *level;
+
+ g_return_val_if_fail (config != NULL, FALSE);
+
+@@ -831,12 +880,9 @@ pk_backend_config_configure_alpm (PkBackendConfig *config, GError **error)
+ }
+
+ alpm_option_set_checkspace (handle, config->checkspace);
+- alpm_option_set_usedelta (handle, config->usedelta);
+ alpm_option_set_usesyslog (handle, config->usesyslog);
+ alpm_option_set_arch (handle, config->arch);
+-
+- level = g_hash_table_lookup (config->levels, "options");
+- alpm_option_set_default_siglevel (handle, *level);
++ alpm_option_set_deltaratio (handle, config->deltaratio);
+
+ /* backend takes ownership */
+ g_free (xfercmd);
+@@ -854,11 +900,6 @@ pk_backend_config_configure_alpm (PkBackendConfig *config, GError **error)
+ holdpkgs = config->holdpkgs;
+ config->holdpkgs = NULL;
+
+- /* backend takes ownership */
+- FREELIST (syncfirsts);
+- syncfirsts = config->syncfirsts;
+- config->syncfirsts = NULL;
+-
+ /* alpm takes ownership */
+ alpm_option_set_ignoregroups (handle, config->ignoregroups);
+ config->ignoregroups = NULL;
+@@ -875,8 +916,7 @@ pk_backend_config_configure_alpm (PkBackendConfig *config, GError **error)
+ alpm_option_set_noupgrades (handle, config->noupgrades);
+ config->noupgrades = NULL;
+
+- pk_backend_configure_repos (config->repos, config->servers,
+- config->levels);
++ pk_backend_config_configure_repos (config, handle, error);
+
+ return handle;
+ }
+@@ -892,6 +932,7 @@ pk_backend_configure (const gchar *filename, GError **error)
+
+ g_debug ("reading config from %s", filename);
+ config = pk_backend_config_new ();
++ pk_backend_config_enter_section (config, "options");
+
+ if (pk_backend_config_parse (config, filename, NULL, &e)) {
+ handle = pk_backend_config_configure_alpm (config, &e);
+diff --git a/backends/alpm/pk-backend-databases.c b/backends/alpm/pk-backend-databases.c
+index a123297..09d5a73 100644
+--- a/backends/alpm/pk-backend-databases.c
++++ b/backends/alpm/pk-backend-databases.c
+@@ -140,8 +140,8 @@ disabled_repos_configure (GHashTable *table, gboolean only_trusted,
+ g_return_val_if_fail (table != NULL, FALSE);
+ g_return_val_if_fail (alpm != NULL, FALSE);
+
+- if (alpm_db_unregister_all (alpm) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ if (alpm_unregister_all_syncdbs (alpm) < 0) {
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ return FALSE;
+@@ -161,9 +161,9 @@ disabled_repos_configure (GHashTable *table, gboolean only_trusted,
+ level &= ~ALPM_SIG_USE_DEFAULT;
+ }
+
+- db = alpm_db_register_sync (alpm, repo->name, level);
++ db = alpm_register_syncdb (alpm, repo->name, level);
+ if (db == NULL) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "[%s]: %s",
+ repo->name, alpm_strerror (errno));
+ return FALSE;
+@@ -176,29 +176,18 @@ disabled_repos_configure (GHashTable *table, gboolean only_trusted,
+ }
+
+ void
+-pk_backend_configure_repos (alpm_list_t *repos, GHashTable *servers,
+- GHashTable *levels)
++pk_backend_add_database (const gchar *name, alpm_list_t *servers,
++ alpm_siglevel_t level)
+ {
+- alpm_list_t *i;
+-
+- g_return_if_fail (servers != NULL);
+-
+- for (i = repos; i != NULL; i = i->next) {
+- PkBackendRepo *repo = g_new (PkBackendRepo, 1);
+- gpointer value = g_hash_table_lookup (servers, i->data);
++ PkBackendRepo *repo = g_new (PkBackendRepo, 1);
+
+- repo->name = g_strdup ((const gchar *) i->data);
+- repo->servers = alpm_list_strdup ((alpm_list_t *) value);
++ g_return_if_fail (name != NULL);
+
+- value = g_hash_table_lookup (levels, i->data);
+- if (value != NULL) {
+- repo->level = *(alpm_siglevel_t *) value;
+- } else {
+- repo->level = ALPM_SIG_USE_DEFAULT;
+- }
++ repo->name = g_strdup (name);
++ repo->servers = alpm_list_strdup (servers);
++ repo->level = level;
+
+- configured = alpm_list_add (configured, repo);
+- }
++ configured = alpm_list_add (configured, repo);
+ }
+
+ gboolean
+@@ -282,7 +271,7 @@ pk_backend_get_repo_list_thread (PkBackend *self)
+ g_return_val_if_fail (disabled != NULL, FALSE);
+
+ /* emit enabled repos */
+- for (i = alpm_option_get_syncdbs (alpm); i != NULL; i = i->next) {
++ for (i = alpm_get_syncdbs (alpm); i != NULL; i = i->next) {
+ alpm_db_t *db = (alpm_db_t *) i->data;
+ const gchar *repo = alpm_db_get_name (db);
+
+@@ -368,13 +357,13 @@ pk_backend_repo_disable_thread (PkBackend *self)
+
+ g_return_val_if_fail (repo != NULL, FALSE);
+
+- for (i = alpm_option_get_syncdbs (alpm); i != NULL; i = i->next) {
++ for (i = alpm_get_syncdbs (alpm); i != NULL; i = i->next) {
+ alpm_db_t *db = (alpm_db_t *) i->data;
+ const gchar *name = alpm_db_get_name (db);
+
+ if (g_strcmp0 (repo, name) == 0) {
+ if (alpm_db_unregister (db) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (&error, ALPM_ERROR, errno,
+ "[%s]: %s", repo,
+ alpm_strerror (errno));
+diff --git a/backends/alpm/pk-backend-databases.h b/backends/alpm/pk-backend-databases.h
+index d9b9e78..d0dbb7c 100644
+--- a/backends/alpm/pk-backend-databases.h
++++ b/backends/alpm/pk-backend-databases.h
+@@ -24,9 +24,9 @@
+ #include <alpm.h>
+ #include <pk-backend.h>
+
+-void pk_backend_configure_repos (alpm_list_t *repos,
+- GHashTable *servers,
+- GHashTable *levels);
++void pk_backend_add_database (const gchar *name,
++ alpm_list_t *servers,
++ alpm_siglevel_t level);
+
+ gboolean pk_backend_disable_signatures (PkBackend *self,
+ GError **error);
+diff --git a/backends/alpm/pk-backend-depends.c b/backends/alpm/pk-backend-depends.c
+index 7c7b45a..c3d82a0 100644
+--- a/backends/alpm/pk-backend-depends.c
++++ b/backends/alpm/pk-backend-depends.c
+@@ -85,7 +85,7 @@ pk_backend_find_provider (PkBackend *self, alpm_list_t *pkgs,
+ }
+
+ /* look for remote dependencies */
+- syncdbs = alpm_option_get_syncdbs (alpm);
++ syncdbs = alpm_get_syncdbs (alpm);
+ provider = alpm_find_dbs_satisfier (alpm, syncdbs, depend);
+
+ if (provider != NULL) {
+@@ -184,7 +184,7 @@ pk_backend_get_depends_thread (PkBackend *self)
+ depend = alpm_dep_compute_string (depends->data);
+ pkgs = pk_backend_find_provider (self, pkgs, depend,
+ &error);
+- g_free (depend);
++ free (depend);
+ }
+ }
+
+diff --git a/backends/alpm/pk-backend-install.c b/backends/alpm/pk-backend-install.c
+index d0cbca2..0b036f3 100644
+--- a/backends/alpm/pk-backend-install.c
++++ b/backends/alpm/pk-backend-install.c
+@@ -39,7 +39,7 @@ alpm_add_file (const gchar *filename)
+ g_return_val_if_fail (filename != NULL, -1);
+ g_return_val_if_fail (alpm != NULL, -1);
+
+- level = alpm_option_get_default_siglevel (alpm);
++ level = alpm_option_get_local_file_siglevel (alpm);
+
+ if (alpm_pkg_load (alpm, filename, 1, level, &pkg) < 0) {
+ return -1;
+@@ -66,7 +66,7 @@ pk_backend_transaction_add_targets (PkBackend *self, GError **error)
+
+ for (; *paths != NULL; ++paths) {
+ if (alpm_add_file (*paths) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s: %s",
+ *paths, alpm_strerror (errno));
+ return FALSE;
+diff --git a/backends/alpm/pk-backend-packages.c b/backends/alpm/pk-backend-packages.c
+index c90cd7d..86b1ef7 100644
+--- a/backends/alpm/pk-backend-packages.c
++++ b/backends/alpm/pk-backend-packages.c
+@@ -42,7 +42,7 @@ alpm_pkg_build_id (alpm_pkg_t *pkg)
+ }
+
+ /* TODO: check correctness */
+- if (alpm_pkg_get_origin (pkg) == PKG_FROM_SYNCDB) {
++ if (alpm_pkg_get_origin (pkg) == ALPM_PKG_FROM_SYNCDB) {
+ repo = alpm_db_get_name (alpm_pkg_get_db (pkg));
+ } else {
+ repo = "installed";
+@@ -84,7 +84,7 @@ pk_backend_find_pkg (PkBackend *self, const gchar *package_id, GError **error)
+ if (g_strcmp0 (repo_id, "installed") == 0) {
+ db = localdb;
+ } else {
+- const alpm_list_t *i = alpm_option_get_syncdbs (alpm);
++ const alpm_list_t *i = alpm_get_syncdbs (alpm);
+ for (; i != NULL; i = i->next) {
+ const gchar *repo = alpm_db_get_name (i->data);
+
+@@ -140,7 +140,7 @@ pk_backend_resolve_package (PkBackend *self, const gchar *package,
+ PK_FILTER_ENUM_NOT_INSTALLED);
+ skip_remote = pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED);
+
+- if (alpm_pkg_get_origin (pkg) == PKG_FROM_LOCALDB) {
++ if (alpm_pkg_get_origin (pkg) == ALPM_PKG_FROM_LOCALDB) {
+ if (!skip_local) {
+ pk_backend_pkg (self, pkg, PK_INFO_ENUM_INSTALLED);
+ }
+@@ -179,7 +179,7 @@ pk_backend_resolve_name (PkBackend *self, const gchar *name, GError **error)
+ return TRUE;
+ }
+ } else if (!skip_remote) {
+- const alpm_list_t *i = alpm_option_get_syncdbs (alpm);
++ const alpm_list_t *i = alpm_get_syncdbs (alpm);
+ for (; i != NULL; i = i->next) {
+ pkg = alpm_db_get_pkg (i->data, name);
+ if (pkg != NULL) {
+@@ -287,7 +287,7 @@ pk_backend_get_details_thread (PkBackend *self)
+ desc = alpm_pkg_get_desc (pkg);
+ url = alpm_pkg_get_url (pkg);
+
+- if (alpm_pkg_get_origin (pkg) == PKG_FROM_LOCALDB) {
++ if (alpm_pkg_get_origin (pkg) == ALPM_PKG_FROM_LOCALDB) {
+ size = alpm_pkg_get_isize (pkg);
+ } else {
+ size = alpm_pkg_download_size (pkg);
+diff --git a/backends/alpm/pk-backend-remove.c b/backends/alpm/pk-backend-remove.c
+index 1993061..331684f 100644
+--- a/backends/alpm/pk-backend-remove.c
++++ b/backends/alpm/pk-backend-remove.c
+@@ -48,7 +48,7 @@ pk_backend_transaction_remove_targets (PkBackend *self, GError **error)
+
+ alpm_pkg_t *pkg = alpm_db_get_pkg (localdb, name);
+ if (pkg == NULL || alpm_remove_pkg (alpm, pkg) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s: %s", name,
+ alpm_strerror (errno));
+ g_strfreev (package);
+diff --git a/backends/alpm/pk-backend-search.c b/backends/alpm/pk-backend-search.c
+index c4e80ae..4cfeeb2 100644
+--- a/backends/alpm/pk-backend-search.c
++++ b/backends/alpm/pk-backend-search.c
+@@ -374,7 +374,7 @@ pk_backend_search_thread (PkBackend *self)
+ goto out;
+ }
+
+- for (i = alpm_option_get_syncdbs (alpm); i != NULL; i = i->next) {
++ for (i = alpm_get_syncdbs (alpm); i != NULL; i = i->next) {
+ if (pk_backend_cancelled (self)) {
+ break;
+ }
+diff --git a/backends/alpm/pk-backend-sync.c b/backends/alpm/pk-backend-sync.c
+index d2f363b..80d5ae0 100644
+--- a/backends/alpm/pk-backend-sync.c
++++ b/backends/alpm/pk-backend-sync.c
+@@ -48,7 +48,7 @@ pk_backend_transaction_sync_targets (PkBackend *self, GError **error)
+ gchar *repo = package[PK_PACKAGE_ID_DATA];
+ gchar *name = package[PK_PACKAGE_ID_NAME];
+
+- const alpm_list_t *i = alpm_option_get_syncdbs (alpm);
++ const alpm_list_t *i = alpm_get_syncdbs (alpm);
+ alpm_pkg_t *pkg;
+
+ for (; i != NULL; i = i->next) {
+@@ -58,7 +58,7 @@ pk_backend_transaction_sync_targets (PkBackend *self, GError **error)
+ }
+
+ if (i == NULL) {
+- enum _alpm_errno_t errno = ALPM_ERR_DB_NOT_FOUND;
++ alpm_errno_t errno = ALPM_ERR_DB_NOT_FOUND;
+ g_set_error (error, ALPM_ERROR, errno, "%s/%s: %s",
+ repo, name, alpm_strerror (errno));
+ g_strfreev (package);
+@@ -67,7 +67,7 @@ pk_backend_transaction_sync_targets (PkBackend *self, GError **error)
+
+ pkg = alpm_db_get_pkg (i->data, name);
+ if (pkg == NULL || alpm_add_pkg (alpm, pkg) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s/%s: %s",
+ repo, name, alpm_strerror (errno));
+ g_strfreev (package);
+@@ -274,7 +274,7 @@ pk_backend_update_packages_thread (PkBackend *self)
+ for (i = asdeps; i != NULL; i = i->next) {
+ const gchar *name = (const gchar *) i->data;
+ alpm_pkg_t *pkg = alpm_db_get_pkg (localdb, name);
+- alpm_db_set_pkgreason (alpm, pkg, ALPM_PKG_REASON_DEPEND);
++ alpm_pkg_set_reason (pkg, ALPM_PKG_REASON_DEPEND);
+ }
+
+ out:
+diff --git a/backends/alpm/pk-backend-transaction.c b/backends/alpm/pk-backend-transaction.c
+index 76402f0..554f06d 100644
+--- a/backends/alpm/pk-backend-transaction.c
++++ b/backends/alpm/pk-backend-transaction.c
+@@ -63,7 +63,7 @@ alpm_pkg_has_basename (alpm_pkg_t *pkg, const gchar *basename)
+ return TRUE;
+ }
+
+- if (alpm_option_get_usedelta (alpm) == 0) {
++ if (alpm_option_get_deltaratio (alpm) == 0.0) {
+ return FALSE;
+ }
+
+@@ -210,16 +210,18 @@ pk_backend_transaction_progress_cb (alpm_progress_t type, const gchar *target,
+ static gint recent = 101;
+ gsize overall = percent + (current - 1) * 100;
+
+- /* TODO: revert when fixed upstream */
++ /* TODO: remove block if/when this is made consistent upstream */
+ if (type == ALPM_PROGRESS_CONFLICTS_START ||
+ type == ALPM_PROGRESS_DISKSPACE_START ||
+ type == ALPM_PROGRESS_INTEGRITY_START ||
+- type == ALPM_PROGRESS_LOAD_START) {
++ type == ALPM_PROGRESS_LOAD_START ||
++ type == ALPM_PROGRESS_KEYRING_START) {
+ if (current < targets) {
+- overall = percent + current++ * 100;
++ ++current;
++ overall += 100;
+ }
+ }
+-
++
+ if (current < 1 || targets < current) {
+ g_warning ("TODO: CURRENT/TARGETS FAILED for %d", type);
+ }
+@@ -233,11 +235,14 @@ pk_backend_transaction_progress_cb (alpm_progress_t type, const gchar *target,
+ switch (type) {
+ case ALPM_PROGRESS_ADD_START:
+ case ALPM_PROGRESS_UPGRADE_START:
++ case ALPM_PROGRESS_DOWNGRADE_START:
++ case ALPM_PROGRESS_REINSTALL_START:
+ case ALPM_PROGRESS_REMOVE_START:
+ case ALPM_PROGRESS_CONFLICTS_START:
+ case ALPM_PROGRESS_DISKSPACE_START:
+ case ALPM_PROGRESS_INTEGRITY_START:
+ case ALPM_PROGRESS_LOAD_START:
++ case ALPM_PROGRESS_KEYRING_START:
+ if (percent == recent) {
+ break;
+ }
+@@ -316,7 +321,6 @@ pk_backend_transaction_conv_cb (alpm_question_t question, gpointer data1,
+ case ALPM_QUESTION_REPLACE_PKG:
+ case ALPM_QUESTION_CONFLICT_PKG:
+ case ALPM_QUESTION_CORRUPTED_PKG:
+- case ALPM_QUESTION_LOCAL_NEWER:
+ /* these actions are mostly harmless */
+ g_debug ("safe question %d", question);
+ *result = 1;
+@@ -388,6 +392,17 @@ pk_backend_output (PkBackend *self, const gchar *output)
+ }
+
+ static void
++pk_backend_output_once (PkBackend *self, alpm_pkg_t *pkg, const gchar *output)
++{
++ g_return_if_fail (self != NULL);
++ g_return_if_fail (pkg != NULL);
++ g_return_if_fail (output != NULL);
++
++ pk_backend_message (self, PK_MESSAGE_ENUM_UNKNOWN, "<b>%s</b>\n%s",
++ alpm_pkg_get_name (pkg), output);
++}
++
++static void
+ pk_backend_transaction_dep_resolve (PkBackend *self)
+ {
+ g_return_if_fail (self != NULL);
+@@ -427,7 +442,8 @@ pk_backend_transaction_add_done (PkBackend *self, alpm_pkg_t *pkg)
+ name = alpm_pkg_get_name (pkg);
+ version = alpm_pkg_get_version (pkg);
+
+- alpm_logaction (alpm, "installed %s (%s)\n", name, version);
++ alpm_logaction (alpm, PK_LOG_PREFIX, "installed %s (%s)\n", name,
++ version);
+ pk_backend_pkg (self, pkg, PK_INFO_ENUM_FINISHED);
+
+ optdepends = alpm_pkg_get_optdepends (pkg);
+@@ -435,8 +451,10 @@ pk_backend_transaction_add_done (PkBackend *self, alpm_pkg_t *pkg)
+ pk_backend_output (self, "Optional dependencies:\n");
+
+ for (i = optdepends; i != NULL; i = i->next) {
+- const gchar *depend = i->data;
++ gchar *depend = alpm_dep_compute_string (i->data);
+ gchar *output = g_strdup_printf ("%s\n", depend);
++ free (depend);
++
+ pk_backend_output (self, output);
+ g_free (output);
+ }
+@@ -467,7 +485,8 @@ pk_backend_transaction_remove_done (PkBackend *self, alpm_pkg_t *pkg)
+ name = alpm_pkg_get_name (pkg);
+ version = alpm_pkg_get_version (pkg);
+
+- alpm_logaction (alpm, "removed %s (%s)\n", name, version);
++ alpm_logaction (alpm, PK_LOG_PREFIX, "removed %s (%s)\n", name,
++ version);
+ pk_backend_pkg (self, pkg, PK_INFO_ENUM_FINISHED);
+ pk_backend_output_end (self);
+ }
+@@ -498,45 +517,106 @@ pk_backend_transaction_upgrade_start (PkBackend *self, alpm_pkg_t *pkg,
+ pk_backend_output_start (self, pkg);
+ }
+
++static gint
++alpm_depend_compare (gconstpointer a, gconstpointer b)
++{
++ const alpm_depend_t *first = a;
++ const alpm_depend_t *second = b;
++ gint result;
++
++ g_return_val_if_fail (first != NULL, 0);
++ g_return_val_if_fail (second != NULL, 0);
++
++ result = g_strcmp0 (first->name, second->name);
++ if (result == 0) {
++ result = first->mod - second->mod;
++ if (result == 0) {
++ result = g_strcmp0 (first->version, second->version);
++ if (result == 0) {
++ result = g_strcmp0 (first->desc, second->desc);
++ }
++ }
++ }
++
++ return result;
++}
++
+ static void
+-pk_backend_transaction_upgrade_done (PkBackend *self, alpm_pkg_t *pkg,
+- alpm_pkg_t *old)
++pk_backend_transaction_process_new_optdepends (PkBackend *self, alpm_pkg_t *pkg,
++ alpm_pkg_t *old)
+ {
+- const gchar *name, *pre, *post;
+- const alpm_list_t *i;
+ alpm_list_t *optdepends;
++ const alpm_list_t *i;
+
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (pkg != NULL);
+ g_return_if_fail (old != NULL);
++
++ optdepends = alpm_list_diff (alpm_pkg_get_optdepends (pkg),
++ alpm_pkg_get_optdepends (old),
++ alpm_depend_compare);
++ if (optdepends == NULL) {
++ return;
++ }
++
++ pk_backend_output (self, "New optional dependencies:\n");
++
++ for (i = optdepends; i != NULL; i = i->next) {
++ gchar *depend = alpm_dep_compute_string (i->data);
++ gchar *output = g_strdup_printf ("%s\n", depend);
++ free (depend);
++
++ pk_backend_output (self, output);
++ g_free (output);
++ }
++
++ alpm_list_free (optdepends);
++}
++
++static void
++pk_backend_transaction_upgrade_done (PkBackend *self, alpm_pkg_t *pkg,
++ alpm_pkg_t *old, gint direction)
++{
++ const gchar *name, *pre, *post;
++
++ g_return_if_fail (self != NULL);
++ g_return_if_fail (pkg != NULL);
++ g_return_if_fail (old != NULL || direction == 0);
+ g_return_if_fail (alpm != NULL);
+
+ name = alpm_pkg_get_name (pkg);
+- pre = alpm_pkg_get_version (old);
++ if (direction != 0) {
++ pre = alpm_pkg_get_version (old);
++ }
+ post = alpm_pkg_get_version (pkg);
+
+- alpm_logaction (alpm, "upgraded %s (%s -> %s)\n", name, pre, post);
++ if (direction > 0) {
++ alpm_logaction (alpm, PK_LOG_PREFIX, "upgraded %s (%s -> %s)\n",
++ name, pre, post);
++ } else if (direction < 0) {
++ alpm_logaction (alpm, PK_LOG_PREFIX,
++ "downgraded %s (%s -> %s)\n", name, pre, post);
++ } else {
++ alpm_logaction (alpm, PK_LOG_PREFIX, "reinstalled %s (%s)\n",
++ name, post);
++ }
+ pk_backend_pkg (self, pkg, PK_INFO_ENUM_FINISHED);
+
+- optdepends = alpm_list_diff (alpm_pkg_get_optdepends (pkg),
+- alpm_pkg_get_optdepends (old),
+- (alpm_list_fn_cmp) g_strcmp0);
+- if (optdepends != NULL) {
+- pk_backend_output (self, "New optional dependencies:\n");
+-
+- for (i = optdepends; i != NULL; i = i->next) {
+- const gchar *depend = i->data;
+- gchar *output = g_strdup_printf ("%s\n", depend);
+- pk_backend_output (self, output);
+- g_free (output);
+- }
+-
+- alpm_list_free (optdepends);
++ if (direction != 0) {
++ pk_backend_transaction_process_new_optdepends (self, pkg, old);
+ }
+ pk_backend_output_end (self);
+ }
+
+ static void
++pk_backend_transaction_sig_check (PkBackend *self)
++{
++ g_return_if_fail (self != NULL);
++
++ pk_backend_set_status (self, PK_STATUS_ENUM_SIG_CHECK);
++}
++
++static void
+ pk_backend_transaction_setup (PkBackend *self)
+ {
+ g_return_if_fail (self != NULL);
+@@ -545,12 +625,46 @@ pk_backend_transaction_setup (PkBackend *self)
+ }
+
+ static void
++pk_backend_transaction_repackaging (PkBackend *self)
++{
++ g_return_if_fail (self != NULL);
++
++ pk_backend_set_status (self, PK_STATUS_ENUM_REPACKAGING);
++}
++
++static void
++pk_backend_transaction_download (PkBackend *self)
++{
++ g_return_if_fail (self != NULL);
++
++ pk_backend_set_status (self, PK_STATUS_ENUM_DOWNLOAD);
++}
++
++static void
++pk_backend_transaction_optdepend_required (PkBackend *self, alpm_pkg_t *pkg,
++ alpm_depend_t *optdepend)
++{
++ gchar *depend, *output;
++
++ g_return_if_fail (self != NULL);
++ g_return_if_fail (pkg != NULL);
++ g_return_if_fail (optdepend != NULL);
++
++ depend = alpm_dep_compute_string (optdepend);
++ output = g_strdup_printf ("optionally requires %s\n", depend);
++ free (depend);
++
++ pk_backend_output_once (self, pkg, output);
++ g_free (output);
++}
++
++static void
+ pk_backend_transaction_event_cb (alpm_event_t event, gpointer data,
+ gpointer old)
+ {
+ g_return_if_fail (backend != NULL);
+
+- /* figure out the backend status and package info */
++ /* figure out backend status and process package changes */
+ switch (event) {
+ case ALPM_EVENT_CHECKDEPS_START:
+ case ALPM_EVENT_RESOLVEDEPS_START:
+@@ -559,7 +673,6 @@ pk_backend_transaction_event_cb (alpm_event_t event, gpointer data,
+
+ case ALPM_EVENT_FILECONFLICTS_START:
+ case ALPM_EVENT_INTERCONFLICTS_START:
+- case ALPM_EVENT_INTEGRITY_START:
+ case ALPM_EVENT_DELTA_INTEGRITY_START:
+ case ALPM_EVENT_DISKSPACE_START:
+ pk_backend_transaction_test_commit (backend);
+@@ -582,23 +695,73 @@ pk_backend_transaction_event_cb (alpm_event_t event, gpointer data,
+ break;
+
+ case ALPM_EVENT_UPGRADE_START:
++ case ALPM_EVENT_DOWNGRADE_START:
++ case ALPM_EVENT_REINSTALL_START:
+ pk_backend_transaction_upgrade_start (backend, data,
+ old);
+ break;
+
+ case ALPM_EVENT_UPGRADE_DONE:
+ pk_backend_transaction_upgrade_done (backend, data,
+- old);
++ old, 1);
++ break;
++
++ case ALPM_EVENT_DOWNGRADE_DONE:
++ pk_backend_transaction_upgrade_done (backend, data,
++ old, -1);
++ break;
++
++ case ALPM_EVENT_REINSTALL_DONE:
++ pk_backend_transaction_upgrade_done (backend, data,
++ old, 0);
++ break;
++
++ case ALPM_EVENT_INTEGRITY_START:
++ case ALPM_EVENT_KEYRING_START:
++ pk_backend_transaction_sig_check (backend);
+ break;
+
+ case ALPM_EVENT_LOAD_START:
+ pk_backend_transaction_setup (backend);
+ break;
+
++ case ALPM_EVENT_DELTA_PATCHES_START:
++ case ALPM_EVENT_DELTA_PATCH_START:
++ pk_backend_transaction_repackaging (backend);
++ break;
++
+ case ALPM_EVENT_SCRIPTLET_INFO:
+ pk_backend_output (backend, data);
+ break;
+
++ case ALPM_EVENT_RETRIEVE_START:
++ pk_backend_transaction_download (backend);
++ break;
++
++ case ALPM_EVENT_OPTDEP_REQUIRED:
++ /* TODO: remove if this results in notification spam */
++ pk_backend_transaction_optdepend_required (backend,
++ data, old);
++ break;
++
++ case ALPM_EVENT_CHECKDEPS_DONE:
++ case ALPM_EVENT_FILECONFLICTS_DONE:
++ case ALPM_EVENT_RESOLVEDEPS_DONE:
++ case ALPM_EVENT_INTERCONFLICTS_DONE:
++ case ALPM_EVENT_INTEGRITY_DONE:
++ case ALPM_EVENT_LOAD_DONE:
++ case ALPM_EVENT_DELTA_INTEGRITY_DONE:
++ case ALPM_EVENT_DELTA_PATCHES_DONE:
++ case ALPM_EVENT_DELTA_PATCH_DONE:
++ case ALPM_EVENT_DELTA_PATCH_FAILED:
++ case ALPM_EVENT_DISKSPACE_DONE:
++ case ALPM_EVENT_DATABASE_MISSING:
++ case ALPM_EVENT_KEYRING_DONE:
++ case ALPM_EVENT_KEY_DOWNLOAD_START:
++ case ALPM_EVENT_KEY_DOWNLOAD_DONE:
++ /* ignored */
++ break;
++
+ default:
+ g_debug ("unhandled event %d", event);
+ break;
+@@ -623,7 +786,7 @@ pk_backend_transaction_initialize (PkBackend *self, alpm_transflag_t flags,
+ g_return_val_if_fail (cancellable != NULL, FALSE);
+
+ if (alpm_trans_init (alpm, flags) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ return FALSE;
+@@ -692,6 +855,7 @@ alpm_depend_free (alpm_depend_t *depend)
+ {
+ free (depend->name);
+ free (depend->version);
++ free (depend->desc);
+ free (depend);
+ }
+
+@@ -731,7 +895,7 @@ alpm_conflict_build_list (const alpm_list_t *i)
+ g_string_append_printf (list, "%s <-> %s (%s), ",
+ conflict->package1,
+ conflict->package2, reason);
+- g_free (reason);
++ free (reason);
+ }
+ }
+
+@@ -837,12 +1001,12 @@ pk_backend_transaction_simulate (PkBackend *self, GError **error)
+ }
+
+ if (prefix != NULL) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s: %s", prefix,
+ alpm_strerror (errno));
+ g_free (prefix);
+ } else {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ }
+@@ -959,12 +1123,12 @@ pk_backend_transaction_commit (PkBackend *self, GError **error)
+ }
+
+ if (prefix != NULL) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s: %s", prefix,
+ alpm_strerror (errno));
+ g_free (prefix);
+ } else {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ }
+@@ -993,7 +1157,7 @@ pk_backend_transaction_end (PkBackend *self, GError **error)
+ }
+
+ if (alpm_trans_release (alpm) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ return FALSE;
+diff --git a/backends/alpm/pk-backend-update.c b/backends/alpm/pk-backend-update.c
+index 37ade1e..ff83b5e 100644
+--- a/backends/alpm/pk-backend-update.c
++++ b/backends/alpm/pk-backend-update.c
+@@ -130,6 +130,20 @@ alpm_pkg_same_pkgver (alpm_pkg_t *a, alpm_pkg_t *b)
+ }
+ }
+
++static gchar *
++alpm_time_to_iso8601 (alpm_time_t time)
++{
++ GDateTime *date = g_date_time_new_from_unix_utc (time);
++
++ if (date != NULL) {
++ gchar *result = g_date_time_format (date, "%FT%TZ");
++ g_date_time_unref (date);
++ return result;
++ } else {
++ return NULL;
++ }
++}
++
+ static gboolean
+ pk_backend_get_update_detail_thread (PkBackend *self)
+ {
+@@ -154,7 +168,7 @@ pk_backend_get_update_detail_thread (PkBackend *self)
+ PkRestartEnum restart;
+ PkUpdateStateEnum state;
+
+- GTimeVal built = { 0 }, installed = { 0 };
++ alpm_time_t built, installed;
+ gchar *issued, *updated;
+
+ if (pk_backend_cancelled (self)) {
+@@ -195,17 +209,17 @@ pk_backend_get_update_detail_thread (PkBackend *self)
+ state = PK_UPDATE_STATE_ENUM_STABLE;
+ }
+
+- built.tv_sec = alpm_pkg_get_builddate (pkg);
+- if (built.tv_sec > 0) {
+- issued = g_time_val_to_iso8601 (&built);
++ built = alpm_pkg_get_builddate (pkg);
++ if (built > 0) {
++ issued = alpm_time_to_iso8601 (built);
+ } else {
+ issued = NULL;
+ }
+
+ if (upgrades != NULL) {
+- installed.tv_sec = alpm_pkg_get_installdate (old);
+- if (installed.tv_sec > 0) {
+- updated = g_time_val_to_iso8601 (&installed);
++ installed = alpm_pkg_get_installdate (old);
++ if (installed > 0) {
++ updated = alpm_time_to_iso8601 (installed);
+ } else {
+ updated = NULL;
+ }
+@@ -251,13 +265,14 @@ pk_backend_update_databases (PkBackend *self, gint force, GError **error) {
+ return FALSE;
+ }
+
+- alpm_logaction (alpm, "synchronizing package lists\n");
++ alpm_logaction (alpm, PK_LOG_PREFIX, "synchronizing package lists\n");
++ pk_backend_set_status (self, PK_STATUS_ENUM_DOWNLOAD_PACKAGELIST);
+
+ dlcb = alpm_option_get_dlcb (alpm);
+ totaldlcb = alpm_option_get_totaldlcb (alpm);
+
+ /* set total size to minus the number of databases */
+- i = alpm_option_get_syncdbs (alpm);
++ i = alpm_get_syncdbs (alpm);
+ totaldlcb (-alpm_list_count (i));
+
+ for (; i != NULL; i = i->next) {
+@@ -275,7 +290,7 @@ pk_backend_update_databases (PkBackend *self, gint force, GError **error) {
+ /* fake the download when already up to date */
+ dlcb ("", 1, 1);
+ } else if (result < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "[%s]: %s",
+ alpm_db_get_name (i->data),
+ alpm_strerror (errno));
+@@ -398,7 +413,7 @@ pk_backend_get_updates_thread (PkBackend *self)
+ }
+
+ /* find outdated and replacement packages */
+- syncdbs = alpm_option_get_syncdbs (alpm);
++ syncdbs = alpm_get_syncdbs (alpm);
+ for (i = alpm_db_get_pkgcache (localdb); i != NULL; i = i->next) {
+ alpm_pkg_t *upgrade = alpm_pkg_find_update (i->data, syncdbs);
+
+diff --git a/configure.ac b/configure.ac
+index 37e8a64..4a33dbd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -707,9 +707,7 @@ if test x$enable_opkg = xyes; then
+ fi
+
+ if test x$enable_alpm = xyes; then
+- AC_CHECK_HEADER([alpm.h],
+- [],
+- [AC_MSG_ERROR([No ALPM headers found])])
++ PKG_CHECK_MODULES(ALPM, libalpm >= 8.0.1)
+ fi
+
+ if test x$enable_poldek = xyes; then
diff --git a/community/packagekit/libarchive.patch b/community/packagekit/libarchive.patch
new file mode 100644
index 000000000..083a9433a
--- /dev/null
+++ b/community/packagekit/libarchive.patch
@@ -0,0 +1,39 @@
+diff -Nru a/lib/packagekit-glib2/pk-service-pack.c b/lib/packagekit-glib2/pk-service-pack.c
+--- a/lib/packagekit-glib2/pk-service-pack.c 2012-08-17 00:36:38.000000000 +1200
++++ b/lib/packagekit-glib2/pk-service-pack.c 2013-03-01 19:00:08.773738469 +1300
+@@ -207,7 +207,7 @@
+ archive_read_support_format_tar (arch);
+
+ /* open the tar file */
+- r = archive_read_open_file (arch, filename, 10240);
++ r = archive_read_open_filename (arch, filename, 10240);
+ if (r) {
+ g_set_error (error, PK_SERVICE_PACK_ERROR, PK_SERVICE_PACK_ERROR_FAILED_EXTRACTION,
+ "cannot open: %s", archive_error_string (arch));
+@@ -246,7 +246,7 @@
+ /* close the archive */
+ if (arch != NULL) {
+ archive_read_close (arch);
+- archive_read_finish (arch);
++ archive_read_free (arch);
+ }
+
+ /* switch back to PWD */
+@@ -572,7 +572,7 @@
+
+ /* we can only write tar achives */
+ arch = archive_write_new ();
+- archive_write_set_compression_none (arch);
++ archive_write_add_filter_none (arch);
+ archive_write_set_format_ustar (arch);
+ archive_write_open_filename (arch, state->filename);
+
+@@ -596,7 +596,7 @@
+ /* close the archive */
+ if (arch != NULL) {
+ archive_write_close (arch);
+- archive_write_finish (arch);
++ archive_write_free (arch);
+ }
+ return ret;
+ }
diff --git a/community/packagekit/packagekit.install b/community/packagekit/packagekit.install
new file mode 100644
index 000000000..7c8a8bd2b
--- /dev/null
+++ b/community/packagekit/packagekit.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/packeth/PKGBUILD b/community/packeth/PKGBUILD
new file mode 100644
index 000000000..7fec455f2
--- /dev/null
+++ b/community/packeth/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 77004 2012-10-03 15:04:34Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Rudy Matela <rudy.matela@gmail.com>
+
+pkgname=packeth
+pkgver=1.7.2
+pkgrel=1
+pkgdesc="A Linux GUI packet generator tool for ethernet."
+depends=(gtk2)
+source=("http://downloads.sourceforge.net/packeth/packETH-$pkgver.tar.bz2")
+url="http://packeth.sourceforge.net/"
+md5sums=('dab613ab413e959cb5c1ef6fd385a041')
+arch=('i686' 'x86_64')
+license=('GPL')
+
+build() {
+ cd "$srcdir"/packETH-$pkgver
+
+ sed -i 's/^LIBS=/LIBS+=/' Makefile.am
+ autoreconf
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir"/packETH-$pkgver
+ make install DESTDIR="$pkgdir/"
+}
diff --git a/community/paco/ChangeLog b/community/paco/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/paco/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/paco/PKGBUILD b/community/paco/PKGBUILD
new file mode 100644
index 000000000..2bc35fa4d
--- /dev/null
+++ b/community/paco/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 66147 2012-02-23 02:14:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=paco
+pkgver=2.0.9
+pkgrel=2
+pkgdesc="LFS packet manager"
+arch=('i686' 'x86_64')
+url="http://paco.sourceforge.net/index.html"
+license=('GPL')
+#NOTE: You may disable gtk frontend in configure
+depends=(gtk2 gtkmm)
+backup=(etc/pacorc)
+source=(http://downloads.sourceforge.net/sourceforge/paco/$pkgname-$pkgver.tar.bz2)
+md5sums=('d2debbea1b11156470f7fd849bb93c80')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+ make DESTDIR=$pkgdir install
+ rm -rf $pkgdir/home
+}
diff --git a/community/pam_mount/PKGBUILD b/community/pam_mount/PKGBUILD
new file mode 100644
index 000000000..fb054c78f
--- /dev/null
+++ b/community/pam_mount/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 91874 2013-05-28 17:46:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributors: Sirius Bakke <sirius\at/nonline.org>
+
+pkgname=pam_mount
+pkgver=2.13
+pkgrel=5
+pkgdesc="A PAM module that can mount volumes for a user session"
+arch=('i686' 'x86_64')
+url="http://pam-mount.sourceforge.net/"
+license=('GPL')
+depends=('util-linux' 'libhx>=3.12.1' 'libxml2>=2.6' 'openssl>0.9.7' 'cryptsetup>=1.1.2')
+optdepends=('hxtools: If you have something like <logout wait="1000" hup="0" term="1" kill="1" /> in your config')
+backup=('etc/security/pam_mount.conf.xml')
+options=(!emptydirs !libtool)
+source=("http://downloads.sourceforge.net/project/pam-mount/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz"
+ "$pkgname-git.patch")
+md5sums=('9f75fc8e84ea9cde619cdd6a62c7de33'
+ 'f018cb901eb6a18447a3a1b0a50c14dd')
+
+build() {
+ cd -- "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/$pkgname-git.patch
+ aclocal
+ libtoolize
+ automake --add-missing
+ autoreconf
+ ./configure \
+ --prefix=/usr \
+ --with-ssbindir=/usr/bin \
+ --sbindir=/usr/bin \
+ --with-slibdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ cd -- "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/pam_mount/pam_mount-git.patch b/community/pam_mount/pam_mount-git.patch
new file mode 100644
index 000000000..5890d83f3
--- /dev/null
+++ b/community/pam_mount/pam_mount-git.patch
@@ -0,0 +1,1345 @@
+diff -wbBurN pam_mount-2.13/configure.ac pam-mount/configure.ac
+--- pam_mount-2.13/configure.ac 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/configure.ac 2012-10-11 15:28:24.848220631 +0400
+@@ -13,9 +13,10 @@
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_PROG_INSTALL
+-AM_INIT_AUTOMAKE([-Wall no-dist foreign subdir-objects])
++AM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax no-dist-gzip dist-xz])
+ AC_PROG_CC
+ AM_PROG_CC_C_O
++m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ AC_DISABLE_STATIC
+ AM_PROG_LIBTOOL
+ AC_PROG_LN_S
+diff -wbBurN pam_mount-2.13/doc/changelog.txt pam-mount/doc/changelog.txt
+--- pam_mount-2.13/doc/changelog.txt 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/changelog.txt 2012-10-11 15:28:24.851553965 +0400
+@@ -3,6 +3,15 @@
+
+ HEAD
+ ====
++Fixes:
++- fix "feature 1 already set to zero"
++- pmt-ehd: avoid miscalculating blockdev size obtained from BLKGETSIZE64
++- pam_mount: give more verbose output on "unknown digest/cipher"
++- pam_mount: fix crash when an unknown digest/cipher was specified
++- pam_mount: correctly mkdir mountpoint if requested
++- pam_mount: only remove mountpoint if actually created
++Changes:
++- Complain louder when EUID is not 0
+
+
+ v2.13 (2011-12-15)
+diff -wbBurN pam_mount-2.13/doc/Makefile.am pam-mount/doc/Makefile.am
+--- pam_mount-2.13/doc/Makefile.am 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/Makefile.am 2012-10-11 15:28:24.848220631 +0400
+@@ -5,8 +5,9 @@
+ pmvarrun.8 pmt-ehd.8 \
+ umount.crypt.8 umount.crypt_LUKS.8 \
+ umount.crypto_LUKS.8
+-dist_noinst_DATA = pam_mount.txt
+-EXTRA_DIST = bugs.txt changelog.txt faq.txt install.txt options.txt todo.txt
++EXTRA_DIST = bugs.txt changelog.txt faq.txt install.txt options.txt todo.txt \
++ pam_mount.8.in pam_mount.conf.5.in
++DISTCLEANFILES = pam_mount.txt
+ CLEANFILES = ${man_MANS}
+
+ replcmd = perl -lpe 's/\@''PACKAGE\@/@PACKAGE@/g;s/\@''PACKAGE_VERSION\@/@PACKAGE_VERSION@/g;s/\@''PACKAGE_RELDATE\@/@PACKAGE_RELDATE@/g;'
+diff -wbBurN pam_mount-2.13/doc/mount.crypt.8 pam-mount/doc/mount.crypt.8
+--- pam_mount-2.13/doc/mount.crypt.8 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/mount.crypt.8 2012-10-11 15:28:24.851553965 +0400
+@@ -37,10 +37,6 @@
+ Select the name for the crypto device (optional). This option is currently
+ only usable with dm-crypt systems.
+ .TP
+-\fBdm\-timeout=\fP\fIseconds\fP
+-Wait at most this many seconds for udev to create /dev/mapper/\fIname\fP after
+-calling cryptsetup(8). The default value is 0 seconds.
+-.TP
+ \fBfsck\fP
+ Run fsck on the container before mounting it.
+ .TP
+diff -wbBurN pam_mount-2.13/doc/options.txt pam-mount/doc/options.txt
+--- pam_mount-2.13/doc/options.txt 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/options.txt 2012-10-11 15:28:24.851553965 +0400
+@@ -4,6 +4,11 @@
+
+ auth optional pam_mount.so debug
+
++Options are to be separated by whitespace, hence specifying more than
++one is to look like:
++
++ auth optional pam_mount.so debug disable_interactive
++
+
+ enable_pam_password (default)
+ disable_pam_password
+diff -wbBurN pam_mount-2.13/doc/pam_mount.conf.5.in pam-mount/doc/pam_mount.conf.5.in
+--- pam_mount-2.13/doc/pam_mount.conf.5.in 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/pam_mount.conf.5.in 2012-10-11 15:28:24.851553965 +0400
+@@ -171,35 +171,33 @@
+ processes and optionally wait before sending signals.
+ .TP
+ \fB<luserconf name="\fP\fI.pam_mount.conf.xml\fP\fB" />\fP
+-Individual users may define additional volumes (usually in
+-~/.pam_mount.conf.xml) to mount if allowed by the master configuration file by
+-the presence of the \fB<luserconf>\fP element. With it, users may mount and
+-unmount any volumes they specify that they have ownership of (in case of
+-local mounts) - the mount process is called \fBas
+-superuser\fP. On some filesystem configurations this may be a security risk so
+-user-defined volumes are not allowed by the default pam_mount.conf.xml
+-distributed with pam_mount. Luserconfigs are parsed after any volumes from
+-the global configuration file are mounted, so mounting home directories with a
+-global config and then mounting further volumes from luserconfigs is possible.
++Individual users may define additional volumes in a file by the specified
++\fIname\fP relative to their home directory. The presence of \fB<luserconf>\fP
++in the master config file enables this feature. If turned on, users may mount
++and unmount any volumes they specify and that they have ownership of (in case
++of local mounts). The mount process is executed \fBas superuser\fP. This may
++have security implications, so this feature is disabled by default.
++Luserconfigs are parsed after any volumes from the global configuration file
++have been mounted, so that first mounting home directories with a global config
++and then mounting further volumes from luserconfigs is possible.
+ .TP
+ \fB<mntoptions allow="\fP\fIoptions,...\fP\fB" />\fP
+-The <mntoptions> elements determine which options may be specified in per\-user
+-configuration files (see <luserconf>). It does not apply to the master file.
+-Specifying <mntoptions> is forbidden and ignored in per\-user configs.
+-It defaults to \fIallow="nosuid,nodev"\fP, and the default is cleared when the
+-first <mntoptions allow="..."> tag is seen. All further <mntoptions> are
+-additive, though.
++The <mntoptions> elements determine which options may be specified in <volumes>
++in per-user configuration files (see <luserconf>). It does not apply to the
++master file. Specifying <mntoptions> is forbidden and ignored in per-user
++configs. The default allowed list consists of "\fInosuid,nodev\fP", and this
++default is cleared when the first allow="..." attribute is seen by the config
++parser. All further allow="..." are additive, though.
+ .TP
+ \fB<mntoptions deny="\fP\fIoptions,...\fP\fB" />\fP
+-Any options listed in deny may not appear in the option list of per\-user
+-mounts. (Does not apply to the master file.)
++Any options listed in deny may not appear in the option list of per-user
++mounts. The default deny list is empty.
+ .TP
+ \fB<mntoptions require="\fP\fIoptions,...\fP\fB" />\fP
+-All options listed in require must appear in the option list of per\-user
+-mounts. (Does not apply to the master file.)
+-It defaults to \fInosuid,nodev\fP, and the default is cleared when the
+-first <mntoptions require="..."> tag is seen. All further <mntoptions> are
+-additive, though.
++All options listed in require must appear in the option list of per-user
++mounts. The default require list consists of "\fInosuid,nodev\fP", and like
++allow="", is cleared when first encountered by the parser, and is otherwise
++additive.
+ .TP
+ \fB<path>\fP\fIdirectories...\fP\fB</path>\fP
+ The default for the PATH environmental variable is not consistent across
+diff -wbBurN pam_mount-2.13/Makefile.am pam-mount/Makefile.am
+--- pam_mount-2.13/Makefile.am 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/Makefile.am 2012-10-11 15:28:24.848220631 +0400
+@@ -24,14 +24,11 @@
+ tar --use=${packer} -C ${tmpdir} -cf ${PACKAGE_NAME}-${PACKAGE_VERSION}${packext} --owner=root --group=root ${PACKAGE_NAME}-${PACKAGE_VERSION}/;
+ rm -Rf ${tmpdir};
+
+-dist-hook:
+- tar --use=${packer} -cf ${PACKAGE_NAME}-${PACKAGE_VERSION}${packext} --owner=root --group=root ${distdir}
+-
+ DISTCHECK_CONFIGURE_FLAGS = \
+ --with-ssbindir='$${abs_builddir}/ssbin' \
+ --with-slibdir='$${abs_builddir}/slib' \
+ --enable-la
+
+ DISTCLEANFILES = ${PACKAGE_NAME}-${PACKAGE_VERSION}${packext}
+-EXTRA_DIST = autogen.sh dist/pam_mount.spec LICENSE.GPL2 LICENSE.GPL3 \
++EXTRA_DIST = LICENSE.GPL2 LICENSE.GPL3 \
+ LICENSE.LGPL2 LICENSE.LGPL3
+diff -wbBurN pam_mount-2.13/src/cmt-internal.h pam-mount/src/cmt-internal.h
+--- pam_mount-2.13/src/cmt-internal.h 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/cmt-internal.h 2012-10-11 15:28:24.851553965 +0400
+@@ -3,6 +3,7 @@
+
+ #include <stdbool.h>
+ #include <libHX/string.h>
++#include "libcryptmount.h"
+
+ /**
+ * struct ehd_mount - EHD mount info
+@@ -12,6 +13,7 @@
+ * @loop_device: loop device that was created, if any
+ * @crypto_name: crypto device that was created (basename only)
+ * @crypto_device: full path to the crypto device
++ * @mountpoint: assigned mountpoint
+ */
+ struct ehd_mount_info {
+ char *container;
+@@ -19,25 +21,36 @@
+ char *loop_device;
+ hxmc_t *crypto_name;
+ hxmc_t *crypto_device;
++ hxmc_t *mountpoint;
+ };
+
+ /**
+ * struct ehd_mount_request - mapping and mount request for EHD
+ * @container: path to disk image
++ * @fstype: filesystem type
++ * @mount_opts: mount options for fs
+ * @mountpoint: where to mount the volume on
+ * @fs_cipher: cipher used for filesystem, if any. (cryptsetup name)
+ * @fs_hash: hash used for filesystem, if any. (cryptsetup name)
+ * @key_data: key material/password
+ * @key_size: size of key data, in bytes
+ * @trunc_keysize: extra cryptsetup instruction for truncation (in bytes)
++ * @loop_hook: hook function to run after loop device setup
++ * @crypto_hook: hook function to run after crypto device setup
++ * @hook_priv: user data
+++ * @last_stage: stop after setup of given component
+ * @readonly: whether to create a readonly vfsmount
++ * @allow_discards: allow fs trim requests
+ */
+ struct ehd_mount_request {
+- char *container, *crypto_name, *mountpoint;
++ char *container, *crypto_name, *fstype, *mount_opts, *mountpoint;
+ char *fs_cipher, *fs_hash;
+ void *key_data;
++ ehd_hook_fn_t loop_hook, crypto_hook;
++ void *hook_priv;
+ unsigned int key_size, trunc_keysize;
+- bool readonly;
++ enum ehd_mtreq_stage last_stage;
++ bool readonly, allow_discards;
+ };
+
+ struct ehd_crypto_ops {
+diff -wbBurN pam_mount-2.13/src/crypto.c pam-mount/src/crypto.c
+--- pam_mount-2.13/src/crypto.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/crypto.c 2012-10-11 15:28:24.851553965 +0400
+@@ -100,6 +100,9 @@
+ case EHD_MTINFO_LOOPDEV:
+ *static_cast(const char **, ptr) = mt->loop_device;
+ break;
++ case EHD_MTINFO_LOWERDEV:
++ *static_cast(const char **, ptr) = mt->lower_device;
++ break;
+ default:
+ return 0;
+ }
+@@ -129,6 +132,7 @@
+ rq = calloc(1, sizeof(*rq));
+ if (rq == NULL)
+ return NULL;
++ rq->last_stage = EHD_MTREQ_STAGE_MOUNT;
+ return rq;
+ }
+
+@@ -147,7 +151,7 @@
+ {
+ va_list args;
+ const void *orig;
+- void *nv;
++ void *nv = NULL;
+
+ va_start(args, opt);
+ switch (opt) {
+@@ -156,6 +160,8 @@
+ case EHD_MTREQ_MOUNTPOINT:
+ case EHD_MTREQ_FS_CIPHER:
+ case EHD_MTREQ_FS_HASH:
++ case EHD_MTREQ_FSTYPE:
++ case EHD_MTREQ_MOUNT_OPTS:
+ orig = va_arg(args, const char *);
+ nv = HX_strdup(orig);
+ if (nv == NULL && orig != NULL)
+@@ -178,6 +184,21 @@
+ case EHD_MTREQ_READONLY:
+ rq->readonly = va_arg(args, unsigned int);
+ break;
++ case EHD_MTREQ_LOOP_HOOK:
++ rq->loop_hook = va_arg(args, ehd_hook_fn_t);
++ break;
++ case EHD_MTREQ_HOOK_PRIV:
++ rq->hook_priv = va_arg(args, void *);
++ break;
++ case EHD_MTREQ_CRYPTO_HOOK:
++ rq->crypto_hook = va_arg(args, ehd_hook_fn_t);
++ break;
++ case EHD_MTREQ_LAST_STAGE:
++ rq->last_stage = va_arg(args, enum ehd_mtreq_stage);
++ break;
++ case EHD_MTREQ_ALLOW_DISCARDS:
++ rq->allow_discards = va_arg(args, unsigned int);
++ break;
+ }
+ switch (opt) {
+ case EHD_MTREQ_CONTAINER:
+@@ -200,6 +221,14 @@
+ free(rq->fs_hash);
+ rq->fs_hash = nv;
+ break;
++ case EHD_MTREQ_FSTYPE:
++ free(rq->fstype);
++ rq->fstype = nv;
++ break;
++ case EHD_MTREQ_MOUNT_OPTS:
++ free(rq->mount_opts);
++ rq->mount_opts = nv;
++ break;
+ default:
+ break;
+ }
+@@ -210,25 +239,52 @@
+ return -errno;
+ }
+
++static int ehd_wait_for_file(const char *path)
++{
++ static const struct timespec delay = {0, 100000000};
++ unsigned int retries = 50;
++ struct stat sb;
++ bool done = false;
++ int ret;
++
++ /* Nicer way to do these wait loops? libudev? */
++ while (retries-- > 0) {
++ ret = stat(path, &sb);
++ if (ret == 0)
++ break;
++ ret = -errno;
++ if (ret != -ENOENT)
++ return -errno;
++ if (!done) {
++ w4rn("Waiting for %s to appear\n", path);
++ done = true;
++ }
++ fprintf(stderr, ".");
++ nanosleep(&delay, NULL);
++ }
++ if (ret == -ENOENT)
++ w4rn("Device node %s was not created\n", path);
++ return (ret == 0) ? 1 : ret;
++}
++
+ /**
+ * ehd_load - set up crypto device for an EHD container
+ * @req: parameters for setting up the mount
+ * @mt: EHD mount state
+ */
+-EXPORT_SYMBOL int ehd_load(const struct ehd_mount_request *req,
++EXPORT_SYMBOL int ehd_load(struct ehd_mount_request *req,
+ struct ehd_mount_info **mtp)
+ {
+ struct stat sb;
+ int saved_errno, ret;
+ struct ehd_mount_info *mt;
+
+- *mtp = mt = malloc(sizeof(*mt));
+ if (stat(req->container, &sb) < 0) {
+ l0g("Could not stat %s: %s\n", req->container, strerror(errno));
+ return -errno;
+ }
+
+- *mtp = mt = malloc(sizeof(*mt));
++ *mtp = mt = calloc(1, sizeof(*mt));
+ if (mt == NULL)
+ goto out_err;
+ if ((mt->container = HX_strdup(req->container)) == NULL)
+@@ -252,7 +308,19 @@
+ w4rn("Using %s\n", mt->loop_device);
+ mt->lower_device = mt->loop_device;
+ }
++
++ ret = ehd_wait_for_file(mt->loop_device);
++ if (ret <= 0)
++ goto out_ser;
++ }
++
++ if (req->loop_hook != NULL) {
++ ret = req->loop_hook(req, mt, req->hook_priv);
++ if (ret <= 0)
++ goto out_ser;
+ }
++ if (req->last_stage == EHD_MTREQ_STAGE_LOOP)
++ return 1;
+
+ #ifdef HAVE_LIBCRYPTSETUP
+ ret = ehd_dmcrypt_ops.load(req, mt);
+@@ -264,6 +332,18 @@
+ if (ret <= 0)
+ goto out_ser;
+
++ ret = ehd_wait_for_file(mt->crypto_device);
++ if (ret <= 0)
++ goto out_ser;
++
++ if (req->crypto_hook != NULL) {
++ ret = req->crypto_hook(req, mt, req->hook_priv);
++ if (ret <= 0)
++ goto out_ser;
++ }
++ if (req->last_stage == EHD_MTREQ_STAGE_CRYPTO)
++ return 1;
++
+ return ret;
+
+ out_err:
+@@ -294,6 +374,7 @@
+ {
+ int ret, ret2;
+
++ if (mt->crypto_device != NULL) {
+ #ifdef HAVE_LIBCRYPTSETUP
+ ret = ehd_dmcrypt_ops.unload(mt);
+ #elif defined(HAVE_DEV_CGDVAR_H)
+@@ -301,6 +382,9 @@
+ #else
+ ret = -EOPNOTSUPP;
+ #endif
++ } else {
++ ret = 1;
++ }
+ /* Try to free loop device even if cryptsetup remove failed */
+ if (mt->loop_device != NULL) {
+ ret2 = ehd_loop_release(mt->loop_device);
+@@ -445,7 +529,7 @@
+ {
+ va_list args;
+ const void *orig;
+- void *nv;
++ void *nv = NULL;
+
+ va_start(args, opt);
+ switch (opt) {
+diff -wbBurN pam_mount-2.13/src/crypto-dmc.c pam-mount/src/crypto-dmc.c
+--- pam_mount-2.13/src/crypto-dmc.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/crypto-dmc.c 2012-10-11 15:28:24.851553965 +0400
+@@ -97,6 +97,14 @@
+ }
+ if (req->readonly)
+ flags |= CRYPT_ACTIVATE_READONLY;
++ if (req->allow_discards) {
++#ifdef CRYPT_ACTIVATE_ALLOW_DISCARDS
++ flags |= CRYPT_ACTIVATE_ALLOW_DISCARDS;
++#else
++ fprintf(stderr, "CRYPT_ACTIVATE_ALLOW_DISCARDS requested, "
++ "but not provided by your libcryptsetup.\n");
++#endif
++ }
+
+ ret = crypt_load(cd, CRYPT_LUKS1, NULL);
+ if (ret == 0) {
+diff -wbBurN pam_mount-2.13/src/ehd.c pam-mount/src/ehd.c
+--- pam_mount-2.13/src/ehd.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/ehd.c 2012-10-11 15:28:24.851553965 +0400
+@@ -41,8 +41,6 @@
+ /**
+ * @size: container size in bytes
+ * @path: store container at this path
+- * @loop_dev: loop device in use (may be %NULL)
+- * @device: pointer to either @path or @loop_dev as crypto demands
+ * @fstype: initialize container with this filesystem
+ * @cipher: cipher specification as understood by cryptsetup
+ * @keybits: block size, as understood by cryptsetup and the cipher
+@@ -51,7 +49,7 @@
+ */
+ struct container_ctl {
+ unsigned long long size;
+- char *path, *loop_dev, *device, *fstype, *cipher, *hash, *user;
++ char *path, *fstype, *cipher, *hash, *user;
+ unsigned int keybits, skip_random, uid;
+ bool blkdev;
+ };
+@@ -61,11 +59,12 @@
+ * @force_level: number of "-f"s passed
+ * @interactive: if stdin is a tty
+ * @cont: container control substructure
+- * @fskey: fskey control substructure
++ * @password: master key password
+ */
+ struct ehd_ctl {
+ unsigned int force_level;
+ struct container_ctl cont;
++ const char *password;
+ bool interactive;
+ };
+
+@@ -239,16 +238,23 @@
+ return ret;
+ }
+
+-static bool ehd_mkfs(const struct ehd_ctl *pg, const hxmc_t *crypto_device)
++static bool ehd_mkfs(struct ehd_mount_request *rq,
++ struct ehd_mount_info *mtinfo, void *priv)
+ {
++ const struct ehd_ctl *pg = priv;
+ const struct container_ctl *cont = &pg->cont;
++ const char *crypto_device = NULL;
++ int ret;
++
++ ehd_mtinfo_get(mtinfo, EHD_MTINFO_CRYPTODEV, &crypto_device);
++ if (!cont->skip_random)
++ ehd_xfer2(crypto_device, cont->size);
+
+ hxmc_t *fsprog = HXmc_strinit("mkfs.");
+ HXmc_strcat(&fsprog, cont->fstype);
+ const char *const argv[] = {fsprog, crypto_device, NULL};
+- int ret;
+
+- fprintf(stderr, "-- Calling %s\n", fsprog);
++ fprintf(stderr, "-- Calling %s %s\n", fsprog, crypto_device);
+ if ((ret = HXproc_run_sync(argv, HXPROC_VERBOSE)) < 0 || ret != 0)
+ fprintf(stderr, "%s failed with run_sync status %d\n",
+ fsprog, ret);
+@@ -273,24 +279,34 @@
+ HX_strlcpy(cipher_mode, p, cm_size);
+ }
+
+-static int ehd_init_volume_luks(struct ehd_ctl *pg, const char *password)
++static int ehd_init_volume_luks(struct ehd_mount_request *rq,
++ struct ehd_mount_info *mtinfo, void *priv)
+ {
+ /*
+ * Pick what? WP specifies that XTS has a wider support range than
+ * ESSIV. But XTS is also double complexity due to the double key,
+ * without adding anything of value.
+ */
++ struct ehd_ctl *pg = priv;
+ struct container_ctl *cont = &pg->cont;
+ char cipher[32], cipher_mode[32];
+ struct crypt_params_luks1 format_params = {.hash = cont->hash};
+ struct crypt_device *cd = NULL;
++ const char *lower_dev = NULL;
+ int ret;
+
++ BUILD_BUG_ON(!__builtin_types_compatible_p(
++ __typeof__(&ehd_init_volume_luks), ehd_hook_fn_t));
++
+ ehd_parse_name(cont->cipher, cipher, sizeof(cipher),
+ cipher_mode, sizeof(cipher_mode));
+- ret = crypt_init(&cd, cont->device);
++ ret = ehd_mtinfo_get(mtinfo, EHD_MTINFO_LOWERDEV, &lower_dev);
++ if (ret <= 0 || lower_dev == NULL)
++ goto out;
++ ret = crypt_init(&cd, lower_dev);
+ if (ret < 0) {
+- fprintf(stderr, "crypt_init: %s\n", strerror(-ret));
++ fprintf(stderr, "crypt_init: %s: %s\n",
++ lower_dev, strerror(-ret));
+ goto out;
+ }
+ ret = crypt_format(cd, CRYPT_LUKS1, cipher, cipher_mode, NULL, NULL,
+@@ -300,7 +316,7 @@
+ goto out2;
+ }
+ ret = crypt_keyslot_add_by_volume_key(cd, CRYPT_ANY_SLOT, NULL, 0,
+- password, strlen(password));
++ pg->password, strlen(pg->password));
+ if (ret < 0) {
+ fprintf(stderr, "add_by_volume_key: %s\n", strerror(-ret));
+ goto out2;
+@@ -315,70 +331,53 @@
+ /**
+ * ehd_init_volume - set up loop device association if necessary
+ */
+-static bool ehd_init_volume(struct ehd_ctl *pg, const char *password)
++static bool ehd_init_volume(struct ehd_ctl *pg)
+ {
+ struct container_ctl *cont = &pg->cont;
+ struct ehd_mount_info *mount_info;
+ struct ehd_mount_request *mount_request;
+- bool f_ret = false;
+ int ret;
+
+- if (cont->blkdev) {
+- cont->device = cont->path;
+- } else {
+- /*
+- * Need manual setup of loop device here, since ehd_load
+- * always does a crypt mount too, which we do not have yet.
+- */
+- ret = ehd_loop_setup(cont->path, &cont->loop_dev, EHD_LOSETUP_RW);
+- if (ret == 0) {
+- fprintf(stderr, "loop_setup: error: no free loop "
+- "devices\n");
+- return false;
+- } else if (ret < 0) {
+- fprintf(stderr, "loop_setup: error: %s\n",
+- strerror(-ret));
+- return false;
+- }
+- cont->device = cont->loop_dev;
+- }
+-
+- ehd_init_volume_luks(pg, password);
+- ret = ehd_loop_release(cont->device);
+- if (ret <= 0)
+- fprintf(stderr, "loop_release: warning: %s\n", strerror(-ret));
+-
+ mount_request = ehd_mtreq_new();
+ if (mount_request == NULL)
+ return -errno;
+ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_CONTAINER, cont->path);
+ if (ret < 0)
+ goto out;
+- ret = ehd_mtreq_set(mount_request, EHD_MTREQ_KEY_SIZE, strlen(password));
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_KEY_SIZE,
++ strlen(pg->password));
+ if (ret < 0)
+ goto out;
+- ret = ehd_mtreq_set(mount_request, EHD_MTREQ_KEY_DATA, password);
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_KEY_DATA, pg->password);
+ if (ret < 0)
+ goto out;
+ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_READONLY, EHD_LOSETUP_RW);
+ if (ret < 0)
+ goto out;
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_LOOP_HOOK,
++ ehd_init_volume_luks);
++ if (ret < 0)
++ goto out;
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_HOOK_PRIV, pg);
++ if (ret < 0)
++ goto out;
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_CRYPTO_HOOK, ehd_mkfs);
++ if (ret < 0)
++ goto out;
++ /* We don't need to mount it */
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_LAST_STAGE,
++ EHD_MTREQ_STAGE_CRYPTO);
++ if (ret < 0)
++ goto out;
+
+- if (ehd_load(mount_request, &mount_info) > 0) {
+- const char *crypto_device = NULL;
+- ehd_mtinfo_get(mount_info, EHD_MTINFO_CRYPTODEV, &crypto_device);
+- if (!cont->skip_random)
+- ehd_xfer2(crypto_device, cont->size);
+- f_ret = ehd_mkfs(pg, crypto_device);
++ ret = ehd_load(mount_request, &mount_info);
++ if (ret > 0) {
+ ret = ehd_unload(mount_info);
+- /* If mkfs failed, use its code. */
+ ehd_mtinfo_free(mount_info);
+- if (f_ret)
+- f_ret = ret > 0;
+ }
+ out:
+ ehd_mtreq_free(mount_request);
+- return f_ret;
++ return ret > 0;
+ }
+
+ static void ehd_final_printout(const struct ehd_ctl *pg)
+@@ -463,16 +462,15 @@
+ HX_getl(&tmp, stdin);
+ HX_chomp(tmp);
+ s = strtoul(tmp, NULL, 0);
++ s <<= 20; /* megabytes -> bytes */
+ } while (*tmp == '\0' || s == 0);
+ cont->size = s;
+ }
+
+- if (strcmp(cont->fstype, "xfs") == 0 && cont->size < 16)
++ if (strcmp(cont->fstype, "xfs") == 0 && cont->size < 16*1048576)
+ fprintf(stderr, "Warning: XFS volumes need to be "
+ "at least 16 MB\n");
+
+- cont->size <<= 20; /* megabytes -> bytes */
+-
+ if (cont->cipher == NULL) {
+ cont->cipher = HX_strdup(ehd_default_dmcipher);
+ if (cont->keybits == 0)
+@@ -544,6 +542,7 @@
+ HXOPT_ERR_SUCCESS)
+ return false;
+
++ cont->size <<= 20; /* mb -> b */
+ pg->interactive = isatty(fileno(stdin));
+ return ehd_fill_options_container(pg);
+ }
+@@ -574,8 +573,8 @@
+ goto out;
+ }
+
+- ret = ehd_init_volume(pg, password != NULL ? password : "") ?
+- EXIT_SUCCESS : EXIT_FAILURE;
++ pg->password = (password != NULL) ? password : "";
++ ret = ehd_init_volume(pg) ? EXIT_SUCCESS : EXIT_FAILURE;
+ if (ret == EXIT_SUCCESS)
+ ehd_final_printout(pg);
+
+diff -wbBurN pam_mount-2.13/src/ismnt.c pam-mount/src/ismnt.c
+--- pam_mount-2.13/src/ismnt.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/ismnt.c 1970-01-01 03:00:00.000000000 +0300
+@@ -1,45 +0,0 @@
+-/*
+- * Internal diagnostic tool to debug pmt mtab.c
+- * Copyright © Jan Engelhardt, 2009
+- *
+- * This file is part of pam_mount; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public License
+- * as published by the Free Software Foundation; either version 2.1
+- * of the License, or (at your option) any later version.
+- */
+-#include <errno.h>
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <libHX/init.h>
+-#include "pam_mount.h"
+-
+-int main(int argc, const char **argv)
+-{
+- int ret;
+-
+- ret = HX_init();
+- if (ret <= 0) {
+- fprintf(stderr, "HX_init: %s\n", strerror(errno));
+- abort();
+- }
+-
+- if (argc < 3) {
+- fprintf(stderr, "Usage: %s dev mountpoint\n", *argv);
+- return EXIT_FAILURE;
+- }
+-
+- ret = pmt_cmtab_mounted(argv[1], argv[2]);
+- if (ret < 0) {
+- fprintf(stderr, "%s\n", strerror(-ret));
+- ret = 2;
+- } else if (ret == 0) {
+- printf("Not mounted\n");
+- ret = EXIT_FAILURE;
+- } else {
+- printf("Mounted\n");
+- ret = EXIT_SUCCESS;
+- }
+- HX_exit();
+- return ret;
+-}
+diff -wbBurN pam_mount-2.13/src/libcryptmount.h pam-mount/src/libcryptmount.h
+--- pam_mount-2.13/src/libcryptmount.h 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/libcryptmount.h 2012-10-11 15:28:24.851553965 +0400
+@@ -69,6 +69,13 @@
+ EHD_MTREQ_TRUNC_KEYSIZE,
+ EHD_MTREQ_READONLY,
+ EHD_MTREQ_CRYPTONAME,
++ EHD_MTREQ_LOOP_HOOK,
++ EHD_MTREQ_HOOK_PRIV,
++ EHD_MTREQ_CRYPTO_HOOK,
++ EHD_MTREQ_LAST_STAGE,
++ EHD_MTREQ_FSTYPE,
++ EHD_MTREQ_MOUNT_OPTS,
++ EHD_MTREQ_ALLOW_DISCARDS,
+ };
+
+ enum ehd_mtinfo_opt {
+@@ -76,11 +83,22 @@
+ EHD_MTINFO_CRYPTONAME,
+ EHD_MTINFO_CRYPTODEV,
+ EHD_MTINFO_LOOPDEV,
++ EHD_MTINFO_LOWERDEV,
++};
++
++enum ehd_mtreq_stage {
++ EHD_MTREQ_STAGE_NONE,
++ EHD_MTREQ_STAGE_LOOP,
++ EHD_MTREQ_STAGE_CRYPTO,
++ EHD_MTREQ_STAGE_MOUNT,
+ };
+
+ struct ehd_mount_info;
+ struct ehd_mount_request;
+
++typedef int (*ehd_hook_fn_t)(struct ehd_mount_request *,
++ struct ehd_mount_info *, void *);
++
+ extern int cryptmount_init(void);
+ extern void cryptmount_exit(void);
+
+@@ -91,7 +109,7 @@
+ extern int ehd_mtinfo_get(struct ehd_mount_info *, enum ehd_mtinfo_opt, void *);
+ extern void ehd_mtinfo_free(struct ehd_mount_info *);
+
+-extern int ehd_load(const struct ehd_mount_request *, struct ehd_mount_info **);
++extern int ehd_load(struct ehd_mount_request *, struct ehd_mount_info **);
+ extern int ehd_unload(struct ehd_mount_info *);
+ extern int ehd_is_luks(const char *, bool);
+
+diff -wbBurN pam_mount-2.13/src/Makefile.am pam-mount/src/Makefile.am
+--- pam_mount-2.13/src/Makefile.am 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/Makefile.am 2012-10-11 15:28:24.851553965 +0400
+@@ -8,9 +8,11 @@
+ moduledir = @PAM_MODDIR@
+ module_LTLIBRARIES = pam_mount.la
+ sbin_PROGRAMS = pmvarrun
++if HAVE_LIBCRYPTSETUP
+ sbin_PROGRAMS += pmt-ehd
++endif
+ ssbin_PROGRAMS = mount.crypt
+-noinst_PROGRAMS = autoloop ismnt
++noinst_PROGRAMS = autoloop
+ noinst_SCRIPTS = umount.crypt
+
+ lib_LTLIBRARIES = libcryptmount.la
+@@ -64,10 +66,6 @@
+ autoloop_SOURCES = autoloop.c
+ autoloop_LDADD = libcryptmount.la ${libHX_LIBS}
+
+-ismnt_SOURCES = ismnt.c log.c
+-ismnt_CFLAGS = ${AM_CFLAGS}
+-ismnt_LDADD = libpmt_mtab.la
+-
+ #
+ # mount helpers
+ #
+@@ -75,7 +73,7 @@
+ mount_crypt_LDADD = libcryptmount.la libpmt_mtab.la ${libHX_LIBS}
+
+ pmt_ehd_SOURCES = ehd.c bdev.c misc.c spawn.c
+-pmt_ehd_LDADD = libcryptmount.la ${libHX_LIBS}
++pmt_ehd_LDADD = libcryptmount.la ${libHX_LIBS} ${libcryptsetup_LIBS}
+
+ #
+ # runtime helpers
+@@ -83,10 +81,10 @@
+ pmvarrun_SOURCES = pmvarrun.c
+ pmvarrun_LDADD = libcryptmount.la ${libHX_LIBS}
+
+-EXTRA_DIST = misc.h mount.h pam_mount.h readconfig.h spawn.h
++EXTRA_DIST = cmt-internal.h libcryptmount.h pam_mount.h libcryptmount.map
+
+ umount.crypt${EXEEXT}: mount.crypt${EXEEXT}
+- -${LN_S} $^ $@;
++ -${LN_S} -f $^ $@;
+
+ if !KEEP_LA
+ install-data-hook:
+diff -wbBurN pam_mount-2.13/src/misc.c pam-mount/src/misc.c
+--- pam_mount-2.13/src/misc.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/misc.c 2012-10-11 15:28:24.851553965 +0400
+@@ -28,18 +28,6 @@
+ struct HXbtree;
+
+ /**
+- * misc_dump_id - print user IDs
+- */
+-void misc_dump_id(const char *where)
+-{
+- w4rn("%s: (ruid/rgid=%u/%u, e=%u/%u)\n", where,
+- static_cast(unsigned int, getuid()),
+- static_cast(unsigned int, getgid()),
+- static_cast(unsigned int, geteuid()),
+- static_cast(unsigned int, getegid()));
+-}
+-
+-/**
+ * pmt_fileop_exists -
+ * @file: file to check
+ *
+@@ -47,7 +35,7 @@
+ * non-zero if that was successful. Returns 0 for error. %errno will be set
+ * in case of error.
+ */
+-int pmt_fileop_exists(const char *file)
++bool pmt_fileop_exists(const char *file)
+ {
+ struct stat sb;
+ assert(file != NULL);
+@@ -61,7 +49,7 @@
+ * Check if a path is a regular file and return positive non-zero if that was
+ * successful. Returns 0 for error. %errno will be set in case of error.
+ */
+-int pmt_fileop_isreg(const char *path)
++bool pmt_fileop_isreg(const char *path)
+ {
+ struct stat sb;
+
+@@ -75,11 +63,10 @@
+ * @user: user to check for
+ * @file: file to check
+ *
+- * Checks whether @user owns @file. Returns positive non-zero if this is the
+- * case, otherwise zero. If an error occurred, zero is returned and %errno
+- * is set. (For the success case, %errno is undefined.)
++ * Checks whether @user owns @file. If an error occurred, false is returned and
++ * %errno is set. (For the success case, %errno is undefined.)
+ */
+-int pmt_fileop_owns(const char *user, const char *file)
++bool pmt_fileop_owns(const char *user, const char *file)
+ {
+ struct stat filestat;
+ struct passwd *userinfo;
+@@ -90,12 +77,12 @@
+ if ((userinfo = getpwnam(user)) == NULL) {
+ l0g("user %s could not be translated to UID\n",
+ user);
+- return 0;
++ return false;
+ }
+
+ if (stat(file, &filestat) != 0) {
+ w4rn("file %s could not be stat'ed\n", file);
+- return 0;
++ return false;
+ }
+
+ return filestat.st_uid == userinfo->pw_uid &&
+diff -wbBurN pam_mount-2.13/src/mount.c pam-mount/src/mount.c
+--- pam_mount-2.13/src/mount.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/mount.c 2012-10-11 15:28:24.851553965 +0400
+@@ -295,6 +295,7 @@
+ dtmp = HXmc_strinit(d);
+ if (dtmp == NULL || (!is_file && HXmc_strcat(&dtmp, "/") == NULL)) {
+ l0g("HXmc_strinit: %s\n", strerror(errno));
++ HXmc_free(dtmp);
+ return false;
+ }
+
+@@ -350,6 +351,7 @@
+ w4rn("chown %s -> %ld:%ld\n", dtmp,
+ static_cast(long, pe->pw_uid),
+ static_cast(long, pe->pw_gid));
++ *last = '/';
+ }
+ HXmc_free(dtmp);
+
+@@ -435,10 +437,11 @@
+ ret = proc.p_exited && proc.p_status == 0;
+
+ out:
+- if (config->mkmntpoint && config->rmdir_mntpt && vpt->created_mntpt)
++ if (vpt->created_mntpt && config->rmdir_mntpt)
+ if (rmdir(vpt->mountpoint) < 0)
+ /* non-fatal, but warn */
+- w4rn("could not remove %s\n", vpt->mountpoint);
++ w4rn("could not remove %s: %s\n", vpt->mountpoint,
++ strerror(errno));
+ return ret;
+ }
+
+@@ -577,9 +580,14 @@
+ if (ret < 0)
+ goto out;
+ ret = ehd_keydec_run(dp, result);
+- if (ret != EHD_KEYDEC_SUCCESS)
+- l0g("ehd_keydec_run: %s\n",
+- ehd_keydec_strerror(ret));
++ if (ret == EHD_KEYDEC_NODIGEST)
++ l0g("ehd_keydec_run: %s: \"%s\"\n", ehd_keydec_strerror(ret),
++ vol->fs_key_hash);
++ else if (ret == EHD_KEYDEC_NOCIPHER)
++ l0g("ehd_keydec_run: %s: \"%s\"\n", ehd_keydec_strerror(ret),
++ vol->fs_key_cipher);
++ else if (ret != EHD_KEYDEC_SUCCESS)
++ l0g("ehd_keydec_run: %s\n", ehd_keydec_strerror(ret));
+ out:
+ ehd_kdreq_free(dp);
+ return ret;
+@@ -601,7 +609,7 @@
+ struct HXdeque *argv;
+ struct HXproc proc;
+ const char *mount_user;
+- hxmc_t *ll_password;
++ hxmc_t *ll_password = NULL;
+ int ret;
+
+ assert(vinfo != NULL);
+@@ -642,8 +650,11 @@
+ * any openssl decryption. Without %CMD_CRYPTMOUNT however,
+ * we have to do this ourselves.
+ */
++ w4rn("Not a crypto-type volume. Will decode OpenSSL key.\n");
+ ret = pmt_decrypt_keyfile(vpt, password, &ll_password);
+ } else {
++ w4rn("This is a crypto-type volume. "
++ "Key decoding deferred to mount.crypt.\n");
+ ll_password = HXmc_strinit(password);
+ }
+ if (ll_password == NULL)
+@@ -698,7 +709,8 @@
+ return 0;
+ }
+
+- if (!proc.p_exited || proc.p_status != 0) {
++ if ((!proc.p_exited || proc.p_status != 0) &&
++ vpt->created_mntpt && config->rmdir_mntpt) {
+ /*
+ * Remove mountpoint if mount failed, to flag unavailability
+ * of service (e.g. when mntpt is the user's home directory).
+diff -wbBurN pam_mount-2.13/src/mtab.c pam-mount/src/mtab.c
+--- pam_mount-2.13/src/mtab.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/mtab.c 2012-10-11 15:28:24.851553965 +0400
+@@ -35,6 +35,7 @@
+ #include <libHX/defs.h>
+ #include <libHX/io.h>
+ #include <libHX/string.h>
++#include "cmt-internal.h"
+ #include "libcryptmount.h"
+ #include "pam_mount.h"
+
+@@ -191,28 +192,27 @@
+ return ret;
+ }
+
+-int pmt_cmtab_add(const char *mountpoint, const char *container,
+- const char *loop_device, const char *crypto_device)
++int pmt_cmtab_add(struct ehd_mount_info *mt)
+ {
++ const char *loop_device, *crypto_device;
+ hxmc_t *line;
+ int ret;
+
+- if (container == NULL)
++ if (mt->container == NULL)
+ return -EINVAL;
+- if (loop_device == NULL)
+- loop_device = "-";
+- if (crypto_device == NULL)
+- crypto_device = "-";
++ loop_device = (mt->loop_device == NULL) ? "-" : mt->loop_device;
++ crypto_device = (mt->crypto_device == NULL) ? "-" : mt->crypto_device;
+
+ /* Preallocate just the normal size */
+- line = HXmc_meminit(NULL, strlen(mountpoint) + strlen(container) +
+- strlen(loop_device) + strlen(crypto_device) + 5);
++ line = HXmc_meminit(NULL, strlen(mt->mountpoint) +
++ strlen(mt->container) + strlen(loop_device) +
++ strlen(crypto_device) + 5);
+ if (line == NULL)
+ return -errno;
+
+- mt_esccat(&line, mountpoint);
++ mt_esccat(&line, mt->mountpoint);
+ HXmc_strcat(&line, "\t");
+- mt_esccat(&line, container);
++ mt_esccat(&line, mt->container);
+ HXmc_strcat(&line, "\t");
+ mt_esccat(&line, loop_device);
+ HXmc_strcat(&line, "\t");
+diff -wbBurN pam_mount-2.13/src/mtcrypt.c pam-mount/src/mtcrypt.c
+--- pam_mount-2.13/src/mtcrypt.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/mtcrypt.c 2012-10-11 15:28:24.851553965 +0400
+@@ -44,6 +44,7 @@
+ * @blkdev: true if @container is a block device
+ * @fsck: true if fsck should be performed
+ * @remount: issue a remount
++ * @allow_discards: allow fs trim requests
+ */
+ struct mount_options {
+ hxmc_t *object, *container, *mountpoint;
+@@ -53,11 +54,11 @@
+ hxmc_t *fsk_password, *extra_opts, *crypto_device;
+ char *loop_device;
+ unsigned int no_update, readonly, trunc_keysize;
+- int dm_timeout;
+ bool is_cont;
+ bool blkdev;
+ bool fsck;
+ bool remount;
++ bool allow_discards;
+ };
+
+ /**
+@@ -120,9 +121,7 @@
+ else if (ret < EHD_SECURITY_UNSPEC)
+ fprintf(stderr, "Hash \"%s\" is considered "
+ "insecure.\n", value);
+- } else if (strcmp(key, "dm-timeout") == 0)
+- mo->dm_timeout = strtoul(value, NULL, 0);
+- else if (strcmp(key, "fstype") == 0)
++ } else if (strcmp(key, "fstype") == 0)
+ mo->fstype = value;
+ else if (strcmp(key, "keyfile") == 0)
+ mo->fsk_file = value;
+@@ -165,6 +164,8 @@
+ mo->readonly = EHD_LOSETUP_RO;
+ else if (strcmp(key, "rw") == 0)
+ mo->readonly = EHD_LOSETUP_RW;
++ else if (strcmp(key, "discard") == 0)
++ mo->allow_discards = true;
+ }
+
+ if (*passthru != '\0') {
+@@ -397,6 +398,26 @@
+ return ret;
+ }
+
++static int mtcr_fsck(struct ehd_mount_request *rq,
++ struct ehd_mount_info *mtinfo)
++{
++ const char *const fsck_args[4] =
++ {"fsck", "-p", mtinfo->crypto_device, NULL};
++ int ret;
++
++ arglist_llog(fsck_args);
++ ret = HXproc_run_sync(fsck_args, HXPROC_VERBOSE);
++ /*
++ * Return codes higher than 1 indicate that manual intervention
++ * is required, therefore abort the mount/login.
++ * Lower than 0: internal error (e.g. fork).
++ */
++ if (ret != 0 && ret != 1)
++ fprintf(stderr, "Automatic fsck failed, manual intervention "
++ "required, run_status/exit status %d\n", ret);
++ return ret == 0;
++}
++
+ /**
+ * mtcr_mount
+ *
+@@ -405,8 +426,6 @@
+ static int mtcr_mount(struct mount_options *opt)
+ {
+ const char *mount_args[8];
+- const char *fsck_args[4];
+- struct stat sb;
+ hxmc_t *key = NULL;
+ int ret, argk;
+ struct ehd_mount_info *mount_info;
+@@ -433,6 +452,10 @@
+ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_READONLY, opt->readonly);
+ if (ret < 0)
+ goto out_r;
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_ALLOW_DISCARDS,
++ opt->allow_discards);
++ if (ret < 0)
++ goto out_r;
+ /* Hack for CRYPT_PLAIN: default to 256 */
+ trunc_keysize = 256 / CHAR_BIT;
+ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_TRUNC_KEYSIZE, trunc_keysize);
+@@ -482,6 +505,12 @@
+ if (ret < 0)
+ goto out_r;
+ }
++ if (opt->fsck) {
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_CRYPTO_HOOK,
++ mtcr_fsck);
++ if (ret < 0)
++ goto out_r;
++ }
+
+ w4rn("keysize=%u trunc_keysize=%u\n", key_size, trunc_keysize);
+ if ((ret = ehd_load(mount_request, &mount_info)) < 0) {
+@@ -490,44 +519,6 @@
+ } else if (ret == 0) {
+ goto out_z;
+ }
+- if (mount_info->crypto_device == NULL) {
+- if (mtcr_debug)
+- fprintf(stderr, "No crypto device assigned\n");
+- ehd_unload(mount_info);
+- ehd_mtinfo_free(mount_info);
+- goto out_z;
+- }
+-
+- opt->dm_timeout *= 3;
+- while (stat(mount_info->crypto_device, &sb) < 0 && errno == ENOENT &&
+- opt->dm_timeout-- > 0)
+- usleep(333333);
+-
+- if (opt->fsck) {
+- argk = 0;
+- fsck_args[argk++] = "fsck";
+- fsck_args[argk++] = "-p";
+- fsck_args[argk++] = mount_info->crypto_device;
+- fsck_args[argk] = NULL;
+- assert(argk < ARRAY_SIZE(fsck_args));
+-
+- arglist_llog(fsck_args);
+- ret = HXproc_run_sync(fsck_args, HXPROC_VERBOSE);
+-
+- /*
+- * Return codes higher than 1 indicate that manual intervention
+- * is required, therefore abort the mount/login.
+- * Lower than 0: internal error (e.g. fork).
+- */
+- if (ret != 0 && ret != 1) {
+- fprintf(stderr, "Automatic fsck failed, manual "
+- "intervention required, run_sync status %d\n",
+- ret);
+- ehd_unload(mount_info);
+- ehd_mtinfo_free(mount_info);
+- goto out_z;
+- }
+- }
+
+ /* candidate for replacement by some libmount calls, I guess. */
+ argk = 0;
+@@ -550,19 +541,24 @@
+ fprintf(stderr, "mount failed with run_sync status %d\n", ret);
+ ehd_unload(mount_info);
+ ret = 0;
+- } else if ((ret = pmt_cmtab_add(opt->mountpoint,
+- mount_info->container, mount_info->loop_device,
+- mount_info->crypto_device)) <= 0) {
++ goto out_i;
++ }
++ ret = HX_realpath(&mount_info->mountpoint, opt->mountpoint,
++ HX_REALPATH_DEFAULT | HX_REALPATH_ABSOLUTE);
++ if (ret <= 0)
++ goto out_i;
++ if ((ret = pmt_cmtab_add(mount_info)) <= 0) {
+ fprintf(stderr, "pmt_cmtab_add: %s\n", strerror(errno));
+ /* ignore error on cmtab - let user have his crypto */
+ } else if (opt->no_update) {
+ /* awesome logic */;
+ } else {
+- pmt_smtab_add(mount_info->container, opt->mountpoint,
++ pmt_smtab_add(mount_info->container, mount_info->mountpoint,
+ "crypt", (opt->extra_opts != NULL) ?
+ opt->extra_opts : "defaults");
+ }
+
++ out_i:
+ ehd_mtinfo_free(mount_info);
+ return ret;
+
+diff -wbBurN pam_mount-2.13/src/pam_mount.c pam-mount/src/pam_mount.c
+--- pam_mount-2.13/src/pam_mount.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/pam_mount.c 2012-10-11 15:28:24.851553965 +0400
+@@ -526,6 +526,20 @@
+ return ret;
+ }
+
++static void assert_root(void)
++{
++ /*
++ * I know checking for 0 is rather unflexible, but it does - so far -
++ * account for all the bugreports involving insufficient permissions.
++ */
++ if (geteuid() == 0)
++ return;
++ l0g("*** PAM_MOUNT WAS INVOKED WITH INSUFFICIENT PRIVILEGES. (euid=%ld)\n",
++ static_cast(long, geteuid()));
++ l0g("*** THIS IS A BUG OF THE CALLER. CONSULT YOUR DISTRO.\n");
++ l0g("*** Also see bugs.txt in the pam_mount source tarball/website documentation.\n");
++}
++
+ /**
+ * pam_sm_open_session -
+ * @pamh: PAM handle
+@@ -589,7 +603,7 @@
+ /* There are some volumes, so grab a password. */
+ system_authtok = ses_grab_authtok(pamh);
+
+- misc_dump_id("Session open");
++ assert_root();
+ envpath_init(Config.path);
+ ret = process_volumes(&Config, system_authtok);
+
+@@ -690,12 +704,12 @@
+ l0g("libHX init failed: %s\n", strerror(errno));
+ ret = PAM_SUCCESS;
+ w4rn("received order to close things\n");
++ assert_root();
+ if (Config.volume_list.items == 0) {
+ w4rn("No volumes to umount\n");
+ goto out;
+ }
+
+- misc_dump_id("Session close");
+ /*
+ * call pam_get_user() again because ssh calls PAM fns from seperate
+ * processes.
+diff -wbBurN pam_mount-2.13/src/pam_mount.h pam-mount/src/pam_mount.h
+--- pam_mount-2.13/src/pam_mount.h 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/pam_mount.h 2012-10-11 15:28:24.851553965 +0400
+@@ -156,10 +156,9 @@
+ extern void kvplist_genocide(struct HXclist_head *);
+ extern hxmc_t *kvplist_to_str(const struct HXclist_head *);
+ extern void misc_add_ntdom(struct HXformat_map *, const char *);
+-extern void misc_dump_id(const char *);
+-extern int pmt_fileop_exists(const char *);
+-extern int pmt_fileop_isreg(const char *);
+-extern int pmt_fileop_owns(const char *, const char *);
++extern bool pmt_fileop_exists(const char *);
++extern bool pmt_fileop_isreg(const char *);
++extern bool pmt_fileop_owns(const char *, const char *);
+ extern char *relookup_user(const char *);
+ extern long str_to_long(const char *);
+ extern char *xstrdup(const char *);
+@@ -187,13 +186,14 @@
+ PMT_BY_CRYPTODEV = 1 << 1,
+ };
+
++struct ehd_mount_info;
++
+ extern int pmt_smtab_add(const char *, const char *,
+ const char *, const char *);
+ extern int pmt_smtab_remove(const char *, enum smtab_field);
+ extern int pmt_smtab_mounted(const char *, const char *,
+ int (*)(const char *, const char *));
+-extern int pmt_cmtab_add(const char *, const char *,
+- const char *, const char *);
++extern int pmt_cmtab_add(struct ehd_mount_info *);
+ extern int pmt_cmtab_get(const char *, enum cmtab_field,
+ char **, char **, char **, char **);
+ extern int pmt_cmtab_remove(const char *);
+diff -wbBurN pam_mount-2.13/src/rdconf1.c pam-mount/src/rdconf1.c
+--- pam_mount-2.13/src/rdconf1.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/rdconf1.c 2012-10-11 15:28:24.851553965 +0400
+@@ -340,6 +340,7 @@
+ char options_require[] = "nosuid,nodev";
+
+ memset(config, 0, sizeof(*config));
++ ehd_logctl(EHD_LOGFT_DEBUG, EHD_LOG_SET);
+ config->debug = true;
+ config->mkmntpoint = true;
+
+@@ -1355,6 +1356,10 @@
+ }
+
+ //-----------------------------------------------------------------------------
++/*
++ * This list has no linear relation to vpt->command. Instead, what is done:
++ * config->command[default_command[i].type] = <command>
++ */
+ static const struct pmt_command default_command[] = {
+ {CMD_SMBMOUNT, "smbfs", {"smbmount", "%(COMBOPATH)", "%(MNTPT)", "-o", "username=%(USER),uid=%(USERUID),gid=%(USERGID)%(if %(OPTIONS),\",%(OPTIONS)\")", NULL}},
+ {CMD_SMBUMOUNT, "smbfs", {"smbumount", "%(MNTPT)", NULL}},
+@@ -1368,6 +1373,8 @@
+ {CMD_NFSMOUNT, "nfs4"},
+ {CMD_LCLMOUNT, NULL, {"mount", "-p0", "%(if %(OPTIONS),-o%(OPTIONS))", "-t%(FSTYPE)", "%(VOLUME)", "%(MNTPT)", NULL}},
+ {CMD_CRYPTMOUNT, "crypt", {"mount", "-t", "crypt", "%(if %(CIPHER),-ocipher=%(CIPHER))", "%(if %(FSKEYCIPHER),-ofsk_cipher=%(FSKEYCIPHER))", "%(if %(FSKEYHASH),-ofsk_hash=%(FSKEYHASH))", "%(if %(FSKEYPATH),-okeyfile=%(FSKEYPATH))", "%(if %(OPTIONS),-o%(OPTIONS))", "%(VOLUME)", "%(MNTPT)", NULL}},
++ {CMD_CRYPTMOUNT, "crypt_LUKS"},
++ {CMD_CRYPTMOUNT, "crypto_LUKS"},
+ {CMD_CRYPTUMOUNT, "crypt", {"umount.crypt", "%(MNTPT)", NULL}},
+ {CMD_UMOUNT, NULL, {"umount", "%(MNTPT)", NULL}},
+ {CMD_FSCK, NULL, {"fsck", "-p", "%(FSCKTARGET)", NULL}},
+diff -wbBurN pam_mount-2.13/src/spawn.c pam-mount/src/spawn.c
+--- pam_mount-2.13/src/spawn.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/spawn.c 2012-10-11 15:28:24.851553965 +0400
+@@ -6,10 +6,12 @@
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ */
++#include <errno.h>
+ #include <pthread.h>
+ #include <signal.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <unistd.h>
+ #include <libHX/defs.h>
+ #include <libHX/deque.h>
+@@ -124,9 +126,8 @@
+ if (chdir("/") < 0)
+ ;
+ if (user == NULL) {
+- misc_dump_id("set_myuid<pre>");
+ if (setuid(0) < 0) {
+- l0g("error setting uid to 0\n");
++ l0g("error setting uid to 0: %s\n", strerror(errno));
+ return;
+ }
+ } else {
+@@ -151,7 +152,6 @@
+ setenv("HOME", real_user->pw_dir, 1);
+ setenv("USER", real_user->pw_name, 1);
+ }
+- misc_dump_id("set_myuid<post>");
+ }
+
+ const struct HXproc_ops pmt_dropprivs_ops = {
diff --git a/community/pam_mysql/PKGBUILD b/community/pam_mysql/PKGBUILD
new file mode 100644
index 000000000..077df93d3
--- /dev/null
+++ b/community/pam_mysql/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 87013 2013-03-25 19:16:54Z bpiotrowski $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Arjan Timmerman<arjan@archlinux.org>
+# Contributor: Manolis Tzanidakis
+pkgname=pam_mysql
+pkgver=0.7RC1
+pkgrel=7
+pkgdesc="A PAM module to authenticate users against mysql."
+arch=(i686 x86_64)
+license=('GPL')
+url="http://pam-mysql.sourceforge.net"
+depends=('pam' 'mariadb' 'openssl')
+source=(http://sourceforge.net/projects/pam-mysql/files/pam-mysql/${pkgver}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('6177183d7e98dc12f2e444c9fbd4f13c')
+options=(!libtool)
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ sed -i 's/pam_mysql_la_LIBADD = /pam_mysql_la_LIBADD = -lpam/g' Makefile.in
+ ./configure --prefix=/usr --with-pam-mods-dir=/usr/lib/security
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/pam_pwcheck/PKGBUILD b/community/pam_pwcheck/PKGBUILD
new file mode 100644
index 000000000..5fd677e1e
--- /dev/null
+++ b/community/pam_pwcheck/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 90578 2013-05-13 09:54:52Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=pam_pwcheck
+pkgver=3.12.1
+pkgrel=1
+pkgdesc="A password strength checking module for PAM-aware password changing programs"
+arch=(i686 x86_64)
+url="http://www.thkukuk.de/pam/pam_pwcheck/"
+depends=('pam')
+license=('GPL')
+source=(ftp://ftp.suse.com/pub/people/kukuk/pam/pam_pwcheck/pam_pwcheck-$pkgver.tar.bz2)
+md5sums=('85cd0d48500c160abcb0b9902e5594ce')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/paps/PKGBUILD b/community/paps/PKGBUILD
new file mode 100644
index 000000000..e5d0721de
--- /dev/null
+++ b/community/paps/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 93533 2013-07-05 01:34:25Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Artyom 'logus' Pervukhin <logus9@gmail.com>
+# Contributor: Tim Yang <tdy@gmx.com>
+
+pkgname=paps
+pkgver=0.6.8
+pkgrel=5
+pkgdesc='UTF-8 to PostScript converter via Pango'
+url='http://paps.sourceforge.net/'
+license=('LGPL')
+depends=('pango')
+arch=('i686' 'x86_64')
+source=("http://downloads.sourceforge.net/paps/paps-${pkgver}.tar.gz")
+sha1sums=('83646b0de89deb8321f260c2c5a665bc7c8f5928')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ export LDFLAGS=${LDFLAGS/,--as-needed/}
+ ./configure --prefix=/usr --mandir=/usr/share/man --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/par2cmdline/PKGBUILD b/community/par2cmdline/PKGBUILD
new file mode 100644
index 000000000..127c4256a
--- /dev/null
+++ b/community/par2cmdline/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 63354 2012-01-31 06:44:37Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org
+# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com >
+
+pkgname=par2cmdline
+pkgver=0.5.4
+pkgrel=1
+pkgdesc='A PAR 2.0 compatible file verification and repair tool'
+url='https://github.com/BlackIkeEagle/par2cmdline'
+license=('GPL2')
+arch=('i686' 'x86_64')
+source=("https://github.com/downloads/BlackIkeEagle/$pkgname/$pkgname-$pkgver.tar.xz")
+md5sums=('96b4fb91859c0214d2c562636abea3af')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ aclocal
+ automake --add-missing
+ autoconf
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/parcellite/ChangeLog b/community/parcellite/ChangeLog
new file mode 100644
index 000000000..aff4a9e4b
--- /dev/null
+++ b/community/parcellite/ChangeLog
@@ -0,0 +1,17 @@
+2009-05-05 Biru Ionut <biru.ionut at gmail.com>
+ * parcellite-0.9.1-1:
+ New upstream release.
+
+2008-12-14 Alexander Fehr <pizzapunk gmail com>
+
+ * parcellite-0.9-1:
+ New upstream release.
+
+2008-08-14 Alexander Fehr <pizzapunk gmail com>
+
+ * parcellite-0.8-1:
+ New upstream release.
+ Changed url.
+ Added make dependency on intltool.
+ Changed download location to downloads.sourceforge.net.
+ Added ChangeLog.
diff --git a/community/parcellite/PKGBUILD b/community/parcellite/PKGBUILD
new file mode 100644
index 000000000..7a3c72c2d
--- /dev/null
+++ b/community/parcellite/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 83205 2013-01-28 10:08:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Alexander Fehr <pizzapunk gmail com>
+
+pkgname=parcellite
+pkgver=1.1.4
+pkgrel=1
+pkgdesc="Lightweight GTK+ clipboard manager"
+arch=('i686' 'x86_64')
+url="http://parcellite.sourceforge.net/"
+license=('GPL3')
+depends=('gtk2')
+makedepends=('intltool')
+source=(http://downloads.sourceforge.net/parcellite/parcellite-$pkgver.tar.gz)
+md5sums=('81633e87f096030e1f23904927f4c32f')
+
+build() {
+ cd "$srcdir/parcellite-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/parcellite/history_menu_crash_patch b/community/parcellite/history_menu_crash_patch
new file mode 100644
index 000000000..961106839
--- /dev/null
+++ b/community/parcellite/history_menu_crash_patch
@@ -0,0 +1,39 @@
+Index: main.c
+===================================================================
+--- main.c (revision 232)
++++ main.c (working copy)
+@@ -1199,24 +1199,28 @@
+ {
+ GString* string = g_string_new((gchar*)element->data);
+ /* Ellipsize text */
+- if (string->len > prefs.item_length)
++ glong len = g_utf8_strlen(string->str, string->len);
++ if (len > prefs.item_length)
+ {
+ switch (prefs.ellipsize)
+ {
+ case PANGO_ELLIPSIZE_START:
+- string = g_string_erase(string, 0, string->len-(prefs.item_length));
++ string = g_string_erase(string, 0, g_utf8_offset_to_pointer(string->str, len - prefs.item_length) - string->str);
+ string = g_string_prepend(string, "...");
+ break;
+ case PANGO_ELLIPSIZE_MIDDLE:
+- string = g_string_erase(string, (prefs.item_length/2), string->len-(prefs.item_length));
+- string = g_string_insert(string, (string->len/2), "...");
++ ; /* to avoid wierd gcc error */
++ gchar* p1 = g_utf8_offset_to_pointer(string->str, prefs.item_length / 2);
++ gchar* p2 = g_utf8_offset_to_pointer(string->str, len - prefs.item_length / 2);
++ string = g_string_erase(string, p1 - string->str, p2 - p1);
++ string = g_string_insert(string, p1 - string->str, "...");
+ break;
+ case PANGO_ELLIPSIZE_END:
+- string = g_string_truncate(string, prefs.item_length);
++ string = g_string_truncate(string, g_utf8_offset_to_pointer(string->str, prefs.item_length) - string->str);
+ string = g_string_append(string, "...");
+ break;
+ }
+- }
++ }
+ /* Remove control characters */
+ gsize i = 0;
+ while (i < string->len)
diff --git a/community/pari/PKGBUILD b/community/pari/PKGBUILD
new file mode 100644
index 000000000..c9b018932
--- /dev/null
+++ b/community/pari/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90928 2013-05-15 13:56:58Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=pari
+pkgver=2.5.4
+pkgrel=1
+pkgdesc='Computer algebra system designed for fast computations in number theory'
+url='http://pari.math.u-bordeaux.fr/'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gmp' 'readline' 'libx11')
+makedepends=('perl' 'texlive-core')
+optdepends=('perl: gphelp, tex2mail')
+source=("${url}pub/pari/unix/${pkgname}-${pkgver}.tar.gz"{,.asc})
+sha1sums=('471226fd86fea0ad1f236249a49bdaee16aa34bf' 'SKIP')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed 's/\$addlib64//g' -i config/get_libpth
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./Configure --prefix=/usr --with-gmp --with-readline
+ make all
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make bench
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ ln -sf gp.1.gz "${pkgdir}"/usr/share/man/man1/pari.1
+}
diff --git a/community/parole/PKGBUILD b/community/parole/PKGBUILD
new file mode 100644
index 000000000..e7e52123f
--- /dev/null
+++ b/community/parole/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 93130 2013-06-25 14:39:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: TDY <tdy@gmx.com>
+
+pkgname=parole
+pkgver=0.5.1
+pkgrel=2
+pkgdesc="A modern media player based on the GStreamer framework"
+arch=('i686' 'x86_64')
+url="http://goodies.xfce.org/projects/applications/parole/"
+license=('GPL')
+depends=('gstreamer' 'gst-plugins-base-libs' 'hicolor-icon-theme' 'libnotify>=0.4.1'
+ 'libxfce4ui>=4.7.0' 'taglib>=1.4' 'desktop-file-utils' 'gst-plugins-good')
+makedepends=('pkgconfig>=0.9.0' 'xfce4-dev-tools')
+optdepends=('xulrunner: browser plugin'
+ 'gst-libav'
+ 'gst-plugins-bad'
+ 'gst-plugins-base'
+ 'gst-plugins-ugly')
+conflicts=('parole-media-player-git')
+options=('!libtool')
+install=parole.install
+source=(http://git.xfce.org/apps/parole/snapshot/parole-$pkgver.tar.bz2)
+md5sums=('0236073ad67916092a75fcaa59583780')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's|AM_CONFIG_HEADER|AC_CONFIG_HEADER|g' configure.ac.in
+ ./autogen.sh --prefix=/usr --libexecdir=/usr/lib \
+ --enable-taglib --enable-libnotify --with-gstreamer=1.0
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/parole/parole.install b/community/parole/parole.install
new file mode 100644
index 000000000..dcc06de40
--- /dev/null
+++ b/community/parole/parole.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/parrot/PKGBUILD b/community/parrot/PKGBUILD
new file mode 100644
index 000000000..c7169a504
--- /dev/null
+++ b/community/parrot/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 92115 2013-05-31 16:30:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: mpie <michael.kyne-phillips1@ntlworld.com>
+
+pkgname=parrot
+pkgver=5.4.0
+#_rel=stable
+_rel=devel
+pkgrel=1
+pkgdesc="Standalone VM that can execute bytecode compiled dynamic languages"
+arch=('x86_64' 'i686')
+url="http://www.parrotcode.org/"
+license=('GPL')
+depends=('icu' 'openssl' 'libffi')
+makedepends=('perl-json')
+optdepends=('freeglut')
+options=('!makeflags')
+source=(ftp://ftp.parrot.org/pub/parrot/releases/$_rel/$pkgver/$pkgname-$pkgver.tar.bz2)
+md5sums=('5f4603d4c4ee8d60826e56f9012d2e99')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ perl Configure.pl --prefix=/usr \
+ --parrot_is_shared \
+ --disable-rpath \
+ --mandir=/usr/share/man \
+ --optimize
+ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$(pwd)/blib/lib"
+ make all parrot_utils docs html
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install-dev
+ sed -i "s#$srcdir#/usr/src#" \
+ $pkgdir/usr/lib/parrot/$pkgver/tools/lib/Parrot/Config/Generated.pm
+}
diff --git a/community/partclone/PKGBUILD b/community/partclone/PKGBUILD
new file mode 100644
index 000000000..43ea2831b
--- /dev/null
+++ b/community/partclone/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 90410 2013-05-12 09:03:51Z jsteel $
+# Maintainer: Jonathan Steel <mail at jsteel dot org>
+# Contrinutor: Dan Serban
+# Contributor: Franz Burgmann
+# Contributor: Todd Partridge (Gen2ly)
+# Contributor: Ivan Sichmann Freitas
+
+pkgname=partclone
+pkgver=0.2.58
+pkgrel=2
+pkgdesc="Utilities to save and restore used blocks on a partition"
+arch=('i686' 'x86_64')
+url="http://partclone.org"
+license=('GPL')
+depends=('progsreiserfs' 'ntfs-3g')
+source=(https://downloads.sourceforge.net/project/$pkgname/stable/$pkgver/${pkgname}_$pkgver.orig.tar.gz)
+md5sums=('8d8edeab8a0ce430d2e00efcc25f4ce7')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --enable-extfs --enable-reiserfs --enable-fat \
+ --enable-hfsp --enable-btrfs --enable-ncursesw --enable-ntfs --sbindir=/usr/bin
+
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir"/ install
+}
diff --git a/community/partimage/PKGBUILD b/community/partimage/PKGBUILD
new file mode 100644
index 000000000..f3cecc40a
--- /dev/null
+++ b/community/partimage/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 92035 2013-05-31 00:06:34Z seblu $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Sven Kauber <celeon@gmail.com>
+# Contributor: tardo <tardo@nagi-fanboi.net>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=partimage
+pkgver=0.6.9
+pkgrel=4
+pkgdesc='Partition Image saves partitions in many formats to an image file.'
+arch=('i686' 'x86_64')
+url='http://www.partimage.org/'
+license=('GPL')
+depends=('libnewt' 'lzo' 'bzip2' 'openssl')
+backup=('etc/partimaged/partimagedusers')
+install='partimage.install'
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'partimage-0.6.9-zlib-1.2.6.patch'
+ 'partimaged-gencrt'
+ 'partimaged.service')
+md5sums=('1bc046fd915c5debbafc85729464e513'
+ '202c4334766041d98c5f67c9d62c3063'
+ '2316b116227b07efb48266e660ca1ba1'
+ '5f8dae511cdfbf097409a45e9642a372')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i ../partimage-0.6.9-zlib-1.2.6.patch
+
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --enable-pam
+ make
+ make pamfile
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm0644 partimaged.pam "${pkgdir}/etc/pam.d/partimaged"
+ install -Dm0755 "${srcdir}/partimaged-gencrt" "${pkgdir}/usr/bin/partimaged-gencrt"
+ chmod 644 "${pkgdir}/etc/partimaged/partimagedusers"
+
+ install -Dm0755 ../partimaged.service "${pkgdir}/usr/lib/systemd/system/partimaged.service"
+}
diff --git a/community/partimage/partimage-0.6.9-zlib-1.2.6.patch b/community/partimage/partimage-0.6.9-zlib-1.2.6.patch
new file mode 100644
index 000000000..0f311d261
--- /dev/null
+++ b/community/partimage/partimage-0.6.9-zlib-1.2.6.patch
@@ -0,0 +1,35 @@
+diff --git a/src/client/imagefile.cpp b/src/client/imagefile.cpp
+index dd83411..62d0f72 100644
+--- a/src/client/imagefile.cpp
++++ b/src/client/imagefile.cpp
+@@ -783,7 +783,7 @@ void CImage::openWriting()
+ else if (m_options.dwCompression == COMPRESS_GZIP) // Gzip compression
+ {
+ showDebug(1, "open gzip\n");
+- m_gzImageFile = (gzFile *) gzdopen(m_nFdImage, "wb"); //"wb1h");
++ m_gzImageFile = gzdopen(m_nFdImage, "wb"); //"wb1h");
+ if (m_gzImageFile == NULL)
+ {
+ showDebug(1, "error:%d %s\n", errno, strerror(errno));
+@@ -1098,7 +1098,7 @@ void CImage::openReading(CVolumeHeader *vh /* = NULL */)
+ }
+ else if (m_options.dwCompression == COMPRESS_GZIP) // Gzip compression
+ {
+- m_gzImageFile = (gzFile *) gzdopen(m_nFdImage, "rb");
++ m_gzImageFile = gzdopen(m_nFdImage, "rb");
+ if (m_gzImageFile == NULL)
+ THROW(ERR_ERRNO, errno);
+ else
+diff --git a/src/client/imagefile.h b/src/client/imagefile.h
+index 4ba8910..6adb098 100644
+--- a/src/client/imagefile.h
++++ b/src/client/imagefile.h
+@@ -41,7 +41,7 @@ class CImage
+ COptions m_options;
+
+ FILE *m_fImageFile;
+- gzFile *m_gzImageFile;
++ gzFile m_gzImageFile;
+ BZFILE *m_bzImageFile;
+
+ int m_nFdImage;
diff --git a/community/partimage/partimage.install b/community/partimage/partimage.install
new file mode 100644
index 000000000..4d403b177
--- /dev/null
+++ b/community/partimage/partimage.install
@@ -0,0 +1,22 @@
+pre_install() {
+ groupadd -g 110 partimag &> /dev/null
+ useradd -u 110 -g partimag -c "Partimage user" -d /dev/null -s /bin/false partimag &> /dev/null
+}
+
+post_install() {
+ chown partimag:partimag /etc/partimaged/partimagedusers
+}
+
+post_upgrade() {
+ if [ "$(getent group partimag | cut -d ':' -f 3)" != '110' ]; then
+ post_remove
+ pre_install
+ echo ">> partimage UID/GID has been changed"
+ echo ">> if you have some directories owned by partimage - please chown them again"
+ fi
+}
+
+post_remove() {
+ userdel partimag > /dev/null
+ groupdel partimag > /dev/null
+}
diff --git a/community/partimage/partimaged-gencrt b/community/partimage/partimaged-gencrt
new file mode 100644
index 000000000..16fe5ff16
--- /dev/null
+++ b/community/partimage/partimaged-gencrt
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+if [ `whoami` != "root" ]; then
+ echo "You must be root to generate certificates."
+ exit
+fi
+
+echo -n "==> Generating certificate for Partimage/PartimageD SSL... "
+cd /etc/partimaged
+openssl req -new -x509 -outform PEM > partimaged.csr
+openssl rsa -in privkey.pem -out partimaged.key
+rm privkey.pem
+openssl x509 -in partimaged.csr -out partimaged.cert -signkey partimaged.key
+rm partimaged.csr
+chmod 600 partimaged.key
+chmod 600 partimaged.cert
+chown partimag:partimag partimaged.key
+chown partimag:partimag partimaged.cert
diff --git a/community/partimage/partimaged.service b/community/partimage/partimaged.service
new file mode 100644
index 000000000..baa682981
--- /dev/null
+++ b/community/partimage/partimaged.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=A partition imaging daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/partimaged --daemon
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/passenger/PKGBUILD b/community/passenger/PKGBUILD
new file mode 100644
index 000000000..6b83259c7
--- /dev/null
+++ b/community/passenger/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 94276 2013-07-18 16:46:21Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=passenger
+pkgver=4.0.7
+pkgrel=2
+pkgdesc="mod_rails passenger"
+arch=('i686' 'x86_64')
+url="http://www.modrails.com"
+#http://rubyforge.org/frs/?group_id=5873
+license=('GPL')
+depends=('ruby' 'ruby-rack' 'curl')
+makedepends=('apache')
+install=passenger.install
+options=('!emptydirs')
+source=($pkgname-$pkgver.tar.gz::https://github.com/FooBarWidget/passenger/archive/release-$pkgver.tar.gz)
+md5sums=('07f892d34164bfcc883a46d8b730b8e5')
+
+build(){
+ cd $srcdir/passenger-release-$pkgver
+
+# sed -i 's/env python/env python2/' lib/phusion_passenger/wsgi/request_handler.py
+
+ ./bin/passenger-install-apache2-module -a
+ rake nginx
+}
+
+package() {
+ cd $srcdir/passenger-release-$pkgver
+
+ mkdir -p $pkgdir/usr/lib/passenger/
+ cp -R * $pkgdir/usr/lib/passenger/
+
+ mkdir -p $pkgdir/usr/lib/httpd/modules
+ ln -sf /usr/lib/passenger/buildout/apache2/mod_passenger.so $pkgdir/usr/lib/httpd/modules/mod_passenger.so
+}
diff --git a/community/passenger/passenger.install b/community/passenger/passenger.install
new file mode 100644
index 000000000..6faaab1b6
--- /dev/null
+++ b/community/passenger/passenger.install
@@ -0,0 +1,32 @@
+post_install() {
+ echo "Please edit your Apache configuration file, and add these lines:"
+ echo ""
+ echo "LoadModule passenger_module /usr/lib/httpd/modules/mod_passenger.so"
+ echo "PassengerRoot /usr/lib/passenger"
+ echo "PassengerRuby /usr/bin/ruby"
+ echo ""
+ echo "After you restart Apache, you are ready to deploy any number of Ruby on Rails"
+ echo "applications on Apache, without any further Ruby on Rails-specific"
+ echo "configuration!"
+ echo ""
+ echo ""
+ echo "Deploying a Ruby on Rails application: an example"
+ echo ""
+ echo "Suppose you have a Ruby on Rails application in /somewhere. Add a virtual host"
+ echo "to your Apache configuration file, and set its DocumentRoot to"
+ echo "/somewhere/public, like this:"
+ echo ""
+ echo "<VirtualHost *:80>"
+ echo " ServerName www.yourhost.com"
+ echo " DocumentRoot /somewhere/public # <-- be sure to point to 'public'!"
+ echo " <Directory /somewhere/public>"
+ echo " AllowOverride all # <-- relax Apache security settings"
+ echo " Options -MultiViews # <-- MultiViews must be turned off"
+ echo " </Directory>"
+ echo "</VirtualHost>"
+ echo ""
+ echo "And that's it! You may also want to check the Users Guide for security and"
+ echo "optimization tips, troubleshooting and other useful information:"
+ echo ""
+ echo "/usr/lib/passenger/doc/Users guide Apache.html"
+}
diff --git a/community/patchage/PKGBUILD b/community/patchage/PKGBUILD
new file mode 100644
index 000000000..0a9e2b4c3
--- /dev/null
+++ b/community/patchage/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 63694 2012-02-05 12:07:28Z ibiru $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Max Pray a.k.a. Synthead <synthead@gmail.com>
+# Contributor: clarence <catchfire at gmail dot com>
+pkgname=patchage
+pkgver=0.5.0
+pkgrel=3
+pkgdesc="A modular patch bay for audio and MIDI systems"
+arch=('i686' 'x86_64')
+url="http://drobilla.net/software/patchage"
+license=('GPL')
+depends=('dbus-glib' 'libglademm' 'hicolor-icon-theme'
+ 'raul' 'flowcanvas<1.0.0' 'jack')
+makedepends=('boost' 'python2')
+install=$pkgname.install
+source=("http://download.drobilla.net/$pkgname-$pkgver.tar.bz2")
+sha256sums=('9bb9d1ba0205c0ad95c6dbecba56c513ff706f1057348d33ff7567bc9cbd89d2')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python2 waf configure --prefix=/usr
+ python2 waf build $MAKEFLAGS
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python2 waf --destdir="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/patchage/patchage.install b/community/patchage/patchage.install
new file mode 100644
index 000000000..e4f8fd06c
--- /dev/null
+++ b/community/patchage/patchage.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/patchutils/PKGBUILD b/community/patchutils/PKGBUILD
new file mode 100644
index 000000000..e08c8eeef
--- /dev/null
+++ b/community/patchutils/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 93496 2013-07-04 12:40:49Z lcarlier $
+# Contributor: Aurelien Foret <orelien@chez.com>
+# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgname=patchutils
+pkgver=0.3.3
+pkgrel=1
+pkgdesc="A small collection of programs that operate on patch files"
+license=('GPL')
+url="http://cyberelk.net/tim/patchutils/"
+depends=('perl')
+arch=('i686' 'x86_64')
+source=(http://cyberelk.net/tim/data/patchutils/stable/$pkgname-$pkgver.tar.xz)
+md5sums=('b640b6b8af6183f83eacf7bd6d2460cb')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/pawm/PKGBUILD b/community/pawm/PKGBUILD
new file mode 100644
index 000000000..7f134b52e
--- /dev/null
+++ b/community/pawm/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 78889 2012-10-26 13:02:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=pawm
+pkgver=2.3.0
+pkgrel=2
+pkgdesc="Puto Amo Window Manager is a full featured window manager, but without useless bells and whistles"
+arch=('i686' 'x86_64')
+#url="http://www.pleyades.net/pawm/"
+url="https://sites.google.com/site/pleyadestest/david/projects/pawm"
+license=("GPL")
+depends=('libxft' 'libxpm' 'libxrandr')
+makedepends=('cmake')
+source=(http://www.pleyades.net/pawm/files/pawm-$pkgver.tar.gz)
+md5sums=('cc004865f5b5d8118e68154857b913a2')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ export LDFLAGS="-lXrender -lXext -lX11"
+ cmake -DCMAKE_INSTALL_PREFIX=/usr
+ make
+ make install DESTDIR=$pkgdir
+}
diff --git a/community/pax-utils/PKGBUILD b/community/pax-utils/PKGBUILD
new file mode 100644
index 000000000..6298b812a
--- /dev/null
+++ b/community/pax-utils/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 88483 2013-04-18 13:24:39Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: sh0 <mee@sh0.org>
+# Contributor: Maxwel <msg.maxwel@gmail.com>
+
+pkgname=pax-utils
+pkgver=0.7
+pkgrel=1
+pkgdesc='ELF related utils for ELF 32/64 binaries that can check files for security relevant properties'
+url='http://hardened.gentoo.org/pax-utils.xml'
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('bash' 'libcap')
+checkdepends=('python')
+source=("http://distfiles.gentoo.org/distfiles/${pkgname}-${pkgver}.tar.xz")
+sha256sums=('1ac4cee9a9ca97a723505eb29a25e50adeccffba3f0f0ef4f035cf082caf3b84')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make USE_CAP='yes'
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make check
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/pbzip2/PKGBUILD b/community/pbzip2/PKGBUILD
new file mode 100644
index 000000000..24dff6a50
--- /dev/null
+++ b/community/pbzip2/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 74829 2012-08-06 16:53:08Z foutrelis $
+# Contributor: Vasco Costa <vasco dot costa at geekslot dot com>
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+
+pkgname=pbzip2
+pkgver=1.1.8
+pkgrel=1
+pkgdesc="Parallel implementation of the bzip2 block-sorting file compressor"
+arch=('i686' 'x86_64')
+url="http://compression.ca/pbzip2/"
+license=('BSD')
+depends=('bzip2' 'gcc-libs')
+source=(https://launchpad.net/$pkgname/1.1/$pkgver/+download/$pkgname-$pkgver.tar.gz)
+sha256sums=('d2da7e65d2a2ba5426d6d9bcd15d86cc5f90038efabd5dbc1ef9bded21371f53')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make PREFIX="$pkgdir/usr" install
+
+ # Fix location of man pages
+ install -d "$pkgdir/usr/share"
+ mv "$pkgdir/usr/man" "$pkgdir/usr/share"
+
+ # Symlinks for useful shortcuts
+ ln -sf pbzip2 "$pkgdir/usr/bin/pbunzip2"
+ ln -sf pbzip2 "$pkgdir/usr/bin/pbzcat"
+
+ # License
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/pcmanfm/PKGBUILD b/community/pcmanfm/PKGBUILD
new file mode 100644
index 000000000..70d01156c
--- /dev/null
+++ b/community/pcmanfm/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 79229 2012-11-01 10:32:52Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Unknown47 <unknown47r@gmail.com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+
+pkgname=pcmanfm
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="An extremely fast and lightweight file manager"
+arch=('i686' 'x86_64')
+url="http://pcmanfm.sourceforge.net/"
+license=('GPL')
+groups=('lxde')
+depends=('gtk2' 'desktop-file-utils' 'libfm' 'lxmenu-data')
+makedepends=('intltool' 'pkgconfig')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-$pkgver.tar.gz)
+md5sums=('af0cff78690e658f3c06ceabf27bc71a')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make LDFLAGS+=' -lm'
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ sed -e 's|x-directory/normal|inode/directory|' -i $pkgdir/usr/share/applications/pcmanfm.desktop
+}
diff --git a/community/pcmanfm/pcmanfm.install b/community/pcmanfm/pcmanfm.install
new file mode 100644
index 000000000..8f20cf484
--- /dev/null
+++ b/community/pcmanfm/pcmanfm.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/community/pcsc-perl/PKGBUILD b/community/pcsc-perl/PKGBUILD
new file mode 100644
index 000000000..c7c9dbca1
--- /dev/null
+++ b/community/pcsc-perl/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 91655 2013-05-26 09:24:45Z bluewind $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: neuromante <lorenzo.nizzi.grifi@gmail.com>
+# Contributor: marc0s <marc0s@fsfe.org>
+
+pkgname=pcsc-perl
+pkgver=1.4.13
+pkgrel=2
+pkgdesc="A Perl Module for PC/SC SmartCard access"
+arch=('i686' 'x86_64')
+url="http://ludovic.rousseau.free.fr/softwares/pcsc-perl/"
+license=('GPL' 'PerlArtistic')
+depends=('pcsclite' 'perl')
+makedepends=('pkgconfig')
+options=('!emptydirs')
+source=("http://ludovic.rousseau.free.fr/softwares/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('758ca469b79667fa8c41422df86a088b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # install module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/pcsc-tools/PKGBUILD b/community/pcsc-tools/PKGBUILD
new file mode 100644
index 000000000..7bbb5a918
--- /dev/null
+++ b/community/pcsc-tools/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 81203 2012-12-13 02:21:32Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Lorenzo Nizzi Grifi Gargiolli <lorenzo.nizzi.grifi@gmail.com>
+# Contributor: marc0s <marc0s@fsfe.org>
+
+pkgname=pcsc-tools
+pkgver=1.4.21
+pkgrel=1
+pkgdesc="PC/SC Architecture smartcard tools"
+arch=('i686' 'x86_64')
+url="http://ludovic.rousseau.free.fr/softwares/pcsc-tools/"
+license=('GPL')
+depends=('pcsclite' 'pcsc-perl' 'gtk2-perl' 'glib-perl')
+makedepends=('pkg-config')
+source=("http://ludovic.rousseau.free.fr/softwares/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('c5ec17124aab4e933d537d6253046423')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i -e 's:-Wall -O2:${CFLAGS}:g' Makefile
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}/usr" install
+}
diff --git a/community/pcsclite/PKGBUILD b/community/pcsclite/PKGBUILD
new file mode 100644
index 000000000..d46531006
--- /dev/null
+++ b/community/pcsclite/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 91101 2013-05-19 13:42:04Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Daniel Plaza <daniel.plaza.espi@gmail.com>
+
+pkgname=pcsclite
+pkgver=1.8.8
+pkgrel=3
+pkgdesc="PC/SC Architecture smartcard middleware library"
+arch=('i686' 'x86_64')
+url="https://alioth.debian.org/projects/pcsclite/"
+license=('BSD')
+depends=('python2' 'systemd')
+makedepends=('pkg-config')
+options=('!libtool' '!docs')
+source=("https://alioth.debian.org/frs/download.php/3862/pcsc-lite-${pkgver}.tar.bz2")
+md5sums=('069dc875a2ae2d85a2ebceac73252c0a')
+
+build() {
+ cd "${srcdir}/pcsc-lite-${pkgver}"
+
+ sed -i -e "s:python:python2:g" src/spy/pcsc-spy
+
+ ./configure --prefix=/usr \
+ --sbindir=/usr/bin \
+ --enable-libudev \
+ --sysconfdir=/etc \
+ --enable-ipcdir=/run/pcscd \
+ --enable-usbdropdir=/usr/lib/pcsc/drivers \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+
+ make
+}
+
+package() {
+ cd "${srcdir}/pcsc-lite-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 ${srcdir}/pcsc-lite-${pkgver}/COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ install -d ${pkgdir}/usr/lib/pcsc/drivers
+}
diff --git a/community/pd/PKGBUILD b/community/pd/PKGBUILD
new file mode 100644
index 000000000..365b70e67
--- /dev/null
+++ b/community/pd/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 92233 2013-06-03 06:13:55Z bpiotrowski $
+# Maintainer : speps <speps at aur dot archlinux dot org>
+# Contributor: TDY <tdy@gmx.com>
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+
+pkgname=pd
+pkgver=0.44.3
+_ver=${pkgver%.*}-${pkgver##*.}
+pkgrel=2
+pkgdesc="The Pure Data real-time music and multimedia environment"
+arch=('i686' 'x86_64')
+url="http://crca.ucsd.edu/~msp/software.html"
+license=('custom:BSD')
+depends=('jack' 'fftw' 'tk')
+provides=('puredata')
+source=("http://crca.ucsd.edu/~msp/Software/pd-$_ver.src.tar.gz")
+md5sums=('a3e8ca0eab039dc472a6533ef9344582')
+
+build() {
+ cd "$srcdir/pd-$_ver"
+ ./autogen.sh
+ ./configure --prefix=/usr \
+ --enable-alsa \
+ --enable-jack \
+ --enable-fftw \
+ --disable-portaudio
+ make
+}
+
+package() {
+ cd "$srcdir/pd-$_ver"
+ make DESTDIR="$pkgdir" install
+
+ # license
+ install -Dm644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/pd/LICENSE"
+}
diff --git a/community/pdf2djvu/PKGBUILD b/community/pdf2djvu/PKGBUILD
new file mode 100644
index 000000000..fa3389e11
--- /dev/null
+++ b/community/pdf2djvu/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 91593 2013-05-25 02:56:18Z foutrelis $
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+
+pkgname=pdf2djvu
+pkgver=0.7.16
+pkgrel=6
+pkgdesc="Creates DjVu files from PDF files"
+arch=('i686' 'x86_64')
+url="http://pdf2djvu.googlecode.com"
+license=('GPL')
+depends=('poppler' 'djvulibre' 'libxslt' 'gcc-libs' 'graphicsmagick')
+makedepends=('pstreams' 'python2-nose' 'ttf-liberation')
+source=("http://pdf2djvu.googlecode.com/files/${pkgname}_${pkgver}.tar.gz")
+md5sums=('6ba1e576212e129111518a8c4afd1092')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ sed -i 's/nosetests/nosetests2/' tests/Makefile
+ make test
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+ install -Dm644 doc/${pkgname}.1 ${pkgdir}/usr/share/man/man1/${pkgname}.1
+}
+
diff --git a/community/pdf2svg/PKGBUILD b/community/pdf2svg/PKGBUILD
new file mode 100644
index 000000000..ad3c3d259
--- /dev/null
+++ b/community/pdf2svg/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 67717 2012-03-14 08:30:56Z giovanni $
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: corvolino <corvolino@archlinux.com.br>
+# Contributor: Joel Schaerer
+
+pkgname=pdf2svg
+pkgver=0.2.1
+pkgrel=7
+pkgdesc="A pdf to svg converter"
+arch=('i686' 'x86_64')
+url="http://www.cityinthesky.co.uk/pdf2svg.html"
+license=('GPL')
+depends=('poppler-glib' 'gtk2' 'glib2')
+source=("http://www.cityinthesky.co.uk/_media/opensource/$pkgname-$pkgver.tar.gz")
+md5sums=('59b3b9768166f73b77215e95d91f0a9d')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/pdfedit/PKGBUILD b/community/pdfedit/PKGBUILD
new file mode 100644
index 000000000..b46eff23f
--- /dev/null
+++ b/community/pdfedit/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Firmicus <firmicus α gmx δ net>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=pdfedit
+pkgver=0.4.5
+pkgrel=2
+pkgdesc='Full featured editor for manipulating PDF documents'
+arch=('i686' 'x86_64')
+url='http://pdfedit.petricek.net/index_e.html'
+license=('GPL')
+depends=('qt3' 't1lib' 'gsfonts')
+makedepends=('boost' 'doxygen')
+source=("http://downloads.sourceforge.net/pdfedit/${pkgname}-${pkgver}.tar.bz2"
+ 'pdfedit.png'
+ 'pdfedit.desktop')
+md5sums=('80502ee7f08cdfb867ffdaa92d160a23'
+ '70fd938b2ef9da748a093df7e20d1d7d'
+ 'c0572c2dd54065322321718aa49ed6b8')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i 's:/usr/share/fonts/type1/gsfonts:/usr/share/fonts/Type1:' src/xpdf/xpdf/GlobalParams.cc
+ QTDIR=/usr ./configure --prefix=/usr
+ make CXXFLAGS+="-I/usr/include/qt3" MOC=/usr/bin/moc-qt3 UIC=/usr/bin/uic-qt3 QTDIR=/usr
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make INSTALL_ROOT="${pkgdir}" install
+
+ install -Dm0644 ../pdfedit.desktop "${pkgdir}/usr/share/applications/pdfedit.desktop"
+ install -Dm0644 ../pdfedit.png "${pkgdir}/usr/share/pixmaps/pdfedit.png"
+}
diff --git a/community/pdfedit/pdfedit.desktop b/community/pdfedit/pdfedit.desktop
new file mode 100644
index 000000000..35b8defc0
--- /dev/null
+++ b/community/pdfedit/pdfedit.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=PDF Editor
+GenericName=PDF Editor
+Exec=pdfedit
+Categories=Utility;TextEditor;
+Icon=pdfedit
+Terminal=false
diff --git a/community/pdfedit/pdfedit.png b/community/pdfedit/pdfedit.png
new file mode 100644
index 000000000..3bfc3f2e9
--- /dev/null
+++ b/community/pdfedit/pdfedit.png
Binary files differ
diff --git a/community/pdflib-lite/PKGBUILD b/community/pdflib-lite/PKGBUILD
new file mode 100644
index 000000000..f99c4f350
--- /dev/null
+++ b/community/pdflib-lite/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Connor Behan <connor.behan@gmail.com>
+# Contributor: Olivier Mehani <shtrom-arch@ssji.net>
+
+pkgname=pdflib-lite
+_pkgnamecaps=PDFlib-Lite
+pkgver=7.0.5p3
+_basepkgver=${pkgver/p*/}
+pkgrel=2
+pkgdesc="PDF manipulation library."
+url="http://www.pdflib.com"
+arch=(i686 x86_64)
+depends=('glibc')
+provides=('pdflib')
+source=(http://www.pdflib.com/binaries/PDFlib/${_basepkgver//./}/${_pkgnamecaps}-${pkgver}.tar.gz http://www.pdflib.com/fileadmin/pdflib/pdf/license/PDFlib-Lite-license.pdf)
+license=(custom:pdflib-lite)
+
+build() {
+ cd "$srcdir"/$_pkgnamecaps-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir"/$_pkgnamecaps-$pkgver
+ make prefix="$pkgdir"/usr install
+
+ ## Copy files required by the license
+ # Documentation
+ mkdir -p "$pkgdir"/usr/share/pdflib-lite/doc
+ cp ./doc/pdflib/* "$pkgdir"/usr/share/pdflib-lite/doc
+
+ # License
+ mkdir -p "$pkgdir"/usr/share/licenses/pdflib-lite
+ cp -H ../PDFlib-Lite-license.pdf "$pkgdir"/usr/share/licenses/pdflib-lite/LICENSE.pdf
+
+ # Examples
+ make -C ./bind/pdflib clean
+ cp -R ./bind/pdflib/{c,cpp,java} "$pkgdir"/usr/share/pdflib-lite
+ find "$pkgdir"/usr/share/pdflib-lite \( \
+ -name Makefile \
+ -o -name *.dsp \
+ -o -name *.dsw \
+ -o -name *.sln \
+ -o -name *.vcproj \
+ \) -exec rm {} \;
+}
+
+md5sums=('371d332d610a8b21a542bb7a2bdaf954'
+ '2f3f9cc20199aad91b33dc26cdcbbab4')
diff --git a/community/pdmenu/ChangeLog b/community/pdmenu/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/pdmenu/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/pdmenu/PKGBUILD b/community/pdmenu/PKGBUILD
new file mode 100644
index 000000000..bbd53cee0
--- /dev/null
+++ b/community/pdmenu/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 59165 2011-11-21 13:00:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=pdmenu
+pkgver=1.3.2
+pkgrel=1
+pkgdesc="simple full screen menu program"
+arch=('i686' 'x86_64')
+url="http://packages.debian.org/unstable/source/pdmenu"
+license=('GPL')
+depends=('gpm' 'slang')
+optdepends=('perl')
+source=(http://ftp.debian.org/debian/pool/main/p/pdmenu/pdmenu_$pkgver.tar.gz)
+md5sums=('a7d5315119fd18a81cc3d1e578f8d3f8')
+
+build() {
+ cd $srcdir/pdmenu
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd $srcdir/pdmenu
+ make INSTALL_PREFIX=$pkgdir install
+}
diff --git a/community/pdns-recursor/PKGBUILD b/community/pdns-recursor/PKGBUILD
new file mode 100644
index 000000000..40bc9c897
--- /dev/null
+++ b/community/pdns-recursor/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 93880 2013-07-11 16:32:02Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Jan Steffens <heftig@archlinux.org>
+
+pkgname=pdns-recursor
+pkgver=3.5.2
+pkgrel=1
+pkgdesc='PowerDNS recursor'
+url='https://www.powerdns.com/'
+license=('GPL')
+arch=('x86_64' 'i686')
+depends=('gcc-libs' 'lua51')
+makedepends=('boost')
+backup=('etc/powerdns/recursor.conf')
+source=("http://downloads.powerdns.com/releases/$pkgname-$pkgver.tar.bz2"
+ 'pdns-recursor.service')
+sha256sums=('ffe3158ee5b3f62e927198fd44e839a01d3241a41a4e61afdca6709113c276bd'
+ '51688d9576736fdf210048098fa96c8710bfbd6a63eb4d69d20bac57b299b5f9')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make -j1 LUA=1 \
+ LUA_CPPFLAGS_CONFIG="$(pkg-config --cflags lua5.1)" \
+ LUA_LIBS_CONFIG="$(pkg-config --libs lua5.1)"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make SBINDIR="/usr/bin" DESTDIR="$pkgdir" install
+ mv "$pkgdir/etc/powerdns/recursor.conf-dist" \
+ "$pkgdir/etc/powerdns/recursor.conf"
+ rm -r "$pkgdir/etc/init.d"
+ install -Dm644 "$srcdir/pdns-recursor.service" \
+ "$pkgdir/usr/lib/systemd/system/pdns-recursor.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/pdns-recursor/pdns-recursor.service b/community/pdns-recursor/pdns-recursor.service
new file mode 100644
index 000000000..e8d23ccd0
--- /dev/null
+++ b/community/pdns-recursor/pdns-recursor.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=PowerDNS recursing nameserver
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/pdns_recursor --daemon
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/pdns/PKGBUILD b/community/pdns/PKGBUILD
new file mode 100644
index 000000000..ffec56609
--- /dev/null
+++ b/community/pdns/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 94038 2013-07-13 12:35:15Z svenstaro $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Kevin Mihelich <kevin@archlinuxarm.org>
+
+pkgname=pdns
+pkgver=3.3
+pkgrel=2
+pkgdesc='Modern, advanced and high performance authoritative-only nameserver'
+arch=('x86_64' 'i686')
+url='http://www.powerdns.com/'
+license=('GPL')
+depends=('boost-libs' 'gcc-libs' 'postgresql-libs' 'libmariadbclient' 'sqlite' 'libldap' 'lua51')
+makedepends=('boost')
+provides=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql')
+replaces=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql')
+conflicts=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql')
+install="$pkgname.install"
+options=('!makeflags' '!libtool')
+backup=('etc/powerdns/pdns.conf')
+source=("http://downloads.powerdns.com/releases/$pkgname-$pkgver.tar.gz"
+ 'pdns.service'
+ 'pdns.conf')
+sha256sums=('93417bb418ccd1eaf85fc98aa9f687ed175de388fa2624a1978b7cd40dc2b0b6'
+ 'b2358a5951ac944feee15ac03d42ffe9c2a72fa6f57746f77ef8997d54a82040'
+ 'a1afcccb0d2fb6a6f7a5960de95f8d38ce1ac75ac5e3dcecf09e49f0de10166e')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ touch AUTHORS NEWS
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc/powerdns \
+ --libexecdir=/usr/lib \
+ --libdir=/usr/lib/powerdns \
+ --mandir=/usr/share/man \
+ --with-modules='' \
+ --with-dynmodules="ldap pipe gmysql gpgsql gsqlite3 geo" \
+ --disable-static \
+ --sbindir=/usr/bin \
+ --bindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -m644 "$srcdir/pdns.conf" "$pkgdir/etc/powerdns/"
+ install -Dm644 "$srcdir/pdns.service" \
+ "$pkgdir/usr/lib/systemd/system/pdns.service"
+ rm -f "$pkgdir/etc/powerdns/pdns.conf-dist"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/pdns/pdns.conf b/community/pdns/pdns.conf
new file mode 100644
index 000000000..e71d7155c
--- /dev/null
+++ b/community/pdns/pdns.conf
@@ -0,0 +1,417 @@
+# Autogenerated configuration file template
+#################################
+# allow-axfr-ips Allow zonetransfers only to these subnets
+#
+# allow-axfr-ips=0.0.0.0/0,::/0
+
+#################################
+# allow-recursion List of subnets that are allowed to recurse
+#
+allow-recursion=127.0.0.1
+
+#################################
+# cache-ttl Seconds to store packets in the PacketCache
+#
+cache-ttl=60
+
+#################################
+# chroot If set, chroot to this directory for more security
+#
+chroot=/var/empty
+
+#################################
+# config-dir Location of configuration directory (pdns.conf)
+#
+config-dir=/etc
+
+#################################
+# config-name Name of this virtual configuration - will rename the binary image
+#
+# config-name=
+
+#################################
+# control-console Debugging switch - don't use
+#
+# control-console=no
+
+#################################
+# daemon Operate as a daemon
+#
+daemon=yes
+
+#################################
+# default-soa-name name to insert in the SOA record if none set in the backend
+#
+# default-soa-name=a.misconfigured.powerdns.server
+
+#################################
+# default-ttl Seconds a result is valid if not set otherwise
+#
+# default-ttl=3600
+
+#################################
+# disable-axfr Disable zonetransfers but do allow TCP queries
+#
+# disable-axfr=no
+
+#################################
+# disable-tcp Do not listen to TCP queries
+#
+# disable-tcp=no
+
+#################################
+# distributor-threads Default number of Distributor (backend) threads to start
+#
+distributor-threads=3
+
+#################################
+# do-ipv6-additional-processing Do AAAA additional processing
+#
+# do-ipv6-additional-processing=yes
+
+#################################
+# edns-subnet-option-number EDNS option number to use
+#
+# edns-subnet-option-number=20730
+
+#################################
+# edns-subnet-processing If we should act on EDNS Subnet options
+#
+# edns-subnet-processing=no
+
+#################################
+# entropy-source If set, read entropy from this file
+#
+# entropy-source=/dev/urandom
+
+#################################
+# experimental-direct-dnskey EXPERIMENTAL: fetch DNSKEY RRs from backend during DNSKEY synthesis
+#
+# experimental-direct-dnskey=no
+
+#################################
+# experimental-json-interface If the webserver should serve JSON data
+#
+# experimental-json-interface=no
+
+#################################
+# experimental-logfile Filename of the log file for JSON parser
+#
+# experimental-logfile=/var/log/pdns.log
+
+#################################
+# fancy-records Process URL and MBOXFW records
+#
+# fancy-records=no
+
+#################################
+# guardian Run within a guardian process
+#
+guardian=yes
+
+#################################
+# launch Which backends to launch and order to query them in
+#
+# launch=
+
+#################################
+# load-modules Load this module - supply absolute or relative path
+#
+# load-modules=
+
+#################################
+# local-address Local IP addresses to which we bind
+#
+local-address=127.0.0.1
+
+#################################
+# local-ipv6 Local IP address to which we bind
+#
+# local-ipv6=
+
+#################################
+# local-port The port on which we listen
+#
+local-port=53
+
+#################################
+# log-dns-details If PDNS should log DNS non-erroneous details
+#
+# log-dns-details=
+
+#################################
+# log-dns-queries If PDNS should log all incoming DNS queries
+#
+# log-dns-queries=no
+
+#################################
+# log-failed-updates If PDNS should log failed update requests
+#
+# log-failed-updates=
+
+#################################
+# logging-facility Log under a specific facility
+#
+# logging-facility=
+
+#################################
+# loglevel Amount of logging. Higher is more. Do not set below 3
+#
+loglevel=3
+
+#################################
+# lua-prequery-script Lua script with prequery handler
+#
+# lua-prequery-script=
+
+#################################
+# master Act as a master
+#
+# master=no
+
+#################################
+# max-cache-entries Maximum number of cache entries
+#
+# max-cache-entries=1000000
+
+#################################
+# max-ent-entries Maximum number of empty non-terminals in a zone
+#
+# max-ent-entries=100000
+
+#################################
+# max-queue-length Maximum queuelength before considering situation lost
+#
+# max-queue-length=5000
+
+#################################
+# max-tcp-connections Maximum number of TCP connections
+#
+# max-tcp-connections=10
+
+#################################
+# module-dir Default directory for modules
+#
+module-dir=/usr/lib/powerdns
+
+#################################
+# negquery-cache-ttl Seconds to store negative query results in the QueryCache
+#
+negquery-cache-ttl=60
+
+#################################
+# no-shuffle Set this to prevent random shuffling of answers - for regression testing
+#
+# no-shuffle=off
+
+#################################
+# out-of-zone-additional-processing Do out of zone additional processing
+#
+# out-of-zone-additional-processing=yes
+
+#################################
+# overload-queue-length Maximum queuelength moving to packetcache only
+#
+# overload-queue-length=0
+
+#################################
+# pipebackend-abi-version Version of the pipe backend ABI
+#
+# pipebackend-abi-version=1
+
+#################################
+# query-cache-ttl Seconds to store query results in the QueryCache
+#
+# query-cache-ttl=20
+
+#################################
+# query-local-address Source IP address for sending queries
+#
+# query-local-address=0.0.0.0
+
+#################################
+# query-local-address6 Source IPv6 address for sending queries
+#
+# query-local-address6=::
+
+#################################
+# query-logging Hint backends that queries should be logged
+#
+# query-logging=no
+
+#################################
+# queue-limit Maximum number of milliseconds to queue a query
+#
+# queue-limit=1500
+
+#################################
+# receiver-threads Default number of Distributor (backend) threads to start
+#
+# receiver-threads=1
+
+#################################
+# recursive-cache-ttl Seconds to store packets for recursive queries in the PacketCache
+#
+# recursive-cache-ttl=10
+
+#################################
+# recursor If recursion is desired, IP address of a recursing nameserver
+#
+# recursor=no
+
+#################################
+# retrieval-threads Number of AXFR-retrieval threads for slave operation
+#
+# retrieval-threads=2
+
+#################################
+# send-root-referral Send out old-fashioned root-referral instead of ServFail in case of no authority
+#
+# send-root-referral=no
+
+#################################
+# server-id Returned when queried for 'server.id' TXT or NSID, defaults to hostname
+#
+# server-id=
+
+#################################
+# setgid If set, change group id to this gid for more security
+#
+setgid=nobody
+
+#################################
+# setuid If set, change user id to this uid for more security
+#
+setuid=nobody
+
+#################################
+# signing-threads Default number of signer threads to start
+#
+# signing-threads=3
+
+#################################
+# slave Act as a slave
+#
+# slave=no
+
+#################################
+# slave-cycle-interval Reschedule failed SOA serial checks once every .. seconds
+#
+# slave-cycle-interval=60
+
+#################################
+# slave-renotify If we should send out notifications for slaved updates
+#
+# slave-renotify=no
+
+#################################
+# smtpredirector Our smtpredir MX host
+#
+# smtpredirector=a.misconfigured.powerdns.smtp.server
+
+#################################
+# soa-expire-default Default SOA expire
+#
+# soa-expire-default=604800
+
+#################################
+# soa-minimum-ttl Default SOA minimum ttl
+#
+# soa-minimum-ttl=3600
+
+#################################
+# soa-refresh-default Default SOA refresh
+#
+# soa-refresh-default=10800
+
+#################################
+# soa-retry-default Default SOA retry
+#
+# soa-retry-default=3600
+
+#################################
+# soa-serial-offset Make sure that no SOA serial is less than this number
+#
+# soa-serial-offset=0
+
+#################################
+# socket-dir Where the controlsocket will live
+#
+socket-dir=/var/run
+
+#################################
+# strict-rfc-axfrs Perform strictly rfc compliant axfrs (very slow)
+#
+# strict-rfc-axfrs=no
+
+#################################
+# tcp-control-address If set, PowerDNS can be controlled over TCP on this address
+#
+# tcp-control-address=
+
+#################################
+# tcp-control-port If set, PowerDNS can be controlled over TCP on this address
+#
+# tcp-control-port=53000
+
+#################################
+# tcp-control-range If set, remote control of PowerDNS is possible over these networks only
+#
+# tcp-control-range=127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10
+
+#################################
+# tcp-control-secret If set, PowerDNS can be controlled over TCP after passing this secret
+#
+# tcp-control-secret=
+
+#################################
+# traceback-handler Enable the traceback handler (Linux only)
+#
+# traceback-handler=yes
+
+#################################
+# trusted-notification-proxy IP address of incoming notification proxy
+#
+# trusted-notification-proxy=
+
+#################################
+# urlredirector Where we send hosts to that need to be url redirected
+#
+# urlredirector=127.0.0.1
+
+#################################
+# version-string PowerDNS version in packets - full, anonymous, powerdns or custom
+#
+# version-string=full
+
+#################################
+# webserver Start a webserver for monitoring
+#
+webserver=no
+
+#################################
+# webserver-address IP Address of webserver to listen on
+#
+# webserver-address=127.0.0.1
+
+#################################
+# webserver-password Password required for accessing the webserver
+#
+# webserver-password=
+
+#################################
+# webserver-port Port of webserver to listen on
+#
+# webserver-port=8081
+
+#################################
+# webserver-print-arguments If the webserver should print arguments
+#
+# webserver-print-arguments=no
+
+#################################
+# wildcard-url Process URL and MBOXFW records
+#
+# wildcard-url=no
+
+
diff --git a/community/pdns/pdns.install b/community/pdns/pdns.install
new file mode 100644
index 000000000..f41b36b20
--- /dev/null
+++ b/community/pdns/pdns.install
@@ -0,0 +1,11 @@
+post_install() {
+ cat << 'EOM'
+==> PowerDNS is built without recursor now. To use the recursor,
+==> please install the pdns-recursor package and update the
+==> configuration in /etc/powerdns/recursor.conf
+EOM
+}
+
+post_upgrade() {
+ post_install $1
+}
diff --git a/community/pdns/pdns.service b/community/pdns/pdns.service
new file mode 100644
index 000000000..b544ba73e
--- /dev/null
+++ b/community/pdns/pdns.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=PowerDNS Authorative Server
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/pdns_server --daemon --guardian=yes
+ExecReload=/usr/bin/pdns_control cycle
+ExecStop=/usr/bin/pdns_control quit
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/pdnsd/PKGBUILD b/community/pdnsd/PKGBUILD
new file mode 100644
index 000000000..d8fe5189d
--- /dev/null
+++ b/community/pdnsd/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 91500 2013-05-23 10:14:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Henrik Nymann Jensen <h@henriknj.dk>
+
+pkgname=pdnsd
+pkgver=1.2.9.a
+_pkgver=${pkgver/.a/a}
+pkgrel=4
+pkgdesc="Proxy DNS server with permanent caching"
+arch=(i686 x86_64)
+url="http://members.home.nl/p.a.rombouts/pdnsd/"
+license=('GPL')
+depends=('glibc')
+source=(http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-$_pkgver-par.tar.gz
+ service)
+md5sums=('2f3e705d59a0f9308ad9504b24400769'
+ '4f86bdbd8495b53341070d5720491996')
+
+build() {
+ cd $srcdir/$pkgname-${_pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --enable-ipv6
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-${_pkgver}
+ make DESTDIR=$pkgdir install
+ install -Dm0644 $srcdir/service $pkgdir/usr/lib/systemd/system/pdnsd.service
+}
diff --git a/community/pdnsd/service b/community/pdnsd/service
new file mode 100644
index 000000000..d284cd933
--- /dev/null
+++ b/community/pdnsd/service
@@ -0,0 +1,9 @@
+[Unit]
+Description=proxy name server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/pdnsd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/pekwm/PKGBUILD b/community/pekwm/PKGBUILD
new file mode 100644
index 000000000..478186965
--- /dev/null
+++ b/community/pekwm/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 92159 2013-06-01 21:53:18Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Kevin Piche <kevin@archlinux.org>
+# Contributor: Eddie Lozon <almostlucky@attbi.com>
+
+pkgname=pekwm
+pkgver=0.1.17
+pkgrel=1
+pkgdesc='Small, fast, functional, and flexible window manager'
+arch=('x86_64' 'i686')
+license=('GPL')
+url='https://www.pekwm.org/projects/pekwm'
+depends=('gcc-libs' 'libjpeg' 'libpng' 'libxft' 'libxinerama' 'libxpm' 'libxrandr')
+makedepends=('gendesk')
+optdepends=('lxappearance: feature-rich GTK+ theme switcher'
+ 'nitrogen: background browser and setter'
+ 'tint2: basic, good-looking task manager')
+backup=(etc/pekwm/autoproperties
+ etc/pekwm/autoproperties_typerules
+ etc/pekwm/config
+ etc/pekwm/config_system
+ etc/pekwm/keys
+ etc/pekwm/menu
+ etc/pekwm/mouse
+ etc/pekwm/mouse_click
+ etc/pekwm/mouse_sloppy
+ etc/pekwm/mouse_system
+ etc/pekwm/start
+ etc/pekwm/vars)
+source=("http://www.pekwm.org/projects/pekwm/files/$pkgname-$pkgver.tar.bz2"
+ "${pkgname}_kdm.desktop")
+sha256sums=('8a1fd3bf9f38e8c7bb2b2864c090f986b60cec2281ecf1bba462d120fb327d00'
+ '4c1817d328dad84407c9ba7219015eb3be0345be9e98fc03fa693b6b443a8dc6')
+
+prepare() {
+ cd "$srcdir"
+
+ gendesk --pkgname "$pkgname" --pkgdesc "$pkgdesc"
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir/$pkgname.desktop" \
+ "$pkgdir/usr/share/xsessions/$pkgname.desktop"
+ install -Dm644 "$srcdir/${pkgname}_kdm.desktop" \
+ "$pkgdir//usr/share/apps/kdm/sessions/$pkgname.desktop"
+}
+
+# vim: ts=2 sw=2 et
diff --git a/community/pekwm/pekwm_kdm.desktop b/community/pekwm/pekwm_kdm.desktop
new file mode 100644
index 000000000..b77722d03
--- /dev/null
+++ b/community/pekwm/pekwm_kdm.desktop
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Type=XSession
+Exec=pekwm
+TryExec=pekwm
+Name=PekWM
diff --git a/community/percona-server/PKGBUILD b/community/percona-server/PKGBUILD
new file mode 100644
index 000000000..67d824f5a
--- /dev/null
+++ b/community/percona-server/PKGBUILD
@@ -0,0 +1,103 @@
+# $Id: PKGBUILD 93544 2013-07-05 09:53:28Z mtorromeo $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgname=percona-server
+pkgver=5.5.32_rel31.0
+pkgrel=1
+pkgdesc="A backwards-compatible drop-in replacement for MySQL that provides improved performance, diagnostics and instrumentation"
+arch=('i686' 'x86_64')
+
+depends=('mariadb-clients' 'libaio' 'systemd-tools')
+conflicts=('mysql')
+provides=("mysql=${pkgver/_rel*}" "mariadb=${pkgver/_rel*}")
+optdepends=('perl-dbi' 'perl-dbd-mysql')
+makedepends=('cmake' 'openssl' 'zlib')
+
+license=('GPL')
+url="http://www.percona.com/software/percona-server/"
+options=('!libtool' 'emptydirs')
+backup=('etc/mysql/my.cnf')
+install=percona.install
+source=("http://www.percona.com/downloads/Percona-Server-${pkgver%.*_*}/Percona-Server-${pkgver/_rel/-}/source/Percona-Server-${pkgver/_/-}.tar.gz"
+ 'mysqld-post.sh'
+ 'mysqld.service'
+ 'mysqld-tmpfile.conf')
+
+build() {
+ cd "${srcdir}/Percona-Server-${pkgver/_/-}"
+ sed -i 's|ADD_SUBDIRECTORY(libmysqld/examples)|# ADD_SUBDIRECTORY(libmysqld/examples)|' CMakeLists.txt
+
+ cd "${srcdir}"
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake "${srcdir}/Percona-Server-${pkgver/_/-}" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONFDIR=/etc/mysql \
+ -DMYSQL_DATADIR=/var/lib/mysql \
+ -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
+ -DDEFAULT_CHARSET=utf8 \
+ -DDEFAULT_COLLATION=utf8_general_ci \
+ -DENABLED_LOCAL_INFILE=ON \
+ -DINSTALL_INFODIR=share/mysql/docs \
+ -DINSTALL_MANDIR=share/man \
+ -DINSTALL_PLUGINDIR=lib/mysql/plugin \
+ -DINSTALL_SCRIPTDIR=bin \
+ -DINSTALL_INCLUDEDIR=include/mysql \
+ -DINSTALL_DOCREADMEDIR=share/mysql \
+ -DINSTALL_SUPPORTFILESDIR=share/mysql \
+ -DINSTALL_MYSQLSHAREDIR=share/mysql \
+ -DINSTALL_DOCDIR=share/mysql/docs \
+ -DINSTALL_SHAREDIR=share/mysql \
+ -DWITH_READLINE=ON \
+ -DWITH_ZLIB=system \
+ -DWITH_SSL=system \
+ -DWITH_LIBWRAP=OFF \
+ -DWITH_LIBEDIT=OFF \
+ -DWITH_UNIT_TESTS=OFF \
+ -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
+ -DWITH_EXTRA_CHARSETS=complex \
+ -DWITH_EMBEDDED_SERVER=ON \
+ -DWITH_INNOBASE_STORAGE_ENGINE=ON \
+ -DWITH_PARTITION_STORAGE_ENGINE=ON \
+ -DWITH_PERFSCHEMA_STORAGE_ENGINE=ON \
+ -DWITH_ARCHIVE_STORAGE_ENGINE=ON \
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
+ -DWITH_FEDERATED_STORAGE_ENGINE=OFF \
+ -DWITH_EXAMPLE_STORAGE_ENGINE=OFF \
+ -DCMAKE_C_FLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
+ -DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti -fpermissive"
+
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR=${pkgdir} install
+
+ install -Dm644 "${pkgdir}"/usr/share/mysql/my-medium.cnf "${pkgdir}"/etc/mysql/my.cnf
+ install -Dm755 "${srcdir}"/mysqld-post.sh "${pkgdir}"/usr/bin/mysqld-post
+ install -Dm644 "${srcdir}"/mysqld-tmpfile.conf "${pkgdir}"/usr/lib/tmpfiles.d/mysqld.conf
+ install -Dm644 "${srcdir}"/mysqld.service "${pkgdir}"/usr/lib/systemd/system/mysqld.service
+
+ # provided by libmysqlclient
+ rm ${pkgdir}/usr/bin/mysql_config
+ rm ${pkgdir}/usr/lib/libmysql*
+ rm -r ${pkgdir}/usr/include/
+ rm ${pkgdir}/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
+
+ # provided by mysql-clients
+ rm ${pkgdir}/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
+ rm ${pkgdir}/usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1
+
+ # not needed
+ rm -r ${pkgdir}/usr/{data,mysql-test,sql-bench}
+ rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1
+}
+
+sha256sums=('e34676cea5ceb398258408e31e8527724845f83bbbf1f22308f5069304118e8f'
+ '82a241d9fa4032187a26597d044e94ba810b209b53a7ce14bb6eb92555993a48'
+ '9bc66470f3f80534c0bb62f9f8325ccf60b164f421f74ad74a963f065d7b1869'
+ 'badf6a701d9dc6ea3b4ddca26cb0f42b6236432ccdbc14c64962147802594a60')
diff --git a/community/percona-server/my.cnf b/community/percona-server/my.cnf
new file mode 100644
index 000000000..afdd6dc2c
--- /dev/null
+++ b/community/percona-server/my.cnf
@@ -0,0 +1,145 @@
+# MySQL config file for medium systems.
+#
+# This is for a system with little memory (32M - 64M) where MySQL plays
+# an important part, or systems up to 128M where MySQL is used together with
+# other programs (such as a web server)
+#
+# MySQL programs look for option files in a set of
+# locations which depend on the deployment platform.
+# You can copy this option file to one of those
+# locations. For information about these locations, see:
+# http://dev.mysql.com/doc/mysql/en/option-files.html
+#
+# In this file, you can use all long options that a program supports.
+# If you want to know which options a program supports, run the program
+# with the "--help" option.
+
+# The following options will be passed to all MySQL clients
+[client]
+#password = your_password
+port = 3306
+socket = /run/mysqld/mysqld.sock
+
+# Here follows entries for some specific programs
+
+# The MySQL server
+[mysqld]
+port = 3306
+socket = /run/mysqld/mysqld.sock
+datadir = /var/lib/mysql
+skip-external-locking
+key_buffer_size = 16M
+max_allowed_packet = 1M
+table_open_cache = 64
+sort_buffer_size = 512K
+net_buffer_length = 8K
+read_buffer_size = 256K
+read_rnd_buffer_size = 512K
+myisam_sort_buffer_size = 8M
+
+# Don't listen on a TCP/IP port at all. This can be a security enhancement,
+# if all processes that need to connect to mysqld run on the same host.
+# All interaction with mysqld must be made via Unix sockets or named pipes.
+# Note that using this option without enabling named pipes on Windows
+# (via the "enable-named-pipe" option) will render mysqld useless!
+#
+skip-networking
+
+# Replication Master Server (default)
+# binary logging is required for replication
+log-bin=mysql-bin
+
+# binary logging format - mixed recommended
+binlog_format=mixed
+
+# required unique id between 1 and 2^32 - 1
+# defaults to 1 if master-host is not set
+# but will not function as a master if omitted
+server-id = 1
+
+# Replication Slave (comment out master section to use this)
+#
+# To configure this host as a replication slave, you can choose between
+# two methods :
+#
+# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
+# the syntax is:
+#
+# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
+# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
+#
+# where you replace <host>, <user>, <password> by quoted strings and
+# <port> by the master's port number (3306 by default).
+#
+# Example:
+#
+# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
+# MASTER_USER='joe', MASTER_PASSWORD='secret';
+#
+# OR
+#
+# 2) Set the variables below. However, in case you choose this method, then
+# start replication for the first time (even unsuccessfully, for example
+# if you mistyped the password in master-password and the slave fails to
+# connect), the slave will create a master.info file, and any later
+# change in this file to the variables' values below will be ignored and
+# overridden by the content of the master.info file, unless you shutdown
+# the slave server, delete master.info and restart the slaver server.
+# For that reason, you may want to leave the lines below untouched
+# (commented) and instead use CHANGE MASTER TO (see above)
+#
+# required unique id between 2 and 2^32 - 1
+# (and different from the master)
+# defaults to 2 if master-host is set
+# but will not function as a slave if omitted
+#server-id = 2
+#
+# The replication master for this slave - required
+#master-host = <hostname>
+#
+# The username the slave will use for authentication when connecting
+# to the master - required
+#master-user = <username>
+#
+# The password the slave will authenticate with when connecting to
+# the master - required
+#master-password = <password>
+#
+# The port the master is listening on.
+# optional - defaults to 3306
+#master-port = <port>
+#
+# binary logging - not required for slaves, but recommended
+#log-bin=mysql-bin
+
+# Uncomment the following if you are using InnoDB tables
+#innodb_data_home_dir = /var/lib/mysql
+#innodb_data_file_path = ibdata1:10M:autoextend
+#innodb_log_group_home_dir = /var/lib/mysql
+# You can set .._buffer_pool_size up to 50 - 80 %
+# of RAM but beware of setting memory usage too high
+#innodb_buffer_pool_size = 16M
+#innodb_additional_mem_pool_size = 2M
+# Set .._log_file_size to 25 % of buffer pool size
+#innodb_log_file_size = 5M
+#innodb_log_buffer_size = 8M
+#innodb_flush_log_at_trx_commit = 1
+#innodb_lock_wait_timeout = 50
+
+[mysqldump]
+quick
+max_allowed_packet = 16M
+
+[mysql]
+no-auto-rehash
+# Remove the next comment character if you are not familiar with SQL
+#safe-updates
+
+[myisamchk]
+key_buffer_size = 20M
+sort_buffer_size = 20M
+read_buffer = 2M
+write_buffer = 2M
+
+[mysqlhotcopy]
+interactive-timeout
diff --git a/community/percona-server/mysqld-post.sh b/community/percona-server/mysqld-post.sh
new file mode 100644
index 000000000..516aeb85e
--- /dev/null
+++ b/community/percona-server/mysqld-post.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+while true; do
+ response=$(/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1) && break
+ echo "$response" | grep -q "mysqld is alive" && break
+ echo "$response" | grep -q "Access denied for user" && break
+ sleep 1
+done
diff --git a/community/percona-server/mysqld-tmpfile.conf b/community/percona-server/mysqld-tmpfile.conf
new file mode 100644
index 000000000..91638983f
--- /dev/null
+++ b/community/percona-server/mysqld-tmpfile.conf
@@ -0,0 +1 @@
+d /run/mysqld 0755 mysql mysql - \ No newline at end of file
diff --git a/community/percona-server/mysqld.service b/community/percona-server/mysqld.service
new file mode 100644
index 000000000..3d2af276c
--- /dev/null
+++ b/community/percona-server/mysqld.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=MySQL database server
+After=syslog.target network.target
+
+[Service]
+User=mysql
+Group=mysql
+
+ExecStart=/usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid
+ExecStartPost=/usr/bin/mysqld-post
+
+Restart=always
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/percona-server/percona.install b/community/percona-server/percona.install
new file mode 100644
index 000000000..c3b337ae1
--- /dev/null
+++ b/community/percona-server/percona.install
@@ -0,0 +1,37 @@
+if [[ $(command -v my_print_defaults >/dev/null 2>&1) ]]; then
+ datadir=$(my_print_defaults mysqld | sed -n "s/^--datadir=//p")
+fi
+[[ -z $datadir ]] && datadir=/var/lib/mysql
+
+post_install(){
+ groupadd -g 89 mysql &>/dev/null
+ useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null
+
+ if [[ ! -e $datadir ]]; then
+ install -dm700 $datadir
+ usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=$datadir
+ chown -R mysql:mysql $datadir &>/dev/null
+ fi
+
+ usr/bin/systemd-tmpfiles --create mysqld.conf
+}
+
+post_upgrade(){
+ getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null
+ getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null
+
+ if [ "$(vercmp $2 5.5)" -lt 0 ]; then
+ echo " >> "
+ echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it."
+ echo " >> "
+ fi
+}
+
+post_remove(){
+ if getent passwd mysql >/dev/null 2>&1; then
+ userdel mysql
+ fi
+ if getent group mysql >/dev/null 2>&1; then
+ groupdel mysql
+ fi
+}
diff --git a/community/performous/PKGBUILD b/community/performous/PKGBUILD
new file mode 100644
index 000000000..4d6d64ea4
--- /dev/null
+++ b/community/performous/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 94039 2013-07-13 12:35:25Z svenstaro $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+pkgname=performous
+pkgver=0.7.0
+pkgrel=8
+pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"'
+arch=('i686' 'x86_64')
+url="http://performous.org/"
+license=('GPL')
+depends=('boost-libs' 'imagemagick' 'glew' 'libxml++' 'portaudio' 'portmidi' 'librsvg' 'ffmpeg') # opencv
+makedepends=('cmake' 'pkgconfig' 'help2man' 'boost' 'mesa')
+optdepends=('performous-freesongs: free songs for performous')
+source=(http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/performous-$pkgver.tar.bz2
+ performous-0.7.0-cmake.patch
+ fix-noisy-sound-output.patch)
+md5sums=('60f3f72b51a630a4aa996484aedb9526'
+ '7da8aef3f4dd28e19f95957ae9ac2bb1'
+ '820dc6d1a91c23f0ef56e2cd1759afb6')
+
+prepare() {
+ cd performous-${pkgver}
+
+ # patch from gentoo
+ patch -Np0 -i ../performous-0.7.0-cmake.patch
+
+ # fix FS#33948 (merged upstream)
+ patch -Np1 -i ../fix-noisy-sound-output.patch
+}
+
+build() {
+ cd performous-${pkgver}
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr ..
+
+ make
+}
+
+package() {
+ cd performous-${pkgver}/build
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/performous/fix-noisy-sound-output.patch b/community/performous/fix-noisy-sound-output.patch
new file mode 100644
index 000000000..e4ba0c246
--- /dev/null
+++ b/community/performous/fix-noisy-sound-output.patch
@@ -0,0 +1,440 @@
+diff -ur performous-0.7.0/game/audio.cc performous-0.7.0b/game/audio.cc
+--- performous-0.7.0/game/audio.cc 2012-11-12 23:14:08.000000000 +0100
++++ performous-0.7.0b/game/audio.cc 2013-05-23 19:38:26.568498744 +0200
+@@ -140,7 +140,8 @@
+ FFmpeg mpeg;
+ float fadeLevel;
+ float pitchFactor;
+- Track(std::string const& filename, unsigned int sr): mpeg(false, true, filename, sr), fadeLevel(1.0f), pitchFactor(0.0f) {}
++ //Track(std::string const& filename, unsigned int sr): mpeg(false, true, filename, sr), fadeLevel(1.0f), pitchFactor(0.0f) {}
++ Track(std::string const& filename, unsigned int sr): mpeg(filename, sr), fadeLevel(1.0f), pitchFactor(0.0f) {}
+ };
+ typedef boost::ptr_map<std::string, Track> Tracks;
+ Tracks tracks; ///< Audio decoders
+@@ -241,7 +242,8 @@
+ FFmpeg mpeg;
+ bool eof;
+ public:
+- Sample(std::string const& filename, unsigned sr) : srate(sr), m_pos(), mpeg(false, true, filename, sr), eof(true) { }
++ //Sample(std::string const& filename, unsigned sr) : srate(sr), m_pos(), mpeg(false, true, filename, sr), eof(true) { }
++ Sample(std::string const& filename, unsigned sr) : m_pos(), mpeg(filename, sr), eof(true) { }
+ void operator()(float* begin, float* end) {
+ if(eof) {
+ // No more data to play in this sample
+diff -ur performous-0.7.0/game/ffmpeg.cc performous-0.7.0b/game/ffmpeg.cc
+--- performous-0.7.0/game/ffmpeg.cc 2012-11-12 23:14:08.000000000 +0100
++++ performous-0.7.0b/game/ffmpeg.cc 2013-05-23 21:41:09.057986491 +0200
+@@ -3,6 +3,7 @@
+ #include "config.hh"
+ #include "util.hh"
+ #include "xtime.hh"
++#include <boost/smart_ptr/shared_ptr.hpp>
+ #include <iostream>
+ #include <stdexcept>
+
+@@ -20,15 +21,20 @@
+
+ /*static*/ boost::mutex FFmpeg::s_avcodec_mutex;
+
+-FFmpeg::FFmpeg(bool decodeVideo, bool decodeAudio, std::string const& _filename, unsigned int rate):
+- width(), height(), m_filename(_filename), m_rate(rate), m_quit(), m_running(), m_eof(),
+- m_seekTarget(getNaN()), m_position(), m_streamId(-1), m_mediaType(),
+- m_formatContext(), m_codecContext(), m_codec(), m_resampleContext(), m_swsContext(),
++//FFmpeg::FFmpeg(bool decodeVideo, bool decodeAudio, std::string const& _filename, unsigned int rate):
++// width(), height(), m_filename(_filename), m_rate(rate), m_quit(), m_running(), m_eof(),
++// m_seekTarget(getNaN()), m_position(), m_streamId(-1), m_mediaType(),
++// m_formatContext(), m_codecContext(), m_codec(), m_resampleContext(), m_swsContext(),
++FFmpeg::FFmpeg(std::string const& _filename, unsigned int rate):
++ width(), height(), m_filename(_filename), m_rate(rate), m_quit(),
++ m_seekTarget(getNaN()), m_position(), m_duration(), m_streamId(-1),
++ m_mediaType(rate ? AVMEDIA_TYPE_AUDIO : AVMEDIA_TYPE_VIDEO),
++ m_formatContext(), m_codecContext(), m_resampleContext(), m_swsContext(),
+ m_thread(new boost::thread(boost::ref(*this)))
+ {
+- if (decodeVideo) m_mediaType = AVMEDIA_TYPE_VIDEO;
+- else if (decodeAudio) m_mediaType = AVMEDIA_TYPE_AUDIO;
+- else throw std::logic_error("Can only decode one track");
++// if (decodeVideo) m_mediaType = AVMEDIA_TYPE_VIDEO;
++// else if (decodeAudio) m_mediaType = AVMEDIA_TYPE_AUDIO;
++// else throw std::logic_error("Can only decode one track");
+ }
+
+ FFmpeg::~FFmpeg() {
+@@ -36,20 +42,20 @@
+ videoQueue.reset();
+ audioQueue.quit();
+ m_thread->join();
+- // TODO: use RAII for freeing resources (to prevent memory leaks)
+- boost::mutex::scoped_lock l(s_avcodec_mutex); // avcodec_close is not thread-safe
+- if (m_resampleContext) audio_resample_close(m_resampleContext);
+- if (m_codecContext) avcodec_close(m_codecContext);
+-#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0)
+- if (m_formatContext) avformat_close_input(&m_formatContext);
+-#else
+- if (m_formatContext) av_close_input_file(m_formatContext);
+-#endif
+-}
+-
+-double FFmpeg::duration() const {
+- double d = m_running ? m_formatContext->duration / double(AV_TIME_BASE) : getNaN();
+- return d >= 0.0 ? d : getInf();
++// // TODO: use RAII for freeing resources (to prevent memory leaks)
++// boost::mutex::scoped_lock l(s_avcodec_mutex); // avcodec_close is not thread-safe
++// if (m_resampleContext) audio_resample_close(m_resampleContext);
++// if (m_codecContext) avcodec_close(m_codecContext);
++// #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0)
++// if (m_formatContext) avformat_close_input(&m_formatContext);
++// #else
++// if (m_formatContext) av_close_input_file(m_formatContext);
++// #endif
++// }
++//
++// double FFmpeg::duration() const {
++// double d = m_running ? m_formatContext->duration / double(AV_TIME_BASE) : getNaN();
++// return d >= 0.0 ? d : getInf();
+ }
+
+ void FFmpeg::open() {
+@@ -60,11 +66,14 @@
+ if (avformat_find_stream_info(m_formatContext, NULL) < 0) throw std::runtime_error("Cannot find stream information");
+ m_formatContext->flags |= AVFMT_FLAG_GENPTS;
+ // Find a track and open the codec
+- m_streamId = av_find_best_stream(m_formatContext, (AVMediaType)m_mediaType, -1, -1, &m_codec, 0);
++// m_streamId = av_find_best_stream(m_formatContext, (AVMediaType)m_mediaType, -1, -1, &m_codec, 0);
++ AVCodec* codec = NULL;
++ m_streamId = av_find_best_stream(m_formatContext, (AVMediaType)m_mediaType, -1, -1, &codec, 0);
+ if (m_streamId < 0) throw std::runtime_error("No suitable track found");
+
+ AVCodecContext* cc = m_formatContext->streams[m_streamId]->codec;
+- if (avcodec_open2(cc, m_codec, NULL) < 0) throw std::runtime_error("Cannot open audio codec");
++// if (avcodec_open2(cc, m_codec, NULL) < 0) throw std::runtime_error("Cannot open audio codec");
++ if (avcodec_open2(cc, codec, NULL) < 0) throw std::runtime_error("Cannot open codec");
+ cc->workaround_bugs = FF_BUG_AUTODETECT;
+ m_codecContext = cc;
+
+@@ -90,18 +99,20 @@
+
+ void FFmpeg::operator()() {
+ try { open(); } catch (std::exception const& e) { std::clog << "ffmpeg/error: Failed to open " << m_filename << ": " << e.what() << std::endl; m_quit = true; return; }
+- m_running = true;
+- audioQueue.setDuration(duration());
++// m_running = true;
++// audioQueue.setDuration(duration());
++ m_duration = m_formatContext->duration / double(AV_TIME_BASE);
++ audioQueue.setDuration(m_duration);
+ int errors = 0;
+ while (!m_quit) {
+ try {
+ if (audioQueue.wantSeek()) m_seekTarget = 0.0;
+ if (m_seekTarget == m_seekTarget) seek_internal();
+ decodePacket();
+- m_eof = false;
++// m_eof = false;
+ errors = 0;
+ } catch (eof_error&) {
+- m_eof = true;
++// m_eof = true;
+ videoQueue.push(new VideoFrame()); // EOF marker
+ boost::thread::sleep(now() + 0.1);
+ } catch (std::exception& e) {
+@@ -109,10 +120,19 @@
+ if (++errors > 2) { std::clog << "ffmpeg/error: FFMPEG terminating due to multiple errors" << std::endl; m_quit = true; }
+ }
+ }
+- m_running = false;
+- m_eof = true;
++// m_running = false;
++// m_eof = true;
+ audioQueue.setEof();
+ videoQueue.push(new VideoFrame()); // EOF marker
++ // TODO: use RAII for freeing resources (to prevent memory leaks)
++ boost::mutex::scoped_lock l(s_avcodec_mutex); // avcodec_close is not thread-safe
++ if (m_resampleContext) audio_resample_close(m_resampleContext);
++ if (m_codecContext) avcodec_close(m_codecContext);
++#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0)
++ if (m_formatContext) avformat_close_input(&m_formatContext);
++#else
++ if (m_formatContext) av_close_input_file(m_formatContext);
++#endif
+ }
+
+ void FFmpeg::seek(double time, bool wait) {
+@@ -125,7 +145,8 @@
+ videoQueue.reset();
+ audioQueue.reset();
+ int flags = 0;
+- if (m_seekTarget < position()) flags |= AVSEEK_FLAG_BACKWARD;
++// if (m_seekTarget < position()) flags |= AVSEEK_FLAG_BACKWARD;
++ if (m_seekTarget < m_position) flags |= AVSEEK_FLAG_BACKWARD;
+ av_seek_frame(m_formatContext, -1, m_seekTarget * AV_TIME_BASE, flags);
+ m_seekTarget = getNaN(); // Signal that seeking is done
+ }
+@@ -139,16 +160,16 @@
+ ~ReadFramePacket() { av_free_packet(this); }
+ };
+
+- struct AVFrameWrapper {
+- AVFrame* m_frame;
+- AVFrameWrapper(): m_frame(avcodec_alloc_frame()) {
+- if (!m_frame) throw std::runtime_error("Unable to allocate AVFrame");
+- }
+- ~AVFrameWrapper() { av_free(m_frame); }
+- operator AVFrame*() { return m_frame; }
+- AVFrame* operator->() { return m_frame; }
+- };
+-
++// struct AVFrameWrapper {
++// AVFrame* m_frame;
++// AVFrameWrapper(): m_frame(avcodec_alloc_frame()) {
++// if (!m_frame) throw std::runtime_error("Unable to allocate AVFrame");
++// }
++// ~AVFrameWrapper() { av_free(m_frame); }
++// operator AVFrame*() { return m_frame; }
++// AVFrame* operator->() { return m_frame; }
++// };
++//
+ // Read an AVPacket and decode it into AVFrames
+ ReadFramePacket packet(m_formatContext);
+ int packetSize = packet.size;
+@@ -156,19 +177,27 @@
+ if (packetSize < 0) throw std::logic_error("negative packet size?!");
+ if (m_quit || m_seekTarget == m_seekTarget) return;
+ if (packet.stream_index != m_streamId) return;
+- AVFrameWrapper frame;
++// AVFrameWrapper frame;
++ boost::shared_ptr<AVFrame> frame(avcodec_alloc_frame(), &av_free);
+ int frameFinished = 0;
+ int decodeSize = (m_mediaType == AVMEDIA_TYPE_VIDEO ?
+- avcodec_decode_video2(m_codecContext, frame, &frameFinished, &packet) :
+- avcodec_decode_audio4(m_codecContext, frame, &frameFinished, &packet));
+- if (decodeSize < 0) throw std::runtime_error("cannot decode avframe");
++// avcodec_decode_video2(m_codecContext, frame, &frameFinished, &packet) :
++// avcodec_decode_audio4(m_codecContext, frame, &frameFinished, &packet));
++// if (decodeSize < 0) throw std::runtime_error("cannot decode avframe");
++ avcodec_decode_video2(m_codecContext, frame.get(), &frameFinished, &packet) :
++ avcodec_decode_audio4(m_codecContext, frame.get(), &frameFinished, &packet));
++ if (decodeSize < 0) return; // Packet didn't produce any output (could be waiting for B frames or something)
+ packetSize -= decodeSize; // Move forward within the packet
+ if (!frameFinished) continue;
+ // Update current position if timecode is available
+- if (frame->pkt_pts != uint64_t(AV_NOPTS_VALUE)) {
+- m_position = double(frame->pkt_pts) * av_q2d(m_formatContext->streams[m_streamId]->time_base);
+- }
+- if (m_mediaType == AVMEDIA_TYPE_VIDEO) processVideo(frame); else processAudio(frame);
++// if (frame->pkt_pts != uint64_t(AV_NOPTS_VALUE)) {
++ if (int64_t(frame->pkt_pts) != int64_t(AV_NOPTS_VALUE)) {
++// m_position = double(frame->pkt_pts) * av_q2d(m_formatContext->streams[m_streamId]->time_base);
++ m_position = double(frame->pkt_pts) * av_q2d(m_formatContext->streams[m_streamId]->time_base)
++ - double(m_formatContext->start_time) / AV_TIME_BASE;
++ }
++// if (m_mediaType == AVMEDIA_TYPE_VIDEO) processVideo(frame); else processAudio(frame);
++ if (m_mediaType == AVMEDIA_TYPE_VIDEO) processVideo(frame.get()); else processAudio(frame.get());
+ }
+ }
+
+@@ -189,9 +218,29 @@
+ }
+
+ void FFmpeg::processAudio(AVFrame* frame) {
++ void* data = frame->data[0];
++ // New FFmpeg versions use non-interleaved audio decoding and samples may be in float format.
++ // Do a conversion here, allowing us to use the old (deprecated) avcodec audio_resample().
++ std::vector<int16_t> input;
++ unsigned inFrames = frame->nb_samples;
++ if (frame->data[1]) {
++ unsigned channels = m_codecContext->channels;
++ input.reserve(channels * inFrames);
++ for (unsigned i = 0; i < inFrames; ++i) {
++ for (unsigned ch = 0; ch < channels; ++ch) {
++ data = frame->data[ch];
++ input.push_back(m_codecContext->sample_fmt == AV_SAMPLE_FMT_FLTP ?
++ da::conv_to_s16(reinterpret_cast<float*>(data)[i]) :
++ reinterpret_cast<int16_t*>(data)[i]
++ );
++ }
++ }
++ data = &input[0];
++ }
+ // Resample to output sample rate, then push to audio queue and increment timecode
+ std::vector<int16_t> resampled(AVCODEC_MAX_AUDIO_FRAME_SIZE);
+- int frames = audio_resample(m_resampleContext, &resampled[0], (short*)frame->data[0], frame->nb_samples);
++// int frames = audio_resample(m_resampleContext, &resampled[0], (short*)frame->data[0], frame->nb_samples);
++ int frames = audio_resample(m_resampleContext, &resampled[0], reinterpret_cast<short*>(data), inFrames);
+ resampled.resize(frames * AUDIO_CHANNELS);
+ audioQueue.push(resampled, m_position); // May block
+ m_position += double(frames)/m_formatContext->streams[m_streamId]->codec->sample_rate;
+diff -ur performous-0.7.0/game/ffmpeg.hh performous-0.7.0b/game/ffmpeg.hh
+--- performous-0.7.0/game/ffmpeg.hh 2012-11-12 23:14:08.000000000 +0100
++++ performous-0.7.0b/game/ffmpeg.hh 2013-05-23 20:42:22.868566247 +0200
+@@ -3,7 +3,8 @@
+ #include "util.hh"
+ #include "libda/sample.hpp"
+ #include <boost/circular_buffer.hpp>
+-#include <boost/ptr_container/ptr_set.hpp>
++//#include <boost/ptr_container/ptr_set.hpp>
++#include <boost/ptr_container/ptr_deque.hpp>
+ #include <boost/scoped_ptr.hpp>
+ #include <boost/thread/condition.hpp>
+ #include <boost/thread/mutex.hpp>
+@@ -47,25 +48,29 @@
+ }
+ };
+
+-static bool operator<(VideoFrame const& a, VideoFrame const& b) {
+- return a.timestamp < b.timestamp;
+-}
++// static bool operator<(VideoFrame const& a, VideoFrame const& b) {
++// return a.timestamp < b.timestamp;
++// }
+
+ /// video queue: first in first out
+ class VideoFifo {
+ public:
+- VideoFifo(): m_available(), m_timestamp(), m_eof() {}
++// VideoFifo(): m_available(), m_timestamp(), m_eof() {}
++ VideoFifo(): m_timestamp(), m_eof() {}
+ /// trys to pop a VideoFrame from queue
+ bool tryPop(VideoFrame& f) {
+ boost::mutex::scoped_lock l(m_mutex);
+- if (!m_queue.empty() && m_queue.begin()->data.empty()) { m_eof = true; return false; }
+- statsUpdate();
+- if (m_available == 0) return false; // Nothing to deliver
++// if (!m_queue.empty() && m_queue.begin()->data.empty()) { m_eof = true; return false; }
++// statsUpdate();
++// if (m_available == 0) return false; // Nothing to deliver
++ if (m_queue.empty()) return false; // Nothing to deliver
++ if (m_queue.begin()->data.empty()) { m_eof = true; return false; }
+ f.swap(*m_queue.begin());
+- m_queue.erase(m_queue.begin());
++// m_queue.erase(m_queue.begin());
++ m_queue.pop_front();
+ m_cond.notify_all();
+ m_timestamp = f.timestamp;
+- statsUpdate();
++// statsUpdate();
+ return true;
+ }
+ /// pushes VideoFrames to queue
+@@ -73,38 +78,41 @@
+ boost::mutex::scoped_lock l(m_mutex);
+ while (m_queue.size() > m_max) m_cond.wait(l);
+ if (m_queue.empty()) m_timestamp = f->timestamp;
+- m_queue.insert(f);
+- statsUpdate();
+- }
+- /// updates stats
+- void statsUpdate() {
+- m_available = std::max(0, int(m_queue.size()) - int(m_min));
+- if (m_available == 0 && !m_queue.empty() && m_queue.rbegin()->data.empty()) m_available = m_queue.size() - 1;
++// m_queue.insert(f);
++// statsUpdate();
++// }
++// /// updates stats
++// void statsUpdate() {
++// m_available = std::max(0, int(m_queue.size()) - int(m_min));
++// if (m_available == 0 && !m_queue.empty() && m_queue.rbegin()->data.empty()) m_available = m_queue.size() - 1;
++ m_queue.push_back(f);
+ }
+ /// resets video queue
+ void reset() {
+ boost::mutex::scoped_lock l(m_mutex);
+ m_queue.clear();
+ m_cond.notify_all();
+- statsUpdate();
++// statsUpdate();
+ m_eof = false;
+ }
+ /// returns current position
+ double position() const { return m_timestamp; }
+- /// returns m_available / m_max
+- double percentage() const { return double(m_available) / m_max; }
++// /// returns m_available / m_max
++// double percentage() const { return double(m_available) / m_max; }
+ /// simple eof check
+ double eof() const { return m_eof; }
+
+ private:
+- boost::ptr_set<VideoFrame> m_queue;
++// boost::ptr_set<VideoFrame> m_queue;
++ boost::ptr_deque<VideoFrame> m_queue;
+ mutable boost::mutex m_mutex;
+ boost::condition m_cond;
+- volatile unsigned m_available;
++// volatile unsigned m_available;
+ double m_timestamp;
+ bool m_eof;
+- static const unsigned m_min = 16; // H.264 may have 16 consecutive B frames
+- static const unsigned m_max = 50;
++// static const unsigned m_min = 16; // H.264 may have 16 consecutive B frames
++// static const unsigned m_max = 50;
++ static const unsigned m_max = 20;
+ };
+
+ class AudioBuffer {
+@@ -195,7 +203,7 @@
+
+ // ffmpeg forward declarations
+ extern "C" {
+- struct AVCodec;
++// struct AVCodec;
+ struct AVCodecContext;
+ struct AVFormatContext;
+ struct AVFrame;
+@@ -206,8 +214,10 @@
+ /// ffmpeg class
+ class FFmpeg {
+ public:
+- /// constructor
+- FFmpeg(bool decodeVideo, bool decodeAudio, std::string const& file, unsigned int rate = 48000);
++// /// constructor
++// FFmpeg(bool decodeVideo, bool decodeAudio, std::string const& file, unsigned int rate = 48000);
++ /// Decode file; if no rate is specified, decode video, otherwise decode audio.
++ FFmpeg(std::string const& file, unsigned int rate = 0);
+ ~FFmpeg();
+ void operator()(); ///< Thread runs here, don't call directly
+ unsigned width, ///< width of video
+@@ -220,8 +230,8 @@
+ void seek(double time, bool wait = true);
+ /// duration
+ double duration() const;
+- /// return current position
+- double position() { return videoQueue.position(); /* FIXME: remove */ }
++// /// return current position
++// double position() { return videoQueue.position(); /* FIXME: remove */ }
+ bool terminating() const { return m_quit; }
+
+ class eof_error: public std::exception {};
+@@ -234,16 +244,17 @@
+ std::string m_filename;
+ unsigned int m_rate;
+ volatile bool m_quit;
+- volatile bool m_running;
+- volatile bool m_eof;
++// volatile bool m_running;
++// volatile bool m_eof;
+ volatile double m_seekTarget;
+ double m_position;
++ double m_duration;
+ // libav-specific variables
+ int m_streamId;
+ int m_mediaType; // enum AVMediaType
+ AVFormatContext* m_formatContext;
+ AVCodecContext* m_codecContext;
+- AVCodec* m_codec;
++// AVCodec* m_codec;
+ ReSampleContext* m_resampleContext;
+ SwsContext* m_swsContext;
+ // Make sure the thread starts only after initializing everything else
+diff -ur performous-0.7.0/game/video.cc performous-0.7.0b/game/video.cc
+--- performous-0.7.0/game/video.cc 2012-11-12 23:14:08.000000000 +0100
++++ performous-0.7.0b/game/video.cc 2013-05-23 20:33:30.612096870 +0200
+@@ -3,7 +3,8 @@
+ #include "util.hh"
+ #include <cmath>
+
+-Video::Video(std::string const& _videoFile, double videoGap): m_mpeg(true, false, _videoFile), m_videoGap(videoGap), m_surfaceTime(), m_lastTime(), m_alpha(-0.5, 1.5) {}
++// Video::Video(std::string const& _videoFile, double videoGap): m_mpeg(true, false, _videoFile), m_videoGap(videoGap), m_surfaceTime(), m_lastTime(), m_alpha(-0.5, 1.5) {}
++Video::Video(std::string const& _videoFile, double videoGap): m_mpeg(_videoFile), m_videoGap(videoGap), m_surfaceTime(), m_lastTime(), m_alpha(-0.5, 1.5) {}
+
+ void Video::prepare(double time) {
+ time += m_videoGap;
diff --git a/community/performous/performous-0.7.0-cmake.patch b/community/performous/performous-0.7.0-cmake.patch
new file mode 100644
index 000000000..4c6f47b63
--- /dev/null
+++ b/community/performous/performous-0.7.0-cmake.patch
@@ -0,0 +1,155 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu Jan 24 13:13:50 UTC 2013
+Subject: build system
+
+ - fix opencv module to prefer pkg-config results
+ - fix some module and macro names and try to use
+ system modules as much as possible (ALSA Boost Gettext Jpeg Png Tiff Z)
+
+--- cmake/Modules/FindOpenCV.cmake
++++ cmake/Modules/FindOpenCV.cmake
+@@ -57,13 +57,21 @@
+ include(FindPkgConfig)
+ if(PKG_CONFIG_FOUND)
+ pkg_check_modules(OPENCV_PKGCONF opencv)
+- set(OpenCV_DIR ${OPENCV_PKGCONF_PREFIX})
+- if(EXISTS "${OpenCV_DIR}")
+- set(OpenCV_configScript_DIR "${OpenCV_DIR}/share/opencv")
+- if(EXISTS "${OpenCV_configScript_DIR}")
+- set(OpenCV_configScript "${OpenCV_configScript_DIR}/OpenCVConfig.cmake")
+- endif(EXISTS "${OpenCV_configScript_DIR}")
+- endif(EXISTS "${OpenCV_DIR}")
++ # prefer pkg-config values
++ if(OPENCV_PKGCONF_FOUND)
++ set(OpenCV_LIBS ${OPENCV_PKGCONF_LDFLAGS})
++ set(OpenCV_FOUND true)
++ set(OpenCV_INCLUDE_DIR ${OPENCV_PKGCONF_INCLUDE_DIRS})
++ set(OpenCV_VERSION ${OPENCV_PKGCONF_VERSION})
++ else(OPENCV_PKGCONF_FOUND)
++ set(OpenCV_DIR ${OPENCV_PKGCONF_PREFIX})
++ if(EXISTS "${OpenCV_DIR}")
++ set(OpenCV_configScript_DIR "${OpenCV_DIR}/share/opencv")
++ if(EXISTS "${OpenCV_configScript_DIR}")
++ set(OpenCV_configScript "${OpenCV_configScript_DIR}/OpenCVConfig.cmake")
++ endif(EXISTS "${OpenCV_configScript_DIR}")
++ endif(EXISTS "${OpenCV_DIR}")
++ endif(OPENCV_PKGCONF_FOUND)
+ endif(PKG_CONFIG_FOUND)
+ endif(NOT WIN32)
+ endif(NOT EXISTS "${OpenCV_DIR}")
+@@ -72,7 +80,7 @@
+ ##====================================================
+ ## Find OpenCV libraries
+ ##----------------------------------------------------
+-if(EXISTS "${OpenCV_DIR}")
++if(EXISTS "${OpenCV_DIR}" AND NOT OpenCV_FOUND)
+
+ #When its possible to use the Config script use it.
+ if(EXISTS "${OpenCV_configScript}")
+@@ -257,9 +265,9 @@
+ endif(${OpenCV_VERSION} VERSION_GREATER 2.1.0)
+
+
+-else(EXISTS "${OpenCV_DIR}")
++else(EXISTS "${OpenCV_DIR}" AND NOT OpenCV_FOUND)
+ set(ERR_MSG "Please specify OpenCV directory using OpenCV_DIR env. variable")
+-endif(EXISTS "${OpenCV_DIR}")
++endif(EXISTS "${OpenCV_DIR}" AND NOT OpenCV_FOUND)
+ ##====================================================
+
+ ##====================================================
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -33,7 +33,7 @@
+
+ #need to put here do setting LOCALE_DIR variable
+ find_package(Gettext)
+-if(Gettext_FOUND)
++if(GETTEXT_FOUND)
+ if(NOT LOCALE_DIR)
+ if(WIN32)
+ SET(LOCALE_DIR "bin/locale")
+@@ -55,7 +55,7 @@
+ message(STATUS "Cannot find msgfmt to convert language file. Translation won't be enabled")
+ endif()
+ endif(NOT LOCALE_DIR)
+-endif(Gettext_FOUND)
++endif(GETTEXT_FOUND)
+ add_subdirectory(themes)
+ add_subdirectory(data)
+ add_subdirectory(game)
+--- game/CMakeLists.txt
++++ game/CMakeLists.txt
+@@ -71,7 +71,7 @@
+ list(APPEND LIBS ${Boost_LIBRARIES})
+
+ # Find all the libs that don't require extra parameters
+-foreach(lib ${OUR_LIBS} SDL PangoCairo LibRSVG LibXML++ GLEW AVFormat SWScale OpenGL Z Jpeg Png PortAudio)
++foreach(lib ${OUR_LIBS} SDL PangoCairo LibRSVG LibXML++ GLEW AVFormat SWScale OpenGL ZLIB JPEG PNG PortAudio)
+ find_package(${lib} REQUIRED)
+ include_directories(${${lib}_INCLUDE_DIRS})
+ list(APPEND LIBS ${${lib}_LIBRARIES})
+@@ -79,7 +79,7 @@
+ endforeach(lib)
+
+ find_package(Gettext)
+-if(Gettext_FOUND)
++if(GETTEXT_FOUND)
+ include_directories(${Gettext_INCLUDE_DIRS})
+ list(APPEND LIBS ${Gettext_LIBRARIES})
+ add_definitions("-DUSE_GETTEXT")
+--- tools/CMakeLists.txt
++++ tools/CMakeLists.txt
+@@ -6,7 +6,7 @@
+ include_directories(${Boost_INCLUDE_DIRS})
+
+ # Find all the libs that don't require extra parameters
+-foreach(lib LibXML++ Magick++ Z Jpeg Tiff Png Freetype Z)
++foreach(lib LibXML++ Magick++ ZLIB JPEG TIFF PNG Freetype ZLIB)
+ find_package(${lib})
+ if (${lib}_FOUND)
+ include_directories(${${lib}_INCLUDE_DIRS})
+@@ -24,13 +24,13 @@
+ if (LibXML++_FOUND)
+ if (Boost_FOUND)
+ if (Magick++_FOUND)
+- if (Z_FOUND)
++ if (ZLIB_FOUND)
+ add_executable(ss_extract ss_extract.cpp pak.cpp ipu_conv.cpp ss_cover.cpp)
+- target_link_libraries(ss_extract ${LibXML++_LIBRARIES} ${Boost_LIBRARIES} ${Magick++_LIBRARIES} ${Z_LIBRARIES} ${Jpeg_LIBRARIES} ${Tiff_LIBRARIES} ${Png_LIBRARIES} ${Freetype_LIBRARY} ${Magick++_LIBRARIES})
++ target_link_libraries(ss_extract ${LibXML++_LIBRARIES} ${Boost_LIBRARIES} ${Magick++_LIBRARIES} ${ZLIB_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${PNG_LIBRARIES} ${Freetype_LIBRARY} ${Magick++_LIBRARIES})
+ set(targets ${targets} ss_extract)
+- else (Z_FOUND)
++ else (ZLIB_FOUND)
+ message("No zlib found, not building ss_extract")
+- endif (Z_FOUND)
++ endif (ZLIB_FOUND)
+ else (Magick++_FOUND)
+ message("No Magick++ found, not building ss_extract")
+ endif (Magick++_FOUND)
+@@ -40,7 +40,7 @@
+
+ if (Magick++_FOUND)
+ add_executable(ss_cover_conv cover_conv.cpp pak.cpp ss_cover.cpp)
+- target_link_libraries(ss_cover_conv ${Magick++_LIBRARIES} ${LibXML++_LIBRARIES} ${Z_LIBRARIES} ${Jpeg_LIBRARIES} ${Tiff_LIBRARIES} ${Png_LIBRARIES} ${Freetype_LIBRARY} ${Magick++_LIBRARIES})
++ target_link_libraries(ss_cover_conv ${Magick++_LIBRARIES} ${LibXML++_LIBRARIES} ${ZLIB_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${PNG_LIBRARIES} ${Freetype_LIBRARY} ${Magick++_LIBRARIES})
+ set(targets ${targets} ss_cover_conv)
+ else (Magick++_FOUND)
+ message("No Magick++ found, not building ss_cover_conv")
+@@ -58,13 +58,13 @@
+ target_link_libraries(ss_archive_extract ${Boost_LIBRARIES})
+ set(targets ${targets} ss_archive_extract)
+
+- if (Z_FOUND)
++ if (ZLIB_FOUND)
+ add_executable(itg_pck itg_pck.cc)
+- target_link_libraries(itg_pck ${Boost_LIBRARIES} ${Z_LIBRARIES})
++ target_link_libraries(itg_pck ${Boost_LIBRARIES} ${ZLIB_LIBRARIES})
+ set(targets ${targets} itg_pck)
+
+ add_executable(ss_chc_decode ss_chc_decode.cpp)
+- target_link_libraries(ss_chc_decode ${Boost_LIBRARIES} ${Z_LIBRARIES})
++ target_link_libraries(ss_chc_decode ${Boost_LIBRARIES} ${ZLIB_LIBRARIES})
+ set(targets ${targets} ss_chc_decode)
+ endif()
+ endif (Boost_FOUND)
diff --git a/community/perl-berkeleydb/PKGBUILD b/community/perl-berkeleydb/PKGBUILD
new file mode 100644
index 000000000..59fc61a37
--- /dev/null
+++ b/community/perl-berkeleydb/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 93668 2013-07-08 11:19:35Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-berkeleydb
+pkgver=0.52
+pkgrel=1
+pkgdesc="Interface to Berkeley DB version 2, 3 or 4"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/BerkeleyDB/"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'db')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/BerkeleyDB-$pkgver.tar.gz)
+md5sums=('e1031f4cd3062fdb1597af4373789d79')
+
+build() {
+ cd $srcdir/BerkeleyDB-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ _dbver=`pacman -Q db | cut -d\ -f2 | cut -d- -f1`
+ depends=('perl' "db=$_dbver")
+
+ cd $srcdir/BerkeleyDB-$pkgver
+ make pure_install doc_install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-class-data-inheritable/PKGBUILD b/community/perl-class-data-inheritable/PKGBUILD
new file mode 100644
index 000000000..e610fc815
--- /dev/null
+++ b/community/perl-class-data-inheritable/PKGBUILD
@@ -0,0 +1,23 @@
+# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-class-data-inheritable
+pkgver=0.08
+pkgrel=5
+pkgdesc="Inheritable, overridable class data "
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Class-Data-Inheritable"
+license=('GPL' 'PerlArtistic')
+depends=('perl>=5.10.0')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/T/TM/TMTM/Class-Data-Inheritable-$pkgver.tar.gz)
+md5sums=('fc0fe65926eb8fb932743559feb54eb9')
+
+build() {
+ cd Class-Data-Inheritable-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-class-factory-util/PKGBUILD b/community/perl-class-factory-util/PKGBUILD
new file mode 100644
index 000000000..c9da049d7
--- /dev/null
+++ b/community/perl-class-factory-util/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 65743 2012-02-22 12:12:49Z spupykin $
+
+pkgname=perl-class-factory-util
+_realname=Class-Factory-Util
+pkgver=1.7
+pkgrel=4
+pkgdesc="Provide utility methods for factory classes"
+arch=(i686 x86_64)
+license=('GPL' 'Artistic')
+url="http://search.cpan.org/~drolsky/Class-Factory-Util"
+options=(!emptydirs)
+depends=('perl')
+provides=('class-factory-util=1.7' 'Class::Factory::Util=1.7' 'perl-class-factory-util=1.7')
+source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Class-Factory-Util-1.7.tar.gz)
+md5sums=('aebd79da361b676a7ecd3245fc3d1b3f')
+
+build() {
+ cd ${srcdir}/${_realname}-${pkgver}
+ # install module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd ${srcdir}/${_realname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+
+ # remove perllocal.pod and .packlist
+ find ${pkgdir} -name perllocal.pod -delete
+ find ${pkgdir} -name .packlist -delete
+}
diff --git a/community/perl-class-methodmaker/PKGBUILD b/community/perl-class-methodmaker/PKGBUILD
new file mode 100644
index 000000000..1304b3d3d
--- /dev/null
+++ b/community/perl-class-methodmaker/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91657 2013-05-26 09:24:47Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-class-methodmaker
+pkgver=2.18
+pkgrel=7
+pkgdesc="Create generic class methods"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Class-MethodMaker"
+license=('GPL' 'PerlArtistic')
+depends=('perl>=5.10.0')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/S/SC/SCHWIGON/Class-MethodMaker-${pkgver}.tar.gz")
+md5sums=('99435d78e0a1754b102fe39597c6c3df')
+
+build() {
+ cd $srcdir/Class-MethodMaker-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Class-MethodMaker-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-clone/PKGBUILD b/community/perl-clone/PKGBUILD
new file mode 100644
index 000000000..1ce7f161f
--- /dev/null
+++ b/community/perl-clone/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+# Contributor: Alex Dioso <adioso->gmail*com>
+
+pkgname=perl-clone
+pkgver=0.34
+pkgrel=2
+pkgdesc='Recursive copy of nested objects.'
+arch=('i686' 'x86_64')
+url='http://search.cpan.org/~RDF/Clone'
+license=('GPL' 'PerlArtistic')
+depends=('perl>=5.10.0')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/G/GA/GARU/Clone-$pkgver.tar.gz")
+md5sums=('6475432d91b1820eff1ae877ea5c8e3b')
+
+build() {
+ cd Clone-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd Clone-${pkgver}
+ make DESTDIR=${pkgdir} install
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-crypt-blowfish/PKGBUILD b/community/perl-crypt-blowfish/PKGBUILD
new file mode 100644
index 000000000..726c0ee4f
--- /dev/null
+++ b/community/perl-crypt-blowfish/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 91659 2013-05-26 09:24:50Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-crypt-blowfish
+pkgver=2.12
+pkgrel=6
+pkgdesc="Perl/CPAN Module Crypt::Blowfish : XSbased implementation of Blowfish"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Crypt-Blowfish"
+license=("GPL" "PerlArtistic")
+source=("http://search.cpan.org/CPAN/authors/id/D/DP/DPARIS/Crypt-Blowfish-$pkgver.tar.gz"
+ "perl-5.18.patch")
+md5sums=('a0eca17addc8bdaf38c044c365a8800c'
+ '700129e690f239f9c1a318fffd3504c7')
+
+prepare() {
+ cd $srcdir/Crypt-Blowfish-$pkgver
+ patch -p1 <$srcdir/perl-5.18.patch
+}
+
+build() {
+ cd $srcdir/Crypt-Blowfish-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Crypt-Blowfish-$pkgver
+ make pure_install doc_install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-crypt-blowfish/perl-5.18.patch b/community/perl-crypt-blowfish/perl-5.18.patch
new file mode 100644
index 000000000..291733cb9
--- /dev/null
+++ b/community/perl-crypt-blowfish/perl-5.18.patch
@@ -0,0 +1,13 @@
+diff -wbBur Crypt-Blowfish-2.12.org/Blowfish.xs Crypt-Blowfish-2.12/Blowfish.xs
+--- Crypt-Blowfish-2.12.org/Blowfish.xs 2000-11-30 09:25:21.000000000 +0300
++++ Crypt-Blowfish-2.12/Blowfish.xs 2013-05-20 15:31:52.481940353 +0400
+@@ -63,8 +63,7 @@
+ output = sv_newmortal();
+ output_len = 8;
+
+- if (!SvUPGRADE(output, SVt_PV))
+- croak("cannot use output argument as lvalue");
++ SvUPGRADE(output, SVt_PV);
+
+ /* blowfish_crypt_8bytes(input, SvGROW(output, 8), ks, dir); */
+ /* HP-UX (HP cc) fix below, thanks Addi! */
diff --git a/community/perl-crypt-des/PKGBUILD b/community/perl-crypt-des/PKGBUILD
new file mode 100644
index 000000000..fbf870154
--- /dev/null
+++ b/community/perl-crypt-des/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 91660 2013-05-26 09:24:51Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+#Contributor: Pete Morris <pete dot morris at gmail dot com>
+pkgname=perl-crypt-des
+pkgver=2.05
+pkgrel=6
+pkgdesc="Perl DES encryption module"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/~dparis/Crypt-DES"
+license=("GPL" "PerlArtistic")
+depends=('glibc')
+source=("http://www.cpan.org/authors/id/D/DP/DPARIS/Crypt-DES-$pkgver.tar.gz"
+ "perl-5.18.patch")
+md5sums=('a8a0bea7064e11d2af434f3e468c17bb'
+ '836d1a954281257efe00503d98b42dc8')
+
+prepare() {
+ cd $srcdir/Crypt-DES-$pkgver
+ patch -p1 <$srcdir/perl-5.18.patch
+}
+
+build() {
+ cd $srcdir/Crypt-DES-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Crypt-DES-$pkgver
+ make pure_install doc_install DESTDIR=${pkgdir}
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-crypt-des/perl-5.18.patch b/community/perl-crypt-des/perl-5.18.patch
new file mode 100644
index 000000000..16e5aac85
--- /dev/null
+++ b/community/perl-crypt-des/perl-5.18.patch
@@ -0,0 +1,13 @@
+diff -wbBur Crypt-DES-2.05.org/DES.xs Crypt-DES-2.05/DES.xs
+--- Crypt-DES-2.05.org/DES.xs 2005-12-08 18:52:50.000000000 +0300
++++ Crypt-DES-2.05/DES.xs 2013-05-20 15:35:58.668612530 +0400
+@@ -64,8 +64,7 @@
+ output = sv_newmortal();
+ output_len = 8;
+
+- if (!SvUPGRADE(output, SVt_PV))
+- croak("cannot use output argument as lvalue");
++ SvUPGRADE(output, SVt_PV);
+
+ perl_des_crypt(input, SvGROW(output, output_len), (i32 *)ks, enc_flag);
+
diff --git a/community/perl-curses/PKGBUILD b/community/perl-curses/PKGBUILD
new file mode 100644
index 000000000..458498978
--- /dev/null
+++ b/community/perl-curses/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 91661 2013-05-26 09:24:52Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-curses
+pkgver=1.28
+pkgrel=6
+pkgdesc="Character screen handling and windowing"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Curses"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'ncurses')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/G/GI/GIRAFFED/Curses-$pkgver.tgz)
+md5sums=('ed9f7ddf2d90f4266da91c3dc9fad9c9')
+
+build() {
+ cd $srcdir/Curses-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Curses-$pkgver
+ make pure_install doc_install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-data-dumper/PKGBUILD b/community/perl-data-dumper/PKGBUILD
new file mode 100644
index 000000000..2f96b2588
--- /dev/null
+++ b/community/perl-data-dumper/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-data-dumper
+pkgver=2.145
+pkgrel=2
+pkgdesc="stringified perl data structures, suitable for both printing and eval"
+arch=(i686 x86_64)
+license=('GPL' 'PerlArtistic')
+url="http://search.cpan.org/dist/Data-Dumper/"
+depends=('perl')
+options=(!emptydirs)
+source=(http://search.cpan.org/CPAN/authors/id/S/SM/SMUELLER/Data-Dumper-$pkgver.tar.gz)
+md5sums=('b773c875afcca866faf8481adc3464b0')
+
+build() {
+ cd $srcdir/Data-Dumper-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Data-Dumper-${pkgver}
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name perllocal.pod -delete
+ find $pkgdir -name .packlist -delete
+}
diff --git a/community/perl-data-structure-util/PKGBUILD b/community/perl-data-structure-util/PKGBUILD
new file mode 100644
index 000000000..00d73ae7e
--- /dev/null
+++ b/community/perl-data-structure-util/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 91662 2013-05-26 09:24:54Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-data-structure-util
+pkgver=0.15
+pkgrel=7
+pkgdesc="Perl/CPAN Module Data::Structure::Util"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Data-Structure-Util"
+license=("GPL" "PerlArtistic")
+source=("http://search.cpan.org/CPAN/authors/id/A/AN/ANDYA/Data-Structure-Util-$pkgver.tar.gz")
+md5sums=('e12ba777c0abfbd79a131de28d542359')
+
+build() {
+ cd $srcdir/Data-Structure-Util-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Data-Structure-Util-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-datetime-format-builder/PKGBUILD b/community/perl-datetime-format-builder/PKGBUILD
new file mode 100644
index 000000000..d924762bc
--- /dev/null
+++ b/community/perl-datetime-format-builder/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 90637 2013-05-13 12:43:31Z spupykin $
+# Contributor: Caleb Cushing <xenoterracide@gmail.com>
+
+pkgname=perl-datetime-format-builder
+pkgver=0.8100
+pkgrel=1
+pkgdesc="Create DateTime parser classes and objects"
+arch=('i686' 'x86_64')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+provides=('perl-datetime-format-builder=0.80')
+depends=('perl' 'perl-class-factory-util>=1.6' 'perl-datetime>=0.12' 'perl-datetime-format-strptime>=1.04' 'perl-params-validate>=0.72')
+url='http://search.cpan.org/dist/DateTime-Format-Builder'
+source=('http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.80.tar.gz')
+md5sums=('f6c5d5a17b5b7478ff555a2d3cce5136')
+
+build() {
+ export PERL_MM_USE_DEFAULT=1
+
+ cd "${srcdir}/DateTime-Format-Builder-0.80"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "${srcdir}/DateTime-Format-Builder-0.80"
+ make DESTDIR="$pkgdir" install
+
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/community/perl-datetime-format-mail/PKGBUILD b/community/perl-datetime-format-mail/PKGBUILD
new file mode 100644
index 000000000..cb5bacb73
--- /dev/null
+++ b/community/perl-datetime-format-mail/PKGBUILD
@@ -0,0 +1,26 @@
+# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-datetime-format-mail
+pkgver=0.3001
+pkgrel=8
+pkgdesc="Convert between DateTime and RFC2822/822 formats "
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/DateTime-Format-Mail"
+license=('GPL' 'PerlArtistic')
+depends=('perl>=5.10.0' 'perl-datetime' 'perl-params-validate>=0.67')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Mail-$pkgver.tar.gz)
+md5sums=('15e36249e866463bd0237262a8e43b16')
+
+build() {
+ cd $srcdir/DateTime-Format-Mail-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package() {
+ cd $srcdir/DateTime-Format-Mail-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-datetime/PKGBUILD b/community/perl-datetime/PKGBUILD
new file mode 100644
index 000000000..bd674b53f
--- /dev/null
+++ b/community/perl-datetime/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 91663 2013-05-26 09:24:55Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-datetime
+pkgver=1.03
+pkgrel=2
+pkgdesc="A complete, easy to use date and time object"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/DateTime"
+license=('GPL' 'PerlArtistic')
+depends=('perl-datetime-timezone>=0.59' 'perl-datetime-locale>=0.41'
+ 'perl-params-validate>=0.76' 'perl-math-round')
+LC_NUMERIC=C
+provides=("perl-datetime=`printf %.4f $pkgver`")
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-$pkgver.tar.gz)
+md5sums=('ea0fc830410b9ce3baeef3525bc0acdd')
+
+build() {
+ cd $srcdir/DateTime-$pkgver
+ perl Build.PL installdirs=vendor destdir="$pkgdir/"
+ ./Build
+}
+
+check() {
+ cd $srcdir/DateTime-$pkgver
+# ./Build test
+ true
+}
+
+package() {
+ cd $srcdir/DateTime-$pkgver
+ ./Build install
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-dbd-odbc/PKGBUILD b/community/perl-dbd-odbc/PKGBUILD
new file mode 100644
index 000000000..51f94c7f8
--- /dev/null
+++ b/community/perl-dbd-odbc/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91664 2013-05-26 09:24:58Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-dbd-odbc
+pkgver=1.43
+pkgrel=2
+pkgdesc="ODBC Driver for DBI"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/DBD-ODBC/"
+license=('GPL' 'PerlArtistic')
+depends=('perl-dbi' 'perl' 'unixodbc')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/M/MJ/MJEVANS/DBD-ODBC-${pkgver}.tar.gz")
+md5sums=('35e37488170b5111f826226c4d466961')
+
+build() {
+ cd DBD-ODBC-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd DBD-ODBC-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-dbd-pg/PKGBUILD b/community/perl-dbd-pg/PKGBUILD
new file mode 100644
index 000000000..64bb7d24f
--- /dev/null
+++ b/community/perl-dbd-pg/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91665 2013-05-26 09:25:00Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-dbd-pg
+pkgver=2.19.3
+pkgrel=2
+pkgdesc="Postgres Driver for DBI"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/DBD-Pg"
+license=('GPL' 'PerlArtistic')
+depends=('perl-dbi>=1.52' 'postgresql-libs')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-${pkgver}.tar.gz")
+md5sums=('026ea19f89aee12051bce23d797e824b')
+
+build() {
+ cd DBD-Pg-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd DBD-Pg-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-dbd-sqlite2/PKGBUILD b/community/perl-dbd-sqlite2/PKGBUILD
new file mode 100644
index 000000000..2f8a19579
--- /dev/null
+++ b/community/perl-dbd-sqlite2/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 91666 2013-05-26 09:25:02Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-dbd-sqlite2
+pkgver=0.36
+pkgrel=2
+pkgdesc="Perl/CPAN Module DBD::SQLite2"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/DBD-SQLite2"
+license=("GPL" "PerlArtistic")
+depends=("perl-dbi")
+source=("http://search.cpan.org/CPAN/authors/id/R/RU/RURBAN/DBD-SQLite2-$pkgver.tar.gz")
+md5sums=('221b30e630c72613d1fb5663db048a71')
+
+build() {
+ cd DBD-SQLite2-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd DBD-SQLite2-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-dbd-sybase/PKGBUILD b/community/perl-dbd-sybase/PKGBUILD
new file mode 100644
index 000000000..e0962a6e3
--- /dev/null
+++ b/community/perl-dbd-sybase/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91667 2013-05-26 09:25:03Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-dbd-sybase
+pkgver=1.15
+pkgrel=2
+pkgdesc="Sybase Driver for DBI"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/DBD-Sybase/"
+license=('GPL' 'PerlArtistic')
+depends=('perl-dbi>=1.52' 'perl>=5.10.0' 'freetds')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/M/ME/MEWP/DBD-Sybase-${pkgver}.tar.gz")
+md5sums=('d76f09f9a25896fd879ef89a98748708')
+
+build() {
+ cd $srcdir/DBD-Sybase-${pkgver}
+ export SYBASE=/usr
+ echo -e "\n\n\n\n\n\n" | PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/DBD-Sybase-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-device-serialport/PKGBUILD b/community/perl-device-serialport/PKGBUILD
new file mode 100644
index 000000000..3305d0af1
--- /dev/null
+++ b/community/perl-device-serialport/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 91668 2013-05-26 09:25:04Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Ross melin <rdmelin@gmail.com>
+
+pkgname=perl-device-serialport
+pkgver=1.04
+pkgrel=5
+pkgdesc="POSIX clone of Win32::SerialPort"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Device-SerialPort"
+license=('GPL' 'PerlArtistic')
+depends=('perl')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/C/CO/COOK/Device-SerialPort-$pkgver.tar.gz)
+md5sums=('82c698151f934eb28c65d1838cee7d9e')
+
+build() {
+ cd $srcdir/Device-SerialPort-$pkgver
+ eval `perl -V:archname`
+ PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Device-SerialPort-$pkgver
+ make DESTDIR=$pkgdir install
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-file-rsyncp/PKGBUILD b/community/perl-file-rsyncp/PKGBUILD
new file mode 100644
index 000000000..a6f54cef5
--- /dev/null
+++ b/community/perl-file-rsyncp/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 91669 2013-05-26 09:25:06Z bluewind $
+# Maintainer: Sébastien Luttringer
+
+pkgname=perl-file-rsyncp
+pkgver=0.70
+pkgrel=3
+pkgdesc='Perl interface to rsync file list encoding and decoding'
+arch=('i686' 'x86_64')
+license=('GPL' 'PerlArtistic')
+options=('!emptydirs' '!makeflags')
+url='http://search.cpan.org/dist/File-RsyncP'
+source=("http://search.cpan.org/CPAN/authors/id/C/CB/CBARRATT/File-RsyncP-$pkgver.tar.gz")
+md5sums=('f244372d15a2991b8700f62e73ac51e4')
+
+build() {
+ cd File-RsyncP-$pkgver
+ USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd File-RsyncP-$pkgver
+ make test
+}
+
+package() {
+ cd File-RsyncP-$pkgver
+ make install DESTDIR="$pkgdir/"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/perl-fuse/PKGBUILD b/community/perl-fuse/PKGBUILD
new file mode 100644
index 000000000..73a26df30
--- /dev/null
+++ b/community/perl-fuse/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91670 2013-05-26 09:25:07Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Tom K <tomk@runbox.com>
+
+pkgname=perl-fuse
+pkgver=0.14
+pkgrel=3
+pkgdesc="write filesystems in Perl using FUSE"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Fuse"
+depends=('perl' 'fuse')
+license=('GPL')
+source=(http://www.cpan.org/authors/id/D/DP/DPAVLIN/Fuse-$pkgver.tar.gz)
+md5sums=('df72f17bf03e1a31c1a834816a3a59f1')
+
+build() {
+ cd $srcdir/Fuse-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Fuse-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-gd/PKGBUILD b/community/perl-gd/PKGBUILD
new file mode 100644
index 000000000..28c7ffde7
--- /dev/null
+++ b/community/perl-gd/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 93776 2013-07-10 07:27:16Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+aur@gmail.com>
+
+pkgname=perl-gd
+pkgver=2.50
+pkgrel=2
+pkgdesc="Interface to Gd Graphics Library"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/GD"
+license=('GPL' 'PerlArtistic')
+depends=('gd')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/L/LD/LDS/GD-$pkgver.tar.gz)
+md5sums=('b2f1e47dfc1c4e4fdda3277f165d36e5')
+
+build() {
+ cd $srcdir/GD-$pkgver
+ unset CFLAGS
+ unset LDFLAGS
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+}
+package() {
+ cd $srcdir/GD-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-gnome2-wnck/PKGBUILD b/community/perl-gnome2-wnck/PKGBUILD
new file mode 100644
index 000000000..064c8167e
--- /dev/null
+++ b/community/perl-gnome2-wnck/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91672 2013-05-26 09:25:09Z bluewind $
+# Maintainer Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+pkgname=perl-gnome2-wnck
+pkgver=0.16
+pkgrel=8
+pkgdesc="Perl interface to the Window Navigator Construction Kit"
+arch=('i686' 'x86_64')
+license=("GPL" "PerlArtistic")
+url="http://search.cpan.org/dist/Gnome2-Wnck"
+depends=('gtk2-perl' 'libwnck')
+makedepends=('perl-extutils-depends' 'perl-extutils-pkgconfig')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/T/TS/TSCH/Gnome2-Wnck-${pkgver}.tar.gz")
+md5sums=('439f4569ffd7af96ef1d3feaab23760e')
+
+build() {
+ cd Gnome2-Wnck-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd Gnome2-Wnck-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/community/perl-gssapi/PKGBUILD b/community/perl-gssapi/PKGBUILD
new file mode 100644
index 000000000..c6a965a3e
--- /dev/null
+++ b/community/perl-gssapi/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 91673 2013-05-26 09:25:11Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-gssapi
+pkgver=0.28
+pkgrel=7
+pkgdesc="Perl/CPAN Module GSSAPI"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/GSSAPI"
+license=("GPL" "PerlArtistic")
+depends=('krb5')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/A/AG/AGROLMS/GSSAPI-${pkgver}.tar.gz")
+md5sums=('65f00a0749212af064289c8a05e59b3f')
+
+build() {
+ cd GSSAPI-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd GSSAPI-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-gstreamer-interfaces/PKGBUILD b/community/perl-gstreamer-interfaces/PKGBUILD
new file mode 100644
index 000000000..41e300029
--- /dev/null
+++ b/community/perl-gstreamer-interfaces/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 91675 2013-05-26 09:25:18Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Corrado Primier <bardo@aur.archlinux.org>
+
+pkgname=perl-gstreamer-interfaces
+pkgver=0.06
+pkgrel=6
+pkgdesc="GStreamer::Interfaces"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/GStreamer-Interfaces"
+license=('GPL' 'PerlArtistic')
+depends=('glib-perl' 'gstreamer0.10-base' 'perl-extutils-pkgconfig' 'perl-gstreamer' 'perl-extutils-depends')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/T/TS/TSCH/GStreamer-Interfaces-${pkgver}.tar.gz")
+md5sums=('aa9583a484fa6829935b360887ecda45')
+
+build() {
+ cd GStreamer-Interfaces-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd GStreamer-Interfaces-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-gstreamer/PKGBUILD b/community/perl-gstreamer/PKGBUILD
new file mode 100644
index 000000000..99d656129
--- /dev/null
+++ b/community/perl-gstreamer/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91674 2013-05-26 09:25:14Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+
+pkgname=perl-gstreamer
+pkgver=0.18
+pkgrel=2
+pkgdesc="Interface to the GStreamer library"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/GStreamer"
+license=('GPL' 'PerlArtistic')
+depends=('glib-perl>=1.180' 'gstreamer0.10' 'perl-extutils-pkgconfig>=1.07' 'perl-extutils-depends>=0.205')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/GStreamer-$pkgver.tar.gz)
+md5sums=('7ac748677f00d1fd966b09e10448cff6')
+
+build() {
+ cd GStreamer-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd GStreamer-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-gtk2-sexy/PKGBUILD b/community/perl-gtk2-sexy/PKGBUILD
new file mode 100644
index 000000000..7ad769b37
--- /dev/null
+++ b/community/perl-gtk2-sexy/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 91676 2013-05-26 09:25:19Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Charles Mauch <cmauch@gmail.com>
+# Creator: Florian Ragwitz <http://search.cpan.org/~/>
+
+pkgname=perl-gtk2-sexy
+pkgver=0.05
+pkgrel=8
+pkgdesc="Perl/CPAN Module Gtk2::Sexy"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Gtk2-Sexy"
+license=('GPL' 'PerlArtistic')
+depends=('gtk2' 'libsexy')
+makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends' 'gtk2-perl')
+options=(docs !emptydirs)
+source=("http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-Sexy-${pkgver}.tar.gz")
+md5sums=('3e291808250d7b956ba8443013a1b461')
+
+build() {
+ cd Gtk2-Sexy-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd Gtk2-Sexy-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-gtk2-trayicon/PKGBUILD b/community/perl-gtk2-trayicon/PKGBUILD
new file mode 100644
index 000000000..4ee678a9e
--- /dev/null
+++ b/community/perl-gtk2-trayicon/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 91677 2013-05-26 09:25:21Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Tom K <tomk@runbox.com>
+
+pkgname=perl-gtk2-trayicon
+pkgver=0.06
+pkgrel=10
+pkgdesc="Perl interface to the EggTrayIcon library"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Gtk2-TrayIcon/"
+depends=('gtk2-perl')
+makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends')
+license=("GPL")
+options=('!emptydirs')
+source=("http://downloads.sourceforge.net/sourceforge/gtk2-perl/Gtk2-TrayIcon-${pkgver}.tar.gz")
+md5sums=('522c328f14681a25d76eeaf317e05049')
+
+build() {
+ cd Gtk2-TrayIcon-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd Gtk2-TrayIcon-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-gtk2-webkit/PKGBUILD b/community/perl-gtk2-webkit/PKGBUILD
new file mode 100644
index 000000000..7dcd5f7d3
--- /dev/null
+++ b/community/perl-gtk2-webkit/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91678 2013-05-26 09:25:22Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+
+pkgname=perl-gtk2-webkit
+pkgver=0.09
+pkgrel=4
+pkgdesc="Gtk2::WebKit"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Gtk2-WebKit"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'gtk2-perl' 'libwebkit' 'perl-extutils-depends' 'perl-extutils-pkgconfig')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-WebKit-${pkgver}.tar.gz)
+md5sums=('e696fc2b15d6189370e19bce9a9e56f3')
+
+build() {
+ cd Gtk2-WebKit-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd Gtk2-WebKit-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-html-strip/PKGBUILD b/community/perl-html-strip/PKGBUILD
new file mode 100644
index 000000000..4cc4e0970
--- /dev/null
+++ b/community/perl-html-strip/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91679 2013-05-26 09:25:24Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-html-strip
+pkgver=1.06
+pkgrel=9
+pkgdesc="Perl/CPAN Module HTML::Strip"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/~kilinrax/HTML-Strip/"
+license=("GPL" "PerlArtistic")
+depends=('perl')
+source=("http://www.cpan.org/authors/id/K/KI/KILINRAX/HTML-Strip-$pkgver.tar.gz")
+md5sums=('ceeacef0c7c31983e3a991e77bb58b45')
+options=('!emptydirs')
+
+build() {
+ cd $srcdir/HTML-Strip-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package() {
+ cd $srcdir/HTML-Strip-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-inline-java/PKGBUILD b/community/perl-inline-java/PKGBUILD
new file mode 100644
index 000000000..500b8d3c7
--- /dev/null
+++ b/community/perl-inline-java/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 91680 2013-05-26 09:25:26Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Wael Nasreddine <gandalf@siemens-mobiles.org>
+
+pkgname=perl-inline-java
+pkgver=0.53
+pkgrel=5
+pkgdesc="The Inline::Java module allows you to put Java source code directly inline in a Perl script or module."
+arch=('i686' 'x86_64')
+depends=('perl' 'perl-inline' 'java-runtime')
+makedepends=('java-environment')
+license=("GPL" "PerlArtistic")
+url="http://search.cpan.org/dist/Inline-Java"
+source=(http://search.cpan.org/CPAN/authors/id/P/PA/PATL/Inline-Java-$pkgver.tar.gz)
+md5sums=('23f96c2ac4915302c3647c0abc92916f')
+options=('!emptydirs')
+
+build() {
+ cd $srcdir/Inline-Java-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor J2SDK=$J2SDKDIR
+ make java
+ make
+}
+package() {
+ cd $srcdir/Inline-Java-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-io-dirent/PKGBUILD b/community/perl-io-dirent/PKGBUILD
new file mode 100644
index 000000000..9a2de7e7f
--- /dev/null
+++ b/community/perl-io-dirent/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 91681 2013-05-26 09:25:30Z bluewind $
+# Maintainer: Sébastien Luttringer
+
+pkgname=perl-io-dirent
+pkgver=0.05
+pkgrel=3
+pkgdesc='Perl IO::Dirent module - Access to dirent structs returned by readdir'
+arch=('i686' 'x86_64')
+license=('GPL' 'PerlArtistic')
+url='http://search.cpan.org/~scottw/IO-Dirent/'
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/S/SC/SCOTTW/IO-Dirent-$pkgver.tar.gz")
+md5sums=('248ab22c31a310c3482fd99592ae550c')
+
+build() {
+ cd IO-Dirent-$pkgver
+ USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd IO-Dirent-$pkgver
+ make test
+}
+
+package() {
+ cd IO-Dirent-$pkgver
+ make install DESTDIR="$pkgdir/"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/perl-io-string/PKGBUILD b/community/perl-io-string/PKGBUILD
new file mode 100644
index 000000000..9f922b882
--- /dev/null
+++ b/community/perl-io-string/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65867 2012-02-22 13:10:41Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-io-string
+pkgver=1.08
+pkgrel=8
+pkgdesc="IO::File interface for in-core strings"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/IO-String"
+license=('GPL' 'PerlArtistic')
+depends=('perl>=5.10.0')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/G/GA/GAAS/IO-String-$pkgver.tar.gz)
+md5sums=('250e5424f290299fc3d6b5d1e9da3835')
+
+build() {
+ cd $srcdir/IO-String-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-io-tty/PKGBUILD b/community/perl-io-tty/PKGBUILD
new file mode 100644
index 000000000..54100cf32
--- /dev/null
+++ b/community/perl-io-tty/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91682 2013-05-26 09:25:34Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-io-tty
+pkgver=1.10
+pkgrel=3
+pkgdesc="Provide an interface to TTYs and PTYs"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/IO-Tty/"
+license=("GPL" "PerlArtistic")
+depends=('glibc')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/IO-Tty-$pkgver.tar.gz")
+md5sums=('46baec86a145e57f0ec661fa412b097c')
+
+build() {
+ cd $srcdir/IO-Tty-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package(){
+ cd $srcdir/IO-Tty-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-json-xs/PKGBUILD b/community/perl-json-xs/PKGBUILD
new file mode 100644
index 000000000..4bd2e9f84
--- /dev/null
+++ b/community/perl-json-xs/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 92759 2013-06-14 17:40:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tor Krill <tor@krill.nu>
+
+pkgname=perl-json-xs
+pkgver=2.34
+pkgrel=1
+pkgdesc="JSON::XS - JSON serialising/deserialising, done correctly and fast"
+url="http://search.cpan.org/dist/JSON-XS/"
+license=("GPL")
+arch=('i686' 'x86_64')
+depends=('perl' 'perl-common-sense')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/JSON-XS-$pkgver.tar.gz)
+md5sums=('dda3c03335665cdeff91c37a269b833b')
+
+build() {
+ cd $srcdir/JSON-XS-$pkgver
+# eval `perl -V:archname`
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package() {
+ cd $srcdir/JSON-XS-$pkgver
+ make DESTDIR=$pkgdir install
+
+ find $pkgdir -name '.packlist' -delete && \
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-lchown/PKGBUILD b/community/perl-lchown/PKGBUILD
new file mode 100644
index 000000000..cd1f89437
--- /dev/null
+++ b/community/perl-lchown/PKGBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+
+pkgname=perl-lchown
+pkgver=1.01
+pkgrel=2
+pkgdesc="use the lchown(2) system call from Perl"
+arch=(i686 x86_64)
+license=(PerlArtistic GPL)
+options=(!emptydirs)
+depends=('perl')
+url=https://metacpan.org/release/Lchown
+source=("http://search.cpan.org/CPAN/authors/id/N/NC/NCLEATON/Lchown-${pkgver}.tar.gz")
+md5sums=(e3db31be650437eb5d9bfc4da6252ee3)
+sha512sums=(f3b7bf7b3b71a7d92449d4ae8249d76b456869e48105db401a49f39f687ee5d97e079485fb2bbaae991a3a27d408959fc132b843c6f69487eeb2958c85f683a8)
+
+build()
+(
+ export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "${srcdir}/Lchown-${pkgver}"
+ /usr/bin/perl Build.PL
+ ./Build
+)
+
+check()
+(
+ export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ cd "${srcdir}/Lchown-${pkgver}"
+ ./Build test
+)
+
+package() {
+ cd "${srcdir}/Lchown-${pkgver}"
+ ./Build install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/community/perl-libapreq2/PKGBUILD b/community/perl-libapreq2/PKGBUILD
new file mode 100644
index 000000000..9ed4cf4a2
--- /dev/null
+++ b/community/perl-libapreq2/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 93091 2013-06-24 09:55:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Tom K <tomk@runbox.com>
+
+pkgname=perl-libapreq2
+pkgver=2.13
+pkgrel=4
+pkgdesc="A safe, standards-compliant, high-performance library used for parsing HTTP cookies, query-strings and POST data."
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/libapreq2"
+depends=('mod_perl' 'apr-util')
+makedepends=('perl-extutils-xsbuilder')
+license=("GPL")
+options=('!libtool' '!makeflags')
+source=(http://search.cpan.org/CPAN/authors/id/I/IS/ISAAC/libapreq2-$pkgver.tar.gz)
+md5sums=('c11fb0861aa84dcc6cd0f0798b045eee')
+
+build() {
+ cd $srcdir/libapreq2-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL --with-apache2-apxs=/usr/sbin/apxs
+ find . -type f -name Makefile -exec sed -i 's#-ldb-5.1#-ldb-5.2#' {} \;
+ sed -i 's#-ldb-5.1#-ldb-5.2#' apreq2-config
+ make
+}
+package(){
+ cd $srcdir/libapreq2-$pkgver
+ make install DESTDIR=$pkgdir
+ sed -i "s#$srcdir#/usr/src#" $pkgdir/usr/bin/apreq2-config
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community/perl-linux-pid/PKGBUILD b/community/perl-linux-pid/PKGBUILD
new file mode 100644
index 000000000..586aaf72e
--- /dev/null
+++ b/community/perl-linux-pid/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 91685 2013-05-26 09:25:43Z bluewind $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Generator : CPANPLUS::Dist::Arch 1.12
+
+pkgname='perl-linux-pid'
+pkgver='0.04'
+pkgrel='3'
+pkgdesc="Interface to Linux getpp?id functions"
+arch=('i686' 'x86_64')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+url='http://search.cpan.org/dist/Linux-Pid'
+source=(http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/Linux-Pid-$pkgver.tar.gz)
+md5sums=('130c4d299f827abf1f2285fddf03fccb')
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
+ MODULEBUILDRC=/dev/null
+
+ cd Linux-Pid-$pkgver
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd Linux-Pid-$pkgver
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd Linux-Pid-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
diff --git a/community/perl-mail-box-parser-c/PKGBUILD b/community/perl-mail-box-parser-c/PKGBUILD
new file mode 100644
index 000000000..79d0b2e16
--- /dev/null
+++ b/community/perl-mail-box-parser-c/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 91686 2013-05-26 09:25:45Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-mail-box-parser-c
+pkgver=3.006
+pkgrel=9
+pkgdesc="Perl/CPAN Module Mail::Box::Parser::C : extends MailBox with the speed of C"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Mail-Box-Parser-C"
+license=("GPL" "PerlArtistic")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/M/MA/MARKOV/Mail-Box-Parser-C-${pkgver}.tar.gz")
+md5sums=('3dfb3e2729597ae33114250cbce1b884')
+
+build() {
+ cd Mail-Box-Parser-C-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Mail-Box-Parser-C-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-mail-transport-dbx/PKGBUILD b/community/perl-mail-transport-dbx/PKGBUILD
new file mode 100644
index 000000000..f3ed0f502
--- /dev/null
+++ b/community/perl-mail-transport-dbx/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 91687 2013-05-26 09:25:47Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-mail-transport-dbx
+pkgver=0.07
+pkgrel=9
+pkgdesc="Perl/CPAN Module Mail::Transport::Dbx : Parse Outlook Express mailboxes"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Mail-Transport-Dbx"
+license=("GPL" "PerlArtistic")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/V/VP/VPARSEVAL/Mail-Transport-Dbx-${pkgver}.tar.gz")
+md5sums=('4dcf5346a67c0a7f861cb2bb51a7d14e')
+
+build() {
+ cd Mail-Transport-Dbx-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Mail-Transport-Dbx-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-net-dbus/PKGBUILD b/community/perl-net-dbus/PKGBUILD
new file mode 100644
index 000000000..6b0163fe9
--- /dev/null
+++ b/community/perl-net-dbus/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91688 2013-05-26 09:25:48Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-net-dbus
+pkgver=1.0.0
+pkgrel=3
+pkgdesc="Binding for DBus messaging protocol"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Net-DBus"
+license=('GPL' 'PerlArtistic')
+depends=('dbus' 'perl-xml-twig')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/D/DA/DANBERR/Net-DBus-${pkgver}.tar.gz")
+md5sums=('b17e32976d1a3b56feb908ebd7fed7f1')
+
+build() {
+ cd Net-DBus-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd Net-DBus-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-net-libidn/PKGBUILD b/community/perl-net-libidn/PKGBUILD
new file mode 100644
index 000000000..d3669234d
--- /dev/null
+++ b/community/perl-net-libidn/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 91689 2013-05-26 09:25:49Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-net-libidn
+pkgver=0.12
+pkgrel=7
+pkgdesc="Perl/CPAN Module Net::LibIDN"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Net-LibIDN/"
+license=("GPL" "PerlArtistic")
+depends=(perl libidn)
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/T/TH/THOR/Net-LibIDN-${pkgver}.tar.gz")
+md5sums=('c3e4de2065009d67bcb1df0afb473e12')
+
+build() {
+ cd Net-LibIDN-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Net-LibIDN-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-package-stash-xs/PKGBUILD b/community/perl-package-stash-xs/PKGBUILD
new file mode 100644
index 000000000..8ff0c7d31
--- /dev/null
+++ b/community/perl-package-stash-xs/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 94211 2013-07-16 19:26:21Z jsteel $
+# Maintainer: Jonathan Steel <mail@jsteel.org>
+# Contributor: Justin Davis <jrcd83@gmail.com>
+
+pkgname=perl-package-stash-xs
+pkgver=0.28
+pkgrel=1
+pkgdesc="Faster and more correct implementation of the Package::Stash API"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Package-Stash-XS"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+makedepends=('perl-extutils-makemaker')
+checkdepends=('perl-test-fatal' 'perl-test-simple' 'perl-test-requires')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-XS-$pkgver.tar.gz)
+md5sums=('9664356ec3be02626cbd3081ec246b70')
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
+ MODULEBUILDRC=/dev/null
+
+ cd Package-Stash-XS-${pkgver}
+
+ /usr/bin/perl Makefile.PL
+
+ make
+ )
+}
+
+check() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ cd Package-Stash-XS-${pkgver}
+
+ make test
+ )
+}
+
+package() {
+ cd Package-Stash-XS-${pkgver}
+
+ make DESTDIR="$pkgdir"/ install
+}
diff --git a/community/perl-params-classify/PKGBUILD b/community/perl-params-classify/PKGBUILD
new file mode 100644
index 000000000..dd2a74a64
--- /dev/null
+++ b/community/perl-params-classify/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91691 2013-05-26 09:25:54Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-params-classify
+pkgver=0.013
+pkgrel=3
+pkgdesc="argument type classification"
+arch=(i686 x86_64)
+license=('PerlArtistic')
+url="http://search.cpan.org/~zefram/Params-Classify"
+options=(!emptydirs)
+depends=('perl>=5.10.1')
+source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Params-Classify-$pkgver.tar.gz")
+md5sums=('63d24fbec775472ada49d16bce4a9b1f')
+
+build() {
+ cd $srcdir/Params-Classify-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Params-Classify-$pkgver
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name perllocal.pod -delete
+ find ${pkgdir} -name .packlist -delete
+}
diff --git a/community/perl-params-util/PKGBUILD b/community/perl-params-util/PKGBUILD
new file mode 100644
index 000000000..6b0fc9784
--- /dev/null
+++ b/community/perl-params-util/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 91692 2013-05-26 09:25:55Z bluewind $
+# Maintainer: Jonathan Steel <mail@jsteel.org>
+# Contributor: Justin Davis (juster) <jrcd83@gmail.com>
+
+pkgname=perl-params-util
+pkgver=1.07
+pkgrel=2
+pkgdesc='Simple, compact and correct param-checking functions'
+arch=('i686' 'x86_64')
+url="https://metacpan.org/release/Params-Util"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Params-Util-$pkgver.tar.gz")
+sha256sums=('30f1ec3f2cf9ff66ae96f973333f23c5f558915bb6266881eac7423f52d7c76c')
+
+build()
+(
+ cd "$srcdir/Params-Util-$pkgver"
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ unset PERL5LIB PERL_MM_OPT
+ /usr/bin/perl Makefile.PL
+ make
+)
+
+check()
+(
+ cd "$srcdir/Params-Util-$pkgver"
+ export PERL_MM_USE_DEFAULT=1
+ unset PERL5LIB
+ make test
+)
+
+package()
+(
+ cd "$srcdir/Params-Util-$pkgver"
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+)
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/community/perl-params-validate/PKGBUILD b/community/perl-params-validate/PKGBUILD
new file mode 100644
index 000000000..33881b8f7
--- /dev/null
+++ b/community/perl-params-validate/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 94191 2013-07-16 14:53:18Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-params-validate
+pkgver=1.08
+pkgrel=1
+pkgdesc="Validate sub params against a spec"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Params-Validate"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'perl-module-implementation')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/D/DR/DROLSKY/Params-Validate-${pkgver}.tar.gz")
+md5sums=('5edfb0ffd92cbb0e2646ddf23d4516e9')
+
+build() {
+ cd Params-Validate-${pkgver}
+ perl ./Build.PL --installdirs=vendor
+ ./Build
+}
+package(){
+ cd Params-Validate-${pkgver}
+ ./Build install --destdir=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-string-crc32/PKGBUILD b/community/perl-string-crc32/PKGBUILD
new file mode 100644
index 000000000..87d2a6d57
--- /dev/null
+++ b/community/perl-string-crc32/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 91694 2013-05-26 09:26:00Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-string-crc32
+pkgver=1.4
+pkgrel=9
+pkgdesc="Perl/CPAN Module String::CRC32 : ZMODEMlike CRC32 generation"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/String-CRC32"
+license=("GPL" "PerlArtistic")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/S/SO/SOENKE/String-CRC32-${pkgver}.tar.gz")
+md5sums=('9b241bc4a482a3aa59fbb1429bc30546')
+
+build() {
+ cd String-CRC32-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd String-CRC32-${pkgver}
+
+ make pure_install doc_install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-term-readline-gnu/PKGBUILD b/community/perl-term-readline-gnu/PKGBUILD
new file mode 100644
index 000000000..898aee284
--- /dev/null
+++ b/community/perl-term-readline-gnu/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 91695 2013-05-26 09:26:04Z bluewind $
+# CPAN Name : Term-ReadLine-Gnu
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: jason ryan <jasonwryan@gmail.com>
+# Contributor: AUR Perl <aurperl@juster.info>
+# Generator : CPANPLUS::Dist::Arch 1.15
+
+pkgname=perl-term-readline-gnu
+pkgver=1.20
+pkgrel=6
+pkgdesc="GNU Readline XS library wrapper"
+arch=('i686' 'x86_64')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl>=5.7')
+url='http://search.cpan.org/dist/Term-ReadLine-Gnu'
+source=('http://search.cpan.org/CPAN/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.20.tar.gz'
+ 'termcap-bad-ncurses-good.patch')
+md5sums=('fa33510193b89a2ada74fcef00816322'
+ 'a000706b89792f822b5ec20baa370910')
+
+build() {
+ export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
+ MODULEBUILDRC=/dev/null
+
+ cd "${srcdir}/Term-ReadLine-Gnu-1.20"
+ patch --forward -p1 < "${srcdir}/termcap-bad-ncurses-good.patch"
+ /usr/bin/perl Makefile.PL
+ make
+}
+
+check() {
+ cd "${srcdir}/Term-ReadLine-Gnu-1.20"
+ export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+}
+
+package() {
+ cd "${srcdir}/Term-ReadLine-Gnu-1.20"
+ make pure_install PERL_INSTALL_ROOT="$pkgdir"
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
diff --git a/community/perl-term-readline-gnu/termcap-bad-ncurses-good.patch b/community/perl-term-readline-gnu/termcap-bad-ncurses-good.patch
new file mode 100644
index 000000000..7fee6013c
--- /dev/null
+++ b/community/perl-term-readline-gnu/termcap-bad-ncurses-good.patch
@@ -0,0 +1,18 @@
+--- Term-ReadLine-Gnu-1.20/Makefile.PL 2010-05-02 06:37:55.000000000 -0400
++++ Term-ReadLine-Gnu-1.20-patched/Makefile.PL 2011-07-30 16:16:54.000000000 -0400
+@@ -58,8 +58,13 @@
+ # know why AIX prefers curses.
+ # libtermcap.a on HPUX cannot be used for dynamically linked binary.
+ # Old Cygwin may require setting false (0).
+- my $PREFER_CURSES = $Config{osname} eq 'aix' || $Config{osname} eq 'hpux'
+- || $Config{osname} eq 'cygwin';
++ # my $PREFER_CURSES = $Config{osname} eq 'aix' || $Config{osname} eq 'hpux'
++ # || $Config{osname} eq 'cygwin';
++
++ # Hack for ArchLinux by Justin Davis <aurperl@juster.us>
++ # Don't use termcap! readline is linked with ncurses so I know it's
++ # available. termcap causes this module to crash for some people.
++ my $PREFER_CURSES = 1;
+ my $TERMCAP_LIB = (! $PREFER_CURSES && &search_lib('-ltermcap'))
+ || &search_lib('-lncurses')
+ || &search_lib('-lcurses');
diff --git a/community/perl-text-charwidth/PKGBUILD b/community/perl-text-charwidth/PKGBUILD
new file mode 100644
index 000000000..a2dafad6e
--- /dev/null
+++ b/community/perl-text-charwidth/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 91696 2013-05-26 09:26:06Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-text-charwidth
+pkgver=0.04
+pkgrel=9
+pkgdesc="Perl/CPAN Module Text::CharWidth"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Text-CharWidth"
+license=("GPL" "PerlArtistic")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/K/KU/KUBOTA/Text-CharWidth-${pkgver}.tar.gz")
+md5sums=('37a723df0580c0758c0ee67b37336c15')
+
+build() {
+ cd Text-CharWidth-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Text-CharWidth-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-text-kakasi/ChangeLog b/community/perl-text-kakasi/ChangeLog
new file mode 100644
index 000000000..0a469fdff
--- /dev/null
+++ b/community/perl-text-kakasi/ChangeLog
@@ -0,0 +1,3 @@
+2008-10-27 Allan McRae <allan@archlinux.org>
+ * perl-text-kakasi 2.04-4
+ * fixed typo in depends
diff --git a/community/perl-text-kakasi/PKGBUILD b/community/perl-text-kakasi/PKGBUILD
new file mode 100644
index 000000000..e9b1eeb1e
--- /dev/null
+++ b/community/perl-text-kakasi/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 91697 2013-05-26 09:26:08Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Allan McRae <mcrae_allan@hotmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-text-kakasi
+pkgver=2.04
+pkgrel=10
+pkgdesc="Perl frontend to kakasi"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Text-Kakasi"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'kakasi')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/D/DA/DANKOGAI/Text-Kakasi-${pkgver}.tar.gz")
+md5sums=('5a9e381cb93edfd707124a63c60f96b1')
+
+build() {
+ cd Text-Kakasi-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Text-Kakasi-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-tie-hash-indexed/PKGBUILD b/community/perl-tie-hash-indexed/PKGBUILD
new file mode 100644
index 000000000..67a21ae28
--- /dev/null
+++ b/community/perl-tie-hash-indexed/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 91698 2013-05-26 09:26:10Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-tie-hash-indexed
+pkgver=0.05
+pkgrel=9
+pkgdesc="Ordered hashes for Perl"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Tie-Hash-Indexed"
+license=('GPL' 'PerlArtistic')
+depends=('perl')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/M/MH/MHX/Tie-Hash-Indexed-${pkgver}.tar.gz)
+md5sums=('41e2d013df8cfafdd239bc65bbada014')
+
+build() {
+ cd Tie-Hash-Indexed-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Tie-Hash-Indexed-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-tk-tablematrix/PKGBUILD b/community/perl-tk-tablematrix/PKGBUILD
new file mode 100644
index 000000000..89e3a1181
--- /dev/null
+++ b/community/perl-tk-tablematrix/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 91699 2013-05-26 09:26:12Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-tk-tablematrix
+pkgver=1.23
+pkgrel=10
+pkgdesc="Display data in TableSpreadsheet format"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Tk-TableMatrix"
+license=("GPL" "PerlArtistic")
+depends=('perl-tk')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/C/CE/CERNEY/Tk-TableMatrix-${pkgver}.tar.gz")
+md5sums=('6b7653d129bf1a8327054a88b58d6364')
+
+build() {
+ cd Tk-TableMatrix-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Tk-TableMatrix-${pkgver}
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+
+ rm -f ${pkgdir}/usr/lib/perl5/vendor_perl/auto/Tk/pTk/extralibs.ld
+}
diff --git a/community/perl-www-curl/PKGBUILD b/community/perl-www-curl/PKGBUILD
new file mode 100644
index 000000000..37a44c0d4
--- /dev/null
+++ b/community/perl-www-curl/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 91700 2013-05-26 09:26:14Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-www-curl
+pkgver=4.15
+pkgrel=4
+pkgdesc="Perl/CPAN Module WWW::Curl"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/WWW-Curl/"
+license=("GPL" "PerlArtistic")
+depends=("curl")
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/S/SZ/SZBALINT/WWW-Curl-${pkgver}.tar.gz")
+md5sums=('31c0b8c7e5e2d26bcc8213d702186d5f')
+
+build() {
+ cd WWW-Curl-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd WWW-Curl-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-xml-fast/PKGBUILD b/community/perl-xml-fast/PKGBUILD
new file mode 100644
index 000000000..79df32a7a
--- /dev/null
+++ b/community/perl-xml-fast/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 91701 2013-05-26 09:26:15Z bluewind $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: trizen .= x@gmail.com
+
+pkgname=perl-xml-fast
+pkgver=0.11
+pkgrel=4
+pkgdesc="Simple and very fast XML to hash conversion."
+arch=('x86_64' 'i686')
+url="http://search.cpan.org/dist/XML-Fast/"
+license=('GPL' 'PerlArtistic')
+depends=('perl')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/M/MO/MONS/XML-Fast-${pkgver}.tar.gz")
+md5sums=('a2985cc2f328cf9eda6ad75c3f40f6b3')
+
+build() {
+ cd "${srcdir}/XML-Fast-${pkgver}"
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd "${srcdir}/XML-Fast-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/perl-xml-libxml/PKGBUILD b/community/perl-xml-libxml/PKGBUILD
new file mode 100644
index 000000000..95584071e
--- /dev/null
+++ b/community/perl-xml-libxml/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 93872 2013-07-11 16:11:22Z jsteel $
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin "juster" Davis <jrcd83@gmail.com>
+# Contributor: François Charette <francois.archlinux.org>
+
+pkgname=perl-xml-libxml
+pkgver=2.0019
+pkgrel=1
+pkgdesc="Interface to the libxml library"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/XML-LibXML"
+license=('GPL')
+depends=('libxml2' 'perl-xml-sax>=0.11' 'perl-xml-namespacesupport>=1.07')
+provides=('perl-libxml' 'perl-xml-libxml-common')
+replaces=('perl-libxml' 'perl-xml-libxml-common')
+conflicts=('perl-libxml' 'perl-xml-libxml-common')
+options=('!emptydirs')
+install=perl-xml-libxml.install
+source=(http://www.cpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-$pkgver.tar.gz)
+md5sums=('0873ac0bae4a4bf7ba7b2d970876e4ba')
+
+build() {
+ cd XML-LibXML-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd XML-LibXML-$pkgver
+ make test
+}
+
+package() {
+ cd XML-LibXML-$pkgver
+ make pure_install doc_install DESTDIR="$pkgdir"
+}
diff --git a/community/perl-xml-libxml/perl-xml-libxml.install b/community/perl-xml-libxml/perl-xml-libxml.install
new file mode 100644
index 000000000..43c29a245
--- /dev/null
+++ b/community/perl-xml-libxml/perl-xml-libxml.install
@@ -0,0 +1,15 @@
+post_install() {
+ echo ":: Installing SAX XML Parsers"
+ /usr/bin/perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
+ /usr/bin/perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX))->save_parsers()"
+}
+
+post_upgrade() {
+ libxmlcount=`grep -c XML::LibXML::SAX /usr/share/perl5/vendor_perl/XML/SAX/ParserDetails.ini`
+ if [[ $libxmlcount == 0 ]]; then
+ echo ":: Installing SAX XML Parsers"
+ /usr/bin/perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
+ /usr/bin/perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX))->save_parsers()"
+ fi
+}
+
diff --git a/community/perl-xml-libxslt/PKGBUILD b/community/perl-xml-libxslt/PKGBUILD
new file mode 100644
index 000000000..26eae9f38
--- /dev/null
+++ b/community/perl-xml-libxslt/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 93874 2013-07-11 16:16:39Z jsteel $
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin "juster" Davis <jrcd83@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-xml-libxslt
+pkgver=1.81
+pkgrel=1
+pkgdesc="Interface to the gnome libxslt library"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/XML-LibXSLT"
+license=('GPL')
+depends=('perl-xml-libxml' 'libxslt')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/S/SH/SHLOMIF/XML-LibXSLT-$pkgver.tar.gz)
+md5sums=('a721424c905eca40b1b7af9abe32ff76')
+
+build() {
+ cd "$srcdir/XML-LibXSLT-$pkgver"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$srcdir/XML-LibXSLT-$pkgver"
+ make test
+}
+
+package() {
+ cd "$srcdir/XML-LibXSLT-$pkgver"
+ make install DESTDIR="$pkgdir"
+}
diff --git a/community/perl-xmms/PKGBUILD b/community/perl-xmms/PKGBUILD
new file mode 100644
index 000000000..d747b0561
--- /dev/null
+++ b/community/perl-xmms/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 91704 2013-05-26 09:26:24Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Georg Grabler <ggrabler@gmail.com>
+
+pkgname=perl-xmms
+pkgver=0.12
+pkgrel=9
+pkgdesc="Bundle::Xmms - Bundle for xmms remote control shell"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/~dougm/Xmms-Perl/"
+depends=('perl' 'xmms' 'libxxf86dga')
+license=('GPL' 'PerlArtistic')
+source=("http://search.cpan.org/CPAN/authors/id/D/DO/DOUGM/Xmms-Perl-${pkgver}.tar.gz")
+md5sums=('d1fbf6d09330f7855dd80f3ceee8e6f7')
+
+build() {
+ cd Xmms-Perl-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Xmms-Perl-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community/pgadmin3/ChangeLog b/community/pgadmin3/ChangeLog
new file mode 100644
index 000000000..76de01d7d
--- /dev/null
+++ b/community/pgadmin3/ChangeLog
@@ -0,0 +1,28 @@
+2008-08-21 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 1.8.5
+
+2008-06-24 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated for i686 - 1.8.4
+
+2008-02-21 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated for i686 - 1.8.2
+
+2008-01-05 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated for x86_64 - 1.8.1
+ * Updated for i686 - 1.8.1
+
+2007-10-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated version
+
+2007-10-11 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated version
+
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+
+ * Built for x86_64
diff --git a/community/pgadmin3/PKGBUILD b/community/pgadmin3/PKGBUILD
new file mode 100644
index 000000000..ea7a1a81e
--- /dev/null
+++ b/community/pgadmin3/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 92722 2013-06-13 12:58:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: Benjamin Andresen <benny@klapmuetz.org>
+# Contributor: bekks <eduard.warkentin@gmx.de>
+
+pkgname=pgadmin3
+pkgver=1.16.1
+pkgrel=2
+pkgdesc="Comprehensive design and management interface for PostgreSQL"
+arch=('i686' 'x86_64')
+url="http://www.pgadmin.org"
+license=('custom')
+depends=('wxgtk' 'postgresql-libs' 'libxslt')
+makedepends=('libpqxx' 'krb5' 'postgresql' 'gendesk' 'imagemagick')
+_categories="Development;Application"
+source=(http://ftp.postgresql.org/pub/pgadmin3/release/v${pkgver}/src/pgadmin3-${pkgver}.tar.gz)
+md5sums=('f3bc59630f0dc9600d4ad125097ce2fa')
+
+build() {
+ cd "$srcdir"
+ convert pgadmin3-${pkgver}/pgadmin/include/images/pgAdmin3.ico pgadmin3.png
+ cp pgadmin3-3.png pgadmin3.png
+ gendesk $startdir/PKGBUILD
+
+ cd "pgadmin3-${pkgver}"
+ [ -f Makefile ] || ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/pgadmin3-${pkgver}
+
+ make DESTDIR=$pkgdir/ install
+ install -Dm644 i18n/$pkgname.lng $pkgdir/usr/share/pgadmin3/i18n
+ install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 pgadmin/include/images/pgAdmin3.ico $pkgdir/usr/share/pgadmin3/pixmaps/pgAdmin3.ico
+ install -Dm644 "$srcdir/pgadmin3.png" "$pkgdir/usr/share/pixmaps/pgadmin3.png"
+ install -Dm644 "$srcdir/pgadmin3.desktop" "$pkgdir/usr/share/applications/pgadmin3.desktop"
+}
diff --git a/community/phantomjs/PKGBUILD b/community/phantomjs/PKGBUILD
new file mode 100644
index 000000000..46ba64245
--- /dev/null
+++ b/community/phantomjs/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 92506 2013-06-07 11:18:15Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: grimsock <lord.grimsock at gmail dot com>
+# Contributor: Dieter Plaetinck <dieter@plaetinck.be>
+# Contributor: Vladimir Chizhov <jagoterr@gmail.com>
+# Contributor: Henry Tang <henryykt@gmail.com>
+
+pkgname=phantomjs
+pkgver=1.9.1
+pkgrel=2
+pkgdesc="Headless WebKit with JavaScript API"
+url="http://www.phantomjs.org/"
+license=('BSD' 'LGPL' 'MIT')
+arch=('i686' 'x86_64')
+depends=('gstreamer0.10-base' 'fontconfig' 'freetype2')
+makedepends=('unzip')
+source=("http://phantomjs.googlecode.com/files/${pkgname}-${pkgver}-source.zip")
+noextract=("${pkgname}-${pkgver}-source.zip")
+md5sums=('93a0043d4ff8cd83e23e9d261c93830d')
+
+build() {
+ # workaround for https://code.google.com/p/libarchive/issues/detail?id=271
+ # cd $srcdir/$pkgname-$pkgver
+ unzip ${pkgname}-${pkgver}-source.zip
+
+ cd $pkgname-$pkgver
+ # workaround for http://code.google.com/p/phantomjs/issues/detail?id=635
+ sed -i 's/QMAKE_LFLAGS+=-fuse-ld=gold/#QMAKE_LFLAGS+=-fuse-ld=gold/' src/qt/src/3rdparty/webkit/Source/common.pri
+
+ ./build.sh --confirm --qt-config "-no-rpath"
+}
+
+package() {
+ install -Dm755 "$srcdir/$pkgname-$pkgver/bin/phantomjs" "$pkgdir/usr/bin/phantomjs"
+
+ mkdir -p "$pkgdir/usr/share/$pkgname"
+ cp -r "$srcdir/$pkgname-$pkgver/examples" "$pkgdir/usr/share/$pkgname"/
+
+ install -Dm644 "$srcdir/$pkgname-$pkgver/LICENSE.BSD" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.BSD"
+ install -Dm644 "$srcdir/$pkgname-$pkgver/third-party.txt" "$pkgdir/usr/share/licenses/$pkgname/third-party.txt"
+}
+
diff --git a/community/php-geoip/PKGBUILD b/community/php-geoip/PKGBUILD
new file mode 100644
index 000000000..febea43d7
--- /dev/null
+++ b/community/php-geoip/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 70501 2012-05-09 18:48:05Z pschmitz $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+
+pkgname=php-geoip
+pkgver=1.0.8
+pkgrel=2
+pkgdesc="GeoIP module for PHP"
+arch=('i686' 'x86_64')
+url="http://pecl.php.net/package/geoip"
+license=('PHP')
+depends=('php' 'geoip')
+backup=('etc/php/conf.d/geoip.ini')
+source=(http://pecl.php.net/get/geoip-$pkgver.tgz)
+sha256sums=('08beeb2cbe9ab729d06b026795f5b9084aead6a1762493b0be53c4393d68d08a')
+
+build() {
+ cd "$srcdir/geoip-$pkgver"
+
+ phpize
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/geoip-$pkgver"
+
+ make INSTALL_ROOT="$pkgdir" install
+ echo ';extension=geoip.so' >geoip.ini
+ install -Dm644 geoip.ini "$pkgdir/etc/php/conf.d/geoip.ini"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/php-memcache/PKGBUILD b/community/php-memcache/PKGBUILD
new file mode 100644
index 000000000..4c5a6f246
--- /dev/null
+++ b/community/php-memcache/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 87836 2013-04-08 08:42:56Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+
+pkgname=php-memcache
+pkgver=3.0.8
+pkgrel=1
+pkgdesc="Memcache module for PHP"
+arch=('i686' 'x86_64')
+url="http://pecl.php.net/package/memcache"
+license=('PHP')
+depends=('php')
+backup=('etc/php/conf.d/memcache.ini')
+install=php-memcache.install
+source=(http://pecl.php.net/get/memcache-$pkgver.tgz)
+sha256sums=('2cae5b423ffbfd33a259829849f6000d4db018debe3e29ecf3056f06642e8311')
+
+build() {
+ cd "$srcdir/memcache-$pkgver"
+
+ phpize
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/memcache-$pkgver"
+
+ make INSTALL_ROOT="$pkgdir" install
+ echo ';extension=memcache.so' >memcache.ini
+ install -Dm644 memcache.ini "$pkgdir/etc/php/conf.d/memcache.ini"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/php-memcache/php-memcache.install b/community/php-memcache/php-memcache.install
new file mode 100644
index 000000000..fa56baf81
--- /dev/null
+++ b/community/php-memcache/php-memcache.install
@@ -0,0 +1,10 @@
+post_install() {
+ echo '
+ ==> PHP extension
+
+ A config file was stored under /etc/php/conf.d/. In order to use this
+ extension make sure to uncomment it from its config file.
+ '
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/php-memcached/PKGBUILD b/community/php-memcached/PKGBUILD
new file mode 100644
index 000000000..b03ce8559
--- /dev/null
+++ b/community/php-memcached/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 74848 2012-08-07 11:05:47Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+
+pkgname=php-memcached
+pkgver=2.1.0
+pkgrel=1
+pkgdesc="PHP extension for interfacing with memcached via libmemcached library"
+arch=('i686' 'x86_64')
+url="http://pecl.php.net/package/memcached"
+license=('PHP')
+depends=('php' 'libmemcached')
+backup=('etc/php/conf.d/memcached.ini')
+source=(http://pecl.php.net/get/memcached-$pkgver.tgz)
+sha256sums=('bc4940015be74f47908d410d7b55e10a3d5bf65674036d944c73558227fcc4af')
+
+build() {
+ cd "$srcdir/memcached-$pkgver"
+
+ phpize
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/memcached-$pkgver"
+
+ make INSTALL_ROOT="$pkgdir" install
+ echo ';extension=memcached.so' >memcached.ini
+ install -Dm644 memcached.ini "$pkgdir/etc/php/conf.d/memcached.ini"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/php-mongo/PKGBUILD b/community/php-mongo/PKGBUILD
new file mode 100644
index 000000000..33213a413
--- /dev/null
+++ b/community/php-mongo/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 92665 2013-06-11 09:54:52Z idevolder $
+# Maintainer: BlackEagle < ike DOT devolder AT gmail DOT com >
+# Contributor: Jarek Sedlacek <jareksedlacek@gmail.com>
+
+pkgname=php-mongo
+pkgver=1.4.1
+pkgrel=2
+pkgdesc="Officially supported PHP driver for MongoDB"
+arch=("i686" "x86_64")
+url="http://www.mongodb.org/display/DOCS/PHP+Language+Center"
+license=("APACHE")
+depends=("php")
+backup=("etc/php/conf.d/mongo.ini")
+source=(
+ "http://pecl.php.net/get/mongo-$pkgver.tgz"
+ "mongo.ini"
+)
+
+build() {
+ cd mongo-$pkgver
+ phpize
+ ./configure --prefix=/usr --enable-mongo
+}
+
+package() {
+ cd mongo-$pkgver
+ make INSTALL_ROOT="$pkgdir" install
+ install -Dm644 "$srcdir/mongo.ini" "$pkgdir/etc/php/conf.d/mongo.ini"
+}
+sha256sums=('230e7d26eaa826c7aacfc90fd1128f8c390216abe7f588d3bbcd130bd1fb84b6'
+ 'c89685eee842d5c3a85149a5bb8e310e62bf1a17f94183bb66401593ab2b191b')
diff --git a/community/php-mongo/mongo.ini b/community/php-mongo/mongo.ini
new file mode 100644
index 000000000..e9e8dbac1
--- /dev/null
+++ b/community/php-mongo/mongo.ini
@@ -0,0 +1,28 @@
+; Tell PHP to load the Mongo Extension on startup
+extension=mongo.so
+
+[mongo]
+; If the driver should reconnect to mongo
+mongo.auto_reconnect = False
+
+; Whether to allow persistent connections
+mongo.allow_persistent = On
+
+; Maximum number of persistent connections (-1 means unlimited)
+mongo.max_persistent = -1
+
+; Maximum number of links (persistent and non-persistent, -1 means unlimited)
+mongo.max_connections = -1
+
+; Default host for mongo connection
+mongo.default_host = localhost
+
+; Default port for mongo database
+mongo.default_port = 27017
+
+; When saving files to the database, size of chunks to split them into
+mongo.chunk_size = 262400
+
+; Specify an alternate character to $ to use for special db functions ($set, $push, $exists, etc.)
+mongo.cmd = "$"
+
diff --git a/community/pianobar/PKGBUILD b/community/pianobar/PKGBUILD
new file mode 100644
index 000000000..08500156d
--- /dev/null
+++ b/community/pianobar/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 93512 2013-07-04 21:18:29Z dwallace $
+# Maintainer: Daniel Wallace < danielwallace at gtmanfred dot com>
+# Contributor: Mitch Bigelow <ipha00@gmail.com>
+# Contributor: Patrick Palka <patrick@parcs.ath.cx>
+
+pkgname=pianobar
+pkgver=2013.05.19
+pkgrel=1
+pkgdesc="console-based frontend for Pandora"
+url="http://6xq.net/0017"
+arch=('i686' 'x86_64')
+license=('MIT')
+depends=('libao' 'faad2' 'libmad' 'gnutls' 'json-c' 'libgcrypt')
+source=(http://6xq.net/projects/pianobar/$pkgname-$pkgver.tar.bz2)
+sha256sums=('cf88e82663d2b0aa4d73e761506eac4f3e7bc789b57d92377acd994d785e1046')
+
+build() {
+ make -C "${srcdir}/${pkgname}-${pkgver}"
+}
+
+package() {
+ make -C "${srcdir}/${pkgname}-${pkgver}" DESTDIR="$pkgdir" PREFIX=/usr install
+ install -Dm644 "${srcdir}/${pkgname}-${pkgver}"/COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm755 $srcdir/$pkgname-$pkgver/contrib/headless_pianobar $pkgdir/usr/bin/pianoctl
+}
diff --git a/community/picard/PKGBUILD b/community/picard/PKGBUILD
new file mode 100644
index 000000000..b15337c72
--- /dev/null
+++ b/community/picard/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 87401 2013-03-31 13:44:28Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: sysrq
+
+pkgname=picard
+pkgver=1.2
+pkgrel=1
+pkgdesc='Official MusicBrainz tagger'
+url='http://musicbrainz.org/doc/MusicBrainz_Picard'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('python2-pyqt' 'mutagen')
+optdepends=('libdiscid: CD lookup'
+ 'chromaprint: fingerprinting')
+source=("http://ftp.musicbrainz.org/pub/musicbrainz/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('323e22adef321a8fb80d617eb86a880f7d546fca')
+
+install=install
+
+build() {
+ cd "${srcdir}/picard-${pkgver}"
+ python2 setup.py config
+}
+
+package() {
+ cd "${srcdir}/picard-${pkgver}"
+ python2 setup.py install --root="${pkgdir}"
+}
diff --git a/community/picard/install b/community/picard/install
new file mode 100644
index 000000000..b46fab005
--- /dev/null
+++ b/community/picard/install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
+ update-desktop-database -q &>/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/picocom/PKGBUILD b/community/picocom/PKGBUILD
new file mode 100644
index 000000000..6347d05b1
--- /dev/null
+++ b/community/picocom/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 75039 2012-08-12 14:06:03Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Jens Adam (byte/jra) <j_adam@web.de>
+
+pkgname=picocom
+pkgver=1.7
+pkgrel=2
+pkgdesc='Minimal dumb-terminal emulation program, very much like minicom'
+url='http://code.google.com/p/picocom/'
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('glibc')
+install=$pkgname.install
+source=("http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.gz")
+sha1sums=('bde6e36af71db845913f9d61f28dee1b485218fa')
+
+build() {
+ cd $pkgname-$pkgver
+ make --environment-overrides UUCP_LOCK_DIR=/run/lock/picocom
+}
+
+package() {
+ cd $pkgname-$pkgver
+ install -D -m 755 picocom "$pkgdir/usr/bin/picocom"
+ install -D -m 644 picocom.8 "$pkgdir/usr/share/man/man8/picocom.8"
+ # install tmpfiles for lock files
+ # http://lists.freedesktop.org/archives/systemd-devel/2011-March/001823.html
+ install -D -m 644 /dev/null "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+ echo "d /run/lock/$pkgname 0770 root uucp" \
+ > "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/picocom/picocom.install b/community/picocom/picocom.install
new file mode 100644
index 000000000..4d2f2ed48
--- /dev/null
+++ b/community/picocom/picocom.install
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+## arg 1: the new package version
+post_install() {
+ type systemd-tmpfiles >/dev/null && systemd-tmpfiles --create picocom.conf
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install "$1"
+}
+
+## arg 1: the old package version
+post_remove() {
+ type systemd-tmpfiles >/dev/null && systemd-tmpfiles --clean --remove picocom.conf
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/pidgin-encryption/PKGBUILD b/community/pidgin-encryption/PKGBUILD
new file mode 100644
index 000000000..7969f2e8e
--- /dev/null
+++ b/community/pidgin-encryption/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 83172 2013-01-27 16:23:51Z pierre $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Dan McGee <dan@archlinux.org>
+# Contributor: Dale Blount <dale@archlinux.org>
+
+pkgname=pidgin-encryption
+pkgver=3.1
+pkgrel=2
+pkgdesc="A Pidgin plugin providing transparent RSA encryption using NSS"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://pidgin-encrypt.sourceforge.net/"
+depends=('pidgin' 'nss')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/pidgin-encrypt/$pkgname-$pkgver.tar.gz)
+md5sums=('d839eec602c21f913b32b742dc512f4b')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/pidgin-encryption/fix_header_escaping.patch b/community/pidgin-encryption/fix_header_escaping.patch
new file mode 100644
index 000000000..84df67b19
--- /dev/null
+++ b/community/pidgin-encryption/fix_header_escaping.patch
@@ -0,0 +1,64 @@
+--- pidgin-encryption-3.0.orig/encrypt.c 2007-05-06 23:37:55.000000000 -0400
++++ pidgin-encryption-3.0.new/encrypt.c 2009-11-22 22:28:34.052010351 -0500
+@@ -1114,21 +1114,21 @@ static void PE_headers_init() {
+ notify_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
+
+ g_hash_table_insert(header_table, g_strdup("prpl-toc"),
+- g_strdup("*** Encrypted with the Gaim-Encryption plugin <A HREF=\""));
++ g_strdup("--- Encrypted with the Gaim-Encryption plugin <A HREF=\""));
+ g_hash_table_insert(footer_table, g_strdup("prpl-toc"),
+ g_strdup("\"></A>"));
+ g_hash_table_insert(notify_table, g_strdup("prpl-toc"),
+ g_strdup("<A HREF=\"Gaim-Encryption Capable\"></A>"));
+
+ g_hash_table_insert(header_table, g_strdup("prpl-oscar"),
+- g_strdup("*** Encrypted with the Gaim-Encryption plugin <A HREF=\""));
++ g_strdup("--- Encrypted with the Gaim-Encryption plugin <A HREF=\""));
+ g_hash_table_insert(footer_table, g_strdup("prpl-oscar"),
+ g_strdup("\"></A>"));
+ g_hash_table_insert(notify_table, g_strdup("prpl-oscar"),
+ g_strdup("<A HREF=\"Gaim-Encryption Capable\"></A>"));
+
+ g_hash_table_insert(header_table, g_strdup("prpl-aim"),
+- g_strdup("*** Encrypted with the Gaim-Encryption plugin <A HREF=\""));
++ g_strdup("--- Encrypted with the Gaim-Encryption plugin <A HREF=\""));
+ g_hash_table_insert(footer_table, g_strdup("prpl-aim"),
+ g_strdup("\"></A>"));
+ g_hash_table_insert(notify_table, g_strdup("prpl-aim"),
+@@ -1136,7 +1136,7 @@ static void PE_headers_init() {
+
+ /* If jabber stops stripping HTML, we can go back to these headers */
+ /* g_hash_table_insert(header_table, g_strdup("prpl-jabber"), */
+-/* g_strdup("*** Encrypted with the Gaim-Encryption plugin <A HREF='")); */
++/* g_strdup("--- Encrypted with the Gaim-Encryption plugin <A HREF='")); */
+ /* g_hash_table_insert(footer_table, g_strdup("prpl-jabber"), */
+ /* g_strdup("'></A>")); */
+ /* g_hash_table_insert(notify_table, g_strdup("prpl-jabber"), */
+@@ -1144,22 +1144,22 @@ static void PE_headers_init() {
+
+
+ g_hash_table_insert(header_table, g_strdup("prpl-jabber"),
+- g_strdup("*** Encrypted with the Gaim-Encryption plugin "));
++ g_strdup("--- Encrypted with the Gaim-Encryption plugin "));
+ g_hash_table_insert(footer_table, g_strdup("prpl-jabber"),
+ g_strdup(" "));
+ g_hash_table_insert(notify_table, g_strdup("prpl-jabber"),
+ g_strdup("<A HREF='Gaim-Encryption Capable'> </A>"));
+
+- header_default = g_strdup("*** Encrypted :");
++ header_default = g_strdup("--- Encrypted :");
+ }
+
+-/* #define CRYPT_HEADER "*** Encrypted with the Gaim-Encryption plugin <A HREF=\"" */
++/* #define CRYPT_HEADER "--- Encrypted with the Gaim-Encryption plugin <A HREF=\"" */
+ /* #define CRYPT_FOOTER "\"></A>" */
+ /* #define CRYPT_NOTIFY_HEADER "<A HREF=\"Gaim-Encryption Capable\"></A>" */
+
+ // Jabber seems to turn our double quotes into single quotes at times, so define
+ // the same headers, only with single quotes. Lengths MUST be the same as above
+-/* #define CRYPT_HEADER_MANGLED "*** Encrypted with the Gaim-Encryption plugin <A HREF='" */
++/* #define CRYPT_HEADER_MANGLED "--- Encrypted with the Gaim-Encryption plugin <A HREF='" */
+ /* #define CRYPT_NOTIFY_HEADER_MANGLED "<A HREF='Gaim-Encryption Capable'></A>" */
+
+
+
diff --git a/community/pidgin-encryption/log_crash.patch b/community/pidgin-encryption/log_crash.patch
new file mode 100644
index 000000000..a18416144
--- /dev/null
+++ b/community/pidgin-encryption/log_crash.patch
@@ -0,0 +1,11 @@
+--- pidgin-encryption-3.0.orig/state_ui.c 2007-05-07 02:15:27.000000000 +0200
++++ pidgin-encryption-3.0.new/state_ui.c 2009-04-26 17:08:02.000000000 +0200
+@@ -268,6 +268,8 @@
+ static GtkIMHtmlSmiley * create_smiley_if_absent(GtkIMHtml *imhtml) {
+ GtkIMHtmlSmiley * smiley;
+ const char* category = gtk_imhtml_get_protocol_name(imhtml);
++
++ if (!category) return NULL;
+
+ /* make sure that the category we're about to use to add (based on the protocol name) */
+ /* already exists. If it doesn't, just use the default category so it isn't created. */
diff --git a/community/pidgin-gfire/PKGBUILD b/community/pidgin-gfire/PKGBUILD
new file mode 100644
index 000000000..c3f268c1a
--- /dev/null
+++ b/community/pidgin-gfire/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 73926 2012-07-17 06:00:57Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Slash <demodevil5[at]yahoo[dot]com>
+# Contributor: LookTJ <jesus[dot]christ[dot]i[dot]love[at]gmail[dot]com>
+
+pkgname=pidgin-gfire
+pkgver=0.9.4
+pkgrel=4
+pkgdesc="Gfire is an Plugin for the Pidgin IM client which allows you to connect the Xfire network."
+arch=('i686' 'x86_64')
+url="http://gfireproject.org/"
+license=('GPL')
+depends=('glib2' 'pidgin' 'libnotify' 'gtk2')
+makedepends=('pkgconfig' 'intltool' 'libtool')
+source=("http://downloads.sourceforge.net/gfire/pidgin-gfire-$pkgver.tar.bz2" "gfire-libnotify.patch")
+md5sums=('7167828fd77200603a318afdd4d9ebd2'
+ '5d6fc2b98837fbebba6bef2648699d5e')
+options=(!libtool)
+
+build() {
+ cd "$srcdir/pidgin-gfire-$pkgver"
+
+ patch -p0 -i ../gfire-libnotify.patch
+ sed "/gthread.h/d" -i src/gf_base.h
+ ./autogen.sh
+ ./configure --prefix=/usr --enable-libnotify
+ make
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/pidgin-gfire/gfire-libnotify.patch b/community/pidgin-gfire/gfire-libnotify.patch
new file mode 100644
index 000000000..51e744cd9
--- /dev/null
+++ b/community/pidgin-gfire/gfire-libnotify.patch
@@ -0,0 +1,21 @@
+--- src/gf_util.c 2011-03-14 21:19:46.987545000 +0100
++++ src/gf_util.c 2011-04-18 03:36:24.970676551 +0200
+@@ -612,7 +612,7 @@
+ if(!gfire_notify_init() || !p_title)
+ return;
+
+- NotifyNotification *notification = notify_notification_new(p_title, p_msg, NULL, NULL);
++ NotifyNotification *notification = notify_notification_new(p_title, p_msg, NULL);
+ notify_notification_set_urgency(notification, NOTIFY_URGENCY_NORMAL);
+ notify_notification_set_timeout(notification, NOTIFY_EXPIRES_DEFAULT);
+ g_signal_connect(notification, "closed", G_CALLBACK(gfire_notify_closed_cb), NULL);
+@@ -637,7 +637,7 @@
+ return;
+ }
+
+- notification = notify_notification_new(p_title, p_msg, NULL, NULL);
++ notification = notify_notification_new(p_title, p_msg, NULL);
+
+ // Get Buddy Icon
+ PurpleBuddyIcon *icon = purple_buddy_get_icon(p_buddy);
+
diff --git a/community/pidgin-hotkeys/PKGBUILD b/community/pidgin-hotkeys/PKGBUILD
new file mode 100644
index 000000000..bd2130cab
--- /dev/null
+++ b/community/pidgin-hotkeys/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 80723 2012-12-01 13:56:24Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: detto <detto-brumm@freenet.de>
+
+pkgname=pidgin-hotkeys
+pkgver=0.2.4
+pkgrel=2
+pkgdesc="A Pidgin plugin that allows you to define global hotkeys."
+arch=('i686' 'x86_64')
+url="http://pidgin-hotkeys.sourceforge.net"
+license=('GPL')
+depends=('pidgin')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ "pidgin-hotkeys.patch")
+md5sums=('553aae7319861af9e8716bfe0ba45c30'
+ '0726353af56270164d7af88470722dd0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np0 -i ../pidgin-hotkeys.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/pidgin-hotkeys/pidgin-hotkeys.patch b/community/pidgin-hotkeys/pidgin-hotkeys.patch
new file mode 100644
index 000000000..427295981
--- /dev/null
+++ b/community/pidgin-hotkeys/pidgin-hotkeys.patch
@@ -0,0 +1,24 @@
+--- src/hotkeys.c 2007-06-22 20:37:00.000000000 +0200
++++ src/hotkeys.c 2008-04-18 16:08:46.000000000 +0200
+@@ -152,15 +152,19 @@
+
+ if ((l = get_pending_list(1)))
+ {
+- pidgin_conv_present_conversation((PurpleConversation *)l->data);
++ PurpleConversation *conv = l->data;
++ pidgin_conv_present_conversation(conv);
+
+ #ifdef GDK_WINDOWING_X11
+ {
+ GtkWindow *gtkwindow;
++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv);
+
+- gtkwindow = GTK_WINDOW(pidgin_conv_get_window(PIDGIN_CONVERSATION((PurpleConversation *)l->data))->window);
++ gtkwindow = GTK_WINDOW(pidgin_conv_get_window(PIDGIN_CONVERSATION(conv))->window);
+ /*gtk_window_present(gtkwindow);*/
+ hacky_active_window(GTK_WIDGET(gtkwindow));
++
++ pidgin_conv_window_switch_gtkconv(gtkconv->win, gtkconv);
+ }
+ #endif
+ g_list_free(l);
diff --git a/community/pidgin-kwallet/PKGBUILD b/community/pidgin-kwallet/PKGBUILD
new file mode 100644
index 000000000..85692069a
--- /dev/null
+++ b/community/pidgin-kwallet/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 82219 2013-01-12 09:18:51Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Mateusz Slazynski <ceceron@gmail.com>
+
+pkgname=pidgin-kwallet
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="KWallet plugin for Pidgin"
+arch=('i686' 'x86_64')
+url="http://kde-apps.org/content/show.php/Pidgin+KWallet+Plugin?content=127136"
+license=('GPL')
+depends=('pidgin' 'kdelibs')
+makedepends=('cmake')
+options=(!libtool)
+source=("http://kde-apps.org/CONTENT/content-files/127136-PidginKWallet-$pkgver.tar.bz2")
+md5sums=('c8fde518d8058de8302124791d0d15c6')
+
+build() {
+ cd "$srcdir/PidginKWallet-$pkgver"
+
+ mkdir -p build
+ cd build
+
+ cmake ..
+ make
+}
+
+package() {
+ #sed -i 's|GemRBPath=.*|GemRBPath=/usr/share/gemrb/|' "$pkgdir/etc/GemRB.cfg.sample
+ install -Dm644 "$srcdir/PidginKWallet-$pkgver/build/plugin/libkwallet.so" "$pkgdir/usr/lib/pidgin/libkwallet.so"
+}
diff --git a/community/pidgin-libnotify/PKGBUILD b/community/pidgin-libnotify/PKGBUILD
new file mode 100644
index 000000000..ada06ec74
--- /dev/null
+++ b/community/pidgin-libnotify/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Daenyth <Daenyth+Arch [at] gmail [dot] com>
+# Contributor: Hugo Doria <hugodoria@gmail.com>
+# Contributor pidgin-libnotify: 3ED <kas1987@o2.pl>
+
+pkgname=pidgin-libnotify
+pkgver=0.14
+pkgrel=8
+arch=('i686' 'x86_64')
+pkgdesc="pidgin plugin that enables popups when someone logs in or messages you."
+url="http://gaim-libnotify.sourceforge.net/"
+license=('GPL')
+depends=('pidgin' 'libnotify')
+makedepends=('intltool')
+optdepends=('notification-daemon')
+options=(!libtool)
+source=(http://downloads.sourceforge.net/sourceforge/gaim-libnotify/$pkgname-$pkgver.tar.gz language_fixes.patch
+ pidgin-libnotify-0.14-libnotify-0.7.patch pidgin-libnotify-showbutton.patch pidgin-libnotify-getfocus.patch)
+md5sums=('bfb5368b69c02d429b2b17c00a6673c0'
+ 'e9bdbb3c7faa61f062fc64277457b6c0'
+ '05538625f14d9f2c12adae5fa6a1fa26'
+ 'efe1e86aa1e0bc9f7d20efe7f34ad4a7'
+ 'e624998744d1c2fb8e2c6be94b04c38a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/language_fixes.patch"
+ patch -Np0 -i "$srcdir/pidgin-libnotify-0.14-libnotify-0.7.patch"
+ patch -Np0 -i "$srcdir/pidgin-libnotify-showbutton.patch"
+ patch -Np0 -i "$srcdir/pidgin-libnotify-getfocus.patch"
+
+ ./configure --prefix=/usr --disable-deprecated --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/pidgin-libnotify/language_fixes.patch b/community/pidgin-libnotify/language_fixes.patch
new file mode 100644
index 000000000..6898b0483
--- /dev/null
+++ b/community/pidgin-libnotify/language_fixes.patch
@@ -0,0 +1,536 @@
+diff -Naur pidgin-libnotify-0.14/po/de.po pidgin-libnotify-0.14/po-new/de.po
+--- pidgin-libnotify-0.14/po/de.po 2010-03-09 18:20:47.365124617 +0100
++++ pidgin-libnotify-0.14/po-new/de.po 2010-03-09 18:02:40.715216935 +0100
+@@ -48,7 +48,7 @@
+ #: src/pidgin-libnotify.c:379
+ #, c-format
+ msgid "%s signed off"
+-msgstr "%s hat sich angemeldet"
++msgstr "%s hat sich abgemeldet"
+
+ #: src/pidgin-libnotify.c:406
+ #, c-format
+diff -Naur pidgin-libnotify-0.14/po/et.po pidgin-libnotify-0.14/po-new/et.po
+--- pidgin-libnotify-0.14/po/et.po 1970-01-01 01:00:00.000000000 +0100
++++ pidgin-libnotify-0.14/po-new/et.po 2010-03-09 18:14:58.831811232 +0100
+@@ -0,0 +1,80 @@
++# Pidgin-libnotify translation to Estonian language.
++# Copyright (C) 2009 The Gnome Translation Team.
++# This file is distributed under the same license as the pidgin-libnotify package.
++# Mattias Põldaru <mahfiaz gmail com>, 2009.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: Pdgin Libnotify\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2009-03-23 11:04+0200\n"
++"PO-Revision-Date: 2009-03-23 11:09+0300\n"
++"Last-Translator: Mattias Põldaru <mahfiaz gmail com>\n"
++"Language-Team: Gnome Estonian Translation Team <gnome-et@linux.ee>\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"Plural-Forms: nplurals=2; plural = n!=1;\n"
++"X-Poedit-Language: Estonian\n"
++
++#: ../src/pidgin-libnotify.c:57
++msgid "New messages"
++msgstr "Uutele sõnumitele"
++
++#: ../src/pidgin-libnotify.c:62
++msgid "Only new conversations"
++msgstr "Ainult uutele vestlustele"
++
++#: ../src/pidgin-libnotify.c:67
++msgid "Ignore events from blocked users"
++msgstr "Blokitud kasutajaid eiratakse"
++
++#: ../src/pidgin-libnotify.c:72
++msgid "Buddy signs on"
++msgstr "Sõber logib sisse"
++
++#: ../src/pidgin-libnotify.c:77
++msgid "Buddy signs off"
++msgstr "Sõber logib välja"
++
++#: ../src/pidgin-libnotify.c:82
++msgid "Only when available"
++msgstr "Ainult siis, kui olekuks on saadaval"
++
++#: ../src/pidgin-libnotify.c:320
++msgid "Show"
++msgstr "Näita"
++
++#: ../src/pidgin-libnotify.c:352
++#, c-format
++msgid "%s signed on"
++msgstr "%s logis sisse"
++
++#: ../src/pidgin-libnotify.c:384
++#, c-format
++msgid "%s signed off"
++msgstr "%s logis välja"
++
++#: ../src/pidgin-libnotify.c:411
++#, c-format
++msgid "%s says:"
++msgstr "%s ütleb:"
++
++#: ../src/pidgin-libnotify.c:577
++msgid "Libnotify Popups"
++msgstr "Libnotify hüpikaknad"
++
++#: ../src/pidgin-libnotify.c:578
++msgid "Displays popups via libnotify."
++msgstr "Kuvab hüpikaknaid kasutades libnotify'd."
++
++#: ../src/pidgin-libnotify.c:579
++msgid ""
++"Pidgin-libnotify:\n"
++"Displays popups via libnotify."
++msgstr ""
++"Pidgin-libnotify:\n"
++"Kuvab hüpikaknaid kasutades libnotify'd."
++
++
++
+diff -Naur pidgin-libnotify-0.14/po/hu.po pidgin-libnotify-0.14/po-new/hu.po
+--- pidgin-libnotify-0.14/po/hu.po 2007-06-30 20:53:22.000000000 +0200
++++ pidgin-libnotify-0.14/po-new/hu.po 2010-03-09 18:13:38.721834227 +0100
+@@ -1,8 +1,7 @@
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: \n"
+-"Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2007-06-30 19:58+0000\n"
++"Project-Id-Version: pidgin-libnotify\n"
++"POT-Creation-Date: \n"
+ "PO-Revision-Date: 2006-11-01 18:33+0100\n"
+ "Last-Translator: Peter Avramucz <muczy@freestart.hu>\n"
+ "Language-Team: \n"
+@@ -11,58 +10,58 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Poedit-Country: HUNGARY\n"
+
+-#: src/pidgin-libnotify.c:57
++#: src/gaim-libnotify.c:57
+ msgid "New messages"
+ msgstr "Új üzenetek"
+
+-#: src/pidgin-libnotify.c:62
++#: src/gaim-libnotify.c:62
+ msgid "Only new conversations"
+ msgstr "Csak az új beszélgetéseknél"
+
+-#: src/pidgin-libnotify.c:67
++#: src/gaim-libnotify.c:67
+ msgid "Ignore events from blocked users"
+ msgstr "Hagyja figyelmen kívűl a blokkolt felhasználókat"
+
+-#: src/pidgin-libnotify.c:72
++#: src/gaim-libnotify.c:72
+ msgid "Buddy signs on"
+ msgstr "Partner bejelentkezett"
+
+-#: src/pidgin-libnotify.c:77
++#: src/gaim-libnotify.c:77
+ msgid "Buddy signs off"
+ msgstr "Partner kijelentkezett"
+
+-#: src/pidgin-libnotify.c:315
++#: src/gaim-libnotify.c:295
+ msgid "Show"
+ msgstr "Mutasd"
+
+-#: src/pidgin-libnotify.c:347
++#: src/gaim-libnotify.c:324
+ #, c-format
+ msgid "%s signed on"
+ msgstr "%s bejelentkezett"
+
+-#: src/pidgin-libnotify.c:379
++#: src/gaim-libnotify.c:353
+ #, c-format
+ msgid "%s signed off"
+ msgstr "%s kijelentkezett"
+
+-#: src/pidgin-libnotify.c:406
++#: src/gaim-libnotify.c:380
+ #, c-format
+ msgid "%s says:"
+ msgstr "%s mondja:"
+
+-#: src/pidgin-libnotify.c:572
++#: src/gaim-libnotify.c:543
+ msgid "Libnotify Popups"
+ msgstr "Libnotify buborékok"
+
+-#: src/pidgin-libnotify.c:573
++#: src/gaim-libnotify.c:544
+ msgid "Displays popups via libnotify."
+ msgstr "Mutassa a buborékokat libnotify segítségével."
+
+-#: src/pidgin-libnotify.c:574
+-#, fuzzy
++#: src/gaim-libnotify.c:545
+ msgid ""
+-"Pidgin-libnotify:\n"
++"Gaim-libnotify:\n"
+ "Displays popups via libnotify."
+ msgstr ""
+ "Gaim-libnotify:\n"
+ "Mutassa a buborékokat libnotify segítségével."
++
+diff -Naur pidgin-libnotify-0.14/po/it.po pidgin-libnotify-0.14/po-new/it.po
+--- pidgin-libnotify-0.14/po/it.po 2007-06-30 20:53:22.000000000 +0200
++++ pidgin-libnotify-0.14/po-new/it.po 2010-03-09 18:03:34.565229551 +0100
+@@ -1,79 +1,78 @@
+ # Italian (it) translation of gaim-libnotify.
+-# Copyright (C) 2006, Marco Cabizza <marco87@gmail.com>
+-#
+ # This file is distributed under the same license as gaim-libnotify.
++# Copyright (C) 2006, Marco Cabizza <marco87@gmail.com>
++# Copyright (C) 2009, The Free Software Foundation, Inc.
++# Gruppo traduzione italiano di Ubuntu, <gruppo-traduzione@ubuntu-it.org>
++# Milo Casagrande <milo@ubuntu.com>
+ #
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: gaim-libnotify\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2007-06-30 19:58+0000\n"
+-"PO-Revision-Date: 2007-05-25 12:30-0300\n"
+-"Last-Translator: Marco Cabizza <marco87@gmail.com>\n"
++"POT-Creation-Date: 2009-09-29 16:23+0000\n"
++"PO-Revision-Date: 2009-11-04 15:15+0000\n"
++"Last-Translator: Milo Casagrande <milo@casagrande.name>\n"
+ "Language-Team: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"Plural-Forms: nplurals=2; plural=n != 1;\n"
++"X-Launchpad-Export-Date: 2009-11-11 17:20+0000\n"
++"X-Generator: Launchpad (build Unknown)\n"
+
+-#: src/pidgin-libnotify.c:57
+-#, fuzzy
++#: ../src/pidgin-libnotify.c:95
+ msgid "New messages"
+ msgstr "Nuovi messaggi"
+
+-#: src/pidgin-libnotify.c:62
++#: ../src/pidgin-libnotify.c:100
+ msgid "Only new conversations"
+-msgstr "Solo le nuove finestre"
++msgstr "Solo nuove conversazioni"
+
+-#: src/pidgin-libnotify.c:67
++#: ../src/pidgin-libnotify.c:105
+ msgid "Ignore events from blocked users"
+-msgstr "Ignora gli utenti bloccati"
++msgstr "Ignora eventi da utenti bloccati"
+
+-#: src/pidgin-libnotify.c:72
+-#, fuzzy
++#: ../src/pidgin-libnotify.c:110
+ msgid "Buddy signs on"
+-msgstr "%s entra"
++msgstr "Il conoscente si connette"
+
+-#: src/pidgin-libnotify.c:77
+-#, fuzzy
++#: ../src/pidgin-libnotify.c:115
+ msgid "Buddy signs off"
+-msgstr "%s entra"
++msgstr "Il conoscente si disconnette"
+
+-#: src/pidgin-libnotify.c:315
++#: ../src/pidgin-libnotify.c:120
++msgid "Only when available"
++msgstr "Solo quando disponibile"
++
++#: ../src/pidgin-libnotify.c:125
++msgid "Names to remove notifications for"
++msgstr "Nomi per cui rimuovere le notifiche"
++
++#: ../src/pidgin-libnotify.c:505
+ msgid "Show"
+ msgstr "Mostra"
+
+-#: src/pidgin-libnotify.c:347
+-#, c-format
+-msgid "%s signed on"
+-msgstr "%s è entrato"
+-
+-#: src/pidgin-libnotify.c:379
+-#, fuzzy, c-format
+-msgid "%s signed off"
+-msgstr "%s è entrato"
+-
+-#: src/pidgin-libnotify.c:406
+-#, c-format
+-msgid "%s says:"
+-msgstr "%s dice:"
++#: ../src/pidgin-libnotify.c:538
++msgid "is online"
++msgstr "è in linea"
++
++#: ../src/pidgin-libnotify.c:567
++msgid "is offline"
++msgstr "non è in linea"
+
+-#: src/pidgin-libnotify.c:572
++#: ../src/pidgin-libnotify.c:1399
+ msgid "Libnotify Popups"
+-msgstr "Popups di libnotify"
++msgstr "Notifiche di libnotify"
+
+-#: src/pidgin-libnotify.c:573
++#: ../src/pidgin-libnotify.c:1400
+ msgid "Displays popups via libnotify."
+-msgstr "Mostra avvisi mediante libnotify."
++msgstr "Visualizza le notifiche mediante libnotify."
+
+-#: src/pidgin-libnotify.c:574
+-#, fuzzy
++#: ../src/pidgin-libnotify.c:1401
+ msgid ""
+ "Pidgin-libnotify:\n"
+ "Displays popups via libnotify."
+ msgstr ""
+-"Gaim-libnotify:\n"
+-"Mostra avvisi mediante libnotify."
++"Pidgin-libnotify:\n"
++"Visualizza le notifiche mediante libnotify."
+
+-#~ msgid "Libnotify Interface"
+-#~ msgstr "Interfaccia libnotify"
++
+diff -Naur pidgin-libnotify-0.14/po/nl.po pidgin-libnotify-0.14/po-new/nl.po
+--- pidgin-libnotify-0.14/po/nl.po 2007-06-30 20:53:22.000000000 +0200
++++ pidgin-libnotify-0.14/po-new/nl.po 2010-03-09 18:17:48.188461774 +0100
+@@ -31,12 +31,12 @@
+
+ #: src/pidgin-libnotify.c:72
+ msgid "Buddy signs on"
+-msgstr "Contactpersoon heeft zich aangemeld"
++msgstr "Contactpersoon meldt zich aan"
+
+ #: src/pidgin-libnotify.c:77
+ #, fuzzy
+ msgid "Buddy signs off"
+-msgstr "Contactpersoon heeft zich aangemeld"
++msgstr "Contactpersoon meldt zich af"
+
+ #: src/pidgin-libnotify.c:315
+ msgid "Show"
+@@ -50,7 +50,7 @@
+ #: src/pidgin-libnotify.c:379
+ #, fuzzy, c-format
+ msgid "%s signed off"
+-msgstr "%s heeft zich aangemeld"
++msgstr "%s heeft zich afgemeld"
+
+ #: src/pidgin-libnotify.c:406
+ #, c-format
+@@ -59,7 +59,7 @@
+
+ #: src/pidgin-libnotify.c:572
+ msgid "Libnotify Popups"
+-msgstr ""
++msgstr "Libnotify Popups"
+
+ #: src/pidgin-libnotify.c:573
+ msgid "Displays popups via libnotify."
+@@ -71,7 +71,7 @@
+ "Pidgin-libnotify:\n"
+ "Displays popups via libnotify."
+ msgstr ""
+-"Gaim-libnotify:\n"
++"Pidgin-libnotify:\n"
+ "Toont popups via libnotify."
+
+ #~ msgid "Libnotify Interface"
+diff -Naur pidgin-libnotify-0.14/po/pl.po pidgin-libnotify-0.14/po-new/pl.po
+--- pidgin-libnotify-0.14/po/pl.po 2008-12-14 18:03:42.000000000 +0100
++++ pidgin-libnotify-0.14/po-new/pl.po 2010-03-09 18:09:47.555190702 +0100
+@@ -1,22 +1,18 @@
+-# Polish (pl) translation of gaim-libnotify
+-# Copyright (C) 2006, Krzysztof Rosiński <kr@post.pl>
+-# This file is distributed under the same license as the gaim-libnotify package.
++# translation of pl.po to Polish
+ # Krzysztof Rosiński <kr@post.pl>, 2006.
+ # Piotr Drąg <raven@pmail.pl>, 2007.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: gaim-libnotify\n"
++"Project-Id-Version: pl\n"
+ "Report-Msgid-Bugs-To: \n"
+ "POT-Creation-Date: 2007-06-30 19:58+0000\n"
+-"PO-Revision-Date: 2006-03-13 19:39+ZONE\n"
++"PO-Revision-Date: 2007-06-09 19:00+0200\n"
+ "Last-Translator: Piotr Drąg <raven@pmail.pl>\n"
+ "Language-Team: Polish <pl@li.org>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+-"|| n%100>=20) ? 1 : 2);\n"
+
+ #: src/pidgin-libnotify.c:57
+ msgid "New messages"
+@@ -73,3 +69,5 @@
+ "Pidgin-libnotify:\n"
+ "Wyświetla powiadomienia przez libnotify."
+
++
++
+diff -Naur pidgin-libnotify-0.14/po/ro.po pidgin-libnotify-0.14/po-new/ro.po
+--- pidgin-libnotify-0.14/po/ro.po 2007-06-30 20:53:22.000000000 +0200
++++ pidgin-libnotify-0.14/po-new/ro.po 2010-03-09 18:14:01.732650658 +0100
+@@ -8,69 +8,66 @@
+ msgstr ""
+ "Project-Id-Version: ro\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2007-06-30 19:58+0000\n"
+-"PO-Revision-Date: 2007-01-25 22:00+0200\n"
+-"Last-Translator: Ion Alin <alyn3d@gmail.com>\n"
+-"Language-Team: <ro@li.org>\n"
++"POT-Creation-Date: 2009-04-24 10:15+0000\n"
++"PO-Revision-Date: 2009-09-10 13:40+0000\n"
++"Last-Translator: Adi Roiban <adi@roiban.ro>\n"
++"Language-Team: <ro@li.org>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KBabel 1.11.4\n"
+-"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+-"20)) ? 1 : 2;\n"
++"X-Launchpad-Export-Date: 2009-09-10 16:28+0000\n"
++"X-Generator: Launchpad (build Unknown)\n"
+
+-#: src/pidgin-libnotify.c:57
++#: ../src/pidgin-libnotify.c:75
+ msgid "New messages"
+ msgstr "Mesaje noi"
+
+-#: src/pidgin-libnotify.c:62
++#: ../src/pidgin-libnotify.c:80
+ msgid "Only new conversations"
+-msgstr "Numai conversatii noi"
++msgstr "Doar conversațiile noi"
+
+-#: src/pidgin-libnotify.c:67
++#: ../src/pidgin-libnotify.c:85
+ msgid "Ignore events from blocked users"
+-msgstr "Ignora evenimentele de la utilizatorii blocati"
++msgstr "Ignoră evenimentele de la utilizatorii blocați"
+
+-#: src/pidgin-libnotify.c:72
++#: ../src/pidgin-libnotify.c:90
+ msgid "Buddy signs on"
+-msgstr "Userul este online"
++msgstr "Contact conectat"
+
+-#: src/pidgin-libnotify.c:77
++#: ../src/pidgin-libnotify.c:95
+ msgid "Buddy signs off"
+-msgstr "Userul este offline"
++msgstr "Contact deconectat"
+
+-#: src/pidgin-libnotify.c:315
++#: ../src/pidgin-libnotify.c:100
++msgid "Only when available"
++msgstr "Doar când sunt disponibil(ă)"
++
++#: ../src/pidgin-libnotify.c:454
+ msgid "Show"
+-msgstr "Arata"
++msgstr "Afișează"
++
++#: ../src/pidgin-libnotify.c:487
++msgid "is online"
++msgstr "s-a conectat"
+
+-#: src/pidgin-libnotify.c:347
+-#, c-format
+-msgid "%s signed on"
+-msgstr "%s este online"
+-
+-#: src/pidgin-libnotify.c:379
+-#, c-format
+-msgid "%s signed off"
+-msgstr "%s este offline"
+-
+-#: src/pidgin-libnotify.c:406
+-#, c-format
+-msgid "%s says:"
+-msgstr "%s spune:"
++#: ../src/pidgin-libnotify.c:516
++msgid "is offline"
++msgstr "s-a deconectat"
+
+-#: src/pidgin-libnotify.c:572
++#: ../src/pidgin-libnotify.c:1200
+ msgid "Libnotify Popups"
+-msgstr "Pop-up Libnotify"
++msgstr "Notificări libnotify"
+
+-#: src/pidgin-libnotify.c:573
++#: ../src/pidgin-libnotify.c:1201
+ msgid "Displays popups via libnotify."
+-msgstr "Arata popup-uri via libnotify."
++msgstr "Afișează notificări via libnotify."
+
+-#: src/pidgin-libnotify.c:574
+-#, fuzzy
++#: ../src/pidgin-libnotify.c:1202
+ msgid ""
+ "Pidgin-libnotify:\n"
+ "Displays popups via libnotify."
+ msgstr ""
+-"Gaim-libnotify:\n"
+-"Arata popup-uri via libnotify."
++"Pidgin-libnotify:\n"
++"Afișează notificări via libnotify."
++
++
+diff -Naur pidgin-libnotify-0.14/po/ru.po pidgin-libnotify-0.14/po-new/ru.po
+--- pidgin-libnotify-0.14/po/ru.po 2008-12-14 18:09:59.000000000 +0100
++++ pidgin-libnotify-0.14/po-new/ru.po 2010-03-09 18:08:58.941861562 +0100
+@@ -7,11 +7,11 @@
+ msgstr ""
+ "Project-Id-Version: gaim-libnotify\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2007-06-30 19:58+0000\n"
++"POT-Creation-Date: 2009-08-07 18:45+0000\n"
+ "PO-Revision-Date: 2007-11-29 12:30-0300\n"
+ "Last-Translator: Dmitry Egorkin <egorkin@gmail.com>\n"
+ "Language-Team: Russian\n"
+-"MIME-Version: 1.0\n"
++"MIME-Version: 1.1\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
+@@ -43,12 +43,12 @@
+ #: src/pidgin-libnotify.c:347
+ #, c-format
+ msgid "%s signed on"
+-msgstr "%s пришёл"
++msgstr "%s в сети"
+
+ #: src/pidgin-libnotify.c:379
+ #, c-format
+ msgid "%s signed off"
+-msgstr "%s ушёл"
++msgstr "%s не в сети"
+
+ #: src/pidgin-libnotify.c:406
+ #, c-format
+@@ -73,3 +73,5 @@
+
+ #~ msgid "Libnotify Interface"
+ #~ msgstr "Настройки libnotify"
++
++
diff --git a/community/pidgin-libnotify/pidgin-libnotify-0.14-libnotify-0.7.patch b/community/pidgin-libnotify/pidgin-libnotify-0.14-libnotify-0.7.patch
new file mode 100644
index 000000000..40e6c02b8
--- /dev/null
+++ b/community/pidgin-libnotify/pidgin-libnotify-0.14-libnotify-0.7.patch
@@ -0,0 +1,18 @@
+--- src/pidgin-libnotify.c
++++ src/pidgin-libnotify.c
+@@ -286,7 +286,15 @@
+ g_free (tr_body);
+ return;
+ }
++#ifdef NOTIFY_CHECK_VERSION
++#if NOTIFY_CHECK_VERSION (0, 7, 0)
++ notification = notify_notification_new (title, tr_body, NULL);
++#else
+ notification = notify_notification_new (title, tr_body, NULL, NULL);
++#endif
++#else
++ notification = notify_notification_new (title, tr_body, NULL, NULL);
++#endif
+ purple_debug_info (PLUGIN_ID, "notify(), new: "
+ "title: '%s', body: '%s', buddy: '%s'\n",
+ title, tr_body, best_name (buddy));
diff --git a/community/pidgin-libnotify/pidgin-libnotify-getfocus.patch b/community/pidgin-libnotify/pidgin-libnotify-getfocus.patch
new file mode 100644
index 000000000..db45829d9
--- /dev/null
+++ b/community/pidgin-libnotify/pidgin-libnotify-getfocus.patch
@@ -0,0 +1,69 @@
+--- src/pidgin-libnotify.c 2013-05-07 17:38:31.397261982 +0200
++++ src2/pidgin-libnotify.c 2013-05-07 17:43:43.787904584 +0200
+@@ -169,6 +169,49 @@ pixbuf_from_buddy_icon (PurpleBuddyIcon
+ return icon;
+ }
+
++/* Taken from pidgin-hotkeys to get focus on conversation window */
++static void
++hacky_active_window(GtkWidget *window)
++{
++ GdkScreen *screen;
++ GdkWindow *root;
++ GdkDisplay *display;
++ Display *xdisplay;
++ Window xroot;
++ XEvent xev;
++ static Atom _net_active_window = None;
++
++ screen = gtk_widget_get_screen(window);
++ root = gdk_screen_get_root_window(screen);
++ display = gdk_screen_get_display(screen);
++
++ xdisplay = GDK_DISPLAY_XDISPLAY(display);
++ xroot = GDK_WINDOW_XWINDOW(root);
++
++ if (_net_active_window == None)
++ _net_active_window = XInternAtom(xdisplay,
++ "_NET_ACTIVE_WINDOW",
++ False);
++
++ xev.xclient.type = ClientMessage;
++ xev.xclient.serial = 0;
++ xev.xclient.send_event = True;
++ xev.xclient.window = GDK_WINDOW_XWINDOW(window->window);
++ xev.xclient.message_type = _net_active_window;
++ xev.xclient.format = 32;
++ xev.xclient.data.l[0] = 1; /* requestor type; we're an app, I guess */
++ xev.xclient.data.l[1] = CurrentTime;
++ xev.xclient.data.l[2] = None; /* "currently active window", supposedly */
++ xev.xclient.data.l[3] = 0;
++ xev.xclient.data.l[4] = 0;
++
++ XSendEvent(xdisplay,
++ xroot, False,
++ SubstructureRedirectMask | SubstructureNotifyMask,
++ &xev);
++}
++
++
+ static void
+ action_cb (NotifyNotification *notification,
+ gchar *action, gpointer user_data)
+@@ -194,6 +237,16 @@ action_cb (NotifyNotification *notificat
+ buddy->name);
+ }
+ conv->ui_ops->present (conv);
++
++ /* get the focus on the new conversation window */
++ {
++ GtkWindow *gtkwindow;
++
++ gtkwindow = GTK_WINDOW(pidgin_conv_get_window(PIDGIN_CONVERSATION(conv))->window);
++ /*gtk_window_present(gtkwindow);*/
++ hacky_active_window(GTK_WIDGET(gtkwindow));
++ }
++
+
+ notify_notification_close (notification, NULL);
+ }
diff --git a/community/pidgin-libnotify/pidgin-libnotify-showbutton.patch b/community/pidgin-libnotify/pidgin-libnotify-showbutton.patch
new file mode 100644
index 000000000..1f84e6025
--- /dev/null
+++ b/community/pidgin-libnotify/pidgin-libnotify-showbutton.patch
@@ -0,0 +1,10 @@
+--- src/pidgin-libnotify.c.orig 2007-10-01 20:52:38.000000000 +1000
++++ src/pidgin-libnotify.c 2007-10-01 20:53:20.000000000 +1000
+@@ -307,6 +307,7 @@
+ g_hash_table_insert (buddy_hash, contact, notification);
+
+ g_object_set_data (G_OBJECT(notification), "contact", contact);
++ g_object_set_data (G_OBJECT(notification), "buddy", buddy);
+
+ g_signal_connect (notification, "closed", G_CALLBACK(closed_cb), NULL);
+
diff --git a/community/pidgin-lwqq/PKGBUILD b/community/pidgin-lwqq/PKGBUILD
new file mode 100644
index 000000000..0d91d0941
--- /dev/null
+++ b/community/pidgin-lwqq/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 94249 2013-07-18 00:07:47Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=pidgin-lwqq
+pkgver=0.1f
+_commit=66b7498a7530a1c47dabbe05c0726a9188353217
+pkgrel=2
+pkgdesc="A pidgin plugin based on lwqq, a excellent safe useful library for webqq protocol"
+arch=('i686' 'x86_64')
+url="https://github.com/xiehuc/pidgin-lwqq"
+license=('GPL3')
+depends=('libpurple' 'curl' 'libev' 'hicolor-icon-theme' 'gtk-update-icon-cache')
+optdepends=('pidgin: Multi-protocol instant messaging client'
+ 'telepathy-haze: Empathy plugin support')
+makedepends=('git' 'cmake')
+install=$pkgname.install
+#source=("git://github.com/xiehuc/pidgin-lwqq.git#commit=$_commit")
+source=("git://github.com/xiehuc/pidgin-lwqq.git#tag=$pkgver"
+ https://github.com/lawm/pidgin-lwqq/commit/4c98edd0ad4ffa3d3472e5452f77b2be9ab56284.patch)
+
+build()
+{
+ cd "${srcdir}/$pkgname"
+
+ patch -p1 -i ../4c98edd0ad4ffa3d3472e5452f77b2be9ab56284.patch
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr .
+ make
+}
+
+package()
+{
+ cd "$srcdir/$pkgname"
+ make DESTDIR="${pkgdir}" install
+}
+sha512sums=('SKIP'
+ '22c98c5f88612331d8a6f33d8cb3985325b9e137936e1f962058efc2c8caf218f74f29ce675569cb8887f85ae976310c86c6e9687114fbda524825a53c550c4d')
diff --git a/community/pidgin-lwqq/pidgin-lwqq.install b/community/pidgin-lwqq/pidgin-lwqq.install
new file mode 100644
index 000000000..6b1b64bdd
--- /dev/null
+++ b/community/pidgin-lwqq/pidgin-lwqq.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/pidgin-otr/PKGBUILD b/community/pidgin-otr/PKGBUILD
new file mode 100644
index 000000000..f0f8fbe96
--- /dev/null
+++ b/community/pidgin-otr/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 79622 2012-11-09 00:24:37Z ebelanger $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Bug <Bug2000@gmail.com>
+# Contributor: Marcel Wysocki <maci@satgnu.net>
+
+pkgname=pidgin-otr
+pkgver=4.0.0
+pkgrel=1
+pkgdesc='Off-the-Record Messaging plugin for Pidgin.'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://www.cypherpunks.ca/otr/'
+depends=('libotr>=4.0.0' 'pidgin' 'perlxml')
+makedepends=('intltool')
+source=("http://www.cypherpunks.ca/otr/${pkgname}-${pkgver}.tar.gz"{,.asc})
+md5sums=('eadb953376acc474e56041d4c12aa2c8'
+ '8c70a2fc6f5f0480f32178742ba96498')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/pidgin-talkfilters/PKGBUILD b/community/pidgin-talkfilters/PKGBUILD
new file mode 100644
index 000000000..39a171c78
--- /dev/null
+++ b/community/pidgin-talkfilters/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Connor Behan <connor.behan@gmail.com>
+
+pkgname=pidgin-talkfilters
+pkgver=2.7.0
+pkgrel=1
+pkgdesc="Implements GNU Talkfilters in pidgin chats"
+arch=(i686 x86_64)
+url="http://www.guifications.org/projects/purple-plugin-pack"
+license=('GPL')
+depends=('pidgin' 'talkfilters')
+makedepends=('intltool' 'gettext' 'python2')
+options=(!libtool)
+source=(https://www.guifications.org/attachments/download/201/purple-plugin-pack-${pkgver}.tar.bz2)
+
+build() {
+ cd "$srcdir"/purple-plugin-pack-${pkgver}
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --with-plugins=talkfilters
+ make
+}
+
+package() {
+ cd "$srcdir"/purple-plugin-pack-${pkgver}
+ make DESTDIR="$pkgdir" install
+ rm -rf "${pkgdir}"/usr/share
+}
+
+md5sums=('a1ee405e81ad955798af7b2a6a8564fb')
diff --git a/community/pidgin-toobars/PKGBUILD b/community/pidgin-toobars/PKGBUILD
new file mode 100644
index 000000000..a9d052011
--- /dev/null
+++ b/community/pidgin-toobars/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: JokerBoy <jokerboy at punctweb dot ro>
+
+pkgname=pidgin-toobars
+pkgver=1.14
+pkgrel=1
+pkgdesc="Pidgin plugin that adds a toolbar and status bar to the buddy list"
+arch=('i686' 'x86_64')
+url="http://vayurik.ru/wordpress/en/toobars/"
+license=('GPL')
+depends=('pidgin')
+makedepends=('intltool')
+options=('!libtool')
+source=("http://vayurik.ru/wordpress/wp-content/uploads/toobars/${pkgver}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('0b9255902c10ec1b171329474bd69e82')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/pigz/PKGBUILD b/community/pigz/PKGBUILD
new file mode 100644
index 000000000..5ae1190d3
--- /dev/null
+++ b/community/pigz/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 86235 2013-03-13 19:48:34Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski
+# Contributor: Laszlo Papp <djszapi2@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=pigz
+pkgver=2.3
+pkgrel=1
+pkgdesc='Parallel implementation of the gzip file compressor'
+arch=('i686' 'x86_64')
+url='http://www.zlib.net/pigz/'
+license=('custom')
+depends=('zlib')
+source=(http://www.zlib.net/$pkgname/$pkgname-$pkgver.tar.gz
+ pigz-2.3-make.patch)
+md5sums=('042e3322534f2c3d761736350cac303f'
+ 'f6291ee36e36e098d7fbf0655a89b183')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ patch -Np1 -i "$srcdir"/pigz-2.3-make.patch
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ install -Dm755 "$srcdir"/$pkgname-$pkgver/$pkgname \
+ "$pkgdir"/usr/bin/$pkgname
+
+ pushd "$pkgdir"/usr/bin
+ ln -s pigz unpigz
+ popd
+
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/$pkgname.1 \
+ "$pkgdir"/usr/share/man/man1/$pkgname.1
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/$pkgname.pdf \
+ "$pkgdir"/usr/share/doc/$pkgname/$pkgname.pdf
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/README \
+ "$pkgdir"/usr/share/licenses/$pkgname/README
+}
diff --git a/community/pigz/pigz-2.3-make.patch b/community/pigz/pigz-2.3-make.patch
new file mode 100644
index 000000000..f014c7b02
--- /dev/null
+++ b/community/pigz/pigz-2.3-make.patch
@@ -0,0 +1,25 @@
+From 545a9350f8026f6c9826dd4fa7ab6000d8826d78 Mon Sep 17 00:00:00 2001
+From: Tim Harder <radhermit@gmail.com>
+Date: Wed, 6 Mar 2013 15:51:27 -0800
+Subject: [PATCH] Respect LDFLAGS and explicitly link to math library
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 3cc231d..48d1f26 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,7 +3,7 @@ CFLAGS=-O3 -Wall -Wextra
+
+
+ pigz: pigz.o yarn.o zopfli/deflate.o zopfli/blocksplitter.o zopfli/tree.o zopfli/lz77.o zopfli/cache.o zopfli/hash.o zopfli/util.o zopfli/squeeze.o zopfli/katajainen.o
+- $(CC) -o pigz $^ -lpthread -lz
++ $(CC) $(LDFLAGS) -o pigz $^ -lpthread -lz -lm
+ ln -f pigz unpigz
+
+ pigz.o: pigz.c yarn.h zopfli/deflate.h zopfli/util.h
+--
+1.8.1.5
+
diff --git a/community/pinfo/ChangeLog b/community/pinfo/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/pinfo/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/pinfo/PKGBUILD b/community/pinfo/PKGBUILD
new file mode 100644
index 000000000..d5ac06d0e
--- /dev/null
+++ b/community/pinfo/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 55275 2011-09-08 12:47:50Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+
+pkgname=pinfo
+pkgver=0.6.10
+pkgrel=2
+pkgdesc="A hypertext info file viewer"
+arch=('i686' 'x86_64')
+url="http://pinfo.alioth.debian.org/"
+license=('GPL')
+depends=('ncurses' 'readline')
+source=(https://alioth.debian.org/frs/download.php/3351/$pkgname-$pkgver.tar.bz2)
+md5sums=('fe3d3da50371b1773dfe29bf870dbc5b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ unset LDFLAGS
+ [ -x configure ] || ./autogen.sh
+ sed -i 's|nogroup|nobody|' src/pinforc.in src/utils.c
+ [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --enable-cursor \
+ --mandir=/usr/share/man --infodir=/usr/share/info
+ make
+ make DESTDIR=$pkgdir install
+ rm -f $pkgdir/usr/share/info/dir
+}
diff --git a/community/pingus/ChangeLog b/community/pingus/ChangeLog
new file mode 100644
index 000000000..c182f92eb
--- /dev/null
+++ b/community/pingus/ChangeLog
@@ -0,0 +1,21 @@
+2010-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+ * pingus 0.7.2-8
+ * Rebuilt against boost 1.41.0
+
+2010-02-23 Eric Belanger <eric@archlinux.org>
+
+ * pingus 0.7.2-7
+ * Rebuilt against boost 1.42.0
+
+2010-01-20 Eric Belanger <eric@archlinux.org>
+
+ * pingus 0.7.2-6
+ * Rebuilt against libpng 1.4/libjpeg 8
+
+2009-07-13 Eric Belanger <eric@archlinux.org>
+
+ * pingus 0.7.2-2
+ * Rebuilt against boost 1.39
+ * Added gcc 4.4 patch
+ * Added ChangeLog
diff --git a/community/pingus/PKGBUILD b/community/pingus/PKGBUILD
new file mode 100644
index 000000000..ccc794cc4
--- /dev/null
+++ b/community/pingus/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 94040 2013-07-13 12:35:34Z svenstaro $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+
+pkgname=pingus
+pkgver=0.7.6
+pkgrel=9
+pkgdesc="A Lemmings clone, i.e. a level-based puzzle game."
+arch=('i686' 'x86_64')
+url="http://pingus.seul.org"
+license=('GPL')
+depends=('sdl_image' 'sdl_mixer' 'libgl' 'boost-libs>=1.49')
+makedepends=('scons' 'boost>=1.49' 'mesa' 'glu')
+source=("http://pingus.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2"
+ 'pingus.desktop'
+ 'pingus-0.7.6-gcc470-udl.patch')
+sha1sums=('b5f5a25d71beb197c9466fb8928018a377f56487'
+ '579a1144f161ce89e6e024cea37210149b89c0c0'
+ '143dd9969e8d100d29ed4f5b2039dde627afeb06')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ # fedora patch to fix error due to new standards
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51282
+ patch -Np0 -i ${srcdir}/pingus-0.7.6-gcc470-udl.patch
+
+ scons prefix=/usr
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make install DESTDIR="${pkgdir}" PREFIX="/usr"
+
+ install -D -m644 "${srcdir}/pingus.desktop" "${pkgdir}/usr/share/applications/pingus.desktop"
+}
diff --git a/community/pingus/pingus-0.7.6-gcc470-udl.patch b/community/pingus/pingus-0.7.6-gcc470-udl.patch
new file mode 100644
index 000000000..843439321
--- /dev/null
+++ b/community/pingus/pingus-0.7.6-gcc470-udl.patch
@@ -0,0 +1,22 @@
+--- src/pingus/pingus_main.cpp~ 2011-12-24 15:46:47.000000000 -0600
++++ src/pingus/pingus_main.cpp 2012-01-03 13:13:03.034195720 -0600
+@@ -465,7 +465,7 @@
+ void
+ PingusMain::print_greeting_message()
+ {
+- std::string greeting = "Welcome to Pingus "VERSION;
++ std::string greeting = "Welcome to Pingus " VERSION;
+ greeting += "!";
+ std::cout << greeting << std::endl;
+ for (unsigned int i = 0; i < greeting.length(); ++i)
+--- src/pingus/screens/pingus_menu.cpp~ 2011-12-24 15:46:47.000000000 -0600
++++ src/pingus/screens/pingus_menu.cpp 2012-01-03 13:30:28.967700554 -0600
+@@ -153,7 +153,7 @@
+ gc.get_height()/2 - 280));
+
+ gc.print_left(Fonts::pingus_small, Vector2i(gc.get_width()/2 - 400 + 25, gc.get_height()-140),
+- "Pingus "VERSION" - Copyright (C) 1998-2011 Ingo Ruhnke <grumbel@gmail.com>\n"
++ "Pingus " VERSION " - Copyright (C) 1998-2011 Ingo Ruhnke <grumbel@gmail.com>\n"
+ "See the file AUTHORS for a complete list of contributors.\n"
+ "Pingus comes with ABSOLUTELY NO WARRANTY. This is free software, and you are\n"
+ "welcome to redistribute it under certain conditions; see the file COPYING for details.\n");
diff --git a/community/pingus/pingus.desktop b/community/pingus/pingus.desktop
new file mode 100644
index 000000000..276db36a4
--- /dev/null
+++ b/community/pingus/pingus.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Pingus
+Comment=A free Lemmings[tm] clone
+Exec=pingus
+Terminal=false
+Type=Application
+Categories=Application;Game;LogicGame
+Icon=/usr/share/pingus/images/core/editor/actions.png
diff --git a/community/pinot/PKGBUILD b/community/pinot/PKGBUILD
new file mode 100644
index 000000000..93d5c3a2e
--- /dev/null
+++ b/community/pinot/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 94041 2013-07-13 12:35:45Z svenstaro $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=pinot
+pkgver=1.06
+pkgrel=1
+pkgdesc='Personal search and metasearch tool'
+arch=('i686' 'x86_64')
+url='http://code.google.com/p/pinot-search/'
+license=('GPL')
+depends=('gtkmm3' 'xapian-core' 'libtextcat' 'sqlite' 'libxml++' 'curl' 'gmime'
+ 'dbus-glib' 'shared-mime-info' 'libexif' 'taglib' 'hicolor-icon-theme'
+ 'cairo' 'exiv2' 'boost-libs')
+makedepends=('boost' 'desktop-file-utils')
+optdepends=('unzip: ZIP files extraction'
+ 'poppler: PDF to text conversion'
+ 'catdvi: DVI to text conversion'
+ 'djvulibre: DjVu text extraction'
+ 'unrtf: RTF to HTML conversion'
+ 'antiword: MS Word to text conversion'
+ 'catdoc: XLS and PPT to text conversion')
+options=('!emptydirs')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://pinot-search.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+sha256sums=('bba6f412553890ef7cccd6d7bb28df9a6c4d122ea74a2902e5de33953cd1872d')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ x='/usr/share/libtextcat/'
+ sed -i 's|/LM/russian.lm|/LM/russian-windows1251.lm|' textcat_conf.txt
+ sed -i "s|$x|${x}LM/|" \
+ textcat_conf.txt \
+ textcat3_conf.txt \
+ textcat31_conf.txt \
+ textcat32_conf.txt
+ sed -i -e "s|.*russian$|${x}LM/russian-iso8859_5.lm russian-iso8859_5\n\
+${x}LM/russian-koi8_r.lm russian-koi8_r\n\
+${x}LM/russian-windows1251.lm russian-windows1251|" textcat3_conf.txt
+
+ LIBS="-lboost_system" ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --enable-gtkmm3=yes \
+ --enable-mempool=no
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/pinot/pinot.changelog b/community/pinot/pinot.changelog
new file mode 100644
index 000000000..4cf1a68a2
--- /dev/null
+++ b/community/pinot/pinot.changelog
@@ -0,0 +1,14 @@
+2012-09-29 Alexander Rødseth <rodseth@gmail.com>
+ * fix FS#31510, adding --enable-mempool=no
+
+2012-09-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * pinot 1.01-1
+
+2012-07-31 Eric Belanger <eric@archlinux.org>
+ * pinot 1.0-2 : Rebuild against exiv2 0.23, Add boost-libs depends
+
+2012-07-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * pinot 1.0-1
+
+2011-12-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * pinot 0.98-1
diff --git a/community/pinot/pinot.install b/community/pinot/pinot.install
new file mode 100644
index 000000000..55ab40426
--- /dev/null
+++ b/community/pinot/pinot.install
@@ -0,0 +1,15 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ echo "Starting with 0.63, the service is auto-started. "
+ echo "The file that enables this is located at "
+ echo "/etc/xdg/autostart/pinot-dbus-daemon.desktop"
+ echo "Delete this file if you don't want the auto-start."
+}
+
+post_upgrade() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/pion/PKGBUILD b/community/pion/PKGBUILD
new file mode 100644
index 000000000..02be15ca0
--- /dev/null
+++ b/community/pion/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 94042 2013-07-13 12:35:54Z svenstaro $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=pion
+pkgver=5.0.2
+pkgrel=1
+pkgdesc="A C++ development library for implementing lightweight HTTP interfaces"
+url="https://github.com/cloudmeter/pion"
+arch=('i686' 'x86_64')
+license=('custom:Boost')
+depends=('boost-libs' 'openssl' 'log4cpp')
+makedepends=('boost')
+provides=('pion-net')
+conflicts=('pion-net')
+replaces=('pion-net')
+source=(https://github.com/cloudmeter/pion/archive/$pkgver.zip)
+md5sums=('1f6a9f69114235ca98756cbcab16d162')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sh autogen.sh
+
+ # override configure bug (forces debug even when nobody asked for it)
+ sed -i "s/ -ggdb//g" configure
+ # override Makefile bug
+ sed -i "/docs:/ s/doxygen-doc//" Makefile.in
+
+ ./configure --prefix=/usr --disable-doxygen-doc
+
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # install license
+ install -D -m0755 COPYING "$pkgdir/usr/share/licenses/$pkgname/Boost"
+}
diff --git a/community/plan9port/PKGBUILD b/community/plan9port/PKGBUILD
new file mode 100644
index 000000000..fd9157b4b
--- /dev/null
+++ b/community/plan9port/PKGBUILD
@@ -0,0 +1,68 @@
+# $Id: PKGBUILD 88636 2013-04-20 19:00:12Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: phrakture <aaronmgriffin--gmail--com>
+# Contributor: Fazlul Shahriar
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+
+pkgname=plan9port
+pkgver=20130320
+pkgrel=1
+pkgdesc='Port of many programs from Plan 9 to Unix-like operating systems'
+arch=('x86_64' 'i686')
+url='http://swtch.com/plan9port/'
+license=('custom')
+depends=('xorg-server' 'libxt' 'libxext' 'sh' 'fuse')
+optdepends=('python2: for the codereview script')
+provides=('plan9')
+install='plan9.install'
+options=('!zipman')
+source=("http://swtch.com/$pkgname/$pkgname-$pkgver.tgz"
+ 'plan9.sh')
+sha256sums=('49a5e6c97c76f0846c45791bda10d6b3ba5c4453855e401980e8e04f92e830fa'
+ '0247c4446497359d305aaec069b07180fbf79ce4fa5191464cd9ebb8c7f0228d')
+
+package() {
+ cd "$srcdir/plan9"
+
+ # Package
+ ./INSTALL -b
+ install -Dm755 ../plan9.sh "$pkgdir/etc/profile.d/plan9.sh"
+ mkdir -p "$pkgdir/opt" "$pkgdir/usr/share/doc/$pkgname"
+ cp -r "$srcdir/plan9" "$pkgdir/opt/"
+ cd "$pkgdir/opt/plan9"
+ ./INSTALL -c -r "$pkgdir/opt/plan9"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ # Clean up
+ rm -rf .hg/
+ rm -f .hgignore .hgtags
+ find . -name '.cvsignore' -print0 |xargs -0 rm -f
+ rm -f config install.log install.sum install.txt configure Makefile INSTALL \
+ LICENSE
+
+ # Fix hardcoded paths
+ for f in `grep -H -r "$pkgdir/opt/plan9" | cut -d: -f1`; do
+ echo -n "\t$f"
+ [ -e "$f" ] && sed -i "s:$pkgdir/opt/plan9:/opt/plan9:" "$f" || true
+ done
+
+ # Fix python scripts
+ find "$pkgdir" -name '*.py' -print0 |xargs -0 \
+ sed -i -e 's,^#!/usr/bin/env python$,#!/usr/bin/python2,' \
+ -e 's,^#!/usr/bin/python$,#!/usr/bin/python2,'
+
+ # Package text files
+ for i in CHANGES CONTRIBUTORS README TODO; do
+ install -m644 $i "$pkgdir/usr/share/doc/$pkgname"
+ rm -f $i
+ done
+
+ # Decompress the plan9 man pages
+ for i in `find /opt/plan9/man -type f`; do
+ if [ ${i##*.} = "gz" ]; then
+ gunzip "$i"
+ fi
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/plan9port/plan9.install b/community/plan9port/plan9.install
new file mode 100644
index 000000000..5c76552f3
--- /dev/null
+++ b/community/plan9port/plan9.install
@@ -0,0 +1,21 @@
+post_install() {
+ echo ""
+ echo "==> In order to use Plan9 specific apps, run them"
+ echo " as arguments to the '9' script, i.e. '9 date'"
+ echo "==> Please log off or 'source /etc/profile.d/plan9.sh'"
+ echo "==> Run '9 man 1 intro | less' to begin"
+ source /etc/profile.d/plan9.sh
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_upgrade() {
+ post_remove
+}
+
+post_remove() {
+ #we had to unpack them so they won't get removed....
+ rm -rf /opt/plan9/man
+}
diff --git a/community/plan9port/plan9.sh b/community/plan9port/plan9.sh
new file mode 100644
index 000000000..84c3d7ef4
--- /dev/null
+++ b/community/plan9port/plan9.sh
@@ -0,0 +1,2 @@
+export PLAN9=/opt/plan9
+export PATH=$PATH:$PLAN9/bin
diff --git a/community/plib/ChangeLog b/community/plib/ChangeLog
new file mode 100644
index 000000000..552fd49e9
--- /dev/null
+++ b/community/plib/ChangeLog
@@ -0,0 +1,12 @@
+2008-10-04 Eric Belanger <eric@archlinux.org>
+
+ * plib 1.8.5-1.1
+ * Built with PIC for x86_64
+
+2008-03-20 Eric Belanger <eric@archlinux.org>
+
+ * plib 1.8.5-1
+ * Upstream update
+ * Fixed license
+ * Added makedepends
+ * Added ChangeLog
diff --git a/community/plib/PKGBUILD b/community/plib/PKGBUILD
new file mode 100644
index 000000000..daa847213
--- /dev/null
+++ b/community/plib/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 70925 2012-05-19 18:43:17Z spupykin $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=plib
+pkgver=1.8.5
+pkgrel=4
+pkgdesc="Set of libraries to write games and other realtime interactive applications"
+arch=('i686' 'x86_64')
+url="http://plib.sourceforge.net/"
+license=('custom:LGPL')
+makedepends=('mesa' 'libxi' 'libxmu')
+source=(http://plib.sourceforge.net/dist/$pkgname-$pkgver.tar.gz)
+md5sums=('47a6fbf63668c1eed631024038b2ea90')
+sha1sums=('c2cf7e3e1e58f7b63dae4bb21e4fa82c3e4d4cfc')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ [ "$CARCH" = "x86_64" ] && export CXXFLAGS="$CXXFLAGS -fPIC"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/COPYING
+}
diff --git a/community/png2ico/PKGBUILD b/community/png2ico/PKGBUILD
new file mode 100644
index 000000000..7f43bcae4
--- /dev/null
+++ b/community/png2ico/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 90078 2013-05-06 19:39:06Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=png2ico
+pkgver=20021208
+pkgrel=6
+arch=('i686' 'x86_64')
+pkgdesc="Converts PNG files to Windows icon resource files"
+url="http://www.winterdrache.de/freeware/png2ico/"
+license=("GPL2")
+depends=('libpng' 'gcc')
+source=(http://www.winterdrache.de/freeware/png2ico/data/$pkgname-src-2002-12-08.tar.gz)
+md5sums=('9b663df81c826cd564638cba2e6bc75b')
+
+build() {
+ cd ${srcdir}/${pkgname}
+ sed -i '1,1i#include <string.h>' png2ico.cpp
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}
+ install -D -m755 png2ico ${pkgdir}/usr/bin/png2ico
+ install -D -m644 doc/png2ico.1 ${pkgdir}/usr/share/man/man1/png2ico.1
+}
diff --git a/community/podofo/PKGBUILD b/community/podofo/PKGBUILD
new file mode 100644
index 000000000..f2b04d945
--- /dev/null
+++ b/community/podofo/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90079 2013-05-06 19:39:08Z foutrelis $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com >
+# Contributor: Preecha Patumchareonpol <yumyai at gmail.com>
+
+pkgname=podofo
+pkgver=0.9.2
+pkgrel=2
+pkgdesc="A C++ library to work with the PDF file format"
+arch=('i686' 'x86_64')
+url="http://podofo.sourceforge.net"
+license=('GPL')
+depends=('openssl' 'libidn' 'lua51' 'fontconfig' 'libpng' 'libtiff')
+makedepends=('cmake')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('41966c57fa4266ac5cef80bfade0c8e7')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ mkdir build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr .. \
+ -DPODOFO_BUILD_SHARED=1 \
+ -DPODOFO_HAVE_JPEG_LIB=1 \
+ -DPODOFO_HAVE_PNG_LIB=1 \
+ -DPODOFO_HAVE_TIFF_LIB=1
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}/build
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/poedit/PKGBUILD b/community/poedit/PKGBUILD
new file mode 100644
index 000000000..ea6fa780e
--- /dev/null
+++ b/community/poedit/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 87572 2013-04-03 10:14:55Z spupykin $
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=poedit
+pkgver=1.5.5
+pkgrel=1
+pkgdesc="Cross-platform gettext catalogs (.po files) editor"
+arch=('i686' 'x86_64')
+url="http://www.poedit.net/"
+license=('custom')
+depends=('wxgtk2.9' 'gtkspell' 'db>=5.1' 'hicolor-icon-theme' 'gettext')
+makedepends=('pkgconfig' 'boost')
+install=poedit.install
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('da86cb73cee9d006a42f9574811d13ab')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ export WX_CONFIG_PATH=/usr/bin/wx-config-2.9
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/poedit/poedit.install b/community/poedit/poedit.install
new file mode 100644
index 000000000..bce670aff
--- /dev/null
+++ b/community/poedit/poedit.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/pokerth/PKGBUILD b/community/pokerth/PKGBUILD
new file mode 100644
index 000000000..f800a1c2b
--- /dev/null
+++ b/community/pokerth/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 94043 2013-07-13 12:36:03Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Vasco Costa <vasco.costa@meiodigital.com>
+# Contributor: Federico Cinelli <cinelli@aur.archlinux.org>
+
+pkgname=pokerth
+_realname=PokerTH
+pkgver=1.0.1
+pkgrel=2
+pkgdesc="Poker game written in C++/QT4"
+arch=('i686' 'x86_64')
+url="http://www.pokerth.net/"
+license=('GPL' 'custom')
+depends=('curl' 'boost-libs' 'gsasl' 'gnutls' 'protobuf'
+ 'qt4' 'sdl_mixer' 'libircclient' 'tinyxml')
+makedepends=('boost')
+source=("http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-src.tar.bz2")
+md5sums=('c6dcf0ed68ab50af91371348ffad5d00')
+
+build() {
+ cd "$srcdir/$_realname-$pkgver-src"
+
+ qmake-qt4 "$pkgname.pro"
+ make
+}
+
+package() {
+ cd "$srcdir/$_realname-$pkgver-src"
+
+ make INSTALL_ROOT="$pkgdir" install
+
+ install -Dm644 "docs/pokerth.1" "$pkgdir/usr/share/man/man1/pokerth.1"
+ install -Dm644 "data/data-copyright.txt" "$pkgdir/usr/share/licenses/pokerth/data-copyright.txt"
+}
diff --git a/community/polipo/PKGBUILD b/community/polipo/PKGBUILD
new file mode 100644
index 000000000..144e4fe19
--- /dev/null
+++ b/community/polipo/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 90446 2013-05-12 13:12:12Z jelle $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Jelle van der Waa <jelle vdwaa nl>
+# Contributor: Thomas Holmquist <thomas@vorget.com>
+# Contributor: Jan Boehringer <ja(a)bm-boehringer.de>
+# Contributor: Alex Griffin <griffin.aj(a)gmail.com>
+
+pkgname=polipo
+pkgver=1.0.4.1
+pkgrel=10
+pkgdesc="A small and fast caching web proxy."
+arch=('i686' 'x86_64')
+url="http://www.pps.jussieu.fr/~jch/software/polipo/"
+license=('GPL')
+depends=('bash')
+makedepends=('texinfo')
+install=polipo.install
+source=("http://freehaven.net/~chrisd/polipo/polipo-$pkgver.tar.gz"
+ "polipo.conf.d" "polipo.service")
+md5sums=('bfc5c85289519658280e093a270d6703'
+ '685aa0c6070dee11c701932d23afcc6a'
+ '143ef45db99dc745b6c3a606847be9fe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make PREFIX="$pkgdir/usr" \
+ MANDIR="$pkgdir/usr/share/man" \
+ INFODIR="$pkgdir/usr/share/info" \
+ LOCAL_ROOT="$pkgdir/usr/share/polipo/www" \
+ DISK_CACHE_ROOT="$pkgdir/var/cache/polipo" \
+ install
+
+
+ # install config files
+ install -Dm 644 config.sample $pkgdir/etc/polipo/config.sample
+ install -Dm 644 forbidden.sample $pkgdir/etc/polipo/forbidden.sample
+
+ # install license
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/polipo/LICENSE
+
+ # install systemd service / cron
+ install -Dm 644 $srcdir/polipo.service $pkgdir/usr/lib/systemd/system/polipo.service
+ install -Dm 644 $srcdir/polipo.conf.d $pkgdir/etc/conf.d/polipo.conf
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/polipo/polipo.conf.d b/community/polipo/polipo.conf.d
new file mode 100644
index 000000000..dc879d32b
--- /dev/null
+++ b/community/polipo/polipo.conf.d
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to polipo
+#
+POLIPO_ARGS="daemonise=true logFile=\"/var/log/polipo.log\""
diff --git a/community/polipo/polipo.install b/community/polipo/polipo.install
new file mode 100644
index 000000000..bacc46377
--- /dev/null
+++ b/community/polipo/polipo.install
@@ -0,0 +1,25 @@
+infodir=/usr/share/info
+filelist=(polipo.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+ install -d /var/cache/polipo 2> /dev/null
+ touch /var/log/polipo.log 2> /dev/null
+ chown -R nobody:nobody /var/cache/polipo /var/log/polipo.log 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/polipo/polipo.service b/community/polipo/polipo.service
new file mode 100644
index 000000000..a4c0f6d94
--- /dev/null
+++ b/community/polipo/polipo.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Polipo Proxy Server
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/polipo daemonise=true logFile="/var/log/polipo.log"
+User=nobody
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/polkit-gnome/PKGBUILD b/community/polkit-gnome/PKGBUILD
new file mode 100644
index 000000000..1f10dc400
--- /dev/null
+++ b/community/polkit-gnome/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90254 2013-05-10 04:01:53Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: onestep_ua <onestep@ukr.net>
+
+pkgname=polkit-gnome
+pkgver=0.105
+pkgrel=1
+pkgdesc="PolicyKit integration for the GNOME desktop"
+arch=('i686' 'x86_64')
+url="http://www.freedesktop.org/wiki/Software/PolicyKit"
+license=('LGPL')
+depends=('polkit' 'gtk3')
+makedepends=('intltool' 'gobject-introspection')
+options=(!libtool)
+source=(http://download.gnome.org/sources/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz
+ polkit-gnome-authentication-agent-1.desktop)
+sha256sums=('1784494963b8bf9a00eedc6cd3a2868fb123b8a5e516e66c5eda48df17ab9369'
+ 'ad19e73ae8eba00a8f66bd9afd3e0e1fd7ca22f716e29b97f097d9c01711e0de')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --libexecdir=/usr/lib/polkit-gnome \
+ --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 "${srcdir}/polkit-gnome-authentication-agent-1.desktop" \
+ "${pkgdir}/etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop"
+}
diff --git a/community/polkit-gnome/polkit-gnome-authentication-agent-1.desktop b/community/polkit-gnome/polkit-gnome-authentication-agent-1.desktop
new file mode 100644
index 000000000..fc2acc28d
--- /dev/null
+++ b/community/polkit-gnome/polkit-gnome-authentication-agent-1.desktop
@@ -0,0 +1,88 @@
+[Desktop Entry]
+Name=PolicyKit Authentication Agent
+Name[ar]=مدير الاستيثاق PolicyKit
+Name[be]=PolicyKit - аґент аўтэнтыфікацыі
+Name[bn_IN]=PolicyKit অনুমোদনের এজেন্ট
+Name[ca]=Agent d'autenticació del PolicyKit
+Name[cs]=Ověřovací agent PolicyKit
+Name[da]=Godkendelsesprogrammet PolicyKit
+Name[de]=Legitimationsdienst von PolicyKit
+Name[el]=Πράκτορας πιστοποίησης PolicyKit
+Name[en_GB]=PolicyKit Authentication Agent
+Name[es]=Agente de autenticación de PolicyKit
+Name[eu]=PolicyKit autentifikatzeko agentea
+Name[fi]=PolicytKit-tunnistautumisohjelma
+Name[fr]=Agent d'authentification de PolicyKit
+Name[gl]=Axente de autenticación PolicyKit
+Name[gu]=PolicyKit સત્તાધિકરણ એજન્ટ
+Name[hi]=PolicyKit प्रमाणीकरण प्रतिनिधि
+Name[hu]=PolicyKit hitelesítési ügynök
+Name[it]=Agente di autenticazione per PolicyKit
+Name[ja]=PolicyKit 認証エージェント
+Name[kn]=PolicyKit ದೃಢೀಕರಣ ಮಧ್ಯವರ್ತಿ
+Name[lt]=PolicyKit tapatybės nustatymo agentas
+Name[ml]=പോളിസിക്കിറ്റ് ഓഥന്റിക്കേഷന്‍ ഏജന്റ്
+Name[mr]=PolicyKit ऑथेंटीकेशन एजेंट
+Name[or]=PolicyKit ବୈଧିକରଣ ସଦସ୍ୟ
+Name[pa]=ਪਾਲਸੀਕਿੱਟ ਪਰਮਾਣਕਿਤਾ ਏਜੰਟ
+Name[pl]=Agent uwierzytelniania PolicyKit
+Name[pt]=Agente de Autenticação PolicyKit
+Name[pt_BR]=Agente de autenticação PolicyKit
+Name[ro]=Agent de autentificare PolicyKit
+Name[sk]=Agent PolicyKit na overovanie totožnosti
+Name[sl]=PolicyKit program overjanja
+Name[sv]=Autentiseringsagent för PolicyKit
+Name[ta]=PolicyKit அங்கீகார முகவர்
+Name[te]=పాలసీకిట్ ధృవీకరణ ప్రతినిధి
+Name[th]=ตัวกลางสำหรับยืนยันตัวบุคคล PolicyKit
+Name[uk]=Агент автентифікації PolicyKit
+Name[zh_CN]=PolicyKit 认证代理
+Name[zh_HK]=PolicyKit 驗證代理程式
+Name[zh_TW]=PolicyKit 驗證代理程式
+Comment=PolicyKit Authentication Agent
+Comment[ar]=مدير الاستيثاق PolicyKit
+Comment[be]=PolicyKit - аґент аўтэнтыфікацыі
+Comment[bn_IN]=PolicyKit অনুমোদনের এজেন্ট
+Comment[ca]=Agent d'autenticació del PolicyKit
+Comment[cs]=Ověřovací agent PolicyKit
+Comment[da]=Godkendelsesprogrammet PolicyKit
+Comment[de]=Legitimationsdienst von PolicyKit
+Comment[el]=Πράκτορας πιστοποίησης PolicyKit
+Comment[en_GB]=PolicyKit Authentication Agent
+Comment[es]=Agente de autenticación de PolicyKit
+Comment[eu]=PolicyKit autentifikatzeko agentea
+Comment[fi]=PolicytKit-tunnistautumisohjelma
+Comment[fr]=Agent d'authentification de PolicyKit
+Comment[gl]=Axente de autenticación PolicyKit
+Comment[gu]=PolicyKit સત્તાધિકરણ એજન્ટ
+Comment[hi]=PolicyKit प्रमाणीकरण प्रतिनिधि
+Comment[hu]=PolicyKit hitelesítési ügynök
+Comment[it]=Agente di autenticazione per PolicyKit
+Comment[ja]=PolicyKit 認証エージェント
+Comment[kn]=PolicyKit ದೃಢೀಕರಣ ಮಧ್ಯವರ್ತಿ
+Comment[lt]=PolicyKit tapatybės nustatymo agentas
+Comment[ml]=പോളിസിക്കിറ്റ് ഓഥന്റിക്കേഷന്‍ ഏജന്റ്
+Comment[mr]=PolicyKit ऑथेंटीकेशन एजेंट
+Comment[or]=PolicyKit ବୈଧିକରଣ ସଦସ୍ୟ
+Comment[pa]=ਪਾਲਸੀਕਿੱਟ ਪਰਮਾਣਕਿਤਾ ਏਜੰਟ
+Comment[pl]=Agent uwierzytelniania PolicyKit
+Comment[pt]=Agente de Autenticação PolicyKit
+Comment[pt_BR]=Agente de autenticação PolicyKit
+Comment[ro]=Agent de autentificare PolicyKit
+Comment[sk]=Agent PolicyKit na overovanie totožnosti
+Comment[sl]=PolicyKit program overjanja
+Comment[sv]=Autentiseringsagent för PolicyKit
+Comment[ta]=PolicyKit அங்கீகார முகவர்
+Comment[te]=పాలసీకిట్ ధృవీకరణ ప్రతినిధి
+Comment[th]=ตัวกลางสำหรับยืนยันตัวบุคคล PolicyKit
+Comment[uk]=Агент автентифікації PolicyKit
+Comment[zh_CN]=PolicyKit 认证代理
+Comment[zh_HK]=PolicyKit 驗證代理程式
+Comment[zh_TW]=PolicyKit 驗證代理程式
+Exec=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
+Terminal=false
+Type=Application
+Categories=
+NoDisplay=true
+NotShowIn=KDE;
+AutostartCondition=GNOME3 unless-session gnome
diff --git a/community/pork/PKGBUILD b/community/pork/PKGBUILD
new file mode 100644
index 000000000..44fa8776c
--- /dev/null
+++ b/community/pork/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91705 2013-05-26 09:26:27Z bluewind $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=pork
+pkgver=0.99.8.1
+pkgrel=7
+pkgdesc="Console-based AOL Instant Messenger & IRC client"
+arch=('i686' 'x86_64')
+url="http://dev.ojnk.net/"
+license=('GPL')
+depends=('ncurses' 'perl')
+source=(http://downloads.sourceforge.net/sourceforge/ojnk/$pkgname-$pkgver.tar.gz)
+sha256sums=('f0d4cad21017fd75b3c200342c54dd56d9ff7bc38d1e9b3c8ba686ba53d585ed')
+
+build() {
+ cd $pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/portaudio/PKGBUILD b/community/portaudio/PKGBUILD
new file mode 100644
index 000000000..6c726e662
--- /dev/null
+++ b/community/portaudio/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 66382 2012-02-24 12:03:33Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+# Contributor: Bob Finch <w9ya@qrparci.net>
+
+pkgname=portaudio
+pkgver=19_20111121
+pkgrel=1
+pkgdesc='A free, cross-platform, open source, audio I/O library.'
+arch=('i686' 'x86_64')
+url='http://www.portaudio.com/'
+license=('custom')
+depends=('jack')
+options=('!libtool')
+source=("http://www.portaudio.com/archives/pa_stable_v$pkgver.tgz")
+md5sums=('25c85c1cc5e9e657486cbc299c6c035a')
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm0644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
+}
diff --git a/community/portaudio_cpp/PKGBUILD b/community/portaudio_cpp/PKGBUILD
new file mode 100644
index 000000000..be0d476ec
--- /dev/null
+++ b/community/portaudio_cpp/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 69618 2012-04-20 13:57:47Z lfleischer $
+# Maintainer: Bob Finch <w9ya@qrparci.net>
+
+pkgname=portaudio_cpp
+pkgver=19_20111121
+pkgrel=1
+pkgdesc='PortAudio C++ bindings'
+arch=('i686' 'x86_64')
+url='http://www.portaudio.com/'
+license=('custom')
+depends=("portaudio=${pkgver}" 'gcc-libs')
+options=('!libtool')
+source=("http://www.portaudio.com/archives/pa_stable_v$pkgver.tgz")
+md5sums=('25c85c1cc5e9e657486cbc299c6c035a')
+
+build() {
+ cd "$srcdir/portaudio"
+
+ ./configure --prefix=/usr --enable-cxx
+ make
+}
+
+package() {
+ cd "$srcdir/portaudio/bindings/cpp"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm0644 ../../LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
+}
diff --git a/community/postgis/PKGBUILD b/community/postgis/PKGBUILD
new file mode 100644
index 000000000..192425090
--- /dev/null
+++ b/community/postgis/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92821 2013-06-15 13:40:37Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=postgis
+pkgver=2.0.3
+pkgrel=1
+pkgdesc="Adds support for geographic objects to PostgreSQL"
+arch=('i686' 'x86_64')
+url="http://postgis.net/"
+license=('GPL')
+depends=('postgresql>=9.2' 'postgresql<9.3' 'proj' 'geos' 'gdal' 'json-c' 'libxml2')
+changelog=$pkgname.changelog
+options=('!libtool')
+source=(http://download.osgeo.org/postgis/source/${pkgname}-${pkgver}.tar.gz)
+sha256sums=('7f865a6fdf19afed7d2f3e7178cd504f7254a9e96f2ce6a07d0ea19edc1668a0')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+
+ # Build utils (FS#25836)
+ cd utils
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ cd utils
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/postgis/postgis.changelog b/community/postgis/postgis.changelog
new file mode 100644
index 000000000..1e53db33a
--- /dev/null
+++ b/community/postgis/postgis.changelog
@@ -0,0 +1,25 @@
+2013-06-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * postgis-2.0.3-1
+
+2013-01-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * postgis-2.0.2-1
+
+2012-09-24 Dan McGee <dan@archlinux.org>
+ * Rebuild for PostgreSQL 9.2.x
+ * Update to minor release 2.0.1
+
+2012-05-31 Andrea Scarpino <andrea@archlinux.org>
+ * Add JSON-C support
+ * Build utils (FS#25836)
+
+2012-05-31 Andrea Scarpino <andrea@archlinux.org>
+ * Update to major release 2.0.0-1
+
+2011-10-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#26159 fix in postgis-1.5.3-2
+
+2010-10-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.5.2
+
+2010-03-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.5.1
diff --git a/community/pound/ChangeLog b/community/pound/ChangeLog
new file mode 100644
index 000000000..1a9677113
--- /dev/null
+++ b/community/pound/ChangeLog
@@ -0,0 +1,22 @@
+
+2009-03-22 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.4.4
+ * Fixed an issue with the rc.d pound script
+
+2008-06-22 Mateusz Herych <heniekk@gmail.com>
+
+ * Adding for x86_64 community - 2.4.3
+
+2008-06-22 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Adding for i686 community - 2.4.3
+
+2008-05-22 Mateusz Herych <heniekk@gmail.com>
+
+ * Adding to community for x86_64
+
+2008-05-21 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Adding to community for i686
+
diff --git a/community/pound/PKGBUILD b/community/pound/PKGBUILD
new file mode 100644
index 000000000..2f66f0892
--- /dev/null
+++ b/community/pound/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 91955 2013-05-30 09:43:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+
+pkgname=pound
+pkgver=2.6
+pkgrel=6
+pkgdesc="A reverse proxy, load balancer, and SSL wrapper"
+arch=('i686' 'x86_64')
+url="http://www.apsis.ch/pound/index_html"
+license=('GPL')
+depends=('pcre' 'openssl')
+backup=(etc/pound/pound.cfg)
+source=(http://www.apsis.ch/pound/Pound-$pkgver.tgz
+ pound.runit
+ pound.service
+ pound.cfg)
+md5sums=('8c913b527332694943c4c67c8f152071'
+ '2a555ee5871a849cb1f6e6ba2ff054df'
+ 'c0d0726a96dfda0e83843362e401b3dc'
+ '8937808acd22c6391ebe4340af8df854')
+
+build() {
+ cd $srcdir/Pound-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc/pound --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/Pound-$pkgver
+ install -d $pkgdir/usr/sbin
+ make DESTDIR=$pkgdir install
+ chown root.root -R $pkgdir/usr
+ install -d $pkgdir/etc/sv
+ install -d $pkgdir/etc/sv/pound
+ install -m0755 $srcdir/pound.runit $pkgdir/etc/sv/pound/run
+ install -D -m0644 $srcdir/pound.cfg $pkgdir/etc/pound/pound.cfg
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ rmdir $pkgdir/usr/sbin
+}
diff --git a/community/pound/pound.cfg b/community/pound/pound.cfg
new file mode 100644
index 000000000..fda8a07f4
--- /dev/null
+++ b/community/pound/pound.cfg
@@ -0,0 +1,85 @@
+###############################################################################
+## Pound configration file
+###############################################################################
+##
+##
+## GLOBAL SETTINGS
+##
+## Specify the user and group Pound will run as.
+#User "http"
+#Group "http"
+##
+## Specify the directory that Pound will chroot to at runtime.
+#RootJail "/"
+##
+## Have Pound run in the foreground (if 0) or as a daemon (if 1).
+#Daemon 1
+##
+## Specify the log facility to use.
+#LogFacility daemon
+##
+## Specify the logging level.
+#LogLevel 1
+##
+## Ignore case when matching URLs.
+#IgnoreCase 0
+##
+## Enable or disable the dynamic rescaling code.
+#DynScale 0
+##
+## Specify how often Pound will check for resurected back-end hosts.
+#Alive 30
+##
+## Specify for how long Pound will wait for a client request.
+#Client 10
+##
+## How long should Pound wait for a response from the back-end.
+#TimeOut 15
+##
+## How long should Pound wait for a connection to the back-end.
+#ConnTO 15
+##
+## How long should Pound continue to answer interrupted connections.
+#Grace 30
+##
+## Use an OpenSSL hardware acceleration card.
+#SSLEngine "name"
+##
+## Set the control socket path.
+#Control "/tmp/poundctl.socket"
+##
+##
+## LISTENERS
+##
+## Configure services and backends for the HTTP reverse proxy.
+#ListenHTTP
+# Address 10.0.0.1
+# Port 80
+# Service
+# BackEnd
+# Address 127.0.0.1
+# Port 8080
+# End
+# BackEnd
+# Address 127.0.0.1
+# Port 8081
+# End
+# End
+#End
+##
+## Configure services and backends for the HTTPS reverse proxy.
+#ListenHTTPS
+# Address 10.0.0.1
+# Port 443
+# Cert "/etc/ssl/certs/pound.pem"
+# Service
+# BackEnd
+# Address 127.0.0.1
+# Port 8080
+# End
+# BackEnd
+# Address 127.0.0.1
+# Port 8081
+# End
+# End
+#End
diff --git a/community/pound/pound.runit b/community/pound/pound.runit
new file mode 100644
index 000000000..ae904583c
--- /dev/null
+++ b/community/pound/pound.runit
@@ -0,0 +1,23 @@
+#!/bin/sh
+exec 2>&1
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+BIN=/usr/bin/pound
+OPTS="-f /etc/pound/pound.cfg -p /var/run/pound.pid"
+SVC=pound
+
+PID=`pidof $BIN`
+if [ -z "$PID" ]
+then
+ if [ -f /var/run/$SVC.pid ]
+ then
+ rm /var/run/$SVC.pid
+ rm_daemon $SVC
+ fi
+ echo "Starting $SVC daemon"
+ $BIN $OPTS
+else
+ [ -z $PID ] || exec watchpid $PID
+fi
diff --git a/community/pound/pound.service b/community/pound/pound.service
new file mode 100644
index 000000000..5ec089c9a
--- /dev/null
+++ b/community/pound/pound.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=A reverse proxy, load balancer, and SSL wrapper
+
+[Service]
+Type=forking
+PIDFile=/run/pound.pid
+ExecStart=/usr/bin/pound -f /etc/pound/pound.cfg -p /run/pound.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/powertop/PKGBUILD b/community/powertop/PKGBUILD
new file mode 100644
index 000000000..6285290c5
--- /dev/null
+++ b/community/powertop/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 91995 2013-05-30 21:12:52Z lcarlier $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: Xilon <xilonmu@gmail.com>
+
+pkgname=powertop
+pkgver=2.3
+pkgrel=2
+pkgdesc='A tool to diagnose issues with power consumption and power management'
+arch=('i686' 'x86_64')
+url='https://01.org/powertop/'
+license=('GPL2')
+depends=('gcc-libs' 'libnl' 'ncurses' 'pciutils')
+changelog=$pkgname.changelog
+source=(https://01.org/powertop/sites/default/files/downloads/$pkgname-$pkgver.tar.gz)
+sha256sums=('b8c1add69afee28c77dca56fdcedb4a46820f3a71c86aae7891b0c5c595cd744')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/powertop/powertop.changelog b/community/powertop/powertop.changelog
new file mode 100644
index 000000000..1abb36737
--- /dev/null
+++ b/community/powertop/powertop.changelog
@@ -0,0 +1,14 @@
+2013-03-23 Evangelos Foutras <evangelos@foutrelis.com>
+ * powertop 2.3-1
+
+2013-01-05 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * powertop 2.2-1
+
+2012-10-28 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * powertop 2.1.1-1
+
+2012-08-22 Sébastien Luttringer (seblu) <seblu@aur.archlinux.org>
+ * powertop 2.1-1
+
+2012-05-12 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org>
+ * powertop 2.0-1
diff --git a/community/pppd-ldap-simple/PKGBUILD b/community/pppd-ldap-simple/PKGBUILD
new file mode 100644
index 000000000..8475f5810
--- /dev/null
+++ b/community/pppd-ldap-simple/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 66158 2012-02-23 02:19:12Z spupykin $
+
+pkgname=pppd-ldap-simple
+pkgver=0.12b
+pkgrel=6
+pkgdesc="pppd ldap simple plugin (based on pppd ldap, without radius, etc. Just search by uid and userPassword)"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/pppd-ldap/"
+license=('GPL')
+source=(http://archlinux-stuff.googlecode.com/files/pppd_ldap-simple-$pkgver.tar.gz)
+md5sums=('e47b7fb5119a1024e188ec22351672cd')
+
+build() {
+ _pppdver=`pacman -Q ppp | cut -d\ -f 2 | cut -f 1 -d -`
+ depends=("ppp=${_pppdver}" 'libldap>=2.4.18')
+
+ cd "$srcdir/pppd_ldap-simple-$pkgver"
+ make CFLAGS="-I/usr/include/pppd -fPIC"
+ install -D -m0755 pppd_ldap.so $pkgdir/usr/lib/pppd/${_pppdver}/pppd_ldap_simple.so
+}
diff --git a/community/pppd-ldap/PKGBUILD b/community/pppd-ldap/PKGBUILD
new file mode 100644
index 000000000..86e7ebea7
--- /dev/null
+++ b/community/pppd-ldap/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 55777 2011-09-20 06:52:16Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=pppd-ldap
+pkgver=0.12b
+pkgrel=3
+pkgdesc="A plugin for PPPD which performs an LDAP-enabled version of pppd"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/pppd-ldap/"
+license=('GPL')
+depends=('ppp' 'libldap')
+options=('docs')
+source=("http://downloads.sourceforge.net/${pkgname}/pppd_ldap-$pkgver.tgz")
+md5sums=('4d13596297c2728f3cfe0a097c97d8fc')
+
+build() {
+ cd "$srcdir/pppd_ldap-$pkgver"
+
+patch -p1 main.c <<EOF
+diff pppd_ldap-0.12b/main.c pppd_ldap-0.12b.my/main.c
+56a57,58
+> #define LDAP_FILT_MAXSIZ 1024
+>
+EOF
+
+patch -p1 utmplib.c <<EOF
+diff pppd_ldap-0.12b/utmplib.c pppd_ldap-0.12b.my/utmplib.c
+157c157
+< (char*) buf += rc;
+---
+> buf = (char*)buf + rc;
+EOF
+
+ make CFLAGS="-I/usr/include/pppd -fPIC"
+}
+
+package() {
+ cd "$srcdir/pppd_ldap-$pkgver"
+ install -D -m0755 pppd_ldap.so $pkgdir/usr/lib/pppd/2.4.4/pppd_ldap.so
+ install -D -m0755 README $pkgdir/usr/share/doc/pppd-ldap/README
+}
diff --git a/community/pptpd/ChangeLog b/community/pptpd/ChangeLog
new file mode 100644
index 000000000..53b159c09
--- /dev/null
+++ b/community/pptpd/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-29 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+* Added autoreconf to help with proper installation of libs
diff --git a/community/pptpd/PKGBUILD b/community/pptpd/PKGBUILD
new file mode 100644
index 000000000..8a3a1bd05
--- /dev/null
+++ b/community/pptpd/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 91528 2013-05-23 11:16:52Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=pptpd
+pkgver=1.3.4
+pkgrel=13
+pkgdesc="Poptop server"
+arch=(i686 x86_64)
+url="http://poptop.sourceforge.net/"
+license=('GPL')
+depends=(ppp glibc)
+backup=(etc/pptpd.conf)
+source=(http://downloads.sourceforge.net/sourceforge/poptop/pptpd-$pkgver.tar.gz
+ pptpd.service
+ unrecognized-opt.patch)
+md5sums=('b38df9c431041922c997c1148bedf591'
+ 'f17df2a137282adbd04c75dd25784a9c'
+ 'cfa02c86d0413eb94fac15599986f54c')
+
+build() {
+ local _pppver=`pacman -Q ppp`
+ _pppver=${_pppver%-*}
+ _pppver=${_pppver#ppp }
+
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 <$srcdir/unrecognized-opt.patch
+ sed -i 's|AM_CONFIG_HEADER|AC_CONFIG_HEADER|g' configure.in
+ autoreconf -i
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib \
+ --sbindir=/usr/bin \
+ --exec-prefix=/usr \
+ --mandir=/usr/share/man
+ sed -i "s|#define VERSION.*|#define VERSION \"${_pppver}\"|" plugins/patchlevel.h
+ make
+ sed -i 's|install -o root|install|g' plugins/Makefile
+ sed -i 's|?=|=|g' plugins/Makefile
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ mkdir -p $pkgdir/etc/
+ echo -e "# Read man pptpd.conf, see samples in /usr/share/doc/pptpd\n# and write your pptpd configuration here" >$pkgdir/etc/pptpd.conf
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ mkdir -p $pkgdir/usr/share/doc/pptpd
+ cp -a samples $pkgdir/usr/share/doc/pptpd/
+}
diff --git a/community/pptpd/pptpd.service b/community/pptpd/pptpd.service
new file mode 100644
index 000000000..c907c0b9f
--- /dev/null
+++ b/community/pptpd/pptpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=PPTP Server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/pptpd -c /etc/pptpd.conf -p /var/run/pptpd.pid -f
+StandardOutput=null
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/pptpd/unrecognized-opt.patch b/community/pptpd/unrecognized-opt.patch
new file mode 100644
index 000000000..17ec49e52
--- /dev/null
+++ b/community/pptpd/unrecognized-opt.patch
@@ -0,0 +1,13 @@
+diff -wbBur pptpd-1.3.4/pptpctrl.c pptpd-1.3.4.my/pptpctrl.c
+--- pptpd-1.3.4/pptpctrl.c 2006-12-08 03:01:40.000000000 +0300
++++ pptpd-1.3.4.my/pptpctrl.c 2012-05-09 21:13:30.000000000 +0400
+@@ -759,8 +759,8 @@
+ syslog(LOG_DEBUG, "CTRL (PPPD Launcher): remote address = %s", pppaddrs[1]);
+ }
+
+- if (*pppaddrs[0] || *pppaddrs[1]) {
+ char pppInterfaceIPs[33];
++ if (*pppaddrs[0] || *pppaddrs[1]) {
+ sprintf(pppInterfaceIPs, "%s:%s", pppaddrs[0], pppaddrs[1]);
+ pppd_argv[an++] = pppInterfaceIPs;
+ }
diff --git a/community/pragha/PKGBUILD b/community/pragha/PKGBUILD
new file mode 100644
index 000000000..2687a2786
--- /dev/null
+++ b/community/pragha/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 92211 2013-06-02 19:15:02Z bpiotrowski $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Alois Nespor <alois.nespor@gmail.com>
+# Contributor: JerichoKru <jerichokru(AT)htomail.com>
+
+pkgname=pragha
+pkgver=1.1.2
+pkgrel=1
+pkgdesc="A lightweight GTK+ music manager - fork of Consonance Music Manager."
+arch=('i686' 'x86_64')
+url="http://pragha.wikispaces.com/"
+license=('GPL3')
+depends=('libnotify' 'libcdio-paranoia' 'gstreamer0.10-base'
+ 'taglib' 'hicolor-icon-theme' 'gtk2'
+ 'dbus-glib' 'sqlite' 'desktop-file-utils'
+ 'libclastfm')
+optdepends=('notification-daemon: OSD notification')
+makedepends=('intltool')
+replaces=('dissonance')
+install=pragha.install
+source=("http://dissonance.googlecode.com/files/pragha-$pkgver.tar.bz2"
+ cdio-includes.patch)
+sha1sums=('3e6456275a216110bd6942b2dc19b1120f4d14e5'
+ '83b366be516b4c09dbccbb25b473f2de545bdbe8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np1 -i "$srcdir/cdio-includes.patch"
+
+ LIBS+="-ldbus-glib-1" ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+
+ install -m 644 "data/$pkgname.desktop" "$pkgdir/usr/share/applications"
+ install -d "$pkgdir/usr/share/pixmaps"
+ install -m 644 "data/$pkgname.png" "$pkgdir/usr/share/pixmaps/"
+ install -m 644 "data/$pkgname.1" "$pkgdir/usr/share/man/man1/"
+
+}
+
+# vim:ts=2:sw=2:expandtab
+
diff --git a/community/pragha/cdio-includes.patch b/community/pragha/cdio-includes.patch
new file mode 100644
index 000000000..707734ad0
--- /dev/null
+++ b/community/pragha/cdio-includes.patch
@@ -0,0 +1,11 @@
+--- a/src/cdda.h.orig 2013-02-16 23:13:47.000000000 +0100
++++ b/src/cdda.h 2013-06-02 21:07:50.473864563 +0200
+@@ -24,7 +24,7 @@
+ #ifdef HAVE_PARANOIA_NEW_INCLUDES
+ #include <cdio/paranoia/cdda.h>
+ #else
+- #include <cdio/cdda.h>
++ #include <cdio/paranoia/cdda.h>
+ #ifdef __CDIO_CONFIG_H__
+ #include <cdio/cdio_unconfig.h>
+ #endif
diff --git a/community/pragha/pragha.install b/community/pragha/pragha.install
new file mode 100644
index 000000000..ff5a644bd
--- /dev/null
+++ b/community/pragha/pragha.install
@@ -0,0 +1,10 @@
+post_install() {
+ gtk-update-icon-cache -q -f -t usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -f -t usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
diff --git a/community/prelink/PKGBUILD b/community/prelink/PKGBUILD
new file mode 100644
index 000000000..8c67cdabc
--- /dev/null
+++ b/community/prelink/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90944 2013-05-16 03:44:23Z eric $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Rouslan Solomakhin <rouslan@localnet.com>
+
+pkgname=prelink
+pkgver=20111012
+pkgrel=2
+pkgdesc='ELF prelinking utility to speed up dynamic linking.'
+arch=('i686' 'x86_64')
+url='http://people.redhat.com/jakub/prelink/'
+license=('GPL')
+depends=('elfutils')
+backup=('etc/prelink.conf')
+source=("http://people.redhat.com/jakub/prelink/${pkgname}-${pkgver}.tar.bz2"
+ 'prelink.conf'
+ 'arch-x86_64-dynamic_linker.patch')
+md5sums=('f5aaf347432d677c293e5e3399ba4fdf'
+ '0793ed49e9b31c125cba4d936c333cf6'
+ 'b347580536e078b34c547742d36a3e9d')
+
+prepare() {
+ cd ${pkgname}
+ patch -Np0 -i ../arch-x86_64-dynamic_linker.patch
+}
+
+build() {
+ cd ${pkgname}
+ ./configure --prefix=/usr --mandir=/usr/share/man --sbin=/usr/bin
+ make
+}
+
+package() {
+ cd ${pkgname}
+ make DESTDIR="${pkgdir}" install
+ install -Dm0644 "${srcdir}/prelink.conf" "${pkgdir}/etc/prelink.conf"
+}
diff --git a/community/prelink/arch-x86_64-dynamic_linker.patch b/community/prelink/arch-x86_64-dynamic_linker.patch
new file mode 100644
index 000000000..bceb9b2dc
--- /dev/null
+++ b/community/prelink/arch-x86_64-dynamic_linker.patch
@@ -0,0 +1,12 @@
+diff -rup ../prelink.orig/src/arch-x86_64.c ./src/arch-x86_64.c
+--- ../prelink.orig/src/arch-x86_64.c 2010-12-22 12:03:06.725004002 +0100
++++ ./src/arch-x86_64.c 2010-12-22 12:04:08.193712039 +0100
+@@ -532,7 +532,7 @@ PL_ARCH = {
+ .R_COPY = R_X86_64_COPY,
+ .R_RELATIVE = R_X86_64_RELATIVE,
+ .rtype_class_valid = RTYPE_CLASS_VALID,
+- .dynamic_linker = "/lib64/ld-linux-x86-64.so.2",
++ .dynamic_linker = "/lib/ld-linux-x86-64.so.2",
+ .adjust_dyn = x86_64_adjust_dyn,
+ .adjust_rel = x86_64_adjust_rel,
+ .adjust_rela = x86_64_adjust_rela,
diff --git a/community/prelink/prelink.conf b/community/prelink/prelink.conf
new file mode 100644
index 000000000..a242269ad
--- /dev/null
+++ b/community/prelink/prelink.conf
@@ -0,0 +1,24 @@
+# System
+/usr/lib
+/usr/bin
+/lib
+/bin
+/usr/sbin
+
+# Gnome
+/opt/gnome/lib
+/opt/gnome/bin
+/opt/gnome/share
+
+# KDE/Qt
+/opt/qt/lib
+/opt/qt/bin
+/opt/qt/share
+/opt/kde/lib
+/opt/kde/bin
+/opt/kde/share
+
+# XFCE
+/opt/xfce4/lib
+/opt/xfce4/bin
+/opt/xfce4/share
diff --git a/community/premake/PKGBUILD b/community/premake/PKGBUILD
new file mode 100644
index 000000000..20b85f40e
--- /dev/null
+++ b/community/premake/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 64914 2012-02-18 20:33:48Z lfleischer $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: revel <revelΘmuub·net>
+# Contributor: Marcos J. S. Magalhaes <mjsmagalhaes ^dot^ insc _at_ gmail ~dot~ com>
+
+pkgname=premake
+pkgver=4.3
+pkgrel=3
+pkgdesc="A simple build configuration and project generation tool using lua"
+arch=('i686' 'x86_64')
+url="http://industriousone.com/premake"
+license=('BSD')
+provides=("premake4")
+source=("http://downloads.sourceforge.net/project/premake/Premake/$pkgver/premake-$pkgver-src.zip")
+md5sums=('8cfafee76f9665c93b2e9ad15b015eb7')
+
+build() {
+ cd "$srcdir/premake-$pkgver/build/gmake.unix"
+
+ make
+}
+
+package() {
+ install -Dm755 "$srcdir/premake-$pkgver/bin/release/premake4" "${pkgdir}/usr/bin/premake4"
+}
diff --git a/community/premake3/PKGBUILD b/community/premake3/PKGBUILD
new file mode 100644
index 000000000..12820716c
--- /dev/null
+++ b/community/premake3/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 64785 2012-02-18 04:46:23Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Anders Bergh <anders1@gmail.com>
+# Contributor: Mildred <silkensedai@online.fr>
+# Contributor: Daniel J Griffiths <griffithsdj@archlinux.us>
+
+pkgname=premake3
+pkgver=3.7
+pkgrel=2
+pkgdesc="A simple build configuration and project generation tool using lua"
+arch=('i686' 'x86_64')
+url="http://premake.sourceforge.net"
+license=('GPL')
+makedepends=()
+source=("http://downloads.sourceforge.net/sourceforge/premake/premake-src-${pkgver}.zip")
+md5sums=('8d30dc5bbc52aad81abb1509c1dd7d8f')
+
+build() {
+ cd ${srcdir}/Premake-${pkgver}
+
+ make
+}
+
+package() {
+ cd ${srcdir}/Premake-${pkgver}
+
+ install -Dm755 bin/premake ${pkgdir}/usr/bin/premake
+}
diff --git a/community/primus/PKGBUILD b/community/primus/PKGBUILD
new file mode 100644
index 000000000..8abcacf90
--- /dev/null
+++ b/community/primus/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Alexander Monakov <amonakov@gmail.com>
+
+pkgname=primus
+pkgver=20130425
+pkgrel=1
+pkgdesc="Faster OpenGL offloading for Bumblebee"
+arch=('i686' 'x86_64')
+url="https://github.com/amonakov/primus"
+license=('custom:ISC')
+depends=('bumblebee')
+makedepends=('git')
+source=("git://github.com/amonakov/primus.git#commit=31ca47e644")
+sha1sums=('SKIP')
+
+build() {
+ cd primus
+
+ make
+}
+
+package() {
+ cd primus
+
+ install -D "lib/libGL.so.1" "$pkgdir/usr/lib/primus/libGL.so.1"
+ sed -e "s#^PRIMUS_libGL=.*#PRIMUS_libGL='/usr/\$LIB/primus'#" primusrun > primusrun.dist
+ install -D "primusrun.dist" "$pkgdir/usr/bin/primusrun"
+
+ install -D "primus.bash-completion" "$pkgdir/etc/bash_completion.d/primusrun"
+
+ gzip -9 "primusrun.1"
+ install -D "primusrun.1.gz" "$pkgdir/usr/share/man/man1/primusrun.1.gz"
+
+ install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/privoxy/PKGBUILD b/community/privoxy/PKGBUILD
new file mode 100644
index 000000000..a016a0e67
--- /dev/null
+++ b/community/privoxy/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 92055 2013-05-31 01:13:33Z seblu $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Juergen Hoetzel <juergen@hoetzel.info>
+# Contributor: basilburn (basilburn), Paul Bredbury (brebs)
+
+pkgname=privoxy
+pkgver=3.0.21
+pkgrel=1
+pkgdesc='A web proxy with advanced filtering capabilities.'
+arch=('i686' 'x86_64')
+url='http://www.privoxy.org'
+license=('GPL')
+depends=('pcre' 'zlib')
+makedepends=('autoconf')
+backup=('etc/privoxy/'{config,trust,default.action,user.filter,default.filter}
+ 'etc/privoxy/'{match-all,user}.action
+ 'etc/logrotate.d/privoxy')
+install='privoxy.install'
+source=("http://downloads.sourceforge.net/ijbswa/${pkgname}-${pkgver}-stable-src.tar.gz"
+ 'privoxy.logrotate.d'
+ 'privoxy.service')
+md5sums=('79558f2545cfcf9731f7de611646d837'
+ 'fc3046377137003726a151ee27b142a2'
+ '358e614190247fc1671bbcadddf500db')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}-stable"
+
+ autoheader
+ autoconf
+ ./configure --prefix=/usr --sysconfdir=/etc/privoxy --enable-compression
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}-stable"
+
+ make prefix="${pkgdir}/usr" SBIN_DEST="${pkgdir}/usr/bin" \
+ MAN_DEST="${pkgdir}/usr/share/man/man1" GROUP=42 \
+ CONF_BASE="${pkgdir}/etc/privoxy" VAR_DEST="${pkgdir}/var" install
+
+ # Don't overwrite existing log files!
+ rm "${pkgdir}/var/log/privoxy/"*
+
+ install -Dm0644 "${srcdir}/privoxy.logrotate.d" "${pkgdir}/etc/logrotate.d/privoxy"
+
+ # Fix config paths.
+ sed -i -e 's#^confdir.*$#confdir /etc/privoxy#' -e 's#^logdir.*$#logdir /var/log/privoxy#' \
+ -e '/^user-manual/s#.*#\#user-manual /usr/share/doc/privoxy/user-manual/#' \
+ "${pkgdir}/etc/privoxy/config"
+
+ # Fix group ownership and permissions.
+ chgrp -R 42 "${pkgdir}/etc/privoxy/"
+ chgrp -R 42 "${pkgdir}/var/log/privoxy/"
+
+ find "${pkgdir}/etc/privoxy/" -type d | xargs chmod 0770
+ find "${pkgdir}/etc/privoxy/" -type f | xargs chmod 0660
+ chmod 0700 "${pkgdir}/var/log/privoxy"
+
+ # avoid conflict with filesystem>=2012.06
+ rmdir "$pkgdir/var/run"
+
+ # systemd unit file
+ install -Dm0644 "${srcdir}/privoxy.service" "${pkgdir}/usr/lib/systemd/system/privoxy.service"
+}
diff --git a/community/privoxy/privoxy.install b/community/privoxy/privoxy.install
new file mode 100644
index 000000000..c3ed75111
--- /dev/null
+++ b/community/privoxy/privoxy.install
@@ -0,0 +1,19 @@
+post_install() {
+ groupadd -g 42 privoxy &>/dev/null
+ useradd -u 42 -g privoxy -d /var/spool/privoxy -s /bin/false privoxy &>/dev/null
+ chown -R privoxy:privoxy /etc/privoxy /var/log/privoxy
+
+ if [ ! -d /var/spool/privoxy ]; then
+ install -dm0770 -o privoxy -g privoxy /var/spool/privoxy
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ userdel privoxy &>/dev/null
+ groupdel privoxy &>/dev/null
+ rm -rf var/spool/privoxy
+}
diff --git a/community/privoxy/privoxy.logrotate.d b/community/privoxy/privoxy.logrotate.d
new file mode 100644
index 000000000..8c3129024
--- /dev/null
+++ b/community/privoxy/privoxy.logrotate.d
@@ -0,0 +1,8 @@
+/var/log/privoxy/logfile {
+ create 660 root privoxy
+ notifempty
+ compress
+ postrotate
+ /bin/kill -HUP `cat /var/run/privoxy.pid 2>/dev/null` 2> /dev/null || true
+ endscript
+}
diff --git a/community/privoxy/privoxy.service b/community/privoxy/privoxy.service
new file mode 100644
index 000000000..e8b04447b
--- /dev/null
+++ b/community/privoxy/privoxy.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Privoxy Web Proxy With Advanced Filtering Capabilities
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/privoxy.pid
+ExecStart=/usr/bin/privoxy --pidfile /run/privoxy.pid --user privoxy.privoxy /etc/privoxy/config
+SuccessExitStatus=15
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/processing/PKGBUILD b/community/processing/PKGBUILD
new file mode 100644
index 000000000..7950df9c0
--- /dev/null
+++ b/community/processing/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 93145 2013-06-25 20:18:20Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=processing
+pkgver=2.0.1
+pkgrel=1
+arch=('x86_64' 'i686')
+pkgdesc='Programming language and environment for creating images, animations and interactions'
+url='http://www.processing.org/'
+license=('GPL' 'LGPL')
+depends=('libgl' 'sh' 'libxxf86vm')
+makedepends=('gendesk')
+options=(!strip)
+
+#if [ "$CARCH" == "x86_64" ]; then
+ source=("http://download.$pkgname.org/$pkgname-$pkgver-linux64.tgz"
+ "$pkgname.png::http://wiki.$pkgname.org/skins/${pkgname}skin/${pkgname}_wiki_logo.png")
+ sha256sums=('cd1c723e3521b679b8e36d4f04718adcf515d759cb69fc9dfe9020e1a1b2ad1b'
+ '019ae700333409acbc628779747ab8f153f6647de25e4de3a9bd4a42d0d8056a')
+#else
+# source=("http://download.$pkgname.org/$pkgname-$pkgver-linux32.tgz"
+# "$pkgname.png::http://wiki.$pkgname.org/skins/${pkgname}skin/${pkgname}_wiki_logo.png")
+# sha256sums=('99c3e49d235a70c59da3f032c59ca5271177b076aa8f2bff1735a14b7c4adfec'
+# '019ae700333409acbc628779747ab8f153f6647de25e4de3a9bd4a42d0d8056a')
+#fi
+
+prepare() {
+ cd "$srcdir"
+
+ gendesk --pkgname="$pkgname" --pkgdesc="$pkgdesc"
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -d "$pkgdir/usr/share/$pkgname/" "$pkgdir/usr/bin/"
+ cp -r * "$pkgdir/usr/share/$pkgname/"
+ ln -s "/usr/share/$pkgname/$pkgname" "$pkgdir/usr/bin/$pkgname"
+ ln -s "/usr/share/$pkgname/$pkgname-java" "$pkgdir/usr/bin/$pkgname-java"
+ install -Dm644 "$srcdir/$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+ install -Dm644 "$srcdir/$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/procstatd/PKGBUILD b/community/procstatd/PKGBUILD
new file mode 100644
index 000000000..d72ce0b15
--- /dev/null
+++ b/community/procstatd/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 91870 2013-05-28 17:44:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Maintainer: Jason Chu <jason@archlinux.org>
+
+pkgname=procstatd
+pkgver=1.4.2
+pkgrel=8
+pkgdesc="A daemon that can be run either from userspace or inetd that can be queried via a simple API to parse various files in /proc"
+arch=('i686 x86_64')
+license=('GPL')
+source=(http://downloads.sourceforge.net/herdtools/$pkgname.tar.gz)
+md5sums=('1fdeaf05ca6337f5c02e76a76c53c407')
+url="http://www.phy.duke.edu/brahma/"
+md5sums=('1fdeaf05ca6337f5c02e76a76c53c407')
+
+build() {
+ cd $srcdir/$pkgname
+ # Get rid of the funky make install forever bug
+ sed -i 's/make install/echo/;s/cd watchman/echo/;s@$(INSTDIR)/sbin@$(INSTDIR)/bin@' Makefile
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname
+ make INSTDIR=$pkgdir/usr install
+ mkdir ${pkgdir}/usr/share
+ mv ${pkgdir}/usr/man ${pkgdir}/usr/share/man
+}
diff --git a/community/proj/PKGBUILD b/community/proj/PKGBUILD
new file mode 100644
index 000000000..7c58b556b
--- /dev/null
+++ b/community/proj/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 84824 2013-02-24 20:23:27Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=proj
+pkgver=4.8.0
+pkgrel=2
+pkgdesc='Cartographic Projections library.'
+arch=('i686' 'x86_64')
+url="http://trac.osgeo.org/proj/"
+license=('MIT')
+options=('!libtool')
+changelog=$pkgname.changelog
+source=("http://download.osgeo.org/proj/$pkgname-$pkgver.tar.gz"
+ "http://download.osgeo.org/proj/$pkgname-datumgrid-1.5.zip"
+ "chenyx06a.zip::http://www.swisstopo.admin.ch/internet/swisstopo/en/home/products/software/software.parsys.7090.downloadList.55545.DownloadFile.tmp/chenyx06ntv2.zip")
+sha256sums=('2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5'
+ '723c4017d95d7a8abdf3bda4e18d3c15d79b00f9326d453da5fdf13f96c287db'
+ 'f61290a32815622bfe182af475c76b0b4c282de66121fdddce2f6201e8bca2e0')
+
+build() {
+ bsdtar -xzvf "${srcdir}/${pkgname}-datumgrid-1.5.zip" -C "${srcdir}/proj-${pkgver}/nad"
+ bsdtar -xzvf "${srcdir}/chenyx06a.zip" -C "${srcdir}/proj-${pkgver}/nad" CHENYX06a.gsb
+
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+
+ install -D COPYING ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/proj/proj.changelog b/community/proj/proj.changelog
new file mode 100644
index 000000000..24041ea60
--- /dev/null
+++ b/community/proj/proj.changelog
@@ -0,0 +1,11 @@
+2013-02-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * proj 4.8.0-2 chenyx06a.zip file location fix
+
+2012-05-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * proj 4.8.0-1
+
+2012-03-11 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * proj 4.7.0-2 adopted, package signed, FS#27119 fixed
+
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+ * Fixed license dir | license -> licenses
diff --git a/community/projectm/PKGBUILD b/community/projectm/PKGBUILD
new file mode 100644
index 000000000..b1114c451
--- /dev/null
+++ b/community/projectm/PKGBUILD
@@ -0,0 +1,84 @@
+# $Id: PKGBUILD 86488 2013-03-18 11:20:57Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Denis A. Altoe Falqueto <denisfalqueto@gmail.com>
+
+pkgbase=projectm
+pkgname=('projectm' 'projectm-libvisual' 'projectm-pulseaudio' 'projectm-qt' 'projectm-test')
+pkgver=2.1.0
+pkgrel=5
+arch=('x86_64' 'i686')
+url='http://projectm.sourceforge.net/'
+license=('LGPL')
+makedepends=('mesa-libgl' 'qt4' 'cmake' 'ftgl' 'glew' 'gtkglext' 'libvisual' 'sdl' 'libxext' 'pulseaudio')
+source=("http://downloads.sourceforge.net/$pkgname/projectM-complete-$pkgver-Source.tar.gz"
+ 'projectm-test-opengl.patch'
+ 'projectm-install-vera-ttf.patch')
+sha256sums=('513204f033006bd3dcdf8aada196d816d6b7187266ddcbb1594d0285cc9406ee'
+ 'c577d8356be011a3b3ee9f9b389db55f47804d100f690d8ea12f2920cdd432d1'
+ '7d67aad0b210edf25a527274504c9efdf3e9d5b737235b938fec361ac5a8b110')
+_projectmdir="projectM-complete-$pkgver-Source"
+
+build() {
+ cd "$srcdir/projectM-complete-$pkgver-Source"
+ patch -p1 -i "$srcdir/projectm-test-opengl.patch"
+ patch -p1 -i "$srcdir/projectm-install-vera-ttf.patch"
+
+ mkdir -p "$srcdir/build"
+ cd "$srcdir/build"
+
+ cmake \
+ -Wno-dev \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ "../projectM-complete-$pkgver-Source"
+ make
+}
+
+package_projectm() {
+ pkgdesc='Music visualizer which uses 3D accelerated iterative image based rendering'
+ depends=('ftgl' 'glew' 'libgl')
+
+ cd "$srcdir/build"
+
+ for dirs in src/{NativePresets,libprojectM}; do
+ make -C "$dirs" DESTDIR="$pkgdir" install
+ done
+}
+
+package_projectm-libvisual() {
+ pkgdesc='ProjectM plugin for XMMS'
+ depends=('projectm' 'libvisual' 'gcc-libs')
+ replaces=('libvisual-projectm')
+ provides=('libvisual-projectm')
+
+ cd "$srcdir/build/src/projectM-libvisual"
+ make DESTDIR="$pkgdir" install
+}
+
+package_projectm-pulseaudio() {
+ pkgdesc='ProjectM support for Pulseaudio'
+ depends=('projectm-qt' 'pulseaudio')
+
+ cd "$srcdir/build/src/projectM-pulseaudio"
+ make DESTDIR="$pkgdir" install
+}
+
+package_projectm-qt() {
+ pkgdesc='Qt bindings for ProjectM'
+ depends=('projectm' 'qt4' 'libgl')
+
+ cd "$srcdir/build/src/projectM-qt"
+ make DESTDIR="$pkgdir" install
+}
+
+package_projectm-test() {
+ pkgdesc='ProjectM test applications'
+ depends=('projectm' 'sdl' 'libgl')
+
+ cd "$srcdir/build/src/projectM-test"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/projectm/projectm-install-vera-ttf.patch b/community/projectm/projectm-install-vera-ttf.patch
new file mode 100644
index 000000000..ee7a5e943
--- /dev/null
+++ b/community/projectm/projectm-install-vera-ttf.patch
@@ -0,0 +1,12 @@
+diff -rupN projectM-complete-2.1.0-Source.old/src/libprojectM/CMakeLists.txt projectM-complete-2.1.0-Source/src/libprojectM/CMakeLists.txt
+--- projectM-complete-2.1.0-Source.old/src/libprojectM/CMakeLists.txt 2012-06-30 02:21:45.134586637 -0300
++++ projectM-complete-2.1.0-Source/src/libprojectM/CMakeLists.txt 2012-06-30 02:24:58.476872545 -0300
+@@ -224,7 +224,7 @@ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_D
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/config.inp.in" "${CMAKE_CURRENT_BINARY_DIR}/config.inp" @ONLY)
+
+ IF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf")
+- INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/fonts/VeraMono.ttf DESTINATION ${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts)
++ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/fonts/Vera.ttf DESTINATION ${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts)
+ ENDIF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf")
+
+ IF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf")
diff --git a/community/projectm/projectm-test-opengl.patch b/community/projectm/projectm-test-opengl.patch
new file mode 100644
index 000000000..b9211ea0c
--- /dev/null
+++ b/community/projectm/projectm-test-opengl.patch
@@ -0,0 +1,19 @@
+diff -rupN projectM-complete-2.1.0-Source.old/src/projectM-test/CMakeLists.txt projectM-complete-2.1.0-Source/src/projectM-test/CMakeLists.txt
+--- projectM-complete-2.1.0-Source.old/src/projectM-test/CMakeLists.txt 2012-05-20 00:43:26.000000000 -0300
++++ projectM-complete-2.1.0-Source/src/projectM-test/CMakeLists.txt 2012-06-30 01:01:55.947058502 -0300
+@@ -35,11 +35,11 @@ elseif (${CMAKE_PROJECT_NAME} MATCHES ${
+ set(PROJECTM_LINK ${LIBPROJECTM_LDFLAGS})
+ endif (${CMAKE_PROJECT_NAME} MATCHES "projectM-complete")
+
+-INCLUDE_DIRECTORIES(${PROJECTM_INCLUDE} ${SDL_INCLUDE_DIR} ${GTK_INCLUDE_DIR})
++INCLUDE_DIRECTORIES(${PROJECTM_INCLUDE} ${SDL_INCLUDE_DIR} ${GTK_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
+ LINK_DIRECTORIES(${PROJECTM_LINK})
+
+-TARGET_LINK_LIBRARIES(projectM-test projectM ${SDL_LIBRARY})
+-TARGET_LINK_LIBRARIES(projectM-test-memleak projectM ${SDL_LIBRARY} )
+-TARGET_LINK_LIBRARIES(projectM-test-texture projectM ${SDL_LIBRARY} )
++TARGET_LINK_LIBRARIES(projectM-test projectM ${SDL_LIBRARY} ${OPENGL_gl_LIBRARY} )
++TARGET_LINK_LIBRARIES(projectM-test-memleak projectM ${SDL_LIBRARY} ${OPENGL_gl_LIBRARY} )
++TARGET_LINK_LIBRARIES(projectM-test-texture projectM ${SDL_LIBRARY} ${OPENGL_gl_LIBRARY} )
+
+ INSTALL(TARGETS projectM-test projectM-test-texture DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
diff --git a/community/prosody/ChangeLog b/community/prosody/ChangeLog
new file mode 100644
index 000000000..45f3a05fd
--- /dev/null
+++ b/community/prosody/ChangeLog
@@ -0,0 +1,398 @@
+2009-11-23 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.6.0-1 for changeset 6c5b7e66bee4
+ [d573d1d7a403] [tip]
+
+ * .hgtags:
+ Removed tag v0.6.0-1
+ [6c5b7e66bee4] [v0.6.0-1]
+
+ * PKGBUILD:
+ Use correct package name and version
+ [1e65e6a877d3]
+
+ * .hgtags:
+ Added tag v0.6.0-1 for changeset ad52fee15148
+ [8196689dd4c4]
+
+ * PKGBUILD, prosody.cfg.lua:
+ Included mod_compression in example configuration file
+ [ad52fee15148]
+
+ * ChangeLog:
+ Updated ChangeLog
+ [34b6046aca14]
+
+ * PKGBUILD:
+ Updated checksums
+ [3b4c28f28321]
+
+ * PKGBUILD, prosody.cfg.lua:
+ New upstream version
+ [9d201755b63d]
+
+2009-10-22 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.6.0rc1-1 for changeset c0a99ab935a8
+ [a0e2015435b6]
+
+ * ChangeLog, PKGBUILD:
+ New upstream version
+ [c0a99ab935a8] [v0.6.0rc1-1]
+
+ * PKGBUILD:
+ Removed conflicts
+ [0f0560190a81]
+
+ * PKGBUILD:
+ Removed makedepends for gcc, the base-devel group is assumed to
+ exist
+ [4160ed469fa4]
+
+ * PKGBUILD:
+ Fix typo in PKGBUILD
+ [85d988c7e4a5]
+
+2009-09-28 Dwayne Bent <dbb.0@liqd.org>
+
+ * ChangeLog, PKGBUILD:
+ New upstream version
+ [3e4ffcdc887a]
+
+2009-07-29 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.5.1-1 for changeset 1be51884e580
+ [74f32914279c]
+
+ * ChangeLog, PKGBUILD:
+ New upstream version
+ [1be51884e580] [v0.5.1-1]
+
+2009-07-20 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Corrected tag name
+ [d9662df69ab4]
+
+ * .hgtags:
+ Added tag v0.5.0 for changeset d228983b5873
+ [a350368643eb]
+
+ * PKGBUILD:
+ New upstream version
+ [d228983b5873] [v0.5.0-1]
+
+ * ChangeLog:
+ Updated ChangeLog
+ [111cf16bfc8b]
+
+2009-07-14 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.5.0rc2-1 for changeset 701e6c5ed639
+ [828bb0fc4e5e]
+
+ * PKGBUILD:
+ New upstream version
+ [701e6c5ed639] [v0.5.0rc2-1]
+
+ * ChangeLog:
+ Updated ChangeLog
+ [7616eaf8b835]
+
+ * prosody.cfg.lua:
+ Enabled PEP in default configuration
+ [c8a7c4d15e38]
+
+2009-07-11 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.cfg.lua:
+ Cleaned up and added new modules to default configuration file
+ [07fdc8fd8ff9]
+
+ * PKGBUILD:
+ Added luasec back as hard dependency
+ [9506bff48c77]
+
+ * .hgtags:
+ Added tag v0.5.0rc1-2 for changeset a252809a03a3
+ [803ace20879a]
+
+ * ChangeLog, PKGBUILD:
+ New release version
+ [a252809a03a3] [v0.5.0rc1-2]
+
+ * PKGBUILD:
+ Added make before make install
+
+ This should fix Prosody not correctly reporting version.
+ [881eca5b8e0e]
+
+ * .hgtags:
+ Added tag v0.5.0rc1-1 for changeset f1d918d4779e
+ [1fc8dbc498d5]
+
+ * ChangeLog:
+ New upstream version
+ [f1d918d4779e] [v0.5.0rc1-1]
+
+ * PKGBUILD, prosody.rcd:
+ Redid indent alignment and silenced successful output of prosodyctl
+ [de9bdd756bd8]
+
+ * PKGBUILD, prosody-datadir.diff:
+ Converted to prosody-devel package
+ [92e5e98529dd]
+
+2009-06-30 Dwayne Bent <dbb.0@liqd.org>
+
+ * PKGBUILD, prosody.cfg.lua:
+ Moved luasec from depends to optdepends
+
+ Since luasec is not strictly required for Prosody to operate it is
+ now an optional dependency.
+ [7079ec87eef5]
+
+2009-06-27 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.4.2-4 for changeset 0345a59e8495
+ [1e488e1c03eb]
+
+ * PKGBUILD:
+ New release version
+ [0345a59e8495] [v0.4.2-4]
+
+ * prosody.install:
+ Added note about ChangeLog to install script
+ [c683ef309b6a]
+
+ * PKGBUILD, prosody.rcd:
+ Use prosodyctl to start/stop daemon
+ [eaf4c26bb29f]
+
+ * PKGBUILD, prosody.rcd:
+ Refactored start, stop, reload in rc.d script
+
+ Start, stop, reload will not display a friendly error message if
+ Prosody is not running when you attempt to stop or reload, or if
+ Prosody is already running when you attempt to start. Reload also
+ now utilizes the get_pid function.
+ [9873d5256a42]
+
+ * PKGBUILD, prosody.logrotated:
+ Use explicit log filenames in logrotate script
+
+ This fixes an issue where if you do not have olddir enabled, rotated
+ logs will be rotated again.
+ [38ea11efacb9]
+
+2009-06-22 Dwayne Bent <dbb.0@liqd.org>
+
+ * PKGBUILD, prosody.rcd:
+ Added status command to rc.d usage
+ [1b31e88d992d]
+
+ * PKGBUILD, prosody.rcd:
+ Added reload command
+ [62e3cbdff1d5]
+
+ * prosody.install:
+ Updated leftover olddir path
+ [e91b3fc2a9ee]
+
+ * PKGBUILD, prosody.rcd:
+ Use explicit source command
+ [b790c098d519]
+
+ * prosody.install:
+ Removed tab characters
+ [870316274137]
+
+2009-06-20 Dwayne Bent <dbb.0@liqd.org>
+
+ * PKGBUILD:
+ Updated md5 sums
+ [74ce2ab8a96b]
+
+ * prosody.logrotated:
+ Changed default olddir path
+ [cef8226473c2]
+
+ * prosody.rcd:
+ Removed sleep delay in restart
+ [a94167e59091]
+
+2009-06-10 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.cfg.lua:
+ Removed per-host certificate entry in example configuration
+
+ Until Issue #30
+ [http://code.google.com/p/lxmppd/issues/detail?id=30] is fixed per-
+ host certificates have no effect.
+ [d00e35979450]
+
+2009-06-05 Dwayne Bent <dbb.0@liqd.org>
+
+ * ChangeLog:
+ Added ChangeLog
+ [7298c4da135a]
+
+2009-06-03 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.4.2-3 for changeset 028183ffeba8
+ [7dbfd040e908]
+
+ * PKGBUILD:
+ New release version
+ [028183ffeba8] [v0.4.2-3]
+
+ * PKGBUILD:
+ Removed superfluous make command
+ [3d96c98bac26]
+
+ * PKGBUILD:
+ More consistent use of quote marks
+ [f6bd5b595b2d]
+
+ * PKGBUILD, prosody.logrotated:
+ Correct PID file location in logrotate script
+ [cec60904c739]
+
+2009-05-30 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.4.2-2 for changeset 37268dd0d4fd
+ [a8a197635bb6]
+
+ * PKGBUILD:
+ New release version
+ [37268dd0d4fd] [v0.4.2-2]
+
+ * PKGBUILD:
+ Use install instead of mkdir in PKGBUILD
+ [8e48108bbe9a]
+
+ * PKGBUILD, prosody-datadir.diff:
+ Apply patch to fix world-readable data directory
+ [2c706dda941c]
+
+2009-05-23 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.4.2-1 for changeset 1d29ea2dc519
+ [e2d2962de3f7]
+
+ * PKGBUILD:
+ New upstream release
+ [1d29ea2dc519] [v0.4.2-1]
+
+ * prosody.cfg.lua:
+ Aesthetic changes to the configuration file
+ [d5d848a58965]
+
+2009-05-22 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.cfg.lua:
+ Removed extraneous semicolon in configuration file
+ [9a002c74edc2]
+
+ * PKGBUILD:
+ Cleaned up PKGBUILD license
+ [82cb66a84de8]
+
+2009-05-21 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.install:
+ Changed formatting of leftover path messages.
+ [ac6069de93c9]
+
+ * prosody.install:
+ Moved prosody user removal to post_remove.
+ [2c60e27d0c13]
+
+ * PKGBUILD, prosody.cfg.lua:
+ Added comment about pidfile in prosody configuration file.
+ [8b9fa4da48ca]
+
+ * .hgtags:
+ Added tag v0.4.1-5 for changeset 69962178bcae
+ [01812099521b]
+
+ * PKGBUILD:
+ New release version.
+ [69962178bcae] [v0.4.1-5]
+
+ * PKGBUILD, prosody.cfg.lua, prosody.install, prosody.rcd:
+ Refactored rc.d daemon script.
+
+ Prosody now writes its own PID file to /var/run/prosody/prosody.pid.
+ rc.d script now uses '/bin/kill -0' to check for running process
+ instead of awkward combination of 'ps' and 'awk'.
+ [4f0e937c5148]
+
+ * prosody.install:
+ Added post_install message with link to Arch Wiki documentation.
+ [88d99267ad19]
+
+2009-05-19 Dwayne Bent <dbb.0@liqd.org>
+
+ * PKGBUILD:
+ Add logrotate script to backup array.
+ [d4f5445707f7]
+
+2009-05-11 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.install:
+ Fixed install script attempting to add prosody group when it already
+ exists.
+ [7d7807aa5d30]
+
+ * .hgtags:
+ Added tag v0.4.1-4 for changeset 442f62077f30
+ [389c885a35c5]
+
+ * PKGBUILD:
+ New release version.
+ [442f62077f30] [v0.4.1-4]
+
+ * PKGBUILD:
+ Generated correct checksums for source files.
+ [162859c9e287]
+
+ * .hgtags:
+ Added tag v0.4.1-3 for changeset b629392e4716
+ [f3d11fbd0b45]
+
+ * PKGBUILD:
+ New release version.
+ [b629392e4716] [v0.4.1-3]
+
+ * prosody.logrotated:
+ Fixed wrong PID file path in logrotate script.
+ [0871a4a12392]
+
+2009-05-07 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.cfg.lua, prosody.rcd:
+ Removed trailing whitespace.
+ [7c86c073650e]
+
+ * prosody.cfg.lua:
+ Added logging timestamps to default configuration.
+ [46f9111d47ce]
+
+ * .hgtags:
+ Added tag v0.4.1-2 for changeset 24b9dee19e65
+ [5240b39d76d7]
+
+ * PKGBUILD, prosody.cfg.lua, prosody.install, prosody.logrotated,
+ prosody.rcd:
+ Initial commit.
+ [24b9dee19e65] [v0.4.1-2]
+
diff --git a/community/prosody/PKGBUILD b/community/prosody/PKGBUILD
new file mode 100644
index 000000000..4278a2596
--- /dev/null
+++ b/community/prosody/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 90613 2013-05-13 10:55:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Dwayne Bent <dbb.0@liqd.org>
+# Contributor: Paul-Sebastian Manole <brokenthorn@gmail.com>
+
+pkgname=prosody
+pkgver=0.8.2
+pkgrel=9
+pkgdesc="Lightweight and extensible Jabber/XMPP server written in Lua."
+arch=('i686' 'x86_64')
+url="http://prosody.im/"
+license=('MIT')
+depends=('lua51' 'lua51-socket' 'lua51-expat' 'lua51-filesystem' 'libidn' 'openssl')
+optdepends=('lua51-sec: TLS encryption support')
+install=prosody.install
+backup=('etc/logrotate.d/prosody'
+ 'etc/prosody/prosody.cfg.lua')
+source=("http://prosody.im/depot/${pkgver}/prosody-${pkgver}.tar.gz"
+ 'prosody.logrotated'
+ 'fix-config.patch'
+ 'prosody.tmpfile.d'
+ 'prosody.service')
+md5sums=('6e907bf0d0acf24f1011083020ba6ffb'
+ '5b44aee99f1fa9e7f055e067688cafbd'
+ 'a4a5b968b5809037f83465c571eb9afe'
+ 'e2f5a1df410b05696a30dcb058841084'
+ 'e74045f27cb60908d535969906781f75')
+
+build() {
+ cd "$srcdir/prosody-$pkgver"
+ patch -p1 <$srcdir/fix-config.patch
+ find . -type f -exec \
+ sed -i '1s,^#! \?/usr/bin/\(env \|\)lua$,#!/usr/bin/lua5.1,' {} \;
+ ./configure --prefix=/usr --sysconfdir=/etc/prosody \
+ --datadir=/var/lib/prosody --with-lua-include=/usr/include/lua5.1
+ make
+}
+
+package() {
+ cd "$srcdir/prosody-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" install -C tools/migration
+
+ rm $pkgdir/etc/prosody/certs/*
+
+ install -d "$pkgdir/etc/logrotate.d"
+ install -d "$pkgdir/var/log/prosody"
+ for i in tools/*.lua; do
+ install -Dm0644 $i $pkgdir/usr/share/prosody/$i
+ done
+
+ install -o root -g root -m 644 "$srcdir/prosody.logrotated" \
+ "$pkgdir/etc/logrotate.d/prosody"
+
+ install -Dm0644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
+ install -Dm0644 $srcdir/prosody.tmpfile.d $pkgdir/usr/lib/tmpfiles.d/prosody.conf
+ install -Dm0644 $srcdir/prosody.service $pkgdir/usr/lib/systemd/system/prosody.service
+}
diff --git a/community/prosody/fix-config.patch b/community/prosody/fix-config.patch
new file mode 100644
index 000000000..3d01fd88a
--- /dev/null
+++ b/community/prosody/fix-config.patch
@@ -0,0 +1,32 @@
+diff -wbBur prosody-0.8.0/prosody.cfg.lua.dist prosody-0.8.0.my/prosody.cfg.lua.dist
+--- prosody-0.8.0/prosody.cfg.lua.dist 2011-04-05 13:47:06.000000000 +0000
++++ prosody-0.8.0.my/prosody.cfg.lua.dist 2011-04-07 16:03:42.000000000 +0000
+@@ -21,6 +21,8 @@
+ -- (see http://prosody.im/doc/creating_accounts for info)
+ -- Example: admins = { "user1@example.com", "user2@example.net" }
+ admins = { }
++daemonize = true
++pidfile = "/run/prosody/prosody.pid"
+
+ -- Enable use of libevent for better performance under high load
+ -- For more information see: http://prosody.im/doc/libevent
+@@ -59,7 +61,7 @@
+ --"admin_telnet"; -- Opens telnet console interface on localhost port 5582
+
+ -- Other specific functionality
+- --"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
++ "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
+ --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
+ --"httpserver"; -- Serve static files from a directory over HTTP
+ --"groups"; -- Shared roster support
+@@ -123,8 +125,8 @@
+ -- Logging configuration
+ -- For advanced logging see http://prosody.im/doc/logging
+ log = {
+- info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging
+- error = "prosody.err";
++ info = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for verbose logging
++ error = "/var/log/prosody/prosody.err";
+ -- "*syslog"; -- Uncomment this for logging to syslog
+ -- "*console"; -- Log to the console, useful for debugging with daemonize=false
+ }
diff --git a/community/prosody/prosody.install b/community/prosody/prosody.install
new file mode 100644
index 000000000..792681038
--- /dev/null
+++ b/community/prosody/prosody.install
@@ -0,0 +1,37 @@
+post_install() {
+ if [ -z "`grep '^prosody:' /etc/group`" ]; then
+ groupadd -g 412 prosody
+ fi
+ if [ -z "`grep '^prosody:' /etc/passwd`" ]; then
+ useradd -u 412 -d /var/lib/prosody -g prosody -s /bin/false prosody
+ fi
+
+ chown prosody:prosody var/lib/prosody
+ chown prosody:prosody var/log/prosody
+
+ echo ">> Documentation: http://wiki.archlinux.org/index.php/Prosody"
+
+ systemd-tmpfiles --create prosody.conf
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ userdel prosody
+
+ paths=(/etc/prosody /var/lib/prosody /var/log/prosody
+ /var/log/old/prosody)
+
+ first=true
+ for path in ${paths[@]}; do
+ if [ -d $path ]; then
+ if $first; then
+ first=false
+ echo "==> Leftover Paths:"
+ fi
+ echo "==> $path"
+ fi
+ done
+}
diff --git a/community/prosody/prosody.logrotated b/community/prosody/prosody.logrotated
new file mode 100644
index 000000000..13876230f
--- /dev/null
+++ b/community/prosody/prosody.logrotated
@@ -0,0 +1,9 @@
+/var/log/prosody/prosody.log /var/log/prosody/prosody.err {
+ # olddir /var/log/old/prosody
+ create 644 prosody prosody
+ sharedscripts
+ missingok
+ postrotate
+ /bin/kill -HUP `cat /run/prosody/prosody.pid 2> /dev/null` 2> /dev/null || true
+ endscript
+}
diff --git a/community/prosody/prosody.service b/community/prosody/prosody.service
new file mode 100644
index 000000000..f54159f55
--- /dev/null
+++ b/community/prosody/prosody.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=XMPP (Jabber) Server
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/prosody/prosody.pid
+ExecStart=/usr/bin/prosodyctl start
+ExecStop=/usr/bin/prosodyctl stop
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/community/prosody/prosody.tmpfile.d b/community/prosody/prosody.tmpfile.d
new file mode 100644
index 000000000..5f6de657d
--- /dev/null
+++ b/community/prosody/prosody.tmpfile.d
@@ -0,0 +1 @@
+d /run/prosody 0755 412 412
diff --git a/community/protobuf/PKGBUILD b/community/protobuf/PKGBUILD
new file mode 100644
index 000000000..2e50d63eb
--- /dev/null
+++ b/community/protobuf/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Thomas S Hatch <thatch45@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgbase=protobuf
+pkgname=('protobuf' 'python2-protobuf')
+pkgver=2.5.0
+pkgrel=3
+pkgdesc="A way of encoding structured data in an efficient yet extensible format"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/protobuf/"
+license=('APACHE')
+depends=('gcc-libs' 'zlib')
+makedepends=('python2' 'setuptools')
+options=(!libtool)
+source=(http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.bz2)
+md5sums=('a72001a9067a4c2c4e0e836d0f92ece4')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./autogen.sh
+ ./configure --prefix=/usr --disable-static
+}
+
+package_protobuf() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
+
+package_python2-protobuf() {
+ pkgdesc="protobuf python API"
+ depends=("python2" "protobuf=${pkgver}")
+ provides=("protobuf-python")
+ conflicts=("protobuf-python")
+ replaces=("protobuf-python")
+
+ cd $srcdir/protobuf-$pkgver/python
+ python2 setup.py install --prefix=/usr --root $pkgdir
+}
diff --git a/community/proxytunnel/PKGBUILD b/community/proxytunnel/PKGBUILD
new file mode 100644
index 000000000..5898ac43b
--- /dev/null
+++ b/community/proxytunnel/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 66169 2012-02-23 02:28:14Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Georg Grabler (STiAT) <ggrabler@gmail.com>
+
+pkgname=proxytunnel
+pkgver=1.9.0
+pkgrel=3
+pkgdesc="a program that connects stdin and stdout to a server somewhere on the network, through a standard HTTPS proxy"
+arch=('i686' 'x86_64')
+url="http://proxytunnel.sourceforge.net"
+license=('GPL')
+depends=('openssl')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tgz)
+md5sums=('d74472b89c3f3b3b0abf6bd809ae34c2')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's|PREFIX =/usr/local|PREFIX =/usr|g' Makefile
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/psimedia/PKGBUILD b/community/psimedia/PKGBUILD
new file mode 100644
index 000000000..df2457f63
--- /dev/null
+++ b/community/psimedia/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 85385 2013-03-01 10:37:22Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Vladimir Kutyavin <vlkut-at-bk-dot-ru>
+
+pkgname=psimedia
+pkgver=1.0.3
+pkgrel=9
+pkgdesc="Voice and video chat plugin for Psi-like IM clients. The implementation is based on GStreamer."
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://delta.affinix.com/psimedia/"
+depends=('psi' 'speex' 'gstreamer0.10-base' 'qt4' 'gstreamer0.10-good-plugins'
+ 'liboil')
+makedepends=('pkgconfig' 'gdb')
+source=($pkgname-$pkgver.tar.gz::https://github.com/psi-im/psimedia/archive/master.tar.gz)
+md5sums=('d12fdf60fd71ffba597dd22f5c8481cf')
+
+build() {
+ cd $srcdir/$pkgname-master
+
+ cat >>gstprovider/gstconf.pri <<EOF
+ INCLUDEPATH += \
+ /usr/include/gstreamer-0.10 \
+ /usr/include/glib-2.0 \
+ /usr/lib/glib-2.0/include \
+ /usr/include/libxml2
+EOF
+
+ qmake
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-master
+ install -D -m644 ${srcdir}/$pkgname-master/gstprovider/libgstprovider.so ${pkgdir}/usr/lib/psi/plugins/libgstprovider.so
+}
diff --git a/community/pspshrink/PKGBUILD b/community/pspshrink/PKGBUILD
new file mode 100644
index 000000000..af5b54a16
--- /dev/null
+++ b/community/pspshrink/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 67730 2012-03-14 09:57:46Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Tomas Acauan Schertel <tschertel@gmail.com>
+
+pkgname=pspshrink
+pkgver=1.1.2
+pkgrel=3
+pkgdesc="PSP Shrink allows you to shrink your isos to the cso format."
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/pspshrink/"
+license=('GPL2')
+makedepends=('gtkmm')
+optdepends=('gtkmm: To use pspshrinkui ')
+install=$pkgname.install
+source=(http://pspshrink.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+md5sums=('c9f7dc58c983016047ceebbacb9856e9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/pspshrink/pspshrink.install b/community/pspshrink/pspshrink.install
new file mode 100644
index 000000000..f4dd28c42
--- /dev/null
+++ b/community/pspshrink/pspshrink.install
@@ -0,0 +1,19 @@
+post_install()
+{
+ echo "----------------------------------------------------------"
+ echo "PSP Shrink comes with a command line and a GUI version."
+ echo "Usage command line version:"
+ echo "pspshrink compressionlevel inputfile outputfile"
+ echo "example: pspshrink 9 image.iso image.cso"
+ echo "To use GUI version call pspshrinkui or go to Utility menu."
+ echo "----------------------------------------------------------"
+}
+
+
+post_upgrade() {
+ post_install
+}
+
+op=$1
+shift
+$op $*
diff --git a/community/psqlodbc/PKGBUILD b/community/psqlodbc/PKGBUILD
new file mode 100644
index 000000000..78512d22b
--- /dev/null
+++ b/community/psqlodbc/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 79084 2012-10-30 09:55:07Z spupykin $
+# Maintainer:
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux-br.org>
+# Contributor: Rick Rein <jeebusroxors@gmail.com>
+
+pkgname=psqlodbc
+pkgver=09.01.0200
+pkgrel=2
+pkgdesc="PostgreSQL ODBC driver"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.postgresql.org"
+depends=('unixodbc' 'postgresql-libs')
+makedepends=('postgresql')
+options=('!libtool')
+source=(ftp://ftp2.it.postgresql.org/mirrors/postgres//odbc/versions/src/$pkgname-$pkgver.tar.gz)
+md5sums=('0f4ac0e6b0755af2452764db4cfe4e8f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's|#define DEFAULT_PGSOCKET_DIR.*|#define DEFAULT_PGSOCKET_DIR "/run/postgresql"|' socket.h
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/pstotext/PKGBUILD b/community/pstotext/PKGBUILD
new file mode 100644
index 000000000..7b9f890b8
--- /dev/null
+++ b/community/pstotext/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 73278 2012-07-05 10:43:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Mike Sampson <mike at sambodata dot com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: froggie <sullivanva@gmail.com>
+
+pkgname=pstotext
+pkgver=1.9
+pkgrel=2
+pkgdesc="Converts Postscript to text"
+arch=('i686' 'x86_64')
+url="http://www.cs.wisc.edu/~ghost/doc/pstotext.htm"
+license=('GPL')
+depends=('ghostscript')
+source=(ftp://ftp.uni-frankfurt.de/pub/Mirrors2/gentoo.org/distfiles/$pkgname-$pkgver.tar.gz)
+md5sums=('64576e8a10ff5514e285d98b3898ae78')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -Dm755 pstotext $pkgdir/usr/bin/pstotext
+ install -Dm644 pstotext.1 $pkgdir/usr/share/man/man1/pstotext.1
+}
diff --git a/community/puzzles/PKGBUILD b/community/puzzles/PKGBUILD
new file mode 100644
index 000000000..e40de4723
--- /dev/null
+++ b/community/puzzles/PKGBUILD
@@ -0,0 +1,39 @@
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer: schuay <jakob.gruber@gmail.com>
+
+pkgname=puzzles
+pkgver=9840
+pkgrel=1
+pkgdesc="Simon Tatham's Portable Puzzle Collection"
+arch=('i686' 'x86_64')
+url="http://www.chiark.greenend.org.uk/~sgtatham/puzzles/"
+license=('MIT')
+makedepends=('pkgconfig' 'subversion')
+depends=('gtk2')
+source=("svn://svn.tartarus.org/sgt/puzzles#revision=$pkgver")
+md5sums=("SKIP")
+
+build() {
+ cd ${srcdir}/${pkgname}
+
+ ./mkfiles.pl
+
+ sed -i 's|\$(gamesdir)|\$(bindir)|' Makefile
+
+ make prefix=/usr
+}
+
+package() {
+ cd ${srcdir}/${pkgname}
+
+ install -d ${pkgdir}/usr/{bin,share/licenses/${pkgname}}
+ install -Dm644 LICENCE ${pkgdir}/usr/share/licenses/${pkgname}/
+
+ make prefix=/usr DESTDIR=${pkgdir} install
+
+ #fix FS#14600
+ mv ${pkgdir}/usr/bin/net ${pkgdir}/usr/bin/puzzles-net
+ mv ${pkgdir}/usr/bin/cube ${pkgdir}/usr/bin/puzzles-cube
+ mv ${pkgdir}/usr/bin/blackbox ${pkgdir}/usr/bin/puzzles-blackbox
+}
diff --git a/community/pv/PKGBUILD b/community/pv/PKGBUILD
new file mode 100644
index 000000000..d0420c243
--- /dev/null
+++ b/community/pv/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 84287 2013-02-15 14:40:03Z lfleischer $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Aaron Schaefer <aaron@elasticdog.com>
+
+pkgname=pv
+pkgver=1.4.6
+pkgrel=1
+pkgdesc='A terminal-based tool for monitoring the progress of data through a pipeline.'
+arch=('i686' 'x86_64')
+url='http://www.ivarch.com/programs/pv.shtml'
+license=('custom:Artistic 2.0')
+depends=('glibc')
+source=("http://www.ivarch.com/programs/sources/$pkgname-$pkgver.tar.bz2")
+md5sums=('d55ff76f5caa83efc23aa527dbb0b191')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm0644 doc/COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
diff --git a/community/pwgen/PKGBUILD b/community/pwgen/PKGBUILD
new file mode 100644
index 000000000..813ca7317
--- /dev/null
+++ b/community/pwgen/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 92192 2013-06-02 15:55:52Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: damir <damir@archlinux.org>
+# Contributor: Tobias Powalowski <t.powa@gmx.de>
+
+pkgname=pwgen
+pkgver=2.06
+pkgrel=4
+pkgdesc='Password generator for creating easily memorable passwords'
+arch=('x86_64' 'i686')
+url='http://sourceforge.net/projects/pwgen/'
+license=('GPL')
+depends=('glibc')
+source=("http://downloads.sourceforge.net/sourceforge/pwgen/$pkgname-$pkgver.tar.gz")
+sha256sums=('61598c9e3a0f7eb2e7367d4ecc71522c4f16a7d41ed31db29e3afee8d9843454')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ autoconf
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/pwmanager/ChangeLog b/community/pwmanager/ChangeLog
new file mode 100644
index 000000000..3bad1ddcd
--- /dev/null
+++ b/community/pwmanager/ChangeLog
@@ -0,0 +1,5 @@
+2007-07-02 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
+2007-06-25 Georg Grabler (STiAT) <ggrabler@gmail.com>
+* Added libtool option
diff --git a/community/pwmanager/PKGBUILD b/community/pwmanager/PKGBUILD
new file mode 100644
index 000000000..c13ce266a
--- /dev/null
+++ b/community/pwmanager/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 58627 2011-11-16 15:52:59Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributors: Pointer <pointer@linux-blog.de>, tmaynard <arch@toddmaynard.com>
+
+pkgname=pwmanager
+pkgver=1.2.4
+pkgrel=5
+pkgdesc="With PwManager you can easily manage your passwords"
+arch=('i686' 'x86_64')
+url="http://passwordmanager.sourceforge.net/"
+license=('GPL')
+depends=('kdelibs3')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/passwordmanager/$pkgname-$pkgver.tar.bz2
+ build-fix.patch)
+md5sums=('e6f720af9b325bc0e7ea20c9c5e6039f'
+ 'bcc412cb855cba4910e51920ae38a326')
+
+build() {
+ . /etc/profile.d/qt3.sh
+ export PATH=$QTDIR/bin:$PATH
+ cd $srcdir/$pkgname-$pkgver
+
+ patch -p1 <$srcdir/build-fix.patch
+
+ ./configure --prefix=/opt/kde --without-arts
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/pwmanager/build-fix.patch b/community/pwmanager/build-fix.patch
new file mode 100644
index 000000000..b04078265
--- /dev/null
+++ b/community/pwmanager/build-fix.patch
@@ -0,0 +1,57 @@
+diff -wbBur pwmanager-1.2.4/pwmanager/base64.cpp pwmanager-1.2.4.my/pwmanager/base64.cpp
+--- pwmanager-1.2.4/pwmanager/base64.cpp 2005-11-06 01:16:51.000000000 +0000
++++ pwmanager-1.2.4.my/pwmanager/base64.cpp 2009-01-28 16:02:43.000000000 +0000
+@@ -41,6 +41,7 @@
+ * *
+ ***************************************************************************/
+
++#include <stdlib.h>
+ #include "base64.h"
+ #include "pwmexception.h"
+
+diff -wbBur pwmanager-1.2.4/pwmanager/binentrygen.cpp pwmanager-1.2.4.my/pwmanager/binentrygen.cpp
+--- pwmanager-1.2.4/pwmanager/binentrygen.cpp 2005-11-06 01:16:51.000000000 +0000
++++ pwmanager-1.2.4.my/pwmanager/binentrygen.cpp 2009-01-28 16:03:08.000000000 +0000
+@@ -8,7 +8,7 @@
+ * as published by the Free Software Foundation. *
+ * *
+ ***************************************************************************/
+-
++#include <stdlib.h>
+ #include "binentrygen.h"
+ #include "base64.h"
+ #include "pwmexception.h"
+diff -wbBur pwmanager-1.2.4/pwmanager/compressbzip2.cpp pwmanager-1.2.4.my/pwmanager/compressbzip2.cpp
+--- pwmanager-1.2.4/pwmanager/compressbzip2.cpp 2005-11-06 01:16:50.000000000 +0000
++++ pwmanager-1.2.4.my/pwmanager/compressbzip2.cpp 2009-01-28 16:03:47.000000000 +0000
+@@ -10,7 +10,7 @@
+ ***************************************************************************/
+
+ #include "compressbzip2.h"
+-
++#include <string.h>
+ #include <stdlib.h>
+
+ #define BZ_NO_STDIO
+diff -wbBur pwmanager-1.2.4/pwmanager/main.cpp pwmanager-1.2.4.my/pwmanager/main.cpp
+--- pwmanager-1.2.4/pwmanager/main.cpp 2005-11-06 01:16:51.000000000 +0000
++++ pwmanager-1.2.4.my/pwmanager/main.cpp 2009-01-28 16:05:16.000000000 +0000
+@@ -9,6 +9,7 @@
+ * *
+ ***************************************************************************/
+
++#include <stdlib.h>
+ #include <kcmdlineargs.h>
+ #include <kaboutdata.h>
+ #include <klocale.h>
+diff -wbBur pwmanager-1.2.4/pwmanager/serializer.cpp pwmanager-1.2.4.my/pwmanager/serializer.cpp
+--- pwmanager-1.2.4/pwmanager/serializer.cpp 2005-11-06 01:16:50.000000000 +0000
++++ pwmanager-1.2.4.my/pwmanager/serializer.cpp 2009-01-28 16:06:32.000000000 +0000
+@@ -9,6 +9,7 @@
+ * *
+ ***************************************************************************/
+
++#include <stdlib.h>
+ #include "serializer.h"
+ #include "configuration.h"
+ #include "pwmexception.h"
diff --git a/community/pwsafe/PKGBUILD b/community/pwsafe/PKGBUILD
new file mode 100644
index 000000000..2a4535a27
--- /dev/null
+++ b/community/pwsafe/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 69267 2012-04-11 11:46:13Z lcarlier $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+
+pkgname=pwsafe
+pkgver=0.2.0
+pkgrel=8
+pkgdesc="A commandline program for managing encrypted password databases"
+arch=('i686' 'x86_64')
+url="http://nsd.dyndns.org/pwsafe/"
+license=('GPL')
+depends=('openssl' 'libxmu' 'readline')
+source=(${url}/releases/${pkgname}-${pkgver}.tar.gz
+ pwsafe-XChangeProperty.patch)
+md5sums=('4bb36538a2772ecbf1a542bc7d4746c0'
+ 'cff6aee2e43f5fbe82e8cd7ccfefb099')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # Patch from fedora, fixes FS#28339
+ patch -Np0 -i ../pwsafe-XChangeProperty.patch
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ # Make pwsafe suid root so it can seed rng as a user
+ chmod +s ${pkgdir}/usr/bin/pwsafe
+}
diff --git a/community/pwsafe/pwsafe-XChangeProperty.patch b/community/pwsafe/pwsafe-XChangeProperty.patch
new file mode 100644
index 000000000..6758a573d
--- /dev/null
+++ b/community/pwsafe/pwsafe-XChangeProperty.patch
@@ -0,0 +1,20 @@
+Index: pwsafe.cpp
+===================================================================
+RCS file: /cvsroot/pwsafe/pwsafe/pwsafe.cpp,v
+retrieving revision 1.57
+diff -u -r1.57 pwsafe.cpp
+--- pwsafe.cpp 12 Aug 2007 12:33:06 -0000 1.57
++++ pwsafe.cpp 5 Jan 2011 22:16:43 -0000
+@@ -1820,10 +1820,10 @@
+ if (xev.xselectionrequest.target == XA_TARGETS(xdisplay)) {
+ // tell them what we can supply
+ const Atom targets[] = { XA_TARGETS(xdisplay), XA_TIMESTAMP(xdisplay), XA_TEXT(xdisplay), XA_STRING };
+- XChangeProperty(xdisplay, xev.xselectionrequest.requestor, prop, XA_TARGETS(xdisplay), 32, PropModeReplace, reinterpret_cast<const unsigned char*>(&targets), sizeof(targets)/sizeof(targets[0]));
++ XChangeProperty(xdisplay, xev.xselectionrequest.requestor, prop, XA_ATOM, 32, PropModeReplace, reinterpret_cast<const unsigned char*>(&targets), sizeof(targets)/sizeof(targets[0]));
+ }
+ else if (xev.xselectionrequest.target == XA_TIMESTAMP(xdisplay)) {
+- XChangeProperty(xdisplay, xev.xselectionrequest.requestor, prop, XA_TIMESTAMP(xdisplay), 32, PropModeReplace, reinterpret_cast<const unsigned char*>(&timestamp), 1);
++ XChangeProperty(xdisplay, xev.xselectionrequest.requestor, prop, XA_INTEGER, 32, PropModeReplace, reinterpret_cast<const unsigned char*>(&timestamp), 1);
+ }
+ else if (xev.xselectionrequest.target == XA_TEXT(xdisplay) ||
+ xev.xselectionrequest.target == XA_STRING) {
diff --git a/community/pygoocanvas/PKGBUILD b/community/pygoocanvas/PKGBUILD
new file mode 100644
index 000000000..bfd198b85
--- /dev/null
+++ b/community/pygoocanvas/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 65296 2012-02-20 19:48:25Z jelle $
+# Maintainer: Douglas Soares de Andrade <dsandrade@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=pygoocanvas
+pkgver=0.14.1
+pkgrel=5
+pkgdesc="GooCanvas python bindings"
+arch=('i686' 'x86_64')
+url="http://developer.berlios.de/projects/pygoocanvas"
+license=('LGPL')
+depends=('python2' 'goocanvas1' 'pygtk')
+makedepends=('pkgconfig')
+options=('!libtool' 'docs')
+source=(http://ftp.gnome.org/pub/GNOME/sources/pygoocanvas/0.14/pygoocanvas-$pkgver.tar.bz2)
+md5sums=('e0e7b694af2f81a78b0838555d150252')
+
+build() {
+ cd "$srcdir/pygoocanvas-$pkgver"
+ ./configure --prefix=/usr --disable-docs
+ make
+}
+
+package() {
+ cd "$srcdir/pygoocanvas-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/pyid3lib/PKGBUILD b/community/pyid3lib/PKGBUILD
new file mode 100644
index 000000000..c0a541b66
--- /dev/null
+++ b/community/pyid3lib/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 66183 2012-02-23 02:32:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+# Maintainer: Jens Persson <xerxes2 at gmail.com>
+
+pkgname=pyid3lib
+pkgver=0.5.1
+pkgrel=7
+pkgdesc="A Python module for editing ID3v2 tags of MP3 audio files"
+arch=('i686' 'x86_64')
+url="http://pyid3lib.sourceforge.net/"
+license=('LGPL')
+depends=('python2' 'glibc' 'id3lib')
+source=(http://downloads.sourceforge.net/sourceforge/pyid3lib/$pkgname-$pkgver.tar.gz
+ pyid3lib-0.5.1-py25.patch)
+md5sums=('5fd37a7dda7c540f665ca5d428a28f5e'
+ '377b797acfae7411c3a70c244d3cf9b6')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ [ "${CARCH}" = "x86_64" ] && patch -p1 < ../pyid3lib-0.5.1-py25.patch
+ sed -i "s#strchr( str, '/' )#strchr( (char*)str, '/' )#" pyid3lib.cc
+ python2 setup.py install --root=$pkgdir
+}
diff --git a/community/pyid3lib/pyid3lib-0.5.1-py25.patch b/community/pyid3lib/pyid3lib-0.5.1-py25.patch
new file mode 100644
index 000000000..c24cfc97d
--- /dev/null
+++ b/community/pyid3lib/pyid3lib-0.5.1-py25.patch
@@ -0,0 +1,57 @@
+--- pyid3lib-0.5.1/pyid3lib.cc.orig 2007-08-08 23:53:08.000000000 +0300
++++ pyid3lib-0.5.1/pyid3lib.cc 2007-08-08 23:53:12.000000000 +0300
+@@ -10,13 +10,19 @@
+ #include <id3/id3lib_frame.h>
+ #include <id3/tag.h>
+
++#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
++typedef int Py_ssize_t;
++#define PY_SSIZE_T_MAX INT_MAX
++#define PY_SSIZE_T_MIN INT_MIN
++#endif
++
+ typedef struct
+ {
+ PyObject_HEAD
+
+ ID3_Tag* tag;
+ ID3_Frame** frames;
+- int size, alloc;
++ Py_ssize_t size, alloc;
+ } ID3Object;
+
+ typedef struct
+@@ -80,13 +86,24 @@
+
+
+ static PySequenceMethods tag_as_sequence = {
++#if PY_VERSION_HEX >= 0x02050000
++ (lenfunc)id3_length,
++#else
+ (inquiry)id3_length,
++#endif
+ NULL,
+ NULL,
++#if PY_VERSION_HEX >= 0x02050000
++ (ssizeargfunc)id3_item,
++ (ssizessizeargfunc)id3_slice,
++ (ssizeobjargproc)id3_ass_item,
++ (ssizessizeobjargproc)id3_ass_slice,
++#else
+ (intargfunc)id3_item,
+ (intintargfunc)id3_slice,
+ (intobjargproc)id3_ass_item,
+ (intintobjargproc)id3_ass_slice,
++#endif
+ (objobjproc)id3_contains,
+ NULL,
+ NULL,
+@@ -824,7 +841,7 @@
+ static ID3_Frame* frame_from_dict( ID3_FrameID fid, PyObject* dict )
+ {
+ char* data;
+- int size;
++ Py_ssize_t size;
+
+ ID3_Field* field;
+ ID3_FieldID flid;
diff --git a/community/pylibacl/PKGBUILD b/community/pylibacl/PKGBUILD
new file mode 100644
index 000000000..85dd5173c
--- /dev/null
+++ b/community/pylibacl/PKGBUILD
@@ -0,0 +1,19 @@
+# $Id: PKGBUILD 80486 2012-11-22 18:15:22Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+
+pkgname=pylibacl
+pkgver=0.5.1
+pkgrel=1
+pkgdesc='A python extension module that allows you to manipulate the POSIX.1e ACLs.'
+arch=('i686' 'x86_64')
+url='http://pylibacl.k1024.org/'
+license=('GPL')
+depends=('python2')
+makedepends=('python2-distribute')
+source=("https://github.com/downloads/iustin/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('a429256345ffdc2cea57fd24da0d980d')
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ python2 setup.py install --root="${pkgdir}"
+}
diff --git a/community/pymad/PKGBUILD b/community/pymad/PKGBUILD
new file mode 100644
index 000000000..ace77f357
--- /dev/null
+++ b/community/pymad/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 83176 2013-01-27 16:25:07Z pierre $
+# Maintainer: Mark Rosenstand <mark@archlinux.org
+# Contributor: Corrado Primier <cp663137@stud.polimi.it>
+
+pkgname=pymad
+pkgver=0.6
+pkgrel=4
+pkgdesc="Python interface to libmad."
+arch=('i686' 'x86_64')
+url="http://www.spacepants.org/src/pymad/"
+license=('LGPL')
+depends=('libmad' 'python2')
+source=("http://www.spacepants.org/src/pymad/download/$pkgname-$pkgver.tar.gz")
+md5sums=('a1405fb4b610348565c8d0e400c5ff18')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ python2 config_unix.py --prefix=/usr
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+}
diff --git a/community/pympd/ChangeLog b/community/pympd/ChangeLog
new file mode 100644
index 000000000..2ac209c7d
--- /dev/null
+++ b/community/pympd/ChangeLog
@@ -0,0 +1,2 @@
+2010-01-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release O.08.1
diff --git a/community/pympd/PKGBUILD b/community/pympd/PKGBUILD
new file mode 100644
index 000000000..d83139b8c
--- /dev/null
+++ b/community/pympd/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 67738 2012-03-14 10:05:54Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: whatah <whatah@gmail.com>
+# Contributor: Andrew Conkling <andrewski@fr.st>
+
+pkgname=pympd
+pkgver=0.08.1
+pkgrel=3
+pkgdesc="A Rhythmbox-like PyGTK+ client for Music Player Daemon"
+arch=('i686' 'x86_64')
+url="http://pympd.sourceforge.net/"
+license=('GPL')
+depends=('libglade' 'pygtk')
+makedepends=('pkgconfig')
+options=('!emptydirs')
+source=(http://pympd.sourceforge.net/files/$pkgname-$pkgver.tar.gz)
+md5sums=('388c2882ffbacffb27b491441a2b2a23')
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ # python2 fix
+ sed -i 's_which python_which python2_' Makefile
+ sed -i 's_python -c_python2 -c_' src/modules/tray/Makefile
+ 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
+
+ make PREFIX=/usr DESTDIR=${pkgdir} install
+}
diff --git a/community/pyogg/PKGBUILD b/community/pyogg/PKGBUILD
new file mode 100644
index 000000000..50eebb60e
--- /dev/null
+++ b/community/pyogg/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 64982 2012-02-19 11:17:06Z jelle $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
+
+pkgname=pyogg
+pkgver=1.3
+pkgrel=7
+pkgdesc="Python ogg wrapper library"
+arch=('i686' 'x86_64')
+url="http://ekyo.nerim.net/software/pyogg/index.html"
+license=('LGPL2')
+depends=('python2' 'libogg' 'glibc')
+source=(http://ekyo.nerim.net/software/pyogg/$pkgname-$pkgver.tar.gz)
+md5sums=('45a4ecc4d0600661199e4040a81ea3fe')
+sha1sums=('2811ad401e3b5fc5025958bddab3d7b8775e5acd')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ python2 ./config_unix.py --prefix=$pkgdir/usr
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ python2 setup.py install --prefix=$pkgdir/usr
+}
diff --git a/community/pypanel/PKGBUILD b/community/pypanel/PKGBUILD
new file mode 100644
index 000000000..06e97709e
--- /dev/null
+++ b/community/pypanel/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 92799 2013-06-15 10:31:37Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Jeff Mickey <j@codemac.net>
+# Contributor: Mr Green
+# Contributor: Jens Persson <xerxes2@gmail.com>
+
+pkgname=pypanel
+pkgver=2.4
+pkgrel=8
+pkgdesc='A lightweight panel/taskbar for X11 window managers written in python.'
+arch=('i686' 'x86_64')
+url='http://pypanel.sourceforge.net/'
+license=('GPL')
+depends=('python2' 'x-server' 'python2-xlib' 'imlib2' 'libxft')
+source=("http://downloads.sourceforge.net/sourceforge/pypanel/PyPanel-${pkgver}.tar.gz")
+md5sums=('f1f9a2ed80be72ab36e748833618daba')
+
+package() {
+ cd "${srcdir}/PyPanel-${pkgver}"
+ python2 setup.py install --root="${pkgdir}"
+}
diff --git a/community/pyqt3/PKGBUILD b/community/pyqt3/PKGBUILD
new file mode 100644
index 000000000..d0bf8fd58
--- /dev/null
+++ b/community/pyqt3/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 90081 2013-05-06 19:39:12Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net>
+
+pkgname=pyqt3
+pkgver=3.18.1
+pkgrel=13
+pkgdesc="A set of Python bindings for the Qt3 toolkit"
+arch=('i686' 'x86_64')
+url="http://www.riverbankcomputing.com/software/pyqt/intro"
+depends=('python2-sip' 'qscintilla-qt3')
+makedepends=('glu')
+license=('GPL')
+source=("http://downloads.sourceforge.net/project/pyqt/PyQt3/PyQt-x11-gpl-${pkgver}.tar.gz")
+md5sums=('f1d120495d1aaf393819e988c0a7bb7e')
+
+build() {
+ cd ${srcdir}/PyQt-x11-gpl-${pkgver}
+ export QTDIR=/usr
+ export QMAKESPEC=/usr/share/qt3/mkspecs/linux-g++
+ echo yes | python2 configure.py -b /usr/bin \
+ -d /usr/lib/python2.7/site-packages \
+ -v /usr/share/sip \
+ INCDIR_QT=/usr/include/qt3
+ make CXX="g++ -DANY=void"
+}
+
+package() {
+ cd ${srcdir}/PyQt-x11-gpl-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/pysol-sound-server/PKGBUILD b/community/pysol-sound-server/PKGBUILD
new file mode 100644
index 000000000..05a3faafa
--- /dev/null
+++ b/community/pysol-sound-server/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 67709 2012-03-14 07:44:01Z ebelanger $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=pysol-sound-server
+pkgver=3.01
+pkgrel=8
+pkgdesc="A Python extension module that plays WAV samples together with MP3 or MOD background music"
+arch=('i686' 'x86_64')
+url="http://www.pysol.org/"
+license=('GPL' 'LGPL')
+depends=('python2' 'smpeg')
+source=(http://www.pysol.org/download/pysol/$pkgname-$pkgver.tar.bz2)
+sha1sums=('010cc2d9634a1796fb9d44c8925b4b62c9568611')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}/src"
+ ./configure
+ make PYTHON=python2
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/src"
+ python2 setup.py install --root="${pkgdir}"
+}
diff --git a/community/pystatgrab/PKGBUILD b/community/pystatgrab/PKGBUILD
new file mode 100644
index 000000000..9176acf68
--- /dev/null
+++ b/community/pystatgrab/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 83539 2013-02-02 14:53:33Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+
+pkgname=pystatgrab
+pkgver=0.5
+pkgrel=6
+pkgdesc="Python bindings for libstatgrab"
+arch=('i686' 'x86_64')
+url="http://www.i-scream.org/pystatgrab"
+license=('GPL')
+depends=('python2' 'libstatgrab')
+source=(ftp://ftp.uk.i-scream.org/pub/i-scream/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('f6a0b4a2dca70f346b8bbbd705b8dc772dc4e8c7cde2b2b83c85eb65c4cfe1d8')
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ python2 setup.py build
+ python2 setup.py install --prefix=${pkgdir}/usr
+}
diff --git a/community/pystatgrab/pystatgrab.changelog b/community/pystatgrab/pystatgrab.changelog
new file mode 100644
index 000000000..27f35cf6a
--- /dev/null
+++ b/community/pystatgrab/pystatgrab.changelog
@@ -0,0 +1,5 @@
+2010-07-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Rebuild for correct package naming
+
+2008-11-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Minor version bump (0.5-2) due the python 2.5 -> 2.6 update
diff --git a/community/python-basemap/PKGBUILD b/community/python-basemap/PKGBUILD
new file mode 100644
index 000000000..916c44b6e
--- /dev/null
+++ b/community/python-basemap/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 87032 2013-03-26 01:43:08Z stephane $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Matthias Ellmer <ellmer.matthias@gmail.com>
+# Contributor: Julien Morin <jmorin@cp.dias.ie>
+
+pkgbase=python-basemap
+pkgname=('python-basemap' 'python2-basemap' 'python-basemap-common')
+pkgver=1.0.6
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://matplotlib.org/basemap/"
+license=('custom')
+makedepends=('python2-numpy' 'python-numpy' 'geos' 'shapelib')
+source=("http://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-${pkgver}/basemap-${pkgver}.tar.gz")
+sha1sums=('76191964c580b3af33c169cb050bb171328298f9')
+
+_py2basever=2.7
+_py3basever=3.3
+
+build() {
+ pushd "${srcdir}"/basemap-${pkgver}
+ # Remove the bundled libraries and common data
+ rm -r geos-*
+ sed -i "s/lib64/lib/g" setup.py
+ popd
+
+ cp -a "${srcdir}"/basemap-${pkgver}{,-python2}
+
+ # Python3 Version
+ cd "${srcdir}"/basemap-${pkgver}
+ python setup.py config
+ python setup.py build
+
+ # Python2 Version
+ cd "${srcdir}"/basemap-${pkgver}-python2
+ python2 setup.py config
+ python2 setup.py build
+}
+
+package_python-basemap() {
+ pkgdesc="Toolkit for plotting data on map projections"
+ depends=('python-basemap-common' 'python-matplotlib' 'geos' 'shapelib' 'python-numpy' 'python-httplib2')
+ optdepends=('python-imaging: Python Imaging Library is only needed for bluemarble and warpimage methods.')
+
+ cd "${srcdir}"/basemap-${pkgver}
+
+ python setup.py install -O1 --skip-build --root="${pkgdir}" --prefix=/usr
+
+ # Conflict with files from python-matplotlib
+ rm "${pkgdir}"/usr/lib/python${_py3basever}/site-packages/mpl_toolkits/__init__.py
+ rm "${pkgdir}"/usr/lib/python${_py3basever}/site-packages/mpl_toolkits/__pycache__/__init__.cpython-33.{pyc,pyo}
+
+ rm -fr "${pkgdir}"/usr/lib/python${_py3basever}/site-packages/mpl_toolkits/basemap/data
+ ln -sf /usr/share/basemap/data "${pkgdir}"/usr/lib/python${_py3basever}/site-packages/mpl_toolkits/basemap/data
+}
+
+package_python2-basemap() {
+ pkgdesc="Toolkit for plotting data on map projections"
+ depends=('python-basemap-common' 'python2-matplotlib' 'geos' 'shapelib' 'python2-numpy' 'python2-httplib2')
+ optdepends=('python2-imaging: Python Imaging Library is only needed for bluemarble and warpimage methods.')
+
+ cd "${srcdir}"/basemap-${pkgver}-python2
+
+ python2 setup.py install -O1 --skip-build --root="${pkgdir}" --prefix=/usr
+
+ # Conflict with files from python2-matplotlib
+ rm "${pkgdir}"/usr/lib/python${_py2basever}/site-packages/mpl_toolkits/__init__.{py,pyc,pyo}
+
+ rm -fr "${pkgdir}"/usr/lib/python${_py2basever}/site-packages/mpl_toolkits/basemap/data
+ ln -sf /usr/share/basemap/data "${pkgdir}"/usr/lib/python${_py2basever}/site-packages/mpl_toolkits/basemap/data
+}
+
+package_python-basemap-common() {
+ pkgdesc="Data files for python-basemap"
+
+ cd "${srcdir}"/basemap-${pkgver}
+
+ install -dm755 "${pkgdir}"/usr/share/basemap
+ cp -a lib/mpl_toolkits/basemap/data/ "${pkgdir}"/usr/share/basemap/
+
+ install -dm755 "${pkgdir}"/usr/share/licenses/${pkgbase}
+ install -m644 LICENSE_{data,pyshp,proj4} README "${pkgdir}"/usr/share/licenses/${pkgbase}/
+}
diff --git a/community/python-bsddb/LICENSE b/community/python-bsddb/LICENSE
new file mode 100644
index 000000000..7d6035775
--- /dev/null
+++ b/community/python-bsddb/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2008-2009 Jesus Cea Avion
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE. \ No newline at end of file
diff --git a/community/python-bsddb/PKGBUILD b/community/python-bsddb/PKGBUILD
new file mode 100644
index 000000000..26291aead
--- /dev/null
+++ b/community/python-bsddb/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 78214 2012-10-17 10:25:23Z allan $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsandrade@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgbase=python-bsddb
+pkgname=('python2-bsddb' 'python-bsddb')
+pkgver=5.3.0
+pkgrel=3
+pkgdesc="Python interface for BerkeleyDB"
+license=('MIT')
+arch=('i686' 'x86_64')
+url="http://www.jcea.es/programacion/pybsddb.htm"
+makedepends=('python2-distribute' 'python-distribute')
+source=(http://pypi.python.org/packages/source/b/bsddb3/bsddb3-${pkgver}.tar.gz
+ LICENSE)
+sha1sums=('8743f6d7a2f5471094941a46859723aae88f3915'
+ 'ef4e4caf618781104dbf5824279ed39d127b4713')
+
+build () {
+ cd "${srcdir}"
+
+ cp -r bsddb3-${pkgver}{,-python2}
+
+ # Build python 3 module
+ cd bsddb3-${pkgver}
+ python3 setup.py --berkeley-db=/usr build
+
+ # Build python 2 module
+ cd ../bsddb3-${pkgver}-python2
+ python2 setup.py --berkeley-db=/usr build
+}
+
+package_python2-bsddb() {
+ depends=('db' 'python2>=2.7')
+ cd "${srcdir}/bsddb3-${pkgver}-python2"
+
+ python2 setup.py --berkeley-db=/usr install --root="${pkgdir}" --skip-build --optimize=1
+ install -Dm644 "${srcdir}"/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_python-bsddb() {
+ depends=('db' 'python>=3.3')
+ cd "${srcdir}/bsddb3-${pkgver}"
+
+ python3 setup.py --berkeley-db=/usr install --root="${pkgdir}" --skip-build --optimize=1
+ install -Dm644 "${srcdir}"/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/python-cchardet/PKGBUILD b/community/python-cchardet/PKGBUILD
new file mode 100644
index 000000000..839d69e74
--- /dev/null
+++ b/community/python-cchardet/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 90632 2013-05-13 12:37:47Z mtorromeo $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgname=python-cchardet
+pkgname=(python-cchardet python2-cchardet)
+pkgver=0.3.3
+pkgrel=1
+pkgdesc="Universal encoding detector faster than chardet."
+url="http://pypi.python.org/pypi/cchardet/"
+makedepends=('cython' 'cython2' 'python-distribute' 'python2-distribute')
+license=('MIT')
+arch=('i686' 'x86_64')
+source=(http://pypi.python.org/packages/source/c/cchardet/cchardet-$pkgver.tar.gz)
+
+build() {
+ cd "$srcdir/cchardet-$pkgver"
+
+ rm -rf ../buildpy3; mkdir ../buildpy3
+ python setup.py build -b ../buildpy3
+
+ rm -rf ../buildpy2; mkdir ../buildpy2
+ python2 setup.py build -b ../buildpy2
+ find ../buildpy2 -name \*.py -exec sed -r 's|^#!(.*)python$|#!\1python2|' -i {} +
+}
+
+package() {
+ cd "$srcdir/cchardet-$pkgver"
+ python setup.py install --root="$pkgdir"
+ install -m0644 -D "README.rst" "$pkgdir/usr/share/licenses/$pkgname/README.rst"
+}
+
+package_python-cchardet() {
+ depends=(python)
+
+
+ cd "$srcdir/cchardet-$pkgver"
+ rm -rf build; ln -s ../buildpy3 build
+ python setup.py install --skip-build -O1 --root="$pkgdir"
+ install -m0644 -D "README.rst" "$pkgdir/usr/share/licenses/$pkgname/README.rst"
+}
+
+package_python2-cchardet() {
+ depends=(python2)
+
+ cd "$srcdir/cchardet-$pkgver"
+ rm -rf build; ln -s ../buildpy2 build
+ python2 setup.py install --skip-build -O1 --root="$pkgdir"
+ install -m0644 -D "README.rst" "$pkgdir/usr/share/licenses/$pkgname/README.rst"
+}
+
+sha256sums=('f326245fa9dc1541a3251cbae66ce2fa8d94969a6f6dfb2800e3beb3636cd2b8')
diff --git a/community/python-cx_freeze/PKGBUILD b/community/python-cx_freeze/PKGBUILD
new file mode 100644
index 000000000..cc563b77a
--- /dev/null
+++ b/community/python-cx_freeze/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 84904 2013-02-25 23:57:50Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Ray Rashif <schiv@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+
+pkgbase=python-cx_freeze
+pkgname=('python-cx_freeze' 'python2-cx_freeze')
+pkgver=4.3.1
+pkgrel=1
+pkgdesc='Set of utilities for freezing Python scripts into executables'
+arch=('x86_64' 'i686')
+url='http://cx-freeze.sourceforge.net/'
+license=('PSF')
+makedepends=('python' 'python2')
+source=("http://prdownloads.sourceforge.net/cx-freeze/cx_Freeze-$pkgver.tar.gz")
+sha256sums=('11f8818ab4e1754c81c1226ce3430f29e6ba231a22a153ce3794a5cc464fa11b')
+
+package_python-cx_freeze() {
+ depends=('python')
+ conflicts=('cx_freeze' 'python2-cx_freeze')
+
+ cd "$srcdir/cx_Freeze-$pkgver"
+ python setup.py install --root "$pkgdir" --optimize 1
+}
+
+package_python2-cx_freeze() {
+ depends=('python2')
+ conflicts=('cx_freeze' 'python-cx_freeze')
+ replaces=('cx_freeze')
+
+ cd "$srcdir/cx_Freeze-$pkgver"
+ python2 setup.py install --root "$pkgdir" --optimize 1
+ # Python 2 shebang fix
+ find "$pkgdir" -name qotd.py -exec sed -i '0,/on/s//on2/' {} \;
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python-gnupginterface/PKGBUILD b/community/python-gnupginterface/PKGBUILD
new file mode 100644
index 000000000..33446e9b3
--- /dev/null
+++ b/community/python-gnupginterface/PKGBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Aaron Schaefer <aaron@elasticdog.com>
+
+pkgbase=python-gnupginterface
+pkgname=python2-gnupginterface
+pkgver=0.3.2
+pkgrel=1
+pkgdesc='A Python interface to GNU Privacy Guard (GnuPG).'
+arch=('i686' 'x86_64')
+url='http://py-gnupg.sourceforge.net/'
+license=('GPL')
+depends=('gnupg' 'python2')
+conflicts=('python-gnupginterface<=0.3.2-6')
+replaces=('python-gnupginterface<=0.3.2-6')
+source=("http://downloads.sourceforge.net/sourceforge/py-gnupg/GnuPGInterface-$pkgver.tar.gz")
+md5sums=('d4627d83446f96bd8c22f8d15db3f7c2')
+
+package_python2-gnupginterface() {
+ cd "$srcdir/GnuPGInterface-$pkgver"
+ python2 setup.py install --root="$pkgdir" -O1
+}
diff --git a/community/python-matplotlib/PKGBUILD b/community/python-matplotlib/PKGBUILD
new file mode 100644
index 000000000..6ca3778a1
--- /dev/null
+++ b/community/python-matplotlib/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 90082 2013-05-06 19:39:14Z foutrelis $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+pkgbase=python-matplotlib
+pkgname=('python2-matplotlib' 'python-matplotlib')
+pkgver=1.2.1
+pkgrel=2
+pkgdesc="A python plotting library, making publication quality plots"
+arch=('i686' 'x86_64')
+url='http://matplotlib.org'
+license=('custom')
+makedepends=('python2-pytz' 'python2-numpy' 'python2-pyqt' 'python-pytz' 'python-numpy' 'pyqt'
+ 'tk' 'python-cairo' 'python2-cairo' 'python-dateutil' 'python2-dateutil'
+ 'python-gobject' 'python2-gobject' 'python-pyparsing' 'python2-pyparsing'
+ 'pygtk' 'python-six' 'ghostscript' 'texlive-bin')
+optdepends=('pygtk: for use with the GTK or GTKAgg backend'
+ 'tk: used by the TkAgg backend'
+ 'ghostscript: usetex dependencies'
+ 'texlive-bin: usetex dependencies')
+source=("http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-${pkgver}/matplotlib-${pkgver}.tar.gz")
+sha1sums=('82fc44d0047a713c1b0b1b4ea2503e6a41c57f98')
+
+build() {
+ cd "${srcdir}"/matplotlib-${pkgver}
+
+ # use system python-six
+ rm lib/six.py
+
+ # remove internal copies of pyparsing
+ rm -r lib/matplotlib/pyparsing_py{2,3}.py
+ sed -i -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' lib/matplotlib/{mathtext,fontconfig_pattern}.py
+
+ cd ..
+ cp -a matplotlib-${pkgver} matplotlib-${pkgver}-py3
+
+ # Build python2
+ cd matplotlib-${pkgver}
+ for file in $(find . -name '*.py' -print); do
+ sed -i -e "s|^#!.*/usr/bin/python|#!/usr/bin/python2|" \
+ -e "s|^#!.*/usr/bin/env *python|#!/usr/bin/env python2|" ${file}
+ done
+
+ python2 setup.py build
+
+ # Build python3
+ cd ../matplotlib-${pkgver}-py3
+ for file in $(find . -name '*.py' -print); do
+ sed -i -e "s|^#!.*/usr/bin/python|#!/usr/bin/python3|" \
+ -e "s|^#!.*/usr/bin/env *python|#!/usr/bin/env python3|" ${file}
+ done
+
+ python3 setup.py build
+}
+
+package_python2-matplotlib() {
+ depends=('python2-pytz' 'python2-numpy' 'python2-cairo' 'python2-pyqt' 'python2-dateutil' 'python2-pyparsing')
+
+ cd "${srcdir}"/matplotlib-${pkgver}
+ python2 setup.py install -O1 --skip-build --root "${pkgdir}" --prefix=/usr
+
+ install -dm755 "${pkgdir}"/usr/share/licenses/python2-matplotlib
+ install -m 644 doc/users/license.rst "${pkgdir}"/usr/share/licenses/python2-matplotlib
+}
+
+package_python-matplotlib() {
+ depends=('python-pytz' 'python-numpy' 'python-cairo' 'pyqt' 'python-dateutil' 'python-pyparsing')
+ cd "${srcdir}"/matplotlib-${pkgver}-py3
+ python3 setup.py install -O1 --skip-build --root "${pkgdir}" --prefix=/usr
+
+ install -dm755 "${pkgdir}"/usr/share/licenses/python-matplotlib
+ install -m 644 doc/users/license.rst "${pkgdir}"/usr/share/licenses/python-matplotlib
+}
diff --git a/community/python-mpi4py/PKGBUILD b/community/python-mpi4py/PKGBUILD
new file mode 100644
index 000000000..1f87c3c66
--- /dev/null
+++ b/community/python-mpi4py/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 78230 2012-10-17 10:26:03Z allan $
+# Maintainer : Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Sebastien Binet <binet@cern.ch>
+
+pkgbase=python-mpi4py
+pkgname=('python-mpi4py' 'python2-mpi4py')
+pkgver=1.3
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://mpi4py.scipy.org"
+license=('BSD')
+makedepends=('python' 'python2' 'python-distribute' 'python2-distribute' 'openmpi')
+source=(http://mpi4py.googlecode.com/files/mpi4py-${pkgver}.tar.gz)
+sha1sums=('282c1b9e35b242c9bd86126ebc5af6c70d8c2833')
+
+build() {
+ cd "${srcdir}"
+ cp -a mpi4py-${pkgver}{,-python2}
+
+ # Build python 3 module
+ cd mpi4py-${pkgver}
+ python3 setup.py build
+
+ # Build python 2 module
+ cd ../mpi4py-${pkgver}-python2
+ python2 setup.py build
+}
+
+package_python-mpi4py() {
+ pkgdesc="Python bindings of the Message Passing Interface (MPI)"
+ depends=('python>=3.3' 'openmpi')
+
+ cd "${srcdir}/mpi4py-${pkgver}"
+ python3 setup.py install --root "${pkgdir}" --optimize=1 --skip-build
+}
+
+package_python2-mpi4py() {
+ pkgdesc="Python2 bindings of the Message Passing Interface (MPI)"
+ depends=('python2>=2.7' 'openmpi')
+
+ cd "${srcdir}/mpi4py-${pkgver}-python2"
+ python2 setup.py install --root "${pkgdir}" --optimize=1 --skip-build
+}
diff --git a/community/python-numarray/LICENSE b/community/python-numarray/LICENSE
new file mode 100644
index 000000000..30ff57fc4
--- /dev/null
+++ b/community/python-numarray/LICENSE
@@ -0,0 +1,9 @@
+Copyright (C) 2005 Association of Universities for Research in Astronomy (AURA)
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+3. The name of AURA and its representatives may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY AURA ``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 AURA 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.
diff --git a/community/python-numarray/PKGBUILD b/community/python-numarray/PKGBUILD
new file mode 100644
index 000000000..788f59063
--- /dev/null
+++ b/community/python-numarray/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 78232 2012-10-17 10:26:10Z allan $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Douglas Soares de Andrade <dsandrade@gmail.com>
+
+pkgbase=python-numarray
+pkgname=python2-numarray
+pkgver=1.5.2
+pkgrel=6
+pkgdesc='Provides array manipulation and computational capabilities.'
+arch=('i686' 'x86_64')
+url='http://numpy.scipy.org/'
+license=('BSD')
+depends=('python2')
+conflicts=('python2-numarray<=1.5.2-6')
+replaces=('python2-numarray<=1.5.2-6')
+source=("http://downloads.sourceforge.net/sourceforge/numpy/numarray-${pkgver}.tar.gz"
+ 'LICENSE')
+md5sums=('d2ecfc60fe4869c328b872540d04e0f7'
+ 'e32b4466453e530d7fb0dbeee0ca1044')
+
+build() {
+ cd "${srcdir}/numarray-${pkgver}"
+
+ # python2 fix
+ sed -i 's_#! /usr/bin/env python_#! /usr/bin/env python2_' Examples/convolve/benchmark.py
+}
+
+package_python2-numarray() {
+ cd "${srcdir}/numarray-${pkgver}"
+
+ python2 setup.py install --root="${pkgdir}"
+ install -D ../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/python-numexpr/PKGBUILD b/community/python-numexpr/PKGBUILD
new file mode 100644
index 000000000..ac6d8d3fa
--- /dev/null
+++ b/community/python-numexpr/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 90422 2013-05-12 09:41:18Z aginiewicz $
+# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
+# Contributor: Sebastien Binet <binet@lblbox>
+
+pkgbase=python-numexpr
+pkgname=('python2-numexpr' 'python-numexpr')
+pkgver=2.1
+pkgrel=1
+pkgdesc="A JIT compiler for Python expressions"
+url="http://code.google.com/p/numexpr/"
+arch=('i686' 'x86_64')
+license=('MIT')
+makedepends=('python2-distribute' 'python-distribute' 'python-numpy' 'python2-numpy')
+source=(http://numexpr.googlecode.com/files/numexpr-$pkgver.tar.gz)
+md5sums=('8c138e81fb4214d05453da0fc88bf0d5')
+
+build() {
+ cd "$srcdir"
+ cp -a numexpr-$pkgver numexpr-py2-$pkgver
+
+ msg "Building Python2"
+ cd "$srcdir"/numexpr-py2-$pkgver
+ python2 setup.py build
+
+ msg "Building Python3"
+ cd "$srcdir"/numexpr-$pkgver
+ python setup.py build
+}
+
+package_python2-numexpr() {
+ depends=('python2-numpy')
+
+ cd "$srcdir"/numexpr-py2-$pkgver
+
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+
+ sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/python2|" \
+ $(find "${pkgdir}" -name '*.py')
+
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python-numexpr() {
+ depends=('python-numpy')
+
+ cd "$srcdir"/numexpr-$pkgver
+
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/community/python-openbabel/PKGBUILD b/community/python-openbabel/PKGBUILD
new file mode 100644
index 000000000..a826601e6
--- /dev/null
+++ b/community/python-openbabel/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 80457 2012-11-22 01:42:13Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Michal Bozon <bozonm@vscht.cz>
+
+pkgname=('python-openbabel' 'python2-openbabel')
+pkgver=2.3.2
+pkgrel=1
+pkgdesc='Python bindings for the openbabel library'
+arch=('x86_64' 'i686')
+url='http://openbabel.org/wiki/Python'
+license=('GPL')
+depends=('gcc-libs' "openbabel=${pkgver}" 'eigen2')
+makedepends=('swig' 'cmake' 'python-distribute' 'python2-distribute')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/openbabel/openbabel-$pkgver.tar.gz")
+sha256sums=('4eaca26679aa6cc85ebf96af19191472ac63ca442c36b0427b369c3a25705188')
+
+build() {
+ cp -r openbabel-$pkgver python2-openbabel-$pkgver
+
+ cd $srcdir/openbabel-$pkgver
+
+ # Create babelconfig.h
+ cmake .
+
+ # Regenerate interface with the patched swig 2.0.2
+ cd scripts
+ swig -I../include/ -python -py3 -c++ openbabel-python.i
+ mv openbabel-python_wrap.cxx python/openbabel-python.cpp
+ mv openbabel.py python/
+
+ cd python
+ sed -i '19i os.path.join("/usr/include/openbabel-2.0"),' setup.py
+ sed -i '20i os.path.join("/usr/include/eigen2"),' setup.py
+
+ cd $srcdir/python2-openbabel-$pkgver/scripts/python
+ sed -i '19i os.path.join("/usr/include/openbabel-2.0"),' setup.py
+ sed -i '20i os.path.join("/usr/include/eigen2"),' setup.py
+}
+
+package_python-openbabel() {
+ depends+=('python')
+
+ cd "$srcdir/openbabel-$pkgver/scripts/python"
+
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+}
+
+package_python2-openbabel() {
+ depends+=('python2')
+
+ cd "$srcdir/python2-openbabel-$pkgver/scripts/python"
+
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python-psutil/PKGBUILD b/community/python-psutil/PKGBUILD
new file mode 100644
index 000000000..57ff32024
--- /dev/null
+++ b/community/python-psutil/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 94009 2013-07-13 10:59:45Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgbase=python-psutil
+pkgname=('python-psutil' 'python2-psutil')
+pkgver=1.0.1
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://code.google.com/p/psutil/'
+license=('custom: BSD')
+makedepends=('python' 'python-distribute' 'python2' 'python2-distribute')
+source=("https://psutil.googlecode.com/files/psutil-$pkgver.tar.gz")
+sha1sums=('3d3abb8b7a5479b7299a8d170ec25179410f24d1')
+
+build() {
+ cd psutil-$pkgver
+ python setup.py build --build-lib=build/python
+ python2 setup.py build --build-lib=build/python2
+ find build/python2 -type f -exec \
+ sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
+}
+
+package_python-psutil() {
+ pkgdesc='A cross-platform process and system utilities module for Python'
+ depends=('glibc' 'python')
+
+ cd psutil-$pkgver
+ python setup.py build --build-lib=build/python \
+ install --root="$pkgdir" --optimize=1
+ install -D -m 644 LICENSE "$pkgdir/"usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-psutil() {
+ pkgdesc='A cross-platform process and system utilities module for Python2'
+ depends=('glibc' 'python2')
+
+ cd psutil-$pkgver
+ python2 setup.py build --build-lib=build/python2 \
+ install --root="$pkgdir" --optimize=1
+ install -D -m 644 LICENSE "$pkgdir/"usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python-psycopg1/PKGBUILD b/community/python-psycopg1/PKGBUILD
new file mode 100644
index 000000000..143034103
--- /dev/null
+++ b/community/python-psycopg1/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 78237 2012-10-17 10:26:25Z allan $
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgbase=python-psycopg1
+pkgname=python2-psycopg1
+pkgver=1.1.21
+pkgrel=8
+pkgdesc="A PostgreSQL database adapter for Python"
+arch=('i686' 'x86_64')
+url="http://initd.org/projects/psycopg1"
+license=('GPL')
+depends=('python2-egenix-mx-base' 'postgresql')
+conflicts=('python-psycopg1<=1.1.21-7')
+replaces=('python-psycopg1<=1.1.21-7')
+source=(http://initd.org/psycopg/tarballs/PSYCOPG-1-1/psycopg-$pkgver.tar.gz)
+md5sums=('a31f79f68d6d32898d6f24e11369a106')
+sha1sums=('02d8a8b5dd682306117896c7c63a9a1b518997b6')
+
+build() {
+ cd "$srcdir/psycopg-$pkgver"
+
+ ./configure --prefix=/usr --with-python=/usr/bin/python2 \
+ --with-mxdatetime-includes=/usr/lib/python2.7/site-packages/mx/DateTime/mxDateTime
+ sed -e 's:\(echo " install -m 555 $$mod \)\($(PY_MOD_DIR)\)\("; \\\):\1${DESTDIR}\2/$$mod\3:' \
+ -e 's:\($(INSTALL) -m 555 $$mod \)\($(PY_MOD_DIR)\)\(; \\\):\1${DESTDIR}\2/$$mod\3:' \
+ -i Makefile
+ make
+}
+
+package_python2-psycopg1() {
+ cd "$srcdir/psycopg-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/python-psycopg2/ChangeLog b/community/python-psycopg2/ChangeLog
new file mode 100644
index 000000000..f31be0aaa
--- /dev/null
+++ b/community/python-psycopg2/ChangeLog
@@ -0,0 +1,25 @@
+
+2009-08-05 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated to: 2.0.11
+
+2009-03-24 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.0.9
+
+2009-01-11 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Rebuilt for python 2.6
+
+2008-04-25 Mateusz Herych <heniekk@gmail.com>
+
+ * Built for x86_64 - 2.0.7
+
+2008-04-23 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Built for i686 - 2.0.7
+
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+
+ * Built for x86_64
+
diff --git a/community/python-psycopg2/PKGBUILD b/community/python-psycopg2/PKGBUILD
new file mode 100644
index 000000000..2cdabb5cf
--- /dev/null
+++ b/community/python-psycopg2/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 93151 2013-06-26 09:20:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Maintainer: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+pkgbase=python-psycopg2
+pkgname=('python-psycopg2' 'python2-psycopg2')
+pkgver=2.5.1
+pkgrel=1
+pkgdesc="A PostgreSQL database adapter for the Python programming language."
+arch=('i686' 'x86_64')
+url="http://initd.org/psycopg/"
+license=('LGPL3')
+makedepends=('python2' 'python' 'postgresql-libs>=8.4.1')
+source=(http://initd.org/psycopg/tarballs/PSYCOPG-2-5/psycopg2-$pkgver.tar.gz)
+md5sums=('1b433f83d50d1bc61e09026e906d84c7')
+
+build() {
+ cd "$srcdir/psycopg2-$pkgver"
+ sed -i 's/,PSYCOPG_DEBUG$//' setup.cfg
+}
+
+package_python-psycopg2() {
+ depends=('python' 'postgresql-libs>=8.4.1')
+
+ cd "$srcdir/psycopg2-$pkgver"
+ python setup.py install --root="$pkgdir"
+}
+
+package_python2-psycopg2() {
+ depends=('python2' 'postgresql-libs>=8.4.1')
+
+ cd "$srcdir/psycopg2-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+}
diff --git a/community/python-pybox2d/PKGBUILD b/community/python-pybox2d/PKGBUILD
new file mode 100644
index 000000000..6ef9679f8
--- /dev/null
+++ b/community/python-pybox2d/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+pkgname=python-pybox2d
+pkgver=370
+pkgrel=1
+pkgdesc="Python wrapper for Box2D"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/pybox2d"
+license=('GPL')
+depends=('python' 'swig')
+makedepends=('subversion')
+source=("svn+http://pybox2d.googlecode.com/svn/trunk/")
+md5sums=('SKIP')
+
+build() {
+ cd ${srcdir}/trunk
+
+ python setup.py build
+}
+
+package() {
+ cd ${srcdir}/trunk
+
+ python setup.py install --root=${pkgdir}
+}
+# vim: sw=2 ts=2 et:
diff --git a/community/python-pygit2/PKGBUILD b/community/python-pygit2/PKGBUILD
new file mode 100644
index 000000000..56ab4eef2
--- /dev/null
+++ b/community/python-pygit2/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 88510 2013-04-19 08:16:34Z thestinger $
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+
+pkgbase=python-pygit2
+pkgname=(python-pygit2 python2-pygit2)
+pkgver=0.18.0
+pkgrel=1
+pkgdesc='Python bindings for libgit2'
+url="https://github.com/libgit2/pygit2"
+depends=(libgit2)
+makedepends=(python python2)
+arch=(i686 x86_64)
+license=('GPL2')
+source=(https://github.com/libgit2/pygit2/archive/v${pkgver}.tar.gz)
+md5sums=('25dedbcf38d690dc8b3716389f2702de')
+
+package_python-pygit2() {
+ cd "$srcdir/pygit2-$pkgver"
+ depends+=(python)
+ replaces=(python-libgit2)
+ conflicts=(python-libgit2)
+ LANG=en_US.UTF8 python setup.py install --root="$pkgdir" --optimize=1
+}
+
+package_python2-pygit2() {
+ cd "$srcdir/pygit2-$pkgver"
+ depends+=(python2)
+ replaces=(python2-libgit2)
+ conflicts=(python2-libgit2)
+ python2 setup.py install --root="$pkgdir" --optimize=1
+}
diff --git a/community/python-pymongo/PKGBUILD b/community/python-pymongo/PKGBUILD
new file mode 100644
index 000000000..56e6020e5
--- /dev/null
+++ b/community/python-pymongo/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 92176 2013-06-02 12:35:50Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Thomas S Hatch <thatch45@gmail.com>
+# Contributor: Jelle van der Waa <jelle@vdwaa.nl>
+
+pkgbase=python-pymongo
+pkgname=('python-pymongo' 'python2-pymongo')
+pkgver=2.5.2
+pkgrel=1
+pkgdesc='Python driver for MongoDB'
+arch=('x86_64' 'i686')
+license=('APACHE')
+url='http://pypi.python.org/pypi/pymongo/'
+makedepends=('python-distribute' 'python2-distribute')
+source=("http://pypi.python.org/packages/source/p/pymongo/pymongo-$pkgver.tar.gz")
+sha256sums=('84ac1da67d0dabc711fa8259324d4e94b26a85411bcf0c12dc80a427d9f93ecc')
+
+build() {
+ cd "$srcdir"
+
+ cp -a "pymongo-$pkgver" "pymongo2-$pkgver"
+}
+
+package_python2-pymongo() {
+ depends=('python2')
+
+ cd "$srcdir/pymongo2-$pkgver"
+ python2 setup.py install --root="$pkgdir" --optimize=1
+}
+
+package_python-pymongo() {
+ depends=('python')
+
+ cd "$srcdir/pymongo-$pkgver"
+ python setup.py install --root="$pkgdir" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python-pyopencl/LICENSE.txt b/community/python-pyopencl/LICENSE.txt
new file mode 100644
index 000000000..3ce400f9d
--- /dev/null
+++ b/community/python-pyopencl/LICENSE.txt
@@ -0,0 +1,20 @@
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
diff --git a/community/python-pyopencl/PKGBUILD b/community/python-pyopencl/PKGBUILD
new file mode 100644
index 000000000..13e7212ca
--- /dev/null
+++ b/community/python-pyopencl/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 94047 2013-07-13 12:36:45Z svenstaro $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+
+pkgbase=python-pyopencl
+pkgname=('python2-pyopencl' 'python-pyopencl' 'pyopencl-headers')
+pkgver=2013.1
+pkgrel=1
+pkgdesc="A complete, object-oriented language binding of OpenCL to Python"
+arch=('i686' 'x86_64')
+url="http://mathema.tician.de/software/pyopencl"
+license=('custom')
+makedepends=('boost-libs' 'ctags' 'python2-distribute' 'python-distribute' 'libcl' 'opencl-headers' 'mesa' 'boost' 'python2-mako' 'python-mako' 'python-numpy' 'python2-numpy')
+source=("http://pypi.python.org/packages/source/p/pyopencl/pyopencl-${pkgver}.tar.gz"
+ 'LICENSE.txt')
+sha1sums=('76331c9042d0286c7c722407dec0fb975a6b340c'
+ '2e6966b3d9b15603ce2c3ff79eeadd63c5d066b7')
+
+build() {
+ cd "$srcdir"
+
+ cp -a pyopencl-$pkgver{,-python2}
+
+ cd "${srcdir}/pyopencl-${pkgver}"
+ python3 ./configure.py --cl-enable-gl --no-use-shipped-boost --boost-python-libname=boost_python3
+ python3 setup.py build
+
+ cd "$srcdir/pyopencl-$pkgver-python2"
+ python2 ./configure.py --cl-enable-gl --no-use-shipped-boost --boost-python-libname=boost_python
+ python2 setup.py build
+}
+
+package_python-pyopencl() {
+ depends=('libcl' 'opencl-headers' 'mesa' 'boost-libs' 'python' 'python-numpy' 'python-mako' 'python-pytools' 'pyopencl-headers')
+
+ cd "${srcdir}/pyopencl-${pkgver}"
+ python3 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+
+ rm -fr "${pkgdir}"/usr/include
+
+ install -D -m644 $srcdir/LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_python2-pyopencl() {
+ depends=('libcl' 'opencl-headers' 'mesa' 'boost-libs' 'python2' 'python2-numpy' 'python2-mako' 'python2-pytools' 'pyopencl-headers')
+
+ cd "${srcdir}/pyopencl-${pkgver}-python2"
+ python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+
+ rm -fr "${pkgdir}"/usr/include/
+
+ install -D -m644 $srcdir/LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_pyopencl-headers() {
+ cd "${srcdir}/pyopencl-${pkgver}/"
+ install -dm755 "${pkgdir}"/usr/include/pyopencl
+
+ for file in pyopencl-airy.cl pyopencl-bessel-j.cl pyopencl-bessel-y.cl pyopencl-complex.h pyopencl-eval-tbl.cl pyopencl-ranluxcl.cl; do
+ install -m644 pyopencl/cl/${file} "${pkgdir}"/usr/include/pyopencl
+ done
+}
diff --git a/community/python-pyproj/PKGBUILD b/community/python-pyproj/PKGBUILD
new file mode 100644
index 000000000..90bf625f0
--- /dev/null
+++ b/community/python-pyproj/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 87227 2013-03-28 19:33:14Z stephane $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+
+pkgbase=python-pyproj
+pkgname=('python-pyproj' 'python2-pyproj')
+pkgver=1.9.3
+pkgrel=1
+pkgdesc="Python interfaces to PROJ.4 library"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/pyproj"
+license=('custom')
+source=(http://pyproj.googlecode.com/files/pyproj-${pkgver}.tar.gz)
+makedepends=('python' 'python2')
+sha1sums=('3f290241e113ea63d0487a48e7e054cc1c3e19f8')
+
+build() {
+ cd "${srcdir}"
+
+ cp -a pyproj-${pkgver}{,-python2}
+
+ # Build python 3 module
+ cd pyproj-${pkgver}
+ python3 setup.py build
+
+ # Build python 2 module
+ cd ../pyproj-${pkgver}-python2
+ python2 setup.py build
+}
+
+package_python-pyproj() {
+ depends=('proj' 'python>=3.3')
+
+ cd "${srcdir}"/pyproj-${pkgver}
+ python3 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+
+ install -dm755 "${pkgdir}"/usr/share/licenses/${pkgname}
+ install -m644 LICENSE_proj4 "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_python2-pyproj() {
+ depends=('proj' 'python2>=2.7')
+ replaces=('pyproj')
+
+ cd "${srcdir}"/pyproj-${pkgver}-python2
+ python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+
+ install -dm755 "${pkgdir}"/usr/share/licenses/${pkgname}
+ install -m644 LICENSE_proj4 "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/python-pytables/PKGBUILD b/community/python-pytables/PKGBUILD
new file mode 100644
index 000000000..02b6a74a5
--- /dev/null
+++ b/community/python-pytables/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 93702 2013-07-08 14:16:08Z aginiewicz $
+# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
+# Contributor: Sebastien Binet <binet@cern.ch>
+
+pkgbase=python-pytables
+pkgname=('python2-pytables' 'python-pytables')
+pkgver=3.0.0
+pkgrel=3
+arch=("i686" "x86_64")
+pkgdesc="A package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data"
+url="http://www.pytables.org"
+license=("BSD")
+makedepends=('lzo2' 'hdf5' 'python2-numexpr' 'cython2' 'python-numexpr' 'cython')
+source=("http://pypi.python.org/packages/source/t/tables/tables-$pkgver.tar.gz")
+md5sums=('9c8a18d51be5e94a2ae50ea31d26f8c2')
+
+build() {
+ cd "$srcdir"
+ cp -a tables-$pkgver tables-py2-$pkgver
+
+ msg "Building Python2"
+ cd "$srcdir"/tables-py2-$pkgver
+ python2 setup.py build
+
+ msg "Building Python3"
+ cd "$srcdir"/tables-$pkgver
+ python setup.py build
+}
+
+package_python2-pytables() {
+ depends=('lzo2' 'hdf5' 'python2-numexpr' 'cython2')
+
+ cd "$srcdir"/tables-py2-${pkgver}
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ # see FS#36015
+ mv "$pkgdir"/usr/bin/pt2to3{,-2.7}
+ mv "$pkgdir"/usr/bin/ptdump{,-2.7}
+ mv "$pkgdir"/usr/bin/ptrepack{,-2.7}
+}
+
+package_python-pytables() {
+ depends=('lzo2' 'hdf5' 'python-numexpr' 'cython')
+
+ cd "$srcdir"/tables-${pkgver}
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
diff --git a/community/python-pyxattr/PKGBUILD b/community/python-pyxattr/PKGBUILD
new file mode 100644
index 000000000..afad28f49
--- /dev/null
+++ b/community/python-pyxattr/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 92209 2013-06-02 18:57:49Z bpiotrowski $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Jon Bergli Heier <snakebite@jvnv.net>
+
+pkgname=('python2-pyxattr' 'python-pyxattr')
+pkgbase=python-pyxattr
+_pkgname=pyxattr
+pkgver=0.5.2
+pkgrel=1
+pkgdesc='A python extension module that allows you to manipulate the extended attributes.'
+arch=('i686' 'x86_64')
+url='http://pyxattr.k1024.org/'
+license=('GPL')
+makedepends=('python2' 'python' 'python2-distribute' 'python-distribute')
+source=("http://pyxattr.k1024.org/downloads/pyxattr-$pkgver.tar.gz")
+md5sums=('9ff2e4218badc201b689b6d254290001')
+
+package_python2-pyxattr() {
+ depends=('python2')
+ provides=('pyxattr')
+ conflicts=('pyxattr')
+ replaces=('pyxattr')
+
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ python2 setup.py install --root="${pkgdir}"
+}
+
+package_python-pyxattr() {
+ depends=('python')
+
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ python setup.py install --root="${pkgdir}"
+}
diff --git a/community/python-pyzmq/PKGBUILD b/community/python-pyzmq/PKGBUILD
new file mode 100644
index 000000000..c531e17c1
--- /dev/null
+++ b/community/python-pyzmq/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 92654 2013-06-10 15:28:34Z bpiotrowski $
+# Maintainer: Kyle Keen <keenerd at gmail dot com>
+pkgbase=python-pyzmq
+pkgname=(python2-pyzmq python-pyzmq)
+pkgver=13.1.0
+pkgrel=1
+pkgdesc="Python bindings for zeromq, written in Cython"
+arch=(i686 x86_64)
+url="http://www.zeromq.org/bindings:python"
+license=('LGPL')
+depends=(zeromq python)
+makedepends=(python python2 zeromq)
+#source=(https://github.com/zeromq/pyzmq/downloads/pyzmq-$pkgver.tar.gz)
+source=(https://pypi.python.org/packages/source/p/pyzmq/pyzmq-$pkgver.tar.gz)
+md5sums=('b54a2209a4efed93ed00282d949db8d9')
+
+build() {
+ cd "$srcdir"
+ cp -a pyzmq-${pkgver} py2zmq-${pkgver}
+ cd "$srcdir/pyzmq-$pkgver"
+ # py3 errors added in 2.2.0.1
+ sed -i 's|except socket.error, e:|except socket.error as e:|' zmq/eventloop/ioloop.py
+ sed -i 's|except gevent.Timeout, t:|except gevent.Timeout as t:|' zmq/green/core.py
+ cd "$srcdir/py2zmq-$pkgver"
+ sed -i 's|^#!/usr/bin/env python$|&2|' $(find ./ -name '*.py')
+}
+
+package_python2-pyzmq() {
+ pkgdesc="Python2 bindings for zeromq, written in Cython"
+ depends=(zeromq python2)
+ cd "$srcdir/py2zmq-$pkgver"
+ python2 setup.py install --root="$pkgdir" --optimize=0
+}
+
+package_python-pyzmq() {
+ pkgdesc="Python3 bindings for zeromq, written in Cython"
+ depends=(zeromq python)
+ cd "$srcdir/pyzmq-$pkgver"
+ python3 setup.py install --root="$pkgdir" --optimize=0
+}
+
+check()
+{
+ cd "$srcdir/pyzmq-$pkgver"
+ python3 setup.py build_ext --inplace
+ python3 setup.py test
+ cd "$srcdir/py2zmq-$pkgver"
+ python2 setup.py build_ext --inplace
+ python2 setup.py test
+}
diff --git a/community/python-reportlab/ChangeLog b/community/python-reportlab/ChangeLog
new file mode 100644
index 000000000..85b5db51f
--- /dev/null
+++ b/community/python-reportlab/ChangeLog
@@ -0,0 +1,18 @@
+
+2009-02-17 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.3
+
+2008-11-03 Giovanni Scafora <giovanni@archlinux.org>
+
+ * Rebuilt against python 2.6
+
+2008-09-14 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updating for x86_64: 2.2
+
+2008-09-13 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Adding ChangeLog
+ * Updating for i686: 2.2
+
diff --git a/community/python-reportlab/PKGBUILD b/community/python-reportlab/PKGBUILD
new file mode 100644
index 000000000..6e44f03d6
--- /dev/null
+++ b/community/python-reportlab/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 78251 2012-10-17 10:27:06Z allan $
+# Maintainer:
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgbase=python-reportlab
+pkgname=python2-reportlab
+_origname=reportlab
+pkgver=2.6
+pkgrel=1
+pkgdesc="A proven industry-strength PDF generating solution"
+arch=('i686' 'x86_64')
+url="http://www.reportlab.org/rl_toolkit.html"
+depends=('python2' 'freetype2')
+conflicts=('python-reportlab<=2.5-2')
+replaces=('python-reportlab<=2.5-2')
+license=('CUSTOM')
+source=(http://www.reportlab.org/ftp/${_origname}-$pkgver.tar.gz)
+md5sums=('e5d27a24a2c8456b168913242aa1940f')
+
+build() {
+ cd $srcdir/${_origname}-$pkgver
+
+ # python2 fix
+ for file in src/reportlab/graphics/widgets/table.py src/reportlab/lib/normalDate.py \
+ src/reportlab/pdfgen/pycanvas.py; do
+ sed -i 's_#!.*/usr/bin/env python_#!/usr/bin/env python2_' $file
+ done
+}
+
+package_python2-reportlab() {
+ cd $srcdir/${_origname}-$pkgver
+ python2 setup.py install --root=$pkgdir --optimize=1
+ install -D -m644 LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/license.txt
+}
diff --git a/community/python-scipy/PKGBUILD b/community/python-scipy/PKGBUILD
new file mode 100644
index 000000000..03e73c7e6
--- /dev/null
+++ b/community/python-scipy/PKGBUILD
@@ -0,0 +1,84 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: 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>
+
+pkgname=('python-scipy' 'python2-scipy')
+pkgver=0.12.0
+pkgrel=1
+pkgdesc="SciPy is open-source software for mathematics, science, and engineering."
+arch=('i686' 'x86_64')
+url="http://www.scipy.org/"
+license=('BSD')
+makedepends=('gcc-fortran' 'python-numpy' 'python2-numpy')
+checkdepends=('python-nose' 'python2-nose')
+source=("http://downloads.sourceforge.net/scipy/scipy-${pkgver}.tar.gz" )
+# "http://pkgbuild.com/~jelle/0001-GEN-regenerate-C-sources-with-Cython-0.17.1.patch.xz")
+
+build() {
+ unset LDFLAGS
+ unset FFLAGS
+
+ # Changing the arithmetic parameter (Thanks to Fabrizio Castellano)
+ sed -i "s/\#define\ UNK\ 1/\#define\ IBMPC\ 1/" \
+ scipy-${pkgver}/scipy/special/cephes/mconf.h
+
+ # 2 builds
+ cp -r scipy-${pkgver} scipy-${pkgver}-py2
+
+ # build for python3
+ cd scipy-${pkgver}
+#patch -Np1 -i $srcdir/0001-GEN-regenerate-C-sources-with-Cython-0.17.1.patch
+ python3 setup.py config_fc --fcompiler=gnu95 build
+
+ # build for python2
+ cd ../scipy-${pkgver}-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
+}
+
+check() {
+ cd scipy-${pkgver}
+# figure out how to run tests in the source tree easily
+# python -c "from scipy import test; test('full')"
+
+ cd ../scipy-${pkgver}-py2
+# figure out how to run tests in the source tree easily
+# python2 -c "from scipy import test; test('full')"
+}
+
+package_python-scipy() {
+ depends=('python-numpy')
+ provides=('python3-scipy' 'scipy')
+
+ cd scipy-${pkgver}
+
+ python3 setup.py config_fc --fcompiler=gnu95 install \
+ --prefix=/usr --root=${pkgdir} --optimize=1
+
+ install -Dm644 LICENSE.txt \
+ "${pkgdir}/usr/share/licenses/python-scipy/LICENSE"
+}
+
+package_python2-scipy() {
+ depends=('python2-numpy')
+ conflicts=('python-scipy<0.9.0')
+
+ cd scipy-${pkgver}-py2
+
+ python2 setup.py config_fc --fcompiler=gnu95 install \
+ --prefix=/usr --root=${pkgdir} --optimize=1
+
+ install -Dm644 LICENSE.txt \
+ "${pkgdir}/usr/share/licenses/python2-scipy/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
+md5sums=('8fb4da324649f655e8557ea92b998786')
diff --git a/community/python-sfml/PKGBUILD b/community/python-sfml/PKGBUILD
new file mode 100644
index 000000000..d38c21200
--- /dev/null
+++ b/community/python-sfml/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+pkgname=python-sfml
+pkgver=1.3
+pkgrel=1
+pkgdesc="The unofficial Python binding for SFML"
+arch=('i686' 'x86_64')
+url="http://python-sfml.org"
+license=('LGPL')
+depends=('sfml' 'python')
+makedepends=('cython' 'git')
+source=("git://github.com/Sonkun/python-sfml.git#tag=v${pkgver}")
+md5sums=("SKIP")
+
+build() {
+ cd "$srcdir"/python-sfml
+
+ python setup.py build_ext
+}
+
+package() {
+ cd "$srcdir"/python-sfml
+
+ python setup.py install --root="${pkgdir}" --prefix=/usr
+
+ # Copying the License file
+ install -D -m644 "$srcdir/python-sfml/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/python-simplejson/PKGBUILD b/community/python-simplejson/PKGBUILD
new file mode 100644
index 000000000..7805c6889
--- /dev/null
+++ b/community/python-simplejson/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 89809 2013-05-02 13:39:19Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: David Moore <davidm@sjsoft.com>
+
+pkgbase=python-simplejson
+pkgname=("$pkgbase" 'python2-simplejson')
+pkgver=3.2.0
+pkgrel=1
+pkgdesc='Simple, fast, extensible JSON encoder/decoder for Python'
+license=('MIT')
+arch=('x86_64' 'i686')
+url='http://undefined.org/python/#simplejson'
+makedepends=('python' 'python2-distribute')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/simplejson/simplejson/tarball/v${pkgver}")
+sha256sums=('507036d10039ccf437625437b2521c0f691c20c3911b2b7183d5a66c98d36432')
+
+package_python-simplejson() {
+ depends=('python')
+
+ cd "$srcdir/simplejson-simplejson-"*
+ python setup.py install --root="$pkgdir"
+ install -Dm644 "$srcdir/simplejson-simplejson"-*/LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-simplejson() {
+ depends=('python2')
+
+ cd "$srcdir/simplejson-simplejson-"*
+ python2 setup.py install --root="$pkgdir"
+ install -Dm644 "$srcdir/simplejson-simplejson"-*/LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python-simplejson/python-simplejson.changelog b/community/python-simplejson/python-simplejson.changelog
new file mode 100644
index 000000000..c1e227d24
--- /dev/null
+++ b/community/python-simplejson/python-simplejson.changelog
@@ -0,0 +1,20 @@
+2012-07-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * python-simplejson 2.6.1-1
+
+2012-05-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * python-simplejson 2.5.2-1
+
+2012-03-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * python-simplejson 2.3.3-1
+
+2011-10-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * python-simplejson 2.2.1-1
+
+2011-05-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * python-simplejson 2.1.3-1
+
+2010-05-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 2.1.1
+
+2010-03-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 2.1.0
diff --git a/community/python-sqlalchemy/PKGBUILD b/community/python-sqlalchemy/PKGBUILD
new file mode 100644
index 000000000..d72c1b2dd
--- /dev/null
+++ b/community/python-sqlalchemy/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 89654 2013-05-01 16:07:24Z jelle $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgbase=python-sqlalchemy
+pkgname=('python-sqlalchemy' 'python2-sqlalchemy')
+pkgver=0.8.1
+pkgrel=1
+arch=('i686' 'x86_64') # python2 package contain .so
+url="http://www.sqlalchemy.org/"
+license=('custom: MIT')
+makedepends=('python' 'python2' 'python-distribute' 'python2-distribute' 'python-nose' 'python2-nose')
+source=(http://downloads.sourceforge.net/sourceforge/sqlalchemy/SQLAlchemy-$pkgver.tar.gz)
+md5sums=('8e27886edc49e69921af77c2274caa41')
+
+build() {
+ cp -a SQLAlchemy-$pkgver SQLAlchemy2-$pkgver
+ cd SQLAlchemy-$pkgver
+ python setup.py build
+ cd ../SQLAlchemy2-$pkgver
+ python2 setup.py build
+}
+
+check() {
+ cd SQLAlchemy-${pkgver}
+ python setup.py check
+ python2 setup.py check
+
+}
+
+package_python-sqlalchemy() {
+ pkgdesc='Python SQL toolkit and Object Relational Mapper'
+ depends=('python')
+
+ cd SQLAlchemy-${pkgver}
+ python setup.py install --root="${pkgdir}"
+ install -D -m644 LICENSE \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-sqlalchemy() {
+ pkgdesc='Python 2 SQL toolkit and Object Relational Mapper'
+ depends=('python2')
+
+ cd SQLAlchemy2-$pkgver
+ python2 setup.py install --root="$pkgdir"
+ install -D -m644 LICENSE \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/python-yaml/PKGBUILD b/community/python-yaml/PKGBUILD
new file mode 100644
index 000000000..c71d9e086
--- /dev/null
+++ b/community/python-yaml/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 78260 2012-10-17 10:27:30Z allan $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Michal Bozon <michal.bozon__at__gmail.com>
+
+pkgbase=python-yaml
+pkgname=(python2-yaml python-yaml)
+pkgver=3.10
+pkgrel=3
+pkgdesc="Python bindings for YAML, using fast libYAML library"
+arch=('i686' 'x86_64')
+url="http://pyyaml.org"
+license=('MIT')
+makedepends=('python' 'python2' 'libyaml')
+install='python-yaml.install'
+source=(http://pyyaml.org/download/pyyaml/PyYAML-$pkgver.tar.gz)
+md5sums=('74c94a383886519e9e7b3dd1ee540247')
+
+build() {
+ true
+}
+
+package_python2-yaml() {
+ depends=('python2' 'libyaml')
+
+ cd $srcdir/PyYAML-$pkgver
+ python2 setup.py install --prefix=/usr --root=$pkgdir
+ install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python-yaml() {
+ depends=('python' 'libyaml')
+
+ cd $srcdir/PyYAML-$pkgver
+ python setup.py install --prefix=/usr --root=$pkgdir
+ install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/python-yaml/python-yaml.install b/community/python-yaml/python-yaml.install
new file mode 100644
index 000000000..e2ae0674b
--- /dev/null
+++ b/community/python-yaml/python-yaml.install
@@ -0,0 +1,7 @@
+post_install() {
+ cat << EOT
+==> Note that even though this package uses libyaml library,
+==> slower pure python implementation is used by default.
+==> See http://pyyaml.org/wiki/PyYAMLDocumentation
+EOT
+}
diff --git a/community/python2-cheetah/Changelog b/community/python2-cheetah/Changelog
new file mode 100644
index 000000000..e95e8c91f
--- /dev/null
+++ b/community/python2-cheetah/Changelog
@@ -0,0 +1,12 @@
+2012-03-25 Julien Nicoulaud <julien.nicoulaud@gmail.com>
+
+ * 2.4.4-5 :
+ Change dependency on 'python-markdown' to 'python2-markdown' since
+ FS#28265 is solved.
+
+2012-01-31 Julien Nicoulaud <julien.nicoulaud@gmail.com>
+
+ * 2.4.4-4 :
+ Add changelog.
+ Remove unneeded shebang modification.
+
diff --git a/community/python2-cheetah/PKGBUILD b/community/python2-cheetah/PKGBUILD
new file mode 100644
index 000000000..1a9fb9000
--- /dev/null
+++ b/community/python2-cheetah/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Julien Nicoulaud <julien.nicoulaud@gmail.com>
+# Contributor: James Rayner <james@archlinux.org>
+# Contributor: Todd Maynard <arch@toddmaynard.com>
+# Source: https://github.com/nicoulaj/archlinux-packages
+pkgname=python2-cheetah
+pkgver=2.4.4
+pkgrel=5
+pkgdesc="A Python-powered template engine and code generator"
+arch=(i686 x86_64)
+url="http://www.cheetahtemplate.org"
+license=(custom)
+depends=(python2 python2-markdown)
+makedepends=(python2-distribute)
+optdepends=('python2-pygments: for the CodeHighlighter filter')
+provides=(cheetah python-cheetah)
+conflicts=(cheetah python-cheetah)
+changelog=Changelog
+source=(http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${pkgver}.tar.gz)
+md5sums=('853917116e731afbc8c8a43c37e6ddba')
+
+build() {
+ cd "${srcdir}/Cheetah-${pkgver}"
+ python2 setup.py build
+}
+
+package() {
+ msg "Install..."
+ cd "${srcdir}/Cheetah-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" || return 1
+
+ msg2 "Install copyright resources in /usr/share/licenses/${pkgname}..."
+ install -Dm644 "${srcdir}/Cheetah-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/python2-cjson/PKGBUILD b/community/python2-cjson/PKGBUILD
new file mode 100644
index 000000000..2d95793a4
--- /dev/null
+++ b/community/python2-cjson/PKGBUILD
@@ -0,0 +1,19 @@
+# $Id: PKGBUILD 66126 2012-02-23 01:35:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Lincoln de Sousa <lincoln@archlinux-br.org>
+
+pkgname=python2-cjson
+pkgver=1.0.5
+pkgrel=5
+arch=('i686' 'x86_64')
+license=('LGPL')
+pkgdesc="Fast JSON encoder/decoder for Python"
+url="http://pypi.python.org/pypi/python-cjson/"
+depends=('python2')
+source=("http://pypi.python.org/packages/source/p/python-cjson/python-cjson-$pkgver.tar.gz")
+md5sums=('4d55b66ecdf0300313af9d030d9644a3')
+
+build() {
+ cd $srcdir/python-cjson-$pkgver
+ python2 setup.py install --root=$pkgdir
+}
diff --git a/community/python2-fonttools/PKGBUILD b/community/python2-fonttools/PKGBUILD
new file mode 100644
index 000000000..424946513
--- /dev/null
+++ b/community/python2-fonttools/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 93407 2013-07-03 09:46:05Z aginiewicz $
+# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
+# Contributor: Firmicus <firmicus āt gmx dōt net>
+
+pkgname=python2-fonttools
+pkgver=2.4
+pkgrel=1
+pkgdesc="Converts OpenType and TrueType fonts to and from XML"
+url="http://sourceforge.net/projects/fonttools/"
+license=("BSD")
+arch=('i686' 'x86_64')
+depends=("python2-numpy")
+makedepends=("python2-distribute")
+provides=('fonttools') # temporary compatibility because of rename
+replaces=('fonttools')
+source=(http://downloads.sourceforge.net/fonttools/fonttools-$pkgver.tar.gz)
+md5sums=('41b2d2be48214d2af848e04fded54689')
+
+build() {
+ cd "$srcdir"/fonttools-$pkgver
+
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir"/fonttools-$pkgver
+
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -D -m755 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ chmod oga+r "$pkgdir"/usr/share/man/man1/ttx.1
+ sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find "${pkgdir}" -name '*.py')
+}
+
diff --git a/community/python2-fuse/PKGBUILD b/community/python2-fuse/PKGBUILD
new file mode 100644
index 000000000..ef79aceef
--- /dev/null
+++ b/community/python2-fuse/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 77237 2012-10-07 19:35:53Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk@gmail.com>
+
+pkgname=python2-fuse
+pkgver=0.2.1
+pkgrel=4
+arch=('i686' 'x86_64')
+pkgdesc="Python bindings for FUSE"
+url="http://fuse.sourceforge.net/wiki/index.php/FusePython"
+license=('LGPL')
+depends=('fuse' 'python2')
+replaces=('python-fuse')
+conflicts=('python-fuse')
+makedepends=('pkgconfig')
+source=(http://downloads.sourceforge.net/sourceforge/fuse/fuse-python-${pkgver}.tar.gz)
+md5sums=('9d9c5c2311ac04291ce822dfece108f8')
+
+package() {
+ cd "$srcdir/fuse-python-$pkgver"
+
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+}
diff --git a/community/python2-gevent-beta/PKGBUILD b/community/python2-gevent-beta/PKGBUILD
new file mode 100644
index 000000000..180ae5b40
--- /dev/null
+++ b/community/python2-gevent-beta/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 83594 2013-02-03 14:32:24Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+_pkgbase=gevent
+pkgname=python2-${_pkgbase}-beta
+pkgver=1.0rc2
+pkgrel=3
+pkgdesc="Python networking library based on greenlet and libev - Beta version"
+arch=('i686' 'x86_64')
+url="http://www.gevent.org/"
+license=('MIT')
+depends=('python2-greenlet')
+makedepends=('cython2')
+conflicts=('python2-gevent')
+provides=("python2-gevent=$pkgver")
+source=("https://github.com/SiteSupport/gevent/archive/$pkgver.tar.gz")
+
+package() {
+ cd "$srcdir/${_pkgbase}-${pkgver}"
+ msg "Starting make..."
+
+ # Workaround
+ unset MAKEFLAGS
+
+ LIBEV_EMBED=1 \
+ CARES_EMBED=1 \
+ CYTHON=cython2 \
+ PYTHON=python2 \
+ python2 setup.py install \
+ --prefix=/usr \
+ --root="$pkgdir"
+}
+
+md5sums=('e1bce8e15c7ebb08788978c0f4860f9d')
diff --git a/community/python2-gevent/PKGBUILD b/community/python2-gevent/PKGBUILD
new file mode 100644
index 000000000..5b62ecde1
--- /dev/null
+++ b/community/python2-gevent/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 70305 2012-05-04 08:21:08Z mtorromeo $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Ralf Schmitt <ralf@systemexit.de>
+
+pkgname=python2-gevent
+pkgver=0.13.8
+pkgrel=2
+arch=('i686' 'x86_64')
+pkgdesc="Python network library that uses greenlet and libevent for easy and scalable concurrency"
+license=("MIT")
+url="http://www.gevent.org/"
+depends=('libevent' 'python2-greenlet')
+makedepends=('python2-distribute')
+
+source=(http://pypi.python.org/packages/source/g/gevent/gevent-$pkgver.tar.gz)
+
+build() {
+ cd "$srcdir/gevent-$pkgver"
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir/gevent-$pkgver"
+ python2 setup.py install -O1 --root="$pkgdir"
+ install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm0644 LICENSE.pyevent "$pkgdir/usr/share/licenses/$pkgname/LICENSE.pyevent"
+}
+
+md5sums=('ca9dcaa7880762d8ebbc266b11252960')
diff --git a/community/python2-gnutls/PKGBUILD b/community/python2-gnutls/PKGBUILD
new file mode 100644
index 000000000..3a7c86a04
--- /dev/null
+++ b/community/python2-gnutls/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 74655 2012-08-01 13:54:20Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Hugo Doria <hugo@archlinux.org>
+# Contributor: N3RD3X <n3rd3x@linuxmail.org>
+
+pkgname=python2-gnutls
+pkgver=1.2.4
+pkgrel=2
+pkgdesc="Python wrapper for the GNUTLS library"
+arch=('i686' 'x86_64')
+url="http://cheeseshop.python.org/pypi/python-gnutls"
+depends=('python2' 'gnutls')
+license=('LGPL')
+source=(http://pypi.python.org/packages/source/p/python-gnutls/python-gnutls-${pkgver}.tar.gz
+ gnutls3.patch)
+md5sums=('e3536c421291a791869d875a41dcb26a'
+ '24bc95d9f5e71e9f5e180706cbb09248')
+
+build() {
+ cd ${srcdir}/python-gnutls-${pkgver}
+ patch -Np0 <$srcdir/gnutls3.patch
+ python2 setup.py install --root=${pkgdir}
+}
diff --git a/community/python2-gnutls/gnutls3.patch b/community/python2-gnutls/gnutls3.patch
new file mode 100644
index 000000000..5110de2f2
--- /dev/null
+++ b/community/python2-gnutls/gnutls3.patch
@@ -0,0 +1,271 @@
+diff -ru gnutls/library/functions.py gnutls.fixed/library/functions.py
+--- gnutls/library/functions.py 2011-08-19 04:48:14.000000000 +0100
++++ gnutls.fixed/library/functions.py 2012-08-01 11:56:43.450975419 +0100
+@@ -4,7 +4,7 @@
+ import sys
+ from ctypes import *
+
+-from gnutls.library import libgnutls, libgnutls_extra
++from gnutls.library import libgnutls
+ from gnutls.library.types import *
+
+
+@@ -121,14 +121,6 @@
+ gnutls_certificate_get_peers.argtypes = [gnutls_session_t, POINTER(c_uint)]
+ gnutls_certificate_get_peers.restype = POINTER(gnutls_datum_t)
+
+-gnutls_certificate_get_x509_cas = libgnutls.gnutls_certificate_get_x509_cas
+-gnutls_certificate_get_x509_cas.argtypes = [gnutls_certificate_credentials_t, POINTER(POINTER(gnutls_x509_crt_t)), POINTER(c_uint)]
+-gnutls_certificate_get_x509_cas.restype = None
+-
+-gnutls_certificate_get_x509_crls = libgnutls.gnutls_certificate_get_x509_crls
+-gnutls_certificate_get_x509_crls.argtypes = [gnutls_certificate_credentials_t, POINTER(POINTER(gnutls_x509_crl_t)), POINTER(c_uint)]
+-gnutls_certificate_get_x509_crls.restype = None
+-
+ gnutls_certificate_send_x509_rdn_sequence = libgnutls.gnutls_certificate_send_x509_rdn_sequence
+ gnutls_certificate_send_x509_rdn_sequence.argtypes = [gnutls_session_t, c_int]
+ gnutls_certificate_send_x509_rdn_sequence.restype = None
+@@ -221,10 +213,6 @@
+ gnutls_certificate_type_set_priority.argtypes = [gnutls_session_t, POINTER(c_int)]
+ gnutls_certificate_type_set_priority.restype = c_int
+
+-gnutls_certificate_verify_peers = libgnutls.gnutls_certificate_verify_peers
+-gnutls_certificate_verify_peers.argtypes = [gnutls_session_t]
+-gnutls_certificate_verify_peers.restype = c_int
+-
+ gnutls_certificate_verify_peers2 = libgnutls.gnutls_certificate_verify_peers2
+ gnutls_certificate_verify_peers2.argtypes = [gnutls_session_t, POINTER(c_uint)]
+ gnutls_certificate_verify_peers2.restype = c_int
+@@ -393,10 +381,6 @@
+ gnutls_error_to_alert.argtypes = [c_int, POINTER(c_int)]
+ gnutls_error_to_alert.restype = c_int
+
+-gnutls_extra_check_version = libgnutls_extra.gnutls_extra_check_version
+-gnutls_extra_check_version.argtypes = [c_char_p]
+-gnutls_extra_check_version.restype = c_char_p
+-
+ gnutls_fingerprint = libgnutls.gnutls_fingerprint
+ gnutls_fingerprint.argtypes = [gnutls_digest_algorithm_t, POINTER(gnutls_datum_t), c_void_p, POINTER(size_t)]
+ gnutls_fingerprint.restype = c_int
+@@ -409,10 +393,6 @@
+ gnutls_global_init.argtypes = []
+ gnutls_global_init.restype = c_int
+
+-gnutls_global_init_extra = libgnutls_extra.gnutls_global_init_extra
+-gnutls_global_init_extra.argtypes = []
+-gnutls_global_init_extra.restype = c_int
+-
+ gnutls_global_set_log_function = libgnutls.gnutls_global_set_log_function
+ gnutls_global_set_log_function.argtypes = [gnutls_log_func]
+ gnutls_global_set_log_function.restype = None
+@@ -461,86 +441,6 @@
+ gnutls_hex_encode.argtypes = [POINTER(gnutls_datum_t), c_char_p, POINTER(size_t)]
+ gnutls_hex_encode.restype = c_int
+
+-gnutls_ia_allocate_client_credentials = libgnutls_extra.gnutls_ia_allocate_client_credentials
+-gnutls_ia_allocate_client_credentials.argtypes = [POINTER(gnutls_ia_client_credentials_t)]
+-gnutls_ia_allocate_client_credentials.restype = c_int
+-
+-gnutls_ia_allocate_server_credentials = libgnutls_extra.gnutls_ia_allocate_server_credentials
+-gnutls_ia_allocate_server_credentials.argtypes = [POINTER(gnutls_ia_server_credentials_t)]
+-gnutls_ia_allocate_server_credentials.restype = c_int
+-
+-gnutls_ia_enable = libgnutls_extra.gnutls_ia_enable
+-gnutls_ia_enable.argtypes = [gnutls_session_t, c_int]
+-gnutls_ia_enable.restype = None
+-
+-gnutls_ia_endphase_send = libgnutls_extra.gnutls_ia_endphase_send
+-gnutls_ia_endphase_send.argtypes = [gnutls_session_t, c_int]
+-gnutls_ia_endphase_send.restype = c_int
+-
+-gnutls_ia_extract_inner_secret = libgnutls_extra.gnutls_ia_extract_inner_secret
+-gnutls_ia_extract_inner_secret.argtypes = [gnutls_session_t, c_char_p]
+-gnutls_ia_extract_inner_secret.restype = None
+-
+-gnutls_ia_free_client_credentials = libgnutls_extra.gnutls_ia_free_client_credentials
+-gnutls_ia_free_client_credentials.argtypes = [gnutls_ia_client_credentials_t]
+-gnutls_ia_free_client_credentials.restype = None
+-
+-gnutls_ia_free_server_credentials = libgnutls_extra.gnutls_ia_free_server_credentials
+-gnutls_ia_free_server_credentials.argtypes = [gnutls_ia_server_credentials_t]
+-gnutls_ia_free_server_credentials.restype = None
+-
+-gnutls_ia_generate_challenge = libgnutls_extra.gnutls_ia_generate_challenge
+-gnutls_ia_generate_challenge.argtypes = [gnutls_session_t, size_t, c_char_p]
+-gnutls_ia_generate_challenge.restype = c_int
+-
+-gnutls_ia_get_client_avp_ptr = libgnutls_extra.gnutls_ia_get_client_avp_ptr
+-gnutls_ia_get_client_avp_ptr.argtypes = [gnutls_ia_client_credentials_t]
+-gnutls_ia_get_client_avp_ptr.restype = c_void_p
+-
+-gnutls_ia_get_server_avp_ptr = libgnutls_extra.gnutls_ia_get_server_avp_ptr
+-gnutls_ia_get_server_avp_ptr.argtypes = [gnutls_ia_server_credentials_t]
+-gnutls_ia_get_server_avp_ptr.restype = c_void_p
+-
+-gnutls_ia_handshake = libgnutls_extra.gnutls_ia_handshake
+-gnutls_ia_handshake.argtypes = [gnutls_session_t]
+-gnutls_ia_handshake.restype = c_int
+-
+-gnutls_ia_handshake_p = libgnutls_extra.gnutls_ia_handshake_p
+-gnutls_ia_handshake_p.argtypes = [gnutls_session_t]
+-gnutls_ia_handshake_p.restype = c_int
+-
+-gnutls_ia_permute_inner_secret = libgnutls_extra.gnutls_ia_permute_inner_secret
+-gnutls_ia_permute_inner_secret.argtypes = [gnutls_session_t, size_t, c_char_p]
+-gnutls_ia_permute_inner_secret.restype = c_int
+-
+-gnutls_ia_recv = libgnutls_extra.gnutls_ia_recv
+-gnutls_ia_recv.argtypes = [gnutls_session_t, c_char_p, size_t]
+-gnutls_ia_recv.restype = ssize_t
+-
+-gnutls_ia_send = libgnutls_extra.gnutls_ia_send
+-gnutls_ia_send.argtypes = [gnutls_session_t, c_char_p, size_t]
+-gnutls_ia_send.restype = ssize_t
+-
+-gnutls_ia_set_client_avp_function = libgnutls_extra.gnutls_ia_set_client_avp_function
+-gnutls_ia_set_client_avp_function.argtypes = [gnutls_ia_client_credentials_t, gnutls_ia_avp_func]
+-gnutls_ia_set_client_avp_function.restype = None
+-
+-gnutls_ia_set_client_avp_ptr = libgnutls_extra.gnutls_ia_set_client_avp_ptr
+-gnutls_ia_set_client_avp_ptr.argtypes = [gnutls_ia_client_credentials_t, c_void_p]
+-gnutls_ia_set_client_avp_ptr.restype = None
+-
+-gnutls_ia_set_server_avp_function = libgnutls_extra.gnutls_ia_set_server_avp_function
+-gnutls_ia_set_server_avp_function.argtypes = [gnutls_ia_server_credentials_t, gnutls_ia_avp_func]
+-gnutls_ia_set_server_avp_function.restype = None
+-
+-gnutls_ia_set_server_avp_ptr = libgnutls_extra.gnutls_ia_set_server_avp_ptr
+-gnutls_ia_set_server_avp_ptr.argtypes = [gnutls_ia_server_credentials_t, c_void_p]
+-gnutls_ia_set_server_avp_ptr.restype = None
+-
+-gnutls_ia_verify_endphase = libgnutls_extra.gnutls_ia_verify_endphase
+-gnutls_ia_verify_endphase.argtypes = [gnutls_session_t, c_char_p]
+-gnutls_ia_verify_endphase.restype = c_int
+-
+ gnutls_init = libgnutls.gnutls_init
+ gnutls_init.argtypes = [POINTER(gnutls_session_t), gnutls_connection_end_t]
+ gnutls_init.restype = c_int
+@@ -733,10 +633,6 @@
+ gnutls_psk_free_server_credentials.argtypes = [gnutls_psk_server_credentials_t]
+ gnutls_psk_free_server_credentials.restype = None
+
+-gnutls_psk_netconf_derive_key = libgnutls.gnutls_psk_netconf_derive_key
+-gnutls_psk_netconf_derive_key.argtypes = [c_char_p, c_char_p, c_char_p, POINTER(gnutls_datum_t)]
+-gnutls_psk_netconf_derive_key.restype = c_int
+-
+ gnutls_psk_server_get_username = libgnutls.gnutls_psk_server_get_username
+ gnutls_psk_server_get_username.argtypes = [gnutls_session_t]
+ gnutls_psk_server_get_username.restype = c_char_p
+@@ -857,10 +753,6 @@
+ gnutls_session_enable_compatibility_mode.argtypes = [gnutls_session_t]
+ gnutls_session_enable_compatibility_mode.restype = None
+
+-gnutls_session_get_client_random = libgnutls.gnutls_session_get_client_random
+-gnutls_session_get_client_random.argtypes = [gnutls_session_t]
+-gnutls_session_get_client_random.restype = c_void_p
+-
+ gnutls_session_get_data = libgnutls.gnutls_session_get_data
+ gnutls_session_get_data.argtypes = [gnutls_session_t, c_void_p, POINTER(size_t)]
+ gnutls_session_get_data.restype = c_int
+@@ -873,18 +765,10 @@
+ gnutls_session_get_id.argtypes = [gnutls_session_t, c_void_p, POINTER(size_t)]
+ gnutls_session_get_id.restype = c_int
+
+-gnutls_session_get_master_secret = libgnutls.gnutls_session_get_master_secret
+-gnutls_session_get_master_secret.argtypes = [gnutls_session_t]
+-gnutls_session_get_master_secret.restype = c_void_p
+-
+ gnutls_session_get_ptr = libgnutls.gnutls_session_get_ptr
+ gnutls_session_get_ptr.argtypes = [gnutls_session_t]
+ gnutls_session_get_ptr.restype = c_void_p
+
+-gnutls_session_get_server_random = libgnutls.gnutls_session_get_server_random
+-gnutls_session_get_server_random.argtypes = [gnutls_session_t]
+-gnutls_session_get_server_random.restype = c_void_p
+-
+ gnutls_session_is_resumed = libgnutls.gnutls_session_is_resumed
+ gnutls_session_is_resumed.argtypes = [gnutls_session_t]
+ gnutls_session_is_resumed.restype = c_int
+@@ -905,10 +789,6 @@
+ gnutls_set_default_priority.argtypes = [gnutls_session_t]
+ gnutls_set_default_priority.restype = c_int
+
+-gnutls_sign_algorithm_get_name = libgnutls.gnutls_sign_algorithm_get_name
+-gnutls_sign_algorithm_get_name.argtypes = [gnutls_sign_algorithm_t]
+-gnutls_sign_algorithm_get_name.restype = c_char_p
+-
+ gnutls_sign_callback_get = libgnutls.gnutls_sign_callback_get
+ gnutls_sign_callback_get.argtypes = [gnutls_session_t, POINTER(c_void_p)]
+ gnutls_sign_callback_get.restype = gnutls_sign_func
+@@ -937,14 +817,6 @@
+ gnutls_transport_set_errno.argtypes = [gnutls_session_t, c_int]
+ gnutls_transport_set_errno.restype = None
+
+-gnutls_transport_set_global_errno = libgnutls.gnutls_transport_set_global_errno
+-gnutls_transport_set_global_errno.argtypes = [c_int]
+-gnutls_transport_set_global_errno.restype = None
+-
+-gnutls_transport_set_lowat = libgnutls.gnutls_transport_set_lowat
+-gnutls_transport_set_lowat.argtypes = [gnutls_session_t, c_int]
+-gnutls_transport_set_lowat.restype = None
+-
+ gnutls_transport_set_ptr = libgnutls.gnutls_transport_set_ptr
+ gnutls_transport_set_ptr.argtypes = [gnutls_session_t, gnutls_transport_ptr_t]
+ gnutls_transport_set_ptr.restype = None
+@@ -1501,10 +1373,6 @@
+ gnutls_x509_privkey_sign_hash.argtypes = [gnutls_x509_privkey_t, POINTER(gnutls_datum_t), POINTER(gnutls_datum_t)]
+ gnutls_x509_privkey_sign_hash.restype = c_int
+
+-gnutls_x509_privkey_verify_data = libgnutls.gnutls_x509_privkey_verify_data
+-gnutls_x509_privkey_verify_data.argtypes = [gnutls_x509_privkey_t, c_uint, POINTER(gnutls_datum_t), POINTER(gnutls_datum_t)]
+-gnutls_x509_privkey_verify_data.restype = c_int
+-
+ gnutls_x509_rdn_get = libgnutls.gnutls_x509_rdn_get
+ gnutls_x509_rdn_get.argtypes = [POINTER(gnutls_datum_t), c_char_p, POINTER(size_t)]
+ gnutls_x509_rdn_get.restype = c_int
+diff -ru gnutls/library/__init__.py gnutls.fixed/library/__init__.py
+--- gnutls/library/__init__.py 2011-11-11 17:23:49.000000000 +0000
++++ gnutls.fixed/library/__init__.py 2012-08-01 11:57:42.284290997 +0100
+@@ -53,6 +53,9 @@
+ else:
+ raise RuntimeError('cannot find lib%s on this system' % name)
+
++def do_nothing(*args, **kwargs):
++ pass
++
+
+ def initialize_gcrypt():
+ from ctypes import c_void_p
+@@ -104,7 +107,7 @@
+ libgcrypt = load_library(name='gcrypt', version=11)
+ gcry_control = libgcrypt.gcry_control
+ else:
+- gcry_control = libgnutls.gcry_control
++ gcry_control = do_nothing
+
+ gcry_control(GCRYCTL_SET_THREAD_CBS, c_void_p(gcrypt_thread_callbacks_ptr))
+ if system == 'cygwin':
+@@ -117,12 +120,10 @@
+
+
+
+-libgnutls = load_library(name='gnutls', version=26)
+-libgnutls_extra = load_library(name='gnutls-extra', version=26)
++libgnutls = load_library(name='gnutls', version=28)
+
+ initialize_gcrypt()
+ libgnutls.gnutls_global_init()
+-libgnutls_extra.gnutls_global_init_extra()
+
+
+ from gnutls.library import constants
+@@ -136,9 +137,6 @@
+ if functions.gnutls_check_version(__need_version__) is None:
+ version = functions.gnutls_check_version(None)
+ raise RuntimeError("Found GNUTLS library version %s, but at least version %s is required" % (version, __need_version__))
+-if functions.gnutls_extra_check_version(__need_version__) is None:
+- version = functions.gnutls_extra_check_version(None)
+- raise RuntimeError("Found GNUTLS extra library version %s, but at least version %s is required" % (version, __need_version__))
+
+
+ del get_system_name, library_locations, load_library, initialize_gcrypt
diff --git a/community/python2-greenlet/PKGBUILD b/community/python2-greenlet/PKGBUILD
new file mode 100644
index 000000000..d31643caa
--- /dev/null
+++ b/community/python2-greenlet/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 70305 2012-05-04 08:21:08Z mtorromeo $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Ralf Schmitt <ralf@systemexit.de>
+
+pkgname=python2-greenlet
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="python coroutine library"
+license=("MIT")
+url="http://pypi.python.org/pypi/greenlet"
+depends=('python2')
+source=(http://pypi.python.org/packages/source/g/greenlet/greenlet-$pkgver.zip)
+arch=('i686' 'x86_64')
+
+build() {
+ cd "$srcdir/greenlet-$pkgver"
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir/greenlet-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+ install -Dm0644 LICENSE.PSF "$pkgdir/usr/share/licenses/$pkgname/LICENSE.PSF"
+}
+md5sums=('87887570082caadc08fb1f8671dbed71')
diff --git a/community/python2-imaging/PKGBUILD b/community/python2-imaging/PKGBUILD
new file mode 100644
index 000000000..b44c571c2
--- /dev/null
+++ b/community/python2-imaging/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 83335 2013-01-29 19:26:55Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: simo <simo@archlinux.org>
+
+pkgname=python2-imaging
+pkgver=1.1.7
+pkgrel=8
+pkgdesc="PIL. Provides image processing capabilities for python"
+arch=('i686' 'x86_64')
+url="http://www.pythonware.com/products/pil/index.htm"
+license=('custom:"pil"')
+depends=('python2' 'libjpeg' 'freetype2' 'lcms')
+makedepends=('tk' 'sane')
+optdepends=('tk: for the ImageTK module'
+ 'sane: for the ImageSane module')
+provides=("pil=${pkgver}" "python-imaging=${pkgver}")
+conflicts=('pil' 'python-imaging')
+replaces=('pil' 'python-imaging')
+source=(http://effbot.org/downloads/Imaging-${pkgver}.tar.gz)
+md5sums=('fc14a54e1ce02a0225be8854bfba478e')
+
+build() {
+ cd "${srcdir}/Imaging-${pkgver}"
+
+ # FS#33452
+ export CFLAGS="$CFLAGS -fno-strict-aliasing"
+
+ python2 setup.py build_ext
+ cd Sane
+ python2 setup.py build_ext
+}
+
+package() {
+ cd "${srcdir}/Imaging-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+
+ pushd Sane
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+ popd
+
+ install -dm755 "${pkgdir}/usr/include/python2.7/"
+ install -m644 -t "${pkgdir}/usr/include/python2.7/" libImaging/*.h
+
+ # do not have files ending in .py in /usr/bin
+ for f in pildriver pilprint pilconvert pilfile pilfont; do
+ mv "${pkgdir}"/usr/bin/${f}{.py,}
+ done
+
+ # Install license
+ install -Dm644 "${srcdir}/Imaging-${pkgver}/README" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/README"
+}
diff --git a/community/python2-lcms/PKGBUILD b/community/python2-lcms/PKGBUILD
new file mode 100644
index 000000000..3b75364ab
--- /dev/null
+++ b/community/python2-lcms/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 66130 2012-02-23 01:39:55Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Connor Behan <connor.behan@gmail.com>
+
+pkgname=python2-lcms
+pkgver=1.19
+_mver=1.19
+pkgrel=4
+pkgdesc="LittleCMS Python bindings"
+arch=(i686 x86_64)
+license=('CUSTOM')
+depends=('libtiff' 'python2' 'lcms')
+url="http://www.littlecms.com"
+options=('!libtool')
+source=(http://downloads.sourceforge.net/project/lcms/lcms/${_mver}/lcms-$pkgver.tar.gz)
+md5sums=('8af94611baf20d9646c7c2c285859818')
+
+build() {
+ cd $srcdir/lcms-${_mver}
+ ./configure --prefix=/usr --with-python
+ make
+}
+
+package() {
+ cd $srcdir/lcms-${_mver}
+ make DESTDIR=$pkgdir install
+ install -D -m0644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
+ rm -rf $pkgdir/usr/bin \
+ $pkgdir/usr/include \
+ $pkgdir/usr/lib/pkgconfig \
+ $pkgdir/usr/lib/liblcms.* \
+ $pkgdir/usr/share/man/man1/icc2ps.1 \
+ $pkgdir/usr/share/man/man1/icclink.1 \
+ $pkgdir/usr/share/man/man1/jpegicc.1 \
+ $pkgdir/usr/share/man/man1/tifficc.1 \
+ $pkgdir/usr/share/man/man1/wtpt.1
+}
diff --git a/community/python2-ldap/PKGBUILD b/community/python2-ldap/PKGBUILD
new file mode 100644
index 000000000..7086a3b52
--- /dev/null
+++ b/community/python2-ldap/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 93180 2013-06-27 12:10:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Morgan LEFIEUX <comete_AT_archlinuxfr.org>
+
+pkgname=python2-ldap
+pkgver=2.4.13
+pkgrel=1
+pkgdesc="Provides an object-oriented API to access LDAP directory servers from Python programs"
+arch=('i686' 'x86_64')
+url="http://python-ldap.sourceforge.net"
+license=('custom')
+depends=('python2' 'libldap>=2.4.26')
+makedepends=('chrpath')
+replaces=('python-ldap')
+source=(http://pypi.python.org/packages/source/p/python-ldap/python-ldap-$pkgver.tar.gz)
+md5sums=('74b7b50267761540451eade44b2049ee')
+
+build() {
+ cd $srcdir/python-ldap-$pkgver
+ sed -i 's|<sasl.h>|<sasl/sasl.h>|' Modules/LDAPObject.c
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/python-ldap-$pkgver
+ python2 setup.py install --root $pkgdir
+ install -D -m644 LICENCE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ chrpath -d $pkgdir/usr/lib/python2.7/site-packages/_ldap.so
+}
diff --git a/community/python2-m2crypto/PKGBUILD b/community/python2-m2crypto/PKGBUILD
new file mode 100644
index 000000000..a68c5a35d
--- /dev/null
+++ b/community/python2-m2crypto/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 140196 2011-10-09 08:27:16Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Sergej Pupykin <sergej@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=python2-m2crypto
+pkgver=0.21.1
+pkgrel=2
+pkgdesc="A crypto and SSL toolkit for Python"
+arch=('i686' 'x86_64')
+url="http://wiki.osafoundation.org/bin/view/Projects/MeTooCrypto"
+license=('BSD')
+depends=('python2' 'openssl')
+makedepends=('swig')
+source=("http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${pkgver}.tar.gz")
+md5sums=('f93d8462ff7646397a9f77a2fe602d17')
+
+build() {
+ cd "${srcdir}/M2Crypto-${pkgver}"
+ python2 setup.py build
+}
+
+package() {
+ cd "${srcdir}/M2Crypto-${pkgver}"
+ python2 setup.py install --root="${pkgdir}/" --optimize=1
+ install -D -m644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/python2-m2crypto/openssl1.patch b/community/python2-m2crypto/openssl1.patch
new file mode 100644
index 000000000..59dba554d
--- /dev/null
+++ b/community/python2-m2crypto/openssl1.patch
@@ -0,0 +1,531 @@
+Index: tests/test_ssl.py
+===================================================================
+--- tests/test_ssl.py (revision 698)
++++ tests/test_ssl.py (working copy)
+@@ -405,8 +405,11 @@
+ try:
+ ctx = SSL.Context('sslv23', weak_crypto=1)
+ s = SSL.Connection(ctx)
+- s.connect(self.srv_addr)
+- self.failUnlessEqual(s.get_version(), 'SSLv2')
++ if m2.OPENSSL_VERSION_NUMBER < 0x10000000: # SSLv2 ciphers disabled by default in newer OpenSSL
++ s.connect(self.srv_addr)
++ self.failUnlessEqual(s.get_version(), 'SSLv2')
++ else:
++ self.assertRaises(SSL.SSLError, s.connect, self.srv_addr)
+ s.close()
+ finally:
+ self.stop_server(pid)
+Index: tests/test_x509.py
+===================================================================
+--- tests/test_x509.py (revision 698)
++++ tests/test_x509.py (working copy)
+@@ -142,7 +142,7 @@
+ cn.set_data("Hello There!")
+ assert cn.get_data().as_text() == "Hello There!", cn.get_data().as_text()
+
+- assert n.as_hash() == 1697185131
++ self.assertEquals(n.as_hash(), 1697185131)
+
+ self.assertRaises(IndexError, lambda: n[100])
+ self.assert_(n[10])
+Index: tests/test_smime.py
+===================================================================
+--- tests/test_smime.py (revision 698)
++++ tests/test_smime.py (working copy)
+@@ -6,7 +6,7 @@
+ """
+
+ import unittest
+-from M2Crypto import SMIME, BIO, Rand, X509, EVP
++from M2Crypto import SMIME, BIO, Rand, X509, EVP, Err
+
+ class SMIMETestCase(unittest.TestCase):
+ cleartext = 'some text to manipulate'
+@@ -213,7 +213,7 @@
+
+ self.filenameSmime = 'tests/sig.p7s'
+ f = BIO.openfile(self.filenameSmime, 'wb')
+- assert s.write(f, p7, BIO.MemoryBuffer('some text')) == 1
++ assert s.write(f, p7, BIO.MemoryBuffer('some text')) == 1, Err.get_error()
+ f.close()
+
+ def test_write_pkcs7_der(self):
+Index: SWIG/_evp.i
+===================================================================
+--- SWIG/_evp.i (revision 695)
++++ SWIG/_evp.i (working copy)
+@@ -180,7 +180,7 @@
+
+ PKCS5_PBKDF2_HMAC_SHA1(passbuf, passlen, saltbuf, saltlen, iter,
+ keylen, key);
+- ret = PyString_FromStringAndSize(key, keylen);
++ ret = PyString_FromStringAndSize((char*)key, keylen);
+ OPENSSL_cleanse(key, keylen);
+ return ret;
+ }
+@@ -339,7 +339,7 @@
+ klen = EVP_BytesToKey(cipher, md, (unsigned char *)sbuf,
+ (unsigned char *)dbuf, dlen, iter,
+ key, NULL); /* Since we are not returning IV no need to derive it */
+- ret = PyString_FromStringAndSize(key, klen);
++ ret = PyString_FromStringAndSize((char*)key, klen);
+ return ret;
+ }
+
+@@ -435,7 +435,7 @@
+ PyErr_SetString(_evp_err, ERR_reason_error_string(ERR_get_error()));
+ return NULL;
+ }
+- ret = PyString_FromStringAndSize(sigbuf, siglen);
++ ret = PyString_FromStringAndSize((char*)sigbuf, siglen);
+ OPENSSL_cleanse(sigbuf, siglen);
+ OPENSSL_free(sigbuf);
+ return ret;
+@@ -513,7 +513,7 @@
+ PyErr_SetString(PyExc_ValueError, "EVP_PKEY as DER failed");
+ return NULL;
+ }
+- der = PyString_FromStringAndSize(pp, len);
++ der = PyString_FromStringAndSize((char*)pp, len);
+ OPENSSL_free(pp);
+ return der;
+ }
+Index: SWIG/_ssl.i
+===================================================================
+--- SWIG/_ssl.i (revision 695)
++++ SWIG/_ssl.i (working copy)
+@@ -17,13 +17,17 @@
+ %apply Pointer NONNULL { SSL_CTX * };
+ %apply Pointer NONNULL { SSL * };
+ %apply Pointer NONNULL { SSL_CIPHER * };
+-%apply Pointer NONNULL { STACK * };
++%apply Pointer NONNULL { STACK_OF(SSL_CIPHER) * };
++%apply Pointer NONNULL { STACK_OF(X509) * };
+ %apply Pointer NONNULL { BIO * };
+ %apply Pointer NONNULL { DH * };
+ %apply Pointer NONNULL { RSA * };
+ %apply Pointer NONNULL { EVP_PKEY *};
+ %apply Pointer NONNULL { PyObject *pyfunc };
+
++%rename(ssl_get_ciphers) SSL_get_ciphers;
++extern STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *ssl);
++
+ %rename(ssl_get_version) SSL_get_version;
+ extern const char *SSL_get_version(CONST SSL *);
+ %rename(ssl_get_error) SSL_get_error;
+@@ -668,29 +672,25 @@
+ return SSL_CIPHER_get_bits(c, NULL);
+ }
+
+-STACK *ssl_get_ciphers(SSL *ssl) {
+- return (STACK *)SSL_get_ciphers(ssl);
++int sk_ssl_cipher_num(STACK_OF(SSL_CIPHER) *stack) {
++ return sk_SSL_CIPHER_num(stack);
+ }
+
+-int sk_ssl_cipher_num(STACK *stack) {
+- return sk_num(stack);
++SSL_CIPHER *sk_ssl_cipher_value(STACK_OF(SSL_CIPHER) *stack, int idx) {
++ return sk_SSL_CIPHER_value(stack, idx);
+ }
+
+-SSL_CIPHER *sk_ssl_cipher_value(STACK *stack, int idx) {
+- return (SSL_CIPHER *)sk_value(stack, idx);
++STACK_OF(X509) *ssl_get_peer_cert_chain(SSL *ssl) {
++ return SSL_get_peer_cert_chain(ssl);
+ }
+
+-STACK *ssl_get_peer_cert_chain(SSL *ssl) {
+- return (STACK *)SSL_get_peer_cert_chain(ssl);
++int sk_x509_num(STACK_OF(X509) *stack) {
++ return sk_X509_num(stack);
+ }
+
+-int sk_x509_num(STACK *stack) {
+- return sk_num(stack);
++X509 *sk_x509_value(STACK_OF(X509) *stack, int idx) {
++ return sk_X509_value(stack, idx);
+ }
+-
+-X509 *sk_x509_value(STACK *stack, int idx) {
+- return (X509 *)sk_value(stack, idx);
+-}
+ %}
+
+ %threadallow i2d_ssl_session;
+Index: SWIG/_x509.i
+===================================================================
+--- SWIG/_x509.i (revision 695)
++++ SWIG/_x509.i (working copy)
+@@ -148,8 +148,15 @@
+ extern int X509_NAME_print_ex(BIO *, X509_NAME *, int, unsigned long);
+ %rename(x509_name_print_ex_fp) X509_NAME_print_ex_fp;
+ extern int X509_NAME_print_ex_fp(FILE *, X509_NAME *, int, unsigned long);
++
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++%rename(x509_name_hash) X509_NAME_hash_old;
++extern unsigned long X509_NAME_hash_old(X509_NAME *);
++#else
+ %rename(x509_name_hash) X509_NAME_hash;
+ extern unsigned long X509_NAME_hash(X509_NAME *);
++#endif
++
+ %rename(x509_name_get_index_by_nid) X509_NAME_get_index_by_NID;
+ extern int X509_NAME_get_index_by_NID(X509_NAME *, int, int);
+
+@@ -171,7 +178,7 @@
+ if (PyString_Check($input)) {
+ Py_ssize_t len;
+
+- $1 = PyString_AsString($input);
++ $1 = (unsigned char *)PyString_AsString($input);
+ len = PyString_Size($input);
+ if (len > INT_MAX) {
+ PyErr_SetString(PyExc_ValueError, "object too large");
+@@ -184,7 +191,7 @@
+ }
+ }
+ %rename(x509_name_entry_set_data) X509_NAME_ENTRY_set_data;
+-extern int X509_NAME_ENTRY_set_data( X509_NAME_ENTRY *, int, CONST unsigned char *, int);
++extern int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *, int, CONST unsigned char *, int);
+ %typemap(in) (CONST unsigned char *, int);
+
+ %rename(x509_req_new) X509_REQ_new;
+@@ -230,7 +237,7 @@
+ %rename(x509_store_ctx_free) X509_STORE_CTX_free;
+ extern void X509_STORE_CTX_free(X509_STORE_CTX *);
+ %rename(x509_store_ctx_get1_chain) X509_STORE_CTX_get1_chain;
+-extern STACK *X509_STORE_CTX_get1_chain(X509_STORE_CTX *);
++extern STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *);
+
+ %rename(x509_extension_get_critical) X509_EXTENSION_get_critical;
+ extern int X509_EXTENSION_get_critical(X509_EXTENSION *);
+@@ -348,7 +355,7 @@
+ PyErr_SetString(_x509_err, ERR_reason_error_string(ERR_get_error()));
+ }
+ else {
+- ret = PyString_FromStringAndSize(buf, len);
++ ret = PyString_FromStringAndSize((char*)buf, len);
+ OPENSSL_free(buf);
+ }
+ return ret;
+@@ -435,12 +442,12 @@
+ }
+
+ int x509_name_set_by_nid(X509_NAME *name, int nid, PyObject *obj) {
+- return X509_NAME_add_entry_by_NID(name, nid, MBSTRING_ASC, PyString_AsString(obj), -1, -1, 0);
++ return X509_NAME_add_entry_by_NID(name, nid, MBSTRING_ASC, (unsigned char *)PyString_AsString(obj), -1, -1, 0);
+ }
+
+ /* x509_name_add_entry_by_txt */
+ int x509_name_add_entry_by_txt(X509_NAME *name, char *field, int type, char *bytes, int len, int loc, int set) {
+- return X509_NAME_add_entry_by_txt(name, field, type, bytes, len, loc, set);
++ return X509_NAME_add_entry_by_txt(name, field, type, (unsigned char *)bytes, len, loc, set);
+ }
+
+ PyObject *x509_name_get_der(X509_NAME *name)
+@@ -450,23 +457,23 @@
+ }
+
+ /* sk_X509_new_null() is a macro returning "STACK_OF(X509) *". */
+-STACK *sk_x509_new_null(void) {
+- return (STACK *)sk_X509_new_null();
++STACK_OF(X509) *sk_x509_new_null(void) {
++ return sk_X509_new_null();
+ }
+
+ /* sk_X509_free() is a macro. */
+-void sk_x509_free(STACK *stack) {
+- sk_X509_free((STACK_OF(X509) *)stack);
++void sk_x509_free(STACK_OF(X509) *stack) {
++ sk_X509_free(stack);
+ }
+
+ /* sk_X509_push() is a macro. */
+-int sk_x509_push(STACK *stack, X509 *x509) {
+- return sk_X509_push((STACK_OF(X509) *)stack, x509);
++int sk_x509_push(STACK_OF(X509) *stack, X509 *x509) {
++ return sk_X509_push(stack, x509);
+ }
+
+ /* sk_X509_pop() is a macro. */
+-X509 *sk_x509_pop(STACK *stack) {
+- return sk_X509_pop((STACK_OF(X509) *)stack);
++X509 *sk_x509_pop(STACK_OF(X509) *stack) {
++ return sk_X509_pop(stack);
+ }
+
+ int x509_store_load_locations(X509_STORE *store, const char *file) {
+@@ -493,21 +500,29 @@
+ return X509_REQ_set_version(x, version);
+ }
+
+-int x509_req_add_extensions(X509_REQ *req, STACK *exts) {
+- return X509_REQ_add_extensions(req, (STACK_OF(X509_EXTENSION) *)exts);
++int x509_req_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts) {
++ return X509_REQ_add_extensions(req, exts);
+ }
+
+-X509_NAME_ENTRY *x509_name_entry_create_by_txt( X509_NAME_ENTRY **ne, char *field, int type, char *bytes, int len) {
+- return X509_NAME_ENTRY_create_by_txt( ne, field, type, bytes, len);
++X509_NAME_ENTRY *x509_name_entry_create_by_txt(X509_NAME_ENTRY **ne, char *field, int type, char *bytes, int len) {
++ return X509_NAME_ENTRY_create_by_txt( ne, field, type, (unsigned char *)bytes, len);
+ }
+
+-LHASH *
+-x509v3_lhash(){
+- return lh_new(NULL,NULL);
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++LHASH_OF(CONF_VALUE)
++#else
++LHASH
++#endif
++*x509v3_lhash() {
++ return lh_new(NULL, NULL); /* Should probably be lh_CONF_VALUE_new but won't compile. */
+ }
+
+ X509V3_CTX *
+-x509v3_set_conf_lhash(LHASH * lhash){
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++x509v3_set_conf_lhash(LHASH_OF(CONF_VALUE) * lhash) {
++#else
++x509v3_set_conf_lhash(LHASH * lhash) {
++#endif
+ X509V3_CTX * ctx;
+ if (!(ctx=(X509V3_CTX *)PyMem_Malloc(sizeof(X509V3_CTX)))) {
+ PyErr_SetString(PyExc_MemoryError, "x509v3_set_conf_lhash");
+@@ -517,11 +532,20 @@
+ return ctx;
+ }
+
+-X509_EXTENSION *x509v3_ext_conf(LHASH *conf, X509V3_CTX *ctx, char *name, char *value) {
++X509_EXTENSION *
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++x509v3_ext_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, char *name, char *value) {
++#else
++x509v3_ext_conf(LHASH *conf, X509V3_CTX *ctx, char *name, char *value) {
++#endif
+ X509_EXTENSION * ext = NULL;
+ ext = X509V3_EXT_conf(conf, ctx, name, value);
+ PyMem_Free(ctx);
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ lh_CONF_VALUE_free(conf);
++#else
+ lh_free(conf);
++#endif
+ return ext;
+ }
+
+@@ -543,33 +567,33 @@
+ }
+
+ /* sk_X509_EXTENSION_new_null is a macro. */
+-STACK *sk_x509_extension_new_null(void) {
+- return (STACK *)sk_X509_EXTENSION_new_null();
++STACK_OF(X509_EXTENSION) *sk_x509_extension_new_null(void) {
++ return sk_X509_EXTENSION_new_null();
+ }
+
+ /* sk_X509_EXTENSION_free() is a macro. */
+-void sk_x509_extension_free(STACK *stack) {
+- sk_X509_EXTENSION_free((STACK_OF(X509_EXTENSION) *)stack);
++void sk_x509_extension_free(STACK_OF(X509_EXTENSION) *stack) {
++ sk_X509_EXTENSION_free(stack);
+ }
+
+ /* sk_X509_EXTENSION_push() is a macro. */
+-int sk_x509_extension_push(STACK *stack, X509_EXTENSION *x509_ext) {
+- return sk_X509_EXTENSION_push((STACK_OF(X509_EXTENSION) *)stack, x509_ext);
++int sk_x509_extension_push(STACK_OF(X509_EXTENSION) *stack, X509_EXTENSION *x509_ext) {
++ return sk_X509_EXTENSION_push(stack, x509_ext);
+ }
+
+ /* sk_X509_EXTENSION_pop() is a macro. */
+-X509_EXTENSION *sk_x509_extension_pop(STACK *stack) {
+- return sk_X509_EXTENSION_pop((STACK_OF(X509_EXTENSION) *)stack);
++X509_EXTENSION *sk_x509_extension_pop(STACK_OF(X509_EXTENSION) *stack) {
++ return sk_X509_EXTENSION_pop(stack);
+ }
+
+ /* sk_X509_EXTENSION_num() is a macro. */
+-int sk_x509_extension_num(STACK *stack) {
+- return sk_X509_EXTENSION_num((STACK_OF(X509_EXTENSION) *)stack);
++int sk_x509_extension_num(STACK_OF(X509_EXTENSION) *stack) {
++ return sk_X509_EXTENSION_num(stack);
+ }
+
+ /* sk_X509_EXTENSION_value() is a macro. */
+-X509_EXTENSION *sk_x509_extension_value(STACK *stack, int i) {
+- return sk_X509_EXTENSION_value((STACK_OF(X509_EXTENSION) *)stack, i);
++X509_EXTENSION *sk_x509_extension_value(STACK_OF(X509_EXTENSION) *stack, int i) {
++ return sk_X509_EXTENSION_value(stack, i);
+ }
+
+ /* X509_STORE_CTX_get_app_data is a macro. */
+@@ -590,7 +614,7 @@
+ #define I2DTYPE int (*)()
+ #endif
+
+-STACK *
++STACK_OF(X509) *
+ make_stack_from_der_sequence(PyObject * pyEncodedString){
+ STACK_OF(X509) *certs;
+ Py_ssize_t encoded_string_len;
+@@ -606,7 +630,7 @@
+ return NULL;
+ }
+
+- certs = ASN1_seq_unpack((unsigned char *)encoded_string, encoded_string_len, (D2ITYPE)d2i_X509, (void(*)())X509_free );
++ certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free );
+ if (!certs) {
+ PyErr_SetString(_x509_err, ERR_reason_error_string(ERR_get_error()));
+ return NULL;
+@@ -616,13 +640,13 @@
+ }
+
+ PyObject *
+-get_der_encoding_stack(STACK * stack){
++get_der_encoding_stack(STACK_OF(X509) *stack){
+ PyObject * encodedString;
+
+ unsigned char * encoding;
+ int len;
+
+- encoding = ASN1_seq_pack((STACK_OF(X509)*) stack, (I2DTYPE)i2d_X509, NULL, &len);
++ encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len);
+ if (!encoding) {
+ PyErr_SetString(_x509_err, ERR_reason_error_string(ERR_get_error()));
+ return NULL;
+Index: SWIG/_aes.i
+===================================================================
+--- SWIG/_aes.i (revision 695)
++++ SWIG/_aes.i (working copy)
+@@ -76,7 +76,7 @@
+ AES_encrypt((const unsigned char *)in, out, key);
+ else
+ AES_decrypt((const unsigned char *)in, out, key);
+- return PyString_FromStringAndSize(out, outlen);
++ return PyString_FromStringAndSize((char*)out, outlen);
+ }
+
+ int AES_type_check(AES_KEY *key) {
+Index: SWIG/_util.i
+===================================================================
+--- SWIG/_util.i (revision 695)
++++ SWIG/_util.i (working copy)
+@@ -48,7 +48,7 @@
+ PyErr_SetString(_util_err, ERR_reason_error_string(ERR_get_error()));
+ return NULL;
+ }
+- obj = PyString_FromStringAndSize(ret, len);
++ obj = PyString_FromStringAndSize((char*)ret, len);
+ OPENSSL_free(ret);
+ return obj;
+ }
+Index: SWIG/_m2crypto.i
+===================================================================
+--- SWIG/_m2crypto.i (revision 695)
++++ SWIG/_m2crypto.i (working copy)
+@@ -38,6 +38,19 @@
+ #define CONST098
+ #endif
+
++/* Bring in STACK_OF macro definition */
++%include <openssl/safestack.h>
++
++/* Bring in LHASH_OF macro definition */
++/* XXX Can't include lhash.h where LHASH_OF is defined, because it includes
++ XXX stdio.h etc. which we fail to include. So we have to (re)define
++ XXX LHASH_OF here instead.
++%include <openssl/lhash.h>
++*/
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++#define LHASH_OF(type) struct lhash_st_##type
++#endif
++
+ %include constraints.i
+ %include _threads.i
+ %include _lib.i
+Index: SWIG/_rand.i
+===================================================================
+--- SWIG/_rand.i (revision 695)
++++ SWIG/_rand.i (working copy)
+@@ -87,7 +87,7 @@
+ Py_INCREF(Py_None);
+ return Py_None;
+ } else {
+- PyTuple_SET_ITEM(tuple, 0, PyString_FromStringAndSize(blob, n));
++ PyTuple_SET_ITEM(tuple, 0, PyString_FromStringAndSize((char*)blob, n));
+ PyMem_Free(blob);
+ PyTuple_SET_ITEM(tuple, 1, PyInt_FromLong((long)ret));
+ return tuple;
+Index: SWIG/_pkcs7.i
+===================================================================
+--- SWIG/_pkcs7.i (revision 695)
++++ SWIG/_pkcs7.i (working copy)
+@@ -12,7 +12,7 @@
+ %apply Pointer NONNULL { EVP_CIPHER * };
+ %apply Pointer NONNULL { EVP_PKEY * };
+ %apply Pointer NONNULL { PKCS7 * };
+-%apply Pointer NONNULL { STACK * };
++%apply Pointer NONNULL { STACK_OF(X509) * };
+ %apply Pointer NONNULL { X509 * };
+
+ %rename(pkcs7_new) PKCS7_new;
+@@ -54,8 +54,8 @@
+
+ %threadallow pkcs7_encrypt;
+ %inline %{
+-PKCS7 *pkcs7_encrypt(STACK *stack, BIO *bio, EVP_CIPHER *cipher, int flags) {
+- return PKCS7_encrypt((STACK_OF(X509) *)stack, bio, cipher, flags);
++PKCS7 *pkcs7_encrypt(STACK_OF(X509) *stack, BIO *bio, EVP_CIPHER *cipher, int flags) {
++ return PKCS7_encrypt(stack, bio, cipher, flags);
+ }
+
+ PyObject *pkcs7_decrypt(PKCS7 *pkcs7, EVP_PKEY *pkey, X509 *cert, int flags) {
+@@ -96,14 +96,14 @@
+
+ %threadallow pkcs7_sign1;
+ %inline %{
+-PKCS7 *pkcs7_sign1(X509 *x509, EVP_PKEY *pkey, STACK *stack, BIO *bio, int flags) {
+- return PKCS7_sign(x509, pkey, (STACK_OF(X509) *)stack, bio, flags);
++PKCS7 *pkcs7_sign1(X509 *x509, EVP_PKEY *pkey, STACK_OF(X509) *stack, BIO *bio, int flags) {
++ return PKCS7_sign(x509, pkey, stack, bio, flags);
+ }
+ %}
+
+ %threadallow pkcs7_verify1;
+ %inline %{
+-PyObject *pkcs7_verify1(PKCS7 *pkcs7, STACK *stack, X509_STORE *store, BIO *data, int flags) {
++PyObject *pkcs7_verify1(PKCS7 *pkcs7, STACK_OF(X509) *stack, X509_STORE *store, BIO *data, int flags) {
+ int outlen;
+ char *outbuf;
+ BIO *bio;
+@@ -113,7 +113,7 @@
+ PyErr_SetString(PyExc_MemoryError, "pkcs7_verify1");
+ return NULL;
+ }
+- if (!PKCS7_verify(pkcs7, (STACK_OF(X509) *)stack, store, data, bio, flags)) {
++ if (!PKCS7_verify(pkcs7, stack, store, data, bio, flags)) {
+ PyErr_SetString(_pkcs7_err, ERR_reason_error_string(ERR_get_error()));
+ BIO_free(bio);
+ return NULL;
+@@ -131,7 +131,7 @@
+ return ret;
+ }
+
+-PyObject *pkcs7_verify0(PKCS7 *pkcs7, STACK *stack, X509_STORE *store, int flags) {
++PyObject *pkcs7_verify0(PKCS7 *pkcs7, STACK_OF(X509) *stack, X509_STORE *store, int flags) {
+ return pkcs7_verify1(pkcs7, stack, store, NULL, flags);
+ }
+ %}
+@@ -229,7 +229,7 @@
+ }
+
+ /* return STACK_OF(X509)* */
+-STACK *pkcs7_get0_signers(PKCS7 *p7, STACK *certs, int flags) {
++STACK_OF(X509) *pkcs7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags) {
+ return PKCS7_get0_signers(p7, certs, flags);
+ }
+
diff --git a/community/python2-nautilus/PKGBUILD b/community/python2-nautilus/PKGBUILD
new file mode 100644
index 000000000..4e79d732c
--- /dev/null
+++ b/community/python2-nautilus/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 72850 2012-06-24 00:37:15Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Giorgio Gilestro <giorgio@gilest.ro>
+
+pkgname=python2-nautilus
+_pkgname=nautilus-python
+pkgver=1.1
+pkgrel=3
+pkgdesc="Python bindings for the Nautilus Extension API"
+arch=('i686' 'x86_64')
+url="http://projects.gnome.org/nautilus-python/"
+license=('GPL')
+depends=('nautilus' 'python2-gobject')
+replaces=('python-nautilus')
+provides=('python-nautilus')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$_pkgname/$pkgver/$_pkgname-$pkgver.tar.xz)
+sha256sums=('7825e08ada8e131f829d0e7d4144dcfac9fad7bfd7c0600bf3985349c20c496b')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/python2-netifaces/PKGBUILD b/community/python2-netifaces/PKGBUILD
new file mode 100644
index 000000000..daad6408f
--- /dev/null
+++ b/community/python2-netifaces/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 83533 2013-02-02 14:19:06Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Gergely Imreh <imrehg(at)gmail(dot)com>
+# Contributor: Ghost of Kendo <ghostofkendo at gmail dot com>
+
+pkgname=python2-netifaces
+pkgver=0.8
+pkgrel=2
+pkgdesc="Portable module to access network interface information in Python"
+arch=('i686' 'x86_64')
+url="http://alastairs-place.net/netifaces/"
+license=('MIT')
+depends=('python2')
+makedepends=('python2-distribute')
+source=("http://alastairs-place.net/projects/netifaces/netifaces-${pkgver}.tar.gz")
+md5sums=('e57e5983f4c286fac5f8068fbfc5c873')
+
+package() {
+ cd "${srcdir}/netifaces-${pkgver}"
+ python2 setup.py install --root "${pkgdir}"
+
+ # Install license, that is inside the readme file
+ install -Dm644 README "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/python2-poppler/PKGBUILD b/community/python2-poppler/PKGBUILD
new file mode 100644
index 000000000..45587a5d9
--- /dev/null
+++ b/community/python2-poppler/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 58362 2011-11-12 10:53:03Z ibiru $
+# Maintainer: Ray Rashif <schiv@archlinux.org
+# Contributor: György Balló <ballogy@freestart.hu>
+
+pkgname=python2-poppler
+_realname=pypoppler
+pkgver=0.12.1
+pkgrel=7
+pkgdesc="Python 2.x bindings for Poppler"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/poppler-python"
+license=('GPL')
+depends=('pygtk' 'poppler-glib' 'glib2' 'freetype2')
+provides=('pypoppler' 'python-poppler')
+conflicts=('python-poppler')
+replaces=('python-poppler')
+options=(!libtool)
+source=("http://launchpad.net/poppler-python/trunk/development/+download/$_realname-$pkgver.tar.gz"
+ 'pypoppler-0.12.1-poppler-0.16.0.patch')
+md5sums=('1a89e5ed3042afc81bbd4d02e0cf640a'
+ '683c5b67866d56adc2494120cc329dc8')
+
+build() {
+ cd "$srcdir/$_realname-$pkgver"
+
+ # poppler 0.16 compat
+ patch -Np0 -i \
+ "$srcdir/pypoppler-0.12.1-poppler-0.16.0.patch"
+
+ # poppler 0.18 compat
+ sed -i "/pixbuf/,/^)/d" poppler.defs
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$_realname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python2-poppler/pypoppler-0.12.1-poppler-0.16.0.patch b/community/python2-poppler/pypoppler-0.12.1-poppler-0.16.0.patch
new file mode 100644
index 000000000..0e99b57ec
--- /dev/null
+++ b/community/python2-poppler/pypoppler-0.12.1-poppler-0.16.0.patch
@@ -0,0 +1,11 @@
+--- poppler.defs.orig 2010-12-30 05:55:07.000000000 +0000
++++ poppler.defs 2010-12-30 05:55:27.000000000 +0000
+@@ -1794,7 +1794,7 @@
+
+ (define-method get_text
+ (of-object "PopplerPage")
+- (c-name "poppler_page_get_text")
++ (c-name "poppler_page_get_selected_text")
+ (return-type "char*")
+ (parameters
+ '("PopplerSelectionStyle" "style")
diff --git a/community/python2-pybluez/PKGBUILD b/community/python2-pybluez/PKGBUILD
new file mode 100644
index 000000000..672954656
--- /dev/null
+++ b/community/python2-pybluez/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 66132 2012-02-23 01:40:38Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: cs-cam - me.at.camdaniel.com
+
+pkgname=python2-pybluez
+pkgver=0.18
+pkgrel=6
+pkgdesc="Python wrapper for the BlueZ Bluetooth stack"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/pybluez/"
+license=('GPL')
+provides=('pybluez')
+conflicts=('pybluez')
+replaces=('pybluez')
+depends=('python2' 'bluez-libs')
+source=(http://pybluez.googlecode.com/files/PyBluez-$pkgver.tar.gz)
+md5sums=('be8c8ce615c3189fda1aaf3d568314b2')
+
+package() {
+ cd $srcdir/PyBluez-$pkgver
+ python2 setup.py install --root=$pkgdir
+ ln -s bluetooth/_bluetooth.so $pkgdir/usr/lib/python2.7/site-packages/_bluetooth.so
+}
diff --git a/community/python2-pycdio/PKGBUILD b/community/python2-pycdio/PKGBUILD
new file mode 100644
index 000000000..54f608dbd
--- /dev/null
+++ b/community/python2-pycdio/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 86447 2013-03-17 10:57:47Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Alessandro Pezzoni <donbex at nerdshack dot com>
+
+pkgname=python2-pycdio
+pkgver=0.19
+pkgrel=2
+pkgdesc="Python OO interface to libcdio (CD Input and Control library)"
+arch=("i686" "x86_64")
+url="http://pypi.python.org/pypi/pycdio/"
+license=('GPL')
+depends=('python2' 'libcdio')
+makedepends=('python2-distribute' 'pkg-config' 'swig')
+options=(!emptydirs)
+source=("http://pypi.python.org/packages/source/p/${pkgname#python2-}/${pkgname#python2-}-${pkgver}.tar.gz")
+md5sums=('a6b00666ce8d77ab80a4084a8ff1136b')
+
+package() {
+ cd "$srcdir/${pkgname#python2-}-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python2-pychm/PKGBUILD b/community/python2-pychm/PKGBUILD
new file mode 100644
index 000000000..3b53d9005
--- /dev/null
+++ b/community/python2-pychm/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 67234 2012-03-05 14:21:09Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: iom <pizorn@gmail.com>
+
+pkgname=python2-pychm
+pkgver=0.8.4
+pkgrel=1
+pkgdesc="Python bindings for chmlib"
+arch=('x86_64' 'i686')
+url="http://gnochm.sourceforge.net/"
+license=('GPL')
+depends=('chmlib' 'python2')
+replaces=('python-pychm=0.8.4')
+source=(http://downloads.sourceforge.net/sourceforge/gnochm/pychm-$pkgver.tar.gz)
+sha256sums=('84c99d7b28fb6862ee60a5d1d52fad0da4c95f1934e9c101d3293ee7e8b5357d')
+
+package() {
+ cd "$srcdir/pychm-$pkgver"
+
+ python2 setup.py install --root="$pkgdir"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python2-pysqlite-legacy/PKGBUILD b/community/python2-pysqlite-legacy/PKGBUILD
new file mode 100644
index 000000000..9c5ed703d
--- /dev/null
+++ b/community/python2-pysqlite-legacy/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 83742 2013-02-04 21:03:18Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Aaron Griffin <aaron.archlinux.org>
+
+pkgname=python2-pysqlite-legacy
+pkgver=1.0.1
+pkgrel=2
+pkgdesc='Python DB-API 2.0 interface for the legacy SQLite 2'
+arch=('x86_64' 'i686')
+url='http://initd.org/tracker/pysqlite'
+replaces=('python-pysqlite-legacy')
+license=('custom')
+depends=('python2' 'sqlite2')
+source=("http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/distfiles/pysqlite-$pkgver.tar.gz")
+sha256sums=('9ceed0af9e94b2f8701d4f36d7e86715d8ca64283e0b311e1816c031c3658f08')
+
+package() {
+ cd "$srcdir/pysqlite"
+ python2 setup.py install --root="$pkgdir" -O1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python2-pyxmpp/PKGBUILD b/community/python2-pyxmpp/PKGBUILD
new file mode 100644
index 000000000..e1aa144d0
--- /dev/null
+++ b/community/python2-pyxmpp/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 72078 2012-06-08 09:35:02Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=python2-pyxmpp
+pkgver=1.1.2
+pkgrel=3
+pkgdesc='Python XMPP and Jabber implementation based on libxml2'
+arch=('x86_64' 'i686')
+url='http://pyxmpp.jajcus.net/'
+license=('LGPL')
+depends=('python2-dnspython' 'libxml2' 'python2-m2crypto')
+source=("http://pyxmpp.jajcus.net/downloads/pyxmpp-$pkgver.tar.gz")
+sha256sums=('f45365bae922a9e44226622cf086e3ffd3c681012f6c6b609d3306e4d0dfb33c')
+
+build() {
+ cd "$srcdir/pyxmpp-$pkgver"
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir/pyxmpp-$pkgver"
+ python2 setup.py install --root=$pkgdir
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python2-tagpy/PKGBUILD b/community/python2-tagpy/PKGBUILD
new file mode 100644
index 000000000..5da870be5
--- /dev/null
+++ b/community/python2-tagpy/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 94045 2013-07-13 12:36:26Z svenstaro $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Callan Barrett <wizzomafizzo@gmail.com>
+# Contributor: Scott Horowitz <stonecrest@gmail.com>
+
+pkgname=python2-tagpy
+pkgver=0.94.8
+pkgrel=4
+pkgdesc='Python bindings for TagLib'
+arch=('x86_64' 'i686')
+url='http://pypi.python.org/pypi/tagpy'
+license=('MIT')
+depends=('python2' 'taglib' 'boost-libs')
+makedepends=('python2-distribute' 'boost')
+replaces=('tagpy')
+conflicts=('tagpy')
+source=("http://pypi.python.org/packages/source/t/tagpy/tagpy-$pkgver.tar.gz"
+ 'taglib1.7.patch')
+sha256sums=('56eab8dd81510f8af18e19375a0ffd5cd25c8e555104be46a92c3dc08634a0dc'
+ 'f6cc34f8d4d1186270943cd7e1ad3c9478ae7064ab9b2cddf7760d493295cd26')
+
+prepare() {
+ cd "tagpy-$pkgver"
+
+ patch -p1 -i "$srcdir/taglib1.7.patch"
+ sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find . -name '*.py')
+}
+
+build() {
+ cd "tagpy-$pkgver"
+
+ ./configure.py \
+ --taglib-lib-dir=/usr/lib/ \
+ --taglib-inc-dir=/usr/include/taglib/ \
+ --boost-inc-dir=/usr/include/boost/ \
+ --boost-lib-dir=/usr/lib/ \
+ --boost-python-libname=boost_python
+ python2 setup.py build
+}
+
+check(){
+ cd "tagpy-$pkgver"
+
+ python2 setup.py test
+}
+
+package(){
+ cd "tagpy-$pkgver"
+
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/python2-tagpy/taglib1.7.patch b/community/python2-tagpy/taglib1.7.patch
new file mode 100644
index 000000000..df1d6e886
--- /dev/null
+++ b/community/python2-tagpy/taglib1.7.patch
@@ -0,0 +1,37 @@
+From: Andreas Kloeckner <inform@tiker.net>
+Date: Tue, 25 Dec 2012 19:36:42 +0000 (+0100)
+Subject: Update tagpy for TagLib 1.7 compatibility. (patch by unknown Gentoo user, via Lars...
+X-Git-Tag: v2013.1~6
+X-Git-Url: http://git.tiker.net/tagpy.git/commitdiff_plain/d0759c0ec7d24ae8d1af395a1032521eb00b4d1f?hp=c2801c31493f77d7c33d20fa20f0b298b0f322ef
+
+Update tagpy for TagLib 1.7 compatibility. (patch by unknown Gentoo user, via Lars Wendler)
+---
+
+diff --git a/src/wrapper/id3.cpp b/src/wrapper/id3.cpp
+index a76f7ef..5c08ae1 100644
+--- a/src/wrapper/id3.cpp
++++ b/src/wrapper/id3.cpp
+@@ -79,6 +79,10 @@ namespace
+ MF_OL(setVolumeAdjustment, 1, 2);
+ MF_OL(setPeakVolume, 1, 2);
+
++ #if (TAGPY_TAGLIB_HEX_VERSION >= 0x10700)
++ MF_OL(render, 0, 1)
++ #endif
++
+ // -------------------------------------------------------------
+ // MPEG
+ // -------------------------------------------------------------
+@@ -212,7 +216,11 @@ void exposeID3()
+ .DEF_SIMPLE_METHOD(removeFrame)
+ .DEF_SIMPLE_METHOD(removeFrames)
+
+- .DEF_SIMPLE_METHOD(render)
++ #if (TAGPY_TAGLIB_HEX_VERSION >= 0x10700)
++ .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)(int) const)
++ #else
++ .DEF_SIMPLE_METHOD(render)
++ #endif
+ ;
+ }
+
diff --git a/community/python2-traits/PKGBUILD b/community/python2-traits/PKGBUILD
new file mode 100644
index 000000000..4efd06c57
--- /dev/null
+++ b/community/python2-traits/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 88228 2013-04-14 19:37:35Z aginiewicz $
+# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
+
+pkgname=python2-traits
+pkgver=4.3.0
+pkgrel=1
+pkgdesc="Explicitly typed attributes for Python"
+arch=('i686' 'x86_64')
+url="https://github.com/enthought/traits"
+license=('BSD')
+depends=('python2-numpy')
+makedepends=('python2-distribute')
+options=(!emptydirs)
+
+source=("$pkgname-$pkgver.tar.gz::https://github.com/enthought/traits/archive/${pkgver}.tar.gz")
+md5sums=('f78c15c44e0f965cc2ab799806a80388')
+
+build() {
+ cd "$srcdir"/traits-$pkgver
+
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir"/traits-$pkgver
+
+ python2 setup.py install --root="$pkgdir"/ --optimize=1
+
+ install -D LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/community/python2-vorbissimple/PKGBUILD b/community/python2-vorbissimple/PKGBUILD
new file mode 100644
index 000000000..ba0a8be63
--- /dev/null
+++ b/community/python2-vorbissimple/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 66136 2012-02-23 01:43:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=python2-vorbissimple
+pkgver=0.0.2
+pkgrel=6
+pkgdesc="Python bindings for vorbissimple"
+arch=('i686' 'x86_64')
+url="http://kamaelia.sourceforge.net"
+license=('MPL')
+depends=('python2' 'vorbissimple')
+makedepends=('pyrex')
+source=(http://downloads.sourceforge.net/kamaelia/vorbissimple-$pkgver.tar.gz)
+md5sums=('332077b25a4c9547947ab0922361ffda')
+
+build() {
+ cd $srcdir/vorbissimple-$pkgver/python
+ sed -i 's#__new__#__cinit__#' vorbissimple.pyx
+ python2 setup.py install --root=$pkgdir
+}
diff --git a/community/python2-xapian/PKGBUILD b/community/python2-xapian/PKGBUILD
new file mode 100644
index 000000000..2284ee539
--- /dev/null
+++ b/community/python2-xapian/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 89984 2013-05-06 17:28:48Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: DonVla <donvla/users.sourceforge/net>
+# Contributor: Hervé Cauwelier <herve/oursours/net>
+
+pkgname=python2-xapian
+_realname=xapian-bindings
+pkgver=1.2.15
+pkgrel=1
+pkgdesc="Python bindings for Xapian"
+arch=(i686 x86_64)
+url="http://xapian.org/docs/bindings/python/"
+license=('GPL')
+depends=('python2' 'xapian-core')
+source=("http://oligarchy.co.uk/xapian/${pkgver}/${_realname}-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/${_realname}-$pkgver"
+
+ ./configure XAPIAN_CONFIG=/usr/bin/xapian-config \
+ --prefix=/usr --with-python \
+ PYTHON=/usr/bin/python2
+
+ make
+}
+
+
+package() {
+ cd "$srcdir/${_realname}-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+# vim:set ts=2 sw=2 et:
+sha512sums=('b3733308f0446fa041dcae677b3d3316bd8e775fcd1a1770ca2fab5b60e40463bbbce210cb1161161f6e9f1ff5e5473d38c2dab922b7f4f2705ac165d991c0ec')
diff --git a/community/pyvorbis/PKGBUILD b/community/pyvorbis/PKGBUILD
new file mode 100644
index 000000000..6e5de6442
--- /dev/null
+++ b/community/pyvorbis/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 64987 2012-02-19 11:27:59Z jelle $
+# Contributor: Jason Chu <jason@archlinux.org>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=pyvorbis
+pkgver=1.4
+pkgrel=6
+pkgdesc="Python vorbis wrapper library"
+url="http://ekyo.nerim.net/software/pyogg/index.html"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('python2' 'libvorbis' 'pyogg>=1.3-3')
+source=(http://ekyo.nerim.net/software/pyogg/${pkgname}-${pkgver}.tar.gz
+ pyvorbis-1.4-python2.5.patch
+ pyogg-ticket2-fix.patch)
+md5sums=('b4921e792c0a74f75b9d3057df10ee7c'
+ 'f971a6f0ebb6cb7fe00dfc1f778b2d0d'
+ '3547bba78916ef9030bff6fe67194714')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np0 -i ${srcdir}/pyvorbis-1.4-python2.5.patch || return 1
+ patch -Np0 -i ${srcdir}/pyogg-ticket2-fix.patch || return 1
+ python2 ./config_unix.py --prefix=/usr
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ python2 setup.py install --root=${pkgdir}
+}
diff --git a/community/pyvorbis/pyogg-ticket2-fix.patch b/community/pyvorbis/pyogg-ticket2-fix.patch
new file mode 100644
index 000000000..b518b3638
--- /dev/null
+++ b/community/pyvorbis/pyogg-ticket2-fix.patch
@@ -0,0 +1,27 @@
+--- src/pyvorbisfile.c 2007-05-14 22:41:05.000000000 +0400
++++ src/pyvorbisfile.c.new 2007-05-14 22:45:20.000000000 +0400
+@@ -173,9 +173,7 @@
+ if (ret == NULL) {
+ PyObject_Del(newobj);
+ return NULL;
+- } else
+- Py_DECREF(ret);
+-
++ }
+ return (PyObject *) newobj;
+ }
+
+@@ -191,10 +189,10 @@
+ close */
+ Py_DECREF(py_self->py_file);
+ } else {
+- /* Otherwise, we opened the file and should close it. */
+- fclose(py_self->c_file);
++ /* Do NOT close the file -- ov_open() takes ownership of the FILE*,
++ and ov_close() is responsible for closing it. */
+ }
+-
++ free(py_self->ovf);
+ PyObject_Del(self);
+ }
+
diff --git a/community/pyvorbis/pyvorbis-1.4-python2.5.patch b/community/pyvorbis/pyvorbis-1.4-python2.5.patch
new file mode 100644
index 000000000..41386d23e
--- /dev/null
+++ b/community/pyvorbis/pyvorbis-1.4-python2.5.patch
@@ -0,0 +1,60 @@
+--- src/pyvorbisinfo.c 2007-03-13 01:23:23.000000000 +0200
++++ src/pyvorbisinfo.c.new 2007-03-13 01:29:36.000000000 +0200
+@@ -134,7 +134,7 @@
+ static void
+ py_ov_info_dealloc(PyObject *self)
+ {
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+ #define CMP_RET(x) \
+@@ -418,7 +418,7 @@
+ free(ovc_self->vc);
+ }
+
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+
+--- src/pyvorbiscodec.c 2003-05-13 11:17:13.000000000 +0300
++++ src/pyvorbiscodec.c.new 2007-03-13 01:31:38.000000000 +0200
+@@ -118,7 +118,7 @@
+ {
+ vorbis_dsp_clear(PY_DSP(self));
+ Py_XDECREF(((py_dsp *)self)->parent);
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+ static PyObject*
+@@ -447,7 +447,7 @@
+ {
+ vorbis_block_clear(PY_BLOCK(self));
+ Py_XDECREF(((py_block *)self)->parent);
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+ static PyObject*
+--- src/pyvorbisfile.c 2003-12-19 09:11:02.000000000 +0200
++++ src/pyvorbisfile.c.new 2007-03-13 01:31:19.000000000 +0200
+@@ -171,7 +171,7 @@
+
+ ret = py_ov_open(newobj, args);
+ if (ret == NULL) {
+- PyMem_DEL(newobj);
++ PyObject_Del(newobj);
+ return NULL;
+ } else
+ Py_DECREF(ret);
+@@ -195,7 +195,7 @@
+ fclose(py_self->c_file);
+ }
+
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+ static PyObject *
diff --git a/community/pyzy/PKGBUILD b/community/pyzy/PKGBUILD
new file mode 100644
index 000000000..ec57c7f84
--- /dev/null
+++ b/community/pyzy/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Kerrick Staley <mail@kerrickstaley.com>
+
+pkgname=pyzy
+pkgver=1.0
+_commit="d7747466562cb8b4bc2934708e29b7643c7bedbc"
+pkgrel=1
+pkgdesc='The Chinese PinYin and Bopomofo conversion library'
+arch=('i686' 'x86_64')
+url='https://github.com/pyzy/pyzy'
+license=('LGPL')
+depends=('glib2' 'sqlite' 'util-linux')
+makedepends=('git' 'doxygen' 'gnome-common' 'python2')
+options=('!libtool')
+
+__gitroot=git://github.com/pyzy/pyzy.git
+__gitname=$pkgname
+
+build() {
+ cd "$srcdir"
+ msg "Connecting to GIT server...."
+
+ if [ -d $__gitname ] ; then
+ cd $__gitname && git pull origin
+ msg "The local files are updated."
+ else
+ git clone $__gitroot
+ fi
+
+ msg "GIT checkout done or server timeout"
+ msg "Starting make..."
+
+ rm -rf "$srcdir/$__gitname-build"
+ git clone "$srcdir/$__gitname" "$srcdir/$__gitname-build"
+ cd "$srcdir/$__gitname-build"
+ git checkout "$_commit"
+
+ # replace python with python2; see https://github.com/hsumita/libpyzy/issues/1
+ find . -name '*.py' -exec sed -ri '1s#(bin/|env )python#\1python2#' '{}' \;
+
+ ./autogen.sh --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$__gitname-build"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/qcad/PKGBUILD b/community/qcad/PKGBUILD
new file mode 100644
index 000000000..563c7c266
--- /dev/null
+++ b/community/qcad/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 93132 2013-06-25 14:39:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Giovanni Scafora <linuxmania@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=qcad
+pkgver=3.1.2.0
+pkgrel=1
+pkgdesc="A 2D CAD package based upon Qt"
+arch=('i686' 'x86_64')
+url="http://www.ribbonsoft.com/qcad.html"
+license=('GPL3')
+depends=('qtwebkit')
+makedepends=('glu')
+options=(libtool)
+source=($pkgname-$pkgver.tar.gz::https://github.com/qcad/qcad/archive/v${pkgver}.tar.gz
+ QCad.desktop)
+md5sums=('9741d2e4f01b59107a50c0c95af7b972'
+ '8c4288986b78b14a813b005e81b6ba53')
+
+prepare() {
+ cd ${srcdir}/qcad-$pkgver
+ sed -i '1,1i#include <unistd.h>' src/core/{RLocalPeer,RS}.cpp
+ sed -i '1,1i#include <sys/sysinfo.h>' src/core/{RScriptHandler,RS}.cpp
+}
+
+build() {
+ cd ${srcdir}/qcad-$pkgver
+ qmake-qt4
+ make all -j1
+}
+
+package() {
+ cd ${srcdir}/qcad-$pkgver
+
+ # remove project files
+ find . \( -name '*.pri' -or -name '.pro' -or -name '*.ts' \) -delete
+ find . \( -name 'Makefile' -name '.gitignore' \) -delete
+
+ install -dm755 ${pkgdir}/usr/share/{qcad,pixmaps,applications}
+ cp -r examples fonts libraries patterns plugins scripts ts ${pkgdir}/usr/share/qcad
+ cp debug/* ${pkgdir}/usr/share/qcad
+
+ install -m755 readme.txt ${pkgdir}/usr/share/qcad/readme.txt
+
+ # qtwebkit
+ ln -sf /usr/lib/qt4/plugins/designer/libqwebview.so ${pkgdir}/usr/share/qcad/plugins/designer/libqwebview.so
+ # qt
+ for sofiles in /usr/lib/qt4/plugins/imageformats/*.so
+ do
+ ln -sf ${sofiles} ${pkgdir}/usr/share/qcad/plugins/imageformats/${sofiles##/*/}
+ done
+ for sofiles in /usr/lib/qt4/plugins/sqldrivers/*.so
+ do
+ ln -sf ${sofiles} ${pkgdir}/usr/share/qcad/plugins/sqldrivers/${sofiles##/*/}
+ done
+
+ install -Dm644 scripts/qcad_icon.png ${pkgdir}/usr/share/pixmaps/qcad_icon.png
+ install -Dm644 $srcdir/QCad.desktop ${pkgdir}/usr/share/applications/QCad.desktop
+
+ install -dm0755 $pkgdir/usr/bin
+ echo -e '#!/bin/sh\ncd /usr/share/qcad\nLD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH exec ./qcad-bin' >$pkgdir/usr/bin/qcad
+ chmod 0755 $pkgdir/usr/bin/qcad
+}
diff --git a/community/qcad/QCad.desktop b/community/qcad/QCad.desktop
new file mode 100644
index 000000000..5841b786e
--- /dev/null
+++ b/community/qcad/QCad.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=/usr/share/qcad/qcad
+Icon=/usr/share/pixmaps/qcad_icon.png
+Name=QCad
+StartupNotify=true
+Terminal=false
+Type=Application
+Categories=Application;Office;
diff --git a/community/qconf/PKGBUILD b/community/qconf/PKGBUILD
new file mode 100644
index 000000000..2b21bc710
--- /dev/null
+++ b/community/qconf/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 85387 2013-03-01 10:37:35Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: DsTr <kostindima@gmail.com>
+
+pkgname=qconf
+pkgver=1.4
+pkgrel=3
+pkgdesc="QConf allows you to have a nice configure script for your qmake-based project."
+arch=(i686 x86_64)
+url="http://delta.affinix.com/qconf/"
+license=('GPL')
+depends=('qt4')
+makedepends=()
+source=(http://delta.affinix.com/download/qconf-$pkgver.tar.bz2)
+md5sums=(e0080044f88c31e032008d5a5682a112)
+
+build() {
+ cd $srcdir/qconf-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/qconf-$pkgver
+ make INSTALL_ROOT="$pkgdir" install
+}
diff --git a/community/qgit/0001-Cause-qgit-to-use-git-config-everywhere.patch b/community/qgit/0001-Cause-qgit-to-use-git-config-everywhere.patch
new file mode 100644
index 000000000..a0c7e6c4d
--- /dev/null
+++ b/community/qgit/0001-Cause-qgit-to-use-git-config-everywhere.patch
@@ -0,0 +1,39 @@
+From 50b7344bc2cc941a43b3adfaebdc96dd1935e747 Mon Sep 17 00:00:00 2001
+From: Jonathan Ross Rogers <jrogers@socialserve.com>
+Date: Mon, 9 May 2011 18:16:29 -0400
+Subject: [PATCH] Cause qgit to use "git config" everywhere.
+
+Whenever starting up qgit, it pops up a dialog showing that git
+complained about the obsolete command "repo-config". This patch
+replaces remaining calls to "git repo-config" with "git config".
+
+Signed-off-by: Jonathan Ross Rogers <jrogers@socialserve.com>
+---
+ src/git.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/git.cpp b/src/git.cpp
+index 50e6dd3..8e9365c 100644
+--- a/src/git.cpp
++++ b/src/git.cpp
+@@ -427,7 +427,7 @@ void Git::setTextCodec(QTextCodec* tc) {
+ if (name == "Big5-HKSCS")
+ name = "Big5";
+
+- run("git repo-config i18n.commitencoding " + name);
++ run("git config i18n.commitencoding " + name);
+ }
+
+ QTextCodec* Git::getTextCodec(bool* isGitArchive) {
+@@ -437,7 +437,7 @@ QTextCodec* Git::getTextCodec(bool* isGitArchive) {
+ return NULL;
+
+ QString runOutput;
+- if (!run("git repo-config --get i18n.commitencoding", &runOutput))
++ if (!run("git config --get i18n.commitencoding", &runOutput))
+ return NULL;
+
+ if (runOutput.isEmpty()) // git docs says default is utf-8
+--
+1.7.5
+
diff --git a/community/qgit/PKGBUILD b/community/qgit/PKGBUILD
new file mode 100644
index 000000000..51376a723
--- /dev/null
+++ b/community/qgit/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 85388 2013-03-01 10:37:43Z andrea $
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Dan McGee <dan@archlinux.org>
+
+pkgname=qgit
+pkgver=2.3
+pkgrel=4
+pkgdesc="A GIT GUI viewer built on Qt/C++"
+url="http://digilander.libero.it/mcostalba/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('qt4' 'git')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'qgit.desktop' 'qgit.png'
+ '0001-Cause-qgit-to-use-git-config-everywhere.patch')
+md5sums=('1f6cd60cc1b92973718b108d542e3270'
+ 'ecb8b35e17163a7ec6893ffa71445c40'
+ '85138f44d577b03dfc738d3f27e04992'
+ '8b8eda62d6f4d04ed57f87d4dbda9fa9')
+
+build() {
+ cd ${srcdir}/${pkgname}
+ # patch taken from http://sourceforge.net/tracker/?func=detail&aid=3299672&group_id=139897&atid=744829
+ patch -Np1 < ${srcdir}/0001-Cause-qgit-to-use-git-config-everywhere.patch
+ qmake qgit.pro
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}
+ install -Dm755 bin/qgit ${pkgdir}/usr/bin/qgit
+ install -Dm644 ${srcdir}/qgit.desktop ${pkgdir}/usr/share/applications/qgit.desktop
+ install -Dm644 ${srcdir}/qgit.png ${pkgdir}/usr/share/pixmaps/qgit.png
+}
diff --git a/community/qgit/qgit.desktop b/community/qgit/qgit.desktop
new file mode 100644
index 000000000..eb8cfd1cd
--- /dev/null
+++ b/community/qgit/qgit.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Categories=Development;RevisionControl;
+Name=QGit
+Comment=A GIT GUI viewer built on Qt/C++
+Icon=qgit.png
+Exec=/usr/bin/qgit
+URL=http://digilander.libero.it/mcostalba/
+StartupNotify=true
+Terminal=false
+Type=Application
diff --git a/community/qgit/qgit.png b/community/qgit/qgit.png
new file mode 100644
index 000000000..de637c060
--- /dev/null
+++ b/community/qgit/qgit.png
Binary files differ
diff --git a/community/qgo/PKGBUILD b/community/qgo/PKGBUILD
new file mode 100644
index 000000000..f650f97e7
--- /dev/null
+++ b/community/qgo/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 88006 2013-04-09 21:47:09Z eric $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+pkgname=qgo
+pkgver=1.5.4
+pkgrel=5
+pkgdesc="Go client and full featured SGF editor"
+arch=('x86_64' 'i686')
+url="http://qgo.sourceforge.net/"
+license=('GPL')
+depends=('qt3' 'libsm')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-r3.tar.gz"
+ 'gcc43.patch'
+ 'gcc45.patch')
+sha256sums=('ddfb66ada7027b844838895061f266bda03b327e8dfec2ee2782e14748bac104'
+ 'f6ddd28325523e3d5aabac2284334c73114dd823e00bf282aae2646982206e78'
+ '7f94acfe58d75b57d55bab5b296a801d48f54c8e12dfc1556cd1586abebd3580')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np1 -i "$srcdir/gcc43.patch"
+ patch -Np1 -i "$srcdir/gcc45.patch"
+ ./configure --prefix=/usr --with-qt-includes=/usr/include/qt3
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/qgo/gcc43.patch b/community/qgo/gcc43.patch
new file mode 100644
index 000000000..1af8b8bd9
--- /dev/null
+++ b/community/qgo/gcc43.patch
@@ -0,0 +1,37 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 05_g++-4.3.dpatch by Pierre Habouzit <madcoder@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: g++-4.3 patch
+
+@DPATCH@
+--- qgo-1.5.4-r2~/src/matrix.cpp 2004-10-30 20:49:50.000000000 +0000
++++ qgo-1.5.4-r2/src/matrix.cpp 2008-03-16 23:04:18.306414183 +0000
+@@ -2,12 +2,14 @@
+ * matrix.cpp
+ */
+
++#include <cstdlib>
+ #include "matrix.h"
+-#include <stdlib.h>
+ #ifndef NO_DEBUG
+-#include <iostream.h>
++#include <iostream>
+ #endif
+
++using namespace std;
++
+ Matrix::Matrix(int s)
+ : size(s)
+ {
+--- qgo-1.5.4-r2~/src/tree.cpp 2005-05-12 20:58:23.000000000 +0000
++++ qgo-1.5.4-r2/src/tree.cpp 2008-03-16 23:04:50.660267034 +0000
+@@ -5,7 +5,7 @@
+ #include "tree.h"
+ #include "move.h"
+ #include "qgo.h"
+-#include <iostream.h>
++#include <iostream>
+ #include <qptrstack.h>
+
+ Tree::Tree(int board_size)
diff --git a/community/qgo/gcc45.patch b/community/qgo/gcc45.patch
new file mode 100644
index 000000000..6c71f92f6
--- /dev/null
+++ b/community/qgo/gcc45.patch
@@ -0,0 +1,205 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Description: fix builiding with gcc4.5
+## Origin/Author: Ubuntu
+## Bug: http://bugs.launchpad.net/bugs/756004
+## 06_ftbfs_gcc45.dpatch by Andreas Moog <amoog@ubuntu.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: fix build with gcc 4.5
+
+@DPATCH@
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' qgo-1.5.4-r3~/src/gamedialog.cpp qgo-1.5.4-r3/src/gamedialog.cpp
+--- qgo-1.5.4-r3~/src/gamedialog.cpp 2011-04-12 20:03:12.000000000 +0200
++++ qgo-1.5.4-r3/src/gamedialog.cpp 2011-04-12 20:03:15.640382627 +0200
+@@ -512,7 +512,7 @@
+ if (handicapSpin->value() != val.toInt())
+ {
+ handicapSpin->setValue(val.toInt());
+- handicapSpin->setPaletteBackgroundColor(QColor::QColor("cyan"));
++ handicapSpin->setPaletteBackgroundColor(QColor("cyan"));
+ }
+ else
+ handicapSpin->unsetPalette();
+@@ -521,7 +521,7 @@
+ if (boardSizeSpin->value() != val.toInt())
+ {
+ boardSizeSpin->setValue(val.toInt());
+- boardSizeSpin->setPaletteBackgroundColor(QColor::QColor("cyan"));
++ boardSizeSpin->setPaletteBackgroundColor(QColor("cyan"));
+ }
+ else
+ boardSizeSpin->unsetPalette();
+@@ -530,7 +530,7 @@
+ if (timeSpin->value() != val.toInt()/60)
+ {
+ timeSpin->setValue(val.toInt()/60);
+- timeSpin->setPaletteBackgroundColor(QColor::QColor("cyan"));
++ timeSpin->setPaletteBackgroundColor(QColor("cyan"));
+ }
+ else
+ timeSpin->unsetPalette();
+@@ -539,7 +539,7 @@
+ if (byoTimeSpin->value() != val.toInt()/60)
+ {
+ byoTimeSpin->setValue(val.toInt()/60);
+- byoTimeSpin->setPaletteBackgroundColor(QColor::QColor("cyan"));
++ byoTimeSpin->setPaletteBackgroundColor(QColor("cyan"));
+ }
+ else
+ byoTimeSpin->unsetPalette();
+@@ -550,25 +550,25 @@
+ val = element(line,0," ");
+ if ( !(play_nigiri_button->isChecked()) && (val == "N"))
+ {
+- play_nigiri_button->setPaletteBackgroundColor(QColor::QColor("cyan"));
+- play_white_button->setPaletteBackgroundColor(QColor::QColor("cyan"));
+- play_black_button->setPaletteBackgroundColor(QColor::QColor("cyan"));
++ play_nigiri_button->setPaletteBackgroundColor(QColor("cyan"));
++ play_white_button->setPaletteBackgroundColor(QColor("cyan"));
++ play_black_button->setPaletteBackgroundColor(QColor("cyan"));
+ play_nigiri_button->setChecked(true);
+
+ }
+ else if ( (play_black_button->isChecked()) && (val == "B"))
+ {
+- play_nigiri_button->setPaletteBackgroundColor(QColor::QColor("cyan"));
+- play_white_button->setPaletteBackgroundColor(QColor::QColor("cyan"));
+- play_black_button->setPaletteBackgroundColor(QColor::QColor("cyan"));
++ play_nigiri_button->setPaletteBackgroundColor(QColor("cyan"));
++ play_white_button->setPaletteBackgroundColor(QColor("cyan"));
++ play_black_button->setPaletteBackgroundColor(QColor("cyan"));
+ play_white_button->setChecked(true);
+
+ }
+ else if ( (play_white_button->isChecked()) && (val == "W"))
+ {
+- play_nigiri_button->setPaletteBackgroundColor(QColor::QColor("cyan"));
+- play_white_button->setPaletteBackgroundColor(QColor::QColor("cyan"));
+- play_black_button->setPaletteBackgroundColor(QColor::QColor("cyan"));
++ play_nigiri_button->setPaletteBackgroundColor(QColor("cyan"));
++ play_white_button->setPaletteBackgroundColor(QColor("cyan"));
++ play_black_button->setPaletteBackgroundColor(QColor("cyan"));
+ play_black_button->setChecked(true);
+
+ }
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' qgo-1.5.4-r3~/src/mainwin.cpp qgo-1.5.4-r3/src/mainwin.cpp
+--- qgo-1.5.4-r3~/src/mainwin.cpp 2011-04-12 20:03:12.000000000 +0200
++++ qgo-1.5.4-r3/src/mainwin.cpp 2011-04-12 20:03:15.640382627 +0200
+@@ -68,35 +68,35 @@
+ {
+
+
+- prefsIcon= QPixmap::QPixmap(qembed_findImage("package_settings"));//QPixmap(ICON_PREFS);
++ prefsIcon= QPixmap(qembed_findImage("package_settings"));//QPixmap(ICON_PREFS);
+ // infoIcon= QPixmap(ICON_GAMEINFO);
+- exitIcon = QPixmap::QPixmap(qembed_findImage("exit"));//QPixmap(ICON_EXIT);
+- fileNewboardIcon = QPixmap::QPixmap(qembed_findImage("newboard"));//QPixmap(ICON_FILENEWBOARD);
+- fileNewIcon = QPixmap::QPixmap(qembed_findImage("filenew"));//QPixmap(ICON_FILENEW);
+- fileOpenIcon = QPixmap::QPixmap(qembed_findImage("fileopen"));//QPixmap(ICON_FILEOPEN);
++ exitIcon = QPixmap(qembed_findImage("exit"));//QPixmap(ICON_EXIT);
++ fileNewboardIcon = QPixmap(qembed_findImage("newboard"));//QPixmap(ICON_FILENEWBOARD);
++ fileNewIcon = QPixmap(qembed_findImage("filenew"));//QPixmap(ICON_FILENEW);
++ fileOpenIcon = QPixmap(qembed_findImage("fileopen"));//QPixmap(ICON_FILEOPEN);
+ // fileSaveIcon = QPixmap(ICON_FILESAVE);
+ // fileSaveAsIcon = QPixmap(ICON_FILESAVEAS);
+ // transformIcon = QPixmap(ICON_TRANSFORM);
+ // charIcon = QPixmap(ICON_CHARSET);
+- manualIcon = QPixmap::QPixmap(qembed_findImage("help"));//QPixmap(ICON_MANUAL);
++ manualIcon = QPixmap(qembed_findImage("help"));//QPixmap(ICON_MANUAL);
+ // autoplayIcon = QPixmap(ICON_AUTOPLAY);
+- connectedIcon = QPixmap::QPixmap(qembed_findImage("connected"));//QPixmap(ICON_CONNECTED);
+- disconnectedIcon = QPixmap::QPixmap(qembed_findImage("connect_no"));//QPixmap(ICON_DISCONNECTED);
+- OpenIcon = QPixmap::QPixmap(qembed_findImage("open"));//QPixmap(ICON_OPEN);
+- LookingIcon = QPixmap::QPixmap(qembed_findImage("looking"));//QPixmap(ICON_LOOKING);
+- QuietIcon= QPixmap::QPixmap(qembed_findImage("quiet"));//QPixmap(ICON_QUIET);
+- NotOpenIcon = QPixmap::QPixmap(qembed_findImage("not_open"));//QPixmap(ICON_NOT_OPEN);
+- NotLookingIcon = QPixmap::QPixmap(qembed_findImage("not_looking"));//QPixmap(ICON_NOT_LOOKING);
+- NotQuietIcon= QPixmap::QPixmap(qembed_findImage("not_quiet"));//QPixmap(ICON_NOT_QUIET);
+- RefreshPlayersIcon = QPixmap::QPixmap(qembed_findImage("refresh_players"));//QPixmap(ICON_REFRESH_PLAYERS);
+- RefreshGamesIcon = QPixmap::QPixmap(qembed_findImage("refresh_games"));//QPixmap(ICON_REFRESH_GAMES);
+- ComputerPlayIcon = QPixmap::QPixmap(qembed_findImage("computerplay"));//QPixmap(ICON_COMPUTER_PLAY);
+- qgoIcon = QPixmap::QPixmap(qembed_findImage("Bowl"));//QPixmap(ICON_COMPUTER_PLAY);
+- NotSeekingIcon = QPixmap::QPixmap(qembed_findImage("not_seeking"));
+- seekingIcon[0] = QPixmap::QPixmap(qembed_findImage("seeking1"));
+- seekingIcon[1] = QPixmap::QPixmap(qembed_findImage("seeking2"));
+- seekingIcon[2] = QPixmap::QPixmap(qembed_findImage("seeking3"));
+- seekingIcon[3] = QPixmap::QPixmap(qembed_findImage("seeking4"));
++ connectedIcon = QPixmap(qembed_findImage("connected"));//QPixmap(ICON_CONNECTED);
++ disconnectedIcon = QPixmap(qembed_findImage("connect_no"));//QPixmap(ICON_DISCONNECTED);
++ OpenIcon = QPixmap(qembed_findImage("open"));//QPixmap(ICON_OPEN);
++ LookingIcon = QPixmap(qembed_findImage("looking"));//QPixmap(ICON_LOOKING);
++ QuietIcon= QPixmap(qembed_findImage("quiet"));//QPixmap(ICON_QUIET);
++ NotOpenIcon = QPixmap(qembed_findImage("not_open"));//QPixmap(ICON_NOT_OPEN);
++ NotLookingIcon = QPixmap(qembed_findImage("not_looking"));//QPixmap(ICON_NOT_LOOKING);
++ NotQuietIcon= QPixmap(qembed_findImage("not_quiet"));//QPixmap(ICON_NOT_QUIET);
++ RefreshPlayersIcon = QPixmap(qembed_findImage("refresh_players"));//QPixmap(ICON_REFRESH_PLAYERS);
++ RefreshGamesIcon = QPixmap(qembed_findImage("refresh_games"));//QPixmap(ICON_REFRESH_GAMES);
++ ComputerPlayIcon = QPixmap(qembed_findImage("computerplay"));//QPixmap(ICON_COMPUTER_PLAY);
++ qgoIcon = QPixmap(qembed_findImage("Bowl"));//QPixmap(ICON_COMPUTER_PLAY);
++ NotSeekingIcon = QPixmap(qembed_findImage("not_seeking"));
++ seekingIcon[0] = QPixmap(qembed_findImage("seeking1"));
++ seekingIcon[1] = QPixmap(qembed_findImage("seeking2"));
++ seekingIcon[2] = QPixmap(qembed_findImage("seeking3"));
++ seekingIcon[3] = QPixmap(qembed_findImage("seeking4"));
+
+ // init
+
+@@ -576,7 +576,7 @@
+ if (e->timerId() == seekButtonTimer)
+ {
+ imagecounter = (imagecounter+1) % 4;
+- toolSeek->setIconSet(QIconSet::QIconSet(seekingIcon[imagecounter]));
++ toolSeek->setIconSet(QIconSet(seekingIcon[imagecounter]));
+ return;
+ }
+
+@@ -2950,17 +2950,17 @@
+ //tb->setProperty( "geometry", QRect(0, 0, 20, 20));
+
+ //added the icons
+- refreshPlayers->setIconSet(QIconSet::QIconSet(RefreshPlayersIcon));
+- refreshGames->setIconSet(QIconSet::QIconSet(RefreshGamesIcon));
+- fileNew->setIconSet(QIconSet::QIconSet(fileNewIcon));
+- fileNewBoard->setIconSet(QIconSet::QIconSet(fileNewboardIcon));
+- fileOpen->setIconSet(QIconSet::QIconSet(fileOpenIcon));
+- fileQuit->setIconSet(QIconSet::QIconSet(exitIcon));
+- computerPlay->setIconSet(QIconSet::QIconSet(ComputerPlayIcon));
+- Connect->setIconSet(QIconSet::QIconSet(connectedIcon));
+- Disconnect->setIconSet(QIconSet::QIconSet(disconnectedIcon));
+- helpManual->setIconSet(QIconSet::QIconSet(manualIcon));
+- setPreferences->setIconSet(QIconSet::QIconSet(prefsIcon));
++ refreshPlayers->setIconSet(QIconSet(RefreshPlayersIcon));
++ refreshGames->setIconSet(QIconSet(RefreshGamesIcon));
++ fileNew->setIconSet(QIconSet(fileNewIcon));
++ fileNewBoard->setIconSet(QIconSet(fileNewboardIcon));
++ fileOpen->setIconSet(QIconSet(fileOpenIcon));
++ fileQuit->setIconSet(QIconSet(exitIcon));
++ computerPlay->setIconSet(QIconSet(ComputerPlayIcon));
++ Connect->setIconSet(QIconSet(connectedIcon));
++ Disconnect->setIconSet(QIconSet(disconnectedIcon));
++ helpManual->setIconSet(QIconSet(manualIcon));
++ setPreferences->setIconSet(QIconSet(prefsIcon));
+ setIcon(qgoIcon);
+
+ UserToolbar->show();
+@@ -3218,7 +3218,7 @@
+ toolSeek->setOn(false);
+ toolSeek->setPopup(seekMenu);
+ toolSeek->setPopupDelay(1);
+- toolSeek->setIconSet(QIconSet::QIconSet(NotSeekingIcon));
++ toolSeek->setIconSet(QIconSet(NotSeekingIcon));
+ killTimer(seekButtonTimer);
+ seekButtonTimer = 0;
+ }
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' qgo-1.5.4-r3~/src/qgtp.cpp qgo-1.5.4-r3/src/qgtp.cpp
+--- qgo-1.5.4-r3~/src/qgtp.cpp 2011-04-12 20:03:12.000000000 +0200
++++ qgo-1.5.4-r3/src/qgtp.cpp 2011-04-12 20:03:22.360029899 +0200
+@@ -277,7 +277,7 @@
+ _cpt++;
+
+ qDebug(QString("flush -> %1").arg(s));
+- programProcess->writeToStdin(QString::QString(s));
++ programProcess->writeToStdin(QString(s));
+
+
+ }
diff --git a/community/qingy/PKGBUILD b/community/qingy/PKGBUILD
new file mode 100644
index 000000000..2d4b62b95
--- /dev/null
+++ b/community/qingy/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90406 2013-05-12 08:49:01Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=qingy
+pkgver=1.0.0
+pkgrel=8
+pkgdesc="A DirectFB getty replacement"
+arch=('i686' 'x86_64')
+url="http://qingy.sourceforge.net/"
+license=('GPL')
+depends=('directfb' 'openssl' 'libxss')
+makedepends=('emacs')
+backup=('etc/pam.d/qingy' 'etc/logrotate.d/qingy' 'etc/qingy/settings' 'etc/qingy/welcomes')
+options=('!libtool')
+install=qingy.install
+source=(http://downloads.sourceforge.net/sourceforge/qingy/${pkgname}-${pkgver}.tar.bz2 \
+ qingy.logrotate qingy@.service)
+sha1sums=('22ee505e935bf7ddcbd33e23f754a5a1ca082c81'
+ '21676cf0b71334c666f7b3e4f3d8b4f319266c81'
+ '43a6f1cee03ffa598a77cb3c333cb1e8c63b4a2c')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's|/lib/security/||' media/pam/default/qingy
+ XFREE=/usr/bin/Xorg XINIT=/usr/bin/xinit \
+ ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc \
+ --enable-emacs --disable-optimizations --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 "${srcdir}/qingy.logrotate" "${pkgdir}/etc/logrotate.d/qingy"
+ install -D -m644 "${srcdir}/qingy@.service" "${pkgdir}/usr/lib/systemd/system/qingy@.service"
+}
diff --git a/community/qingy/qingy.install b/community/qingy/qingy.install
new file mode 100644
index 000000000..0defe31d8
--- /dev/null
+++ b/community/qingy/qingy.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(qingy.info.gz)
+
+post_install() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/qingy/qingy.logrotate b/community/qingy/qingy.logrotate
new file mode 100644
index 000000000..e16fb8d2a
--- /dev/null
+++ b/community/qingy/qingy.logrotate
@@ -0,0 +1,9 @@
+/var/log/qingy.log {
+ compress
+ rotate 1
+ size=+1024k
+ notifempty
+ missingok
+ copytruncate
+ noolddir
+}
diff --git a/community/qingy/qingy@.service b/community/qingy/qingy@.service
new file mode 100644
index 000000000..537eb53fd
--- /dev/null
+++ b/community/qingy/qingy@.service
@@ -0,0 +1,21 @@
+[Unit]
+Description=Qingy on %I
+Documentation=info:qingy
+After=systemd-user-sessions.service plymouth-quit-wait.service
+
+[Service]
+Environment=TERM=linux
+ExecStart=/usr/bin/qingy %I -n
+Type=idle
+Restart=always
+RestartSec=0
+UtmpIdentifier=%I
+TTYPath=/dev/%I
+TTYReset=yes
+TTYVHangup=yes
+TTYVTDisallocate=yes
+KillMode=process
+IgnoreSIGPIPE=no
+
+[Install]
+Alias=getty.target.wants/qingy@tty1.service
diff --git a/community/qiv/PKGBUILD b/community/qiv/PKGBUILD
new file mode 100644
index 000000000..2e6c7c963
--- /dev/null
+++ b/community/qiv/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 83178 2013-01-27 16:25:48Z pierre $
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Maintainer: Paul Mattal <paul@archlinux.org>
+
+pkgname=qiv
+pkgver=2.2.4
+pkgrel=2
+pkgdesc="Quick Image Viewer (qiv) is a very small and fast GDK/Imlib image viewer"
+arch=('i686' 'x86_64')
+url="http://spiegl.de/qiv/"
+license=('GPL2')
+depends=('file' 'gtk2' 'imlib2')
+source=(http://spiegl.de/qiv/download/$pkgname-$pkgver.tgz)
+md5sums=('1425f89c90f9c045858fccf24d894c97')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -D -m 0755 qiv "$pkgdir/usr/bin/qiv"
+ install -D -m 0644 qiv.1 "$pkgdir/usr/share/man/man1/qiv.1"
+}
diff --git a/community/qlandkartegt/PKGBUILD b/community/qlandkartegt/PKGBUILD
new file mode 100644
index 000000000..017392531
--- /dev/null
+++ b/community/qlandkartegt/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 94086 2013-07-14 10:55:45Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Matthias Maennich <arch@maennich.net>
+# Contributor: <boenki@gmx.de>
+
+pkgname=qlandkartegt
+pkgver=1.7.1
+pkgrel=1
+pkgdesc="Use your GPS with Linux"
+arch=('i686' 'x86_64')
+url="http://www.qlandkarte.org/"
+license=('GPL')
+depends=('gdal' 'gpsd' 'libdmtx' 'libexif' 'libmariadbclient' 'glu' 'postgresql-libs'
+ 'shared-mime-info' 'qtwebkit')
+makedepends=('cmake' 'garmindev' 'mesa')
+optdepends=('garmindev: to connect garmin devices')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ $pkgname-mimetypes.xml)
+sha256sums=('156ae80bda0e7004f63867f0880b8737fb4e175388fc9edf6d541f2901686737'
+ 'e8d33948831f8a66edd752c71c653085d6c4d9f1969e70dd8c40b9c7ca37fba0')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package(){
+ cd "${srcdir}/build"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 "${srcdir}/$pkgname-mimetypes.xml" \
+ "${pkgdir}/usr/share/mime/packages/$pkgname-mimetypes.xml"
+}
diff --git a/community/qlandkartegt/qlandkartegt-mimetypes.xml b/community/qlandkartegt/qlandkartegt-mimetypes.xml
new file mode 100644
index 000000000..46d3d402c
--- /dev/null
+++ b/community/qlandkartegt/qlandkartegt-mimetypes.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
+ <mime-type type="application/vnd.qlandkartegt.qlb">
+ <comment>QLandkarteGT File</comment>
+ <glob pattern="*.qlb"/>
+ </mime-type>
+</mime-info>
diff --git a/community/qlandkartegt/qlandkartegt.changelog b/community/qlandkartegt/qlandkartegt.changelog
new file mode 100644
index 000000000..2e5704bfb
--- /dev/null
+++ b/community/qlandkartegt/qlandkartegt.changelog
@@ -0,0 +1,60 @@
+2013-07-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.7.1-1
+
+2013-03-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.7.0-1
+
+2012-12-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.6.0-1
+
+2012-10-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.5.3-1
+
+2012-09-06 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.5.1-1
+
+2012-07-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.5.0-1
+
+2012-05-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.4.2-1
+
+2012-05-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.4.1-1
+
+2012-03-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.4.0-1
+
+2012-02-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.3.2-1
+
+2011-12-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.3.1-1
+
+2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.2.4-1
+
+2011-09-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.2.3-1
+
+2011-07-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.2.2-1
+
+2011-07-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.2.1-1
+
+2011-06-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.2.0-1
+
+2011-05-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.1.2-1
+
+2011-03-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.1.1-1
+
+2011-02-23 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.1.0-1
+
+2011-02-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.0.1-2
+ * moved to [community] with 59 AUR votes
diff --git a/community/qlandkartegt/qlandkartegt.install b/community/qlandkartegt/qlandkartegt.install
new file mode 100644
index 000000000..e55805570
--- /dev/null
+++ b/community/qlandkartegt/qlandkartegt.install
@@ -0,0 +1,7 @@
+post_install() {
+ update-mime-database usr/share/mime > /dev/null
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/qmmp/PKGBUILD b/community/qmmp/PKGBUILD
new file mode 100644
index 000000000..3ab8cc589
--- /dev/null
+++ b/community/qmmp/PKGBUILD
@@ -0,0 +1,44 @@
+#$Id: PKGBUILD 92815 2013-06-15 12:48:27Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=qmmp
+pkgver=0.7.1
+pkgrel=1
+pkgdesc="Qt4 based audio-player"
+arch=('i686' 'x86_64')
+url="http://qmmp.ylsoftware.com/"
+license=('GPL')
+depends=('alsa-lib' 'curl' 'hicolor-icon-theme' 'libmad' 'libvorbis' 'libogg' 'qt4' 'taglib' 'xdg-utils')
+makedepends=('cmake' 'flac' 'jack' 'libmpcdec' 'pulseaudio' 'ffmpeg' 'libcdio-paranoia' 'libcddb' 'libmms' 'libsamplerate' 'libmodplug' 'libsndfile' 'wavpack' 'projectm' 'mesa')
+optdepends=('flac: native FLAC support'
+ 'jack: JACK sound output'
+ 'libmpcdec: Musepack support'
+ 'pulseaudio: PulseAudio output'
+ 'libcdio-paranoia: Compact Disc input and control support'
+ 'libcddb: CDDB server support'
+ 'libmms: MMS stream protocol support'
+ 'libmodplug: MOD playing library'
+ 'libsndfile: sampled sound support'
+ 'projectm: visual efects'
+ 'ffmpeg' 'libsamplerate' 'wavpack')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://qmmp.ylsoftware.com/files/$pkgname-$pkgver.tar.bz2)
+sha256sums=('5e86c3c783bffa384d4c5c8731ebaff7a1589f56b6e0ad69ec6f82a8da160671')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+ make DESTDIR=${pkgdir} install
+
+ if [[ $CARCH == 'x86_64' ]]; then
+ mv $pkgdir/usr/lib64 $pkgdir/usr/lib
+ fi
+}
diff --git a/community/qmmp/qmmp.changelog b/community/qmmp/qmmp.changelog
new file mode 100644
index 000000000..cec0d2b97
--- /dev/null
+++ b/community/qmmp/qmmp.changelog
@@ -0,0 +1,99 @@
+2013-06-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.7.1-1
+
+2013-04-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.7.0-1
+
+2013-03-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.6.7-1
+
+2013-01-13 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.6.6-2 libcdio/libcdio-paranoia rebuild
+
+2013-01-13 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.6.6-1
+
+2013-01-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.6.5-1
+
+2012-11-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.6.4-1
+
+2012-08-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.6.3-1
+
+2012-07-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.6.2-1
+
+2012-07-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.6.0-2 ffmpeg 0.11 rebuild
+
+2012-07-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.6.0-1
+
+2012-07-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.6-2 ffmpeg 0.11 rebuild
+
+2012-07-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.6-1
+
+2012-06-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.5-2 ffmpeg 0.11 rebuild
+
+2012-05-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.5-1
+
+2012-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.4-1
+
+2011-11-12 Andrea Scarpino <andrea@archlinux.org>
+ * qmmp 0.5.2-3
+ * rebuild with qt 4.7
+
+2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.2-1
+
+2011-07-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.1-1
+
+2011-04-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.0-1
+
+2011-02-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.4.4-1
+
+2010-11-10 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.4.3
+
+2010-09-13 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.4.2
+
+2010-06-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.4.1
+
+2010-05-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.4.0
+
+2010-04-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.3.4
+
+2010-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.3.3
+
+2010-01-13 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.3.2
+
+2009-07-11 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.3.0
+
+2009-03-30 Giovanni Scafora <giovanni@archlinux.org>
+ * Fixed x86_64 build
+
+2009-03-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.2.4
+
+2008-12-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.2.3
+
+2008-08-31 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.2.2
diff --git a/community/qmmp/qmmp.install b/community/qmmp/qmmp.install
new file mode 100644
index 000000000..4c0972beb
--- /dev/null
+++ b/community/qmmp/qmmp.install
@@ -0,0 +1,12 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/qmpdclient/PKGBUILD b/community/qmpdclient/PKGBUILD
new file mode 100644
index 000000000..f5b4eb9b7
--- /dev/null
+++ b/community/qmpdclient/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 85391 2013-03-01 10:38:10Z andrea $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Vinay S Shastry <vinayshastry@gmail.com>
+
+pkgname=qmpdclient
+pkgver=1.2.2
+pkgrel=3
+pkgdesc="A Qt4 client for MPD"
+arch=('i686' 'x86_64')
+url="http://bitcheese.net/wiki/QMPDClient"
+license=('GPL')
+depends=('qt4')
+makedepends=('cmake')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://dump.bitcheese.net/files/$pkgname-$pkgver.tar.bz2)
+sha256sums=('ed65705eaae8fb10fdce34ce20e010757a87423c2874479e1466e4368a866289')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/qmpdclient/qmpdclient.changelog b/community/qmpdclient/qmpdclient.changelog
new file mode 100644
index 000000000..788ad2d68
--- /dev/null
+++ b/community/qmpdclient/qmpdclient.changelog
@@ -0,0 +1,12 @@
+2011-11-12 Andrea Scarpino <andrea@archlinux.org>
+ * qmpdclient 1.2.2-2
+ * Qt 4.8 downgrade
+
+2011-10-22 Andrea Scarpino <andrea@archlinux.org>
+ * qmpdclient 1.2.2-1
+
+2011-02-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmpdclient 1.2.1-1
+
+2011-02-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmpdclient 1.2-1
diff --git a/community/qmpdclient/qmpdclient.install b/community/qmpdclient/qmpdclient.install
new file mode 100644
index 000000000..d44837133
--- /dev/null
+++ b/community/qmpdclient/qmpdclient.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/qps/PKGBUILD b/community/qps/PKGBUILD
new file mode 100644
index 000000000..7a634e977
--- /dev/null
+++ b/community/qps/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 85392 2013-03-01 10:38:18Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: David Rosenstrauch <darose@darose.net>
+
+pkgname=qps
+pkgver=1.10.16
+_dlpkgver=5963
+pkgrel=2
+pkgdesc="a visual process manager, an X11 version of 'top' or 'ps'."
+url="http://qps.kldp.net/projects/qps"
+depends=('qt4')
+arch=('i686' 'x86_64')
+license="GPL"
+source=(http://kldp.net/frs/download.php/${_dlpkgver}/qps-$pkgver.tar.bz2)
+md5sums=('dc3396749ad9254fd60ca84b5c0b16b9')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ qmake
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -D -m 755 qps $pkgdir/usr/bin/qps
+ install -D -m 644 qps.1 $pkgdir/usr/share/man/man1/qps.1
+ install -D -m 644 qps.desktop $pkgdir/usr/share/applications/qps.desktop
+ install -D -m 644 icon/icon.xpm $pkgdir/usr/share/pixmaps/qps.xpm
+}
diff --git a/community/qpxtool/PKGBUILD b/community/qpxtool/PKGBUILD
new file mode 100644
index 000000000..a3d0b2f9f
--- /dev/null
+++ b/community/qpxtool/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 91840 2013-05-28 17:05:29Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Krzysztof Stasiorowski <krzysiekst@gmail.com>
+
+pkgname=qpxtool
+pkgver=0.7.2
+pkgrel=4
+pkgdesc="Allows better controll over optical drives to include QChecks and optimization settings."
+arch=('i686' 'x86_64')
+url="http://qpxtool.sourceforge.net/"
+license=('GPL')
+depends=('qt4')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ libpng15.patch)
+md5sums=('b1235e74b8ef4fe087a6b64f5cfca14a'
+ 'ab9af7610277652c77c6d114422b2266')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # Fix strict aliasing warnings
+ export CFLAGS="$CFLAGS -fno-strict-aliasing"
+ sed -i \
+ -e 's|lib64|lib|' \
+ -e 's|lrelease|lrelease-qt4|' \
+ configure
+ patch -p1 <$srcdir/libpng15.patch
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ mkdir -p $pkgdir/usr/bin
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/qpxtool/libpng15.patch b/community/qpxtool/libpng15.patch
new file mode 100644
index 000000000..05e6f49d2
--- /dev/null
+++ b/community/qpxtool/libpng15.patch
@@ -0,0 +1,127 @@
+diff -wbBur qpxtool-0.7.1_002/console/f1tattoo/f1tattoo.cpp qpxtool-0.7.1_002.my/console/f1tattoo/f1tattoo.cpp
+--- qpxtool-0.7.1_002/console/f1tattoo/f1tattoo.cpp 2009-11-25 10:55:44.000000000 +0300
++++ qpxtool-0.7.1_002.my/console/f1tattoo/f1tattoo.cpp 2012-01-23 13:53:37.000000000 +0400
+@@ -129,28 +129,28 @@
+
+ png_read_info(png_ptr, info_ptr);
+
+- printf("Image size: %ld x %ld\n", info_ptr->width, info_ptr->height);
++ printf("Image size: %u x %u\n", png_get_image_width(png_ptr, info_ptr), png_get_image_height(png_ptr, info_ptr));
+
+- if (info_ptr->width != 3744U || info_ptr->height != rows ) {
++ if (png_get_image_width(png_ptr, info_ptr) != 3744U || png_get_image_height(png_ptr, info_ptr) != rows ) {
+ printf("Image should be 3744 x %d", rows);
+ return 1;
+ }
+
+-// width = info_ptr->width;
+-// height = info_ptr->height;
+-// bit_depth = info_ptr->bit_depth;
++// width = png_get_image_width(png_ptr, info_ptr);
++// height = png_get_image_height(png_ptr, info_ptr);
++// bit_depth = png_get_bit_depth(png_ptr, info_ptr);
+
+ number_of_passes = png_set_interlace_handling(png_ptr);
+ png_read_update_info(png_ptr, info_ptr);
+
+- printf("Color type: [%d] ", info_ptr->color_type);
+- switch (info_ptr->color_type) {
++ printf("Color type: [%d] ", png_get_color_type(png_ptr, info_ptr));
++ switch (png_get_color_type(png_ptr, info_ptr)) {
+ case PNG_COLOR_TYPE_GRAY:
+ printf("PNG_COLOR_TYPE_GRAY\n");
+ break;
+ case PNG_COLOR_TYPE_PALETTE:
+ printf("PNG_COLOR_TYPE_PALETTE\n");
+- if (!(info_ptr->valid & PNG_INFO_PLTE)) {
++ if (!(png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE))) {
+ printf("PNG color type is indexed, but no palette found!");
+ goto err_read_png;
+ }
+@@ -168,49 +168,53 @@
+ printf("unlnown PNG color type!\n");
+ goto err_read_png;
+ }
+- printf("Bit depth : %d\n", info_ptr->bit_depth);
+- if (info_ptr->bit_depth != 8) {
++ printf("Bit depth : %d\n", png_get_bit_depth(png_ptr, info_ptr));
++ if (png_get_bit_depth(png_ptr, info_ptr) != 8) {
+ printf("Unsupported bit depth!\n");
+ goto err_read_png;
+ }
+- if (info_ptr->valid & PNG_INFO_PLTE) {
+- printf("Palette : %d colors\n", info_ptr->num_palette);
++
++ int num_palette;
++ png_colorp plte;
++ png_get_PLTE(png_ptr, info_ptr, &plte, &num_palette);
++
++ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) {
++ printf("Palette : %d colors\n", num_palette);
+ } else {
+ printf("Palette : NO\n");
+ }
+- printf("ROW bytes : %ld\n", info_ptr->rowbytes);
+-
++ printf("ROW bytes : %d\n", png_get_rowbytes(png_ptr, info_ptr));
+
+ raw_row_pointer = buf;
+- png_row_pointer = (png_byte*) malloc(info_ptr->rowbytes);
++ png_row_pointer = (png_byte*) malloc(png_get_rowbytes(png_ptr, info_ptr));
+ for (row=0; row<rows; row++) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
+ printf("png_jmpbuf failed!\n");
+ goto err_read_png;
+ }
+ png_read_row(png_ptr, png_row_pointer, NULL);
+- if (info_ptr->width < 3744U)
++ if (png_get_image_width(png_ptr, info_ptr) < 3744U)
+ memset(raw_row_pointer, 0, 3744);
+
+- switch (info_ptr->color_type) {
++ switch (png_get_color_type(png_ptr, info_ptr)) {
+ case PNG_COLOR_TYPE_GRAY:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ raw_row_pointer[col] = png_row_pointer[col] ^ 0xFF;
+ // memcpy(raw_row_pointer, png_row_pointer, 3744);
+ }
+ break;
+ case PNG_COLOR_TYPE_PALETTE:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ c = png_row_pointer[col];
+- r = info_ptr->palette[c].red;
+- g = info_ptr->palette[c].green;
+- b = info_ptr->palette[c].blue;
++ r = plte[c].red;
++ g = plte[c].green;
++ b = plte[c].blue;
+ c = (r*11 + g*16 + b*5) / 32;
+ raw_row_pointer[col] = c ^ 0xFF;
+ }
+ break;
+ case PNG_COLOR_TYPE_RGB:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ r = png_row_pointer[col*3];
+ g = png_row_pointer[col*3+1];
+ b = png_row_pointer[col*3+2];
+@@ -219,7 +223,7 @@
+ }
+ break;
+ case PNG_COLOR_TYPE_RGB_ALPHA:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ r = png_row_pointer[col*4];
+ g = png_row_pointer[col*4+1];
+ b = png_row_pointer[col*4+2];
+@@ -228,7 +232,7 @@
+ }
+ break;
+ case PNG_COLOR_TYPE_GRAY_ALPHA:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ raw_row_pointer[col] = png_row_pointer[col*2] ^ 0xFF;
+ }
+ break;
diff --git a/community/qscintilla-qt3/PKGBUILD b/community/qscintilla-qt3/PKGBUILD
new file mode 100644
index 000000000..257ea4fb9
--- /dev/null
+++ b/community/qscintilla-qt3/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 88009 2013-04-09 21:48:46Z eric $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: red_over_blue,Ben <ben@benmazer.net>,Kritoke <kritoke@gamebox.net>
+
+pkgname=qscintilla-qt3
+pkgver=1.7.1
+pkgrel=4
+pkgdesc="A port to Qt3 of Neil Hodgson's Scintilla C++ editor class"
+arch=('i686' 'x86_64')
+url="http://www.riverbankcomputing.co.uk/software/qscintilla/intro/"
+license=('GPL2')
+depends=('qt3')
+source=("http://downloads.sourceforge.net/pyqt/QScintilla-1.71-gpl-$pkgver.tar.gz")
+md5sums=('dfa047b45d4f09ae8d4a8a431ba88a5a')
+
+build() {
+ cd "${srcdir}"/QScintilla-1.71-gpl-$pkgver
+ cd qt
+ sed -i "s%DESTDIR.*%DESTDIR=$pkgdir/usr/lib%g" qscintilla.pro
+ qmake-qt3 qscintilla.pro
+ sed -i 's|$(QTDIR)/include|/usr/include/qt3|' Makefile
+ make MOC=/usr/bin/moc-qt3
+}
+
+package() {
+ cd "${srcdir}"/QScintilla-1.71-gpl-$pkgver/qt
+ # installind includes
+ for i in qextscintilla*.h; do
+ install -m 644 -D $i "${pkgdir}"/usr/include/qt3/$i
+ done
+}
diff --git a/community/qstardict/PKGBUILD b/community/qstardict/PKGBUILD
new file mode 100644
index 000000000..c395cd17a
--- /dev/null
+++ b/community/qstardict/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 85395 2013-03-01 10:38:40Z andrea $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Alois Nespor <alois.nespor@gmail.com>
+
+pkgname=qstardict
+pkgver=1.0.1
+pkgrel=2
+pkgdesc="Qt4 clone of StarDict with full support of StarDict dictionaries"
+arch=('i686' 'x86_64')
+url="http://qstardict.ylsoftware.com/index.php"
+license=('GPL2')
+depends=('qt4')
+provides=('stardict')
+changelog=$pkgname.changelog
+source=(http://qstardict.ylsoftware.com/files/$pkgname-$pkgver.tar.bz2)
+sha256sums=('b778ace65a22e5b9724d687ad90c77ec98feb2671774f73cd51725ec7b59e62f')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+ sed -i -e 's|glib/gmem.h|glib.h|' -e 's|glib/gstrfuncs.h|glib.h|' plugins/stardict/stardict.cpp
+
+ qmake ENABLED_PLUGINS="stardict web swac"
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ make INSTALL_ROOT="${pkgdir}" install
+}
diff --git a/community/qstardict/qstardict.changelog b/community/qstardict/qstardict.changelog
new file mode 100644
index 000000000..dcb6b166e
--- /dev/null
+++ b/community/qstardict/qstardict.changelog
@@ -0,0 +1,14 @@
+2012-02-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qstardict 1.0.1-1
+
+2011-08-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qstardict 1.0-1
+
+2008-02-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.13.1
+
+2008-02-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.13.0
+
+2008-10-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Moved to [community]
diff --git a/community/qsvn/PKGBUILD b/community/qsvn/PKGBUILD
new file mode 100644
index 000000000..54fb45af7
--- /dev/null
+++ b/community/qsvn/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 85396 2013-03-01 10:38:47Z andrea $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Jakub Schmidtke <sjakub-at-gmail.com>
+
+pkgname=qsvn
+pkgver=0.8.3
+pkgrel=4
+pkgdesc="Qt4 GUI for Subversion."
+arch=('i686' 'x86_64')
+url="http://www.anrichter.net/projects/qsvn/"
+license=('GPL')
+depends=('qt4' 'subversion')
+makedepends=('cmake' 'patch')
+changelog=$pkgname.changelog
+source=(http://www.anrichter.net/projects/qsvn/chrome/site/$pkgname-$pkgver-src.tar.gz
+ lib64-fix.patch)
+sha256sums=('8396f667dc7f09de2eead056608e90febb089fc26529b7fcebe157797c320f73'
+ '6a2787b5852825aaccd50ad7b20983af859378d86b86aaf550bf4e1bfcc96c3e')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver/src"
+
+ patch -Np2 -i "${srcdir}/lib64-fix.patch"
+
+ cmake -D CMAKE_INSTALL_PREFIX=/usr/ -D CMAKE_BUILD_TYPE="Release" ../src
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver/src"
+
+ make DESTDIR="${pkgdir}" install
+
+ #desktop file
+ install -D -m644 "${srcdir}/$pkgname-$pkgver/src/$pkgname.desktop" \
+ "${pkgdir}/usr/share/applications/$pkgname.desktop"
+}
diff --git a/community/qsvn/lib64-fix.patch b/community/qsvn/lib64-fix.patch
new file mode 100644
index 000000000..4b7762b55
--- /dev/null
+++ b/community/qsvn/lib64-fix.patch
@@ -0,0 +1,12 @@
+diff -ru qsvn-0.8.2.orig/src/CMakeLists.txt qsvn-0.8.2/src/CMakeLists.txt
+--- qsvn-0.8.2.orig/src/CMakeLists.txt 2009-04-16 22:06:42.000000000 +0300
++++ qsvn-0.8.2/src/CMakeLists.txt 2009-05-31 18:02:59.425751548 +0300
+@@ -42,7 +42,7 @@
+ IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ SET(LIB_SUFFIX "")
+ ELSE(CMAKE_SIZEOF_VOID_P EQUAL 4)
+- SET(LIB_SUFFIX 64)
++ SET(LIB_SUFFIX "")
+ ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ SET(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
+ SET(BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin)
diff --git a/community/qsvn/qsvn.changelog b/community/qsvn/qsvn.changelog
new file mode 100644
index 000000000..21fac1c11
--- /dev/null
+++ b/community/qsvn/qsvn.changelog
@@ -0,0 +1,32 @@
+2009-05-31 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.8.2
+ * Release info:
+ http://www.anrichter.net/projects/qsvn/wiki/Releases/ReleaseNotes-0.8.2
+
+2008-12-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.8.1
+ * Release info:
+ http://www.anrichter.net/projects/qsvn/wiki/ReleaseNotes-0.8.1
+
+2008-12-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.8.0
+ * Release info:
+ http://www.anrichter.net/projects/qsvn/wiki/ReleaseNotes-0.8.0
+
+2008-10-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.7.1
+
+2008-08-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.7.0
+ * Release info:
+ http://www.anrichter.net/projects/qsvn/wiki/ReleaseNotes-0.7.0
+
+2008-07-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Fixed bug FS#10914
+
+2008-03-27 JJDaNiMoTh <jjdanimoth@gmail.com>
+ * Replaced qt4 with qt as depend
+
+2007-12-19 Georg Grabler (STiAT) <ggrabler@gmail.com>
+ * Updated to major release 0.6.0
+
diff --git a/community/qsynergy/PKGBUILD b/community/qsynergy/PKGBUILD
new file mode 100644
index 000000000..0c187bdd6
--- /dev/null
+++ b/community/qsynergy/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 85453 2013-03-01 19:08:27Z andrea $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: mutlu_inek <mutlu_inek@yahoo.de>
+
+pkgname=qsynergy
+pkgver=0.9.1
+pkgrel=2
+pkgdesc="Qt gui for Synergy which lets you remotely control other computers."
+url="http://www.volker-lanz.de/en/software/qsynergy/"
+license=(GPL)
+arch=('i686' 'x86_64')
+depends=('qt4' 'synergy')
+source=("http://sourceforge.net/projects/$pkgname/files/$pkgver/$pkgname-$pkgver.tar.gz")
+md5sums=('17d8989668016185b859332aacf9e7df')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ qmake-qt4
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -Dm755 "$srcdir"/$pkgname-$pkgver/qsynergy "$pkgdir"/usr/bin/qsynergy
+ install -Dm644 dist/debian/qsynergy.desktop "$pkgdir"/usr/share/applications/qsynergy.desktop
+ install -Dm644 dist/qsynergy.xpm "$pkgdir"/usr/share/pixmaps/qsynergy.xpm
+}
diff --git a/community/qt-recordmydesktop/PKGBUILD b/community/qt-recordmydesktop/PKGBUILD
new file mode 100644
index 000000000..c8704f45e
--- /dev/null
+++ b/community/qt-recordmydesktop/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 92883 2013-06-17 19:06:55Z andrea $
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Daniel J Griffiths <griffithsdj@archlinux.us>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Marc poiroud <marci1 AT archlinux.fr>
+
+pkgname=qt-recordmydesktop
+pkgver=0.3.8
+pkgrel=6
+pkgdesc="Qt4 frontend for recordMyDesktop"
+arch=('i686' 'x86_64')
+url="http://recordmydesktop.sourceforge.net"
+license=('GPL')
+depends=('recordmydesktop>=0.3.8.1' 'python2-pyqt')
+source=(http://downloads.sourceforge.net/sourceforge/recordmydesktop/${pkgname}-${pkgver}.tar.gz
+ 'pyqt4.patch')
+md5sums=('bf1525740755615ae172ae27fef68fb5'
+ 'ce1dc05b512df883d0e204eac2b1eaaf')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}"/pyqt4.patch
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ # python2 fix
+ sed -i 's|PYQT4_VERSION=`python -c|PYQT4_VERSION=`python2 -c|' configure
+ sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' src/qt-recordMyDesktop.in
+
+ ./configure \
+ --prefix=/usr
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/qt-recordmydesktop/pyqt4.patch b/community/qt-recordmydesktop/pyqt4.patch
new file mode 100644
index 000000000..5c082e446
--- /dev/null
+++ b/community/qt-recordmydesktop/pyqt4.patch
@@ -0,0 +1,11 @@
+--- qt-recordmydesktop-0.3.8/configure.ac~ 2013-06-17 18:22:27.747345090 +0000
++++ qt-recordmydesktop-0.3.8/configure.ac 2013-06-17 18:22:46.937225955 +0000
+@@ -43,7 +43,7 @@
+
+ export PYTHONPATH=$PYTHONPATH
+
+-export PYQT4_VERSION=`python -c 'import PyQt4; from PyQt4 import QtCore; print QtCore.PYQT_VERSION_STR' 2>>/dev/null `
++export PYQT4_VERSION=`python2 -c 'import PyQt4; from PyQt4 import QtCore; print QtCore.PYQT_VERSION_STR' 2>>/dev/null `
+ if test x$PYQT4_VERSION == x; then
+ AC_MSG_ERROR(You need PyQt4>=4.1 installed to procceed);
+ fi
diff --git a/community/qt4pas/PKGBUILD b/community/qt4pas/PKGBUILD
new file mode 100644
index 000000000..809ff86e9
--- /dev/null
+++ b/community/qt4pas/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 83860 2013-02-05 18:39:27Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: Fabien Wang <fabien(dot)wang(at)gmail(dot)com>
+
+pkgname=qt4pas
+pkgver=2.5
+pkgrel=3
+pkgdesc="Free Pascal Qt4 Binding Library"
+arch=('i686' 'x86_64')
+url="http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html"
+license=('LGPL')
+depends=('qtwebkit')
+source=("http://users.telenet.be/Jan.Van.hijfte/qtforfpc/V2.5/qt4pas-V2.5_Qt4.5.3.tar.gz")
+md5sums=('8249bc17e4167e077d22c7f5fb118bb2')
+
+build() {
+ cd "$srcdir/qt4pas-V2.5_Qt4.5.3/"
+
+ qmake -query
+ qmake
+ make
+}
+
+package() {
+ cd "$srcdir/qt4pas-V2.5_Qt4.5.3/"
+ INSTALL_ROOT="$pkgdir" make install
+
+ pushd "$pkgdir/usr/lib"
+ for intflink in 'libqt4intf.so' 'libqt4intf.so.5' 'libqt4intf.so.5.2' 'libqt4intf.so.5.2.1' 'libqt4intf.so.5.2.5'; do
+ ln -s libQt4Pas.so.5.2.5 $intflink
+ done
+ popd
+}
diff --git a/community/qtcreator/PKGBUILD b/community/qtcreator/PKGBUILD
new file mode 100644
index 000000000..12ec966bd
--- /dev/null
+++ b/community/qtcreator/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 93892 2013-07-11 20:07:23Z svenstaro $
+# Maintainer: Imanol Celaya <ornitorrincos@archlinux-es.org>
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Contributor: Dan Vratil <progdan@progdansoft.com>
+# Contributor: thotypous <matiasΘarchlinux-br·org>
+# Contributor: delor <bartekpiech gmail com>
+
+pkgname=qtcreator
+pkgver=2.8.0
+_pkgver=2.8.0
+pkgrel=1
+pkgdesc='Lightweight, cross-platform integrated development environment'
+arch=('i686' 'x86_64')
+url='http://qt-project.org'
+license=('LGPL')
+depends=('qt5-quick1' 'qt5-tools')
+makedepends=('git')
+options=('docs')
+optdepends=('qt5-doc: for the integrated Qt documentation'
+ 'gdb: for the debugger'
+ 'cmake: for cmake project support'
+ 'openssh-askpass: for ssh support'
+ 'git: for git support'
+ 'mercurial: for mercurial support'
+ 'bzr: for bazaar support'
+ 'valgrind: for analyze support')
+install=qtcreator.install
+source=("http://download.qt-project.org/official_releases/qtcreator/2.8/${pkgver}/qt-creator-${pkgver}-src.tar.gz"
+ 'qtcreator.desktop')
+md5sums=('5aacdad4491b7dda9758a81384d8da79'
+ '82888d4be900e7833d768050a135cd37')
+
+build() {
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+
+ qmake ../qt-creator-${pkgver}-src/qtcreator.pro
+ make
+ make docs -j1
+}
+
+package() {
+ cd build
+
+ make INSTALL_ROOT="${pkgdir}/usr/" install
+ make INSTALL_ROOT="${pkgdir}/usr/" install_docs
+
+ install -Dm644 ${srcdir}/qtcreator.desktop ${pkgdir}/usr/share/applications/qtcreator.desktop
+ install -Dm644 ${srcdir}/qt-creator-${pkgver}-src/LGPL_EXCEPTION.TXT ${pkgdir}/usr/share/licenses/qtcreator/LGPL_EXCEPTION.TXT
+}
diff --git a/community/qtcreator/fix-build.patch b/community/qtcreator/fix-build.patch
new file mode 100644
index 000000000..5cf2a503b
--- /dev/null
+++ b/community/qtcreator/fix-build.patch
@@ -0,0 +1,10 @@
+--- qt-creator-2.6.2-src/qtcreator.pri~ 2013-02-27 13:55:23.818990553 +0000
++++ qt-creator-2.6.2-src/qtcreator.pri 2013-02-27 13:55:52.335454428 +0000
+@@ -147,6 +147,7 @@
+ }
+
+ INCLUDEPATH += \
++ /usr/include \
+ $$IDE_BUILD_TREE/src \ # for <app/app_version.h>
+ $$IDE_SOURCE_TREE/src/libs \
+ $$IDE_SOURCE_TREE/tools \
diff --git a/community/qtcreator/qtcreator.desktop b/community/qtcreator/qtcreator.desktop
new file mode 100644
index 000000000..0e8f73e64
--- /dev/null
+++ b/community/qtcreator/qtcreator.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Exec=/usr/bin/qtcreator
+Name=Qt Creator
+GenericName=C++ IDE
+X-KDE-StartupNotify=true
+Icon=/usr/share/icons/hicolor/512x512/apps/QtProject-qtcreator.png
+Terminal=false
+Type=Application
+Categories=Qt;Development;
diff --git a/community/qtcreator/qtcreator.install b/community/qtcreator/qtcreator.install
new file mode 100644
index 000000000..4d4a283db
--- /dev/null
+++ b/community/qtcreator/qtcreator.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/qtcurve-gtk2/PKGBUILD b/community/qtcurve-gtk2/PKGBUILD
new file mode 100644
index 000000000..9a53245bd
--- /dev/null
+++ b/community/qtcurve-gtk2/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 82497 2013-01-19 15:53:37Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=qtcurve-gtk2
+pkgver=1.8.16
+pkgrel=1
+pkgdesc="A configurable set of widget styles for KDE and Gtk"
+arch=('i686' 'x86_64')
+url="http://www.kde-look.org/content/show.php?content=40492"
+license=('GPL')
+depends=('gtk2')
+makedepends=('cmake')
+groups=('qtcurve')
+options=('!libtool')
+source=("http://craigd.wikispaces.com/file/view/QtCurve-Gtk2-${pkgver}.tar.bz2")
+md5sums=('8923caaa0704f6a30252a5eadb015d76')
+
+build() {
+ cd "${srcdir}"
+
+ mkdir -p build
+ cd build/
+ cmake ../QtCurve-Gtk2-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/qtcurve-kde3/PKGBUILD b/community/qtcurve-kde3/PKGBUILD
new file mode 100644
index 000000000..f5e057cfb
--- /dev/null
+++ b/community/qtcurve-kde3/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 65718 2012-02-22 11:48:53Z andrea $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=qtcurve-kde3
+pkgver=1.8.5
+pkgrel=3
+arch=('i686' 'x86_64')
+groups=('qtcurve')
+license=('GPL')
+pkgdesc='A configurable set of widget styles for KDE and Gtk'
+url='http://www.kde-look.org/content/show.php?content=40492'
+depends=('kdelibs3')
+makedepends=('cmake' 'kdelibs')
+source=("http://craigd.wikispaces.com/file/view/QtCurve-KDE3-${pkgver}.tar.bz2"
+ 'kdeglobals'
+ 'bypass-kde-config.patch')
+md5sums=('d9cca99526079782f9fc7bd7ba432582'
+ '05a6294c7f0e239e698e7e5224fc8e7f'
+ 'e1ab2c0995e412b2cbfe804fba75517e')
+
+build() {
+ . /etc/profile.d/qt3.sh
+ . /etc/profile.d/kde3.sh
+
+ cd ${srcdir}/QtCurve-KDE3-${pkgver}
+ # Bypass KDE prefix detection by kde4-config, see:
+ # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541667
+ patch -Np1 -i ${srcdir}/bypass-kde-config.patch
+
+ cd ${srcdir}
+ mkdir build
+ cd build
+ cmake ../QtCurve-KDE3-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/opt/kde
+ make
+}
+
+package() {
+ cd $srcdir/build
+ make DESTDIR=$pkgdir install
+
+ # remove kcontrol plugins
+ rm -f $pkgdir/opt/kde/lib/kde3/kstyle_qtcurve_config.*
+
+ # set default theme
+ install -D -m644 $srcdir/kdeglobals $pkgdir/opt/kde/share/config/kdeglobals
+}
diff --git a/community/qtcurve-kde3/bypass-kde-config.patch b/community/qtcurve-kde3/bypass-kde-config.patch
new file mode 100644
index 000000000..113fb93b8
--- /dev/null
+++ b/community/qtcurve-kde3/bypass-kde-config.patch
@@ -0,0 +1,24 @@
+--- QtCurve-KDE3-1.6.0/CMakeLists.txt~ 2010-09-14 16:19:36.543333337 +0200
++++ QtCurve-KDE3-1.6.0/CMakeLists.txt 2010-09-14 16:22:18.160000003 +0200
+@@ -44,6 +44,12 @@
+ endif (QT_PLUGINS_DIR MATCHES NOTFOUND)
+ endif (NOT QTC_QT_ONLY)
+
++# Comment the kde3/kde4 prefix detection as a whole as it wants to run
++# kde-config and kde4-config, which in turn can create stuff in ~/.kde.
++# This cannot work on read-only homes.
++# So, the "fallback" prefixes ("/usr" for both) will be used.
++if (BRAINDEAD_DETECTION)
++
+ if (NOT QTC_QT_ONLY)
+ exec_program(kde-config
+ ARGS --prefix --expandvars
+@@ -71,6 +77,8 @@
+ OUTPUT_VARIABLE KDE4PREFIX)
+ endif(KDE4_KDECONFIG_EXECUTABLE)
+
++endif (BRAINDEAD_DETECTION)
++
+ if(NOT KDE4PREFIX)
+ set(KDE4PREFIX ${KDE3PREFIX})
+ endif(NOT KDE4PREFIX)
diff --git a/community/qtcurve-kde3/kdeglobals b/community/qtcurve-kde3/kdeglobals
new file mode 100644
index 000000000..ffbe26579
--- /dev/null
+++ b/community/qtcurve-kde3/kdeglobals
@@ -0,0 +1,2 @@
+[General]
+widgetStyle=qtcurve
diff --git a/community/qtcurve-kde4/PKGBUILD b/community/qtcurve-kde4/PKGBUILD
new file mode 100644
index 000000000..f1c83453a
--- /dev/null
+++ b/community/qtcurve-kde4/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 74971 2012-08-10 22:17:48Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=qtcurve-kde4
+pkgver=1.8.14
+pkgrel=1
+arch=('i686' 'x86_64')
+groups=('qtcurve')
+license=('GPL')
+pkgdesc='A configurable set of widget styles for KDE and Gtk'
+url='http://www.kde-look.org/content/show.php?content=40492'
+depends=('kdebase-workspace')
+makedepends=('cmake' 'automoc4')
+source=("http://craigd.wikispaces.com/file/view/QtCurve-KDE4-${pkgver}.tar.bz2"
+ 'bypass-kde-config.patch'
+ 'fix-kwin_decoration-macro.patch')
+md5sums=('b4d7924806058f39e842ce7ffe47a4f8'
+ '3f6681147cc361bd2bfd4d7477f2a8d0'
+ '7366e45ef9f24f53a36f87a539a937d6')
+
+build() {
+ cd "${srcdir}"/QtCurve-KDE4-${pkgver}
+ # Bypass KDE prefix detection by kde4-config, see:
+ # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541667
+ patch -p1 -i "${srcdir}"/bypass-kde-config.patch
+ patch -p1 -i "${srcdir}"/fix-kwin_decoration-macro.patch
+
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../QtCurve-KDE4-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/qtcurve-kde4/bypass-kde-config.patch b/community/qtcurve-kde4/bypass-kde-config.patch
new file mode 100644
index 000000000..d09e5ead5
--- /dev/null
+++ b/community/qtcurve-kde4/bypass-kde-config.patch
@@ -0,0 +1,32 @@
+From: Pino Toscano <pino@kde.org>
+Description: Disable braindead KDE3/4 prefix detection
+ The current detection of the KDE 3 and KDE 4 prefixes is done running
+ kde-config and kde4-config, resp.
+ This can be problematic, as these two could create files in ~/.kde,
+ thus breaking when the home of the current user (eg in buildds) is read-only.
+ Given the build system sets anyway "/usr" as prefix of KDE 3 and KDE 4
+ if they were not detected, then just let it to.
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541667
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,6 +16,11 @@ set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CM
+ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${QTCURVE_VERSION_FULL}")
+ include(CPack)
+
++# Comment the kde3/kde4 prefix detection as a whole as it wants to run
++# kde-config and kde4-config, which in turn can create stuff in ~/.kde.
++# This cannot work on read-only homes.
++# So, the "fallback" prefixes ("/usr" for both) will be used.
++if (BRAINDEAD_DETECTION)
+ set(OLD_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+
+ # Try to find kde4-config...
+@@ -48,6 +53,7 @@ if (KDE4_KDECONFIG_EXECUTABLE)
+ ARGS --prefix
+ OUTPUT_VARIABLE KDE4PREFIX)
+ endif (KDE4_KDECONFIG_EXECUTABLE)
++endif (BRAINDEAD_DETECTION)
+
+ if(NOT KDE3PREFIX)
+ if(KDE4PREFIX)
diff --git a/community/qtcurve-kde4/fix-kwin_decoration-macro.patch b/community/qtcurve-kde4/fix-kwin_decoration-macro.patch
new file mode 100644
index 000000000..6202e7b87
--- /dev/null
+++ b/community/qtcurve-kde4/fix-kwin_decoration-macro.patch
@@ -0,0 +1,15 @@
+diff -Naur a/kwin/qtcurvehandler.cpp b/kwin/qtcurvehandler.cpp
+--- a/kwin/qtcurvehandler.cpp 2012-08-02 13:36:58.811347708 +0000
++++ b/kwin/qtcurvehandler.cpp 2012-08-02 13:38:03.240996792 +0000
+@@ -489,6 +489,11 @@
+
+ extern "C"
+ {
++ KWIN_EXPORT int decoration_version()
++ {
++ return KWIN_DECORATION_API_VERSION;
++ }
++
+ KDE_EXPORT KDecorationFactory *create_factory()
+ {
+ KWinQtCurve::handler = new KWinQtCurve::QtCurveHandler();
diff --git a/community/qtemu/PKGBUILD b/community/qtemu/PKGBUILD
new file mode 100644
index 000000000..75e6fd54e
--- /dev/null
+++ b/community/qtemu/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 85402 2013-03-01 10:39:15Z andrea $
+# Maintainer: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Previous Contributor: Urs Wolfer <uwolfer @ fwo.ch>
+
+pkgname=qtemu
+pkgver=1.0.5
+pkgrel=8
+pkgdesc="Graphical user interface for QEMU written in Qt4"
+url="http://qtemu.org"
+license=("GPL")
+arch=('i686' 'x86_64')
+makedepends=('cmake')
+depends=('qemu' 'qt4')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ http://qtemu.svn.sourceforge.net/viewvc/qtemu/trunk/qtemu/misc/qtemu.desktop)
+md5sums=('3b93e209dc62e52a1d94c8eb24d0b149'
+ 'b323b75384fdb327728d2603979f7202')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ cmake -DCMAKE_INSTALL_PREFIX=/opt/qtemu .
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -d "$pkgdir/usr/bin"
+ ln -s /opt/qtemu/bin/qtemu "$pkgdir/usr/bin/qtemu"
+ install -Dm0644 $srcdir/qtemu.desktop $pkgdir/usr/share/applications/qtemu.desktop
+ install -Dm0644 images/crystal/new.png $pkgdir/usr/share/icons/qtemu.png
+}
diff --git a/community/qtfm/PKGBUILD b/community/qtfm/PKGBUILD
new file mode 100644
index 000000000..2b43d1c7e
--- /dev/null
+++ b/community/qtfm/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92818 2013-06-15 13:03:11Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Wittfella <wittfella@wittfella.com>
+
+pkgname=qtfm
+pkgver=5.9
+pkgrel=1
+pkgdesc="A lightweight file manager"
+arch=('i686' 'x86_64')
+url="http://qt-apps.org/content/show.php/QtFM?content=158787"
+license=('GPL')
+depends=('file' 'qt5-base' 'desktop-file-utils')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://qt-apps.org/CONTENT/content-files/158787-qtfm.zip)
+sha256sums=('07ffd61dd5d4aa7c16f1c544804517b621e3ef1a30eeda97c087219a3cb35128')
+
+build() {
+ cd "${srcdir}/$pkgname"
+
+ qmake
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname"
+
+ make INSTALL_ROOT="${pkgdir}" install
+}
diff --git a/community/qtfm/qtfm.changelog b/community/qtfm/qtfm.changelog
new file mode 100644
index 000000000..2212da656
--- /dev/null
+++ b/community/qtfm/qtfm.changelog
@@ -0,0 +1,14 @@
+2013-06-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qtfm 5.9-1
+
+2012-06-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qtfm 5.5-1
+
+2012-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qtfm 5.4-1
+
+2011-12-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qtfm 5.3-1
+
+2011-12-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qtfm 5.2-1
diff --git a/community/qtfm/qtfm.install b/community/qtfm/qtfm.install
new file mode 100644
index 000000000..2eaa60550
--- /dev/null
+++ b/community/qtfm/qtfm.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/qtmpc/PKGBUILD b/community/qtmpc/PKGBUILD
new file mode 100644
index 000000000..4755f681e
--- /dev/null
+++ b/community/qtmpc/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 67768 2012-03-14 11:08:26Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Shaika-Dzari <shaikadzari at gmail dot com>
+
+pkgname=qtmpc
+pkgver=0.6.1
+pkgrel=3
+pkgdesc="Qt4-based front-end for MPD"
+arch=('i686' 'x86_64')
+url="http://qtmpc.lowblog.nl/"
+license=('GPL')
+depends=('kdebase-runtime')
+makedepends=('automoc4' 'cmake')
+install=$pkgname.install
+source=("http://files.lowblog.nl/$pkgname/QtMPC-$pkgver.tar.bz2"
+ 'qtmpc-0.6.1-underlinking.patch')
+sha256sums=('82287a26788b36d49db26518b66203f332cf686eefb81ee2d9be095e61123a62'
+ '8295218ebeeb14372c36c34510a9eed7210e82d8e474ef3caae1bd58327780d3')
+
+build() {
+ cd ${srcdir}/QtMPC
+
+ patch -Np1 -i "${srcdir}/qtmpc-0.6.1-underlinking.patch"
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/QtMPC
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/qtmpc/qtmpc-0.6.1-underlinking.patch b/community/qtmpc/qtmpc-0.6.1-underlinking.patch
new file mode 100644
index 000000000..881187d1f
--- /dev/null
+++ b/community/qtmpc/qtmpc-0.6.1-underlinking.patch
@@ -0,0 +1,40 @@
+diff -ruN QtMPC-0-vanilla/CMakeLists.txt QtMPC/CMakeLists.txt
+--- QtMPC-0-vanilla/CMakeLists.txt 2010-11-02 17:00:58.000000000 +0100
++++ QtMPC/CMakeLists.txt 2011-11-20 23:27:18.000000000 +0100
+@@ -81,6 +81,11 @@
+
+ # this command finds Qt4 libraries and sets all required variables
+ FIND_PACKAGE( Qt4 REQUIRED )
++
++# add some useful macros and variables
++# (QT_USE_FILE is a variable defined by FIND_PACKAGE( Qt4 ) that contains a path to CMake script)
++INCLUDE( ${QT_USE_FILE} )
++
+ FIND_PACKAGE( KDE4 )
+
+ IF( NOT DEFINED WANT_KDE_SUPPORT )
+@@ -134,12 +139,6 @@
+ ADD_DEFINITIONS( -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -Wall -Wextra )
+ ENDIF( NOT ENABLE_KDE_SUPPORT )
+
+-# add some useful macros and variables
+-# (QT_USE_FILE is a variable defined by FIND_PACKAGE( Qt4 ) that contains a path to CMake script)
+-IF( NOT ENABLE_KDE_SUPPORT )
+- INCLUDE( ${QT_USE_FILE} )
+-ENDIF( NOT ENABLE_KDE_SUPPORT )
+-
+ ADD_SUBDIRECTORY( external/libmaia )
+
+ # Compile the resource files
+@@ -169,9 +168,9 @@
+
+ # Last but not least, link everything. Based on whether we are using KDE or not.
+ IF( ENABLE_KDE_SUPPORT )
+- TARGET_LINK_LIBRARIES( QtMPC ${QT_LIBRARIES} ${KDE4_KDECORE_LIBS} ${KDE4_KDEUI_LIBS} Maia )
++ TARGET_LINK_LIBRARIES( QtMPC Maia ${KDE4_KDECORE_LIBS} ${KDE4_KDEUI_LIBS} ${QT_LIBRARIES} )
+ ELSE( ENABLE_KDE_SUPPORT )
+- TARGET_LINK_LIBRARIES( QtMPC ${QT_LIBRARIES} Maia )
++ TARGET_LINK_LIBRARIES( QtMPC Maia ${QT_LIBRARIES} )
+ ENDIF( ENABLE_KDE_SUPPORT )
+
+ IF( ENABLE_KDE_SUPPORT )
diff --git a/community/qtmpc/qtmpc.install b/community/qtmpc/qtmpc.install
new file mode 100644
index 000000000..1c0de2e4f
--- /dev/null
+++ b/community/qtmpc/qtmpc.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/qtractor/PKGBUILD b/community/qtractor/PKGBUILD
new file mode 100644
index 000000000..4a64204a5
--- /dev/null
+++ b/community/qtractor/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 92566 2013-06-08 18:10:04Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Philipp Überbacher <hollunder at gmx dot at>
+
+pkgname=qtractor
+pkgver=0.5.9
+pkgrel=1
+pkgdesc="Audio/MIDI multitrack sequencer"
+arch=('i686' 'x86_64')
+url="http://qtractor.sourceforge.net/"
+license=('GPL')
+depends=('qt4' 'suil' 'lilv' 'libmad' 'liblo'
+ 'rubberband' 'shared-mime-info')
+makedepends=('ladspa' 'dssi')
+[ "$CARCH" = "i686" ] && optdepends=('dssi-vst: win32 VST support')
+install=qtractor.install
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('92e18a45e8a378761119440eb677a908')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package () {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/qtractor/qtractor.install b/community/qtractor/qtractor.install
new file mode 100644
index 000000000..3b3aff7d9
--- /dev/null
+++ b/community/qtractor/qtractor.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/qtscrobbler/PKGBUILD b/community/qtscrobbler/PKGBUILD
new file mode 100644
index 000000000..804a797ea
--- /dev/null
+++ b/community/qtscrobbler/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 92967 2013-06-21 07:22:15Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Simon Legner <simon dot legner at gmail dot com>
+
+pkgname=qtscrobbler
+pkgver=0.11
+pkgrel=4
+pkgdesc="Submit .scrobbler.log from portable players to Last.fm and Libre.fm"
+arch=('i686' 'x86_64')
+url="http://qtscrob.sourceforge.net/"
+license=('GPL')
+depends=('libmtp' 'qt4')
+makedepends=('gtk-update-icon-cache' 'gzip')
+install=${pkgname}.install
+source=("http://downloads.sourceforge.net/project/qtscrob/qtscrob/${pkgver}/qtscrob-${pkgver}.tar.bz2")
+sha256sums=('01c8e48f616ed09504833d27d92fd62f455bd645ea2d1cc2a5f4c287d641daba')
+
+build() {
+ cd "$srcdir"/qtscrob-${pkgver}/src
+
+ qmake-qt4
+ make
+}
+
+package() {
+ cd "$srcdir"/qtscrob-${pkgver}/src
+
+ install -dm 755 "${pkgdir}"/usr/{bin,share/{applications,icons/hicolor,man/man1}}
+ install -m 755 cli/scrobbler "${pkgdir}"/usr/bin/qtscrob-cli
+ install -m 755 qt/qtscrob "${pkgdir}"/usr/bin/qtscrob
+
+ install -m 644 cli/scrobbler.1 "${pkgdir}"/usr/share/man/man1/qtscrob-cli.1
+ install -m 644 qt/qtscrob.1 "${pkgdir}"/usr/share/man/man1/qtscrob.1
+ gzip -9 -f "${pkgdir}"/usr/share/man/man1/*
+
+ install -m 644 qt/qtscrob.desktop "${pkgdir}"/usr/share/applications/qtscrob.desktop
+ for size in 16 32 48 64 128 256 512 ; do
+ install -dm 755 "${pkgdir}"/usr/share/icons/hicolor/${size}x${size}/apps
+ install -m 644 qt/resources/icons/${size}x${size}/qtscrob.png "${pkgdir}"/usr/share/icons/hicolor/${size}x${size}/apps/qtscrob.png
+ done
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/qtscrobbler/qtscrobbler.install b/community/qtscrobbler/qtscrobbler.install
new file mode 100644
index 000000000..3e26308b0
--- /dev/null
+++ b/community/qtscrobbler/qtscrobbler.install
@@ -0,0 +1,9 @@
+post_install() {
+ gtk-update-icon-cache -ftq usr/share/icons/hicolor
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/qtspim/PKGBUILD b/community/qtspim/PKGBUILD
new file mode 100644
index 000000000..1dc5e82a1
--- /dev/null
+++ b/community/qtspim/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 85407 2013-03-01 10:39:40Z andrea $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+
+pkgname=qtspim
+pkgver=9.1.7
+pkgrel=2
+pkgdesc="New user interface for spim, a MIPS simulator."
+arch=('i686' 'x86_64')
+url="http://spimsimulator.sourceforge.net/"
+license=('BSD')
+depends=('qt4')
+makedepends=('subversion')
+
+__svntrunk="https://spimsimulator.svn.sourceforge.net/svnroot/spimsimulator"
+__svnmod=('QtSpim' 'CPU' 'Documentation' 'Setup')
+__svnrev=598
+
+build() {
+ cd "$srcdir"
+ msg "Connecting to SVN server...."
+
+ for i in "${__svnmod[@]}"; do
+ if [[ -d "$i/.svn" ]]; then
+ (cd "$i" && svn up -r "$__svnrev")
+ else
+ svn co "$__svntrunk/$i" --config-dir ./ -r "$__svnrev" "$i"
+ fi
+ done
+
+ msg "SVN checkout done or server timeout"
+ msg "Starting build..."
+
+ rm -rf "$srcdir/build"
+ mkdir "$srcdir/build"
+ for i in "${__svnmod[@]}"; do
+ cp -r "$srcdir/$i" "$srcdir/build"
+ done
+ cd "$srcdir/build/QtSpim"
+
+ qmake
+ make
+}
+
+package() {
+ cd "$srcdir/build/QtSpim"
+
+ install -Dm755 QtSpim "$pkgdir/usr/bin/qtspim"
+
+ install -dm755 "$pkgdir/usr/share/qtspim"
+ cp -r help "$pkgdir/usr/share/qtspim"
+ rm -rf "$pkgdir/usr/share/qtspim/help/.svn"
+
+ cd "$srcdir/build"
+
+ install -Dm644 Documentation/spim.man "$pkgdir/usr/share/man/man1/qtspim.1"
+ install -Dm644 Setup/qtspim_debian_deployment/qtspim.desktop \
+ "$pkgdir/usr/share/applications/qtspim.desktop"
+ install -Dm644 Setup/qtspim_debian_deployment/copyright \
+ "$pkgdir/usr/share/licenses/$pkgname/copyright"
+ install -Dm644 Setup/NewIcon48x48.png "$pkgdir/usr/share/qtspim/qtspim.png"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/quagga/PKGBUILD b/community/quagga/PKGBUILD
new file mode 100644
index 000000000..d52fc06ea
--- /dev/null
+++ b/community/quagga/PKGBUILD
@@ -0,0 +1,84 @@
+# $Id: PKGBUILD 90540 2013-05-13 00:51:44Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgname=quagga
+pkgver=0.99.22.1
+pkgrel=2
+pkgdesc='BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite'
+arch=('i686' 'x86_64')
+url='http://www.quagga.net'
+license=('GPL2')
+depends=('libcap' 'libnl' 'net-snmp' 'readline' 'ncurses')
+options=('!libtool' '!buildflags')
+install=quagga.install
+source=("http://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz"
+ 'babeld.service'
+ 'bgpd.service'
+ 'isisd.service'
+ 'ospf6d.service'
+ 'ospfd.service'
+ 'ripd.service'
+ 'ripngd.service'
+ 'zebra.service')
+md5sums=('d9ab848661720d6da2551c7a4a19c731'
+ '20a8e36ad851d4e06467aeb56a84b245'
+ 'cc90c234aac9098c5132d653037d5269'
+ '67d0ada0f3000b9a86351798786c5256'
+ '6e2569ef339838aa41375e913a8e19ce'
+ '260f5fcf9b53ef201a8fb34e7ea90457'
+ 'b6e3549d780355914ae8edd43e15630a'
+ '72dd63c49fdaea41729a4318d0fbac79'
+ '577f1e7caeea31d910f2dc29c28ada7d')
+
+prepare() {
+ cd $pkgname-$pkgver
+ shopt -s nullglob
+ for _p in "$srcdir"/*.patch; do
+ msg2 "Applying ${_p##*/}"
+ patch -p 1 -i "$_p"
+ done
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc/quagga \
+ --localstatedir=/run/quagga \
+ --enable-exampledir=/usr/share/doc/quagga/examples \
+ --enable-vtysh \
+ --enable-isisd \
+ --enable-isis-topology \
+ --enable-netlink \
+ --enable-snmp \
+ --enable-tcp-zebra \
+ --enable-irdp \
+ --enable-pcreposix \
+ --enable-multipath=64 \
+ --enable-user=quagga \
+ --enable-group=quagga \
+ --enable-configfile-mask=0640 \
+ --enable-logfile-mask=0640
+ make
+}
+
+package() {
+ # upstream install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # logrotate stuff
+ install -D -m 644 redhat/$pkgname.logrotate "$pkgdir/etc/logrotate.d/$pkgname"
+ sed -ri 's,/var/run/quagga,/run/quagga,g' "$pkgdir/etc/logrotate.d/$pkgname"
+
+ # systemd
+ cd "$srcdir"
+ for _d in zebra ripd ripngd bgpd ospfd ospf6d isisd babeld; do
+ install -D -m 644 $_d.service "$pkgdir/usr/lib/systemd/system/$_d.service"
+ done
+ install -D -m 644 /dev/null "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+ echo "d /run/$pkgname 0750 $pkgname $pkgname" > "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/quagga/babeld.service b/community/quagga/babeld.service
new file mode 100644
index 000000000..7279f0336
--- /dev/null
+++ b/community/quagga/babeld.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Babel routing daemon
+Documentation=man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/babeld.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/babeld.pid
+ExecStart=/usr/bin/babeld -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/quagga/bgpd.service b/community/quagga/bgpd.service
new file mode 100644
index 000000000..b0bf1db0f
--- /dev/null
+++ b/community/quagga/bgpd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=BGP routing daemon
+Documentation=man:bgpd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/bgpd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/bgpd.pid
+ExecStart=/usr/bin/bgpd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/quagga/isisd.service b/community/quagga/isisd.service
new file mode 100644
index 000000000..5ad16c1a4
--- /dev/null
+++ b/community/quagga/isisd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=IS-IS routing daemon
+Documentation=man:isis(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/isisd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/isisd.pid
+ExecStart=/usr/bin/isisd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/quagga/ospf6d.service b/community/quagga/ospf6d.service
new file mode 100644
index 000000000..dae3dc322
--- /dev/null
+++ b/community/quagga/ospf6d.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=OSPF routing daemon for IPv6
+Documentation=man:ospfd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ospf6d.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ospf6d.pid
+ExecStart=/usr/bin/ospf6d -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/quagga/ospfd.service b/community/quagga/ospfd.service
new file mode 100644
index 000000000..e43c474cc
--- /dev/null
+++ b/community/quagga/ospfd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=OSPF routing daemon
+Documentation=man:ospfd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ospfd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ospfd.pid
+ExecStart=/usr/bin/ospfd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/quagga/quagga.install b/community/quagga/quagga.install
new file mode 100644
index 000000000..c5d88b976
--- /dev/null
+++ b/community/quagga/quagga.install
@@ -0,0 +1,36 @@
+infodir=/usr/share/info
+filelist=(quagga.info quagga.info-1 quagga.info-2)
+
+post_install() {
+ groupadd -r quagga
+ useradd -MNr -s /bin/false -d /run/quagga -g quagga quagga && passwd -l quagga &>/dev/null
+ install -d -m 750 -o quagga -g quagga /{run,etc,var/log}/quagga
+ post_upgrade
+}
+
+post_upgrade() {
+ if [[ -x /usr/bin/install-info ]]; then
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+ fi
+}
+
+pre_remove() {
+ for d in zebra ripd ripngd bgpd ospfd ospf6d isisd; do
+ /etc/rc.d/$d stop &>/dev/null
+ done
+ if [[ -x /usr/bin/install-info ]]; then
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+ fi
+}
+
+post_remove() {
+ userdel quagga &>/dev/null
+ groupdel quagga &>/dev/null
+ rmdir /{etc,var/log}/quagga
+}
+
+# vim: ft=sh ts=2 sw=2 et:
diff --git a/community/quagga/ripd.service b/community/quagga/ripd.service
new file mode 100644
index 000000000..a55498100
--- /dev/null
+++ b/community/quagga/ripd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=RIP routing daemon
+Documentation=man:ripd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ripd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ripd.pid
+ExecStart=/usr/bin/ripd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/quagga/ripngd.service b/community/quagga/ripngd.service
new file mode 100644
index 000000000..4990669d2
--- /dev/null
+++ b/community/quagga/ripngd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=RIP routing daemon for IPv6
+Documentation=man:ripngd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ripngd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ripngd.pid
+ExecStart=/usr/bin/ripngd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/quagga/zebra.service b/community/quagga/zebra.service
new file mode 100644
index 000000000..02813c37c
--- /dev/null
+++ b/community/quagga/zebra.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=GNU Zebra routing manager
+Documentation=man:zebra(8)
+After=network.target
+ConditionPathExists=/etc/quagga/zebra.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/zebra.pid
+ExecStartPre=/sbin/ip route flush proto zebra
+ExecStart=/usr/bin/zebra -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/quassel/PKGBUILD b/community/quassel/PKGBUILD
new file mode 100644
index 000000000..04c8c6994
--- /dev/null
+++ b/community/quassel/PKGBUILD
@@ -0,0 +1,90 @@
+# $Id: PKGBUILD 91733 2013-05-26 19:25:26Z jelle $
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgbase=quassel
+pkgname=('quassel-client' 'quassel-core')
+pkgver=0.9.0
+pkgrel=1
+pkgdesc="QT4 irc client with a separated core"
+arch=('i686' 'x86_64')
+url="http://quassel-irc.org/"
+license=('GPL')
+makedepends=('cmake' 'automoc4' 'qt4' 'icu')
+source=("http://quassel-irc.org/pub/quassel-$pkgver.tar.bz2"
+ 'quassel.service'
+ 'quassel.conf')
+
+sha256sums=('2e3fe06ae3731c829aa3c2f6bb5320619bad264c831f322985c3aa3fe58b6027'
+ '91a1aaae47d41c11aa418dd560039ddbbfb659e02b86379d8c4789c5ada362d3'
+ 'f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8')
+build() {
+ cd $srcdir
+ [[ ! -d build ]] && mkdir build
+ mkdir build-client
+
+ # Core
+ cd build
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr/ \
+ -DWITH_KDE=0 \
+ -DCMAKE_BUILD_TYPE="Release" \
+ -DWITH_OPENSSL=ON \
+ -DWANT_CORE=ON \
+ -DWANT_MONO=OFF \
+ -DWANT_QTCLIENT=OFF \
+ -DWITH_DBUS=OFF \
+ -DWITH_OXYGEN=OFF \
+ -DWITH_PHONON=OFF \
+ -DWITH_WEBKIT=OFF \
+ -DCMAKE_BUILD_TYPE="Release" \
+ ../quassel-${pkgver}/ \
+ -Wno-dev
+
+ make
+
+ # Client
+ cd $srcdir/build-client
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr/ \
+ -DWITH_KDE=0 \
+ -DWITH_OPENSSL=ON \
+ -DCMAKE_BUILD_TYPE="Release" \
+ -DWANT_CORE=OFF \
+ -DWANT_QTCLIENT=ON \
+ -DWANT_MONO=ON \
+ ../quassel-${pkgver}/ \
+ -Wno-dev
+
+ make
+
+}
+
+package_quassel-core() {
+pkgdesc="Qt4 IRC client with a separated core - core only"
+depends=('qt4' 'icu')
+backup=(etc/conf.d/quassel)
+install=quassel.install
+ cd $srcdir/build
+
+ make DESTDIR="${pkgdir}" install
+
+ # Remove unneeded pixmap icons
+ rm -r $pkgdir/usr/share
+
+
+ install -Dm644 "${srcdir}"/$pkgbase.service \
+ "${pkgdir}"/usr/lib/systemd/system/$pkgbase.service
+ install -Dm644 "${srcdir}"/$pkgbase.conf \
+ "${pkgdir}"/etc/conf.d/$pkgbase
+}
+
+package_quassel-client() {
+pkgdesc="Qt4 IRC client with a separated core - client only"
+depends=('qt4')
+install=quassel-client.install
+ cd $srcdir/build-client
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/quassel/quassel-client.install b/community/quassel/quassel-client.install
new file mode 100644
index 000000000..1c93ee3f9
--- /dev/null
+++ b/community/quassel/quassel-client.install
@@ -0,0 +1,9 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+post_upgrade() {
+ post_install
+}
+post_remove() {
+ post_install
+}
diff --git a/community/quassel/quassel.conf b/community/quassel/quassel.conf
new file mode 100644
index 000000000..6b667d8d4
--- /dev/null
+++ b/community/quassel/quassel.conf
@@ -0,0 +1,2 @@
+QUASSEL_USER=quassel
+LISTEN=127.0.0.1
diff --git a/community/quassel/quassel.install b/community/quassel/quassel.install
new file mode 100644
index 000000000..5cd29276b
--- /dev/null
+++ b/community/quassel/quassel.install
@@ -0,0 +1,21 @@
+post_install() {
+ useradd -r -s /bin/sh -d /var/lib/quassel quassel
+ mkdir -p /var/lib/quassel && chown -R quassel:quassel /var/lib/quassel
+# xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ [ `vercmp $2 0.5.2-1` -le 0 ] && (
+ cat <<EOF
+
+==> - quasselcore now runs as the quassel user
+==> - quasselcore now listens to port 127.0.0.1 by default
+==> - both of above are configurable: /etc/conf.d/quassel
+EOF
+ post_install
+ ) || true
+}
+
+post_remove() {
+ userdel quassel
+}
diff --git a/community/quassel/quassel.service b/community/quassel/quassel.service
new file mode 100644
index 000000000..eff018899
--- /dev/null
+++ b/community/quassel/quassel.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Quassel core service
+After=network.target
+
+[Service]
+Type=simple
+User=quassel
+Group=quassel
+ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel --listen=0.0.0.0
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/qucs/ChangeLog b/community/qucs/ChangeLog
new file mode 100644
index 000000000..dba4cf7ec
--- /dev/null
+++ b/community/qucs/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/qucs/PKGBUILD b/community/qucs/PKGBUILD
new file mode 100644
index 000000000..f97ac5164
--- /dev/null
+++ b/community/qucs/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 94064 2013-07-13 14:17:21Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Víctor Martínez Romanos <vmromanos@gmail.com>
+
+pkgname=qucs
+pkgver=0.0.17
+pkgrel=1
+pkgdesc="An integrated circuit simulator with a graphical user interface"
+arch=('i686' 'x86_64')
+url="http://qucs.sourceforge.net"
+license=('GPL')
+depends=('gcc-libs' 'qt4')
+optdepends=('freehdl: to permit digital circuit simulation'
+ 'asco: to enable circuit optimization'
+ 'perl')
+#source=("http://downloads.sourceforge.net/project/qucs/qucs/$(echo $pkgver | cut -f1 -ds)-snapshots/qucs-${pkgver/s/.}.tar.gz")
+source=("http://downloads.sourceforge.net/project/qucs/qucs/$pkgver/qucs-$pkgver.tar.gz")
+md5sums=('4b93ffcc2ef3dbbd6fa53a5743721532')
+
+build() {
+ cd $srcdir/$pkgname-${pkgver/s/.}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-${pkgver/s/.}
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/quesoglc/PKGBUILD b/community/quesoglc/PKGBUILD
new file mode 100644
index 000000000..8154f6f14
--- /dev/null
+++ b/community/quesoglc/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 68088 2012-03-17 19:29:26Z giovanni $
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Markus Pargmann
+
+pkgname=quesoglc
+pkgver=0.7.2
+pkgrel=2
+pkgdesc="A free implementation of the OpenGL Character Renderer (GLC)"
+arch=('i686' 'x86_64')
+url="http://quesoglc.sourceforge.net/"
+license=('LGPL2.1')
+depends=('fontconfig' 'freeglut' 'fribidi' 'glew')
+makedepends=('pkg-config')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('c2697a92e2cc00c537626020e4108a4e')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/qupzilla/PKGBUILD b/community/qupzilla/PKGBUILD
new file mode 100644
index 000000000..cf32eb72e
--- /dev/null
+++ b/community/qupzilla/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90359 2013-05-11 23:23:44Z speps $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+_name=QupZilla
+pkgname=qupzilla
+pkgver=1.4.3
+pkgrel=1
+pkgdesc="Cross-platform QtWebKit browser"
+arch=(i686 x86_64)
+url="http://www.qupzilla.com/"
+license=('GPL3')
+depends=('qtwebkit' 'hunspell')
+optdepends=('bash-completion: bash completion support')
+install="$pkgname.install"
+source=("$pkgname-$pkgver.tar.gz::https://github.com/$_name/$pkgname/tarball/v$pkgver")
+md5sums=('20187fcce11dbba876e1ee7dc5e32583')
+
+build() {
+ cd "$srcdir/$_name-$pkgname-"*
+
+ # enable webgl support
+ export USE_WEBGL=true
+
+ qmake-qt4 QUPZILLA_PREFIX=/usr/
+ make
+}
+
+package() {
+ cd "$srcdir/$_name-$pkgname-"*
+ make INSTALL_ROOT="$pkgdir/" install
+
+ # zsh completion
+ install -Dm644 linux/completion/zsh_completion.sh \
+ "$pkgdir/usr/share/zsh/site-functions/_$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/qupzilla/qupzilla.install b/community/qupzilla/qupzilla.install
new file mode 100644
index 000000000..029294d67
--- /dev/null
+++ b/community/qupzilla/qupzilla.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/quvi/PKGBUILD b/community/quvi/PKGBUILD
new file mode 100644
index 000000000..3bb48927d
--- /dev/null
+++ b/community/quvi/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 70446 2012-05-07 08:29:18Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: joyfulgirl@archlinux.us
+
+pkgname=quvi
+pkgver=0.4.2
+pkgrel=1
+pkgdesc='Command-line tool for parsing video download links.'
+arch=('i686' 'x86_64')
+url='http://quvi.sourceforge.net/'
+license=('LGPL')
+depends=('libquvi')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig})
+md5sums=('05f1e2c711d1ca9d4bc68b8de553941d'
+ '523b17d5a9024c8b0a1636917d79e792')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/radeontool/PKGBUILD b/community/radeontool/PKGBUILD
new file mode 100644
index 000000000..974ffc8fc
--- /dev/null
+++ b/community/radeontool/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 79686 2012-11-11 05:31:16Z lcarlier $
+# Maintainer : Laurent Carlier <lordheavym AT gmail DOT com>
+
+pkgname=radeontool
+pkgver=1.6.3
+pkgrel=1
+pkgdesc="Lowlevel tools to tweak register and dump state on radeon GPUs"
+url="http://airlied.livejournal.com/"
+arch=('i686' 'x86_64')
+license=('ZLIB')
+source=(http://people.freedesktop.org/~airlied/radeontool/${pkgname}-${pkgver}.tar.gz
+ license.txt)
+depends=('libpciaccess')
+md5sums=('e4bd75da852840a02cb2290804abd717'
+ 'cc74a55d8e998ca9a2537a0ab78bc582')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+}
+
+package () {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+ install -D ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/radeontool/license.txt
+}
diff --git a/community/radeontool/license.txt b/community/radeontool/license.txt
new file mode 100644
index 000000000..7a32525f7
--- /dev/null
+++ b/community/radeontool/license.txt
@@ -0,0 +1,22 @@
+Copyright (c) 2002-2004 Frederick Dean <software@fdd.com>
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+claim that you wrote the original software. If you use this software
+in a product, an acknowledgment in the product documentation would be
+appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and must not be
+misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+
+
diff --git a/community/radvd/PKGBUILD b/community/radvd/PKGBUILD
new file mode 100644
index 000000000..15ee454e2
--- /dev/null
+++ b/community/radvd/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 90532 2013-05-13 00:28:44Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Mark Smith <markzzzsmith@yahoo.com.au>
+
+pkgname=radvd
+pkgver=1.9.3
+pkgrel=2
+pkgdesc='IPv6 Router Advertisement Daemon'
+url='http://www.litech.org/radvd/'
+license=('custom')
+depends=('glibc' 'libdaemon')
+arch=('i686' 'x86_64')
+backup=('etc/radvd.conf')
+source=("http://www.litech.org/radvd/dist/$pkgname-$pkgver.tar.gz"
+ "$pkgname.service")
+sha1sums=('14b025bdcec77ea7278cd8ee2a32af3f81d26f4d'
+ '2fdba3b0ed28c67dc1c04bfd1439fa4dece88bbc')
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --with-pidfile=/run/radvd.pid \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="$pkgdir" install
+ # default config
+ install -D -m 644 radvd.conf.example "$pkgdir/etc/radvd.conf"
+ # license
+ install -D -m 644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/COPYRIGHT"
+ # systemd
+ install -D -m 644 ../$pkgname.service \
+ "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/radvd/radvd.service b/community/radvd/radvd.service
new file mode 100644
index 000000000..2f1b1a7fa
--- /dev/null
+++ b/community/radvd/radvd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=IPv6 Router Advertisement Daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/radvd --nodaemon --logmethod=stderr
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ragel/PKGBUILD b/community/ragel/PKGBUILD
new file mode 100644
index 000000000..3d40c9ec9
--- /dev/null
+++ b/community/ragel/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 87968 2013-04-09 16:09:00Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Michael P <ptchinster@archlinux.us>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+# Contributor: Will Chappell <mr.chapendi@gmail.com>
+# Contributor: Jesse Young <jesse.young@gmail.com>
+# Contributor: Gustavo Alvarez <sl1pkn07@gmail.com>
+
+pkgname=ragel
+pkgver=6.8
+pkgrel=1
+pkgdesc="Compiles finite state machines from regular languages into executable C, C++, Objective-C, or D code."
+arch=('i686' 'x86_64')
+url="http://www.complang.org/ragel/"
+license=('GPL')
+depends=('gcc-libs')
+source=("http://www.complang.org/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('1bb39745ac23da449019f9f2cb4b0d01')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/rapidsvn/PKGBUILD b/community/rapidsvn/PKGBUILD
new file mode 100644
index 000000000..ac696641f
--- /dev/null
+++ b/community/rapidsvn/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 79429 2012-11-04 20:20:48Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: AqD <aquila.deus@gmail.com>
+# Contributor: TheMadsen <arch@themadsens.dk>
+
+pkgname=rapidsvn
+pkgver=0.12.1
+pkgrel=1
+pkgdesc="A cross-platform GUI front-end for the Subversion revision system written in C++ using the wxWidgets framework."
+url='http://rapidsvn.tigris.org/'
+arch=('i686' 'x86_64')
+license=('GPL')
+options=('!libtool')
+depends=('subversion' 'wxgtk')
+makedepends=('python2' 'automake' 'libtool')
+source=(http://www.rapidsvn.org/download/release/$pkgver/rapidsvn-$pkgver.tar.gz
+ $pkgname.desktop)
+md5sums=('8de3ca6da3ef6a27d59f959d1bbcd96b'
+ '349e6d9729f88868902611bb1172f134')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./autogen.sh
+
+ sed -i 's#src/tests/svncpp/Makefile##' configure
+ [ "$NOEXTRACT" == 1 ] || ./configure --prefix=/usr --with-apu-config="`which apu-1-config`" --with-apr-config="`which apr-1-config`"
+
+ sed -i 's|/usr/bin/env python|/usr/bin/env python2|' tools/*.py
+ sed -i 's|python|python2|' src/locale/Makefile
+
+ make -k
+ make DESTDIR=$pkgdir install
+
+ install -Dm644 src/res/bitmaps/rapidsvn_32x32.xpm $pkgdir/usr/share/pixmaps/rapidsvn_32x32.xpm
+ install -Dm644 ../$pkgname.desktop $pkgdir/usr/share/applications/$pkgname.desktop
+}
diff --git a/community/rapidsvn/rapidsvn.desktop b/community/rapidsvn/rapidsvn.desktop
new file mode 100644
index 000000000..8adeb20e1
--- /dev/null
+++ b/community/rapidsvn/rapidsvn.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=RapidSVN
+Comment=SVN source viewer
+Exec=rapidsvn
+Icon=rapidsvn_32x32
+Terminal=false
+Type=Application
+Categories=GNOME;Application;Development;
+StartupNotify=true
diff --git a/community/raptor1/PKGBUILD b/community/raptor1/PKGBUILD
new file mode 100644
index 000000000..0401aee5a
--- /dev/null
+++ b/community/raptor1/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 72968 2012-06-25 18:19:15Z andrea $
+# Maintainer:
+# Contributor: Andreas Radke <andyrtr at archlinux.org>
+# Contributor: eric <eric@archlinux.org>
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+
+pkgname=raptor1
+pkgver=1.4.21
+pkgrel=4
+pkgdesc="A C library that parses RDF/XML/N-Triples into RDF triples - old V1 api for compatibility"
+arch=('i686' 'x86_64')
+url="http://librdf.org/raptor"
+depends=('curl' 'libxslt')
+license=('LGPL')
+options=('!libtool' '!docs')
+source=("http://librdf.org/dist/source/raptor-$pkgver.tar.gz"
+ 'curl.patch')
+md5sums=('992061488af7a9e2d933df6b694bb876'
+ '8fe28761645d6a6607b25c94f9ada964')
+
+build() {
+ cd "${srcdir}"/raptor-${pkgver}
+ patch -p1 -i "${srcdir}"/curl.patch
+
+ ./configure --prefix=/usr \
+ --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/raptor-${pkgver}"
+ make prefix="${pkgdir}"/usr install
+
+ mv "${pkgdir}"/usr/bin/rapper "${pkgdir}"/usr/bin/rapperV1
+ rm -f "${pkgdir}"/usr/share/man/man1/rapper.1
+}
diff --git a/community/raptor1/curl.patch b/community/raptor1/curl.patch
new file mode 100644
index 000000000..590140536
--- /dev/null
+++ b/community/raptor1/curl.patch
@@ -0,0 +1,11 @@
+diff -up raptor-1.4.21/src/raptor_internal.h.curl raptor-1.4.21/src/raptor_internal.h
+--- raptor-1.4.21/src/raptor_internal.h.curl 2010-01-29 17:54:42.000000000 -0600
++++ raptor-1.4.21/src/raptor_internal.h 2011-07-31 11:02:44.182465296 -0500
+@@ -852,7 +852,6 @@ int raptor_utf8_is_nfc(const unsigned ch
+
+ #ifdef RAPTOR_WWW_LIBCURL
+ #include <curl/curl.h>
+-#include <curl/types.h>
+ #include <curl/easy.h>
+ #endif
+
diff --git a/community/ratpoison/PKGBUILD b/community/ratpoison/PKGBUILD
new file mode 100644
index 000000000..b98d4f66f
--- /dev/null
+++ b/community/ratpoison/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 88374 2013-04-16 20:26:08Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: juergen <juergen@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+
+pkgname=ratpoison
+pkgver=1.4.6
+pkgrel=1
+pkgdesc="A simple keystroke-driven window manager"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libxinerama' 'readline' 'bash' 'perl' 'libxtst' 'libxft' 'texinfo')
+url="http://www.nongnu.org/ratpoison/"
+install="${pkgname}.install"
+source=("http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ "${pkgname}.desktop")
+md5sums=('5fbaab737cf7fcc8e5eb2d619aaa0eab'
+ '29c3cb9be59758e39d8471391231a74a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make CFLAGS="$CFLAGS -DHAVE_GETLINE"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # fix permissions
+ chmod a+x "${pkgdir}/usr/share/ratpoison/"{allwindows.sh,clickframe.pl,rpshowall.sh,rpws,split.sh}
+
+ # Not useful outside the source tree. Kill it
+ rm "${pkgdir}/usr/share/ratpoison/genrpbindings"
+
+ cd contrib
+ ./genrpbindings
+ install -dm755 "${pkgdir}/usr/share/ratpoison/bindings"
+ install -m644 {Ratpoison.pm,ratpoison-cmd.el,ratpoison.rb,ratpoison.lisp,ratpoison.py} \
+ "${pkgdir}/usr/share/ratpoison/bindings/"
+
+ install -Dm644 "${srcdir}/${pkgname}.desktop" \
+ "${pkgdir}/etc/X11/sessions/${pkgname}.desktop"
+
+ install -Dm644 "${pkgdir}/usr/share/ratpoison/ratpoison.el" \
+ "${pkgdir}/usr/share/emacs/site-lisp/ratpoison.el"
+}
diff --git a/community/ratpoison/ratpoison.desktop b/community/ratpoison/ratpoison.desktop
new file mode 100644
index 000000000..9e29bd46a
--- /dev/null
+++ b/community/ratpoison/ratpoison.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Ratpoison
+Comment=The ratpoison window manager
+Exec=ratpoison
+# no icon yet, only the top three are currently used
+Icon=
+Type=Application
diff --git a/community/ratpoison/ratpoison.install b/community/ratpoison/ratpoison.install
new file mode 100644
index 000000000..1eafd8f69
--- /dev/null
+++ b/community/ratpoison/ratpoison.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(ratpoison.info.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/raul/PKGBUILD b/community/raul/PKGBUILD
new file mode 100644
index 000000000..ad603272e
--- /dev/null
+++ b/community/raul/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 68252 2012-03-20 16:47:35Z giovanni $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Max a.k.a. Synthead <synthead@gmail.com>
+# Contributor: christhemonkey <christhemonkey at gmail dot com>
+
+pkgname=raul
+pkgver=0.8.0
+pkgrel=3
+pkgdesc="C++ Realtime Audio Utility Library"
+arch=('i686' 'x86_64')
+url="http://drobilla.net/software/raul/"
+depends=('glib2')
+makedepends=('boost' 'python2')
+license=('GPL')
+options=('!makeflags')
+source=("http://download.drobilla.net/$pkgname-$pkgver.tar.bz2"
+ 'raul-0.8.0-ldconfig.patch')
+md5sums=('8fa71a20db81fbed5fb6516dea383ea8'
+ 'e86cee755a503d25d37fb2bcaaf48a9b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/raul-0.8.0-ldconfig.patch"
+
+ python2 waf configure --prefix=/usr
+ python2 waf build $MAKEFLAGS
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ python2 waf install --destdir="${pkgdir}"
+}
diff --git a/community/raul/raul-0.8.0-ldconfig.patch b/community/raul/raul-0.8.0-ldconfig.patch
new file mode 100644
index 000000000..a4780b68b
--- /dev/null
+++ b/community/raul/raul-0.8.0-ldconfig.patch
@@ -0,0 +1,10 @@
+--- a/wscript
++++ b/wscript
+@@ -153,7 +153,5 @@ def build(bld):
+ # Documentation
+ autowaf.build_dox(bld, 'RAUL', RAUL_VERSION, top, out)
+
+- bld.add_post_fun(autowaf.run_ldconfig)
+-
+ def test(ctx):
+ autowaf.run_tests(ctx, APPNAME, tests.split())
diff --git a/community/raw-thumbnailer/PKGBUILD b/community/raw-thumbnailer/PKGBUILD
new file mode 100644
index 000000000..09aba9d1b
--- /dev/null
+++ b/community/raw-thumbnailer/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 58310 2011-11-10 20:50:33Z rvanharen $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: boromil@gmail.com
+
+pkgname=raw-thumbnailer
+pkgver=0.2.1
+pkgrel=1
+pkgdesc="A lightweight and fast raw image thumbnailer that can be used by file managers."
+url="http://code.google.com/p/raw-thumbnailer/"
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('libopenraw')
+source=(http://raw-thumbnailer.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+sha1sums=('f34012062c0b1eaa10525722c36bd027b11ade2e')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/rawstudio/PKGBUILD b/community/rawstudio/PKGBUILD
new file mode 100644
index 000000000..b35cb720a
--- /dev/null
+++ b/community/rawstudio/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 81067 2012-12-11 14:37:23Z allan $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: cdhotfire <cdhotfire@gmail.com>
+
+pkgname=rawstudio
+pkgver=2.0
+pkgrel=8
+pkgdesc="An open source raw-image converter written in GTK+"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://rawstudio.org/"
+depends=('exiv2' 'libgphoto2' 'flickcurl' 'libjpeg' 'fftw' 'gconf' 'lensfun'
+ 'raptor1' 'lcms' 'gtk2')
+install=${pkgname}.install
+options=('!libtool')
+source=(http://rawstudio.org/files/release/${pkgname}-${pkgver}.tar.gz
+ libpng15.patch)
+md5sums=('b2f86b8ca6b83ad954e3104c4cb89e9b'
+ '2f8b7acbe10d8096ce613cbea7986fd3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 <$srcdir/libpng15.patch
+ export LDFLAGS="$LDFLAGS `pkg-config --libs gthread-2.0`"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make prefix="${pkgdir}/usr" install
+ mkdir $pkgdir/usr/lib/rawstudio
+ mv $pkgdir/usr/share/rawstudio/plugins $pkgdir/usr/lib/rawstudio
+ ln -s ../../lib/rawstudio/plugins $pkgdir/usr/share/rawstudio/plugins
+}
diff --git a/community/rawstudio/libpng15.patch b/community/rawstudio/libpng15.patch
new file mode 100644
index 000000000..6d3b85968
--- /dev/null
+++ b/community/rawstudio/libpng15.patch
@@ -0,0 +1,40 @@
+diff -wbBur rawstudio-2.0/plugins/load-gdk/exiv2-colorspace.cpp rawstudio-2.0.my/plugins/load-gdk/exiv2-colorspace.cpp
+--- rawstudio-2.0/plugins/load-gdk/exiv2-colorspace.cpp 2011-02-24 01:35:18.000000000 +0300
++++ rawstudio-2.0.my/plugins/load-gdk/exiv2-colorspace.cpp 2012-01-23 15:03:22.000000000 +0400
+@@ -102,8 +102,8 @@
+ {
+ *linear_guess = FALSE;
+ RSColorSpace* profile = NULL;
+- const gchar *icc_profile_title;
+- const gchar *icc_profile;
++ png_charp icc_profile_title;
++ png_bytep icc_profile;
+ guint icc_profile_size;
+ png_structp png_ptr = png_create_read_struct(
+ PNG_LIBPNG_VER_STRING,
+@@ -125,11 +125,11 @@
+
+ int compression_type;
+ /* Extract embedded ICC profile */
+- if (info_ptr->valid & PNG_INFO_iCCP)
++ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_iCCP))
+ {
+ png_uint_32 retval = png_get_iCCP (png_ptr, info_ptr,
+- (png_charpp) &icc_profile_title, &compression_type,
+- (png_charpp) &icc_profile, (png_uint_32*) &icc_profile_size);
++ &icc_profile_title, &compression_type,
++ &icc_profile, (png_uint_32*) &icc_profile_size);
+ if (retval != 0)
+ {
+ RSIccProfile *icc = rs_icc_profile_new_from_memory((gchar*)icc_profile, icc_profile_size, TRUE);
+diff -wbBur rawstudio-2.0/plugins/output-pngfile/output-pngfile.c rawstudio-2.0.my/plugins/output-pngfile/output-pngfile.c
+--- rawstudio-2.0/plugins/output-pngfile/output-pngfile.c 2011-03-26 04:52:29.000000000 +0300
++++ rawstudio-2.0.my/plugins/output-pngfile/output-pngfile.c 2012-01-23 15:04:59.000000000 +0400
+@@ -23,6 +23,7 @@
+ #include <gettext.h>
+ #include "config.h"
+ #include <png.h>
++#include <zlib.h>
+
+ #define RS_TYPE_PNGFILE (rs_pngfile_type)
+ #define RS_PNGFILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RS_TYPE_PNGFILE, RSPngfile))
diff --git a/community/rawstudio/rawstudio.install b/community/rawstudio/rawstudio.install
new file mode 100644
index 000000000..261adb7b4
--- /dev/null
+++ b/community/rawstudio/rawstudio.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q || true
+}
+
+post_upgrade() {
+ update-desktop-database -q || true
+}
+
+post_remove() {
+ update-desktop-database -q || true
+}
diff --git a/community/rawtherapee/PKGBUILD b/community/rawtherapee/PKGBUILD
new file mode 100644
index 000000000..895426e9b
--- /dev/null
+++ b/community/rawtherapee/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92590 2013-06-09 15:08:48Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky AT gmail.com>
+# Contributor: Bogdan Szczurek <thebodzio(at)gmail.com>
+# Contributor: Vaclav Kramar <vaclav.kramar@tiscali.cz>
+# Contributor: Archie <mymaud@gmail.com>
+
+pkgname=rawtherapee
+pkgver=4.0.11
+pkgrel=1
+epoch=1
+pkgdesc="RAW photo editor"
+arch=('i686' 'x86_64')
+url="http://www.rawtherapee.com/"
+license=('GPL3')
+depends=('fftw' 'gtkmm' 'libcanberra' 'libiptcdata' 'lcms2' 'desktop-file-utils' 'hicolor-icon-theme')
+makedepends=('cmake')
+install=rawtherapee.install
+source=("http://rawtherapee.googlecode.com/files/rawtherapee-$pkgver.tar.xz")
+md5sums=('d30a54e6446326d8299c06ec76c281d8')
+
+build() {
+ mkdir "$srcdir/$pkgname-build"
+ cd "$srcdir/$pkgname-build"
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-build"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/rawtherapee/rawtherapee.install b/community/rawtherapee/rawtherapee.install
new file mode 100644
index 000000000..6a18adf6e
--- /dev/null
+++ b/community/rawtherapee/rawtherapee.install
@@ -0,0 +1,17 @@
+post_install() {
+ echo "update desktop mime database..."
+ update-desktop-database -q
+ update-mime-database usr/share/mime 1>&2 > /dev/null
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/rblcheck/01-change-filename-tags-for-directories.patch b/community/rblcheck/01-change-filename-tags-for-directories.patch
new file mode 100644
index 000000000..0a5674c33
--- /dev/null
+++ b/community/rblcheck/01-change-filename-tags-for-directories.patch
@@ -0,0 +1,21 @@
+--- a/docs/rblcheck.sgml (revision 71)
++++ b/docs/rblcheck.sgml (revision 72)
+@@ -160,7 +160,7 @@
+ <Para>
+ When you are done, you can type <Application>make install</Application> to
+ install the software (by default, everything will be installed in
+-<Filename>/usr/local</Filename>.
++<Filename class="directory">/usr/local</Filename>.
+ </Para>
+
+ <Para>
+@@ -397,7 +397,8 @@
+ A recent addition to the rblcheck package is the <Application>rbl</Application>
+ shell script, which is a simple wrapper around rblcheck, with one special
+ feature: it will read a global <Filename>rblcheckrc</Filename> (usually
+-in <Filename>/etc</Filename> or <Filename>/usr/etc</Filename>), and then
++in <Filename class="directory">/etc</Filename> or
++<Filename class="directory">/usr/etc</Filename>), and then
+ a <Filename>.rblcheckrc</Filename> from the current user's home directory.
+ These files can contain any of the usual <Application>rblcheck</Application>
+ command-line arguments (see <XRef linkend="using_rblcheck">), but are most
diff --git a/community/rblcheck/02-fix-configure.patch b/community/rblcheck/02-fix-configure.patch
new file mode 100644
index 000000000..dbc16342c
--- /dev/null
+++ b/community/rblcheck/02-fix-configure.patch
@@ -0,0 +1,20 @@
+--- a/configure 2005-07-01 10:50:36.000000000 +0100
++++ b/configure 2005-07-01 10:57:05.000000000 +0100
+@@ -1529,13 +1529,12 @@
+ cat > conftest.$ac_ext <<EOF
+ #line 1531 "configure"
+ #include "confdefs.h"
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char res_query();
++
++/* Include <resolv.h> to get macro definition for res_query */
++#include <resolv.h>
+
+ int main() {
+-res_query()
++res_query("",0,0,"",0)
+ ; return 0; }
+ EOF
+ if { (eval echo configure:1542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
diff --git a/community/rblcheck/03-custom-rbl.patch b/community/rblcheck/03-custom-rbl.patch
new file mode 100644
index 000000000..fe9672a9a
--- /dev/null
+++ b/community/rblcheck/03-custom-rbl.patch
@@ -0,0 +1,21 @@
+--- a/sites.h
++++ b/sites.h
+@@ -62,3 +62,18 @@
+ /* ORDB: Open Relay DataBase
+ http://www.ordb.org/ */
+ /* SITE("relays.ordb.org") */
++
++
++SITE("zen.spamhaus.org");
++SITE("sbl.spamhaus.org");
++SITE("xbl.spamhaus.org");
++SITE("pbl.spamhaus.org");
++SITE("bl.spamcop.net");
++SITE("psbl.surriel.com");
++SITE("dnsbl.njabl.org");
++SITE("dul.dnsbl.sorbs.net");
++SITE("all.spam-rbl.fr");
++SITE("spam.spam-rbl.fr");
++SITE("dsl.spam-rbl.fr");
++SITE("bogon.spam-rbl.fr");
++
diff --git a/community/rblcheck/PKGBUILD b/community/rblcheck/PKGBUILD
new file mode 100644
index 000000000..d879b6c23
--- /dev/null
+++ b/community/rblcheck/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 72842 2012-06-23 19:47:22Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgname=rblcheck
+pkgver=1.5
+pkgrel=1
+pkgdesc='Tool to Query RBL Servers'
+arch=('i686' 'x86_64')
+url='http://rblcheck.sourceforge.net/'
+license=('GPL2')
+depends=('glibc' 'bash')
+backup=('etc/rblcheckrc')
+source=("http://downloads.sourceforge.net/rblcheck/$pkgname-$pkgver.tar.gz"
+ '01-change-filename-tags-for-directories.patch'
+ '02-fix-configure.patch'
+ '03-custom-rbl.patch'
+)
+md5sums=('fb7ee9adc0e09eee9dda195f9b9e7ca4'
+ '9e8ed44f4bc6abf235a14065b6aa373c'
+ '2db00ffd71e17753e89c0968c76d5871'
+ 'f9ff2de975584f71f7794550691a0272')
+
+build() {
+ cd $pkgname-$pkgver
+ for p in "$srcdir"/*.patch; do
+ msg2 "Apply patch ${p##*/}"
+ patch -p 1 -i "$p"
+ done
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm 644 /dev/null "$pkgdir/etc/rblcheckrc"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/rbutil/PKGBUILD b/community/rbutil/PKGBUILD
new file mode 100755
index 000000000..8bccc4a23
--- /dev/null
+++ b/community/rbutil/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 85455 2013-03-01 19:10:50Z andrea $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: said <atvordhosbn@gmail.com>
+# Contributor: clinx <clinx.hacker@googlemail.com>
+
+pkgname=rbutil
+pkgver=1.3.1
+pkgrel=3
+pkgdesc="Rockbox Utility"
+arch=('i686' 'x86_64')
+url="http://www.rockbox.org/twiki/bin/view/Main/RockboxUtility"
+license=("GPL")
+depends=('qt4' 'libusb')
+optdepends=('speex: voice files support')
+source=("http://download.rockbox.org/${pkgname}/source/RockboxUtility-v${pkgver}-src.tar.bz2" "${pkgname}.desktop")
+sha256sums=('6c04b5c7eaad1762577908dedb9e40f5b0cee675150ae5ba844ea2c9bea294ca'
+ '539285237af16fbc60a7501963e8c2f584e58a31f2613481e6b42d21337b7a25')
+
+build() {
+ cd "${srcdir}"/RockboxUtility-v${pkgver}/${pkgname}/rbutilqt
+
+# Build
+ lrelease-qt4 rbutilqt.pro
+ qmake-qt4
+ make
+}
+
+package(){
+ cd "${srcdir}"/RockboxUtility-v${pkgver}/${pkgname}/rbutilqt
+
+# Install
+ install -dm 755 "${pkgdir}"/usr/{bin,share/pixmaps}
+ install -m 644 icons/rockbox-64.png "${pkgdir}"/usr/share/pixmaps/rbutil.png
+ install -m 755 RockboxUtility "${pkgdir}"/usr/bin/rbutil
+
+# Desktop file
+ install -dm 755 "${pkgdir}"/usr/share/applications
+ install -m 644 "${srcdir}"/rbutil.desktop "${pkgdir}"/usr/share/applications/rbutil.desktop
+}
+
+#vim: ts=2 sw=2 et:
diff --git a/community/rbutil/rbutil.desktop b/community/rbutil/rbutil.desktop
new file mode 100755
index 000000000..920b6a452
--- /dev/null
+++ b/community/rbutil/rbutil.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Rockbox Utility
+GenericName=Rockbox Utility
+Comment=Configure Rockbox
+Encoding=UTF-8
+Exec=rbutil
+Icon=rbutil.png
+Categories=Application;Qt;AudioVideo;Audio;
+StartupNotify=false
+Terminal=false
+Type=Application
diff --git a/community/rdiff-backup/PKGBUILD b/community/rdiff-backup/PKGBUILD
new file mode 100644
index 000000000..3a25addab
--- /dev/null
+++ b/community/rdiff-backup/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 86773 2013-03-22 00:29:53Z eric $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Aaron Schaefer <aaron@elasticdog.com>
+# Contributor: Erwin Van de Velde <erwin.vandevelde@gmail.com>
+
+pkgname=rdiff-backup
+pkgver=1.2.8
+pkgrel=5
+pkgdesc='A utility for local/remote mirroring and incremental backups.'
+arch=('i686' 'x86_64')
+url='http://www.nongnu.org/rdiff-backup/'
+license=('GPL')
+depends=('python2' 'librsync')
+optdepends=('pylibacl: access control list support'
+ 'pyxattr: extended attribute support')
+source=("http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.asc})
+md5sums=('1a94dc537fcf74d6a3a80bd27808e77b'
+ '3b88b18eb43ac85bc70b8dce92e958ba')
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ python2 setup.py install --root="${pkgdir}" -O1
+
+ # Fix for FS#18848
+ sed -i 's|python2|python2 -W ignore::DeprecationWarning|' "${pkgdir}/usr/bin/rdiff-backup"
+}
diff --git a/community/recoll/PKGBUILD b/community/recoll/PKGBUILD
new file mode 100644
index 000000000..682e18402
--- /dev/null
+++ b/community/recoll/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 93674 2013-07-08 11:20:28Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Vladimir Chizhov <jagoterr@gmail.com>
+# Contributor: Robert Emil Berge <filoktetes@linuxophic.org>
+
+pkgname=recoll
+pkgver=1.19.5
+pkgrel=1
+pkgdesc="Full text search tool based on Xapian backend"
+arch=('i686' 'x86_64')
+url="http://www.lesbonscomptes.com/recoll/"
+license=('GPL')
+depends=('xapian-core>=1.0.15-1' 'qt4' 'openssl' 'hicolor-icon-theme' 'qtwebkit')
+makedepends=('python2')
+optdepends=('libxslt: for XML based formats (fb2,etc)'
+ 'unzip: for the OpenOffice.org documents'
+ 'xpdf: for pdf'
+ 'pstotext: for postscipt'
+ 'antiword: for msword'
+ 'catdoc: for ms excel and powerpoint'
+ 'unrtf: for RTF'
+ 'untex: for dvi support with dvips'
+ 'djvulibre: for djvu'
+ 'id3lib: for mp3 tags support with id3info'
+ 'python2: for using some filters'
+ 'mutagen: Audio metadata'
+ 'python2-pychm: CHM files'
+ 'perl-image-exiftool: EXIF data from raw files'
+ 'aspell-en: English stemming support')
+install=recoll.install
+source=("http://www.lesbonscomptes.com/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('4a770950d47dee4f6b4ef95e1bc16a5a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ msg2 "Python2 fix"
+ export PYTHON=/usr/bin/python2
+ for file in filters/{rclchm,rclexecm.py,rclics,rclpython,rclzip,rclaudio,rclinfo,rclkar,rcllatinclass.py,rclwar,rclrar} \
+ doc/user/usermanual.html; do
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' "$file"
+ done
+ sed -i 's_python$_python2_' desktop/hotrecoll.py
+ sed -i 's_python _python2 _' python/recoll/Makefile recollinstall*
+
+ sed -i '1,1i#include <unistd.h>' utils/rclionice.cpp
+
+ QMAKE=qmake-qt4 ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/recoll/recoll.install b/community/recoll/recoll.install
new file mode 100644
index 000000000..a89ee4bf0
--- /dev/null
+++ b/community/recoll/recoll.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/recorditnow/PKGBUILD b/community/recorditnow/PKGBUILD
new file mode 100644
index 000000000..f3c003518
--- /dev/null
+++ b/community/recorditnow/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 93279 2013-07-01 05:44:50Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Yichao Yu <yyc1992@gmail.com>
+# Contributor: Weng Xuetian <wengxt@gmail.com>
+# Contributor: Adrià Arrufat <swiftscythe@gmail.com>
+# Contributor: Callea Gaetano Andrea <callea:gaetano:andrea/gmail:com>
+
+pkgname=recorditnow
+pkgver=0.8.1
+pkgrel=5
+pkgdesc="A plugin based desktop recorder for KDE SC 4"
+arch=('i686' 'x86_64')
+url="http://kde-apps.org/content/show.php/RecordItNow?content=114610"
+license=('GPL')
+depends=('kdebase-runtime' 'ffmpeg' 'xdg-utils')
+makedepends=('cmake' 'automoc4' 'recordmydesktop')
+optdepends=('mencoder: for mencoder encoder plugin'
+ 'recordmydesktop')
+provides=('joschy')
+conflicts=('joschy-git')
+install=recorditnow.install
+source=("http://downloads.sourceforge.net/project/recorditnow/${pkgname}-${pkgver}.tar.bz2"
+ "cmake.patch")
+md5sums=('6619b4048545adbab1d13a790189e80f'
+ '74ea0ababc2291e2a62e5d045c62616a')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+ patch -i "${srcdir}/cmake.patch" -p0
+
+ mkdir -p build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \
+ -DLINGUAS="de hu cs pt_BR fr it" ..
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver/build"
+ make DESTDIR="${pkgdir}" install
+
+ if [[ "$CARCH" == "x86_64" ]]; then
+ cd "$pkgdir/usr"
+ mv lib64/* lib
+ rmdir lib64
+ fi
+}
diff --git a/community/recorditnow/cmake.patch b/community/recorditnow/cmake.patch
new file mode 100644
index 000000000..c9f067646
--- /dev/null
+++ b/community/recorditnow/cmake.patch
@@ -0,0 +1,13 @@
+--- src/CMakeLists.txt.orig 2012-03-17 19:36:44.834973898 +0800
++++ src/CMakeLists.txt 2012-03-17 19:40:00.894972395 +0800
+@@ -121,6 +121,10 @@
+ recorditnow_recorder
+ recorditnow_encoder
+ recorditnow_keymon
++ recorditnow_plugin
++ ${X11_X11_LIB}
++ ${X11_Xext_LIB}
++ ${X11_Xfixes_LIB}
+ ${X11_Xcursor_LIB})
+
+ if (BUILD_WITH_JOSCHY)
diff --git a/community/recorditnow/recorditnow.install b/community/recorditnow/recorditnow.install
new file mode 100644
index 000000000..c0797237a
--- /dev/null
+++ b/community/recorditnow/recorditnow.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/recordmydesktop/PKGBUILD b/community/recordmydesktop/PKGBUILD
new file mode 100644
index 000000000..67defa2f8
--- /dev/null
+++ b/community/recordmydesktop/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 65499 2012-02-21 06:41:19Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Gilles CHAUVIN <gcnweb at gmail dot com>
+
+pkgname=recordmydesktop
+pkgver=0.3.8.1
+pkgrel=6
+pkgdesc="Produces a OGG encapsulated Theora/Vorbis recording of your desktop"
+arch=('i686' 'x86_64')
+url="http://recordmydesktop.sourceforge.net"
+license=('GPL')
+depends=('alsa-lib' 'zlib' 'libvorbis' 'libxdamage' 'libxext' 'libtheora' 'libsm' 'jack')
+makedepends=('jack')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ shmstr-to-shmproto.patch
+ recordmydesktop-bitrate.patch)
+md5sums=('6998b165540598965499bd99d8aa0eef'
+ '211a1773f223b3f281520aa1056395e6'
+ 'b0794a769efd287e9e8c5fb8c3299b35')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -p0 < ${srcdir}/shmstr-to-shmproto.patch
+ patch -p1 < ${srcdir}/recordmydesktop-bitrate.patch
+ ./configure --prefix=/usr --enable-jack=yes LIBS="`pkg-config --libs jack`" \
+ CFLAGS="`pkg-config --cflags jack` -DHAVE_LIBJACK"
+ make
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/recordmydesktop/recordmydesktop-bitrate.patch b/community/recordmydesktop/recordmydesktop-bitrate.patch
new file mode 100644
index 000000000..9b014486a
--- /dev/null
+++ b/community/recordmydesktop/recordmydesktop-bitrate.patch
@@ -0,0 +1,50 @@
+diff -ru recordmydesktop-0.3.8.1.old/src/rmd_initialize_data.c recordmydesktop-0.3.8.1/src/rmd_initialize_data.c
+--- recordmydesktop-0.3.8.1.old/src/rmd_initialize_data.c 2009-11-25 10:05:58.708779029 -0500
++++ recordmydesktop-0.3.8.1/src/rmd_initialize_data.c 2009-11-25 09:28:07.629507987 -0500
+@@ -224,7 +224,7 @@
+ args->channels = 1;
+ args->frequency = 22050;
+ args->buffsize = 4096;
+- args->v_bitrate = 45000;
++ args->v_bitrate = 0;
+ args->v_quality = 63;
+ args->s_quality = 10;
+
+diff -ru recordmydesktop-0.3.8.1.old/src/rmd_parseargs.c recordmydesktop-0.3.8.1/src/rmd_parseargs.c
+--- recordmydesktop-0.3.8.1.old/src/rmd_parseargs.c 2009-11-25 10:06:07.409777969 -0500
++++ recordmydesktop-0.3.8.1/src/rmd_parseargs.c 2009-11-25 09:39:32.786757292 -0500
+@@ -104,10 +104,10 @@
+ "Encoding Options\n"
+ "\t--on-the-fly-encoding\tEncode the audio-video data, while recording.\n"
+ "\t--v_quality n\t\tA number from 0 to 63 for"
+- " desired encoded video quality(default 63).\n"
++ " desired encoded video quality(default 63).\n\t (set quality to zero for bitrate controlled usage)\n"
+
+- "\t--v_bitrate n\t\tA number from 45000 to 2000000"
+- " for desired encoded video bitrate(default 45000).\n"
++ "\t--v_bitrate n\t\tA number from 0 to 200000000"
++ " for desired encoded video bitrate(default 0 = not rate controlled).\n"
+
+ "\t--s_quality n\t\tDesired audio quality(-1 to 10).\n\n"
+
+@@ -327,17 +327,17 @@
+ strcmp(argv[i], "-v_bitrate") == 0) {
+ if(i+1<argc){
+ int num=atoi(argv[i+1]);
+- if((num>=45000)&&(num<=2000000))
++ if((num>=0)&&(num<=200000000))
+ arg_return->v_bitrate=num;
+ else{
+ fprintf(stderr,"Argument Usage:"
+- " --v_bitrate n(number 45000-2000000)\n");
++ " --v_bitrate n(number 0-200000000)\n");
+ return FALSE;
+ }
+ }
+ else{
+ fprintf(stderr,"Argument Usage:"
+- " --v_bitrate n(number 45000-2000000)\n");
++ " --v_bitrate n(number 0-200000000)\n");
+ return FALSE;
+ }
+ i++;
diff --git a/community/recordmydesktop/shmstr-to-shmproto.patch b/community/recordmydesktop/shmstr-to-shmproto.patch
new file mode 100644
index 000000000..6fc446e9a
--- /dev/null
+++ b/community/recordmydesktop/shmstr-to-shmproto.patch
@@ -0,0 +1,20 @@
+--- src/rmd_getzpixmap.c 2008-12-13 17:04:10.000000000 +0100
++++ src/rmd_getzpixmap.c 2009-11-11 11:30:18.000000000 +0100
+@@ -32,7 +32,7 @@
+
+ #include <X11/Xlib.h>
+ #include <X11/Xlibint.h>
+-#include <X11/extensions/shmstr.h>
++#include <X11/extensions/shmproto.h>
+ #include <X11/extensions/XShm.h>
+
+
+--- src/rmd_update_image.c 2008-12-13 17:20:49.000000000 +0100
++++ src/rmd_update_image.c 2009-11-11 11:30:34.000000000 +0100
+@@ -32,7 +32,7 @@
+ #include "rmd_types.h"
+
+ #include <X11/Xlibint.h>
+-#include <X11/extensions/shmstr.h>
++#include <X11/extensions/shmproto.h>
+ #include <X11/extensions/XShm.h>
diff --git a/community/recoverdm/ChangeLog b/community/recoverdm/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/recoverdm/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/recoverdm/PKGBUILD b/community/recoverdm/PKGBUILD
new file mode 100644
index 000000000..adedc4f9b
--- /dev/null
+++ b/community/recoverdm/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 65501 2012-02-21 06:42:26Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=recoverdm
+pkgver=0.20
+pkgrel=3
+pkgdesc="helps to recover disks with bad sectors"
+arch=('i686' 'x86_64')
+url="http://www.vanheusden.com/recoverdm/"
+license=('GPL')
+depends=(glibc)
+source=(http://www.vanheusden.com/recoverdm/${pkgname}-${pkgver}.tgz)
+md5sums=('9da9ea7d44f8f94984715eb2ff1ecab4')
+
+build() {
+ cd $srcdir/$pkgname-${pkgver}
+ make
+ install -D -m 0755 mergebad $pkgdir/usr/bin/mergebad
+ install -D -m 0755 recoverdm $pkgdir/usr/bin/recoverdm
+}
diff --git a/community/redis/PKGBUILD b/community/redis/PKGBUILD
new file mode 100644
index 000000000..f4c813590
--- /dev/null
+++ b/community/redis/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 92955 2013-06-20 12:43:06Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jan-Erik Rediger <badboy at archlinux dot us>
+# Contributor: nofxx <x@<nick>.com>
+
+pkgname=redis
+pkgver=2.6.14
+pkgrel=1
+pkgdesc="Advanced key-value store"
+arch=('i686' 'x86_64')
+url="http://redis.io/"
+license=('BSD')
+depends=('bash')
+makedepends=('gcc>=3.1' 'make' 'pkgconfig')
+backup=("etc/redis.conf"
+ "etc/logrotate.d/redis")
+source=("http://redis.googlecode.com/files/${pkgname}-${pkgver}.tar.gz"
+ "redis.service"
+ "redis.logrotate")
+md5sums=('02e0c06e953413017ff64862953e2756'
+ '5ab9fdb200e15c13b450fda77fa030b6'
+ '9e2d75b7a9dc421122d673fe520ef17f')
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ make MALLOC=libc
+ sed -i 's|# bind 127.0.0.1|bind 127.0.0.1|' redis.conf
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ mkdir -p $pkgdir/usr/bin
+ make INSTALL_BIN="$pkgdir/usr/bin" PREFIX=/usr install
+
+ install -D -m755 "$srcdir/${pkgname}-${pkgver}/COPYING" "$pkgdir/usr/share/licenses/redis/COPYING"
+ install -Dm644 "$srcdir"/redis.service "$pkgdir"/usr/lib/systemd/system/redis.service
+ install -Dm644 "$srcdir/redis.logrotate" "$pkgdir/etc/logrotate.d/redis"
+ sed -i 's|daemonize no|daemonize yes|;s|dir \./|dir /var/lib/redis/|;s|logfile stdout|logfile /var/log/redis.log| ' $srcdir/${pkgname}-${pkgver}/redis.conf
+ install -D -m644 "$srcdir/${pkgname}-${pkgver}/redis.conf" "$pkgdir/etc/redis.conf"
+}
diff --git a/community/redis/redis.logrotate b/community/redis/redis.logrotate
new file mode 100644
index 000000000..01d11422a
--- /dev/null
+++ b/community/redis/redis.logrotate
@@ -0,0 +1,5 @@
+/var/log/redis.log {
+ notifempty
+ copytruncate
+ missingok
+}
diff --git a/community/redis/redis.service b/community/redis/redis.service
new file mode 100644
index 000000000..7596b4bda
--- /dev/null
+++ b/community/redis/redis.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Advanced key-value store
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/redis.pid
+ExecStartPre=/bin/mkdir -p /var/lib/redis
+ExecStart=/usr/bin/redis-server /etc/redis.conf
+ExecStop=/usr/bin/redis-cli shutdown
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/redshift/165_164.diff b/community/redshift/165_164.diff
new file mode 100644
index 000000000..663b5663b
--- /dev/null
+++ b/community/redshift/165_164.diff
@@ -0,0 +1,55 @@
+=== modified file 'src/location-geoclue.c'
+--- src/location-geoclue.c 2011-03-27 22:14:58 +0000
++++ src/location-geoclue.c 2011-07-12 20:30:30 +0000
+@@ -50,14 +50,20 @@
+ int
+ location_geoclue_start(location_geoclue_state_t *state)
+ {
+- GeoclueMaster *master = NULL;
+- GeoclueMasterClient *client = NULL;
+- GError *error = NULL;
+- gchar *name = NULL;
++ if (state->provider && state->provider_path) {
++ state->position = geoclue_position_new(state->provider,
++ state->provider_path);
++ } else {
++ GeoclueMaster *master = geoclue_master_get_default();
++ GeoclueMasterClient *client = geoclue_master_create_client(master,
++ NULL, NULL);
++ GError *error = NULL;
+
+- if (!(state->provider && state->provider_path)) {
+- master = geoclue_master_get_default();
+- client = geoclue_master_create_client(master, NULL, NULL);
++ if (client == NULL) {
++ g_printerr(_("Unable to obtain master client.\n"));
++ g_object_unref(master);
++ return -1;
++ }
+
+ if (!geoclue_master_client_set_requirements(client,
+ GEOCLUE_ACCURACY_LEVEL_REGION,
+@@ -68,15 +74,18 @@
+ error->message);
+ g_error_free(error);
+ g_object_unref(client);
++ g_object_unref(master);
+
+ return -1;
+ }
+
+ state->position = geoclue_master_client_create_position(client, NULL);
+- } else {
+- state->position = geoclue_position_new(state->provider,
+- state->provider_path);
+- }
++
++ g_object_unref(client);
++ g_object_unref(master);
++ }
++
++ gchar *name = NULL;
+
+ if (geoclue_provider_get_provider_info(GEOCLUE_PROVIDER(state->position),
+ &name, NULL, NULL)) {
+
diff --git a/community/redshift/PKGBUILD b/community/redshift/PKGBUILD
new file mode 100644
index 000000000..b03f4e1dd
--- /dev/null
+++ b/community/redshift/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 92311 2013-06-03 21:26:54Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Geoffrey Teale <tealeg@stop-squark>
+# Contributor: Mark, Huo Mian <markhuomian[at]gmail[dot]com>
+# Contributor: Biginoz <biginoz a free dot fr>
+
+pkgname=redshift
+pkgver=1.7
+pkgrel=6
+pkgdesc='Adjusts the color temperature of your screen according to your surroundings.'
+arch=('i686' 'x86_64')
+url='http://jonls.dk/redshift/'
+license=('GPL3')
+depends=('gconf' 'geoclue' 'libxxf86vm')
+optdepends=('pygtk: for gtk-redshift'
+ 'pyxdg: for gtk-redshift'
+ 'librsvg: for gtk-redshift')
+makedepends=('python2')
+install='redshift.install'
+source=("http://launchpad.net/${pkgname}/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.bz2"
+ '165_164.diff')
+md5sums=('c56512afa292b5a94b715ed4a1841d4c'
+ 'eaafcdc62a47d725c256cd5473f4efa1')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i 's/python/python2/' src/gtk-redshift/gtk-redshift
+
+ # fix GTK UI segmentation fault (fixes FS#33412)
+ patch -p0 -i ../165_164.diff
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/redshift/redshift.install b/community/redshift/redshift.install
new file mode 100644
index 000000000..d59dca6e8
--- /dev/null
+++ b/community/redshift/redshift.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/regexxer/PKGBUILD b/community/regexxer/PKGBUILD
new file mode 100644
index 000000000..c570f654d
--- /dev/null
+++ b/community/regexxer/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 68556 2012-03-28 05:13:10Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=regexxer
+pkgver=0.10
+pkgrel=3
+pkgdesc="Interactive search and replace tool for GNOME"
+arch=('i686' 'x86_64')
+url="http://regexxer.sourceforge.net/"
+license=('GPL')
+depends=('gtksourceviewmm' 'dconf' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz
+ regexxer-glib2.32.patch)
+sha256sums=('2a7832541a0306b3d4eb63a1cf8978d7bbfc7927e9304473fe801d71fd99736c'
+ '1addebc552e4374f3f9ee778fb734c08c1ed3a4b2b5e70905f7c9287c9b34882')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/regexxer-glib2.32.patch"
+ sed -i '/GLIB_COMPILE_SCHEMAS/ d' Makefile.in
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/regexxer/regexxer-glib2.32.patch b/community/regexxer/regexxer-glib2.32.patch
new file mode 100644
index 000000000..7d732b8bb
--- /dev/null
+++ b/community/regexxer/regexxer-glib2.32.patch
@@ -0,0 +1,35 @@
+diff -Naur regexxer-0.10.orig/src/fileshared.h regexxer-0.10/src/fileshared.h
+--- regexxer-0.10.orig/src/fileshared.h 2012-03-27 03:59:38.209864722 +0000
++++ regexxer-0.10/src/fileshared.h 2012-03-27 04:17:47.161371044 +0000
+@@ -23,6 +23,7 @@
+
+ #include "sharedptr.h"
+
++#include <glibmm/regex.h>
+ #include <gtkmm/textbuffer.h>
+ #include <functional>
+ #include <utility>
+diff -Naur regexxer-0.10.orig/src/globalstrings.h regexxer-0.10/src/globalstrings.h
+--- regexxer-0.10.orig/src/globalstrings.h 2012-03-27 03:59:38.209864722 +0000
++++ regexxer-0.10/src/globalstrings.h 2012-03-27 04:21:44.906198757 +0000
+@@ -21,7 +21,7 @@
+ #ifndef REGEXXER_GLOBALSTRINGS_H_INCLUDED
+ #define REGEXXER_GLOBALSTRINGS_H_INCLUDED
+
+-#include <glib/gutils.h> /* for G_DIR_SEPARATOR_S */
++#include <glib.h> /* for G_DIR_SEPARATOR_S */
+
+ namespace Regexxer
+ {
+diff -Naur regexxer-0.10.orig/src/translation.h regexxer-0.10/src/translation.h
+--- regexxer-0.10.orig/src/translation.h 2012-03-27 03:59:38.206531386 +0000
++++ regexxer-0.10/src/translation.h 2012-03-27 04:21:39.209576021 +0000
+@@ -21,7 +21,7 @@
+ #ifndef REGEXXER_TRANSLATION_H_INCLUDED
+ #define REGEXXER_TRANSLATION_H_INCLUDED
+
+-#include <glib/gmacros.h>
++#include <glib.h>
+ #include <glibmm/ustring.h>
+
+ #ifndef gettext_noop
diff --git a/community/regexxer/regexxer.install b/community/regexxer/regexxer.install
new file mode 100644
index 000000000..6ce7836d2
--- /dev/null
+++ b/community/regexxer/regexxer.install
@@ -0,0 +1,12 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/rekonq/PKGBUILD b/community/rekonq/PKGBUILD
new file mode 100644
index 000000000..114d1669d
--- /dev/null
+++ b/community/rekonq/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 93287 2013-07-01 06:22:40Z andrea $
+# Maintainer: Peter Lewis <plewis@aur.archlinux.org>
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Panagiotis Papadopoulos <pano_90 AT gmx DOT net>
+
+pkgname=rekonq
+pkgver=2.3.2
+pkgrel=1
+pkgdesc='A WebKit based web browser for KDE'
+arch=('i686' 'x86_64')
+url='http://rekonq.kde.org/'
+license=('GPL')
+depends=('kdebase-keditbookmarks' 'qoauth')
+makedepends=('cmake' 'automoc4')
+optdepends=('kdebase-konqueror: search engines support'
+ 'qca-ossl: to use the sync handler')
+install=${pkgname}.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+sha256sums=('9cfdb7e02a08ad4d2b5dd6e8bd1c85c11013f41a3186c8c5c22454093722bc74')
+
+build(){
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/rekonq/rekonq.install b/community/rekonq/rekonq.install
new file mode 100644
index 000000000..f80ffb217
--- /dev/null
+++ b/community/rekonq/rekonq.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/remind/ChangeLog b/community/remind/ChangeLog
new file mode 100644
index 000000000..1feb0f052
--- /dev/null
+++ b/community/remind/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+* Fixed source url
diff --git a/community/remind/PKGBUILD b/community/remind/PKGBUILD
new file mode 100644
index 000000000..73cee013d
--- /dev/null
+++ b/community/remind/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
+# Contributor: Sebastian Sontberg <ssontberg@h3c.de>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=remind
+pkgver=3.01.13
+pkgrel=1
+pkgdesc='A sophisticated calendar and alarm program.'
+arch=('i686' 'x86_64')
+url='http://www.roaringpenguin.com/penguin/open_source_remind.php'
+license=('GPL')
+depends=('tk' 'tcllib')
+source=("http://www.roaringpenguin.com/files/download/${pkgname}-0${pkgver}.tar.gz"{,.sig})
+options=('!emptydirs')
+md5sums=('9b746d257eccd5961d61c649cf48305c'
+ 'SKIP')
+
+build() {
+ cd "${pkgname}-0${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${pkgname}-0${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/remmina/PKGBUILD b/community/remmina/PKGBUILD
new file mode 100644
index 000000000..3aba94c01
--- /dev/null
+++ b/community/remmina/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 72637 2012-06-18 09:24:39Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=remmina
+pkgver=1.0.0
+pkgrel=9
+pkgdesc="remote desktop client written in GTK+"
+arch=(i686 x86_64)
+url="http://remmina.sourceforge.net/"
+license=('GPL')
+depends=('gtk3' 'zlib' 'libjpeg' 'libssh' 'libunique' 'avahi' 'vte3' 'libgcrypt' 'libxdmcp')
+makedepends=('intltool' 'pkgconfig' 'cmake' 'libgnome-keyring'
+ 'avahi' 'libxkbfile' 'freerdp' 'telepathy-glib')
+optdepends=('libxkbfile'
+ 'freerdp'
+ 'telepathy-glib'
+ 'gnome-keyring')
+replaces=('remmina-plugins')
+provides=('remmina-plugins')
+install=remmina.install
+source=("https://github.com/downloads/FreeRDP/Remmina/Remmina-$pkgver.tar.gz"
+ 'https://github.com/FreeRDP/Remmina/commit/569d9bb7.patch'
+ 'https://github.com/FreeRDP/Remmina/commit/f7d1038b.patch'
+ 'https://github.com/FreeRDP/Remmina/commit/1aebfc02.patch'
+ 'https://github.com/FreeRDP/Remmina/commit/3ebdd6e7.patch'
+ 'https://github.com/FreeRDP/Remmina/commit/97c2af8c.patch'
+ 'https://github.com/FreeRDP/Remmina/commit/84327f81.patch'
+ 'https://github.com/FreeRDP/Remmina/commit/c1ef3a16.patch'
+ 'https://github.com/FreeRDP/Remmina/commit/6ee20289.patch'
+ 'https://github.com/FreeRDP/Remmina/commit/b2277827.patch'
+ 'https://github.com/FreeRDP/Remmina/commit/cb0b209b.patch')
+md5sums=('701c540acaab961bc3adf130a2ddb8b1'
+ '23927a584c23d0da7a893c1f39d53857'
+ '40f5ce2f30c8ce8ae8a4ebcee52874ab'
+ 'c842ba295c2327ab4d0819fc4a5bc03f'
+ '9312b5bf953a63e6203f0d0be6cb8134'
+ '65bfcc39ae51343b90928ea329cc4900'
+ '42b971116f887657fc210da70c3afba5'
+ '04b5bc1190b53211747e097897d1d19c'
+ 'ce0b538ff850556b2ad8fc4e4736039e'
+ '3bc1a4e50cdd864c0e2d7c91a1e02e32'
+ 'b9023ea4f36c31c3d4e98cfc472c1a09')
+
+build() {
+ cd ${srcdir}/FreeRDP-Remmina-*/
+
+ for i in ${source[@]}; do
+ if [ ${i:(-6)} == ".patch" ]; then
+ patch -p1 -i "${srcdir}/${i:(-14)}"
+ fi
+ done
+
+ export LDFLAGS="-lX11 -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lpthread -lgnutls"
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DWITH_APPINDICATOR=OFF .
+ make
+}
+
+package() {
+ cd ${srcdir}/FreeRDP-Remmina-*/
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/remmina/remmina.install b/community/remmina/remmina.install
new file mode 100644
index 000000000..1a05f573e
--- /dev/null
+++ b/community/remmina/remmina.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/renameutils/PKGBUILD b/community/renameutils/PKGBUILD
new file mode 100644
index 000000000..143afa37b
--- /dev/null
+++ b/community/renameutils/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 80733 2012-12-01 17:49:39Z kkeen $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Patrik Hautala <phloyd@iki.fi>
+
+pkgname=renameutils
+pkgver=0.12.0
+pkgrel=2
+pkgdesc="A set of programs designed to make renaming of files faster and less cumbersome"
+arch=('i686' 'x86_64')
+url="http://www.nongnu.org/renameutils/"
+license=('GPL')
+depends=('readline')
+source=(http://savannah.nongnu.org/download/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('cbd2f002027ccf5a923135c3f529c6d17fabbca7d85506a394ca37694a9eb4a3')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver/src"
+ sed -i 's/($bindir)/$(bindir)/' Makefile.am
+ sed -i 's/($bindir)/$(bindir)/' Makefile.in
+
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package () {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ install -d "${pkgdir}/usr/bin"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/reptyr/PKGBUILD b/community/reptyr/PKGBUILD
new file mode 100644
index 000000000..0fe64d389
--- /dev/null
+++ b/community/reptyr/PKGBUILD
@@ -0,0 +1,25 @@
+$Id: PKGBUILD 76717 2012-09-27 16:24:59Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+
+pkgname=reptyr
+pkgver=0.4
+pkgrel=2
+pkgdesc="A tool for \"re-ptying\" programs"
+arch=('i686' 'x86_64')
+license=('BSD')
+url="https://github.com/nelhage/reptyr"
+depends=('glibc')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/nelhage/$pkgname/tarball/$pkgname-$pkgver")
+md5sums=('4846a0b22c267a154853ce1409e823da')
+
+build() {
+ cd "$srcdir"/nelhage-$pkgname-*
+
+ make
+}
+
+package() {
+ cd "$srcdir"/nelhage-$pkgname-*
+
+ make "DESTDIR=$pkgdir" "PREFIX=/usr" install
+}
diff --git a/community/rexima/ChangeLog b/community/rexima/ChangeLog
new file mode 100644
index 000000000..f7e20f94a
--- /dev/null
+++ b/community/rexima/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
diff --git a/community/rexima/PKGBUILD b/community/rexima/PKGBUILD
new file mode 100644
index 000000000..8342183de
--- /dev/null
+++ b/community/rexima/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 56548 2011-10-08 11:58:00Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jeff Mickey <j@codemac.net>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=rexima
+pkgver=1.4
+pkgrel=4
+pkgdesc="A curses-based interactive mixer."
+arch=('i686' 'x86_64')
+url="http://www.svgalib.org/rus/rexima.html"
+license=('GPL')
+depends=('ncurses')
+source=(http://ftp.ibiblio.org/pub/Linux/apps/sound/mixers/${pkgname}-${pkgver}.tar.gz)
+md5sums=('333a4db26409b9cca9b9e96ddf42f44c')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make PREFIX=$pkgdir/usr MANDIR=$pkgdir/usr/share/man/man1 install
+}
diff --git a/community/ripperx/PKGBUILD b/community/ripperx/PKGBUILD
new file mode 100644
index 000000000..d852ced60
--- /dev/null
+++ b/community/ripperx/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 83323 2013-01-29 14:04:00Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: dorphell <dorphell@archlinux.org>
+
+pkgname=ripperx
+pkgver=2.7.3
+pkgrel=4
+pkgdesc="GTK program to rip and encode mp3 files"
+arch=(i686 x86_64)
+url="http://ripperx.sourceforge.net/"
+depends=('gtk2' 'id3lib')
+license=('GPL')
+source=(http://downloads.sourceforge.net/ripperx/ripperX-$pkgver.tar.gz)
+md5sums=('f07c55edf08a1cd57537f1b9379b4e4d')
+
+build() {
+ cd $srcdir/ripperX-$pkgver
+ LDFLAGS=-lm ./configure --prefix=/usr
+ sed -i 's|Icon=.*|Icon=ripperX.xpm|g' ripperX.desktop
+ echo "Categories=GTK;GNOME;AudioVideo;DiscBurning;" >>ripperX.desktop
+ make
+}
+
+package() {
+ cd $srcdir/ripperX-$pkgver
+ make DESTDIR=$pkgdir install
+ install -Dm0644 ripperX.desktop $pkgdir/usr/share/applications/ripperX.desktop
+ install -Dm0644 ripperX.xpm $pkgdir/usr/share/icons/ripperX.xpm
+}
diff --git a/community/ristretto/PKGBUILD b/community/ristretto/PKGBUILD
new file mode 100644
index 000000000..4dfed59fa
--- /dev/null
+++ b/community/ristretto/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 78443 2012-10-18 17:04:59Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski
+# Contributor: AndyRTR <andyrtr@archlinux.org>
+# Contributor: Ronald van Haren <ronald.archlinux.org>
+
+pkgname=ristretto
+pkgver=0.6.3
+pkgrel=3
+pkgdesc='A fast and lightweight picture-viewer for Xfce'
+arch=('i686' 'x86_64')
+url='http://goodies.xfce.org/projects/applications/ristretto'
+license=('GPL')
+depends=('libxfce4ui' 'libexif' 'desktop-file-utils')
+makedepends=('intltool')
+optdepends=('librsvg: SVG support'
+ 'tumbler: thumbnailing support')
+groups=('xfce4-goodies')
+install=ristretto.install
+source=(http://archive.xfce.org/src/apps/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
+md5sums=('6b8c9a5d7ed319e4c84a9fefaa18792c')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-debug
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/ristretto/ristretto.install b/community/ristretto/ristretto.install
new file mode 100644
index 000000000..75e2b7b55
--- /dev/null
+++ b/community/ristretto/ristretto.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/rlog/PKGBUILD b/community/rlog/PKGBUILD
new file mode 100644
index 000000000..48bf0832c
--- /dev/null
+++ b/community/rlog/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 55453 2011-09-12 23:51:53Z ebelanger $
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Sven Kauber <celeon@gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=rlog
+pkgver=1.4
+pkgrel=4
+pkgdesc="A flexible message logging facility for C++ programs and libraries"
+arch=('i686' 'x86_64')
+url="http://www.arg0.net/rlog"
+license=('LGPL')
+depends=('gcc-libs')
+options=('!libtool')
+source=(http://rlog.googlecode.com/files/${pkgname}-${pkgver}.tar.gz \
+ ${pkgname}-section.patch)
+md5sums=('c29f74e0f50d66b20312d049b683ff82'
+ '69644989e07ceb5c265dfc0c6f770810')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/${pkgname}-section.patch"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}/" install
+}
diff --git a/community/rlog/rlog-section.patch b/community/rlog/rlog-section.patch
new file mode 100644
index 000000000..b22dfc2b7
--- /dev/null
+++ b/community/rlog/rlog-section.patch
@@ -0,0 +1,74 @@
+diff -ruN rlog-1.4.orig/rlog/common.h rlog-1.4/rlog/common.h
+--- rlog-1.4.orig/rlog/common.h 2008-06-15 07:49:52.000000000 +0200
++++ rlog-1.4/rlog/common.h 2008-06-23 19:29:16.000000000 +0200
+@@ -52,7 +52,6 @@
+
+ # define PRINTF(FMT,X) __attribute__ (( __format__ ( __printf__, FMT, X)))
+ # define HAVE_PRINTF_ATTR 1
+-# define RLOG_SECTION __attribute__ (( section("RLOG_DATA") ))
+
+ #if __GNUC__ >= 3
+ # define expect(foo, bar) __builtin_expect((foo),bar)
+@@ -77,7 +76,6 @@
+ */
+ # define PRINTF(FMT,X)
+ # define HAVE_PRINTF_ATTR 0
+-# define RLOG_SECTION
+
+ /*!
+ */
+diff -ruN rlog-1.4.orig/rlog/common.h.in rlog-1.4/rlog/common.h.in
+--- rlog-1.4.orig/rlog/common.h.in 2008-06-15 05:10:13.000000000 +0200
++++ rlog-1.4/rlog/common.h.in 2008-06-23 19:28:28.000000000 +0200
+@@ -52,7 +52,6 @@
+
+ # define PRINTF(FMT,X) __attribute__ (( __format__ ( __printf__, FMT, X)))
+ # define HAVE_PRINTF_ATTR 1
+-# define RLOG_SECTION __attribute__ (( section("RLOG_DATA") ))
+
+ #if __GNUC__ >= 3
+ # define expect(foo, bar) __builtin_expect((foo),bar)
+@@ -77,7 +76,6 @@
+ */
+ # define PRINTF(FMT,X)
+ # define HAVE_PRINTF_ATTR 0
+-# define RLOG_SECTION
+
+ /*!
+ */
+diff -ruN rlog-1.4.orig/rlog/rlog-c99.h rlog-1.4/rlog/rlog-c99.h
+--- rlog-1.4.orig/rlog/rlog-c99.h 2008-06-15 05:56:57.000000000 +0200
++++ rlog-1.4/rlog/rlog-c99.h 2008-06-23 19:28:37.000000000 +0200
+@@ -22,7 +22,7 @@
+ @internal
+ */
+ #define _rMessageDef(ID, COMPONENT) \
+- static rlog::PublishLoc ID RLOG_SECTION = {& ID ## _enabled, \
++ static rlog::PublishLoc ID = {& ID ## _enabled, \
+ &rlog::RLog_Register, 0, STR(COMPONENT), __FILE__, \
+ __FUNCTION__, __LINE__, 0};
+
+diff -ruN rlog-1.4.orig/rlog/rlog-novariadic.h rlog-1.4/rlog/rlog-novariadic.h
+--- rlog-1.4.orig/rlog/rlog-novariadic.h 2008-06-15 05:10:13.000000000 +0200
++++ rlog-1.4/rlog/rlog-novariadic.h 2008-06-23 19:28:45.000000000 +0200
+@@ -35,7 +35,7 @@
+
+ #define _rMessageDef(ID, COMPONENT) \
+ static bool ID ## _enabled = true; \
+- static rlog::PublishLoc ID RLOG_SECTION = {& ID ## _enabled, \
++ static rlog::PublishLoc ID = {& ID ## _enabled, \
+ &rlog::RLog_Register, 0, STR(COMPONENT), __FILE__, \
+ __FUNCTION__, __LINE__, 0}
+
+diff -ruN rlog-1.4.orig/rlog/rlog-prec99.h rlog-1.4/rlog/rlog-prec99.h
+--- rlog-1.4.orig/rlog/rlog-prec99.h 2008-06-15 05:59:05.000000000 +0200
++++ rlog-1.4/rlog/rlog-prec99.h 2008-06-23 19:28:06.000000000 +0200
+@@ -18,7 +18,7 @@
+
+ #define _rMessageDef(ID, COMPONENT) \
+ static bool ID ## _enabled = true; \
+- static rlog::PublishLoc ID RLOG_SECTION = {& ID ## _enabled, \
++ static rlog::PublishLoc ID = {& ID ## _enabled, \
+ &rlog::RLog_Register, 0, STR(COMPONENT), __FILE__, \
+ __FUNCTION__, __LINE__, 0};
+
diff --git a/community/rlwrap/ChangeLog b/community/rlwrap/ChangeLog
new file mode 100644
index 000000000..c28dd3ee0
--- /dev/null
+++ b/community/rlwrap/ChangeLog
@@ -0,0 +1,5 @@
+2008-03-21 partition <heniekk@gmail.com>
+* Updated to 0.30
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/rlwrap/PKGBUILD b/community/rlwrap/PKGBUILD
new file mode 100644
index 000000000..3cef5ba91
--- /dev/null
+++ b/community/rlwrap/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 66761 2012-02-28 08:57:15Z giovanni $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: wizzomafizzo <wizzomafizzo@gmail.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Benjamin Andresen <benny AT klapmuetz DOT org>
+# Contributor: Douglas Thrift <douglas@douglasthrift.net>
+
+pkgname=rlwrap
+pkgver=0.37
+pkgrel=2
+pkgdesc="A 'readline wrapper'"
+arch=('i686' 'x86_64')
+url="http://utopia.knoware.nl/~hlub/uck/rlwrap/"
+license=('GPL')
+depends=('perl')
+source=(http://utopia.knoware.nl/~hlub/uck/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('04cd6e2c257eb5a86b297f2ebf91dbbf')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/rng-tools/PKGBUILD b/community/rng-tools/PKGBUILD
new file mode 100644
index 000000000..a149da819
--- /dev/null
+++ b/community/rng-tools/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90470 2013-05-12 20:57:31Z mtorromeo $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Contributor: Alasdair Haswell <ali at arhaswell dot co dot uk>
+
+pkgname=rng-tools
+pkgver=4
+pkgrel=2
+pkgdesc="Random number generator related utilities"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/gkernel/"
+license=('GPL')
+depends=('glibc')
+backup=(etc/conf.d/rngd)
+source=(http://downloads.sourceforge.net/sourceforge/gkernel/$pkgname-$pkgver.tar.gz
+ rngd.conf
+ rngd.service)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm0644 "$srcdir/rngd.service" "$pkgdir/usr/lib/systemd/system/rngd.service"
+ install -Dm0644 "$srcdir/rngd.conf" "$pkgdir/etc/conf.d/rngd"
+}
+
+sha256sums=('b71bdfd4222c05e8316001556be90e1606f2a1bac3efde60153bd84e873cc195'
+ 'a4a19dbe5403b9dcb2bc6b3699dcaba7a47ff3e3ccf58aa3bdbfe14eb1d16003'
+ 'd3e38ac1460e3072792def73281faf5f59dffe9ac43b00916252cc69f7c7d1b5')
diff --git a/community/rng-tools/rngd.conf b/community/rng-tools/rngd.conf
new file mode 100644
index 000000000..8ff9a639e
--- /dev/null
+++ b/community/rng-tools/rngd.conf
@@ -0,0 +1 @@
+RNGD_OPTS="-o /dev/random -r /dev/urandom"
diff --git a/community/rng-tools/rngd.service b/community/rng-tools/rngd.service
new file mode 100644
index 000000000..33f6a6e38
--- /dev/null
+++ b/community/rng-tools/rngd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Hardware RNG Entropy Gatherer Daemon
+
+[Service]
+EnvironmentFile=/etc/conf.d/rngd
+ExecStart=/usr/bin/rngd -f $RNGD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/rocksndiamonds/PKGBUILD b/community/rocksndiamonds/PKGBUILD
new file mode 100644
index 000000000..b7a265456
--- /dev/null
+++ b/community/rocksndiamonds/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 78773 2012-10-24 12:38:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jacek Poplawski <jacekpoplawski@gmail.com>
+
+pkgname=rocksndiamonds
+pkgver=3.3.0.1
+pkgrel=3
+pkgdesc="game similiar to Boulderdash with lots of levels"
+arch=(i686 x86_64)
+url="http://www.artsoft.org/rocksndiamonds/"
+license=('GPL')
+depends=('sdl' 'sdl_image' 'sdl_mixer' 'sdl_net' 'smpeg')
+makedepends=('unzip' 'p7zip')
+source=(http://www.artsoft.org/RELEASES/unix/rocksndiamonds/rocksndiamonds-$pkgver.tar.gz
+ rocksndiamonds.desktop)
+md5sums=('813ced99d54f89db7c593c518d197d18'
+ '18a3541db4d71feb0ad3b50ea4006738')
+
+build() {
+ depends=('sdl' 'sdl_image' 'sdl_mixer' 'sdl_net' 'smpeg' 'rocksndiamonds-data')
+ cd $srcdir
+
+ # main
+ cd $srcdir/rocksndiamonds-$pkgver
+ make clean
+ make RO_GAME_DIR=/usr/share/rocksndiamonds RW_GAME_DIR=/usr/share/rocksndiamonds
+
+ install -d $pkgdir/usr/bin
+ install -d $pkgdir/usr/share/man/man1
+ cp $srcdir/rocksndiamonds-$pkgver/rocksndiamonds $pkgdir/usr/bin/rocksndiamonds
+ cp $srcdir/rocksndiamonds-$pkgver/rocksndiamonds.1 $pkgdir/usr/share/man/man1
+
+ install -Dm0644 $srcdir/rocksndiamonds.desktop $pkgdir/usr/share/applications/rocksndiamonds.desktop
+}
diff --git a/community/rocksndiamonds/rocksndiamonds.desktop b/community/rocksndiamonds/rocksndiamonds.desktop
new file mode 100644
index 000000000..79de3f1d1
--- /dev/null
+++ b/community/rocksndiamonds/rocksndiamonds.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Rocks'N'Diamonds
+GenericName=Rocks'N'Diamonds
+Comment=Arcade game
+Exec=rocksndiamonds
+Terminal=false
+Type=Application
+Categories=Application;Game;
+StartupNotify=false
diff --git a/community/rogue/PKGBUILD b/community/rogue/PKGBUILD
new file mode 100644
index 000000000..76ce5bb6a
--- /dev/null
+++ b/community/rogue/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 83922 2013-02-06 14:55:54Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+pkgname=rogue
+pkgver=5.4.4
+pkgrel=3
+pkgdesc="The original dungeon crawl game."
+arch=('i686' 'x86_64')
+url="http://rogue.rogueforge.net/rogue-5-4/"
+license=('custom')
+depends=('ncurses')
+provides=('rouge') # so the illiterate can find it in searches too
+#source=(http://rogue.rogueforge.net/files/rogue5.4/$pkgname$pkgver-src.tar.gz)
+source=(http://www.sourcefiles.org/Games/Role_Play/$pkgname$pkgver-src.tar.gz)
+md5sums=('033288f46444b06814c81ea69d96e075')
+
+build() {
+ cd "$srcdir/$pkgname$pkgver"
+ ./configure
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname$pkgver"
+ install -Dm755 rogue "$pkgdir/usr/bin/rogue"
+ install -Dm644 rogue.6 "$pkgdir/usr/share/man/man6/rogue.6"
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE.TXT"
+}
+
diff --git a/community/rote/PKGBUILD b/community/rote/PKGBUILD
new file mode 100644
index 000000000..f824f1152
--- /dev/null
+++ b/community/rote/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 65507 2012-02-21 06:45:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=rote
+pkgver=0.2.8
+pkgrel=3
+pkgdesc="terminal emulation library"
+arch=('i686' 'x86_64')
+url="http://rote.sourceforge.net/"
+license=('GPL')
+depends=(ncurses)
+makedepends=()
+source=(http://downloads.sourceforge.net/sourceforge/rote/rote-$pkgver.tar.gz)
+md5sums=('9e5901267d9ed239343f55a54d76e48e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="$pkgdir" install
+ install -D -m0644 roteprivate.h $pkgdir/usr/include/rote/roteprivate.h
+}
diff --git a/community/rox/PKGBUILD b/community/rox/PKGBUILD
new file mode 100644
index 000000000..2c30f6257
--- /dev/null
+++ b/community/rox/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 83182 2013-01-27 16:26:58Z pierre $
+# Maintainer: tobias <tobias@archlinux.org>
+# Contributor: Jochem Kossen <j.kossen@home.nl>
+
+pkgname=rox
+pkgver=2.11
+pkgrel=1
+pkgdesc="A small and fast file manager which can optionally manage the desktop background and panels"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://roscidus.com/desktop/"
+depends=('sh' 'libsm' 'gtk2')
+makedepends=('librsvg' 'python2')
+source=("http://downloads.sourceforge.net/${pkgname}/rox-filer-${pkgver}.tar.bz2"
+ 'rox.desktop' 'rox.svg' 'rox.sh')
+md5sums=('0eebf05a67f7932367750ebf9faf215d'
+ 'de05c906395abd4402b0470c1bc2ae6e'
+ '658c8648b51e215558e13e6afb2b5c76'
+ '31578a90b241f0a8d09c9f8587608d00')
+
+build() {
+ cd "${srcdir}/rox-filer-${pkgver}"
+ ./ROX-Filer/AppRun --compile LIBS="-ldl -lm"
+# finally we render a png as fallback for svg unaware menu applications
+# Attention: always make sure you check the dimensions of the source-svg,
+# you can read the dimensions via inkscape's export function
+ rsvg-convert -w 48 -h 38 -f png -o "${srcdir}/rox.png" "${srcdir}/rox.svg"
+}
+
+package() {
+ cd "${srcdir}/rox-filer-${pkgver}"
+ install -d "${pkgdir}/usr/share/Choices/MIME-types"
+ install -m755 Choices/MIME-types/* "${pkgdir}/usr/share/Choices/MIME-types/"
+ cp -rp ROX-Filer "${pkgdir}/usr/share/"
+ rm -fr "${pkgdir}"/usr/share/ROX-Filer/{src,build}
+
+ install -D -m755 "${srcdir}/rox.sh" "${pkgdir}/usr/bin/rox"
+ install -D -m644 rox.1 "${pkgdir}/usr/share/man/man1/rox.1"
+ ln -sf rox.1 "${pkgdir}/usr/share/man/man1/ROX-Filer.1"
+
+ install -D -m644 "${srcdir}/rox.desktop" "${pkgdir}/usr/share/applications/rox.desktop"
+ install -D -m644 "${srcdir}/rox.svg" "${pkgdir}/usr/share/pixmaps/rox.svg"
+ install -D -m644 "${srcdir}/rox.png" "${pkgdir}/usr/share/pixmaps/rox.png"
+}
diff --git a/community/rox/rox.desktop b/community/rox/rox.desktop
new file mode 100644
index 000000000..93edfabcf
--- /dev/null
+++ b/community/rox/rox.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=ROX Filer
+Exec=rox
+Icon=rox
+Terminal=false
+Type=Application
+Categories=System;Utility;Core;FileManager;
diff --git a/community/rox/rox.sh b/community/rox/rox.sh
new file mode 100644
index 000000000..f2dc449d0
--- /dev/null
+++ b/community/rox/rox.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/share/ROX-Filer/AppRun "$@"
diff --git a/community/rox/rox.svg b/community/rox/rox.svg
new file mode 100644
index 000000000..4cbd7cc28
--- /dev/null
+++ b/community/rox/rox.svg
@@ -0,0 +1,493 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ id="svg1573"
+ sodipodi:version="0.32"
+ inkscape:version="0.39"
+ width="100.00000pt"
+ height="80.000000pt"
+ sodipodi:docbase="/home/keep/graphics/arch_candy/svg-icons"
+ sodipodi:docname="rox_filer.svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs
+ id="defs1575">
+ <linearGradient
+ id="linearGradient2267">
+ <stop
+ style="stop-color:#fdffc6;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2268" />
+ <stop
+ style="stop-color:#ffbc00;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2269" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2267"
+ id="linearGradient2270"
+ x1="0.17269076"
+ y1="0.14173229"
+ x2="0.97590363"
+ y2="0.72834647" />
+ <linearGradient
+ id="linearGradient2263">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2264" />
+ <stop
+ style="stop-color:#e6e6e6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2265" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1589">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1590" />
+ <stop
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop1593" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2196">
+ <stop
+ style="stop-color:#bee3ff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2197" />
+ <stop
+ style="stop-color:#7dd3ff;stop-opacity:1.0000000;"
+ offset="0.073038995"
+ id="stop2200" />
+ <stop
+ style="stop-color:#2494d0;stop-opacity:1.0000000;"
+ offset="0.81849396"
+ id="stop2199" />
+ <stop
+ style="stop-color:#465b72;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2198" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1606">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.62745100;"
+ offset="0.0000000"
+ id="stop1607" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop1608" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1606"
+ id="radialGradient1636"
+ cx="1.0000000"
+ cy="1.0000000"
+ r="0.99467027"
+ fx="1.0000000"
+ fy="1.0000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1606"
+ id="linearGradient1638"
+ x1="0.50000000"
+ y1="1.0000000"
+ x2="0.50000000"
+ y2="0.0000000" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1606"
+ id="radialGradient1643"
+ cx="0.0000000"
+ cy="1.0000000"
+ r="1.0000000"
+ fx="0.0000000"
+ fy="1.0000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1606"
+ id="linearGradient1645"
+ x1="0.0000000"
+ y1="0.50000000"
+ x2="1.0000000"
+ y2="0.50000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1606"
+ id="linearGradient1647"
+ x1="1.0000000"
+ y1="0.50000000"
+ x2="0.0000000"
+ y2="0.50000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1606"
+ id="linearGradient1649"
+ x1="0.50000000"
+ y1="1.8735014e-14"
+ x2="0.50000000"
+ y2="1.0000000" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1606"
+ id="radialGradient1651"
+ cx="1.0000000"
+ cy="0.0000000"
+ r="1.0000000"
+ fx="1.0000000"
+ fy="0.0000000" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1606"
+ id="radialGradient1653"
+ cx="0.0000000"
+ cy="0.0000000"
+ r="1.0000000"
+ fx="0.0000000"
+ fy="0.0000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2196"
+ id="linearGradient2195"
+ x1="0.28313252"
+ y1="0.17968750"
+ x2="0.32777777"
+ y2="0.82031250" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2196"
+ id="linearGradient2202"
+ x1="0.67934781"
+ y1="0.96875000"
+ x2="0.63000000"
+ y2="-0.054687500" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2196"
+ id="linearGradient2207"
+ x1="0.34701493"
+ y1="0.58801496"
+ x2="0.71766168"
+ y2="1.0074906" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1589"
+ id="linearGradient1588"
+ x1="0.34029850"
+ y1="0.052631579"
+ x2="0.88955224"
+ y2="0.85964912" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2263"
+ id="radialGradient2272"
+ cx="0.65671641"
+ cy="0.34579438"
+ r="0.36985061"
+ fx="0.65671641"
+ fy="0.35046729" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="6.4980189"
+ inkscape:cx="45.259790"
+ inkscape:cy="38.198748"
+ inkscape:window-width="1018"
+ inkscape:window-height="744"
+ showgrid="true"
+ snaptogrid="false"
+ gridspacingy="10.000000pt"
+ gridspacingx="10.000000pt"
+ gridoriginy="0.0000000pt"
+ gridoriginx="0.0000000pt"
+ gridtolerance="2.0000000px"
+ inkscape:grid-bbox="false"
+ inkscape:grid-points="false"
+ inkscape:window-x="0"
+ inkscape:window-y="3"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:guide-points="true"
+ guidetolerance="3.0000000pt" />
+ <metadata
+ id="metadata1576">
+ <rdf:RDF
+ id="RDF1577">
+ <cc:Work
+ rdf:about=""
+ id="Work1578">
+ <dc:description
+ id="description1579">Created with Inkscape
+http://www.inkscape.org/</dc:description>
+ <dc:format
+ id="format1581">image/svg+xml</dc:format>
+ <dc:type
+ id="type1583"
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title
+ id="title1606">Rox-Filer Icon for Archlinux
+based on work found on the internet trying to match the original xpm</dc:title>
+ <dc:date
+ id="date1608">2004-07-14</dc:date>
+ <dc:creator
+ id="creator1610">
+ <cc:Agent
+ id="Agent1611">
+ <dc:title
+ id="title1612">Tobias Kieslich, Archlinux package maintainer</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:coverage
+ id="coverage1614" />
+ <cc:license
+ id="license1616"
+ rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/GPL/2.0/"
+ id="License1624">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction"
+ id="permits1625" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution"
+ id="permits1626" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice"
+ id="requires1627" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks"
+ id="permits1628" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike"
+ id="requires1629" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/SourceCode"
+ id="requires1630" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <rect
+ style="fill:url(#radialGradient1636);fill-opacity:0.56000000;fill-rule:evenodd;stroke:none;"
+ id="sh_up_left"
+ width="18.750000"
+ height="18.750000"
+ x="0.15625000"
+ y="0.15624750" />
+ <rect
+ style="fill:url(#linearGradient1638);fill-opacity:0.56000000;fill-rule:evenodd;stroke:none;"
+ id="sh_up_top"
+ width="87.500000"
+ height="18.750000"
+ x="18.906250"
+ y="-2.4999999e-06" />
+ <rect
+ style="fill:url(#radialGradient1643);fill-opacity:0.56000000;fill-rule:evenodd;stroke:none;"
+ id="sh_up_right"
+ width="18.750000"
+ height="18.750000"
+ x="106.40625"
+ y="0.15624750" />
+ <rect
+ style="fill:url(#linearGradient1645);fill-opacity:0.56000000;fill-rule:evenodd;stroke:none;"
+ id="sh_side_right"
+ width="18.750000"
+ height="62.500000"
+ x="106.40625"
+ y="18.906250"
+ ry="0.0000000" />
+ <rect
+ style="fill:url(#radialGradient1653);fill-opacity:0.56000000;fill-rule:evenodd;stroke:none;"
+ id="sh_lo_right"
+ width="18.750000"
+ height="18.750000"
+ x="106.40625"
+ y="81.406250" />
+ <rect
+ style="fill:url(#linearGradient1649);fill-opacity:0.56000000;fill-rule:evenodd;stroke:none;"
+ id="sh_lo_button"
+ width="87.500000"
+ height="18.750000"
+ x="18.906250"
+ y="81.406250"
+ ry="0.0000000" />
+ <rect
+ style="fill:url(#radialGradient1651);fill-opacity:0.56000000;fill-rule:evenodd;stroke:none;"
+ id="sh_lo_left"
+ width="18.750000"
+ height="18.750000"
+ x="0.15625000"
+ y="81.406250"
+ ry="0.0000000" />
+ <rect
+ style="fill:url(#linearGradient1647);fill-opacity:0.56000000;fill-rule:evenodd;stroke:none;"
+ id="sh_side_left"
+ width="18.750000"
+ height="62.500000"
+ x="0.15625000"
+ y="18.906250" />
+ <path
+ style="fill:url(#linearGradient2195);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#005ec6;stroke-width:0.37500000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.76973683;"
+ d="M 10.000000,17.031250 C 15.781250,16.406250 12.187501,7.1874998 23.593751,7.4999998 C 45.937500,7.6562498 50.000000,5.4687498 55.937501,12.031250 C 73.437502,11.875000 95.781252,12.187500 106.25000,13.437500 C 111.09375,21.718750 109.03244,76.848192 111.25000,85.000000 C 105.93750,85.781250 31.718750,84.843750 17.187500,85.000000 C 19.687500,74.062500 13.593750,31.093750 10.000000,17.031250 z "
+ id="path2194"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:url(#linearGradient2202);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#003465;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.51315790;"
+ d="M 22.656253,20.937500 C 27.656253,18.125000 102.18751,22.656260 118.12500,20.781250 C 113.28125,46.875000 107.43528,64.689405 111.09375,85.156250 C 92.656250,89.531250 42.031253,85.000000 17.187502,85.000000 C 8.7500029,53.281250 17.656253,23.750000 22.656253,20.937500 z "
+ id="path2201"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ id="outline"
+ stroke="black"
+ stroke-width="1"
+ d="M 55.515353,11.233098 C 87.695353,13.593098 87.040232,46.022391 105.94188,47.608732 C 113.45000,47.428732 86.513146,58.158732 68.693146,56.338732 C 60.333146,56.338732 57.423146,56.698732 47.423146,57.608732 C 41.423146,58.518732 35.435573,58.989217 27.975573,57.179217 C 20.902855,58.670188 21.171750,57.406693 19.875646,46.904982 C 21.358146,46.737482 21.292460,46.313412 22.819854,48.554647 C 23.991544,50.273937 24.425353,46.595305 25.854085,48.756854 C 33.124085,44.026854 26.153146,23.978732 33.423146,21.428732 C 29.603146,15.978732 33.973146,9.4287317 36.693146,9.7887317 C 37.783146,7.2487317 37.221926,4.5924878 39.401926,5.5024878 C 43.194694,7.1884025 46.004695,3.4125365 48.214085,3.2643658 C 50.330329,3.9390609 49.603146,4.8787317 51.243146,5.4287317 C 57.063146,2.8787317 55.923427,9.3281222 55.515353,11.233098 z "
+ style="fill:url(#radialGradient2272);stroke:#000000;stroke-width:1.8000009;stroke-miterlimit:4.0000000;opacity:1.0000000;"
+ sodipodi:nodetypes="ccccccsccccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#8c8c8c;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;"
+ d="M 84.890446,38.997755 C 84.890446,38.997755 88.581336,37.807146 90.724434,37.092780 C 91.795983,40.069305 97.868097,47.689207 107.15485,48.046390 C 110.72668,47.808268 93.343775,48.522634 90.248190,49.475122 C 87.152604,50.427610 84.652324,41.140853 84.890446,38.997755 z "
+ id="path2244"
+ sodipodi:nodetypes="ccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#aaaaaa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.95000046;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 78.173843,39.831182 C 78.650087,44.117377 78.411965,55.904415 86.269989,56.142537 C 98.176087,55.904415 112.93964,49.237000 102.46229,48.284512 C 94.842380,47.689208 93.175526,50.427610 85.555623,38.759633 C 85.079379,32.330340 85.317501,38.759634 85.555623,38.759634 L 78.173843,39.831182 z "
+ id="path2243"
+ sodipodi:nodetypes="cccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#aaaaaa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.95000046;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 72.173840,40.069304 C 72.650084,44.355499 75.388487,56.142537 80.508108,55.904415 C 92.414206,55.666293 110.27335,48.046390 99.795987,48.284512 C 92.890450,48.998878 81.936840,51.261037 79.793742,39.593060 C 79.317498,33.163767 79.793742,39.593061 79.793742,39.593061 L 72.173840,40.069304 z "
+ id="path2242"
+ sodipodi:nodetypes="cccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#aaaaaa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.95000046;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 65.744547,40.188365 C 66.220791,44.474560 67.054218,56.142537 74.912242,56.380659 C 86.818339,56.142537 101.34378,49.594183 90.866413,49.832305 C 82.889327,49.832305 75.626608,51.261037 73.364449,39.950243 C 72.888205,33.520950 73.364449,39.950244 73.364449,39.950244 L 65.744547,40.188365 z "
+ id="path1620"
+ sodipodi:nodetypes="cccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#aaaaaa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.95000046;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 61.554493,41.021792 C 62.030737,45.307987 62.745103,55.309110 70.603127,55.547232 C 77.389603,57.095025 90.605372,50.903854 80.128005,51.141976 C 72.627163,50.308549 70.841249,47.689208 68.698151,40.783670 C 67.983785,30.782548 68.221907,39.593061 68.221907,39.593061 L 61.554493,41.021792 z "
+ id="path1619"
+ sodipodi:nodetypes="cccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#0e5ca4;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2207);stroke-width:2.8750000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 18.125000,83.750000 C 15.781250,74.687500 55.937499,78.593750 65.156250,78.593750 C 78.125000,78.906250 82.031249,57.656250 89.843750,57.500000 C 94.531250,57.656250 104.59597,56.966529 109.75222,56.966529 C 108.17076,66.501032 108.33487,74.284818 109.68750,84.218750 C 92.500002,87.968750 42.343750,83.593750 18.125000,83.750000 z "
+ id="path2206"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#aaaaaa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.95000046;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 30.241456,38.045267 C 29.288968,47.927329 28.336481,47.927329 26.431505,49.951366 C 25.479017,48.403573 24.407468,48.403573 23.097797,49.951366 C 21.669066,48.284512 21.779994,46.597620 20.172530,47.349456 C 21.072561,50.995102 20.280329,54.730317 22.014628,58.317134 C 28.786566,56.578346 35.306033,59.977218 53.934591,56.542597 C 58.339847,54.756683 47.386237,41.855219 46.314688,42.212402 C 45.243139,42.569585 33.337041,44.355500 30.241456,38.045267 z "
+ id="path2245"
+ sodipodi:nodetypes="cccccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#ffc800;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 32.136364,51.487233 C 28.207348,51.844415 27.753870,54.946654 28.230114,57.565995 C 30.023765,56.968112 32.078234,57.581448 34.761364,57.362233 L 34.761364,51.987233 C 34.066700,51.633088 33.237515,51.349589 32.136364,51.487233 z "
+ id="path2261"
+ sodipodi:nodetypes="ccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#ffc800;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 35.470071,51.606294 C 31.541055,51.963476 31.087577,55.065715 31.563821,57.685056 C 33.357472,57.087173 35.411941,57.700509 38.095071,57.481294 L 38.095071,52.106294 C 37.400407,51.752149 36.571222,51.468650 35.470071,51.606294 z "
+ id="path2260"
+ sodipodi:nodetypes="ccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#ffc800;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 38.208474,51.606294 C 34.279458,51.963476 33.825980,56.018203 34.302224,58.637544 C 36.095875,58.039661 38.150344,57.700509 40.833474,57.481294 L 40.833474,52.106294 C 40.138810,51.752149 39.309625,51.468650 38.208474,51.606294 z "
+ id="path2259"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#ffc800;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 41.184999,51.606294 C 37.255983,51.963476 36.802505,56.018203 37.278749,58.637544 C 39.072400,58.039661 41.126869,57.700509 43.809999,57.481294 L 43.809999,52.106294 C 43.115335,51.752149 42.286150,51.468650 41.184999,51.606294 z "
+ id="path2258"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#ffc800;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 44.280584,51.487233 C 40.351568,51.844415 39.898090,55.899142 40.374334,58.518483 C 42.167985,57.920600 44.222454,57.581448 46.905584,57.362233 L 46.905584,51.987233 C 46.210920,51.633088 45.381735,51.349589 44.280584,51.487233 z "
+ id="path2249"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#ffc800;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 61.911677,45.307988 C 61.375902,44.415030 61.765709,44.034840 61.733085,42.658881 C 58.268663,42.540664 58.280316,48.344042 58.697030,52.570707 C 56.077688,52.808829 55.363323,52.570707 54.291774,52.689768 C 53.220225,52.808829 52.029615,50.546671 49.172152,50.903854 C 45.243139,51.261036 44.766896,55.309110 45.243140,57.928451 C 49.172151,56.618781 53.577408,56.380658 65.721628,56.499719 C 56.672994,50.070426 60.721067,44.593622 61.911677,45.307988 z "
+ id="path2248"
+ sodipodi:nodetypes="cccccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000042;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 38.862811,5.8564233 C 40.714965,6.4457451 43.778156,8.4025157 47.566654,3.8563191 C 48.661109,3.2669973 49.839752,5.5400956 51.186773,5.7926621 C 48.745297,8.2341380 48.324354,12.527769 45.461933,12.527768 C 42.431136,13.032901 41.841814,10.423048 37.295617,10.423047 C 36.958861,9.9179145 36.673901,6.3615563 38.862811,5.8564233 z "
+ id="path2273"
+ sodipodi:nodetypes="cccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.45000023;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 37.884939,9.1602151 C 38.726827,8.5708933 41.168303,9.1602151 42.094380,9.9179146 C 43.020458,10.675614 47.314087,4.3614521 49.166242,4.8665850 C 50.850018,6.0452286 51.439340,5.5400956 50.765829,6.4661727 C 50.092319,7.3922498 47.903409,12.696146 45.798689,12.611957 C 43.693968,12.527768 38.474261,9.9179146 37.463995,10.338859 C 36.453729,10.759803 37.884939,9.1602151 37.884939,9.1602151 z "
+ id="path2274"
+ sodipodi:nodetypes="ccccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:url(#linearGradient2270);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.90000045;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 40.480700,28.282268 C 35.837322,26.139170 26.550566,13.399645 37.146993,10.304059 C 42.504737,10.423120 41.314127,13.042462 44.409712,12.447157 C 47.505298,11.851852 49.886518,4.3510105 53.339286,4.9463154 C 55.601444,7.0894130 55.958628,15.423681 53.101164,18.757389 C 50.005579,19.709877 46.195627,19.471755 40.480700,28.282268 z "
+ id="path2262"
+ sodipodi:nodetypes="cccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.2500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 42.346947,9.9179146 C 41.926003,10.338859 41.505058,10.759803 41.589247,11.180747 C 42.431136,11.601691 43.273024,12.443579 44.788422,12.527769 C 45.967067,11.517503 46.135443,8.4867045 45.377745,8.3183268 C 44.367479,7.8973828 43.020457,9.0760263 42.346947,9.9179146 z "
+ id="path2275"
+ sodipodi:nodetypes="ccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 41.195066,29.115694 C 40.123518,29.472877 34.765774,29.591938 35.242017,36.140292 C 35.718261,42.688646 40.718822,50.427609 48.100603,50.903853 C 49.291213,51.022914 58.339847,48.165450 55.958627,36.973718 C 52.267738,26.734474 46.314688,28.520389 41.195066,29.115694 z "
+ id="path2276"
+ sodipodi:nodetypes="ccccc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 20.025215,48.192533 C 20.739581,49.025960 19.406907,55.190048 26.193383,50.189487"
+ id="path2278"
+ sodipodi:nodetypes="cc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 24.185500,48.718875 C 24.304561,49.552301 24.764651,51.141975 26.431505,49.832305"
+ id="path2279"
+ sodipodi:nodetypes="cc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 53.815530,22.448279 C 57.625482,22.686401 60.482945,27.925084 61.554494,41.736158"
+ id="path2280"
+ sodipodi:nodetypes="cc"
+ transform="translate(-4.687500,23.28125)" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.85000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;"
+ d="M 36.908871,25.662926 C 35.480139,28.401329 33.932347,29.710999 35.122956,36.140292"
+ id="path2281"
+ sodipodi:nodetypes="cc"
+ transform="translate(-4.687500,23.28125)" />
+</svg>
diff --git a/community/roxterm/PKGBUILD b/community/roxterm/PKGBUILD
new file mode 100644
index 000000000..23f41b0d2
--- /dev/null
+++ b/community/roxterm/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 92214 2013-06-02 21:00:23Z ttoepper $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+
+pkgname=roxterm
+pkgver=2.7.2
+pkgrel=1
+pkgdesc='Tabbed, VTE-based terminal emulator'
+arch=('i686' 'x86_64')
+url='http://roxterm.sourceforge.net/'
+license=('GPL3')
+depends=('dbus-glib' 'vte3' 'hicolor-icon-theme')
+makedepends=('docbook-xsl' 'xmlto' 'po4a' 'python2' 'python2-lockfile' 'imagemagick' 'librsvg')
+install=roxterm.install
+source=("http://downloads.sourceforge.net/roxterm/roxterm-$pkgver.tar.bz2")
+md5sums=('8ef80f9a5e0aea659b1f9cd6de9869b4')
+sha1sums=('fa32ceeb19a097d5fb8a54c24cb7a6f1b957e74d')
+
+
+build() {
+ cd "${srcdir}/roxterm-${pkgver}"
+
+ python2 mscript.py configure --prefix='/usr'
+ python2 mscript.py build
+}
+
+package() {
+ cd "${srcdir}/roxterm-${pkgver}"
+ python2 mscript.py install --destdir="${pkgdir}"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/roxterm/roxterm.install b/community/roxterm/roxterm.install
new file mode 100644
index 000000000..1a05f573e
--- /dev/null
+++ b/community/roxterm/roxterm.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/rpc2/PKGBUILD b/community/rpc2/PKGBUILD
new file mode 100644
index 000000000..21b723db0
--- /dev/null
+++ b/community/rpc2/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 65509 2012-02-21 06:46:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=rpc2
+pkgver=2.10
+pkgrel=3
+pkgdesc="Remote procedure call package for IP/UDP"
+arch=(i686 x86_64)
+url="http://www.coda.cs.cmu.edu"
+options=('!libtool')
+license=("LGPL")
+depends=('lwp' 'readline')
+source=(http://www.coda.cs.cmu.edu/pub/rpc2/src/rpc2-$pkgver.tar.gz)
+md5sums=('545066e67d95325840a79d163098096b')
+
+build() {
+ cd $srcdir/rpc2-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/rss-glx/PKGBUILD b/community/rss-glx/PKGBUILD
new file mode 100644
index 000000000..cae07a1fa
--- /dev/null
+++ b/community/rss-glx/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 86576 2013-03-20 02:34:21Z eric $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Corrado 'bardo' Primier <corrado.primier@mail.polimi.it>
+# Contributor: Tate "Tatey" Johnson <tatey86@tpg.com.au>
+
+pkgname=rss-glx
+pkgver=0.9.1
+pkgrel=14
+pkgdesc="The Really Slick Screensavers port to GLX"
+arch=('i686' 'x86_64')
+url="http://rss-glx.sourceforge.net/"
+license=('GPL')
+depends=('desktop-file-utils' 'freealut' 'glew' 'imagemagick' 'glu')
+makedepends=('mesa')
+optdepends=('xscreensaver: xscreensaver integration')
+install=rss-glx.install
+options=('!libtool')
+source=(http://downloads.sourceforge.net/rss-glx/${pkgname}_${pkgver}.tar.bz2
+ rss-glx-desktops.tar.bz2)
+md5sums=('a772bd143cd8d141edf4d9eff9860ab3'
+ '4211215c9a4918b0dff30a7000647dd9')
+
+build() {
+ cd ${srcdir}/${pkgname}_${pkgver}
+
+ [ "$CARCH" = "x86_64" ] && (sed -i -e 's|@LIBS@|@LIBS@ -fopenmp|g' src/Makefile.in)
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --program-transform-name='s/plasma/plasma_rss/' \
+ --with-configdir=/usr/share/xscreensaver/config \
+ --with-kdessconfigdir=/usr/share/applnk/System/ScreenSavers \
+ --enable-shared=yes --enable-static=no
+ make CFLAGS="$CFLAGS -I/usr/include/ImageMagick"
+}
+
+package() {
+ cd ${srcdir}/${pkgname}_${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ # FS#18300
+ install -d ${pkgdir}/usr/lib/xscreensaver/
+ list=$(ls ${pkgdir}/usr/bin --ignore rss-glx_install.pl)
+ for i in $list; do
+ ln -s "/usr/bin/$i" "$pkgdir/usr/lib/xscreensaver/"
+ done
+
+ install -d ${pkgdir}/usr/share/applications/screensavers
+ install -m644 ${srcdir}/${pkgname}-desktops/*.desktop ${pkgdir}/usr/share/applications/screensavers
+}
diff --git a/community/rss-glx/rss-glx-desktops.tar.bz2 b/community/rss-glx/rss-glx-desktops.tar.bz2
new file mode 100644
index 000000000..940fd5277
--- /dev/null
+++ b/community/rss-glx/rss-glx-desktops.tar.bz2
Binary files differ
diff --git a/community/rss-glx/rss-glx.install b/community/rss-glx/rss-glx.install
new file mode 100644
index 000000000..758642618
--- /dev/null
+++ b/community/rss-glx/rss-glx.install
@@ -0,0 +1,12 @@
+post_install() {
+ cat << 'EOM'
+ --> If you want to integrate the RSS screen savers with xscreensaver
+ --> for your user, then install the xscreensaver package and launch
+ --> the command "rss-glx_install.pl"
+EOM
+ update-desktop-database -q
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/community/rsyslog/PKGBUILD b/community/rsyslog/PKGBUILD
new file mode 100644
index 000000000..4091d499c
--- /dev/null
+++ b/community/rsyslog/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 93676 2013-07-08 11:20:55Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=rsyslog
+pkgver=7.4.2
+pkgrel=1
+pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability"
+url="http://www.rsyslog.com/"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('zlib' 'libestr' 'libee' 'json-c' 'systemd')
+makedepends=('postgresql-libs>=8.4.1' 'libmariadbclient' 'net-snmp' 'gnutls'
+ 'python-docutils')
+optdepends=('postgresql-libs: PostgreSQL Database Support'
+ 'libmariadbclient: MySQL Database Support'
+ 'net-snmp'
+ 'gnutls')
+backup=('etc/rsyslog.conf'
+ 'etc/logrotate.d/rsyslog'
+ 'etc/conf.d/rsyslog')
+options=('strip' 'zipman' '!libtool')
+source=("http://www.rsyslog.com/files/download/rsyslog/rsyslog-$pkgver.tar.gz"
+ 'rsyslog.logrotate'
+ 'rsyslog.conf')
+md5sums=('52ba87ddce153625ec4e4a2e60c4ec0e'
+ '0d990373f5c70ddee989296007b4df5b'
+ 'd61dd424e660eb16401121eed20d98bc')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr \
+ --sbindir=/usr/bin \
+ --enable-mysql \
+ --enable-pgsql \
+ --enable-mail \
+ --enable-imfile \
+ --enable-snmp \
+ --enable-gnutls \
+ --enable-inet \
+ --enable-imjournal \
+ --enable-omjournal \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+ echo "rsyslogd_LDADD += \$(LIBESTR_LIBS) -lm" >>tools/Makefile
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+ # Install Daemons and Configuration Files
+ install -D -m644 doc/${pkgname}-example.conf ${pkgdir}/usr/share/doc/$pkgname/${pkgname}.conf.example
+ install -D -m644 $srcdir/${pkgname}.conf ${pkgdir}/etc/${pkgname}.conf
+ install -D -m644 $srcdir/${pkgname}.logrotate ${pkgdir}/etc/logrotate.d/${pkgname}
+
+ # fix location of systemctl and remove start precondition
+ sed -i "$pkgdir/usr/lib/systemd/system/rsyslog.service" \
+ -e 's@/bin/systemctl@/usr&@' \
+ -e '/^ExecStartPre/d'
+}
diff --git a/community/rsyslog/rsyslog.conf b/community/rsyslog/rsyslog.conf
new file mode 100644
index 000000000..4416c26d5
--- /dev/null
+++ b/community/rsyslog/rsyslog.conf
@@ -0,0 +1,44 @@
+# Minimal config
+
+$ModLoad imuxsock # provides support for local system logging
+$ModLoad imklog # provides kernel logging support
+$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
+$FileOwner root
+$FileGroup root
+$FileCreateMode 0640
+$DirCreateMode 0755
+$Umask 0022
+$WorkDirectory /var/spool/rsyslog
+$IncludeConfig /etc/rsyslog.d/*.conf
+
+auth,authpriv.* /var/log/auth.log
+*.*;auth,authpriv.none -/var/log/syslog
+#cron.* /var/log/cron.log
+daemon.* -/var/log/daemon.log
+kern.* -/var/log/kern.log
+lpr.* -/var/log/lpr.log
+mail.* -/var/log/mail.log
+user.* -/var/log/user.log
+
+mail.info -/var/log/mail.info
+mail.warn -/var/log/mail.warn
+mail.err /var/log/mail.err
+
+news.crit /var/log/news/news.crit
+news.err /var/log/news/news.err
+news.notice -/var/log/news/news.notice
+
+*.=debug;\
+ auth,authpriv.none;\
+ news.none;mail.none -/var/log/debug
+*.=info;*.=notice;*.=warn;\
+ auth,authpriv.none;\
+ cron,daemon.none;\
+ mail,news.none -/var/log/messages
+
+*.emerg :omusrmsg:*
+
+daemon.*;mail.*;\
+ news.err;\
+ *.=debug;*.=info;\
+ *.=notice;*.=warn |/dev/xconsole
diff --git a/community/rsyslog/rsyslog.logrotate b/community/rsyslog/rsyslog.logrotate
new file mode 100644
index 000000000..889c9891e
--- /dev/null
+++ b/community/rsyslog/rsyslog.logrotate
@@ -0,0 +1,7 @@
+/var/log/auth.log /var/log/cron.log /var/log/daemon.log /var/log/debug /var/log/kern.log /var/log/lpr.log /var/log/mail.err /var/log/mail.info /var/log/mail.log /var/log/mail.warn /var/log/messages /var/log/news /var/log/syslog /var/log/user.log {
+ missingok
+ sharedscripts
+ postrotate
+ /usr/bin/killall -HUP /usr/bin/rsyslogd
+ endscript
+}
diff --git a/community/rtl-sdr/PKGBUILD b/community/rtl-sdr/PKGBUILD
new file mode 100644
index 000000000..0fe7e3a39
--- /dev/null
+++ b/community/rtl-sdr/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 83477 2013-02-01 16:58:18Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Michael Düll <mail@akurei.me>
+
+pkgname=rtl-sdr
+pkgver=20130201
+_commit="ea4dbd242d268e50163acb8df1ac662485b43632"
+pkgrel=1
+pkgdesc="Driver for Realtek RTL2832U, allowing general purpose software defined radio (SDR)."
+arch=('i686' 'x86_64')
+url="http://sdr.osmocom.org/trac/wiki/rtl-sdr"
+license=('GPL')
+depends=('libusb>=1.0')
+makedepends=('git' 'cmake')
+conflicts=('rtl-sdr-git')
+
+_gitroot="git://git.osmocom.org/rtl-sdr.git"
+_gitname="rtl-sdr"
+
+build() {
+ cd "$srcdir"
+ msg "Connecting to GIT server...."
+
+ if [[ -d "$_gitname" ]]; then
+ cd "$_gitname" && git pull origin
+ msg "The local files are updated."
+ else
+ git clone "$_gitroot" "$_gitname"
+ fi
+
+ msg "GIT checkout done or server timeout"
+ msg "Starting build..."
+
+ rm -rf "$srcdir/$_gitname-build"
+ git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build"
+ cd "$srcdir/$_gitname-build/"
+ git checkout "$_commit"
+
+ mkdir build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -Wno-dev ../
+ make
+}
+
+package() {
+ cd "$srcdir/$_gitname-build/build/"
+ make DESTDIR="$pkgdir" install
+ install -D -m644 "$srcdir/$_gitname-build/rtl-sdr.rules" "$pkgdir/usr/lib/udev/rules.d/10-rtl-sdr.rules"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/rtorrent/PKGBUILD b/community/rtorrent/PKGBUILD
new file mode 100644
index 000000000..010020527
--- /dev/null
+++ b/community/rtorrent/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Daenyth <Daenyth [at] gmail [dot] com>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: sh__
+
+pkgname=rtorrent
+pkgver=0.9.3
+pkgrel=2
+pkgdesc='Ncurses BitTorrent client based on libTorrent'
+url='http://libtorrent.rakshasa.no/'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('libtorrent=0.13.3' 'curl' 'xmlrpc-c' 'libsigc++')
+source=("http://libtorrent.rakshasa.no/downloads/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('89ec5683a46f000dc23c9bf8a8808985759220e4')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ export CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ ./configure \
+ --prefix=/usr \
+ --disable-debug \
+ --with-xmlrpc-c \
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D doc/rtorrent.rc "${pkgdir}"/usr/share/doc/rtorrent/rtorrent.rc
+}
diff --git a/community/ruby-cairo/PKGBUILD b/community/ruby-cairo/PKGBUILD
new file mode 100644
index 000000000..803315aa2
--- /dev/null
+++ b/community/ruby-cairo/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 87182 2013-03-28 13:42:37Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Jeremy <reebydobalina@yahoo.ca>
+
+pkgname=ruby-cairo
+pkgver=1.12.2
+pkgrel=7
+pkgdesc='Ruby bindings for cairo'
+arch=('x86_64' 'i686')
+url='http://cairographics.org/rcairo/'
+license=('GPL')
+depends=('ruby' 'cairo')
+makedepends=('ruby-pkgconfig')
+source=("http://cairographics.org/releases/rcairo-$pkgver.tar.gz")
+sha256sums=('f071d6ccb12cb6dc1fc91eb086d6150ce779930fe5af38a6987e378c809362c5')
+
+build() {
+ cd "$srcdir/rcairo-$pkgver"
+
+ ruby extconf.rb --vendor
+ make
+}
+
+package() {
+ cd "$srcdir/rcairo-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 ext/cairo/cairo.so \
+ "$pkgdir/usr/lib/ruby/vendor_ruby/2.0.0/$CARCH-linux/cairo.so"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ruby-gtk2/PKGBUILD b/community/ruby-gtk2/PKGBUILD
new file mode 100644
index 000000000..259ba3cdd
--- /dev/null
+++ b/community/ruby-gtk2/PKGBUILD
@@ -0,0 +1,89 @@
+# $Id: PKGBUILD 92390 2013-06-04 13:59:53Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Eric Bélanger <eric@archlinux.org>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Bjorn Lindeijer <bjorn@lindeijer.nl>
+# Contributor: kritoke <kritoke@nospam.gmail.com>
+
+pkgbase=ruby-gtk2
+pkgname=('ruby-atk' 'ruby-gdkpixbuf2' 'ruby-gio2' 'ruby-glib2' 'ruby-gtk2'
+ 'ruby-pango')
+pkgver=2.0.2
+pkgrel=1
+arch=('x86_64' 'i686')
+url='http://ruby-gnome2.sourceforge.jp/'
+license=('LGPL')
+makedepends=('ruby-pkgconfig' 'ruby-cairo' 'gtk2' 'glib2')
+source=("http://downloads.sourceforge.net/ruby-gnome2/ruby-gtk2-$pkgver.tar.gz")
+sha256sums=('3a009bde5f4c684214d7860cce5763db4d862cfdeafaa84578117dc723b7e1e5')
+
+prepare() {
+ cd "$srcdir/ruby-gtk2-$pkgver"
+
+ LANG="en_US.UTF-8" \
+ ruby extconf.rb atk gdk_pixbuf2 gio2 glib2 gtk2 pango --vendor
+ mkdir -p \
+ "$pkgdir/ruby-glib2/usr/lib/ruby/vendor_ruby/2.0.0/i686-linux" \
+ "$pkgdir/ruby-atk/usr/lib/ruby/vendor_ruby/2.0.0/i686-linux" \
+ "$pkgdir/ruby-gio2/usr/lib/ruby/vendor_ruby/2.0.0/i686-linux" \
+ "$pkgdir/ruby-atk/usr/lib/ruby/vendor_ruby/2.0.0/i686-linux" \
+ "$pkgdir/ruby-pango/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-linux" \
+ "$pkgdir/ruby-glib2/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-linux" \
+ "$pkgdir/ruby-gio2/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-linux"
+}
+
+build() {
+ cd "$srcdir/ruby-gtk2-$pkgver"
+ make
+}
+
+package_ruby-atk() {
+ pkgdesc='Ruby bindings for atk'
+ depends=("ruby-glib2=$pkgver" 'atk')
+
+ cd "$srcdir/ruby-gtk2-$pkgver/atk"
+ make includedir="/usr/include" DESTDIR="$pkgdir" install
+}
+
+package_ruby-gdkpixbuf2() {
+ pkgdesc='Ruby bindings for gdkpixbuf2'
+ depends=("ruby-glib2=$pkgver" 'gdk-pixbuf2')
+
+ cd "$srcdir/ruby-gtk2-$pkgver/gdk_pixbuf2"
+ make includedir="/usr/include" DESTDIR="$pkgdir" install
+}
+
+package_ruby-gio2() {
+ pkgdesc='Ruby bindings for gio2'
+ depends=("ruby-glib2=$pkgver")
+
+ cd "$srcdir/ruby-gtk2-$pkgver/gio2"
+ make includedir="/usr/include" DESTDIR="$pkgdir/" install
+}
+
+package_ruby-glib2() {
+ pkgdesc='Ruby bindings for glib2'
+ depends=('glib2' 'ruby')
+
+ cd "$srcdir/ruby-gtk2-$pkgver/glib2"
+ make includedir="/usr/include" DESTDIR="$pkgdir/" install
+}
+
+package_ruby-gtk2() {
+ pkgdesc='Ruby bindings for gtk2'
+ depends=('gtk2' "ruby-glib2=$pkgver" "ruby-pango=$pkgver" "ruby-atk=$pkgver"
+ "ruby-gdkpixbuf2=$pkgver")
+
+ cd "$srcdir/ruby-gtk2-$pkgver/gtk2"
+ make includedir="/usr/include" DESTDIR="$pkgdir/" install
+}
+
+package_ruby-pango() {
+ pkgdesc='Ruby bindings for pango'
+ depends=("ruby-glib2=$pkgver" 'ruby-cairo' 'pango')
+
+ cd "$srcdir/ruby-gtk2-$pkgver/pango"
+ make includedir="/usr/include" DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ruby-gtk3/PKGBUILD b/community/ruby-gtk3/PKGBUILD
new file mode 100644
index 000000000..ff3aff3a7
--- /dev/null
+++ b/community/ruby-gtk3/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 92836 2013-06-16 15:30:03Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Eric Bélanger
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Bjorn Lindeijer <bjorn@lindeijer.nl>
+# Contributor: kritoke <kritoke@nospam.gmail.com>
+
+pkgbase=ruby-gtk3
+pkgver=2.0.2
+pkgrel=1
+pkgname=('ruby-gtk3' 'ruby-gdk3')
+depends=("ruby-atk=$pkgver" "ruby-gdkpixbuf2=$pkgver" "ruby-glib2=$pkgver" "ruby-pango=$pkgver")
+arch=('x86_64' 'i686')
+url='http://ruby-gnome2.sourceforge.jp/'
+license=('LGPL')
+makedepends=('ruby-pkgconfig' 'ruby-cairo' 'gtk3')
+source=("http://downloads.sourceforge.net/ruby-gnome2/ruby-gtk3-$pkgver.tar.gz")
+sha256sums=('cc55542b207899af2bc0489c004c394b2332656cbf25ef3ff0daceff39535047')
+
+prepare() {
+ cd "$srcdir/ruby-gtk3-$pkgver"
+
+ LANG="en_US.UTF-8" ruby extconf.rb gtk3 gdk3 --vendor
+}
+
+build() {
+ cd "$srcdir/ruby-gtk3-$pkgver"
+ make
+}
+
+package_ruby-gtk3() {
+ pkgdesc='Ruby bindings for gtk3'
+ depends=('gtk3' "ruby-glib2=$pkgver" "ruby-pango=$pkgver" "ruby-atk=$pkgver"
+ "ruby-gdkpixbuf2=$pkgver" "ruby-gdk3=$pkgver")
+
+ cd "$srcdir/ruby-gtk3-$pkgver/gtk3"
+ mkdir -p "$pkgdir/usr/lib/ruby/vendor_ruby/2.0.0/$CARCH-linux"
+ make DESTDIR="$pkgdir/" install -j1
+}
+
+package_ruby-gdk3() {
+ pkgdesc='Ruby bindings for gdk3'
+ depends=('ruby' 'gtk3')
+
+ cd "$srcdir/ruby-gtk3-$pkgver/gdk3"
+ mkdir -p "$pkgdir/usr/lib/ruby/vendor_ruby/2.0.0/$CARCH-linux"
+ make DESTDIR="$pkgdir/" install -j1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ruby-iconv/PKGBUILD b/community/ruby-iconv/PKGBUILD
new file mode 100755
index 000000000..d2b60d9ac
--- /dev/null
+++ b/community/ruby-iconv/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 89242 2013-04-28 10:01:07Z alucryd $
+# Maintainer: Alucryd <alucryd at gmail dot com>
+
+pkgname=ruby-iconv
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="Wrapper library for iconv"
+arch=('i686' 'x86_64')
+url="https://github.com/nurse/iconv"
+license=('GPL3')
+depends=('ruby')
+makedepends=('rubygems')
+options=('!emptydirs')
+source=("https://rubygems.org/downloads/${pkgname#*-}-${pkgver}.gem")
+sha256sums=('94a9b62a56c96226b62b787cd45fdc48c03f4517f1e36e64db113b010fb012da')
+
+package() {
+ cd "${srcdir}"
+
+ local _gemdir="$(ruby -rubygems -e 'puts Gem.default_dir')"
+ gem install --no-user-install --ignore-dependencies -i "${pkgdir}"${_gemdir} ${pkgname#*-}-${pkgver}.gem
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/ruby-ncurses/PKGBUILD b/community/ruby-ncurses/PKGBUILD
new file mode 100644
index 000000000..4fa6eaac3
--- /dev/null
+++ b/community/ruby-ncurses/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 92582 2013-06-09 08:55:46Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Jeff Mickey <j@codemac.net>
+# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+pkgname=ruby-ncurses
+pkgver=1.3.1
+pkgrel=5
+pkgdesc='Module for interactive text console applications (ncurses)'
+arch=('x86_64' 'i686')
+url='http://ncurses-ruby.berlios.de/'
+license=('GPL')
+depends=('ruby' 'ncurses')
+makedepends=('addinclude')
+source=("http://download.berlios.de/ncurses-ruby/ncurses-ruby-$pkgver.tar.bz2"
+ 'str2cstr.patch::http://pkgs.fedoraproject.org/cgit/ruby-ncurses.git/plain/0001-STR2CSTR-deprecated.patch')
+sha256sums=('dca8ce452e989ce1399cb683184919850f2baf79e6af9d16a7eed6a9ab776ec5'
+ '3a9fea87a0fa3eac58022e9e86e901601953939c15ebccede0ba64f4a011039d')
+
+prepare() {
+ cd "$srcdir/ncurses-ruby-$pkgver"
+
+ patch -i ../str2cstr.patch
+ addinclude ncurses_wrap.c sys/time.h
+}
+
+build() {
+ cd "$srcdir/ncurses-ruby-$pkgver"
+
+ ruby extconf.rb --vendor
+ make
+}
+
+package() {
+ cd "$srcdir/ncurses-ruby-$pkgver"
+
+ make includedir="/usr/include" DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/rust/PKGBUILD b/community/rust/PKGBUILD
new file mode 100644
index 000000000..c9530fd58
--- /dev/null
+++ b/community/rust/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 93472 2013-07-04 02:25:38Z thestinger $
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+pkgname=rust
+pkgver=0.7
+pkgrel=1
+arch=('i686' 'x86_64')
+pkgdesc='A safe, concurrent, practical language'
+url='http://www.rust-lang.org/'
+license=('MIT' 'Apache')
+depends=(gcc shared-mime-info)
+makedepends=(libffi perl python2 curl chrpath emacs-nox)
+optdepends=('haskell-pandoc: documentation generator (rustdoc)')
+source=("http://static.rust-lang.org/dist/rust-${pkgver}.tar.gz")
+sha256sums=('0b88b8a4489382e0a69214eaab88e2e7c316ec33c164af0d3b53630b17590df0')
+install=rust.install
+
+build() {
+ cd rust-$pkgver
+
+ ./configure --prefix=/usr --disable-docs
+
+ # avoid python makedepend (force fallback to python2)
+ sed -i 's/^PYTHONVERSION.*/PYTHONVERSION := 3/' src/llvm/Makefile.rules
+
+ make
+}
+
+#check() {
+ #cd rust-$pkgver
+ #make check
+#}
+
+package() {
+ cd rust-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ mkdir -p "$pkgdir/usr/share/vim" "$pkgdir/usr/share/licenses/$pkgname"
+
+ cp -a src/etc/vim "$pkgdir/usr/share/vim/vimfiles"
+ find "$pkgdir/usr/share/vim" -type f -exec chmod 644 {} +
+ find "$pkgdir/usr/share/vim" -type d -exec chmod 755 {} +
+
+ install -Dm644 src/etc/zsh/_rust "$pkgdir/usr/share/zsh/site-functions/_rust"
+ install -Dm644 src/etc/kate/rust.xml "$pkgdir/usr/share/apps/katepart/syntax/rust.xml"
+ install -Dm644 src/etc/gedit/share/mime/packages/rust.xml \
+ "$pkgdir/usr/share/mime/packages/rust.xml"
+ install -Dm644 src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang \
+ "$pkgdir/usr/share/gtksourceview-3.0/language-specs/rust.lang"
+
+ install -m644 LICENSE-APACHE "$pkgdir/usr/share/licenses/$pkgname"
+ install -m644 LICENSE-MIT "$pkgdir/usr/share/licenses/$pkgname"
+
+ cd src/etc/emacs
+ make
+ mkdir -p "$pkgdir/usr/share/emacs/site-lisp/"
+ install -Dm644 cm-mode.el{,c} rust-mode.el{,c} "$pkgdir/usr/share/emacs/site-lisp/"
+
+ cd "$pkgdir/usr"
+
+ # https://github.com/mozilla/rust/issues/5219
+ chrpath -d bin/* lib/*.so lib/rustc/*/lib/*.so
+}
diff --git a/community/rust/rust.install b/community/rust/rust.install
new file mode 100644
index 000000000..80b6673ec
--- /dev/null
+++ b/community/rust/rust.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-mime-database usr/share/mime >/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/rusxmms/PKGBUILD b/community/rusxmms/PKGBUILD
new file mode 100644
index 000000000..a9d9209e5
--- /dev/null
+++ b/community/rusxmms/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 85265 2013-02-28 10:39:00Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=rusxmms
+pkgver=1.2.11_csa43
+_xmmsver=1.2.11
+_csaver=csa43
+pkgrel=3
+pkgdesc="XMMS with librcc"
+arch=(i686 x86_64)
+license=(GPL)
+url="http://rusxmms.sourceforge.net/"
+depends=(libsm libxxf86vm zlib gtk libvorbis alsa-lib libgl librcc librcd openssl)
+makedepends=(mesa patch)
+provides=(xmms)
+conflicts=(xmms)
+options=('!libtool' '!distcc')
+source=(http://xmms.org/files/1.2.x/xmms-${_xmmsver}.tar.bz2 \
+ http://dside.dyndns.org/files/rusxmms/RusXMMS2-${_csaver}.tar.bz2)
+md5sums=('f3e6dbaf0b3f571a532ab575656be506'
+ '8f387dd2e5c95f8730979e09687b6e02')
+
+build() {
+ cd "${srcdir}"/xmms-${_xmmsver}
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADER/g' configure.in libxmms/configure.in
+
+ ln -s "$srcdir"/RusXMMS2 "$srcdir"/xmms-${_xmmsver}/RusXMMS2
+ (cd "$srcdir"/xmms-${_xmmsver}/RusXMMS2 && ./apply.sh)
+
+ mv "$srcdir"/RusXMMS2/source/* "$srcdir"/xmms-${_xmmsver}/libxmms/
+ autoconf
+ sed -i 's/unicode.c//g' Input/mpg123/Makefile.in
+ sed -i 's/unicode.lo//g' Input/mpg123/Makefile.in
+
+ (cd libxmms && aclocal && automake && autoconf)
+
+ case $CARCH in
+ x86_64)
+ ./configure --prefix=/usr --disable-mikmod --disable-simd
+ ;;
+ i686)
+ ./configure --prefix=/usr --disable-mikmod --enable-simd --disable-vorbis --disable-vorbistest
+ ;;
+ *)
+ return 1
+ ;;
+ esac
+
+ make
+}
+
+package(){
+ cd "${srcdir}"/xmms-${_xmmsver}
+ make DESTDIR="$pkgdir" install
+
+ mkdir -p "$pkgdir"/usr/share/{applications,pixmaps}
+ install -m 644 xmms/xmms.desktop "$pkgdir"/usr/share/applications
+ install -m 644 xmms/xmms_mini.xpm "$pkgdir"/usr/share/pixmaps/xmms.xpm
+ # don't want wmxmms
+ rm -rf "$pkgdir"/usr/bin/wmxmms "$pkgdir"/usr/share/xmms
+ rm -f "$pkgdir"/usr/share/man/man1/{gnomexmms.1,wmxmms.1}
+}
diff --git a/community/rxvt-unicode/01-fix-tabber-perl-ext.patch b/community/rxvt-unicode/01-fix-tabber-perl-ext.patch
new file mode 100644
index 000000000..adb140bcc
--- /dev/null
+++ b/community/rxvt-unicode/01-fix-tabber-perl-ext.patch
@@ -0,0 +1,12 @@
+# https://bugs.archlinux.org/task/35420
+--- a/src/perl/tabbed 2012-09-12 17:32:04.000000000 +0900
++++ b/src/perl/tabbed 2013-05-24 13:04:37.000000000 +0900
+@@ -402,7 +402,7 @@
+ # simply proxies all interesting calls back to the tabbed class.
+
+ {
+- for my $hook qw(start destroy key_press property_notify) {
++ for my $hook (qw(start destroy key_press property_notify)) {
+ eval qq{
+ sub on_$hook {
+ my \$parent = \$_[0]{term}{parent}
diff --git a/community/rxvt-unicode/PKGBUILD b/community/rxvt-unicode/PKGBUILD
new file mode 100644
index 000000000..10c6751aa
--- /dev/null
+++ b/community/rxvt-unicode/PKGBUILD
@@ -0,0 +1,92 @@
+# $Id: PKGBUILD 93568 2013-07-05 17:54:59Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: tobias <tobias@archlinux.org>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+
+pkgbase=rxvt-unicode
+pkgname=('rxvt-unicode' 'rxvt-unicode-terminfo')
+pkgver=9.18
+pkgrel=7
+arch=('i686' 'x86_64')
+url='http://software.schmorp.de/pkg/rxvt-unicode.html'
+license=('GPL')
+makedepends=('libxft' 'perl' 'startup-notification')
+source=(
+ "http://dist.schmorp.de/rxvt-unicode/$pkgname-$pkgver.tar.bz2"
+ 'urxvt.desktop'
+ 'urxvtc.desktop'
+ 'urxvt-tabbed.desktop'
+ '01-fix-tabber-perl-ext.patch'
+)
+md5sums=('963ccc748fe5bca925e7b92c0404d68b'
+ 'fec94dc986fa37ec380079d81de3e0b2'
+ 'fac55f0a8404c86dad3e702146762332'
+ '8a5599197568c63720e282b9722a7990'
+ '0c26ae7022a128e68981577785358b63')
+
+prepare() {
+ patch -p1 -d $pkgname-$pkgver < 01-fix-tabber-perl-ext.patch
+}
+
+build() {
+ cd $pkgname-$pkgver
+ # we disable smart-resize (FS#34807)
+ ./configure \
+ --prefix=/usr \
+ --with-terminfo=/usr/share/terminfo \
+ --enable-256-color \
+ --enable-combining \
+ --enable-fading \
+ --enable-font-styles \
+ --enable-iso14755 \
+ --enable-keepscrolling \
+ --enable-lastlog \
+ --enable-mousewheel \
+ --enable-next-scroll \
+ --enable-perl \
+ --enable-pointer-blank \
+ --enable-rxvt-scroll \
+ --enable-selectionscrolling \
+ --enable-slipwheeling \
+ --disable-smart-resize \
+ --enable-startup-notification \
+ --enable-transparency \
+ --enable-unicode3 \
+ --enable-utmp \
+ --enable-wtmp \
+ --enable-xft \
+ --enable-xim \
+ --enable-xterm-scroll \
+ --disable-pixbuf \
+ --disable-frills
+ make
+}
+
+package_rxvt-unicode() {
+ pkgdesc='An unicode enabled rxvt-clone terminal emulator (urxvt)'
+ depends=('rxvt-unicode-terminfo' 'libxft' 'perl' 'startup-notification')
+ optdepends=('gtk2-perl: to use the urxvt-tabbed')
+
+ # install freedesktop menu
+ for _f in urxvt urxvtc urxvt-tabbed; do
+ install -Dm644 $_f.desktop "$pkgdir/usr/share/applications/$_f.desktop"
+ done
+ cd $pkgname-$pkgver
+ # workaround terminfo installation
+ export TERMINFO="$srcdir/terminfo"
+ install -d "$TERMINFO"
+ make DESTDIR="$pkgdir" install
+ # install the tabbing wrapper ( requires gtk2-perl! )
+ sed -i 's/\"rxvt\"/"urxvt"/' doc/rxvt-tabbed
+ install -Dm 755 doc/rxvt-tabbed "$pkgdir/usr/bin/urxvt-tabbed"
+}
+
+package_rxvt-unicode-terminfo() {
+ pkgdesc='Terminfo files for urxvt'
+ conflict=('rxvt-unicode<=9.18-6')
+ install -dm 755 "$pkgdir/usr/share/"
+ mv terminfo "$pkgdir/usr/share/"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/rxvt-unicode/urxvt-tabbed.desktop b/community/rxvt-unicode/urxvt-tabbed.desktop
new file mode 100644
index 000000000..172006b4a
--- /dev/null
+++ b/community/rxvt-unicode/urxvt-tabbed.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=urxvt (tabbed)
+Comment=An unicode capable and tabbed rxvt clone
+Exec=urxvt-tabbed
+Icon=utilities-terminal
+Terminal=false
+Type=Application
+Categories=System;TerminalEmulator;
diff --git a/community/rxvt-unicode/urxvt.desktop b/community/rxvt-unicode/urxvt.desktop
new file mode 100644
index 000000000..762291870
--- /dev/null
+++ b/community/rxvt-unicode/urxvt.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=urxvt
+Comment=An unicode capable rxvt clone
+Exec=urxvt
+Icon=utilities-terminal
+Terminal=false
+Type=Application
+Categories=System;TerminalEmulator;
diff --git a/community/rxvt-unicode/urxvtc.desktop b/community/rxvt-unicode/urxvtc.desktop
new file mode 100644
index 000000000..3a2df410f
--- /dev/null
+++ b/community/rxvt-unicode/urxvtc.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=urxvt (client)
+Comment=An unicode capable rxvt clone client for urxvtd
+Exec=urxvtc
+Icon=utilities-terminal
+Terminal=false
+Type=Application
+Categories=System;TerminalEmulator;
diff --git a/community/rxvt/PKGBUILD b/community/rxvt/PKGBUILD
new file mode 100644
index 000000000..8ca75017c
--- /dev/null
+++ b/community/rxvt/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 68943 2012-04-06 10:20:56Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Malte Rabenseifer <malte@zearan.de>
+# Contributor: urist <9362773@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Troy Phillips <9362773@gmail.com>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=rxvt
+pkgver=2.7.10
+pkgrel=6
+pkgdesc='A colour vt102 terminal emulator'
+arch=('i686' 'x86_64')
+url='http://rxvt.sourceforge.net/'
+license=('GPL')
+depends=('libx11')
+makedepends=('libxt')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('302c5c455e64047b02d1ef19ff749141')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --with-terminfo=/usr/share/terminfo \
+ --enable-mousewheel \
+ --enable-256-color \
+ --enable-linespace \
+ --enable-smart-resize \
+ --enable-transparency \
+ --enable-utmp \
+ --enable-wtmp \
+ --enable-lastlog \
+ --enable-xim
+ # --enable-slipwheeling (crash)
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make prefix="$pkgdir/usr" mandir="$pkgdir/usr/share/man/man1" install
+ rm "$pkgdir/usr/bin/$pkgname-$pkgver"
+ rmdir "$pkgdir/usr/include" "$pkgdir/usr/lib"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/sage-mathematics/PKGBUILD b/community/sage-mathematics/PKGBUILD
new file mode 100644
index 000000000..c4ddb2d10
--- /dev/null
+++ b/community/sage-mathematics/PKGBUILD
@@ -0,0 +1,108 @@
+# $Id: PKGBUILD 93777 2013-07-10 07:27:17Z bpiotrowski $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Antonio Rojas < nqn1976 @ gmail.com >
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Osman Ugus <ugus11@yahoo.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Special thanks to Nareto for moving the compile from the .install to the PKGBUILD
+
+pkgname=sage-mathematics
+pkgver=5.10
+pkgrel=1
+pkgdesc='SAGE: Open Source Mathematics Software, a viable free alternative to Magma, Maple, Mathematica, and Matlab.'
+url='http://www.sagemath.org'
+arch=('i686' 'x86_64')
+license=('GPL')
+#depends=('xz' 'java-environment=7' 'desktop-file-utils' 'libxmu' 'libtiff' 'sqlite' 'libjpeg-turbo')
+depends=('desktop-file-utils')
+makedepends=('gcc-fortran' 'freetype2')
+optdepends=('imagemagick: some plotting functionality benefits from it'
+ 'texlive-core: some plotting functionality benefits from it, also to use SageTeX'
+ 'openssh: to use the notebook in secure mode'
+ 'ffmpeg: to show animations'
+ 'cairo: R plots')
+install="${pkgname}.install"
+source=("http://sage.math.washington.edu/home/release/sage-${pkgver}/sage-${pkgver}.tar"
+ 'SAGE-notebook.desktop'
+ 'sage.service')
+
+build() {
+ cd sage-${pkgver}
+
+ # fix "missing sage.all error" during build
+ unset CFLAGS
+ unset CXXFLAGS
+
+ # fix build errors
+ unset LDFLAGS
+
+ # enable multiple threads while building, is this really needed? check if uses MAKEFLAGS
+ export MAKE="make -j$(nproc)"
+
+ # use archlinux's fortran rather then the one that ships with sage to compile sage's fortran
+ export FC=/usr/bin/gfortran
+
+ # disable building with debugging support
+ export SAGE_DEBUG='no'
+
+ # enable fat binaries (disables processor specific optimizations)
+ # comment out if you're only building it for yourself
+ export SAGE_FAT_BINARY='yes'
+
+ # can't write to root in a clean chroot
+ mkdir "$srcdir/buiild"
+ export DOT_SAGE="$srcdir/build"
+
+ # Singular is broken
+ export CPP='/usr/bin/cpp'
+
+ # only build sage, no documents
+ #make build
+ make
+ ./sage --bdist "$pkgver"
+}
+
+<< COMMENT
+check() {
+ cd sage-${pkgver}
+
+ # uncomment if we want to run all the tests (warning: very long)
+ #make ptestlong
+}
+COMMENT
+
+package() {
+ cd sage-${pkgver}
+
+ # cp because make install is experimental and will corrupt the install
+ install -d ${pkgdir}/opt/sage
+ cp -dpr --no-preserve=ownership dist/sage-"$pkgver-$CARCH-Linux/"* ${pkgdir}/opt/sage/
+
+ # move SageTeX files to more appropriate directory
+ install -d ${pkgdir}/usr/share
+ mv ${pkgdir}/opt/sage/local/share/texmf \
+ ${pkgdir}/usr/share
+
+ desktop-file-install ${srcdir}/SAGE-notebook.desktop \
+ --dir ${pkgdir}/usr/share/applications
+
+ # create link to main binary
+ install -d ${pkgdir}/usr/bin
+ ln -s /opt/sage/sage ${pkgdir}/usr/bin/sage
+
+ # remove build logs
+ rm -f ${pkgdir}/opt/sage/*.log
+ rm -rf ${pkgdir}/opt/sage/spkg/logs
+
+ # remove source packages, since they are rarely needed, they are 300mb in size (compressed)
+ rm -f ${pkgdir}/opt/sage/spkg/base/*spkg
+ rm -f ${pkgdir}/opt/sage/spkg/standard/*spkg
+
+ # install a systemd user unit
+ install -Dm755 $srcdir/sage.service $pkgdir/usr/lib/systemd/user/sage.service
+}
+
+# vim :set ts=2 sw=2 et:
+md5sums=('bfca3afc9030e63c7e7200287ee0135e'
+ 'b82f94383829eee26648feb977e2d89b'
+ '985da1c1d1dcdc3ea9aa73035cb7996b')
diff --git a/community/sage-mathematics/SAGE-notebook.desktop b/community/sage-mathematics/SAGE-notebook.desktop
new file mode 100644
index 000000000..e3c1d4d7f
--- /dev/null
+++ b/community/sage-mathematics/SAGE-notebook.desktop
@@ -0,0 +1,19 @@
+[Desktop Entry]
+Version=1.0
+Name=SAGE
+Comment=SAGE NOTEBOOK
+Comment[en_US]=SAGE NOTEBOOK
+Exec=/opt/sage/sage -notebook
+GenericName=
+GenericName[de]=
+Icon=/opt/sage/devel/ext-main/notebook/images/sageicon.png
+MimeType=
+Name[de]=SAGE
+StartupNotify=true
+Terminal=true
+Type=Application
+Categories=Science;Math;
+X-DCOP-ServiceType=
+X-KDE-SubstituteUID=false
+X-KDE-Username=
+GenericName[en_US]=
diff --git a/community/sage-mathematics/sage-mathematics.install b/community/sage-mathematics/sage-mathematics.install
new file mode 100644
index 000000000..3da751689
--- /dev/null
+++ b/community/sage-mathematics/sage-mathematics.install
@@ -0,0 +1,60 @@
+post_install() {
+ cd /opt/sage
+ update-desktop-database -q
+
+ # set HOME because when sage updates its sage_root (after being moved) it will write files to ~/.sage with root ownership
+ # the files it writes to ~/.sage can be safely ignored
+ HOME=/tmp ./sage -c
+
+ # add sagemath user for the daemon
+ useradd -r -c 'Sage daemon' -d /opt/sage -s /bin/false sagemath
+
+ # Update LaTeX db to point to SageTeX
+ if [ -f /usr/bin/texhash ]; then
+ /usr/bin/texhash /usr/share/texmf
+ else
+ echo 'Warning: could not find /usr/bin/texhash'
+ echo 'SageTeX has been installed but you need to run:'
+ echo '# texhash /usr/share/texmf'
+ echo 'So that LaTeX will be able to find it.'
+ fi
+
+echo '
+ ___
+/ (_) o |
+\__ _ _ __ |
+/ / |/ | | / \_| | |
+\___/ | |_/|/\__/ \_/|/o
+ /| /|
+ \| \|
+ ________________________________
+< sage-mathematics, I mean, MOO! >
+ --------------------------------
+ \ ^__^
+ \ (oo)\_______
+ (__)\ )\/\
+ ||----w |
+ || ||
+'
+
+}
+
+post_upgrade() {
+ post_install $1
+ echo "There is now a user session unit included to run a sage notebook as your user."
+ echo "The wiki includes a guide on starting systemd user sessions"
+}
+
+post_remove() {
+ # Update LaTeX db to remove SageTeX entries
+ update-desktop-database -q
+ if [ -f /usr/bin/texhash ]; then
+ /usr/bin/texhash /usr/share/texmf
+ fi
+
+ # remove the sagemath daemon user
+ userdel sagemath
+
+ # clean up left overs
+ rm -rf /opt/sage
+}
diff --git a/community/sage-mathematics/sage.service b/community/sage-mathematics/sage.service
new file mode 100644
index 000000000..d999414de
--- /dev/null
+++ b/community/sage-mathematics/sage.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=A free open-source mathematics software system
+
+[Service]
+ExecStart=/opt/sage/sage -n
+
+[Install]
+WantedBy=default.target
diff --git a/community/sakura/PKGBUILD b/community/sakura/PKGBUILD
new file mode 100644
index 000000000..4aff8641e
--- /dev/null
+++ b/community/sakura/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 93276 2013-07-01 04:10:57Z angvp $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Dmitry N. Shilov <stormblast@land.ru>
+
+pkgname=sakura
+pkgver=3.1.0
+pkgrel=1
+pkgdesc="A terminal emulator based on GTK and VTE"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/sakura"
+license=('GPL')
+depends=('vte3' 'libxft' 'desktop-file-utils')
+makedepends=('cmake')
+source=("https://launchpad.net/sakura/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.bz2")
+install=sakura.install
+sha1sums=('159abc2f83e912da1bfb35c9b239b092e78a044f')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+
+ # Set default font size a bit smaller
+ sed -i 's|#define DEFAULT_FONT "Bitstream Vera Sans Mono 14"|#define DEFAULT_FONT "Bitstream Vera Sans Mono 10"|g' src/sakura.c
+
+ # build & install
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RELEASE .
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+ # extract the keybindings from the installed documentation, rest is only relevant during build time
+ awk '/^Keybindings/{f="'${pkgdir}'/usr/share/doc/'${pkgname}'/KEYBINDINGS"} f{print > f} /^END/' \
+ ${pkgdir}/usr/share/doc/${pkgname}/INSTALL
+ rm ${pkgdir}/usr/share/doc/${pkgname}/INSTALL
+}
+
diff --git a/community/sakura/sakura.install b/community/sakura/sakura.install
new file mode 100644
index 000000000..7463b6e76
--- /dev/null
+++ b/community/sakura/sakura.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+}
+
diff --git a/community/sarg/PKGBUILD b/community/sarg/PKGBUILD
new file mode 100644
index 000000000..2ee80b3c6
--- /dev/null
+++ b/community/sarg/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 93778 2013-07-10 07:27:18Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: JJDaNiMoTh <jjdanimoth.aur@gmail.com>
+# Contributor: Tino Reichardt <milky-archlinux@mcmilk.de>
+
+pkgname=sarg
+pkgver=2.3.6
+pkgrel=3
+pkgdesc="Squid Analysis Report Generator"
+arch=('i686' 'x86_64')
+url="http://sarg.sourceforge.net"
+license=('GPL')
+depends=('gd' 'libldap')
+makedepends=('cmake')
+backup=('etc/sarg/css.tpl'
+ 'etc/sarg/exclude_codes'
+ 'etc/sarg/sarg.conf'
+ 'etc/sarg/user_limit_block')
+source=(http://downloads.sourceforge.net/sourceforge/sarg/$pkgname-$pkgver.tar.gz)
+md5sums=('399809d00671ae564468bf363c12fd7f')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+ ./configure --prefix=/usr # po files workaround
+ rm -f Makefile
+ LDFLAGS=-lm cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONFDIR=/etc/sarg -DMANDIR=/usr/share/man/man1 .
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+ mkdir -p $pkgdir/usr/share/sarg $pkgdir/etc
+ make DESTDIR="$pkgdir" install
+ make -C po DESTDIR="$pkgdir" install
+ cp -a sarg-php ${pkgdir}/usr/share/sarg/
+ chmod -R o+r ${pkgdir}{/etc,/usr/share/sarg}
+ chmod o+x ${pkgdir}/usr/share/sarg/sarg-php
+ chmod -R o+x ${pkgdir}/usr/share/sarg/sarg-php/locale
+}
diff --git a/community/sbxkb/PKGBUILD b/community/sbxkb/PKGBUILD
new file mode 100644
index 000000000..0b261587a
--- /dev/null
+++ b/community/sbxkb/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=sbxkb
+pkgver=0.7.6
+pkgrel=1
+pkgdesc="Simple tray XKB indicator"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://downloads.sourceforge.net/project/staybox"
+depends=('gtk2')
+makedepends=('pkgconfig')
+source=(http://downloads.sourceforge.net/project/staybox/${pkgname}-${pkgver}.tar.gz)
+md5sums=('25dc697817a2952a4468c5d2a2f206d2')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ export LDFLAGS=-lX11
+ ./configure --sysconfdir=/etc --prefix=/usr
+ make
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/scantailor/PKGBUILD b/community/scantailor/PKGBUILD
new file mode 100644
index 000000000..e4b988358
--- /dev/null
+++ b/community/scantailor/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 90086 2013-05-06 19:39:25Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Denis Terskov aka neurosurgeon <terskov.den@gmail.com>
+
+pkgname=scantailor
+pkgver=0.9.11.1
+pkgrel=3
+pkgdesc="Interactive post-processing tool for scanned pages"
+arch=(i686 x86_64)
+url="http://scantailor.sourceforge.net"
+license="GPL"
+depends=('qt4')
+makedepends=('cmake' 'boost')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('6cdca1b6d1dafd022ea94b4800dad340')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ cmake \
+ -DCMAKE_CXX_FLAGS="-DBOOST_NO_MEMBER_TEMPLATE_FRIENDS" \
+ -DCMAKE_CXX_FLAGS_DEBUG="-DBOOST_NO_MEMBER_TEMPLATE_FRIENDS" \
+ -DCMAKE_CXX_FLAGS_RELEASE="-DBOOST_NO_MEMBER_TEMPLATE_FRIENDS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release .
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/schroot/PKGBUILD b/community/schroot/PKGBUILD
new file mode 100644
index 000000000..115bfa87d
--- /dev/null
+++ b/community/schroot/PKGBUILD
@@ -0,0 +1,77 @@
+# $Id: PKGBUILD 94048 2013-07-13 12:36:56Z svenstaro $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
+
+pkgname=schroot
+pkgver=1.6.5
+pkgrel=3
+pkgdesc="Allows users to execute shell commands under different root filesystems. (Successor to dchroot)."
+url="http://packages.qa.debian.org/s/schroot.html"
+license=('GPL3')
+depends=('pam' 'lockdev' 'boost' 'e2fsprogs')
+optdepends=('btrfs-progs-unstable' 'lvm2')
+arch=('i686' 'x86_64')
+conflicts=('dchroot')
+replaces=('dchroot')
+provides=('schroot' 'sbuild' 'dchroot')
+backup=('etc/schroot/schroot.conf'
+ 'etc/schroot/arch32/config'
+ 'etc/schroot/arch32/copyfiles'
+ 'etc/schroot/arch32/mount'
+ 'etc/schroot/arch32/nssdatabases')
+options=(!libtool)
+source=("http://ftp.debian.org/debian/pool/main/s/$pkgname/${pkgname}_${pkgver}.orig.tar.xz"
+ 'arch32-example'
+ 'arch32-config'
+ 'arch32-copyfiles'
+ 'arch32-mount'
+ 'arch32-nssdatabases'
+ 'pam.d.schroot.patch'
+ 'colon-completion.patch'
+ 'fix-bash-completion.patch')
+md5sums=('99f679d68f180a56289b3ec40d214ae4'
+ '54239847f89b9a4772910415bde6276a'
+ '5a3f7b839c7e0b8933748da7c5b6385b'
+ 'ddb2f09c02b24dab777110f9808472e1'
+ 'f0d5d5b5e34a860f6f90b5628c680f46'
+ 'af1da6edd8c8c0dafeeb2c2c4e0c840b'
+ 'a8d77cac806a0a9adef3f93cdbeb280a'
+ 'f0d03bf6c60ed119781b27b98234299c'
+ '5ba775d4f401e2c167414caa548b71e5')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i ${srcdir}/fix-bash-completion.patch
+ patch -p1 -i ${srcdir}/colon-completion.patch
+ export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-dchroot \
+ --enable-lvm-snapshot \
+ --enable-btrfs-snapshot \
+ --with-bash-completion-dir=/usr/share/bash-completion/completions/ \
+ BTRFS=/sbin/btrfs \
+ BTRFSCTL=/sbin/btrfsctl \
+ LVCREATE=/sbin/lvcreate \
+ LVREMOVE=/sbin/lvremove
+ # --enable-csbuild
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make -k check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=$pkgdir install
+ install -dm 755 ${pkgdir}/etc/schroot/arch32
+ install -m 644 ${srcdir}/arch32-{config,mount,copyfiles,nssdatabases} ${pkgdir}/etc/schroot/arch32
+ rename 'arch32-' '' ${pkgdir}/etc/schroot/arch32/*
+ install -m 644 ${srcdir}/arch32-example ${pkgdir}/etc/schroot/chroot.d/arch32.conf.example
+ patch -i ${srcdir}/pam.d.schroot.patch ${pkgdir}/etc/pam.d/schroot
+}
diff --git a/community/schroot/arch32-config b/community/schroot/arch32-config
new file mode 100644
index 000000000..0ee72d522
--- /dev/null
+++ b/community/schroot/arch32-config
@@ -0,0 +1,11 @@
+# Default settings for chroot setup and exec scripts.
+# See schroot-script-config(5) for further details.
+
+# Filesystems to mount inside the chroot.
+FSTAB="/etc/schroot/arch32/mount"
+
+# Files to copy from the host system into the chroot.
+COPYFILES="/etc/schroot/arch32/copyfiles"
+
+# System databases to copy into the chroot
+NSSDATABASES="/etc/schroot/arch32/nssdatabases"
diff --git a/community/schroot/arch32-copyfiles b/community/schroot/arch32-copyfiles
new file mode 100644
index 000000000..f39ee48de
--- /dev/null
+++ b/community/schroot/arch32-copyfiles
@@ -0,0 +1,6 @@
+/etc/group
+/etc/hosts
+/etc/passwd
+/etc/resolv.conf
+/etc/localtime
+/etc/locale.gen
diff --git a/community/schroot/arch32-example b/community/schroot/arch32-example
new file mode 100644
index 000000000..4781914b1
--- /dev/null
+++ b/community/schroot/arch32-example
@@ -0,0 +1,10 @@
+[arch32]
+description=Arch32
+type=directory
+directory=/opt/arch32
+#users=username
+groups=users
+root-groups=root
+profile=arch32
+personality=linux32
+#aliases=32,i686
diff --git a/community/schroot/arch32-mount b/community/schroot/arch32-mount
new file mode 100644
index 000000000..075d6e451
--- /dev/null
+++ b/community/schroot/arch32-mount
@@ -0,0 +1,12 @@
+# mount.defaults: static file system information for chroots.
+# Note that the mount point will be prefixed by the chroot path
+# (CHROOT_PATH)
+#
+# <file system> <mount point> <type> <options> <dump> <pass>
+proc /proc proc defaults 0 0
+/dev /dev none rw,bind 0 0
+#/dev/pts /dev/pts none rw,bind 0 0
+tmpfs /dev/shm tmpfs defaults 0 0
+/sys /sys none rw,bind 0 0
+/tmp /tmp none rw,bind 0 0
+/home /home none rw,bind 0 0
diff --git a/community/schroot/arch32-nssdatabases b/community/schroot/arch32-nssdatabases
new file mode 100644
index 000000000..815ddce3f
--- /dev/null
+++ b/community/schroot/arch32-nssdatabases
@@ -0,0 +1,6 @@
+# System databases to copy into the chroot from the host system.
+#
+# <database name>
+passwd
+shadow
+group
diff --git a/community/schroot/colon-completion.patch b/community/schroot/colon-completion.patch
new file mode 100644
index 000000000..2df1bd16e
--- /dev/null
+++ b/community/schroot/colon-completion.patch
@@ -0,0 +1,20 @@
+diff -wbBur schroot-1.6.5.org/etc/bash_completion/schroot schroot-1.6.5/etc/bash_completion/schroot
+--- schroot-1.6.5.org/etc/bash_completion/schroot 2013-01-28 15:28:04.000000000 +0400
++++ schroot-1.6.5/etc/bash_completion/schroot 2013-01-28 15:30:22.297213632 +0400
+@@ -21,14 +21,14 @@
+ local cur prev options
+
+ COMPREPLY=()
+- cur=${COMP_WORDS[COMP_CWORD]}
+- prev=${COMP_WORDS[COMP_CWORD-1]}
++ _get_comp_words_by_ref -n : cur prev
+
+ # Select precisely the tokens from schroot --help that begin with a dash
+ options=$(schroot --help | sed 's/\(^\|[[:space:]]\)[^[:space:]-][^[:space:]]*//g')
+
+ if [ "$prev" = "-c" ] || [ "$prev" = "--chroot" ]; then
+ COMPREPLY=( $(compgen -W "$(schroot -a -l)" -- $cur) )
++ __ltrim_colon_completions "$cur"
+ else
+ COMPREPLY=( $(compgen -W "$options" -- $cur) )
+ fi
diff --git a/community/schroot/fix-bash-completion.patch b/community/schroot/fix-bash-completion.patch
new file mode 100644
index 000000000..fb22fd92d
--- /dev/null
+++ b/community/schroot/fix-bash-completion.patch
@@ -0,0 +1,11 @@
+--- a/etc/bash_completion/schroot
++++ b/etc/bash_completion/schroot
+@@ -15,7 +15,7 @@
+ # along with this program. If not, see
+ # <http://www.gnu.org/licenses/>.
+
+-have schroot &&
++_have schroot &&
+ _schroot()
+ {
+ local cur prev options
diff --git a/community/schroot/pam.d.schroot.patch b/community/schroot/pam.d.schroot.patch
new file mode 100644
index 000000000..528acb5f7
--- /dev/null
+++ b/community/schroot/pam.d.schroot.patch
@@ -0,0 +1,15 @@
+@@ -23,13 +23,6 @@
+ # time restrainst on schroot usage.
+ # account requisite pam_time.so
+
+-# The standard Unix authentication modules, used with
+-# NIS (man nsswitch) as well as normal /etc/passwd and
+-# /etc/shadow entries.
+-@include common-auth
+-@include common-account
+-@include common-session
+-
+ # Sets up user limits, please uncomment and read /etc/security/limits.conf
+ # to enable this functionality.
+ # session required pam_limits.so
+
diff --git a/community/scite/PKGBUILD b/community/scite/PKGBUILD
new file mode 100644
index 000000000..1bbd902dd
--- /dev/null
+++ b/community/scite/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 93570 2013-07-05 18:26:15Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Thomas S Hatch <thatch45@gmail.com>
+# Contributor: Corrado 'bardo' Primier <corrado.primier@mail.polimi.it>
+# Contributor: Jochem Kossen <j.kossen@home.nl>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=scite
+pkgver=3.3.3
+pkgrel=1
+pkgdesc='Editor with facilities for building and running programs'
+arch=('x86_64' 'i686')
+url='http://www.scintilla.org/SciTE.html'
+license=('custom:scite')
+depends=('desktop-file-utils' 'gtk2')
+makedepends=('setconf')
+backup=('usr/share/scite/SciTEGlobal.properties')
+install="$pkgname.install"
+source=("http://downloads.sourceforge.net/sourceforge/scintilla/${pkgname}${pkgver//./}.tgz")
+sha256sums=('ee4d8e976d1a13657cb1b60af392cef60fbb2c441932e0398f2c9562fbcbe6a3')
+
+prepare() {
+ if [ $?CXXBASEFLAGS == 1 ]; then
+ sed '0,/CXXTFLAGS=/s//nop=/' -i scite/gtk/makefile
+ setconf scite/gtk/makefile CXXTFLAGS "-DNDEBUG ${CXXFLAGS} $(CXXBASEFLAGS)"
+ fi
+ sed '0,/CXXFLAGS=/s//nop=/' -i scintilla/gtk/makefile
+ setconf scintilla/gtk/makefile CXXFLAGS \
+ "-DNDEBUG ${CXXFLAGS} \$(CXXBASEFLAGS) \$(THREADFLAGS)"
+ setconf scintilla/gtk/makefile CXXBASEFLAGS \
+ "-Wno-missing-braces -Wno-char-subscripts ${CXXFLAGS} -DGTK -DSCI_LEXER \$(INCLUDEDIRS)"
+}
+
+build() {
+ make -C "$srcdir/scintilla/gtk"
+ make -C "$srcdir/$pkgname/gtk"
+}
+
+package() {
+ cd "$srcdir/$pkgname/gtk"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir/$pkgname/License.txt" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-scite"
+ install -Dm644 "$srcdir/scintilla/License.txt" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-scintilla"
+ ln -sf SciTE "$pkgdir/usr/bin/scite"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/scite/scite.install b/community/scite/scite.install
new file mode 100644
index 000000000..ad97d7bab
--- /dev/null
+++ b/community/scite/scite.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/scorched3d/PKGBUILD b/community/scorched3d/PKGBUILD
new file mode 100644
index 000000000..61bf7cb63
--- /dev/null
+++ b/community/scorched3d/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Seppo Porspakka <sporspak@paju.oulu.fi>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=scorched3d
+pkgver=43.3.d
+_pkgver=43.3d
+pkgrel=5
+pkgdesc="3D artillery combat game"
+arch=('i686' 'x86_64')
+url="http://www.scorched3d.co.uk/"
+license=('GPL')
+depends=('sdl_net' 'wxgtk' 'freealut>=1.0.0-3' 'libvorbis' 'glu' 'fftw' 'libjpeg>=8' 'xdg-utils')
+makedepends=('gendesk' 'mesa')
+install=scorched3d.install
+source=("http://downloads.sourceforge.net/${pkgname}/Scorched3D-${_pkgver}-src.tar.gz"
+ 'scorched3d.png::http://cdn.portableapps.com/Scorched3DPortable_128.png'
+ 'scorched3d-42.1-gcc43.patch'
+ 'scorched3d-42.1-fixups.patch'
+ 'scorched3d-libpng1.5.patch'
+ 'libpng14.patch')
+md5sums=('9c3043282a9e7451468ff325bef3b04c'
+ '0f7e570f586c227873e909ebbc17c84d'
+ '053769f77a38c252eef1d967b18e93e6'
+ 'dfde556559d95bca07c4a390c60790b4'
+ 'ec6958191751b5a2c44aa15abfc75269'
+ 'c8c03855fd3693122fd39427fa3638c1')
+
+build() {
+ cd "$srcdir/scorched"
+
+# patch -Np1 -i ${srcdir}/scorched3d-42.1-gcc43.patch
+# patch -Np1 -i ${srcdir}/scorched3d-42.1-fixups.patch
+ patch -Np1 -i ${srcdir}/scorched3d-libpng1.5.patch
+# patch -Np0 -i ${srcdir}/libpng14.patch
+
+ WANT_WXGTK=gtk2
+ sh autogen.sh \
+ --prefix=/usr \
+ --datadir=/usr/share/scorched3d \
+ --disable-openaltest \
+ --with-wx-config=wx-config
+
+ sed -i '1 i #include <unistd.h>' src/client/client/SecureID.cpp
+ #sed -i 's/-lz/-lz -lalut/g' src/scorched/Makefile || return 1
+ #sed -i 's|/usr/local/lib/libwx_gtk-2.4.a||' src/scorched/Makefile || return 1
+
+ make
+}
+
+package() {
+ cd "$srcdir"
+ gendesk
+
+ cd scorched
+ make DESTDIR=${pkgdir} install
+ cd ..
+
+ install -D -m644 scorched3d.png "$pkgdir/usr/share/icons/hicolor/48x48/apps/$pkgname.png"
+ install -D -m644 scorched3d.png "$pkgdir/usr/share/pixmaps/$pkgname.png"
+ install -D -m644 scorched3d.desktop "$pkgdir/usr/share/applications/$pkgname.desktop"
+}
diff --git a/community/scorched3d/libpng14.patch b/community/scorched3d/libpng14.patch
new file mode 100644
index 000000000..7a5a9434c
--- /dev/null
+++ b/community/scorched3d/libpng14.patch
@@ -0,0 +1,38 @@
+--- src/common/image/ImagePng.cpp 2009-02-23 04:14:20.000000000 +0100
++++ src/common/image/ImagePng.cpp_patched 2010-01-24 22:01:04.000000000 +0100
+@@ -189,7 +189,7 @@
+ info_ptr = png_create_info_struct(png_ptr);
+ if (info_ptr == NULL)
+ {
+- png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, NULL, NULL);
+ return false;
+ }
+
+@@ -200,7 +200,7 @@
+ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ /* If we get here, we had a problem reading the file */
+ return false;
+ }
+@@ -258,7 +258,7 @@
+ }
+ else
+ {
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+
+ Logger::log(S3D::formatStringBuffer(
+ "Invalid PNG format.\n"
+@@ -272,7 +272,7 @@
+ // END NEW CODE
+
+ /* clean up after the read, and free any memory allocated - REQUIRED */
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+
+ /* that's it */
+ return true;
diff --git a/community/scorched3d/scorched3d-42.1-fixups.patch b/community/scorched3d/scorched3d-42.1-fixups.patch
new file mode 100644
index 000000000..36a027cb6
--- /dev/null
+++ b/community/scorched3d/scorched3d-42.1-fixups.patch
@@ -0,0 +1,58 @@
+diff -ru scorched.orig/configure-al.m4 scorched/configure-al.m4
+--- scorched.orig/configure-al.m4 2008-03-03 16:17:18.000000000 -0500
++++ scorched/configure-al.m4 2009-02-15 20:43:35.000000000 -0500
+@@ -7,25 +7,9 @@
+ [ --disable-openaltest Do not try to compile and run a test OpenAL program],
+ , enable_openaltest=yes)
+ AC_MSG_CHECKING(for OpenAL support)
+-AC_PATH_PROG(OPENAL_CONFIG, openal-config, no)
+-if test x$OPENAL_CONFIG = xno; then
+- echo "*** The openal-config script installed by OpenAL could not be found"
+- echo "*** Make sure openal-config is in your path, or set the OPENAL_CONFIG"
+- echo "*** environment variable to the full path to openal-config."
+-
+- AC_MSG_ERROR([*** Can't find the openal library. Try: http://www.openal.org/])
+-else
+-
+- if test x"$use_static_openal" = x"yes"; then
+- AL_LIBS="/usr/local/lib/libopenal.a"
+- else
+- AL_LIBS="`$OPENAL_CONFIG --libs`"
+- fi
+-
+- AL_CFLAGS="`$OPENAL_CONFIG --cflags`"
+-
+- AC_MSG_RESULT(yes)
+-fi
++AL_LIBS="-lopenal"
++AL_CFLAGS="-I/usr/include/AL"
++AC_MSG_RESULT(yes)
+
+ AC_MSG_CHECKING(for Freealut support)
+ AC_PATH_PROG(FREEALUT_CONFIG, freealut-config, no)
+diff -ru scorched.orig/configure.ac scorched/configure.ac
+--- scorched.orig/configure.ac 2008-03-03 16:17:18.000000000 -0500
++++ scorched/configure.ac 2009-02-15 20:40:30.000000000 -0500
+@@ -13,22 +13,6 @@
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+
+-LDFLAGS="-L/usr/X11R6/lib -L/usr/X11R6"
+-CPPFLAGS="-I/usr/X11R6/include -I/usr/X11R6"
+-
+-if test `uname` == Darwin; then
+-LDFLAGS="$LDFLAGS -lmx"
+-CPPFLAGS="$CPPFLAGS -DFFTW_USE_DOUBLE -D__DARWIN__ -D__MACOSX__"
+-else
+-LDFLAGS="$LDFLAGS -L/usr/local/lib"
+-CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+-fi
+-
+-AC_CHECK_LIB(fridge, beer, echo "Hmm?!",[
+- echo "Warning: No beer found in fridge!";
+- echo "We highly suggest that you rectify this situation immediately."
+-])
+-
+ AC_ARG_ENABLE(serveronly,
+ [ --enable-serveronly Enable server only compilation],
+ , enable_serveronly=no,
diff --git a/community/scorched3d/scorched3d-42.1-gcc43.patch b/community/scorched3d/scorched3d-42.1-gcc43.patch
new file mode 100644
index 000000000..b235f07c5
--- /dev/null
+++ b/community/scorched3d/scorched3d-42.1-gcc43.patch
@@ -0,0 +1,24 @@
+diff -ur scorched.old/src/common/common/main.h scorched/src/common/common/main.h
+--- scorched.old/src/common/common/main.h 2009-02-18 20:06:22.000000000 +0200
++++ scorched/src/common/common/main.h 2009-02-18 20:07:18.000000000 +0200
+@@ -40,7 +40,7 @@
+ void _no_storage()
+ {
+ printf("Failed to allocate memory!!");
+- std::exit(1);
++ exit(1);
+ }
+
+ void run_main(int argc, char *argv[], OptionsParameters &params)
+diff -ur scorched.old/src/common/porting/windows.h scorched/src/common/porting/windows.h
+--- scorched.old/src/common/porting/windows.h 2009-02-18 20:06:22.000000000 +0200
++++ scorched/src/common/porting/windows.h 2009-02-18 20:06:46.000000000 +0200
+@@ -20,7 +20,7 @@
+ typedef unsigned short WORD;
+ typedef unsigned char BYTE;
+
+-typedef int HWND;
++// typedef int HWND;
+ typedef void * HINSTANCE;
+ typedef int WPARAM;
+ typedef int LPARAM;
diff --git a/community/scorched3d/scorched3d-libpng1.5.patch b/community/scorched3d/scorched3d-libpng1.5.patch
new file mode 100644
index 000000000..4e8f003b8
--- /dev/null
+++ b/community/scorched3d/scorched3d-libpng1.5.patch
@@ -0,0 +1,74 @@
+--- ./src/common/image/ImagePngFactory.cpp.old 2011-09-12 12:34:30.114461019 +0200
++++ ./src/common/image/ImagePngFactory.cpp 2011-09-12 12:39:28.566425593 +0200
+@@ -104,7 +104,7 @@
+
+ static void user_png_error(png_structp png_ptr, png_const_charp msg)
+ {
+- longjmp(png_ptr->jmpbuf,1);
++ longjmp(png_jmpbuf(png_ptr),1);
+ }
+
+ static void user_png_warning(png_structp png_ptr, png_const_charp msg)
+--- ./src/client/client/LoadPNG.cpp.old 2011-09-12 12:45:49.167380419 +0200
++++ ./src/client/client/LoadPNG.cpp 2011-09-12 14:11:14.961772024 +0200
+@@ -28,6 +28,8 @@
+ int row, i;
+ volatile int ckey = -1;
+ png_color_16 *transv;
++ png_colorp png_palette;
++ int num_palette;
+
+ if ( !src ) {
+ /* The error message has been set in SDL_RWFromFile */
+@@ -58,7 +60,7 @@
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in png_create_read_struct() earlier.
+ */
+- if ( setjmp(png_ptr->jmpbuf) ) {
++ if ( setjmp(png_jmpbuf(png_ptr)) ) {
+ error = "Error reading the PNG file.";
+ goto done;
+ }
+@@ -127,9 +129,9 @@
+ Rmask = 0x000000FF;
+ Gmask = 0x0000FF00;
+ Bmask = 0x00FF0000;
+- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0;
++ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0;
+ } else {
+- int s = (info_ptr->channels == 4) ? 0 : 8;
++ int s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8;
+ Rmask = 0xFF000000 >> s;
+ Gmask = 0x00FF0000 >> s;
+ Bmask = 0x0000FF00 >> s;
+@@ -137,7 +139,7 @@
+ }
+ }
+ surface = SDL_AllocSurface(SDL_SWSURFACE, width, height,
+- bit_depth*info_ptr->channels, Rmask,Gmask,Bmask,Amask);
++ bit_depth*png_get_channels(png_ptr, info_ptr), Rmask,Gmask,Bmask,Amask);
+ if ( surface == NULL ) {
+ error = "Out of memory";
+ goto done;
+@@ -185,12 +187,15 @@
+ palette->colors[i].g = i;
+ palette->colors[i].b = i;
+ }
+- } else if (info_ptr->num_palette > 0 ) {
+- palette->ncolors = info_ptr->num_palette;
+- for( i=0; i<info_ptr->num_palette; ++i ) {
+- palette->colors[i].b = info_ptr->palette[i].blue;
+- palette->colors[i].g = info_ptr->palette[i].green;
+- palette->colors[i].r = info_ptr->palette[i].red;
++ } else {
++ png_get_PLTE(png_ptr, info_ptr, &png_palette, &num_palette);
++ if (num_palette > 0 ) {
++ palette->ncolors = num_palette;
++ for( i=0; i<num_palette; ++i ) {
++ palette->colors[i].b = png_palette[i].blue;
++ palette->colors[i].g = png_palette[i].green;
++ palette->colors[i].r = png_palette[i].red;
++ }
+ }
+ }
+ }
diff --git a/community/scorched3d/scorched3d.install b/community/scorched3d/scorched3d.install
new file mode 100644
index 000000000..c5571196e
--- /dev/null
+++ b/community/scorched3d/scorched3d.install
@@ -0,0 +1,11 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
diff --git a/community/scponly/PKGBUILD b/community/scponly/PKGBUILD
new file mode 100644
index 000000000..e95d7fee6
--- /dev/null
+++ b/community/scponly/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 91530 2013-05-23 11:17:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+
+pkgname=scponly
+pkgver=4.8
+pkgrel=9
+pkgdesc="A limited shell for ssh/scp"
+arch=(i686 x86_64)
+url="http://sublimation.org/scponly/"
+depends=('glibc')
+makedepends=('openssh')
+license=('custom')
+options=(docs)
+source=(http://downloads.sourceforge.net/sourceforge/scponly/scponly-$pkgver.tgz
+ setup_chroot.sh)
+md5sums=('139ac9abd7f3b8dbc5c5520745318f8a'
+ 'a5e26c355cf4f127a1f2fdf2fb1582cc')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr --sysconfdir=/etc \
+ --enable-scp-compat --enable-winscp-compat --enable-chrooted-binary \
+ --sbindir=/usr/bin
+ sed -i 's|^#elif|#else|' helper.c
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -D -m0644 COPYING $pkgdir/usr/share/licenses/scponly/COPYING
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+ mkdir -p $pkgdir/usr/share/doc/scponly
+ cp $srcdir/setup_chroot.sh config.h $pkgdir/usr/share/doc/scponly/
+}
diff --git a/community/scponly/setup_chroot.sh b/community/scponly/setup_chroot.sh
new file mode 100644
index 000000000..1af9807e0
--- /dev/null
+++ b/community/scponly/setup_chroot.sh
@@ -0,0 +1,275 @@
+#!/bin/sh
+#
+# handy functions:
+#
+# a function to display a failure message and then exit
+fail ( ) {
+ echo -e $@
+ exit 1
+}
+
+# "get with default" function
+# this function prompts the user with a query and default reply
+# it returns the user reply
+getwd ( ) {
+ query="$1"
+ default="$2"
+ echo -en "$query [$default]" | cat >&2
+ read response
+ if [ x$response = "x" ]; then
+ response=$default
+ fi
+ echo $response
+}
+
+# "get yes no" function
+# this function prompts the user with a query and will continue to do so
+# until they reply with either "y" or "n"
+getyn ( ) {
+ query="$@"
+ echo -en $query | cat >&2
+ read response
+ while [ x$response != "xy" -a x$response != "xn" ]; do
+ echo -e "\n'y' or 'n' only please...\n" | cat >&2
+ echo -en $query | cat >&2
+ read response
+ done
+ echo $response
+}
+
+# configuration
+#
+# set defaults
+defaultusername="scponly"
+defaulthomedirprefix="/home"
+defaultwriteabledir="incoming"
+
+osname=`uname -s | tr ' ' '_'`
+# pathname to platform/OS specific setup scripts
+prescript="build_extras/arch/$osname.pre.sh"
+postscript="build_extras/arch/$osname.post.sh"
+
+# the following is a list of binaries that will be staged in the target dir
+BINARIES=`grep '#define PROG_' config.h | cut -f2 -d\" | grep -v ^cd$`
+
+# we set the install path in a variable so the presetup script can overwrite it on systems
+# which require it
+INSTALL_PATHNAME="install -c"
+
+# attempt a best guess at required libs, we can append things in the presetup script if we need to
+LDSOFOUND=0
+
+# default to useradd, not pw
+USE_PW=0
+
+if [ x/usr/bin/ldd = x ]; then
+ echo "this script requires the program ldd to determine which"
+ fail "shared libraries to copy into your chrooted dir..."
+fi
+
+if [ x`uname -s` = "xOpenBSD" ]; then
+ for bin in $BINARIES; do
+ GREP_LIST="$GREP_LIST -e $bin"
+ done
+ LIB_LIST=`ldd $BINARIES 2> /dev/null | /usr/bin/tr -s " " | cut -f5 -d" " | /usrgrep -v "^Name" | /usrgrep -v $GREP_LIST | /usr/bin/sort -u`
+else
+ LIB_LIST=`ldd $BINARIES 2> /dev/null | cut -f2 -d\> | cut -f1 -d\( | grep "^ " | sort -u`
+fi
+
+#
+# we also need to add some form of ld.so, here are some good guesses.
+#
+LDSO_LIST="/lib/ld.so /libexec/ld-elf.so /libexec/ld-elf.so.1 /usr/libexec/ld.so /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2 /lib/ld-linux.so.2 /usr/libexec/ld-elf.so.1"
+for lib in $LDSO_LIST; do
+ if [ -f $lib ]; then
+ LDSOFOUND=1;
+ LIB_LIST="$LIB_LIST $lib"
+ fi
+done
+
+#
+# TODO - i've since forgotten which OS this is for, it should be relocated to a presetup script
+#
+ls /lib/libnss_compat* > /dev/null 2>&1
+if [ $? -eq 0 ]; then
+ LIB_LIST="$LIB_LIST /lib/libnss_compat*"
+fi
+
+ls /lib/libnss_files* > /dev/null 2>&1
+if [ $? -eq 0 ]; then
+ LIB_LIST="$LIB_LIST /lib/libnss_files*"
+fi
+
+# check that the configure options are correct for chrooted operation:
+
+if [ x/usr/sbin/useradd = x ]; then
+ if [ x = x ]; then
+ echo "this script requires the program useradd or pw to add your"
+ fail "chrooted scponly user."
+ else
+ USE_PW=1;
+ fi
+fi
+
+# we need to be root
+if [ `id -u` != "0" ]; then
+ fail "you must be root to run this script\n"
+fi
+
+echo
+echo Next we need to set the home directory for this scponly user.
+echo please note that the user\'s home directory MUST NOT be writeable
+echo by the scponly user. this is important so that the scponly user
+echo cannot subvert the .ssh configuration parameters.
+echo
+echo for this reason, a writeable subdirectory will be created that
+echo the scponly user can write into.
+echo
+
+if [ "$2" != "" ] ; then
+ targetuser=$2
+else
+targetuser=`getwd "Username to install" "$defaultusername"`
+fi
+username_collision=`id $targetuser > /dev/null 2> /dev/null; echo $?`
+if [ $username_collision -eq 0 ] ; then
+ fail "the user $targetuser already exists. please remove this user and their home directory and try again."
+fi
+
+if [ "$1" != "" ] ; then
+ targetdir=$1
+else
+targetdir=`getwd "home directory you wish to set for this user" "$defaulthomedirprefix/$targetuser"`
+fi
+
+if [ "$3" != "" ] ; then
+ writeabledir=$3
+else
+writeabledir=`getwd "name of the writeable subdirectory" "$defaultwriteabledir"`
+fi
+
+#
+# if you would like to overwrite/extend any of the variables above, do so in the system specific
+# presetup script.
+#
+if [ -f "$prescript" ]; then
+#
+# this system has a pre-chroot setup script, lets run it
+#
+ . "$prescript"
+fi
+
+# if neither the presetup script or the best guess could find ld.so, we have to bail here
+if [ $LDSOFOUND -eq 0 ]; then
+ fail i cant find your equivalent of ld.so
+fi
+
+#
+# ACTUAL MODIFICATIONS BEGIN HERE
+#
+
+# this part shouldnt strictly be requried, but i'll leave it in until i'm sure of it
+if [ ! -d $targetdir ]; then
+ $INSTALL_PATHNAME -d $targetdir
+ chmod 755 $targetdir
+fi
+
+if [ ! -d $targetdir/etc ]; then
+ $INSTALL_PATHNAME -d $targetdir/etc
+ chown 0:0 $targetdir/etc
+ chmod 755 $targetdir/etc
+fi
+
+# add all our binaries
+for bin in $BINARIES; do
+ $INSTALL_PATHNAME -d $targetdir/`/usr/bin/dirname $bin`
+ $INSTALL_PATHNAME $bin $targetdir$bin
+done
+
+# and the libs they require
+if [ "x$LIB_LIST" != "x" ]; then
+ for lib in $LIB_LIST; do
+ $INSTALL_PATHNAME -d $targetdir/`/usr/bin/dirname $lib`
+ $INSTALL_PATHNAME $lib $targetdir/$lib
+ done
+fi
+
+# /dev/null is needed inside the chroot
+mkdir -p $targetdir/dev
+mknod -m 666 $targetdir/dev/null c 1 3
+
+if [ "x$USE_PW" = x0 ] ; then
+ /usr/sbin/useradd -d "$targetdir" -s "/usr/sbin/scponlyc" $targetuser
+ if [ $? -ne 0 ]; then
+ fail "if this user exists, remove it and try again"
+ fi
+else
+ useradd -n $targetuser -s "/usr/sbin/scponlyc" -d "$targetdir"
+ if [ $? -ne 0 ]; then
+ fail "if this user exists, remove it and try again"
+ fi
+fi
+
+#
+# we must ensure certain directories are root owned.
+#
+chown 0:0 $targetdir
+if [ -d $targetdir/.ssh ]; then
+ chown 0:0 $targetdir/.ssh
+fi
+
+if [ ! -d $targetdir/$writeabledir ]; then
+ echo -e "\ncreating $targetdir/$writeabledir directory for uploading files"
+ $INSTALL_PATHNAME -o $targetuser -d $targetdir/$writeabledir
+fi
+
+#
+# set the perms on the writeable dir so that the new user owns it
+#
+newuid=`id -u $targetuser`
+newgid=`id -g $targetuser`
+chown $newuid:$newgid $targetdir/$writeabledir
+
+if [ -f "$postscript" ]; then
+#
+# this system has a post-chroot setup script, lets run it
+#
+ . "$postscript"
+else
+#
+# otherwise, revert to the old "best guess" system, which sucks
+#
+ echo
+ echo "Your platform ($osname) does not have a platform specific setup script."
+ echo "This install script will attempt a best guess."
+ echo "If you perform customizations, please consider sending me your changes."
+ echo "Look to the templates in build_extras/arch."
+ echo " - joe at sublimation dot org"
+ echo
+ if [ x = x ]; then
+ #
+ # ok we dont have pwd_mkdb, lets improvise:
+ #
+ grep $targetuser /etc/passwd > $targetdir/etc/passwd
+ # Debian: copy /etc/group into the jail, for /usr/bin/groups to work
+ cp /etc/group $targetdir/etc/group
+
+ else
+ #
+ # this is for systems which do have pwd_mkdb
+ #
+ grep $targetuser /etc/master.passwd > $targetdir/etc/master.passwd
+ -d "$targetdir/etc" $targetdir/etc/master.passwd
+ rm -rf $targetdir/etc/master.passwd $targetdir/etc/spwd.db
+ fi
+fi
+
+#
+# the final step is setting the password
+#
+echo "please set the password for $targetuser:"
+passwd $targetuser
+
+echo "if you experience a warning with winscp regarding groups, please install"
+echo "the provided hacked out fake groups program into your chroot, like so:"
+echo "cp groups $targetdir/bin/groups"
diff --git a/community/scratch/PKGBUILD b/community/scratch/PKGBUILD
new file mode 100644
index 000000000..508442874
--- /dev/null
+++ b/community/scratch/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 77468 2012-10-10 18:12:07Z jsteel $
+# Maintainer: Jonathan Steel <mail at jsteel dot org>
+# Contributor: Muhammed Uluyol <muhammedu@gmail.com>
+
+pkgname=scratch
+pkgver=1.4.0.7
+pkgrel=2
+pkgdesc="Create and share your own interactive stories, games, music and art"
+arch=('i686' 'x86_64')
+url="http://scratch.mit.edu"
+license=('GPL2')
+install=$pkgname.install
+depends=('squeak-vm' 'shared-mime-info' 'hicolor-icon-theme' 'desktop-file-utils' 'pango'
+ 'gtk-update-icon-cache')
+source=(http://download.scratch.mit.edu/$pkgname-$pkgver.src.tar.gz)
+md5sums=('f948e9e6de3ec9c7c7b4cc2a1975eb5a')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver.src
+
+ sed -i 's/-vm-sound-pulse/-vm-sound-ALSA/' src/$pkgname
+
+ make build
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver.src
+
+ install -Dm755 src/$pkgname "$pkgdir"/usr/bin/$pkgname
+ install -Dm644 Scratch.image "$pkgdir"/usr/lib/$pkgname/Scratch.image
+ install -m644 Scratch.ini "$pkgdir"/usr/lib/$pkgname/Scratch.ini
+ install -Dm644 src/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+ install -Dm644 src/man/$pkgname.1.gz "$pkgdir"/usr/share/man/man1/$pkgname.1.gz
+ install -Dm644 src/$pkgname.xml "$pkgdir"/usr/share/mime/packages/$pkgname.xml
+ install -dm755 "$pkgdir"/usr/share/{$pkgname,icons/hicolor}
+
+ cp -rp Help locale Media Projects README "$pkgdir"/usr/share/$pkgname/
+ cp -rp src/icons/* "$pkgdir"/usr/share/icons/hicolor/
+ cp -rp Plugins "$pkgdir"/usr/lib/$pkgname/
+}
diff --git a/community/scratch/scratch.install b/community/scratch/scratch.install
new file mode 100644
index 000000000..7fe49829c
--- /dev/null
+++ b/community/scratch/scratch.install
@@ -0,0 +1,9 @@
+post_install() {
+ update-desktop-database
+ update-mime-database /usr/share/mime
+ gtk-update-icon-cache -qf /usr/share/icons/hicolor
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/scrot/PKGBUILD b/community/scrot/PKGBUILD
new file mode 100644
index 000000000..7282f7869
--- /dev/null
+++ b/community/scrot/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 81818 2012-12-31 15:37:13Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=scrot
+pkgver=0.8
+pkgrel=6
+pkgdesc="A simple command-line screenshot utility for X"
+arch=('i686' 'x86_64')
+url="http://scrot.sourcearchive.com/"
+license=('MIT')
+depends=('giblib')
+source=("http://linuxbrit.co.uk/downloads/$pkgname-$pkgver.tar.gz")
+md5sums=('ccae904d225609571bdd3b03445c1e88')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir docsdir=/usr/share/doc/scrot install
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/scrypt/LICENSE b/community/scrypt/LICENSE
new file mode 100644
index 000000000..620fe9e58
--- /dev/null
+++ b/community/scrypt/LICENSE
@@ -0,0 +1,23 @@
+Copyright 2009 Colin Percival
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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.
diff --git a/community/scrypt/PKGBUILD b/community/scrypt/PKGBUILD
new file mode 100644
index 000000000..ebec0b4f3
--- /dev/null
+++ b/community/scrypt/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 82492 2013-01-19 15:11:52Z thestinger $
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Oliver Herold <oliver - at - akephalos - dot - de>
+
+pkgname=scrypt
+pkgver=1.1.6
+pkgrel=3
+pkgdesc="key derivation function and encryption utility"
+arch=('i686' 'x86_64')
+depends=(openssl)
+url="http://www.tarsnap.com/scrypt/"
+license=('BSD')
+source=(http://www.tarsnap.com/scrypt/scrypt-1.1.6.tgz LICENSE)
+md5sums=('a35523cd497f7283635ce881db39c2e2')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+md5sums=('a35523cd497f7283635ce881db39c2e2'
+ '46754c4c55dc7c70dbb3480dce6274da')
diff --git a/community/scummvm-tools/PKGBUILD b/community/scummvm-tools/PKGBUILD
new file mode 100644
index 000000000..d704adebe
--- /dev/null
+++ b/community/scummvm-tools/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90088 2013-05-06 19:39:30Z foutrelis $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Jérémie Dimino <jeremie@dimino.org>
+# Contributor: Sebastian Hase <sebastian_hase@gmx.de>
+# Contributor: Joe Davison <joe@thosedamnpeanuts.com>
+pkgname=scummvm-tools
+pkgver=1.4.0
+pkgrel=3
+pkgdesc="A set of tools that enable you to convert, compress and decode game datafiles for ScummVM"
+url="http://www.scummvm.org/"
+license=('GPL')
+depends=('libpng' 'wxgtk' 'flac' 'libvorbis')
+arch=('i686' 'x86_64')
+source=(http://downloads.sourceforge.net/sourceforge/scummvm/${pkgname}-${pkgver}.tar.gz)
+md5sums=('43cbf9f5c4939876cf4149dd59e68044')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ install -d ${pkgdir}/usr/bin
+
+ make DESTDIR=${pkgdir} install
+
+ install -Dm 644 README ${pkgdir}/usr/share/doc/scummvm-tools/README
+ install -Dm 644 convert_dxa.sh ${pkgdir}/usr/share/doc/scummvm-tools/samples/convert_dxa.sh
+}
+#vim: sw=2 ts=2 et:
diff --git a/community/scummvm/PKGBUILD b/community/scummvm/PKGBUILD
new file mode 100644
index 000000000..edf6e859b
--- /dev/null
+++ b/community/scummvm/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 160945 2012-06-07 12:04:14Z juergen $
+# Maintainer: juergen <juergen@archlinux.org>
+# Contributor: Manolis Tzanidakis, Petter Gundersen
+
+pkgname=scummvm
+pkgver=1.6.0
+pkgrel=1
+pkgdesc="A 'virtual machine' for several classic graphical point-and-click adventure games."
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.scummvm.org/"
+depends=('libmad' 'sdl' 'fluidsynth' 'flac' 'faad2' 'libvorbis' 'libmad')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('473c151ff44e3db7b603ecacd800a0d2')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ ./configure --disable-debug \
+ --enable-release \
+ --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -Dm644 dists/${pkgname}.desktop "${pkgdir}"/usr/share/applications/${pkgname}.desktop
+}
diff --git a/community/sdcc/PKGBUILD b/community/sdcc/PKGBUILD
new file mode 100644
index 000000000..5efa9daa1
--- /dev/null
+++ b/community/sdcc/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 94049 2013-07-13 12:37:05Z svenstaro $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jose Negron <josenj.arch@mailnull.net>
+
+pkgname=sdcc
+pkgver=3.3.0
+pkgrel=2
+pkgdesc="Retargettable ANSI C compiler (Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08)"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('bash' 'gcc-libs' 'boost-libs')
+makedepends=('gputils' 'flex' 'bison' 'patch' 'boost')
+optdepends=('python')
+url="http://sdcc.sourceforge.net/"
+options=(!strip)
+source=(http://downloads.sourceforge.net/sourceforge/sdcc/$pkgname-src-$pkgver.tar.bz2)
+md5sums=('c7c6aa75415580795ecc4fd31948e5ba')
+
+prepare() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's|CC -E|CC -O2 -E|g' support/sdbinutils/libiberty/configure
+}
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --includedir=/usr/include/sdcc \
+ --libdir=/usr/lib/sdcc
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make install DESTDIR=$pkgdir
+
+ if [ -d $pkgdir/usr/lib/lib ]; then
+ mv $pkgdir/usr/lib/lib/* $pkgdir/usr/lib/sdcc/
+ rm -rf $pkgdir/usr/lib/lib
+ fi
+
+ sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python3|' $pkgdir/usr/bin/as2gbmap
+}
diff --git a/community/sdcv/PKGBUILD b/community/sdcv/PKGBUILD
new file mode 100644
index 000000000..dd1d87971
--- /dev/null
+++ b/community/sdcv/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 57381 2011-10-26 16:44:58Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=sdcv
+pkgver=0.4.2
+pkgrel=6
+pkgdesc="StarDict Console Version"
+arch=('i686' 'x86_64')
+url="http://sdcv.sourceforge.net/"
+license=('GPL')
+depends=('glib2' 'readline' 'zlib')
+makedepends=('patch')
+provides=('stardict')
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 \
+ $pkgname-$pkgver-headers.patch)
+sha256sums=('a164f079e93986814ea2d39f3a49cf9d1b71b01aad908254457fe3d0ded9deb2'
+ '4746e32a6aaddf7744f373b539879598b48219a3b35f41ceb839f04c27921eb4')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ patch -Np1 -i ${srcdir}/$pkgname-$pkgver-headers.patch
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+
+#quick fix for x86_64
+ if [ "${CARCH}" == "x86_64" ]; then
+ sed -i 's|guint32 page_size|guint64 page_size|' src/lib/lib.cpp
+ fi
+
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/sdcv/sdcv-0.4.2-headers.patch b/community/sdcv/sdcv-0.4.2-headers.patch
new file mode 100644
index 000000000..9affec151
--- /dev/null
+++ b/community/sdcv/sdcv-0.4.2-headers.patch
@@ -0,0 +1,46 @@
+diff -ruN sdcv-0.4.2-orig/src/lib/lib.cpp sdcv-0.4.2/src/lib/lib.cpp
+--- sdcv-0.4.2-orig/src/lib/lib.cpp 2006-04-24 10:17:27.000000000 +0200
++++ sdcv-0.4.2/src/lib/lib.cpp 2009-12-19 21:15:37.000000000 +0100
+@@ -513,7 +513,7 @@
+ {
+ fseek(idxfile, wordoffset[page_idx], SEEK_SET);
+ guint32 page_size=wordoffset[page_idx+1]-wordoffset[page_idx];
+- fread(wordentry_buf, std::min(sizeof(wordentry_buf), page_size), 1, idxfile); //TODO: check returned values, deal with word entry that strlen>255.
++ fread(wordentry_buf, std::min(sizeof(wordentry_buf), (size_t)page_size), 1, idxfile); //TODO: check returned values, deal with word entry that strlen>255.
+ return wordentry_buf;
+ }
+
+diff -ruN sdcv-0.4.2-orig/src/libwrapper.cpp sdcv-0.4.2/src/libwrapper.cpp
+--- sdcv-0.4.2-orig/src/libwrapper.cpp 2006-04-24 12:40:29.000000000 +0200
++++ sdcv-0.4.2/src/libwrapper.cpp 2009-12-19 21:15:37.000000000 +0100
+@@ -24,6 +24,7 @@
+
+ #include <glib/gi18n.h>
+ #include <map>
++#include <cstring>
+
+ #include "utils.hpp"
+
+diff -ruN sdcv-0.4.2-orig/src/readline.cpp sdcv-0.4.2/src/readline.cpp
+--- sdcv-0.4.2-orig/src/readline.cpp 2005-12-07 23:07:23.000000000 +0100
++++ sdcv-0.4.2/src/readline.cpp 2009-12-19 21:15:37.000000000 +0100
+@@ -23,6 +23,7 @@
+ #endif
+
+ #include <cstdio>
++#include <cstdlib>
+ #ifdef WITH_READLINE
+ # include <readline/readline.h>
+ # include <readline/history.h>
+diff -ruN sdcv-0.4.2-orig/src/utils.cpp sdcv-0.4.2/src/utils.cpp
+--- sdcv-0.4.2-orig/src/utils.cpp 2006-04-24 11:03:47.000000000 +0200
++++ sdcv-0.4.2/src/utils.cpp 2009-12-19 21:15:37.000000000 +0100
+@@ -22,6 +22,8 @@
+ # include "config.h"
+ #endif
+
++#include <cstdio>
++#include <cstdlib>
+ #include <glib.h>
+ #include <glib/gi18n.h>
+
diff --git a/community/sdcv/sdcv.changelog b/community/sdcv/sdcv.changelog
new file mode 100644
index 000000000..f742d12c7
--- /dev/null
+++ b/community/sdcv/sdcv.changelog
@@ -0,0 +1,3 @@
+2011-10-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * sdcv 0.4.2-6
+ * moved to [community] with 206 votes
diff --git a/community/sdd/PKGBUILD b/community/sdd/PKGBUILD
new file mode 100644
index 000000000..d49f44605
--- /dev/null
+++ b/community/sdd/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 65431 2012-02-21 05:44:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=sdd
+pkgver=1.52
+pkgrel=7
+pkgdesc="Faster replacement for a program called dd"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://freshmeat.net/projects/sdd/"
+source=(ftp://ftp.berlios.de/pub/sdd/sdd-$pkgver.tar.gz
+ build-fix.patch)
+options=(!emptydirs)
+md5sums=('efb6f2d8a39080c8ad085211e01293d6'
+ '3c7af325869c648be045f7c86431200c')
+
+build() {
+ cd $srcdir/$pkgname-${pkgver}
+ if [ $CARCH = "x86_64" ]; then
+ cp RULES/i686-linux-cc.rul RULES/x86_64-linux-cc.rul
+ cp RULES/i686-linux-gcc.rul RULES/x86_64-linux-gcc.rul
+ fi
+ patch -p1 <$srcdir/build-fix.patch
+ make
+ make INS_BASE=$pkgdir/usr install
+ mkdir -p $pkgdir/usr/share/man
+ rm -rf $pkgdir/usr/include/ \
+ $pkgdir/usr/lib/ \
+ $pkgdir/usr/man/man3/ \
+ $pkgdir/usr/man/man5/
+ mv $pkgdir/usr/man/* $pkgdir/usr/share/man/
+ chown -R root.root $pkgdir
+}
diff --git a/community/sdd/build-fix.patch b/community/sdd/build-fix.patch
new file mode 100644
index 000000000..daf299eb8
--- /dev/null
+++ b/community/sdd/build-fix.patch
@@ -0,0 +1,78 @@
+diff -wbBur sdd-1.52/include/schily.h sdd-1.52.my/include/schily.h
+--- sdd-1.52/include/schily.h 2004-03-05 00:30:40.000000000 +0000
++++ sdd-1.52.my/include/schily.h 2010-07-08 14:00:07.000000000 +0000
+@@ -108,14 +108,14 @@
+ /* 6th arg not const, fexecv forces av[ac] = NULL */
+ extern int fexecv __PR((const char *, FILE *, FILE *, FILE *, int,
+ char **));
+-extern int fexecve __PR((const char *, FILE *, FILE *, FILE *,
+- char * const *, char * const *));
++//extern int fexecve __PR((const char *, FILE *, FILE *, FILE *,
++// char * const *, char * const *));
+ extern int fspawnv __PR((FILE *, FILE *, FILE *, int, char * const *));
+ extern int fspawnl __PR((FILE *, FILE *, FILE *,
+ const char *, const char *, ...));
+ extern int fspawnv_nowait __PR((FILE *, FILE *, FILE *,
+ const char *, int, char *const*));
+-extern int fgetline __PR((FILE *, char *, int));
++extern int xfgetline __PR((FILE *, char *, int));
+ extern int fgetstr __PR((FILE *, char *, int));
+ extern void file_raise __PR((FILE *, int));
+ extern int fileclose __PR((FILE *));
+@@ -187,7 +187,7 @@
+ extern char *findbytes __PR((const void *, int, char));
+ extern int findline __PR((const char *, char, const char *,
+ int, char **, int));
+-extern int getline __PR((char *, int));
++extern int xgetline __PR((char *, int));
+ extern int getstr __PR((char *, int));
+ extern int breakline __PR((char *, char, char **, int));
+ extern int getallargs __PR((int *, char * const**, const char *, ...));
+diff -wbBur sdd-1.52/libschily/stdio/fgetline.c sdd-1.52.my/libschily/stdio/fgetline.c
+--- sdd-1.52/libschily/stdio/fgetline.c 2004-08-08 11:02:05.000000000 +0000
++++ sdd-1.52.my/libschily/stdio/fgetline.c 2010-07-08 14:02:08.000000000 +0000
+@@ -26,7 +26,7 @@
+ */
+
+ EXPORT int
+-fgetline(f, buf, len)
++xfgetline(f, buf, len)
+ register FILE *f;
+ char *buf;
+ register int len;
+@@ -64,9 +64,9 @@
+ }
+
+ EXPORT int
+-getline(buf, len)
++xgetline(buf, len)
+ char *buf;
+ int len;
+ {
+- return (fgetline(stdin, buf, len));
++ return (xfgetline(stdin, buf, len));
+ }
+diff -wbBur sdd-1.52/RULES/mk-gmake.id sdd-1.52.my/RULES/mk-gmake.id
+--- sdd-1.52/RULES/mk-gmake.id 2004-08-03 21:33:18.000000000 +0000
++++ sdd-1.52.my/RULES/mk-gmake.id 2010-07-08 14:00:07.000000000 +0000
+@@ -37,7 +37,7 @@
+
+ ifndef ARCH_DONE
+
+-__gmake_warn:= $(shell cat $(SRCROOT)/$(RULESDIR)/gmake.wrn 1>&2; sleep 15)
++__gmake_warn:= $(shell cat $(SRCROOT)/$(RULESDIR)/gmake.wrn 1>&2)
+
+ _MACHCMD= (mach || uname -p || true) 2> /dev/null
+ _ARCHCMD= (arch || /usr/ucb/arch || true) 2> /dev/null
+diff -wbBur sdd-1.52/sdd/sdd.c sdd-1.52.my/sdd/sdd.c
+--- sdd-1.52/sdd/sdd.c 2004-07-27 10:49:31.000000000 +0000
++++ sdd-1.52.my/sdd/sdd.c 2010-07-08 14:01:20.000000000 +0000
+@@ -850,7 +850,7 @@
+ inout, num);
+ (void) fflush(stderr);
+ ap = answer;
+- if (fgetline(tty, ap, 16) == EOF)
++ if (xfgetline(tty, ap, 16) == EOF)
+ return (FALSE);
+ while (*ap == ' ' || *ap == '\t')
+ ap++;
diff --git a/community/seahorse-nautilus/PKGBUILD b/community/seahorse-nautilus/PKGBUILD
new file mode 100644
index 000000000..8609d920c
--- /dev/null
+++ b/community/seahorse-nautilus/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 89362 2013-04-28 20:39:50Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=seahorse-nautilus
+pkgver=3.8.0
+pkgrel=2
+pkgdesc="PGP encryption and signing for nautilus"
+arch=('i686' 'x86_64')
+url="http://git.gnome.org/browse/seahorse-nautilus/"
+license=('GPL')
+depends=('libcryptui' 'gcr' 'nautilus')
+makedepends=('intltool')
+options=('!libtool')
+install=$pkgname.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ glib236.patch)
+sha256sums=('8173ef08a700ff254fb5637a7f2138ba7625b19ed2102a82fd69f1ecb8072863'
+ '0cefa14a45784c82871815e9bdcebbb96dea50a8e43316475e6a36d5dc47ade5')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Fix compatibility with glib 2.36
+ patch -Np1 -i "$srcdir/glib236.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/seahorse-nautilus/glib236.patch b/community/seahorse-nautilus/glib236.patch
new file mode 100644
index 000000000..d0ab03046
--- /dev/null
+++ b/community/seahorse-nautilus/glib236.patch
@@ -0,0 +1,12 @@
+diff -Naur seahorse-nautilus-3.8.0.orig/tool/seahorse-tool-progress.c seahorse-nautilus-3.8.0/tool/seahorse-tool-progress.c
+--- seahorse-nautilus-3.8.0.orig/tool/seahorse-tool-progress.c 2011-10-24 09:25:37.000000000 +0200
++++ seahorse-nautilus-3.8.0/tool/seahorse-tool-progress.c 2013-04-28 22:26:54.483276592 +0200
+@@ -226,8 +226,6 @@
+ progress_fd = -1;
+ return;
+ }
+-
+- g_child_watch_add (progress_pid, progress_cancel, NULL);
+ }
+
+ void
diff --git a/community/seahorse-nautilus/seahorse-nautilus.install b/community/seahorse-nautilus/seahorse-nautilus.install
new file mode 100644
index 000000000..21f12fbda
--- /dev/null
+++ b/community/seahorse-nautilus/seahorse-nautilus.install
@@ -0,0 +1,12 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/sensors-applet/PKGBUILD b/community/sensors-applet/PKGBUILD
new file mode 100644
index 000000000..1a62c5692
--- /dev/null
+++ b/community/sensors-applet/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 89360 2013-04-28 20:21:26Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=sensors-applet
+pkgver=3.0.0
+pkgrel=3
+pkgdesc="Applet for GNOME Panel to display readings from hardware sensors, including CPU temperature, fan speeds and voltage readings"
+arch=('i686' 'x86_64')
+url="http://sensors-applet.sourceforge.net/"
+license=('GPL')
+depends=('gnome-panel' 'libatasmart' 'lm_sensors' 'xdg-utils')
+makedepends=('intltool' 'gnome-doc-utils')
+optdepends=('hddtemp: get HDD temperatures'
+ 'udisks: get HDD temperatures')
+options=('!libtool')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/sensors-applet/$pkgname-$pkgver.tar.gz
+ gtk38.patch)
+md5sums=('425078fc1ff5a98af1547e039002a73f'
+ '7289cb0acd5c05daf824df6a90967240')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Enable reprecations
+ sed -i '/CFLAGS+=/d' configure{,.ac}
+
+ # Fix compatibility with GTK+ 3.8
+ patch -Np1 -i "$srcdir/gtk38.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static --disable-scrollkeeper --with-nvidia=no
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/sensors-applet/gtk38.patch b/community/sensors-applet/gtk38.patch
new file mode 100644
index 000000000..530d756a3
--- /dev/null
+++ b/community/sensors-applet/gtk38.patch
@@ -0,0 +1,127 @@
+diff -Naur sensors-applet-3.0.0.orig/sensors-applet/sensors-applet.c sensors-applet-3.0.0/sensors-applet/sensors-applet.c
+--- sensors-applet-3.0.0.orig/sensors-applet/sensors-applet.c 2011-11-03 12:33:36.000000000 +0100
++++ sensors-applet-3.0.0/sensors-applet/sensors-applet.c 2013-04-28 20:08:31.002620583 +0200
+@@ -641,122 +641,8 @@
+ /* get the first active sensor */
+ first_sensor = (ActiveSensor *)sensors_applet->active_sensors->data;
+
+- switch (display_mode) {
+- case DISPLAY_VALUE:
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->value),
+- &req);
+- value_width = req.width + COLUMN_SPACING;
+- value_height = req.height + ROW_SPACING;
++ num_sensors_per_group = 1;
+
+- /* make sure all widths and heights are non zero,
+- * otherwise will get a divide by zero exception below
+- * - is a non critical error since can happen when
+- * elements first added to list, so simply return - is
+- * not a programming error */
+- if (value_width == 0 && value_height == 0) {
+- return;
+- }
+-
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? value_height :
+- value_width));
+- break;
+-
+- case DISPLAY_LABEL_WITH_VALUE:
+- /* even though we end up packing the event boxes into the
+- * panel, these dont give back request sizes, so need to ask
+- * widgets directly */
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->value),
+- &req);
+- value_width = req.width + COLUMN_SPACING;
+- value_height = req.height + ROW_SPACING;
+-
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->label),
+- &req);
+- label_width = req.width + COLUMN_SPACING;
+- label_height = req.height + ROW_SPACING;
+-
+- /* make sure all widths and heights are non zero, otherwise
+- * will get a divide by zero exception below
+- * - is a non critical error since can happen when
+- * elements first added to list, so simply return - is
+- * not a programming error */
+- if (!(label_width && label_height &&
+- value_width && value_height)) {
+- return;
+- }
+-
+- switch (layout_mode) {
+- case VALUE_BESIDE_LABEL:
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? MAX(label_height, value_height) :
+- (label_width + value_width)));
+- break;
+- case VALUE_BELOW_LABEL:
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? (label_height + value_height) :
+- MAX(label_width, value_width)));
+-
+-
+- break;
+- }
+- break;
+-
+- case DISPLAY_ICON_WITH_VALUE:
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->value),
+- &req);
+- value_width = req.width + COLUMN_SPACING;
+- value_height = req.height + ROW_SPACING;
+-
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->icon),
+- &req);
+- icon_width = req.width + COLUMN_SPACING;
+- icon_height = req.height + ROW_SPACING;
+-
+- //watch out if num_sensors_per_group is correctly computed
+- //while icon_height is 0
+- if (!(icon_width &&
+- value_width && value_height)) {
+- return;
+- }
+-
+-
+- switch (layout_mode) {
+- case VALUE_BESIDE_LABEL:
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? MAX(icon_height, value_height) :
+- (icon_width + value_width)));
+- break;
+- case VALUE_BELOW_LABEL:
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? (icon_height + value_height) :
+- MAX(icon_width, value_width)));
+-
+-
+- break;
+- }
+- break;
+-
+- case DISPLAY_ICON:
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->icon),
+- &req);
+- icon_width = req.width + COLUMN_SPACING;
+- icon_height = req.height + ROW_SPACING;
+- if (!(icon_width && icon_height)) {
+- return;
+- }
+-
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? icon_height :
+- icon_width));
+- break;
+-
+- case DISPLAY_GRAPH:
+- /* only show graphs in a line like System Monitor
+- * applet */
+- num_sensors_per_group = 1;
+- break;
+- }
+ /* ensure always atleast 1 sensor per group */
+ if (num_sensors_per_group < 1) {
+ /* force a better layout */
diff --git a/community/sensors-applet/sensors-applet.install b/community/sensors-applet/sensors-applet.install
new file mode 100644
index 000000000..a23a623cc
--- /dev/null
+++ b/community/sensors-applet/sensors-applet.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/ser2net/PKGBUILD b/community/ser2net/PKGBUILD
new file mode 100644
index 000000000..a8100ef32
--- /dev/null
+++ b/community/ser2net/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 91532 2013-05-23 11:17:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+
+pkgname=ser2net
+pkgver=2.8rc3
+pkgrel=3
+pkgdesc="A proxy that allows telnet/tcp connections to be made to serial ports"
+arch=(i686 x86_64)
+url="http://sourceforge.net/projects/ser2net"
+license=('GPL')
+depends=('glibc')
+backup=(etc/ser2net.conf)
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver/rc/-rc}.tar.gz
+ ser2net.service)
+md5sums=('bbe95fb557781c314d321356897a50b9'
+ '9a94f9ba5595359c92d099465ab7c828')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver/rc/-rc}
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname}-${pkgver/rc/-rc}
+ make DESTDIR=$pkgdir install
+ install -Dm0644 ser2net.conf $pkgdir/etc/ser2net.conf
+ install -Dm0644 $srcdir/ser2net.service $pkgdir/usr/lib/systemd/system/ser2net.service
+}
diff --git a/community/ser2net/ser2net.service b/community/ser2net/ser2net.service
new file mode 100644
index 000000000..7bb3137d4
--- /dev/null
+++ b/community/ser2net/ser2net.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Proxy that allows tcp connections to serial ports
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/ser2net
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/community/setconf/PKGBUILD b/community/setconf/PKGBUILD
new file mode 100644
index 000000000..8d4792483
--- /dev/null
+++ b/community/setconf/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 89955 2013-05-06 09:59:45Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=setconf
+pkgver=0.5.3
+pkgrel=4
+pkgdesc='Utility to easily change settings in configuration files or Makefiles'
+arch=('x86_64' 'i686')
+url='http://setconf.roboticoverlords.org/'
+license=('GPL2')
+depends=('pcre' 'gc')
+makedepends=('shedskin')
+source=("http://setconf.roboticoverlords.org/$pkgname-$pkgver.tar.xz")
+sha256sums=('f063b308bcebefe139418587527262ffce776584b1952224ec9a41d0562d55b6')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ shedskin "$pkgname.py" && make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 "$pkgname.1.gz" "$pkgdir/usr/share/man/man1/$pkgname.1.gz"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/sfk/PKGBUILD b/community/sfk/PKGBUILD
new file mode 100644
index 000000000..4f9e3d965
--- /dev/null
+++ b/community/sfk/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 93781 2013-07-10 08:33:37Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Baumi <baumi@gmx.com>
+
+pkgname=sfk
+pkgver=1.6.8
+pkgrel=1
+pkgdesc='Swiss File Knife - A Command Line Tools Collection'
+arch=('i686' 'x86_64')
+url='http://stahlforce.com/dev/?tool=sfk'
+license=('custom: BSD')
+depends=('gcc-libs')
+source=("http://downloads.sourceforge.net/swissfileknife/${pkgname}${pkgver//./}.zip")
+md5sums=('cce2184223597cfe314ca7a5f247d1ce')
+
+build() {
+ cd ${pkgname}${pkgver//./}
+ g++ $CXXFLAGS $LDFLAGS sfk.cpp sfknet.cpp patch.cpp inst.cpp -o $pkgname
+}
+
+package() {
+ cd ${pkgname}${pkgver//./}
+ install -D -m755 $pkgname "$pkgdir/usr/bin/$pkgname"
+ install -D -m444 bsd-license.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/sfml/PKGBUILD b/community/sfml/PKGBUILD
new file mode 100644
index 000000000..2cd8af622
--- /dev/null
+++ b/community/sfml/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 88118 2013-04-12 07:50:02Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Ondrej Martinak <omartinak@gmail.com>
+
+pkgname=sfml
+pkgver=2.0
+pkgrel=1
+pkgdesc='A simple, fast, cross-platform, and object-oriented multimedia API'
+arch=('i686' 'x86_64')
+url='http://www.sfml-dev.org/'
+license=('zlib')
+depends=('libsndfile' 'libxrandr' 'libjpeg' 'openal' 'glew' 'freetype2')
+makedepends=('mesa' 'cmake' 'doxygen')
+install=sfml.install
+source=("https://github.com/LaurentGomila/SFML/archive/2.0.tar.gz")
+md5sums=('294fd8563a319e06f68bbca0eedc905e')
+
+build() {
+ cd "$srcdir"/SFML-${pkgver}
+
+ mkdir build && cd build
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSFML_BUILD_EXAMPLES=true \
+ -DSFML_BUILD_DOC=true
+ make
+ make doc
+}
+
+package() {
+ cd "$srcdir"/SFML-${pkgver}/build
+
+ make DESTDIR="$pkgdir/" install
+
+ install -Dm644 "$pkgdir/usr/share/SFML/cmake/Modules/FindSFML.cmake" "$pkgdir/usr/share/cmake-2.8/Modules/FindSFML.cmake"
+
+ install -Dm644 ../license.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
diff --git a/community/sfml/sfml.install b/community/sfml/sfml.install
new file mode 100644
index 000000000..75f760be6
--- /dev/null
+++ b/community/sfml/sfml.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "To view the SFML samples, go to /usr/share/SFML/examples/ and run them individually"
+}
diff --git a/community/shake/PKGBUILD b/community/shake/PKGBUILD
new file mode 100644
index 000000000..55336da5f
--- /dev/null
+++ b/community/shake/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 67776 2012-03-14 11:42:05Z giovanni $
+# Maintainer : Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor : Allan McRae <allan@archlinux.org>
+# Contributor: Julien MISCHKOWITZ <wain@archlinux.fr>
+
+pkgname=shake
+pkgver=0.999
+pkgrel=2
+pkgdesc="Userspace defragmenter that can be run while system is in use"
+arch=('i686' 'x86_64')
+url="http://vleu.net/shake/"
+license=('GPL3')
+depends=('attr')
+makedepends=('cmake' 'help2man')
+install=$pkgname.install
+source=(http://download.savannah.nongnu.org/releases/$pkgname/$pkgname-$pkgver.tar.bz2)
+sha256sums=('f030d5ba5d4d2d449249c49b253a71de8c342b9b2f5e1e7d3e7ba5277e3f5e91')
+
+build() {
+ cd ${srcdir}/${pkgname}-fs-${pkgver}/build
+
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr ..
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-fs-${pkgver}/build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/shake/shake.install b/community/shake/shake.install
new file mode 100644
index 000000000..0ca53862b
--- /dev/null
+++ b/community/shake/shake.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo "==> shake works faster if you mount your partions with the \"user_xattr\" option"
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community/shapelib/LICENSE b/community/shapelib/LICENSE
new file mode 100644
index 000000000..71368d2b8
--- /dev/null
+++ b/community/shapelib/LICENSE
@@ -0,0 +1,21 @@
+Copyright
+The source for the Shapefile C Library is (c) 1998 Frank Warmerdam, and released under the following conditions. The intent is that anyone can do anything with the code, but that I do not assume any liability, nor express any warranty for this code.
+
+As of Shapelib 1.2.6 the core portions of the library are made available under two possible licenses. The licensee can choose to use the code under either the Library GNU Public License (LGPL) described in LICENSE.LGPL or under the following MIT style license. Any files in the Shapelib distribution without explicit copyright license terms (such as this documentation, the Makefile and so forth) should be considered to have the following licensing terms. Some auxilary portions of Shapelib, notably some of the components in the contrib directory come under slightly different license restrictions. Check the source files that you are actually using for conditions.
+
+Default License Terms
+Copyright (c) 1999, Frank Warmerdam
+
+This software is available under the following "MIT Style" license, or at the option of the licensee under the LGPL (see LICENSE.LGPL). This option is discussed in more detail in shapelib.html.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Shapelib Modifications
+I am pleased to receive bug fixes, and improvements for Shapelib. Unless the submissions indicate otherwise I will assume that changes submitted to me remain under the the above "dual license" terms. If changes are made to the library with the intention that those changes should be protected by the LGPL then I should be informed upon submission. Note that I will not generally incorporate changes into the core of Shapelib that are protected under the LGPL as this would effectively limit the whole file and distribution to LGPL terms.
+
+Opting for LGPL
+For licensee's opting to use Shapelib under LGPL as opposed to the MIT Style license above, and wishing to redistribute the software based on Shapelib, I would ask that all "dual license" modules be updated to indicate that only the LGPL (and not the MIT Style license) applies. This action represents opting for the LGPL, and thereafter LGPL terms apply to any redistribution and modification of the affected modules.
diff --git a/community/shapelib/PKGBUILD b/community/shapelib/PKGBUILD
new file mode 100644
index 000000000..d3b997720
--- /dev/null
+++ b/community/shapelib/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 93041 2013-06-23 03:50:51Z foutrelis $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Bob Finch <w9ya@arrl.net>
+
+pkgname=shapelib
+pkgver=1.3.0
+pkgrel=2
+pkgdesc='simple C API for reading and writing ESRI Shapefiles'
+arch=('i686' 'x86_64')
+url='http://shapelib.maptools.org/'
+license=('LGPL' 'MIT')
+options=('!libtool')
+source=("http://download.osgeo.org/$pkgname/$pkgname-$pkgver.tar.gz"
+ "LICENSE")
+sha256sums=('23d474016158ab5077db2f599527631706ba5c0dc7c4178a6a1d685bb014f68f'
+ '67e45b04045e27a9d6f64f92b295831b8739b32668ce497d3fa02999e349a789')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ sed -i -e s:'-fPIC':"${CFLAGS} -fPIC": Makefile
+ make lib
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ install -dm755 "$pkgdir"/usr/{lib,include}
+
+ # Fix the broken makefile
+ sed -i -e s:/usr/local:${pkgdir}/usr: Makefile
+ sed -i -e s:/usr/bin/install:/bin/install: Makefile
+ make lib_install
+
+ # Fix world readable bit not set
+ chmod 644 $pkgdir/usr/include/shapefil.h
+
+ install -D -m644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/shell-fm/PKGBUILD b/community/shell-fm/PKGBUILD
new file mode 100644
index 000000000..88cfe9926
--- /dev/null
+++ b/community/shell-fm/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 68046 2012-03-17 12:04:37Z giovanni $
+# Maintainer: Daenyth
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+
+pkgname=shell-fm
+pkgver=0.8
+pkgrel=1
+pkgdesc="A console based player for the streams provided by Last.FM"
+arch=('i686' 'x86_64')
+url="http://github.com/jkramer/$pkgname"
+license=('GPL')
+depends=('libmad' 'libao' 'taglib')
+source=($pkgname-$pkgver.tar.gz::http://github.com/jkramer/$pkgname/tarball/v$pkgver)
+md5sums=('ce5c45ead71a299edbff280d4007ad99')
+
+build() {
+ cd "$srcdir"/jkramer-$pkgname-*
+
+ make
+}
+
+package() {
+ cd "$srcdir"/jkramer-$pkgname-*
+
+ make DESTDIR="$pkgdir" install
+
+ cd "$pkgdir/usr"
+ install -dm755 "$pkgdir/usr/share"
+ mv man share
+}
diff --git a/community/shfs-utils/PKGBUILD b/community/shfs-utils/PKGBUILD
new file mode 100644
index 000000000..f5e7e4045
--- /dev/null
+++ b/community/shfs-utils/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92255 2013-06-03 11:15:28Z allan $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Sébastien Luttringer
+# Contributor: Jaroslaw Swierczynski <swiergot@juvepoland.com>
+
+pkgname=shfs-utils
+pkgver=0.35
+pkgrel=5
+pkgdesc='SHell FileSystem Linux utils'
+url='http://shfs.sourceforge.net/'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('glibc' 'openssh')
+makedepends=('patch')
+source=("http://downloads.sourceforge.net/sourceforge/shfs/shfs-$pkgver.tar.gz"
+ 'shfs-utils-make.patch')
+md5sums=('016f49d71bc32eee2b5d11fc1600cfbe'
+ '49fb94b139bc69927815127f0bf85159')
+
+prepare() {
+ patch -Np0 -d shfs-$pkgver < $pkgname-make.patch
+}
+
+build() {
+ cd shfs-$pkgver
+ make -j1 utils
+}
+
+package() {
+ cd shfs-$pkgver
+ make -j1 ROOT="$pkgdir" utils-install
+ # remove sbin symlinks
+ rm -r "$pkgdir/sbin"
+}
diff --git a/community/shfs-utils/shfs-utils-make.patch b/community/shfs-utils/shfs-utils-make.patch
new file mode 100644
index 000000000..7f7609558
--- /dev/null
+++ b/community/shfs-utils/shfs-utils-make.patch
@@ -0,0 +1,5 @@
+--- shfsmount/Makefile.orig 2010-08-29 21:50:47.000000000 +0200
++++ shfsmount/Makefile 2010-08-29 21:50:47.000000000 +0200
+@@ -10 +10 @@
+-SEARCHDIRS := -I- -I. -I../shfs/Linux-2.4/
++SEARCHDIRS := -I. -I../shfs/Linux-2.4/
diff --git a/community/shntool/PKGBUILD b/community/shntool/PKGBUILD
new file mode 100644
index 000000000..ea261ecea
--- /dev/null
+++ b/community/shntool/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Michal Hybner <dta081@gmail.com>
+
+pkgname=shntool
+pkgver=3.0.10
+pkgrel=2
+pkgdesc="A multi-purpose WAVE data processing and reporting utility"
+arch=('i686' 'x86_64')
+url="http://www.etree.org/shnutils/shntool/"
+license=('GPL')
+options=(!emptydirs)
+depends=('glibc')
+source=("http://www.etree.org/shnutils/shntool/dist/src/${pkgname}-${pkgver}.tar.gz")
+md5sums=('5d41f8f42c3c15e3145a7a43539c3eae')
+sha1sums=('7a2bc8801e180cf582f0e39775603582e35d50d2')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/shotwell/PKGBUILD b/community/shotwell/PKGBUILD
new file mode 100644
index 000000000..c84b466c1
--- /dev/null
+++ b/community/shotwell/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 92942 2013-06-19 21:09:47Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com>
+
+pkgname=shotwell
+pkgver=0.14.1
+pkgrel=4
+pkgdesc="A digital photo organizer designed for the GNOME desktop environment"
+arch=('i686' 'x86_64')
+url="http://yorba.org/shotwell/"
+license=('LGPL2.1')
+depends=('libgee06' 'webkitgtk' 'libgexiv2' 'libraw' 'rest'
+ 'desktop-file-utils' 'dconf' 'hicolor-icon-theme' 'json-glib'
+ 'gst-plugins-base' 'libgphoto2')
+makedepends=('intltool' 'vala>=0.17.2' 'libunique3')
+install=shotwell.install
+source=("http://yorba.org/download/shotwell/stable/shotwell-$pkgver.tar.xz"
+ "no-libexec.patch"
+ "libraw-0.15.2.patch")
+md5sums=('bb5783f9265e1ce2d4c9f354987c3ab1'
+ 'b4124e022c98b4382530e6fbcef965e2'
+ '3ad21364f82229122f48452f5c74dfde')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 <$srcdir/no-libexec.patch
+ patch -Rp1 <$srcdir/libraw-0.15.2.patch
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --disable-schemas-compile \
+ --disable-desktop-update \
+ --disable-icon-update
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/shotwell/libraw-0.15.2.patch b/community/shotwell/libraw-0.15.2.patch
new file mode 100644
index 000000000..248c5f236
--- /dev/null
+++ b/community/shotwell/libraw-0.15.2.patch
@@ -0,0 +1,33 @@
+diff -wbBur shotwell-0.14.1/src/photos/GRaw.vala shotwell-0.14.1/src/photos/GRaw.vala
+--- /home/sergej/tmp/BUILD/staging-i686/sergej/build/shotwell/src/shotwell-0.14.1/src/photos/GRaw.vala 2013-06-17 16:26:12.247179310 +0400
++++ shotwell-0.14.1/src/photos/GRaw.vala 2013-04-03 04:54:23.000000000 +0400
+@@ -168,7 +168,7 @@
+ }
+
+ public void document_mode_processing() throws Exception {
+- throw_exception("document_mode_processing", 0);
++ throw_exception("document_mode_processing", proc.document_mode_processing());
+ }
+
+ public unowned LibRaw.ImageOther get_image_other() {
+@@ -244,7 +244,7 @@
+ // threshold
+ output_params->half_size = half_size;
+ // four_color_rgb
+-// output_params->document_mode = GRaw.DocMode.STANDARD;
++ output_params->document_mode = GRaw.DocMode.STANDARD;
+ output_params->highlight = GRaw.HighlightMode.CLIP;
+ output_params->use_auto_wb = true;
+ output_params->use_camera_wb = true;
+diff -wbBur shotwell-0.14.1/vapi/libraw.vapi shotwell-0.14.1/vapi/libraw.vapi
+--- /home/sergej/tmp/BUILD/staging-i686/sergej/build/shotwell/src/shotwell-0.14.1/vapi/libraw.vapi 2013-06-17 16:25:23.623846536 +0400
++++ shotwell-0.14.1/vapi/libraw.vapi 2013-04-03 04:54:23.000000000 +0400
+@@ -184,6 +184,8 @@
+ public Processor(Options flags = Options.NONE);
+
+ public Result adjust_sizes_info_only();
++ [CCode (cname="libraw_dcraw_document_mode_processing")]
++ public Result document_mode_processing();
+ public unowned ImageOther get_image_other() { return other; }
+ public unowned ImageParams get_image_params() { return idata; }
+ public Progress get_progress_flags() { return progress_flags; }
diff --git a/community/shotwell/no-libexec.patch b/community/shotwell/no-libexec.patch
new file mode 100644
index 000000000..fe8960719
--- /dev/null
+++ b/community/shotwell/no-libexec.patch
@@ -0,0 +1,26 @@
+diff -Naur shotwell-0.13.1.orig/Makefile shotwell-0.13.1/Makefile
+--- shotwell-0.13.1.orig/Makefile 2012-10-05 20:07:37.000000000 +0200
++++ shotwell-0.13.1/Makefile 2012-10-31 22:27:30.382869896 +0100
+@@ -558,8 +558,8 @@
+ mkdir -p $(DESTDIR)$(PREFIX)/bin
+ $(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(PREFIX)/bin
+ $(INSTALL_PROGRAM) $(THUMBNAILER_BIN) $(DESTDIR)$(PREFIX)/bin
+- mkdir -p $(DESTDIR)$(PREFIX)/libexec/shotwell
+- $(INSTALL_PROGRAM) $(MIGRATOR_BIN) $(DESTDIR)$(PREFIX)/libexec/shotwell
++ mkdir -p $(DESTDIR)$(PREFIX)/lib/shotwell
++ $(INSTALL_PROGRAM) $(MIGRATOR_BIN) $(DESTDIR)$(PREFIX)/lib/shotwell
+ mkdir -p $(DESTDIR)$(PREFIX)/share/shotwell/icons
+ $(INSTALL_DATA) icons/* $(DESTDIR)$(PREFIX)/share/shotwell/icons
+ mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps
+diff -Naur shotwell-0.13.1.orig/src/AppDirs.vala shotwell-0.13.1/src/AppDirs.vala
+--- shotwell-0.13.1.orig/src/AppDirs.vala 2012-10-05 19:56:07.000000000 +0200
++++ shotwell-0.13.1/src/AppDirs.vala 2012-10-31 22:28:17.634388872 +0100
+@@ -109,7 +109,7 @@
+ // not installed yet - use wherever we were run from
+ libexec_dir = get_exec_dir();
+ } else {
+- libexec_dir = File.new_for_path(Resources.PREFIX + "/libexec/shotwell");
++ libexec_dir = File.new_for_path(Resources.PREFIX + "/lib/shotwell");
+ }
+ }
+
diff --git a/community/shotwell/shotwell.install b/community/shotwell/shotwell.install
new file mode 100644
index 000000000..bab8ecd29
--- /dev/null
+++ b/community/shotwell/shotwell.install
@@ -0,0 +1,17 @@
+pkgname=shotwell
+
+post_install() {
+ gtk-update-icon-cache -fq -t usr/share/icons/hicolor
+ update-desktop-database -q
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -fq -t usr/share/icons/hicolor
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
diff --git a/community/shuffle/ChangeLog b/community/shuffle/ChangeLog
new file mode 100644
index 000000000..999ca2cf9
--- /dev/null
+++ b/community/shuffle/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+* Got license from W3C website
diff --git a/community/shuffle/LICENSE b/community/shuffle/LICENSE
new file mode 100644
index 000000000..f695583f8
--- /dev/null
+++ b/community/shuffle/LICENSE
@@ -0,0 +1,88 @@
+W3C Intellectual Rights Notice and Legal Disclaimers
+
+This page includes notices and disclaimers related to:
+
+ 1. Copyright
+ 2. Notices
+ 3. Trademarks
+ 4. Disclaimers and Liabilities
+
+Copyright 1994-2006 W3C (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University), All Rights Reserved.
+
+World Wide Web Consortium (W3C) web site pages may contain other proprietary notices and copyright information, the terms of which must be observed and followed. Specific notices do exist for W3C documents and software. Also, there are specific usage policies associated with some of the W3C Icons. Please see our Intellectual Rights FAQ for common questions about using materials from our site.
+Notice and Disclaimers
+
+1. Unless otherwise noted, all materials contained in this Site are copyrighted and may not be used except as provided in these terms and conditions or in the copyright notice (documents and software) or other proprietary notice provided with the relevant materials.
+
+2. The materials contained in the Site may be downloaded or copied provided that ALL copies retain the copyright and any other proprietary notices contained on the materials. No material may be modified, edited or taken out of context such that its use creates a false or misleading statement or impression as to the positions, statements or actions of W3C.
+
+3. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the Web site, its content, specifications, or software without specific, written prior permission. Title to copyright in Web site documents will at all times remain with copyright holders. Use of W3C trademarks and service marks is covered by the W3C Trademark and Servicemark License.
+
+4. Caches of W3C materials should comply with the "maximum time to live" information provided with the materials. After such materials have expired they should not be served from caches without first validating the contents of the W3C Site. Organizations that want to mirror W3C content must abide by the W3C Mirroring Policy.
+W3CTrademarks and Generic Terms
+Trademarks owned by W3C host institutions on behalf of W3C and generic terms used by the W3C
+
+5. The trademarks, logos, and service marks (collectively the "Trademarks") displayed on the Site are registered and unregistered Trademarks of the Massachusetts Institute of Technology (MIT), European Research Consortium for Informatics and Mathematics (ERCIM), or Keio University (Keio). All use of the W3C Trademarks is governed by the W3C Trademark and Servicemark License. No additional rights are granted by implication, estoppel, or otherwise. Terms which claimed as generic are not governed by any W3C license and are used as common descriptors by the W3C.
+
+The following is a list of W3C terms claimed as a trademark or generic term by MIT, ERCIM, and/or Keio on behalf of the W3C:
+
+ W3C, World Wide Web Consortium (registered in numerous countries)
+ Amaya™, a Web Browser/Editor
+ ACSS (generic), Aural Cascading Style Sheets
+ CSS (generic), Cascading Style Sheets Specification
+ DOM (generic), Document Object Model
+ DSig (generic), Digital Signature Initiative
+ HTML (generic), HyperText Markup Language
+ HTTP (generic), Hypertext Transfer Protocol
+ JEP (generic)I, Joint Electronic Payment Initiative
+ Jigsaw™, Java Web Server
+ MathML (generic), Mathematical Markup Language
+ Metadata (generic)
+ P3P, Platform for Privacy Preferences Project
+ PICS (generic), Platform for Internet Content Selection
+ PICSRules (generic), Rules Language for PICS
+ RDF (generic), Resource Description Framework
+ SMIL (generic), Synchronized Multimedia Integration Language
+ SVG (generic), Scalable Vector Graphics
+ WAI™, Web Accessibility Initiative
+ WebFonts (generic)
+ XENC (generic), XML Encryption
+ XHTML (generic), The Extensible HyperText Markup Language
+ XML (generic), Extensible Markup Language
+ XMLDSIG (generic), XML Signatures
+ XSL (generic), Extensible Stylesheet Language
+
+The absence of a product or service name or logo from this list does not constitute a waiver of MIT's, ERCIM's, or Keio's trademark, ability to use a generic term, or other intellectual rights concerning that name or logo.
+
+Any questions concerning the use, status, or standing of W3C trademarks should be directed to: site-policy@w3.org or to W3C, Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology, 77 Massachusetts Ave., Cambridge, MA 02139 USA.
+Non-W3C Trademarks; Member Trademarks
+
+The trademarks, logos, and service marks not owned on behalf of the W3C and that are displayed on the Site are the registered and unregistered marks of their respective owners. No rights are granted by the W3C to use such marks, whether by implication, estoppel, or otherwise.
+
+ * "METADATA" is a trademark of the Metadata Company. W3C uses the term "metadata" in a descriptive sense, meaning "data about data". W3C is not in any way affiliated with the Metadata Company.
+
+Legal Disclaimers
+
+6. W3C has not reviewed any or all of the web sites linked to this Site and is not responsible for the content of any off-site pages or any other web sites linked to this Site. Please understand that any non-W3C web site is independent from W3C, and W3C has no control over the content on that web site. In addition, a link to a non-W3C web site does not mean that W3C endorses or accepts any responsibility for the content, or the use, of such site. It is the user's responsibility to take precautions to ensure that whatever is selected is free of such items as viruses, worms, Trojan horses and other items of a destructive nature.
+
+7. Information W3C publishes on its Site may contain references or cross references to W3C specifications, projects, programs and services that are not announced or available in your country. Such references do not imply that W3C intends to announce such specifications, projects, programs or services in your country.
+
+8. Information on this Site may contain technical inaccuracies or typographical errors. Information may be changed or updated without notice. W3C may make improvements and/or changes in the materials contained in or described on this site at any time without notice. W3C may also make changes in these Terms and Conditions without notice. User is bound by such revisions and should therefore periodically visit this page to review the then current Terms and Conditions.
+9. Limitation on Warranties.
+
+ALL MATERIALS ON THE W3C SITE ARE PROVIDED "AS IS." W3C, MIT, ERCIM, AND KEIO MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT. AS TO DOCUMENTS AND GRAPHICS PUBLISHED ON THIS SITE, W3C, MIT, ERCIM, AND KEIO MAKE NO REPRESENTATION OR WARRANTY THAT THE CONTENTS OF SUCH DOCUMENT OR GRAPHICS ARE FREE FROM ERROR OR SUITABLE FOR ANY PURPOSE; NOR THAT IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+Please note that some jurisdictions may not allow the exclusion of implied warranties, so some of the above exclusions may not apply to you.
+10. Limitation on Liability.
+
+IN NO EVENT WILL W3C, MIT, ERCIM, AND KEIO BE LIABLE TO ANY PARTY FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES FOR ANY USE OF THIS SITE, OR ON ANY OTHER HYPERLINKED WEB SITE, INCLUDING, WITHOUT LIMITATION, ANY LOST PROFITS, BUSINESS INTERRUPTION, LOSS OF PROGRAMS OR OTHER DATA ON YOUR INFORMATION HANDLING SYSTEM OR OTHERWISE, EVEN IF W3C, MIT, ERCIM, OR KEIO IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+______________
+
+Please see our Intellectual Rights FAQ for common questions about using materials from our site. Questions about this notice can be directed to site-policy@w3.org .
+
+Joseph Reagle <site-policy@w3.org>
+
+Last revised $Id: LICENSE,v 1.1 2007/06/28 20:55:36 tardo Exp $
+
+Copyright 1998-2006 W3C (MIT,ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
diff --git a/community/shuffle/PKGBUILD b/community/shuffle/PKGBUILD
new file mode 100644
index 000000000..7f25c1272
--- /dev/null
+++ b/community/shuffle/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 65439 2012-02-21 05:46:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=shuffle
+pkgver=1.5
+pkgrel=4
+pkgdesc="Shuffles lines of input."
+arch=('i686' 'x86_64')
+url="http://www.w3.org/People/Bos/Shuffle/"
+license=('custom')
+depends=(glibc)
+makedepends=('gcc')
+source=(http://www.w3.org/People/Bos/Shuffle/shuffle.c
+ http://www.w3.org/People/Bos/Shuffle/shuffle.1
+ LICENSE)
+md5sums=('d337c7e4db93489e3a30ffc8f89ec363'
+ 'a352ff446a3c20f7b6390add7918f21d'
+ '9dafa5ef909b8a6db992bb8819d3832a')
+
+build() {
+ cd $srcdir
+ gcc -o shuffle shuffle.c
+}
+
+package() {
+ cd $srcdir
+ install -D -m 755 shuffle $pkgdir/usr/bin/shuffle
+ install -D -m 644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ install -D -m 644 shuffle.1 $pkgdir/usr/share/man/man1/shuffle.1
+}
diff --git a/community/siege/PKGBUILD b/community/siege/PKGBUILD
new file mode 100644
index 000000000..77369aeeb
--- /dev/null
+++ b/community/siege/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 91394 2013-05-21 16:28:38Z bluewind $
+# Maintainer: Florian Pritz <flo@xinu.at>
+# Contributor: Sven Kauber <celeon@gmail.com>
+
+pkgname=siege
+pkgver=3.0.1
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('GPL')
+pkgdesc="An http regression testing and benchmarking utility"
+url="http://www.joedog.org/JoeDog/Siege"
+depends=('openssl')
+options=(!libtool)
+source=("http://www.joedog.org/pub/siege/siege-${pkgver}.tar.gz")
+backup=(etc/siegerc etc/urls.txt)
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ install -d -m755 "$pkgdir/etc"
+ install -d -m755 "$pkgdir/usr/share"
+ make DESTDIR="$pkgdir" install
+ sed -i 's/^# file =$/file = \/etc\/urls.txt/' "$pkgdir/etc/siegerc"
+}
+
+md5sums=('3401d9c8a02f227b63a0d10e2718ab37')
diff --git a/community/sigil/PKGBUILD b/community/sigil/PKGBUILD
new file mode 100644
index 000000000..dfc11299f
--- /dev/null
+++ b/community/sigil/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 94050 2013-07-13 12:37:15Z svenstaro $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Larry Hajali <larryhaja [at] gmail [dot] com>
+
+pkgname=sigil
+pkgver=0.7.2
+pkgrel=2
+pkgdesc="WYSIWYG ebook editor"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/sigil/"
+license=('GPL3')
+depends=('qt5-webkit' 'boost-libs')
+makedepends=('qt5-tools' 'qt5-svg' 'cmake' 'gendesk' 'boost')
+install=sigil.install
+source=("http://sigil.googlecode.com/files/Sigil-${pkgver}-Code.zip")
+md5sums=('540745983db57a2150cc2f4057455b19')
+
+build() {
+ cd "${srcdir}"
+ gendesk -n "$startdir"/PKGBUILD
+
+ mkdir build
+ cd build
+
+ cmake -G "Unix Makefiles" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_C_FLAGS:STRING="${CFLAGS}" \
+ -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON ..
+
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make install DESTDIR="${pkgdir}"
+
+ install -d -m 0755 "${pkgdir}"/usr/share/applications
+ install -m 0644 "${srcdir}"/${pkgname}.desktop \
+ "${pkgdir}"/usr/share/applications
+
+ for _pic in 16 32 48 128 256; do
+ install -D -m 0644 ../src/Sigil/Resource_Files/icon/app_icon_${_pic}.png \
+ "${pkgdir}"/usr/share/icons/hicolor/${_pic}x${_pic}/apps/${pkgname}.png
+ done
+ install -Dm644 ../src/Sigil/Resource_Files/icon/app_icon_128.png \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+}
diff --git a/community/sigil/sigil.install b/community/sigil/sigil.install
new file mode 100644
index 000000000..ec506fa93
--- /dev/null
+++ b/community/sigil/sigil.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/signon-keyring-extension/PKGBUILD b/community/signon-keyring-extension/PKGBUILD
new file mode 100644
index 000000000..ea0d03b3e
--- /dev/null
+++ b/community/signon-keyring-extension/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 79491 2012-11-06 04:11:27Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=signon-keyring-extension
+_pkgname=keyring
+pkgver=0.4
+pkgrel=1
+pkgdesc="GNOME keyring extension for signond"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/online-accounts-keyring-extension"
+license=('LGPL')
+depends=('signon' 'libgnome-keyring')
+source=(https://launchpad.net/online-accounts-keyring-extension/trunk/$pkgver/+download/$_pkgname-$pkgver.tar.bz2)
+md5sums=('4bbe5840cf0d5cfd142ba5ef262a38ed')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ # Do not install tests
+ echo 'INSTALLS =' >>tests/tests.pro
+
+ qmake PREFIX=/usr LIBDIR=/usr/lib
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ make INSTALL_ROOT="$pkgdir" install
+}
diff --git a/community/signon-plugin-oauth2/PKGBUILD b/community/signon-plugin-oauth2/PKGBUILD
new file mode 100644
index 000000000..f74d2b649
--- /dev/null
+++ b/community/signon-plugin-oauth2/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 93075 2013-06-23 22:20:48Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=signon-plugin-oauth2
+_pkgname=signon-oauth2
+pkgver=0.18
+pkgrel=1
+pkgdesc="OAuth 2 plugin for signon"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/accounts-sso/"
+license=('LGPL')
+depends=('signon-ui' 'qjson')
+makedepends=('signon')
+source=(http://accounts-sso.googlecode.com/files/$_pkgname-$pkgver.tar.bz2)
+sha1sums=('4b7aabd69a67814b19447215b6466a93523d5dce')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ sed -i '/-Werror/d' common-project-config.pri
+
+ # Do not install tests and example
+ echo 'INSTALLS =' >>tests/tests.pro
+ echo 'INSTALLS =' >>example/example.pro
+
+ qmake-qt4 PREFIX=/usr LIBDIR=/usr/lib
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ make INSTALL_ROOT="$pkgdir" install
+}
diff --git a/community/signon-ui/Makefile b/community/signon-ui/Makefile
new file mode 100644
index 000000000..3ede78507
--- /dev/null
+++ b/community/signon-ui/Makefile
@@ -0,0 +1,31 @@
+# Add here the language codes for the translated .po files:
+LINGUAS =
+
+I18N_DOMAIN = signon-ui
+
+PO_FILES = $(addsuffix .po, $(LINGUAS))
+MO_FILES = $(addsuffix .mo, $(LINGUAS))
+
+DEL_FILE = rm -f
+INSTALL = /usr/bin/install -c -m 644
+MKDIR = mkdir -p
+
+all: $(MO_FILES)
+
+install: all
+ for lang in $(LINGUAS); do \
+ dir=$(INSTALL_ROOT)/usr/share/locale/$$lang/LC_MESSAGES; \
+ $(MKDIR) $$dir; \
+ $(INSTALL) $$lang.mo $$dir/$(I18N_DOMAIN).mo; \
+ done
+
+%.mo: %.po
+ msgfmt -o "$@" "$<"
+
+clean:
+ -$(DEL_FILE) $(MO_FILES)
+
+distclean: clean
+
+check: all
+
diff --git a/community/signon-ui/PKGBUILD b/community/signon-ui/PKGBUILD
new file mode 100644
index 000000000..453349cd5
--- /dev/null
+++ b/community/signon-ui/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92692 2013-06-12 05:09:15Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=signon-ui
+pkgver=0.15
+pkgrel=1
+pkgdesc="UI component that responsible for handling the user interactions which can happen during the login process of an online account"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/online-accounts-signon-ui"
+license=('GPL')
+depends=('libaccounts-qt' 'qtwebkit' 'signon' 'libnotify')
+source=(https://launchpad.net/online-accounts-signon-ui/trunk/$pkgver/+download/$pkgname-$pkgver.tar.bz2)
+md5sums=('67ac8ce4cc85b69ec6ff67ae892fda90')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Do not install tests
+ echo 'INSTALLS =' >>tests/unit/tst_inactivity_timer.pro
+ echo 'INSTALLS =' >>tests/unit/tst_signon_ui.pro
+
+ qmake-qt4 PREFIX=/usr LIBDIR=/usr/lib
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make INSTALL_ROOT="$pkgdir" install
+}
diff --git a/community/signon/PKGBUILD b/community/signon/PKGBUILD
new file mode 100644
index 000000000..e6c081be6
--- /dev/null
+++ b/community/signon/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 92690 2013-06-12 05:04:06Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgbase=signon
+pkgname=('signon' 'signon-doc')
+pkgver=8.52
+pkgrel=1
+pkgdesc="Framework to provide credential storage and authentication service"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/accounts-sso/"
+license=('LGPL')
+depends=('qt4' 'libproxy')
+makedepends=('doxygen' 'graphviz' 'ttf-dejavu')
+backup=(etc/signond.conf)
+install=$pkgname.install
+source=(http://accounts-sso.googlecode.com/files/$pkgbase-$pkgver.tar.bz2
+ use_keyring.patch)
+sha1sums=('cebedffb219ee1d28d9dde0cafb8f978acf34d95'
+ 'cfdd48b494ad267654ceba23f1b81bcb8f56b9a1')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ # Use gnome-keyring secrets storage if signon-keyring-extension is available
+ patch -Np1 -i "$srcdir/use_keyring.patch"
+
+ # qt4 fix
+ sed -i 's/qdbusxml2cpp/qdbusxml2cpp-qt4/' src/signond/signond.pro
+
+ qmake-qt4 PREFIX=/usr LIBDIR=/usr/lib
+ make
+}
+
+package_signon() {
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Split out documentation
+ mv "$pkgdir/usr/share/doc" "$srcdir"
+}
+
+package_signon-doc() {
+ pkgdesc="Developer documention of signon"
+ depends=()
+ options=('!emptydirs')
+ backup=()
+ install=
+
+ mkdir -p "$pkgdir/usr/share"
+ mv "$srcdir/doc" "$pkgdir/usr/share"
+}
diff --git a/community/signon/signon.install b/community/signon/signon.install
new file mode 100644
index 000000000..4ccb62fcb
--- /dev/null
+++ b/community/signon/signon.install
@@ -0,0 +1,6 @@
+post_upgrade() {
+ if [ "$(vercmp 8.44 "$2")" -eq 1 ]; then
+ printf '==> Default config location changed\n'
+ printf ' Move the file signon.db from ~/.signon/ to ~/.config/signond/\n'
+ fi
+}
diff --git a/community/signon/use_keyring.patch b/community/signon/use_keyring.patch
new file mode 100644
index 000000000..55b593a26
--- /dev/null
+++ b/community/signon/use_keyring.patch
@@ -0,0 +1,12 @@
+=== modified file 'src/signond/signond.conf'
+--- old/src/signond/signond.conf 2012-07-25 14:57:50 +0000
++++ new/src/signond/signond.conf 2012-07-25 19:27:16 +0000
+@@ -17,6 +17,7 @@
+ FileSystemName=signonfs
+ Size=8
+ FileSystemType=ext2
++SecretsStorage=gnome-keyring
+
+ [ObjectTimeouts]
+ IdentityTimeout=300
+
diff --git a/community/silly/PKGBUILD b/community/silly/PKGBUILD
new file mode 100644
index 000000000..b26e39d62
--- /dev/null
+++ b/community/silly/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90090 2013-05-06 19:39:34Z foutrelis $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: G_Syme <demichan(at)mail(dot)upb(dot)de>
+
+pkgname=silly
+pkgver=0.1.0
+pkgrel=6
+pkgdesc="Simple Image Loading LibrarY, a part of the CEGUI project"
+arch=('i686' 'x86_64')
+url="http://www.cegui.org.uk/wiki/index.php/SILLY"
+license=('MIT')
+depends=('libjpeg' 'libpng' 'gcc-libs')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/crayzedsgui/SILLY-${pkgver}.tar.gz
+ silly-libpng1.5.patch)
+md5sums=('c3721547fced7792a36ffc9ce6ec23fd'
+ '530551c2942aea6fa20f10d06f1e604f')
+
+build() {
+ cd "${srcdir}/SILLY-${pkgver}"
+
+ patch -Np1 < $srcdir/silly-libpng1.5.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/SILLY-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/community/silly/silly-libpng1.5.patch b/community/silly/silly-libpng1.5.patch
new file mode 100644
index 000000000..0b2d27252
--- /dev/null
+++ b/community/silly/silly-libpng1.5.patch
@@ -0,0 +1,14 @@
+ILLY-0.1.0/src/loaders/SILLYPNGImageLoader.cpp~ SILLY-0.1.0/src/loaders/SILLYPNGImageLoader.cpp
+--- SILLY-0.1.0/src/loaders/SILLYPNGImageLoader.cpp~ 2006-06-19 00:42:12.000000000 +0200
++++ SILLY-0.1.0/src/loaders/SILLYPNGImageLoader.cpp 2011-12-06 14:38:31.738251526 +0100
+@@ -64,10 +64,7 @@ void PNG_error_function(png_structp png_
+ png_const_charp error)
+ {
+ // printf("PNG Error: %s\n", error);
+- // copied from libpng's pngerror.cpp
+- jmp_buf buf;
+- memcpy(buf, png_ptr->jmpbuf, sizeof(jmp_buf));
+- longjmp(buf, 1);
++ png_longjmp(png_ptr, 1);
+ }
+
diff --git a/community/simavr/PKGBUILD b/community/simavr/PKGBUILD
new file mode 100644
index 000000000..aa2e8370f
--- /dev/null
+++ b/community/simavr/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: schuay <jakob.gruber@gmail.com>
+
+pkgname=simavr
+pkgver=1.0
+pkgrel=2
+pkgdesc='A lean, mean and hackable AVR simulator'
+arch=('i686' 'x86_64')
+url="https://github.com/buserror-uk/simavr"
+license=('GPL3')
+depends=('elfutils')
+makedepends=('avr-libc')
+source=("https://github.com/downloads/buserror-uk/simavr/$pkgname-$pkgver.tar.bz2")
+options=(!strip)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # The original Makefile depends on git, hardcode the version until it's fixed upstream.
+ sed -i "s/^\(SIMAVR_VERSION\).*/\1 = ${pkgver}/" simavr/Makefile
+
+ make AVR_ROOT=/usr/avr SIMAVR_VERSION=1.0 \
+ CFLAGS="-Wall -Wextra -fPIC -std=gnu99 -Wno-sign-compare -Wno-unused-parameter" \
+ build-simavr
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make PREFIX="/usr" DESTDIR="$pkgdir/usr" install
+}
+
+md5sums=('82c9704a4e8569548f01931e32ebfe0c')
diff --git a/community/simgear/PKGBUILD b/community/simgear/PKGBUILD
new file mode 100644
index 000000000..1e2c8dfc2
--- /dev/null
+++ b/community/simgear/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 84416 2013-02-18 20:14:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: William Rea <sillywilly@gmail.com>
+# Contributor: Hans Janssen <hans@janserv.xs4all.nl>
+
+pkgname=simgear
+pkgver=2.10.0
+pkgrel=1
+pkgdesc="A set of open-source libraries designed to be used as building blocks for quickly assembling 3d simulations, games, and visualization applications."
+arch=(i686 x86_64)
+depends=('glut' 'freealut' 'plib' 'openscenegraph')
+makedepends=('boost' 'cmake' 'mesa')
+license=("GPL")
+#url="http://www.simgear.org"
+url="https://gitorious.org/fg"
+options=('!makeflags')
+#source=("SimGear-$pkgver.tar.gz::https://gitorious.org/fg/simgear/archive-tarball/release/$pkgver")
+source=("http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/simgear-$pkgver.tar.bz2")
+md5sums=('0ec974d3778f777d5c99c89db671fcc7')
+
+build() {
+ cd $srcdir/simgear-$pkgver
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib .
+ make
+}
+
+package() {
+ cd $srcdir/simgear-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/simh/LICENSE b/community/simh/LICENSE
new file mode 100644
index 000000000..5b0273020
--- /dev/null
+++ b/community/simh/LICENSE
@@ -0,0 +1,24 @@
+ Original code published in 1993-2005, written by Robert M Supnik
+ Copyright (c) 1993-2005, Robert M Supnik
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of Robert M Supnik shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from Robert M Supnik.
+
diff --git a/community/simh/PKGBUILD b/community/simh/PKGBUILD
new file mode 100644
index 000000000..27fcdf2fa
--- /dev/null
+++ b/community/simh/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 70434 2012-05-06 12:11:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: waterbear <st92.at.freeshell.org>
+
+pkgname=simh
+pkgver=3.9.0
+_pkgver=39-0
+pkgrel=1
+pkgdesc="simulator for assorted historical computers, from Altair to VAX"
+arch=('i686' 'x86_64')
+url="http://simh.trailing-edge.com"
+license=("BSD")
+depends=("libpcap")
+makedepends=("unzip")
+install=simh.install
+source=("http://simh.trailing-edge.com/sources/simhv${_pkgver}.zip"
+ "LICENSE")
+md5sums=('b80385888f23269abaee0bad7d84ea7c'
+ 'd56eefa5d020ee2b77d21280fef80e3d')
+
+build() {
+ cd "$srcdir"
+ mkdir -p BIN
+ find VAX -type f -exec sed -i 's/SIM_INLINE//' {} +
+ make USE_NETWORK=1 NETWORK_OPT='-DUSE_NETWORK -isystem /usr/include -lpcap'
+}
+
+package() {
+ cd "$srcdir/BIN"
+ for i in *; do
+ install -D $i "$pkgdir/usr/bin/simh-$i"
+ done
+
+ cd "$srcdir/VAX"
+ mkdir -p "$pkgdir/usr/lib/simh"
+ cp *.bin "$pkgdir/usr/lib/simh"
+
+ install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/simh/simh.install b/community/simh/simh.install
new file mode 100644
index 000000000..19779ad80
--- /dev/null
+++ b/community/simh/simh.install
@@ -0,0 +1,23 @@
+# arg 1: the new package version
+post_install() {
+ echo -e "-> The VAX ROM images are located in /usr/lib/simh."
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+ /bin/true
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
diff --git a/community/simple-scan/PKGBUILD b/community/simple-scan/PKGBUILD
new file mode 100644
index 000000000..04157bdff
--- /dev/null
+++ b/community/simple-scan/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com>
+
+pkgname=simple-scan
+pkgver=3.8.0
+pkgrel=1
+pkgdesc='Simple scanning utility'
+arch=('i686' 'x86_64')
+url='http://launchpad.net/simple-scan'
+license=('GPL3')
+depends=('sane' 'dconf' 'gtk3' 'colord' 'hicolor-icon-theme')
+makedepends=('yelp-tools' 'intltool')
+install=simple-scan.install
+source=(https://launchpad.net/$pkgname/${pkgver:0:3}/$pkgver/+download/$pkgname-$pkgver.tar.xz)
+sha256sums=('8df71e5f9e5db5c53217cb56b0e23b58dfe65bc174e873ad3ee576fbeccadc22')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/simple-scan/simple-scan.install b/community/simple-scan/simple-scan.install
new file mode 100644
index 000000000..5919c0b22
--- /dev/null
+++ b/community/simple-scan/simple-scan.install
@@ -0,0 +1,18 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 3.1.3) < 0 )); then
+ usr/sbin/gconfpkg --uninstall simple-scan
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/sisctrl/PKGBUILD b/community/sisctrl/PKGBUILD
new file mode 100644
index 000000000..916997e99
--- /dev/null
+++ b/community/sisctrl/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 65441 2012-02-21 05:47:41Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: ice-man <icemanf@gmail.com>
+
+pkgname=sisctrl
+pkgver=0.0.20051202
+pkgrel=6
+arch=(i686 x86_64)
+pkgdesc="Display Control Panel for XFree86/X.org SiS driver"
+makedepends=('pkgconfig')
+depends=('gtk2' 'libxxf86vm' 'libxv')
+url="http://www.winischhofer.eu/linuxsisvga.shtml"
+license=("GPL")
+source=(http://www.winischhofer.net/sis/sisctrl-$pkgver.tar.gz)
+md5sums=('d9db755fe9fd40809b5c30d1ab286d62')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ if [ -e /usr/lib/libXv.so ]; then
+ LDFLAGS=-lm ./configure --with-xv-path=/usr/lib
+ else
+ LDFLAGS=-lm ./configure
+ fi
+
+ make
+
+ mkdir -p $pkgdir/usr/bin
+ mkdir -p $pkgdir/usr/man/man1/
+ mkdir -p $pkgdir/usr/share/pixmaps
+ mkdir -p $pkgdir/usr/share/applications
+
+ install -m 755 sisctrl $pkgdir/usr/bin
+ cp sisctrl.1x sisctrl.1; gzip sisctrl.1
+ install -m 644 sisctrl.1.gz $pkgdir/usr/man/man1/
+ install -m 644 icons/32x32/sisctrl.xpm $pkgdir/usr/share/pixmaps
+ install -m 644 icons/16x16/sisctrl.png $pkgdir/usr/share/pixmaps/sisctrl_16x16.png
+ install -m 644 icons/32x32/sisctrl.png $pkgdir/usr/share/pixmaps/sisctrl_32x32.png
+ install -m 644 icons/48x48/sisctrl.png $pkgdir/usr/share/pixmaps/sisctrl_48x48.png
+ install -m 644 extra/sisctrl.desktop $pkgdir/usr/share/applications
+
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+}
diff --git a/community/sk1/PKGBUILD b/community/sk1/PKGBUILD
new file mode 100644
index 000000000..ce9d43be2
--- /dev/null
+++ b/community/sk1/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 81608 2012-12-25 00:34:13Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: ConnorBehan <connor.behan@gmail.com>
+
+pkgname=sk1
+pkgver=0.9.1
+pkgrel=9
+pkgdesc="Fork of skencil with improved CMYK support"
+arch=(i686 x86_64)
+url="http://sk1project.org/modules.php?name=Products&product=sk1"
+depends=('tcl' 'tk' 'python2-lcms' 'pil>=1.0' 'pyxml' 'zenity' 'sk1libs')
+license=('GPL' 'LGPL')
+source=(http://sk1project.org/downloads/sk1/${pkgver}pre_rev905/sK1-${pkgver}pre_rev905.tar.gz
+ sk1.desktop
+ build-fix.patch)
+md5sums=('43b82fd85049b078dcf98e9dd81fdc6a'
+ 'bbf6f10b8155838eede93b5abed724f5'
+ 'b22c3c7b6a979c0a4e59ecaa2bd2182b')
+
+build() {
+ local _tclver=`pacman -Q tcl`
+ local _tclnum=${tclver:4:3}
+ local _tcldir='tcl'${tclnum}
+
+ cd $srcdir/sK1-${pkgver}pre
+
+ # python2 fix
+ sed -i 's_#! /usr/bin/python_#! /usr/bin/python2_' src/__init__.py
+
+ patch -p1 <$srcdir/build-fix.patch
+ python2 setup.py install --prefix=/usr --root=$pkgdir
+
+ mkdir -p $pkgdir/usr/share/pixmaps
+ mkdir -p $pkgdir/usr/share/applications
+
+ cp $pkgdir/usr/lib/python2.7/site-packages/sk1/share/icons/CrystalSVG/icon_sk1_32.png \
+ $pkgdir/usr/share/pixmaps/sk1.png
+
+ cp $srcdir/sk1.desktop $pkgdir/usr/share/applications
+
+ mkdir $pkgdir/usr/lib/${_tcldir}
+ cp -r $pkgdir/usr/lib/python2.7/site-packages/sk1/share/ttk-themes/Plastik \
+ $pkgdir/usr/lib/${_tcldir}/Plastik
+
+ sed -i 's#^python#python2#' $pkgdir/usr/bin/sk1
+}
diff --git a/community/sk1/build-fix.patch b/community/sk1/build-fix.patch
new file mode 100644
index 000000000..caf3369ee
--- /dev/null
+++ b/community/sk1/build-fix.patch
@@ -0,0 +1,14 @@
+diff -wbBur sK1-0.9.1pre/setup.py sK1-0.9.1pre.my/setup.py
+--- sK1-0.9.1pre/setup.py 2010-01-10 06:24:54.000000000 +0000
++++ sK1-0.9.1pre.my/setup.py 2010-02-24 21:19:02.000000000 +0000
+@@ -149,8 +149,8 @@
+ filter_src+'stringfilter.c', filter_src+'binfile.c', filter_src+'hexfilter.c'])
+
+ #Fix for Debian based distros
+- tcl_include_dirs = []
+- tcl_ver=''
++ tcl_include_dirs = ['/usr/include']
++ tcl_ver='8.6'
+ if os.path.isdir('/usr/include/tcl8.5'):
+ tcl_include_dirs = ['/usr/include/tcl8.5']
+ tcl_ver ='8.5'
diff --git a/community/sk1/sk1.desktop b/community/sk1/sk1.desktop
new file mode 100644
index 000000000..6e1878e6e
--- /dev/null
+++ b/community/sk1/sk1.desktop
@@ -0,0 +1,59 @@
+
+[Desktop Entry]
+Encoding=UTF-8
+Name=sk1
+GenericName=Vector-based Drawing Program
+GenericName[af]=Vector-based Teken Program
+GenericName[bg]=екоѬна гѬаи!на пѬогѬама за Ѭиђване
+GenericName[bs]=Program za vektorsko crtanje
+GenericName[ca]=Programa de dibuix basat en els vectors
+GenericName[cs]=Vektorový kreslprogram
+GenericName[da]=Vektorbaseret tegneprogram
+GenericName[de]=Vektorbasiertes Zeichenprogramm
+GenericName[el]= Rγαμμα 0γα ική αϒιϒμνη ϒε ιανϒμαα
+GenericName[eo]=Vektor-desegnilo
+GenericName[es]=Programa de dibujo vectorial
+GenericName[et]=Vektorgraafika joonistamine
+GenericName[eu]=Marazteko Programa Bektoriala
+GenericName[fa]=بر ا&!RR رس& بردارR
+GenericName[fi]=Vektoripohjainen piirto-ohjelma
+GenericName[fr]=Logiciel de dessin vectoriel
+GenericName[he]=ת": "ת צ""ר ~"ססת "ק"ר"
+GenericName[hr]=Vektorski program za crtanje
+GenericName[hu]=vektoros rajzolóprogram
+GenericName[is]=Vigrað teikniforrit
+GenericName[it]=Programma di disegno vettoriale
+GenericName[ja]="㒫0㒼㒳㒩
+GenericName[lo]=:ຣຣມວາ~າaaa໬ວັ໬"ີ
+GenericName[lt]=Vektorinio paišymo programa
+GenericName[lv]=Uz Vektoriem bztas Zīmšanas Programma
+GenericName[mk]=екоѬки базиѬан пѬогѬам за Ѭаaе
+GenericName[mn]=екоѬв ђлгђђлаан зђѬгийн пѬогѬам
+GenericName[mt]=Programm biex tpinġi b'vektori
+GenericName[nb]=Vektorbasert tegneprogram
+GenericName[nl]=vector-gebaseerd tekenprogramma
+GenericName[nn]=Vektorbasert teikneprogram
+GenericName[nso]=Lenaneo lago Taka leo le Lebisitswego ka Vector
+GenericName[pl]=Wektorowy program do rysowania
+GenericName[pt]=Programa de Desenho Vectorial
+GenericName[pt_BR]=Programa de Desenho baseado em Vetor
+GenericName[ro]=Program de desenare vectorialĒ
+GenericName[ru]=xѬогѬамма векоѬной гѬаики
+GenericName[se]=Vektorvuooduvvon sárgonprográmma
+GenericName[sk]=Vektorový kresliaci program
+GenericName[sl]=Program za vektorsko risanje
+GenericName[sv]=Vektorbaserat ritprogram
+GenericName[th]=:รรมวา า~aa๬ว๬"ุR
+GenericName[tr]=Vektor Tabanlı !izim Programı
+GenericName[uk]=xѬогѬама воѬенн векоѬни& зобѬаженR
+GenericName[ven]=Mbekanyamushumo yo olwaho sa Vekitha
+GenericName[vi]=Trình vẽ kiỒu Vector
+GenericName[xh]=Inkqubo Yomzobo Osekwe-Kwimitha Yovavanyo
+GenericName[zh_CN]=x!:9
+GenericName[zh_TW]=!繪S9
+GenericName[zu]=Uhlelo lwemisebenzi olusekelwe kwi-Vector
+Exec=/usr/bin/sk1
+Categories=Application;Graphics;
+Terminal=false
+Type=Application
+Icon=/usr/share/pixmaps/sk1.png
diff --git a/community/sk1libs/PKGBUILD b/community/sk1libs/PKGBUILD
new file mode 100644
index 000000000..d4a374be8
--- /dev/null
+++ b/community/sk1libs/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 65445 2012-02-21 05:49:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=sk1libs
+pkgver=0.9.1
+pkgrel=3
+pkgdesc='A set of python non-GUI extensions for sK1 Project.'
+arch=('i686' 'x86_64')
+url='http://sk1project.org/'
+license=('custom:LGPL2')
+depends=('python2' 'freetype2' 'lcms')
+source=("${pkgname}-${pkgver}.tar.gz::http://sk1project.org/dc.php?target=${pkgname}-${pkgver}.tar.gz")
+md5sums=('e18088bbc8a105e7535a96f40b80f284')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ python2 setup.py build
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ python2 setup.py install --root ${pkgdir}
+ install -D -m644 GNU_LGPL_v2 ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/skrooge/PKGBUILD b/community/skrooge/PKGBUILD
new file mode 100644
index 000000000..8021be3f0
--- /dev/null
+++ b/community/skrooge/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 91047 2013-05-18 14:03:22Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Ray Rashif <schiv@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: neuromante <lorenzo.nizzi.grifi@gmail.com>
+
+pkgname=skrooge
+pkgver=1.7.1
+pkgrel=1
+pkgdesc="A personal finances manager for KDE"
+arch=('i686' 'x86_64')
+url="http://skrooge.org/"
+license=('GPL')
+depends=('kdebase-runtime' 'libofx' 'qca-ossl')
+makedepends=('cmake' 'automoc4' 'docbook-xsl' 'boost' 'kdepim-libkdepim')
+optdepends=('kdepim-libkdepim: for KDE PIM integration')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://skrooge.org/files/$pkgname-$pkgver.tar.bz2)
+sha256sums=('7427c9c4a93a9c6794e6419ef225c8f512548217ab2eac7abf217f5802cd6a88')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
+
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/skrooge/skrooge.changelog b/community/skrooge/skrooge.changelog
new file mode 100644
index 000000000..862db7099
--- /dev/null
+++ b/community/skrooge/skrooge.changelog
@@ -0,0 +1,29 @@
+2013-05-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.7.1-1
+
+2013-03-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.6.0-1
+
+2013-01-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.5.1-1
+
+2013-01-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.4.0-1
+
+2012-09-06 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.3.3-1
+
+2012-08-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.3.2-1
+
+2012-08-09 Eric Belanger <eric@archlinux.org>
+ * skrooge 1.3.0-2 Rebuild against libofx 0.9.5
+
+2012-05-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.3.0-1
+
+2012-02-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.2.0-1
+
+2011-11-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.1.1-1
diff --git a/community/skrooge/skrooge.install b/community/skrooge/skrooge.install
new file mode 100644
index 000000000..050474c59
--- /dev/null
+++ b/community/skrooge/skrooge.install
@@ -0,0 +1,14 @@
+post_install() {
+ update-mime-database usr/share/mime &> /dev/null
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+ kbuildsycoca4 &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/sleuthkit/PKGBUILD b/community/sleuthkit/PKGBUILD
new file mode 100644
index 000000000..e0813a136
--- /dev/null
+++ b/community/sleuthkit/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 86192 2013-03-12 21:51:33Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+
+pkgname=sleuthkit
+pkgver=4.0.2
+pkgrel=1
+pkgdesc='File system and media management forensic analysis tools'
+arch=('i686' 'x86_64')
+url='http://www.sleuthkit.org/sleuthkit'
+license=('GPL2' 'CPL' 'custom:"IBM Public Licence"')
+depends=('perl')
+options=('!libtool')
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('112f80fbc6a868c18c7a924f756b35c79eed9d0cc8923a4f973646f00e546e62')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ # licenses
+ install -d ${pkgdir}/usr/share/licenses/${pkgname}
+ install -Dm0644 licenses/* ${pkgdir}/usr/share/licenses/${pkgname}
+}
diff --git a/community/sleuthkit/sleuthkit.changelog b/community/sleuthkit/sleuthkit.changelog
new file mode 100644
index 000000000..6ab1ba102
--- /dev/null
+++ b/community/sleuthkit/sleuthkit.changelog
@@ -0,0 +1,8 @@
+2013-03-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * sleuthkit 4.0.2-1
+
+2013-01-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * sleuthkit 4.0.1-1
+
+2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * sleuthkit 3.2.3-1
diff --git a/community/slimevolley/PKGBUILD b/community/slimevolley/PKGBUILD
new file mode 100644
index 000000000..695f6eb3f
--- /dev/null
+++ b/community/slimevolley/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 67388 2012-03-10 21:54:03Z lcarlier $
+# Maintainer : Geoffroy Carrier <gcarrier@aur.archlinux.org>
+# Contributor: Joel Schaerer <joel.schaerer@laposte.net>
+
+pkgname=slimevolley
+pkgver=2.4.2
+pkgrel=2
+pkgdesc="A simple yet fun arcade volley game"
+arch=('i686' 'x86_64')
+url="http://slime.tuxfamily.org/index.php"
+license=('GPL')
+depends=('sdl_net' 'sdl_ttf' 'sdl_image')
+makedepends=('cmake')
+source=("http://downloads.tuxfamily.org/slime/v242/${pkgname}_${pkgver}.tar.bz2"
+ link-libm.patch)
+md5sums=('42d1287bf459c26475a9bb7a9bb167e5')
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ patch -Np1 -i ../link-libm.patch
+
+ cmake -DCMAKE_INSTALL_PREFIX:FILEPATH=/usr .
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ make DESTDIR="${pkgdir}" install
+}
+md5sums=('42d1287bf459c26475a9bb7a9bb167e5'
+ '4e5a7d4fb97e8f482e5468acc795a17b')
diff --git a/community/slimevolley/link-libm.patch b/community/slimevolley/link-libm.patch
new file mode 100644
index 000000000..acbd21d37
--- /dev/null
+++ b/community/slimevolley/link-libm.patch
@@ -0,0 +1,14 @@
+Description: Link to libm to prevent FTBFS with --no-add-needed.
+Author: Evgeni Golov <evgeni@debian.org>
+Bug-Debian: http://bugs.debian.org/615775
+
+--- slimevolley-2.4.2.orig/CMakeLists.txt
++++ slimevolley-2.4.2/CMakeLists.txt
+@@ -42,6 +42,7 @@ LINK_LIBRARIES(
+ ${SDL_LIBRARY}
+ ${SDLTTF_LIBRARY}
+ ${SDLIMAGE_LIBRARY}
++ m
+ )
+
+ INCLUDE(FindGettext.cmake)
diff --git a/community/sloccount/PKGBUILD b/community/sloccount/PKGBUILD
new file mode 100644
index 000000000..0961f63bc
--- /dev/null
+++ b/community/sloccount/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 89970 2013-05-06 12:16:25Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Christof Musik <christof@senfdax.de>
+
+pkgname=sloccount
+pkgver=2.26
+pkgrel=7
+pkgdesc='Tools for counting physical source lines of code'
+url='http://www.dwheeler.com/sloccount/'
+license=('GPL')
+depends=('perl')
+arch=('x86_64' 'i686')
+source=("http://www.dwheeler.com/$pkgname/$pkgname-$pkgver.tar.gz")
+sha256sums=('fa7fa2bbf2f627dd2d0fdb958bd8ec4527231254c120a8b4322405d8a4e3d12b')
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -dm755 "$pkgdir/usr/bin"
+ make PREFIX="$pkgdir/usr" install
+ mv "$pkgdir/usr/share/doc/sloccount-2.26-1" "$pkgdir/usr/share/doc/sloccount"
+ chmod 644 "$pkgdir/usr/share/doc/sloccount/"*
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/slock/PKGBUILD b/community/slock/PKGBUILD
new file mode 100644
index 000000000..b6fbb2ebe
--- /dev/null
+++ b/community/slock/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 78848 2012-10-25 20:30:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sebastian A. Liem <sebastian at liem dot se>
+
+pkgname=slock
+pkgver=1.1
+pkgrel=1
+pkgdesc="A simple screen locker for X"
+arch=('i686' 'x86_64')
+url="http://tools.suckless.org/slock"
+license=('MIT')
+depends=('libxext')
+source=("http://dl.suckless.org/tools/$pkgname-$pkgver.tar.gz")
+#source=("slock-$pkgver.tar.bz2::http://hg.suckless.org/slock/archive/$_pkgver.tar.gz")
+md5sums=('e3b25abdfd54c81562de4d63d3565be7')
+
+build() {
+ cd "$srcdir/slock-$pkgver"
+ make X11INC=/usr/include/X11 X11LIB=/usr/lib/X11
+}
+
+package() {
+ cd "$srcdir/slock-$pkgver"
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ install -m644 -D LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/slrn/PKGBUILD b/community/slrn/PKGBUILD
new file mode 100644
index 000000000..598c62561
--- /dev/null
+++ b/community/slrn/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 81585 2012-12-24 15:02:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Grigorios Bouzakis <grbzks[at]gmail[dot]com>
+
+pkgname=slrn
+pkgver=1.0.1
+pkgrel=1
+pkgdesc="An open source text-based news client"
+arch=('i686' 'x86_64')
+url="http://www.slrn.org/"
+license=('GPL')
+depends=('openssl' 'slang')
+makedepends=('uudeview')
+optdepends=('metamail')
+options=('!makeflags' 'docs' 'zipman')
+backup=(etc/slrnrc)
+source=(http://downloads.sourceforge.net/slrn/$pkgname-$pkgver.tar.gz)
+md5sums=('232670ab76a045967b137e5124b3d681')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --enable-setgid-code \
+ --with-slrnpull --with-ssl --with-uu \
+ --with-uulib=/usr/lib/uudeview \
+ --with-uuinc=/usr/include/uudeview \
+ --enable-spoilers
+
+ make
+ make DESTDIR=$pkgdir install
+
+ install -D -m644 doc/slrn.rc $pkgdir/etc/slrnrc
+}
diff --git a/community/smalltalk/PKGBUILD b/community/smalltalk/PKGBUILD
new file mode 100644
index 000000000..edc92f438
--- /dev/null
+++ b/community/smalltalk/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 88644 2013-04-20 23:03:17Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: mrshpot <mrshpot at gmail dot com>
+# Contributor: Michael Fellinger <m.fellinger@gmail.com>
+
+pkgname=smalltalk
+pkgver=3.2.5
+pkgrel=1
+pkgdesc='Implementation of Smalltalk-80'
+url='http://smalltalk.gnu.org/'
+license=('GPL' 'LGPL')
+arch=('x86_64' 'i686')
+options=('!libtool' '!emptydirs')
+depends=('gmp' 'libffi' 'libsigsegv' 'readline' 'libltdl')
+makedepends=('gdbm' 'gtk2' 'sqlite' 'tk>=8.6' 'zip')
+install="$pkgname.install"
+source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz")
+sha256sums=('06e574e818ec49f0555d948ae53b1453d8c1df59ef597dad911a4fd1ffba1cce')
+optdepends=('tk: for gst-blox'
+ 'sqlite: database in a file'
+ 'sed: for examples'
+ 'gtk2: GUI toolkit')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/smalltalk \
+ --with-imagedir=/var/lib/smalltalk \
+ --enable-gtk=yes \
+ --with-system-libffi \
+ --with-system-libsigsegv \
+ --with-readline \
+ --with-tcl \
+ --with-tk \
+ --with-x \
+ --without-emacs
+ echo '#define USE_INTERP_RESULT 1' >> config.h
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ #make check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # Fix manpage symlink
+ rm -f "$pkgdir/usr/share/man/man1/gst-reload.1"
+ ln -s gst-load.1 "$pkgdir/usr/share/man/man1/gst-reload.1"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/smalltalk/smalltalk.install b/community/smalltalk/smalltalk.install
new file mode 100644
index 000000000..3f7150d67
--- /dev/null
+++ b/community/smalltalk/smalltalk.install
@@ -0,0 +1,22 @@
+infodir=usr/share/info
+filelist=(gst-base.info{,-1,-2,-3,-4,-5}.gz gst-libs.info{,-1,-2,-3}.gz gst.info{,-1,-2}.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/smbnetfs/PKGBUILD b/community/smbnetfs/PKGBUILD
new file mode 100644
index 000000000..d178697fd
--- /dev/null
+++ b/community/smbnetfs/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 90723 2013-05-13 14:38:02Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=smbnetfs
+pkgver=0.5.3a
+pkgrel=6
+pkgdesc="small C program that mounts Microsoft network neighborhood in single directory."
+arch=('i686' 'x86_64')
+url="http://smbnetfs.sourceforge.net/"
+license=('GPL')
+depends=('fuse' 'smbclient')
+backup=('etc/smbnetfs/.smb/smb.conf'
+ 'etc/smbnetfs/.smb/smbnetfs.conf'
+ 'etc/smbnetfs/.smb/smbnetfs.auth'
+ 'etc/smbnetfs/.smb/smbnetfs.host')
+install=smbnetfs.install
+options=(docs)
+source=(http://downloads.sourceforge.net/smbnetfs/$pkgname-$pkgver.tar.bz2
+ conf-smbnetfs
+ smbnetfs.service)
+md5sums=('66d1477ca981f5a07b4b21c6bdbdc442'
+ 'e150c4cd894cc6ade11b94c95cf17ec4'
+ '0fdd0dbaa5f16b1ecd00ec1ddcdfc223')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's|libsmbclient.h|samba-4.0/libsmbclient.h|g' \
+ src/smb_conn_srv.c src/smb_conn_proto.h src/function.c src/main.c src/event.c
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr --docdir=/usr/share/doc/smbnetfs --with-gnome-keyring=no
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+
+ mv $pkgdir/usr/share/doc/smbnetfs* $pkgdir/usr/share/doc/smbnetfs
+
+ mkdir -p $pkgdir/etc/smbnetfs/.smb
+ install -m0644 $srcdir/$pkgname-$pkgver/conf/* $pkgdir/etc/smbnetfs/.smb/
+ install -Dm0644 $srcdir/$pkgname-$pkgver/README $pkgdir/usr/share/doc/smbnetfs/README
+ install -Dm0644 $srcdir/conf-smbnetfs $pkgdir/etc/conf.d/smbnetfs
+ install -Dm0644 $srcdir/smbnetfs.service $pkgdir/usr/lib/systemd/system/smbnetfs.service
+ touch $pkgdir/etc/smbnetfs/.smb/smb.conf
+}
diff --git a/community/smbnetfs/conf-smbnetfs b/community/smbnetfs/conf-smbnetfs
new file mode 100644
index 000000000..1d45606e7
--- /dev/null
+++ b/community/smbnetfs/conf-smbnetfs
@@ -0,0 +1 @@
+SMBNETFS_MOUNT_POINT=/mnt/smbnet
diff --git a/community/smbnetfs/smbnetfs.install b/community/smbnetfs/smbnetfs.install
new file mode 100644
index 000000000..d1c87406f
--- /dev/null
+++ b/community/smbnetfs/smbnetfs.install
@@ -0,0 +1,24 @@
+post_install() {
+ echo "-- To use rc-script you should:"
+ echo "-- * set user_allow_other option in /etc/fuse.conf"
+
+ chown -R nobody.nobody /etc/smbnetfs/.smb && \
+ mkdir -p /mnt/smbnet && \
+ chown nobody.nobody /mnt/smbnet && \
+ chmod 0777 /mnt/smbnet
+}
+
+pre_upgrade() {
+ /etc/rc.d/smbnetfs stop 2>/dev/null 1>/dev/null
+ /bin/true
+}
+
+post_upgrade() {
+ echo "-- You should set user_allow_other option in /etc/fuse.conf to use rc-script"
+ echo "-- * set user_allow_other option in /etc/fuse.conf"
+
+ chown -R nobody.nobody /etc/smbnetfs/.smb && \
+ mkdir -p /mnt/smbnet && \
+ chown nobody.nobody /mnt/smbnet && \
+ chmod 0777 /mnt/smbnet
+}
diff --git a/community/smbnetfs/smbnetfs.service b/community/smbnetfs/smbnetfs.service
new file mode 100644
index 000000000..cf3cd0f58
--- /dev/null
+++ b/community/smbnetfs/smbnetfs.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Mount Samba Shares
+After=network.target
+
+[Service]
+Environment=HOME=/etc/smbnetfs SMBNETFS_MOUNT_POINT=/mnt/smbnet
+EnvironmentFile=/etc/conf.d/smbnetfs
+User=nobody
+ExecStart=/usr/bin/smbnetfs -f -o allow_other $SMBNETFS_MOUNT_POINT
+ExecStop=/bin/fusermount -u $SMBNETFS_MOUNT_POINT
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/smem/PKGBUILD b/community/smem/PKGBUILD
new file mode 100644
index 000000000..ed89c55d9
--- /dev/null
+++ b/community/smem/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 91603 2013-05-25 11:22:11Z bpiotrowski $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Contributor: Dave Reisner <d@falconindy.com>
+# Contributor: Isaac Dupree <id@isaac.cedarswampstudios.org>
+# Contributor: Sebastien Duquette <ekse.0x@gmail.com>
+
+pkgname=smem
+pkgver=1.3
+pkgrel=2
+pkgdesc="Generate reports on memory usage."
+url="http://www.selenic.com/smem/"
+license=("GPL")
+depends=('python2')
+optdepends=('python2-matplotlib: for chart generation')
+arch=('i686' 'x86_64')
+source=("http://www.selenic.com/smem/download/$pkgname-$pkgver.tar.gz")
+md5sums=('dd849102610aadb9f64379db09e73d41')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i '1s/python$/python2/' smem
+ make smemcap
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm755 smem "$pkgdir/usr/bin/smem"
+ install -Dm755 smemcap "$pkgdir/usr/bin/smemcap"
+ install -Dm644 smem.8 "$pkgdir/usr/share/man/man8/smem.8"
+}
+
diff --git a/community/smtube/PKGBUILD b/community/smtube/PKGBUILD
new file mode 100644
index 000000000..75e841a48
--- /dev/null
+++ b/community/smtube/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 93959 2013-07-12 01:36:36Z speps $
+# Maintainer : speps <speps at aur dot archlinux dot org>
+# Contributor: Andreas Schnaiter <rc.poison@gmail.com>
+
+pkgname=smtube
+pkgver=1.7
+pkgrel=1
+pkgdesc="A small youtube browser"
+arch=('i686' 'x86_64')
+url="http://smplayer.sourceforge.net"
+license=('GPL')
+depends=('qt4')
+optdepends=('mplayer: play videos with MPlayer'
+ 'smplayer: play videos with SMPlayer'
+ 'gnome-mplayer: play videos with GNOME MPlayer'
+ 'kdemultimedia-dragonplayer: play videos with Dragon Player'
+ 'totem: play videos with Totem'
+ 'vlc: play videos with VLC')
+install="$pkgname.install"
+source=("http://downloads.sourceforge.net/smplayer/$pkgname-$pkgver.tar.bz2")
+md5sums=('d9a954e1b337f0c850dcfc6063255056')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make PREFIX=/usr QMAKE=qmake-qt4 LRELEASE=lrelease-qt4
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make PREFIX=/usr DESTDIR="$pkgdir/" install
+}
diff --git a/community/smtube/smtube.install b/community/smtube/smtube.install
new file mode 100644
index 000000000..029294d67
--- /dev/null
+++ b/community/smtube/smtube.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/sniffit/PKGBUILD b/community/sniffit/PKGBUILD
new file mode 100644
index 000000000..de69794b6
--- /dev/null
+++ b/community/sniffit/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 91957 2013-05-30 09:44:15Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com>
+
+pkgname=sniffit
+pkgver=0.3.7.beta
+pkgrel=13
+pkgdesc="Very good packet sniffer for unix with ncurses interactive mode"
+arch=('i686' 'x86_64')
+url="http://packages.ubuntu.com/source/sniffit"
+#seems the website are out, ubuntu have all sources
+#url=http://reptile.rug.ac.be/~coder/sniffit/sniffit.html"
+license=('GPL')
+depends=('ncurses' 'libpcap')
+makedepends=('libtool')
+source=("http://archive.ubuntu.com/ubuntu/pool/universe/s/${pkgname}/${pkgname}_${pkgver}.orig.tar.gz"
+ 'sniffit-fix.patch')
+md5sums=('2697cc18878480199fe6db1e61134d5a'
+ 'e66e45dac8fd088accd62160cf8b569f')
+
+build() {
+ cd "${srcdir}"
+ patch -Np0 < ${srcdir}/sniffit-fix.patch
+
+ cd "${srcdir}/${pkgname}.${pkgver}"
+
+ rm -f config.sub config.guess
+ cp /usr/share/libtool/config/config.{guess,sub} .
+
+ ./configure --prefix=/usr --no-recursion --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}.${pkgver}"
+ install -d -m0755 -g root -o root ${pkgdir}/usr/{bin,share/licenses/${pkgname}}
+ install -D -m0744 -g root -o root sniffit ${pkgdir}/usr/bin/sniffit
+ install -D -m0644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}
+}
diff --git a/community/sniffit/sniffit-fix.patch b/community/sniffit/sniffit-fix.patch
new file mode 100644
index 000000000..e933c70cb
--- /dev/null
+++ b/community/sniffit/sniffit-fix.patch
@@ -0,0 +1,937 @@
+--- sniffit.0.3.7.beta.orig/sniffit.5
++++ sniffit.0.3.7.beta/sniffit.5
+@@ -122,7 +122,6 @@
+ a) Send by hosts '100.100.12.*'
+ b) Send from/to 100.100.12.2 (useless line)
+ c) deselecting all WWW packets on the subnet
+-.ni
+
+ .SH AUTHOR
+ Brecht Claerhout <coder@reptile.rug.ac.be>
+--- sniffit.0.3.7.beta.orig/sn_structs.h
++++ sniffit.0.3.7.beta/sn_structs.h
+@@ -67,7 +67,7 @@
+ struct snif_mask /* struct for mask */
+ {
+ _32_bit source_ip, destination_ip;
+- _32_bit short source_port, destination_port;
++ _16_bit source_port, destination_port;
+ };
+
+ /* (packet generation) */
+--- sniffit.0.3.7.beta.orig/sniffit.0.3.7.c
++++ sniffit.0.3.7.beta/sniffit.0.3.7.c
+@@ -48,15 +48,15 @@
+ {
+ printf (
+ "usage: %s [-xdabvnN] [-P proto] [-A char] [-p port] [(-r|-R) recordfile]\n"
+- " [-l sniflen] [-L logparam] [-F snifdevice] [-M plugin]\n"
++ " [-l sniflen] [-L logparam] [-F snifdevice] [-M plugin]\n",
++ prog_name);
+ #ifdef INCLUDE_INTERFACE
+- " [-D tty]"
++ printf ( " [-D tty]"
+ " (-t<Target IP> | -s<Source IP>)"
+- " | (-i|-I) | -c<config file>]\n",
++ " | (-i|-I) | -c<config file>]\n");
+ #else
+- " (-t<Target IP> | -s<Source IP>) | -c<config file>]\n",
++ printf ( " (-t<Target IP> | -s<Source IP>) | -c<config file>]\n");
+ #endif
+- prog_name);
+ printf ("Plugins Available:\n");
+ #ifdef PLUGIN0_NAME
+ printf (" 0 -- %s\n", PLUGIN0_NAME);
+--- sniffit.0.3.7.beta.orig/sn_analyse.c
++++ sniffit.0.3.7.beta/sn_analyse.c
+@@ -151,16 +151,18 @@
+ {
+ char workbuf1[MTU];
+ char *wb_dummy;
++ char *p;
++ size_t len = info.DATA_len <= MTU-1 ? info.DATA_len : MTU-1;
+
+- strncpy(workbuf1,data,info.DATA_len);
+- workbuf1[info.DATA_len]=0;
++ strncpy(workbuf1,data,len);
++ workbuf1[len]=0;
+ strlower(workbuf1);
+
+- if(strstr(workbuf1,"mail from")!=NULL)
++ if((p=strstr(workbuf1,"mail from"))!=NULL)
+ {
+ char workbuf2[MTU];
+
+- strcpy(workbuf2, strstr(workbuf1,"mail from"));
++ strcpy(workbuf2, p);
+ if(strchr(workbuf2,13)!=NULL) /* remove trailing enter */
+ {wb_dummy=strchr(workbuf2,13); *wb_dummy=0;}
+ if(strchr(workbuf2,10)!=NULL)
+@@ -168,11 +170,11 @@
+ print_mail(filename,workbuf2);
+ }
+
+- if(strstr(workbuf1,"rcpt to")!=NULL)
++ if((p=strstr(workbuf1,"rcpt to"))!=NULL)
+ {
+ char workbuf2[MTU];
+
+- strcpy(workbuf2, strstr(workbuf1,"rcpt to"));
++ strcpy(workbuf2, p);
+ if(strchr(workbuf2,13)!=NULL) /* remove trailing enter */
+ {wb_dummy=strchr(workbuf2,13); *wb_dummy=0;}
+ if(strchr(workbuf2,10)!=NULL)
+--- sniffit.0.3.7.beta.orig/README.FIRST
++++ sniffit.0.3.7.beta/README.FIRST
+@@ -6,7 +6,7 @@
+ * No illegal activities are encouraged! *
+ # Please read the LICENSE file #
+ * *
+-# Sniffit grew a little upon it's original intentions and is now #
++# Sniffit grew a little upon its original intentions and is now #
+ * extended for network debugging (UDP, ICMP, netload, etc.) *
+ #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
+ * Libpcap library *
+@@ -45,19 +45,19 @@
+
+ I hope you enjoy this beta version. Like always, I removed some bugs. There
+ is a new 'logging' feature. It is now possible to record traffic with
+-Sniffit and process it later! (it is completely different from te logging
++Sniffit and process it later! (it is completely different from the logging
+ done in the 0.3.6 version, that is known to some hardcore Sniffit users)
+ Please take a minute to skim through the text and read the passages marked
+ with a '*', these are the new features.
+ (Please read BETA-TESTING)
+
+-I use the libpcap library developped at Berkeley Laboratory, for easy
++I use the libpcap library developed at Berkeley Laboratory, for easy
+ porting (Read the licence).
+
+ 0.1 Credits and contact
+ -----------------------
+
+-Credits go to (in order of apperance on the Sniffit scene):
++Credits go to (in order of appearance on the Sniffit scene):
+ Wim Vandeputte <wvdputte@reptile.rug.ac.be>,
+ best friend and UNIX guru, for support, testing and
+ providing me with a WWW site.
+@@ -71,17 +71,17 @@
+ Qing Long, for the bash/zsh libpcap/configure script.
+ Guy Gustavson, for giving me a FreeBSD account.
+ Woju <woju@freebsd.ee.ntu.edu.tw>, for the ncurses SunOS/FreeBSD fixing,
+- and for his other effords.
++ and for his other efforts.
+ Amlan Saha <eng40607@nus.sg>, for adding Packet Generation to
+ Sniffit, and adding other features (not implemented yet).
+ I'm sure that in the near future you will see more of his
+ work in Sniffit.
+ Shudoh Kazuyuki, for changing getaddrbyname() and improving the
+ config-file interpreting.
+- Fyodor <fyodor@dhp.com>, for pointing out the hidious small
++ Fyodor <fyodor@dhp.com>, for pointing out the hideous small
+ fragments problem.
+ David O'Brien <obrien@nuxi.com>, for netbsd information.
+- everybody, who ever mailed me with sugestions help, etc...
++ everybody, who ever mailed me with suggestions help, etc...
+
+ Also a big thanks to my Beta testers (alphabetically, I hope)...
+ Charles G Stuart <charles.stuart@juno.com> IRIX / RedHat LINUX
+@@ -91,7 +91,7 @@
+
+ And many others who wish to be anonymous....
+
+-Sugestions and comments can be sent to:
++Suggestions and comments can be sent to:
+ coder@reptile.rug.ac.be
+
+ Brecht Claerhout
+@@ -99,10 +99,10 @@
+ 8700 Tielt
+ Belgium
+
+-The original distribution program can be optained from (my site):
++The original distribution program can be obtained from (my site):
+ http://sniffit.rug.ac.be/sniffit/sniffit.html
+
+-MIND YOU: this program is ran as root, and thus could easily contain
++MIND YOU: this program is run as root, and thus could easily contain
+ dangerous trojans. If you get it from the above site you can
+ safely compile and use it.
+ (no trojan versions are discovered yet.. it's just a warning)
+@@ -178,7 +178,7 @@
+ -v Show version and exit (just added because it's such a
+ wide spread option)
+ -t <IP nr/name> tells the sniffer to check out packets GOING TO <IP>
+- -s <IP nr/name> tells the sniffer to check out packets COMMING FROM <IP>
++ -s <IP nr/name> tells the sniffer to check out packets COMING FROM <IP>
+ You can use the '@' wildcard (only IP NUMBERS of course).
+ e.g. -t 199.145.@
+ -t 199.14@
+@@ -197,15 +197,15 @@
+ Parameters for all modes:
+ -F <device> force sniffit to use a network device
+ (READ 3.2 ON THIS SUBJECT, IMPORTANT)
+- -n Turn of IP checksum checking. This can show you
++ -n Turn off IP checksum checking. This can show you
+ bogus packets. (mind you ARP, RARP, other non-IP
+ packets will show up bogus too) (compatible with
+ ALL options)
+- -N Disables all functions that Sniffit has build in, usefull
++ -N Disables all functions that Sniffit has build in, useful
+ for wanting to run ONLY a plugin
+
+ Parameters for not running in -i:
+- -b does both -t and -s, doesn't mather what function you used
++ -b does both -t and -s, doesn't matter what function you used
+ (-t or -s)
+ -d Dump mode, shows the packets on the screen in bytes (not
+ like tcpdump). For test purposes. (numbers are hex)
+@@ -231,7 +231,7 @@
+ They can be combined.
+ -p <port> Logs connections on port <port>, 0 means all ports, default
+ is 0 (all), look out with that on loaded nets!
+- -l <length> Ammount of information to log (default 300 bytes).
++ -l <length> Amount of information to log (default 300 bytes).
+ Length 0 logs everything. (look out with diskspace when
+ logging everything!)
+ -M <Plugin> Activate Plugin nr. <Plugin>, for a list on all plugins
+@@ -260,7 +260,7 @@
+
+ Some examples:
+ Imagine the following setup: 2 hosts on a subnet, one is running the
+- sniffer (sniffit.com), the otherone is 66.66.66.7 (target.com).
++ sniffer (sniffit.com), the other one is 66.66.66.7 (target.com).
+ 1. You want to test if the sniffer is working:
+ sniffit:~/# sniffit -d -p 7 -t 66.66.66.7
+ and in another window:
+@@ -272,7 +272,7 @@
+ 3. Root of target.com tells me he gets strange ftp connections and
+ wants to find out the commands typed:
+ sniffit:~/# sniffit -p 21 -l 0 -t 66.66.66.7
+- 4. You want to read all incomming and outgoing mail on target.com:
++ 4. You want to read all incoming and outgoing mail on target.com:
+ sniffit:~/# sniffit -p 25 -l 0 -b -t 66.66.66.7 &
+ or
+ sniffit:~/# sniffit -p 25 -l 0 -b -s 66.66.66.7 &
+@@ -314,9 +314,9 @@
+ F5 or '5' : Start a program 'sniffit_key5' with arguments
+ <from IP> <from port> <to IP> <to port>
+ If the program doesn't exist, nothing is done. Sniffit should
+- be in the same path as sniffit was STARTED FROM (not necessarely
++ be in the same path as sniffit was STARTED FROM (not necessarily
+ the path sniffit is stored in)
+- This is usefull for interactive connection killing or extra
++ This is useful for interactive connection killing or extra
+ monitoring. A little shell script can always transform the
+ arguments given and pass them on to other programs.
+ F6 or '6' : Same as F5 or '5', but with program 'sniffit_key6'
+@@ -330,12 +330,12 @@
+ the config.h file to change this (could be needed if y'r
+ computer is slow).
+ 'g' : Generate Packets!
+- Sniffit is now able to generate some trafic load. Currently
+- this is a 'underdevelloped' feature with very few options,
++ Sniffit is now able to generate some traffic load. Currently
++ this is a 'underdeveloped' feature with very few options,
+ but it will be expanded a lot...
+ Currently only UDP packets are generated. When pressing 'G'
+- you will be asked the source/dest IP/port and how much packets
+- are needed to be transmitted.
++ you will be asked the source/dest IP/port and how many packets
++ are to be transmitted.
+ Packets contain the line: "This Packet was fired with Sniffit!"
+ 'r' : Reset.. clears all current connections from memory and restarts.
+
+@@ -348,14 +348,14 @@
+
+ When forcing network devices, sniffit tries to find out what device it is.
+ If sniffit recognises the name, everything is okay.
+-If it does not recognise the name it will set the variable
+-FORCED_HEAD_LENGHTH to the ethernet headlength. The ethernet headlength
+-is the length in bytes of an ethernet packet hearder.
+-So if you have to force a non-ethernet device, that is not recognised by
++If it does not recognise the name it will set the ethernet headlength
++according to the compiled-in value FORCED_HEAD_LENGTH. The ethernet
++headlength is the length in bytes of an ethernet packet header.
++So if you have to force a non-ethernet device that is not recognised by
+ sniffit, make sure you change that headlength correctly in the 'sn_config.h'
+ file.
+
+-The -F option was added, because I noticed devicenames can differ from
++The -F option was added, because I noticed device names can differ from
+ system to system, and because some ppl have multiple devices present.
+ When having problems with this option, please think twice before you mail me.
+
+@@ -370,7 +370,7 @@
+
+ The configfile should have lines with the following format:
+ <field1> <field2> <field3> <field4> [<field5>]
+-(seperators are spaces (any number of), NO TABS!!!)
++(separators are spaces (any number of), NO TABS!!!)
+
+ Lines that don't match this pattern are discarded, so standard unix
+ comments '#' can be used in this file... (this also means that if you
+@@ -399,10 +399,10 @@
+ host : The (de)selection criteria involves a hostname.
+ port : similar, ... a portnumber
+ mhosts : The (de)selection criteria involves multiple-hosts, like
+- with the wildcars in 0.3.0, but without the 'x'
++ with the wildcards in 0.3.0, but without the 'x'
+
+ <field4> can be:
+-* either a hostname, a portnumber, a service name or a numbet-dot partial
++* either a hostname, a portnumber, a service name or a number-dot partial
+ * notation indicating multiple hosts depending on <field3>
+ * (service names like 'ftp' are resolved as the services available
+ * present on the host that runs Sniffit, and translated into a port nr)
+@@ -411,7 +411,7 @@
+ a portnumber or service name, if <field3> was 'host' or 'mhosts'
+
+
+- Maybe it would have been wise to mention explicitely, that the config-file
++ Maybe it would have been wise to mention explicitly, that the config-file
+ currently only works with TCP packets.
+
+ examples:
+@@ -425,7 +425,7 @@
+ a) Send by host 100.100.12.2
+ b) Send by host 100.100.12.3 from port 1400
+ c) Send to coder.sniffit.com
+- d) All packets on our subnet going to or comming from a telnet port.
++ d) All packets on our subnet going to or coming from a telnet port.
+
+ 2. another example:
+ select both mhosts 100.100.12.
+@@ -436,7 +436,7 @@
+ b) EXCEPT the WWW packets
+ c) BUT showing the WWW packets concerning enemy.sniffit.com
+
+- The config file in interpreted SEQUENTIAL, so mixing up those lines
++ The config file is interpreted SEQUENTIALLY, so mixing up those lines
+ could have unwanted results e.g.:
+ select both mhosts 100.100.12.
+ select both host enemy.sniffit.org
+@@ -455,7 +455,7 @@
+ select both mhosts 2
+ deselect both mhosts 1 80
+ deselect both mhosts 2 80
+- This would show you all subnet trafic excluding WWW trafic
++ This would show you all subnet traffic excluding WWW traffic
+ (concerning port 80.)
+
+ 4. example:
+@@ -476,12 +476,12 @@
+ * you will like it more this way.
+ *
+ * Loglevels are now activated by '-L <logparam>'.
+-* The folowing <logparam>'s are valid (concatenation is alowed):
++* The following <logparam>'s are valid (concatenation is allowed):
+ *
+ * 'raw':
+ * Log all SYN, FIN, RST packets. This will give you an overview of
+-* all network (TCP) trafic in a 'RAW' way (a connection starting could
+-* gives you at least 2 SYN packets, etc...).
++* all network (TCP) traffic in a 'RAW' way (a connection starting could
++* give you at least 2 SYN packets, etc...).
+ * This is a great way to waste diskspace...
+ * Messages are:
+ * Connection initiated. (SYN)
+@@ -507,7 +507,7 @@
+ * A '~' in the login and passwords fields can be a nonprintable
+ * character (if in the beginning of a field, probably due to an early
+ * start of registration) or a '~'.
+-* This all makes it sound a little messy, but I 'testdrived' a lot and
++* This all makes it sound a little messy, but I 'test-drove' a lot and
+ * was pleased with the results after adding some funky shit (if y'r
+ * interested have a look at in function 'packethandler' in
+ * sniffit.*.c)
+@@ -521,7 +521,7 @@
+ *
+ * 'mail':
+ * Interested in who writes mail to who? Well you get all senders and
+-* recepients nicely logged with this feature (port 25 mail).
++* recipients nicely logged with this feature (port 25 mail).
+
+
+ 4. The output
+@@ -563,7 +563,7 @@
+ connections, you will need to use 'joe' or something else that can
+ support control chars (look for '-A <char>' below).
+ Telnet 'negotiates' (binary) in the beginning of every connection, and
+- 'catting' a output file, will most of the time show nothing (due to
++ 'catting' an output file, will most of the time show nothing (due to
+ control chars).
+ Of course when logging mail, there are no problems.
+ The new '-A <char>' takes care of the control characters, that way you
+@@ -612,14 +612,14 @@
+
+ - UDP Packets (not logged, displayed)
+
+- You get the package id. When using -d, -a you get the contence of the
++ You get the package id. When using -d, -a you get the contents of the
+ package. (pretty basic)
+
+
+ 4.2 Logfile
+ -----------
+
+-If you use a configfile (-c) and enable the Logging option a logfile is
++If you use a configfile (-c) and enable the Logging option, a logfile is
+ created. Unless you set 'logfile' in the config file, that file will be
+ named 'sniffit.log'.
+ It will contain lines with the following FIXED format:
+@@ -635,7 +635,7 @@
+
+ 3) Lines containing other data (future versions), will NOT begin with '['
+ and will have also easily interpretable formats.
+- Other data is e.g. packet contence
++ Other data is e.g. packet contents
+
+ I do this because I can imagine (when this is more expanded) that people
+ will use their own parsers for these logfiles. Well, if you respect those 3
+@@ -651,13 +651,13 @@
+ Some other notes:
+
+ - Sniffers can only be run by ROOT
+- - Sniffers can only log packets that 'travel' on THEIR ethernetcable.
++ - Sniffers can only log packets that 'travel' on THEIR ethernet cable.
+ So there has to be some host on your subnet involved (either as
+ sender or receiver).
+- - Working with '-d' or '-a' give you raw packets, they are still
+- packed in IP, when logging to files, only send data is logged,
++ - Working with '-d' or '-a' gives you raw packets, they are still
++ packed in IP, when logging to files, only sent data is logged,
+ the packets are 'unwrapped'.
+- - Sniffers can NORMALY not be detected by outsiders (or outsiders
++ - Sniffers can NORMALLY not be detected by outsiders (or outsiders
+ SHOULD not be able to...).
+ Unfortunately some systems contain bugs that will allow outsiders to
+ probe your network device for PROMISC mode (which is a good indication
+--- sniffit.0.3.7.beta.orig/sniffit.8
++++ sniffit.0.3.7.beta/sniffit.8
+@@ -39,7 +39,7 @@
+ is a packet sniffer for TCP/UDP/ICMP packets.
+ .B sniffit
+ is able to give you very detailed technical info on these
+-packets (SEQ, ACK, TTL, Window, ...) but also packet contence in
++packets (SEQ, ACK, TTL, Window, ...) but also packet contents in
+ different formats (hex or plain text, ...).
+ .LP
+ .B sniffit
+@@ -76,7 +76,7 @@
+
+ .IP "-t Target-IP"
+ Only process packets TO Target-IP. If Target-IP is in dot-nr notation,
+-'x' is allowed as wildcard. (e.g. '-t 157.193.x', '-t x', ...)
++\'x' is allowed as wildcard. (e.g. '-t 157.193.x', '-t x', ...)
+ .I "(NOT compatible with: '-s' '-i' '-I' '-c' '-v' '-L')"
+
+ .IP "-s Source-IP"
+@@ -84,7 +84,7 @@
+ .I "(NOT compatible with: '-t' '-i' '-I' '-c' '-v' '-L')"
+
+ .IP -b
+-'both' mode, together with '-s' or '-t', only process FROM/TO the IP
++\'both' mode, together with '-s' or '-t', only process FROM/TO the IP
+ specified by '-s' or '-t'
+ .I "(NOT compatible with: '-t' '-i' '-I' '-c' '-v' '-L')"
+
+@@ -115,7 +115,7 @@
+ .IP "-R <file>"
+ Record all traffic in
+ .I <file>
+-.This file can then be fed to Sniffit with the '-r' option.
++This file can then be fed to Sniffit with the '-r' option.
+ .I "(Needs a selection parameter like '-c' '-t' '-s')"
+ .I "(NOT compatible with '-i' '-I' '-v' '-L' '-r')"
+
+@@ -149,12 +149,12 @@
+ .I "(NOT compatible with: '-i' 'I' '-v')"
+
+ .IP -d
+-'dump mode', shows the packets on the screen (stdout) instead of logging
++\'dump mode', shows the packets on the screen (stdout) instead of logging
+ into files (default). Data is printed in bytes (hex).
+ .I "(NOT compatible with: '-i' 'I' '-v' '-L')"
+
+ .IP -a
+-'dump mode', same of '-d' but outputs ASCII. Non printable chars are
++\'dump mode', same of '-d' but outputs ASCII. Non printable chars are
+ replaced by '.'.
+ ('-d' and '-a' mix without any problem)
+ .I "(NOT compatible with: '-i' '-I' '-v' '-L')"
+@@ -193,8 +193,7 @@
+ can be found with
+ .I ifconfig
+ (see
+-.BR ifconfig (8)
+-).
++.BR ifconfig (8)).
+ .B sniffit
+ supports ethernet and PPP by default. Read
+ .B README.FIRST
+@@ -210,7 +209,7 @@
+ .B Plugin
+ , for a list on all plugins compiled in your version, just type '
+ .B sniffit
+-'. Read all about Plugins in the PLUGIN-HOWTO (READ IT!)
++\'. Read all about Plugins in the PLUGIN-HOWTO (READ IT!)
+ .I "(NOT compatible with: '-i' '-I' '-v')"
+
+ .IP "-L logparam"
+@@ -235,7 +234,7 @@
+ receiving host (port 'o').
+
+ .SH "DUMP MODE ('-d' and/or '-a')"
+-Output is dumped to stdout, the packet contence is shown in it's
++Output is dumped to stdout, the packet contents is shown in it's
+ unwrapped form (the complete IP packet).
+
+ .SH "INTERACTIVE MODE ('-i' or '-I')"
+@@ -320,7 +319,7 @@
+ .SH "IP ICMP UDP LOGGING"
+ Information on these packets is dumped to stdout. Packet
+ Filtering options only refer to TCP and UDP packets.
+-The contence of UDP packets is only shown when enabling '-a' or '-d'.
++The contents of UDP packets is only shown when enabling '-a' or '-d'.
+
+ .SH AUTHOR
+ Brecht Claerhout <coder@reptile.rug.ac.be>
+--- sniffit.0.3.7.beta.orig/sn_interface.c
++++ sniffit.0.3.7.beta/sn_interface.c
+@@ -5,6 +5,7 @@
+
+ #ifdef INCLUDE_INTERFACE
+ #include <signal.h>
++#include <termios.h>
+ #include <unistd.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+@@ -513,8 +514,11 @@
+
+ void screen_exit (void)
+ {
+-clear();
+ endwin();
++/* next line added by Edward Betts <edward@debian.org>, should not be needed
++ * because endwin should be calling it, without this the console has no echo
++ * after exiting in an xterm */
++reset_shell_mode();
+ };
+
+ void mem_exit (void)
+--- sniffit.0.3.7.beta.orig/sn_logfile.c
++++ sniffit.0.3.7.beta/sn_logfile.c
+@@ -44,42 +44,42 @@
+ void print_ftp_user (char *conn, char *user)
+ {
+ char line[250];
+-sprintf(line,"%s: USER [%s]",conn,user);
++snprintf(line,sizeof(line),"%s: USER [%s]",conn,user);
+ print_logline (line);
+ }
+
+ void print_ftp_pass(char *conn, char *pass)
+ {
+ char line[250];
+-sprintf(line,"%s: PASS [%s]",conn,pass);
++snprintf(line,sizeof(line),"%s: PASS [%s]",conn,pass);
+ print_logline (line);
+ }
+
+ void print_login (char *conn, char *login)
+ {
+ char line[250];
+-sprintf(line,"%s: login [%s]",conn,login);
++snprintf(line,sizeof(line),"%s: login [%s]",conn,login);
+ print_logline (line);
+ }
+
+ void print_mail (char *conn, char *msg)
+ {
+ char line[250];
+-sprintf(line,"%s: mail [%s]",conn,msg);
++snprintf(line,sizeof(line),"%s: mail [%s]",conn,msg);
+ print_logline (line);
+ }
+
+ void print_pwd (char *conn, char *pwd)
+ {
+ char line[250];
+-sprintf(line,"%s: password [%s]",conn,pwd);
++snprintf(line,sizeof(line),"%s: password [%s]",conn,pwd);
+ print_logline (line);
+ }
+
+ void print_conn (char *conn, char *msg)
+ {
+ char line[250];
+-sprintf(line,"%s: %s",conn,msg);
++snprintf(line,sizeof(line),"%s: %s",conn,msg);
+ print_logline (line);
+ }
+
+--- sniffit.0.3.7.beta.orig/Makefile.in
++++ sniffit.0.3.7.beta/Makefile.in
+@@ -26,9 +26,8 @@
+ @echo "Succesfull compilation..."
+
+ sniffit: $(SNIFFIT) $(DEP_FILES)
+- cd libpcap; make; cd ..
++# cd libpcap; make; cd ..
+ $(CC) $(EXE_FLAG) $(SNIFFIT) $(EXE_OBJ) $(EXE_OPT) $(LIBS) $(DEFS) $(OS_OPT)
+- strip sniffit
+
+ sn_cfgfile.o: sn_cfgfile.h sn_cfgfile.c sn_defines.h sn_structs.h sn_config.h
+ $(CC) $(OBJ_FLAG) sn_cfgfile.c $(OBJ_OPT) $(DEFS)
+@@ -52,12 +51,12 @@
+
+ #Clean up everthing...
+ clean:
+- cd libpcap; make clean; rm -f config.cache; cd ..
++# cd libpcap; make clean; rm -f config.cache; cd ..
+ rm -f Makefile
+ rm -f config.cache
+ rm -f config.status
+ rm -f config.log
+- rm -f ./libpcap/config.cache
+- rm -f ./libpcap/config.status
+- rm -f ./libpcap/config.log
++# rm -f ./libpcap/config.cache
++# rm -f ./libpcap/config.status
++# rm -f ./libpcap/config.log
+ rm -f *.o sniffit
+--- sniffit.0.3.7.beta.orig/debian/rules
++++ sniffit.0.3.7.beta/debian/rules
+@@ -0,0 +1,28 @@
++#!/usr/bin/make -f
++
++build:
++ dh build --before configure
++ cp /usr/share/misc/config.guess .
++ cp /usr/share/misc/config.sub .
++ ./configure --prefix=/usr --no-recursion
++ $(MAKE) OBJ_OPT="" EXE_OPT="-lpcap"
++ dh build --after build
++
++clean:
++ dh clean
++ rm -f config.sub config.guess
++
++install: build
++ dh install --before dh_auto_install
++ dh_install sniffit usr/sbin
++ dh_installman sniffit.5 sniffit.8
++ dh_installchangelogs HISTORY
++ dh install --after dh_auto_install
++
++binary-arch: install
++ dh binary-arch
++
++binary-indep: install
++ dh binary-indep
++
++binary: binary-arch binary-indep
+--- sniffit.0.3.7.beta.orig/debian/README
++++ sniffit.0.3.7.beta/debian/README
+@@ -0,0 +1,48 @@
++sniffit for Debian
++----------------------
++
++What follows are one of the previous maintainers, Patrick J. Edwards
++<edwards@cambridgenet.sk.ca>, thoughts on this package, and its security
++implications.
++
++Notes on Security
++-----------------
++ This program is highly dangerous, with this program hackers no
++longer need qcrack or crack for your system. Instead, they can just wait
++till a user logs in and *BAM* they have a new password. So the point is,
++this program should be promptly removed in any of the following situations:
++
++ 1. You are in doubt of the security of your system. Granted that
++ some one who has already creatively aquired (meaning hacked) root
++ can install this program his/her self there is no point in
++ pre-installing this program for them.
++
++ 2. You have a tendency to act unethically and snoop on you users for
++ no apparent reason. "Good" system admins won't do this.
++
++ 3. You don't actively search for security holes in your system. If
++ your not doing this and you box is on the Internet 24/7 perhaps you
++ should.
++
++Notes on Usage
++--------------
++ 1. Don't use this program unless you have to, and once you're done
++with it uninstall it.
++ 2. Don't scan all ports and all addresses in the hoping of catching
++a hacker cause you won't, you'll just have vast quantities of logs to search
++through and very little disk space. Instead wait till you recognize that you
++have a program user/hacker and then find out what the person is doing (how
++the hacker is trying to penetrate the system) then start using sniffit to
++collect your evidence against the offender. [I know this is flying in the
++face of traditional anti-system-terrorism policies but it leads into my next
++point]
++ 3. If you persist in using sniffit as a security net for your system
++DON'T. Plain and simple. Instead of trying to catch the hacker who has
++already hacked into your system spend your efforts security proofing your
++system (up to date versions on cron, sendmail, libraries, etc -- almost
++anything that runs as root or sudo).
++
++ The overall point is:
++ "Practice preventive medicine not reactive."
++
++ -- Edward Betts <edward@debian.org> Sun, 12 Sep 1999 11:04:08 +0100
+--- sniffit.0.3.7.beta.orig/debian/sniffit.docs
++++ sniffit.0.3.7.beta/debian/sniffit.docs
+@@ -0,0 +1,4 @@
++BETA-TESTING
++PLUGIN-HOWTO
++README.FIRST
++sniffit-FAQ
+--- sniffit.0.3.7.beta.orig/debian/compat
++++ sniffit.0.3.7.beta/debian/compat
+@@ -0,0 +1 @@
++7
+--- sniffit.0.3.7.beta.orig/debian/control
++++ sniffit.0.3.7.beta/debian/control
+@@ -0,0 +1,16 @@
++Source: sniffit
++Section: net
++Priority: optional
++Maintainer: William Vera <billy@billy.com.mx>
++Standards-Version: 3.8.0
++Build-Depends: debhelper (>= 7), libpcap-dev, libncurses5-dev, autotools-dev
++
++Package: sniffit
++Architecture: any
++Depends: ${shlibs:Depends}
++Description: packet sniffer and monitoring tool
++ sniffit is a packet sniffer for TCP/UDP/ICMP packets.
++ sniffit is able to give you very detailed technical info
++ on these packets (SEC, ACK, TTL, Window, ...) but also
++ packet contents in different formats (hex or plain text,
++ etc. ).
+--- sniffit.0.3.7.beta.orig/debian/copyright
++++ sniffit.0.3.7.beta/debian/copyright
+@@ -0,0 +1,40 @@
++This package was debianized by Damjan Marion <dmarion@debian.org> on
++Tue, 7 Apr 1998 22:57:01 +0200.
++
++It was taken over by Edward Betts <edward@debian.org> on
++Fri, 12 Nov 1999 23:20:20 +0000
++
++It was downloaded from
++http://reptile.rug.ac.be/~coder/sniffit/files/sniffit.0.3.7.beta.tar.gz
++
++Upstream Author: Brecht Claerhout
++
++Copyright:
++
++Sniffit 0.3.7 Copyright (c) 1996-1998 Brecht Claerhout
++All rights reserved.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions
++are met:
++1. Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++2. Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++3. The name of the author may not be used to endorse or promote products
++ derived from this software without specific prior written permission.
++4. Redistribution of source code must be conform with the 'libpcap'
++ copyright conditions, if that library is included.
++
++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.
++
+--- sniffit.0.3.7.beta.orig/debian/changelog
++++ sniffit.0.3.7.beta/debian/changelog
+@@ -0,0 +1,165 @@
++sniffit (0.3.7.beta-13) unstable; urgency=low
++
++ * New maintainer. (Closes: #465931).
++ * Some format corrections on the man pages (sniffit(5) sniffit(8)).
++ * Don't include config.{sub,guess} in .diff.gz
++
++ -- William Vera <billy@billy.com.mx> Sat, 07 Jun 2008 12:56:48 -0500
++
++sniffit (0.3.7.beta-12) unstable; urgency=low
++
++ * Use debhelper v7, rules file minimisation.
++ * Makefile.in: don't strip binary Closes: #438032
++ * debian/control: Updated to Standards-Version: 3.7.3, no changes needed
++
++ -- Edward Betts <edward@debian.org> Wed, 30 Apr 2008 11:00:19 +0100
++
++sniffit (0.3.7.beta-11) unstable; urgency=low
++
++ * Acknowledge NMU
++ * sn_structs.h: Sitting at Debcamp, fixing FTBFS bugs, and Alberto Gonzalez
++ Iniesta <agi@debian.org> sitting next to me points out there is one in
++ this package. Thanks to Joshua Kwan <joshk@triplehelix.org> for the patch
++ to fix it. (closes: #195548)
++ * config.{guess,sub}: updated
++ * debian/control: Updated to Standards-Version: 3.6.0, no changes needed
++ * sn_interface.c: sniffit was leaving echo turned off when exiting from the
++ interactive mode in an xterm, added reset_shell_mode() to screen_exit()
++ and it works. This should not be needed because endwin should be calling
++ it.
++
++ -- Edward Betts <edward@debian.org> Mon, 14 Jul 2003 10:50:24 +0200
++
++sniffit (0.3.7.beta-10.1) unstable; urgency=low
++
++ * Non maintainer upload
++ * Rebuilt with new libpcap to remove dependency on libpcap0, which I
++ got removed from unstable by accident. Sorry about this...
++
++ -- Torsten Landschoff <torsten@debian.org> Sat, 10 Aug 2002 11:37:33 +0200
++
++sniffit (0.3.7.beta-10) unstable; urgency=low
++
++ * README.FIRST: apply patch "James R. Van Zandt" <jrv@mitre.org> to correct
++ spelling and other mistakes in README.FIRST
++
++ -- Edward Betts <edward@debian.org> Thu, 13 Dec 2001 17:35:25 +0000
++
++sniffit (0.3.7.beta-9) unstable; urgency=low
++
++ * debian/control: Standards-Version: 3.5.5
++ * debian/rules: Support DEB_BUILD_OPTIONS
++ * config.{guess,sub}: updated files to version from libtool package
++ (Closes: Bug#103633)
++ * sniffit.c: applied patch from Bug#103633
++
++ -- Edward Betts <edward@debian.org> Thu, 5 Jul 2001 10:44:23 +0200
++
++sniffit (0.3.7.beta-8) unstable; urgency=low
++
++ * debian/control: Standards-Version: 3.5.2
++ * debian/rules: Changed to debhelper 3
++ * debian/rules: Removed dh_suidregister
++ * debian/rules: Removed dh_testversion
++ * debian/rules: Changed dh_installman to dh_installmanpages
++ * debian/rules: Support DEB_BUILD_OPTIONS
++
++ -- Edward Betts <edward@debian.org> Sun, 25 Mar 2001 04:41:39 -0700
++
++sniffit (0.3.7.beta-7) frozen unstable; urgency=high
++
++ * debian/rules: do not install pcap.3 (closes: Bug#77769).
++ * debian/control: updated Standards-Version to 3.2.1
++ * debian/control: added version to build-depends on debhelper for lintian:
++ E: sniffit: package-uses-dh_testversion-but-lacks-versioned-build-depends
++ * Package now lintian clean.
++
++ -- Edward Betts <edward@debian.org> Tue, 28 Nov 2000 07:00:24 -0700
++
++sniffit (0.3.7.beta-6.1) frozen unstable; urgency=high
++
++ * Non maintainer upload.
++ * [security] sn_logfile.c: Replaced sprintfs by snprintfs fixing a buffer
++ overflow (bugtraq).
++ * [security] sn_analyse.c: Limit length of TCP packets to the buffer
++ size (buffer overflow with MTU > 5000).
++
++ -- Torsten Landschoff <torsten@debian.org> Fri, 26 May 2000 08:40:14 +0200
++
++sniffit (0.3.7.beta-6) frozen unstable; urgency=low
++
++ * Update config.{guess,sub} to versions from the automake package.
++ Should now compile better on ARM (closes: Bug#56915).
++
++ -- Edward Betts <edward@debian.org> Thu, 3 Feb 2000 09:22:16 +0000
++
++sniffit (0.3.7.beta-5) unstable; urgency=low
++
++ * debian/control: updated Standards-Version to 3.1.1
++ * debian/control: added Build-Depends.
++ * debian/rules: rewritten.
++
++ -- Edward Betts <edward@debian.org> Thu, 6 Jan 2000 23:12:32 +0000
++
++sniffit (0.3.7.beta-4) unstable; urgency=low
++
++ * Recompile to try and fix bug #49979
++
++ -- Edward Betts <edward@debian.org> Fri, 12 Nov 1999 23:21:17 +0000
++
++sniffit (0.3.7.beta-3) unstable; urgency=low
++
++ * Changed to Debhelper 2.0
++ * Updated to Standards-Version: 3.0.1
++ * This package includes a copy of libpcap, ensured that it is not built
++ * Moved config file /etc/sniffit.cfg to
++ /usr/doc/sniffit/examples/sample_config_file
++ * Lintain clean
++
++ -- Edward Betts <edward@debian.org> Fri, 12 Nov 1999 23:20:20 +0000
++
++sniffit (0.3.7.beta-2) unstable; urgency=low
++
++ * Updated /usr/doc/sniffit/copyright from README.FIRST (fixes #39765)
++ * sniffit 0.3.7.beta is free software (BSD-like license)
++ * Changed section to main/net
++ * Added conffiles entry for /etc/sniffit.cfg
++
++ -- Hamish Moffatt <hamish@debian.org> Fri, 25 Jun 1999 22:30:00 +1000
++
++sniffit (0.3.7.beta-1) unstable; urgency=low
++
++ * QA group upload
++ * New upstream release (fixes #28510)
++ * Fixed spelling error in description (fixes #26859)
++ * Recompiled with ncurses 4.0 (fixes #37431)
++
++ -- Hamish Moffatt <hamish@debian.org> Sun, 23 May 1999 01:03:00 +1000
++
++sniffit (0.3.5-3) frozen unstable; urgency=low
++
++ * After long waiting for new copyright i must move it to non-free
++ (fixes bug #21832)
++
++ -- Damjan Marion <dmarion@debian.org> Thu, 28 May 1998 15:10:35 +0200
++
++sniffit (0.3.5-2) frozen unstable; urgency=low
++
++ * Moved to frozen (resurected from orphaned)
++ * Updated to standards 2.4.1.0
++
++ -- Damjan Marion <dmarion@debian.org> Tue, 15 Apr 1998 23:56:11 +0200
++
++sniffit (0.3.5-1) unstable; urgency=low
++
++ * New maintainer
++ * New upstream release
++ * Updated to standards 2.4.0.0
++
++ -- Damjan Marion <dmarion@debian.org> Tue, 7 Apr 1998 22:57:01 +0200
++
++sniffit (0.3.3-1) unstable; urgency=low
++
++ * Initial Release.
++
++ -- Patrick J. Edwards <edwards@cambridgenet.sk.ca> Mon, 17 Mar 1997 17:46:24 -0600
+--- sniffit.0.3.7.beta.orig/debian/sniffit.examples
++++ sniffit.0.3.7.beta/debian/sniffit.examples
+@@ -0,0 +1,3 @@
++sample_config_file
++dns_plugin.plug
++dummy_plugin.plug
+--- sniffit.0.3.7.beta.orig/debian/watch
++++ sniffit.0.3.7.beta/debian/watch
+@@ -0,0 +1,2 @@
++version=3
++http://reptile.rug.ac.be /~coder/sniffit/files/ sniffit.(.*)\.tar\.gz debian uupdate
diff --git a/community/snownews/PKGBUILD b/community/snownews/PKGBUILD
new file mode 100644
index 000000000..ff4cdfc9f
--- /dev/null
+++ b/community/snownews/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 65455 2012-02-21 05:53:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Christoph 'delmonico' Neuroth <delmonico@gmx.net>
+
+pkgname=snownews
+pkgver=1.5.12
+pkgrel=5
+pkgdesc="Text mode RSS newsreader for Linux and Unix."
+arch=(i686 x86_64)
+url="http://kiza.kcore.de/software/snownews/"
+license=('GPL')
+depends=('libxml2' 'ncurses' 'perl-xml-libxml' 'perl-xml-libxslt' 'openssl')
+source=(http://kiza.kcore.de/software/snownews/download/$pkgname-$pkgver.tar.gz)
+md5sums=('80da8943fc5aa96571924aec0087d4c0')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make install DESTDIR=$pkgdir
+ ln -fs /usr/bin/opml2snow $pkgdir/usr/bin/snow2opml
+}
diff --git a/community/solfege/PKGBUILD b/community/solfege/PKGBUILD
new file mode 100644
index 000000000..d26440d70
--- /dev/null
+++ b/community/solfege/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 93249 2013-06-29 19:58:40Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: sickhate <sickhate@tux-linux.net>
+
+# TODO: bring in pyalsa, csound, mma
+pkgname=solfege
+pkgver=3.22.0
+pkgrel=1
+pkgdesc="Music education and ear training software"
+arch=('i686' 'x86_64')
+url="http://www.solfege.org/"
+license=('GPL3')
+depends=('pygtk' 'libgtkhtml' 'librsvg')
+makedepends=('ghostscript' 'gnome-doc-utils' 'libxslt'
+ 'swig' 'texinfo' 'txt2man')
+optdepends=('timidity++: or any MIDI player & MIDI-WAV converter'
+ 'mpg123: or any MP3 player'
+ 'lame: or any WAV-MP3 converter'
+ 'vorbis-tools: or any OGG player & WAV-OGG converter'
+ 'lilypond: for generating print-outs & score sheets'
+ 'texlive-bin: use LaTeX to replace HTML reports with DVI')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('8a5275d6db3ff181068441d7e32ad7f3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # python2 fix for entire build
+ export PYTHON=/usr/bin/python2
+
+ # python2 fix for rogue Makefile
+ sed -i 's/shell python/shell python2/g' help/Makefile
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # python2 fix for runtime
+ for i in $(find "$pkgdir" -name '*.py'); do
+ sed -i 's:^#!.*bin/python$:#!/usr/bin/python2:' "$i"
+ sed -i 's:^#!.*bin/env python$:#!/usr/bin/env python2:' "$i"
+ done
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/spacefm/PKGBUILD b/community/spacefm/PKGBUILD
new file mode 100644
index 000000000..50a3db338
--- /dev/null
+++ b/community/spacefm/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 86533 2013-03-18 17:58:18Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: IgnorantGuru http://igurublog.wordpress.com/contact-ignorantguru/
+# Contributor: ridikulus_rat <the.ridikulus.rat@gmail.com>
+
+pkgname=spacefm
+pkgver=0.8.7
+pkgrel=1
+pkgdesc='Multi-panel tabbed file manager'
+arch=('i686' 'x86_64')
+url='http://ignorantguru.github.com/spacefm/'
+license=('GPL3')
+install=$pkgname.install
+depends=('gtk3' 'shared-mime-info' 'desktop-file-utils' 'startup-notification' 'udev')
+makedepends=('intltool' 'gettext')
+optdepends=('lsof: device processes'
+ 'eject: eject media'
+ 'wget: plugin download'
+ 'gksu: perform as root functionality'
+ 'udevil: mount as non-root user and mount networks'
+ 'udisks: mount as non-root user'
+ 'udisks2: mount as non-root user')
+source=(https://raw.github.com/IgnorantGuru/$pkgname/master/packages/$pkgver/$pkgname-$pkgver.tar.xz)
+sha256sums=('3e48f276df4505b69d24fbeb4b5a869cf316503e2395bef467a29a5207b23947')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --disable-pixmaps \
+ --with-gtk3
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/spacefm/spacefm.install b/community/spacefm/spacefm.install
new file mode 100644
index 000000000..f2954aa73
--- /dev/null
+++ b/community/spacefm/spacefm.install
@@ -0,0 +1,14 @@
+post_install() {
+ update-mime-database usr/share/mime > /dev/null
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ [ -d /usr/share/icons/Faenza ] && gtk-update-icon-cache -q -t -f /usr/share/icons/Faenza
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/spawn-fcgi/PKGBUILD b/community/spawn-fcgi/PKGBUILD
new file mode 100644
index 000000000..6b20d17c9
--- /dev/null
+++ b/community/spawn-fcgi/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 57827 2011-11-03 10:14:07Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Aaron Bull Schaefer <aaron@elasticdog.com>
+# Contributor: Felix Hanley <felix@seconddrawer.com.au>
+
+pkgname=spawn-fcgi
+pkgver=1.6.3
+pkgrel=2
+pkgdesc='A FastCGI process manager for web applications'
+arch=('i686' 'x86_64')
+url='http://redmine.lighttpd.net/projects/spawn-fcgi/'
+license=('BSD')
+depends=('glibc')
+source=("http://www.lighttpd.net/download/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('787ed2f88d2204bf1fe4fbd6e509d1d7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm0644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/community/speed-dreams/PKGBUILD b/community/speed-dreams/PKGBUILD
new file mode 100644
index 000000000..897000c29
--- /dev/null
+++ b/community/speed-dreams/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 90093 2013-05-06 19:39:40Z foutrelis $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Adrián Chaves Fernández, aka Gallaecio <adriyetichaves@gmail.com>
+# Contributor: Shahar Weiss <sweiss4@gmx.net> (build() code from his TORCS' PKGBUILD)
+pkgname=speed-dreams
+pkgver=2.0.0
+_pkgver=2.0.0-r4687
+pkgrel=3
+pkgdesc="A racing simulator with rich graphics and physics"
+arch=('i686' 'x86_64')
+url="http://speed-dreams.sourceforge.net/"
+license=('GPL2')
+depends=('sdl' 'freealut' 'freeglut' 'libpng' 'libxi' 'libxmu' 'libxrandr' 'plib>=1.8.3' 'libjpeg' 'zlib' 'enet' 'speed-dreams-data' 'glu')
+makedepends=('cmake' 'p7zip' 'mesa')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-src-base-${_pkgver}.tar.xz"
+ "http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-src-unmaintained-${_pkgver}.tar.xz"
+ "http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-src-wip-cars-and-tracks-${_pkgver}.tar.xz"
+ "http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-src-hq-cars-and-tracks-${_pkgver}.tar.xz"
+ "http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-src-more-hq-cars-and-tracks-${_pkgver}.tar.xz"
+ "${pkgname}.desktop")
+md5sums=('a6842887fc289ed6057be2ba9d2afaa2'
+ '8505c46aae6ce56a43353b8899d40ce4'
+ 'edcc842291737dbb13a3083252bf51d4'
+ '57cf5c475491294ce1fb249e2dc0273b'
+ 'c8ab7ef068fa3fbe67d2b3246b30ea8a'
+ '634f8cb8f4f96686c8049c8a025e72d0')
+
+build() {
+ cmake . \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSD_BINDIR=/usr/bin \
+ -DSD_DATADIR=/usr/share/speed-dreams-2 \
+ -DSD_LIBDIR=/usr/lib/speed-dreams-2 \
+ -DOPTION_OFFICIAL_ONLY=ON
+
+ make
+}
+
+package() {
+ make DESTDIR="${pkgdir}/" install
+
+ rm -r "${pkgdir}/usr/share"
+
+ install -Dm644 "data/data/icons/icon.png" "${pkgdir}/usr/share/pixmaps/speed-dreams.png"
+ install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/speed-dreams.desktop"
+
+ mkdir -p "${pkgdir}/usr/share/doc/${pkgname}"
+ cp -r doc/* "${pkgdir}/usr/share/doc/${pkgname}/"
+
+ # Symlink for backwards compatibility
+ cd "${pkgdir}/usr/bin"
+ ln -s speed-dreams-2 speed-dreams
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/speed-dreams/speed-dreams.desktop b/community/speed-dreams/speed-dreams.desktop
new file mode 100644
index 000000000..7dc83f659
--- /dev/null
+++ b/community/speed-dreams/speed-dreams.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Speed Dreams
+Comment=The Open Racing Car Simulator Fork
+Exec=speed-dreams-2
+Icon=speed-dreams.png
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Application;Game;
diff --git a/community/spice-gtk3/PKGBUILD b/community/spice-gtk3/PKGBUILD
new file mode 100644
index 000000000..803951dfc
--- /dev/null
+++ b/community/spice-gtk3/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 93453 2013-07-03 13:44:50Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Stefano Facchini <stefano.facchini@gmail.com>
+# Contributor: Jonathan Lestrelin <zanko@daemontux.org>
+# Derived from the spice-gtk PKGBUILD by
+# Contributor: Lucio Zara <pennega@gmail.com>
+
+pkgname=spice-gtk3
+pkgver=0.20
+pkgrel=2
+pkgdesc="A Gtk client and libraries for SPICE remote desktop servers (gtk3 version)."
+arch=('x86_64' 'i686')
+url="http://spice-space.org"
+license=('GPL')
+makedepends=('intltool' 'vala' 'python2-pyparsing' 'python2-gobject')
+depends=('libpulse' 'gtk3' 'spice' 'libusb' 'usbredir')
+conflicts=('spice-gtk')
+options=('!libtool')
+source=("http://www.spice-space.org/download/gtk/spice-gtk-$pkgver.tar.bz2")
+sha256sums=('b1355823b0ceb2e118c1f9a9a602ccab78e1e2edf2d93f71fa42d3bc85ca75df')
+
+build() {
+ cd "$srcdir/spice-gtk-$pkgver"
+ sed -i 's,/usr/bin/env python,/usr/bin/python2,' spice-common/spice_codegen.py
+ ./configure --prefix=/usr \
+ --with-gtk=3.0 \
+ --with-python \
+ --enable-vala \
+ --enable-smartcard=no
+ make
+}
+
+package() {
+ cd "$srcdir/spice-gtk-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/spice/PKGBUILD b/community/spice/PKGBUILD
new file mode 100644
index 000000000..7f033c5a5
--- /dev/null
+++ b/community/spice/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 93446 2013-07-03 13:23:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Patryk Kowalczyk < patryk at kowalczyk dot ws>
+
+pkgname=spice
+pkgver=0.12.3
+pkgrel=1
+pkgdesc="SPICE client and server"
+arch=('i686' 'x86_64')
+url="http://spice-space.org"
+license=('GPL')
+makedepends=(python2 python2-pyparsing qemu mesa)
+depends=(pixman spice-protocol alsa-utils libxrandr libxinerama libsasl openssl celt0.5.1 libgl glu)
+source=(http://spice-space.org/download/releases/$pkgname-$pkgver.tar.bz2)
+md5sums=('f33a682892f6793169f20298b2296449')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ PYTHON=python2 ./configure --prefix=/usr --enable-opengl --enable-client
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/splint/PKGBUILD b/community/splint/PKGBUILD
new file mode 100644
index 000000000..f6559ab07
--- /dev/null
+++ b/community/splint/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 55573 2011-09-14 10:41:16Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=splint
+pkgver=3.1.2
+pkgrel=3
+pkgdesc="A tool for statically checking C programs for security vulnerabilities and coding mistakes"
+arch=('i686' 'x86_64')
+url="http://www.splint.org/"
+license=('GPL')
+depends=('glibc')
+source=("http://www.splint.org/downloads/${pkgname}-${pkgver}.src.tgz"
+ 'splint.sh')
+md5sums=('25f47d70bd9c8bdddf6b03de5949c4fd'
+ '0efb6341b384dc44590989fe3678c96c')
+options=('!makeflags')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m755 "${srcdir}"/splint.sh "${pkgdir}"/etc/profile.d/splint.sh
+}
diff --git a/community/splint/splint.sh b/community/splint/splint.sh
new file mode 100644
index 000000000..6ff8d9181
--- /dev/null
+++ b/community/splint/splint.sh
@@ -0,0 +1,2 @@
+export LCLIMPORTDIR=/usr/share/splint/imports
+export LARCH_PATH=/usr/share/splint/lib
diff --git a/community/splix/PKGBUILD b/community/splix/PKGBUILD
new file mode 100644
index 000000000..9d4f7f6a9
--- /dev/null
+++ b/community/splix/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 65457 2012-02-21 05:54:06Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Francis Carroll (franciscarroll at gmail dot com)
+
+pkgname=splix
+pkgver=2.0.0
+pkgrel=11
+pkgdesc="CUPS drivers for SPL (Samsung Printer Language) printers"
+arch=('i686' 'x86_64')
+url="http://splix.ap2c.org/"
+license=('GPL')
+depends=('libcups' 'gcc-libs' 'ghostscript>=9.02')
+makedepends=('libcups' 'jbigkit' 'krb5')
+install=splix.install
+source=(http://downloads.sourceforge.net/splix/$pkgname-$pkgver.tar.bz2)
+md5sums=('f3aa735c22a926818b3d8b26c9964186')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's#const PPDFile::Value::Value #const PPDFile::Value #' src/ppdfile.cpp
+ make PSTORASTER=gstoraster
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -d "$pkgdir/usr/lib/cups/filter"
+ install -d "$pkgdir/usr/share/cups/model/samsung"
+ make DESTDIR="$pkgdir" install
+ ln -s gstoraster $pkgdir/usr/lib/cups/filter/pstoraster
+}
diff --git a/community/splix/splix.install b/community/splix/splix.install
new file mode 100644
index 000000000..ee1eb78a3
--- /dev/null
+++ b/community/splix/splix.install
@@ -0,0 +1,19 @@
+post_install() {
+ cat <<EOF
+Installation of the color profile for color printers:
+-----------------------------------------------------
+
+ Color printers needs color profile files to get better results. These
+files are provided by your printer manufacturer and you have to install them
+manually. To do that, download the linux official drivers and locate the "cms"
+directory. Install this directory to "/usr/share/cups/model/\$MANUFACTURER/cms".
+
+ Samsung color profile files are available at:
+ (Then use MANUFACTURER=samsung)
+ http://splix.ap2c.org/samsung_cms.tar.bz2
+EOF
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community/spring/PKGBUILD b/community/spring/PKGBUILD
new file mode 100644
index 000000000..c0b82407c
--- /dev/null
+++ b/community/spring/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 94070 2013-07-13 20:40:02Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Arkham <arkham at archlinux dot us>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+pkgname=spring
+pkgver=0.94.1
+_pkgver=94.1
+pkgrel=4
+pkgdesc='A free 3D real-time-strategy (RTS) game engine'
+arch=('i686' 'x86_64')
+url="http://springrts.com/"
+license=('GPL')
+depends=('openal' 'glew' 'boost-libs' 'freetype2' 'devil' 'libvorbis' 'sdl'
+ 'libxcursor' 'curl' 'shared-mime-info' 'desktop-file-utils')
+makedepends=('boost' 'cmake' 'zip' 'xz' 'p7zip' 'python2' 'java-environment' 'mesa')
+optdepends=('python2: python-based bots'
+ 'java-runtime: java-based bots')
+install=spring.install
+source=(http://downloads.sourceforge.net/sourceforge/springrts/${pkgname}_${_pkgver}_src.tar.lzma
+ gcc48.patch)
+md5sums=('bafc1e889bed31666553efc387a13b49'
+ '8de391795f4a2e78be51a129dcd4dec2')
+
+build() {
+ bsdtar -xf ${pkgname}_${_pkgver}_src.tar.lzma
+
+ cd spring_${_pkgver}
+
+ patch -Np1 < $srcdir/gcc48.patch
+
+ cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DDATADIR=share/spring \
+ -DCMAKE_SKIP_RPATH=YES
+ make
+}
+
+package() {
+ cd spring_${_pkgver}
+
+ make DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir/etc/spring"
+ echo '$HOME/.spring' > "$pkgdir/etc/spring/datadir"
+}
+
+# vim sw=2:ts=2 et:
diff --git a/community/spring/boost-1.50.patch b/community/spring/boost-1.50.patch
new file mode 100644
index 000000000..f8a8b5695
--- /dev/null
+++ b/community/spring/boost-1.50.patch
@@ -0,0 +1,2539 @@
+diff -ru spring_89.0/rts/Game/Camera/CameraController.cpp /home/svenstaro/src/spring/rts/Game/Camera/CameraController.cpp
+--- spring_89.0/rts/Game/Camera/CameraController.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/Camera/CameraController.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -59,7 +59,7 @@
+ bool CCameraController::GetUseDistToGroundForIcons() {
+
+ const float3& dir = GetDir().UnsafeNormalize();
+- const float dot = std::min(1.0f, std::max(0.0f, fabs(dir.dot(UpVector))));
++ const float dot = std::min(1.0f, std::max(0.0f, math::fabs(dir.dot(UpVector))));
+
+ if (dot < switchVal) {
+ // flat angle (typical for first person camera)
+diff -ru spring_89.0/rts/Game/Camera/FPSController.cpp /home/svenstaro/src/spring/rts/Game/Camera/FPSController.cpp
+--- spring_89.0/rts/Game/Camera/FPSController.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/Camera/FPSController.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -80,9 +80,9 @@
+ oldHeight = pos.y - gndHeight;
+ }
+
+- dir.x = (float)(cos(camera->rot.x) * sin(camera->rot.y));
+- dir.z = (float)(cos(camera->rot.x) * cos(camera->rot.y));
+- dir.y = (float)(sin(camera->rot.x));
++ dir.x = (float)(math::cos(camera->rot.x) * math::sin(camera->rot.y));
++ dir.z = (float)(math::cos(camera->rot.x) * math::cos(camera->rot.y));
++ dir.y = (float)(math::sin(camera->rot.x));
+ dir.ANormalize();
+ }
+
+diff -ru spring_89.0/rts/Game/Camera/FreeController.cpp /home/svenstaro/src/spring/rts/Game/Camera/FreeController.cpp
+--- spring_89.0/rts/Game/Camera/FreeController.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/Camera/FreeController.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -51,9 +51,9 @@
+ dir = float3(0.0f, -2.0f, -1.0f);
+ dir.ANormalize();
+ if (camera) {
+- const float hDist = sqrt((dir.x * dir.x) + (dir.z * dir.z));
+- camera->rot.y = atan2(dir.x, dir.z);
+- camera->rot.x = atan2(dir.y, hDist);
++ const float hDist = math::sqrt((dir.x * dir.x) + (dir.z * dir.z));
++ camera->rot.y = math::atan2(dir.x, dir.z);
++ camera->rot.x = math::atan2(dir.y, hDist);
+ }
+ pos -= (dir * 1000.0f);
+
+@@ -84,14 +84,14 @@
+
+ // lock the view direction to the target
+ const float3 diff(trackPos - pos);
+- const float rads = atan2(diff.x, diff.z);
++ const float rads = math::atan2(diff.x, diff.z);
+ camera->rot.y = rads;
+
+ const float len2D = diff.Length2D();
+- if (fabs(len2D) <= 0.001f) {
++ if (math::fabs(len2D) <= 0.001f) {
+ camera->rot.x = 0.0f;
+ } else {
+- camera->rot.x = atan2((trackPos.y - pos.y), len2D);
++ camera->rot.x = math::atan2((trackPos.y - pos.y), len2D);
+ }
+
+ camera->UpdateForward();
+@@ -130,11 +130,11 @@
+ if (pos.y < (gndHeight + gndOffset + 1.0f)) {
+ float3 hDir;
+ hDir.y = 0.0f;
+- hDir.x = (float)sin(camera->rot.y);
+- hDir.z = (float)cos(camera->rot.y);
++ hDir.x = (float)math::sin(camera->rot.y);
++ hDir.z = (float)math::cos(camera->rot.y);
+ const float3 gndNormal = ground->GetSmoothNormal(pos.x, pos.z, false);
+ const float dot = gndNormal.dot(hDir);
+- const float gndRotX = (float)acos(dot) - (PI * 0.5f);
++ const float gndRotX = (float)math::acos(dot) - (PI * 0.5f);
+ const float rotXdiff = (gndRotX - camera->rot.x);
+ autoTiltVel = (autoTilt * rotXdiff);
+ }
+@@ -214,8 +214,8 @@
+ // convert the angular velocity into its positional change
+ const float3 diff2 = (pos - trackPos);
+ const float deltaRad = (avel.y * ft);
+- const float cos_val = cos(deltaRad);
+- const float sin_val = sin(deltaRad);
++ const float cos_val = math::cos(deltaRad);
++ const float sin_val = math::sin(deltaRad);
+ pos.x = trackPos.x + ((cos_val * diff2.x) + (sin_val * diff2.z));
+ pos.z = trackPos.z + ((cos_val * diff2.z) - (sin_val * diff2.x));
+ }
+@@ -246,7 +246,7 @@
+ if (pos.y < minHeight) {
+ pos.y = minHeight;
+ if (gndLock) {
+- vel.y = min(fabs(scrollSpeed), ((minHeight - prevPos.y) / ft));
++ vel.y = min(math::fabs(scrollSpeed), ((minHeight - prevPos.y) / ft));
+ } else {
+ vel.y = 0.0f;
+ }
+@@ -263,7 +263,7 @@
+ camera->rot.x = -xRotLimit;
+ avel.x = 0.0f;
+ }
+- camera->rot.y = fmod(camera->rot.y, PI * 2.0f);
++ camera->rot.y = math::fmod(camera->rot.y, PI * 2.0f);
+
+ // setup for the next loop
+ prevVel = vel;
+@@ -277,9 +277,9 @@
+ float3 CFreeController::GetDir() const
+ {
+ float3 dir;
+- dir.x = (float)(sin(camera->rot.y) * cos(camera->rot.x));
+- dir.z = (float)(cos(camera->rot.y) * cos(camera->rot.x));
+- dir.y = (float)(sin(camera->rot.x));
++ dir.x = (float)(math::sin(camera->rot.y) * math::cos(camera->rot.x));
++ dir.z = (float)(math::cos(camera->rot.y) * math::cos(camera->rot.x));
++ dir.y = (float)(math::sin(camera->rot.x));
+ dir.ANormalize();
+ return dir;
+ }
+@@ -373,7 +373,7 @@
+ if ((yDiff * dir.y) >= 0.0f) {
+ pos = float3(newPos.x, h, newPos.z);
+ } else {
+- pos = target - (dir * fabs(yDiff / dir.y));
++ pos = target - (dir * math::fabs(yDiff / dir.y));
+ } // FIXME
+ /*
+ const float oldPosY = pos.y;
+diff -ru spring_89.0/rts/Game/Camera/OrbitController.cpp /home/svenstaro/src/spring/rts/Game/Camera/OrbitController.cpp
+--- spring_89.0/rts/Game/Camera/OrbitController.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/Camera/OrbitController.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -51,8 +51,8 @@
+ const float3 w = (v / v.Length()); // do not normalize v in-place
+
+ const float d = v.Length();
+- const float e = RAD2DEG(acos(v.Length2D() / d));
+- const float r = RAD2DEG(acos(w.x));
++ const float e = RAD2DEG(math::acos(v.Length2D() / d));
++ const float r = RAD2DEG(math::acos(w.x));
+
+ distance = cDistance = d;
+ elevation = cElevation = e;
+@@ -251,12 +251,12 @@
+ float tx = cx;
+
+ tx = cx;
+- cx = cx * cos(beta) + cy * sin(beta);
+- cy = tx * sin(beta) + cy * cos(beta);
++ cx = cx * math::cos(beta) + cy * math::sin(beta);
++ cy = tx * math::sin(beta) + cy * math::cos(beta);
+
+ tx = cx;
+- cx = cx * cos(gamma) - cz * sin(gamma);
+- cz = tx * sin(gamma) + cz * cos(gamma);
++ cx = cx * math::cos(gamma) - cz * math::sin(gamma);
++ cz = tx * math::sin(gamma) + cz * math::cos(gamma);
+
+ return float3(cx, cy, cz);
+ }
+diff -ru spring_89.0/rts/Game/Camera/OverheadController.cpp /home/svenstaro/src/spring/rts/Game/Camera/OverheadController.cpp
+--- spring_89.0/rts/Game/Camera/OverheadController.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/Camera/OverheadController.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -52,7 +52,7 @@
+ move.x = -move.x;
+ move.y = -move.y;
+ }
+- move *= sqrt(move.z) * 200;
++ move *= math::sqrt(move.z) * 200;
+
+ pos.x += move.x * pixelSize * 2.0f * scrollSpeed;
+ pos.z -= move.y * pixelSize * 2.0f * scrollSpeed;
+diff -ru spring_89.0/rts/Game/Camera/RotOverheadController.cpp /home/svenstaro/src/spring/rts/Game/Camera/RotOverheadController.cpp
+--- spring_89.0/rts/Game/Camera/RotOverheadController.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/Camera/RotOverheadController.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -29,7 +29,7 @@
+
+ void CRotOverheadController::KeyMove(float3 move)
+ {
+- move *= sqrt(move.z) * 400;
++ move *= math::sqrt(move.z) * 400;
+
+ float3 flatForward = camera->forward;
+ if(camera->forward.y < -0.9f)
+@@ -68,9 +68,9 @@
+
+ void CRotOverheadController::UpdateVectors()
+ {
+- dir.x=(float)(sin(camera->rot.y) * cos(camera->rot.x));
+- dir.y=(float)(sin(camera->rot.x));
+- dir.z=(float)(cos(camera->rot.y) * cos(camera->rot.x));
++ dir.x=(float)(math::sin(camera->rot.y) * math::cos(camera->rot.x));
++ dir.y=(float)(math::sin(camera->rot.x));
++ dir.z=(float)(math::cos(camera->rot.y) * math::cos(camera->rot.x));
+ dir.ANormalize();
+
+ pos.x = Clamp(pos.x, 0.01f, gs->mapx * SQUARE_SIZE - 0.01f);
+diff -ru spring_89.0/rts/Game/Camera/SmoothController.cpp /home/svenstaro/src/spring/rts/Game/Camera/SmoothController.cpp
+--- spring_89.0/rts/Game/Camera/SmoothController.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/Camera/SmoothController.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -55,7 +55,7 @@
+ move.y = -move.y;
+ }
+
+- move *= sqrt(move.z) * 200.0f;
++ move *= math::sqrt(move.z) * 200.0f;
+
+ const float3 thisMove(move.x * pixelSize * 2.0f * scrollSpeed, 0.0f, -move.y * pixelSize * 2.0f * scrollSpeed);
+
+@@ -103,7 +103,7 @@
+ move.x = -move.x;
+ move.y = -move.y;
+ }
+- move *= sqrt(move.z) * 200.0f;
++ move *= math::sqrt(move.z) * 200.0f;
+
+ const float3 thisMove(move.x * pixelSize * 2.0f * scrollSpeed, 0.0f, -move.y * pixelSize * 2.0f * scrollSpeed);
+
+diff -ru spring_89.0/rts/Game/Camera/TWController.cpp /home/svenstaro/src/spring/rts/Game/Camera/TWController.cpp
+--- spring_89.0/rts/Game/Camera/TWController.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/Camera/TWController.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -35,7 +35,7 @@
+ flatForward.y=0;
+ flatForward.ANormalize();
+
+- move *= sqrt(move.z) * 200;
++ move *= math::sqrt(move.z) * 200;
+ pos += (camera->right * move.x + flatForward * move.y) * scrollSpeed;
+ UpdateVectors();
+ }
+@@ -79,9 +79,9 @@
+
+ camera->rot.x = Clamp(camera->rot.x, -PI * 0.4f, -0.1f);
+
+- dir.x = sin(camera->rot.y) * cos(camera->rot.x);
+- dir.y = sin(camera->rot.x);
+- dir.z = cos(camera->rot.y) * cos(camera->rot.x);
++ dir.x = math::sin(camera->rot.y) * math::cos(camera->rot.x);
++ dir.y = math::sin(camera->rot.x);
++ dir.z = math::cos(camera->rot.y) * math::cos(camera->rot.x);
+ dir.ANormalize();
+ }
+
+diff -ru spring_89.0/rts/Game/Camera.cpp /home/svenstaro/src/spring/rts/Game/Camera.cpp
+--- spring_89.0/rts/Game/Camera.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/Camera.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -89,7 +89,7 @@
+ up.UnsafeANormalize();
+
+ const float aspect = globalRendering->aspectRatio;
+- const float viewx = tan(aspect * halfFov);
++ const float viewx = math::tan(aspect * halfFov);
+ const float viewy = tanHalfFov;
+
+ if (globalRendering->viewSizeY <= 0) {
+@@ -218,9 +218,9 @@
+
+ void CCamera::UpdateForward()
+ {
+- forward.z = cos(rot.y) * cos(rot.x);
+- forward.x = sin(rot.y) * cos(rot.x);
+- forward.y = sin(rot.x);
++ forward.z = math::cos(rot.y) * math::cos(rot.x);
++ forward.x = math::sin(rot.y) * math::cos(rot.x);
++ forward.y = math::sin(rot.x);
+ forward.Normalize();
+ }
+
+@@ -229,7 +229,7 @@
+ {
+ fov = myfov;
+ halfFov = (fov * 0.5f) * (PI / 180.f);
+- tanHalfFov = tan(halfFov);
++ tanHalfFov = math::tan(halfFov);
+ }
+
+
+@@ -330,7 +330,7 @@
+ float3 pInt;
+
+ // prevent DIV0 when calculating line.dir
+- if (fabs(xdir.z) < 0.001f)
++ if (math::fabs(xdir.z) < 0.001f)
+ xdir.z = 0.001f;
+
+ if (ydir.y != 0.0f) {
+diff -ru spring_89.0/rts/Game/CameraHandler.cpp /home/svenstaro/src/spring/rts/Game/CameraHandler.cpp
+--- spring_89.0/rts/Game/CameraHandler.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/CameraHandler.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -139,7 +139,7 @@
+ cameraTimeLeft = std::max(0.0f, (cameraTimeLeft - globalRendering->lastFrameTime));
+ const float nextTime = cameraTimeLeft;
+ const float exp = cameraTimeExponent;
+- const float ratio = 1.0f - (float)pow((nextTime / currTime), exp);
++ const float ratio = 1.0f - (float)math::pow((nextTime / currTime), exp);
+
+ const float deltaFOV = wantedCamFOV - camera->GetFov();
+ const float3 deltaPos = wantedCamPos - camera->pos;
+diff -ru spring_89.0/rts/Game/GameServer.cpp /home/svenstaro/src/spring/rts/Game/GameServer.cpp
+--- spring_89.0/rts/Game/GameServer.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/GameServer.cpp 2012-07-13 06:34:42.936060485 +0200
+@@ -253,7 +253,7 @@
+ // Something in CGameServer::CGameServer borks the FPU control word
+ // maybe the threading, or something in CNet::InitServer() ??
+ // Set single precision floating point math.
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ #endif
+ }
+
+diff -ru spring_89.0/rts/Game/SelectedUnitsAI.cpp /home/svenstaro/src/spring/rts/Game/SelectedUnitsAI.cpp
+--- spring_89.0/rts/Game/SelectedUnitsAI.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/SelectedUnitsAI.cpp 2012-07-13 06:34:43.086060494 +0200
+@@ -179,7 +179,7 @@
+ const float3 sideDir = frontdir.cross(UpVector);
+
+ // calculate so that the units form in an aproximate square
+- float length = 100.0f + (sqrt((float)nbrOfSelectedUnits) * 32.0f);
++ float length = 100.0f + (math::sqrt((float)nbrOfSelectedUnits) * 32.0f);
+
+ // push back some extra params so it confer with a front move
+ c.params.push_back(pos.x + (sideDir.x * length));
+diff -ru spring_89.0/rts/Game/TraceRay.cpp /home/svenstaro/src/spring/rts/Game/TraceRay.cpp
+--- spring_89.0/rts/Game/TraceRay.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/TraceRay.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -75,7 +75,7 @@
+ if (closeFlatLength > length)
+ closeFlatLength = length;
+
+- if (fabs(linear - quadratic * closeFlatLength) < 0.15f) {
++ if (math::fabs(linear - quadratic * closeFlatLength) < 0.15f) {
+ // relatively flat region -> use approximation
+ dif.y -= (linear + quadratic * closeFlatLength) * closeFlatLength;
+
+diff -ru spring_89.0/rts/Game/UI/EndGameBox.cpp /home/svenstaro/src/spring/rts/Game/UI/EndGameBox.cpp
+--- spring_89.0/rts/Game/UI/EndGameBox.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/UI/EndGameBox.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -29,11 +29,11 @@
+
+ if (num == 0) {
+ sprintf(c, "0");
+- } else if (fabs(num) < 10 * mul) {
++ } else if (math::fabs(num) < 10 * mul) {
+ sprintf(c, "%.1f", num);
+- } else if (fabs(num) < 10000 * mul) {
++ } else if (math::fabs(num) < 10000 * mul) {
+ sprintf(c, "%.0f", num);
+- } else if (fabs(num) < 10000000 * mul) {
++ } else if (math::fabs(num) < 10000000 * mul) {
+ sprintf(c, "%.0fk", num / 1000);
+ } else {
+ sprintf(c, "%.0fM", num / 1000000);
+@@ -165,7 +165,7 @@
+ if (dispMode > 0 ) {
+ if ((mx > (box.x1 + 0.01f)) && (mx < (box.x1 + 0.12f)) &&
+ (my < (box.y1 + 0.57f)) && (my > (box.y1 + 0.571f - stats.size()*0.02f))) {
+- int sel = (int) floor(-(my - box.y1 - 0.57f) * 50);
++ int sel = (int) math::floor(-(my - box.y1 - 0.57f) * 50);
+
+ if (button == 1) {
+ stat1 = sel;
+@@ -341,7 +341,7 @@
+
+ if ((mx > box.x1 + 0.01f) && (mx < box.x1 + 0.12f) &&
+ (my < box.y1 + 0.57f) && (my > box.y1 + 0.571f - (stats.size() * 0.02f))) {
+- const int sel = (int) floor(50 * -(my - box.y1 - 0.57f));
++ const int sel = (int) math::floor(50 * -(my - box.y1 - 0.57f));
+
+ glColor4f(0.7f, 0.2f, 0.2f, guiAlpha);
+ glDisable(GL_TEXTURE_2D);
+diff -ru spring_89.0/rts/Game/UI/EndGameBox.h /home/svenstaro/src/spring/rts/Game/UI/EndGameBox.h
+--- spring_89.0/rts/Game/UI/EndGameBox.h 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/UI/EndGameBox.h 2012-07-13 06:34:43.066060493 +0200
+@@ -60,8 +60,8 @@
+ if (team >= 0 && static_cast<size_t>(team) >= values.size()) {
+ values.resize(team + 1);
+ }
+- if (values[team].size() > 0 && fabs(value-values[team].back()) > maxdif) {
+- maxdif = fabs(value-values[team].back());
++ if (values[team].size() > 0 && math::fabs(value-values[team].back()) > maxdif) {
++ maxdif = math::fabs(value-values[team].back());
+ }
+
+ values[team].push_back(value);
+diff -ru spring_89.0/rts/Game/UI/MouseCursor.cpp /home/svenstaro/src/spring/rts/Game/UI/MouseCursor.cpp
+--- spring_89.0/rts/Game/UI/MouseCursor.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/UI/MouseCursor.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -355,7 +355,7 @@
+ return;
+ }
+
+- animTime = fmod(animTime + globalRendering->lastFrameTime, animPeriod);
++ animTime = math::fmod(animTime + globalRendering->lastFrameTime, animPeriod);
+
+ if (animTime < frames[currentFrame].startTime) {
+ currentFrame = 0;
+diff -ru spring_89.0/rts/Game/UI/ResourceBar.cpp /home/svenstaro/src/spring/rts/Game/UI/ResourceBar.cpp
+--- spring_89.0/rts/Game/UI/ResourceBar.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/UI/ResourceBar.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -48,11 +48,11 @@
+
+ if (num == 0)
+ sprintf(c, "0");
+- if ( fabs(num) < (10 * mul)) {
++ if ( math::fabs(num) < (10 * mul)) {
+ sprintf(c, "%.1f", num);
+- } else if (fabs(num) < (10000 * mul)) {
++ } else if (math::fabs(num) < (10000 * mul)) {
+ sprintf(c, "%.0f", num);
+- } else if (fabs(num) < (10000000 * mul)) {
++ } else if (math::fabs(num) < (10000000 * mul)) {
+ sprintf(c, "%.0fk", num / 1000);
+ } else {
+ sprintf(c, "%.0fM", num / 1000000);
+@@ -180,11 +180,11 @@
+
+ smallFont->SetTextColor(1.0f, 0.3f, 0.3f, 1.0f); // Expenses
+ smallFont->glFormat(metalx + 0.044f, box.y1, labelsFontSize, FONT_DESCENDER | fontOptions, "-%s(-%s)",
+- FloatToSmallString(fabs(myTeam->prevMetalPull)).c_str(),
+- FloatToSmallString(fabs(myTeam->metalSent)).c_str());
++ FloatToSmallString(math::fabs(myTeam->prevMetalPull)).c_str(),
++ FloatToSmallString(math::fabs(myTeam->metalSent)).c_str());
+ smallFont->glFormat(energyx + 0.044f, box.y1, labelsFontSize, FONT_DESCENDER | fontOptions, "-%s(-%s)",
+- FloatToSmallString(fabs(myTeam->prevEnergyPull)).c_str(),
+- FloatToSmallString(fabs(myTeam->energySent)).c_str());
++ FloatToSmallString(math::fabs(myTeam->prevEnergyPull)).c_str(),
++ FloatToSmallString(math::fabs(myTeam->energySent)).c_str());
+
+ smallFont->SetTextColor(0.4f, 1.0f, 0.4f, 0.95f); // Income
+ smallFont->glFormat(metalx + 0.044f, box.y2 - 2*globalRendering->pixelY, labelsFontSize, FONT_ASCENDER | fontOptions, "+%s",
+diff -ru spring_89.0/rts/Game/UI/SelectionKeyHandler.cpp /home/svenstaro/src/spring/rts/Game/UI/SelectionKeyHandler.cpp
+--- spring_89.0/rts/Game/UI/SelectionKeyHandler.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/UI/SelectionKeyHandler.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -367,9 +367,9 @@
+ camera->rot.x=-1;
+
+ float3 wantedCamDir;
+- wantedCamDir.x=(float)(sin(camera->rot.y)*cos(camera->rot.x));
+- wantedCamDir.y=(float)(sin(camera->rot.x));
+- wantedCamDir.z=(float)(cos(camera->rot.y)*cos(camera->rot.x));
++ wantedCamDir.x=(float)(math::sin(camera->rot.y)*math::cos(camera->rot.x));
++ wantedCamDir.y=(float)(math::sin(camera->rot.x));
++ wantedCamDir.z=(float)(math::cos(camera->rot.y)*math::cos(camera->rot.x));
+ wantedCamDir.ANormalize();
+
+ camHandler->GetCurrentController().SetPos(sel->pos - wantedCamDir*800);
+diff -ru spring_89.0/rts/Game/UI/UnitTracker.cpp /home/svenstaro/src/spring/rts/Game/UI/UnitTracker.cpp
+--- spring_89.0/rts/Game/UI/UnitTracker.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Game/UI/UnitTracker.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -297,8 +297,8 @@
+ modPlanePos.y = minHeight;
+ }
+
+- trackPos += (modPlanePos - trackPos) * (1 - pow(0.95f, deltaTime));
+- trackDir += (u->frontdir - trackDir) * (1 - pow(0.90f, deltaTime));
++ trackPos += (modPlanePos - trackPos) * (1 - math::pow(0.95f, deltaTime));
++ trackDir += (u->frontdir - trackDir) * (1 - math::pow(0.90f, deltaTime));
+ trackDir.ANormalize();
+
+ camera->pos = trackPos;
+diff -ru spring_89.0/rts/lib/gml/gmlsrv.h /home/svenstaro/src/spring/rts/lib/gml/gmlsrv.h
+--- spring_89.0/rts/lib/gml/gmlsrv.h 2012-07-10 00:10:09.000000000 +0200
++++ /home/svenstaro/src/spring/rts/lib/gml/gmlsrv.h 2012-07-13 06:34:43.209393834 +0200
+@@ -361,7 +361,7 @@
+ if (gmlShareLists) {
+ ogc[thr]->WorkerThreadPost();
+ }
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ while(dorun) {
+ gmlClientSub();
+ }
+@@ -452,7 +452,7 @@
+ Threading::SetThreadName("sim");
+ Watchdog::RegisterThread(WDT_SIM, true);
+ set_threadnum(GML_SIM_THREAD_NUM);
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ while(dorun) {
+ gmlClientAuxSub();
+ }
+diff -ru spring_89.0/rts/lib/headlessStubs/sdlstub_cppbit.cpp /home/svenstaro/src/spring/rts/lib/headlessStubs/sdlstub_cppbit.cpp
+--- spring_89.0/rts/lib/headlessStubs/sdlstub_cppbit.cpp 2012-07-10 00:10:09.000000000 +0200
++++ /home/svenstaro/src/spring/rts/lib/headlessStubs/sdlstub_cppbit.cpp 2012-07-13 06:35:00.626061514 +0200
+@@ -12,10 +12,16 @@
+ extern "C" {
+ #endif
+
++#if (BOOST_VERSION >= 105000) //boost 1.50 renamed TIME_UTC to TIME_UTC_
++ #define SPRING_UTCTIME boost::TIME_UTC_
++#else
++ #define SPRING_UTCTIME boost::TIME_UTC
++#endif
++
+ int stub_sdl_getSystemMilliSeconds() {
+
+ boost::xtime t;
+- boost::xtime_get(&t, boost::TIME_UTC);
++ boost::xtime_get(&t, SPRING_UTCTIME);
+ const int milliSeconds = t.sec * 1000 + (t.nsec / 1000000);
+ return milliSeconds;
+ }
+@@ -23,7 +29,7 @@
+ void stub_sdl_sleepMilliSeconds(int milliSeconds) {
+
+ boost::xtime t;
+- boost::xtime_get(&t, boost::TIME_UTC);
++ boost::xtime_get(&t, SPRING_UTCTIME);
+ t.nsec += 1000000 * milliSeconds;
+ boost::thread::sleep(t);
+ }
+diff -ru spring_89.0/rts/lib/streflop/streflopC.cpp /home/svenstaro/src/spring/rts/lib/streflop/streflopC.cpp
+--- spring_89.0/rts/lib/streflop/streflopC.cpp 2012-07-10 00:10:10.000000000 +0200
++++ /home/svenstaro/src/spring/rts/lib/streflop/streflopC.cpp 2012-07-13 06:34:42.939393819 +0200
+@@ -9,16 +9,16 @@
+ #endif
+
+ void streflop_init_Simple() {
+- streflop_init<Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ }
+
+ void streflop_init_Double() {
+- streflop_init<Double>();
++ streflop::streflop_init<streflop::Double>();
+ }
+
+ #if defined(Extended)
+ void streflop_init_Extended() {
+- streflop_init<Extended>();
++ streflop::streflop_init<streflop::Extended>();
+ }
+ #endif // defined(Extended)
+
+diff -ru spring_89.0/rts/lib/streflop/streflop_cond.h /home/svenstaro/src/spring/rts/lib/streflop/streflop_cond.h
+--- spring_89.0/rts/lib/streflop/streflop_cond.h 2012-07-10 00:10:10.000000000 +0200
++++ /home/svenstaro/src/spring/rts/lib/streflop/streflop_cond.h 2012-07-13 06:34:42.906060483 +0200
+@@ -11,8 +11,6 @@
+
+ #if defined(STREFLOP_X87) || defined(STREFLOP_SSE) || defined(STREFLOP_SOFT)
+ #include "streflop.h"
+-using namespace streflop;
+-
+ namespace math {
+ using namespace streflop;
+ }
+@@ -20,6 +18,7 @@
+ #include <cmath>
+ namespace math {
+ using std::fabs;
++ // We are using fastmath::sqrt_sse instead!
+ // using std::sqrt;
+ using std::sin;
+ using std::cos;
+diff -ru spring_89.0/rts/Map/BasicMapDamage.cpp /home/svenstaro/src/spring/rts/Map/BasicMapDamage.cpp
+--- spring_89.0/rts/Map/BasicMapDamage.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Map/BasicMapDamage.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -33,7 +33,7 @@
+
+ for (int a = 0; a <= CRATER_TABLE_SIZE; ++a) {
+ const float r = a / float(CRATER_TABLE_SIZE);
+- const float d = cos((r - 0.1f) * (PI + 0.3f)) * (1 - r) * (0.5f + 0.5f * cos(std::max(0.0f, r * 3 - 2) * PI));
++ const float d = math::cos((r - 0.1f) * (PI + 0.3f)) * (1 - r) * (0.5f + 0.5f * math::cos(std::max(0.0f, r * 3 - 2) * PI));
+ craterTable[a] = d;
+ }
+
+@@ -83,7 +83,7 @@
+ const float* curHeightMap = readmap->GetCornerHeightMapSynced();
+ const float* orgHeightMap = readmap->GetOriginalHeightMapSynced();
+ const unsigned char* typeMap = readmap->GetTypeMapSynced();
+- const float baseStrength = -pow(strength, 0.6f) * 3 / mapHardness;
++ const float baseStrength = -math::pow(strength, 0.6f) * 3 / mapHardness;
+ const float invRadius = 1.0f / radius;
+
+ for (int y = e->y1; y <= e->y2; ++y) {
+@@ -111,7 +111,7 @@
+ orgHeightMap[y * gs->mapxp1 + x];
+
+ if (prevDif * dif > 0.0f) {
+- dif /= fabs(prevDif) * 0.1f + 1;
++ dif /= math::fabs(prevDif) * 0.1f + 1;
+ }
+
+ e->squares.push_back(dif);
+@@ -148,7 +148,7 @@
+ orgHeightMap[z * gs->mapxp1 + x];
+
+ if (prevDif * dif > 0.0f) {
+- dif /= fabs(prevDif) * 0.1f + 1;
++ dif /= math::fabs(prevDif) * 0.1f + 1;
+ }
+
+ totalDif += dif;
+diff -ru spring_89.0/rts/Map/Ground.cpp /home/svenstaro/src/spring/rts/Map/Ground.cpp
+--- spring_89.0/rts/Map/Ground.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Map/Ground.cpp 2012-07-13 06:34:43.086060494 +0200
+@@ -433,8 +433,8 @@
+
+ float3 CGround::GetSmoothNormal(float x, float y, bool synced) const
+ {
+- int sx = (int) floor(x / SQUARE_SIZE);
+- int sy = (int) floor(y / SQUARE_SIZE);
++ int sx = (int) math::floor(x / SQUARE_SIZE);
++ int sy = (int) math::floor(y / SQUARE_SIZE);
+
+ if (sy < 1)
+ sy = 1;
+diff -ru spring_89.0/rts/Map/SM3/Plane.cpp /home/svenstaro/src/spring/rts/Map/SM3/Plane.cpp
+--- spring_89.0/rts/Map/SM3/Plane.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Map/SM3/Plane.cpp 2012-07-13 06:34:43.066060493 +0200
+@@ -15,7 +15,7 @@
+ a = ry1*rz2 - ry2*rz1;
+ b = rz1*rx2 - rz2*rx1;
+ c = rx1*ry2 - rx2*ry1;
+- float len = (float)sqrt(a*a + b*b + c*c);
++ float len = (float)math::sqrt(a*a + b*b + c*c);
+ a /= len;
+ b /= len;
+ c /= len;
+@@ -37,10 +37,10 @@
+ bool Plane::EpsilonCompare(const Plane& pln, float epsilon)
+ {
+ Plane t;
+- t.a = fabs(a - pln.a);
+- t.b = fabs(b - pln.b);
+- t.c = fabs(c - pln.c);
+- t.d = fabs(d - pln.d);
++ t.a = math::fabs(a - pln.a);
++ t.b = math::fabs(b - pln.b);
++ t.c = math::fabs(c - pln.c);
++ t.d = math::fabs(d - pln.d);
+ if (t.a > epsilon || t.b > epsilon || t.c > epsilon || t.d > epsilon) {
+ return false;
+ }
+diff -ru spring_89.0/rts/Map/SM3/terrain/Lightcalc.cpp /home/svenstaro/src/spring/rts/Map/SM3/terrain/Lightcalc.cpp
+--- spring_89.0/rts/Map/SM3/terrain/Lightcalc.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Map/SM3/terrain/Lightcalc.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -197,7 +197,7 @@
+ continue;
+ }
+
+- float len = sqrt(dx*dx + dy*dy);
++ float len = math::sqrt(dx*dx + dy*dy);
+ const float step = 5.0f;
+ float invLength2d = step / len;
+ dx *= invLength2d;
+diff -ru spring_89.0/rts/Map/SM3/terrain/Textures.cpp /home/svenstaro/src/spring/rts/Map/SM3/terrain/Textures.cpp
+--- spring_89.0/rts/Map/SM3/terrain/Textures.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Map/SM3/terrain/Textures.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -248,7 +248,7 @@
+ }
+
+ // flatness=dotproduct of surface normal with up vector
+- float slope = 1.0f - fabs(norm_y);
++ float slope = 1.0f - math::fabs(norm_y);
+
+ if (slope < gi->minSlope - gi->minSlopeFuzzy) {
+ bm->at(x,y) = 0.0f;
+@@ -307,7 +307,7 @@
+ Vector3 n;
+
+ if (sx*sx + sy*sy < 32*32) {
+- const int sz = (int)sqrt(static_cast<float>(32 * 32 - sx*sx - sy*sy));
++ const int sz = (int)math::sqrt(static_cast<float>(32 * 32 - sx*sx - sy*sy));
+ n = Vector3(sx, sy, sz);
+ n.ANormalize();
+ }
+diff -ru spring_89.0/rts/Map/SMF/Legacy/LegacyMeshDrawer.cpp /home/svenstaro/src/spring/rts/Map/SMF/Legacy/LegacyMeshDrawer.cpp
+--- spring_89.0/rts/Map/SMF/Legacy/LegacyMeshDrawer.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Map/SMF/Legacy/LegacyMeshDrawer.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -99,7 +99,7 @@
+ const int minz = bty * smfReadMap->bigTexSize;
+ const int maxz = minz + smfReadMap->bigTexSize;
+ const float miny = readmap->currMinHeight;
+- const float maxy = fabs(cam->pos.y);
++ const float maxy = math::fabs(cam->pos.y);
+
+ const float3 mins( 0, miny, minz);
+ const float3 maxs(smfReadMap->mapSizeX, maxy, maxz);
+diff -ru spring_89.0/rts/Map/SMF/ROAM/Patch.cpp /home/svenstaro/src/spring/rts/Map/SMF/ROAM/Patch.cpp
+--- spring_89.0/rts/Map/SMF/ROAM/Patch.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Map/SMF/ROAM/Patch.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -405,7 +405,7 @@
+
+ // Variance of this triangle is the actual height at it's hypotenuse midpoint minus the interpolated height.
+ // Use values passed on the stack instead of re-accessing the Height Field.
+- float myVariance = fabs(centerZ - ((leftZ + rightZ) / 2));
++ float myVariance = math::fabs(centerZ - ((leftZ + rightZ) / 2));
+
+ if (leftZ*rightZ<0 || leftZ*centerZ<0 || rightZ*centerZ<0)
+ myVariance = std::max(myVariance * 1.5f, 20.0f); //shore lines get more variance for higher accuracy
+diff -ru spring_89.0/rts/Map/SMF/SMFRenderState.cpp /home/svenstaro/src/spring/rts/Map/SMF/SMFRenderState.cpp
+--- spring_89.0/rts/Map/SMF/SMFRenderState.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Map/SMF/SMFRenderState.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -385,7 +385,7 @@
+ smfShaderCurrARB->SetUniformTarget(GL_VERTEX_PROGRAM_ARB);
+ smfShaderCurrARB->SetUniform4f(10, 1.0f / (gs->pwr2mapx * SQUARE_SIZE), 1.0f / (gs->pwr2mapy * SQUARE_SIZE), 0, 1);
+ smfShaderCurrARB->SetUniform4f(12, 1.0f / smfMap->bigTexSize, 1.0f / smfMap->bigTexSize, 0, 1);
+- smfShaderCurrARB->SetUniform4f(13, -floor(camera->pos.x * 0.02f), -floor(camera->pos.z * 0.02f), 0, 0);
++ smfShaderCurrARB->SetUniform4f(13, -math::floor(camera->pos.x * 0.02f), -math::floor(camera->pos.z * 0.02f), 0, 0);
+ smfShaderCurrARB->SetUniform4f(14, 0.02f, 0.02f, 0, 1);
+ smfShaderCurrARB->SetUniformTarget(GL_FRAGMENT_PROGRAM_ARB);
+ smfShaderCurrARB->SetUniform4f(10, ambientColor.x, ambientColor.y, ambientColor.z, 1);
+diff -ru spring_89.0/rts/Rendering/Env/AdvSky.cpp /home/svenstaro/src/spring/rts/Rendering/Env/AdvSky.cpp
+--- spring_89.0/rts/Rendering/Env/AdvSky.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Env/AdvSky.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -65,8 +65,8 @@
+ memset(thicknessTransform, 0, 1024);
+ memset(covers, 0, 4 * 32 * sizeof(float));
+
+- domeheight = cos(PI / 16) * 1.01f;
+- domeWidth = sin(2 * PI / 32) * 400 * 1.7f;
++ domeheight = math::cos(PI / 16) * 1.01f;
++ domeWidth = math::sin(2 * PI / 32) * 400 * 1.7f;
+
+ UpdateSkyDir();
+ InitSun();
+@@ -383,7 +383,7 @@
+ case 0: {
+ for(int a=0; a<CLOUD_DETAIL; a++) {
+ float fade = gs->frameNum / (70.0f * (2<<(CLOUD_DETAIL-1-a)));
+- fade -= floor(fade/2)*2;
++ fade -= math::floor(fade/2)*2;
+ if(fade>1) {
+ fade = 2 - fade;
+ if(!cloudDown[a]) {
+@@ -417,11 +417,11 @@
+ int qcda=(4<<CLOUD_DETAIL)>>a;
+ int *pkernel=kernel;
+ for(int y=0; y<cs4a; ++y, pkernel+=CLOUD_SIZE/4) {
+- float ydist=fabs(1.0f+y-cs8a)/cs8a;
++ float ydist=math::fabs(1.0f+y-cs8a)/cs8a;
+ ydist=ydist*ydist*(3-2*ydist);
+ int *pkrn=pkernel;
+ for(int x=0; x<cs4a; ++x) {
+- float xdist=fabs(1.0f+x-cs8a)/cs8a;
++ float xdist=math::fabs(1.0f+x-cs8a)/cs8a;
+ xdist=xdist*xdist*(3-2*xdist);
+
+ float contrib=(1-xdist)*(1-ydist);
+@@ -533,7 +533,7 @@
+ unsigned char *tt=thicknessTransform;
+ for(int a=0;a<1024;++a){
+ float f=(1023.0f-(a+cloudDensity*1024-512))/1023.0f;
+- float alpha=pow(f*2,3);
++ float alpha=math::pow(f*2,3);
+ if(alpha>1)
+ alpha=1;
+ *at=(int) (alpha*255);
+@@ -560,11 +560,11 @@
+
+ float ymod=(sunTexCoordY-0.5f)*domeWidth*0.025f*256;
+ float fy=ymod+modCamera.z*CLOUD_SIZE*0.000025f;
+- int baseY=int(floor(fy))&CLOUD_MASK;
+- fy-=floor(fy);
++ int baseY=int(math::floor(fy))&CLOUD_MASK;
++ fy-=math::floor(fy);
+ float fx=gs->frameNum*0.00005f*CLOUD_SIZE+modCamera.x*CLOUD_SIZE*0.000025f;
+- int baseX=int(floor(fx))&CLOUD_MASK;
+- fx-=floor(fx);
++ int baseX=int(math::floor(fx))&CLOUD_MASK;
++ fx-=math::floor(fx);
+
+ float *cvs=(float *)covers[0], *cvs1=(float *)covers[1], *cvs2=(float *)covers[2], *cvs3=(float *)covers[3];
+ if(baseX!=oldCoverBaseX || baseY!=oldCoverBaseY){
+@@ -622,8 +622,8 @@
+ glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ONE);
+ glBegin(GL_TRIANGLE_STRIP);
+ for(int x=0;x<257;++x){
+- float dx = sin(x*2*PI/256.0f);
+- float dy = cos(x*2*PI/256.0f);
++ float dx = math::sin(x*2*PI/256.0f);
++ float dy = math::cos(x*2*PI/256.0f);
+
+ glTexCoord2f(x/256.0f,0.125f);
+ glVertexf3(modSunDir*5+ldir*dx*0.0014f+udir*dy*0.0014f);
+@@ -646,7 +646,7 @@
+ mem[(y*128+x)*4+0]=255;
+ mem[(y*128+x)*4+1]=255;
+ mem[(y*128+x)*4+2]=255;
+- float dist=sqrt((float)(y-64)*(y-64)+(x-64)*(x-64));
++ float dist=math::sqrt((float)(y-64)*(y-64)+(x-64)*(x-64));
+ if(dist>60)
+ mem[(y*128+x)*4+3]=0;
+ else
+@@ -749,7 +749,7 @@
+
+ for(int a=0;a<5;++a){
+ float fade = gs->frameNum / float(30<<a);
+- fade -= floor(fade/2)*2;
++ fade -= math::floor(fade/2)*2;
+ int size = std::min(32,256>>a);
+
+ if(fade>1){
+@@ -770,7 +770,7 @@
+
+ }
+ float tSize = std::max(1,8>>a);
+- float c = pow(2.0f,a)*6/255.0f;
++ float c = math::pow(2.0f,a)*6/255.0f;
+ CVertexArray* va = GetVertexArray();
+ va->Initialize();
+ va->CheckInitSize(4*VA_SIZE_T);
+@@ -867,10 +867,10 @@
+
+ const float hdist = math::sqrt(dir.x * dir.x + dir.z * dir.z);
+ const float ang = GetRadFromXY(dir.x, dir.z) + skyAngle;
+- const float fy = asin(hdist / 400);
++ const float fy = math::asin(hdist / 400);
+
+- dir.x = hdist * cos(ang);
+- dir.z = hdist * sin(ang);
++ dir.x = hdist * math::cos(ang);
++ dir.z = hdist * math::sin(ang);
+ dir.y = (fastmath::cos(fy) - domeheight) * 400;
+
+ dir.ANormalize();
+@@ -903,7 +903,7 @@
+ const float3& dir = GetDirFromTexCoord(x / 256.0f, (255.0f - y) / 256.0f);
+
+ const float sunInt = skyLight->GetLightIntensity();
+- const float sunDist = acos(dir.dot(skyLight->GetLightDir())) * 50;
++ const float sunDist = math::acos(dir.dot(skyLight->GetLightDir())) * 50;
+ const float sunMod = sunInt * (0.3f / math::sqrt(sunDist) + 3.0f / (1 + sunDist));
+
+ const float green = std::min(1.0f, (0.55f + sunMod));
+@@ -918,7 +918,7 @@
+ void CAdvSky::UpdateTexPart(int x, int y, unsigned char (*texp)[4]) {
+ const float3& dir = GetDirFromTexCoord(x / 512.0f, (511.0f - y) / 512.0f);
+
+- const float sunDist = acos(dir.dot(skyLight->GetLightDir())) * 70;
++ const float sunDist = math::acos(dir.dot(skyLight->GetLightDir())) * 70;
+ const float sunMod = skyLight->GetLightIntensity() * 12.0f / (12 + sunDist);
+
+ const float red = std::min(skyColor.x + sunMod * sunColor.x, 1.0f);
+diff -ru spring_89.0/rts/Rendering/Env/AdvTreeDrawer.cpp /home/svenstaro/src/spring/rts/Rendering/Env/AdvTreeDrawer.cpp
+--- spring_89.0/rts/Rendering/Env/AdvTreeDrawer.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Env/AdvTreeDrawer.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -229,7 +229,7 @@
+ std::list<FallingTree>::iterator prev = fti++;
+ fallingTrees.erase(prev);
+ } else {
+- fti->speed += (sin(fti->fallPos) * 0.04f);
++ fti->speed += (math::sin(fti->fallPos) * 0.04f);
+ ++fti;
+ }
+ }
+@@ -616,7 +616,7 @@
+ if (camera->InView(pos + float3(0.0f, MAX_TREE_HEIGHT / 2, 0.0f), MAX_TREE_HEIGHT / 2.0f)) {
+ const float ang = fti->fallPos * PI;
+
+- const float3 yvec(fti->dir.x * sin(ang), cos(ang), fti->dir.z * sin(ang));
++ const float3 yvec(fti->dir.x * math::sin(ang), math::cos(ang), fti->dir.z * math::sin(ang));
+ const float3 zvec((yvec.cross(float3(-1.0f, 0.0f, 0.0f))).ANormalize());
+ const float3 xvec(yvec.cross(zvec));
+
+@@ -957,7 +957,7 @@
+ if (camera->InView(pos + float3(0, MAX_TREE_HEIGHT / 2, 0), MAX_TREE_HEIGHT / 2)) {
+ const float ang = fti->fallPos * PI;
+
+- const float3 yvec(fti->dir.x * sin(ang), cos(ang), fti->dir.z * sin(ang));
++ const float3 yvec(fti->dir.x * math::sin(ang), math::cos(ang), fti->dir.z * math::sin(ang));
+ const float3 zvec((yvec.cross(float3(1.0f, 0.0f, 0.0f))).ANormalize());
+ const float3 xvec(zvec.cross(yvec));
+
+diff -ru spring_89.0/rts/Rendering/Env/AdvTreeGenerator.cpp /home/svenstaro/src/spring/rts/Rendering/Env/AdvTreeGenerator.cpp
+--- spring_89.0/rts/Rendering/Env/AdvTreeGenerator.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Env/AdvTreeGenerator.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -159,9 +159,9 @@
+ int numIter=(int)max(3.0f,size*10);
+ for(int a=0;a<=numIter;a++){
+ float angle=a/(float)numIter*2*PI;
+- float col=0.4f+(((orto1*sin(angle)+orto2*cos(angle)).dot(flatSun)))*0.3f;
+- barkva->AddVertexTN(start+orto1*sin(angle)*size+orto2*cos(angle)*size,angle/PI*0.125f*0.5f,0,float3(0,0,col));
+- barkva->AddVertexTN(end+orto1*sin(angle)*size*0.2f+orto2*cos(angle)*size*0.2f,angle/PI*0.125f*0.5f,3,float3(0,0,col));
++ float col=0.4f+(((orto1*math::sin(angle)+orto2*math::cos(angle)).dot(flatSun)))*0.3f;
++ barkva->AddVertexTN(start+orto1*math::sin(angle)*size+orto2*math::cos(angle)*size,angle/PI*0.125f*0.5f,0,float3(0,0,col));
++ barkva->AddVertexTN(end+orto1*math::sin(angle)*size*0.2f+orto2*math::cos(angle)*size*0.2f,angle/PI*0.125f*0.5f,3,float3(0,0,col));
+ }
+ barkva->EndStrip();
+ }
+@@ -176,18 +176,18 @@
+
+ for (int a = 0; a < numBranch; ++a) {
+ const float angle = baseAngle + (a * 3.88f) + fRand(0.5f);
+- float3 dir = orto1 * sin(angle) + orto2 * cos(angle);
++ float3 dir = orto1 * math::sin(angle) + orto2 * math::cos(angle);
+ dir.y = 0.3f + fRand(0.4f);
+ dir.ANormalize();
+ const float3 start(0, (a + 5) * height / (numBranch + 5), 0);
+- const float length = (height * (0.4f + fRand(0.1f))) * sqrt(float(numBranch - a) / numBranch);
++ const float length = (height * (0.4f + fRand(0.1f))) * math::sqrt(float(numBranch - a) / numBranch);
+
+ TrunkIterator(start, dir, length, length * 0.05f, 1);
+ }
+
+ for (int a = 0; a < 3; ++a) {
+ const float angle = (a * 3.88f) + fRand(0.5f);
+- float3 dir = orto1*sin(angle)+orto2*cos(angle);
++ float3 dir = orto1*math::sin(angle)+orto2*math::cos(angle);
+ dir.y = 0.8f;
+ dir.ANormalize();
+ const float3 start(0, height - 0.3f, 0);
+@@ -225,7 +225,7 @@
+ const float newLength = length * (float(numTrunks - a) / (numTrunks + 1));
+
+ float3 newbase = start + dir * length * (float(a + 1) / (numTrunks + 1));
+- float3 newDir = dir + orto1 * cos(angle) * dirDif + orto2 * sin(angle) * dirDif;
++ float3 newDir = dir + orto1 * math::cos(angle) * dirDif + orto2 * math::sin(angle) * dirDif;
+ newDir.ANormalize();
+
+ TrunkIterator(newbase, newDir, newLength, newLength * 0.05f, depth - 1);
+@@ -245,8 +245,8 @@
+
+ float3 pos = start + dir * length * (0.7f + fRand(0.3f));
+ pos +=
+- (orto1 * sin(angle) + orto2 * cos(angle)) *
+- (sqrt((float) a + 1) * 0.6f + fRand(0.4f)) *
++ (orto1 * math::sin(angle) + orto2 * math::cos(angle)) *
++ (math::sqrt((float) a + 1) * 0.6f + fRand(0.4f)) *
+ 0.1f * MAX_TREE_HEIGHT;
+
+ if (pos.y < 0.2f * MAX_TREE_HEIGHT)
+@@ -538,12 +538,12 @@
+ float baseAngle=fRand(2*PI);
+ for(int a=0;a<numBranch;++a){
+ float sh = 0.2f + fRand(0.2f);
+- float h = height * pow(sh + float(a)/numBranch * (1-sh), (float)0.7f);
++ float h = height * math::pow(sh + float(a)/numBranch * (1-sh), (float)0.7f);
+ float angle = baseAngle + (a * 0.618f + fRand(0.1f)) * 2 * PI;
+- float3 dir(orto1 * sin(angle) + orto2 * cos(angle));
++ float3 dir(orto1 * math::sin(angle) + orto2 * math::cos(angle));
+ dir.y = (a - numBranch) * 0.01f - (0.2f + fRand(0.2f));
+ dir.ANormalize();
+- float size = sqrt((float)numBranch - a + 5) * 0.08f * MAX_TREE_HEIGHT;
++ float size = math::sqrt((float)numBranch - a + 5) * 0.08f * MAX_TREE_HEIGHT;
+ DrawPineBranch(float3(0,h,0),dir,size);
+ }
+ //create the top
+@@ -569,16 +569,16 @@
+ for(int a=0;a<numIter;a++){
+ float angle=a/(float)numIter*2*PI;
+ float angle2=(a+1)/(float)numIter*2*PI;
+- float col=0.45f+(((orto1*sin(angle)+orto2*cos(angle)).dot(flatSun)))*0.3f;
+- float col2=0.45f+(((orto1*sin(angle2)+orto2*cos(angle2)).dot(flatSun)))*0.3f;
++ float col=0.45f+(((orto1*math::sin(angle)+orto2*math::cos(angle)).dot(flatSun)))*0.3f;
++ float col2=0.45f+(((orto1*math::sin(angle2)+orto2*math::cos(angle2)).dot(flatSun)))*0.3f;
+
+- va->AddVertexTN(start+orto1*sin(angle)*size+orto2*cos(angle)*size, angle/PI*0.125f*0.5f+0.5f, 0, float3(0,0,col));
+- va->AddVertexTN(end+orto1*sin(angle)*size*0.1f+orto2*cos(angle)*size*0.1f, angle/PI*0.125f*0.5f+0.5f, 3, float3(0,0,col));
+- va->AddVertexTN(start+orto1*sin(angle2)*size+orto2*cos(angle2)*size, angle2/PI*0.125f*0.5f+0.5f, 0, float3(0,0,col2));
+-
+- va->AddVertexTN(start+orto1*sin(angle2)*size+orto2*cos(angle2)*size, angle2/PI*0.125f*0.5f+0.5f, 0, float3(0,0,col2));
+- va->AddVertexTN(end+orto1*sin(angle)*size*0.1f+orto2*cos(angle)*size*0.1f, angle/PI*0.125f*0.5f+0.5f, 3, float3(0,0,col));
+- va->AddVertexTN(end+orto1*sin(angle2)*size*0.1f+orto2*cos(angle2)*size*0.1f, angle2/PI*0.125f*0.5f+0.5f, 3, float3(0,0,col2));
++ va->AddVertexTN(start+orto1*math::sin(angle)*size+orto2*math::cos(angle)*size, angle/PI*0.125f*0.5f+0.5f, 0, float3(0,0,col));
++ va->AddVertexTN(end+orto1*math::sin(angle)*size*0.1f+orto2*math::cos(angle)*size*0.1f, angle/PI*0.125f*0.5f+0.5f, 3, float3(0,0,col));
++ va->AddVertexTN(start+orto1*math::sin(angle2)*size+orto2*math::cos(angle2)*size, angle2/PI*0.125f*0.5f+0.5f, 0, float3(0,0,col2));
++
++ va->AddVertexTN(start+orto1*math::sin(angle2)*size+orto2*math::cos(angle2)*size, angle2/PI*0.125f*0.5f+0.5f, 0, float3(0,0,col2));
++ va->AddVertexTN(end+orto1*math::sin(angle)*size*0.1f+orto2*math::cos(angle)*size*0.1f, angle/PI*0.125f*0.5f+0.5f, 3, float3(0,0,col));
++ va->AddVertexTN(end+orto1*math::sin(angle2)*size*0.1f+orto2*math::cos(angle2)*size*0.1f, angle2/PI*0.125f*0.5f+0.5f, 3, float3(0,0,col2));
+ }
+ }
+
+diff -ru spring_89.0/rts/Rendering/Env/AdvWater.cpp /home/svenstaro/src/spring/rts/Rendering/Env/AdvWater.cpp
+--- spring_89.0/rts/Rendering/Env/AdvWater.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Env/AdvWater.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -48,7 +48,7 @@
+ for (int y = 0; y < 64; ++y) {
+ for (int x = 0; x < 64; ++x) {
+ scrap[(y*64 + x)*4 + 0] = 128;
+- scrap[(y*64 + x)*4 + 1] = (unsigned char)(sin(y*PI*2.0f/64.0f)*128 + 128);
++ scrap[(y*64 + x)*4 + 1] = (unsigned char)(math::sin(y*PI*2.0f/64.0f)*128 + 128);
+ scrap[(y*64 + x)*4 + 2] = 0;
+ scrap[(y*64 + x)*4 + 3] = 255;
+ }
+@@ -62,8 +62,8 @@
+ for (int x = 0; x < 64; ++x) {
+ const float ang = 26.5f*PI/180.0f;
+ const float pos = y*2+x;
+- scrap[(y*64 + x)*4 + 0] = (unsigned char)((sin(pos*PI*2.0f/64.0f))*128*sin(ang)) + 128;
+- scrap[(y*64 + x)*4 + 1] = (unsigned char)((sin(pos*PI*2.0f/64.0f))*128*cos(ang)) + 128;
++ scrap[(y*64 + x)*4 + 0] = (unsigned char)((math::sin(pos*PI*2.0f/64.0f))*128*math::sin(ang)) + 128;
++ scrap[(y*64 + x)*4 + 1] = (unsigned char)((math::sin(pos*PI*2.0f/64.0f))*128*math::cos(ang)) + 128;
+ }
+ }
+ glBindTexture(GL_TEXTURE_2D, rawBumpTexture[1]);
+@@ -75,8 +75,8 @@
+ for (int x = 0; x < 64; ++x) {
+ const float ang = -19*PI/180.0f;
+ const float pos = 3*y - x;
+- scrap[(y*64 + x)*4 + 0] = (unsigned char)((sin(pos*PI*2.0f/64.0f))*128*sin(ang)) + 128;
+- scrap[(y*64 + x)*4 + 1] = (unsigned char)((sin(pos*PI*2.0f/64.0f))*128*cos(ang)) + 128;
++ scrap[(y*64 + x)*4 + 0] = (unsigned char)((math::sin(pos*PI*2.0f/64.0f))*128*math::sin(ang)) + 128;
++ scrap[(y*64 + x)*4 + 1] = (unsigned char)((math::sin(pos*PI*2.0f/64.0f))*128*math::cos(ang)) + 128;
+ }
+ }
+ glBindTexture(GL_TEXTURE_2D, rawBumpTexture[2]);
+@@ -192,14 +192,14 @@
+ dir = xbase + dv;
+ dir.ANormalize();
+ zpos = camera->pos + dir*(camera->pos.y / -dir.y);
+- zpos.y = sin(zpos.z*0.1f + gs->frameNum*0.06f)*0.06f + 0.05f;
++ zpos.y = math::sin(zpos.z*0.1f + gs->frameNum*0.06f)*0.06f + 0.05f;
+ col[3] = (unsigned char)((0.8f + 0.7f*dir.y)*255);
+ va->AddVertexQTC(zpos, x*(1.0f/numDivs), screenY - yInc, col);
+
+ dir = xbase;
+ dir.ANormalize();
+ zpos = camera->pos + dir*(camera->pos.y / -dir.y);
+- zpos.y = sin(zpos.z*0.1f + gs->frameNum*0.06f)*0.06f + 0.05f;
++ zpos.y = math::sin(zpos.z*0.1f + gs->frameNum*0.06f)*0.06f + 0.05f;
+ col[3] = (unsigned char)((0.8f + 0.7f*dir.y)*255);
+ va->AddVertexQTC(zpos, x*(1.0f/numDivs), screenY, col);
+
+diff -ru spring_89.0/rts/Rendering/Env/BasicSky.cpp /home/svenstaro/src/spring/rts/Rendering/Env/BasicSky.cpp
+--- spring_89.0/rts/Rendering/Env/BasicSky.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Env/BasicSky.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -67,8 +67,8 @@
+ rawClouds=newmat2<int>(CLOUD_SIZE,CLOUD_SIZE);
+ blendMatrix=newmat3<int>(CLOUD_DETAIL,32,32);
+
+- domeheight=cos(PI/16)*1.01f;
+- domeWidth=sin(PI/16)*400*1.7f;
++ domeheight=math::cos(PI/16)*1.01f;
++ domeWidth=math::sin(PI/16)*400*1.7f;
+
+ UpdateSkyDir();
+ InitSun();
+@@ -369,7 +369,7 @@
+ case 0: {
+ for(int a=0; a<CLOUD_DETAIL; a++) {
+ float fade = gs->frameNum / (70.0f * (2<<(CLOUD_DETAIL-1-a)));
+- fade -= floor(fade/2)*2;
++ fade -= math::floor(fade/2)*2;
+ if(fade>1) {
+ fade = 2 - fade;
+ if(!cloudDown[a]) {
+@@ -403,11 +403,11 @@
+ int qcda=(4<<CLOUD_DETAIL)>>a;
+ int *pkernel=kernel;
+ for(int y=0; y<cs4a; ++y, pkernel+=CLOUD_SIZE/4) {
+- float ydist=fabs(1.0f+y-cs8a)/cs8a;
++ float ydist=math::fabs(1.0f+y-cs8a)/cs8a;
+ ydist=ydist*ydist*(3-2*ydist);
+ int *pkrn=pkernel;
+ for(int x=0; x<cs4a; ++x) {
+- float xdist=fabs(1.0f+x-cs8a)/cs8a;
++ float xdist=math::fabs(1.0f+x-cs8a)/cs8a;
+ xdist=xdist*xdist*(3-2*xdist);
+
+ float contrib=(1-xdist)*(1-ydist);
+@@ -506,7 +506,7 @@
+ unsigned char *tt=thicknessTransform;
+ for(int a=0;a<1024;++a){
+ float f=(1023.0f-(a+cloudDensity*1024-512))/1023.0f;
+- float alpha=pow(f*2,3);
++ float alpha=math::pow(f*2,3);
+ if(alpha>1)
+ alpha=1;
+ *at=(unsigned char)(alpha*255);
+@@ -533,11 +533,11 @@
+
+ float ymod=(sunTexCoordY-0.5f)*domeWidth*0.025f*256;
+ float fy=ymod+modCamera.z*CLOUD_SIZE*0.000025f;
+- int baseY=int(floor(fy))&CLOUD_MASK;
+- fy-=floor(fy);
++ int baseY=int(math::floor(fy))&CLOUD_MASK;
++ fy-=math::floor(fy);
+ float fx=gs->frameNum*0.00005f*CLOUD_SIZE+modCamera.x*CLOUD_SIZE*0.000025f;
+- int baseX=int(floor(fx))&CLOUD_MASK;
+- fx-=floor(fx);
++ int baseX=int(math::floor(fx))&CLOUD_MASK;
++ fx-=math::floor(fx);
+
+ float *cvs=(float *)covers[0], *cvs1=(float *)covers[1], *cvs2=(float *)covers[2], *cvs3=(float *)covers[3];
+ if(baseX!=oldCoverBaseX || baseY!=oldCoverBaseY){
+@@ -589,8 +589,8 @@
+ glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ONE);
+ glBegin(GL_TRIANGLE_STRIP);
+ for(int x=0;x<257;++x){
+- float dx=sin(x*2*PI/256.0f);
+- float dy=cos(x*2*PI/256.0f);
++ float dx=math::sin(x*2*PI/256.0f);
++ float dy=math::cos(x*2*PI/256.0f);
+
+ glTexCoord2f(x/256.0f,0.25f);
+ glVertexf3(modSunDir*5+ldir*dx*0.0014f+udir*dy*0.0014f);
+@@ -613,7 +613,7 @@
+ mem[(y*128+x)*4+0]=255;
+ mem[(y*128+x)*4+1]=255;
+ mem[(y*128+x)*4+2]=255;
+- float dist=sqrt((float)(y-64)*(y-64)+(x-64)*(x-64));
++ float dist=math::sqrt((float)(y-64)*(y-64)+(x-64)*(x-64));
+ if(dist>60)
+ mem[(y*128+x)*4+3]=0;
+ else
+@@ -764,10 +764,10 @@
+
+ const float hdist = math::sqrt(dir.x * dir.x + dir.z * dir.z);
+ const float ang = GetRadFromXY(dir.x, dir.z) + skyAngle;
+- const float fy = asin(hdist / 400);
++ const float fy = math::asin(hdist / 400);
+
+- dir.x = hdist * cos(ang);
+- dir.z = hdist * sin(ang);
++ dir.x = hdist * math::cos(ang);
++ dir.z = hdist * math::sin(ang);
+ dir.y = (fastmath::cos(fy) - domeheight) * 400;
+
+ dir.ANormalize();
+@@ -800,7 +800,7 @@
+ const float3& dir = GetDirFromTexCoord(x / 256.0f, (255.0f - y) / 256.0f);
+
+ const float sunInt = skyLight->GetLightIntensity();
+- const float sunDist = acos(dir.dot(skyLight->GetLightDir())) * 50;
++ const float sunDist = math::acos(dir.dot(skyLight->GetLightDir())) * 50;
+ const float sunMod = sunInt * (0.3f / math::sqrt(sunDist) + 2.0f / sunDist);
+
+ const float green = std::min(1.0f, (0.55f + sunMod));
+@@ -814,7 +814,7 @@
+ void CBasicSky::UpdateTexPart(int x, int y, unsigned char (*texp)[4]) {
+ const float3& dir = GetDirFromTexCoord(x / 512.0f, (511.0f - y) / 512.0f);
+
+- const float sunDist = acos(dir.dot(skyLight->GetLightDir())) * 70;
++ const float sunDist = math::acos(dir.dot(skyLight->GetLightDir())) * 70;
+ const float sunMod = skyLight->GetLightIntensity() * 12.0f / (12 + sunDist);
+
+ const float red = std::min(skyColor.x + sunMod * sunColor.x, 1.0f);
+diff -ru spring_89.0/rts/Rendering/Env/CubeMapHandler.cpp /home/svenstaro/src/spring/rts/Rendering/Env/CubeMapHandler.cpp
+--- spring_89.0/rts/Rendering/Env/CubeMapHandler.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Env/CubeMapHandler.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -269,7 +269,7 @@
+ for (int x = 0; x < size; ++x) {
+ const float3 dir = (cdir + (xdif * (x + 0.5f)) / size + (ydif * (y + 0.5f)) / size).Normalize();
+ const float dot = std::max(0.0f, dir.dot(sky->GetLight()->GetLightDir()));
+- const float spec = std::min(1.0f, pow(dot, mapInfo->light.specularExponent) + pow(dot, 3.0f) * 0.25f);
++ const float spec = std::min(1.0f, math::pow(dot, mapInfo->light.specularExponent) + math::pow(dot, 3.0f) * 0.25f);
+
+ buf[x * 4 + 0] = (mapInfo->light.unitSpecularColor.x * spec * 255);
+ buf[x * 4 + 1] = (mapInfo->light.unitSpecularColor.y * spec * 255);
+diff -ru spring_89.0/rts/Rendering/Env/DynWater.cpp /home/svenstaro/src/spring/rts/Rendering/Env/DynWater.cpp
+--- spring_89.0/rts/Rendering/Env/DynWater.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Env/DynWater.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -88,9 +88,9 @@
+
+ for (int y = 0; y < 64; ++y) {
+ for (int x = 0; x < 64; ++x) {
+- temp[(y*64 + x)*4 + 0] = sin(x*PI*2.0f/64.0f) + ((x < 32) ? -1 : 1)*0.3f;
++ temp[(y*64 + x)*4 + 0] = math::sin(x*PI*2.0f/64.0f) + ((x < 32) ? -1 : 1)*0.3f;
+ temp[(y*64 + x)*4 + 1] = temp[(y*64 + x)*4 + 0];
+- temp[(y*64 + x)*4 + 2] = cos(x*PI*2.0f/64.0f) + ((x < 32) ? (16 - x) : (x - 48))/16.0f*0.3f;
++ temp[(y*64 + x)*4 + 2] = math::cos(x*PI*2.0f/64.0f) + ((x < 32) ? (16 - x) : (x - 48))/16.0f*0.3f;
+ temp[(y*64 + x)*4 + 3] = 0;
+ }
+ }
+@@ -197,7 +197,7 @@
+ const float dy = y - 31.5f;
+ for (int x = 0; x < 64; ++x) {
+ const float dx = x-31.5f;
+- const float dist = sqrt(dx*dx + dy*dy);
++ const float dist = math::sqrt(dx*dx + dy*dy);
+ temp[(y*64 + x)*4 + 0] = std::max(0.0f, 1 - dist/30.f) * std::max(0.0f, 1 - dist/30.f);
+ temp[(y*64 + x)*4 + 1] = std::max(0.0f, 1 - dist/30.f);
+ temp[(y*64 + x)*4 + 2] = std::max(0.0f, 1 - dist/30.f) * std::max(0.0f, 1 - dist/30.f);
+@@ -425,8 +425,8 @@
+
+ oldCamPosBig = camPosBig;
+
+- camPosBig.x = floor(std::max((float)WH_SIZE, std::min((float)gs->mapx*SQUARE_SIZE-WH_SIZE, (float)camera->pos.x))/(W_SIZE*16))*(W_SIZE*16);
+- camPosBig.z = floor(std::max((float)WH_SIZE, std::min((float)gs->mapy*SQUARE_SIZE-WH_SIZE, (float)camera->pos.z))/(W_SIZE*16))*(W_SIZE*16);
++ camPosBig.x = math::floor(std::max((float)WH_SIZE, std::min((float)gs->mapx*SQUARE_SIZE-WH_SIZE, (float)camera->pos.x))/(W_SIZE*16))*(W_SIZE*16);
++ camPosBig.z = math::floor(std::max((float)WH_SIZE, std::min((float)gs->mapy*SQUARE_SIZE-WH_SIZE, (float)camera->pos.z))/(W_SIZE*16))*(W_SIZE*16);
+
+ glDisable(GL_DEPTH_TEST);
+ glDepthMask(0);
+@@ -835,8 +835,8 @@
+ va = GetVertexArray();
+ va->Initialize();
+
+- camPosBig2.x = floor(std::max((float)WH_SIZE, std::min((float)gs->mapx*SQUARE_SIZE - WH_SIZE, (float)camera->pos.x))/(W_SIZE*16))*(W_SIZE*16);
+- camPosBig2.z = floor(std::max((float)WH_SIZE, std::min((float)gs->mapy*SQUARE_SIZE - WH_SIZE, (float)camera->pos.z))/(W_SIZE*16))*(W_SIZE*16);
++ camPosBig2.x = math::floor(std::max((float)WH_SIZE, std::min((float)gs->mapx*SQUARE_SIZE - WH_SIZE, (float)camera->pos.x))/(W_SIZE*16))*(W_SIZE*16);
++ camPosBig2.z = math::floor(std::max((float)WH_SIZE, std::min((float)gs->mapy*SQUARE_SIZE - WH_SIZE, (float)camera->pos.z))/(W_SIZE*16))*(W_SIZE*16);
+
+ // FIXME:
+ // 1. DynWater::UpdateCamRestraints was never called ==> <this->left> and <this->right> were always empty
+@@ -1132,8 +1132,8 @@
+ // hovercraft
+ const float3& pos = unit->pos;
+
+- if ((fabs(pos.x - camPosBig.x) > (WH_SIZE - 50)) ||
+- (fabs(pos.z - camPosBig.z) > (WH_SIZE - 50)))
++ if ((math::fabs(pos.x - camPosBig.x) > (WH_SIZE - 50)) ||
++ (math::fabs(pos.z - camPosBig.z) > (WH_SIZE - 50)))
+ {
+ continue;
+ }
+@@ -1144,7 +1144,7 @@
+ if ((pos.y > -4.0f) && (pos.y < 4.0f)) {
+ const float3 frontAdd = unit->frontdir * unit->radius * 0.75f;
+ const float3 sideAdd = unit->rightdir * unit->radius * 0.75f;
+- const float depth = sqrt(sqrt(unit->mass)) * 0.4f;
++ const float depth = math::sqrt(math::sqrt(unit->mass)) * 0.4f;
+ const float3 n(depth, 0.05f * depth, depth);
+
+ va2->AddVertexQTN(pos + frontAdd + sideAdd, 0, 0, n);
+@@ -1156,8 +1156,8 @@
+ // surface ship
+ const float3& pos = unit->pos;
+
+- if ((fabs(pos.x - camPosBig.x) > (WH_SIZE - 50)) ||
+- (fabs(pos.z - camPosBig.z) > (WH_SIZE - 50)))
++ if ((math::fabs(pos.x - camPosBig.x) > (WH_SIZE - 50)) ||
++ (math::fabs(pos.z - camPosBig.z) > (WH_SIZE - 50)))
+ {
+ continue;
+ }
+@@ -1171,7 +1171,7 @@
+
+ const float3 frontAdd = unit->frontdir * unit->radius * 0.75f;
+ const float3 sideAdd = unit->rightdir * unit->radius * 0.18f;
+- const float depth = sqrt(sqrt(unit->mass));
++ const float depth = math::sqrt(math::sqrt(unit->mass));
+ const float3 n(depth, 0.04f * unit->speed.Length2D() * depth, depth);
+
+ va->AddVertexQTN(pos + frontAdd + sideAdd, 0, 0, n);
+@@ -1249,8 +1249,8 @@
+ for (std::vector<Explosion>::iterator ei = explosions.begin(); ei != explosions.end(); ++ei) {
+ Explosion& explo = *ei;
+ float3 pos = explo.pos;
+- if ((fabs(pos.x - camPosBig.x) > (WH_SIZE - 50))
+- || (fabs(pos.z - camPosBig.z) > (WH_SIZE - 50)))
++ if ((math::fabs(pos.x - camPosBig.x) > (WH_SIZE - 50))
++ || (math::fabs(pos.z - camPosBig.z) > (WH_SIZE - 50)))
+ {
+ continue;
+ }
+diff -ru spring_89.0/rts/Rendering/Env/GrassDrawer.cpp /home/svenstaro/src/spring/rts/Rendering/Env/GrassDrawer.cpp
+--- spring_89.0/rts/Rendering/Env/GrassDrawer.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Env/GrassDrawer.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -75,11 +75,11 @@
+ }
+
+ // TODO: get rid of the magic constants
+- maxGrassDist = 800 + sqrt((float) detail) * 240;
++ maxGrassDist = 800 + math::sqrt((float) detail) * 240;
+ maxDetailedDist = 146 + detail * 24;
+ detailedBlocks = int((maxDetailedDist - 24) / bMSsq) + 1;
+ numTurfs = 3 + int(detail * 0.5f);
+- strawPerTurf = 50 + int(sqrt((float) detail) * 10);
++ strawPerTurf = 50 + int(math::sqrt((float) detail) * 10);
+
+ blocksX = gs->mapx / grassSquareSize /grassBlockSize;
+ blocksY = gs->mapy / grassSquareSize / grassBlockSize;
+@@ -641,7 +641,7 @@
+ const float3 billboardDirX = (billboardDirZ.cross(UpVector)).ANormalize();
+ const float3 billboardDirY = billboardDirX.cross(billboardDirZ);
+
+- const float ang = acos(billboardDirZ.y);
++ const float ang = math::acos(billboardDirZ.y);
+ const int texPart = std::min(15, int(std::max(0, int((ang + PI / 16 - PI / 2) / PI * 30))));
+
+ if (globalRendering->haveGLSL) {
+@@ -673,7 +673,7 @@
+ const float3 billboardDirX = (billboardDirZ.cross(UpVector)).ANormalize();
+ const float3 billboardDirY = billboardDirX.cross(billboardDirZ);
+
+- const float ang = acos(billboardDirZ.y);
++ const float ang = math::acos(billboardDirZ.y);
+ const int texPart = std::min(15, int(std::max(0, int((ang + PI / 16 - PI / 2) / PI * 30))));
+
+ if (globalRendering->haveGLSL) {
+@@ -820,7 +820,7 @@
+ float3 forwardVect = sideVect.cross(UpVector);
+ sideVect *= mapInfo->grass.bladeWidth;
+
+- const float3 cornerPos = (UpVector * cos(maxAng) + forwardVect * sin(maxAng)) * length;
++ const float3 cornerPos = (UpVector * math::cos(maxAng) + forwardVect * math::sin(maxAng)) * length;
+ float3 basePos(30.0f, 0.0f, 30.0f);
+
+ while (basePos.SqLength2D() > (turfSize * turfSize / 4)) {
+@@ -837,10 +837,10 @@
+
+ const float3 edgePosL =
+ -sideVect * (1 - h) +
+- (UpVector * cos(ang) + forwardVect * sin(ang)) * length * h;
++ (UpVector * math::cos(ang) + forwardVect * math::sin(ang)) * length * h;
+ const float3 edgePosR =
+ sideVect * (1.0f - h) +
+- (UpVector * cos(ang) + forwardVect * sin(ang)) * length * h;
++ (UpVector * math::cos(ang) + forwardVect * math::sin(ang)) * length * h;
+
+ if (b == 0) {
+ va->AddVertexT(basePos + (edgePosR - float3(0.0f, 0.1f, 0.0f)), xtexBase + xtexOffset, h);
+diff -ru spring_89.0/rts/Rendering/Env/SkyLight.cpp /home/svenstaro/src/spring/rts/Rendering/Env/SkyLight.cpp
+--- spring_89.0/rts/Rendering/Env/SkyLight.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Env/SkyLight.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -72,7 +72,7 @@
+ bool DynamicSkyLight::SetLightDir(const float4& newLightDir) {
+ if (newLightDir != lightDir) {
+ static float4 lastUpdate = ZeroVector;
+- static const float minCosAngle = cos(1.5f * (PI/180.f));
++ static const float minCosAngle = math::cos(1.5f * (PI/180.f));
+
+ if (lastUpdate.dot(newLightDir) < minCosAngle) {
+ lastUpdate = newLightDir;
+@@ -92,7 +92,7 @@
+ const float angularVelocity = 2.0f * PI / sunOrbitTime;
+
+ const float sunAng = startAngle - initialSunAngle - angularVelocity * gameSeconds;
+- const float4 sunPos = sunRotation.Mul(float3(sunOrbitRad * cos(sunAng), sunOrbitHeight, sunOrbitRad * sin(sunAng)));
++ const float4 sunPos = sunRotation.Mul(float3(sunOrbitRad * math::cos(sunAng), sunOrbitHeight, sunOrbitRad * math::sin(sunAng)));
+
+ return sunPos;
+ }
+@@ -108,18 +108,18 @@
+ if (newLightDir.w == FLT_MAX) {
+ // old: newLightDir is position where sun reaches highest altitude
+ const float sunLen = newLightDir.Length2D();
+- const float sunAzimuth = (sunLen <= 0.001f) ? PI / 2.0f : atan(newLightDir.y / sunLen);
+- const float sunHeight = tan(sunAzimuth - 0.001f);
++ const float sunAzimuth = (sunLen <= 0.001f) ? PI / 2.0f : math::atan(newLightDir.y / sunLen);
++ const float sunHeight = math::tan(sunAzimuth - 0.001f);
+
+- float3 v1(cos(initialSunAngle), sunHeight, sin(initialSunAngle));
++ float3 v1(math::cos(initialSunAngle), sunHeight, math::sin(initialSunAngle));
+ v1.ANormalize();
+
+ if (v1.y <= orbitMinSunHeight) {
+ newLightDir = UpVector;
+ sunOrbitHeight = v1.y;
+- sunOrbitRad = sqrt(1.0f - sunOrbitHeight * sunOrbitHeight);
++ sunOrbitRad = math::sqrt(1.0f - sunOrbitHeight * sunOrbitHeight);
+ } else {
+- float3 v2(cos(initialSunAngle + PI), orbitMinSunHeight, sin(initialSunAngle + PI));
++ float3 v2(math::cos(initialSunAngle + PI), orbitMinSunHeight, math::sin(initialSunAngle + PI));
+ v2.ANormalize();
+ float3 v3 = v2 - v1;
+ sunOrbitRad = v3.Length() / 2.0f;
+@@ -137,7 +137,7 @@
+ } else {
+ // new: newLightDir is center position of orbit, and newLightDir.w is orbit height
+ sunOrbitHeight = std::max(-1.0f, std::min(newLightDir.w, 1.0f));
+- sunOrbitRad = sqrt(1.0f - sunOrbitHeight * sunOrbitHeight);
++ sunOrbitRad = math::sqrt(1.0f - sunOrbitHeight * sunOrbitHeight);
+ }
+
+ sunRotation.LoadIdentity();
+diff -ru spring_89.0/rts/Rendering/GL/glExtra.cpp /home/svenstaro/src/spring/rts/Rendering/GL/glExtra.cpp
+--- spring_89.0/rts/Rendering/GL/glExtra.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/GL/glExtra.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -83,7 +83,7 @@
+ float adjustment = rad/2;
+ float ydiff = 0;
+ int j;
+- for(j = 0; j < 50 && fabs(adjRadius - rad) + ydiff > .01*rad; j++){
++ for(j = 0; j < 50 && math::fabs(adjRadius - rad) + ydiff > .01*rad; j++){
+ if(adjRadius > rad) {
+ rad += adjustment;
+ } else {
+@@ -93,7 +93,7 @@
+ pos.x = center.x + (sinR * rad);
+ pos.z = center.z + (cosR * rad);
+ float newY = ground->GetHeightAboveWater(pos.x, pos.z, false);
+- ydiff = fabs(pos.y - newY);
++ ydiff = math::fabs(pos.y - newY);
+ pos.y = newY;
+ heightDiff = (pos.y - center.y);
+ adjRadius = weapon ? weapon->GetRange2D(heightDiff*weapon->heightMod) : rad;
+diff -ru spring_89.0/rts/Rendering/GroundDecalHandler.cpp /home/svenstaro/src/spring/rts/Rendering/GroundDecalHandler.cpp
+--- spring_89.0/rts/Rendering/GroundDecalHandler.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/GroundDecalHandler.cpp 2012-07-13 06:34:43.082727161 +0200
+@@ -963,7 +963,7 @@
+ radius = damage * 0.25f;
+
+ if (damage > 400)
+- damage = 400 + sqrt(damage - 399);
++ damage = 400 + math::sqrt(damage - 399);
+
+ pos.ClampInBounds();
+
+diff -ru spring_89.0/rts/Rendering/InMapDrawView.cpp /home/svenstaro/src/spring/rts/Rendering/InMapDrawView.cpp
+--- spring_89.0/rts/Rendering/InMapDrawView.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/InMapDrawView.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -38,7 +38,7 @@
+ for (int y = 0; y < 64; y++) {
+ // circular thingy
+ for (int x = 0; x < 64; x++) {
+- float dist = sqrt((float)(x - 32) * (x - 32) + (y - 32) * (y - 32));
++ float dist = math::sqrt((float)(x - 32) * (x - 32) + (y - 32) * (y - 32));
+ if (dist > 31.0f) {
+ // do nothing - leave transparent
+ } else if (dist > 30.0f) {
+diff -ru spring_89.0/rts/Rendering/LineDrawer.cpp /home/svenstaro/src/spring/rts/Rendering/LineDrawer.cpp
+--- spring_89.0/rts/Rendering/LineDrawer.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/LineDrawer.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -29,7 +29,7 @@
+ void CLineDrawer::UpdateLineStipple()
+ {
+ stippleTimer += (globalRendering->lastFrameTime * cmdColors.StippleSpeed());
+- stippleTimer = fmod(stippleTimer, (16.0f / 20.0f));
++ stippleTimer = math::fmod(stippleTimer, (16.0f / 20.0f));
+ }
+
+
+diff -ru spring_89.0/rts/Rendering/Models/S3OParser.cpp /home/svenstaro/src/spring/rts/Rendering/Models/S3OParser.cpp
+--- spring_89.0/rts/Rendering/Models/S3OParser.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Rendering/Models/S3OParser.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -319,7 +319,7 @@
+ float3& t = tTangents[vrtIdx];
+ int h = 1;
+
+- if (isnan(n.x) || isnan(n.y) || isnan(n.z)) {
++ if (math::isnan(n.x) || math::isnan(n.y) || math::isnan(n.z)) {
+ n = float3(0.0f, 0.0f, 1.0f);
+ }
+ if (s == ZeroVector) { s = float3(1.0f, 0.0f, 0.0f); }
+diff -ru spring_89.0/rts/Sim/Misc/LosMap.cpp /home/svenstaro/src/spring/rts/Sim/Misc/LosMap.cpp
+--- spring_89.0/rts/Sim/Misc/LosMap.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Misc/LosMap.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -182,7 +182,7 @@
+
+ y = (int)i;
+ x = 1;
+- y = (int) (sqrt((float)r2 - 1) + 0.5f);
++ y = (int) (math::sqrt((float)r2 - 1) + 0.5f);
+ while (x < y) {
+ if(!PaintTable[x+y*Radius]) {
+ DrawLine(PaintTable, x, y, Radius);
+@@ -198,7 +198,7 @@
+ }
+
+ x += 1;
+- y = (int) (sqrt((float)r2 - x*x) + 0.5f);
++ y = (int) (math::sqrt((float)r2 - x*x) + 0.5f);
+ }
+ if (x == y) {
+ if(!PaintTable[x+y*Radius]) {
+diff -ru spring_89.0/rts/Sim/Misc/QuadField.cpp /home/svenstaro/src/spring/rts/Sim/Misc/QuadField.cpp
+--- spring_89.0/rts/Sim/Misc/QuadField.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Misc/QuadField.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -329,12 +329,12 @@
+ float zp = start.z;
+ const float invQuadSize = 1.0f / QUAD_SIZE;
+
+- if ((floor(start.x * invQuadSize) == floor(to.x * invQuadSize)) &&
+- (floor(start.z * invQuadSize) == floor(to.z * invQuadSize)))
++ if ((math::floor(start.x * invQuadSize) == math::floor(to.x * invQuadSize)) &&
++ (math::floor(start.z * invQuadSize) == math::floor(to.z * invQuadSize)))
+ {
+ *endQuad = ((int(start.x * invQuadSize)) + (int(start.z * invQuadSize)) * numQuadsX);
+ ++endQuad;
+- } else if (floor(start.x * invQuadSize) == floor(to.x * invQuadSize)) {
++ } else if (math::floor(start.x * invQuadSize) == math::floor(to.x * invQuadSize)) {
+ const int first = (int)(start.x * invQuadSize) + ((int)(start.z * invQuadSize) * numQuadsX);
+ const int last = (int)(to.x * invQuadSize) + ((int)(to.z * invQuadSize) * numQuadsX);
+
+@@ -347,7 +347,7 @@
+ *endQuad = a; ++endQuad;
+ }
+ }
+- } else if (floor(start.z * invQuadSize) == floor(to.z * invQuadSize)) {
++ } else if (math::floor(start.z * invQuadSize) == math::floor(to.z * invQuadSize)) {
+ const int first = (int)(start.x * invQuadSize) + ((int)(start.z * invQuadSize) * numQuadsX);
+ const int last = (int)(to.x * invQuadSize) + ((int)(to.z * invQuadSize) * numQuadsX);
+
+@@ -369,14 +369,14 @@
+ ++endQuad;
+
+ if (dx > 0) {
+- xn = (floor(xp * invQuadSize) * QUAD_SIZE + QUAD_SIZE - xp) / dx;
++ xn = (math::floor(xp * invQuadSize) * QUAD_SIZE + QUAD_SIZE - xp) / dx;
+ } else {
+- xn = (floor(xp * invQuadSize) * QUAD_SIZE - xp) / dx;
++ xn = (math::floor(xp * invQuadSize) * QUAD_SIZE - xp) / dx;
+ }
+ if (dz > 0) {
+- zn = (floor(zp * invQuadSize) * QUAD_SIZE + QUAD_SIZE - zp) / dz;
++ zn = (math::floor(zp * invQuadSize) * QUAD_SIZE + QUAD_SIZE - zp) / dz;
+ } else {
+- zn = (floor(zp * invQuadSize) * QUAD_SIZE - zp) / dz;
++ zn = (math::floor(zp * invQuadSize) * QUAD_SIZE - zp) / dz;
+ }
+
+ if (xn < zn) {
+@@ -388,8 +388,8 @@
+ }
+
+ keepgoing =
+- (fabs(xp - start.x) < fabs(to.x - start.x)) &&
+- (fabs(zp - start.z) < fabs(to.z - start.z));
++ (math::fabs(xp - start.x) < math::fabs(to.x - start.x)) &&
++ (math::fabs(zp - start.z) < math::fabs(to.z - start.z));
+ }
+ }
+
+diff -ru spring_89.0/rts/Sim/MoveTypes/ClassicGroundMoveType.cpp /home/svenstaro/src/spring/rts/Sim/MoveTypes/ClassicGroundMoveType.cpp
+--- spring_89.0/rts/Sim/MoveTypes/ClassicGroundMoveType.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/MoveTypes/ClassicGroundMoveType.cpp 2012-07-13 06:34:43.256060504 +0200
+@@ -386,7 +386,7 @@
+
+ const float dif = wSpeed - currentSpeed;
+
+- if (fabs(dif) < 0.05f) {
++ if (math::fabs(dif) < 0.05f) {
+ deltaSpeed = dif * 0.125f;
+ nextDeltaSpeedUpdate = gs->frameNum + 8;
+ } else if (dif > 0.0f) {
+@@ -529,7 +529,7 @@
+ skidRotSpeed = 0.0f;
+ owner->physicalState = oldPhysState;
+ owner->moveType->useHeading = true;
+- float rp = floor(skidRotPos2 + skidRotSpeed2 + 0.5f);
++ float rp = math::floor(skidRotPos2 + skidRotSpeed2 + 0.5f);
+ skidRotSpeed2 = (rp - skidRotPos2) * 0.5f;
+ ChangeHeading(owner->heading);
+ } else {
+@@ -545,10 +545,10 @@
+ }
+
+ float remTime=speedf/speedReduction-1;
+- float rp=floor(skidRotPos2+skidRotSpeed2*remTime+0.5f);
++ float rp=math::floor(skidRotPos2+skidRotSpeed2*remTime+0.5f);
+ skidRotSpeed2=(remTime+1 == 0 ) ? 0 : (rp-skidRotPos2)/(remTime+1);
+
+- if(floor(skidRotPos2)!=floor(skidRotPos2+skidRotSpeed2)){
++ if(math::floor(skidRotPos2)!=math::floor(skidRotPos2+skidRotSpeed2)){
+ skidRotPos2=0;
+ skidRotSpeed2=0;
+ }
+@@ -571,7 +571,7 @@
+ speed*=0.95f;
+ }
+ else {
+- speed += (normal*(fabs(speed.dot(normal)) + .1))*1.9f;
++ speed += (normal*(math::fabs(speed.dot(normal)) + .1))*1.9f;
+ speed*=.8;
+ }
+ }
+@@ -625,7 +625,7 @@
+ float totRad = owner->radius + u->radius;
+
+ if (sqDist < totRad * totRad && sqDist != 0) {
+- float dist = sqrt(sqDist);
++ float dist = math::sqrt(sqDist);
+ float3 dif = midPos - u->midPos;
+ dif /= std::max(dist, 1.f);
+
+@@ -682,7 +682,7 @@
+ float sqDist=(midPos-u->midPos).SqLength();
+ float totRad=owner->radius+u->radius;
+ if(sqDist<totRad*totRad && sqDist!=0){
+- float dist=sqrt(sqDist);
++ float dist=math::sqrt(sqDist);
+ float3 dif=midPos-u->midPos;
+ dif/=std::max(dist, 1.f);
+ float impactSpeed = -owner->speed.dot(dif);
+@@ -721,8 +721,8 @@
+
+ skidRotPos2 += skidRotSpeed2;
+
+- float cosp = cos(skidRotPos2 * PI * 2.0f);
+- float sinp = sin(skidRotPos2 * PI * 2.0f);
++ float cosp = math::cos(skidRotPos2 * PI * 2.0f);
++ float sinp = math::sin(skidRotPos2 * PI * 2.0f);
+
+ float3 f1 = skidRotVector * skidRotVector.dot(owner->frontdir);
+ float3 f2 = owner->frontdir - f1;
+@@ -812,7 +812,7 @@
+ float objectDistToAvoidDirCenter = objectToUnit.dot(rightOfAvoid);
+
+ if (objectToUnit.dot(avoidanceDir) < radiusSum &&
+- fabs(objectDistToAvoidDirCenter) < radiusSum &&
++ math::fabs(objectDistToAvoidDirCenter) < radiusSum &&
+ (o->moveDef || Distance2D(owner, o) >= 0)) {
+
+ if (objectDistToAvoidDirCenter > 0.0f) {
+@@ -824,7 +824,7 @@
+ rightOfAvoid = avoidanceDir.cross(float3(0.0f, 1.0f, 0.0f));
+ } else {
+ avoidLeft +=
+- (radiusSum - fabs(objectDistToAvoidDirCenter)) *
++ (radiusSum - math::fabs(objectDistToAvoidDirCenter)) *
+ AVOIDANCE_STRENGTH * fastmath::isqrt2(distanceToObjectSq);
+ avoidanceDir -= (rightOfAvoid * avoidLeft);
+ avoidanceDir.Normalize();
+@@ -952,7 +952,7 @@
+ if (!decRate) {
+ return 0.0f;
+ }
+- return fabs(speed*speed / decRate);
++ return math::fabs(speed*speed / decRate);
+ }
+
+ float3 CClassicGroundMoveType::Here()
+@@ -1043,7 +1043,7 @@
+ const float zmove = (owner->mapPos.y + owner->zsize / 2) * SQUARE_SIZE;
+ const float xmove = (owner->mapPos.x + owner->xsize / 2) * SQUARE_SIZE;
+
+- if (fabs(owner->frontdir.x) > fabs(owner->frontdir.z)) {
++ if (math::fabs(owner->frontdir.x) > math::fabs(owner->frontdir.z)) {
+ if (newmp.y < owner->mapPos.y) {
+ haveCollided |= CheckColV(newmp.y, newmp.x, newmp.x + owner->xsize - 1, zmove - 3.99f, owner->mapPos.y);
+ newmp = owner->GetMapPos();
+@@ -1261,20 +1261,20 @@
+ float xp = start.x;
+ float zp = start.z;
+
+- if (floor(start.x) == floor(to.x)) {
++ if (math::floor(start.x) == math::floor(to.x)) {
+ if (dz > 0.0f) {
+- for (int a = 1; a < floor(to.z); ++a)
++ for (int a = 1; a < math::floor(to.z); ++a)
+ lineTable[yt][xt].push_back(int2(0, a));
+ } else {
+- for (int a = -1; a > floor(to.z); --a)
++ for (int a = -1; a > math::floor(to.z); --a)
+ lineTable[yt][xt].push_back(int2(0, a));
+ }
+- } else if (floor(start.z) == floor(to.z)) {
++ } else if (math::floor(start.z) == math::floor(to.z)) {
+ if (dx > 0.0f) {
+- for (int a = 1; a < floor(to.x); ++a)
++ for (int a = 1; a < math::floor(to.x); ++a)
+ lineTable[yt][xt].push_back(int2(a, 0));
+ } else {
+- for (int a = -1; a > floor(to.x); --a)
++ for (int a = -1; a > math::floor(to.x); --a)
+ lineTable[yt][xt].push_back(int2(a, 0));
+ }
+ } else {
+@@ -1283,14 +1283,14 @@
+
+ while (keepgoing) {
+ if (dx > 0.0f) {
+- xn = (floor(xp) + 1.0f - xp) / dx;
++ xn = (math::floor(xp) + 1.0f - xp) / dx;
+ } else {
+- xn = (floor(xp) - xp) / dx;
++ xn = (math::floor(xp) - xp) / dx;
+ }
+ if (dz > 0.0f) {
+- zn = (floor(zp) + 1.0f - zp) / dz;
++ zn = (math::floor(zp) + 1.0f - zp) / dz;
+ } else {
+- zn = (floor(zp) - zp) / dz;
++ zn = (math::floor(zp) - zp) / dz;
+ }
+
+ if (xn < zn) {
+@@ -1302,10 +1302,10 @@
+ }
+
+ keepgoing =
+- fabs(xp - start.x) < fabs(to.x - start.x) &&
+- fabs(zp - start.z) < fabs(to.z - start.z);
++ math::fabs(xp - start.x) < math::fabs(to.x - start.x) &&
++ math::fabs(zp - start.z) < math::fabs(to.z - start.z);
+
+- lineTable[yt][xt].push_back( int2(int(floor(xp)), int(floor(zp))) );
++ lineTable[yt][xt].push_back( int2(int(math::floor(xp)), int(math::floor(zp))) );
+ }
+
+ lineTable[yt][xt].pop_back();
+@@ -1335,7 +1335,7 @@
+ const MoveDef& md = *(owner->unitDef->moveDef);
+ const float cmod = movemath->GetPosSpeedMod(md, moveSquareX * 2, moveSquareY * 2);
+
+- if (fabs(owner->frontdir.x) < fabs(owner->frontdir.z)) {
++ if (math::fabs(owner->frontdir.x) < math::fabs(owner->frontdir.z)) {
+ if (newMoveSquareX > moveSquareX) {
+ const float nmod = movemath->GetPosSpeedMod(md, newMoveSquareX * 2, newMoveSquareY * 2);
+ if (cmod > 0.01f && nmod <= 0.01f) {
+diff -ru spring_89.0/rts/Sim/MoveTypes/GroundMoveType.cpp /home/svenstaro/src/spring/rts/Sim/MoveTypes/GroundMoveType.cpp
+--- spring_89.0/rts/Sim/MoveTypes/GroundMoveType.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/MoveTypes/GroundMoveType.cpp 2012-07-13 06:34:43.249393836 +0200
+@@ -1808,20 +1808,20 @@
+ float xp = start.x;
+ float zp = start.z;
+
+- if (floor(start.x) == floor(to.x)) {
++ if (math::floor(start.x) == math::floor(to.x)) {
+ if (dz > 0.0f) {
+- for (int a = 1; a <= floor(to.z); ++a)
++ for (int a = 1; a <= math::floor(to.z); ++a)
+ lineTable[yt][xt].push_back(int2(0, a));
+ } else {
+- for (int a = -1; a >= floor(to.z); --a)
++ for (int a = -1; a >= math::floor(to.z); --a)
+ lineTable[yt][xt].push_back(int2(0, a));
+ }
+- } else if (floor(start.z) == floor(to.z)) {
++ } else if (math::floor(start.z) == math::floor(to.z)) {
+ if (dx > 0.0f) {
+- for (int a = 1; a <= floor(to.x); ++a)
++ for (int a = 1; a <= math::floor(to.x); ++a)
+ lineTable[yt][xt].push_back(int2(a, 0));
+ } else {
+- for (int a = -1; a >= floor(to.x); --a)
++ for (int a = -1; a >= math::floor(to.x); --a)
+ lineTable[yt][xt].push_back(int2(a, 0));
+ }
+ } else {
+@@ -1830,14 +1830,14 @@
+
+ while (keepgoing) {
+ if (dx > 0.0f) {
+- xn = (floor(xp) + 1.0f - xp) / dx;
++ xn = (math::floor(xp) + 1.0f - xp) / dx;
+ } else {
+- xn = (floor(xp) - xp) / dx;
++ xn = (math::floor(xp) - xp) / dx;
+ }
+ if (dz > 0.0f) {
+- zn = (floor(zp) + 1.0f - zp) / dz;
++ zn = (math::floor(zp) + 1.0f - zp) / dz;
+ } else {
+- zn = (floor(zp) - zp) / dz;
++ zn = (math::floor(zp) - zp) / dz;
+ }
+
+ if (xn < zn) {
+@@ -1851,7 +1851,7 @@
+ keepgoing =
+ math::fabs(xp - start.x) <= math::fabs(to.x - start.x) &&
+ math::fabs(zp - start.z) <= math::fabs(to.z - start.z);
+- int2 pt(int(floor(xp)), int(floor(zp)));
++ int2 pt(int(math::floor(xp)), int(math::floor(zp)));
+
+ static const int MIN_IDX = -int(LINETABLE_SIZE / 2);
+ static const int MAX_IDX = -MIN_IDX;
+diff -ru spring_89.0/rts/Sim/MoveTypes/HoverAirMoveType.cpp /home/svenstaro/src/spring/rts/Sim/MoveTypes/HoverAirMoveType.cpp
+--- spring_89.0/rts/Sim/MoveTypes/HoverAirMoveType.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/MoveTypes/HoverAirMoveType.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -325,7 +325,7 @@
+ {
+ #define NOZERO(x) std::max(x, 0.0001f)
+
+- const float driftSpeed = fabs(owner->unitDef->dlHoverFactor);
++ const float driftSpeed = math::fabs(owner->unitDef->dlHoverFactor);
+ float3 deltaVec = goalPos - owner->pos;
+ float3 deltaDir = float3(deltaVec.x, 0.0f, deltaVec.z);
+ float l = NOZERO(deltaDir.Length2D());
+@@ -342,7 +342,7 @@
+ deltaDir -= owner->speed;
+ l = deltaDir.SqLength2D();
+ if (l > (maxSpeed * maxSpeed)) {
+- deltaDir *= maxSpeed / NOZERO(sqrt(l));
++ deltaDir *= maxSpeed / NOZERO(math::sqrt(l));
+ }
+ wantedSpeed = owner->speed + deltaDir;
+
+diff -ru spring_89.0/rts/Sim/MoveTypes/StrafeAirMoveType.cpp /home/svenstaro/src/spring/rts/Sim/MoveTypes/StrafeAirMoveType.cpp
+--- spring_89.0/rts/Sim/MoveTypes/StrafeAirMoveType.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/MoveTypes/StrafeAirMoveType.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -412,7 +412,7 @@
+ }
+ }
+
+- if (fabs(owner->rightdir.y) < maxAileron * 3.0f * speedf || owner->updir.y < 0.0f) {
++ if (math::fabs(owner->rightdir.y) < maxAileron * 3.0f * speedf || owner->updir.y < 0.0f) {
+ elevator = 1;
+ }
+ UpdateAirPhysics(0, aileron, elevator, 1, owner->frontdir);
+@@ -528,13 +528,13 @@
+ if (goalDir.dot(frontdir) < -0.2f + inefficientAttackTime * 0.002f && frontdir.y > -0.2f && speedf > 2.0f && gs->randFloat() > 0.996f)
+ maneuver = 1;
+
+- if (goalDir.dot(frontdir) < -0.2f + inefficientAttackTime * 0.002f && fabs(frontdir.y) < 0.2f && gs->randFloat() > 0.996f && gHeightAW + 400 < pos.y) {
++ if (goalDir.dot(frontdir) < -0.2f + inefficientAttackTime * 0.002f && math::fabs(frontdir.y) < 0.2f && gs->randFloat() > 0.996f && gHeightAW + 400 < pos.y) {
+ maneuver = 2;
+ maneuverSubState = 0;
+ }
+
+ // roll
+- if (speedf > 0.45f && pos.y + owner->speed.y * 60 * fabs(frontdir.y) + std::min(0.0f, float(updir.y)) * 150 > gHeightAW + 60 + fabs(rightdir.y) * 150) {
++ if (speedf > 0.45f && pos.y + owner->speed.y * 60 * math::fabs(frontdir.y) + std::min(0.0f, float(updir.y)) * 150 > gHeightAW + 60 + math::fabs(rightdir.y) * 150) {
+ const float goalBankDif = goalDotRight + rightdir.y * 0.2f;
+ if (goalBankDif > maxAileron * speedf * 4.0f) {
+ aileron = 1;
+@@ -706,7 +706,7 @@
+ } else if (goalBankDif < -maxAileron * speedf * 4 && rightdir.y < maxBank) {
+ aileron = -1;
+ } else {
+- if (fabs(rightdir.y) < maxBank) {
++ if (math::fabs(rightdir.y) < maxBank) {
+ aileron = goalBankDif / (maxAileron * speedf * 4);
+ } else {
+ if (rightdir.y < 0.0f && goalBankDif < 0.0f) {
+@@ -762,7 +762,7 @@
+ } else if (hdif > (maxElevator * speedf * speedf * 20) && frontdir.y < maxPitch) {
+ elevator = 1;
+ } else {
+- if (fabs(frontdir.y) < maxPitch)
++ if (math::fabs(frontdir.y) < maxPitch)
+ elevator = hdif / (maxElevator * speedf * speedf * 20);
+ }
+ }
+diff -ru spring_89.0/rts/Sim/Path/Default/PathEstimator.cpp /home/svenstaro/src/spring/rts/Sim/Path/Default/PathEstimator.cpp
+--- spring_89.0/rts/Sim/Path/Default/PathEstimator.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Path/Default/PathEstimator.cpp 2012-07-13 06:34:42.939393819 +0200
+@@ -201,7 +201,7 @@
+
+ void CPathEstimator::CalcOffsetsAndPathCosts(int thread) {
+ //! reset FPU state for synced computations
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+
+ // NOTE: EstimatePathCosts() [B] is temporally dependent on CalculateBlockOffsets() [A],
+ // A must be completely finished before B_i can be safely called. This means we cannot
+diff -ru spring_89.0/rts/Sim/Path/QTPFS/PathManager.cpp /home/svenstaro/src/spring/rts/Sim/Path/QTPFS/PathManager.cpp
+--- spring_89.0/rts/Sim/Path/QTPFS/PathManager.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Path/QTPFS/PathManager.cpp 2012-07-13 06:34:43.016060490 +0200
+@@ -251,7 +251,7 @@
+
+
+ void QTPFS::PathManager::InitNodeLayersThreaded(const SRectangle& rect) {
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+
+ char loadMsg[512] = {'\0'};
+ const char* fmtString = "[PathManager::%s] using %u threads for %u node-layers (cached? %s)";
+@@ -310,7 +310,7 @@
+ }
+ #endif
+
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ }
+
+ void QTPFS::PathManager::InitNodeLayersThread(
+@@ -360,7 +360,7 @@
+
+
+ void QTPFS::PathManager::UpdateNodeLayersThreaded(const SRectangle& rect) {
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+
+ #ifdef QTPFS_OPENMP_ENABLED
+ {
+@@ -375,7 +375,7 @@
+ }
+ #endif
+
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ }
+
+ void QTPFS::PathManager::UpdateNodeLayersThread(
+@@ -569,7 +569,7 @@
+ SCOPED_TIMER("PathManager::Update");
+
+ #ifdef QTPFS_ENABLE_THREADED_UPDATE
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+
+ // allow ThreadUpdate to run one iteration
+ condThreadUpdate->notify_one();
+@@ -579,7 +579,7 @@
+ // wait for the ThreadUpdate iteration to finish
+ condThreadUpdated->wait(lock);
+
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ #else
+ ThreadUpdate();
+ #endif
+diff -ru spring_89.0/rts/Sim/Projectiles/ExplosionGenerator.cpp /home/svenstaro/src/spring/rts/Sim/Projectiles/ExplosionGenerator.cpp
+--- spring_89.0/rts/Sim/Projectiles/ExplosionGenerator.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Projectiles/ExplosionGenerator.cpp 2012-07-13 06:34:43.082727161 +0200
+@@ -262,7 +262,7 @@
+ damage *= gfxMod;
+ damage = std::max(damage, 0.0f);
+
+- const float sqrtDmg = sqrt(damage);
++ const float sqrtDmg = math::sqrt(damage);
+ const float camLength = camVect.Length();
+ float moveLength = radius * 0.03f;
+
+@@ -283,7 +283,7 @@
+ if (airExplosion || waterExplosion) { smokeDamage *= 0.6f; }
+
+ if (smokeDamage > 0.01f) {
+- smokeDamageSQRT = sqrt(smokeDamage);
++ smokeDamageSQRT = math::sqrt(smokeDamage);
+ smokeDamageISQRT = 1.0f / (smokeDamageSQRT * 0.35f);
+ }
+
+@@ -507,17 +507,17 @@
+ }
+ case OP_SAWTOOTH: {
+ // this translates to modulo except it works with floats
+- val -= (*(float*) code) * floor(val / (*(float*) code));
++ val -= (*(float*) code) * math::floor(val / (*(float*) code));
+ code += 4;
+ break;
+ }
+ case OP_DISCRETE: {
+- val = (*(float*) code) * floor(val / (*(float*) code));
++ val = (*(float*) code) * math::floor(val / (*(float*) code));
+ code += 4;
+ break;
+ }
+ case OP_SINE: {
+- val = (*(float*) code) * sin(val);
++ val = (*(float*) code) * math::sin(val);
+ code += 4;
+ break;
+ }
+@@ -538,12 +538,12 @@
+ break;
+ }
+ case OP_POW: {
+- val = pow(val, (*(float*) code));
++ val = math::pow(val, (*(float*) code));
+ code += 4;
+ break;
+ }
+ case OP_POWBUFF: {
+- val = pow(val, buffer[(*(int*) code)]);
++ val = math::pow(val, buffer[(*(int*) code)]);
+ code += 4;
+ break;
+ }
+diff -ru spring_89.0/rts/Sim/Projectiles/PieceProjectile.cpp /home/svenstaro/src/spring/rts/Sim/Projectiles/PieceProjectile.cpp
+--- spring_89.0/rts/Sim/Projectiles/PieceProjectile.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Projectiles/PieceProjectile.cpp 2012-07-13 06:34:43.069393827 +0200
+@@ -111,7 +111,7 @@
+ oldSmokeDir.Normalize();
+ const float3 camDir = (pos - camera->pos).Normalize();
+
+- if (camera->pos.distance(pos) + (1 - fabs(camDir.dot(oldSmokeDir))) * 3000 < 200) {
++ if (camera->pos.distance(pos) + (1 - math::fabs(camDir.dot(oldSmokeDir))) * 3000 < 200) {
+ drawTrail = false;
+ }
+
+@@ -334,7 +334,7 @@
+
+ if (!drawTrail) {
+ float3 camDir = (pos - camera->pos).Normalize();
+- if (camera->pos.distance(pos) + (1 - fabs(camDir.dot(dir))) * 3000 > 300) {
++ if (camera->pos.distance(pos) + (1 - math::fabs(camDir.dot(dir))) * 3000 > 300) {
+ drawTrail = true;
+ }
+ }
+@@ -373,7 +373,7 @@
+ const float3 dif2 = (oldSmokePos - camera->pos).Normalize();
+ const float3 dir2 = (dif2.cross(oldSmokeDir)).Normalize();
+
+- float a1 = ((1 - 0.0f / (Smoke_Time)) * 255) * (0.7f + fabs(dif.dot(dir)));
++ float a1 = ((1 - 0.0f / (Smoke_Time)) * 255) * (0.7f + math::fabs(dif.dot(dir)));
+ float alpha = std::min(255.0f, std::max(0.f, a1));
+ col[0] = (unsigned char) (color * alpha);
+ col[1] = (unsigned char) (color * alpha);
+@@ -381,7 +381,7 @@
+ col[3] = (unsigned char) (alpha);
+
+ unsigned char col2[4];
+- float a2 = ((1 - float(age2) / (Smoke_Time)) * 255) * (0.7f + fabs(dif2.dot(oldSmokeDir)));
++ float a2 = ((1 - float(age2) / (Smoke_Time)) * 255) * (0.7f + math::fabs(dif2.dot(oldSmokeDir)));
+
+ if (age < 8)
+ a2 = 0;
+diff -ru spring_89.0/rts/Sim/Projectiles/Unsynced/SimpleParticleSystem.cpp /home/svenstaro/src/spring/rts/Sim/Projectiles/Unsynced/SimpleParticleSystem.cpp
+--- spring_89.0/rts/Sim/Projectiles/Unsynced/SimpleParticleSystem.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Projectiles/Unsynced/SimpleParticleSystem.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -188,7 +188,7 @@
+ particles[i].size = particleSize + gu->usRandFloat()*particleSizeSpread;
+ particles[i].pos = pos;
+
+- particles[i].speed = ((up * emitMul.y) * cos(ay) - ((right * emitMul.x) * cos(az) - (forward * emitMul.z) * sin(az)) * sin(ay)) * (particleSpeed + (gu->usRandFloat() * particleSpeedSpread));
++ particles[i].speed = ((up * emitMul.y) * math::cos(ay) - ((right * emitMul.x) * math::cos(az) - (forward * emitMul.z) * math::sin(az)) * math::sin(ay)) * (particleSpeed + (gu->usRandFloat() * particleSpeedSpread));
+ }
+
+ drawRadius = (particleSpeed + particleSpeedSpread) * (particleLife * particleLifeSpread);
+@@ -232,7 +232,7 @@
+ const float az = gu->usRandFloat() * 2 * PI;
+ const float ay = (emitRot + emitRotSpread*gu->usRandFloat()) * (PI / 180.0);
+
+- float3 pspeed = ((up * emitMul.y) * cos(ay) - ((right * emitMul.x) * cos(az) - (forward * emitMul.z) * sin(az)) * sin(ay)) * (particleSpeed + (gu->usRandFloat() * particleSpeedSpread));
++ float3 pspeed = ((up * emitMul.y) * math::cos(ay) - ((right * emitMul.x) * math::cos(az) - (forward * emitMul.z) * math::sin(az)) * math::sin(ay)) * (particleSpeed + (gu->usRandFloat() * particleSpeedSpread));
+
+ CGenericParticleProjectile* particle = new CGenericParticleProjectile(pos + explosionPos, pspeed, owner);
+
+diff -ru spring_89.0/rts/Sim/Projectiles/Unsynced/SmokeTrailProjectile.cpp /home/svenstaro/src/spring/rts/Sim/Projectiles/Unsynced/SmokeTrailProjectile.cpp
+--- spring_89.0/rts/Sim/Projectiles/Unsynced/SmokeTrailProjectile.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Projectiles/Unsynced/SmokeTrailProjectile.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -124,7 +124,7 @@
+ if (lastSegment) {
+ a1 = 0;
+ }
+- a1 *= 0.7f + fabs(dif1.dot(dir1));
++ a1 *= 0.7f + math::fabs(dif1.dot(dir1));
+ float alpha = std::min(255.f, std::max(0.f, a1));
+ col[0] = (unsigned char) (color * alpha);
+ col[1] = (unsigned char) (color * alpha);
+@@ -136,7 +136,7 @@
+ if (firstSegment) {
+ a2 = 0;
+ }
+- a2 *= 0.7f + fabs(dif2.dot(dir2));
++ a2 *= 0.7f + math::fabs(dif2.dot(dir2));
+ alpha = std::min(255.f, std::max(0.0f, a2));
+ col2[0] = (unsigned char) (color * alpha);
+ col2[1] = (unsigned char) (color * alpha);
+@@ -153,7 +153,7 @@
+
+ unsigned char col3[4];
+ float a2 = (1 - (float)(age + 4) / lifeTime) * 255;
+- a2 *= 0.7f + fabs(dif3.dot(middir));
++ a2 *= 0.7f + math::fabs(dif3.dot(middir));
+ alpha = std::min(255.0f, std::max(0.0f, a2));
+ col3[0] = (unsigned char) (color * alpha);
+ col3[1] = (unsigned char) (color * alpha);
+diff -ru spring_89.0/rts/Sim/Projectiles/Unsynced/SpherePartProjectile.cpp /home/svenstaro/src/spring/rts/Sim/Projectiles/Unsynced/SpherePartProjectile.cpp
+--- spring_89.0/rts/Sim/Projectiles/Unsynced/SpherePartProjectile.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Projectiles/Unsynced/SpherePartProjectile.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -49,7 +49,7 @@
+ const float yp = (y + ypart) / 16.0f*PI - PI/2;
+ for (int x = 0; x < 5; ++x) {
+ float xp = (x + xpart) / 32.0f*2*PI;
+- vectors[y*5 + x] = float3(sin(xp)*cos(yp), sin(yp), cos(xp)*cos(yp));
++ vectors[y*5 + x] = float3(math::sin(xp)*math::cos(yp), math::sin(yp), math::cos(xp)*math::cos(yp));
+ }
+ }
+ pos = centerPos+vectors[12] * sphereSize;
+@@ -86,7 +86,7 @@
+ float alpha =
+ baseAlpha *
+ (1.0f - min(1.0f, float(age + globalRendering->timeOffset) / (float) ttl)) *
+- (1.0f - fabs(y + ybase - 8.0f) / 8.0f * 1.0f);
++ (1.0f - math::fabs(y + ybase - 8.0f) / 8.0f * 1.0f);
+
+ col[0] = (unsigned char) (color.x * 255.0f * alpha);
+ col[1] = (unsigned char) (color.y * 255.0f * alpha);
+@@ -94,7 +94,7 @@
+ col[3] = ((unsigned char) (40 * alpha)) + 1;
+ va->AddVertexQTC(centerPos + vectors[y*5 + x] * interSize, texx, texy, col);
+ va->AddVertexQTC(centerPos + vectors[y*5 + x + 1] * interSize, texx, texy, col);
+- alpha = baseAlpha * (1.0f - min(1.0f, (float)(age + globalRendering->timeOffset) / (float) ttl)) * (1 - fabs(y + 1 + ybase - 8.0f) / 8.0f*1.0f);
++ alpha = baseAlpha * (1.0f - min(1.0f, (float)(age + globalRendering->timeOffset) / (float) ttl)) * (1 - math::fabs(y + 1 + ybase - 8.0f) / 8.0f*1.0f);
+
+ col[0] = (unsigned char) (color.x * 255.0f * alpha);
+ col[1] = (unsigned char) (color.y * 255.0f * alpha);
+diff -ru spring_89.0/rts/Sim/Projectiles/Unsynced/WakeProjectile.cpp /home/svenstaro/src/spring/rts/Sim/Projectiles/Unsynced/WakeProjectile.cpp
+--- spring_89.0/rts/Sim/Projectiles/Unsynced/WakeProjectile.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Projectiles/Unsynced/WakeProjectile.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -79,7 +79,7 @@
+ float interSize = size + sizeExpansion * globalRendering->timeOffset;
+ float interRot = rotation + rotSpeed * globalRendering->timeOffset;
+
+- const float3 dir1 = float3(cos(interRot), 0, sin(interRot)) * interSize;
++ const float3 dir1 = float3(math::cos(interRot), 0, math::sin(interRot)) * interSize;
+ const float3 dir2 = dir1.cross(UpVector);
+
+ #define wt projectileDrawer->waketex
+diff -ru spring_89.0/rts/Sim/Projectiles/WeaponProjectiles/MissileProjectile.cpp /home/svenstaro/src/spring/rts/Sim/Projectiles/WeaponProjectiles/MissileProjectile.cpp
+--- spring_89.0/rts/Sim/Projectiles/WeaponProjectiles/MissileProjectile.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Projectiles/WeaponProjectiles/MissileProjectile.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -96,7 +96,7 @@
+ drawRadius = radius + maxSpeed * 8;
+
+ float3 camDir = (pos - camera->pos).ANormalize();
+- if ((camera->pos.distance(pos) * 0.2f + (1 - fabs(camDir.dot(dir))) * 3000) < 200) {
++ if ((camera->pos.distance(pos) * 0.2f + (1 - math::fabs(camDir.dot(dir))) * 3000) < 200) {
+ drawTrail = false;
+ }
+
+@@ -229,8 +229,8 @@
+ // is too close or height difference too large)
+ const float horDiff = (targPos - pos).Length2D() + 0.01f;
+ const float verDiff = (targPos.y - pos.y) + 0.01f;
+- const float dirDiff = fabs(targetDir.y - dir.y);
+- const float ratio = fabs(verDiff / horDiff);
++ const float dirDiff = math::fabs(targetDir.y - dir.y);
++ const float ratio = math::fabs(verDiff / horDiff);
+
+ dir.y -= (dirDiff * ratio);
+ } else {
+@@ -295,7 +295,7 @@
+ if (!drawTrail) {
+ const float3 camDir = (pos - camera->pos).ANormalize();
+
+- if ((camera->pos.distance(pos) * 0.2f + (1 - fabs(camDir.dot(dir))) * 3000) > 300) {
++ if ((camera->pos.distance(pos) * 0.2f + (1 - math::fabs(camDir.dot(dir))) * 3000) > 300) {
+ drawTrail = true;
+ }
+ }
+@@ -343,7 +343,7 @@
+ dir2.ANormalize();
+
+ float a1 = (1.0f / (SMOKE_TIME)) * 255;
+- a1 *= 0.7f + fabs(dif.dot(dir));
++ a1 *= 0.7f + math::fabs(dif.dot(dir));
+ const float alpha1 = std::min(255.0f, std::max(0.0f, a1));
+ col[0] = (unsigned char) (color * alpha1);
+ col[1] = (unsigned char) (color * alpha1);
+@@ -357,7 +357,7 @@
+ a2 = 0;
+ }
+
+- a2 *= 0.7f + fabs(dif2.dot(oldDir));
++ a2 *= 0.7f + math::fabs(dif2.dot(oldDir));
+ const float alpha2 = std::min(255.0f, std::max(0.0f, a2));
+ col2[0] = (unsigned char) (color * alpha2);
+ col2[1] = (unsigned char) (color * alpha2);
+diff -ru spring_89.0/rts/Sim/Projectiles/WeaponProjectiles/StarburstProjectile.cpp /home/svenstaro/src/spring/rts/Sim/Projectiles/WeaponProjectiles/StarburstProjectile.cpp
+--- spring_89.0/rts/Sim/Projectiles/WeaponProjectiles/StarburstProjectile.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Projectiles/WeaponProjectiles/StarburstProjectile.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -90,13 +90,13 @@
+ }
+ }
+
+- maxGoodDif = cos(tracking * 0.6f);
++ maxGoodDif = math::cos(tracking * 0.6f);
+ curSpeed = speed.Length();
+ dir = speed / curSpeed;
+ oldSmokeDir = dir;
+
+ const float3 camDir = (pos - camera->pos).ANormalize();
+- const float camDist = (camera->pos.distance(pos) * 0.2f) + ((1.0f - fabs(camDir.dot(dir))) * 3000);
++ const float camDist = (camera->pos.distance(pos) * 0.2f) + ((1.0f - math::fabs(camDir.dot(dir))) * 3000);
+
+ drawTrail = (camDist >= 200.0f);
+ drawRadius = maxSpeed * 8.0f;
+@@ -304,7 +304,7 @@
+
+ if (!drawTrail) {
+ const float3 camDir = (pos - camera->pos).ANormalize();
+- const float camDist = (camera->pos.distance(pos) * 0.2f + (1 - fabs(camDir.dot(dir))) * 3000);
++ const float camDist = (camera->pos.distance(pos) * 0.2f + (1 - math::fabs(camDir.dot(dir))) * 3000);
+
+ drawTrail = (camDist > 300.0f);
+ }
+@@ -335,11 +335,11 @@
+
+ const float a1 =
+ ((1.0f - (0.0f / SMOKE_TIME)) * 255) *
+- (0.7f + fabs(dif1.dot(dir)));
++ (0.7f + math::fabs(dif1.dot(dir)));
+ const float a2 =
+ (age < 8)? 0.0f:
+ ((1.0f - (age2 / SMOKE_TIME)) * 255) *
+- (0.7f + fabs(dif2.dot(oldSmokeDir)));
++ (0.7f + math::fabs(dif2.dot(oldSmokeDir)));
+ const int alpha1 = std::min(255, (int) std::max(0.0f, a1));
+ const int alpha2 = std::min(255, (int) std::max(0.0f, a2));
+
+diff -ru spring_89.0/rts/Sim/Projectiles/WeaponProjectiles/WeaponProjectile.cpp /home/svenstaro/src/spring/rts/Sim/Projectiles/WeaponProjectiles/WeaponProjectile.cpp
+--- spring_89.0/rts/Sim/Projectiles/WeaponProjectiles/WeaponProjectile.cpp 2012-07-10 00:10:07.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Projectiles/WeaponProjectiles/WeaponProjectile.cpp 2012-07-13 06:34:43.249393836 +0200
+@@ -252,8 +252,8 @@
+ const float dot = speed.dot(normal);
+
+ pos -= speed;
+- speed -= (speed + normal * fabs(dot)) * (1 - weaponDef->bounceSlip);
+- speed += (normal * (fabs(dot))) * (1 + weaponDef->bounceRebound);
++ speed -= (speed + normal * math::fabs(dot)) * (1 - weaponDef->bounceSlip);
++ speed += (normal * (math::fabs(dot))) * (1 + weaponDef->bounceRebound);
+ pos += speed;
+
+ if (weaponDef->bounceExplosionGenerator) {
+diff -ru spring_89.0/rts/Sim/Units/CommandAI/MobileCAI.cpp /home/svenstaro/src/spring/rts/Sim/Units/CommandAI/MobileCAI.cpp
+--- spring_89.0/rts/Sim/Units/CommandAI/MobileCAI.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Units/CommandAI/MobileCAI.cpp 2012-07-13 06:34:43.079393827 +0200
+@@ -770,7 +770,7 @@
+ b2 = w->TryTargetRotate(orderTarget, c.GetID() == CMD_MANUALFIRE);
+ b3 = Square(w->range - (w->relWeaponPos).Length()) > (orderTarget->pos.SqDistance(owner->pos));
+ b4 = w->TryTargetHeading(GetHeadingFromVector(-diff.x, -diff.z), orderTarget->pos, orderTarget != NULL, orderTarget);
+- edgeFactor = fabs(w->targetBorder);
++ edgeFactor = math::fabs(w->targetBorder);
+ }
+
+ const float diffLength2D = diff.Length2D();
+diff -ru spring_89.0/rts/Sim/Units/CommandAI/TransportCAI.cpp /home/svenstaro/src/spring/rts/Sim/Units/CommandAI/TransportCAI.cpp
+--- spring_89.0/rts/Sim/Units/CommandAI/TransportCAI.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Units/CommandAI/TransportCAI.cpp 2012-07-13 06:34:43.079393827 +0200
+@@ -349,7 +349,7 @@
+ if (rx <= spread)
+ continue;
+
+- rx = sqrt(rx);
++ rx = math::sqrt(rx);
+
+ const float minx = std::max( spread, center.x - rx);
+ const float maxx = std::min(float(gs->mapx * SQUARE_SIZE - spread), center.x + rx);
+@@ -676,7 +676,7 @@
+ am->ForceHeading(unloadHeading);
+ am->maxDrift = 1;
+ if ((owner->pos.SqDistance(pos) < 64) &&
+- (owner->updir.dot(UpVector) > 0.99f) && fabs(owner->heading - unloadHeading) < AIRTRANSPORT_DOCKING_ANGLE) {
++ (owner->updir.dot(UpVector) > 0.99f) && math::fabs(owner->heading - unloadHeading) < AIRTRANSPORT_DOCKING_ANGLE) {
+ if (!SpotIsClearIgnoreSelf(pos, unit)) {
+ // chosen spot is no longer clear to land, choose a new one
+ // if a new spot cannot be found, don't unload at all
+diff -ru spring_89.0/rts/Sim/Units/UnitDef.cpp /home/svenstaro/src/spring/rts/Sim/Units/UnitDef.cpp
+--- spring_89.0/rts/Sim/Units/UnitDef.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Units/UnitDef.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -399,9 +399,9 @@
+ selfDCountdown = udTable.GetInt("selfDestructCountdown", 5);
+
+ speed = udTable.GetFloat("maxVelocity", 0.0f) * GAME_SPEED;
+- speed = fabs(speed);
++ speed = math::fabs(speed);
+ rSpeed = udTable.GetFloat("maxReverseVelocity", 0.0f) * GAME_SPEED;
+- rSpeed = fabs(rSpeed);
++ rSpeed = math::fabs(rSpeed);
+
+ fireState = udTable.GetInt("fireState", canFireControl? FIRESTATE_NONE: FIRESTATE_FIREATWILL);
+ fireState = std::min(fireState, int(FIRESTATE_FIREATWILL));
+@@ -462,8 +462,8 @@
+ useSmoothMesh = udTable.GetBool("useSmoothMesh", true);
+
+
+- maxAcc = fabs(udTable.GetFloat("acceleration", 0.5f)); // no negative values
+- maxDec = fabs(udTable.GetFloat("brakeRate", 3.0f * maxAcc)) * (canfly? 0.1f: 1.0f); // no negative values
++ maxAcc = math::fabs(udTable.GetFloat("acceleration", 0.5f)); // no negative values
++ maxDec = math::fabs(udTable.GetFloat("brakeRate", 3.0f * maxAcc)) * (canfly? 0.1f: 1.0f); // no negative values
+
+ turnRate = udTable.GetFloat("turnRate", 0.0f);
+ turnInPlace = udTable.GetBool("turnInPlace", true);
+@@ -709,7 +709,7 @@
+ seismicSignature = udTable.GetFloat("seismicSignature", -1.0f);
+ if (seismicSignature == -1.0f) {
+ if (!canFloat && !canHover && !canfly) {
+- seismicSignature = sqrt(mass / 100.0f);
++ seismicSignature = math::sqrt(mass / 100.0f);
+ } else {
+ seismicSignature = 0.0f;
+ }
+diff -ru spring_89.0/rts/Sim/Units/UnitHandler.cpp /home/svenstaro/src/spring/rts/Sim/Units/UnitHandler.cpp
+--- spring_89.0/rts/Sim/Units/UnitHandler.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Units/UnitHandler.cpp 2012-07-13 06:34:43.076060493 +0200
+@@ -419,8 +419,8 @@
+ // look for a nearby geothermal feature if we need one
+ for (std::vector<CFeature*>::const_iterator fi = features.begin(); fi != features.end(); ++fi) {
+ if ((*fi)->def->geoThermal
+- && fabs((*fi)->pos.x - pos.x) < (xsize * 4 - 4)
+- && fabs((*fi)->pos.z - pos.z) < (zsize * 4 - 4)) {
++ && math::fabs((*fi)->pos.x - pos.x) < (xsize * 4 - 4)
++ && math::fabs((*fi)->pos.z - pos.z) < (zsize * 4 - 4)) {
+ canBuild = BUILDSQUARE_OPEN;
+ break;
+ }
+@@ -589,7 +589,7 @@
+ BuildInfo bi(cmd);
+ tempF1 = pos + dir * ((bi.pos.y - pos.y) / dir.y) - bi.pos;
+
+- if (bi.def && (bi.GetXSize() / 2) * SQUARE_SIZE > fabs(tempF1.x) && (bi.GetZSize() / 2) * SQUARE_SIZE > fabs(tempF1.z)) {
++ if (bi.def && (bi.GetXSize() / 2) * SQUARE_SIZE > math::fabs(tempF1.x) && (bi.GetZSize() / 2) * SQUARE_SIZE > math::fabs(tempF1.z)) {
+ return cmd;
+ }
+ }
+diff -ru spring_89.0/rts/Sim/Weapons/BombDropper.cpp /home/svenstaro/src/spring/rts/Sim/Weapons/BombDropper.cpp
+--- spring_89.0/rts/Sim/Weapons/BombDropper.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Weapons/BombDropper.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -62,7 +62,7 @@
+ const float s = -owner->speed.y;
+ const float sq = (s - 2*d) / -((weaponDef->myGravity == 0) ? mapInfo->map.gravity : -(weaponDef->myGravity));
+ if (sq > 0) {
+- predict = s / ((weaponDef->myGravity == 0) ? mapInfo->map.gravity : -(weaponDef->myGravity)) + sqrt(sq);
++ predict = s / ((weaponDef->myGravity == 0) ? mapInfo->map.gravity : -(weaponDef->myGravity)) + math::sqrt(sq);
+ } else {
+ predict = 0;
+ }
+diff -ru spring_89.0/rts/Sim/Weapons/Cannon.cpp /home/svenstaro/src/spring/rts/Sim/Weapons/Cannon.cpp
+--- spring_89.0/rts/Sim/Weapons/Cannon.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Weapons/Cannon.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -169,7 +169,7 @@
+
+ int ttl = 0;
+ float sqSpeed2D = dir.SqLength2D() * projectileSpeed * projectileSpeed;
+- int predict = (int)ceil((sqSpeed2D == 0) ? (-2 * projectileSpeed * dir.y / gravity)
++ int predict = (int)math::ceil((sqSpeed2D == 0) ? (-2 * projectileSpeed * dir.y / gravity)
+ : math::sqrt(diff.SqLength2D() / sqSpeed2D));
+ if(weaponDef->flighttime > 0) {
+ ttl = weaponDef->flighttime;
+@@ -216,9 +216,9 @@
+ // try to cache results, sacrifice some (not much too much even for a pewee) accuracy
+ // it saves a dozen or two expensive calculations per second when 5 guardians
+ // are shooting at several slow- and fast-moving targets
+- if (fabs(diff.x - lastDiff.x) < (SQUARE_SIZE / 4.0f) &&
+- fabs(diff.y - lastDiff.y) < (SQUARE_SIZE / 4.0f) &&
+- fabs(diff.z - lastDiff.z) < (SQUARE_SIZE / 4.0f)) {
++ if (math::fabs(diff.x - lastDiff.x) < (SQUARE_SIZE / 4.0f) &&
++ math::fabs(diff.y - lastDiff.y) < (SQUARE_SIZE / 4.0f) &&
++ math::fabs(diff.z - lastDiff.z) < (SQUARE_SIZE / 4.0f)) {
+ return lastDir;
+ }
+
+@@ -237,7 +237,7 @@
+ // FIXME: temporary safeguards against FP overflow
+ // (introduced by extreme off-map unit positions; the term
+ // DFsq * Dsq * ... * dy should never even approach 1e38)
+- if (Dsq < 1e12f && fabs(dy) < 1e6f) {
++ if (Dsq < 1e12f && math::fabs(dy) < 1e6f) {
+ const float root1 = v*v*v*v + 2.0f*v*v*g*dy - g*g*DFsq;
+
+ if (root1 >= 0.0f) {
+diff -ru spring_89.0/rts/Sim/Weapons/WeaponDefHandler.cpp /home/svenstaro/src/spring/rts/Sim/Weapons/WeaponDefHandler.cpp
+--- spring_89.0/rts/Sim/Weapons/WeaponDefHandler.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/Sim/Weapons/WeaponDefHandler.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -126,9 +126,9 @@
+
+ // should really be tan but TA seem to cap it somehow
+ // should also be 7fff or ffff theoretically but neither seems good
+- wd.accuracy = sin((accuracy) * PI / 0xafff);
+- wd.sprayAngle = sin((sprayAngle) * PI / 0xafff);
+- wd.movingAccuracy = sin((movingAccuracy) * PI / 0xafff);
++ wd.accuracy = math::sin((accuracy) * PI / 0xafff);
++ wd.sprayAngle = math::sin((sprayAngle) * PI / 0xafff);
++ wd.movingAccuracy = math::sin((movingAccuracy) * PI / 0xafff);
+
+ wd.targetMoveError = wdTable.GetFloat("targetMoveError", 0.0f);
+ wd.leadLimit = wdTable.GetFloat("leadLimit", -1.0f);
+@@ -375,7 +375,7 @@
+
+
+ const float gd = max(30.0f, wd.damages[0] / 20.0f);
+- const float defExpSpeed = (8.0f + (gd * 2.5f)) / (9.0f + (sqrt(gd) * 0.7f)) * 0.5f;
++ const float defExpSpeed = (8.0f + (gd * 2.5f)) / (9.0f + (math::sqrt(gd) * 0.7f)) * 0.5f;
+ wd.explosionSpeed = wdTable.GetFloat("explosionSpeed", defExpSpeed);
+
+ // Dynamic Damage
+@@ -461,7 +461,7 @@
+ wd.hitSound.setVolume(0, 5.0f);
+ wd.hitSound.setVolume(1, 5.0f);
+ } else {
+- float fireSoundVolume = sqrt(wd.damages[0] * 0.5f);
++ float fireSoundVolume = math::sqrt(wd.damages[0] * 0.5f);
+
+ if (wd.type == "LaserCannon") {
+ fireSoundVolume *= 0.5f;
+@@ -472,7 +472,7 @@
+ if ((fireSoundVolume > 100.0f) &&
+ ((wd.type == "MissileLauncher") ||
+ (wd.type == "StarburstLauncher"))) {
+- fireSoundVolume = 10.0f * sqrt(hitSoundVolume);
++ fireSoundVolume = 10.0f * math::sqrt(hitSoundVolume);
+ }
+
+ if (wd.damageAreaOfEffect > 8.0f) {
+@@ -564,7 +564,7 @@
+
+ if (inverted == true) {
+ for(int i = 0; i < damageArrayHandler->GetNumTypes(); ++i) {
+- dynDamages[i] = damages[i] - (1 - pow(1 / range * travDist, exp)) * damages[i];
++ dynDamages[i] = damages[i] - (1 - math::pow(1 / range * travDist, exp)) * damages[i];
+
+ if (damageMin > 0)
+ dynDamages[i] = max(damages[i] * ddmod, dynDamages[i]);
+@@ -577,7 +577,7 @@
+ }
+ else {
+ for(int i = 0; i < damageArrayHandler->GetNumTypes(); ++i) {
+- dynDamages[i] = (1 - pow(1 / range * travDist, exp)) * damages[i];
++ dynDamages[i] = (1 - math::pow(1 / range * travDist, exp)) * damages[i];
+
+ if (damageMin > 0)
+ dynDamages[i] = max(damages[i] * ddmod, dynDamages[i]);
+diff -ru spring_89.0/rts/System/Matrix44f.cpp /home/svenstaro/src/spring/rts/System/Matrix44f.cpp
+--- spring_89.0/rts/System/Matrix44f.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/System/Matrix44f.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -72,8 +72,8 @@
+
+ *this=Mul(rm);
+ */
+- const float sr = sin(rad);
+- const float cr = cos(rad);
++ const float sr = math::sin(rad);
++ const float cr = math::cos(rad);
+
+ float a=m[4];
+ m[4] = cr*a - sr*m[8];
+@@ -107,8 +107,8 @@
+
+ *this = Mul(rm);
+ */
+- const float sr = sin(rad);
+- const float cr = cos(rad);
++ const float sr = math::sin(rad);
++ const float cr = math::cos(rad);
+
+ float a=m[0];
+ m[0] = cr*a + sr*m[8];
+@@ -142,8 +142,8 @@
+
+ *this = Mul(rm);
+ */
+- const float sr = sin(rad);
+- const float cr = cos(rad);
++ const float sr = math::sin(rad);
++ const float cr = math::cos(rad);
+
+ float a=m[0];
+ m[0] = cr*a - sr*m[4];
+@@ -165,8 +165,8 @@
+
+ void CMatrix44f::Rotate(float rad, const float3& axis)
+ {
+- const float sr = sin(rad);
+- const float cr = cos(rad);
++ const float sr = math::sin(rad);
++ const float cr = math::cos(rad);
+
+ for(int a=0;a<3;++a){
+ float3 v(m[a*4],m[a*4+1],m[a*4+2]);
+diff -ru spring_89.0/rts/System/myMath.cpp /home/svenstaro/src/spring/rts/System/myMath.cpp
+--- spring_89.0/rts/System/myMath.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/System/myMath.cpp 2012-07-13 06:34:43.072727160 +0200
+@@ -44,7 +44,7 @@
+ }
+
+ // Set single precision floating point math.
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ #if defined(__SUPPORT_SNAN__) && !defined(USE_GML)
+ streflop::feraiseexcept(streflop::FPU_Exceptions(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW));
+ #endif
+@@ -58,7 +58,7 @@
+ #pragma omp parallel
+ {
+ //good_fpu_control_registers("OMP-Init");
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ #if defined(__SUPPORT_SNAN__) && !defined(USE_GML)
+ streflop::feraiseexcept(streflop::FPU_Exceptions(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW));
+ #endif
+@@ -77,8 +77,8 @@
+ for (int a = 0; a < NUM_HEADINGS; ++a) {
+ float ang = (a - (NUM_HEADINGS / 2)) * 2 * PI / NUM_HEADINGS;
+ float2 v;
+- v.x = sin(ang);
+- v.y = cos(ang);
++ v.x = math::sin(ang);
++ v.y = math::cos(ang);
+ headingToVectorTable[a] = v;
+ }
+
+@@ -107,9 +107,9 @@
+ float3 ret;
+ float h = heading * TAANG2RAD;
+ float p = pitch * TAANG2RAD;
+- ret.x = sin(h) * cos(p);
+- ret.y = sin(p);
+- ret.z = cos(h) * cos(p);
++ ret.x = math::sin(h) * math::cos(p);
++ ret.y = math::sin(p);
++ ret.z = math::cos(h) * math::cos(p);
+ return ret;
+ }
+
+@@ -138,7 +138,7 @@
+ float3 dir(l2-l1);
+ float3 pdir(p-l1);
+ float length = dir.Length();
+- if (fabs(length) < 1e-4f)
++ if (math::fabs(length) < 1e-4f)
+ return l1;
+ float c = dir.dot(pdir) / length;
+ if (c < 0) c = 0;
+diff -ru spring_89.0/rts/System/Net/Socket.cpp /home/svenstaro/src/spring/rts/System/Net/Socket.cpp
+--- spring_89.0/rts/System/Net/Socket.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/System/Net/Socket.cpp 2012-07-13 06:34:42.939393819 +0200
+@@ -73,7 +73,7 @@
+ //! (date of note: 08/05/10)
+ //! something in from_string() is invalidating the FPU flags
+ //! tested on win2k and linux (not happening there)
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ #endif
+
+ return addr;
+@@ -94,7 +94,7 @@
+ #ifdef STREFLOP_H
+ //! (date of note: 08/22/10)
+ //! something in resolve() is invalidating the FPU flags
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ #endif
+
+ return resolveIt;
+diff -ru spring_89.0/rts/System/OffscreenGLContext.cpp /home/svenstaro/src/spring/rts/System/OffscreenGLContext.cpp
+--- spring_89.0/rts/System/OffscreenGLContext.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/System/OffscreenGLContext.cpp 2012-07-13 06:34:42.939393819 +0200
+@@ -259,7 +259,7 @@
+ #ifdef STREFLOP_H
+ // init streflop to make it available for synced computations, too
+ // redundant? threads copy the FPU state of their parent.
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ #endif
+
+ try {
+diff -ru spring_89.0/rts/System/Sound/SoundSource.h /home/svenstaro/src/spring/rts/System/Sound/SoundSource.h
+--- spring_89.0/rts/System/Sound/SoundSource.h 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/System/Sound/SoundSource.h 2012-07-13 06:34:42.836060480 +0200
+@@ -7,7 +7,6 @@
+
+ #include <al.h>
+ #include <boost/noncopyable.hpp>
+-#include <boost/thread/recursive_mutex.hpp>
+
+ class IAudioChannel;
+ class float3;
+diff -ru spring_89.0/rts/System/SpringApp.cpp /home/svenstaro/src/spring/rts/System/SpringApp.cpp
+--- spring_89.0/rts/System/SpringApp.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/System/SpringApp.cpp 2012-07-13 06:34:42.982727155 +0200
+@@ -385,7 +385,7 @@
+ #ifdef STREFLOP_H
+ //! Something in SDL_SetVideoMode (OpenGL drivers?) messes with the FPU control word.
+ //! Set single precision floating point math.
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ #endif
+
+ //! setup GL smoothing
+@@ -1009,7 +1009,7 @@
+ SDL_Event event;
+
+ while (SDL_PollEvent(&event)) {
+- streflop_init<streflop::Simple>(); // SDL_PollEvent may modify FPU flags
++ streflop::streflop_init<streflop::Simple>(); // SDL_PollEvent may modify FPU flags
+ input.PushEvent(event);
+ }
+ }
+diff -ru spring_89.0/rts/System/Sync/FPUCheck.cpp /home/svenstaro/src/spring/rts/System/Sync/FPUCheck.cpp
+--- spring_89.0/rts/System/Sync/FPUCheck.cpp 2012-07-10 00:10:08.000000000 +0200
++++ /home/svenstaro/src/spring/rts/System/Sync/FPUCheck.cpp 2012-07-13 06:34:42.939393819 +0200
+@@ -85,7 +85,7 @@
+ LOG_L(L_WARNING, "[%s] Sync warning: (env.x87_mode) FPUCW 0x%04X instead of 0x%04X or 0x%04X (\"%s\")", __FUNCTION__, fenv.x87_mode, x87_a, x87_b, text);
+
+ // Set single precision floating point math.
+- streflop_init<streflop::Simple>();
++ streflop::streflop_init<streflop::Simple>();
+ #if defined(__SUPPORT_SNAN__) && !defined(USE_GML)
+ streflop::feraiseexcept(streflop::FPU_Exceptions(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW));
+ #endif
diff --git a/community/spring/gcc48.patch b/community/spring/gcc48.patch
new file mode 100644
index 000000000..ea69a42c4
--- /dev/null
+++ b/community/spring/gcc48.patch
@@ -0,0 +1,22 @@
+diff --git a/rts/System/Sound/EFX.cpp b/rts/System/Sound/EFX.cpp
+index 08fe9f4..3b197f0 100644
+--- a/rts/System/Sound/EFX.cpp
++++ b/rts/System/Sound/EFX.cpp
+@@ -83,7 +83,7 @@ CEFX::CEFX(ALCdevice* device)
+ ALuint alFx;
+ alGenEffects(1, &alFx);
+ if (alGetError() == AL_NO_ERROR) {
+- for(size_t i = 0; i < sizeof(effects); i++) {
++ for(size_t i = 0; i < sizeof(effects)/sizeof(effects[0]); i++) {
+ const ALuint fx = effects[i];
+ alEffecti(alFx, AL_EFFECT_TYPE, fx);
+ effectsSupported[fx] = (alGetError() == AL_NO_ERROR);
+@@ -103,7 +103,7 @@ CEFX::CEFX(ALCdevice* device)
+ ALuint alFilter;
+ alGenFilters(1, &alFilter);
+ if (alGetError() == AL_NO_ERROR) {
+- for(size_t i = 0; i < sizeof(filters); i++) {
++ for(size_t i = 0; i < sizeof(filters)/sizeof(filters[0]); i++) {
+ const ALuint filter = filters[i];
+ alFilteri(alFilter, AL_FILTER_TYPE, filter);
+ filtersSupported[filter] = (alGetError() == AL_NO_ERROR);
diff --git a/community/spring/spring.install b/community/spring/spring.install
new file mode 100644
index 000000000..41f09f887
--- /dev/null
+++ b/community/spring/spring.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/springlobby/PKGBUILD b/community/springlobby/PKGBUILD
new file mode 100644
index 000000000..2bc24159e
--- /dev/null
+++ b/community/springlobby/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 94052 2013-07-13 12:37:38Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: DuGi <dugi@irc.pl>
+
+pkgname=springlobby
+pkgver=0.169
+pkgrel=2
+pkgdesc="A free cross-platform lobby client for the Spring RTS project."
+arch=('i686' 'x86_64')
+url="http://springlobby.info/"
+license=('GPL2')
+depends=('hicolor-icon-theme' 'wxgtk' 'curl' 'libtorrent-rasterbar' 'boost-libs' 'alure')
+optdepends=('sdl' 'sdl_sound' 'sdl_mixer')
+makedepends=('boost' 'asio' 'cmake')
+install=springlobby.install
+source=(http://www.springlobby.info/tarballs/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('1eb265268ac39d9b7e8fec90df92ff3d')
+
+build() {
+ cd $srcdir/${pkgname}-$pkgver
+
+ cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname}-$pkgver
+
+ make DESTDIR=$pkgdir install
+}
+
+# vim: sw=2:ts=2 et:
diff --git a/community/springlobby/springlobby.desktop b/community/springlobby/springlobby.desktop
new file mode 100644
index 000000000..1dce96b90
--- /dev/null
+++ b/community/springlobby/springlobby.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=1.0
+Encoding=UTF-8
+Name=SpringLobby
+Comment=Lobby for Spring. An open source RTS with similar gameplay to TA
+Exec=springlobby
+Icon=springlobby.png
+Terminal=false
+Type=Application
+Categories=Application;Game;StrategyGame;
diff --git a/community/springlobby/springlobby.install b/community/springlobby/springlobby.install
new file mode 100644
index 000000000..1a05f573e
--- /dev/null
+++ b/community/springlobby/springlobby.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/springlobby/springlobby.png b/community/springlobby/springlobby.png
new file mode 100644
index 000000000..89c7ab0ac
--- /dev/null
+++ b/community/springlobby/springlobby.png
Binary files differ
diff --git a/community/sqlheavy/PKGBUILD b/community/sqlheavy/PKGBUILD
new file mode 100755
index 000000000..43f08fc60
--- /dev/null
+++ b/community/sqlheavy/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 89815 2013-05-02 15:11:19Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd at gmail dot com>
+# Contributor : sebikul <sebikul@gmail.com>
+
+pkgname=sqlheavy
+pkgver=0.1.1
+pkgrel=6
+pkgdesc="GObject SQLite wrapper"
+arch=('i686' 'x86_64')
+url="https://code.google.com/p/sqlheavy/"
+license=('LGPL')
+conflicts=('sqlheavy-git')
+depends=('gtk2' 'sqlite3')
+makedepends=('gobject-introspection' 'vala')
+options=('!libtool')
+source=("https://sqlheavy.googlecode.com/files/${pkgname}-${pkgver}.tar.xz")
+sha256sums=('e8689f5fd4e0baf98eada2b3811262bb99877c2e8586fd21ad2a7ad3acc59031')
+
+prepare() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ sed -i 's/libvala-0.16/libvala-0.20/' configure
+ sed -i '/examples/d
+ /utils/d' Makefile.in
+}
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/sqlite2/LICENSE b/community/sqlite2/LICENSE
new file mode 100644
index 000000000..bdd14d404
--- /dev/null
+++ b/community/sqlite2/LICENSE
@@ -0,0 +1,33 @@
+SQLite Copyright
+SQLite is in the
+Public Domain
+
+
+All of the deliverable code in SQLite has been dedicated to the public domain by the authors. All code authors, and representatives of the companies they work for, have signed affidavits dedicating their contributions to the public domain and originals of those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
+
+The previous paragraph applies to the deliverable code in SQLite - those parts of the SQLite library that you actually bundle and ship with a larger application. Portions of the documentation and some code used as part of the build process might fall under other licenses. The details here are unclear. We do not worry about the licensing of the documentation and build code so much because none of these things are part of the core deliverable SQLite library.
+
+All of the deliverable code in SQLite has been written from scratch. No code has been taken from other projects or from the open internet. Every line of code can be traced back to its original author, and all of those authors have public domain dedications on file. So the SQLite code base is clean and is uncontaminated with licensed code from other projects.
+Obtaining An Explicit License To Use SQLite
+
+Even though SQLite is in the public domain and does not require a license, some users want to obtain a license anyway. Some reasons for obtaining a license include:
+You are using SQLite in a jurisdiction that does not recognize the public domain.
+You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the public domain.
+You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite.
+Your legal department tells you that you have to purchase a license.
+
+If you feel like you really have to purchase a license for SQLite, Hwaci, the company that employs the architect and principal developers of SQLite, will sell you one.
+Contributed Code
+
+In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement:
+The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law.
+
+We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to:
+Hwaci
+6200 Maple Cove Lane
+Charlotte, NC 28269
+USA
+
+A template copyright release is available in PDF or HTML. You can use this release to make future changes.
+
+see http://www.sqlite.org/copyright.html
diff --git a/community/sqlite2/PKGBUILD b/community/sqlite2/PKGBUILD
new file mode 100644
index 000000000..c6d6c27ef
--- /dev/null
+++ b/community/sqlite2/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 68015 2012-03-17 00:56:03Z giovanni $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Judd <jvinet@zeroflux.org>
+
+pkgname=sqlite2
+pkgver=2.8.17
+pkgrel=5
+pkgdesc="A C library that implements an SQL database engine"
+arch=('i686' 'x86_64')
+url="http://www.sqlite.org/"
+depends=('readline>=6.0.00')
+source=("http://www.sqlite.org/sqlite-$pkgver.tar.gz"
+ 'LICENSE')
+license=('custom')
+options=('!libtool')
+md5sums=('838dbac20b56d2c4292e98848505a05b'
+ '5d3b333e59a37747284f66081660f8a1')
+
+build() {
+ cd ${srcdir}/sqlite-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/sqlite-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ # install custom license
+ install -Dm644 ${srcdir}/LICENSE \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/sqlitebrowser/PKGBUILD b/community/sqlitebrowser/PKGBUILD
new file mode 100644
index 000000000..a5e60dd48
--- /dev/null
+++ b/community/sqlitebrowser/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 91008 2013-05-17 10:22:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Douglas Soares de Andrade <dsandrade@gmail.com>
+# Contributor: Michael Fellinger <m.fellinger@gmail.com>
+
+pkgname=sqlitebrowser
+pkgver=2.0b1
+_pkgrealver=200_b1
+pkgrel=4
+pkgdesc="SQLite Database browser is a light GUI editor for SQLite databases, built on top of QT"
+arch=('i686' 'x86_64')
+url="http://sqlitebrowser.sf.net"
+license=('GPL')
+depends=('qt4' 'sqlite')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/${pkgname}_${_pkgrealver}_src.tar.gz)
+md5sums=('5ca3d41cca454235b93ce72cd585dfe3')
+
+prepare() {
+ cd $srcdir/trunk/$pkgname
+ sed -i 's|getline|xgetline|' sqlitebrowser/sqlbrowser_util.c
+ sed -i 's|: name( 0 ) { }|: name( ) { }|' sqlitebrowser/sqlitedb.h
+ sed -i '/sqlite_source\/sqlite3.h/d' sqlitebrowser/sqlbrowser_util.c # Remove two useless #include
+ sed -i 's/"sqlite_source\/sqlite3.h"/<sqlite3.h>/' sqlitebrowser/sqlbrowser_util.h
+ sed -i -e '1i LIBS += -lsqlite3' -e '/sqlite_source/d' sqlitebrowser/sqlitebrowser.pro
+}
+
+build() {
+ cd $srcdir/trunk/$pkgname
+ qmake-qt4
+ make
+}
+
+package() {
+ cd $srcdir/trunk/$pkgname
+ mkdir -p $pkgdir/usr/bin
+ cp $pkgname/$pkgname $pkgdir/usr/bin/
+}
diff --git a/community/sqliteman/PKGBUILD b/community/sqliteman/PKGBUILD
new file mode 100644
index 000000000..10a21ffba
--- /dev/null
+++ b/community/sqliteman/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 81006 2012-12-09 15:39:03Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy@archlinux.org>
+# Contributor: Roman Porizka <artee@beer.cz>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=sqliteman
+pkgver=1.2.2
+pkgrel=6
+pkgdesc="The best developer's and/or admin's GUI tool for Sqlite3 in the world"
+arch=('i686' 'x86_64')
+url="http://sqliteman.com/"
+license=('GPL')
+depends=('qscintilla')
+makedepends=('cmake')
+install=sqliteman.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('5ecdf710e23606e1b924f740ea69306d')
+
+build() {
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package() {
+ cd build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/sqliteman/sqliteman.install b/community/sqliteman/sqliteman.install
new file mode 100644
index 000000000..ce8f7514f
--- /dev/null
+++ b/community/sqliteman/sqliteman.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/squashfs-tools/PKGBUILD b/community/squashfs-tools/PKGBUILD
new file mode 100644
index 000000000..091687396
--- /dev/null
+++ b/community/squashfs-tools/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91959 2013-05-30 09:44:39Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Original TU: Jeff Mickey <j@codemac.net>
+# Contributor: ciccio.a
+
+pkgname=squashfs-tools
+pkgver=4.2
+pkgrel=4
+pkgdesc="Tools for squashfs, a highly compressed read-only filesystem for Linux."
+url="http://squashfs.sourceforge.net"
+license=("GPL")
+arch=('i686' 'x86_64')
+depends=('zlib' 'lzo2' 'xz')
+source=("http://downloads.sourceforge.net/sourceforge/squashfs/squashfs${pkgver}.tar.gz")
+md5sums=('1b7a781fb4cf8938842279bd3e8ee852')
+
+build() {
+ cd ${srcdir}/squashfs${pkgver}/${pkgname}
+ make XZ_SUPPORT=1 LZO_SUPPORT=1 LZMA_XZ_SUPPORT=1
+}
+
+package() {
+ cd ${srcdir}/squashfs${pkgver}/${pkgname}
+ install -Dm755 mksquashfs ${pkgdir}/usr/bin/mksquashfs
+ install -m755 unsquashfs ${pkgdir}/usr/bin/unsquashfs
+}
diff --git a/community/squeak-vm/PKGBUILD b/community/squeak-vm/PKGBUILD
new file mode 100644
index 000000000..2ff380d0c
--- /dev/null
+++ b/community/squeak-vm/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 85994 2013-03-10 21:24:51Z jsteel $
+# Maintainer: Jonathan Steel <mail at jsteel dot org>
+# Contributor: Piero Sartini <piero@sartini.de>
+# Contributor: Cilyan Olowen <gaknar@gmail.com>
+# Contributor: knut
+# Contributor: kxmd
+
+pkgname=squeak-vm
+pkgver=4.10.2.2614
+pkgrel=1
+pkgdesc="Full-featured implementation of the Smalltalk programming language and environment"
+arch=('i686' 'x86_64')
+url="http://squeakvm.org"
+license=('custom:MIT' 'APACHE')
+conflicts=('squeak')
+provides=('squeak')
+depends=('alsa-lib' 'dbus-core' 'libxrender' 'libgl' 'util-linux')
+makedepends=('cmake' 'mesa')
+optdepends=('speex: for ogg plugin' 'gstreamer0.10: for gstreamer plugin'
+ 'libpulse: for pulse plugin' 'squeak-image: for the full Squeak
+ environment')
+source=(http://squeakvm.org/unix/release/Squeak-$pkgver-src.tar.gz)
+md5sums=('8a5cb1d6899d55df56154fab8716e034')
+
+build() {
+ cd "$srcdir"/Squeak-$pkgver-src/
+
+ ./unix/cmake/configure --prefix=/usr --without-quartz --with-x \
+ --enable-mpg-mmx
+
+ make
+}
+
+package() {
+ cd "$srcdir"/Squeak-$pkgver-src
+
+ make DESTDIR="$pkgdir"/ install
+
+ install -Dm644 "$srcdir"/Squeak-$pkgver-src/unix/doc/LICENSE \
+ "$pkgdir"/usr/share/licenses/squeak-vm/LICENSE
+}
diff --git a/community/squid/PKGBUILD b/community/squid/PKGBUILD
new file mode 100644
index 000000000..b76e30b91
--- /dev/null
+++ b/community/squid/PKGBUILD
@@ -0,0 +1,105 @@
+# $Id: PKGBUILD 94128 2013-07-14 18:31:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Mark Coolen <mark.coolen@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Kevin Piche <kevin@archlinux.org>
+
+pkgname=squid
+pkgver=3.3.8
+pkgrel=1
+pkgdesc='Full-featured Web proxy cache server'
+arch=('x86_64' 'i686')
+url='http://www.squid-cache.org'
+depends=('openssl' 'pam' 'cron' 'perl' 'libltdl')
+makedepends=('libcap' 'krb5')
+license=('GPL')
+options=('emptydirs')
+backup=('etc/squid/squid.conf'
+ 'etc/squid/mime.conf')
+install=$pkgname.install
+source=("http://www.squid-cache.org/Versions/v3/3.3/$pkgname-$pkgver.tar.bz2"
+ 'squid.pam'
+ 'squid.cron'
+ 'squid.service')
+md5sums=('ec1654d28e29bdd2ee342ffb655ecc72'
+ '270977cdd9b47ef44c0c427ab9034777'
+ 'a71425c4951f2e5b640d19e6a5048531'
+ 'ceeb57c69ebb165676219222f109a24e')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # gcc 4.6 doesn't support -fhuge-objects.
+ sed '/^ HUGE_OBJECT_FLAG=/ s/"-fhuge-objects"//' -i configure
+
+ # fix cache_dir, cache_dir size, and effective group.
+ sed '/^DEFAULT_SWAP_DIR/ s@/cache@/cache/squid@' -i src/Makefile.in
+ sed '/^#cache_dir/ s/100/256/
+ /^NAME: cache_effective_group/ {n;n;s/none/proxy/}' -i src/cf.data.pre
+
+ sed -i '1,1i#include <errno.h>' helpers/external_acl/file_userip/ext_file_userip_acl.cc
+
+ for i in \
+ helpers/basic_auth/DB \
+ helpers/log_daemon/DB \
+ helpers/negotiate_auth/kerberos \
+ helpers/external_acl/SQL_session; \
+ do
+ echo -e "#!/bin/sh\nexit 0" >$i/config.test
+ chmod 0755 $i/config.test
+ done
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --datadir=/usr/share/squid \
+ --sysconfdir=/etc/squid \
+ --libexecdir=/usr/lib/squid \
+ --localstatedir=/var \
+ --with-logdir=/var/log/squid \
+ --with-pidfile=/run/squid.pid \
+ --enable-auth \
+ --enable-auth-basic \
+ --enable-auth-ntlm \
+ --enable-auth-digest \
+ --enable-auth-negotiate \
+ --enable-removal-policies="lru,heap" \
+ --enable-storeio="aufs,ufs,diskd" \
+ --enable-delay-pools \
+ --enable-arp-acl \
+ --enable-ssl \
+ --enable-snmp \
+ --enable-linux-netfilter \
+ --enable-ident-lookups \
+ --enable-useragent-log \
+ --enable-cache-digests \
+ --enable-referer-log \
+ --enable-arp-acl \
+ --enable-htcp \
+ --enable-carp \
+ --enable-epoll \
+ --with-large-files \
+ --enable-arp-acl \
+ --with-default-user=proxy \
+ --enable-async-io \
+ --enable-truncate \
+ --enable-icap-client
+ make
+}
+
+package() {
+ cd "$srcdir"
+
+ make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
+ install -Dm755 "$srcdir/squid.cron" "$pkgdir/etc/cron.weekly/squid"
+ install -Dm644 "$srcdir/squid.pam" "$pkgdir/etc/pam.d/squid"
+ install -Dm644 "$srcdir/squid.service" \
+ "$pkgdir/usr/lib/systemd/system/squid.service"
+ rm -rf "$pkgdir/run" "$pkgdir/var/run"
+}
+
+# vim: ts=2 sw=2 et ft=sh
diff --git a/community/squid/squid.cron b/community/squid/squid.cron
new file mode 100644
index 000000000..7425df894
--- /dev/null
+++ b/community/squid/squid.cron
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# exit without error if no pidfile exists
+{ read pid </run/squid.pid; } 2>/dev/null || exit 0
+
+# make sure found PID really is a squid process
+if [ /proc/$pid/exec -ef /usr/bin/squid ]; then
+ /usr/bin/squid -k rotate
+fi
diff --git a/community/squid/squid.install b/community/squid/squid.install
new file mode 100644
index 000000000..a7c76d87a
--- /dev/null
+++ b/community/squid/squid.install
@@ -0,0 +1,26 @@
+post_install() {
+ if [ -z "$(grep ^proxy: /etc/group)" ]; then
+ groupadd -g 15 proxy &>/dev/null
+ fi
+
+ id proxy &>/dev/null || \
+ useradd -u 15 -g proxy -d /var/empty proxy
+
+ chown proxy.proxy var/{cache,log}/squid
+
+# cat << EOF
+#Release notes: http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html
+#EOF
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ userdel proxy &> /dev/null
+ if [ ! -z "$(grep ^proxy: /etc/group)" ]; then
+ groupdel proxy &>/dev/null
+ fi
+}
+
diff --git a/community/squid/squid.pam b/community/squid/squid.pam
new file mode 100644
index 000000000..df8a8104f
--- /dev/null
+++ b/community/squid/squid.pam
@@ -0,0 +1,4 @@
+#/etc/pam.d/squid
+#
+auth required pam_unix.so
+account required pam_unix.so
diff --git a/community/squid/squid.service b/community/squid/squid.service
new file mode 100644
index 000000000..1db8860e5
--- /dev/null
+++ b/community/squid/squid.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Web Proxy Cache Server
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/squid.pid
+ExecStart=/usr/bin/squid -sYC
+ExecStop=/usr/bin/squid -k shutdown
+ExecReload=/usr/bin/squid -k reconfigure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/sshguard/ChangeLog b/community/sshguard/ChangeLog
new file mode 100644
index 000000000..811f87d4f
--- /dev/null
+++ b/community/sshguard/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/sshguard/PKGBUILD b/community/sshguard/PKGBUILD
new file mode 100644
index 000000000..758fa96da
--- /dev/null
+++ b/community/sshguard/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 92088 2013-05-31 11:33:59Z mtorromeo $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgname=sshguard
+pkgver=1.5
+pkgrel=13
+pkgdesc="Brute force detector for SSH, Exim, VSFTPD and more. Blocks by ip with iptables"
+arch=('i686' 'x86_64')
+#url="http://sourceforge.net/projects/sshguard/"
+url="http://www.sshguard.net/"
+license=('GPL')
+depends=('iptables')
+options=(zipman)
+install=sshguard.install
+source=("http://downloads.sourceforge.net/sourceforge/sshguard/sshguard-$pkgver.tar.bz2"
+ sshguard.service
+ sshguard-journalctl)
+sha256sums=('b537f8765455fdf8424f87d4bd695e5b675b88e5d164865452137947093e7e19'
+ 'e9713a067b33b8ea91d203853a033c0b9f6d40ebebd77f2e72903ed4fd355ebd'
+ '7423224107b28cabb69489056968581f1c9e94f3edc6a1d189e56a9df0bab4f7')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's|^DAYNO.*|DAYNO [0-9]?[1-9]|' src/parser/attack_scanner.l
+ ./configure --prefix=/usr --sbindir=/usr/bin --with-firewall=iptables
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ strings src/sshguard | grep -E "^`which iptables`[[:space:]]" >/dev/null
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm0644 "$srcdir/sshguard.service" "$pkgdir/usr/lib/systemd/system/sshguard.service"
+ install -Dm0755 "$srcdir/sshguard-journalctl" "$pkgdir/usr/lib/systemd/scripts/sshguard-journalctl"
+}
diff --git a/community/sshguard/sshguard-journalctl b/community/sshguard/sshguard-journalctl
new file mode 100644
index 000000000..fb106f5b6
--- /dev/null
+++ b/community/sshguard/sshguard-journalctl
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/bin/journalctl -afbp info -n1 SYSLOG_FACILITY=4 SYSLOG_FACILITY=10 | /usr/bin/sshguard -l- "$@"
diff --git a/community/sshguard/sshguard.install b/community/sshguard/sshguard.install
new file mode 100644
index 000000000..486e55fbd
--- /dev/null
+++ b/community/sshguard/sshguard.install
@@ -0,0 +1,14 @@
+post_install() {
+ mkdir -p var/db/sshguard
+ echo "-- You should add chains to your firewall:"
+ echo "-- iptables -N sshguard"
+ echo "-- iptables -A INPUT -p tcp --dport 22 -j sshguard"
+ echo "-- ip6tables -N sshguard"
+ echo "-- ip6tables -A INPUT -p tcp --dport 22 -j sshguard"
+ echo "-- touch /etc/iptables/ip6tables.rules if you don't use IPv6"
+ echo "-- For more information, see https://wiki.archlinux.org/index.php/Sshguard"
+}
+
+post_upgrade() {
+ echo "-- touch /etc/iptables/ip6tables.rules if you don't use IPv6"
+}
diff --git a/community/sshguard/sshguard.service b/community/sshguard/sshguard.service
new file mode 100644
index 000000000..d6324d459
--- /dev/null
+++ b/community/sshguard/sshguard.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Block hacking attempts
+After=iptables.service ip6tables.service network.target
+Wants=iptables.service ip6tables.service
+
+[Service]
+ExecStart=/usr/lib/systemd/scripts/sshguard-journalctl -b /var/db/sshguard/blacklist.db
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/sshpass/PKGBUILD b/community/sshpass/PKGBUILD
new file mode 100644
index 000000000..3f18e8e76
--- /dev/null
+++ b/community/sshpass/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 59631 2011-11-28 22:18:13Z seblu $
+# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net>
+# Contributor: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Sebastien Vasey sebastien dot vasey at gmail dot com
+
+pkgname=sshpass
+pkgver=1.05
+pkgrel=1
+pkgdesc='Fool ssh into accepting an interactive password non-interactively'
+arch=('i686' 'x86_64')
+url='http://sourceforge.net/projects/sshpass/'
+license=('GPL')
+depends=('openssh')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('c52d65fdee0712af6f77eb2b60974ac7')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/sslh/PKGBUILD b/community/sslh/PKGBUILD
new file mode 100644
index 000000000..ed60e5e8a
--- /dev/null
+++ b/community/sslh/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 83699 2013-02-04 14:24:41Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
+# Contributor: Le_suisse <lesuisse.dev+aur at gmail dot com>
+# Contributor: Jason Rodriguez <jason-aur@catloaf.net>
+
+pkgname=sslh
+pkgver=1.14
+pkgrel=2
+pkgdesc='SSL/SSH/OpenVPN/XMPP/tinc port multiplexer'
+arch=('i686' 'x86_64')
+url='http://www.rutschle.net/tech/sslh.shtml'
+license=('GPL2')
+depends=('libconfig')
+backup=('etc/sslh.conf')
+install=$pkgname.install
+source=("http://www.rutschle.net/tech/$pkgname-$pkgver.tar.gz"
+ 'sslh-select.service'
+ 'sslh-fork.service')
+md5sums=('36e64bd6c7d0a299d5acd1109988099b'
+ '67e8c9511508673254afa3e1ca61ff89'
+ 'a4402244a4d819beb3c6dc7ff031084e')
+
+build() {
+ cd $pkgname-$pkgver
+ make VERSION=\"v$pkgver\"
+}
+
+package() {
+ # manually install to have both ssl-fork and ssl-select
+ cd $pkgname-$pkgver
+ install -Dm 0755 sslh-fork "$pkgdir/usr/bin/sslh-fork"
+ install -Dm 0755 sslh-select "$pkgdir/usr/bin/sslh-select"
+ ln -s sslh-fork "$pkgdir/usr/bin/sslh"
+ # install manpage
+ install -Dm 0644 sslh.8.gz "$pkgdir/usr/share/man/man8/sslh.8.gz"
+ # install example file
+ install -Dm 0644 example.cfg "$pkgdir/etc/sslh.conf"
+ # systemd
+ install -Dm 644 $srcdir/sslh-fork.service \
+ "$pkgdir/usr/lib/systemd/system/sslh-fork.service"
+ install -Dm 644 $srcdir/sslh-select.service \
+ "$pkgdir/usr/lib/systemd/system/sslh-select.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/sslh/sslh-fork.service b/community/sslh/sslh-fork.service
new file mode 100644
index 000000000..cbfc41686
--- /dev/null
+++ b/community/sslh/sslh-fork.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=SSL/SSH multiplexer
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/sslh-fork -f -F /etc/sslh.conf
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/sslh/sslh-select.service b/community/sslh/sslh-select.service
new file mode 100644
index 000000000..43f4f2787
--- /dev/null
+++ b/community/sslh/sslh-select.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=SSL/SSH multiplexer
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/sslh-select -f -F /etc/sslh.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/sslh/sslh.install b/community/sslh/sslh.install
new file mode 100644
index 000000000..46ce7beae
--- /dev/null
+++ b/community/sslh/sslh.install
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 1.14-1)" -le 0 ]; then
+ cat << EOF
+===> sslh systemd service has been splitted in sslh-fork.service and sslh-select.service
+EOF
+ fi
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/stalonetray/PKGBUILD b/community/stalonetray/PKGBUILD
new file mode 100644
index 000000000..d369763c1
--- /dev/null
+++ b/community/stalonetray/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 65465 2012-02-21 05:56:31Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=stalonetray
+pkgver=0.8.1
+pkgrel=2
+pkgdesc="STAnd-aLONE sysTRAY. It has minimal build and run-time dependencies: the Xlib only."
+arch=('i686' 'x86_64')
+url="http://stalonetray.sourceforge.net"
+license=('GPL')
+depends=('libx11' 'libxpm')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('3bf4c7e5e3c077f26242b37a8e008774')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+ install -D -m644 stalonetrayrc.sample $pkgdir/etc/stalonetrayrc
+}
diff --git a/community/stardict/PKGBUILD b/community/stardict/PKGBUILD
new file mode 100644
index 000000000..f5815f8e0
--- /dev/null
+++ b/community/stardict/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 87021 2013-03-25 19:17:03Z bpiotrowski $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: Neil Lin <neil@vip.url.com.tw>
+# Contributor: Cravix < dr dot neemous at gmail dot com >
+
+pkgbase=stardict
+pkgname=(stardict stardict-lite)
+pkgver=3.0.4
+pkgrel=3
+arch=('i686' 'x86_64')
+url='http://www.stardict.org/'
+license=('GPL')
+makedepends=('intltool' 'popt' 'gnome-doc-utils' 'gnome-common' 'libmariadbclient' 'enchant' 'gtk2' 'libsigc++' 'libsm' 'espeak' 'libgnome')
+options=('!libtool' '!emptydirs')
+source=("http://stardict-3.googlecode.com/files/${pkgbase}-${pkgver}.tar.bz2"
+ 'gcc46.patch'
+ 'glib2.patch'
+ 'zlib.patch')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ patch -p1 -i ../gcc46.patch
+ patch -p1 -i ../glib2.patch
+ patch -p1 -i ../zlib.patch
+
+ cp -r "${srcdir}/${pkgbase}-${pkgver}" "${srcdir}/${pkgbase}-${pkgver}-lite"
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ ./configure \
+ PKG_CONFIG=/usr/bin/pkg-config \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --disable-schemas-install \
+ --disable-gucharmap \
+ --disable-festival \
+ --disable-updateinfo
+ make
+
+ cd "${srcdir}/${pkgbase}-${pkgver}-lite"
+ LDFLAGS="$LDFLAGS -lgmodule-2.0"
+ ./configure \
+ PKG_CONFIG=/usr/bin/pkg-config \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --disable-gnome-support \
+ --disable-schemas-install \
+ --disable-espeak \
+ --disable-gucharmap \
+ --disable-festival \
+ --disable-updateinfo
+ make
+}
+
+package_stardict() {
+ pkgdesc='International dictionary software'
+ depends=('enchant' 'gtk2' 'libsigc++' 'libsm' 'espeak' 'libgnome')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_stardict-lite() {
+ pkgdesc='International dictionary software - lite version without gnome and espeak support'
+ depends=('enchant' 'gtk2' 'libsigc++' 'libsm')
+ provides=(stardict)
+ conflicts=(stardict)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}-lite"
+ make DESTDIR="${pkgdir}" install
+}
+
+md5sums=('0a9abf1936c43a3ee255802c75267f1a'
+ '52ff47441c503de07add4b7688510bc5'
+ 'b2f216897c9053c7e4666c3d78705cf1'
+ 'ee26dce70fc83b3ce86e5100fede7fad')
diff --git a/community/stardict/gcc46.patch b/community/stardict/gcc46.patch
new file mode 100644
index 000000000..944b9635c
--- /dev/null
+++ b/community/stardict/gcc46.patch
@@ -0,0 +1,11 @@
+diff -aur old/dict/stardict-plugins/stardict-wordnet-plugin/utils.h new/dict/stardict-plugins/stardict-wordnet-plugin/utils.h
+--- old/dict/stardict-plugins/stardict-wordnet-plugin/utils.h 2011-07-18 06:58:58.519404744 -0700
++++ new/dict/stardict-plugins/stardict-wordnet-plugin/utils.h 2011-07-18 07:01:10.739734313 -0700
+@@ -26,6 +26,7 @@
+ #ifndef __TYPES_H__
+ #define __TYPES_H__
+
++#include <cstddef>
+ #include <math.h>
+
+ typedef float single;
diff --git a/community/stardict/glib2.patch b/community/stardict/glib2.patch
new file mode 100644
index 000000000..bd0f6bac8
--- /dev/null
+++ b/community/stardict/glib2.patch
@@ -0,0 +1,36 @@
+diff -Naur old/dict/configure.ac new/dict/configure.ac
+--- old/dict/configure.ac 2011-07-03 16:58:40.000000000 +1000
++++ new/dict/configure.ac 2012-07-12 22:31:52.875176842 +1000
+@@ -266,6 +266,9 @@
+ fi
+ AC_SUBST(WIKI_PARSEDATA_PLUGIN_DIR)
+
++GMODULE2_LIBS=`pkg-config --libs gmodule-2.0`
++AC_SUBST([GMODULE2_LIBS])
++
+ dnl ================================================================
+ dnl main program checks.
+ dnl ================================================================
+diff -Naur old/dict/src/Makefile.am new/dict/src/Makefile.am
+--- old/dict/src/Makefile.am 2011-07-03 16:58:40.000000000 +1000
++++ new/dict/src/Makefile.am 2012-07-12 22:29:53.714870692 +1000
+@@ -33,7 +33,7 @@
+ stardict_DEPENDENCIES = lib/libstardict.la $(LOCAL_SIGCPP_LIBFILE)
+ stardict_LDFLAGS =
+ ## place libstardict.la before any system library, otherwise build with --as-needed linker option may fail
+-stardict_LDADD = lib/libstardict.la $(STARDICT_LIBS) $(LOCAL_SIGCPP_LIBFILE)
++stardict_LDADD = lib/libstardict.la $(STARDICT_LIBS) $(LOCAL_SIGCPP_LIBFILE) $(GMODULE2_LIBS)
+
+ if !GNOME_SUPPORT
+ if MAEMO_SUPPORT
+diff -Naur old/dict/src/tomboykeybinder.h new/dict/src/tomboykeybinder.h
+--- old/dict/src/tomboykeybinder.h 2011-07-03 16:58:40.000000000 +1000
++++ new/dict/src/tomboykeybinder.h 2012-07-12 22:28:04.337920391 +1000
+@@ -21,7 +21,6 @@
+ #ifndef __TOMBOY_KEY_BINDER_H__
+ #define __TOMBOY_KEY_BINDER_H__
+
+-#include <glib.h>
+
+ G_BEGIN_DECLS
+
diff --git a/community/stardict/zlib.patch b/community/stardict/zlib.patch
new file mode 100644
index 000000000..eb5a9a12a
--- /dev/null
+++ b/community/stardict/zlib.patch
@@ -0,0 +1,35 @@
+diff -Naur old/lib/src/libcommon.cpp new/lib/src/libcommon.cpp
+--- old/lib/src/libcommon.cpp 2012-07-12 11:33:30.343333334 +0000
++++ new/lib/src/libcommon.cpp 2012-07-12 11:34:05.006568754 +0000
+@@ -614,7 +614,7 @@
+ return EXIT_FAILURE;
+ }
+ while(true) {
+- len = gzread(get_impl(in), buf, buffer_size);
++ len = gzread((gzFile)get_impl(in), buf, buffer_size);
+ if(len < 0) {
+ g_critical(read_file_err, arch_file_name, "");
+ return EXIT_FAILURE;
+@@ -871,3 +871,8 @@
+ return res;
+ }
+ }
++
++int gzclose_compat(void * file)
++{
++ return gzclose ((gzFile)file);
++}
+diff -Naur old/lib/src/libcommon.h new/lib/src/libcommon.h
+--- old/lib/src/libcommon.h 2012-07-12 11:33:30.343333334 +0000
++++ new/lib/src/libcommon.h 2012-07-12 11:34:05.006568754 +0000
+@@ -187,8 +187,9 @@
+ typedef ResourceWrapper<FILE, FILE*, int, fclose> File;
+ }
+
++extern int gzclose_compat(void * file);
+ namespace zip {
+-typedef ResourceWrapper<void, void*, int, gzclose> gzFile;
++typedef ResourceWrapper<void, void*, int, gzclose_compat> gzFile;
+ }
+
+ /* Create a new temporary file. Return file name in file name encoding.
diff --git a/community/steghide/ChangeLog b/community/steghide/ChangeLog
new file mode 100644
index 000000000..4cdd510bf
--- /dev/null
+++ b/community/steghide/ChangeLog
@@ -0,0 +1,4 @@
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+* Added gcc 4.2 patch, with help from gentoo bug #178134
+* Fixed erroneous buildsystem.patch that removed path to mkinstalldirs
diff --git a/community/steghide/PKGBUILD b/community/steghide/PKGBUILD
new file mode 100644
index 000000000..b186a6cfd
--- /dev/null
+++ b/community/steghide/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 70184 2012-05-01 12:30:54Z andrea $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Jason Chu <jason@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=steghide
+pkgver=0.5.1
+pkgrel=6
+pkgdesc='Embeds a message in a file by replacing some of the least significant bits'
+arch=('i686' 'x86_64')
+url='http://steghide.sourceforge.net'
+license=('GPL')
+depends=('libmcrypt' 'gcc-libs' 'mhash' 'libjpeg' 'zlib')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'buildsystem.patch'
+ 'gcc-4.2.patch'
+ "${pkgname}-climits.patch")
+md5sums=('5be490e24807d921045780fd8cc446b3'
+ '14f5e054d71c91262bb1140288043df8'
+ 'fd861dc5a0a392c6c94a61e85ad74f29'
+ '897ce18edd008293a3328bc3f88775b3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 < ../buildsystem.patch
+
+ # this patch courtesy gentoo bug tracker #178134
+ patch -Np1 -i ../gcc-4.2.patch
+ patch -Np1 -i ../steghide-climits.patch
+
+ # touch files needed by GNU Autotools
+ touch NEWS AUTHORS ChangeLog
+
+ autoreconf -i
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/steghide/buildsystem.patch b/community/steghide/buildsystem.patch
new file mode 100644
index 000000000..e1fc057f7
--- /dev/null
+++ b/community/steghide/buildsystem.patch
@@ -0,0 +1,10 @@
+diff -urN steghide-0.5.1/src/Makefile.am steghide-0.5.1-new/src/Makefile.am
+--- steghide-0.5.1/src/Makefile.am 2003-09-28 09:33:21.000000000 -0700
++++ steghide-0.5.1-new/src/Makefile.am 2003-10-30 21:05:40.000000000 -0800
+@@ -33,5 +33,5 @@
+ WavPCMSampleValue.cc error.cc main.cc msg.cc SMDConstructionHeuristic.cc
+ LIBS = @LIBINTL@ @LIBS@
+ localedir = $(datadir)/locale
+-LIBTOOL = $(SHELL) libtool
++LIBTOOL = /usr/bin/libtool
+ MAINTAINERCLEANFILES = Makefile.in
diff --git a/community/steghide/gcc-4.2.patch b/community/steghide/gcc-4.2.patch
new file mode 100644
index 000000000..36848dd4c
--- /dev/null
+++ b/community/steghide/gcc-4.2.patch
@@ -0,0 +1,75 @@
+diff -Naur steghide-0.5.1.orig/src/AuData.h steghide-0.5.1.new/src/AuData.h
+--- steghide-0.5.1.orig/src/AuData.h 2003-09-28 11:30:29.000000000 -0400
++++ steghide-0.5.1.new/src/AuData.h 2007-06-28 17:22:44.000000000 -0400
+@@ -26,22 +26,30 @@
+
+ // AuMuLawAudioData
+ typedef AudioDataImpl<AuMuLaw,BYTE> AuMuLawAudioData ;
++template<>
+ inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; }
++template<>
+ inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; }
+
+ // AuPCM8AudioData
+ typedef AudioDataImpl<AuPCM8,SBYTE> AuPCM8AudioData ;
++template<>
+ inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; }
++template<>
+ inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; }
+
+ // AuPCM16AudioData
+ typedef AudioDataImpl<AuPCM16,SWORD16> AuPCM16AudioData ;
++template<>
+ inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; }
++template<>
+ inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; }
+
+ // AuPCM32AudioData
+ typedef AudioDataImpl<AuPCM32,SWORD32> AuPCM32AudioData ;
++template<>
+ inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; }
++template<>
+ inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; }
+
+ #endif // ndef SH_AUDATA_H
+diff -Naur steghide-0.5.1.orig/src/AuSampleValues.cc steghide-0.5.1.new/src/AuSampleValues.cc
+--- steghide-0.5.1.orig/src/AuSampleValues.cc 2003-09-28 11:30:30.000000000 -0400
++++ steghide-0.5.1.new/src/AuSampleValues.cc 2007-06-28 17:23:52.000000000 -0400
+@@ -21,17 +21,25 @@
+ #include "AuSampleValues.h"
+
+ // AuMuLawSampleValue
++template<>
+ const BYTE AuMuLawSampleValue::MinValue = 0 ;
++template<>
+ const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ;
+
+ // AuPCM8SampleValue
++template<>
+ const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ;
++template<>
+ const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ;
+
+ // AuPCM16SampleValue
++template<>
+ const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ;
++template<>
+ const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ;
+
+ // AuPCM32SampleValue
++template<>
+ const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ;
++template<>
+ const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ;
+diff -Naur steghide-0.5.1.orig/src/MHashPP.cc steghide-0.5.1.new/src/MHashPP.cc
+--- steghide-0.5.1.orig/src/MHashPP.cc 2003-10-05 06:17:50.000000000 -0400
++++ steghide-0.5.1.new/src/MHashPP.cc 2007-06-28 17:22:44.000000000 -0400
+@@ -120,7 +120,7 @@
+
+ std::string MHashPP::getAlgorithmName (hashid id)
+ {
+- char *name = mhash_get_hash_name (id) ;
++ char *name = (char *) mhash_get_hash_name (id) ;
+ std::string retval ;
+ if (name == NULL) {
+ retval = std::string ("<algorithm not found>") ;
diff --git a/community/steghide/steghide-climits.patch b/community/steghide/steghide-climits.patch
new file mode 100644
index 000000000..a7e54f51c
--- /dev/null
+++ b/community/steghide/steghide-climits.patch
@@ -0,0 +1,11 @@
+diff -ruN steghide-0.5.1.orig/src/Graph.cc steghide-0.5.1/src/Graph.cc
+--- steghide-0.5.1.orig/src/Graph.cc 2003-10-11 23:54:26.000000000 +0200
++++ steghide-0.5.1/src/Graph.cc 2008-12-14 14:23:27.000000000 +0100
+@@ -22,6 +22,7 @@
+ #include <list>
+ #include <map>
+ #include <vector>
++#include <climits>
+
+ #include "BitString.h"
+ #include "CvrStgFile.h"
diff --git a/community/stfl/PKGBUILD b/community/stfl/PKGBUILD
new file mode 100644
index 000000000..49fcd40db
--- /dev/null
+++ b/community/stfl/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 66465 2012-02-25 04:40:20Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Sven Pfleiderer <pfleidi@roothausen.de>
+
+pkgname=stfl
+pkgver=0.22
+pkgrel=1
+pkgdesc="Library implementing a curses-based widget set for text terminals"
+arch=('i686' 'x86_64')
+url="http://clifford.at/stfl/"
+license=('GPL3')
+depends=('ncurses')
+makedepends=('patch' 'swig')
+options=('!libtool')
+changelog=$pkgname.changelog
+source=(http://clifford.at/stfl/$pkgname-$pkgver.tar.gz \
+ $pkgname-archlinux.patch)
+sha256sums=('2dddafd331e61ad04baf1251ccecb3a69feaf99880dd75155be8423c1cc55418'
+ 'c7d7c787bcd287a776aad3b26e6a90a3b121c281125c34c7c35a87f36dcdc453')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ patch -Np1 -i ${srcdir}/$pkgname-archlinux.patch
+
+ make prefix=/usr Makefile.deps
+ make prefix=/usr
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make prefix=/usr DESTDIR=${pkgdir} install
+}
diff --git a/community/stfl/stfl-archlinux.patch b/community/stfl/stfl-archlinux.patch
new file mode 100644
index 000000000..df818299a
--- /dev/null
+++ b/community/stfl/stfl-archlinux.patch
@@ -0,0 +1,24 @@
+diff -ruN0 stfl-0.21-orig//Makefile.cfg stfl-0.21/Makefile.cfg
+--- stfl-0.21-orig//Makefile.cfg 2009-05-31 20:20:39.000000000 +0200
++++ stfl-0.21/Makefile.cfg 2010-03-25 20:01:19.000000000 +0100
+@@ -22 +22 @@
+-export prefix ?= /usr/local
++export prefix ?= /usr
+@@ -26 +26 @@
+-FOUND_SPL = 1
++FOUND_SPL = 0
+@@ -38 +38 @@
+-FOUND_PERL5 = 1
++FOUND_PERL5 = 0
+@@ -44 +44 @@
+-FOUND_PYTHON = 1
++FOUND_PYTHON = 0
+@@ -50 +50 @@
+-FOUND_RUBY = 1
++FOUND_RUBY = 0
+diff -ruN0 stfl-0.21-orig//stfl_internals.h stfl-0.21/stfl_internals.h
+--- stfl-0.21-orig//stfl_internals.h 2009-06-19 19:27:33.000000000 +0200
++++ stfl-0.21/stfl_internals.h 2010-03-25 20:00:52.000000000 +0100
+@@ -31 +31 @@
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
diff --git a/community/stfl/stfl.changelog b/community/stfl/stfl.changelog
new file mode 100644
index 000000000..b72f673ed
--- /dev/null
+++ b/community/stfl/stfl.changelog
@@ -0,0 +1,26 @@
+2012-02-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * stfl 0.22-1
+
+2010-03-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#18210 - [stfl] no language bindings without swig fixed in 0.21-2
+
+2009-07-11 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.21
+
+2009-06-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Package moved to [community]
+
+2009-05-02 by pfleidi
+ * update to 0.20
+
+2008-02-09 by hrist
+ * update to 0.18
+
+2008-01-04 by hrist
+ * fixed the make command invocation (thanks to byte for the hint)
+
+2007-09-28 by hrist
+ * removed the patch (thanks to xio for the hint)
+
+2007-06-01 by STiAT
+ * made package build (patchfile global_stfl.patch)
diff --git a/community/stk/PKGBUILD b/community/stk/PKGBUILD
new file mode 100644
index 000000000..2a97d360c
--- /dev/null
+++ b/community/stk/PKGBUILD
@@ -0,0 +1,66 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Ray Rashif <schiv@archlinux.org>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+
+pkgname=stk
+pkgver=4.4.4
+pkgrel=1
+pkgdesc='The Synthesis ToolKit in C++'
+arch=('i686' 'x86_64')
+url='http://ccrma.stanford.edu/software/stk/'
+license=('MIT')
+depends=('gcc-libs' 'jack')
+makedepends=('pkg-config')
+optdepends=('tk: run provided demos/samples')
+source=("http://ccrma.stanford.edu/software/stk/release/$pkgname-$pkgver.tar.gz"
+ "$pkgname.license"
+ runtime.patch)
+md5sums=('66646cb1117eee2d767c4571cc51a8c3'
+ 'a0163d75a5f516b6c93f4fc948acff73'
+ '36551c348340307c765fde85d4336e73')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # add missing linker flag
+ export LIBS="$LIBS -lpthread"
+
+ # enable shared library
+ sed -i 's/all : $(STATICLIB)/all : $(SHAREDLIB)/' src/Makefile.in
+
+ # fix demo rawwaves path
+ sed -i 's:\.\./\.\.:/usr/lib/stk:' projects/demo/demo.cpp
+
+ # run actual build
+ ./configure RAWWAVE_PATH=/usr/lib/stk/rawwaves/ --prefix=/usr --with-alsa --with-jack
+ make
+
+ # fix executable scripts
+ patch -Np1 -i ../runtime.patch
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ mkdir -p "$pkgdir"/usr/{bin,{lib,include}/stk}
+
+ # install library
+ cp -a src/libstk.* "$pkgdir/usr/lib/"
+
+ # install headers
+ install -m644 include/* "$pkgdir/usr/include/stk/"
+
+ # install runtime files
+ cp -a rawwaves projects/demo/{demo,tcl} projects/effects/{effects,tcl} \
+ projects/ragamatic/{ragamat,tcl,rawwaves} "$pkgdir/usr/lib/stk/"
+
+ # install executables
+ install -m755 projects/{demo/StkDemo,effects/StkEffects} "$pkgdir/usr/bin/"
+ install -m755 projects/ragamatic/Raga "$pkgdir/usr/bin/StkRagamatic"
+
+ # install license
+ install -Dm644 "../$pkgname.license" "$pkgdir/usr/share/licenses/stk/LICENSE"
+
+ # remove .DS_Store directory: https://bugs.archlinux.org/task/25255
+ rm -rf "${pkgdir}/usr/lib/stk/rawwaves/.DS_Store"
+}
diff --git a/community/stk/runtime.patch b/community/stk/runtime.patch
new file mode 100644
index 000000000..da7098a81
--- /dev/null
+++ b/community/stk/runtime.patch
@@ -0,0 +1,18 @@
+diff -Naur stk-4.4.2.orig//projects/demo/StkDemo stk-4.4.2/projects/demo/StkDemo
+--- stk-4.4.2.orig//projects/demo/StkDemo 2010-09-01 08:51:05.000000000 +0800
++++ stk-4.4.2/projects/demo/StkDemo 2010-09-01 08:51:48.000000000 +0800
+@@ -1 +1,2 @@
++cd /usr/lib/stk
+ wish < tcl/Demo.tcl | ./demo Clarinet -or -ip
+diff -Naur stk-4.4.2.orig//projects/effects/StkEffects stk-4.4.2/projects/effects/StkEffects
+--- stk-4.4.2.orig//projects/effects/StkEffects 2010-09-01 08:51:05.000000000 +0800
++++ stk-4.4.2/projects/effects/StkEffects 2010-09-01 08:51:54.000000000 +0800
+@@ -1 +1,2 @@
++cd /usr/lib/stk
+ wish < tcl/Effects.tcl | ./effects -ip
+diff -Naur stk-4.4.2.orig//projects/ragamatic/Raga stk-4.4.2/projects/ragamatic/Raga
+--- stk-4.4.2.orig//projects/ragamatic/Raga 2010-09-01 08:51:05.000000000 +0800
++++ stk-4.4.2/projects/ragamatic/Raga 2010-09-01 08:52:04.000000000 +0800
+@@ -1 +1,2 @@
++cd /usr/lib/stk
+ wish < tcl/Raga.tcl | ./ragamat -ip
diff --git a/community/stk/stk.license b/community/stk/stk.license
new file mode 100644
index 000000000..613db6ddd
--- /dev/null
+++ b/community/stk/stk.license
@@ -0,0 +1,39 @@
+The Synthesis ToolKit in C++ (STK) is a set of open source audio
+signal processing and algorithmic synthesis classes written in the
+C++ programming language. STK was designed to facilitate rapid
+development of music synthesis and audio processing software, with
+an emphasis on cross-platform functionality, realtime control,
+ease of use, and educational example code. STK currently runs
+with realtime support (audio and MIDI) on Linux, Macintosh OS X,
+and Windows computer platforms. Generic, non-realtime support has
+been tested under NeXTStep, Sun, and other platforms and should
+work with any standard C++ compiler.
+
+STK WWW site: http://ccrma.stanford.edu/software/stk/
+
+The Synthesis ToolKit in C++ (STK)
+Copyright (c) 1995-2010 Perry R. Cook and Gary P. Scavone
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+Any person wishing to distribute modifications to the Software is
+asked to send the modifications to the original developer so that they
+can be incorporated into the canonical version. This is, however, not
+a binding provision of this license.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/community/stone-soup/PKGBUILD b/community/stone-soup/PKGBUILD
new file mode 100644
index 000000000..90f07aa95
--- /dev/null
+++ b/community/stone-soup/PKGBUILD
@@ -0,0 +1,67 @@
+# Maintainer: Jakob Gruber <jakob.gruber@gmail.com>
+
+pkgname=stone-soup
+pkgver=0.12.1
+pkgrel=1
+pkgdesc='Open-source, single-player, role-playing roguelike game of exploration and treasure-hunting'
+arch=('i686' 'x86_64')
+url='http://crawl.develz.org/'
+depends=('lua51' 'ncurses' 'sdl_image' 'sqlite' 'glu' 'freetype2' 'ttf-dejavu')
+makedepends=('bison' 'flex' 'gendesk' 'mesa')
+conflicts=('crawl' 'stone-soup-tile' 'stone-soup-git')
+license=('custom')
+install=stone-soup.install
+source=("http://downloads.sourceforge.net/sourceforge/crawl-ref/stone_soup-${pkgver}-nodeps.tar.xz")
+
+# used by gendesk to create .desktop file
+_exec=('crawl-tiles')
+_name=('Dungeon Crawl Stone Soup')
+
+package() {
+ cd "$srcdir"
+ gendesk -n
+
+ cd "stone_soup-${pkgver}/source"
+
+ # adjust makefile to use /usr/bin, owner root:root,
+ # disable setgid on executable
+
+ sed -i 's|bin_prefix := bin|bin_prefix := usr/bin|' Makefile
+ sed -i 's/INSTALL_UGRP := games:games/INSTALL_UGRP := root:root/' Makefile
+ sed -i 's|MCHMOD := 2755|MCHMOD := 755|' Makefile
+
+ # first build and install tiles version
+
+ make DESTDIR="${pkgdir}" \
+ SAVEDIR="~/.crawl/" \
+ DATADIR="/usr/share/${pkgname}/data" \
+ USE_UNICODE=y \
+ TILES=y \
+ install
+
+ # rename tiles executable to avoid clashing with console crawl
+
+ mv "${pkgdir}/usr/bin/crawl" "${pkgdir}/usr/bin/crawl-tiles"
+
+ # then build and install console version
+
+ make DESTDIR="${pkgdir}" \
+ SAVEDIR="~/.crawl/" \
+ DATADIR="/usr/share/${pkgname}/data" \
+ USE_UNICODE=y \
+ install
+
+ # install crawl license
+
+ install -D -m644 ../licence.txt \
+ "${pkgdir}/usr/share/licenses/${pkgname}/license.txt"
+
+ # install icon and .desktop file
+
+ install -D -m644 dat/tiles/stone_soup_icon-32x32.png \
+ "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
+ install -D -m644 "${srcdir}/${pkgname}.desktop" \
+ "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+
+}
+md5sums=('47d7c65cf72786d446e1289533af01de')
diff --git a/community/stone-soup/stone-soup.install b/community/stone-soup/stone-soup.install
new file mode 100644
index 000000000..2320123e2
--- /dev/null
+++ b/community/stone-soup/stone-soup.install
@@ -0,0 +1,11 @@
+post_upgrade() {
+
+ # return if old pkgver >= 0.9.0-2
+ [[ $(vercmp $2 0.9.0-2) -ge 0 ]] && return
+
+ echo "---------------------------------------------------------------------
+ stone-soup saves have moved to ~/.crawl.
+ If you want to keep your old saves, move ~/.stone-soup to
+ ~/.crawl.
+---------------------------------------------------------------------"
+}
diff --git a/community/stress/PKGBUILD b/community/stress/PKGBUILD
new file mode 100644
index 000000000..2f320e0ab
--- /dev/null
+++ b/community/stress/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 64677 2012-02-17 18:26:44Z bluewind $
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=stress
+pkgver=1.0.4
+pkgrel=3
+pkgdesc="A tool that stress tests your system (CPU, memory, I/O, disks)"
+arch=('i686' 'x86_64')
+url="http://weather.ou.edu/~apw/projects/stress/"
+license=('GPL')
+options=('!emptydirs')
+source=(http://weather.ou.edu/~apw/projects/stress/${pkgname}-${pkgver}.tar.gz)
+md5sums=('a607afa695a511765b40993a64c6e2f4')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/stunnel/Makefile.patch b/community/stunnel/Makefile.patch
new file mode 100644
index 000000000..27be911d6
--- /dev/null
+++ b/community/stunnel/Makefile.patch
@@ -0,0 +1,21 @@
+--- tools/Makefile.in 2010-03-31 04:45:09.000000000 -0500
++++ tools/Makefile.in 2010-04-11 17:17:41.000000000 -0500
+@@ -334,8 +334,7 @@
+
+ info-am:
+
+-install-data-am: install-confDATA install-data-local \
+- install-examplesDATA
++install-data-am: install-confDATA install-examplesDATA
+
+ install-dvi: install-dvi-am
+
+@@ -377,7 +376,7 @@
+ clean-local distclean distclean-generic distclean-libtool \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-confDATA install-data install-data-am \
+- install-data-local install-dvi install-dvi-am \
++ install-dvi install-dvi-am \
+ install-examplesDATA install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
diff --git a/community/stunnel/PKGBUILD b/community/stunnel/PKGBUILD
new file mode 100644
index 000000000..d3f225a88
--- /dev/null
+++ b/community/stunnel/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 92897 2013-06-18 09:22:57Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Kevin Piche <kevin@archlinux.org>
+
+pkgname=stunnel
+pkgver=4.56
+pkgrel=3
+pkgdesc="A program that allows you to encrypt arbitrary TCP connections inside SSL"
+arch=('i686' 'x86_64')
+url="http://www.stunnel.org"
+license=('GPL')
+depends=('openssl')
+install=$pkgname.install
+options=('!libtool')
+source=("ftp://ftp.stunnel.org/stunnel/$pkgname-$pkgver.tar.gz"{,.asc}
+ 'Makefile.patch'
+ 'stunnel.tmpfiles.conf')
+
+md5sums=('ac4c4a30bd7a55b6687cbd62d864054c'
+ 'd68c7dd65d515c678cdde15bbf0ce344'
+ 'f15398497e10e080c2406d2fc541660c'
+ '2e065a39998e57727ee79887bbd1751e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # don't create a certificate...
+ patch -p0 < "$srcdir/Makefile.patch"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-ipv6 \
+ --disable-libwrap \
+ --disable-fips
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ for i in ca.pl importCA.sh; do
+ install -Dm755 "tools/$i" "$pkgdir/usr/share/stunnel/$i"
+ done
+
+ install -Dm644 tools/stunnel.cnf "$pkgdir/etc/stunnel/stunnel.cnf"
+ install -Dm644 "$srcdir/stunnel.tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/stunnel.conf"
+
+ # move systemd service into place
+ install -dm755 "$pkgdir/usr/lib/systemd/system"
+ mv "tools/stunnel.service" "$pkgdir/usr/lib/systemd/system/"
+
+ sed -e "s:/usr/var/lib/stunnel/:/var/run/stunnel:g" \
+ -e "s:/usr/etc/stunnel/:/etc/stunnel/:g" \
+ -e "s:no\(body\|group\):stunnel:g" \
+ -i "$pkgdir/etc/stunnel/stunnel.conf-sample"
+}
diff --git a/community/stunnel/stunnel.install b/community/stunnel/stunnel.install
new file mode 100644
index 000000000..d9998e4da
--- /dev/null
+++ b/community/stunnel/stunnel.install
@@ -0,0 +1,31 @@
+post_install() {
+ # add stunnel group
+ if ! getent group stunnel >/dev/null 2>&1; then
+ groupadd -g 16 stunnel
+ fi
+
+ # add stunnel user
+ if ! getent passwd stunnel >/dev/null 2>&1; then
+ useradd -u 16 -g stunnel -d /var/run/stunnel -s /bin/false stunnel
+ fi
+
+ # create chroot dir if necessary.
+ if [ ! -d /var/run/stunnel ]; then
+ install -dm770 -o stunnel -g stunnel /var/run/stunnel
+ fi
+}
+
+post_upgrade() {
+ post_install "$@"
+}
+
+pre_remove() {
+ # remove users & groups
+ if getent passwd stunnel >/dev/null 2>&1; then
+ userdel stunnel
+ fi
+
+ if getent group stunnel >/dev/null 2>&1; then
+ groupdel stunnel
+ fi
+}
diff --git a/community/stunnel/stunnel.tmpfiles.conf b/community/stunnel/stunnel.tmpfiles.conf
new file mode 100644
index 000000000..f118e68a0
--- /dev/null
+++ b/community/stunnel/stunnel.tmpfiles.conf
@@ -0,0 +1 @@
+d /var/run/stunnel 0770 stunnel stunnel -
diff --git a/community/stuntrally/PKGBUILD b/community/stuntrally/PKGBUILD
new file mode 100644
index 000000000..5c286dcdc
--- /dev/null
+++ b/community/stuntrally/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id$
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Sven Schneider <archlinux.sandmann@googlemail.com>
+# Contributor: Jason Melton <jason.melton@gmail.com>
+
+pkgname=stuntrally
+pkgver=2.0
+pkgrel=1
+pkgdesc='Stunt Rally game with track editor, based on VDrift'
+arch=('x86_64' 'i686')
+license=('GPL3')
+url='http://code.google.com/p/vdrift-ogre'
+depends=('libvorbis' 'mygui' 'sdl' 'enet' 'hicolor-icon-theme' 'libxcursor' 'stuntrally-data')
+makedepends=('cmake' 'boost')
+install=stuntrally.install
+source=("$pkgname-$pkgver.tar.gz::https://nodeload.github.com/$pkgname/$pkgname/tar.gz/$pkgver")
+sha256sums=('ef3e645e4911f37c28925e3339c39555e849b7ac13511f009742030f531eed68')
+
+build() {
+ cd "$srcdir/stuntrally-$pkgver/"
+
+ rm -rf build
+ mkdir build && cd build
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX="/usr" \
+ -DSHARE_INSTALL="share/stuntrally"
+ make
+}
+
+package() {
+ cd "$srcdir/stuntrally-$pkgver/build/"
+
+ make DESTDIR="$pkgdir" install
+ rm -rf "$pkgdir/usr/share/stuntrally/"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/stuntrally/stuntrally.install b/community/stuntrally/stuntrally.install
new file mode 100644
index 000000000..3a13ff305
--- /dev/null
+++ b/community/stuntrally/stuntrally.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/subtitleeditor/PKGBUILD b/community/subtitleeditor/PKGBUILD
new file mode 100644
index 000000000..a7932aa85
--- /dev/null
+++ b/community/subtitleeditor/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 66079 2012-02-22 22:47:22Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=subtitleeditor
+pkgver=0.40.0
+pkgrel=1
+pkgdesc="A GTK+2 tool to edit subtitles for GNU/Linux/*BSD"
+arch=('i686' 'x86_64')
+url="http://home.gna.org/subtitleeditor/"
+license=('GPL3')
+depends=('desktop-file-utils' 'enchant' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins'
+ 'gstreamermm' 'gtk2' 'gtkmm' 'hicolor-icon-theme' 'libsigc++' 'libxml++' 'xdg-utils')
+makedepends=('intltool')
+optdepends=('gstreamer0.10-ffmpeg: to be able to view movies inside the subtitleeditor'
+ 'gstreamer0.10-ugly-plugins: to be able to view movies inside the subtitleeditor'
+ 'gstreamer0.10-fluendo: to be able to view movies inside the subtitleeditor')
+options=('!libtool')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://download.gna.org/$pkgname/0.40/$pkgname-$pkgver.tar.gz)
+sha256sums=('b8d948f3e770524bf63fe632600aa94fcbd4edba772cad2aec4fdb3b3335b02d')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+}
+
+package () {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/subtitleeditor/subtitleeditor.changelog b/community/subtitleeditor/subtitleeditor.changelog
new file mode 100644
index 000000000..9362e3c99
--- /dev/null
+++ b/community/subtitleeditor/subtitleeditor.changelog
@@ -0,0 +1,60 @@
+2012-02-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * subtitleeditor 0.40.0-1
+
+2011-08-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * subtitleeditor 0.39.0-1
+
+2011-07-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * subtitleeditor 0.38.0-1
+
+2010-07-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.37.1
+
+2010-07-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.37.0
+
+2010-04-06 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.36.2
+
+2010-03-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.36.1
+
+2010-02-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.36.0
+
+2009-12-31 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.35.1
+
+2009-11-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.34.0
+
+2009-06-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.33.0
+
+2009-06-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.32.0
+
+2009-04-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.31.0
+
+2008-12-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.30.0
+
+2008-11-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.26.0
+
+2008-10-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.25.0
+
+2008-09-23 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.24.0
+
+2008-09-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.23.0
+
+2008-08-31 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.22.3
+
+2008-08-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.22.2
+ * Release info: http://home.gna.org/subtitleeditor/release-logs/0.22.0/
diff --git a/community/subtitleeditor/subtitleeditor.install b/community/subtitleeditor/subtitleeditor.install
new file mode 100644
index 000000000..dcc06de40
--- /dev/null
+++ b/community/subtitleeditor/subtitleeditor.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/subtle/PKGBUILD b/community/subtle/PKGBUILD
new file mode 100644
index 000000000..fd908af5f
--- /dev/null
+++ b/community/subtle/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 86887 2013-03-23 23:10:50Z td123 $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: unexist <unexist@dorfelite.net>
+# Contributor: Abakus <java5@arcor.de>
+# Contributor: TDY <tdy@gmx.com>
+# Contributor: Xilon <xilonmu@gmail.com>
+
+pkgname=subtle
+pkgver=0.11.3224
+pkgrel=2
+pkgdesc='Grid-based manual tiling window manager'
+arch=('x86_64' 'i686')
+url='http://subtle.subforge.org/'
+license=('GPL')
+depends=('ruby' 'libxft' 'libxpm' 'libxrandr' 'libxft' 'libxpm' 'libxinerama'
+ 'libxtst')
+makedepends=('pkg-config' 'libxinerama' 'libxrandr' 'libxft' 'libxpm')
+backup=('etc/xdg/subtle/subtle.rb')
+install=subtle.install
+source=("http://subforge.org/attachments/download/81/$pkgname-$pkgver-xi.tbz2")
+sha256sums=('a22ee94a70c1105a018e1c0a754597b4e3a87d1b915301a0b22888920fa0f8a2')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver-xi"
+
+ # Disable the check for Ruby 1.9
+ sed -i 's/ 1 != / 7 == /' Rakefile
+ sed -i 's/ 9 != / 7 == /' Rakefile
+ # Use vendor_ruby instead of site_ruby
+ sed -e \
+ 's/RbConfig::CONFIG\["sitelibdir"\]/RbConfig::CONFIG\["vendorlibdir"\]/' \
+ -i Rakefile
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver-xi"
+
+ rake destdir=$pkgdir install --trace
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/subtle/subtle.install b/community/subtle/subtle.install
new file mode 100644
index 000000000..cdb0d9469
--- /dev/null
+++ b/community/subtle/subtle.install
@@ -0,0 +1,7 @@
+post_upgrade() {
+ echo "In order to use sur you can install ruby-curb and ruby-minitar."
+ echo "If you have subtle on your system remember to upgrade with:"
+ echo " sur upgrade"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/sunpinyin/PKGBUILD b/community/sunpinyin/PKGBUILD
new file mode 100644
index 000000000..1aa1a4606
--- /dev/null
+++ b/community/sunpinyin/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 92609 2013-06-10 02:29:07Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+
+pkgname=sunpinyin
+pkgver=2.0.3.20130307
+_commit=64e26d9ed1f617e59ff37c2efc0be97727c799a1
+pkgrel=1
+arch=('i686' 'x86_64')
+pkgdesc="Statistical Language Model based pinyin IME by Sun"
+license=('LGPL')
+url="http://sunpinyin.googlecode.com"
+depends=('sqlite' 'make' 'gcc-libs')
+optdepends=('sunpinyin-data: Statistical language model data from open-gram project for sunpinyin')
+makedepends=('git' 'scons' 'intltool')
+source=("git://github.com/sunpinyin/sunpinyin.git#commit=$_commit")
+md5sums=("SKIP")
+
+build() {
+ cd "$srcdir/$pkgname"
+ sed -i -e "1s|python|python2|" python/*.py python/importer/*.py
+
+ scons \
+ --prefix=/usr
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ scons \
+ --prefix=/usr \
+ --install-sandbox="$pkgdir" \
+ install
+}
+
diff --git a/community/supercollider/PKGBUILD b/community/supercollider/PKGBUILD
new file mode 100644
index 000000000..901855851
--- /dev/null
+++ b/community/supercollider/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 90361 2013-05-12 02:59:43Z speps $
+# Maintainer : speps <speps at aur dot archlinux dot org>
+# Contributor: <farid at archlinux-br.org>
+
+_name=SuperCollider
+pkgname=supercollider
+pkgver=3.6.5
+pkgrel=1
+pkgdesc="An environment and programming language for real time audio synthesis and algorithmic composition"
+arch=('i686' 'x86_64')
+url="http://supercollider.sourceforge.net/"
+license=('GPL3')
+depends=('jack' 'fftw' 'cwiid' 'qtwebkit')
+makedepends=('cmake' 'ruby' 'vim' 'emacs')
+optdepends=('emacs: emacs interface'
+ 'gedit: gedit interface'
+ 'vim: vim interface'
+ 'ruby: vim support')
+install="$pkgname.install"
+source=("http://download.sourceforge.net/project/$pkgname/Source/${pkgver%.*}/$_name-$pkgver-Source-linux.tar.bz2")
+md5sums=('ac176ea512fc2b9a9be645322c5b20b4')
+
+build() {
+ cd "$srcdir/$_name-Source"
+ [ -d bld ] || mkdir bld && cd bld
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DLIBSCSYNTH=ON
+ make
+}
+
+package() {
+ cd "$srcdir/$_name-Source/bld"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/supercollider/supercollider.install b/community/supercollider/supercollider.install
new file mode 100644
index 000000000..32bd4537c
--- /dev/null
+++ b/community/supercollider/supercollider.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+} \ No newline at end of file
diff --git a/community/supertux/PKGBUILD b/community/supertux/PKGBUILD
new file mode 100644
index 000000000..e3608b109
--- /dev/null
+++ b/community/supertux/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 91300 2013-05-20 22:16:28Z foutrelis $
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Eric Bélanger <eric@archlinux.org>
+# Contributor: vande198
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=supertux
+pkgver=0.3.3
+pkgrel=8
+pkgdesc="A classic 2D jump'n run sidescroller game in a style similar to the original SuperMario games"
+arch=('i686' 'x86_64')
+url="http://super-tux.sourceforge.net/"
+license=('GPL')
+depends=('sdl_image' 'curl' 'physfs' 'openal' 'libvorbis' 'glew')
+makedepends=('cmake' 'boost' 'mesa' 'optipng')
+source=(http://download.berlios.de/supertux/${pkgname}-${pkgver}.tar.bz2
+ supertux2-0.3.3-squirrel-gcc47.patch)
+md5sums=('f3f803e629ee51a9de0b366a036e393d'
+ 'eb06315514be4f200428f14b927beb66')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i "${srcdir}/supertux2-0.3.3-squirrel-gcc47.patch"
+ sed -i '1i#include <cstddef>' src/supertux/screen_manager.hpp
+ sed -i '/types\.h/d' src/addon/addon_manager.cpp
+
+ # Fix invalid PNG image to work with libpng 1.6
+ optipng -quiet -force -fix data/images/creatures/flame_fish/left-0.png
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -D INSTALL_SUBDIR_BIN=bin .
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/supertux/supertux2-0.3.3-squirrel-gcc47.patch b/community/supertux/supertux2-0.3.3-squirrel-gcc47.patch
new file mode 100644
index 000000000..16781b610
--- /dev/null
+++ b/community/supertux/supertux2-0.3.3-squirrel-gcc47.patch
@@ -0,0 +1,36 @@
+diff -Naur supertux2-0.3.3.orig/external/squirrel/squirrel/sqmem.h supertux2-0.3.3/external/squirrel/squirrel/sqmem.h
+--- supertux2-0.3.3.orig/external/squirrel/squirrel/sqmem.h 1970-01-01 01:00:00.000000000 +0100
++++ supertux2-0.3.3/external/squirrel/squirrel/sqmem.h 2012-05-01 11:59:37.000000000 +0200
+@@ -0,0 +1,8 @@
++/* see copyright notice in squirrel.h */
++#ifndef _SQMEM_H_
++#define _SQMEM_H_
++
++void *sq_vm_malloc(SQUnsignedInteger size);
++void *sq_vm_realloc(void *p,SQUnsignedInteger oldsize,SQUnsignedInteger size);
++void sq_vm_free(void *p,SQUnsignedInteger size);
++#endif //_SQMEM_H_
+diff -Naur supertux2-0.3.3.orig/external/squirrel/squirrel/sqstate.h supertux2-0.3.3/external/squirrel/squirrel/sqstate.h
+--- supertux2-0.3.3.orig/external/squirrel/squirrel/sqstate.h 2010-03-01 13:40:58.000000000 +0100
++++ supertux2-0.3.3/external/squirrel/squirrel/sqstate.h 2012-05-01 11:59:37.000000000 +0200
+@@ -136,8 +136,4 @@
+ extern SQObjectPtr _minusone_;
+
+ bool CompileTypemask(SQIntVec &res,const SQChar *typemask);
+-
+-void *sq_vm_malloc(SQUnsignedInteger size);
+-void *sq_vm_realloc(void *p,SQUnsignedInteger oldsize,SQUnsignedInteger size);
+-void sq_vm_free(void *p,SQUnsignedInteger size);
+ #endif //_SQSTATE_H_
+diff -Naur supertux2-0.3.3.orig/external/squirrel/squirrel/squtils.h supertux2-0.3.3/external/squirrel/squirrel/squtils.h
+--- supertux2-0.3.3.orig/external/squirrel/squirrel/squtils.h 2010-03-01 13:40:58.000000000 +0100
++++ supertux2-0.3.3/external/squirrel/squirrel/squtils.h 2012-05-01 11:59:37.000000000 +0200
+@@ -2,6 +2,8 @@
+ #ifndef _SQUTILS_H_
+ #define _SQUTILS_H_
+
++#include "sqmem.h"
++
+ #define sq_new(__ptr,__type) {__ptr=(__type *)sq_vm_malloc(sizeof(__type));new (__ptr) __type;}
+ #define sq_delete(__ptr,__type) {__ptr->~__type();sq_vm_free(__ptr,sizeof(__type));}
+ #define SQ_MALLOC(__size) sq_vm_malloc((__size));
diff --git a/community/supertuxkart/PKGBUILD b/community/supertuxkart/PKGBUILD
new file mode 100644
index 000000000..a31909eef
--- /dev/null
+++ b/community/supertuxkart/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 81785 2012-12-29 16:57:50Z arodseth $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Daenyth <Daenyth+Arch [AT] gmail [DOT] com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: rabyte <rabyte__gmail>
+
+pkgname=supertuxkart
+pkgver=0.8
+pkgrel=3
+pkgdesc='Kart racing game featuring Tux and his friends'
+arch=('i686' 'x86_64')
+url='http://supertuxkart.sourceforge.net/'
+license=('GPL2')
+depends=('openal' 'libvorbis' 'libgl' 'fribidi' 'curl')
+makedepends=('cmake' 'subversion' 'mesa' 'imagemagick' 'setconf')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-src.tar.bz2")
+md5sums=('0b939ce601374758938119e0b0dd1fec')
+
+build() {
+ cd ${srcdir}/SuperTuxKart-${pkgver}
+
+ convert "data/${pkgname}_64.xpm" "data/$pkgname.png"
+ _fn="data/${pkgname}_desktop.template"
+ setconf "$_fn" Exec "$pkgname --log=file"
+ setconf "$_fn" TryExec "$pkgname"
+ setconf "$_fn" Icon "$pkgname"
+
+ cd lib/irrlicht/source/Irrlicht
+ NDEBUG=1 make
+
+ cd ${srcdir}/SuperTuxKart-${pkgver}
+ #sed -i "s|share/games|share|g" CMakeLists.txt
+
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+
+ cmake \
+ -DIRRLICHT_DIR="$srcdir/irrlicht" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_CXX_FLAGS="-lpthread -lm -ldl" \
+ ..
+
+ make
+}
+
+package() {
+ cd ${srcdir}/SuperTuxKart-${pkgver}
+
+ cd build
+ make DESTDIR=${pkgdir} install
+
+ cd ../data
+ install -Dm644 "$pkgname.png" "$pkgdir/usr/share/pixmaps/$pkgname.png"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/surf/PKGBUILD b/community/surf/PKGBUILD
new file mode 100644
index 000000000..17bd37ad6
--- /dev/null
+++ b/community/surf/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 92388 2013-06-04 13:14:40Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Pierre Chapuis <catwell at archlinux dot us>
+# Contributor: Ray Kohler <ataraxia937 at gmail dot com>
+# Contributor: Michael Witten <mfwitten>
+# Contributor: Raphael Proust <raphlalou at gmail dot com>
+
+pkgname=surf
+pkgver=0.6
+pkgrel=2
+pkgdesc='A simple web browser based on WebKit/GTK+.'
+arch=('i686' 'x86_64')
+url='http://surf.suckless.org/'
+license=('MIT')
+depends=('libwebkit' 'xorg-xprop')
+optdepends=('dmenu: URL-bar'
+ 'ca-certificates: SSL verification'
+ 'xterm: default download handler'
+ 'curl: default download handler')
+makedepends=('pkgconfig')
+install='surf.install'
+source=("http://dl.suckless.org/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'config.h')
+md5sums=('aeeed723b562a30cc6a2b3ea18f6d99a'
+ '1447600ca79c56577af3438d5f3d3d56')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ cp "${srcdir}/config.h" config.h
+
+ sed -i 's/CPPFLAGS =/CPPFLAGS +=/g' config.mk
+ sed -i 's/CFLAGS =/CFLAGS +=/g' config.mk
+ sed -i 's/LDFLAGS =/LDFLAGS +=/g' config.mk
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make PREFIX=/usr DESTDIR="${pkgdir}" install
+ install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/surf/config.h b/community/surf/config.h
new file mode 100644
index 000000000..43506bd90
--- /dev/null
+++ b/community/surf/config.h
@@ -0,0 +1,95 @@
+/* modifier 0 means no modifier */
+static char *useragent = "Mozilla/5.0 (X11; U; Unix; en-US) "
+ "AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 "
+ "Safari/537.15 Surf/"VERSION;
+static char *progress = "#0000FF";
+static char *progress_untrust = "#FF0000";
+static char *progress_trust = "#00FF00";
+static char *progress_proxy = "#FFFF00";
+static char *progress_proxy_trust = "#66FF00";
+static char *progress_proxy_untrust = "#FF6600";
+static char *stylefile = "~/.surf/style.css";
+static char *scriptfile = "~/.surf/script.js";
+static char *cookiefile = "~/.surf/cookies.txt";
+static time_t sessiontime = 3600;
+static char *cafile = "/etc/ssl/certs/ca-certificates.crt";
+static char *strictssl = FALSE; /* Refuse untrusted SSL connections */
+static int indicator_thickness = 2;
+
+/* Webkit default features */
+static Bool enablespatialbrowsing = TRUE;
+static Bool enableplugins = TRUE;
+static Bool enablescripts = TRUE;
+static Bool enableinspector = TRUE;
+static Bool loadimages = TRUE;
+static Bool hidebackground = FALSE;
+
+#define SETPROP(p, q) { \
+ .v = (char *[]){ "/bin/sh", "-c", \
+ "prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | dmenu`\" &&" \
+ "xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
+ p, q, winid, NULL \
+ } \
+}
+
+/* DOWNLOAD(URI, referer) */
+#define DOWNLOAD(d, r) { \
+ .v = (char *[]){ "/bin/sh", "-c", \
+ "xterm -e /bin/sh -c \"curl -J -O --user-agent '$1'" \
+ " --referer '$2'" \
+ " -b ~/.surf/cookies.txt -c ~/.surf/cookies.txt '$0';" \
+ " sleep 5;\"", \
+ d, useragent, r, NULL \
+ } \
+}
+
+#define MODKEY GDK_CONTROL_MASK
+
+/* hotkeys */
+/*
+ * If you use anything else but MODKEY and GDK_SHIFT_MASK, don't forget to
+ * edit the CLEANMASK() macro.
+ */
+static Key keys[] = {
+ /* modifier keyval function arg Focus */
+ { MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE } },
+ { MODKEY, GDK_r, reload, { .b = FALSE } },
+ { MODKEY|GDK_SHIFT_MASK,GDK_p, print, { 0 } },
+
+ { MODKEY, GDK_p, clipboard, { .b = TRUE } },
+ { MODKEY, GDK_y, clipboard, { .b = FALSE } },
+
+ { MODKEY|GDK_SHIFT_MASK,GDK_j, zoom, { .i = -1 } },
+ { MODKEY|GDK_SHIFT_MASK,GDK_k, zoom, { .i = +1 } },
+ { MODKEY|GDK_SHIFT_MASK,GDK_q, zoom, { .i = 0 } },
+ { MODKEY, GDK_minus, zoom, { .i = -1 } },
+ { MODKEY, GDK_plus, zoom, { .i = +1 } },
+
+ { MODKEY, GDK_l, navigate, { .i = +1 } },
+ { MODKEY, GDK_h, navigate, { .i = -1 } },
+
+ { MODKEY, GDK_j, scroll_v, { .i = +1 } },
+ { MODKEY, GDK_k, scroll_v, { .i = -1 } },
+ { MODKEY, GDK_b, scroll_v, { .i = -10000 } },
+ { MODKEY, GDK_space, scroll_v, { .i = +10000 } },
+ { MODKEY, GDK_i, scroll_h, { .i = +1 } },
+ { MODKEY, GDK_u, scroll_h, { .i = -1 } },
+
+ { 0, GDK_F11, fullscreen, { 0 } },
+ { 0, GDK_Escape, stop, { 0 } },
+ { MODKEY, GDK_o, source, { 0 } },
+ { MODKEY|GDK_SHIFT_MASK,GDK_o, inspector, { 0 } },
+
+ { MODKEY, GDK_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") },
+ { MODKEY, GDK_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
+ { MODKEY, GDK_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
+
+ { MODKEY, GDK_n, find, { .b = TRUE } },
+ { MODKEY|GDK_SHIFT_MASK,GDK_n, find, { .b = FALSE } },
+
+ { MODKEY|GDK_SHIFT_MASK,GDK_c, toggle, { .v = "enable-caret-browsing" } },
+ { MODKEY|GDK_SHIFT_MASK,GDK_i, toggle, { .v = "auto-load-images" } },
+ { MODKEY|GDK_SHIFT_MASK,GDK_s, toggle, { .v = "enable-scripts" } },
+ { MODKEY|GDK_SHIFT_MASK,GDK_v, toggle, { .v = "enable-plugins" } },
+};
+
diff --git a/community/surf/surf.install b/community/surf/surf.install
new file mode 100644
index 000000000..8511ab907
--- /dev/null
+++ b/community/surf/surf.install
@@ -0,0 +1,28 @@
+pre_install() {
+ echo "-- Edit config.h in PKGBUILD's directory (generally /var/abs/community/surf/)"
+ echo "-- and rebuild package if you want to change settings."
+ /bin/true
+}
+
+post_install() {
+ /bin/true
+}
+
+pre_upgrade() {
+ echo "-- Edit config.h in PKGBUILD's directory (generally /var/abs/community/surf/)"
+ echo "-- and rebuild package if you want to change settings."
+ /bin/true
+}
+
+post_upgrade() {
+ /bin/true
+}
+
+pre_remove() {
+ /bin/true
+}
+
+post_remove() {
+ /bin/true
+}
+
diff --git a/community/swarp/PKGBUILD b/community/swarp/PKGBUILD
new file mode 100644
index 000000000..452a0aba8
--- /dev/null
+++ b/community/swarp/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 65469 2012-02-21 05:57:41Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Dag Odenhall <dag.odenhall@gmail.com>
+
+pkgname=swarp
+pkgver=0.1
+pkgrel=3
+pkgdesc="Simple pointer warp"
+license=('MIT')
+arch=(i686 x86_64)
+url="http://tools.suckless.org/"
+depends=(glibc libx11)
+source=(http://dl.suckless.org/tools/swarp-$pkgver.tar.gz
+ config.mk)
+md5sums=('b674dd2f33c45cbd789e4b6e09b7b55e'
+ '6fccb02af362a7284df689eea053a154')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ cp $srcdir/config.mk .
+ sed -i "s/%VERSION%/$pkgver/g" config.mk
+ sed -i "s/%CFLAGS%/$CFLAGS/g" config.mk
+
+ make
+ make DESTDIR=$pkgdir install
+
+ install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/COPYING
+}
diff --git a/community/swarp/config.mk b/community/swarp/config.mk
new file mode 100644
index 000000000..12b3565be
--- /dev/null
+++ b/community/swarp/config.mk
@@ -0,0 +1,13 @@
+# Customized for Arch Linux <http://archlinux.org>
+
+VERSION = %VERSION%
+PREFIX = /usr
+MANPREFIX = ${PREFIX}/man
+X11INC = ${PREFIX}/include/X11
+X11LIB = ${PREFIX}/lib/X11
+INCS = -I. -I${PREFIX}/include -I${X11INC}
+LIBS = -L${PREFIX}/lib -lc -L${X11LIB} -lX11
+CFLAGS = %CFLAGS% ${INCS} -DVERSION=\"${VERSION}\"
+LDFLAGS = ${LIBS}
+CC = cc
+LD = ${CC}
diff --git a/community/swftools/PKGBUILD b/community/swftools/PKGBUILD
new file mode 100644
index 000000000..ffc3ea5cf
--- /dev/null
+++ b/community/swftools/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 91933 2013-05-29 20:22:20Z lcarlier $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Vinay S Shastry <vinayshastry@gmail.com>
+
+pkgname=swftools
+pkgver=0.9.2
+pkgrel=2
+pkgdesc="A collection of SWF manipulation and creation utilities"
+arch=('i686' 'x86_64')
+url="http://www.swftools.org/"
+license=('GPL')
+depends=('giflib' 'freeglut' 'lame' 't1lib' 'libjpeg' 'fontconfig')
+makedepends=('bison' 'flex' 'zlib' 'patch')
+changelog=$pkgname.changelog
+source=(http://www.swftools.org/$pkgname-$pkgver.tar.gz
+ $pkgname-$pkgver.patch)
+sha256sums=('bf6891bfc6bf535a1a99a485478f7896ebacbe3bbf545ba551298080a26f01f1'
+ '80f69c86ed06b315f576a733fd1e24145b88aef9934085f3790179a119b7923d')
+
+prepare() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ sed -i 's#PrintGifError()#fprintf(stderr, "%s\\n", GifErrorString())#g' src/gif2swf.c
+}
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ patch -Np0 -i ${srcdir}/$pkgname-$pkgver.patch
+
+ make prefix=${pkgdir}/usr install
+
+ cd ${pkgdir}/usr/share/$pkgname/swfs
+ rm -f default_loader.swf default_viewer.swf
+ ln -s tessel_loader.swf default_loader.swf
+ ln -s simple_viewer.swf default_viewer.swf
+}
diff --git a/community/swftools/swftools-0.9.2.patch b/community/swftools/swftools-0.9.2.patch
new file mode 100644
index 000000000..2ffcd4115
--- /dev/null
+++ b/community/swftools/swftools-0.9.2.patch
@@ -0,0 +1,11 @@
+--- swfs/Makefile.orig 2012-05-20 18:39:44.000000000 +0200
++++ swfs/Makefile 2012-05-20 19:17:45.246528998 +0200
+@@ -44,4 +44,4 @@
+- rm -f $(pkgdatadir)/swfs/default_viewer.swf -o -L $(pkgdatadir)/swfs/default_viewer.swf
+- $(LN_S) $(pkgdatadir)/swfs/simple_viewer.swf $(pkgdatadir)/swfs/default_viewer.swf
+- rm -f $(pkgdatadir)/swfs/default_loader.swf -o -L $(pkgdatadir)/swfs/default_loader.swf
+- $(LN_S) $(pkgdatadir)/swfs/tessel_loader.swf $(pkgdatadir)/swfs/default_loader.swf
++# rm -f $(pkgdatadir)/swfs/default_viewer.swf -o -L $(pkgdatadir)/swfs/default_viewer.swf
++# $(LN_S) $(pkgdatadir)/swfs/simple_viewer.swf $(pkgdatadir)/swfs/default_viewer.swf
++# rm -f $(pkgdatadir)/swfs/default_loader.swf -o -L $(pkgdatadir)/swfs/default_loader.swf
++# $(LN_S) $(pkgdatadir)/swfs/tessel_loader.swf $(pkgdatadir)/swfs/default_loader.swf
diff --git a/community/swftools/swftools.changelog b/community/swftools/swftools.changelog
new file mode 100644
index 000000000..71fe73ae5
--- /dev/null
+++ b/community/swftools/swftools.changelog
@@ -0,0 +1,8 @@
+2012-05-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * swftools 0.9.2-1
+
+2010-08-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * swftools 0.9.1-1
+
+2009-05-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * swftools 0.9.0-1
diff --git a/community/sxiv/PKGBUILD b/community/sxiv/PKGBUILD
new file mode 100644
index 000000000..c2d564fbd
--- /dev/null
+++ b/community/sxiv/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 92171 2013-06-02 10:38:24Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Bert Muennich <muennich at informatik.hu-berlin.de>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+
+pkgname=sxiv
+pkgver=1.1.1
+pkgrel=1
+pkgdesc='Simple X Image Viewer'
+arch=('i686' 'x86_64')
+license=('GPL2')
+install=sxiv.install
+url='https://github.com/muennich/sxiv'
+depends=('libx11' 'xproto' 'imlib2' 'giflib' 'desktop-file-utils')
+source=(https://github.com/muennich/sxiv/archive/v$pkgver.tar.gz
+ sxiv.desktop
+ config.h)
+sha256sums=('30569b7cb1568a7f60d102f6eb21f25c93de42243a1c8ac3c1a521d58b08281f'
+ 'bd14b9b6bc6d78f18cdff8535b4d1c13b3c76e35091dd6bc675011d42a01bb47'
+ '61515a87692849c942bfc3cce8b4c0f19139b4a1e9b6375a994cc541c64aab5c')
+
+build() {
+ cd sxiv-$pkgver
+ cp "$srcdir"/config.h .
+ make
+}
+
+package() {
+ cd sxiv-$pkgver
+
+ make PREFIX="$pkgdir"/usr install
+ install -D -m644 "$srcdir"/sxiv.desktop \
+ "$pkgdir"/usr/share/applications/sxiv.desktop
+}
diff --git a/community/sxiv/config.h b/community/sxiv/config.h
new file mode 100644
index 000000000..cd89b5fac
--- /dev/null
+++ b/community/sxiv/config.h
@@ -0,0 +1,154 @@
+#ifdef _WINDOW_CONFIG
+
+/* default window dimensions (overwritten via -g option): */
+enum {
+ WIN_WIDTH = 800,
+ WIN_HEIGHT = 600
+};
+
+/* bar font:
+ * (see X(7) section "FONT NAMES" for valid values)
+ */
+static const char * const BAR_FONT = "-*-fixed-medium-r-*-*-13-*-*-*-*-60-*-*";
+
+/* colors:
+ * (see X(7) section "COLOR NAMES" for valid values)
+ */
+static const char * const WIN_BG_COLOR = "#777777";
+static const char * const WIN_FS_COLOR = "#000000";
+static const char * const SEL_COLOR = "#DDDDDD";
+static const char * const BAR_BG_COLOR = "#222222";
+static const char * const BAR_FG_COLOR = "#EEEEEE";
+
+#endif
+#ifdef _IMAGE_CONFIG
+
+/* how should images be scaled when they are loaded?
+ * (also controllable via -d/-s/-Z/-z options)
+ * SCALE_DOWN: 100%, but fit large images into window,
+ * SCALE_FIT: fit all images into window,
+ * SCALE_ZOOM: use current zoom level, 100% at startup
+ */
+static const scalemode_t SCALE_MODE = SCALE_DOWN;
+
+/* levels (in percent) to use when zooming via '-' and '+':
+ * (first/last value is used as min/max zoom level)
+ */
+static const float zoom_levels[] = {
+ 12.5, 25.0, 50.0, 75.0,
+ 100.0, 150.0, 200.0, 400.0, 800.0
+};
+
+/* default settings for multi-frame gif images: */
+enum {
+ GIF_DELAY = 100, /* delay time (in ms) */
+ GIF_AUTOPLAY = 1, /* autoplay when loaded [0/1] */
+ GIF_LOOP = 0 /* endless loop [0/1] */
+};
+
+#endif
+#ifdef _THUMBS_CONFIG
+
+/* default dimension of thumbnails (width == height): */
+enum { THUMB_SIZE = 60 };
+
+#endif
+#ifdef _MAPPINGS_CONFIG
+
+/* keyboard mappings for image and thumbnail mode: */
+static const keymap_t keys[] = {
+ /* ctrl key function argument */
+ { false, XK_q, it_quit, (arg_t) None },
+ { false, XK_Return, it_switch_mode, (arg_t) None },
+ { false, XK_f, it_toggle_fullscreen, (arg_t) None },
+ { false, XK_b, it_toggle_bar, (arg_t) None },
+
+ { false, XK_r, it_reload_image, (arg_t) None },
+ { false, XK_R, t_reload_all, (arg_t) None },
+ { false, XK_D, it_remove_image, (arg_t) None },
+
+ { false, XK_n, i_navigate, (arg_t) +1 },
+ { false, XK_space, i_navigate, (arg_t) +1 },
+ { false, XK_p, i_navigate, (arg_t) -1 },
+ { false, XK_BackSpace, i_navigate, (arg_t) -1 },
+ { false, XK_bracketright, i_navigate, (arg_t) +10 },
+ { false, XK_bracketleft, i_navigate, (arg_t) -10 },
+ { true, XK_6, i_alternate, (arg_t) None },
+ { false, XK_g, it_first, (arg_t) None },
+ { false, XK_G, it_n_or_last, (arg_t) None },
+
+ { true, XK_n, i_navigate_frame, (arg_t) +1 },
+ { true, XK_p, i_navigate_frame, (arg_t) -1 },
+ { true, XK_space, i_toggle_animation, (arg_t) None },
+
+ { false, XK_h, it_scroll_move, (arg_t) DIR_LEFT },
+ { false, XK_Left, it_scroll_move, (arg_t) DIR_LEFT },
+ { false, XK_j, it_scroll_move, (arg_t) DIR_DOWN },
+ { false, XK_Down, it_scroll_move, (arg_t) DIR_DOWN },
+ { false, XK_k, it_scroll_move, (arg_t) DIR_UP },
+ { false, XK_Up, it_scroll_move, (arg_t) DIR_UP },
+ { false, XK_l, it_scroll_move, (arg_t) DIR_RIGHT },
+ { false, XK_Right, it_scroll_move, (arg_t) DIR_RIGHT },
+
+ { true, XK_h, it_scroll_screen, (arg_t) DIR_LEFT },
+ { true, XK_Left, it_scroll_screen, (arg_t) DIR_LEFT },
+ { true, XK_j, it_scroll_screen, (arg_t) DIR_DOWN },
+ { true, XK_Down, it_scroll_screen, (arg_t) DIR_DOWN },
+ { true, XK_k, it_scroll_screen, (arg_t) DIR_UP },
+ { true, XK_Up, it_scroll_screen, (arg_t) DIR_UP },
+ { true, XK_l, it_scroll_screen, (arg_t) DIR_RIGHT },
+ { true, XK_Right, it_scroll_screen, (arg_t) DIR_RIGHT },
+
+ { false, XK_H, i_scroll_to_edge, (arg_t) DIR_LEFT },
+ { false, XK_J, i_scroll_to_edge, (arg_t) DIR_DOWN },
+ { false, XK_K, i_scroll_to_edge, (arg_t) DIR_UP },
+ { false, XK_L, i_scroll_to_edge, (arg_t) DIR_RIGHT },
+
+ { false, XK_plus, i_zoom, (arg_t) +1 },
+ { false, XK_KP_Add, i_zoom, (arg_t) +1 },
+ { false, XK_minus, i_zoom, (arg_t) -1 },
+ { false, XK_KP_Subtract, i_zoom, (arg_t) -1 },
+ { false, XK_equal, i_set_zoom, (arg_t) 100 },
+ { false, XK_w, i_fit_to_win, (arg_t) SCALE_FIT },
+ { false, XK_e, i_fit_to_win, (arg_t) SCALE_WIDTH },
+ { false, XK_E, i_fit_to_win, (arg_t) SCALE_HEIGHT },
+ { false, XK_W, i_fit_to_img, (arg_t) None },
+
+ { false, XK_less, i_rotate, (arg_t) DIR_LEFT },
+ { false, XK_greater, i_rotate, (arg_t) DIR_RIGHT },
+
+ { false, XK_backslash, i_flip, (arg_t) FLIP_HORIZONTAL },
+ { false, XK_bar, i_flip, (arg_t) FLIP_VERTICAL },
+
+ { false, XK_a, i_toggle_antialias, (arg_t) None },
+ { false, XK_A, it_toggle_alpha, (arg_t) None },
+
+ /* open current image with given program: */
+ { true, XK_g, it_open_with, (arg_t) "gimp" },
+
+ /* run shell command line on current file ("$SXIV_IMG"): */
+ { true, XK_less, it_shell_cmd, (arg_t) \
+ "mogrify -rotate -90 \"$SXIV_IMG\"" },
+ { true, XK_greater, it_shell_cmd, (arg_t) \
+ "mogrify -rotate +90 \"$SXIV_IMG\"" },
+ { true, XK_comma, it_shell_cmd, (arg_t) \
+ "jpegtran -rotate 270 -copy all -outfile \"$SXIV_IMG\" \"$SXIV_IMG\"" },
+ { true, XK_period, it_shell_cmd, (arg_t) \
+ "jpegtran -rotate 90 -copy all -outfile \"$SXIV_IMG\" \"$SXIV_IMG\"" },
+};
+
+/* mouse button mappings for image mode: */
+static const button_t buttons[] = {
+ /* ctrl shift button function argument */
+ { false, false, Button1, i_navigate, (arg_t) +1 },
+ { false, false, Button3, i_navigate, (arg_t) -1 },
+ { false, false, Button2, i_drag, (arg_t) None },
+ { false, false, Button4, it_scroll_move, (arg_t) DIR_UP },
+ { false, false, Button5, it_scroll_move, (arg_t) DIR_DOWN },
+ { false, true, Button4, it_scroll_move, (arg_t) DIR_LEFT },
+ { false, true, Button5, it_scroll_move, (arg_t) DIR_RIGHT },
+ { true, false, Button4, i_zoom, (arg_t) +1 },
+ { true, false, Button5, i_zoom, (arg_t) -1 },
+};
+
+#endif
diff --git a/community/sxiv/sxiv.desktop b/community/sxiv/sxiv.desktop
new file mode 100644
index 000000000..a981171c5
--- /dev/null
+++ b/community/sxiv/sxiv.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=sxiv
+GenericName=Image Viewer
+Exec=sxiv %F
+MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/png;image/tiff;image/x-bmp;
+NoDisplay=true
diff --git a/community/sxiv/sxiv.install b/community/sxiv/sxiv.install
new file mode 100644
index 000000000..1e3ec7774
--- /dev/null
+++ b/community/sxiv/sxiv.install
@@ -0,0 +1,12 @@
+post_install () {
+ update-desktop-database -q
+
+ echo "* Edit config.h in sxiv's PKGBUILD directory (generally /var/abs/community/sxiv/)"
+ echo " and rebuild package if you want to change settings."
+ echo "* Create the directory ~/.sxiv/cache to enable thumbnail caching."
+ echo " See sxiv(1) for more information."
+}
+
+post_upgrade () {
+ update-desktop-database -q
+}
diff --git a/community/sylpheed/PKGBUILD b/community/sylpheed/PKGBUILD
new file mode 100644
index 000000000..31b2dd46d
--- /dev/null
+++ b/community/sylpheed/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 79631 2012-11-09 11:59:26Z speps $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=sylpheed
+pkgver=3.3.0
+pkgrel=1
+pkgdesc="Lightweight and user-friendly e-mail client"
+arch=('i686' 'x86_64')
+url="http://sylpheed.sraoss.jp/en/"
+license=('GPL')
+depends=('gpgme' 'gtkspell' 'desktop-file-utils')
+makedepends=('compface' 'openssl')
+options=('!libtool')
+install="$pkgname.install"
+source=("http://sylpheed.sraoss.jp/$pkgname/v3.3/$pkgname-$pkgver.tar.bz2")
+md5sums=('20442f81dbb4e7c59462360ad0bb1afb')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr \
+ --enable-ldap
+ make
+
+ # Build Attachment-Tool Plug-in
+ cd plugin/attachment_tool && make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+
+ # Install Attachment-Tool Plug-in
+ cd plugin/attachment_tool
+ make DESTDIR="$pkgdir/" install-plugin
+}
diff --git a/community/sylpheed/sylpheed.install b/community/sylpheed/sylpheed.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/community/sylpheed/sylpheed.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/synapse/PKGBUILD b/community/synapse/PKGBUILD
new file mode 100644
index 000000000..c6a3accf1
--- /dev/null
+++ b/community/synapse/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 88681 2013-04-21 22:16:50Z heftig $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Alessio Sergi <asergi at archlinux dot us>
+
+pkgname=synapse
+pkgver=0.2.10
+pkgrel=5
+pkgdesc="A semantic file launcher"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/synapse-project"
+license=('GPL3')
+depends=('gtkhotkey' 'hicolor-icon-theme' 'json-glib' 'libgee06' 'libnotify' \
+ 'libunique' 'libzeitgeist' 'rest' 'xdg-utils')
+makedepends=('intltool' 'vala')
+optdepends=('banshee: banshee plugin'
+ 'bc: calculator plugin'
+ 'devhelp: documentation plugin'
+ 'gnome-screensaver: screensaver plugin'
+ 'gnome-dictionary: dictionary plugin'
+ 'openssh: ssh plugin'
+ 'pastebinit: pastebin plugin'
+ 'rhythmbox: rhythmbox plugin'
+ 'xnoise: xnoise plugin')
+install=$pkgname.install
+source=("https://launchpad.net/$pkgname-project/0.2/$pkgver/+download/$pkgname-$pkgver.tar.gz"
+ "fix-check-desktop.patch"
+ "check-null-exec.patch")
+sha1sums=('6e8a800bdbdded4e167734c8e49d95a9e44998ff'
+ 'b64fa4efc4efd01f77f84d19a7a63c10186d0211'
+ 'f494e5b36a77421114ce04b7085369abe5c00d68')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # XDG_CURRENT_DESKTOP fix
+ patch -Np1 -i "$srcdir"/fix-check-desktop.patch
+
+ # don't crash on empty Exec field
+ patch -Np1 -i "$srcdir"/check-null-exec.patch
+
+ # DSO fix
+ export LDFLAGS="$LDFLAGS -lm"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/synapse/check-null-exec.patch b/community/synapse/check-null-exec.patch
new file mode 100644
index 000000000..77820ecbb
--- /dev/null
+++ b/community/synapse/check-null-exec.patch
@@ -0,0 +1,16 @@
+diff -Naur synapse-0.2.10.orig/src/core/desktop-file-service.vala synapse-0.2.10/src/core/desktop-file-service.vala
+--- synapse-0.2.10.orig/src/core/desktop-file-service.vala 2012-03-18 20:02:41.000000000 +0100
++++ synapse-0.2.10/src/core/desktop-file-service.vala 2012-12-26 18:07:55.962276823 +0100
+@@ -125,7 +125,11 @@
+ }
+
+ name = app_info.get_name ();
+- exec = app_info.get_executable ();
++ exec = app_info.get_commandline ();
++ if (exec == null)
++ {
++ throw new DesktopFileError.UNINTERESTING_ENTRY ("Unable to get exec for %s".printf (name));
++ }
+
+ // check for hidden desktop files
+ if (keyfile.has_key (GROUP, "Hidden") &&
diff --git a/community/synapse/fix-check-desktop.patch b/community/synapse/fix-check-desktop.patch
new file mode 100644
index 000000000..16e039b48
--- /dev/null
+++ b/community/synapse/fix-check-desktop.patch
@@ -0,0 +1,30 @@
+diff -Naur synapse-0.2.10.orig/src/core/desktop-file-service.vala synapse-0.2.10/src/core/desktop-file-service.vala
+--- synapse-0.2.10.orig/src/core/desktop-file-service.vala 2012-03-18 20:02:41.000000000 +0100
++++ synapse-0.2.10/src/core/desktop-file-service.vala 2012-03-19 12:06:43.080443401 +0100
+@@ -248,13 +248,23 @@
+
+ private void get_environment_type ()
+ {
+- unowned string? session_var = Environment.get_variable ("DESKTOP_SESSION");
+-
++ unowned string? session_var;
++ session_var = Environment.get_variable ("XDG_CURRENT_DESKTOP");
++ if (session_var == null)
++ {
++ session_var = Environment.get_variable ("DESKTOP_SESSION");
++ }
++
+ if (session_var == null) return;
+
+ string session = session_var.down ();
+
+- if (session.has_prefix ("kde"))
++ if (session.has_prefix ("unity"))
++ {
++ session_type = DesktopFileInfo.EnvironmentType.UNITY;
++ session_type_str = "Unity";
++ }
++ else if (session.has_prefix ("kde"))
+ {
+ session_type = DesktopFileInfo.EnvironmentType.KDE;
+ session_type_str = "KDE";
diff --git a/community/synapse/synapse.install b/community/synapse/synapse.install
new file mode 100644
index 000000000..704cb339e
--- /dev/null
+++ b/community/synapse/synapse.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
+}
+
+post_upgrade() {
+ post_install "$1"
+}
+
+post_remove() {
+ post_install "$1"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/synce-libmimedir/PKGBUILD b/community/synce-libmimedir/PKGBUILD
new file mode 100644
index 000000000..0185eb7f5
--- /dev/null
+++ b/community/synce-libmimedir/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65473 2012-02-21 05:58:56Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=synce-libmimedir
+pkgver=0.4
+pkgrel=4
+pkgdesc="provide a means of communication with a Windows CE device - library that parses MIME Directory Profile."
+arch=('i686' 'x86_64')
+url="http://synce.sourceforge.net/"
+license=('GPL')
+source=(http://downloads.sourceforge.net/sourceforge/synce/libmimedir-$pkgver.tar.gz)
+md5sums=('156e1eb69377d9ae9180a09e38148ec6')
+
+build() {
+ cd $srcdir/libmimedir-$pkgver
+ if [ "$CARCH" = "x86_64" ]; then
+ sed -i -e 's|Wall|Wall -fPIC -DPIC|g' Makefile.in
+ ./configure --prefix=/usr --disable-shared --with-pic
+ else ./configure --prefix=/usr --disable-shared
+ fi
+ make
+ mkdir -p $pkgdir/usr/{include,lib}
+ make prefix=$pkgdir/usr install
+}
diff --git a/community/synce-librapi/PKGBUILD b/community/synce-librapi/PKGBUILD
new file mode 100644
index 000000000..9c28b5439
--- /dev/null
+++ b/community/synce-librapi/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65489 2012-02-21 06:06:56Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=synce-librapi
+pkgver=0.15.2
+pkgrel=3
+pkgdesc="provide a means of communication with a Windows CE device - libraries and tools for making remote calls to pocket pc"
+arch=('i686' 'x86_64')
+url="http://synce.sourceforge.net/"
+license=('GPL')
+depends=('synce-libsynce')
+makedepends=('pyrex')
+source=(http://downloads.sourceforge.net/sourceforge/synce/librapi2-$pkgver.tar.gz)
+md5sums=('0a15bc22ee02794ca4714799611b4746')
+
+build() {
+ cd $srcdir/librapi2-$pkgver
+ export PYTHON=/usr/bin/python2
+ LDFLAGS=-lsynce ./configure --prefix=/usr --enable-udev-support --disable-hal-support
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/synce-libsynce/PKGBUILD b/community/synce-libsynce/PKGBUILD
new file mode 100644
index 000000000..5cd330c7e
--- /dev/null
+++ b/community/synce-libsynce/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 65475 2012-02-21 05:59:42Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=synce-libsynce
+pkgver=0.15.1
+pkgrel=3
+pkgdesc="provide a means of communication with a Windows CE device - libraries"
+arch=('i686' 'x86_64')
+url="http://synce.sourceforge.net/"
+license=('GPL')
+depends=('dbus-glib')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/synce/libsynce-$pkgver.tar.gz)
+md5sums=('eaddc88c5f0027e89c6f0fffec34def2')
+
+build() {
+ cd $srcdir/libsynce-$pkgver
+ ./configure --prefix=/usr --enable-odccm-support --enable-udev-support --disable-hal-support
+ make
+}
+
+package() {
+ cd $srcdir/libsynce-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/synce-rra/PKGBUILD b/community/synce-rra/PKGBUILD
new file mode 100644
index 000000000..4b450b8a1
--- /dev/null
+++ b/community/synce-rra/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 65479 2012-02-21 06:00:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=synce-rra
+pkgver=0.14
+pkgrel=5
+pkgdesc="provide a means of communication with a Windows CE device - rra libraries for synce"
+arch=('i686' 'x86_64')
+url="http://synce.sourceforge.net/"
+license=('GPL')
+depends=('glibc' 'synce-librapi' 'synce-libmimedir')
+makedepends=('python2' 'pyrex')
+source=(http://downloads.sourceforge.net/synce/librra-$pkgver.tar.gz)
+md5sums=('3a608174a3a476c96dd4dd4929448fe8')
+
+build() {
+ cd $srcdir/librra-$pkgver
+ ./configure --prefix=/usr
+ sed -i s/-Werror// lib/Makefile src/Makefile
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/synce-serial/PKGBUILD b/community/synce-serial/PKGBUILD
new file mode 100644
index 000000000..f89a77018
--- /dev/null
+++ b/community/synce-serial/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91842 2013-05-28 17:05:51Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=synce-serial
+pkgver=0.11
+pkgrel=5
+pkgdesc="provide a means of communication with a Windows CE device - helper scripts for setting up a serial connection"
+arch=('i686' 'x86_64')
+url="http://synce.sourceforge.net/"
+depends=(sh)
+license=('GPL')
+source=(http://downloads.sourceforge.net/synce/$pkgname-$pkgver.tar.gz)
+md5sums=('a83f20eb59c845de192645158d051062')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --libexecdir=/usr/lib/$pkgname --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ sed -i 's#/usr/etc/#/etc/#' $pkgdir/usr/share/synce/synce-serial-common
+ sed -i 's#/usr/etc/#/etc/#' $pkgdir/usr/share/synce/synce-serial.conf
+}
diff --git a/community/synce-vdccm/PKGBUILD b/community/synce-vdccm/PKGBUILD
new file mode 100644
index 000000000..32ba0d9c4
--- /dev/null
+++ b/community/synce-vdccm/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 65485 2012-02-21 06:02:47Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zhukov Pavel <gelios@gmail.com>
+
+pkgname=synce-vdccm
+pkgver=0.10.1
+pkgrel=4
+pkgdesc="provide a means of communication with a Windows CE device - daemon to communicate with a handheld device"
+arch=('i686' 'x86_64')
+url="http://synce.sourceforge.net/"
+license=('GPL')
+depends=('synce-libsynce')
+source=(http://downloads.sourceforge.net/synce/vdccm-$pkgver.tar.gz
+ build-fix.patch)
+md5sums=('43bca4c2fdb658f99b07549fa03832e0'
+ 'b90e1f8b46e70cd7f8f66f7ef041f3ac')
+
+build() {
+ cd $srcdir/vdccm-$pkgver
+ patch -p1 <$srcdir/build-fix.patch
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/synce-vdccm/build-fix.patch b/community/synce-vdccm/build-fix.patch
new file mode 100644
index 000000000..f3bd32cff
--- /dev/null
+++ b/community/synce-vdccm/build-fix.patch
@@ -0,0 +1,123 @@
+diff -wbBur vdccm-0.10.1/lib/continousnode.cpp vdccm-0.10.1.my/lib/continousnode.cpp
+--- vdccm-0.10.1/lib/continousnode.cpp 2006-03-28 02:40:15.000000000 +0400
++++ vdccm-0.10.1.my/lib/continousnode.cpp 2011-08-03 14:05:21.000000000 +0400
+@@ -1,3 +1,4 @@
++#include <stdio.h>
+ /***************************************************************************
+ * Copyright (c) 2003 Volker Christian <voc@users.sourceforge.net> *
+ * *
+diff -wbBur vdccm-0.10.1/lib/localclientsocket.cpp vdccm-0.10.1.my/lib/localclientsocket.cpp
+--- vdccm-0.10.1/lib/localclientsocket.cpp 2006-03-22 22:59:14.000000000 +0300
++++ vdccm-0.10.1.my/lib/localclientsocket.cpp 2011-08-03 14:09:42.000000000 +0400
+@@ -68,6 +68,7 @@
+ raddr.sun_family = AF_LOCAL;
+ strncpy(raddr.sun_path, path.c_str(), sizeof(raddr.sun_path));
+
++#define offsetof(type, member) __builtin_offsetof (type, member)
+ size_t size = (offsetof (struct sockaddr_un, sun_path) + strlen(raddr.sun_path) + 1);
+
+ if (::connect(fd, (struct sockaddr *) &raddr, size) < 0) {
+diff -wbBur vdccm-0.10.1/lib/localsocket.cpp vdccm-0.10.1.my/lib/localsocket.cpp
+--- vdccm-0.10.1/lib/localsocket.cpp 2006-03-28 02:40:15.000000000 +0400
++++ vdccm-0.10.1.my/lib/localsocket.cpp 2011-08-03 14:09:16.000000000 +0400
+@@ -78,6 +78,7 @@
+ localAddress.sun_family = AF_LOCAL;
+ strncpy(localAddress.sun_path, path.c_str(), sizeof(localAddress.sun_path));
+
++#define offsetof(type, member) __builtin_offsetof (type, member)
+ size_t size = (offsetof (struct sockaddr_un, sun_path) + strlen(localAddress.sun_path) + 1);
+
+ if (::bind(getDescriptor(), (struct sockaddr *) &localAddress, size) < 0) {
+diff -wbBur vdccm-0.10.1/lib/tcpclientsocket.cpp vdccm-0.10.1.my/lib/tcpclientsocket.cpp
+--- vdccm-0.10.1/lib/tcpclientsocket.cpp 2006-03-22 22:59:14.000000000 +0300
++++ vdccm-0.10.1.my/lib/tcpclientsocket.cpp 2011-08-03 14:05:21.000000000 +0400
+@@ -1,3 +1,4 @@
++#include <string.h>
+ /***************************************************************************
+ * Copyright (c) 2003 Volker Christian <voc@users.sourceforge.net> *
+ * *
+diff -wbBur vdccm-0.10.1/lib/tcpconnectedsocket.cpp vdccm-0.10.1.my/lib/tcpconnectedsocket.cpp
+--- vdccm-0.10.1/lib/tcpconnectedsocket.cpp 2006-06-29 23:01:48.000000000 +0400
++++ vdccm-0.10.1.my/lib/tcpconnectedsocket.cpp 2011-08-03 14:05:21.000000000 +0400
+@@ -1,3 +1,4 @@
++#include <string.h>
+ /***************************************************************************
+ * Copyright (c) 2003 Volker Christian <voc@users.sourceforge.net> *
+ * *
+diff -wbBur vdccm-0.10.1/lib/tcpsocket.cpp vdccm-0.10.1.my/lib/tcpsocket.cpp
+--- vdccm-0.10.1/lib/tcpsocket.cpp 2006-06-29 23:01:48.000000000 +0400
++++ vdccm-0.10.1.my/lib/tcpsocket.cpp 2011-08-03 14:05:21.000000000 +0400
+@@ -1,3 +1,4 @@
++#include <string.h>
+ /***************************************************************************
+ * Copyright (c) 2003 Volker Christian <voc@users.sourceforge.net> *
+ * *
+diff -wbBur vdccm-0.10.1/lib/udpsocket.cpp vdccm-0.10.1.my/lib/udpsocket.cpp
+--- vdccm-0.10.1/lib/udpsocket.cpp 2006-05-07 19:49:36.000000000 +0400
++++ vdccm-0.10.1.my/lib/udpsocket.cpp 2011-08-03 14:05:21.000000000 +0400
+@@ -1,3 +1,4 @@
++#include <string.h>
+ //
+ // C++ Implementation: udpsocket
+ //
+diff -wbBur vdccm-0.10.1/lib/udpsocket.h vdccm-0.10.1.my/lib/udpsocket.h
+--- vdccm-0.10.1/lib/udpsocket.h 2006-05-06 17:07:32.000000000 +0400
++++ vdccm-0.10.1.my/lib/udpsocket.h 2011-08-03 14:05:21.000000000 +0400
+@@ -1,3 +1,4 @@
++#include <stdint.h>
+ //
+ // C++ Interface: udpsocket
+ //
+diff -wbBur vdccm-0.10.1/Makefile.in vdccm-0.10.1.my/Makefile.in
+--- vdccm-0.10.1/Makefile.in 2007-12-19 22:59:02.000000000 +0300
++++ vdccm-0.10.1.my/Makefile.in 2011-08-03 14:05:21.000000000 +0400
+@@ -186,9 +186,9 @@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ SUBDIRS = lib src tools
+-AM_CFLAGS = -O2 -Werror -pedantic-errors -Wall
+-AM_CXXFLAGS = -O2 -Werror -pedantic-errors -Wall
+-AM_FFLAGS = -O2 -Werror -pedantic-errors -Wall
++AM_CFLAGS = -O2 -Werror -Wall
++AM_CXXFLAGS = -O2 -Werror -Wall
++AM_FFLAGS = -O2 -Werror -Wall
+ all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+diff -wbBur vdccm-0.10.1/src/Makefile.in vdccm-0.10.1.my/src/Makefile.in
+--- vdccm-0.10.1/src/Makefile.in 2007-12-19 22:59:01.000000000 +0300
++++ vdccm-0.10.1.my/src/Makefile.in 2011-08-03 14:05:21.000000000 +0400
+@@ -250,7 +250,7 @@
+ rapiproxy.cpp rapiproxyfactory.cpp rapiproxyconnection.cpp \
+ $(am__append_3)
+ AM_CFLAGS = -Wall
+-AM_CXXFLAGS = -pedantic-errors -Wall
++AM_CXXFLAGS = -Wall
+ man_MANS = vdccm.1
+ EXTRA_DIST = $(man_MANS)
+ all: $(BUILT_SOURCES)
+diff -wbBur vdccm-0.10.1/src/rapiclient.cpp vdccm-0.10.1.my/src/rapiclient.cpp
+--- vdccm-0.10.1/src/rapiclient.cpp 2006-05-06 17:07:32.000000000 +0400
++++ vdccm-0.10.1.my/src/rapiclient.cpp 2011-08-03 14:05:21.000000000 +0400
+@@ -1,3 +1,4 @@
++#include <string.h>
+ //
+ // C++ Implementation: rapiclient
+ //
+diff -wbBur vdccm-0.10.1/src/rapiclient.h vdccm-0.10.1.my/src/rapiclient.h
+--- vdccm-0.10.1/src/rapiclient.h 2006-05-06 17:07:32.000000000 +0400
++++ vdccm-0.10.1.my/src/rapiclient.h 2011-08-03 14:05:21.000000000 +0400
+@@ -1,3 +1,5 @@
++#include <limits.h>
++#include <stdint.h>
+ //
+ // C++ Interface: rapiclient
+ //
+diff -wbBur vdccm-0.10.1/src/rapiconnection.cpp vdccm-0.10.1.my/src/rapiconnection.cpp
+--- vdccm-0.10.1/src/rapiconnection.cpp 2007-05-10 22:27:03.000000000 +0400
++++ vdccm-0.10.1.my/src/rapiconnection.cpp 2011-08-03 14:05:21.000000000 +0400
+@@ -1,3 +1,4 @@
++#include <stdio.h>
+ //
+ // C++ Implementation: rapiconnection
+ //
diff --git a/community/synergy/PKGBUILD b/community/synergy/PKGBUILD
new file mode 100644
index 000000000..c87811366
--- /dev/null
+++ b/community/synergy/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Jelle van der Waa <jelle vdwaa nl>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Dale Blount <dale@archlinux.org>
+# Contributor: Michael Düll <mail@akurei.me>
+
+pkgname=synergy
+pkgver=1.4.12
+pkgrel=1
+pkgdesc="Share a single mouse and keyboard between multiple computers"
+url="http://synergy-foss.org"
+arch=('i686' 'x86_64')
+depends=('gcc-libs' 'libxtst' 'libxinerama' 'crypto++')
+makedepends=('libxt' 'cmake' 'qt4' 'unzip')
+optdepends=('qt4: gui support')
+license=('GPL2')
+source=("http://synergy.googlecode.com/files/$pkgname-$pkgver-Source.tar.gz"
+ "synergys.socket"
+ "synergys.service"
+ "synergy.png"
+ "synergy.desktop")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}-Source"
+
+ # Unzip the crypto library
+ unzip -d tools/cryptopp562 tools/cryptopp562.zip
+
+ cmake -D CMAKE_INSTALL_PREFIX=/usr .
+ make
+
+ cd src/gui
+ qmake-qt4
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}-Source/bin"
+
+ # install binary
+ install -Dm755 synergy "$pkgdir/usr/bin/synergy"
+ install -Dm755 synergyc "$pkgdir/usr/bin/synergyc"
+ install -Dm755 synergys "$pkgdir/usr/bin/synergys"
+
+ # install config
+ install -Dm644 "$srcdir/$pkgname-$pkgver-Source/doc/${pkgname}.conf.example" "${pkgdir}/etc/${pkgname}.conf.example"
+
+ # install systemd service and socket
+ install -d "$pkgdir/usr/lib/systemd/system"
+ install -Dm644 "$srcdir/synergys.service" "$pkgdir/usr/lib/systemd/system/"
+ install -Dm644 "$srcdir/synergys.socket" "$pkgdir/usr/lib/systemd/system/"
+
+ # install desktop/icon stuff
+ install -Dm644 "$srcdir/synergy.png" "$pkgdir/usr/share/pixmaps/synergy.png"
+ install -Dm644 "$srcdir/synergy.desktop" "$pkgdir/usr/share/applications/synergy.desktop"
+}
+
+sha512sums=('5305e03d871e5408640ece55364067418f9b8b160dda31f994ebafe807b31291bdaa688a901f2e81710acb0857952c37f0c1823a50c927573feaec0c8659be9d'
+ 'f7d918faf4a25654786f270fc48b6e4089ecd1b2f504bb90de543b47a862733f7be067e06fd613d621bba48d20dc63214966e2cfbd2cb3fcbfe623d6d41f10ad'
+ 'a10dfe5b24ac6f4a2ef3a3a9f8a6a3c432b91d5e59d1fae2258d37c5be00ac8f172656fa0d213012c7dc94ab8c04c3945ae33acfcd5db5fad8b37ccc9f5e980f'
+ 'cb3db9593c943bce11ce5ae962e120feb70e6afa9206887a6971c77491711afcebc78653e7413e87e33d031c43a507f4a9a6e8747d10b60c6642106ae1690f18'
+ 'c1c76ecfbed5c22f1a2a7562dce20971a784ff6b0edbf5c9b5f7c796f9ead882b82f970bb24f35533b928c341f87f66b0b10d9d96e122d14d74102cac8997445')
diff --git a/community/synergy/synergy.desktop b/community/synergy/synergy.desktop
new file mode 100644
index 000000000..e7bf87b9e
--- /dev/null
+++ b/community/synergy/synergy.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Synergy
+Comment=The Synergy GUI is based on QSynergy by Volker Lanz.
+Exec=synergy
+Icon=synergy
+Terminal=false
+Type=Application
+Categories=Utility;DesktopUtility;Qt
diff --git a/community/synergy/synergy.png b/community/synergy/synergy.png
new file mode 100644
index 000000000..5534f0fdf
--- /dev/null
+++ b/community/synergy/synergy.png
Binary files differ
diff --git a/community/synergy/synergys.service b/community/synergy/synergys.service
new file mode 100644
index 000000000..56c1ac061
--- /dev/null
+++ b/community/synergy/synergys.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Synergy Server Daemon
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/synergys --config /etc/synergy.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/synergy/synergys.socket b/community/synergy/synergys.socket
new file mode 100644
index 000000000..dda1537ca
--- /dev/null
+++ b/community/synergy/synergys.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=synergys.service
+
+[Socket]
+ListenStream=24800
+Accept=false
+
+[Install]
+WantedBy=sockets.target
diff --git a/community/synfig/PKGBUILD b/community/synfig/PKGBUILD
new file mode 100644
index 000000000..3aae43211
--- /dev/null
+++ b/community/synfig/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 94053 2013-07-13 12:37:47Z svenstaro $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Franco Iacomella <yaco@gnu.org>
+
+pkgname=synfig
+pkgver=0.64.0
+pkgrel=4
+pkgdesc="Professional vector animation program (CLI renderer only)"
+arch=(i686 x86_64)
+url="http://synfig.org"
+license=('GPL2')
+depends=('libxml++' 'libsigc++2.0' 'etl' 'imagemagick' 'ffmpeg-compat' 'fontconfig' 'libpng'
+ 'libtiff' 'libdv' 'libmng' 'cairo' 'pango' 'boost-libs')
+makedepends=('boost')
+optdepends=('openexr' 'libsigc++')
+conflicts=('synfig-core')
+replaces=('synfig-core')
+options=(!libtool)
+source=(http://downloads.sourceforge.net/project/synfig/synfig/$pkgver/synfig-$pkgver.tar.gz
+ build-fix.patch
+ ffmpeg-0.8.patch
+ ffmpeg-loop.patch)
+md5sums=('124cb4059b9f48dc5c37204660053d6f'
+ 'b5568b06fae1a7ee465b5380b1139b83'
+ 'ebf41046097cfd778dee9a9854561dae'
+ 'c6684c876c093f5e53d2c46592994e9b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
+ LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,/usr/lib/ffmpeg-compat"
+ CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS"
+ CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS"
+ [ -f configure ] || { libtoolize --ltdl --copy --force && autoreconf --install --force; }
+ [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --with-libavcodec --with-libdv
+ patch -p1 -i $srcdir/build-fix.patch
+ patch -Np1 -i $srcdir/ffmpeg-0.8.patch
+ patch -Np1 -i $srcdir/ffmpeg-loop.patch
+ sed -i '1,1i#include <string.h>' src/modules/mod_png/trgt_png.cpp
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/synfig/build-fix.patch b/community/synfig/build-fix.patch
new file mode 100644
index 000000000..be45fdc68
--- /dev/null
+++ b/community/synfig/build-fix.patch
@@ -0,0 +1,31 @@
+diff -wbBur synfig-core/src/modules/mod_libavcodec/trgt_av.cpp synfig-core.my/src/modules/mod_libavcodec/trgt_av.cpp
+--- synfig-core/src/modules/mod_libavcodec/trgt_av.cpp 2011-06-05 13:04:07.000000000 +0400
++++ synfig-core.my/src/modules/mod_libavcodec/trgt_av.cpp 2011-06-14 14:32:49.000000000 +0400
+@@ -31,6 +31,10 @@
+ # include <config.h>
+ #endif
+
++#include <libavcodec/avcodec.h>
++#include <libavformat/avformat.h>
++#include <libswscale/swscale.h>
++
+ #include "trgt_av.h"
+
+ extern "C"
+@@ -116,14 +120,14 @@
+ picture = avcodec_alloc_frame();
+ if (!picture)
+ return NULL;
+- size = avpicture_get_size(pix_fmt, width, height);
++ size = avpicture_get_size((enum ::PixelFormat)pix_fmt, width, height);
+ picture_buf = (uint8_t *)malloc(size);
+ if (!picture_buf) {
+ av_free(picture);
+ return NULL;
+ }
+ avpicture_fill((AVPicture *)picture, picture_buf,
+- pix_fmt, width, height);
++ (enum ::PixelFormat)pix_fmt, width, height);
+ return picture;
+ }
+
diff --git a/community/synfig/ffmpeg-0.8.patch b/community/synfig/ffmpeg-0.8.patch
new file mode 100644
index 000000000..4ba40fff2
--- /dev/null
+++ b/community/synfig/ffmpeg-0.8.patch
@@ -0,0 +1,60 @@
+diff -aur synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp
+--- synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp 2011-09-29 10:51:41.000000000 +0200
++++ synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp 2011-10-31 16:39:03.000000000 +0100
+@@ -441,7 +441,7 @@
+ if( context->coded_frame )
+ pkt.pts = context->coded_frame->pts;
+ if( context->coded_frame && context->coded_frame->key_frame)
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+
+ //kluge for raw picture format (they said they'd fix)
+ if (formatc->oformat->flags & AVFMT_RAWPICTURE)
+@@ -463,7 +463,7 @@
+ if( context->coded_frame )
+ pkt.pts = context->coded_frame->pts;
+ if( context->coded_frame && context->coded_frame->key_frame)
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+
+ ret = av_write_frame(formatc, &pkt);
+
+@@ -567,17 +567,17 @@
+ if (typestring)
+ {
+ //formatptr guess_format(type, filename, MIME type)
+- format = guess_format(typestring,NULL,NULL);
++ format = av_guess_format(typestring,NULL,NULL);
+ }
+ else
+ {
+- format = guess_format(NULL, filename, NULL);
++ format = av_guess_format(NULL, filename, NULL);
+ }
+
+ if(!format)
+ {
+ synfig::warning("Unable to Guess the output, defaulting to mpeg");
+- format = guess_format("mpeg", NULL, NULL);
++ format = av_guess_format("mpeg", NULL, NULL);
+ }
+
+ if(!format)
+@@ -753,7 +753,7 @@
+
+ context = st->codec;
+ context->codec_id = (CodecID)codec_id;
+- context->codec_type = CODEC_TYPE_VIDEO;
++ context->codec_type = AVMEDIA_TYPE_VIDEO;
+
+ //PARAMETERS MUST BE PASSED IN SOMEHOW (ANOTHER FUNCTION PARAMETER???)
+
+@@ -800,7 +800,7 @@
+
+ context = stream->codec;
+ context->codec_id = (CodecID)codec_id;
+- context->codec_type = CODEC_TYPE_AUDIO;
++ context->codec_type = AVMEDIA_TYPE_AUDIO;
+
+ /* put sample parameters */
+ context->bit_rate = 64000;
diff --git a/community/synfig/ffmpeg-loop.patch b/community/synfig/ffmpeg-loop.patch
new file mode 100644
index 000000000..ce271363b
--- /dev/null
+++ b/community/synfig/ffmpeg-loop.patch
@@ -0,0 +1,56 @@
+--- synfig-0.63.05/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp 2013-02-27 13:51:18.638547204 -0300
++++ synfig-0.63.05.new/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp 2013-02-27 13:51:09.905261183 -0300
+@@ -172,7 +172,7 @@
+
+ if( filename.c_str()[0] == '-' )
+ command = strprintf("ffmpeg -f image2pipe -vcodec ppm -an"
+- " -r %f -i pipe: -loop_input"
++ " -r %f -i pipe: -loop 1"
+ " -metadata title=\"%s\" "
+ " -vcodec %s -b %ik"
+ " -y -- \"%s\"\n",
+@@ -182,7 +182,7 @@
+ filename.c_str());
+ else
+ command = strprintf("ffmpeg -f image2pipe -vcodec ppm -an"
+- " -r %f -i pipe: -loop_input"
++ " -r %f -i pipe: -loop 1"
+ " -metadata title=\"%s\" "
+ "-vcodec %s -b %ik"
+ " -y -- \"%s\"\n",
+@@ -227,7 +227,7 @@
+ execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec",
+ "ppm", "-an", "-r",
+ strprintf("%f", desc.get_frame_rate()).c_str(),
+- "-i", "pipe:", "-loop_input", "-metadata",
++ "-i", "pipe:", "-loop", "1", "-metadata",
+ strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(),
+ "-vcodec", video_codec.c_str(),
+ "-b", strprintf("%ik", bitrate).c_str(),
+@@ -237,7 +237,7 @@
+ execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec",
+ "ppm", "-an", "-r",
+ strprintf("%f", desc.get_frame_rate()).c_str(),
+- "-i", "pipe:", "-loop_input", "-metadata",
++ "-i", "pipe:", "-loop", "1", "-metadata",
+ strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(),
+ "-vcodec", video_codec.c_str(),
+ "-b", strprintf("%ik", bitrate).c_str(),
+@@ -249,7 +249,7 @@
+ execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec",
+ "ppm", "-an", "-r",
+ strprintf("%f", desc.get_frame_rate()).c_str(),
+- "-i", "pipe:", "-loop_input",
++ "-i", "pipe:", "-loop", "1",
+ "-metadata",
+ strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(),
+ "-vcodec", video_codec.c_str(),
+@@ -260,7 +260,7 @@
+ execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec",
+ "ppm", "-an", "-r",
+ strprintf("%f", desc.get_frame_rate()).c_str(),
+- "-i", "pipe:", "-loop_input",
++ "-i", "pipe:", "-loop", "1",
+ "-metadata",
+ strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(),
+ "-vcodec", video_codec.c_str(),
diff --git a/community/synfigstudio/PKGBUILD b/community/synfigstudio/PKGBUILD
new file mode 100644
index 000000000..cb4996bee
--- /dev/null
+++ b/community/synfigstudio/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 90608 2013-05-13 10:38:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Franco Iacomella <yaco@gnu.org>
+
+pkgname=synfigstudio
+pkgver=0.64.0
+pkgrel=1
+pkgdesc="Professional vector animation program (GUI)"
+arch=(i686 x86_64)
+url="http://synfig.org"
+license=('GPL2')
+depends=('gtkmm' 'synfig')
+makedepends=('openexr' 'imagemagick' 'xorg-fonts-100dpi' 'xorg-fonts-75dpi'
+ 'xorg-fonts-misc' 'xorg-fonts-type1' 'intltool')
+install=synfigstudio.install
+options=('!libtool')
+source=(http://downloads.sourceforge.net/project/synfig/synfigstudio/$pkgver/synfigstudio-$pkgver.tar.gz)
+md5sums=('bbda14359a07254b8efe5e706de192df')
+
+build() {
+ cd $srcdir/synfigstudio-$pkgver
+ [ -f configure ] || { libtoolize --ltdl --copy --force && autoreconf --install --force; }
+ [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --with-libavcodec --with-libdv
+ sed -i 's#Gtk::IconSize::IconSize#Gtk::IconSize#' src/gui/dialogs/dialog_color.cpp
+ make
+}
+
+package() {
+ cd $srcdir/synfigstudio-$pkgver
+ make DESTDIR=$pkgdir install
+ rm -f $pkgdir/usr/share/pixmaps/$pkgname/*.mng
+ install -m644 images/*.png -t $pkgdir/usr/share/pixmaps/$pkgname/
+ rm -f $pkgdir/usr/share/mime/XMLnamespaces
+ rm -f $pkgdir/usr/share/mime/aliases
+ rm -f $pkgdir/usr/share/mime/generic-icons
+ rm -f $pkgdir/usr/share/mime/globs
+ rm -f $pkgdir/usr/share/mime/globs2
+ rm -f $pkgdir/usr/share/mime/icons
+ rm -f $pkgdir/usr/share/mime/magic
+ rm -f $pkgdir/usr/share/mime/mime.cache
+ rm -f $pkgdir/usr/share/mime/subclasses
+ rm -f $pkgdir/usr/share/mime/treemagic
+ rm -f $pkgdir/usr/share/mime/types
+ rm -f $pkgdir/usr/share/mime/version
+}
diff --git a/community/synfigstudio/synfigstudio.install b/community/synfigstudio/synfigstudio.install
new file mode 100644
index 000000000..6110a6f18
--- /dev/null
+++ b/community/synfigstudio/synfigstudio.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-mime-database usr/share/mime || true
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
diff --git a/community/sysprof/PKGBUILD b/community/sysprof/PKGBUILD
new file mode 100644
index 000000000..9b0e55fb0
--- /dev/null
+++ b/community/sysprof/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 79392 2012-11-04 01:05:10Z ebelanger $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Previous Contributor: Eric Belanger <belanger@astro.umontreal.ca>
+# Previous Contributor: aeolist <aeolist@hotmail.com>
+
+pkgname=sysprof
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="A sampling CPU profiler that uses a Linux kernel module to profile the entire system"
+arch=('i686' 'x86_64')
+url="http://www.daimi.au.dk/~sandmann/sysprof/"
+license=("GPL")
+source=(http://www.daimi.au.dk/~sandmann/$pkgname/$pkgname-$pkgver.tar.gz)
+depends=('libglade' 'binutils')
+makedepends=('libglade' 'binutils' 'linux-headers')
+md5sums=('a81808d847732f8dafb59d26ec2eebbf')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/sysprof/sysprof.install b/community/sysprof/sysprof.install
new file mode 100644
index 000000000..489df2262
--- /dev/null
+++ b/community/sysprof/sysprof.install
@@ -0,0 +1,12 @@
+post_install() {
+ depmod -a
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
diff --git a/community/sysstat/PKGBUILD b/community/sysstat/PKGBUILD
new file mode 100644
index 000000000..4e2d23b81
--- /dev/null
+++ b/community/sysstat/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 92869 2013-06-17 10:57:15Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Martin Devera <devik@cdi.cz>
+
+pkgname=sysstat
+pkgver=10.1.6
+pkgrel=2
+pkgdesc="a collection of performance monitoring tools (iostat,isag,mpstat,pidstat,sadf,sar)"
+arch=('i686' 'x86_64')
+url="http://pagesperso-orange.fr/sebastien.godard/"
+license=('GPL')
+depends=('lm_sensors')
+optdepends=('tk: to use isag'
+ 'gnuplot: to use isag')
+options=(zipman)
+backup=('etc/conf.d/sysstat'
+ 'etc/conf.d/sysstat.ioconf')
+source=(http://pagesperso-orange.fr/sebastien.godard/$pkgname-$pkgver.tar.gz
+ sysstat.service
+ lib64-fix.patch)
+md5sums=('909135c84e36d780d501274e7450f924'
+ '12ba479c606620193e8b7c6e982d5088'
+ '7ffa6bf990609d85367070f71b40a34b')
+
+prepare() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 <$srcdir/lib64-fix.patch
+ autoreconf
+}
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ conf_dir=/etc/conf.d ./configure --prefix=/usr \
+ --enable-yesterday \
+ --mandir=/usr/share/man \
+ --enable-install-isag \
+ --disable-man-group
+ make -j1
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -D -m 744 cron/sysstat.cron.hourly $pkgdir/etc/cron.hourly/sysstat
+ install -D -m 744 cron/sysstat.cron.daily $pkgdir/etc/cron.daily/sysstat
+ chown -R root:root $pkgdir
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ mv $pkgdir/usr/bin/nfsiostat $pkgdir/usr/bin/$pkgname-nfsiostat
+}
diff --git a/community/sysstat/lib64-fix.patch b/community/sysstat/lib64-fix.patch
new file mode 100644
index 000000000..6e4ca7c12
--- /dev/null
+++ b/community/sysstat/lib64-fix.patch
@@ -0,0 +1,17 @@
+diff -wbBur sysstat-10.1.6.q/configure.in sysstat-10.1.6/configure.in
+--- sysstat-10.1.6.q/configure.in 2013-04-21 18:20:32.000000000 +0400
++++ sysstat-10.1.6/configure.in 2013-06-17 14:45:41.733915298 +0400
+@@ -207,13 +207,6 @@
+ fi
+
+ SADC_DIR=$AuxPrefix/lib
+-if test -d $AuxPrefix/lib64; then
+- # Look for lm (long mode) flag to know if CPU is 64 bit
+- grep " lm " /proc/cpuinfo >/dev/null 2>&1
+- if test $? = 0; then
+- SADC_DIR=$AuxPrefix/lib64
+- fi
+-fi
+
+ AC_MSG_CHECKING(sadc directory)
+ AC_ARG_VAR([sa_lib_dir],[sadc directory])
diff --git a/community/sysstat/sysstat.service b/community/sysstat/sysstat.service
new file mode 100644
index 000000000..2ff2365b3
--- /dev/null
+++ b/community/sysstat/sysstat.service
@@ -0,0 +1,11 @@
+[Unit]
+Description= Resets System Activity Logs
+After=syslog.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/lib/sa/sa1 --boot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/sysvbanner/PKGBUILD b/community/sysvbanner/PKGBUILD
new file mode 100644
index 000000000..44304f42a
--- /dev/null
+++ b/community/sysvbanner/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net>
+
+pkgname=sysvbanner
+pkgver=1.0.15
+pkgrel=1
+pkgdesc='System-V banner clone'
+arch=('i686' 'x86_64')
+url='http://packages.qa.debian.org/s/sysvbanner.html'
+conflicts=('bsd-games')
+license=('custom')
+source=("http://cdn.debian.net/debian/pool/main/s/sysvbanner/${pkgname}_${pkgver}.tar.gz"
+ 'man.patch')
+md5sums=('5a7bd216a42faa20bfd91268a77cc41d'
+ '003aa4532e00c32f747dfba6566c094d')
+
+build() {
+ cd $pkgname-$pkgver
+ patch -p 1 < ../man.patch
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -D -m444 "debian/copyright" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/sysvbanner/man.patch b/community/sysvbanner/man.patch
new file mode 100644
index 000000000..3719d5ebf
--- /dev/null
+++ b/community/sysvbanner/man.patch
@@ -0,0 +1,16 @@
+--- a/banner.1 2007-04-08 00:26:57.000000000 +0200
++++ b/banner.1 2011-12-01 04:16:43.677157180 +0100
+@@ -3,12 +3,10 @@
+ banner \- print large banner
+ .SH SYNOPSIS
+ .B banner
+-.I text
++.B [\fItext\fB]
+ .br
+ .SH "DESCRIPTION"
+ .B banner
+ prints out the first 10 characters of
+ .I text
+ in large letters.
+-.SH SEE ALSO
+-.BR banner "(6)."
diff --git a/community/t1utils/LICENSE b/community/t1utils/LICENSE
new file mode 100644
index 000000000..43f03171f
--- /dev/null
+++ b/community/t1utils/LICENSE
@@ -0,0 +1,22 @@
+The README file includes the following notices:
+
+ Changes since version 1.2 (c) 1998-2000 Eddie Kohler, under the
+ same redistribution copyright as I. Lee Hetherington's. See below
+ for I. Lee Hetherington's original README from 1992, updated
+ slightly for today's t1utils.
+
+ Eddie Kohler
+ eddietwo@lcs.mit.edu
+
+ Copyright (c) 1992 by I. Lee Hetherington, all rights reserved.
+
+ Permission is hereby granted to use, modify, and distribute this
+ program for any purpose provided this copyright notice and the one
+ below remain intact.
+
+ Note that these tools should not be used to illegally copy type-1
+ font programs. Typeface design is an intricate art that should be
+ rewarded.
+
+ I. Lee Hetherington
+ ilh@lcs.mit.edu
diff --git a/community/t1utils/PKGBUILD b/community/t1utils/PKGBUILD
new file mode 100644
index 000000000..9833a57c8
--- /dev/null
+++ b/community/t1utils/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 88333 2013-04-16 13:31:22Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Simo Leone <neotuli@gmail.com>
+
+pkgname=t1utils
+pkgver=1.37
+pkgrel=1
+pkgdesc="A collection of simple Type 1 font manipulation programs"
+arch=('i686' 'x86_64')
+url="http://www.lcdf.org/~eddietwo/type/#t1utils"
+license=("custom")
+depends=('glibc')
+source=("http://www.lcdf.org/~eddietwo/type/$pkgname-$pkgver.tar.gz"
+ LICENSE)
+md5sums=('dcff07df0b334c06d1808530956a634e'
+ '5a1334c824d21f0314c831f9fd19a587')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -D -m644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/tabbed/PKGBUILD b/community/tabbed/PKGBUILD
new file mode 100644
index 000000000..a66c44205
--- /dev/null
+++ b/community/tabbed/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 92069 2013-05-31 08:05:10Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: totoloco <totoloco at gmx>
+
+pkgname=tabbed
+pkgver=0.5
+pkgrel=1
+pkgdesc='Simple generic tabbed fronted to xembed aware applications.'
+arch=('i686' 'x86_64')
+url='http://tools.suckless.org/tabbed'
+license=('custom:MIT/X')
+depends=('libx11')
+install='tabbed.install'
+source=("http://dl.suckless.org/tools/${pkgname}-${pkgver}.tar.gz"
+ 'config.h')
+md5sums=('cd9cfd696db745637486ec3b9bbe4b75'
+ 'cea7b04d4f67d917c68673cd0e63ae32')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ cp "${srcdir}/config.h" config.h
+
+ sed -i 's/CPPFLAGS =/CPPFLAGS +=/g' config.mk
+ sed -i 's/CFLAGS =/CFLAGS +=/g' config.mk
+ sed -i 's/LDFLAGS =/LDFLAGS +=/g' config.mk
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make PREFIX=/usr DESTDIR="${pkgdir}" install
+ install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/tabbed/config.h b/community/tabbed/config.h
new file mode 100644
index 000000000..ca4b8d6b4
--- /dev/null
+++ b/community/tabbed/config.h
@@ -0,0 +1,49 @@
+/* See LICENSE file for copyright and license details. */
+
+/* appearance */
+static const char font[] = "-*-*-medium-*-*-*-14-*-*-*-*-*-*-*";
+static const char normbgcolor[] = "#222222";
+static const char normfgcolor[] = "#cccccc";
+static const char selbgcolor[] = "#555555";
+static const char selfgcolor[] = "#ffffff";
+static const char before[] = "<";
+static const char after[] = ">";
+static const int tabwidth = 200;
+static const Bool foreground = True;
+
+/*
+ * Where to place a new tab when it is opened. When npisrelative is True,
+ * then the current position is changed + newposition. If npisrelative
+ * is False, then newposition is an absolute position.
+ */
+static int newposition = 0;
+static Bool npisrelative = False;
+
+#define MODKEY ControlMask
+static Key keys[] = { \
+ /* modifier key function argument */
+ { MODKEY|ShiftMask, XK_Return, focusonce, { 0 } },
+ { MODKEY|ShiftMask, XK_Return, spawn, { 0 } },
+
+ { MODKEY|ShiftMask, XK_l, rotate, { .i = +1 } },
+ { MODKEY|ShiftMask, XK_h, rotate, { .i = -1 } },
+ { MODKEY|ShiftMask, XK_j, movetab, { .i = -1 } },
+ { MODKEY|ShiftMask, XK_k, movetab, { .i = +1 } },
+ { MODKEY, XK_Tab, rotate, { .i = 0 } },
+
+ { MODKEY, XK_1, move, { .i = 0 } },
+ { MODKEY, XK_2, move, { .i = 1 } },
+ { MODKEY, XK_3, move, { .i = 2 } },
+ { MODKEY, XK_4, move, { .i = 3 } },
+ { MODKEY, XK_5, move, { .i = 4 } },
+ { MODKEY, XK_6, move, { .i = 5 } },
+ { MODKEY, XK_7, move, { .i = 6 } },
+ { MODKEY, XK_8, move, { .i = 7 } },
+ { MODKEY, XK_9, move, { .i = 8 } },
+ { MODKEY, XK_0, move, { .i = 9 } },
+
+ { MODKEY, XK_q, killclient, { 0 } },
+
+ { 0, XK_F11, fullscreen, { 0 } },
+};
+
diff --git a/community/tabbed/tabbed.install b/community/tabbed/tabbed.install
new file mode 100644
index 000000000..c44096d56
--- /dev/null
+++ b/community/tabbed/tabbed.install
@@ -0,0 +1,28 @@
+pre_install() {
+ echo "-- Edit config.h in PKGBUILD's directory (generally /var/abs/community/tabbed/)"
+ echo "-- and rebuild package if you want to change settings."
+ /bin/true
+}
+
+post_install() {
+ /bin/true
+}
+
+pre_upgrade() {
+ echo "-- Edit config.h in PKGBUILD's directory (generally /var/abs/community/tabbed/)"
+ echo "-- and rebuild package if you want to change settings."
+ /bin/true
+}
+
+post_upgrade() {
+ /bin/true
+}
+
+pre_remove() {
+ /bin/true
+}
+
+post_remove() {
+ /bin/true
+}
+
diff --git a/community/taglib-rcc/PKGBUILD b/community/taglib-rcc/PKGBUILD
new file mode 100644
index 000000000..673927582
--- /dev/null
+++ b/community/taglib-rcc/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 59135 2011-11-21 12:15:14Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=taglib-rcc
+pkgver=1.7
+pkgrel=1
+pkgdesc="taglib with librcc patch"
+arch=('i686' 'x86_64')
+url="http://developer.kde.org/~wheeler/taglib.html"
+depends=('gcc-libs' 'zlib' 'bash' 'libxml2' 'db' 'librcc')
+makedepends=('patch' 'cmake')
+license=('GPL')
+provides=("taglib=$pkgver")
+conflicts=("taglib")
+options=('!libtool')
+source=(http://developer.kde.org/~wheeler/files/src/taglib-$pkgver.tar.gz
+ http://downloads.sourceforge.net/rusxmms/taglib-csa6.tar.bz2)
+md5sums=('6a7e312668f153fa905a81714aebc257'
+ '0868d633843ecd87526c77d788b3d3b6')
+
+build() {
+ cd $srcdir/taglib-$pkgver
+ [ $NOEXTRACT -eq 1 ] || patch -Np1 <$srcdir/taglib/taglib-1.5-ds-rusxmms.patch || true
+ [ $NOEXTRACT -eq 1 ] || sed -i 's|#include <string>|#include <string.h>|' $srcdir/taglib-$pkgver/taglib/toolkit/rccpatch.cpp
+
+ cd ..
+ mkdir build
+ cd build
+
+ [ $NOEXTRACT -eq 1 ] || cmake ../taglib-$pkgver \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DWITH_MP4=ON \
+ -DWITH_ASF=ON
+ make VERBOSE=1
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/talkfilters/PKGBUILD b/community/talkfilters/PKGBUILD
new file mode 100644
index 000000000..8d8917ac3
--- /dev/null
+++ b/community/talkfilters/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: ConnorBehan <connor.behan@gmail.com>
+
+pkgname=talkfilters
+pkgver=2.3.8
+pkgrel=2
+pkgdesc="Filters to translate text into dialects that GNU finds funny"
+arch=(i686 x86_64)
+url="http://www.hyperrealm.com/main.php?s=talkfilters"
+options=('!libtool')
+depends=('glibc')
+license=('custom:Public Domain')
+install=$pkgname.install
+source=(http://www.hyperrealm.com/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+
+build() {
+ cd "$srcdir"/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir"/${pkgname}-${pkgver}
+ make prefix="$pkgdir"/usr install
+}
+
+md5sums=('c11c6863a1c246a8d49a80a1168b54c8')
diff --git a/community/talkfilters/talkfilters.install b/community/talkfilters/talkfilters.install
new file mode 100644
index 000000000..d61edc851
--- /dev/null
+++ b/community/talkfilters/talkfilters.install
@@ -0,0 +1,21 @@
+infodir=usr/share/info
+filelist=(talkfilters.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
diff --git a/community/task/PKGBUILD b/community/task/PKGBUILD
new file mode 100644
index 000000000..7d6f6b3c7
--- /dev/null
+++ b/community/task/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Peter Lewis <plewis@aur.archlinux.org>
+# Contributor: TDY <tdy@gmx.com>
+# Contributor: Ray Kohler <ataraxia@gmail.com>
+# Contributor: muflax <muflax@gmail.com>
+# Contributor: coolkehon <coolkehon@gmail.com>
+
+pkgname=task
+pkgver=2.2.0
+pkgrel=1
+pkgdesc="A command-line todo list manager"
+arch=('i686' 'x86_64')
+url="http://taskwarrior.org/projects/show/taskwarrior/"
+license=('MIT')
+depends=('util-linux')
+makedepends=('cmake')
+optdepends=('bash-completion: for bash completion' 'python: for python export addon' 'ruby: for ruby export addon' 'perl: for perl export addon' 'perl-json: for perl export addon')
+source=(http://www.taskwarrior.org/download/$pkgname-$pkgver.tar.gz)
+sha256sums=('39e25dd285e6bc8474337a5868cb2ec55675978fa1f08c802e6da58b4181ee14')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr .
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # Note that we rename the bash completion script for bash-completion > 1.99, until upstream does so.
+ install -Dm644 "$pkgdir/usr/share/doc/task/scripts/bash/task.sh" "$pkgdir/usr/share/bash-completion/completions/task"
+ install -Dm644 "$pkgdir/usr/share/doc/task/scripts/fish/task.fish" "$pkgdir/usr/share/fish/completions/task.fish"
+ install -Dm644 "$pkgdir/usr/share/doc/task/scripts/zsh/_task" "$pkgdir/usr/share/zsh/site-functions/_task"
+
+ install -Dm644 "$pkgdir/usr/share/doc/task/scripts/vim/ftdetect/task.vim" "$pkgdir/usr/share/vim/vimfiles/ftdetect/task.vim"
+ install -Dm644 "$pkgdir/usr/share/doc/task/scripts/vim/syntax/taskdata.vim" "$pkgdir/usr/share/vim/vimfiles/syntax/taskdata.vim"
+ install -Dm644 "$pkgdir/usr/share/doc/task/scripts/vim/syntax/taskedit.vim" "$pkgdir/usr/share/vim/vimfiles/syntax/taskedit.vim"
+ install -Dm644 "$pkgdir/usr/share/doc/task/scripts/vim/syntax/taskrc.vim" "$pkgdir/usr/share/vim/vimfiles/syntax/taskrc.vim"
+
+ install -Dm644 "$srcdir/$pkgname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/task/LICENSE"
+}
diff --git a/community/tcc/ChangeLog b/community/tcc/ChangeLog
new file mode 100644
index 000000000..460adba69
--- /dev/null
+++ b/community/tcc/ChangeLog
@@ -0,0 +1,3 @@
+0.9.25-2:
+
+ + Added libtcc.so as well, for dynamic code.
diff --git a/community/tcc/PKGBUILD b/community/tcc/PKGBUILD
new file mode 100644
index 000000000..ebb5f21b3
--- /dev/null
+++ b/community/tcc/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 86525 2013-03-18 16:24:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : Gergely Imreh <imrehgATgmailDOTcom>
+# Contributor : dschauer <dschauerATgmailDOTcom>
+# Contributor : Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor : Jeremy Cowgar <jeremy@cowgar.com>
+
+pkgname=tcc
+pkgver=0.9.26
+pkgrel=1
+pkgdesc="Tiny C Compiler"
+arch=('i686' 'x86_64')
+url="http://bellard.org/tcc/"
+license=('LGPL')
+makedepends=('gcc')
+options=('docs')
+source=(http://download.savannah.nongnu.org/releases/tinycc/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('5fb28e4abc830c46a7f54c1f637fb25d')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # sed fixes from Gentoo ebuild, cheers!
+ # Don't strip
+ sed -i -e 's|$(INSTALL) -s|$(INSTALL)|' Makefile
+
+ # Fix examples
+ sed -i -e '1{
+ i#! /usr/bin/tcc -run
+ /^#!/d
+ }' examples/ex*.c
+ sed -i -e '1s/$/ -lX11/' examples/ex4.c
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make tccdir=${pkgdir}/usr/lib/tcc libdir=${pkgdir}/usr/lib \
+ mandir=${pkgdir}/usr/share/man bindir=${pkgdir}/usr/bin \
+ includedir=${pkgdir}/usr/include \
+ docdir=${pkgdir}/usr/share/doc/tcc \
+ install
+
+ make clean
+ make CFLAGS="-fPIC" libtcc.o
+ ld -shared -soname libtcc.so -o libtcc.so libtcc.o
+ install -D -m 755 libtcc.so "${pkgdir}/usr/lib/libtcc.so"
+}
diff --git a/community/tcpflow/PKGBUILD b/community/tcpflow/PKGBUILD
new file mode 100644
index 000000000..582004c4e
--- /dev/null
+++ b/community/tcpflow/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 82467 2013-01-18 15:47:09Z fyan $
+# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+
+pkgname=tcpflow
+pkgver=1.3.0
+pkgrel=1
+pkgdesc="Captures data transmitted as part of TCP connections then stores the data conveniently"
+arch=('i686' 'x86_64')
+url="http://afflib.org/software/tcpflow"
+license=('GPL')
+depends=('gcc-libs' 'libpcap' 'zlib')
+source=("https://github.com/simsong/$pkgname/archive/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgname-$pkgver"
+ sh bootstrap.sh
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums=('446be6d852bc7ddd0a8d5149f2bddb60')
diff --git a/community/tcpreplay/PKGBUILD b/community/tcpreplay/PKGBUILD
new file mode 100644
index 000000000..054c87d7e
--- /dev/null
+++ b/community/tcpreplay/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 61217 2011-12-24 18:01:44Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Sébastien Duquette <ekse.0x@gmail.com>
+# Contributor: Dawid Wrobel <cromo@klej.net>
+pkgname=tcpreplay
+pkgver=3.4.4
+pkgrel=3
+pkgdesc="Gives the ability to replay previously captured traffic in a libpcap format"
+url="http://tcpreplay.synfin.net"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('libpcap' 'libdnet')
+makedepends=('tcpdump')
+optdepends=('tcpdump: decoding of packets support')
+options=('!emptydirs')
+source=("http://downloads.sourceforge.net/sourceforge/tcpreplay/${pkgname}-${pkgver}.tar.gz")
+md5sums=('22725feb9b2590809f9350308ec65180')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --enable-dynamic-link --with-tcpdump=/usr/sbin/tcpdump
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/tcsh/PKGBUILD b/community/tcsh/PKGBUILD
new file mode 100644
index 000000000..386245467
--- /dev/null
+++ b/community/tcsh/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 92256 2013-06-03 11:15:29Z allan $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=tcsh
+pkgver=6.18.01
+pkgrel=2
+pkgdesc='Enhanced version of the Berkeley C shell.'
+arch=('i686' 'x86_64')
+url='http://www.tcsh.org/Welcome'
+license=('BSD')
+depends=('ncurses')
+backup=('etc/csh.cshrc'
+ 'etc/csh.login')
+install='tcsh.install'
+source=("ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'csh.cshrc'
+ 'csh.login')
+md5sums=('6eed09dbd4223ab5b6955378450d228a'
+ '7ca0fe6d1a1b9a0093f632499d4fb112'
+ '4869b9da87c79854e2cc97241f125853')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --bindir=/usr/bin
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" mandir=/usr/share/man install install.man
+
+ install -Dm0644 "${srcdir}/csh.cshrc" "${pkgdir}/etc/csh.cshrc"
+ install -Dm0644 "${srcdir}/csh.login" "${pkgdir}/etc/csh.login"
+ install -Dm0644 Copyright "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ ln -s tcsh "${pkgdir}/usr/bin/csh"
+ ln -s tcsh.1 "${pkgdir}/usr/share/man/man1/csh.1"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/tcsh/csh.cshrc b/community/tcsh/csh.cshrc
new file mode 100644
index 000000000..a6dfcad12
--- /dev/null
+++ b/community/tcsh/csh.cshrc
@@ -0,0 +1,96 @@
+#############################################################################
+##
+## Gentoo's csh.cshrc
+##
+## Based on the TCSH package (http://tcshrc.sourceforge.net)
+##
+## .tcshrc 2Sep2001, Simos Xenitellis (simos@hellug.gr)
+##
+## 2003-01-13 -- Alain Penders (alain@gentoo.org)
+## Renamed to /etc/csh.cshrc, basic cleanup work.
+##
+## 2003-01-24 -- Alain Penders (alain@gentoo.org)
+## Improved config file handling.
+##
+onintr -
+##
+
+##
+## Load the environment defaults.
+##
+if ( -r /etc/csh.env ) then
+ source /etc/csh.env
+endif
+
+
+##
+## Make sure our path includes the basic stuff for root and normal users.
+##
+if ($LOGNAME == "root") then
+ set -f path = ( $path /sbin )
+ set -f path = ( $path /usr/sbin )
+ set -f path = ( $path /usr/local/sbin )
+endif
+set -f path = ( $path /bin )
+set -f path = ( $path /usr/bin )
+set -f path = ( $path /usr/local/bin )
+set -f path = ( $path /opt/bin )
+
+
+##
+## Load our settings -- most are for interactive shells only, but not all.
+##
+if ( -e /etc/profile.d/tcsh-settings ) then
+ source /etc/profile.d/tcsh-settings
+endif
+
+
+##
+## Source extensions installed by ebuilds
+##
+if ( -d /etc/profile.d ) then
+ set _tmp=${?nonomatch}
+ set nonomatch
+ foreach _s ( /etc/profile.d/*.csh )
+ if ( -r $_s ) then
+ source $_s
+ endif
+ end
+ if ( ! ${_tmp} ) unset nonomatch
+ unset _tmp _s
+endif
+
+
+# Everything after this point is interactive shells only.
+if ( $?prompt == 0 ) goto end
+
+
+##
+## Load our aliases -- for interactive shells only
+##
+if ( -e /etc/profile.d/tcsh-aliases ) then
+ source /etc/profile.d/tcsh-aliases
+endif
+
+
+##
+## Load our key bindings -- for interactive shells only
+##
+if ( -e /etc/profile.d/tcsh-bindkey ) then
+ source /etc/profile.d/tcsh-bindkey
+endif
+
+
+##
+## Load our command completions -- for interactive shells only
+##
+if ( -e /etc/profile.d/tcsh-complete ) then
+ source /etc/profile.d/tcsh-complete
+endif
+
+
+end:
+##
+onintr
+##
+
diff --git a/community/tcsh/csh.login b/community/tcsh/csh.login
new file mode 100644
index 000000000..58501398c
--- /dev/null
+++ b/community/tcsh/csh.login
@@ -0,0 +1,71 @@
+#############################################################################
+##
+## Gentoo's csh.login
+##
+## 2003-01-13 -- Alain Penders (alain@gentoo.org)
+##
+## Initial version. Inspired by the Suse version.
+##
+
+
+##
+## Default terminal initialization
+##
+if ( -o /dev/$tty && ${?prompt} ) then
+ # Console
+ if ( ! ${?TERM} ) setenv TERM linux
+ if ( "$TERM" == "unknown" ) setenv TERM linux
+ # No tset available on SlackWare
+ if ( -x "`which stty`" ) stty sane cr0 pass8 dec
+ if ( -x "`which tset`" ) tset -I -Q
+ unsetenv TERMCAP
+ settc km yes
+endif
+
+##
+## Default UMASK
+##
+umask 022
+
+##
+## Set our SHELL variable.
+##
+setenv SHELL /bin/tcsh
+
+##
+## Setup a default MAIL variable
+##
+if ( -f /var/spool/mail/$USER ) then
+ setenv MAIL /var/spool/mail/$USER
+ set mail=$MAIL
+endif
+
+##
+## If we're root, report who's logging in and out.
+##
+if ( "$uid" == "0" ) then
+ set who=( "%n has %a %l from %M." )
+ set watch=( any any )
+endif
+
+##
+## Show the MOTD once the first time, and once after it has been changed.
+##
+## Note: if this is a SSH login, SSH will always show the MOTD, so we
+## skip it. Create ~/.hushlogin is you don't want SSH to show it.
+##
+if (-f /etc/motd ) then
+ if ( ! $?SSH_CLIENT ) then
+ cmp -s /etc/motd ~/.hushmotd
+ if ($status) then
+ tee ~/.hushmotd < /etc/motd
+ echo "((( MOTD shown only once, unless it is changed )))"
+ endif
+ endif
+endif
+
+##
+## Send us home.
+##
+cd
+
diff --git a/community/tcsh/tcsh-6.17.00-ls-colors-var.patch b/community/tcsh/tcsh-6.17.00-ls-colors-var.patch
new file mode 100644
index 000000000..9aa5198d3
--- /dev/null
+++ b/community/tcsh/tcsh-6.17.00-ls-colors-var.patch
@@ -0,0 +1,13 @@
+--- tw.color.c.orig 2008-10-17 16:57:33.000000000 -0300
++++ tw.color.c 2010-10-18 23:34:36.764372377 -0300
+@@ -86,6 +86,10 @@
+ VAR(NOS, "ow", ""), /* Other writable dir (o+w) but not sticky */
+ VAR(NOS, "st", ""), /* Sticky dir (+t) but not other writable */
+ VAR(NOS, "rs", "0"), /* Reset to normal color */
++ VAR(NOS, "hl", ""), /* Regular file with more than one link */
++ VAR(NOS, "ca", ""), /* File with capability */
++ VAR(NOS, "mh", ""), /* MULTIHARDLINK */
++ VAR(NOS, "cl", ""), /* CLRTOEOL */
+ };
+
+ enum FileType {
diff --git a/community/tcsh/tcsh.install b/community/tcsh/tcsh.install
new file mode 100644
index 000000000..00911470f
--- /dev/null
+++ b/community/tcsh/tcsh.install
@@ -0,0 +1,23 @@
+post_install() {
+ if ! grep -q /bin/tcsh etc/shells; then
+ echo /bin/tcsh >> etc/shells
+ echo /bin/csh >> etc/shells
+ echo 'Added to /etc/shells.'
+ fi
+}
+
+post_upgrade() {
+ if grep -q /usr/bin/tcsh etc/shells; then
+ sed -i 's|/usr/bin/tcsh|/bin/tcsh|' etc/shells
+ sed -i 's|/usr/bin/csh|/bin/csh|' etc/shells
+ echo 'Fixed path in /etc/shells.'
+ fi
+}
+
+pre_remove() {
+ sed -i '\|/bin/tcsh|d' etc/shells
+ sed -i '\|/bin/csh|d' etc/shells
+ echo 'Removed from /etc/shells.'
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/tdfsb/PKGBUILD b/community/tdfsb/PKGBUILD
new file mode 100644
index 000000000..c2df49a2c
--- /dev/null
+++ b/community/tdfsb/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 77663 2012-10-13 11:45:35Z allan $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=tdfsb
+pkgver=0.0.10
+pkgrel=6
+pkgdesc="SDL based graphical file browser"
+arch=('i686' 'x86_64')
+url="http://www.determinate.net/webdata/seg/tdfsb.html"
+license=('GPL')
+depends=('smpeg' 'freeglut' 'sdl_image' 'libxmu' 'glu')
+source=("http://www.determinate.net/webdata/data/${pkgname}-${pkgver}.tar.gz"
+ 'tdfsb.desktop'
+ 'tdfsb.png')
+md5sums=('8162994a7e882dc7074a5f628d2ac076'
+ '4070a7de1153c00df875384a1817e43b'
+ 'ecabb39597a3c17f9541300869873e50')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i -e "s:-O2:${CFLAGS} ${LDFLAGS}:g" compile.sh
+ ./compile.sh
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ install -D -m755 tdfsb "${pkgdir}/usr/bin/tdfsb"
+
+ # Install desktop file
+ install -D -m755 "${srcdir}/tdfsb.desktop" "${pkgdir}/usr/share/applications/tdfsb.desktop"
+ # Install icon
+ install -D -m644 "${srcdir}/tdfsb.png" "${pkgdir}/usr/share/pixmaps/tdfsb.png"
+}
diff --git a/community/tdfsb/tdfsb.desktop b/community/tdfsb/tdfsb.desktop
new file mode 100644
index 000000000..7167e022a
--- /dev/null
+++ b/community/tdfsb/tdfsb.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Tdfsb
+Comment=SDL based graphical file browser
+Icon=/usr/share/pixmaps/tdfsb.png
+Exec=tdfsb
+Terminal=false
+Type=Application
+Categories=System;Application;
+StartupNotify=true
diff --git a/community/tdfsb/tdfsb.png b/community/tdfsb/tdfsb.png
new file mode 100644
index 000000000..5ac3a5fe4
--- /dev/null
+++ b/community/tdfsb/tdfsb.png
Binary files differ
diff --git a/community/tdl/ChangeLog b/community/tdl/ChangeLog
new file mode 100644
index 000000000..dba4cf7ec
--- /dev/null
+++ b/community/tdl/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/tdl/PKGBUILD b/community/tdl/PKGBUILD
new file mode 100644
index 000000000..fbcd02fdc
--- /dev/null
+++ b/community/tdl/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 66539 2012-02-26 00:04:59Z lfleischer $
+# Maintainer: Jeff Mickey <j@codemac.net>
+# Contributor: Jeff "codemac" Mickey <j@codemac.net>
+
+pkgname=tdl
+pkgver=1.5.2
+pkgrel=5
+pkgdesc="A to-do list manager."
+arch=('i686' 'x86_64')
+url="http://www.rc0.org.uk/tdl/"
+license=('GPL')
+depends=('ncurses')
+source=("http://www.rpcurnow.force9.co.uk/tdl/$pkgname-$pkgver.tar.gz")
+md5sums=('620cb00bf99b7e786e2b54cda6339a1e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/tea/PKGBUILD b/community/tea/PKGBUILD
new file mode 100644
index 000000000..0c234c9f6
--- /dev/null
+++ b/community/tea/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 93973 2013-07-12 10:33:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Michal Kaliszka <desmont@gmail.com>
+# Contributor: Zsolt Varadi <sysop_xxl@fibermail.hu>
+
+pkgname=tea
+pkgver=36.0.2
+pkgrel=1
+pkgdesc="A QT-based text editor for Linux and *BSD. With an ultimate small size TEA provides you hundreds of functions."
+arch=('i686' 'x86_64')
+url="http://semiletov.org/tea/"
+license=('GPL')
+depends=('qt4' 'aspell' 'hunspell')
+install=tea.install
+source=(http://semiletov.org/tea/dloads/tea-$pkgver.tar.bz2
+ tea.desktop)
+md5sums=('c8657c664af35d2032a78c645cb38d16'
+ '377ace3363124f4c086de0babb820761')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's|i + j|(int)(i + j)|' textproc.cpp
+ qmake-qt4 PREFIX=/usr/bin
+ make
+}
+
+package(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make INSTALL_ROOT="${pkgdir}" install
+ install -Dm644 "${srcdir}/tea.desktop" "${pkgdir}/usr/share/applications/tea.desktop"
+ install -Dm644 icons/tea_icon_v2.png "${pkgdir}/usr/share/pixmaps/tea.png"
+}
diff --git a/community/tea/tea.desktop b/community/tea/tea.desktop
new file mode 100644
index 000000000..818704a26
--- /dev/null
+++ b/community/tea/tea.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Tea
+Comment=A small programmer's QT editor
+Exec=tea %U
+Terminal=false
+Type=Application
+StartupNotify=true
+Icon=tea.png
+Categories=Application;Utility;TextEditor;
diff --git a/community/tea/tea.install b/community/tea/tea.install
new file mode 100644
index 000000000..d7904254b
--- /dev/null
+++ b/community/tea/tea.install
@@ -0,0 +1,4 @@
+post_upgrade() {
+ echo "############################################"
+ echo "for the old GTK branch of TEA install teagtk"
+}
diff --git a/community/teeworlds/PKGBUILD b/community/teeworlds/PKGBUILD
new file mode 100644
index 000000000..508577be5
--- /dev/null
+++ b/community/teeworlds/PKGBUILD
@@ -0,0 +1,48 @@
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Armin 'IsSuE' Praher [issue.at.gmx.dot.at]
+# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+
+pkgname=teeworlds
+pkgver=0.6.2
+pkgrel=1
+pkgdesc="A multiplayer 2D shooter"
+arch=('i686' 'x86_64')
+url="https://www.teeworlds.com"
+license=('custom')
+depends=('alsa-lib' 'glu' 'sdl' 'freetype2')
+makedepends=('python' 'bam' 'mesa')
+replaces=('teewars')
+source=(https://www.teeworlds.com/files/${pkgname}-${pkgver}-source.tar.gz
+ teeworlds.desktop
+ teeworlds.png)
+md5sums=('649f6c05a7b117096b238c07062edc39'
+ '3944aaf7a8c19a83510b2b39c4cddf5f'
+ '44f39e398409232a0e0a431ed46d8cc8')
+
+build() {
+ # Build teeworlds
+ cd ${srcdir}/${pkgname}-*-source
+
+ bam server_release client_release
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-*-source
+
+ # Install data files
+ mkdir -p ${pkgdir}/usr/share/${pkgname}/data
+ cp -r data/* ${pkgdir}/usr/share/${pkgname}/data
+
+ install -Dm755 ${pkgname} ${pkgdir}/usr/bin/${pkgname}
+ install -Dm755 ${pkgname}_srv ${pkgdir}/usr/bin/${pkgname}_srv
+
+ install -Dm644 ${srcdir}/${pkgname}.desktop \
+ ${pkgdir}/usr/share/applications/${pkgname}.desktop
+ install -Dm644 ${srcdir}/${pkgname}.png \
+ ${pkgdir}/usr/share/pixmaps/${pkgname}.png
+
+ install -Dm644 license.txt \
+ ${pkgdir}/usr/share/licenses/${pkgname}/license.txt
+}
diff --git a/community/teeworlds/teeworlds.desktop b/community/teeworlds/teeworlds.desktop
new file mode 100644
index 000000000..ddfb8994d
--- /dev/null
+++ b/community/teeworlds/teeworlds.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Icon=teeworlds
+Exec=teeworlds
+Terminal=false
+StartupNotify=false
+
+Name=TeeWorlds
+GenericName=Arcade Game
+Comment=is a multiplayer 2D FPS shooter
+Comment[pl_PL]=wieloosobowa strzelanka FTP w 2D
+
+Categories=Game;ArcadeGame;
diff --git a/community/teeworlds/teeworlds.png b/community/teeworlds/teeworlds.png
new file mode 100644
index 000000000..890baaff3
--- /dev/null
+++ b/community/teeworlds/teeworlds.png
Binary files differ
diff --git a/community/tellico/PKGBUILD b/community/tellico/PKGBUILD
new file mode 100644
index 000000000..5c28092e5
--- /dev/null
+++ b/community/tellico/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 94089 2013-07-14 11:11:38Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Ray Rashif <schiv@archlinux.org
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+pkgname=tellico
+pkgver=2.3.8
+pkgrel=1
+pkgdesc="A collection manager for KDE"
+arch=('i686' 'x86_64')
+url="http://tellico-project.org/"
+license=('GPL')
+depends=('kdebase-workspace' 'yaz' 'exempi' 'libksane' 'taglib' 'libkcddb' 'poppler-qt' 'kdemultimedia-audiocd-kio')
+makedepends=('automoc4' 'cmake')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://tellico-project.org/files/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('2d8a0d06951e0755c7987d0a07cc8157cd42c8b1c143170042183ff1e89e2ccb')
+
+build() {
+ cd ${srcdir}
+
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+
+ make DESTDIR=${pkgdir} install
+
+# fix python 2.7 path
+ find ${pkgdir} -iname "*.py" | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
+}
diff --git a/community/tellico/tellico.changelog b/community/tellico/tellico.changelog
new file mode 100644
index 000000000..a1591d839
--- /dev/null
+++ b/community/tellico/tellico.changelog
@@ -0,0 +1,5 @@
+2013-07-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * tellico 2.3.8-1
+
+2013-01-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * tellico 2.3.7-1
diff --git a/community/tellico/tellico.install b/community/tellico/tellico.install
new file mode 100644
index 000000000..3b3aff7d9
--- /dev/null
+++ b/community/tellico/tellico.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/tesseract/PKGBUILD b/community/tesseract/PKGBUILD
new file mode 100644
index 000000000..8ac6c01d2
--- /dev/null
+++ b/community/tesseract/PKGBUILD
@@ -0,0 +1,122 @@
+# $Id: PKGBUILD 82232 2013-01-12 17:31:36Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andreas Hauser <andy-aur@splashground.de>
+
+# chinese requires two files
+_langs=(afr ara aze bel ben bul cat ces chi_sim chi_tra chr dan deu ell
+eng enm epo epo_alt equ est eus fin fra frk frm glg grc heb hin hrv hun
+ind isl ita ita_old jpn kan kor lav lit mal mkd mlt msa nld nor pol por
+ron rus slk slv spa spa_old sqi srp swa swe tam tel tgl tha tur ukr vie)
+
+pkgbase=tesseract
+pkgname=(tesseract $(for l in ${_langs[@]}; do echo tesseract-data-${l}; done))
+pkgver=3.02.02
+_pkgver=3.02
+pkgrel=2
+pkgdesc="An OCR programm"
+arch=(i686 x86_64)
+url="http://code.google.com/p/tesseract-ocr"
+license=("APACHE")
+depends=(libpng libtiff libjpeg zlib giflib gcc-libs leptonica)
+source=(http://tesseract-ocr.googlecode.com/files/$pkgname-$pkgver.tar.gz
+ $(for l in ${_langs[@]}; do
+ echo http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${_pkgver}.${l}.tar.gz
+ done))
+md5sums=('3d57ee5777fa998632ad0693c13a0e9e'
+ '16a756bf353896e34386f4509582e487'
+ 'd7b3708f1f1f2898c258209923063f57'
+ '143044ff7b643b844c2f0b2a170ceda2'
+ '3bb6dab515166d641ac62e973c868ac5'
+ '0b662630eb4b2e0ebf40c38184068fba'
+ '91fc34ef041aafe32549a7a6232afad0'
+ '27b77ecc66f8c8d904cd6b87886aca22'
+ 'ae144b9d230267b5ae62804ad7a09dac'
+ '718779539d3202ae95ae5ff52a3ad5e8'
+ '391ed3fcf014bae777b33dc7a771a00d'
+ 'dd5b4fa247500d7713ab5556af62d9fa'
+ '2f6a93920b3ce55de24ca762a66a5de1'
+ '57bdb26ec7c767e126ff97776d8bfb10'
+ '3760cc3dee6489dcc865b31e7a36bd47'
+ '3562250fe6f4e76229a329166b8ae853'
+ 'd9dc4ad9cbcde78e5be59eb226865661'
+ '5dc0cf01d21ee43ed834ee947e1e810a'
+ '67815529386679223092ddf301bf57d4'
+ '94667836c651fc4fd43645efdc34e19a'
+ 'a067f5975cbe83fea205897187fa256b'
+ '4c2cee5bf3558f6384e5907aa02ae80c'
+ '71f8b343ed2010f775ff474faec5874f'
+ '2bca200b783fdba2f546063c68740c50'
+ 'dd734ac212a98a02945760891b657e70'
+ 'e0ca24ca45de83e67057f0e208233ffc'
+ 'ef7b8e13891e08f29b02011a5dd6b630'
+ 'f14aac95ab2f4a5f919da82dbc1fcd3c'
+ '7ae7f3384083c66f06d63b6c0f0a66c3'
+ '186f17b326a58313344c2ea987ea7785'
+ '0396a267d894f485b6b534476f3322dc'
+ 'eb1b3537cd664fec48bebac75fac5992'
+ '9f672ea7c90eecbbe35ec353ff45c764'
+ '3f05946a9e57a8ffabb3fccc8a80cfaa'
+ 'fbdba86f34b907f5a709051c01b53f71'
+ '989ca558eb05fcf6873dfdd8c692291d'
+ 'e1be2b08e667c3bb0ab0f18c9456bf2f'
+ '510016e85d7ea8e1f4ebf98741138909'
+ 'fc9125f6652fb661575d6e15c94f88f6'
+ '2095b56c9c6b0dba9b837fd226ed6d29'
+ '801021a1ad6e4aa3ef697f065ff6c798'
+ '1f5e8f022d3c2697075bdfc03935f128'
+ 'b8930c64befcaadbb47951cad4a2f075'
+ '90a41ac86375b230980b643b35b88011'
+ 'cb42ec9504eecdc4f974dbca4387ac34'
+ '6db5753b3b03296544bbb2c0f59a7178'
+ '6d979585abb07c13dda003820129461c'
+ '90b3f1f4113a9dccd0287e6b5b7512d6'
+ 'ad490a8091ee329190266f3fd057c511'
+ '9f498e01855a57473af8f083c125455a'
+ 'e8c785df8aaa49e61f3a95aa24066122'
+ '991e4771e16abd6a66caeaeeb2a4d4d2'
+ 'c7bea975ba663d13e03c29d6cf33b5a8'
+ 'fe1385ed203ecd9e0999a44b135069ec'
+ '7838da948e404bb760bef83a5c3d64dd'
+ '372e38617fcc7e25c77996c5499ae063'
+ 'd8350668fa790b5d4007348a55840bdf'
+ '6c68107a71f82fa42c858e4d6dc70aca'
+ '46d3a5d7159236edb33272dd8b1090f6'
+ 'c68b0fdcdf34dd431c25f323673ef1d6'
+ '349d203ef88864eab8d1201672ca84be'
+ 'd458f0719b99e4dcfd4fa2a06e5150a3'
+ '3dc5a5028e75da12eaba62669a80acc4'
+ 'a8934e0e6496997112cbef2961adef5e'
+ '0aa61f18463bb89234a6d06fcbf0c644'
+ '78a74432848b4c53cc2ccf2eb339c0b6')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i '1,1i#include <unistd.h>' viewer/svutil.cpp
+ [ -f Makefile.in ] || { aclocal && automake; }
+ [ -f Makefile ] || ./configure --prefix=/usr
+ make
+}
+
+package_tesseract() {
+ install=tesseract.install
+ optdepends=($(for l in ${_langs[@]}; do echo tesseract-data-${l}; done))
+
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ mkdir -p $pkgdir/usr/share/tessdata
+}
+
+# Declare the package functions for data
+for l in ${_langs[@]}; do
+ eval "
+package_tesseract-data-${l}(){
+ pkgdesc=\"Tesseract OCR data ($l)\"
+ depends=('tesseract')
+ groups=('tesseract-data')
+
+ mkdir -p \$pkgdir/usr/share/tessdata
+ cp \$srcdir/tesseract-ocr/tessdata/${l}.* \$pkgdir/usr/share/tessdata/
+ find \$pkgdir/usr/share/tessdata -type f -exec chmod 0644 {} \;
+}
+ "
+done
diff --git a/community/tesseract/tesseract.install b/community/tesseract/tesseract.install
new file mode 100644
index 000000000..114b82821
--- /dev/null
+++ b/community/tesseract/tesseract.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo "You must install one of tesseract-data-* packages or whole tesseract-data group"
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community/texmaker/PKGBUILD b/community/texmaker/PKGBUILD
new file mode 100644
index 000000000..916c25874
--- /dev/null
+++ b/community/texmaker/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 91601 2013-05-25 11:19:17Z bpiotrowski $
+#Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+
+pkgname=texmaker
+pkgver=4.0.2
+pkgrel=1
+pkgdesc='Free cross-platform LaTeX editor'
+arch=('i686' 'x86_64')
+url="http://www.xm1math.net/texmaker/index.html"
+license=('GPL')
+depends=('poppler-qt' 'qtwebkit')
+optdepends=('ghostscript: LaTeX to HTML conversion command'
+ 'ibus-qt: accented characters support'bu
+ 'poppler: PDF rendering support')
+install="$pkgname.install"
+source=("http://www.xm1math.net/$pkgname/$pkgname-$pkgver.tar.bz2")
+md5sums=('2097b5911acc461a85fd631dd1e2e5dc')
+
+build() {
+ cd "$pkgname-$pkgver"
+ qmake-qt4 PREFIX=/usr texmaker.pro
+ make
+}
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -dm755 "$pkgdir/usr/share"
+ make INSTALL_PATH="$pkgdir" INSTALL_ROOT="$pkgdir" PREFIX="/usr" install
+}
diff --git a/community/texmaker/texmaker.install b/community/texmaker/texmaker.install
new file mode 100644
index 000000000..9591f6c5d
--- /dev/null
+++ b/community/texmaker/texmaker.install
@@ -0,0 +1,7 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/community/texvc/PKGBUILD b/community/texvc/PKGBUILD
new file mode 100644
index 000000000..c428dd131
--- /dev/null
+++ b/community/texvc/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 85705 2013-03-05 09:48:36Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=texvc
+pkgver=1.20
+pkgrel=1
+pkgdesc="tex to HTML/MathML/png converter used by mediawiki"
+arch=(i686 x86_64)
+url="http://www.mediawiki.org/wiki/Extension:Math"
+license=("GPL")
+depends=('imagemagick' 'ghostscript' 'texlive-core' 'texlive-latexextra')
+makedepends=('ocaml')
+source=(mediawiki-math-1.20.tar.gz::https://nodeload.github.com/wikimedia/mediawiki-extensions-Math/legacy.tar.gz/REL${pkgver/./_})
+md5sums=('ee8fceb0a86f2972409104767406591c')
+
+build() {
+ cd $srcdir/wikimedia-mediawiki-extensions-Math-*/math
+ make -j1
+}
+
+package() {
+ cd $srcdir/wikimedia-mediawiki-extensions-Math-*/math
+ install -d -m 0755 $pkgdir/usr/bin
+ install -m 0755 texvc $pkgdir/usr/bin
+}
diff --git a/community/the_silver_searcher/PKGBUILD b/community/the_silver_searcher/PKGBUILD
new file mode 100644
index 000000000..3d6293130
--- /dev/null
+++ b/community/the_silver_searcher/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 85733 2013-03-05 21:38:07Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Jeff Horelick <jdhore1@gmail.com>
+# Contributor: skydrome <skydrome@i2pmail.org>
+
+pkgname=the_silver_searcher
+pkgver=0.14
+pkgrel=1
+pkgdesc='Code searching tool similar to Ack, but faster'
+url='https://github.com/ggreer/the_silver_searcher'
+license=('Apache')
+depends=('pcre' 'zlib')
+arch=('x86_64' 'i686')
+source=("https://github.com/ggreer/$pkgname/archive/$pkgver.tar.gz")
+sha256sums=('9334d6f41685963c41790502fcfd83ed0ac664d94626d9fee44ae5c33c616bb3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i 's:configure:configure --prefix=/usr:' build.sh
+ ./build.sh
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/thttpd/PKGBUILD b/community/thttpd/PKGBUILD
new file mode 100644
index 000000000..95862d06f
--- /dev/null
+++ b/community/thttpd/PKGBUILD
@@ -0,0 +1,71 @@
+# $Id: PKGBUILD 93680 2013-07-08 11:41:45Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+# Contributor: Stewart Starbuck <stewart@stewartstarbuck.co.uk>
+
+pkgname=thttpd
+pkgver=2.25b
+pkgrel=11
+pkgdesc='Simple, small, portable, fast, and secure HTTP server'
+url='http://www.acme.com/software/thttpd/'
+license=('custom:BSD')
+arch=('i686' 'x86_64')
+backup=('etc/thttpd.conf')
+source=("http://www.acme.com/software/thttpd/${pkgname}-${pkgver}.tar.gz"
+ 'forwarded-for.patch'
+ 'discreet.patch'
+ 'getline.patch'
+ 'logrotate.d'
+ 'service'
+ 'config')
+sha1sums=('cd0e823233ad73e34ee1c9b871b01050feb9db52'
+ '1293fbaf83a489c65d6d2b107d797c687233d96a'
+ '1e73fca7d9ac2579da317f985c8666a181dc37c1'
+ '5ac14035a10b9155d813b363520e9aa74c5d91fc'
+ '36ffeefd1675ca4920605b1b5ca32dd5141a8f23'
+ '73bd76de0e89a9cc31e5605659837d83b3c8dfde'
+ '16640870a69cfc48021ee3acfea7c95834549d46')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../forwarded-for.patch
+ patch -p1 -i ../discreet.patch
+ patch -p1 -i ../getline.patch
+ echo 'mkv video/x-matroska' >> mime_types.txt
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ CPPFLAGS= ./configure --prefix=/usr --mandir=/usr/share/man
+ sed \
+ -e 's/^CFLAGS =/CFLAGS +=/' \
+ -e '/^STATICFLAG =/c STATICFLAG =' \
+ -i Makefile */Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -d "${pkgdir}"/usr/share/man/man{1,8}
+ make \
+ BINDIR="${pkgdir}"/usr/bin \
+ WEBDIR="${pkgdir}"/srv/http \
+ MANDIR="${pkgdir}"/usr/share/man \
+ WEBGROUP=root install
+
+ rm -fr "${pkgdir}"/srv
+ chown root:root -R "${pkgdir}"
+ chmod 755 -R "${pkgdir}"/usr/bin # strip needs u+w
+
+ install -Dm644 ../config "${pkgdir}"/etc/thttpd.conf
+ install -Dm644 ../service "${pkgdir}"/usr/lib/systemd/system/thttpd.service
+ install -Dm644 ../logrotate.d "${pkgdir}"/etc/logrotate.d/thttpd
+
+ install -d "${pkgdir}"/var/log/thttpd
+ install -d "${pkgdir}"/usr/share/licenses/"${pkgname}"
+ head -n 26 thttpd.c > "${pkgdir}"/usr/share/licenses/"${pkgname}"/LICENSE
+
+ # conflicts with apache
+ mv "${pkgdir}"/usr/bin/htpasswd{,-thttpd}
+ mv "${pkgdir}"/usr/share/man/man1/htpasswd{,-thttpd}.1
+}
diff --git a/community/thttpd/config b/community/thttpd/config
new file mode 100644
index 000000000..6be17f1f7
--- /dev/null
+++ b/community/thttpd/config
@@ -0,0 +1,7 @@
+dir=/srv/http
+vhost
+user=http
+cgipat=**.cgi
+logfile=/var/log/thttpd/thttpd.log
+pidfile=/var/run/thttpd.pid
+charset=utf-8
diff --git a/community/thttpd/discreet.patch b/community/thttpd/discreet.patch
new file mode 100644
index 000000000..b427ecc2c
--- /dev/null
+++ b/community/thttpd/discreet.patch
@@ -0,0 +1,34 @@
+diff -Naur old/libhttpd.c new/libhttpd.c
+--- old/libhttpd.c 2012-04-27 14:24:50.971711600 +0200
++++ new/libhttpd.c 2012-04-27 14:33:24.559135581 +0200
+@@ -744,7 +744,7 @@
+ (void) my_snprintf( buf, sizeof(buf), "\
+ <HTML>\n\
+ <HEAD><TITLE>%d %s</TITLE></HEAD>\n\
+-<BODY BGCOLOR=\"#cc9999\" TEXT=\"#000000\" LINK=\"#2020ff\" VLINK=\"#4040cc\">\n\
++<BODY>\n\
+ <H2>%d %s</H2>\n",
+ status, title, status, title );
+ add_response( hc, buf );
+@@ -769,11 +769,8 @@
+ char buf[1000];
+
+ (void) my_snprintf( buf, sizeof(buf), "\
+-<HR>\n\
+-<ADDRESS><A HREF=\"%s\">%s</A></ADDRESS>\n\
+ </BODY>\n\
+-</HTML>\n",
+- SERVER_ADDRESS, EXPOSED_SERVER_SOFTWARE );
++</HTML>\n" );
+ add_response( hc, buf );
+ }
+
+@@ -2766,7 +2763,7 @@
+ (void) fprintf( fp, "\
+ <HTML>\n\
+ <HEAD><TITLE>Index of %.80s</TITLE></HEAD>\n\
+-<BODY BGCOLOR=\"#99cc99\" TEXT=\"#000000\" LINK=\"#2020ff\" VLINK=\"#4040cc\">\n\
++<BODY>\n\
+ <H2>Index of %.80s</H2>\n\
+ <PRE>\n\
+ mode links bytes last-changed name\n\
diff --git a/community/thttpd/forwarded-for.patch b/community/thttpd/forwarded-for.patch
new file mode 100644
index 000000000..348eb00cf
--- /dev/null
+++ b/community/thttpd/forwarded-for.patch
@@ -0,0 +1,16 @@
+diff -Naur old/libhttpd.c new/libhttpd.c
+--- old/libhttpd.c 2005-06-30 03:50:39.000000000 +1000
++++ new/libhttpd.c 2012-10-24 12:12:17.144560917 +1100
+@@ -2207,6 +2207,12 @@
+ if ( strcasecmp( cp, "keep-alive" ) == 0 )
+ hc->keep_alive = 1;
+ }
++ else if ( strncasecmp( buf, "X-Forwarded-For:", 16 ) == 0 )
++ {
++ cp = &buf[16];
++ cp += strspn( cp, " \t" );
++ inet_aton( cp, &(hc->client_addr.sa_in.sin_addr) );
++ }
+ #ifdef LOG_UNKNOWN_HEADERS
+ else if ( strncasecmp( buf, "Accept-Charset:", 15 ) == 0 ||
+ strncasecmp( buf, "Accept-Language:", 16 ) == 0 ||
diff --git a/community/thttpd/getline.patch b/community/thttpd/getline.patch
new file mode 100644
index 000000000..1ec3946b1
--- /dev/null
+++ b/community/thttpd/getline.patch
@@ -0,0 +1,21 @@
+diff -Nur thttpd-2.25b.orig/extras/htpasswd.c thttpd-2.25b/extras/htpasswd.c
+--- thttpd-2.25b.orig/extras/htpasswd.c 2001-12-19 02:08:08.000000000 +0200
++++ thttpd-2.25b/extras/htpasswd.c 2010-04-11 14:43:31.037809054 +0300
+@@ -49,7 +49,7 @@
+ while((line[y++] = line[x++]));
+ }
+
+-static int getline(char *s, int n, FILE *f) {
++static int get_line(char *s, int n, FILE *f) {
+ register int i=0;
+
+ while(1) {
+@@ -189,7 +189,7 @@
+ strcpy(user,argv[2]);
+
+ found = 0;
+- while(!(getline(line,MAX_STRING_LEN,f))) {
++ while(!(get_line(line,MAX_STRING_LEN,f))) {
+ if(found || (line[0] == '#') || (!line[0])) {
+ putline(tfp,line);
+ continue;
diff --git a/community/thttpd/logrotate.d b/community/thttpd/logrotate.d
new file mode 100644
index 000000000..efac62704
--- /dev/null
+++ b/community/thttpd/logrotate.d
@@ -0,0 +1,12 @@
+/var/log/thttpd/*log {
+ missingok
+ postrotate
+ test -d /sys/fs/cgroup/systemd && {
+ systemctl status thttpd.service | grep -q running &&
+ systemctl restart thttpd.service >/dev/null
+ } || {
+ rc.d list thttpd | grep -q STARTED &&
+ /etc/rc.d/thttpd restart >/dev/null
+ }
+ endscript
+}
diff --git a/community/thttpd/service b/community/thttpd/service
new file mode 100644
index 000000000..2b40115ba
--- /dev/null
+++ b/community/thttpd/service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Tiny HTTP Daemon
+
+[Service]
+PIDFile=/run/thttpd.pid
+ExecStart=/usr/bin/thttpd -D -C /etc/thttpd.conf
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/tig/PKGBUILD b/community/tig/PKGBUILD
new file mode 100644
index 000000000..bfb561b9c
--- /dev/null
+++ b/community/tig/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Loui Chang <louipc dot ist at gmail company>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: Nathan Jones <nathanj@insightbb.com>
+
+pkgname=tig
+pkgver=1.1
+pkgrel=1
+pkgdesc='Text-mode interface for Git.'
+depends=('git' 'ncurses')
+url='http://jonas.nitro.dk/tig/'
+license=('GPL')
+arch=('i686' 'x86_64')
+source=("http://jonas.nitro.dk/${pkgname}/releases/${pkgname}-${pkgver}.tar.gz")
+md5sums=('adeb797a8320962eeb345a615257cbac')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install install-doc-man
+ install -Dm0644 contrib/tigrc "$pkgdir/etc/tigrc.sample"
+ install -Dm0644 contrib/tig-completion.bash "$pkgdir/usr/share/bash-completion/completions/tig"
+}
diff --git a/community/tigervnc/PKGBUILD b/community/tigervnc/PKGBUILD
new file mode 100644
index 000000000..4e2ad657b
--- /dev/null
+++ b/community/tigervnc/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id: PKGBUILD 93706 2013-07-08 14:56:58Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Uroš Vampl <mobile.leecher at gmail dot com>
+
+pkgname=tigervnc
+pkgver=1.3.0
+pkgrel=1
+_xorgver=1.14.2
+pkgdesc="suite of VNC servers and clients. VNC 4 branch of TightVNC."
+arch=('i686' 'x86_64')
+url="http://www.tigervnc.org"
+license=('GPL')
+depends=('pam' 'gnutls' 'libjpeg-turbo' 'libxft' 'libxinerama' 'libxcursor'
+ 'libxtst' 'libxfont' 'pixman' 'xorg-xauth' 'xorg-xsetroot'
+ 'xkeyboard-config' 'libgl' 'libgcrypt' 'perl' 'xorg-xkbcomp'
+ 'fltk')
+makedepends=('cmake' 'nasm' 'xorg-font-util' 'xorg-util-macros' 'bigreqsproto'
+ 'compositeproto' 'damageproto' 'randrproto' 'resourceproto'
+ 'scrnsaverproto' 'videoproto' 'xcmiscproto' 'xf86vidmodeproto'
+ 'xtrans' 'mesa' 'glproto' 'dri2proto' 'imagemagick' 'librsvg')
+options=(!libtool)
+conflicts=('tightvnc')
+source=(http://downloads.sourceforge.net/project/tigervnc/tigervnc/$pkgver/tigervnc-$pkgver.tar.bz2
+ ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${_xorgver}.tar.bz2
+ vncserver.service
+ vncviewer.desktop
+ xserver114.patch)
+md5sums=('a5158228e64d14496821a39bf3851f1b'
+ '5d36a6483e8e301875131e8302c67727'
+ '0903d5a0dfa38e0b04964505b644585c'
+ '15c0405f920c3dac250692e8922578d1'
+ '928faf837ba5b1b34283f9f018df2f5e')
+
+prepare() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ cp -r ${srcdir}/xorg-server-${_xorgver}/* unix/xserver
+}
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DUSE_INCLUDED_FLTK=yes
+ make
+ make -C media
+
+ cd unix/xserver
+ patch -Np1 -i ${srcdir}/xserver114.patch
+ autoreconf -fiv
+ ./configure --prefix=/usr \
+ --disable-static --disable-xinerama --without-dtrace \
+ --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
+ --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
+ --disable-config-dbus --disable-config-hal --disable-config-udev \
+ --disable-unit-tests --disable-devel-docs --disable-selective-werror \
+ --disable-dri --enable-dri2 --enable-glx --enable-glx-tls
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ cd unix/xserver/hw/vnc
+ make DESTDIR=${pkgdir} install
+ sed -i 's/iconic/nowin/' ${pkgdir}/usr/bin/vncserver
+ install -Dm0644 $srcdir/vncserver.service $pkgdir/usr/lib/systemd/system/vncserver.service
+ install -dm0755 $pkgdir/usr/share/icons
+ install -m0644 ${srcdir}/${pkgname}-${pkgver}/media/icons/* $pkgdir/usr/share/icons/
+ install -Dm0644 $srcdir/vncviewer.desktop $pkgdir/usr/share/applications/vncviewer.desktop
+}
diff --git a/community/tigervnc/vncserver.service b/community/tigervnc/vncserver.service
new file mode 100644
index 000000000..a5bb02ade
--- /dev/null
+++ b/community/tigervnc/vncserver.service
@@ -0,0 +1,28 @@
+# The vncserver service unit file
+#
+# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service
+# 2. Edit User=
+# ("User=foo")
+# 3. Edit and vncserver parameters appropriately
+# ("/usr/bin/vncserver %i -arg1 -arg2 -argn")
+# 4. Run `systemctl --system daemon-reload`
+# 5. Run `systemctl enable vncserver@:<display>.service`
+#
+# DO NOT RUN THIS SERVICE if your local area network is untrusted!
+#
+# See the wiki page for more on security
+# https://wiki.archlinux.org/index.php/Vncserver
+
+[Unit]
+Description=Remote desktop service (VNC)
+After=syslog.target network.target
+
+[Service]
+Type=forking
+User=
+
+ExecStart=/usr/bin/vncserver %i
+ExecStop=/usr/bin/vncserver -kill %i
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/tigervnc/vncviewer.desktop b/community/tigervnc/vncviewer.desktop
new file mode 100644
index 000000000..b14e4fe2a
--- /dev/null
+++ b/community/tigervnc/vncviewer.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=TigerVNC viewer
+Comment=TigerVNC viewer
+Exec=/usr/bin/vncviewer
+Icon=tigervnc_32.png
+Terminal=false
+StartupNotify=false
+Categories=Application; Network;
diff --git a/community/tigervnc/xserver114.patch b/community/tigervnc/xserver114.patch
new file mode 100644
index 000000000..80dd6a225
--- /dev/null
+++ b/community/tigervnc/xserver114.patch
@@ -0,0 +1,84 @@
+diff -up xorg-server-20130109/configure.ac.vnc xorg-server-20130109/configure.ac
+--- xorg-server-20130109/configure.ac.vnc 2013-01-24 13:01:31.013267503 +0100
++++ xorg-server-20130109/configure.ac 2013-01-24 13:08:43.283941751 +0100
+@@ -72,6 +72,7 @@ dnl forcing an entire recompile.x
+ AC_CONFIG_HEADERS(include/version-config.h)
+
+ AM_PROG_AS
++AC_PROG_CXX
+ AC_PROG_LN_S
+ AC_LIBTOOL_WIN32_DLL
+ AC_DISABLE_STATIC
+@@ -1573,6 +1574,10 @@ if test "x$XVFB" = xyes; then
+ AC_SUBST([XVFB_SYS_LIBS])
+ fi
+
++dnl Xvnc DDX
++AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"])
++AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
++AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"])
+
+ dnl Xnest DDX
+
+@@ -1608,6 +1613,8 @@ if test "x$XORG" = xauto; then
+ fi
+ AC_MSG_RESULT([$XORG])
+
++AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
++
+ if test "x$XORG" = xyes; then
+ XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
+ XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
+@@ -1826,7 +1833,6 @@ if test "x$XORG" = xyes; then
+ AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
+ AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
+ AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
+- AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+ AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
+ AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
+ AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
+@@ -2291,6 +2297,7 @@ hw/dmx/Makefile
+ hw/dmx/man/Makefile
+ hw/vfb/Makefile
+ hw/vfb/man/Makefile
++hw/vnc/Makefile
+ hw/xnest/Makefile
+ hw/xnest/man/Makefile
+ hw/xwin/Makefile
+diff -up xorg-server-20130109/hw/Makefile.am.vnc xorg-server-20130109/hw/Makefile.am
+--- xorg-server-20130109/hw/Makefile.am.vnc 2013-01-10 06:06:16.000000000 +0100
++++ xorg-server-20130109/hw/Makefile.am 2013-01-24 13:08:43.283941751 +0100
+@@ -33,7 +33,8 @@ SUBDIRS = \
+ $(XNEST_SUBDIRS) \
+ $(DMX_SUBDIRS) \
+ $(KDRIVE_SUBDIRS) \
+- $(XQUARTZ_SUBDIRS)
++ $(XQUARTZ_SUBDIRS) \
++ vnc
+
+ DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
+
+diff -up xorg-server-20130109/mi/miinitext.c.vnc xorg-server-20130109/mi/miinitext.c
+--- xorg-server-20130109/mi/miinitext.c.vnc 2013-01-10 06:06:16.000000000 +0100
++++ xorg-server-20130109/mi/miinitext.c 2013-01-24 13:08:43.283941751 +0100
+@@ -112,6 +112,10 @@ SOFTWARE.
+ #include "micmap.h"
+ #include "globals.h"
+
++#ifdef TIGERVNC
++extern void vncExtensionInit(INITARGS);
++#endif
++
+ /* The following is only a small first step towards run-time
+ * configurable extensions.
+ */
+@@ -302,6 +306,9 @@ static ExtensionModule staticExtensions[
+ #ifdef XSELINUX
+ {SELinuxExtensionInit, SELINUX_EXTENSION_NAME, &noSELinuxExtension},
+ #endif
++#ifdef TIGERVNC
++ {vncExtensionInit, "VNC-EXTENSION", NULL},
++#endif
+ };
+
+ static ExtensionModule *ExtensionModuleList = NULL;
diff --git a/community/tightvnc/PKGBUILD b/community/tightvnc/PKGBUILD
new file mode 100644
index 000000000..f911b2e26
--- /dev/null
+++ b/community/tightvnc/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 79388 2012-11-04 00:54:52Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Paul Mattal <paul@archlinux.org>
+# Contributor: Andrew Hills <hills.as@gmail.com>
+# Contributor: John <graysky@archlinux.us>
+
+pkgname=tightvnc
+pkgver=1.3.10
+pkgrel=9
+pkgdesc='VNC server and viewer'
+arch=('x86_64' 'i686')
+license=('GPL')
+url='http://www.tightvnc.com'
+depends=('libjpeg' 'zlib' 'libxaw' 'libxp' 'xorg-xauth' 'perl')
+makedepends=('imake' 'setconf' 'gendesk')
+options=('!makeflags')
+source=("http://downloads.sf.net/sourceforge/vnc-tight/$pkgname-${pkgver}_unixsrc.tar.bz2"
+ 'http://people.csail.mit.edu/jaffer/Color/rgb.txt'
+ 'vncserver.service'
+ 'tightvnc.png::http://virtual.itca.edu.sv/dokeos/sinapsis/cd/redes/vnc/tightvnc/documentos/TightVNC%20Frequently%20Asked%20Questions_archivos/tightvnc-logo.jpg')
+sha256sums=('f48c70fea08d03744ae18df6b1499976362f16934eda3275cead87baad585c0d'
+ 'af6c056a95ae725f98534db22b9a4916d17f2356fdca84a4a038211a82fa8a73'
+ 'ccadf1fc708fad601e6113464d6c533a629f6dc9116f6071347cd0b465c1f48b'
+ '2592196a56444143c2f0c3738dce98f89ea0d46b125a3ea54ac1dbb50914b945')
+_exec=('vncviewer')
+_name=('TightVNC Viewer')
+
+build() {
+ cd $srcdir
+ gendesk -n
+ setconf $pkgname.desktop Categories 'Application;Network;'
+
+ cd vnc_unixsrc
+ setconf vncserver '$vncClasses' \"/usr/share/tightvnc\"\;
+ setconf vncserver '$fontPath' \
+ \"/usr/share/fonts/misc/,/usr/share/fonts/75dpi/,/usr/share/fonts/100dpi/,/usr/share/fonts/Type1/\"\;
+ sed -i 's:/lib/cpp:/usr/bin/cpp:' Xvnc/config/cf/linux.cf
+ xmkmf
+ make World
+
+ cd Xvnc
+ ./configure
+ setconf programs/Xserver/dix/Makefile DEFAULTRGBDATABASE '/usr/share/tightvnc/rgb'
+ setconf programs/Xserver/os/Makefile PROTO_DEFINES "-D_XOPEN_SOURCE=500L"
+ setconf lib/font/fc/Makefile PROTO_DEFINES "-D_XOPEN_SOURCE=500L"
+ make
+}
+
+package() {
+ cd $srcdir/vnc_unixsrc
+ mkdir -p $pkgdir/usr/bin $pkgdir/usr/share/man/man1
+ ./vncinstall $pkgdir/usr/bin $pkgdir/usr/share/man
+ mkdir -p $pkgdir/usr/share/$pkgname
+
+ cd $srcdir
+ install -Dm644 vnc_unixsrc/classes/* \
+ $pkgdir/usr/share/$pkgname
+ install -Dm644 rgb.txt $pkgdir/usr/share/$pkgname/rgb.txt
+ install -Dm644 $pkgname.desktop \
+ $pkgdir/usr/share/applications/$pkgname.desktop
+ install -Dm644 $pkgname.png \
+ $pkgdir/usr/share/pixmaps/$pkgname.png
+ install -Dm644 vncserver.service \
+ $pkgdir/usr/lib/systemd/system/vncserver.service
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/tightvnc/vncserver.service b/community/tightvnc/vncserver.service
new file mode 100644
index 000000000..b64e729a6
--- /dev/null
+++ b/community/tightvnc/vncserver.service
@@ -0,0 +1,29 @@
+# The vncserver service unit file
+#
+# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service
+# 2. Edit User=
+# ("User=foo")
+# 3. Edit and vncserver parameters appropriately
+# ("/usr/bin/vncserver %i -arg1 -arg2 -argn")
+# 4. Run `systemctl --system daemon-reload`
+# 5. Run `systemctl enable vncserver@:<display>.service`
+#
+# DO NOT RUN THIS SERVICE if your local area network is untrusted!
+#
+# See the wiki page for more on security
+# https://wiki.archlinux.org/index.php/Vncserver
+
+[Unit]
+Description=Remote desktop service (VNC)
+After=syslog.target network.target
+
+[Service]
+Type=forking
+User=
+# Clean any existing files in /tmp/.X11-unix environment, especially useful for VMs
+ExecStartPre=-/usr/bin/vncserver -kill %i
+ExecStart=/usr/bin/vncserver %i
+ExecStop=/usr/bin/vncserver -kill %i
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/tilda/PKGBUILD b/community/tilda/PKGBUILD
new file mode 100644
index 000000000..19ba559f2
--- /dev/null
+++ b/community/tilda/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 71879 2012-06-02 18:37:37Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=tilda
+pkgver=0.9.6
+pkgrel=6
+pkgdesc="Linux terminal based on classic terminals from first person shooter games"
+arch=('i686' 'x86_64')
+url="http://tilda.sourceforge.net"
+license=('GPL')
+depends=('vte' 'confuse' 'libglade')
+makedepends=('gawk')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
+ tilda-fix.patch tilda-glib2.patch tilda-conf-sigsegv.patch)
+sha256sums=('b3bd0f63eb83a5001ef26056ca116e5f8005d454f8f82a94f334868862068411'
+ 'ceac38bb33a0e8141f7b6cbc55807c999729319f2fdfaa3c375aa1a541d29729'
+ 'c71cdd8cdc1fdd76c919605c6b7a1b89e4929d20630db17145e6c2b584c8aaf9'
+ 'e28c731c0ca94210d5e4f4b7dd0eee9952405593f1d06e4ab2d87ee299e3e533')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+# gdk && desktop file fix FS#25762
+ patch -p0 -i ${srcdir}/$pkgname-fix.patch
+
+# glib2 fix
+ patch -p0 -i ${srcdir}/$pkgname-glib2.patch
+
+# fix segfaults on malformed config files FS#29754
+ patch -p0 -i ${srcdir}/$pkgname-conf-sigsegv.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/tilda/tilda-conf-sigsegv.patch b/community/tilda/tilda-conf-sigsegv.patch
new file mode 100644
index 000000000..a48aad0a3
--- /dev/null
+++ b/community/tilda/tilda-conf-sigsegv.patch
@@ -0,0 +1,11 @@
+--- src/key_grabber.c 2008-04-08 00:12:31.000000000 +0200
++++ src/key_grabber.c 2012-05-17 19:43:25.227699421 +0200
+@@ -257,7 +257,7 @@
+ gboolean tilda_keygrabber_bind (const gchar *keystr, tilda_window *tw)
+ {
+ /* Empty strings are no good */
+- if (strcmp ("", keystr) == 0)
++ if (!keystr || strcmp ("", keystr) == 0)
+ return FALSE;
+
+ return tomboy_keybinder_bind (keystr, onKeybindingPull, tw);
diff --git a/community/tilda/tilda-fix.patch b/community/tilda/tilda-fix.patch
new file mode 100644
index 000000000..a6d273c26
--- /dev/null
+++ b/community/tilda/tilda-fix.patch
@@ -0,0 +1,24 @@
+--- src/key_grabber.c 2008-04-08 01:12:31.000000000 +0300
++++ src/key_grabber.c 2009-10-16 17:39:16.399679408 +0300
+@@ -190,7 +190,7 @@
+ * Overriding the user time here seems to work a lot better than calling
+ * gtk_window_present_with_time() here, or at the end of the function. I have
+ * no idea why, they should do the same thing. */
+- gdk_x11_window_set_user_time (GTK_WIDGET(tw->window)->window,
++ gdk_x11_window_set_user_time (GTK_WIDGET(tw->window),
+ tomboy_keybinder_get_current_event_time());
+ gtk_window_move (GTK_WINDOW(tw->window), config_getint ("x_pos"), config_getint ("y_pos"));
+ gtk_widget_show (GTK_WIDGET(tw->window));
+
+--- tilda.desktop.in 2007-03-16 04:53:34.000000000 +0100
++++ tilda.desktop.in 2011-08-28 19:08:53.000000000 +0200
+@@ -2 +1,0 @@
+-Encoding=UTF-8
+@@ -4,2 +3,2 @@
+-Exec=@BINDIR@/tilda
+-Icon=@PIXMAPSDIR@/tilda.png
++Exec=tilda
++Icon=tilda
+@@ -8 +7 @@
+-Categories=GNOME;GTK;Application;Utility;TerminalEmulator;
++Categories=GNOME;GTK;Utility;TerminalEmulator;System;
diff --git a/community/tilda/tilda-glib2.patch b/community/tilda/tilda-glib2.patch
new file mode 100644
index 000000000..2d048e565
--- /dev/null
+++ b/community/tilda/tilda-glib2.patch
@@ -0,0 +1,11 @@
+--- src/tomboykeybinder.h 2007-07-15 04:31:19.000000000 +0200
++++ src/tomboykeybinder.h 2012-05-17 19:42:06.613150329 +0200
+@@ -2,7 +2,7 @@
+ #ifndef __TOMBOY_KEY_BINDER_H__
+ #define __TOMBOY_KEY_BINDER_H__
+
+-#include <glib/gtypes.h>
++//#include <glib/gtypes.h>
+
+ G_BEGIN_DECLS
+
diff --git a/community/tilda/tilda.changelog b/community/tilda/tilda.changelog
new file mode 100644
index 000000000..4248e9a32
--- /dev/null
+++ b/community/tilda/tilda.changelog
@@ -0,0 +1,20 @@
+2012-06-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+ * FS#29754 fixed
+
+2011-08-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+ * FS#25762 fixed
+
+2008-04-29 Mateusz Herych <heniekk@gmail.com>
+
+ * Updated for x86_64 - 0.9.6
+
+2008-04-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated for i686 - 0.9.6
+
+2007-12-30 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated to newer version - 0.9.5
+
diff --git a/community/tiled-qt/PKGBUILD b/community/tiled-qt/PKGBUILD
new file mode 100644
index 000000000..c26c18726
--- /dev/null
+++ b/community/tiled-qt/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase>
+# Collaborator: Jonathan Fine (were.Vire AT gmail DOT com)
+pkgname=tiled-qt
+pkgver=0.9.0
+pkgrel=6
+pkgdesc='A general purpose tile map editor, built to be flexible and easy to use'
+arch=('i686' 'x86_64')
+url='http://mapeditor.org'
+license=('GPL')
+depends=('qt5-base' 'libgl' 'gtk-update-icon-cache')
+makedepends=('mesa' 'qt5-tools')
+install=${pkgname}.install
+source=(http://sourceforge.net/projects/tiled/files/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('e2e21a54ff17e34b49b8a330cc8b657e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ qmake -r INSTALL_HEADERS=yes RPATH=no PREFIX=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make install INSTALL_ROOT=$pkgdir
+}
diff --git a/community/tiled-qt/tiled-qt.install b/community/tiled-qt/tiled-qt.install
new file mode 100644
index 000000000..71d138f2d
--- /dev/null
+++ b/community/tiled-qt/tiled-qt.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/tiled-qt/tiled.desktop b/community/tiled-qt/tiled.desktop
new file mode 100755
index 000000000..05a02fa58
--- /dev/null
+++ b/community/tiled-qt/tiled.desktop
@@ -0,0 +1,10 @@
+#!/usr/bin/env xdg-open
+[Desktop Entry]
+Name=Tiled
+Comment=Edit Video Game Tile Maps
+GenericName=Tiled
+Exec=tiled
+Terminal=false
+Type=Application
+Icon=tiled-icon
+Categories=Application;Qt;Games;Development;
diff --git a/community/tinc/PKGBUILD b/community/tinc/PKGBUILD
new file mode 100644
index 000000000..d27feb7d8
--- /dev/null
+++ b/community/tinc/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 92047 2013-05-31 00:34:01Z seblu $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: helios
+# Contributor: Lothar Gesslein
+# Contributor: Dominik George <nik@naturalnet.de>
+
+pkgname=tinc
+pkgver=1.0.21
+pkgrel=2
+pkgdesc="VPN (Virtual Private Network) daemon"
+arch=('i686' 'x86_64')
+url="http://www.tinc-vpn.org/"
+license=('GPL')
+depends=('lzo2' 'openssl')
+install=tinc.install
+source=(http://www.tinc-vpn.org/packages/tinc-$pkgver.tar.gz{,.sig}
+ tincd@.service)
+md5sums=('d7bc9ca38672c9da08d74ff2a3e8e36d'
+ 'SKIP'
+ '112327da32fdb56ab779fe004712235f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+ install -dm755 "$pkgdir"/usr/share/tinc/examples
+ tar xozvf doc/sample-config.tar.gz -C $pkgdir/usr/share/tinc/examples
+ find "$pkgdir"/usr/share/tinc/examples -type f -exec chmod 644 {} +
+ find "$pkgdir"/usr/share/tinc/examples -type d -exec chmod 755 {} +
+
+ install -Dm644 "$srcdir/tincd@.service" "$pkgdir/usr/lib/systemd/system/tincd@.service"
+}
diff --git a/community/tinc/tinc.install b/community/tinc/tinc.install
new file mode 100644
index 000000000..1b804fd8d
--- /dev/null
+++ b/community/tinc/tinc.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(tinc.info.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/tinc/tincd@.service b/community/tinc/tincd@.service
new file mode 100644
index 000000000..069bf4570
--- /dev/null
+++ b/community/tinc/tincd@.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Tinc daemon for net %i
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/tincd -n %i
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/tint2/PKGBUILD b/community/tint2/PKGBUILD
new file mode 100644
index 000000000..09bc4aff4
--- /dev/null
+++ b/community/tint2/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 64903 2012-02-18 20:04:04Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Blue Peppers <bluepeppers@archlinux.us>
+# Contributor: Stefan Husmann< stefan-husmann@t-online.de>
+
+pkgname=tint2
+pkgver=0.11
+pkgrel=5
+pkgdesc="A basic, good-looking task manager for WMs"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/tint2/"
+license=('GPL2')
+conflicts=('ttm-svn' 'tint')
+replaces=('tint')
+depends=('gtk2' 'imlib2')
+optdepends=('pygtk: for using tint2conf')
+makedepends=('pygtk' 'cmake')
+provides=('tint')
+source=("http://$pkgname.googlecode.com/files/$pkgname-${pkgver}.tar.bz2"
+ 'add-power-now-support.patch')
+md5sums=('6fc5731e7425125fa84a2add5cef4bff'
+ '6cfcad028f1bd2f69812167f5395f890')
+
+build() {
+ cd "$srcdir/$pkgname-${pkgver}"
+
+ # add support for power_now battery attribute (fixes FS#21954)
+ patch -Np0 -i ../add-power-now-support.patch
+
+ # python2 fix
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' src/tint2conf/tintwizard.py
+ sed -i 's_python _python2 _' src/tint2conf/main.c
+
+ [ -d build ] || mkdir build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr ../
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-${pkgver}/build"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/tint2/add-power-now-support.patch b/community/tint2/add-power-now-support.patch
new file mode 100644
index 000000000..5057043df
--- /dev/null
+++ b/community/tint2/add-power-now-support.patch
@@ -0,0 +1,19 @@
+diff -rup ../tint2-0.11.orig/src/battery/battery.c ./src/battery/battery.c
+--- ../tint2-0.11.orig/src/battery/battery.c 2010-12-02 23:56:11.313403140 +0100
++++ ./src/battery/battery.c 2010-12-02 23:57:22.266956142 +0100
+@@ -184,8 +184,14 @@ void init_battery()
+ }
+ g_free(path2);
+ }
+- if (path_energy_now && path_energy_full) {
++
++ path_current_now = g_build_filename(battery_dir, "power_now", NULL);
++ if (!g_file_test (path_current_now, G_FILE_TEST_EXISTS)) {
++ g_free(path_current_now);
+ path_current_now = g_build_filename(battery_dir, "current_now", NULL);
++ }
++
++ if (path_energy_now && path_energy_full) {
+ path_status = g_build_filename(battery_dir, "status", NULL);
+
+ // check file
diff --git a/community/tinyproxy/PKGBUILD b/community/tinyproxy/PKGBUILD
new file mode 100644
index 000000000..c2adfa0b2
--- /dev/null
+++ b/community/tinyproxy/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 92033 2013-05-30 23:55:47Z seblu $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Andrea Zucchelli <zukka77@gmail.com>
+
+pkgname=tinyproxy
+pkgver=1.8.3
+pkgrel=7
+pkgdesc='A light-weight HTTP proxy daemon for POSIX operating systems.'
+arch=('i686' 'x86_64')
+url='https://banu.com/tinyproxy/'
+license=('GPL')
+makedepends=('asciidoc')
+install="${pkgname}.install"
+backup=('etc/tinyproxy/tinyproxy.conf')
+source=("https://banu.com/pub/${pkgname}/1.8/${pkgname}-${pkgver}.tar.bz2"
+ 'tinyproxy.tmpfiles.conf'
+ 'tinyproxy.service')
+md5sums=('292ac51da8ad6ae883d4ebf56908400d'
+ '3c2764578f26581346fe312da0519a3e'
+ '41938243faca487a14beeee5114f244e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc/tinyproxy --sbindir=/usr/bin \
+ --localstatedir=/var --enable-transparent
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm0644 "${srcdir}/tinyproxy.tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/tinyproxy.conf"
+
+ install -dm0755 -o nobody -g nobody "${pkgdir}/var/log/${pkgname}"
+
+ # Provide sane defaults
+ sed -i '/^#Listen/a\Listen 127.0.0.1' "${pkgdir}/etc/tinyproxy/tinyproxy.conf"
+
+ install -Dm0644 "${srcdir}/tinyproxy.service" \
+ "${pkgdir}/usr/lib/systemd/system/tinyproxy.service"
+}
diff --git a/community/tinyproxy/tinyproxy.install b/community/tinyproxy/tinyproxy.install
new file mode 100644
index 000000000..85f3dfc41
--- /dev/null
+++ b/community/tinyproxy/tinyproxy.install
@@ -0,0 +1,9 @@
+post_install() {
+ if [ ! -d /var/run/tinyproxy ]; then
+ install -dm0770 -o nobody -g nobody /var/run/tinyproxy
+ fi
+}
+
+post_upgrade() {
+ post_install "$@"
+}
diff --git a/community/tinyproxy/tinyproxy.service b/community/tinyproxy/tinyproxy.service
new file mode 100644
index 000000000..f1ef18faa
--- /dev/null
+++ b/community/tinyproxy/tinyproxy.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Tinyproxy Web Proxy Server
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/tinyproxy -c /etc/tinyproxy/tinyproxy.conf
+PIDFile=/run/tinyproxy/tinyproxy.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/tinyproxy/tinyproxy.tmpfiles.conf b/community/tinyproxy/tinyproxy.tmpfiles.conf
new file mode 100644
index 000000000..791a99ad1
--- /dev/null
+++ b/community/tinyproxy/tinyproxy.tmpfiles.conf
@@ -0,0 +1 @@
+d /var/run/tinyproxy 0770 nobody nobody -
diff --git a/community/tinyxml/PKGBUILD b/community/tinyxml/PKGBUILD
new file mode 100644
index 000000000..a8f263f30
--- /dev/null
+++ b/community/tinyxml/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 88660 2013-04-21 13:06:07Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Larry Hajali <larryhaja[at]gmail[dot]com>
+# Contributor: Hubert Grzeskowiak <arch at nemesis13 dot de>
+
+pkgname=tinyxml
+pkgver=2.6.2
+pkgrel=3
+pkgdesc='Simple, small, C++ XML parser that can be easily integrated into other programs'
+url="http://www.grinninglizard.com/tinyxml/"
+arch=('x86_64' 'i686')
+license=('zlib')
+depends=('gcc-libs')
+makedepends=('setconf')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}_${pkgver//./_}.tar.gz"
+ 'entity.patch'
+ "$pkgname-2.5.3-stl.patch"
+ "$pkgname.pc")
+sha256sums=('15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593'
+ 'ef493209b0a51160171fd834a7ecdddd02679463b85fb89a2ea254213e47f99b'
+ '3baf2c4dbc2c8f54a151dac8860113d2f549174f83ed85d552b094dfaebb52af'
+ '0e37a568eaebb8f0644f148a3d3efa921ac518217e1c0de46c2859d26516bcc4')
+
+prepare() {
+ cd "$srcdir/$pkgname"
+
+ # Fix entity encoding.
+ patch -p0 -i "$srcdir"/entity.patch
+
+ # Make TINYXML_USE_STL permanently defined in tinyxml.h
+ patch -p1 -i "$srcdir"/$pkgname-2.5.3-stl.patch
+
+ # Fix Makefile
+ setconf Makefile TINYXML_USE_STL YES
+ setconf Makefile RELEASE_CFLAGS "$CXXFLAGS -fPIC"
+}
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ make
+ g++ -fPIC "$CXXFLAGS" -shared -o "lib${pkgname}.so.0.$pkgver" \
+ -Wl,-soname,"lib${pkgname}.so.0" $(ls *.o | grep -v xmltest)
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ install -d -m 0755 "$pkgdir"/usr/{lib,include}
+ install -m 0755 "lib${pkgname}.so.0.$pkgver" "$pkgdir"/usr/lib/
+ install -m 0644 "$pkgname.h" tinystr.h "$pkgdir"/usr/include
+ install -Dm644 readme.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 "$srcdir/$pkgname.pc" "$pkgdir/usr/lib/pkgconfig/$pkgname.pc"
+
+ (cd "$pkgdir/usr/lib"
+ ln -s "lib${pkgname}.so.0.$pkgver" "lib${pkgname}.so.0"
+ ln -s "lib${pkgname}.so.0.$pkgver" "lib${pkgname}.so"
+ )
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/tinyxml/entity.patch b/community/tinyxml/entity.patch
new file mode 100644
index 000000000..66d89a617
--- /dev/null
+++ b/community/tinyxml/entity.patch
@@ -0,0 +1,64 @@
+? entity.patch
+Index: tinyxml.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/tinyxml.cpp,v
+retrieving revision 1.105
+diff -u -r1.105 tinyxml.cpp
+--- tinyxml.cpp 5 Jun 2010 19:06:57 -0000 1.105
++++ tinyxml.cpp 19 Jul 2010 21:24:16 -0000
+@@ -57,30 +57,7 @@
+ {
+ unsigned char c = (unsigned char) str[i];
+
+- if ( c == '&'
+- && i < ( (int)str.length() - 2 )
+- && str[i+1] == '#'
+- && str[i+2] == 'x' )
+- {
+- // Hexadecimal character reference.
+- // Pass through unchanged.
+- // &#xA9; -- copyright symbol, for example.
+- //
+- // The -1 is a bug fix from Rob Laveaux. It keeps
+- // an overflow from happening if there is no ';'.
+- // There are actually 2 ways to exit this loop -
+- // while fails (error case) and break (semicolon found).
+- // However, there is no mechanism (currently) for
+- // this function to return an error.
+- while ( i<(int)str.length()-1 )
+- {
+- outString->append( str.c_str() + i, 1 );
+- ++i;
+- if ( str[i] == ';' )
+- break;
+- }
+- }
+- else if ( c == '&' )
++ if ( c == '&' )
+ {
+ outString->append( entity[0].str, entity[0].strLength );
+ ++i;
+Index: xmltest.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/xmltest.cpp,v
+retrieving revision 1.89
+diff -u -r1.89 xmltest.cpp
+--- xmltest.cpp 5 Jun 2010 17:41:52 -0000 1.89
++++ xmltest.cpp 19 Jul 2010 21:24:16 -0000
+@@ -1340,6 +1340,16 @@
+ }*/
+ }
+
++ #ifdef TIXML_USE_STL
++ {
++ TiXmlDocument xml;
++ xml.Parse("<foo>foo&amp;#xa+bar</foo>");
++ std::string str;
++ str << xml;
++ XmlTest( "Entity escaping", "<foo>foo&amp;#xa+bar</foo>", str.c_str() );
++ }
++ #endif
++
+ /* 1417717 experiment
+ {
+ TiXmlDocument xml;
diff --git a/community/tinyxml/tinyxml-2.5.3-stl.patch b/community/tinyxml/tinyxml-2.5.3-stl.patch
new file mode 100644
index 000000000..7bcde59ff
--- /dev/null
+++ b/community/tinyxml/tinyxml-2.5.3-stl.patch
@@ -0,0 +1,12 @@
+diff -up tinyxml/tinyxml.h~ tinyxml/tinyxml.h
+--- tinyxml/tinyxml.h~ 2007-11-30 22:39:36.000000000 +0100
++++ tinyxml/tinyxml.h 2007-11-30 22:39:36.000000000 +0100
+@@ -26,6 +26,8 @@ distribution.
+ #ifndef TINYXML_INCLUDED
+ #define TINYXML_INCLUDED
+
++#define TIXML_USE_STL 1
++
+ #ifdef _MSC_VER
+ #pragma warning( push )
+ #pragma warning( disable : 4530 )
diff --git a/community/tinyxml/tinyxml.pc b/community/tinyxml/tinyxml.pc
new file mode 100644
index 000000000..684b090cd
--- /dev/null
+++ b/community/tinyxml/tinyxml.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: TinyXml
+Description: simple, small, C++ XML parser
+Version: 2.6.2
+Libs: -L${libdir} -ltinyxml
+Cflags: -I${includedir}
diff --git a/community/tipp10/PKGBUILD b/community/tipp10/PKGBUILD
new file mode 100644
index 000000000..725ccb9e2
--- /dev/null
+++ b/community/tipp10/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 85418 2013-03-01 10:41:22Z andrea $
+# Maintainer: Florian Pritz <flo@xinu.at>
+# Contributor: toliman <altergan@hs-albsig.de>
+
+pkgname=tipp10
+pkgver=2.1.0
+pkgrel=5
+pkgdesc="intelligent typing tutor"
+arch=('i686' 'x86_64')
+url="http://www.tipp10.com/"
+license=('GPL2')
+depends=('qt4')
+source=(defines.h.patch gcc-4.5.patch \
+ "http://www.tipp10.com/de/download/tipp10_source_v"${pkgver//./-}".zip")
+md5sums=('73a987123ca842026b7bde5e89370b86'
+ 'a9d388ddb17ae93f13acb915bc8eba57'
+ '38c1e1fc9c5ba183279efdd22b318b7a')
+
+_srcdir="$srcdir/tipp10_source_v${pkgver//./-}"
+
+build() {
+ cd "$_srcdir"
+
+ sed -i 's#tipp10v2.template#../share/tipp10/tipp10v2.template#' def/defines.h
+ patch -p0 < "$srcdir/defines.h.patch"
+ patch -p0 < "$srcdir/gcc-4.5.patch"
+ qmake
+ make
+}
+
+package() {
+ cd "$_srcdir"
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm755 tipp10 "$pkgdir/usr/bin/tipp10"
+ install -Dm644 release/tipp10v2.template "$pkgdir/usr/share/tipp10/tipp10v2.template"
+ install -Dm644 tipp10.png "$pkgdir/usr/share/pixmaps/tipp10.png"
+ install -Dm644 tipp10.desktop "$pkgdir/usr/share/applications/tipp10.desktop"
+}
diff --git a/community/tipp10/defines.h.patch b/community/tipp10/defines.h.patch
new file mode 100644
index 000000000..e7d057e53
--- /dev/null
+++ b/community/tipp10/defines.h.patch
@@ -0,0 +1,14 @@
+--- def/defines.h.orig 2011-03-12 22:44:51.000000000 +0100
++++ def/defines.h 2011-03-12 22:45:02.000000000 +0100
+@@ -27,9 +27,9 @@
+ #define DEFINES_H
+
+ // OS constants
+-#define APP_WIN true
++#define APP_WIN false
+ #define APP_MAC false
+-#define APP_X11 false
++#define APP_X11 true
+ #define APP_PORTABLE false //at least one of the 3 OS must be true too!
+
+ // Languages
diff --git a/community/tipp10/gcc-4.5.patch b/community/tipp10/gcc-4.5.patch
new file mode 100644
index 000000000..dfff82057
--- /dev/null
+++ b/community/tipp10/gcc-4.5.patch
@@ -0,0 +1,99 @@
+--- sql/chartablesql.cpp 2010-05-08 14:53:48.000000000 +0200
++++ sql/chartablesql.cpp 2010-05-08 14:53:59.000000000 +0200
+@@ -50,7 +50,7 @@
+ // Read the unicode value
+ unicode = value.toInt();
+ // Convert unicode to a char
+- unicodeToChar = QString::QString(QChar(unicode)); //"\'" + QString::QString(QChar(unicode)) + "\'";
++ unicodeToChar = QString(QChar(unicode)); //"\'" + QString::QString(QChar(unicode)) + "\'";
+ return unicodeToChar;
+ } else {
+ // Last column (error weight)
+--- sql/startsql.cpp 2010-05-08 14:54:24.000000000 +0200
++++ sql/startsql.cpp 2010-05-08 14:54:49.000000000 +0200
+@@ -338,7 +338,7 @@
+ for (i = 0; i < content.size(); i++) {
+ //simplifiedContent = QString::QString(
+ // content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive).simplified();
+- simplifiedContent = trim(QString::QString(
++ simplifiedContent = trim(QString(
+ content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive));
+
+ if (!query.exec("INSERT INTO own_content VALUES(NULL,'" +
+--- widget/lessondialog.cpp 2010-05-08 14:52:48.000000000 +0200
++++ widget/lessondialog.cpp 2010-05-08 14:53:11.000000000 +0200
+@@ -89,7 +89,7 @@
+ *lessonData = lineLessonContent->toPlainText().split("\n", QString::SkipEmptyParts);
+ // Delete empty lines
+ for (int i = 0; i < lessonData->size(); i++) {
+- if (QString::QString(lessonData->at(i).toLocal8Bit().constData()).simplified() == "") {
++ if (QString(lessonData->at(i).toLocal8Bit().constData()).simplified() == "") {
+ lessonData->removeAt(i);
+ }
+ }
+@@ -268,7 +268,7 @@
+ contentList = lineLessonContent->toPlainText().split("\n", QString::SkipEmptyParts);
+ // Delete empty lines
+ for (i = 0; i < contentList.size(); i++) {
+- if (QString::QString(contentList.at(i).toLocal8Bit().constData()).simplified() == "") {
++ if (QString(contentList.at(i).toLocal8Bit().constData()).simplified() == "") {
+ contentList.removeAt(i);
+ }
+ }
+--- widget/settingspages.cpp 2010-05-08 14:45:41.000000000 +0200
++++ widget/settingspages.cpp 2010-05-08 14:45:57.000000000 +0200
+@@ -617,7 +617,7 @@
+ QSettings settings;
+ #endif
+ settings.beginGroup("database");
+- settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString::QString(APP_USER_DB));
++ settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString(APP_USER_DB));
+ settings.endGroup();
+ }
+
+--- widget/tickerboard.cpp 2010-05-08 14:28:38.000000000 +0200
++++ widget/tickerboard.cpp 2010-05-08 14:44:11.000000000 +0200
+@@ -96,7 +96,7 @@
+
+ if (tickerSpeed == 50) {
+ scrollOffset = 290;
+- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
++ scroll(-290, 0, QRect(10, 15, 590, 35)); //contentsRect());
+ }
+
+ startFlag = true;
+@@ -150,7 +150,7 @@
+ scrollOffset = 0;
+ } else {
+ scrollOffset = 290;
+- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
++ scroll(-290, 0, QRect(10, 15, 590, 35)); //contentsRect());
+ }
+ splitLesson();
+ }
+@@ -239,7 +239,7 @@
+
+ // Move ticker 1 pixel to left
+ scrollOffset++;
+- scroll(-1, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
++ scroll(-1, 0, QRect(10, 15, 590, 35)); //contentsRect());
+
+ if ((lessonOffset - scrollOffset) <= 30) {
+ setSpeed(tickerSpeed);
+@@ -262,14 +262,14 @@
+ // 160 pixels overage (because the user must see at least the next word)
+ if ((lessonOffset - scrollOffset) > 200) {
+ scrollOffset += (lessonOffset - scrollOffset) - 200;
+- scroll(-((lessonOffset - scrollOffset) - 200), 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
++ scroll(-((lessonOffset - scrollOffset) - 200), 0, QRect(10, 15, 590, 35)); //contentsRect());
+ }
+ } else {
+ // If the user types faster than the ticker, move ticker faster after
+ // 160 pixels overage (because the user must see at least the next word)
+ if ((lessonOffset - scrollOffset) > 280) {
+ scrollOffset += 570;
+- scroll(-570, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
++ scroll(-570, 0, QRect(10, 15, 590, 35)); //contentsRect());
+ }
+
+ }
diff --git a/community/tix/PKGBUILD b/community/tix/PKGBUILD
new file mode 100644
index 000000000..fd24d859b
--- /dev/null
+++ b/community/tix/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 78264 2012-10-17 10:27:42Z allan $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Brice Méalier <mealier_brice@yahoo.fr>
+
+pkgname=tix
+pkgver=8.4.3
+pkgrel=4
+pkgdesc="Tk Interface eXtension, a powerful set of user interface components"
+arch=(i686 'x86_64')
+url="http://tix.sourceforge.net/"
+license=("BSD")
+depends=('tk' 'libx11')
+source=(http://downloads.sourceforge.net/tix/Tix$pkgver-src.tar.gz
+ tcl-tk-path.patch)
+md5sums=('2b8bf4b10a852264678182652f477e59'
+ 'd4df48da39dd51872d58706a51bab505')
+
+build() {
+ cd $srcdir/Tix$pkgver
+
+ patch -p1 <$srcdir/tcl-tk-path.patch
+
+ export CFLAGS="$CFLAGS -DERR_IN_PROGRESS=2"
+
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+ # move things around
+
+ install -m755 tools/tixindex $pkgdir/usr/bin/tixindex
+ rm -rf $pkgdir/usr/lib/Tix8.4/html
+ rm -f $pkgdir/usr/lib/Tix8.4/{README.txt,license.terms}
+ ln -s Tix$pkgver/libTix$pkgver.so $pkgdir/usr/lib/libTix$pkgver.so
+
+ mkdir -p $pkgdir/usr/share/man/man1
+ mkdir -p $pkgdir/usr/share/man/man3
+ cp -p man/tixwish.1 $pkgdir/usr/share/man/man1
+ cd $srcdir/Tix$pkgver/man
+ for i in *.n; do
+ cp -p $i $pkgdir/usr/share/man/man3/${i%n}3
+ done
+
+ mkdir -p $pkgdir/usr/share/licenses/tix
+ cp $srcdir/Tix$pkgver/license.terms $pkgdir/usr/share/licenses/tix/
+}
+
diff --git a/community/tix/tcl-tk-path.patch b/community/tix/tcl-tk-path.patch
new file mode 100644
index 000000000..2fc12671e
--- /dev/null
+++ b/community/tix/tcl-tk-path.patch
@@ -0,0 +1,22 @@
+diff -wbBur Tix8.4.3/configure Tix8.4.3.my/configure
+--- Tix8.4.3/configure 2008-02-28 04:35:01.000000000 +0000
++++ Tix8.4.3.my/configure 2009-12-28 10:57:33.000000000 +0000
+@@ -6645,7 +6645,7 @@
+ ;;
+ esac
+ else
+- if test ! -f "${TCL_SRC_DIR}/generic/tclInt.h" ; then
++ if test ! -f "${TCL_SRC_DIR}/tclInt.h" ; then
+ { { echo "$as_me:$LINENO: error: Cannot find private header tclInt.h in ${TCL_SRC_DIR}" >&5
+ echo "$as_me: error: Cannot find private header tclInt.h in ${TCL_SRC_DIR}" >&2;}
+ { (exit 1); exit 1; }; }
+@@ -6700,7 +6700,7 @@
+ ;;
+ esac
+ else
+- if test ! -f "${TK_SRC_DIR}/generic/tkInt.h" ; then
++ if test ! -f "${TK_SRC_DIR}/tk-private/generic/tkInt.h" ; then
+ { { echo "$as_me:$LINENO: error: Cannot find private header tkInt.h in ${TK_SRC_DIR}" >&5
+ echo "$as_me: error: Cannot find private header tkInt.h in ${TK_SRC_DIR}" >&2;}
+ { (exit 1); exit 1; }; }
+
diff --git a/community/tksystray/PKGBUILD b/community/tksystray/PKGBUILD
new file mode 100644
index 000000000..e3fff8ef4
--- /dev/null
+++ b/community/tksystray/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 81610 2012-12-25 00:34:16Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Pavel Borzenkov <pavel.borzenkov@gmail.com>
+
+pkgname=tksystray
+pkgver=0.1
+pkgrel=6
+pkgdesc="tksystray is compatible with freedesktop.org standarts systray for Tk"
+arch=('i686' 'x86_64')
+url="http://tkabber.jabber.ru/tksystray"
+license=("GPL")
+depends=(tcl tk imlib)
+source=(ftp://ftp.archlinux.org/other/community/tksystray/tksystray_$pkgver.orig.tar.gz)
+md5sums=('d1784d2f786304bd6eaa82512fd5cf1c')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --with-tcl=/usr/lib --with-tk=/usr/lib
+ make
+ mkdir -p $pkgdir/usr/lib/$pkgname-$pkgver
+ cp -rf libtray.so $pkgdir/usr/lib/$pkgname-$pkgver
+ cp -rf pkgIndex.tcl $pkgdir/usr/lib/$pkgname-$pkgver
+}
diff --git a/community/tktheme/PKGBUILD b/community/tktheme/PKGBUILD
new file mode 100644
index 000000000..869dfe6ee
--- /dev/null
+++ b/community/tktheme/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 81611 2012-12-25 00:34:17Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: slubman <slubman@slubman.net>
+
+pkgname=tktheme
+pkgver=0.23
+pkgrel=8
+pkgdesc="A library to allow Tkabber docking in the system tray."
+arch=('i686' 'x86_64')
+depends=('tk' 'libxpm' 'libxmu')
+license=("GPL")
+source=(http://tkabber.jabber.ru/files/other/Tk_Theme-23.tgz)
+url="http://tkabber.jabber.ru"
+md5sums=('121c335e3b3764cbd04eea68b6a66dd3')
+
+build() {
+ cd $srcdir/Tk_Theme-23
+ tclsh configure
+ make
+ mkdir -p $pkgdir/usr/lib/tktheme
+ cp theme.so $pkgdir/usr/lib/tktheme/
+ cp pkgIndex.tcl $pkgdir/usr/lib/tktheme/
+ sed -i 's|ifneeded Tk_Theme 20|ifneeded Tk_Theme 23|' $pkgdir/usr/lib/tktheme/pkgIndex.tcl
+}
diff --git a/community/tls/PKGBUILD b/community/tls/PKGBUILD
new file mode 100644
index 000000000..661973fe7
--- /dev/null
+++ b/community/tls/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 59810 2011-11-30 14:40:18Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s@gmail.com>
+# Contributor: Mario Vazquez <mariovazq@gmail.com>
+
+pkgname=tls
+pkgver=1.6
+pkgrel=4
+pkgdesc="OpenSSL extension to Tcl"
+arch=('i686' 'x86_64')
+url="http://tls.sourceforge.net/"
+license=('GPL')
+depends=('tcl' 'openssl' 'awk')
+source=(http://downloads.sourceforge.net/project/tls/tls/$pkgver/tls$pkgver-src.tar.gz)
+md5sums=('eb326ff9e6fc3b9885aa5c72fb8df3bf')
+
+build() {
+ cd $srcdir/tls$pkgver
+ ./configure --prefix=/usr --with-ssl-dir=/usr
+ make
+}
+
+check() {
+ cd $srcdir/tls$pkgver
+# make test | awk '{print}/FAILED/{F=1}END{if(F)exit 1}'
+}
+
+package() {
+ cd $srcdir/tls$pkgver
+ make DESTDIR=$pkgdir install
+ ln -s tls$pkgver/libtls$pkgver.so $pkgdir/usr/lib/libtls$pkgver.so
+}
diff --git a/community/tls/tls.patch b/community/tls/tls.patch
new file mode 100644
index 000000000..46e70439f
--- /dev/null
+++ b/community/tls/tls.patch
@@ -0,0 +1,28 @@
+--- Makefile.in
++++ Makefile.in
+@@ -208,20 +208,20 @@
+ sed -e "s#\@RELPATH\@#$(RELPATH)#" \
+ -e "s#\@tls_LIB_FILE\@#$(tls_LIB_FILE)#" \
+ < $(srcdir)/pkgIndex.tcl.in > pkgIndex.tcl
+- $(INSTALL_DATA) pkgIndex.tcl $(pkglibdir)
++ $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir)
+
+ #========================================================================
+ # This rule installs platform-independent files, such as header files.
+ #========================================================================
+
+ install-libraries: libraries
+- $(mkinstalldirs) $(includedir)
+- @echo "Installing header files in $(includedir)"
++ $(mkinstalldirs) $(DESTDIR)$(includedir)
++ @echo "Installing header files in $(DESTDIR)$(includedir)"
+ @for i in $(GENERIC_HDRS) ; do \
+ echo "Installing $$i" ; \
+- $(INSTALL_DATA) $$i $(includedir) ; \
++ $(INSTALL_DATA) $$i $(DESTDIR)$(includedir) ; \
+ done;
+- $(INSTALL_DATA) $(srcdir)/tls.tcl $(pkglibdir)
++ $(INSTALL_DATA) $(srcdir)/tls.tcl $(DESTDIR)$(pkglibdir)
+
+ #========================================================================
+ # Install documentation. Unix manpages should go in the $(mandir)
diff --git a/community/tmux/LICENSE b/community/tmux/LICENSE
new file mode 100644
index 000000000..3ccacc76d
--- /dev/null
+++ b/community/tmux/LICENSE
@@ -0,0 +1,13 @@
+Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
+IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/community/tmux/PKGBUILD b/community/tmux/PKGBUILD
new file mode 100644
index 000000000..7a7744ce8
--- /dev/null
+++ b/community/tmux/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 87109 2013-03-27 11:16:29Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: TDY <tdy@gmx.com>
+# Contributor: Grigorios Bouzakis <grbzks[at]gmail[dot]com>
+
+pkgname=tmux
+pkgver=1.8
+pkgrel=1
+pkgdesc='A terminal multiplexer'
+url='http://tmux.sourceforge.net/'
+arch=('i686' 'x86_64')
+license=('BSD')
+depends=('ncurses' 'libevent')
+source=(http://downloads.sourceforge.net/tmux/tmux-$pkgver.tar.gz
+ LICENSE)
+md5sums=('b9477de2fe660244cbc6e6d7e668ea0e'
+ '71601bc37fa44e4395580b321963018e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make install DESTDIR=$pkgdir
+ install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/tmux/LICENSE"
+
+ install -dm755 "$pkgdir/usr/share/tmux/"
+ install -m644 examples/* "$pkgdir/usr/share/tmux/"
+ install -Dm644 examples/tmux.vim "$pkgdir/usr/share/vim/vimfiles/syntax/tmux.vim"
+
+ install -d $pkgdir/usr/share/bash-completion/completions/
+ mv $pkgdir/usr/share/tmux/bash_completion_tmux.sh $pkgdir/usr/share/bash-completion/completions/tmux
+}
diff --git a/community/tmw/PKGBUILD b/community/tmw/PKGBUILD
new file mode 100644
index 000000000..59d8d0c4f
--- /dev/null
+++ b/community/tmw/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 90095 2013-05-06 19:39:43Z foutrelis $
+# Contributor: Bjorn Lindeijer <bjorn lindeijer nl>
+# Maintainer: Mateusz Herych <heniekk@gmail.com>
+
+pkgname=tmw
+pkgver=0.6.1
+pkgrel=2
+pkgdesc="The Mana World (TMW) is a serious effort to create an innovative free and open source MMORPG."
+arch=('i686' 'x86_64')
+url="http://themanaworld.org"
+license=('GPL')
+depends=('glu' 'curl' 'guichan' 'sdl_image' 'libgl' 'libxml2' 'physfs'
+ 'sdl_mixer' 'sdl_net' 'sdl_gfx' 'sdl_ttf')
+makedepends=('cmake' 'mesa')
+#source=(http://downloads.sourceforge.net/sourceforge/themanaworld/$pkgname-$pkgver.tar.bz2)
+source=($pkgname-$pkgver.tar.gz::https://github.com/mana/mana/tarball/v$pkgver)
+md5sums=('b021e368c813fb95bea00bbf02e6d607')
+
+build() {
+ cd $srcdir/mana-mana-*
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd $srcdir/mana-mana-*
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/tnef/PKGBUILD b/community/tnef/PKGBUILD
new file mode 100644
index 000000000..af56e5d39
--- /dev/null
+++ b/community/tnef/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 71507 2012-05-27 19:58:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jeffrey 'jf' Lim <jfs.world@gmail.com>
+
+pkgname=tnef
+pkgver=1.4.9
+pkgrel=1
+arch=(i686 x86_64)
+pkgdesc="Program which operates like tar to unpack the files inside an ms-tnef MIME attachment"
+url="http://sourceforge.net/projects/tnef/"
+license=('GPL')
+depends=()
+source=(http://downloads.sourceforge.net/project/tnef/tnef/tnef-$pkgver.tar.gz)
+md5sums=('83a3a8fe0c15c9bbe2a8dae74c46b761')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/tnftp/PKGBUILD b/community/tnftp/PKGBUILD
new file mode 100644
index 000000000..25fcc9256
--- /dev/null
+++ b/community/tnftp/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91426 2013-05-22 10:27:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Previous Contributor: Baptiste Daroussin <baptiste.daroussin@gmail.com>
+
+pkgname=tnftp
+pkgver=20130505
+pkgrel=1
+pkgdesc="NetBSD FTP client with several advanced features"
+arch=('i686' 'x86_64')
+url="ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/"
+license=('BSD')
+depends=('ncurses' 'dante' 'openssl')
+source=(ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/$pkgname-$pkgver.tar.gz)
+md5sums=('66e218d02ec7d9fc39ab70ba2900305a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --enable-editcomplete --enable-ssl
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make install DESTDIR=$pkgdir
+ install -Dm755 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+}
diff --git a/community/toolame/PKGBUILD b/community/toolame/PKGBUILD
new file mode 100644
index 000000000..48e2f25fc
--- /dev/null
+++ b/community/toolame/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65411 2012-02-21 03:29:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Victor Martinez Romanos <vmromanos@gmail.com>
+
+pkgname=toolame
+pkgver=02l
+pkgrel=9
+pkgdesc="An optimized mpeg 1/2 layer 2 audio encoder"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/toolame"
+license=('LGPL')
+depends=('glibc')
+source=(http://downloads.sourceforge.net/sourceforge/toolame/toolame-02l.tgz
+ toolame-02l.patch)
+md5sums=('5946e2dd78fbb57e54386b3b5d873fee'
+ '7fe02630ce8f08bd279a4bce93e64128')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p0 < ../toolame-02l.patch
+ [ "$CARCH" = "x86_64" ] && sed -i "s|-march=i686|-march=x86-64|g" Makefile
+ make
+ install -D -m755 toolame $pkgdir/usr/bin/toolame
+}
diff --git a/community/toolame/toolame-02l.patch b/community/toolame/toolame-02l.patch
new file mode 100644
index 000000000..241e89ad5
--- /dev/null
+++ b/community/toolame/toolame-02l.patch
@@ -0,0 +1,86 @@
+--- Makefile 2006-02-07 16:32:57.000000000 +0100
++++ Makefile 2006-02-07 16:39:07.000000000 +0100
+@@ -1,6 +1,3 @@
+-
+-CC = gcc
+-
+ c_sources = \
+ common.c \
+ encode.c \
+@@ -28,16 +25,16 @@
+
+ #Uncomment this if you want to do some profiling/debugging
+ #PG = -g -pg
+-PG = -fomit-frame-pointer
++PG = -pipe
+
+ # Optimize flag. 3 is about as high as you can sanely go with GCC3.2.
+-OPTIM = -O3
++OPTIM = -O2
+
+ # These flags are pretty much mandatory
+ REQUIRED = -DNDEBUG -DINLINE=inline
+
+ #pick your architecture
+-ARCH = -march=pentium
++ARCH = -march=i686
+ #Possible x86 architectures
+ #gcc3.2 => i386, i486, i586, i686, pentium, pentium-mmx
+ # pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3,
+@@ -56,7 +53,7 @@
+
+ NEW_02L_FIXES = -DNEWENCODE -DNEWATAN
+
+-CC_SWITCHES = $(OPTIM) $(REQUIRED) $(ARCH) $(PG) $(TWEAKS) $(WARNINGS) $(NEW_02L_FIXES)
++CC_SWITCHES = $(OPTIM) $(REQUIRED) $(ARCH) $(PG) $(FLAGS) $(WARNINGS) $(NEW_02L_FIXES)
+
+ PGM = toolame
+
+@@ -75,16 +72,16 @@
+ $(CC) $(CC_SWITCHES) -c $< -o $@
+
+ $(PGM): $(OBJ) Makefile
+- $(CC) $(PG) -o $(PGM) $(OBJ) $(LIBS)
++ $(CC) -o $(PGM) $(OBJ) $(LIBS)
+
+ clean:
+- -rm $(OBJ) $(DEP)
++ -rm $(OBJ) $(DEP) 2>/dev/null
+
+ megaclean:
+- -rm $(OBJ) $(DEP) $(PGM) \#*\# *~
++ -rm $(OBJ) $(DEP) $(PGM) \#*\# *~ 2>/dev/null
+
+ distclean:
+- -rm $(OBJ) $(DEP) $(PGM) \#* *~ gmon.out gprof* core *shit* *.wav *.mp2 *.c.* *.mp2.* *.da *.h.* *.d *.mp3 *.pcm *.wav logfile
++ -rm $(OBJ) $(DEP) $(PGM) \#* *~ gmon.out gprof* core *shit* *.wav *.mp2 *.c.* *.mp2.* *.da *.h.* *.d *.mp3 *.pcm *.wav logfile 2>/dev/null
+
+ tags: TAGS
+
+
+--- audio_read.c 2003-03-01 17:18:30.000000000 -0800
++++ audio_read.c 2005-04-19 22:32:41.288998770 -0700
+@@ -436,7 +436,7 @@
+
+ if (pcm_aiff_data->sampleSize != sizeof (short) * BITS_IN_A_BYTE) {
+ fprintf (stderr, "Sound data is not %d bits in \"%s\".\n",
+- sizeof (short) * BITS_IN_A_BYTE, file_name);
++ (int)(sizeof (short) * BITS_IN_A_BYTE), file_name);
+ exit (1);
+ }
+
+
+--- fft.c 2003-03-01 23:14:45.000000000 -0800
++++ fft.c 2005-04-19 22:47:49.019986989 -0700
+@@ -1190,9 +1190,9 @@
+ static FLOAT atan_t[ATANSIZE];
+
+ INLINE FLOAT atan_table(FLOAT y, FLOAT x) {
+- int index;
++ unsigned int index;
+
+- index = (int)(ATANSCALE * fabs(y/x));
++ index = (unsigned int)(ATANSCALE * fabs(y/x));
+ if (index>=ATANSIZE)
+ index = ATANSIZE-1;
+
diff --git a/community/tor/PKGBUILD b/community/tor/PKGBUILD
new file mode 100644
index 000000000..f21989d87
--- /dev/null
+++ b/community/tor/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 92386 2013-06-04 12:52:29Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: simo <simo@archlinux.org>
+# Contributor: Sid Karunaratne
+
+pkgname=tor
+pkgver=0.2.3.25
+pkgrel=3
+pkgdesc='Anonymizing overlay network.'
+arch=('i686' 'x86_64')
+url='http://www.torproject.org/'
+license=('BSD')
+depends=('openssl' 'libevent' 'torsocks' 'bash')
+makedepends=('ca-certificates')
+backup=('etc/tor/torrc'
+ 'etc/tor/torrc-dist'
+ 'etc/tor/tor-tsocks.conf')
+install='tor.install'
+source=("http://www.torproject.org/dist/${pkgname}-${pkgver}.tar.gz"{,.asc}
+ 'torrc'
+ 'tor.service')
+md5sums=('a1c364189a9a66ed9daa8e6436489daf'
+ 'SKIP'
+ 'c1dd4004c63edaeaa829e01be5413cfc'
+ 'a396657e6f6df21d319ad586500c04b1')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -dm0700 "${pkgdir}/var/lib/tor"
+
+ mv "${pkgdir}/etc/tor/torrc.sample" "${pkgdir}/etc/tor/torrc-dist"
+ install -Dm0644 "${srcdir}/torrc" "${pkgdir}/etc/tor/torrc"
+
+ install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ install -Dm0644 "${srcdir}/tor.service" "${pkgdir}/usr/lib/systemd/system/tor.service"
+}
diff --git a/community/tor/tor.install b/community/tor/tor.install
new file mode 100644
index 000000000..beceb6070
--- /dev/null
+++ b/community/tor/tor.install
@@ -0,0 +1,17 @@
+post_install() {
+ groupadd -g 43 tor &>/dev/null
+ useradd -u 43 -g tor -d /var/lib/tor -s /bin/false tor &> /dev/null
+ chown tor:tor var/lib/tor &> /dev/null
+ chmod 700 var/lib/tor &> /dev/null
+}
+
+post_upgrade() {
+ getent group tor &>/dev/null || groupadd -g 43 tor &>/dev/null
+ getent passwd tor &>/dev/null || useradd -u 43 -g tor -d /var/lib/tor -s /bin/false tor &> /dev/null
+ chown tor:tor var/lib/tor &> /dev/null
+}
+
+pre_remove() {
+ getent passwd tor &>/dev/null && userdel tor &> /dev/null
+ getent group tor &>/dev/null && groupdel tor &> /dev/null
+}
diff --git a/community/tor/tor.service b/community/tor/tor.service
new file mode 100644
index 000000000..264a95624
--- /dev/null
+++ b/community/tor/tor.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Anonymizing Overlay Network
+After=network.target
+
+[Service]
+User=tor
+Type=simple
+ExecStart=/usr/bin/tor -f /etc/tor/torrc
+KillSignal=SIGINT
+LimitNOFILE=8192
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/tor/torrc b/community/tor/torrc
new file mode 100644
index 000000000..19e05970a
--- /dev/null
+++ b/community/tor/torrc
@@ -0,0 +1,189 @@
+## Configuration file for a typical Tor user
+## Last updated 22 April 2012 for Tor 0.2.3.14-alpha.
+## (may or may not work for much older or much newer versions of Tor.)
+##
+## Lines that begin with "## " try to explain what's going on. Lines
+## that begin with just "#" are disabled commands: you can enable them
+## by removing the "#" symbol.
+##
+## See 'man tor', or https://www.torproject.org/docs/tor-manual.html,
+## for more options you can use in this file.
+##
+## Tor will look for this file in various places based on your platform:
+## https://www.torproject.org/docs/faq#torrc
+
+## Tor opens a socks proxy on port 9050 by default -- even if you don't
+## configure one below. Set "SocksPort 0" if you plan to run Tor only
+## as a relay, and not make any local application connections yourself.
+#SocksPort 9050 # Default: Bind to localhost:9050 for local connections.
+#SocksPort 192.168.0.1:9100 # Bind to this adddress:port too.
+
+## Entry policies to allow/deny SOCKS requests based on IP address.
+## First entry that matches wins. If no SocksPolicy is set, we accept
+## all (and only) requests that reach a SocksPort. Untrusted users who
+## can access your SocksPort may be able to learn about the connections
+## you make.
+#SocksPolicy accept 192.168.0.0/16
+#SocksPolicy reject *
+
+## Logs go to stdout at level "notice" unless redirected by something
+## else, like one of the below lines. You can have as many Log lines as
+## you want.
+##
+## We advise using "notice" in most cases, since anything more verbose
+## may provide sensitive information to an attacker who obtains the logs.
+##
+## Send all messages of level 'notice' or higher to /var/log/tor/notices.log
+#Log notice file /var/log/tor/notices.log
+## Send every possible message to /var/log/tor/debug.log
+#Log debug file /var/log/tor/debug.log
+## Use the system log instead of Tor's logfiles
+Log notice syslog
+## To send all messages to stderr:
+#Log debug stderr
+
+## Uncomment this to start the process in the background... or use
+## --runasdaemon 1 on the command line. This is ignored on Windows;
+## see the FAQ entry if you want Tor to run as an NT service.
+#RunAsDaemon 1
+
+## The directory for keeping all the keys/etc. By default, we store
+## things in $HOME/.tor on Unix, and in Application Data\tor on Windows.
+DataDirectory /var/lib/tor
+
+## The port on which Tor will listen for local connections from Tor
+## controller applications, as documented in control-spec.txt.
+#ControlPort 9051
+## If you enable the controlport, be sure to enable one of these
+## authentication methods, to prevent attackers from accessing it.
+#HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C
+#CookieAuthentication 1
+
+############### This section is just for location-hidden services ###
+
+## Once you have configured a hidden service, you can look at the
+## contents of the file ".../hidden_service/hostname" for the address
+## to tell people.
+##
+## HiddenServicePort x y:z says to redirect requests on port x to the
+## address y:z.
+
+#HiddenServiceDir /var/lib/tor/hidden_service/
+#HiddenServicePort 80 127.0.0.1:80
+
+#HiddenServiceDir /var/lib/tor/other_hidden_service/
+#HiddenServicePort 80 127.0.0.1:80
+#HiddenServicePort 22 127.0.0.1:22
+
+################ This section is just for relays #####################
+#
+## See https://www.torproject.org/docs/tor-doc-relay for details.
+
+## Required: what port to advertise for incoming Tor connections.
+#ORPort 9001
+## If you want to listen on a port other than the one advertised in
+## ORPort (e.g. to advertise 443 but bind to 9090), you can do it as
+## follows. You'll need to do ipchains or other port forwarding
+## yourself to make this work.
+#ORPort 443 NoListen
+#ORPort 127.0.0.1:9090 NoAdvertise
+
+## The IP address or full DNS name for incoming connections to your
+## relay. Leave commented out and Tor will guess.
+#Address noname.example.com
+
+## If you have multiple network interfaces, you can specify one for
+## outgoing traffic to use.
+# OutboundBindAddress 10.0.0.5
+
+## A handle for your relay, so people don't have to refer to it by key.
+#Nickname ididnteditheconfig
+
+## Define these to limit how much relayed traffic you will allow. Your
+## own traffic is still unthrottled. Note that RelayBandwidthRate must
+## be at least 20 KB.
+## Note that units for these config options are bytes per second, not bits
+## per second, and that prefixes are binary prefixes, i.e. 2^10, 2^20, etc.
+#RelayBandwidthRate 100 KB # Throttle traffic to 100KB/s (800Kbps)
+#RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps)
+
+## Use these to restrict the maximum traffic per day, week, or month.
+## Note that this threshold applies separately to sent and received bytes,
+## not to their sum: setting "4 GB" may allow up to 8 GB total before
+## hibernating.
+##
+## Set a maximum of 4 gigabytes each way per period.
+#AccountingMax 4 GB
+## Each period starts daily at midnight (AccountingMax is per day)
+#AccountingStart day 00:00
+## Each period starts on the 3rd of the month at 15:00 (AccountingMax
+## is per month)
+#AccountingStart month 3 15:00
+
+## Contact info to be published in the directory, so we can contact you
+## if your relay is misconfigured or something else goes wrong. Google
+## indexes this, so spammers might also collect it.
+#ContactInfo Random Person <nobody AT example dot com>
+## You might also include your PGP or GPG fingerprint if you have one:
+#ContactInfo 0xFFFFFFFF Random Person <nobody AT example dot com>
+
+## Uncomment this to mirror directory information for others. Please do
+## if you have enough bandwidth.
+#DirPort 9030 # what port to advertise for directory connections
+## If you want to listen on a port other than the one advertised in
+## DirPort (e.g. to advertise 80 but bind to 9091), you can do it as
+## follows. below too. You'll need to do ipchains or other port
+## forwarding yourself to make this work.
+#DirPort 80 NoListen
+#DirPort 127.0.0.1:9091 NoAdvertise
+## Uncomment to return an arbitrary blob of html on your DirPort. Now you
+## can explain what Tor is if anybody wonders why your IP address is
+## contacting them. See contrib/tor-exit-notice.html in Tor's source
+## distribution for a sample.
+#DirPortFrontPage /etc/tor/tor-exit-notice.html
+
+## Uncomment this if you run more than one Tor relay, and add the identity
+## key fingerprint of each Tor relay you control, even if they're on
+## different networks. You declare it here so Tor clients can avoid
+## using more than one of your relays in a single circuit. See
+## https://www.torproject.org/docs/faq#MultipleRelays
+## However, you should never include a bridge's fingerprint here, as it would
+## break its concealability and potentionally reveal its IP/TCP address.
+#MyFamily $keyid,$keyid,...
+
+## A comma-separated list of exit policies. They're considered first
+## to last, and the first match wins. If you want to _replace_
+## the default exit policy, end this with either a reject *:* or an
+## accept *:*. Otherwise, you're _augmenting_ (prepending to) the
+## default exit policy. Leave commented to just use the default, which is
+## described in the man page or at
+## https://www.torproject.org/documentation.html
+##
+## Look at https://www.torproject.org/faq-abuse.html#TypicalAbuses
+## for issues you might encounter if you use the default exit policy.
+##
+## If certain IPs and ports are blocked externally, e.g. by your firewall,
+## you should update your exit policy to reflect this -- otherwise Tor
+## users will be told that those destinations are down.
+##
+## For security, by default Tor rejects connections to private (local)
+## networks, including to your public IP address. See the man page entry
+## for ExitPolicyRejectPrivate if you want to allow "exit enclaving".
+##
+#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more
+#ExitPolicy accept *:119 # accept nntp as well as default exit policy
+#ExitPolicy reject *:* # no exits allowed
+
+## Bridge relays (or "bridges") are Tor relays that aren't listed in the
+## main directory. Since there is no complete public list of them, even an
+## ISP that filters connections to all the known Tor relays probably
+## won't be able to block all the bridges. Also, websites won't treat you
+## differently because they won't know you're running Tor. If you can
+## be a real relay, please do; but if not, be a bridge!
+#BridgeRelay 1
+## By default, Tor will advertise your bridge to users through various
+## mechanisms like https://bridges.torproject.org/. If you want to run
+## a private bridge, for example because you'll give out your bridge
+## address manually to your friends, uncomment this line:
+#PublishServerDescriptor 0
+
diff --git a/community/torch/PKGBUILD b/community/torch/PKGBUILD
new file mode 100644
index 000000000..6ac1ae427
--- /dev/null
+++ b/community/torch/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 65413 2012-02-21 03:29:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=torch
+pkgver=3.1
+pkgrel=3
+pkgdesc="State of the art machine learning library"
+arch=(i686 x86_64)
+url="http://packages.debian.org/source/lenny/torch3"
+license=('GPL')
+depends=(gcc-libs)
+source=(http://ftp.de.debian.org/debian/pool/main/t/torch3/torch3_$pkgver.orig.tar.gz
+ http://ftp.de.debian.org/debian/pool/main/t/torch3/torch3_$pkgver-2.diff.gz)
+md5sums=('04f7dc72a1e875a12ddf8ac77ec2dcc7'
+ 'b928c4206abb3209435dca27ad3e3c22')
+
+build() {
+ cd "$srcdir/torch3-$pkgver.orig"
+
+ [ $NOEXTRACT -eq 1 ] || cat $srcdir/torch3_$pkgver-2.diff | patch -p1
+ [ $NOEXTRACT -eq 1 ] || make depend
+
+ make
+
+ mkdir -p $pkgdir/usr/{include/torch,lib}
+
+ for i in core convolutions datasets decoder distributions gradients kernels matrix nonparametrics speech; do
+ install -D -m0644 $i/*.h $pkgdir/usr/include/torch/
+ done
+
+ install -D -m0755 lib/*.so* $pkgdir/usr/lib/
+ install -D -m0644 lib/*.a $pkgdir/usr/lib/
+}
diff --git a/community/torcs/PKGBUILD b/community/torcs/PKGBUILD
new file mode 100644
index 000000000..02189a556
--- /dev/null
+++ b/community/torcs/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 90096 2013-05-06 19:39:45Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Shahar Weiss <sweiss4@gmx.net>
+
+pkgname=torcs
+pkgver=1.3.4
+pkgrel=2
+pkgdesc="A 3D racing cars simulator using OpenGL"
+url="http://torcs.sourceforge.net"
+license=("GPL")
+arch=('i686' 'x86_64')
+depends=('freeglut' 'libpng' 'freealut' 'libxi' 'libxmu' 'libxrandr' 'libvorbis' 'glu')
+makedepends=('plib' 'mesa')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-${pkgver/_/-}.tar.bz2
+ torcs.desktop)
+md5sums=('07dbc9c53e2b177be1f53fe97d53d039'
+ '328e419e9f985c3e7b69924fe299330d')
+
+build() {
+ cd $srcdir/$pkgname-${pkgver/_/-}
+ unset LDFLAGS
+ ./configure --prefix=/usr --x-includes=/usr/include --x-libraries=/usr/lib
+ make
+}
+
+package() {
+ depends=(${depends[@]} "torcs-data=$pkgver")
+ cd $srcdir/$pkgname-${pkgver/_/-}
+ make DESTDIR=${pkgdir} install
+ install -D -m644 Ticon.png ${pkgdir}/usr/share/pixmaps/torcs.png
+ install -D -m644 ../torcs.desktop ${pkgdir}/usr/share/applications/torcs.desktop
+ find ${pkgdir} -type d -exec chmod 755 {} \;
+}
diff --git a/community/torcs/torcs.desktop b/community/torcs/torcs.desktop
new file mode 100644
index 000000000..03d1ba010
--- /dev/null
+++ b/community/torcs/torcs.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=TORCS
+Comment=The Open Racing Car Simulator
+Exec=torcs
+Icon=torcs.png
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Application;Game;
diff --git a/community/torcs/torcs.sh b/community/torcs/torcs.sh
new file mode 100644
index 000000000..0f1b4fe8d
--- /dev/null
+++ b/community/torcs/torcs.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+export PATH=$PATH:/opt/torcs/bin
diff --git a/community/torsocks/PKGBUILD b/community/torsocks/PKGBUILD
new file mode 100644
index 000000000..352a1dce2
--- /dev/null
+++ b/community/torsocks/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+# Contributor: Rorschach <r0rschach@lavabit.com>
+
+pkgname=torsocks
+pkgver=1.3
+pkgrel=4
+pkgdesc='Wrapper to safely torify applications'
+arch=('i686' 'x86_64')
+url='http://code.google.com/p/torsocks'
+license=('GPL2')
+depends=('tor')
+makedepends=('git')
+options=(!libtool)
+backup=("etc/${pkgname}.conf")
+source=("git://git.torproject.org/torsocks.git#tag=1.3")
+md5sums=(SKIP)
+
+build() {
+ cd $pkgname
+ ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR="$pkgdir/" install
+ find "$pkgdir/usr/share" -maxdepth 1 -type f -delete
+}
diff --git a/community/transset-df/PKGBUILD b/community/transset-df/PKGBUILD
new file mode 100644
index 000000000..f5d373fa3
--- /dev/null
+++ b/community/transset-df/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 57820 2011-11-03 10:04:35Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Aaron Schaefer <aaron@elasticdog.com>
+
+pkgname=transset-df
+pkgver=6
+pkgrel=3
+pkgdesc="A patched version of X.Org's transset with added functionality."
+arch=('i686' 'x86_64')
+url='http://forchheimer.se/transset-df/'
+license=('GPL')
+depends=('libxcomposite' 'libxdamage' 'libxrender')
+source=("http://forchheimer.se/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('3375d570adc9d875d7fc476d1a50d5a5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -Dm0755 transset-df "${pkgdir}/usr/bin/transset-df"
+}
diff --git a/community/trayion/PKGBUILD b/community/trayion/PKGBUILD
new file mode 100644
index 000000000..f09722bfc
--- /dev/null
+++ b/community/trayion/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 65415 2012-02-21 03:30:41Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname="trayion"
+pkgver="0.1.2"
+pkgrel=2
+pkgdesc="FreeDesktop trayicon area for Ion3"
+url="http://code.google.com/p/trayion"
+arch=('i686' 'x86_64')
+license=('GPL2')
+depends=('libx11')
+makedepends=('make')
+install="$pkgname.install"
+source=("http://trayion.googlecode.com/files/$pkgname-$pkgver.tar.gz")
+md5sums=('6e1123121ed83bd7f9759a71d4ef9307')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+ make prefix="$pkgdir/usr" install
+}
diff --git a/community/trayion/trayion.install b/community/trayion/trayion.install
new file mode 100644
index 000000000..19562a5f6
--- /dev/null
+++ b/community/trayion/trayion.install
@@ -0,0 +1,19 @@
+post_install() {
+cat << EOF
+PLEASE NOTE:
+------------------------------------------------------------------------
+In order to get this package working correctly, disable the size hints
+kludges that come by default with Ion3. Copy /etc/ion3/cfg_kludges.lua
+to your ~/.ion3, then edit ~/.ion3/cfg_kludges.lua to comment the
+max_size and min_size kludges as below:
+
+ defwinprop{
+ is_dockapp = true,
+ statusbar = "systray",
+ -- max_size = { w = 64, h = 64},
+ -- min_size = { w = 64, h = 64},
+ }
+
+------------------------------------------------------------------------
+EOF
+}
diff --git a/community/tre/PKGBUILD b/community/tre/PKGBUILD
new file mode 100644
index 000000000..b54263570
--- /dev/null
+++ b/community/tre/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 56023 2011-09-29 06:45:36Z andrea $
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de
+# Contributor: Igor Galic<i.galic@gmail.com>
+
+pkgname=tre
+pkgver=0.8.0
+pkgrel=2
+arch=('i686' 'x86_64')
+pkgdesc="POSIX compliant regexp matching library. Includes agrep for aproximate grepping."
+url="http://laurikari.net/tre"
+depends=('glibc')
+license=('custom:BSD')
+source=("http://laurikari.net/tre/$pkgname-$pkgver.tar.bz2")
+md5sums=('b4d3232593dadf6746f4727bdda20b41')
+options=('!libtool')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+ ./configure --prefix=/usr --enable-static
+ make
+}
+
+package(){
+ cd ${srcdir}/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -Dm644 ${srcdir}/$pkgname-$pkgver/LICENSE \
+ ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+ install -d ${pkgdir}/usr/share/doc/$pkgname
+ cd doc
+ for _i in default.css tre-api.html tre-syntax.html; do
+ install -Dm644 ${_i} ${pkgdir}/usr/share/doc/$pkgname/${_i}
+ done
+}
diff --git a/community/tremulous/PKGBUILD b/community/tremulous/PKGBUILD
new file mode 100644
index 000000000..91b84c9e5
--- /dev/null
+++ b/community/tremulous/PKGBUILD
@@ -0,0 +1,77 @@
+# $Id: PKGBUILD 86782 2013-03-22 00:57:25Z eric $
+#Contributor: Daenyth <Daenyth+arch [AT] gmail [dot] com>
+
+pkgname=tremulous
+pkgver=1.1.0
+pkgrel=9
+pkgdesc="A free team based FPS/RTS hybrid built on the ioq3 engine. Includes community updates."
+url="http://tremulous.net"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('sdl' 'openal>=1.7.411' 'libgl' "tremulous-data=$pkgver" "freetype2")
+makedepends=(mesa)
+provides=("tremulous-updated=$pkgver-$pkgrel")
+conflicts=('tremulous-updated')
+replaces=('trem-backport' 'tremulous-updated')
+source=(http://releases.mercenariesguild.net/client/mg-client-manual.txt
+ http://releases.mercenariesguild.net/client/mgclient_source_Release_1.011.tar.gz
+ http://releases.mercenariesguild.net/tremded/mg_tremded_source_1.01.tar.gz
+ http://projects.mercenariesguild.net/attachments/download/109/game.qvm
+ http://projects.mercenariesguild.net/attachments/download/111/lakitu7_qvm.txt
+ tremdedrc
+ tremulous.desktop
+ tremded.sh
+ tremulous.sh
+ tremulous.xpm
+ fix_fs26749.patch)
+
+backup=('etc/tremdedrc')
+noextract=(mg_tremded_source_1.01.tar.gz)
+
+md5sums=('e0e1b6e03e7596da00a77fe638560402'
+ '95e526b961f875ba66b6fdd4842c913b'
+ '938bdf944dff667b74e2132a87a49780'
+ '90343619d140557d0c481a61ffa5756c'
+ 'a0b8970b33a27798c125f9152049013c'
+ 'f0056120d0192a0d4d591d1114439c52'
+ 'aef37632a2edcf74a53503a49530bad2'
+ 'b755d7c022cddc449ca2de508dfeee30'
+ '8e89473f9fdb481ad44e5cea5f6f681e'
+ '7e3a881608f1c7c0ccece1e07fcf92d8'
+ 'e85511d8a9e7309dc24fb90917463900')
+
+build() {
+ local _arch=${CARCH/i686/x86}
+
+ # Build the server
+ mkdir -p "$srcdir/tremded"
+ bsdtar -x -C "$srcdir/tremded" -f "$srcdir/mg_tremded_source_1.01.tar.gz"
+ cd "$srcdir/tremded"
+ make
+# Build the client
+ cd "$srcdir/Release_1.011"
+ patch -Np1 -i "$srcdir/fix_fs26749.patch"
+ make
+}
+
+package() {
+ cd "$srcdir/tremded"
+ install -D -m755 build/release-linux-$_arch/tremded.$_arch "$pkgdir/opt/tremulous/tremded.$_arch"
+ install -D -m644 "$srcdir/tremdedrc" "$pkgdir/etc/tremdedrc"
+ install -D -m644 "$srcdir/game.qvm" "$pkgdir/opt/tremulous/game.qvm"
+ install -D -m755 "$srcdir/tremded.sh" "$pkgdir/usr/bin/tremded"
+
+ cd "$srcdir/Release_1.011"
+ install -Dm755 build/release-linux-$_arch/tremulous.$_arch "$pkgdir/opt/tremulous/tremulous.$_arch"
+ install -D -m755 "$srcdir/tremulous.sh" "$pkgdir/usr/bin/tremulous"
+
+ # Install the documentation
+ install -Dm644 "$srcdir/mg-client-manual.txt" "$pkgdir/usr/share/tremulous/mg-client-manual.txt"
+ install -Dm644 "$srcdir/lakitu7_qvm.txt" "$pkgdir/usr/share/tremulous/lakitu7_qvm.txt"
+
+ # Install the .desktop and icon files
+ install -D -m644 "$srcdir/tremulous.xpm" "$pkgdir/usr/share/pixmaps/tremulous.xpm"
+ install -D -m644 "$srcdir/tremulous.desktop" "$pkgdir/usr/share/applications/tremulous.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/tremulous/fix_fs26749.patch b/community/tremulous/fix_fs26749.patch
new file mode 100644
index 000000000..12a73138c
--- /dev/null
+++ b/community/tremulous/fix_fs26749.patch
@@ -0,0 +1,21 @@
+diff -ruN Release_1.011-old/src/qcommon/parse.c Release_1.011/src/qcommon/parse.c
+--- Release_1.011-old/src/qcommon/parse.c 2011-12-02 19:11:49.307368651 -0500
++++ Release_1.011/src/qcommon/parse.c 2011-12-02 19:13:27.556836387 -0500
+@@ -981,7 +981,7 @@
+ {
+ if (*string == '\"')
+ {
+- strcpy(string, string+1);
++ memmove(string, string+1, strlen(string));
+ }
+ if (string[strlen(string)-1] == '\"')
+ {
+@@ -1784,7 +1784,7 @@
+ if ((*ptr == '\\' || *ptr == '/') &&
+ (*(ptr+1) == '\\' || *(ptr+1) == '/'))
+ {
+- strcpy(ptr, ptr+1);
++ memmove(ptr, ptr+1, strlen(ptr));
+ }
+ else
+ {
diff --git a/community/tremulous/tremded.sh b/community/tremulous/tremded.sh
new file mode 100644
index 000000000..339bdd501
--- /dev/null
+++ b/community/tremulous/tremded.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+CARCH=`uname -m`
+ext=x86; [ "$CARCH" = 'x86_64' ] && ext=x86_64
+
+[ -f /etc/tremdedrc ] && . /etc/tremdedrc
+[ -f "$HOME/.tremdedrc" ] && . "$HOME/.tremdedrc"
+
+if [ ! -r "$HOME/.tremulous/base/vm/game.qvm" ]; then
+ echo "Cannot find game.qvm -- linking to installed version."
+ if [ ! -d "$HOME/.tremulous/base/vm" ]; then
+ mkdir -p "$HOME/.tremulous/base/vm/" || exit 1
+ fi
+ ln -s /opt/tremulous/game.qvm "$HOME/.tremulous/base/vm/game.qvm" || exit 1
+fi
+
+cd /opt/tremulous/
+./tremded.$ext "$TREM_ARGS" "$@"
diff --git a/community/tremulous/tremdedrc b/community/tremulous/tremdedrc
new file mode 100644
index 000000000..7fbe122f6
--- /dev/null
+++ b/community/tremulous/tremdedrc
@@ -0,0 +1 @@
+TREM_ARGS="+set dedicated 1 +exec server.cfg"
diff --git a/community/tremulous/tremulous.desktop b/community/tremulous/tremulous.desktop
new file mode 100644
index 000000000..357c357bd
--- /dev/null
+++ b/community/tremulous/tremulous.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Tremulous
+Comment=A free team based FPS/RTS hybrid built on the ioq3 engine. Includes community updates.
+Icon=/usr/share/pixmaps/tremulous.xpm
+Exec=tremulous
+Terminal=false
+Categories=Game;ActionGame;
diff --git a/community/tremulous/tremulous.sh b/community/tremulous/tremulous.sh
new file mode 100644
index 000000000..01575befc
--- /dev/null
+++ b/community/tremulous/tremulous.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+CARCH=`uname -m`
+ext=x86; [ "$CARCH" = 'x86_64' ] && ext=x86_64
+
+if [ ! -r "$HOME/.tremulous/base/vm/game.qvm" ]; then
+ echo "Cannot find game.qvm -- linking to installed version."
+ if [ ! -d "$HOME/.tremulous/base/vm" ]; then
+ mkdir -p "$HOME/.tremulous/base/vm/" || exit 1
+ fi
+ ln -s /opt/tremulous/game.qvm "$HOME/.tremulous/base/vm/game.qvm" || exit 1
+fi
+
+cd /opt/tremulous/
+./tremulous.$ext "$@"
diff --git a/community/tremulous/tremulous.xpm b/community/tremulous/tremulous.xpm
new file mode 100644
index 000000000..5e070c862
--- /dev/null
+++ b/community/tremulous/tremulous.xpm
@@ -0,0 +1,90 @@
+/* XPM */
+static char * tremulous_xpm[] = {
+"48 48 39 1",
+" c None",
+". c #0F0F0F",
+"+ c #181818",
+"@ c #000000",
+"# c #282828",
+"$ c #212121",
+"% c #060606",
+"& c #1D1D1D",
+"* c #252525",
+"= c #080808",
+"- c #0E0E0E",
+"; c #050505",
+"> c #0B0B0B",
+", c #0C0C0C",
+"' c #232323",
+") c #1F1F1F",
+"! c #030303",
+"~ c #0D0D0D",
+"{ c #040404",
+"] c #020202",
+"^ c #141414",
+"/ c #1E1E1E",
+"( c #131313",
+"_ c #111111",
+": c #010101",
+"< c #191919",
+"[ c #090909",
+"} c #292929",
+"| c #070707",
+"1 c #121212",
+"2 c #1B1B1B",
+"3 c #161616",
+"4 c #0A0A0A",
+"5 c #222222",
+"6 c #242424",
+"7 c #1A1A1A",
+"8 c #151515",
+"9 c #101010",
+"0 c #171717",
+" ",
+" ... ",
+" +@@@@@# ",
+" $@@@@@@% ",
+" &@@@@@@@@ * ",
+" =- ;@@@@@@@@> ,@- ",
+" @@' ;@@@@@@@@@ ,@@ ",
+" )@! ;@@@@@@@@@ ~@@; ",
+" ;@{ ]@@@@@@@@@~ ,@@; ",
+" ^@@] /@@@@@@@@@@@( -@@; ",
+" .@@; /@@@@@@@@@@@ -@@@/ ",
+" _@@] /@@@@@@@@@@@ #:@@@_ ",
+" @@@; /@@@@@@@@@@< :@@@- ",
+" :@@! ]@@@@@@@@@ @@@@- ",
+" $@@@; ;@@@@@@@@[ ~]@@@- ",
+" %@@@; }!@@@@@@@@- }|@@@@, ",
+" !@@@; 1@@@@@@@@@@ 2@@@@@~ ",
+" ;@@@% [@@@@@@@@@@@@@@@@, ",
+" @@@@{|||:@@@@@@@@@@@@@@!- ",
+" -@@@@@@@@@@@@@@@@@@@@@] ",
+" .@@@@@@@@@@@@@@@@@@@{ ",
+" ]@@@@@@@@@@@@@@@@@ ",
+" .@@@@@@@@@@@@@@@@ ",
+" +@@@@@@@@@@@@@@@@@@@@@@@@@@/ ",
+" =@@@@@@@@@@@@@@@@@@@@@@@@@/ ",
+" .=@@@@@@@@@@@@@@@@@@% ",
+" ,@@@@@@@@@@@@@@@@@@@@@ ",
+" 2>]@@@@@@@@@@@@@@@@@@@@@@@3 ",
+" *:@@@@@@@@@@@@@@@@@@@@@@@@@^ ",
+" @@@||| 4]@@@@@@@@@@@@@@@@@ ",
+" 556 _@@@@@@@@@@@@@@@@3 ",
+" >@@@@@@@@@@@@@@@@+ ",
+" ;@@@@@@@@@@@@@@@@@7 ",
+" &@@@@@@@@@@@@@@@@@@@+ ",
+" @@@@@@@@@@@@@@@@@@@@@/ ",
+" 8@@@@@@@@@@@@@@@[ =@@| ",
+" ;@@:::@@@@@@@@@[ %@@[ ",
+" @@9 (@@@@@@@4 =@@ ",
+" ,@@ {:@@: {@! ",
+" !@@ << 3@@0 ",
+" !@- 3@@6 ",
+" ]@( (@[ ",
+" 7@@ ]@ ",
+" 7@@ * ",
+" 7@} ",
+" 7@ ",
+" . ",
+" "};
diff --git a/community/trickle/PKGBUILD b/community/trickle/PKGBUILD
new file mode 100644
index 000000000..018c21816
--- /dev/null
+++ b/community/trickle/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 80164 2012-11-17 02:17:02Z kkeen $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor Romain Bouchaud-Leduc <r0m1.bl@camaris.org>
+
+pkgname=trickle
+pkgver=1.07
+pkgrel=7
+pkgdesc="Lightweight userspace bandwidth shaper"
+arch=('i686' 'x86_64')
+url="http://monkey.org/~marius/trickle"
+license=('BSD')
+depends=('libevent')
+source=("http://monkey.org/~marius/trickle/${pkgname}-${pkgver}.tar.gz")
+md5sums=('860ebc4abbbd82957c20a28bd9390d7d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # FS#23194
+ sed -i 's|^_select(int|select(int|' trickle-overload.c
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man
+ sed -i "s|.*in_addr_t.*||g" config.h
+ make -j1
+}
+
+package(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/tuxcards/PKGBUILD b/community/tuxcards/PKGBUILD
new file mode 100644
index 000000000..a1b93dd03
--- /dev/null
+++ b/community/tuxcards/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 85419 2013-03-01 10:41:30Z andrea $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=tuxcards
+pkgver=2.2.1
+pkgrel=3
+pkgdesc="A hierarchical notebook to enter and manage notes and ideas in a structured manner"
+arch=('i686' 'x86_64')
+url="http://www.tuxcards.de"
+license=('GPL')
+depends=('qt4')
+source=(http://www.tuxcards.de/src/tuxcards-${pkgver}/${pkgname}-${pkgver}.tar.gz tuxcards.desktop)
+sha1sums=('c0410f28b51d58b4f372ffae0ce0d2a7329f2c45'
+ '565419ac6b24d61fc038462a783cb80d44b4fe7e')
+
+build() {
+ cd "${srcdir}/${pkgname}"
+ sed -i 's|/usr/local/doc/tuxcards/flowers/|/usr/share/tuxcards/flowers/|' src/CTuxCardsConfiguration.cpp
+ qmake tuxcards.pro
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}"
+ install -D -m755 tuxcards "${pkgdir}/usr/bin/tuxcards"
+ install -D -m644 src/icons/lo16-app-tuxcards.png "${pkgdir}/usr/share/icons/locolor/16x16/apps/tuxcards.png"
+ install -D -m644 src/icons/lo32-app-tuxcards.png "${pkgdir}/usr/share/icons/locolor/32x32/apps/tuxcards.png"
+ install -D -m644 "${srcdir}/tuxcards.desktop" "${pkgdir}/usr/share/applications/tuxcards.desktop"
+ install -D -m644 src/translations/tuxcards_de.qm "${pkgdir}/usr/share/tuxcards/i18/tuxcards_de.qm"
+ install -d "${pkgdir}/usr/share/tuxcards/flowers/"
+ install -m644 src/gui/cactusbar/flowers/*.gif "${pkgdir}/usr/share/tuxcards/flowers/"
+}
diff --git a/community/tuxcards/tuxcards.desktop b/community/tuxcards/tuxcards.desktop
new file mode 100644
index 000000000..9fac1c10a
--- /dev/null
+++ b/community/tuxcards/tuxcards.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Tuxcards
+Comment=Manage notes and ideas in tree structures
+Icon=/usr/share/icons/locolor/32x32/apps/tuxcards.png
+Exec=tuxcards
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=Application;Office;Utility
+Encoding=UTF-8
diff --git a/community/tuxcmd-modules/PKGBUILD b/community/tuxcmd-modules/PKGBUILD
new file mode 100644
index 000000000..39a8b5dd2
--- /dev/null
+++ b/community/tuxcmd-modules/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 67804 2012-03-14 13:37:17Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=tuxcmd-modules
+pkgver=0.6.70
+pkgrel=2
+pkgdesc='Modules for Tux Commander'
+arch=('i686' 'x86_64')
+url='http://tuxcmd.sourceforge.net/'
+license=('GPL')
+depends=('tuxcmd')
+makedepends=('sharutils')
+optdepends=('gvfs: for gvfs module')
+options=('!docs' '!emptydirs')
+source=("http://downloads.sourceforge.net/project/tuxcmd/tuxcmd/tuxcmd-dev-${pkgver}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('e3e2471f6f245d3191e9a845c73518ff')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ # fix Makefiles
+ sed -i 's|$(INSTALL) \(.*\) $(DESTDIR)/lib$(LIB_SUFFIX)/tuxcmd/|$(INSTALL) -D \1 $(DESTDIR)/lib/tuxcmd/\1|' */Makefile
+
+ make -j1
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir}/usr install
+}
diff --git a/community/tuxcmd/PKGBUILD b/community/tuxcmd/PKGBUILD
new file mode 100644
index 000000000..5eefb36b3
--- /dev/null
+++ b/community/tuxcmd/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 67802 2012-03-14 13:31:15Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=tuxcmd
+pkgver=0.6.70
+pkgrel=4
+pkgdesc='A GTK2 file manager with two panels'
+arch=('i686' 'x86_64')
+url='http://tuxcmd.sourceforge.net/'
+license=('GPL')
+depends=('gtk2' 'hicolor-icon-theme')
+makedepends=('fpc' 'desktop-file-utils')
+optdepends=('gnome-vfs: support for gvfs'
+ 'tuxcmd-modules: modules for tuxcmd')
+options=('!docs' '!emptydirs')
+install=${pkgname}.install
+source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgname}-dev-${pkgver}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('52e3bfa7c4118539b4c4b83e335290d1')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir}/usr install
+
+ # remove license and README file
+ rm -rf ${pkgdir}/usr/share/doc/
+}
diff --git a/community/tuxcmd/tuxcmd.install b/community/tuxcmd/tuxcmd.install
new file mode 100644
index 000000000..6507863a5
--- /dev/null
+++ b/community/tuxcmd/tuxcmd.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/tuxguitar/PKGBUILD b/community/tuxguitar/PKGBUILD
new file mode 100644
index 000000000..bbd3a8def
--- /dev/null
+++ b/community/tuxguitar/PKGBUILD
@@ -0,0 +1,133 @@
+# $Id: PKGBUILD 84141 2013-02-11 15:15:31Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: |AhIoRoS| < ahioros@gmail.com >
+
+pkgname=tuxguitar
+pkgver=1.2
+pkgrel=6
+_jdk=java-7-openjdk
+pkgdesc="multitrack guitar tablature editor and player"
+arch=('i686' 'x86_64')
+#url="http://www.herac.com.ar/contenidos/tuxguitar.html"
+url="http://sourceforge.net/projects/tuxguitar"
+license=('LGPL')
+depends=('java-runtime' 'swt' 'alsa-lib')
+makedepends=('unzip' 'zip' 'apache-ant' 'jack' 'fluidsynth' 'java-environment')
+optdepends=('fluidsynth')
+install=tuxguitar.install
+source=(tuxguitar-src-$pkgver.tar.gz::http://sourceforge.net/projects/tuxguitar/files/TuxGuitar/TuxGuitar-$pkgver/tuxguitar-src-$pkgver.tar.gz/download
+ tuxguitar.desktop
+ tuxguitar.xml)
+md5sums=('f41ed20e77c6c3d8968991a29c71b912'
+ '0afa7f3248b9317d73ad8ccdc5e5aaf0'
+ '59ce4eb8dcc0d0dde81e6cf2820aa9b0')
+
+build() {
+ cd $srcdir/tuxguitar-src-$pkgver
+
+ export CLASSPATH=/usr/share/java/swt.jar:$CLASSPATH
+
+ (cd TuxGuitar/ && ant)
+ (cd TuxGuitar-alsa/ && ant)
+ (cd TuxGuitar-fluidsynth/ && ant)
+ (cd TuxGuitar-jack/ && ant)
+ (cd TuxGuitar-oss/ && ant)
+ (cd TuxGuitar-compat/ && ant)
+ (cd TuxGuitar-gtp/ && ant)
+ (cd TuxGuitar-ptb/ && ant)
+ (cd TuxGuitar-tef/ && ant)
+ (cd TuxGuitar-midi/ && ant)
+ (cd TuxGuitar-lilypond/ && ant)
+ (cd TuxGuitar-musicxml/ && ant)
+ (cd TuxGuitar-ascii/ && ant)
+ (cd TuxGuitar-converter/ && ant)
+ (cd TuxGuitar-tray/ && ant)
+ (cd TuxGuitar-community/ && ant)
+ (cd TuxGuitar-gervill/ && ant)
+ (cd TuxGuitar-jsa/ && ant)
+
+ # alsa
+ pushd TuxGuitar-alsa/jni
+ gcc -I/usr/lib/jvm/${_jdk}/include -I/usr/lib/jvm/${_jdk}/include/linux -fPIC \
+ -c -o org_herac_tuxguitar_player_impl_midiport_alsa_MidiSystem.o \
+ org_herac_tuxguitar_player_impl_midiport_alsa_MidiSystem.c
+ gcc -shared -o libtuxguitar-alsa-jni.so org_herac_tuxguitar_player_impl_midiport_alsa_MidiSystem.o -L/usr/lib -lasound
+ popd
+
+ # oss
+ pushd TuxGuitar-oss/jni
+ gcc -I/usr/lib/jvm/${_jdk}/include -I/usr/lib/jvm/${_jdk}/include/linux -fPIC \
+ -c -o org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem.o \
+ org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem.c
+ gcc -shared -o libtuxguitar-oss-jni.so org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem.o -L/usr/lib
+ popd
+
+ # jack
+ pushd TuxGuitar-jack/jni
+ gcc -I/usr/lib/jvm/${_jdk}/include -I/usr/lib/jvm/${_jdk}/include/linux -fPIC \
+ -c -o org_herac_tuxguitar_jack_JackClient.o \
+ org_herac_tuxguitar_jack_JackClient.c
+ gcc -shared -o libtuxguitar-jack-jni.so org_herac_tuxguitar_jack_JackClient.o -L/usr/lib -ljack
+ popd
+
+ # fluidsynth
+ pushd TuxGuitar-fluidsynth/jni
+ gcc -I/usr/lib/jvm/${_jdk}/include -I/usr/lib/jvm/${_jdk}/include/linux -fPIC \
+ -c -o org_herac_tuxguitar_player_impl_midiport_fluidsynth_MidiSynth.o \
+ org_herac_tuxguitar_player_impl_midiport_fluidsynth_MidiSynth.c
+ gcc -shared -o libtuxguitar-fluidsynth-jni.so org_herac_tuxguitar_player_impl_midiport_fluidsynth_MidiSynth.o -L/usr/lib -lfluidsynth
+ popd
+}
+
+package() {
+ cd $srcdir/tuxguitar-src-$pkgver
+
+ mkdir -p $pkgdir/usr/share/tuxguitar
+ mkdir -p $pkgdir/usr/bin
+
+ cp -r TuxGuitar/share $pkgdir/usr/share/tuxguitar/
+ find -name \*.jar -exec sh -c 'cp {} '$pkgdir'/usr/share/tuxguitar/share/plugins/`basename {}`' \;
+ mv $pkgdir/usr/share/tuxguitar/share/plugins/tuxguitar.jar $pkgdir/usr/share/tuxguitar/
+ cp TuxGuitar/tuxguitar $pkgdir/usr/share/tuxguitar/
+
+ # alsa
+ pushd TuxGuitar-alsa/jni
+ install -D -m0755 libtuxguitar-alsa-jni.so $pkgdir/usr/lib/tuxguitar/libtuxguitar-alsa-jni.so
+ mkdir -p $pkgdir/usr/share/tuxguitar/lib
+ ln -s /usr/lib/tuxguitar/libtuxguitar-alsa-jni.so $pkgdir/usr/share/tuxguitar/lib/libtuxguitar-alsa-jni.so
+ popd
+
+ # oss
+ pushd TuxGuitar-oss/jni
+ install -D -m0755 libtuxguitar-oss-jni.so $pkgdir/usr/lib/tuxguitar/libtuxguitar-oss-jni.so
+ mkdir -p $pkgdir/usr/share/tuxguitar/lib
+ ln -s /usr/lib/tuxguitar/libtuxguitar-oss-jni.so $pkgdir/usr/share/tuxguitar/lib/libtuxguitar-oss-jni.so
+ popd
+
+ # jack
+ pushd TuxGuitar-jack/jni
+ install -D -m0755 libtuxguitar-jack-jni.so $pkgdir/usr/lib/tuxguitar/libtuxguitar-jack-jni.so
+ mkdir -p $pkgdir/usr/share/tuxguitar/lib
+ ln -s /usr/lib/tuxguitar/libtuxguitar-jack-jni.so $pkgdir/usr/share/tuxguitar/lib/libtuxguitar-jack-jni.so
+ popd
+
+ # fluidsynth
+ pushd TuxGuitar-fluidsynth/jni
+ install -D -m0755 libtuxguitar-fluidsynth-jni.so $pkgdir/usr/lib/tuxguitar/libtuxguitar-fluidsynth-jni.so
+ mkdir -p $pkgdir/usr/share/tuxguitar/lib
+ ln -s /usr/lib/tuxguitar/libtuxguitar-fluidsynth-jni.so $pkgdir/usr/share/tuxguitar/lib/libtuxguitar-fluidsynth-jni.so
+ popd
+
+ cd $pkgdir/usr/bin
+ cat >tuxguitar << EOF
+#!/bin/sh
+export CLASSPATH=/usr/share/java/swt.jar:$CLASSPATH
+export LD_LIBRARY_PATH=lib/:$LD_LIBRARY_PATH
+cd /usr/share/$pkgname
+exec /usr/share/$pkgname/tuxguitar "\$1" "\$2" "\$3" "\$4" "\$5" "\$6" "\$7" "\$8" "\$9"
+EOF
+
+ chmod 755 tuxguitar
+ install -D -m0644 $srcdir/tuxguitar.xml $pkgdir/usr/share/mime/packages/tuxguitar.xml
+ install -D -m0644 $srcdir/tuxguitar.desktop $pkgdir/usr/share/applications/tuxguitar.desktop
+}
diff --git a/community/tuxguitar/tuxguitar.desktop b/community/tuxguitar/tuxguitar.desktop
new file mode 100644
index 000000000..a733cff88
--- /dev/null
+++ b/community/tuxguitar/tuxguitar.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Name=tuxguitar
+Comment=Edit, playback guitar tablatures
+Comment[fr]=Edite, joue des tablatures de guitare
+Comment[es]=Edita, reproduce tablaturas de guitarra
+Icon=/usr/share/tuxguitar/share/skins/Lavender/icon-96x96.png
+Terminal=false
+Type=Application
+Categories=Application;AudioVideo;Audio;
+Exec=tuxguitar %F -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false
+MimeType=audio/x-tuxguitar;audio/x-gtp;audio/x-ptb;
+#eof "$Id: tuxguitar.desktop,v 1.2 2008/09/15 07:54:28 sergej Exp $"
diff --git a/community/tuxguitar/tuxguitar.install b/community/tuxguitar/tuxguitar.install
new file mode 100644
index 000000000..9069058c8
--- /dev/null
+++ b/community/tuxguitar/tuxguitar.install
@@ -0,0 +1,11 @@
+post_install() {
+ [ -x `which update-mime-database` ] && update-mime-database /usr/share/mime
+ [ -x `which update-desktop-database` ] && update-desktop-database
+ /bin/true
+}
+
+post_upgrade() {
+ [ -x `which update-mime-database` ] && update-mime-database /usr/share/mime
+ [ -x `which update-desktop-database` ] && update-desktop-database
+ /bin/true
+}
diff --git a/community/tuxguitar/tuxguitar.xml b/community/tuxguitar/tuxguitar.xml
new file mode 100644
index 000000000..3b5b2672b
--- /dev/null
+++ b/community/tuxguitar/tuxguitar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+ <mime-type type="audio/x-tuxguitar">
+ <comment>TuxGuitar file</comment>
+ <glob pattern="*.tg"/>
+ </mime-type>
+ <mime-type type="audio/x-gtp">
+ <comment>GuitarPro file</comment>
+ <glob pattern="*.gtp"/>
+ <glob pattern="*.gp3"/>
+ <glob pattern="*.gp4"/>
+ <glob pattern="*.gp5"/>
+ </mime-type>
+ <mime-type type="audio/x-ptb">
+ <comment>PowerTab file</comment>
+ <glob pattern="*.ptb"/>
+ </mime-type>
+</mime-info>
diff --git a/community/tuxpaint-config/PKGBUILD b/community/tuxpaint-config/PKGBUILD
new file mode 100644
index 000000000..26c9ae9c8
--- /dev/null
+++ b/community/tuxpaint-config/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 79472 2012-11-06 00:37:14Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: royrocks <royrocks13@gmail.com>
+
+pkgname=tuxpaint-config
+pkgver=0.0.12
+pkgrel=2
+pkgdesc='Tux Paint configuration tool'
+arch=('x86_64' 'i686')
+url='http://www.tuxpaint.org'
+license='GPL'
+depends=('tuxpaint' 'fltk' 'libxft' 'libxext')
+source=("http://downloads.sourceforge.net/sourceforge/tuxpaint/$pkgname-$pkgver.tar.gz")
+sha256sums=('9395a1c92e52c3420cabaa0c781b607e6832b5d9b6180902615f102216e1c8fd')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make PREFIX=/usr
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ install -d -m755 $pkgdir/usr/bin/
+ install -d -m644 $pkgdir/opt/kde/share/icons/hicolor/48x48/apps/
+ install -d -m644 $pkgdir/opt/kde/share/icons/hicolor/32x32/apps/
+ install -d -m644 $pkgdir/opt/kde/share/icons/hicolor/16x16/apps/
+
+ make PREFIX=$pkgdir/usr DESTDIR=$pkgdir KDE_PREFIX=$pkgdir/opt/kde \
+ KDE_ICON_PREFIX=$pkgdir/opt/kde/share/icons install
+
+ install -D -m644 src/tuxpaint-config.desktop \
+ $pkgdir/usr/share/applications/tuxpaint-config.desktop
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/tuxpaint/PKGBUILD b/community/tuxpaint/PKGBUILD
new file mode 100644
index 000000000..f83770517
--- /dev/null
+++ b/community/tuxpaint/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 91097 2013-05-19 11:35:37Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Sergio Jovani Guzman <moret.sjg@gmail.com>
+# Contributor: royrocks <royrocks13@gmail.com>
+
+pkgname=tuxpaint
+pkgver=0.9.21
+pkgrel=9
+pkgdesc='Drawing program designed for young children'
+arch=('x86_64' 'i686')
+url='http://www.tuxpaint.org/'
+license=('GPL')
+backup=('etc/tuxpaint/tuxpaint.conf')
+depends=('python2' 'fribidi' 'sdl_ttf' 'sdl_mixer' 'sdl_image' 'sdl_pango'
+ 'libpaper' 'librsvg')
+makedepends=('setconf' 'optipng')
+optdepends=('tuxpaint-stamps: more stamps'
+ 'tuxpaint-conf: configuration manager')
+source=("http://downloads.sourceforge.net/sourceforge/tuxpaint/$pkgname-$pkgver.tar.gz"
+ 'tuxpaint-0.9.21-libpng1.5.patch')
+sha256sums=('6d4f2b981643b5c937708e5e6cdaf318ae7b5562375327b4b1cb84611e65ede9'
+ '6d572467fce710c9323ba53bb3309eb7ed1401b4fee2c1f56533e871558a7f20')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ setconf src/tuxpaint.desktop Categories 'Game;KidsGame;Graphics;RasterGraphics;'
+ sed -i 's:# fu:fu:' src/tuxpaint.conf
+
+ # python2 fix
+ for f in docs/zh_tw/mkTuxpaintIM.py fonts/locale/zh_tw_docs/maketuxfont.py; do
+ sed -i '0,/on/s//on2/' $f
+ done
+
+ # libpng15 fix
+ patch -p0 -i ../tuxpaint-0.9.21-libpng1.5.patch
+ sed -i 's:$(ARCH_LINKS):$(ARCH_LINKS) -lpng:' Makefile
+
+ # libpng16 fix
+ find -name '*.png' -exec optipng -quiet -force -fix {} +
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make PREFIX=/usr
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make \
+ PREFIX=/usr \
+ DESTDIR="$pkgdir" \
+ GNOME_PREFIX=/usr \
+ X11_ICON_PREFIX="$pkgdir/usr/share/pixmaps" \
+ install
+ chmod -R 644 "$pkgdir/usr/share/doc/tuxpaint-dev/"*
+ chmod 755 "$pkgdir/usr/share/doc/tuxpaint-dev/html"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/tuxpaint/tuxpaint-0.9.21-libpng1.5.patch b/community/tuxpaint/tuxpaint-0.9.21-libpng1.5.patch
new file mode 100644
index 000000000..25e80cd2a
--- /dev/null
+++ b/community/tuxpaint/tuxpaint-0.9.21-libpng1.5.patch
@@ -0,0 +1,19 @@
+http://tuxpaint.cvs.sourceforge.net/viewvc/tuxpaint/tuxpaint/src/tuxpaint.c?r1=1.828&r2=1.829
+No longer directly accessing PNG structure members directly, now using png_set_IHDR(). (Patch from SF.net Bug #3386433)
+
+--- src/tuxpaint.c 2011/07/29 21:27:39 1.828
++++ src/tuxpaint.c 2011/08/08 17:59:12 1.829
+@@ -13425,12 +13425,7 @@
+ {
+ png_init_io(png_ptr, fi);
+
+- info_ptr->width = surf->w;
+- info_ptr->height = surf->h;
+- info_ptr->bit_depth = 8;
+- info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+- info_ptr->interlace_type = 1;
+- info_ptr->valid = 0; /* will be updated by various png_set_FOO() functions */
++ png_set_IHDR(png_ptr, info_ptr, surf->w, surf->h, 8, PNG_COLOR_TYPE_RGB, 1, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
+
+ png_set_sRGB_gAMA_and_cHRM(png_ptr, info_ptr,
+ PNG_sRGB_INTENT_PERCEPTUAL);
diff --git a/community/tvision/PKGBUILD b/community/tvision/PKGBUILD
new file mode 100644
index 000000000..a07df4e45
--- /dev/null
+++ b/community/tvision/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 57007 2011-10-18 03:49:00Z ebelanger $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=tvision
+pkgver=2.2.1_r1
+pkgrel=2
+pkgdesc="turbo vision library port (console interface)"
+arch=(i686 x86_64)
+url="http://tvision.sourceforge.net"
+license=("GPL")
+depends=(gpm gcc-libs libxmu)
+options=('!makeflags')
+source=("http://downloads.sourceforge.net/project/tvision/UNIX/2.2.1%20CVS20100714%20Source%20and%20Debian%205.0/rhtvision_${pkgver/_r/-}.tar.gz"
+ tvision-build-fix.patch)
+md5sums=('46b815d86bbbb2f9b112b11f63e2f5a6'
+ 'e24e3520bd7c6beb441716b8998b4c64')
+
+build() {
+ cd $srcdir/$pkgname
+ patch -p1 <$srcdir/tvision-build-fix.patch
+ ./configure --prefix=/usr --include=/usr/include
+ make
+ make prefix=$pkgdir/usr install
+}
diff --git a/community/tvision/tvision-build-fix.patch b/community/tvision/tvision-build-fix.patch
new file mode 100644
index 000000000..51fea1bda
--- /dev/null
+++ b/community/tvision/tvision-build-fix.patch
@@ -0,0 +1,13 @@
+diff -wbBur tvision/classes/x11/x11src.cc tvision.q/classes/x11/x11src.cc
+--- tvision/classes/x11/x11src.cc 2009-12-29 15:52:24.000000000 +0000
++++ tvision.q/classes/x11/x11src.cc 2010-08-14 22:52:01.000000000 +0000
+@@ -40,6 +40,9 @@
+ // That's a nasty side effect: X defines Boolean!
+ #if (defined(TVOS_UNIX) || defined(TVCompf_Cygwin)) && defined(HAVE_X11)
+ #include <X11/Xmu/Atoms.h>
++ #include <sys/types.h>
++ #include <sys/stat.h>
++ #include <fcntl.h>
+ #endif
+
+ #define Uses_stdio
diff --git a/community/tvtime/PKGBUILD b/community/tvtime/PKGBUILD
new file mode 100644
index 000000000..eae900c86
--- /dev/null
+++ b/community/tvtime/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 90098 2013-05-06 19:39:48Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer:thefatprecious <marty@loomar.com>
+
+pkgname=tvtime
+pkgver=1.0.2
+pkgrel=5
+pkgdesc="A high quality television application for use with video capture cards"
+arch=('i686' 'x86_64')
+url='http://tvtime.sourceforge.net/'
+license=('GPL' 'LGPL')
+depends=('gcc-libs' 'libpng' 'libxml2' 'freetype2' 'libxtst' 'libxinerama' 'libxv'
+ 'libsm' 'libxxf86vm')
+makedepends=('libxt' 'v4l-utils')
+source=(http://downloads.sourceforge.net/sourceforge/tvtime/$pkgname-$pkgver.tar.gz
+ tvtime-1.0.2+linux-headers-2.6.18.patch
+ tvtime-1.0.2-gcc41.patch
+ tvtime-1.0.2-locale_t.patch)
+md5sums=('4b3d03afe61be239b08b5e522cd8afed'
+ 'e956821745686b5b3a784f7471996ade'
+ 'c782789825dfa664e1f6fcc96ac7246c'
+ '1069dc5b47bba8456cbf48e34cb5c0b6')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ patch -p1 < ../tvtime-1.0.2+linux-headers-2.6.18.patch
+ patch -p1 < ../tvtime-1.0.2-gcc41.patch
+ patch -p1 < ../tvtime-1.0.2-locale_t.patch
+ sed -i '1,1i#include <zlib.h>' src/pngoutput.c
+ echo "StartupWMClass=tvtime" >>docs/net-tvtime.desktop
+
+ [ -f Makefile ] || ./configure --prefix=/usr --mandir=/usr/share/man --localstatedir=/var --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -D -m644 docs/html/default.tvtime.xml $pkgdir/usr/share/tvtime/default.tvtime.xml
+}
diff --git a/community/tvtime/tvtime-1.0.2+linux-headers-2.6.18.patch b/community/tvtime/tvtime-1.0.2+linux-headers-2.6.18.patch
new file mode 100644
index 000000000..d0772783d
--- /dev/null
+++ b/community/tvtime/tvtime-1.0.2+linux-headers-2.6.18.patch
@@ -0,0 +1,16 @@
+Index: tvtime-1.0.2/src/videoinput.c
+===================================================================
+--- tvtime-1.0.2.orig/src/videoinput.c
++++ tvtime-1.0.2/src/videoinput.c
+@@ -35,8 +35,9 @@
+ #ifdef HAVE_CONFIG_H
+ # include "config.h"
+ #endif
+-#include "videodev.h"
+-#include "videodev2.h"
++#include <libv4l1-videodev.h>
++#include <linux/videodev2.h>
++#define BASE_VIDIOCPRIVATE 192 /* 192-255 are private */
+ #include "videoinput.h"
+ #include "mixer.h"
+
diff --git a/community/tvtime/tvtime-1.0.2-gcc41.patch b/community/tvtime/tvtime-1.0.2-gcc41.patch
new file mode 100644
index 000000000..58e9bb204
--- /dev/null
+++ b/community/tvtime/tvtime-1.0.2-gcc41.patch
@@ -0,0 +1,57 @@
+diff -Naur tvtime-1.0.1/plugins/greedyh.asm tvtime-1.0.1-gcc41/plugins/greedyh.asm
+--- tvtime-1.0.1/plugins/greedyh.asm 2005-08-14 18:16:43.000000000 +0200
++++ tvtime-1.0.1-gcc41/plugins/greedyh.asm 2005-11-28 17:53:09.210774544 +0100
+@@ -18,7 +18,7 @@
+
+ #include "x86-64_macros.inc"
+
+-void DScalerFilterGreedyH::FUNCT_NAME(TDeinterlaceInfo* pInfo)
++void FUNCT_NAME(TDeinterlaceInfo* pInfo)
+ {
+ int64_t i;
+ bool InfoIsOdd = (pInfo->PictureHistory[0]->Flags & PICTURE_INTERLACED_ODD) ? 1 : 0;
+diff -Naur tvtime-1.0.1/plugins/tomsmocomp/TomsMoCompAll2.inc tvtime-1.0.1-gcc41/plugins/tomsmocomp/TomsMoCompAll2.inc
+--- tvtime-1.0.1/plugins/tomsmocomp/TomsMoCompAll2.inc 2004-10-20 17:31:05.000000000 +0200
++++ tvtime-1.0.1-gcc41/plugins/tomsmocomp/TomsMoCompAll2.inc 2005-11-28 17:53:33.251119856 +0100
+@@ -5,9 +5,9 @@
+ #endif
+
+ #ifdef USE_STRANGE_BOB
+-#define SEARCH_EFFORT_FUNC(n) DScalerFilterTomsMoComp::SEFUNC(n##_SB)
++#define SEARCH_EFFORT_FUNC(n) SEFUNC(n##_SB)
+ #else
+-#define SEARCH_EFFORT_FUNC(n) DScalerFilterTomsMoComp::SEFUNC(n)
++#define SEARCH_EFFORT_FUNC(n) SEFUNC(n)
+ #endif
+
+ int SEARCH_EFFORT_FUNC(0) // we don't try at all ;-)
+diff -Naur tvtime-1.0.1/plugins/tomsmocomp.cpp tvtime-1.0.1-gcc41/plugins/tomsmocomp.cpp
+--- tvtime-1.0.1/plugins/tomsmocomp.cpp 2004-10-20 19:38:04.000000000 +0200
++++ tvtime-1.0.1-gcc41/plugins/tomsmocomp.cpp 2005-11-28 17:52:53.862107896 +0100
+@@ -31,7 +31,7 @@
+
+ #define IS_MMX
+ #define SSE_TYPE MMX
+-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_MMX
++#define FUNCT_NAME filterDScaler_MMX
+ #include "tomsmocomp/TomsMoCompAll.inc"
+ #undef IS_MMX
+ #undef SSE_TYPE
+@@ -39,7 +39,7 @@
+
+ #define IS_3DNOW
+ #define SSE_TYPE 3DNOW
+-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_3DNOW
++#define FUNCT_NAME filterDScaler_3DNOW
+ #include "tomsmocomp/TomsMoCompAll.inc"
+ #undef IS_3DNOW
+ #undef SSE_TYPE
+@@ -47,7 +47,7 @@
+
+ #define IS_SSE
+ #define SSE_TYPE SSE
+-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_SSE
++#define FUNCT_NAME filterDScaler_SSE
+ #include "tomsmocomp/TomsMoCompAll.inc"
+ #undef IS_SSE
+ #undef SSE_TYPE
diff --git a/community/tvtime/tvtime-1.0.2-locale_t.patch b/community/tvtime/tvtime-1.0.2-locale_t.patch
new file mode 100644
index 000000000..cbbb05458
--- /dev/null
+++ b/community/tvtime/tvtime-1.0.2-locale_t.patch
Binary files differ
diff --git a/community/twin/PKGBUILD b/community/twin/PKGBUILD
new file mode 100644
index 000000000..6abb8de4f
--- /dev/null
+++ b/community/twin/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 91844 2013-05-28 17:06:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: G_Syme <demichan(at)mail(dot)upb(dot)de>
+
+pkgname=twin
+pkgver=0.6.2
+pkgrel=4
+pkgdesc="A text-mode window environment"
+arch=('i686' 'x86_64')
+url='http://sourceforge.net/projects/twin/'
+license=('GPL2' 'LGPL2.1')
+depends=('gpm' 'zlib' 'libxpm')
+optdepends=('gtk')
+options=('!makeflags')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('6211c8b2e655003eb96b1fc5dc37e7d9')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ LDFLAGS="-lX11" ./configure --prefix=/usr --sbindir=/usr/bin \
+ --enable-tt=yes \
+ --enable-tt-hw-twin=yes --enable-tt-hw-twin-tunnel=yes --enable-tt-hw-twin-detunnel=yes \
+ --enable-tt-hw-xml=yes
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/twolame/PKGBUILD b/community/twolame/PKGBUILD
new file mode 100644
index 000000000..85c5d7c71
--- /dev/null
+++ b/community/twolame/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 65632 2012-02-21 15:35:13Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: farid abdelnour <farid at atelier-labs.org>
+# Contributor: Gustavo Alvarez <sl1pkn07 at gmail.org>
+
+pkgname=twolame
+pkgver=0.3.13
+pkgrel=6
+pkgdesc="An optimized MPEG Audio Layer 2 (MP2) encoder"
+arch=('i686' 'x86_64')
+url="http://www.twolame.org/"
+license=('LGPL')
+depends=('libsndfile')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('4113d8aa80194459b45b83d4dbde8ddb')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr \
+ --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/typespeed/PKGBUILD b/community/typespeed/PKGBUILD
new file mode 100644
index 000000000..a899715a1
--- /dev/null
+++ b/community/typespeed/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 66763 2012-02-28 09:12:45Z giovanni $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+
+pkgname=typespeed
+pkgver=0.6.5
+pkgrel=4
+pkgdesc="Test your typing speed, and get your fingers' CPS."
+arch=('i686' 'x86_64')
+url="http://typespeed.sourceforge.net"
+license=('GPL')
+depends=('ncurses')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('578102b418c7df84903d3e90df2e7483')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --localstatedir=/var \
+ --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/typespeed/typespeed.install b/community/typespeed/typespeed.install
new file mode 100644
index 000000000..3fab10e3d
--- /dev/null
+++ b/community/typespeed/typespeed.install
@@ -0,0 +1,16 @@
+post_install() {
+ getent group games > /dev/null || /usr/sbin/groupadd -g 20 games
+ /usr/bin/typespeed --makescores
+ chown root.20 /usr/share/typespeed/*
+}
+
+post_upgrade() {
+ getent group games > /dev/null || /usr/sbin/groupadd -g 20 games
+ /usr/bin/typespeed --makescores
+ chown root.20 /usr/share/typespeed/*
+}
+
+pre_remove() {
+/bin/true
+}
+
diff --git a/community/ubuntuone-client-gnome/PKGBUILD b/community/ubuntuone-client-gnome/PKGBUILD
new file mode 100644
index 000000000..c1c9c1c7b
--- /dev/null
+++ b/community/ubuntuone-client-gnome/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 88682 2013-04-21 22:16:52Z heftig $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=ubuntuone-client-gnome
+pkgver=4.2.0
+pkgrel=2
+pkgdesc="Some plug-ins, extensions, and data for integrating Ubuntu One features in some core parts of GNOME"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/ubuntuone-client-gnome"
+license=('GPL')
+depends=('nautilus' 'gconf' 'ubuntuone-client')
+makedepends=('intltool' 'gnome-settings-daemon')
+options=('!libtool')
+install=$pkgname.install
+source=(https://launchpad.net/ubuntuone-client-gnome/stable-4-2/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ disable-gsd-plugin.patch)
+md5sums=('e2f5e4ef6f4eca6ffcf838b3aa46c3ef'
+ 'e2b1b677844c3b61530f3653808b6644')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Disable gsd plugin, as it's not compatible with gnome-settings-daemon 3.8
+ patch -Np1 -i "$srcdir/disable-gsd-plugin.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/ubuntuone-client-gnome/disable-gsd-plugin.patch b/community/ubuntuone-client-gnome/disable-gsd-plugin.patch
new file mode 100644
index 000000000..2199536e2
--- /dev/null
+++ b/community/ubuntuone-client-gnome/disable-gsd-plugin.patch
@@ -0,0 +1,21 @@
+diff -Naur ubuntuone-client-gnome-4.2.0.orig/configure.ac ubuntuone-client-gnome-4.2.0/configure.ac
+--- ubuntuone-client-gnome-4.2.0.orig/configure.ac 2013-03-26 20:48:40.000000000 +0100
++++ ubuntuone-client-gnome-4.2.0/configure.ac 2013-04-09 22:26:38.135983473 +0200
+@@ -5,7 +5,7 @@
+ AC_CONFIG_SRCDIR([config.h.in])
+
+ AM_INIT_AUTOMAKE([1.10 foreign])
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+
+ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
+
+diff -Naur ubuntuone-client-gnome-4.2.0.orig/Makefile.am ubuntuone-client-gnome-4.2.0/Makefile.am
+--- ubuntuone-client-gnome-4.2.0.orig/Makefile.am 2013-03-21 18:13:58.000000000 +0100
++++ ubuntuone-client-gnome-4.2.0/Makefile.am 2013-04-09 22:22:05.109626589 +0200
+@@ -1,4 +1,4 @@
+-SUBDIRS = gsd nautilus po
++SUBDIRS = nautilus po
+
+ # Shut libtoolize up
+ ACLOCAL_AMFLAGS = -I m4
diff --git a/community/ubuntuone-client-gnome/ubuntuone-client-gnome.install b/community/ubuntuone-client-gnome/ubuntuone-client-gnome.install
new file mode 100644
index 000000000..7a903e80c
--- /dev/null
+++ b/community/ubuntuone-client-gnome/ubuntuone-client-gnome.install
@@ -0,0 +1,11 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/ubuntuone-client/PKGBUILD b/community/ubuntuone-client/PKGBUILD
new file mode 100644
index 000000000..15bcde899
--- /dev/null
+++ b/community/ubuntuone-client/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 87512 2013-04-02 00:39:00Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=ubuntuone-client
+pkgver=4.2.0
+pkgrel=1
+pkgdesc="Ubuntu One helps you store, sync and share files between your computers"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/ubuntuone-client"
+license=('GPL' 'CCPL:cc-by-sa')
+depends=('dbus-glib' 'python2-configglue' 'python2-distribute' 'python2-gobject' 'libnotify' 'python2-pyinotify' 'ubuntu-sso-client' 'python2-ubuntuone-storageprotocol' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool' 'imake' 'python2-distutils-extra')
+options=('!libtool')
+install=$pkgname.install
+source=(https://launchpad.net/ubuntuone-client/stable-4-2/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ https://launchpad.net/ubuntuone-client-data/stable-4-2/$pkgver/+download/$pkgname-data-$pkgver.tar.gz
+ fix-notify-hint.patch)
+md5sums=('37d2de5c6e795e75f447682ee1c3bacc'
+ 'd3c445a9957a80471a84f323f24e8f84'
+ 'c38cb043e3241f12610ed6eb9ae0f087')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Python2 fix
+ sed -i 's@^#!.*python$@#!/usr/bin/python2@' bin/*
+
+ # Workaround for crash in notification-daemon
+ # https://bugzilla.gnome.org/show_bug.cgi?id=665166
+ patch -Np1 -i "$srcdir/fix-notify-hint.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ # Install data
+ cd "$srcdir/$pkgname-data-$pkgver"
+ python2 setup.py install --root=$pkgdir/ --optimize=1
+
+ # We don't have Apport in Arch Linux
+ rm -r "$pkgdir"/{etc/apport,usr/share/apport}
+}
diff --git a/community/ubuntuone-client/fix-notify-hint.patch b/community/ubuntuone-client/fix-notify-hint.patch
new file mode 100644
index 000000000..58a0888ef
--- /dev/null
+++ b/community/ubuntuone-client/fix-notify-hint.patch
@@ -0,0 +1,19 @@
+diff -Naur ubuntuone-client-4.2.0.orig/ubuntuone/platform/notification/linux.py ubuntuone-client-4.2.0/ubuntuone/platform/notification/linux.py
+--- ubuntuone-client-4.2.0.orig/ubuntuone/platform/notification/linux.py 2013-04-01 16:37:48.530956424 +0000
++++ ubuntuone-client-4.2.0/ubuntuone/platform/notification/linux.py 2013-04-01 16:38:32.333945773 +0000
+@@ -32,7 +32,7 @@
+ USE_NOTIFY = False
+
+ try:
+- from gi.repository import Notify
++ from gi.repository import GLib, Notify
+ USE_NOTIFY = True
+ except ImportError:
+ pass
+@@ -67,5 +67,5 @@
+ if append:
+ self.notification.set_hint_string('x-canonical-append', '')
+
+- self.notification.set_hint_int32('transient', int(True))
++ self.notification.set_hint('transient', GLib.Variant.new_boolean(1))
+ self.notification.show()
diff --git a/community/ubuntuone-client/ubuntuone-client.install b/community/ubuntuone-client/ubuntuone-client.install
new file mode 100644
index 000000000..2c455e952
--- /dev/null
+++ b/community/ubuntuone-client/ubuntuone-client.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/ucarp/01-fix-getopt.patch b/community/ucarp/01-fix-getopt.patch
new file mode 100644
index 000000000..9a4b21eeb
--- /dev/null
+++ b/community/ucarp/01-fix-getopt.patch
@@ -0,0 +1,11 @@
+--- ucarp-1.5.1.orig/src/ucarp_p.h
++++ ucarp-1.5.1/src/ucarp_p.h
+@@ -1,7 +1,7 @@
+ #ifndef __CARP_P_H__
+ #define __CARP_P_H__ 1
+
+-static const char *GETOPT_OPTIONS = "i:s:v:p:Pa:hb:k:x:nu:d:r:zf:BoSM";
++static const char *GETOPT_OPTIONS = "i:s:v:p:Pa:hb:k:x:nu:d:r:zf:Bo:SM";
+
+ static struct option long_options[] = {
+ { "interface", 1, NULL, 'i' },
diff --git a/community/ucarp/02-fix-downscript-on-error.c b/community/ucarp/02-fix-downscript-on-error.c
new file mode 100644
index 000000000..08af568b4
--- /dev/null
+++ b/community/ucarp/02-fix-downscript-on-error.c
@@ -0,0 +1,12 @@
+--- ucarp-1.5.1.orig/src/carp.c
++++ ucarp-1.5.1/src/carp.c
+@@ -843,6 +843,9 @@
+ if ((pfds[0].revents & (POLLERR | POLLHUP)) != 0) {
+ logfile(LOG_ERR, _("exiting: pfds[0].revents = %d"),
+ pfds[0].revents);
++ if ((sc.sc_state != BACKUP) && (shutdown_at_exit != 0)) {
++ (void) spawn_handler(dev_desc_fd, downscript);
++ }
+ break;
+ }
+ if (gettimeofday(&now, NULL) != 0) {
diff --git a/community/ucarp/PKGBUILD b/community/ucarp/PKGBUILD
new file mode 100644
index 000000000..467613303
--- /dev/null
+++ b/community/ucarp/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 90534 2013-05-13 00:32:20Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgname=ucarp
+pkgver=1.5.2
+pkgrel=5
+pkgdesc='Userspace implementation of the CARP protocol'
+arch=('i686' 'x86_64')
+url='http://www.ucarp.org/project/ucarp'
+license=('GPL2')
+depends=('libpcap')
+optdepends=('iproute2')
+source=("http://download.pureftpd.org/pub/$pkgname/$pkgname-$pkgver.tar.gz"
+ "$pkgname.service"
+ "$pkgname.8"
+ '01-fix-getopt.patch'
+ '02-fix-downscript-on-error.c')
+md5sums=('e3caa733316a32c09e5d3817617e9145'
+ 'fdc72a8d6f89224b40c78705df1f46f9'
+ '2ccfdc464b88c437b38bd0324cf1fef3'
+ '3f20699aaf2ef8139dcd337f1e7f06ab'
+ '09d26233c37956cf08e629554a91b8cd')
+
+prepare() {
+ # Apply patches
+ patch -N -p1 -d $pkgname-$pkgver < 01-fix-getopt.patch
+ patch -N -p1 -d $pkgname-$pkgver < 02-fix-downscript-on-error.c
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+
+}
+
+package() {
+ pushd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ # install examples files
+ install -D -m 644 examples/linux/vip-down.sh \
+ "$pkgdir/usr/share/doc/$pkgname/examples/vip-down.sh"
+ install -D -m 644 examples/linux/vip-up.sh \
+ "$pkgdir/usr/share/doc/$pkgname/examples/vip-up.sh"
+ # install README
+ install -D -m 644 README "$pkgdir/usr/share/doc/$pkgname/README"
+ popd
+ # add manpage
+ install -D -m 644 $pkgname.8 "${pkgdir}/usr/share/man/man8/$pkgname.8"
+ # systemd
+ install -D -m 644 $pkgname.service \
+ "${pkgdir}/usr/lib/systemd/system/$pkgname.service"
+
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ucarp/ucarp.8 b/community/ucarp/ucarp.8
new file mode 100644
index 000000000..7eb19ddc0
--- /dev/null
+++ b/community/ucarp/ucarp.8
@@ -0,0 +1,147 @@
+.TH "UCARP" "8"
+.SH "NAME"
+ucarp \(em Automatic IP failover
+.SH "SYNOPSIS"
+.PP
+\fBucarp\fR [\fB-i, \-\-interface=\fIINTERFACE\fR\fP] [\fB-s, \-\-srcip=\fIIPADDRESS\fR\fP]
+.br
+[\fB-v, \-\-vhid=\fIVHID\fR\fP] [\fB-p, \-\-pass=\fIPASSWORD\fR\fP] [\fB-o, \-\-passfile=\fIPASSFILE\fR\fP]
+.br
+[\fB-P, \-\-preempt\fP] [\fB-n, \-\-neutral\fP] [\fB-a, \-\-addr=\fIIPADDR\fR\fP] [\fB-h, \-\-help\fP]
+.br
+[\fB-b, \-\-advbase=\fISECS\fR\fP] [\fB-k, \-\-advskew=\fISKEW\fR\fP] [\fB-u, \-\-upscript=\fISCRIPT\fR\fP]
+.br
+[\fB-d, \-\-downscript=\fISCRIPT\fR\fP] [\fB-r, \-\-deadratio=\fIRATIO\fR\fP] [\fB-z, \-\-shutdown\fP]
+.br
+[\fB-B, \-\-daemonize\fP] [\fB-f, \-\-facility=\fIFACILITY\fR\fP] [\fB-x, \-\-xparam \fIPARAM\fR\fP]
+.br
+[\fB-S, \-\-ignoreifstate\fP] [\fB-M, \-\-nomcast\fP]
+.SH "DESCRIPTION"
+.PP
+ucarp allows a pair of hosts to share common IP addresses in
+order to provide automatic failover of an address from one machine to
+another. It is a portable userland implementation of the secure and
+patent-free Common Address Redundancy Protocol, (CARP), OpenBSD's
+alternative to VRRP.
+.SH "OPTIONS"
+.PP
+ucarp supports the following command line options:
+.IP "\fB-i \fIINTERFACE\fR\fP\fB \-\-interface=\fIINTERFACE\fR\fP" 10
+The network interface to bind to.
+.IP "\fB-s \fIIPADDRESS\fR\fP\fB \-\-srcip=\fIIPADDRESS\fR\fP" 10
+The persistent source address, (real IP), associated with this
+interface.
+.IP "\fB-v \fIVHID\fR\fP\fB \-\-vhid=\fIVHID\fR\fP" 10
+The id of the virtual server [1-255].
+.IP "\fB-p \fIPASSWORD\fR\fP\fB \-\-pass=\fIPASSWORD\fR\fP" 10
+The shared password, (this gets encrypted and is not sent in the
+clear).
+.IP "\fB-o \fIPASSFILE\fR\fP\fB \-\-passfile=\fIPASSFILE\fR\fP" 10
+File to read the shared password from. The file specified
+should contain the password on the first line of the file.
+.IP "\fB-P \fP\fB\-\-preempt\fP" 10
+Turn on preemptive failover. This causes an instance of
+ucarp to assume master status right immediately.
+.IP "\fB-n \fP\fB\-\-neutral\fP" 10
+Do not run the downscript on startup when the
+initial state is backup.
+.IP "\fB-a \fIIPADDRESS\fR\fP\fB \-\-addr=\fIIPADDRESS\fR\fP" 10
+The IP address of the virtual server.
+.IP "\fB-h \fP\fB\-\-help\fP" 10
+Display a brief summary of the command line options.
+.IP "\fB-b \fISECONDS\fR\fP\fB \-\-advbase=\fISECONDS\fR\fP" 10
+Interval in seconds that advertisements will occur, (defaults
+to 1 second).
+.IP "\fB-k \fISKEW\fR\fP\fB \-\-advskew=\fISKEW\fR\fP" 10
+Advertisement skew [1-255], (defaults to 0).
+.IP "\fB-u \fICOMMAND\fR\fP\fB \-\-upscript=\fICOMMAND\fR\fP" 10
+Specifies the command to run after ucarp has successfully
+become master, the interface name gets passed as an argument.
+Typically a script used to bring up the virtual address, log the
+result, add routes, clear arp cache entries, etc.
+.IP "\fB-d \fICOMMAND\fR\fP\fB \-\-downscript=\fICOMMAND\fR\fP" 10
+Specifies the command that is run after ucarp has
+transitioned to the backup state, the interface name is passed
+as an argument. This is typically a script used to bring down
+the virtual interface, log the action, remove routes, etc.
+.IP "\fB-r \fIRATIO\fR\fP\fB \-\-deadratio=\fIRATIO\fR\fP" 10
+Ratio used by the backup to determine how long to wait for an
+unresponsive master before considering it dead.
+.IP "\fB-z\fP\fB \-\-shutdown\fP" 10
+Use of this command causes the command specified by the \-d
+argument to be invoked when ucarp shuts down.
+.IP "\fB-B\fP\fB \-\-daemonize\fP" 10
+Causes ucarp to detach from the terminal and run in the
+background as a daemon.
+.IP "\fB-f\fP\fB \-\-facility\fP" 10
+Set the syslog facility, defaults to daemon.
+.IP "\fB-x \fIPARAMETER\fR\fP\fB \-\-xparam=\fIPARAMETER\fR\fP" 10
+Specify an extra parameter to be supplied to the up/down
+scripts.
+.IP "\fB-S\fP\fB \-\-ignoreifstate\fP" 10
+Ignore unplugged network cables. This option is useful when
+ucarp nodes are connected with a crossover cable. Without
+this option the master will transition to backup when the other
+node is powered down, as it no longer has a link (NO-CARRIER).
+
+.IP "\fB-M\fP\fB \-\-nomcast\fP" 10
+Use broadcast instead of multicast advertisements.
+.SH "EXAMPLES"
+.PP
+A host with a real IP of 10.1.1.10 configured to be the master
+in a preemptive configuration with a virtual IP of 10.1.1.252.
+.PP
+.nf
+\fB \fPucarp \-i eth0 \-s 10.1.1.10 \-v 10 \-p secret \-a 10.1.1.252 \\
+\fB \fP\-\-upscript=/usr/local/sbin/vip-up.sh \-\-downscript=/usr/local/sbin/vip-down.sh \-P
+.fi
+.PP
+The backup might be configured something like this.
+.PP
+.nf
+\fB \fPucarp \-i eth0 \-s 10.1.1.11 \-v 10 \-p secret \-a 10.1.1.252 \\
+\fB \fP\-\-upscript=/usr/local/sbin/vip-up.sh \-\-downscript=/usr/local/sbin/vip-down.sh
+.fi
+.PP
+A machine with a real IP of 192.168.1.19 is the preferred master for
+a virtual IP of 10.1.12.7, broadcasts are sent every 5 seconds.
+.PP
+.nf
+\fB \fPucarp \-b 5 \-s 192.168.1.19 \-v 27 \-p badpass \-a 10.1.12.7 \\
+\fB \fP-u /usr/local/sbin/vip-up.sh \-d /usr/local/sbin/vip-down.sh \-z
+.fi
+.PP
+The hot standby with an IP of 192.168.1.20 uses the following
+command, (note the advskew of 50 putting it at a disadvantage and making
+the first machine preferred).
+.PP
+.nf
+\fB \fPucarp \-b 5 \-k 50 \-s 192.168.1.20 \-v 27 \-p badpass \-a 10.1.12.7 \\
+\fB \fP-u /usr/local/sbin/vip-up.sh \-d /usr/local/sbin/vip-down.sh \-z
+.fi
+.SH "SIGNALS"
+.PP
+Sending the ucarp process a SIGUSR1 will have it log a status
+line to syslog, eg "Sep 13 12:59:56 localhost ucarp[2654]: [INFO]
+MASTER on eth0 id 1" or "Sep 13 13:00:25 localhost ucarp[2644]: [INFO]
+BACKUP on eth0 id 1"
+.PP
+Sending the ucarp process a SIGUSR2 will cause it to demote itself
+from master to backup, pause 3 seconds, then proceed as usual to listen
+for other masters, and promote itself if necessary. This could be useful
+if you wish another node to take over master.
+
+.SH "AUTHOR"
+.PP
+ucarp was written by Frank Denis, <j@ucarp.org>.
+.PP
+This manual page was written by Eric Evans <eevans@debian.org>
+for \fBDebian\fP and adapted to \fBArchlinux\fP
+by Sébastien Luttringer <seblu@archlinux.org>. Permission is
+granted to copy, distribute and/or modify this document under
+the terms of the GNU General Public License, Version 2 or any
+later version published by the Free Software Foundation.
+
+.PP
+On Archlinux systems, the complete text of the GNU General Public
+License can be found in /usr/share/licenses/common/GPL.
diff --git a/community/ucarp/ucarp.service b/community/ucarp/ucarp.service
new file mode 100644
index 000000000..2ff694d2c
--- /dev/null
+++ b/community/ucarp/ucarp.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=UCARP daemon
+
+[Service]
+ExecStart=/usr/bin/ucarp
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ucl/PKGBUILD b/community/ucl/PKGBUILD
new file mode 100644
index 000000000..43bcd1ee5
--- /dev/null
+++ b/community/ucl/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 66541 2012-02-26 00:11:59Z lfleischer $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Previous Contributor: arjan <arjan@archlinux.org>
+# Previous Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=ucl
+pkgver=1.03
+pkgrel=5
+pkgdesc="Portable lossless data compression library written in ANSI C"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.oberhumer.com/opensource/ucl/"
+options=(!libtool)
+source=("http://www.oberhumer.com/opensource/$pkgname/download/$pkgname-$pkgver.tar.gz")
+md5sums=('852bd691d8abc75b52053465846fba34')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/ude/PKGBUILD b/community/ude/PKGBUILD
new file mode 100644
index 000000000..4a6a50f1a
--- /dev/null
+++ b/community/ude/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 90591 2013-05-13 09:59:42Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: eric <eric@archlinux.org>
+# Contributor: dorphell <dorphell@gmx.net>
+
+pkgname=ude
+pkgver=0.2.11
+pkgrel=1
+pkgdesc="Unix Desktop Environment (GUI desktop environment)"
+arch=('x86_64' 'i686')
+license=('GPL')
+depends=('libjpeg' 'libxmu' 'libxpm' 'bash')
+makedepends=('gendesk')
+url="http://udeproject.sourceforge.net/index.shtml"
+source=(http://downloads.sourceforge.net/udeproject/uwm-$pkgver.tar.gz)
+md5sums=('d4952a7edffd30ac07f32fce244c86d7')
+
+build() {
+ cd "$srcdir"
+ gendesk
+
+ cd "uwm-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/uwm-$pkgver"
+
+ mkdir -p $pkgdir/etc/X11/sessions
+ make prefix=$pkgdir/usr install
+ install -Dm644 "$srcdir/$pkgname.desktop" "$pkgdir/etc/X11/sessions"
+ install -Dm644 "$srcdir/$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+ mv $pkgdir/usr/doc $pkgdir/usr/share/
+}
diff --git a/community/udevil/PKGBUILD b/community/udevil/PKGBUILD
new file mode 100644
index 000000000..79939c3c7
--- /dev/null
+++ b/community/udevil/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 86567 2013-03-19 17:52:24Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: IgnorantGuru http://igurublog.wordpress.com/contact-ignorantguru/
+
+pkgname=udevil
+pkgver=0.4.1
+pkgrel=1
+arch=('i686' 'x86_64')
+pkgdesc='Mount and unmount without password'
+url='http://ignorantguru.github.com/udevil/'
+license=('GPL3')
+makedepends=('intltool' 'gettext')
+depends=('udev' 'glib2')
+optdepends=('davfs2: mount WebDAV shares'
+ 'nfs-utils: mount nfs shares'
+ 'sshfs: mount sftp shares'
+ 'curlftpfs: mount ftp shares'
+ 'cifs-utils: mount samba shares'
+ 'eject: eject via devmon'
+ 'zenity: devmon popups'
+ 'udisks: devmon mount without suid udevil'
+ 'udisks2: devmon mount without suid udevil')
+provides=('devmon')
+backup=('etc/udevil/udevil.conf')
+install=$pkgname.install
+source=(https://raw.github.com/IgnorantGuru/$pkgname/master/packages/$pkgver/$pkgname-$pkgver.tar.xz)
+sha256sums=('fa4a3d85361d17bb69dd7dabdcfeecd2b0f5fff95698113975d8fbd504af6c2e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
+
diff --git a/community/udevil/udevil.install b/community/udevil/udevil.install
new file mode 100644
index 000000000..d839de662
--- /dev/null
+++ b/community/udevil/udevil.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo '>>> REMEMBER to enable kernel polling when using devmon without udisks:'
+ echo ' http://ignorantguru.github.com/udevil/#polling'
+}
diff --git a/community/uget/PKGBUILD b/community/uget/PKGBUILD
new file mode 100644
index 000000000..e2ad02dbf
--- /dev/null
+++ b/community/uget/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 82947 2013-01-26 02:16:13Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=uget
+pkgver=1.10.3
+pkgrel=1
+pkgdesc="GTK+ download manager featuring download classification and HTML import"
+arch=('i686' 'x86_64')
+url="http://urlget.sourceforge.net/"
+license=('LGPL')
+depends=('libnotify' 'gtk3' 'gstreamer0.10' 'curl' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool')
+optdepends=('aria2: alternative backend')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/urlget/$pkgname-$pkgver.tar.gz)
+md5sums=('d71c927cfcfc3ef9f62cc9cb3ca7bab7')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-appindicator
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/uget/uget.install b/community/uget/uget.install
new file mode 100644
index 000000000..2c455e952
--- /dev/null
+++ b/community/uget/uget.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/ulogd/PKGBUILD b/community/ulogd/PKGBUILD
new file mode 100644
index 000000000..aa519f85c
--- /dev/null
+++ b/community/ulogd/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 90538 2013-05-13 00:36:03Z seblu $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Sébastien Luttringer
+# Contributor: Dale Blount <dale@archlinux.org>
+# Contributor: Sergej Pupykin <ps@lx-ltd.ru>
+
+pkgname=ulogd
+pkgver=2.0.2
+pkgrel=2
+pkgdesc='Userspace Packet Logging for netfilter'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/ulogd/index.html'
+license=('GPL2')
+depends=('libmnl' 'libnfnetlink')
+backup=('etc/ulogd.conf')
+makedepends=('libmariadbclient'
+ 'libnetfilter_acct'
+ 'libnetfilter_conntrack'
+ 'libnetfilter_log'
+ 'libpcap'
+ 'libdbi'
+ 'postgresql-libs'
+ 'sqlite')
+optdepends=("${makedepends[@]}")
+options=('!libtool')
+source=("ftp://ftp.netfilter.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2"
+ "$pkgname.logrotate"
+ "$pkgname.conf"
+ "$pkgname.service")
+md5sums=('660516de4b5b1e110c12dae414619e0f'
+ 'dd32eeee0949adff4188544419acd17e'
+ 'c21531312f95e790ed19aa267a17d35a'
+ '092d72209e30c132e0a08112e4062772')
+
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --with-mysql \
+ --with-pgsql \
+ --with-dbi
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -dm755 "$pkgdir/usr/share/doc/ulogd"
+ install -Dm644 ulogd.conf "$pkgdir/usr/share/doc/ulogd/ulogd.conf"
+ install -m644 doc/*.{table,sql} "$pkgdir/usr/share/doc/ulogd"
+ cd "$srcdir"
+ install -Dm644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ install -Dm644 $pkgname.logrotate "$pkgdir/etc/logrotate.d/$pkgname"
+ install -Dm644 $pkgname.conf "$pkgdir/etc/$pkgname.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/ulogd/ulogd.conf b/community/ulogd/ulogd.conf
new file mode 100644
index 000000000..822575613
--- /dev/null
+++ b/community/ulogd/ulogd.conf
@@ -0,0 +1,20 @@
+[global]
+nlgroup=1
+logfile="/var/log/ulogd.log"
+loglevel=5
+rmem=131071
+bufsize=150000
+
+plugin="/usr/lib/ulogd/ulogd_inppkt_ULOG.so"
+plugin="/usr/lib/ulogd/ulogd_raw2packet_BASE.so"
+plugin="/usr/lib/ulogd/ulogd_filter_IP2STR.so"
+plugin="/usr/lib/ulogd/ulogd_filter_PRINTPKT.so"
+plugin="/usr/lib/ulogd/ulogd_output_LOGEMU.so"
+
+stack=ulog1:ULOG,base1:BASE,ip2str1:IP2STR,print1:PRINTPKT,emu1:LOGEMU
+
+[ulog1]
+nlgroup=1
+
+[emu1]
+file=/var/log/ulogd.syslogemu
diff --git a/community/ulogd/ulogd.logrotate b/community/ulogd/ulogd.logrotate
new file mode 100644
index 000000000..312c71acb
--- /dev/null
+++ b/community/ulogd/ulogd.logrotate
@@ -0,0 +1,10 @@
+/var/log/ulogd.log /var/log/ulogd.syslogemu {
+ missingok
+ notifempty
+ sharedscripts
+ create 0640 root root
+
+ postrotate
+ [ -e /var/run/ulogd.pid ] && /etc/rc.d/ulogd restart > /dev/null
+ endscript
+}
diff --git a/community/ulogd/ulogd.service b/community/ulogd/ulogd.service
new file mode 100644
index 000000000..12450c9cc
--- /dev/null
+++ b/community/ulogd/ulogd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Netfilter Ulogd daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/ulogd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ultimate-ircd/PKGBUILD b/community/ultimate-ircd/PKGBUILD
new file mode 100644
index 000000000..4a3f0c2da
--- /dev/null
+++ b/community/ultimate-ircd/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 90729 2013-05-13 14:39:21Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=ultimate-ircd
+pkgver=3.0.2
+pkgrel=7
+pkgdesc="ultimate irc server"
+arch=(i686 x86_64)
+url="http://www.shadow-realm.org/"
+license=("GPL")
+depends=(glibc)
+makedepends=(patch)
+conflicts=(ircd)
+provides=(ircd)
+backup=()
+install=ircd.install
+source=(http://downloads.sourceforge.net/sourceforge/ultimate/Ultimate$pkgver.tar.bz2
+ ultimate-ircd.service
+ ultimate-ircd.tmpfiles
+ conf-fix.patch)
+md5sums=('8bc14b97d22a3ce3415cc0540ae459f6'
+ '526fd78018b9b011787e4e9012437116'
+ 'e51723ab29e7a3ddc3589846815de0c9'
+ '5e0f2a02e12675ac070a148c3234e111')
+
+build() {
+ cd $srcdir/Ultimate$pkgver
+ ./configure --prefix=/usr --enable-chinese-nick
+
+ for i in `find -type f -name Makefile`; do
+ echo Patching $i...
+ sed -i "s#prefix = /usr#prefix = $pkgdir/usr#" $i
+ sed -i "s#libexecdir = \${bindir}#libexecdir = $pkgdir/usr/lib/ircd#" $i
+ sed -i "s#sysconfdir = \${prefix}/etc#sysconfdir = $pkgdir/etc/ircd#" $i
+ sed -i "s#localstatedir = \${prefix}#localstatedir = $pkgdir/var#" $i
+ sed -i "s#networksubdir = \${prefix}/etc/networks#networksubdir = $pkgdir/etc/ircd/networks#" $i
+ sed -i "s#\$(localstatedir)/logs#\$(localstatedir)/log/ircd#" $i
+ done
+
+ cd include && patch -N <../../conf-fix.patch && cd ..
+ make || return 1
+}
+
+package() {
+ cd $srcdir/Ultimate$pkgver
+ mkdir -p $pkgdir/usr/bin
+ mkdir -p $pkgdir/var/log/ircd
+ mkdir -p $pkgdir/etc/ircd/networks
+ make install
+ rm -f $pkgdir/usr/ircd
+ rm -f $pkgdir/usr/kill
+ rm -f $pkgdir/usr/rehash
+ cd $pkgdir/usr/bin
+ mv mkpasswd irc-mkpasswd
+ mv ssl-cert.sh irc-ssl-cert.sh
+ mv ssl-search.sh irc-ssl-search.sh
+ install -d -m 0755 $pkgdir/var/lib/ircd
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ install -Dm0644 $srcdir/$pkgname.tmpfiles $pkgdir/usr/lib/tmpfiles.d/$pkgname.conf
+}
diff --git a/community/ultimate-ircd/conf-fix.patch b/community/ultimate-ircd/conf-fix.patch
new file mode 100644
index 000000000..735d8120c
--- /dev/null
+++ b/community/ultimate-ircd/conf-fix.patch
@@ -0,0 +1,25 @@
+--- ./config.h.org 2005-04-11 10:30:55.000000000 -0700
++++ ./config.h 2006-04-26 17:42:04.000000000 -0700
+@@ -110,10 +110,12 @@
+ /* dirs */
+ #define DPATH IRCD_PREFIX
+ #define BINPATH IRCD_PREFIX "/bin/"
+-#define ETCPATH IRCD_PREFIX "/etc"
+-#define LOGPATH IRCD_PREFIX "/logs"
++#define ETCPATH "/etc/ircd"
++#define LOGPATH "/var/log/ircd"
+
+ /* files */
++#define PPATH "/var/run/ircd/ircd.pid"
++
+ #define SPATH BINPATH "/ircd" /* ircd executable */
+
+ #define CPATH ETCPATH "/ircd.conf" /* ircd.conf file */
+@@ -125,7 +127,6 @@
+ #define SMPATH ETCPATH "/ircd.smotd" /* Short Message Of The Day */
+ #define OMPATH ETCPATH "/ircd.opermotd" /* Operator Message Of The Day */
+ #define RPATH ETCPATH "/ircd.rules" /* Rules File */
+-#define PPATH ETCPATH "/ircd.pid" /* IRCd PID */
+ #define IRCDSSL_CPATH ETCPATH "/ircd.crt" /* Client SSL */
+ #define IRCDSSL_KPATH ETCPATH "/ircd.key" /* Client SSL */
+
diff --git a/community/ultimate-ircd/ircd.install b/community/ultimate-ircd/ircd.install
new file mode 100644
index 000000000..19b76da80
--- /dev/null
+++ b/community/ultimate-ircd/ircd.install
@@ -0,0 +1,31 @@
+pre_install() {
+ /bin/true
+}
+
+post_install() {
+ groupadd irc
+ useradd -G irc -d /var/lib/ircd ircd
+ chown -R ircd.irc /var/log/ircd
+ chown -R ircd.irc /var/lib/ircd
+ chown -R ircd.irc /var/run/ircd
+}
+
+pre_upgrade() {
+ /bin/true
+}
+
+post_upgrade() {
+ chown -R ircd.irc /var/log/ircd
+ chown -R ircd.irc /var/lib/ircd
+ chown -R ircd.irc /var/run/ircd
+}
+
+pre_remove() {
+ /bin/true
+}
+
+post_remove() {
+ userdel ircd
+ groupdel irc
+}
+
diff --git a/community/ultimate-ircd/ultimate-ircd.service b/community/ultimate-ircd/ultimate-ircd.service
new file mode 100644
index 000000000..4b79c371d
--- /dev/null
+++ b/community/ultimate-ircd/ultimate-ircd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=IRC daemon
+After=network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=forking
+User=ircd
+PIDFile=/var/run/ircd/ircd.pid
+ExecStart=/usr/bin/ircd -f /etc/ircd/ircd.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ultimate-ircd/ultimate-ircd.tmpfiles b/community/ultimate-ircd/ultimate-ircd.tmpfiles
new file mode 100644
index 000000000..c9a9c98e3
--- /dev/null
+++ b/community/ultimate-ircd/ultimate-ircd.tmpfiles
@@ -0,0 +1 @@
+d /run/ircd 0755 ircd irc -
diff --git a/community/unbound/PKGBUILD b/community/unbound/PKGBUILD
new file mode 100644
index 000000000..ca9efec0f
--- /dev/null
+++ b/community/unbound/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 91247 2013-05-20 14:50:41Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Hisato Tatekura <hisato_tatekura@excentrics.net>
+# Contributor: Massimiliano Torromeo <massimiliano DOT torromeo AT google mail service>
+
+pkgname=unbound
+pkgver=1.4.20
+pkgrel=2
+pkgdesc='Validating, recursive, and caching DNS resolver'
+url='http://unbound.net/'
+license=('custom:BSD')
+arch=('i686' 'x86_64')
+depends=('openssl' 'ldns')
+makedepends=('expat')
+optdepends=('expat: unbound-anchor')
+backup=('etc/unbound/unbound.conf')
+source=("http://unbound.net/downloads/${pkgname}-${pkgver}.tar.gz"
+ 'service'
+ 'conf')
+sha1sums=('1752976533be2a4f0c9cdbab9d2cbb67d4f27c43'
+ 'b543ae6f8b87423bec095fca6b335a9ee43739a8'
+ '5d473ec2943fd85367cdb653fcd58e186f07383f')
+
+options=('!libtool')
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/bin \
+ --disable-static \
+ --disable-rpath \
+ --with-conf-file=/etc/unbound/unbound.conf \
+ --with-pidfile=/run/unbound.pid
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 doc/example.conf.in "${pkgdir}/etc/unbound/unbound.conf.example"
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm644 ../service "${pkgdir}/usr/lib/systemd/system/unbound.service"
+ install -Dm644 ../conf "${pkgdir}/etc/unbound/unbound.conf"
+}
diff --git a/community/unbound/conf b/community/unbound/conf
new file mode 100644
index 000000000..445bceff1
--- /dev/null
+++ b/community/unbound/conf
@@ -0,0 +1,4 @@
+server:
+ username: "unbound"
+ directory: "/etc/unbound"
+ use-syslog: yes
diff --git a/community/unbound/install b/community/unbound/install
new file mode 100644
index 000000000..964792592
--- /dev/null
+++ b/community/unbound/install
@@ -0,0 +1,10 @@
+post_install() {
+ getent group unbound &>/dev/null || groupadd -r unbound >/dev/null
+ getent passwd unbound &>/dev/null || useradd -r -g unbound -d /etc/unbound -s /bin/false -c unbound unbound >/dev/null
+}
+
+post_remove() {
+ getent passwd unbound &>/dev/null && userdel unbound >/dev/null
+ getent group unbound &>/dev/null && groupdel unbound >/dev/null
+ return 0
+}
diff --git a/community/unbound/service b/community/unbound/service
new file mode 100644
index 000000000..c569602de
--- /dev/null
+++ b/community/unbound/service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Unbound DNS Resolver
+After=network.target
+
+[Service]
+PIDFile=/run/unbound.pid
+ExecStart=/usr/bin/unbound -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/unclutter/PKGBUILD b/community/unclutter/PKGBUILD
new file mode 100644
index 000000000..263708422
--- /dev/null
+++ b/community/unclutter/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65341 2012-02-21 02:13:14Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Callan Barrett <wizzomafizzo@gmail.com>
+# Contributor: Anthony Martin <ality@pbrane.org>
+
+pkgname=unclutter
+pkgver=8
+pkgrel=8
+pkgdesc="A small program for hiding the mouse cursor"
+url="http://ftp.x.org/contrib/utilities/unclutter-8.README"
+arch=('i686' 'x86_64')
+license=('Public Domain')
+depends=('libxext')
+makedepends=('imake')
+source=(http://ftp.x.org/contrib/utilities/$pkgname-$pkgver.tar.Z)
+md5sums=('83d7a6498b69078f869378f801b6a84b')
+
+build() {
+ cd ${srcdir}/$pkgname
+ xmkmf -a
+ make
+ make DESTDIR=${pkgdir} install
+ install -D -m 644 unclutter.man ${pkgdir}/usr/share/man/man1/unclutter.1
+}
diff --git a/community/unhide/PKGBUILD b/community/unhide/PKGBUILD
new file mode 100644
index 000000000..04f43703e
--- /dev/null
+++ b/community/unhide/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 92031 2013-05-30 23:43:09Z seblu $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+
+pkgname=unhide
+pkgver=20130526
+pkgrel=1
+pkgdesc='A forensic tool to find processes hidden by rootkits, LKMs or by other techniques.'
+arch=('i686' 'x86_64')
+url='http://sourceforge.net/projects/unhide/'
+license=('GPL3')
+depends=('iproute2' 'lsof' 'psmisc' 'net-tools' 'procps-ng')
+source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgname-$pkgver.tgz")
+md5sums=('f3d68ed8eb239614abb0ff5ace22cf85')
+
+build() {
+ cd $pkgname-$pkgver
+ cc -Wall -O2 --static -pthread unhide-linux*.c unhide-output.c -o unhide-linux
+ cc -Wall -O2 --static unhide_rb.c -o unhide_rb
+ cc -Wall -O2 --static unhide-posix.c -o unhide-posix
+ cc -Wall -O2 --static unhide-tcp.c unhide-tcp-fast.c unhide-output.c -o unhide-tcp
+}
+
+package() {
+ cd $pkgname-$pkgver
+ for _p in unhide-linux unhide-posix unhide_rb unhide-tcp; do
+ install -Dm0755 "$_p" "$pkgdir/usr/bin/$_p"
+ done
+ ln -s unhide-linux "$pkgdir/usr/bin/unhide"
+ install -Dm0644 man/unhide.8 "$pkgdir/usr/share/man/man8/unhide.8"
+}
+
diff --git a/community/uniconvertor/PKGBUILD b/community/uniconvertor/PKGBUILD
new file mode 100644
index 000000000..5a2c6f383
--- /dev/null
+++ b/community/uniconvertor/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 78268 2012-10-17 10:27:59Z allan $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+
+pkgname=uniconvertor
+pkgver=1.1.5
+pkgrel=6
+pkgdesc="A universal vector graphics translator using sK1 engine."
+arch=('i686' 'x86_64')
+url="http://sk1project.org/modules.php?name=Products&product=uniconvertor"
+license=('GPL')
+depends=('python2' 'python2-imaging' 'python2-reportlab' 'sk1libs')
+makedepends=('gcc')
+source=(http://uniconvertor.googlecode.com/files/uniconvertor-$pkgver.tar.gz)
+md5sums=('d1272315a58304ece2ff588834e23f72')
+
+build() {
+ cd "$srcdir/uniconvertor-$pkgver"
+
+ # python2 fix
+ sed -i 's_#! /usr/bin/python_#! /usr/bin/python2_' src/__init__.py
+
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir/uniconvertor-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+}
diff --git a/community/unifdef/PKGBUILD b/community/unifdef/PKGBUILD
new file mode 100644
index 000000000..fd8b122d0
--- /dev/null
+++ b/community/unifdef/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 90818 2013-05-14 10:59:48Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=unifdef
+pkgver=2.8
+pkgrel=1
+pkgdesc="Remove #ifdef'ed lines"
+arch=(i686 x86_64)
+url="http://dotat.at/prog/unifdef/"
+license=('GPL')
+depends=()
+source=("http://dotat.at/prog/unifdef/unifdef-$pkgver.tar.gz")
+md5sums=('1cfb5fa5dcab6e6246c07897a1a304b4')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make clean
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ mkdir -p $pkgdir/usr/bin $pkgdir/usr/share/man/man1
+ install -m 0755 unifdef $pkgdir/usr/bin/
+ install -m 0644 unifdef.1 $pkgdir/usr/share/man/man1/
+}
diff --git a/community/unionfs-fuse/PKGBUILD b/community/unionfs-fuse/PKGBUILD
new file mode 100644
index 000000000..22db49cff
--- /dev/null
+++ b/community/unionfs-fuse/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 90408 2013-05-12 09:00:26Z aginiewicz $
+# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
+# Contributor: Smith Dhumbumroong <zodmaner at gmail dot com>
+
+pkgname=unionfs-fuse
+pkgver=0.26
+pkgrel=2
+pkgdesc="A user space unionfs implementation"
+arch=('i686' 'x86_64')
+url="http://podgorny.cz/moin/UnionFsFuse"
+license=('BSD')
+depends=('fuse')
+source=(http://podgorny.cz/unionfs-fuse/releases/$pkgname-$pkgver.tar.xz)
+md5sums=('689c636484756f6f7a728ef354cbeac2')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make SBINDIR="/bin" DESTDIR="$pkgdir" PREFIX=/usr install
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/community/units/PKGBUILD b/community/units/PKGBUILD
new file mode 100644
index 000000000..c9be463ad
--- /dev/null
+++ b/community/units/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 86729 2013-03-21 15:11:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jeff Mickey <jeff@archlinux.org>
+# Contributor: Steve Sansom <snsansom@gmail.com>
+
+pkgname=units
+pkgver=2.01
+pkgrel=2
+pkgdesc="converts between different units"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/units/units.html"
+depends=('readline')
+license=("GPL")
+options=('!makeflags')
+install=units.install
+source=(http://ftp.gnu.org/gnu/units/$pkgname-$pkgver.tar.gz)
+md5sums=('81bf85937c56fbbd04b16f2f3f9d8526')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's|/usr/bin/python|/usr/bin/python2|' units_cur
+ ./configure --prefix=/usr --datadir=/usr/share
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/units/units.install b/community/units/units.install
new file mode 100644
index 000000000..7eae54377
--- /dev/null
+++ b/community/units/units.install
@@ -0,0 +1,18 @@
+infodir=/usr/share/info
+filelist=(units.info)
+
+post_install() {
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/unpaper/PKGBUILD b/community/unpaper/PKGBUILD
new file mode 100644
index 000000000..23a3378ff
--- /dev/null
+++ b/community/unpaper/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 94062 2013-07-13 14:11:42Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andreas Hauser <andy-aur@splashground.de>
+
+pkgname=unpaper
+pkgver=5.1
+pkgrel=1
+pkgdesc="post-processing tool for scanned sheets of paper"
+arch=('i686' 'x86_64')
+#url="http://$pkgname.berlios.de/"
+url="https://github.com/Flameeyes/unpaper"
+license="GPL"
+depends=()
+makedepends=('gcc' 'libxslt')
+source=("$pkgname-${pkgver}.tar.gz::https://github.com/Flameeyes/unpaper/tarball/unpaper-$pkgver")
+md5sums=('06fe02a2e460c0ea218b6cd05bf573fe')
+
+build() {
+ cd $srcdir/Flameeyes-unpaper-*
+ aclocal
+ automake --add-missing
+ autoconf
+ [ -f Makefile ] || ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/Flameeyes-unpaper-*
+ make install DESTDIR=$pkgdir
+}
diff --git a/community/unrealircd/PKGBUILD b/community/unrealircd/PKGBUILD
new file mode 100644
index 000000000..5a40fc5fd
--- /dev/null
+++ b/community/unrealircd/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 92284 2013-06-03 13:56:49Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zerial <fernando@zerial.org>
+
+pkgname=unrealircd
+pkgver=3.2.10
+pkgrel=5
+pkgdesc="Open Source IRC Server"
+arch=('i686' 'x86_64')
+url="http://unrealircd.com"
+license=('GPL2')
+depends=('openssl' 'curl' 'c-ares')
+conflicts=('ircd')
+provides=('ircd')
+backup=('etc/unrealircd/unrealircd.conf'
+ 'etc/conf.d/unrealircd')
+source=(http://www.unrealircd.com/downloads/Unreal$pkgver.tar.gz
+ unrealircd.service
+ arch-fixes.patch)
+md5sums=('05b0bbdbfab9ffc2304f7595951d7cec'
+ '93276a1cd426e4a811c072c35fc31e94'
+ '77807313c4578f2c30286b9f9e3fb21c')
+
+build() {
+ cd $srcdir/Unreal$pkgver
+
+ patch -p1 <$srcdir/arch-fixes.patch
+
+ ac_cv_ip6=yes ./configure --with-showlistmodes \
+ --enable-hub --enable-prefixaq --with-listen=5 \
+ --with-dpath=/etc/unrealircd \
+ --with-spath=/usr/bin \
+ --with-nick-history=2000 --with-sendq=3000000 \
+ --with-bufferpool=18 --with-hostname=archlinux \
+ --with-permissions=0600 --with-fd-setsize=1024 \
+ --enable-dynamic-linking \
+ --enable-ziplinks \
+ --enable-ssl \
+ --enable-inet6 \
+ --enable-libcurl=/usr \
+ --with-system-cares
+
+ make
+}
+
+package() {
+ cd $srcdir/Unreal$pkgver
+
+ mkdir -p $pkgdir/etc/unrealircd
+ mkdir -p $pkgdir/usr/bin
+
+ make IRCDDIR=$pkgdir/etc/unrealircd BINDIR=$pkgdir/usr/bin install
+
+ mv $srcdir/Unreal$pkgver/src/ircd $pkgdir/usr/bin/unrealircd
+ mv $srcdir/Unreal$pkgver/doc/example.conf $pkgdir/etc/unrealircd/unrealircd.conf
+ mkdir -p $pkgdir/usr/lib/unrealircd
+ mv $pkgdir/etc/unrealircd/modules $pkgdir/usr/lib/unrealircd/
+ ln -s /usr/lib/unrealircd/modules $pkgdir/etc/unrealircd/modules
+
+ # log
+ mkdir -p $pkgdir/var/log/unrealircd/
+ touch $pkgdir/var/log/unrealircd/ircd.log
+ ln -s /var/log/unrealircd/ircd.log $pkgdir/etc/unrealircd/ircd.log
+
+ mkdir -p $pkgdir/etc/conf.d/
+ echo 'UNREALIRCD_USER=root' >$pkgdir/etc/conf.d/unrealircd
+
+ find $pkgdir/usr -type f -exec chmod ugo+r {} \;
+ find $pkgdir/usr -type d -exec chmod ugo+rx {} \;
+
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+}
diff --git a/community/unrealircd/arch-fixes.patch b/community/unrealircd/arch-fixes.patch
new file mode 100644
index 000000000..a1741968d
--- /dev/null
+++ b/community/unrealircd/arch-fixes.patch
@@ -0,0 +1,89 @@
+diff -wbBur Unreal3.2.org/doc/example.conf Unreal3.2/doc/example.conf
+--- Unreal3.2.org/doc/example.conf 2009-04-13 15:03:55.000000000 +0400
++++ Unreal3.2/doc/example.conf 2011-08-29 13:39:25.000000000 +0400
+@@ -33,8 +33,8 @@
+ */
+
+ /* FOR *NIX, uncomment the following 2lines: */
+-//loadmodule "src/modules/commands.so";
+-//loadmodule "src/modules/cloak.so";
++loadmodule "modules/commands.so";
++loadmodule "modules/cloak.so";
+
+ /* FOR Windows, uncomment the following 2 lines: */
+ //loadmodule "modules/commands.dll";
+diff -wbBur Unreal3.2.org/src/ircd.c Unreal3.2/src/ircd.c
+--- Unreal3.2.org/src/ircd.c 2009-03-01 21:37:58.000000000 +0300
++++ Unreal3.2/src/ircd.c 2011-08-29 13:39:25.000000000 +0400
+@@ -844,7 +844,7 @@
+ const char *compiledfor, *runtime;
+ int error = 0;
+
+-#ifdef USE_SSL
++#if 0
+ compiledfor = OPENSSL_VERSION_TEXT;
+ runtime = SSLeay_version(SSLEAY_VERSION);
+ if (strcasecmp(compiledfor, runtime))
+@@ -854,7 +854,7 @@
+ error=1;
+ }
+ #endif
+-#ifdef ZIP_LINKS
++#if 0
+ runtime = zlibVersion();
+ compiledfor = ZLIB_VERSION;
+ if (*compiledfor != *runtime)
+@@ -864,7 +864,7 @@
+ error = 1;
+ }
+ #endif
+-#ifdef USE_LIBCURL
++#if 0
+ /* Perhaps someone should tell them to do this a bit more easy ;)
+ * problem is runtime output is like: 'libcurl/7.11.1 zlib/1.2.1 c-ares/1.2.0'
+ * while header output is like: '7.11.1'.
+diff -wbBur Unreal3.2.org/unreal.in Unreal3.2/unreal.in
+--- Unreal3.2.org/unreal.in 2009-03-01 21:37:55.000000000 +0300
++++ Unreal3.2/unreal.in 2011-08-29 13:39:37.000000000 +0400
+@@ -7,7 +7,7 @@
+ if [ -r $PID_FILE ] ; then
+ mv -f $PID_FILE $PID_BACKUP
+ fi
+- @BINDIR@
++ @BINDIR@/ircd
+ sleep 1
+ if [ ! -r $PID_FILE ] ; then
+ echo "Possible error encountered (IRCd seemingly not started)"
+@@ -31,11 +31,11 @@
+ echo "Restarting UnrealIRCd"
+ kill -2 `cat $PID_FILE`
+ elif [ "$1" = "mkpasswd" ] ; then
+- @BINDIR@ -P $2 $3
++ @BINDIR@/ircd -P $2 $3
+ elif [ "$1" = "version" ] ; then
+- @BINDIR@ -v
++ @BINDIR@/ircd -v
+ elif [ "$1" = "gencloak" ] ; then
+- @BINDIR@ -k
++ @BINDIR@/ircd -k
+ elif [ "$1" = "backtrace" ] ; then
+ cd @IRCDDIR@
+
+@@ -90,7 +90,7 @@
+ fi
+
+ # Some ugly prepare work -- ignore errors
+- (echo quit|gdb @BINDIR@ $corefile 2>&1)|\
++ (echo quit|gdb @BINDIR@/ircd $corefile 2>&1)|\
+ grep -i 'no such file'|\
+ awk -F ':' '{ print $1 }'|sort|uniq|\
+ awk -F '.' "{ system(\"ln -s ../$modpath/\" \$2 \".so \" \$0) }"
+@@ -110,7 +110,7 @@
+ quit
+ __EOF__
+
+- gdb -batch -x gdb.commands @BINDIR@ $corefile
++ gdb -batch -x gdb.commands @BINDIR@/ircd $corefile
+ rm -f gdb.commands
+ echo "GCC: `gcc -v 2>&1|tail -n 1`"
+ echo "UNAME: `uname -a`"
diff --git a/community/unrealircd/unrealircd.service b/community/unrealircd/unrealircd.service
new file mode 100644
index 000000000..a81419f2a
--- /dev/null
+++ b/community/unrealircd/unrealircd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=IRC daemon
+After=network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=forking
+User=ircd
+PIDFile=/var/run/unrealircd.pid
+ExecStart=/usr/bin/unrealircd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/unrtf/PKGBUILD b/community/unrtf/PKGBUILD
new file mode 100644
index 000000000..44cb83f66
--- /dev/null
+++ b/community/unrtf/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 88595 2013-04-20 16:12:02Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: froggie <sullivanva@gmail.com>
+
+pkgname=unrtf
+pkgver=0.21.3
+pkgrel=1
+pkgdesc="Command-line program which converts RTF documents to other formats"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/unrtf/unrtf.html"
+license=('GPL3')
+depends=('glibc')
+changelog=$pkgname.changelog
+source=(http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('8aec68a5583fea8ac575cdb6bbd111ecc6700054127ab12023ac94729da77536')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/unrtf/unrtf.changelog b/community/unrtf/unrtf.changelog
new file mode 100644
index 000000000..fc7f75065
--- /dev/null
+++ b/community/unrtf/unrtf.changelog
@@ -0,0 +1,14 @@
+2013-04-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * unrtf 0.21.3-1
+
+2011-12-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * unrtf 0.21.2
+
+2010-01-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.21.1
+
+2009-05-31 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#14043 fixed
+
+2009-03-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 0.21.0
diff --git a/community/unshield/PKGBUILD b/community/unshield/PKGBUILD
new file mode 100644
index 000000000..b549269c0
--- /dev/null
+++ b/community/unshield/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 65351 2012-02-21 02:17:14Z spupykin $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=unshield
+pkgver=0.6
+pkgrel=3
+pkgdesc="Extracts CAB files from InstallShield installers"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/synce/files/"
+license=('custom')
+depends=('zlib')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/synce/${pkgname}-${pkgver}.tar.gz
+ libunshield.c.patch)
+md5sums=('31a829192a255160d1f71cda4c865c9c'
+ 'aa731ca6fd7c7dfb03f8b07e232b37d3')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ # See http://www.mail-archive.com/synce-devel@lists.sourceforge.net/msg01796.html
+ patch -Np0 -i "${srcdir}/libunshield.c.patch"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=${pkgdir} install
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/unshield/LICENSE
+}
+
diff --git a/community/unshield/libunshield.c.patch b/community/unshield/libunshield.c.patch
new file mode 100644
index 000000000..e78395e20
--- /dev/null
+++ b/community/unshield/libunshield.c.patch
@@ -0,0 +1,12 @@
+--- lib/libunshield.c 2004-08-24 08:10:27.000000000 +0200
++++ lib/libunshield.c 2010-08-13 20:39:58.000000000 +0200
+@@ -271,6 +271,9 @@
+
+ header->major_version = (header->common.version >> 12) & 0xf;
+
++ if (header->common.version == 0x020004b0)
++ header->major_version = 9;
++
+ #if 0
+ if (header->major_version < 5)
+ header->major_version = 5;
diff --git a/community/uptimed/PKGBUILD b/community/uptimed/PKGBUILD
new file mode 100644
index 000000000..3941eda98
--- /dev/null
+++ b/community/uptimed/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 91504 2013-05-23 10:15:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Tom Killian <tomk@runbox.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=uptimed
+pkgver=0.3.17
+pkgrel=4
+pkgdesc="A system uptime record daemon"
+arch=(i686 x86_64)
+url="http://podgorny.cz/uptimed/"
+license=('GPL')
+depends=('glibc' 'bash')
+backup=(etc/uptimed.conf)
+options=('!libtool')
+install=$pkgname.install
+source=(http://podgorny.cz/$pkgname/releases/$pkgname-$pkgver.tar.bz2
+ service)
+md5sums=('528b62c33454b33537c3bf2366977bdb'
+ '6d1e97b9c54d622edc0bd607acbf3c10')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # Change log path to Arch standard
+ for M in `ls M*`; do
+ sed -i "s|/var/spool/uptimed|/var/log/uptimed|" $M
+ done
+ sed -i 's|spool|log|' libuptimed/urec.h
+ sed -i 's|AM_CONFIG_HEADER|AC_CONFIG_HEADER|g' configure.ac
+
+ autoreconf
+ libtoolize --force
+
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make install DESTDIR=$pkgdir
+
+ mv $pkgdir/etc/uptimed.conf-dist $pkgdir/etc/uptimed.conf
+ install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/uptimed.service
+}
diff --git a/community/uptimed/service b/community/uptimed/service
new file mode 100644
index 000000000..36e074d04
--- /dev/null
+++ b/community/uptimed/service
@@ -0,0 +1,11 @@
+[Unit]
+Description=System uptime record daemon
+
+[Service]
+Type=forking
+PIDFile=/var/run/uptimed
+ExecStartPre=/usr/bin/uptimed -b
+ExecStart=/usr/bin/uptimed
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/uptimed/uptimed.install b/community/uptimed/uptimed.install
new file mode 100644
index 000000000..7edd1f66c
--- /dev/null
+++ b/community/uptimed/uptimed.install
@@ -0,0 +1,3 @@
+pre_remove() {
+ rm -rf var/log/uptimed
+}
diff --git a/community/upx/PKGBUILD b/community/upx/PKGBUILD
new file mode 100644
index 000000000..2bbfaf36f
--- /dev/null
+++ b/community/upx/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: bekks <eduard.warkentin@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=upx
+pkgver=3.09
+pkgrel=1
+pkgdesc='Ultimate executable compressor.'
+arch=('i686' 'x86_64')
+url='http://upx.sourceforge.net/'
+license=('GPL')
+depends=('zlib')
+makedepends=('ucl')
+source=("http://upx.sourceforge.net/download/${pkgname}-${pkgver}-src.tar.bz2"
+ 'http://downloads.sourceforge.net/sevenzip/lzma465.tar.bz2')
+md5sums=('1253da46eac54a217eb73e2d44818e53'
+ '29d5ffd03a5a3e51aef6a74e9eafb759')
+
+build() {
+ cd "${pkgname}-${pkgver}-src"
+ make UPX_LZMA_VERSION=0x465 UPX_LZMADIR="${srcdir}" all
+}
+
+package() {
+ cd "${pkgname}-${pkgver}-src"
+
+ install -Dm0755 src/upx.out "${pkgdir}/usr/bin/upx"
+ install -Dm0644 doc/upx.1 "${pkgdir}/usr/share/man/man1/upx.1"
+}
diff --git a/community/uqm/PKGBUILD b/community/uqm/PKGBUILD
new file mode 100644
index 000000000..5baacac5e
--- /dev/null
+++ b/community/uqm/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 79596 2012-11-08 15:28:33Z heftig $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Maintainer : Daenyth <Daenyth+Arch _AT_ gmail _DOT_ com>
+# Contributor : wizzomafizzo <wizzomafizzo@gmail.com>
+# Contributor: tochiro@no.spam.mail.berlios.de
+# Contributor: sh__
+
+pkgname=uqm
+pkgver=0.7.0
+pkgrel=3
+pkgdesc="The Ur-Quan Masters, a port of Star Control 2"
+arch=('i686' 'x86_64')
+url="http://sc2.sf.net/"
+license=('GPL')
+depends=('libmikmod' 'libvorbis' 'sdl_image' 'libgl' 'glu')
+makedepends=('imagemagick' 'mesa' 'namcap')
+optdepends=('uqm-sound: For extra music and conversation audio')
+source=(http://downloads.sourceforge.net/sourceforge/sc2/uqm-${pkgver}-source.tgz
+ http://downloads.sourceforge.net/sourceforge/sc2/uqm-${pkgver}-content.uqm
+ config.state
+ uqm
+ uqm.desktop
+ uqm.png)
+noextract=(uqm-${pkgver}-content.uqm)
+md5sums=('f9018ea0493d7dac6a9e1006b00af7df'
+ '2f36dcb15274dbbcb5e266f2ed84d5b2'
+ 'ca497b754edf56aab8a5791f1d2c974a'
+ '07e64632fce6323a14ab558d0214b885'
+ '44c83b9b9d102b99210af0036749a318'
+ '06d0a72aa18e7edce6cd3c7a3a747c44')
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ cp $srcdir/config.state .
+ sed -e "/INPUT_install_prefix/ s|replaceme|$pkgdir/usr|" \
+ -i config.state
+ ./build.sh uqm reprocess_config
+
+ ./build.sh uqm
+ ./build.sh uqm install
+
+ install -Dm644 $srcdir/$pkgname-$pkgver-content.uqm \
+ $pkgdir/usr/share/uqm/content/packages/$pkgname-$pkgver-content.uqm
+
+ # stolen from fedora!
+ install -Dm644 $srcdir/uqm.desktop \
+ $pkgdir/usr/share/applications/uqm.desktop
+ install -Dm644 $srcdir/uqm.png \
+ $pkgdir/usr/share/pixmaps/uqm.png
+
+ rm $pkgdir/usr/bin/uqm
+ install -Dm755 $srcdir/uqm $pkgdir/usr/bin/uqm
+}
diff --git a/community/uqm/config.state b/community/uqm/config.state
new file mode 100644
index 000000000..bfbeedffb
--- /dev/null
+++ b/community/uqm/config.state
@@ -0,0 +1,14 @@
+CHOICE_debug_VALUE='nodebug'
+CHOICE_graphics_VALUE='opengl'
+CHOICE_sound_VALUE='mixsdl'
+CHOICE_mikmod_VALUE='external'
+CHOICE_ovcodec_VALUE='standard'
+CHOICE_netplay_VALUE='full'
+CHOICE_joystick_VALUE='enabled'
+CHOICE_ioformat_VALUE='stdio_zip'
+CHOICE_accel_VALUE='asm'
+CHOICE_threadlib_VALUE='sdl'
+INPUT_install_prefix_VALUE='replaceme'
+INPUT_install_bindir_VALUE='$prefix/bin'
+INPUT_install_libdir_VALUE='$prefix/lib'
+INPUT_install_sharedir_VALUE='$prefix/share'
diff --git a/community/uqm/uqm b/community/uqm/uqm
new file mode 100644
index 000000000..893092074
--- /dev/null
+++ b/community/uqm/uqm
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec "/usr/lib/uqm/uqm" "--contentdir=/usr/share/uqm/content" "$@"
diff --git a/community/uqm/uqm.desktop b/community/uqm/uqm.desktop
new file mode 100644
index 000000000..7a0e46882
--- /dev/null
+++ b/community/uqm/uqm.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=The Ur-Quan Masters
+Comment=An epic space adventure
+Comment[fi]=Eeppinen avaruusseikkailu
+Exec=uqm
+Icon=uqm
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Application;Game;ArcadeGame;StrategyGame;
diff --git a/community/uqm/uqm.png b/community/uqm/uqm.png
new file mode 100644
index 000000000..64765a43b
--- /dev/null
+++ b/community/uqm/uqm.png
Binary files differ
diff --git a/community/uriparser/PKGBUILD b/community/uriparser/PKGBUILD
new file mode 100644
index 000000000..b584c0778
--- /dev/null
+++ b/community/uriparser/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 91154 2013-05-20 09:57:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Juan Pablo Gonzalez Tognarelli <lord_jotape@yahoo.com.ar>
+
+pkgname=uriparser
+pkgver=0.7.8
+pkgrel=1
+pkgdesc="uriparser is a strictly RFC 3986 compliant URI parsing library. uriparser is cross-platform, fast, supports Unicode"
+url="http://sourceforge.net/projects/uriparser/"
+depends=()
+makedepends=(doxygen graphviz)
+arch=('i686' 'x86_64')
+license=("custom")
+source=(http://downloads.sourceforge.net/sourceforge/uriparser/$pkgname-$pkgver.tar.bz2)
+md5sums=('1ff590e25e8d9f5eaaa409c741fc387b')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+ [ -f Makefile ] || ./configure --prefix=/usr --disable-test
+ sed -i 's|{css,gif,html,png}|{css,html,png}|' doc/Makefile
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -D -m644 "${srcdir}/$pkgname-$pkgver/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/usb_modeswitch/PKGBUILD b/community/usb_modeswitch/PKGBUILD
new file mode 100644
index 000000000..738b08c0c
--- /dev/null
+++ b/community/usb_modeswitch/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 93095 2013-06-24 09:56:58Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=usb_modeswitch
+pkgver=1.2.6
+pkgrel=1
+_pkgdata=20130610
+pkgdesc="Activating switchable USB devices on Linux."
+arch=('i686' 'x86_64')
+url="http://www.draisberghof.de/usb_modeswitch/"
+license=('GPL')
+depends=('libusb-compat' 'tcl')
+makedepends=('gcc' 'make')
+backup=("etc/$pkgname.conf")
+source=("http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-${pkgver}.tar.bz2"
+ "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-${_pkgdata}.tar.bz2"
+ "usb-modeswitch-${pkgver}-device_reference.txt::http://www.draisberghof.de/usb_modeswitch/device_reference.txt")
+md5sums=('3cd804ad2dd4cb61fbd77a5cc033496c'
+ '52dff3f54e0c01dad02639d642e089e0'
+ '13f239816d7c4add8113179f4fb3543c')
+
+prepare() {
+ cd $srcdir/usb-modeswitch-$pkgver/
+ sed -i 's|/usr/sbin/usb_mode|/usr/bin/usb_mode|g' usb_modeswitch.{conf,tcl,sh}
+}
+
+build() {
+ cd $srcdir/usb-modeswitch-$pkgver/
+ make clean
+ make SBINDIR=/usr/bin
+}
+
+package() {
+ cd $srcdir/usb-modeswitch-$pkgver/
+
+ mkdir -p $pkgdir/usr/lib/udev
+ mkdir -p $pkgdir/etc
+ mkdir -p $pkgdir/usr/share/man/man1
+
+ make DESTDIR=${pkgdir} UDEVDIR=${pkgdir}/usr/lib/udev SBINDIR=$pkgdir/usr/bin install
+
+ cp $srcdir/usb-modeswitch-${pkgver}-device_reference.txt $pkgdir/etc/usb_modeswitch.setup
+
+ cd $srcdir/usb-modeswitch-data-${_pkgdata}
+ make DESTDIR=$pkgdir install RULESDIR=${pkgdir}/usr/lib/udev/rules.d
+}
diff --git a/community/usbredir/PKGBUILD b/community/usbredir/PKGBUILD
new file mode 100644
index 000000000..7668e5247
--- /dev/null
+++ b/community/usbredir/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 93438 2013-07-03 12:56:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Stefano Facchini <stefano.facchini@gmail.com>
+
+pkgname=usbredir
+pkgver=0.6
+pkgrel=3
+pkgdesc="USB traffic redirection protocol"
+arch=('i686' 'x86_64')
+url="http://spice-space.org/page/UsbRedir"
+license=('GPL2' 'LGPL2.1')
+depends=('libusb')
+options=(!libtool)
+source=(http://spice-space.org/download/usbredir/$pkgname-$pkgver.tar.bz2)
+sha256sums=('028184960044ea4124030000b3c55a35c3238835116e3a0fbcaff449df2c8edf')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/usbview/PKGBUILD b/community/usbview/PKGBUILD
new file mode 100644
index 000000000..8a0a59b05
--- /dev/null
+++ b/community/usbview/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 81972 2013-01-05 07:30:40Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
+
+pkgname=usbview
+pkgver=2.0
+pkgrel=2
+pkgdesc="Display the topology of devices on the USB bus"
+arch=('i686' 'x86_64')
+url="http://www.kroah.com/linux/usb/"
+license=('GPL')
+depends=('gtk3' 'desktop-file-utils')
+makedepends=('pkg-config' 'gendesk')
+install=${pkgname}.install
+source=("http://www.kroah.com/linux/usb/${pkgname}-${pkgver}.tar.gz")
+md5sums=('565f2e79f3924d14ab5b4d8aced557e5')
+
+build() {
+ cd "${srcdir}"
+ gendesk -n
+ sed -i "s:Application;:Application;System:g" "${srcdir}"/${pkgname}.desktop
+
+ cd "${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make prefix="${pkgdir}/usr" \
+ sysconfdir="${pkgdir}/etc" \
+ localstatedir="${pkgdir}/var" install
+
+ install -Dm0644 "${srcdir}"/${pkgname}.desktop \
+ "${pkgdir}"/usr/share/applications/${pkgname}.desktop
+
+ install -Dm0644 "${srcdir}"/${pkgname}-${pkgver}/usb_icon.xpm \
+ "${pkgdir}"/usr/share/pixmaps/${pkgname}.xpm
+}
diff --git a/community/usbview/usbview.install b/community/usbview/usbview.install
new file mode 100644
index 000000000..b7f7e849b
--- /dev/null
+++ b/community/usbview/usbview.install
@@ -0,0 +1,16 @@
+post_install() {
+ update-desktop-database -q
+ echo ">>> Debugfs must be mounted in order to use usbview."
+ echo ">>> As root execute:"
+ echo ">>> \"mount -t debugfs none /sys/kernel/debug\" or add"
+ echo ">>> \"none /sys/kernel/debug debugfs defaults 0 0\""
+ echo ">>> to /etc/fstab"
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/community/ushare/PKGBUILD b/community/ushare/PKGBUILD
new file mode 100644
index 000000000..09a8ffa37
--- /dev/null
+++ b/community/ushare/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 90735 2013-05-13 14:41:02Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com>
+# Contributor: kastor <kastor@fobos.org.ar>
+
+pkgname=ushare
+pkgver=1.1a
+pkgrel=19
+pkgdesc="A free UPnP A/V Media Server for Linux"
+url="http://ushare.geexbox.org"
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('libupnp' 'libdlna' 'sudo')
+backup=('etc/ushare/ushare.conf'
+ 'etc/conf.d/ushare')
+install=ushare.install
+source=("http://ushare.geexbox.org/releases/${pkgname}-${pkgver}.tar.bz2"
+ "upnp-build-fix.patch"
+ "ushare-config.patch"
+ "segfault.patch"
+ "ushare.service")
+md5sums=('5bbcdbf1ff85a9710fa3d4e82ccaa251'
+ '32c29f9f673e8b3a3d9e7bf5e60febbc'
+ '5243475c0cebc5db49296b2f3691085b'
+ '0b0fbf5d103f0ebb72716cbad0b28ffa'
+ 'db6187257b4623ef155b5575526d5d87')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ sed -i -e \
+ "s%^INSTALL=\"/usr/bin/install -c\"$%INSTALL=\"$(which install) -c\"%" \
+ configure
+ patch -p1 <$srcdir/upnp-build-fix.patch
+ patch -p1 <$srcdir/ushare-config.patch
+ patch -p1 <$srcdir/segfault.patch
+ ./configure --prefix=/usr --sysconfdir=/etc/ushare \
+ --enable-dlna --with-libdlna-dir=/usr/include/libavformat
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ rm -rf ${pkgdir}/etc/${pkgname}/init.d
+ install -dm0755 ${pkgdir}/etc/conf.d/
+ cat >${pkgdir}/etc/conf.d/ushare <<EOF
+#PARAMS="-c /tmp -i eth0"
+PARAMS=
+USHARE_USER=ushare
+EOF
+ install -Dm0644 src/ushare.1 $pkgdir/usr/share/man/man1/ushare.1
+ install -Dm0644 $srcdir/ushare.service $pkgdir/usr/lib/systemd/system/ushare.service
+}
diff --git a/community/ushare/segfault.patch b/community/ushare/segfault.patch
new file mode 100644
index 000000000..f46f9f1f4
--- /dev/null
+++ b/community/ushare/segfault.patch
@@ -0,0 +1,61 @@
+--- ushare-1.1a/src/cds.c 2007-12-09 16:03:36.000000000 +0300
++++ ushare-1.1a.my/src/cds.c 2012-01-26 05:14:03.317360310 +0400
+@@ -20,6 +20,8 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
++#include <stdio.h>
+ #include <upnp/upnp.h>
+ #include <upnp/upnptools.h>
+
+--- ushare-1.1a/src/cms.c 2007-12-09 16:03:36.000000000 +0300
++++ ushare-1.1a.my/src/cms.c 2012-01-26 05:15:33.236991387 +0400
+@@ -20,6 +20,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+ #include <upnp/upnp.h>
+ #include <upnp/upnptools.h>
+
+--- ushare-1.1a/src/http.c 2012-01-26 05:27:44.073992912 +0400
++++ ushare-1.1a.my/src/http.c 2012-01-26 05:17:31.756505126 +0400
+@@ -25,6 +25,7 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <unistd.h>
+ #include <errno.h>
+
+--- ushare-1.1a/src/presentation.c 2007-12-09 16:03:36.000000000 +0300
++++ ushare-1.1a.my/src/presentation.c 2012-01-26 05:19:41.635972259 +0400
+@@ -19,6 +19,8 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
++#include <stdio.h>
+
+ #if HAVE_LANGINFO_CODESET
+ # include <langinfo.h>
+--- ushare-1.1a/src/mime.c 2007-12-09 16:03:36.000000000 +0300
++++ ushare-1.1a.my/src/mime.c 2012-01-26 05:23:54.251602492 +0400
+@@ -21,6 +21,7 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++#include <stdio.h>
+
+ #include "mime.h"
+ #include "ushare.h"
+--- ushare-1.1a/src/services.c 2007-12-09 16:03:36.000000000 +0300
++++ ushare-1.1a.my/src/services.c 2012-01-26 05:21:28.572200186 +0400
+@@ -20,6 +20,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+ #include <upnp/upnp.h>
+ #include <upnp/upnptools.h>
diff --git a/community/ushare/upnp-build-fix.patch b/community/ushare/upnp-build-fix.patch
new file mode 100644
index 000000000..c3ec37a32
--- /dev/null
+++ b/community/ushare/upnp-build-fix.patch
@@ -0,0 +1,156 @@
+diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c
+--- ushare-1.1a/src/http.c 2007-12-09 13:03:36.000000000 +0000
++++ ushare-1.1a.my/src/http.c 2010-10-29 11:13:07.000000000 +0000
+@@ -77,8 +77,7 @@
+ info->content_type = ixmlCloneDOMString (content_type);
+ }
+
+-static int
+-http_get_info (const char *filename, struct File_Info *info)
++int http_get_info (const char *filename, struct File_Info *info)
+ {
+ extern struct ushare_t *ut;
+ struct upnp_entry_t *entry = NULL;
+@@ -197,8 +196,7 @@
+ return ((UpnpWebFileHandle) file);
+ }
+
+-static UpnpWebFileHandle
+-http_open (const char *filename, enum UpnpOpenFileMode mode)
++UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode)
+ {
+ extern struct ushare_t *ut;
+ struct upnp_entry_t *entry = NULL;
+@@ -251,8 +249,7 @@
+ return ((UpnpWebFileHandle) file);
+ }
+
+-static int
+-http_read (UpnpWebFileHandle fh, char *buf, size_t buflen)
++int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen)
+ {
+ struct web_file_t *file = (struct web_file_t *) fh;
+ ssize_t len = -1;
+@@ -286,8 +283,7 @@
+ return len;
+ }
+
+-static int
+-http_write (UpnpWebFileHandle fh __attribute__((unused)),
++int http_write (UpnpWebFileHandle fh __attribute__((unused)),
+ char *buf __attribute__((unused)),
+ size_t buflen __attribute__((unused)))
+ {
+@@ -296,8 +292,7 @@
+ return 0;
+ }
+
+-static int
+-http_seek (UpnpWebFileHandle fh, off_t offset, int origin)
++int http_seek (UpnpWebFileHandle fh, off_t offset, int origin)
+ {
+ struct web_file_t *file = (struct web_file_t *) fh;
+ off_t newpos = -1;
+@@ -371,8 +366,7 @@
+ return 0;
+ }
+
+-static int
+-http_close (UpnpWebFileHandle fh)
++int http_close (UpnpWebFileHandle fh)
+ {
+ struct web_file_t *file = (struct web_file_t *) fh;
+
+@@ -402,13 +396,3 @@
+
+ return 0;
+ }
+-
+-struct UpnpVirtualDirCallbacks virtual_dir_callbacks =
+- {
+- http_get_info,
+- http_open,
+- http_read,
+- http_write,
+- http_seek,
+- http_close
+- };
+diff -wbBur ushare-1.1a/src/http.h ushare-1.1a.my/src/http.h
+--- ushare-1.1a/src/http.h 2007-12-09 13:03:36.000000000 +0000
++++ ushare-1.1a.my/src/http.h 2010-10-29 11:13:11.000000000 +0000
+@@ -25,6 +25,13 @@
+ #include <upnp/upnp.h>
+ #include <upnp/upnptools.h>
+
+-struct UpnpVirtualDirCallbacks virtual_dir_callbacks;
++int http_close (UpnpWebFileHandle fh);
++int http_write (UpnpWebFileHandle fh __attribute__((unused)),
++ char *buf __attribute__((unused)),
++ size_t buflen __attribute__((unused)));
++int http_seek (UpnpWebFileHandle fh, off_t offset, int origin);
++UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode);
++int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen);
++int http_get_info (const char *filename, struct File_Info *info);
+
+ #endif /* _HTTP_H_ */
+diff -wbBur ushare-1.1a/src/ushare.c ushare-1.1a.my/src/ushare.c
+--- ushare-1.1a/src/ushare.c 2007-12-09 13:03:36.000000000 +0000
++++ ushare-1.1a.my/src/ushare.c 2010-10-29 11:17:45.000000000 +0000
+@@ -188,7 +188,7 @@
+ if (strcmp (request->DevUDN + 5, ut->udn))
+ return;
+
+- ip = request->CtrlPtIPAddr.s_addr;
++ ip = (*(struct sockaddr_in*)&request->CtrlPtIPAddr).sin_addr.s_addr;
+ ip = ntohl (ip);
+ sprintf (val, "%d.%d.%d.%d",
+ (ip >> 24) & 0xFF, (ip >> 16) & 0xFF, (ip >> 8) & 0xFF, ip & 0xFF);
+@@ -348,7 +348,47 @@
+
+ UpnpEnableWebserver (TRUE);
+
+- res = UpnpSetVirtualDirCallbacks (&virtual_dir_callbacks);
++ res = UpnpVirtualDir_set_WriteCallback(http_write);
++ if (res != UPNP_E_SUCCESS)
++ {
++ log_error (_("Cannot set virtual directory callbacks\n"));
++ free (description);
++ return -1;
++ }
++
++ res = UpnpVirtualDir_set_GetInfoCallback(http_get_info);
++ if (res != UPNP_E_SUCCESS)
++ {
++ log_error (_("Cannot set virtual directory callbacks\n"));
++ free (description);
++ return -1;
++ }
++
++ res = UpnpVirtualDir_set_ReadCallback(http_read);
++ if (res != UPNP_E_SUCCESS)
++ {
++ log_error (_("Cannot set virtual directory callbacks\n"));
++ free (description);
++ return -1;
++ }
++
++ res = UpnpVirtualDir_set_OpenCallback(http_open);
++ if (res != UPNP_E_SUCCESS)
++ {
++ log_error (_("Cannot set virtual directory callbacks\n"));
++ free (description);
++ return -1;
++ }
++
++ res = UpnpVirtualDir_set_SeekCallback(http_seek);
++ if (res != UPNP_E_SUCCESS)
++ {
++ log_error (_("Cannot set virtual directory callbacks\n"));
++ free (description);
++ return -1;
++ }
++
++ res = UpnpVirtualDir_set_CloseCallback(http_close);
+ if (res != UPNP_E_SUCCESS)
+ {
+ log_error (_("Cannot set virtual directory callbacks\n"));
diff --git a/community/ushare/ushare-config.patch b/community/ushare/ushare-config.patch
new file mode 100644
index 000000000..d064db890
--- /dev/null
+++ b/community/ushare/ushare-config.patch
@@ -0,0 +1,22 @@
+--- ushare-1.1a/scripts/ushare.conf 2007-12-09 07:03:36.000000000 -0600
++++ b/scripts/ushare.conf 2010-11-15 12:09:45.000000000 -0600
+@@ -31,15 +31,15 @@ USHARE_DIR=
+ USHARE_OVERRIDE_ICONV_ERR=
+
+ # Enable Web interface (yes/no)
+-ENABLE_WEB=
++USHARE_ENABLE_WEB=
+
+ # Enable Telnet control interface (yes/no)
+-ENABLE_TELNET=
++USHARE_ENABLE_TELNET=
+
+ # Use XboX 360 compatibility mode (yes/no)
+-ENABLE_XBOX=
++USHARE_ENABLE_XBOX=
+
+ # Use DLNA profile (yes/no)
+ # This is needed for PlayStation3 to work (among other devices)
+-ENABLE_DLNA=
++USHARE_ENABLE_DLNA=
+
diff --git a/community/ushare/ushare.install b/community/ushare/ushare.install
new file mode 100644
index 000000000..38d710156
--- /dev/null
+++ b/community/ushare/ushare.install
@@ -0,0 +1,17 @@
+post_install() {
+ if [ -z "`grep '^ushare:' /etc/group`" ]; then
+ groupadd -r ushare
+ fi
+ if [ -z "`grep '^ushare:' /etc/passwd`" ]; then
+ useradd -r -d /var/empty -g ushare -s /sbin/nologin ushare
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ userdel ushare
+ groupdel ushare
+}
diff --git a/community/ushare/ushare.service b/community/ushare/ushare.service
new file mode 100644
index 000000000..ba6719b8b
--- /dev/null
+++ b/community/ushare/ushare.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=ushare
+After=network.target
+
+[Service]
+EnvironmentFile=/etc/conf.d/ushare
+ExecStart=/usr/bin/ushare -D -x --cfg=/etc/ushare/ushare.conf
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/ussp-push/PKGBUILD b/community/ussp-push/PKGBUILD
new file mode 100644
index 000000000..1c4fc9c5d
--- /dev/null
+++ b/community/ussp-push/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92147 2013-06-01 15:32:36Z eric $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Giovanni Scafora <linuxmania@gmail.com>
+# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+pkgname=ussp-push
+pkgver=0.11
+pkgrel=6
+pkgdesc="OBEX object pusher for Linux"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://xmailserver.org/ussp-push.html"
+depends=('openobex')
+source=(http://xmailserver.org/$pkgname-$pkgver.tar.gz
+ build-fix.patch)
+md5sums=('5c44983ee27809867041feff6bb4423a'
+ 'b9020ea9bb34b811206366b407f5e3cd')
+
+prepare() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 <$srcdir/build-fix.patch
+}
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ export LDFLAGS="$LDFLAGS -lopenobex-apps-common"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/ussp-push/build-fix.patch b/community/ussp-push/build-fix.patch
new file mode 100644
index 000000000..ae57ca00f
--- /dev/null
+++ b/community/ussp-push/build-fix.patch
@@ -0,0 +1,66 @@
+diff -dupr ussp-push-0.11.old/src/obex_socket.c ussp-push-0.11/src/obex_socket.c
+--- ussp-push-0.11.old/src/obex_socket.c 2009-05-15 11:03:34.904797689 +0200
++++ ussp-push-0.11/src/obex_socket.c 2009-05-15 11:03:45.599797286 +0200
+@@ -197,7 +197,7 @@ static int bt_sock_name2bth(int devid, c
+ for (i = 0; i < niinf; i++) {
+ char devname[128];
+
+- if (hci_remote_name(dd, &piinf[i].bdaddr, sizeof(devname) - 1,
++ if (hci_read_remote_name(dd, &piinf[i].bdaddr, sizeof(devname) - 1,
+ devname, 100000) >= 0) {
+ if (strcasecmp(devname, btname) == 0) {
+ *btaddr = piinf[i].bdaddr;
+diff -wbBur ussp-push-0.11/src/obex_main.c ussp-push-0.11.q/src/obex_main.c
+--- ussp-push-0.11/src/obex_main.c 2008-08-25 00:48:53.000000000 +0400
++++ ussp-push-0.11.q/src/obex_main.c 2013-05-27 14:13:06.533474671 +0400
+@@ -85,41 +85,6 @@
+ int bt_debug;
+
+
+-
+-/*
+- * These two functions are from affix/profiles/obex/obex_io.c
+- */
+-int get_filesize(const char *filename)
+-{
+- struct stat stats;
+-
+- stat(filename, &stats);
+- return (int) stats.st_size;
+-}
+-
+-uint8_t *easy_readfile(const char *filename, int *file_size)
+-{
+- int actual;
+- int fd;
+- uint8_t *buf;
+-
+- fd = open(filename, O_RDONLY, 0);
+- if (fd == -1) {
+- return NULL;
+- }
+- *file_size = get_filesize(filename);
+- printf("name=%s, size=%d\n", filename, *file_size);
+- if (!(buf = malloc(*file_size))) {
+- return NULL;
+- }
+-
+- actual = read(fd, buf, *file_size);
+- close(fd);
+-
+- *file_size = actual;
+- return buf;
+-}
+-
+ /*
+ * This function comes from affix/profiles/obex/obex_client.c .. All I changed
+ * was a BTERROR() macro. The OBEX_HandleInput() calls inside the loop should
+@@ -197,7 +197,7 @@
+ *err = -1;
+ return NULL;
+ }
+- if (!(handle = OBEX_Init(OBEX_TRANS_CUST, obex_event, 0))) {
++ if (!(handle = OBEX_Init(OBEX_TRANS_CUSTOM, obex_event, 0))) {
+ BTERROR("OBEX_Init failed: %s\n", strerror(errno));
+ obex_free(gt);
+ *err = -1;
diff --git a/community/ustr/PKGBUILD b/community/ustr/PKGBUILD
new file mode 100644
index 000000000..932534f52
--- /dev/null
+++ b/community/ustr/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 65359 2012-02-21 02:20:19Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=ustr
+pkgver=1.0.4
+pkgrel=3
+pkgdesc="micro string API for C"
+arch=(i686 x86_64)
+url="http://www.and.org/ustr/"
+license=('GPL')
+depends=('glibc')
+source=(http://www.and.org/ustr/$pkgver/ustr-$pkgver.tar.bz2)
+md5sums=('93147d9f0c9765d4cd0f04f7e44bdfce')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+ make DESTDIR="$pkgdir" install
+ mv $pkgdir/usr/share/doc/man $pkgdir/usr/share/
+}
diff --git a/community/uucp/PKGBUILD b/community/uucp/PKGBUILD
new file mode 100644
index 000000000..1b0fc3394
--- /dev/null
+++ b/community/uucp/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 91914 2013-05-29 10:32:53Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jick Nan <jick.nan@gmail.com>
+
+pkgname=uucp
+pkgver=1.07
+pkgrel=4
+pkgdesc="Taylor UUCP is a free implementation of UUCP and is the standard UUCP used on the GNU system"
+arch=(i686 x86_64)
+url="http://www.gnu.org/software/uucp/uucp.html"
+license=('GPL')
+makedepends=('wget' 'sed' 'grep')
+backup=('etc/uucp/config'
+ 'etc/uucp/port'
+ 'etc/uucp/sys')
+source=(http://ftp.gnu.org/gnu/uucp/${pkgname}-${pkgver}.tar.gz)
+md5sums=('64c54d43787339a7cced48390eb3e1d0')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's|${CC-cc} -E|${CC-cc} -E -O2|g' configure
+# sed -i \
+# -e '1,1i#include <unistd.h>' \
+# -e '1,1i#include <fcntl.h>' \
+# -e '1,1i#include <sys/types.h>' \
+# uuconf/rdlocs.c unix/{efopen,cusub,init}.c
+# sed -i '1,1i#include <sys/statvfs.h>' unix/fsusg.c
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man --with-newconfigdir=/etc/uucp --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 sample/config ${pkgdir}/etc/uucp/config
+ install -D -m644 sample/sys1 ${pkgdir}/etc/uucp/sys
+ install -D -m644 sample/port ${pkgdir}/etc/uucp/port
+ mv ${pkgdir}/usr/info ${pkgdir}/usr/share/
+}
diff --git a/community/uudeview/PKGBUILD b/community/uudeview/PKGBUILD
new file mode 100644
index 000000000..1123c1614
--- /dev/null
+++ b/community/uudeview/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 67722 2012-03-14 09:04:31Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: kmaster <kmaster12@sasktel.net>
+
+pkgname=uudeview
+pkgver=0.5.20
+pkgrel=10
+pkgdesc="UUDeview helps transmitting & receiving binary files using mail or newsgroups. Includes library files."
+arch=('i686' 'x86_64')
+url="http://www.fpx.de/fp/Software/UUDeview/"
+license=('GPL')
+optdepends=('tk: for GUI')
+source=(http://www.fpx.de/fp/Software/UUDeview/download/$pkgname-$pkgver.tar.gz)
+md5sums=('0161abaec3658095044601eae82bbc5b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+ make prefix=$pkgdir/usr MANDIR=$pkgdir/usr/share/man install
+ install -d $pkgdir/usr/lib/uudeview
+ install -d $pkgdir/usr/include/uudeview
+
+ cd $srcdir/uudeview-$pkgver/uulib
+ ./configure --prefix=/usr
+ make
+ cp -v *.o $pkgdir/usr/lib/uudeview
+ cp -v *.a $pkgdir/usr/lib/uudeview
+ cp -v *.h $pkgdir/usr/include/uudeview
+}
diff --git a/community/uzbl/PKGBUILD b/community/uzbl/PKGBUILD
new file mode 100644
index 000000000..9ac9af3be
--- /dev/null
+++ b/community/uzbl/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 80256 2012-11-18 14:26:45Z lcarlier $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Dieter Plaetinck <dieter@plaetinck.be>
+
+pkgbase=uzbl
+pkgname=('uzbl-core' 'uzbl-browser' 'uzbl-tabbed')
+pkgver=2012.05.14
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://www.uzbl.org"
+license=('GPL3')
+makedepends=('pkgconfig' 'libwebkit>=1.3.13')
+source=(uzbl-$pkgver.tar.gz::https://github.com/Dieterbe/uzbl/tarball/$pkgver)
+md5sums=('4c58653bddbcf1429f7275bbb7c664a9')
+
+build() {
+ cd "$srcdir"/Dieterbe-uzbl-*
+
+ # python2 fix
+ for file in examples/data/scripts/uzbl*; do
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file
+ done
+ sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find ./ -name '*.py') bin/*
+
+ # NEW_BG_TAB event fix (merged upstream)
+ sed -i -e "s/tab_bg/bg_tab/" bin/uzbl-tabbed
+
+ make
+}
+
+package_uzbl-core() {
+ pkgdesc="Webpage interface component meant for integration with other tools and scripts"
+ depends=('libwebkit>=1.3.13')
+ optdepends=('socat: to interface with the socket' 'dmenu: to run some of the example scripts'
+ 'zenity: to run some of the example scripts'
+ 'python2: to run some of the example scripts'
+ 'xclip: for clipboard related keybindings'
+ 'pygtk: for uzbl-tabbed')
+ install=uzbl.install
+
+ cd "$srcdir"/Dieterbe-uzbl-*
+
+ make DESTDIR="$pkgdir" PREFIX=/usr install-uzbl-core
+}
+
+package_uzbl-browser() {
+ pkgdesc="A complete browser experience based on uzbl-core"
+ depends=("uzbl-core=$pkgver" 'socat' 'zenity' 'xclip' 'dmenu' 'python2')
+
+ cd "$srcdir"/Dieterbe-uzbl-*
+
+ make DESTDIR="$pkgdir" PREFIX=/usr install-uzbl-browser
+ rm -r $pkgdir/usr/bin/uzbl-core $pkgdir/usr/share/uzbl/docs
+}
+
+package_uzbl-tabbed() {
+ pkgdesc="Tabbing manager providing multiple uzbl-browser instances in 1 window"
+ depends=("uzbl-browser=$pkgver" 'pygtk')
+
+ cd "$srcdir"/Dieterbe-uzbl-*
+
+ make DESTDIR="$pkgdir" PREFIX=/usr install-uzbl-tabbed
+}
+
diff --git a/community/uzbl/uzbl.install b/community/uzbl/uzbl.install
new file mode 100644
index 000000000..500b114e7
--- /dev/null
+++ b/community/uzbl/uzbl.install
@@ -0,0 +1,17 @@
+post_install() {
+ /bin/true
+}
+
+post_upgrade() {
+ echo "Some incompatibily are introduced, please refer to http://www.uzbl.org/news.php?id=38"
+}
+
+pre_remove() {
+ /bin/true
+}
+
+post_remove() {
+ /bin/true
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/v8/PKGBUILD b/community/v8/PKGBUILD
new file mode 100644
index 000000000..f84a6d362
--- /dev/null
+++ b/community/v8/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 90963 2013-05-16 17:56:17Z bpiotrowski $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: tocer <tocer.deng@gmail.com>
+
+pkgname=v8
+pkgver=3.19.0
+pkgrel=1
+pkgdesc='Fast and modern Javascript engine'
+arch=('i686' 'x86_64')
+url='http://code.google.com/p/v8'
+license=('BSD')
+depends=('gcc-libs' 'readline')
+makedepends=('subversion' 'python2')
+source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.bz2)
+sha256sums=('35af5629792e958968eacc94daef3ad358b6ed7126875db6138664f51c061368')
+
+[[ "$CARCH" = 'i686' ]] && ARCH=ia32
+[[ "$CARCH" = 'x86_64' ]] && ARCH=x64
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # Fetch gyp
+ make dependencies
+
+ # The world isn't ready for python3
+ export PYTHON=python2
+ find build/ test/ tools/ src/ -type f \
+ -exec sed -e 's_^#!/usr/bin/env python$_&2_' \
+ -e 's_^\(#!/usr/bin/python2\).[45]$_\1_' \
+ -e 's_^#!/usr/bin/python$_&2_' \
+ -e "s_'python'_'python2'_" -i {} \;
+ sed -i 's/python /python2 /' Makefile
+}
+
+build() {
+ cd $pkgname-$pkgver
+
+ make $ARCH.release library=shared console=readline werror=no
+
+ cd "$srcdir" && cp -r $pkgname-$pkgver d8-static-$pkgver
+ cd d8-static-$pkgver
+ make $ARCH.release library=static console=readline werror=no
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ install -Dm755 "$srcdir"/d8-static-$pkgver/out/$ARCH.release/d8 "$pkgdir"/usr/bin/d8
+ install -Dm755 out/$ARCH.release/lib.target/libv8.so "$pkgdir"/usr/lib/libv8.so
+
+ install -d "$pkgdir"/usr/include
+ install -Dm644 include/*.h "$pkgdir"/usr/include
+
+ install -d "$pkgdir"/usr/share/licenses/v8
+ install -m644 LICENSE* ${pkgdir}/usr/share/licenses/v8
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/vamps/PKGBUILD b/community/vamps/PKGBUILD
new file mode 100644
index 000000000..a949e9e95
--- /dev/null
+++ b/community/vamps/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 83866 2013-02-05 22:51:15Z lcarlier $
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Stefano Zamprogno <stefano.zamprogno@gmail.com>
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=vamps
+pkgver=0.99.2
+pkgrel=10
+pkgdesc='Very fast requantisizing tool for backup DVDs'
+arch=('i686' 'x86_64')
+url='http://vamps.sourceforge.net'
+license=('GPL2')
+depends=('libdvdread')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('7d438185a2ae95ebb245472d9fa47d06')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ install -D play_cell/play_cell ${pkgdir}/usr/bin/play_cell
+ install ${pkgname}/${pkgname} ${pkgdir}/usr/bin/
+}
+
diff --git a/community/vbetool/PKGBUILD b/community/vbetool/PKGBUILD
new file mode 100644
index 000000000..de312a4f7
--- /dev/null
+++ b/community/vbetool/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 92026 2013-05-30 23:36:55Z seblu $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Christian Storm <Christian.Storm@gmx.DE>
+# Contributor: James Rayner <james@archlinux.org>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+
+pkgname=vbetool
+pkgver=1.1
+pkgrel=3
+pkgdesc="Uses lrmi in order to run code from the video BIOS"
+url="http://www.srcf.ucam.org/~mjg59/vbetool/"
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('zlib' 'libx86')
+makedepends=('pciutils')
+source=("http://www.codon.org.uk/~mjg59/${pkgname}/download/${pkgname}-${pkgver}.tar.gz")
+md5sums=('ffb03b118867a02296d7449019ad8846')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ if [ "${CARCH}" = "x86_64" ]; then
+ ./configure --prefix=/usr --sbindir=/usr/bin --without-x86emu
+ else
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ fi
+ make LIBS=-lpci
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/vbindiff/PKGBUILD b/community/vbindiff/PKGBUILD
new file mode 100644
index 000000000..e352faf92
--- /dev/null
+++ b/community/vbindiff/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65363 2012-02-21 02:22:10Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: tyr0 <thomas.hoernes@gmx.at>
+
+pkgname=vbindiff
+pkgver=3.0_beta4
+pkgrel=3
+pkgdesc="displays files in hexadecimal and ASCII (or EBCDIC) and highlight the differences between them"
+arch=('i686' 'x86_64')
+url="http://www.cjmweb.net/vbindiff/"
+license=('GPL')
+depends=('gcc-libs' 'ncurses')
+source=($url/$pkgname-$pkgver.tar.gz)
+md5sums=('dbda80ef580e1a0975ef50b9aaa5210e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=$pkgdir/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make install
+}
diff --git a/community/vdrift/PKGBUILD b/community/vdrift/PKGBUILD
new file mode 100644
index 000000000..35ac2775e
--- /dev/null
+++ b/community/vdrift/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 85589 2013-03-03 17:28:55Z dreisner $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
+# Contributor: Lone_Wolf lonewolf@xs4all.nl
+
+pkgname=vdrift
+pkgver=2012.07.22
+pkgrel=4
+pkgdesc="Open source driving simulation made with drift racing in mind"
+arch=('i686' 'x86_64')
+url="http://vdrift.net/"
+license=('GPL')
+depends=('bullet' 'curl' 'sdl_gfx' 'sdl_image' 'glew' 'libvorbis' "vdrift-data=2:$pkgver"
+ 'gtk-update-icon-cache' 'hicolor-icon-theme' 'libarchive')
+makedepends=('scons' 'boost' 'asio' 'mesa')
+install=vdrift.install
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-${pkgver//./-}.tar.bz2
+ vdrift-2012-07-22c_bullet281_patch.diff)
+md5sums=('fcfd6b65724d32dfe383df216d7afb74'
+ '67ff3037575c3aa74393971d1475ef54')
+
+build() {
+ cd VDrift
+
+ patch -Np0 < "$srcdir"/vdrift-2012-07-22c_bullet281_patch.diff
+
+ # build and install
+ scons $MAKEFLAGS \
+ "destdir"="$pkgdir" \
+ "release"=1 \
+ "force_feedback"=1 \
+ "prefix"=/usr \
+ "datadir"=share/$pkgname/ \
+ "extbullet"=1
+}
+
+package() {
+ cd VDrift
+
+ scons install
+
+ # install .desktop file
+ install -Dm644 $pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+ sed -i '1 s/^\xef\xbb\xbf//' "$pkgdir"/usr/share/applications/$pkgname.desktop # remove BOM (WHY IS THERE?)
+
+ # install icons
+ install -Dm644 data/textures/icons/vdrift-16x16.png "$pkgdir"/usr/share/icons/hicolor/16x16/apps/vdrift.png
+ install -Dm644 data/textures/icons/vdrift-32x32.png "$pkgdir"/usr/share/icons/hicolor/32x32/apps/vdrift.png
+ install -Dm644 data/textures/icons/vdrift-64x64.png "$pkgdir"/usr/share/icons/hicolor/64x64/apps/vdrift.png
+ install -Dm644 data/textures/icons/vdrift-64x64.png "$pkgdir/usr/share/pixmaps/$pkgname.png"
+
+ rm -r "$pkgdir"/usr/share/vdrift
+}
+# vim: sw=2:ts=2 et:
diff --git a/community/vdrift/vdrift-2012-07-22c_bullet281_patch.diff b/community/vdrift/vdrift-2012-07-22c_bullet281_patch.diff
new file mode 100644
index 000000000..c8509ff1b
--- /dev/null
+++ b/community/vdrift/vdrift-2012-07-22c_bullet281_patch.diff
@@ -0,0 +1,898 @@
+--- data/skins/simple/menus/AssignControl Mon Jan 19 23:26:36 1970
++++ data/skins/simple/menus/AssignControl Mon Jan 19 23:26:36 1970
+@@ -46,7 +46,7 @@
+ image = white.png
+ color = 0.172, 0.161, 0.169
+ alpha = 0.7
+-left = 0.2
+-right = 0.2
++left = 0.1
++right = 0.1
+ top = 0.48
+ height = 0.04
+--- data/skins/simple/menus/GuiControls Mon Jan 19 23:26:36 1970
++++ data/skins/simple/menus/GuiControls Mon Jan 19 23:26:36 1970
+@@ -82,7 +82,7 @@
+ onselect = controledit.string:gui_select:0
+ onmoveleft = widget-01d
+ onmoveright = widget-01c
+-onmoveup = widget-13b
++onmoveup = widget-08b
+ onmovedown = widget-02b
+ onfocus = widget-01b.sat:0.56
+ onblur = widget-01b.sat:0.0
+@@ -101,7 +101,7 @@
+ onselect = controledit.string:gui_select:1
+ onmoveleft = widget-01b
+ onmoveright = widget-01d
+-onmoveup = widget-13b
++onmoveup = widget-08b
+ onmovedown = widget-02c
+ onfocus = widget-01c.sat:0.56
+ onblur = widget-01c.sat:0.0
+@@ -120,7 +120,7 @@
+ onselect = controledit.string:gui_select:2
+ onmoveleft = widget-01c
+ onmoveright = widget-01b
+-onmoveup = widget-13b
++onmoveup = widget-08b
+ onmovedown = widget-02d
+ onfocus = widget-01d.sat:0.56
+ onblur = widget-01d.sat:0.0
+--- data/skins/simple/menus/InGameMain Mon Jan 19 23:26:36 1970
++++ data/skins/simple/menus/InGameMain Mon Jan 19 23:26:36 1970
+@@ -44,10 +44,10 @@
+
+
+ [ widget-01 ]
+-text = Return to Game
++text = Continue
+ fontsize = 0.035
+ align = left
+-tip = Leave the menu and unpause the game.
++tip = Leave the menu and continue the game.
+ onselect = ReturnToGame
+ onmoveup = widget-05
+ onmovedown = widget-02
+@@ -72,7 +72,7 @@
+
+
+ [ widget-02 ]
+-text = Restart Game
++text = Restart
+ fontsize = 0.035
+ align = left
+ tip = Restart this game using the same car and track settings.
+@@ -100,7 +100,7 @@
+
+
+ [ widget-03 ]
+-text = Leave Game
++text = Abort
+ fontsize = 0.035
+ align = left
+ tip = Leave game and return to the Main menu.
+--- data/skins/simple/menus/InputDevice Mon Jan 19 23:26:36 1970
++++ data/skins/simple/menus/InputDevice Mon Jan 19 23:26:36 1970
+@@ -82,7 +82,7 @@
+ onselect = joystick.type.prev
+ onmoveleft = joystick.type.prev
+ onmoveright = joystick.type.next
+-onmoveup = widget-13b
++onmoveup = widget-11b
+ onmovedown = widget-02b
+ onfocus = widget-01b.alpha:1 widget-01c.alpha:1 widget-01d.sat:0.56
+ onblur = widget-01b.alpha:0 widget-01c.alpha:0 widget-01d.sat:0.0
+@@ -102,7 +102,7 @@
+ onselect = joystick.type.next
+ onmoveleft = joystick.type.prev
+ onmoveright = joystick.type.next
+-onmoveup = widget-13b
++onmoveup = widget-11b
+ onmovedown = widget-02b
+ onfocus = widget-01b.alpha:1 widget-01c.alpha:1 widget-01d.sat:0.56
+ onblur = widget-01b.alpha:0 widget-01c.alpha:0 widget-01d.sat:0.0
+--- data/skins/simple/menus/SingleRace Mon Jan 19 23:26:36 1970
++++ data/skins/simple/menus/SingleRace Mon Jan 19 23:26:36 1970
+@@ -860,7 +860,7 @@
+ onmoveleft = game.vehicle_damage.prev
+ onmoveright = game.vehicle_damage.next
+ onmoveup = widget-14b
+-onmovedown = widget-16
++onmovedown = widget-16b
+ onfocus = widget-15b.alpha:1 widget-15c.alpha:1 widget-15d.sat:0.56
+ onblur = widget-15b.alpha:0 widget-15c.alpha:0 widget-15d.sat:0.0
+ focus = false
+--- src/camera.h Mon Jan 19 23:26:36 1970
++++ src/camera.h Mon Jan 19 23:26:36 1970
+@@ -16,7 +16,7 @@
+
+ const std::string & GetName() const { return name; }
+
+- void SetFOV(float value) { fov = std::max(40.0f, std::min(160.0f, value)); }
++ void SetFOV(float value) { fov = std::max(0.0f, std::min(120.0f, value)); }
+
+ float GetFOV() const { return fov; }
+
+--- src/carcontrolmap_local.cpp Mon Jan 19 23:26:36 1970
++++ src/carcontrolmap_local.cpp Mon Jan 19 23:26:36 1970
+@@ -830,16 +830,6 @@
+ keycodes["y"] = SDLK_y;
+ keycodes["z"] = SDLK_z;
+ keycodes["DELETE"] = SDLK_DELETE;
+- keycodes["KP0"] = SDLK_KP_0;
+- keycodes["KP1"] = SDLK_KP_1;
+- keycodes["KP2"] = SDLK_KP_2;
+- keycodes["KP3"] = SDLK_KP_3;
+- keycodes["KP4"] = SDLK_KP_4;
+- keycodes["KP5"] = SDLK_KP_5;
+- keycodes["KP6"] = SDLK_KP_6;
+- keycodes["KP7"] = SDLK_KP_7;
+- keycodes["KP8"] = SDLK_KP_8;
+- keycodes["KP9"] = SDLK_KP_9;
+ keycodes["KP_PERIOD"] = SDLK_KP_PERIOD;
+ keycodes["KP_DIVIDE"] = SDLK_KP_DIVIDE;
+ keycodes["KP_MULTIPLY"] = SDLK_KP_MULTIPLY;
+@@ -872,20 +862,50 @@
+ keycodes["F14"] = SDLK_F14;
+ keycodes["F15"] = SDLK_F15;
+ keycodes["MENU"] = SDLK_MENU;
+- keycodes["APPLICATION"] = SDLK_APPLICATION;
+- keycodes["NUMLOCK"] = SDLK_NUMLOCKCLEAR;
+ keycodes["CAPSLOCK"] = SDLK_CAPSLOCK;
+- keycodes["SCROLLLOCK"] = SDLK_SCROLLLOCK;
+ keycodes["RSHIFT"] = SDLK_RSHIFT;
+ keycodes["LSHIFT"] = SDLK_LSHIFT;
+ keycodes["RCTRL"] = SDLK_RCTRL;
+ keycodes["LCTRL"] = SDLK_LCTRL;
+ keycodes["RALT"] = SDLK_RALT;
+ keycodes["LALT"] = SDLK_LALT;
++#if SDL_VERSION_ATLEAST(2,0,0)
++ keycodes["KP0"] = SDLK_KP_0;
++ keycodes["KP1"] = SDLK_KP_1;
++ keycodes["KP2"] = SDLK_KP_2;
++ keycodes["KP3"] = SDLK_KP_3;
++ keycodes["KP4"] = SDLK_KP_4;
++ keycodes["KP5"] = SDLK_KP_5;
++ keycodes["KP6"] = SDLK_KP_6;
++ keycodes["KP7"] = SDLK_KP_7;
++ keycodes["KP8"] = SDLK_KP_8;
++ keycodes["KP9"] = SDLK_KP_9;
++ keycodes["COMPOSE"] = SDLK_APPLICATION;
++ keycodes["NUMLOCK"] = SDLK_NUMLOCKCLEAR;
++ keycodes["SCROLLLOCK"] = SDLK_SCROLLLOCK;
+ keycodes["RMETA"] = SDLK_RGUI;
+ keycodes["LMETA"] = SDLK_LGUI;
+ keycodes["LSUPER"] = SDLK_LGUI;
+ keycodes["RSUPER"] = SDLK_RGUI;
++#else
++ keycodes["KP0"] = SDLK_KP0;
++ keycodes["KP1"] = SDLK_KP1;
++ keycodes["KP2"] = SDLK_KP2;
++ keycodes["KP3"] = SDLK_KP3;
++ keycodes["KP4"] = SDLK_KP4;
++ keycodes["KP5"] = SDLK_KP5;
++ keycodes["KP6"] = SDLK_KP6;
++ keycodes["KP7"] = SDLK_KP7;
++ keycodes["KP8"] = SDLK_KP8;
++ keycodes["KP9"] = SDLK_KP9;
++ keycodes["COMPOSE"] = SDLK_COMPOSE;
++ keycodes["NUMLOCK"] = SDLK_NUMLOCK;
++ keycodes["SCROLLLOCK"] = SDLK_SCROLLOCK;
++ keycodes["LMETA"] = SDLK_LMETA;
++ keycodes["RMETA"] = SDLK_RMETA;
++ keycodes["LSUPER"] = SDLK_LSUPER;
++ keycodes["RSUPER"] = SDLK_RSUPER;
++#endif
+ return keycodes;
+ }
+
+--- src/game.cpp Mon Jan 19 23:26:36 1970
++++ src/game.cpp Mon Jan 19 23:26:36 1970
+@@ -324,10 +324,6 @@
+
+ info_output << "Shutting down..." << std::endl;
+
+- // Stop the sound thread.
+- if (sound.Enabled())
+- sound.Pause(true);
+-
+ LeaveGame();
+
+ // Save settings first incase later deinits cause crashes.
+@@ -499,16 +495,7 @@
+ }
+
+ // Connect game actions to gui options
+- set_car_name.connect(gui.GetOption("game.car").signal_val);
+- set_car_paint.connect(gui.GetOption("game.car_paint").signal_val);
+- set_car_color_hue.connect(gui.GetOption("game.car_color_hue").signal_val);
+- set_car_color_sat.connect(gui.GetOption("game.car_color_sat").signal_val);
+- set_car_color_val.connect(gui.GetOption("game.car_color_val").signal_val);
+- set_car_ai_type.connect(gui.GetOption("game.ai_type").signal_val);
+- set_car_ai_level.connect(gui.GetOption("game.ai_level").signal_val);
+- set_cars_num.connect(gui.GetOption("game.cars_num").signal_val);
+- set_track_image.connect(gui.GetOption("game.track").signal_val);
+- set_control.connect(gui.GetOption("controledit.string").signal_val);
++ BindActionsToGUI();
+
+ // Set options from game settings.
+ std::map<std::string, std::string> optionmap;
+@@ -531,7 +518,6 @@
+ if (sound.Init(2048, info_output, error_output))
+ {
+ sound.SetVolume(settings.GetSoundVolume());
+- //sound.Pause(false);
+ content.setSound(sound.GetDeviceInfo());
+ }
+ else
+@@ -932,22 +918,18 @@
+ if (sound.Enabled())
+ {
+ bool pause_sound = pause || gui.Active();
+- sound.Pause(pause_sound);
+- if (!pause_sound)
+- {
+- PROFILER.beginBlock("sound");
+- MATHVECTOR <float, 3> pos;
+- QUATERNION <float> rot;
+- if (active_camera)
+- {
+- pos = active_camera->GetPosition();
+- rot = active_camera->GetOrientation();
+- }
+- sound.SetListenerPosition(pos[0], pos[1], pos[2]);
+- sound.SetListenerRotation(rot[0], rot[1], rot[2], rot[3]);
+- sound.Update();
+- PROFILER.endBlock("sound");
+- }
++ PROFILER.beginBlock("sound");
++ MATHVECTOR <float, 3> pos;
++ QUATERNION <float> rot;
++ if (active_camera)
++ {
++ pos = active_camera->GetPosition();
++ rot = active_camera->GetOrientation();
++ }
++ sound.SetListenerPosition(pos[0], pos[1], pos[2]);
++ sound.SetListenerRotation(rot[0], rot[1], rot[2], rot[3]);
++ sound.Update(pause_sound);
++ PROFILER.endBlock("sound");
+ }
+
+ //PROFILER.beginBlock("force-feedback");
+@@ -1798,9 +1780,12 @@
+ // get car start position marker for camera setup
+ MATHVECTOR<float, 3> car_pos = track.GetStart(0).first;
+
+- // car setup
++ // clear previous car
+ cars.clear();
+
++ // remove previous car sounds
++ sound.Update(true);
++
+ if (LoadCar(
+ cars_name[car_edit_id],
+ cars_paint[car_edit_id],
+@@ -1808,14 +1793,13 @@
+ car_pos, track.GetStart(0).second,
+ true, false))
+ {
+- // update car
++ // set car
+ CAR & car = cars.back();
+ dynamics.update(timestep);
+ car.Update(timestep);
+
+- // process car sound sources
+- // should they be loaded for garage car in the first place?
+- sound.Update();
++ // add car sounds
++ sound.Update(true);
+
+ // use car shape center for camera setup
+ car_pos = car.GetPosition();
+@@ -1958,7 +1942,7 @@
+ }
+
+ if (numreplays == 0)
+- replaylist.push_back(std::make_pair("", "None"));
++ replaylist.push_back(std::make_pair("none", "None"));
+
+ settings.SetSelectedReplay(replaylist.begin()->first);
+ }
+@@ -2411,6 +2395,7 @@
+
+ track.Clear();
+ cars.clear();
++ sound.Update(true);
+ hud.SetVisible(false);
+ inputgraph.Hide();
+ trackmap.Unload();
+@@ -2419,7 +2404,6 @@
+ pause = false;
+ race_laps = 0;
+ tire_smoke.Clear();
+- sound.Update();
+ }
+
+ void GAME::StartPractice()
+@@ -2473,7 +2457,7 @@
+
+ void GAME::StartReplay()
+ {
+- if (!settings.GetSelectedReplay().empty() && !NewGame(true))
++ if (settings.GetSelectedReplay() != "none" && !NewGame(true))
+ {
+ gui.ActivatePage("ReplayStartError", 0.25, error_output);
+ }
+@@ -2855,6 +2839,19 @@
+ EditControl();
+ }
+
++void GAME::BindActionsToGUI()
++{
++ set_car_name.connect(gui.GetOption("game.car").signal_val);
++ set_car_paint.connect(gui.GetOption("game.car_paint").signal_val);
++ set_car_color_hue.connect(gui.GetOption("game.car_color_hue").signal_val);
++ set_car_color_sat.connect(gui.GetOption("game.car_color_sat").signal_val);
++ set_car_color_val.connect(gui.GetOption("game.car_color_val").signal_val);
++ set_car_ai_type.connect(gui.GetOption("game.ai_type").signal_val);
++ set_car_ai_level.connect(gui.GetOption("game.ai_level").signal_val);
++ set_cars_num.connect(gui.GetOption("game.cars_num").signal_val);
++ set_track_image.connect(gui.GetOption("game.track").signal_val);
++ set_control.connect(gui.GetOption("controledit.string").signal_val);
++}
+
+ void GAME::RegisterActions()
+ {
+--- src/game.h Mon Jan 19 23:26:36 1970
++++ src/game.h Mon Jan 19 23:26:36 1970
+@@ -201,6 +201,7 @@
+ void SetTrackImage(const std::string & value);
+ void SetControl(const std::string & value);
+
++ void BindActionsToGUI();
+ void RegisterActions();
+ void InitActionMap(std::map<std::string, Slot0*> & actionmap);
+
+--- src/sound.cpp Mon Jan 19 23:26:36 1970
++++ src/sound.cpp Mon Jan 19 23:26:36 1970
+@@ -30,17 +30,20 @@
+ }
+
+ SOUND::SOUND() :
++ log_error(0),
+ deviceinfo(0, 0, 0, 0),
++ sound_volume(0),
+ initdone(false),
+ disable(false),
+- paused(true),
+ sampler_lock(0),
+ source_lock(0),
++ set_pause(true),
+ max_active_sources(64),
+ sources_num(0),
+- samplers_num(0)
++ sources_pause(true),
++ samplers_num(0),
++ samplers_pause(true)
+ {
+- volume_filter.SetFilterOrder0(1.0);
+ sources.reserve(64);
+ samplers.reserve(64);
+ }
+@@ -115,11 +118,13 @@
+ }
+
+ deviceinfo = SOUNDINFO(samples, frequency, channels, bytespersample);
+-
++ log_error = &error_output;
+ initdone = true;
+-
+ SetVolume(1.0);
+
++ // enable sound, run callback
++ SDL_PauseAudio(false);
++
+ return true;
+ }
+
+@@ -138,46 +143,21 @@
+ disable = true;
+ }
+
+-void SOUND::Pause(bool value)
+-{
+- if (paused != value)
+- {
+- SDL_PauseAudio(value);
+- paused = value;
+- }
+-}
+-
+-void SOUND::Update()
++void SOUND::Update(bool pause)
+ {
+ if (disable) return;
+
++ set_pause = pause;
++
+ GetSourceChanges();
+
+ ProcessSourceStop();
+
+- ProcessSourceRemove();
+-
+ ProcessSources();
+
+- SetSamplerChanges();
+-
+- // short circuit if paused(sound thread blocked)
+- if (paused)
+- {
+- GetSamplerChanges();
+-
+- ProcessSamplerAdd();
+-
+- ProcessSamplerRemove();
+-
+- SetSourceChanges();
+-
+- GetSourceChanges();
+-
+- ProcessSourceStop();
++ ProcessSourceRemove();
+
+- ProcessSourceRemove();
+- }
++ SetSamplerChanges();
+ }
+
+ void SOUND::SetMaxActiveSources(size_t value)
+@@ -192,18 +172,24 @@
+ size_t id = item_num;
+ if (id < items.size())
+ {
++ // reuse free slot
+ size_t idn = items[id].id;
+ if (idn != id)
+ {
+- // swap back redirected item
++ // free slot is redirecting to other item
+ assert(idn < id);
++
++ // swap redirected item back
+ items[id] = items[idn];
++
++ // use now free slot
+ id = idn;
+ }
+ items[id] = item;
+ }
+ else
+ {
++ // add item to new slot
+ items.push_back(item);
+ }
+ items[id].id = id;
+@@ -217,9 +203,14 @@
+ inline void RemoveItem(size_t id, std::vector<T> & items, size_t & item_num)
+ {
+ assert(id < items.size());
++
++ // get item true id
+ size_t idn = items[id].id;
+ assert(idn < item_num);
++
++ // pop last item
+ --item_num;
++
+ // swap last item with current
+ size_t idl = items[item_num].id;
+ if (idl != item_num)
+@@ -270,14 +261,13 @@
+ ns.id = -1;
+ sampler_add.getFirst().push_back(ns);
+
+- //std::cout << "Add sound source: " << id << " " << buffer->GetName() << std::endl;
++ //*log_error << "Add sound source: " << id << " " << buffer->GetName() << std::endl;
+ return id;
+ }
+
+ void SOUND::RemoveSource(size_t id)
+ {
+- // notify sound thread, it will notify main thread to remove the source
+- //std::cout << "To be removed source: " << id << " " << sources[sources[id].id].buffer->GetName() << std::endl;
++ // notify sound and main thread to remove the source/sampler
+ sampler_remove.getFirst().push_back(id);
+ }
+
+@@ -343,14 +333,13 @@
+
+ void SOUND::SetVolume(float value)
+ {
+- volume_filter.SetFilterOrder0(clamp(value, 0.f, 1.f));
++ sound_volume = value;
+ }
+
+ void SOUND::GetSourceChanges()
+ {
+ Lock(source_lock);
+ source_stop.swapFirst();
+- source_remove.swapFirst();
+ Unlock(source_lock);
+ }
+
+@@ -368,17 +357,18 @@
+
+ void SOUND::ProcessSourceRemove()
+ {
+- std::vector<size_t> & sremove = source_remove.getFirst();
++ std::vector<size_t> & sremove = sampler_remove.getFirst();
+ for (size_t i = 0; i < sremove.size(); ++i)
+ {
+ size_t id = sremove[i];
+ assert(id < sources.size());
++
+ size_t idn = sources[id].id;
+ assert(idn < sources_num);
+- //std::cout << "Remove sound source: " << id << " " << sources[idn].buffer->GetName() << std::endl;
++ //*log_error << "Remove sound source: " << id << " " << sources[idn].buffer->GetName() << std::endl;
++
+ RemoveItem(id, sources, sources_num);
+ }
+- sremove.clear();
+ }
+
+ void SOUND::ProcessSources()
+@@ -436,8 +426,11 @@
+ }
+ }
+
+- supdate[i].gain1 = gain1 * Sampler::denom;
+- supdate[i].gain2 = gain2 * Sampler::denom;
++ // fade sound volume
++ float volume = set_pause ? 0 : sound_volume;
++
++ supdate[i].gain1 = volume * gain1 * Sampler::denom;
++ supdate[i].gain2 = volume * gain2 * Sampler::denom;
+ supdate[i].pitch = src.pitch * Sampler::denom;
+ }
+
+@@ -471,6 +464,7 @@
+ if (sampler_update.getFirst().size()) sampler_update.swapFirst();
+ if (sampler_add.getFirst().size()) sampler_add.swapFirst();
+ if (sampler_remove.getFirst().size()) sampler_remove.swapFirst();
++ sources_pause = set_pause;
+ Unlock(sampler_lock);
+ }
+
+@@ -478,33 +472,41 @@
+ {
+ Lock(sampler_lock);
+ sampler_update.swapLast();
+- sampler_remove.swapLast();
+ sampler_add.swapLast();
++ sampler_remove.swapLast();
++ samplers_fade = samplers_pause != sources_pause;
++ samplers_pause = sources_pause;
+ Unlock(sampler_lock);
+ }
+
+ void SOUND::ProcessSamplerUpdate()
+ {
+ std::vector<SamplerUpdate> & supdate = sampler_update.getLast();
+- if (samplers_num == supdate.size())
++ if (supdate.empty()) return;
++
++ assert(samplers_num == supdate.size());
++ for (size_t i = 0; i < samplers_num; ++i)
+ {
+- for (size_t i = 0; i < samplers_num; ++i)
+- {
+- samplers[i].gain1 = supdate[i].gain1;
+- samplers[i].gain2 = supdate[i].gain2;
+- samplers[i].pitch = supdate[i].pitch;
+- }
++ samplers[i].gain1 = supdate[i].gain1;
++ samplers[i].gain2 = supdate[i].gain2;
++ samplers[i].pitch = supdate[i].pitch;
+ }
+ supdate.clear();
+ }
+
+ void SOUND::ProcessSamplers(unsigned char *stream, int len)
+ {
+- // set buffers and clear stream
++ // clear stream
++ memset(stream, 0, len);
++
++ // pause sampling
++ if (samplers_pause && !samplers_fade)
++ return;
++
++ // init sampling buffers
+ int len4 = len / 4;
+ buffer1.resize(len4);
+ buffer2.resize(len4);
+- memset(stream, 0, len);
+
+ // run samplers
+ short * sstream = (short*)stream;
+@@ -519,13 +521,17 @@
+ {
+ SampleAndAdvanceWithPitch16bit(smp, &buffer1[0], &buffer2[0], len4);
+
+- volume_filter.Filter(&buffer1[0], &buffer2[0], len4);
+-
+ for (int n = 0; n < len4; ++n)
+ {
+ int pos = n * 2;
+- sstream[pos] = clamp(sstream[pos] + buffer1[n], -32768, 32767);
+- sstream[pos + 1] = clamp(sstream[pos + 1] + buffer2[n], -32768, 32767);
++ int val1 = sstream[pos] + buffer1[n];
++ int val2 = sstream[pos + 1] + buffer2[n];
++
++ val1 = clamp(val1, -32768, 32767);
++ val2 = clamp(val2, -32768, 32767);
++
++ sstream[pos] = val1;
++ sstream[pos + 1] = val2;
+ }
+ }
+ else
+@@ -541,17 +547,13 @@
+ void SOUND::ProcessSamplerRemove()
+ {
+ std::vector<size_t> & sremove = sampler_remove.getLast();
+- if (!sremove.empty())
++ for (size_t i = 0; i < sremove.size(); ++i)
+ {
+- for (size_t i = 0; i < sremove.size(); ++i)
+- {
+- size_t id = sremove[i];
+- assert(id < samplers.size());
+- RemoveItem(id, samplers, samplers_num);
+- }
+- source_remove.getLast() = sremove;
+- sremove.clear();
++ size_t id = sremove[i];
++ assert(id < samplers.size());
++ RemoveItem(id, samplers, samplers_num);
+ }
++ sremove.clear();
+ }
+
+ void SOUND::ProcessSamplerAdd()
+@@ -589,7 +591,6 @@
+ {
+ Lock(source_lock);
+ if (source_stop.getLast().size()) source_stop.swapLast();
+- if (source_remove.getLast().size()) source_remove.swapLast();
+ Unlock(source_lock);
+ }
+
+@@ -600,12 +601,12 @@
+
+ GetSamplerChanges();
+
++ ProcessSamplerAdd();
++
+ ProcessSamplerUpdate();
+
+ ProcessSamplers(stream, len);
+
+- ProcessSamplerAdd();
+-
+ ProcessSamplerRemove();
+
+ SetSourceChanges();
+@@ -622,9 +623,10 @@
+ assert(len > 0);
+ assert(sampler.buffer);
+
+- // if not playing, fill output buffers with silence, should not happen
++ // if not playing, fill output buffers with silence
+ if (!sampler.playing)
+ {
++ // should be dealt with before getting here
+ assert(0);
+ for (int i = 0; i < len; ++i)
+ {
+--- src/sound.h Mon Jan 19 23:26:36 1970
++++ src/sound.h Mon Jan 19 23:26:36 1970
+@@ -33,11 +33,8 @@
+ // disable sound
+ void Disable();
+
+- // pause sound
+- void Pause(bool value);
+-
+ // commit state changes
+- void Update();
++ void Update(bool pause);
+
+ // active sources limit can be adjusted at runtime
+ void SetMaxActiveSources(size_t value);
+@@ -69,14 +66,14 @@
+ void SetVolume(float value);
+
+ private:
++ std::ostream * log_error;
+ SOUNDINFO deviceinfo;
+- SOUNDFILTER volume_filter;
+ MATHVECTOR<float, 3> listener_pos;
+ MATHVECTOR<float, 3> listener_vel;
+ QUATERNION<float> listener_rot;
++ float sound_volume;
+ bool initdone;
+ bool disable;
+- bool paused;
+
+ // state structs
+ struct Source
+@@ -95,8 +92,8 @@
+
+ struct Sampler
+ {
+- static const int denom = 1 << 15;
+- static const int max_gain_delta = (denom * 100) / 44100;
++ static const int denom = 32768;
++ static const int max_gain_delta = (denom * 173) / 44100; // 256 samples from min to max gain
+ const SOUNDBUFFER * buffer;
+ int samples_per_channel;
+ int sample_pos;
+@@ -135,21 +132,24 @@
+ TrippleBuffer<SamplerUpdate> sampler_update;
+ TrippleBuffer<SamplerAdd> sampler_add;
+ TrippleBuffer<size_t> sampler_remove;
+- TrippleBuffer<size_t> source_remove;
+ TrippleBuffer<size_t> source_stop;
+ SDL_mutex * sampler_lock;
+ SDL_mutex * source_lock;
++ bool set_pause;
+
+ // sound sources state
+ std::vector<SourceActive> sources_active;
+ std::vector<Source> sources;
+ size_t max_active_sources;
+ size_t sources_num;
++ bool sources_pause;
+
+ // sound thread state
+ std::vector<int> buffer1, buffer2;
+ std::vector<Sampler> samplers;
+ size_t samplers_num;
++ bool samplers_pause;
++ bool samplers_fade;
+
+ // main thread methods
+ void GetSourceChanges();
+--- src/texture.cpp Mon Jan 19 23:26:36 1970
++++ src/texture.cpp Mon Jan 19 23:26:36 1970
+@@ -179,6 +179,7 @@
+ else
+ {
+ error << "Error loading texture file: " + path << std::endl;
++ error << IMG_GetError();
+ return false;
+ }
+
+@@ -303,6 +304,7 @@
+ else
+ {
+ error << "Error loading texture file: " + path + " (" + cubefiles[i] + ")" << std::endl;
++ error << IMG_GetError();
+ return false;
+ }
+
+@@ -477,6 +479,7 @@
+ if (!orig_surface)
+ {
+ error << "Error loading texture file: " << path << std::endl;
++ error << IMG_GetError();
+ return false;
+ }
+ }
+--- src/cardynamics.cpp Mon Jan 19 23:26:36 1970
++++ src/cardynamics.cpp Mon Jan 19 23:26:36 1970
+@@ -1791,23 +1791,29 @@
+
+ bool CARDYNAMICS::WheelContactCallback(
+ btManifoldPoint& cp,
+- const btCollisionObject* colObj0,
+- int partId0,
++ const btCollisionObjectWrapper* col0,
++ int part0,
+ int index0,
+- const btCollisionObject* colObj1,
+- int partId1,
++ const btCollisionObjectWrapper* col1,
++ int part1,
+ int index1)
+ {
+- // cars are fracture bodies, wheel is a cylinder shape
+- const btCollisionShape* shape = colObj0->getCollisionShape();
+- if ((colObj0->getInternalType() & CO_FRACTURE_TYPE) &&
++#if (BT_BULLET_VERSION < 281)
++ const btCollisionObject* obj = col0;
++ const btCollisionShape* shape = obj->getCollisionShape();
++ const btCollisionShape* rootshape = obj->getRootCollisionShape();
++#else
++ const btCollisionObject* obj = col0->getCollisionObject();
++ const btCollisionShape* shape = col0->getCollisionShape();
++ const btCollisionShape* rootshape = obj->getCollisionShape();
++#endif
++ if ((obj->getInternalType() & CO_FRACTURE_TYPE) &&
+ (shape->getShapeType() == CYLINDER_SHAPE_PROXYTYPE))
+ {
+- // is contact within contact patch?
+- const btCompoundShape* car = static_cast<const btCompoundShape*>(colObj0->getRootCollisionShape());
+- const btCylinderShapeX* wheel = static_cast<const btCylinderShapeX*>(shape);
+- btVector3 contactPoint = cp.m_localPointA - car->getChildTransform(cp.m_index0).getOrigin();
+- if (-direction::up.dot(contactPoint) > 0.5 * wheel->getRadius())
++ const btCompoundShape* carshape = static_cast<const btCompoundShape*>(rootshape);
++ const btCylinderShapeX* wheelshape = static_cast<const btCylinderShapeX*>(shape);
++ btVector3 contactPoint = cp.m_localPointA - carshape->getChildTransform(cp.m_index0).getOrigin();
++ if (-direction::up.dot(contactPoint) > 0.5 * wheelshape->getRadius())
+ {
+ // break contact (hack)
+ cp.m_normalWorldOnB = btVector3(0, 0, 0);
+--- src/cardynamics.h Mon Jan 19 23:26:36 1970
++++ src/cardynamics.h Mon Jan 19 23:26:36 1970
+@@ -25,6 +25,12 @@
+ class FractureBody;
+ class PTree;
+
++#if (BT_BULLET_VERSION < 281)
++#define btCollisionObjectWrapper btCollisionObject
++#else
++struct btCollisionObjectWrapper;
++#endif
++
+ class CARDYNAMICS : public btActionInterface
+ {
+ friend class PERFORMANCE_TESTING;
+@@ -151,11 +157,11 @@
+
+ static bool WheelContactCallback(
+ btManifoldPoint& cp,
+- const btCollisionObject* colObj0,
+- int partId0,
++ const btCollisionObjectWrapper* col0,
++ int part0,
+ int index0,
+- const btCollisionObject* colObj1,
+- int partId1,
++ const btCollisionObjectWrapper* col1,
++ int part1,
+ int index1);
+
+ protected:
+--- src/dynamicsworld.cpp Mon Jan 19 23:26:36 1970
++++ src/dynamicsworld.cpp Mon Jan 19 23:26:36 1970
+@@ -105,7 +105,7 @@
+ int patch_id = -1;
+ const BEZIER * b = 0;
+ const TRACKSURFACE * s = TRACKSURFACE::None();
+- btCollisionObject * c = 0;
++ const btCollisionObject * c = 0;
+
+ MyRayResultCallback ray(origin, p, caster);
+ rayTest(origin, p, ray);
+@@ -221,6 +221,7 @@
+
+ void DynamicsWorld::fractureCallback()
+ {
++#if (BT_BULLET_VERSION < 281)
+ m_activeConnections.resize(0);
+
+ int numManifolds = getDispatcher()->getNumManifolds();
+@@ -268,4 +269,5 @@
+ btRigidBody* child = body->updateConnection(con_id);
+ if (child) addRigidBody(child);
+ }
++#endif
+ }
diff --git a/community/vdrift/vdrift.install b/community/vdrift/vdrift.install
new file mode 100644
index 000000000..868f6717b
--- /dev/null
+++ b/community/vdrift/vdrift.install
@@ -0,0 +1,11 @@
+post_upgrade() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community/vidalia/PKGBUILD b/community/vidalia/PKGBUILD
new file mode 100644
index 000000000..cafab9059
--- /dev/null
+++ b/community/vidalia/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 85421 2013-03-01 10:41:47Z andrea $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Rorschach <r0rschach@lavabit.com>
+
+pkgname=vidalia
+pkgver=0.2.21
+pkgrel=2
+pkgdesc="Controller GUI for Tor"
+url="https://www.torproject.org/vidalia"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('geoip' 'qt4' 'tor')
+makedepends=('cmake')
+install=vidalia.install
+source=(https://www.torproject.org/vidalia/dist/$pkgname-$pkgver.tar.gz{,.asc})
+md5sums=('8d3079a66d79c79ccfefb929b820f9ac'
+ 'c735521ae9d231e974c753a5206c2c0f')
+
+build() {
+ cd "$srcdir"
+ mkdir build
+ cd build
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -DUSE_GEOIP=1 ../$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd "$srcdir/build"
+ make DESTDIR="$pkgdir/" install
+ install -Dm644 ../$pkgname-$pkgver/doc/vidalia.1 "$pkgdir"/usr/share/man/man1/vidalia.1 || return 1
+}
diff --git a/community/vidalia/vidalia.install b/community/vidalia/vidalia.install
new file mode 100644
index 000000000..58b897a0a
--- /dev/null
+++ b/community/vidalia/vidalia.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
diff --git a/community/viewnior/PKGBUILD b/community/viewnior/PKGBUILD
new file mode 100644
index 000000000..cf29740da
--- /dev/null
+++ b/community/viewnior/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 66682 2012-02-27 10:02:48Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+# Maintainer: M Rawash <mrawash@gmail.com>
+
+pkgname=viewnior
+pkgver=1.3
+pkgrel=1
+pkgdesc="A simple, fast and elegant image viewer program"
+arch=('i686' 'x86_64')
+url="http://xsisqox.github.com/Viewnior/"
+license=('GPL3')
+depends=('gtk2>=2.12')
+makedepends=('make' 'intltool>=0.35' 'pkgconfig>=0.9' 'perl>=5.8.1')
+install=viewnior.install
+source=(http://cloud.github.com/downloads/xsisqox/Viewnior/$pkgname-$pkgver.tar.gz)
+md5sums=('273c379933ae3e74ad414fde00198695')
+
+build() {
+ cd $pkgname-$pkgver
+ LDFLAGS=-lm ./configure --prefix=/usr
+ make
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/viewnior/viewnior.install b/community/viewnior/viewnior.install
new file mode 100644
index 000000000..5f0358791
--- /dev/null
+++ b/community/viewnior/viewnior.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/vifm/PKGBUILD b/community/vifm/PKGBUILD
new file mode 100644
index 000000000..eba08e232
--- /dev/null
+++ b/community/vifm/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 91037 2013-05-18 13:22:47Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=vifm
+pkgver=0.7.5
+pkgrel=1
+pkgdesc="Ncurses based file manager with vi like keybindings"
+arch=('i686' 'x86_64')
+url="http://vifm.sourceforge.net/"
+license=('GPL')
+depends=('ncurses' 'gtk2')
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2)
+sha256sums=('01346f3573fa40d3c851b4844fb19ea2f1f63416bc8500bacb243997bf482de4')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/vifm/vifm.changelog b/community/vifm/vifm.changelog
new file mode 100644
index 000000000..62411bb21
--- /dev/null
+++ b/community/vifm/vifm.changelog
@@ -0,0 +1,32 @@
+2013-05-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.7.5-1
+
+2013-01-30 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.7.4b-1
+
+2012-10-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.7.4a-1
+
+2012-07-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.7.3a-1
+
+2012-06-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.7.3-1
+
+2012-02-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.7.2-1
+
+2011-11-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.7.1-1
+
+2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.7.0-1
+
+2011-08-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.6.3-1
+
+2011-07-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vifm 0.6.2-1
+
+2010-02-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Moved to [community] 0.5-2 (212 votes in AUR)
diff --git a/community/viking/PKGBUILD b/community/viking/PKGBUILD
new file mode 100644
index 000000000..6886e9d2f
--- /dev/null
+++ b/community/viking/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 91039 2013-05-18 13:32:51Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Nick Østergaard <oe.nick@gmail.com>
+# Contributor: Jonny Gerold <jonny@fsk141.com>
+
+pkgname=viking
+pkgver=1.4.1
+pkgrel=1
+pkgdesc="GTK+2 application to manage GPS data"
+arch=('i686' 'x86_64')
+url="http://viking.sourceforge.net/"
+license=('GPL2')
+depends=('curl' 'gpsd' 'gtk2' 'hicolor-icon-theme' 'libexif' 'gpsbabel')
+makedepends=('intltool' 'gnome-doc-utils')
+optdepends=(geo: for geocaches)
+options=('!emptydirs')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('20d91b048d2bfbb33498af4da5dc120a3a9232ed05a4a87a3ce6e341445ef640')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --enable-expedia --enable-geocaches
+ make
+}
+
+package(){
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/viking/viking.changelog b/community/viking/viking.changelog
new file mode 100644
index 000000000..6f22365fd
--- /dev/null
+++ b/community/viking/viking.changelog
@@ -0,0 +1,20 @@
+2013-05-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * viking 1.4.1-1
+
+2013-02-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * viking 1.4-1
+
+2012-10-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * viking 1.3.2.1-1
+
+2012-05-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * viking 1.3.0-1
+
+2011-11-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * viking 1.2.2-1
+
+2011-08-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * viking 1.2.1-1
+
+2011-06-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * viking 1.2-1
diff --git a/community/viking/viking.install b/community/viking/viking.install
new file mode 100644
index 000000000..bce670aff
--- /dev/null
+++ b/community/viking/viking.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/vile/PKGBUILD b/community/vile/PKGBUILD
new file mode 100644
index 000000000..3b3043fb1
--- /dev/null
+++ b/community/vile/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 76743 2012-09-28 19:43:00Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=vile
+pkgver=9.8_i
+_basever=9.8
+pkgrel=1
+pkgdesc="vi like emacs"
+arch=('i686' 'x86_64')
+url="http://invisible-island.net/vile/vile.html"
+depends=('ncurses')
+license=('custom')
+options=(!libtool)
+source=("ftp://invisible-island.net/vile/vile-${_basever}.tgz"
+ "ftp://invisible-island.net/vile/patches/vile-${_basever}a.patch.gz"
+ "ftp://invisible-island.net/vile/patches/vile-${_basever}b.patch.gz"
+ "ftp://invisible-island.net/vile/patches/vile-${_basever}c.patch.gz"
+ "ftp://invisible-island.net/vile/patches/vile-${_basever}d.patch.gz"
+ "ftp://invisible-island.net/vile/patches/vile-${_basever}e.patch.gz"
+ "ftp://invisible-island.net/vile/patches/vile-${_basever}f.patch.gz"
+ "ftp://invisible-island.net/vile/patches/vile-${_basever}g.patch.gz"
+ "ftp://invisible-island.net/vile/patches/vile-${_basever}h.patch.gz"
+ "ftp://invisible-island.net/vile/patches/vile-${_basever}i.patch.gz")
+md5sums=('b5a0d89165f633a662cdb4b5c57f2e2f'
+ '685cb681943e9315a1689a6a6f4734cb'
+ 'f3842ea427c635d0ee96f6da8566fa56'
+ '69cfdbb0b84a51802455bbe44a5ce32e'
+ '5d675193bc02ac4cab72452bf0051489'
+ '1e6317a15d7b2cd99f921f3af312b977'
+ '7f8a38272395f07e1377cc1943d37e7f'
+ '26ab76a7305b7ec97b22855810911ceb'
+ '6ea4cf22e29f5418f26ba6632985c70e'
+ '908e8f9cf3c9a681c3ef76a3cd04a0c3')
+
+build() {
+ cd $srcdir/$pkgname-${_basever}
+
+ for i in $srcdir/vile-${_basever}?.patch; do
+ patch -p1 <$i
+ done
+ sed -i 's|FLEX_BETA|FLEX_NOBETA|g' filters/filters.h
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-${_basever}
+ make install DESTDIR=$pkgdir
+
+ mkdir -p $pkgdir/usr/share/licenses/$pkgname
+ cat <<EOF >$pkgdir/usr/share/licenses/$pkgname/license
+Copyright
+
+Vile is copyrighted by Paul G. Fox, Thomas E. Dickey and Kevin Buettner with some
+files (e.g., visvile) copyright by Clark Morgan.
+We distribute it under the terms of the GNU Public License, Version 2.
+EOF
+}
diff --git a/community/virtkey/PKGBUILD b/community/virtkey/PKGBUILD
new file mode 100644
index 000000000..c1a40fb6c
--- /dev/null
+++ b/community/virtkey/PKGBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: codl <codl@aquageek.net>
+# Contributor: Megamixman <Megamixman@gmail.com>
+
+pkgbase=virtkey
+pkgname=('python2-virtkey' 'python-virtkey')
+pkgver=0.63.0
+pkgrel=1
+arch=('i686' 'x86_64')
+url="https://launchpad.net/virtkey"
+license=('LGPL')
+makedepends=('python2' 'python' 'libxtst' 'libxkbfile' 'gtk2')
+source=(http://launchpad.net/$pkgbase/${pkgver%.*}/$pkgver/+download/$pkgbase-$pkgver.tar.gz)
+md5sums=('c1569fbb143692aafba00758041fad98')
+
+build() {
+ cd "$srcdir"
+
+ cp -a {,python2-}$pkgbase-$pkgver
+
+ # Build python 2 module
+ cd "$srcdir/python2-$pkgbase-$pkgver"
+ python2 setup.py build
+
+ # Build python 3 module
+ cd "$srcdir/$pkgbase-$pkgver"
+ python setup.py build
+}
+
+package_python2-virtkey() {
+ pkgdesc="Python 2 extension for emulating keypresses and getting layout information from the X server"
+ depends=('python2' 'libxtst' 'libxkbfile' 'gtk2')
+
+ cd "$srcdir/python2-$pkgbase-$pkgver"
+
+ python2 setup.py install --root=$pkgdir/ --optimize=1
+}
+
+package_python-virtkey() {
+ pkgdesc="Python extension for emulating keypresses and getting layout information from the X server"
+ depends=('python' 'libxtst' 'libxkbfile' 'gtk2')
+
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ python3 setup.py install --root=$pkgdir/ --optimize=1
+}
diff --git a/community/virtualbox-modules-lts/PKGBUILD b/community/virtualbox-modules-lts/PKGBUILD
new file mode 100644
index 000000000..603ad9195
--- /dev/null
+++ b/community/virtualbox-modules-lts/PKGBUILD
@@ -0,0 +1,68 @@
+# $Id: PKGBUILD 93526 2013-07-05 00:46:38Z seblu $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Sébastien Luttringer
+
+pkgbase=virtualbox-modules-lts
+pkgname=('virtualbox-host-modules-lts' 'virtualbox-guest-modules-lts')
+pkgver=4.2.16
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://virtualbox.org'
+license=('GPL')
+makedepends=('linux-lts>=3.0' 'linux-lts<3.1'
+ 'linux-lts-headers>=3.0' 'linux-lts-headers<3.1'
+ "virtualbox-host-dkms>=$pkgver"
+ "virtualbox-guest-dkms>=$pkgver"
+ 'expac'
+ 'sed'
+ 'bc')
+
+# remember to also adjust the .install files and the package deps below
+_extramodules=extramodules-3.0-lts
+
+build() {
+ _kernver=$(cat /usr/lib/modules/$_extramodules/version)
+ # dkms need modification to be run as user
+ cp -r /var/lib/dkms .
+ echo "dkms_tree='$srcdir/dkms'" > dkms.conf
+ # build host modules
+ msg2 'Host modules'
+ dkms --dkmsframework dkms.conf build "vboxhost/$pkgver" -k "$_kernver"
+ # build guest modules
+ msg2 'Guest modules'
+ dkms --dkmsframework dkms.conf build "vboxguest/$pkgver" -k "$_kernver"
+}
+
+package_virtualbox-host-modules-lts(){
+ _kernver=$(cat /usr/lib/modules/$_extramodules/version)
+ pkgdesc='Host kernel modules for VirtualBox'
+ depends=('linux-lts>=3.0' 'linux-lts<3.1')
+ replaces=('virtualbox-modules-lts')
+ conflicts=('virtualbox-modules-lts')
+ provides=("virtualbox-host-modules=$pkgver")
+ install=virtualbox-host-modules-lts.install
+
+ cd "dkms/vboxhost/$pkgver/$_kernver/$CARCH/module"
+ install -dm755 "$pkgdir/usr/lib/modules/$_extramodules/"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extramodules/"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+}
+
+package_virtualbox-guest-modules-lts(){
+ _kernver=$(cat /usr/lib/modules/$_extramodules/version)
+ pkgdesc='Guest kernel modules for VirtualBox'
+ license=('GPL')
+ depends=('linux-lts>=3.0' 'linux-lts<3.1')
+ replaces=('virtualbox-archlinux-modules-lts')
+ conflicts=('virtualbox-archlinux-modules-lts')
+ provides=("virtualbox-host-modules=$pkgver")
+ install=virtualbox-guest-modules-lts.install
+
+ cd "dkms/vboxguest/$pkgver/$_kernver/$CARCH/module"
+ install -dm755 "$pkgdir/usr/lib/modules/$_extramodules/"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extramodules/"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/virtualbox-modules-lts/build.sh b/community/virtualbox-modules-lts/build.sh
new file mode 100755
index 000000000..744f18330
--- /dev/null
+++ b/community/virtualbox-modules-lts/build.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+set -e
+
+if (( $# != 1 )); then
+ echo "usage: $0 extra"
+ echo " $0 testing"
+ exit 1
+fi
+
+here=$PWD
+cd /var/empty
+linux32 makechrootpkg -cu -I "$here"/../../virtualbox/trunk/virtualbox-host-dkms-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+linux32 makechrootpkg -I "$here"/../../virtualbox/trunk/virtualbox-guest-dkms-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+cd "$here"
+linux32 makechrootpkg -n -r /var/lib/archbuild/$1-i686
+
+cd /var/empty
+makechrootpkg -cu -I "$here"/../../virtualbox/trunk/virtualbox-host-dkms-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+makechrootpkg -I "$here"/../../virtualbox/trunk/virtualbox-guest-dkms-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+cd "$here"
+makechrootpkg -n -r /var/lib/archbuild/$1-x86_64
+
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/virtualbox-modules-lts/virtualbox-guest-modules-lts.install b/community/virtualbox-modules-lts/virtualbox-guest-modules-lts.install
new file mode 100644
index 000000000..f7526e308
--- /dev/null
+++ b/community/virtualbox-modules-lts/virtualbox-guest-modules-lts.install
@@ -0,0 +1,21 @@
+_depmod() {
+ EXTRAMODULES='extramodules-3.0-lts'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_install() {
+ cat << EOF
+===> You may want to load vboxguest, vboxsf and vboxvideo
+EOF
+ _depmod
+}
+
+post_upgrade() {
+ _depmod
+}
+
+post_remove() {
+ _depmod
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/virtualbox-modules-lts/virtualbox-host-modules-lts.install b/community/virtualbox-modules-lts/virtualbox-host-modules-lts.install
new file mode 100644
index 000000000..cddbffb43
--- /dev/null
+++ b/community/virtualbox-modules-lts/virtualbox-host-modules-lts.install
@@ -0,0 +1,23 @@
+_depmod() {
+ EXTRAMODULES='extramodules-3.0-lts'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_install() {
+ cat << EOF
+===> You must load vboxdrv module before starting VirtualBox:
+===> # modprobe vboxdrv
+EOF
+ _depmod
+}
+
+post_upgrade() {
+ _depmod
+ echo 'In order to use the new version, reload all virtualbox modules manually.'
+}
+
+post_remove() {
+ _depmod
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/virtualbox-modules/PKGBUILD b/community/virtualbox-modules/PKGBUILD
new file mode 100644
index 000000000..4d220f40b
--- /dev/null
+++ b/community/virtualbox-modules/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 93524 2013-07-05 00:43:46Z seblu $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Sébastien Luttringer
+
+pkgbase=virtualbox-modules
+pkgname=('virtualbox-host-modules' 'virtualbox-guest-modules')
+pkgver=4.2.16
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://virtualbox.org'
+license=('GPL')
+makedepends=('linux>=3.9' 'linux<3.10'
+ 'linux-headers>=3.9' 'linux-headers<3.10'
+ "virtualbox-host-dkms>=$pkgver"
+ "virtualbox-guest-dkms>=$pkgver"
+ 'expac'
+ 'sed'
+ 'bc')
+
+# remember to also adjust the .install files and the package deps below
+_extramodules=extramodules-3.9-ARCH
+
+build() {
+ _kernver="$(cat /usr/lib/modules/$_extramodules/version)"
+ # dkms need modification to be run as user
+ cp -r /var/lib/dkms .
+ echo "dkms_tree='$srcdir/dkms'" > dkms.conf
+ # build host modules
+ msg2 'Host modules'
+ dkms --dkmsframework dkms.conf build "vboxhost/$pkgver" -k "$_kernver"
+ # build guest modules
+ msg2 'Guest modules'
+ dkms --dkmsframework dkms.conf build "vboxguest/$pkgver" -k "$_kernver"
+}
+
+package_virtualbox-host-modules(){
+ _kernver="$(cat /usr/lib/modules/$_extramodules/version)"
+ pkgdesc='Host kernel modules for VirtualBox'
+ depends=('linux>=3.9' 'linux<3.10')
+ replaces=('virtualbox-modules')
+ conflicts=('virtualbox-modules')
+ install=virtualbox-host-modules.install
+
+ cd "dkms/vboxhost/$pkgver/$_kernver/$CARCH/module"
+ install -dm755 "$pkgdir/usr/lib/modules/$_extramodules/"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extramodules/"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+}
+
+package_virtualbox-guest-modules(){
+ _kernver="$(cat /usr/lib/modules/$_extramodules/version)"
+ pkgdesc='Guest kernel modules for VirtualBox'
+ license=('GPL')
+ depends=('linux>=3.9' 'linux<3.10')
+ replaces=('virtualbox-archlinux-modules')
+ conflicts=('virtualbox-archlinux-modules')
+ install=virtualbox-guest-modules.install
+
+ cd "dkms/vboxguest/$pkgver/$_kernver/$CARCH/module"
+ install -dm755 "$pkgdir/usr/lib/modules/$_extramodules/"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extramodules/"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/virtualbox-modules/build.sh b/community/virtualbox-modules/build.sh
new file mode 100755
index 000000000..744f18330
--- /dev/null
+++ b/community/virtualbox-modules/build.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+set -e
+
+if (( $# != 1 )); then
+ echo "usage: $0 extra"
+ echo " $0 testing"
+ exit 1
+fi
+
+here=$PWD
+cd /var/empty
+linux32 makechrootpkg -cu -I "$here"/../../virtualbox/trunk/virtualbox-host-dkms-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+linux32 makechrootpkg -I "$here"/../../virtualbox/trunk/virtualbox-guest-dkms-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+cd "$here"
+linux32 makechrootpkg -n -r /var/lib/archbuild/$1-i686
+
+cd /var/empty
+makechrootpkg -cu -I "$here"/../../virtualbox/trunk/virtualbox-host-dkms-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+makechrootpkg -I "$here"/../../virtualbox/trunk/virtualbox-guest-dkms-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+cd "$here"
+makechrootpkg -n -r /var/lib/archbuild/$1-x86_64
+
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/virtualbox-modules/virtualbox-guest-modules.install b/community/virtualbox-modules/virtualbox-guest-modules.install
new file mode 100644
index 000000000..169dd9a35
--- /dev/null
+++ b/community/virtualbox-modules/virtualbox-guest-modules.install
@@ -0,0 +1,21 @@
+_depmod() {
+ EXTRAMODULES='extramodules-3.9-ARCH'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_install() {
+ cat << EOF
+===> You may want to load vboxguest, vboxsf and vboxvideo
+EOF
+ _depmod
+}
+
+post_upgrade() {
+ _depmod
+}
+
+post_remove() {
+ _depmod
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/virtualbox-modules/virtualbox-host-modules.install b/community/virtualbox-modules/virtualbox-host-modules.install
new file mode 100644
index 000000000..b1c7a68c6
--- /dev/null
+++ b/community/virtualbox-modules/virtualbox-host-modules.install
@@ -0,0 +1,23 @@
+_depmod() {
+ EXTRAMODULES='extramodules-3.9-ARCH'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_install() {
+ cat << EOF
+===> You must load vboxdrv module before starting VirtualBox:
+===> # modprobe vboxdrv
+EOF
+ _depmod
+}
+
+post_upgrade() {
+ _depmod
+ echo 'In order to use the new version, reload all virtualbox modules manually.'
+}
+
+post_remove() {
+ _depmod
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/virtualgl/PKGBUILD b/community/virtualgl/PKGBUILD
new file mode 100644
index 000000000..b8995d563
--- /dev/null
+++ b/community/virtualgl/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: FigoDaPaura <ffigoDaPaura>
+# Contributor: Andres Jimenez
+
+pkgname=virtualgl
+pkgver=2.3.2
+pkgrel=4
+pkgdesc="Redirects 3D commands from an OpenGL application onto a server-side 3D graphics card"
+arch=('i686' 'x86_64')
+url="http://virtualgl.org"
+license=('LGPL')
+depends=('libxv' 'glu' 'libjpeg-turbo')
+makedepends=('cmake' 'mesa')
+source=("http://downloads.sourceforge.net/project/virtualgl/VirtualGL/$pkgver/VirtualGL-$pkgver.tar.gz")
+sha1sums=('f042862c21ceaba57c6e1f0ec72adb4f838725e9')
+
+build() {
+ cd "$srcdir/VirtualGL-$pkgver"
+
+ mkdir -p build && cd build
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr/share \
+ -DTJPEG_INCLUDE_DIR=/usr/include \
+ -DTJPEG_LIBRARY=/usr/lib/libturbojpeg.so \
+ -DVGL_LIBDIR=/usr/lib \
+ -DVGL_BINDIR=/usr/bin \
+ -DVGL_DOCDIR=/usr/share/doc/${pkgname}
+ make
+}
+
+package() {
+ cd "$srcdir/VirtualGL-$pkgver/build"
+ make install DESTDIR="$pkgdir"
+
+ mv "$pkgdir"/usr/bin/glxinfo "$pkgdir"/usr/bin/vglxinfo
+}
diff --git a/community/virtviewer/PKGBUILD b/community/virtviewer/PKGBUILD
new file mode 100644
index 000000000..451d72504
--- /dev/null
+++ b/community/virtviewer/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 93502 2013-07-04 14:27:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jonathan Wiersma <archaur at jonw dot org>
+
+pkgname=virtviewer
+pkgver=0.5.6
+pkgrel=1
+pkgdesc="A lightweight interface for interacting with the graphical display of virtualized guest OS."
+depends=('gtk-vnc' 'libglade>=2.6.0' 'libvirt' 'spice-gtk3')
+makedepends=('intltool')
+url="http://virt-manager.et.redhat.com"
+arch=('i686' 'x86_64')
+license=('GPL')
+source=("http://virt-manager.et.redhat.com/download/sources/virt-viewer/virt-viewer-$pkgver.tar.gz")
+md5sums=('b1f55ad642df062028b24d8a77619ac5')
+
+build() {
+ cd $srcdir/virt-viewer-$pkgver
+ ./configure --prefix=/usr --with-gtk=3.0
+ make
+}
+
+package() {
+ cd $srcdir/virt-viewer-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/visitors/PKGBUILD b/community/visitors/PKGBUILD
new file mode 100644
index 000000000..b9ad7302f
--- /dev/null
+++ b/community/visitors/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65369 2012-02-21 02:24:21Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+
+pkgname=visitors
+pkgver=0.7
+pkgrel=3
+pkgdesc='A very fast web log analyzer'
+arch=('i686' 'x86_64')
+url="http://www.hping.org/visitors/"
+license=('GPL2' 'custom')
+depends=('glibc')
+source=(http://www.hping.org/visitors/$pkgname-$pkgver.tar.gz)
+md5sums=('32ede76af83c6b1b7d2cdc5fe5178f6d')
+
+build() {
+ cd $srcdir/${pkgname}_${pkgver}
+ make
+ install -D visitors $pkgdir/usr/bin/visitors
+ install -D iis2apache.pl $pkgdir/usr/bin/iis2apache.pl
+ gzip visitors.1
+ install -Dm644 visitors.1.gz $pkgdir/usr/share/man/man1/visitors.1.gz
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/visitors/COPYING
+}
diff --git a/community/vlan/PKGBUILD b/community/vlan/PKGBUILD
new file mode 100644
index 000000000..01915a0b0
--- /dev/null
+++ b/community/vlan/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 92650 2013-06-10 15:16:14Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=vlan
+pkgver=1.9
+pkgrel=3
+pkgdesc='Virtual LAN configuration utility'
+arch=('i686' 'x86_64')
+url='http://www.candelatech.com/~greear/vlan.html'
+license=('GPL')
+source=("http://www.candelatech.com/~greear/vlan/vlan.${pkgver}.tar.gz")
+md5sums=('5f0c6060b33956fb16e11a15467dd394')
+
+build() {
+ cd $pkgname
+ # don't call clean and all on the same line with -jn (with n > 0)
+ # there is a race condition, both target are launched at the same time
+ # and as upstream provide target nothing is built.
+ # don't use !makeflags in PKGBUILD options to not penalize building
+ make clean
+ make all
+}
+
+package() {
+ cd $pkgname
+ install -D -m755 'vconfig' "$pkgdir/usr/bin/vconfig"
+ install -D -m755 'macvlan_config' "$pkgdir/usr/bin/macvlan_config"
+ install -D -m644 'vconfig.8' "$pkgdir/usr/share/man/man8/vconfig.8"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/vmoviedb/PKGBUILD b/community/vmoviedb/PKGBUILD
new file mode 100644
index 000000000..7b6219b26
--- /dev/null
+++ b/community/vmoviedb/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 65371 2012-02-21 02:25:52Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=vmoviedb
+pkgver=0.1.5
+pkgrel=5
+pkgdesc="A movie collection manager for the Gnome desktop"
+arch=('i686' 'x86_64')
+url="http://vmoviedb.sourceforge.net"
+license=('GPL')
+depends=('libgnomeui' 'gconf>=2.18.0.1-4' 'desktop-file-utils')
+makedepends=('gnome-doc-utils>=0.11.2' 'intltool')
+install=$pkgname.install
+options=('!libtool' '!emptydirs')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('7bfc10573bb890f3924755f2446dd3b6')
+
+build() {
+ cd $srcdir/vmoviedb-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+ make -j1 GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR=$pkgdir install
+
+ mkdir -p $pkgdir/usr/share/gconf/schemas
+ gconf-merge-schema $pkgdir/usr/share/gconf/schemas/${pkgname}.schemas \
+ $pkgdir/etc/gconf/schemas/*.schemas
+ rm -f $pkgdir/etc/gconf/schemas/*.schemas
+ mv $pkgdir/usr/doc $pkgdir/usr/share/
+}
diff --git a/community/vmoviedb/vmoviedb.install b/community/vmoviedb/vmoviedb.install
new file mode 100644
index 000000000..c06423ab0
--- /dev/null
+++ b/community/vmoviedb/vmoviedb.install
@@ -0,0 +1,23 @@
+pkgname=vmoviedb
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ update-desktop-database -q
+}
+
diff --git a/community/vmpk/PKGBUILD b/community/vmpk/PKGBUILD
new file mode 100644
index 000000000..5ce3556ad
--- /dev/null
+++ b/community/vmpk/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer : speps <speps at aur dot archlinux dot org>
+
+pkgname=vmpk
+pkgver=0.5.1
+pkgrel=1
+pkgdesc="Virtual MIDI Piano Keyboard"
+arch=('i686' 'x86_64')
+url="http://vmpk.sourceforge.net/"
+license=('GPL3')
+depends=('qt4' 'jack')
+makedepends=('cmake')
+install="$pkgname.install"
+source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2")
+md5sums=('07e376936c38c7c244374ff9ddca6a72')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ [ -d bld ] || mkdir bld && cd bld
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=release
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/bld"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/vmpk/vmpk.install b/community/vmpk/vmpk.install
new file mode 100644
index 000000000..293ff852a
--- /dev/null
+++ b/community/vmpk/vmpk.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/vnstat/PKGBUILD b/community/vnstat/PKGBUILD
new file mode 100644
index 000000000..7cc05f52d
--- /dev/null
+++ b/community/vnstat/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 93779 2013-07-10 07:27:19Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=vnstat
+pkgver=1.11
+pkgrel=7
+pkgdesc="A console-based network traffic monitor"
+arch=('i686' 'x86_64')
+url="http://humdi.net/vnstat/"
+license=('GPL')
+depends=('bash')
+makedepends=('gd')
+optdepends=('gd: image output')
+backup=(etc/vnstat.conf)
+source=(http://humdi.net/vnstat/$pkgname-$pkgver.tar.gz
+ service)
+md5sums=('a5a113f9176cd61fb954f2ba297f5fdb'
+ 'df452896729db4a569005f1ebf6b57f4')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make all SBIN=/usr/bin
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install SBIN=$pkgdir/usr/bin
+
+ install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/vnstat.service
+
+ install -D -m0644 examples/vnstat.cron $pkgdir/usr/share/doc/vnstat/examples/vnstat.cron
+ install -D -m0755 examples/vnstat.cgi $pkgdir/usr/share/doc/vnstat/examples/vnstat.cgi
+ sed -i 's#root##' $pkgdir/usr/share/doc/vnstat/examples/vnstat.cron
+}
diff --git a/community/vnstat/service b/community/vnstat/service
new file mode 100644
index 000000000..5c593eb1b
--- /dev/null
+++ b/community/vnstat/service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Network traffic monitor
+
+[Service]
+ExecStart=/usr/bin/vnstatd -n
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/vobcopy/PKGBUILD b/community/vobcopy/PKGBUILD
new file mode 100644
index 000000000..f1446abd2
--- /dev/null
+++ b/community/vobcopy/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 66897 2012-02-29 23:21:33Z giovanni $
+# Maintainer: Daenyth
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Tino Reichardt <milky-archlinux@mcmilk.de>
+
+pkgname=vobcopy
+pkgver=1.2.0
+pkgrel=4
+pkgdesc="Copies DVD .vob files to harddisk, decrypting them on the way"
+arch=('i686' 'x86_64')
+url="http://www.vobcopy.org"
+license=('GPL2')
+depends=('libdvdread' 'libdvdcss')
+options=('!docs')
+source=(http://www.vobcopy.org/download/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('88f735ccd051093ff40dab4597bc586e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="$pkgdir" PREFIX=/usr/ MANDIR=/usr/share/man install
+}
diff --git a/community/volumeicon/PKGBUILD b/community/volumeicon/PKGBUILD
new file mode 100644
index 000000000..d9fa8f85a
--- /dev/null
+++ b/community/volumeicon/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 85519 2013-03-02 15:17:37Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Maato <maato softwarebakery com>
+
+pkgname=volumeicon
+pkgver=0.5.0
+pkgrel=1
+pkgdesc='Volume control for your system tray'
+arch=('x86_64' 'i686')
+url='http://softwarebakery.com/maato/volumeicon.html'
+license=('GPL3')
+depends=('gtk3' 'alsa-lib' 'libnotify')
+makedepends=('intltool')
+source=("http://softwarebakery.com/maato/files/volumeicon/$pkgname-$pkgver.tar.gz")
+sha256sums=('e5f1179f9ec5ab25e3740e4f6bbe0baa75368f0ae87d370197b3fbefb61bd782')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i 's/0.23/0.50.2/' configure.ac
+ autoconf
+ ./configure \
+ --prefix=/usr \
+ --enable-notify
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/vor/PKGBUILD b/community/vor/PKGBUILD
new file mode 100644
index 000000000..f14b16d91
--- /dev/null
+++ b/community/vor/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 82073 2013-01-07 10:20:03Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: tdy <tdy@gmx.com>
+# Contributor: nut543 <kfs1@online.no>
+
+pkgname=vor
+pkgver=0.5.5
+pkgrel=1
+pkgdesc='Classic spaceship versus asteroid field arcade game'
+arch=('i686' 'x86_64')
+url="http://jasonwoof.org/vor?"
+license=('GPL')
+depends=('sdl_image' 'sdl_mixer')
+makedepends=('gendesk')
+optdepends=('netpbm: for customizing game graphics'
+ 'povray: for customizing game graphics')
+options=('!emptydirs')
+source=("http://qualdan.com/$pkgname/$pkgname-$pkgver.tar.bz2"
+ "$pkgname.png")
+sha256sums=('ead1b9786741e26d37ff7c5185b7fe1e91f90f76ebed3785225312e323b7c7da'
+ '07a805928f5cf2b3351e2b9ff820ea69352ad80faad43311889ffbd5f62da872')
+_exec=('vor -f')
+
+build() {
+ cd "$srcdir"
+ gendesk
+
+ cd "$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make LDFLAGS=-lm
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ mkdir -p "$pkgdir/usr/bin"
+ make prefix=/usr DESTDIR="$pkgdir" install
+ install -Dm644 "../$pkgname.png" "$pkgdir/usr/share/pixmaps/$pkgname.png"
+ install -Dm644 "../$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/vor/vor.png b/community/vor/vor.png
new file mode 100644
index 000000000..0fbfc72d3
--- /dev/null
+++ b/community/vor/vor.png
Binary files differ
diff --git a/community/vorbisgain/PKGBUILD b/community/vorbisgain/PKGBUILD
new file mode 100644
index 000000000..6853e7379
--- /dev/null
+++ b/community/vorbisgain/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 67509 2012-03-12 21:51:42Z lcarlier $
+# Maintainer: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+# Contributor: Cory Farmer <rbgkofi@ameritech.net>
+pkgname=vorbisgain
+pkgver=0.37
+pkgrel=3
+pkgdesc="A utility that computes the ReplayGain values for Ogg Vorbis files."
+arch=('i686' 'x86_64')
+url="http://sjeng.org/vorbisgain.html"
+license=('GPL')
+depends=('libvorbis')
+source=(http://sjeng.org/ftp/vorbis/${pkgname}-${pkgver}.tar.gz)
+md5sums=('850b05a7b2b0ee67edb5a27b8c6ac3a2')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr \
+ --enable-recursive \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/vorbissimple/PKGBUILD b/community/vorbissimple/PKGBUILD
new file mode 100644
index 000000000..53976371d
--- /dev/null
+++ b/community/vorbissimple/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 65375 2012-02-21 02:27:15Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=vorbissimple
+pkgver=0.0.2
+pkgrel=3
+pkgdesc="A Vorbis decoder"
+arch=('i686' 'x86_64')
+url="http://kamaelia.sourceforge.net"
+license=('GPL')
+options=('!libtool')
+depends=('libvorbis')
+source=(http://downloads.sourceforge.net/kamaelia/$pkgname-$pkgver.tar.gz)
+md5sums=('332077b25a4c9547947ab0922361ffda')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver/libvorbissimple
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/vsftpd/PKGBUILD b/community/vsftpd/PKGBUILD
new file mode 100644
index 000000000..5c6bc3b11
--- /dev/null
+++ b/community/vsftpd/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 90372 2013-05-12 05:50:20Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=vsftpd
+pkgver=3.0.2
+pkgrel=2
+pkgdesc="Very Secure FTP daemon"
+arch=('i686' 'x86_64')
+url="https://security.appspot.com/vsftpd.html"
+license=('GPL2')
+depends=('openssl')
+backup=('etc/vsftpd.conf' 'etc/xinetd.d/vsftpd')
+install=vsftpd.install
+source=(https://security.appspot.com/downloads/$pkgname-$pkgver.tar.gz{,.asc}
+ vsftpd.xinetd vsftpd-ssl.socket vsftpd.socket
+ vsftpd.service vsftpd@.service vsftpd-ssl.service vsftpd-ssl@.service)
+sha256sums=('be46f0e2c5528fe021fafc8dab1ecfea0c1f183063a06977f8537fcd0b195e56'
+ 'SKIP'
+ '5909f9b95479429c236170a06879d27d07ddda52d9c4c5543c961500c4cac2e0'
+ 'd5185e48fffc6253499a55e0fe0f90a3424fc639640af11a9d38df33fb145afe'
+ '9fdbfd2ec0207170371ca3cf2b0ddca2dc2fe3d062e5792e0d3e51474c3198c9'
+ '50c392f373f8ce37aa226a9af7a6b038a8683ee3e041ebbad1bb483e47e8a1f8'
+ 'd7b8e4827d4f6bafcbf52f9d2d7380958c7b08bb3f757806aa89d4bc06c9671c'
+ 'b88a50fc68b3bf746d13c9a777df77791cd3eac6eb7c2df655418071c2adf422'
+ '4a55c2468b08d858f71bacf1f4885847bec8e548b0e92088068d9bdd3884af84')
+
+build() {
+ cd $pkgname-$pkgver
+
+ # build-time config
+ sed \
+ -e 's|^#undef VSF_BUILD_SSL$|#define VSF_BUILD_SSL|' \
+ -i builddefs.h
+
+ CFLAGS+=' -fPIE' LINK='' LDFLAGS="-fPIE -pie ${LDFLAGS} -Wl,-z,now" make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ install -D -m755 vsftpd $pkgdir/usr/bin/vsftpd
+ install -D -m644 vsftpd.conf $pkgdir/etc/vsftpd.conf
+ install -D -m644 vsftpd.8 $pkgdir/usr/share/man/man8/vsftpd.8
+ install -D -m644 vsftpd.conf.5 $pkgdir/usr/share/man/man5/vsftpd.conf.5
+ install -D -m644 $srcdir/vsftpd.xinetd $pkgdir/etc/xinetd.d/vsftpd
+
+ install -D -m644 $srcdir/vsftpd.service $pkgdir/usr/lib/systemd/system/vsftpd.service
+ install -D -m644 $srcdir/vsftpd@.service $pkgdir/usr/lib/systemd/system/vsftpd@.service
+ install -D -m644 $srcdir/vsftpd-ssl.service $pkgdir/usr/lib/systemd/system/vsftpd-ssl.service
+ install -D -m644 $srcdir/vsftpd-ssl@.service $pkgdir/usr/lib/systemd/system/vsftpd-ssl@.service
+ install -D -m644 $srcdir/vsftpd.socket $pkgdir/usr/lib/systemd/system/vsftpd.socket
+ install -D -m644 $srcdir/vsftpd-ssl.socket $pkgdir/usr/lib/systemd/system/vsftpd-ssl.socket
+
+ install -d -m755 $pkgdir/usr/share/empty
+}
diff --git a/community/vsftpd/vsftpd-ssl.service b/community/vsftpd/vsftpd-ssl.service
new file mode 100644
index 000000000..3343bc920
--- /dev/null
+++ b/community/vsftpd/vsftpd-ssl.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=vsftpd daemon (legacy implicit SSL)
+
+[Service]
+ExecStart=/usr/bin/vsftpd -oimplicit_ssl=yes
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/vsftpd/vsftpd-ssl.socket b/community/vsftpd/vsftpd-ssl.socket
new file mode 100644
index 000000000..b18b639c1
--- /dev/null
+++ b/community/vsftpd/vsftpd-ssl.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=vsftpd.service
+
+[Socket]
+ListenStream=990
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community/vsftpd/vsftpd-ssl@.service b/community/vsftpd/vsftpd-ssl@.service
new file mode 100644
index 000000000..8bcf78e55
--- /dev/null
+++ b/community/vsftpd/vsftpd-ssl@.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=vsftpd per-connection server (legacy implicit SSL)
+
+[Service]
+ExecStart=-/usr/bin/vsftpd -oimplicit_ssl=yes
+ExecReload=/bin/kill -HUP $MAINPID
+StandardInput=socket
+StandardOutput=socket
+StandardError=syslog
diff --git a/community/vsftpd/vsftpd.install b/community/vsftpd/vsftpd.install
new file mode 100644
index 000000000..48f134e24
--- /dev/null
+++ b/community/vsftpd/vsftpd.install
@@ -0,0 +1,17 @@
+# arg 1: the new package version
+post_install() {
+ if [ -f lib/modules/`uname -r`/kernel/security/capability.ko ]; then
+ echo ">>> It appears that your current kernel has linux security"
+ echo ">>> capabilities built as a module. vsftpd requires this"
+ echo ">>> functionality to operate."
+ echo ">>>"
+ echo ">>> To activate the module, please load it now (modprobe capability)."
+ echo ">>> Also, you should add it to your MODULES array in rc.conf, so"
+ echo ">>> it will be activated automatically at boot-up."
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
diff --git a/community/vsftpd/vsftpd.service b/community/vsftpd/vsftpd.service
new file mode 100644
index 000000000..63876460c
--- /dev/null
+++ b/community/vsftpd/vsftpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=vsftpd daemon
+
+[Service]
+ExecStart=/usr/bin/vsftpd
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/vsftpd/vsftpd.socket b/community/vsftpd/vsftpd.socket
new file mode 100644
index 000000000..cdc0d337e
--- /dev/null
+++ b/community/vsftpd/vsftpd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=vsftpd.service
+
+[Socket]
+ListenStream=21
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community/vsftpd/vsftpd.xinetd b/community/vsftpd/vsftpd.xinetd
new file mode 100644
index 000000000..2a6f38c80
--- /dev/null
+++ b/community/vsftpd/vsftpd.xinetd
@@ -0,0 +1,10 @@
+service ftp
+{
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/bin/vsftpd
+ log_on_success += HOST DURATION
+ log_on_failure += HOST
+ disable = yes
+}
diff --git a/community/vsftpd/vsftpd@.service b/community/vsftpd/vsftpd@.service
new file mode 100644
index 000000000..81e142990
--- /dev/null
+++ b/community/vsftpd/vsftpd@.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=vsftpd per-connection server
+
+[Service]
+ExecStart=-/usr/bin/vsftpd
+ExecReload=/bin/kill -HUP $MAINPID
+StandardInput=socket
+StandardError=syslog
diff --git a/community/vtk/PKGBUILD b/community/vtk/PKGBUILD
new file mode 100644
index 000000000..46db8282a
--- /dev/null
+++ b/community/vtk/PKGBUILD
@@ -0,0 +1,116 @@
+# $Id: PKGBUILD 90101 2013-05-06 19:39:56Z foutrelis $
+# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Christofer Bertonha <christoferbertonha at gmail dot com>
+# Contributor: leepesjee <lpeschier at xs4all dot nl>
+# Contributor: Olivier Medoc
+# Contributor: ignotus
+# Contributor: Fabian Moser
+# Contributor: djscholl
+
+# Qt5 support status: http://vtk.org/Bug/view.php?id=12945
+
+pkgname=vtk
+pkgver=5.10.1
+pkgrel=8
+pkgdesc='A software system for 3D computer graphics, image processing, and visualization.'
+arch=('i686' 'x86_64')
+url='http://www.vtk.org/'
+license=('BSD')
+depends=('libjpeg-turbo' 'boost' 'ffmpeg' 'qt4' 'lesstif' 'mariadb' 'hdf5' 'libgl')
+makedepends=('cmake' 'java-environment' 'doxygen' 'gnuplot' 'mesa-libgl' 'python2' 'tk')
+optdepends=('python2: python bindings'
+ 'java-runtime: java bindings'
+ 'tk: tcl bindings'
+ 'gnuplot: plotting tools'
+ 'graphviz: drawing tools')
+source=("http://www.vtk.org/files/release/${pkgver:0:4}/vtk-${pkgver}.tar.gz"
+ "http://www.vtk.org/files/release/${pkgver:0:4}/vtkdata-${pkgver}.tar.gz"
+ ffmpeg-0.8.diff ffmpeg-0.11.diff tcl-8.6.diff python-destdir.diff)
+md5sums=('264b0052e65bd6571a84727113508789'
+ 'b6355063264cd56bcd1396c92f6ca59a'
+ 'e992321c9d1def6034d0fa6607b40c5a'
+ '81922ea61989e5591135f233a0400694'
+ 'a804a9f034e24ef1a8b28542c15ce1a1'
+ 'f7aba715bcc10de93a6ecf1cd6b0c560')
+
+build() {
+ cd "${srcdir}"/VTK$pkgver
+
+ # fix compilation errors:
+ patch -Np1 -i "${srcdir}/ffmpeg-0.8.diff"
+ patch -Np1 -i "${srcdir}/ffmpeg-0.11.diff"
+ patch -Np1 -i "${srcdir}/tcl-8.6.diff"
+ patch -Np1 -i "${srcdir}/python-destdir.diff"
+
+ cd "${srcdir}"
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ # flags to enable using system libs
+ local cmake_system_flags=""
+ for lib in HDF5 EXPAT FREETYPE JPEG PNG TIFF ZLIB LIBXML2 OGGTHEORA; do
+ cmake_system_flags+="-DVTK_USE_SYSTEM_${lib}:BOOL=ON "
+ done
+
+ # flags to use python2 instead of python which is 3.x.x on archlinux
+ local cmake_system_python_flags="-DPYTHON_EXECUTABLE:PATH=/usr/bin/python2 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python2.7 -DPYTHON_LIBRARY:PATH=/usr/lib/libpython2.7.so"
+
+ cmake \
+ -Wno-dev \
+ -DBUILD_SHARED_LIBS:BOOL=ON \
+ -DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
+ -DVTK_DATA_ROOT:FILEPATH=${srcdir}/VTKData$pkgver \
+ -DBUILD_DOCUMENTATION:BOOL=ON \
+ -DDOCUMENTATION_HTML_HELP:BOOL=ON \
+ -DDOCUMENTATION_HTML_TARZ:BOOL=ON \
+ -DBUILD_EXAMPLES:BOOL=ON \
+ -DVTK_USE_CHEMISTRY:BOOL=ON \
+ -DVTK_USE_HYBRID:BOOL=ON \
+ -DVTK_USE_PARALLEL:BOOL=ON \
+ -DVTK_USE_PATENTED:BOOL=ON \
+ -DVTK_USE_BOOST:BOOL=ON \
+ -DVTK_USE_INFOVIS:BOOL=ON \
+ -DVTK_USE_GL2PS:BOOL=ON \
+ -DVTK_USE_MYSQL:BOOL=ON \
+ -DVTK_USE_FFMPEG_ENCODER:BOOL=ON \
+ -DVTK_USE_TEXT_ANALYSIS:BOOL=ON \
+ -DVTK_WRAP_JAVA:BOOL=ON \
+ -DVTK_WRAP_PYTHON:BOOL=ON \
+ -DVTK_WRAP_TCL:BOOL=ON \
+ -DVTK_USE_QT:BOOL=ON \
+ -DVTK_INSTALL_QT_PLUGIN_DIR:STRING="/usr/lib/qt4/plugins" \
+ -DVTK_USE_GUISUPPORT:BOOL=ON \
+ -DCMAKE_CXX_FLAGS="-D__STDC_CONSTANT_MACROS" \
+ ${cmake_system_flags} \
+ ${cmake_system_python_flags} \
+ "${srcdir}/VTK$pkgver"
+
+ make
+}
+
+package() {
+ cd "${srcdir}/build"
+
+ make DESTDIR="${pkgdir}" install
+
+ # Move the vtk.jar to the arch-specific location
+ install -dv "${pkgdir}/usr/share/java/vtk"
+ mv -v "${pkgdir}/usr/lib/vtk-${pkgver:0:4}/java/vtk.jar" \
+ "${pkgdir}/usr/share/java/vtk"
+ rm -rf "${pkgdir}/usr/lib/vtk-${pkgver:0:4}/java"
+
+ # Install license
+ install -dv "${pkgdir}/usr/share/licenses/vtk"
+ install -m644 "${srcdir}/VTK$pkgver/Copyright.txt" \
+ "${pkgdir}/usr/share/licenses/vtk"
+
+ # Put an entry in /etc/ld.so.conf.d
+ install -dv "${pkgdir}/etc/ld.so.conf.d"
+ echo "/usr/lib/vtk-${pkgver:0:4}" > "${pkgdir}/etc/ld.so.conf.d/vtk.conf"
+
+ sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find "${pkgdir}" -name '*.py')
+}
diff --git a/community/vtk/ffmpeg-0.11.diff b/community/vtk/ffmpeg-0.11.diff
new file mode 100644
index 000000000..af4e230cc
--- /dev/null
+++ b/community/vtk/ffmpeg-0.11.diff
@@ -0,0 +1,46 @@
+--- VTK/IO/vtkFFMPEGWriter.cxx.orig 2012-07-08 13:40:55.000000000 +0200
++++ VTK/IO/vtkFFMPEGWriter.cxx 2012-07-08 13:59:37.000000000 +0200
+@@ -192,13 +192,6 @@
+ c->bit_rate_tolerance = this->Writer->GetBitRateTolerance();
+ }
+
+- //apply the chosen parameters
+- if (av_set_parameters(this->avFormatContext, NULL) < 0)
+- {
+- vtkGenericWarningMacro (<< "Invalid output format parameters." );
+- return 0;
+- }
+-
+ //manufacture a codec with the chosen parameters
+ AVCodec *codec = avcodec_find_encoder(c->codec_id);
+ if (!codec)
+@@ -259,14 +252,14 @@
+
+
+ //Finally, open the file and start it off.
+- if (url_fopen(&this->avFormatContext->pb, this->avFormatContext->filename, URL_WRONLY) < 0)
++ if (avio_open(&this->avFormatContext->pb, this->avFormatContext->filename, AVIO_FLAG_WRITE) < 0)
+ {
+ vtkGenericWarningMacro (<< "Could not open " << this->Writer->GetFileName() << "." );
+ return 0;
+ }
+ this->openedFile = 1;
+
+- av_write_header(this->avFormatContext);
++ avformat_write_header(this->avFormatContext, NULL);
+ return 1;
+ }
+
+@@ -388,11 +381,7 @@
+ if (this->openedFile)
+ {
+ av_write_trailer(this->avFormatContext);
+-#ifdef VTK_FFMPEG_OLD_URL_FCLOSE
+- url_fclose(&this->avFormatContext->pb);
+-#else
+- url_fclose(this->avFormatContext->pb);
+-#endif
++ avio_close(this->avFormatContext->pb);
+ this->openedFile = 0;
+ }
+
diff --git a/community/vtk/ffmpeg-0.8.diff b/community/vtk/ffmpeg-0.8.diff
new file mode 100644
index 000000000..523919d6f
--- /dev/null
+++ b/community/vtk/ffmpeg-0.8.diff
@@ -0,0 +1,66 @@
+Description: Upstream changes introduced in version 5.6.1-6.1
+ This patch has been created by dpkg-source during the package build.
+ Here's the last changelog entry, hopefully it gives details on why
+ those changes were made:
+ .
+ vtk (5.6.1-6.1) unstable; urgency=low
+ .
+ [ Michael Schutte ]
+ * Non-maintainer upload.
+ * Remove absolute paths to required libraries from
+ /usr/lib/vtk-5.6/VTKLibraryDepends.cmake after building, closes:
+ #506992. Due to the multiarch transition, the original behavior
+ frequently causes reverse build-deps to FTBFS. This change should
+ probably be reverted once all required libraries are multiarched.
+ .
+ [ Steve M. Robbins ]
+ * Override lintian diagnostic about embedded libraries ftgl and sqlite.
+ * IO/vtkFFMPEGWriter.cxx: Applied fix from #638246 to build with libav
+ 0.7.
+ .
+ The person named in the Author field signed this changelog entry.
+Author: Steve M. Robbins <smr@debian.org>
+Bug-Debian: http://bugs.debian.org/506992
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: http://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+--- vtk-5.6.1.orig/IO/vtkFFMPEGWriter.cxx
++++ vtk-5.6.1/IO/vtkFFMPEGWriter.cxx
+@@ -123,7 +123,7 @@ int vtkFFMPEGWriterInternal::Start()
+ }
+
+ //choose avi media file format
+- this->avOutputFormat = guess_format("avi", NULL, NULL);
++ this->avOutputFormat = av_guess_format("avi", NULL, NULL);
+ if (!this->avOutputFormat)
+ {
+ vtkGenericWarningMacro (<< "Could not open the avi media file format.");
+@@ -150,7 +150,7 @@ int vtkFFMPEGWriterInternal::Start()
+ //Set up the codec.
+ AVCodecContext *c = this->avStream->codec;
+ c->codec_id = (CodecID)this->avOutputFormat->video_codec;
+- c->codec_type = CODEC_TYPE_VIDEO;
++ c->codec_type = AVMEDIA_TYPE_VIDEO;
+ c->width = this->Dim[0];
+ c->height = this->Dim[1];
+ c->pix_fmt = PIX_FMT_YUVJ420P;
+@@ -329,7 +329,7 @@ int vtkFFMPEGWriterInternal::Write(vtkIm
+ pkt.stream_index = this->avStream->index;
+ if (cc->coded_frame->key_frame) //treat keyframes well
+ {
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ }
+ pkt.duration = 0; //presentation duration in time_base units or 0 if NA
+ pkt.pos = -1; //byte position in stream or -1 if NA
diff --git a/community/vtk/python-destdir.diff b/community/vtk/python-destdir.diff
new file mode 100644
index 000000000..9b1504b8b
--- /dev/null
+++ b/community/vtk/python-destdir.diff
@@ -0,0 +1,11 @@
+--- VTK/Wrapping/Python/CMakeLists.txt.orig 2013-02-02 12:56:08.067142089 +0100
++++ VTK/Wrapping/Python/CMakeLists.txt 2013-02-02 12:58:16.182794679 +0100
+@@ -558,7 +558,7 @@
+
+ # Create default python setup arguments if they are not set.
+ IF(NOT DEFINED VTK_PYTHON_SETUP_ARGS)
+- SET(VTK_PYTHON_SETUP_ARGS "--prefix=\"${DOLLAR}{CMAKE_INSTALL_PREFIX}\""
++ SET(VTK_PYTHON_SETUP_ARGS "--root=\"${DOLLAR}DESTDIR\" --prefix=\"${DOLLAR}{CMAKE_INSTALL_PREFIX}\""
+ CACHE STRING "Arguments passed to \"python setup.py install ...\" during installation.")
+ MARK_AS_ADVANCED(VTK_PYTHON_SETUP_ARGS)
+ ENDIF(NOT DEFINED VTK_PYTHON_SETUP_ARGS)
diff --git a/community/vtk/tcl-8.6.diff b/community/vtk/tcl-8.6.diff
new file mode 100644
index 000000000..6152a8fa7
--- /dev/null
+++ b/community/vtk/tcl-8.6.diff
@@ -0,0 +1,13 @@
+--- VTK5.10.1/Common/vtkTcl.h 2012-10-15 22:33:21.000000000 +0200
++++ VTK5.10.1/Common/vtkTcl.h.new 2012-12-22 12:27:56.176482722 +0100
+@@ -17,6 +17,10 @@
+
+ #include "vtkConfigure.h"
+
++// see http://paraview.org/Bug/view.php?id=11810
++#define USE_INTERP_RESULT
++#define USE_INTERP_ERRORLINE
++
+ #ifdef VTK_TCL_TK_STATIC
+ # ifndef STATIC_BUILD
+ # define STATIC_BUILD
diff --git a/community/vym/PKGBUILD b/community/vym/PKGBUILD
new file mode 100644
index 000000000..c6f374423
--- /dev/null
+++ b/community/vym/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 85424 2013-03-01 10:42:25Z andrea $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: S�ren Holm <sgh@sgh.dk>
+
+pkgname=vym
+pkgver=2.2.4
+pkgrel=2
+pkgdesc="A mindmapping tool"
+arch=('i686' 'x86_64')
+url="http://www.insilmaril.de/vym/"
+license=('GPL')
+depends=('qt4' 'unzip' 'zip')
+options=('!emptydirs')
+changelog=$pkgname.changelog
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 \
+ $pkgname.desktop)
+sha256sums=('fa6d088327feae80c4c6760454fba64fe253a7de6e7e46f45a4c7f7db9b998f4'
+ 'e299c69c213e7aac3f5b5d0ab088132b4ec7cb63a391f272e75ed64f049d541b')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ qmake PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+# install files
+ make INSTALL_ROOT="${pkgdir}" install
+
+# correct doc location
+ install -d "${pkgdir}"/usr/share/doc/$pkgname
+ install -m644 doc/* "${pkgdir}"/usr/share/doc/$pkgname
+ rm -rf "${pkgdir}"/usr/share/doc/packages
+
+# .desktop and icon file
+ install -D -m644 "${srcdir}"/$pkgname.desktop \
+ "${pkgdir}"/usr/share/applications/$pkgname.desktop
+ install -D -m644 "${pkgdir}"/usr/share/vym/icons/$pkgname.png \
+ "${pkgdir}"/usr/share/pixmaps/$pkgname.png
+}
diff --git a/community/vym/vym.changelog b/community/vym/vym.changelog
new file mode 100644
index 000000000..6344bbecd
--- /dev/null
+++ b/community/vym/vym.changelog
@@ -0,0 +1,23 @@
+2012-08-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vym 2.2.4-1
+
+2012-06-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vym 2.2.0-1
+
+2012-05-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vym 2.0.12-1
+
+2012-01-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vym 2.0.3-1
+
+2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vym 1.99.0-1
+
+2011-02-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * vym 1.12.8-1
+
+2010-03-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.12.7
+
+2009-12-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.12.6
diff --git a/community/vym/vym.desktop b/community/vym/vym.desktop
new file mode 100644
index 000000000..ec0cab724
--- /dev/null
+++ b/community/vym/vym.desktop
@@ -0,0 +1,38 @@
+[Desktop Entry]
+Type=Application
+Exec=vym
+Icon=vym
+MimeType=application/x-vym;
+Categories=Qt;KDE;Education;
+Name=VYM - View Your Mind
+Name[de]=VYM - View Your Mind
+Name[fi]=VYM - ohjelma miellekarttojen (MindMap) tekemiseksi
+Name[hu]=VYM - Gondolatmegjelenítő
+Name[nb]=VYM - Vis tankene dine
+Name[pa]=VYM - ਵਿਊ ਯੂਅਰ ਮਾਈਡ
+Name[ru]=VYM - загляни в себя
+Name[uk]=VYM - Перегляд вашого розуму
+Name[zh_CN]=VYM - 绘制你的思维
+Comment=Create mind maps
+Comment[ca]=Creeu mapes mentals
+Comment[de]=Mindmap erstellen
+Comment[es]=Crear mapas mentales
+Comment[fr]=Créez des cartes d'associations d'idées
+Comment[it]=Crea mappe mentali
+GenericName=Planning Tool
+GenericName[ca]=Eina de planificació
+GenericName[da]=Planlægnings- og brainstormværktøj
+GenericName[de]=Planungs- und Brainstorming-Tool
+GenericName[es]=Herramienta de planificación
+GenericName[fi]=Suunnittelu- ja aivoriihityökalu
+GenericName[fr]=Outil de plannification
+GenericName[hu]=Tervező- és ötletgyűjtési eszköz
+GenericName[it]=Strumento di pianificazione e brainstorming
+GenericName[km]=ឧបករណ៍​ធ្វើ​ផែនការ និង​បំផុស​គំនិត
+GenericName[nb]=Planleggings- og idéverktøy
+GenericName[nl]=Programma voor plannen en brainstormen
+GenericName[pl]=Planowanie i burze mózgów
+GenericName[pt]=Ferramenta de Planeamento e Tempestades de Ideias
+GenericName[ru]=Срелдство для планирования и проведения "мозгового штурма"
+GenericName[uk]=Засіб планування і занотовування ідей
+GenericName[zh_CN]=规划和头脑风暴工具
diff --git a/community/vym/vym.install b/community/vym/vym.install
new file mode 100644
index 000000000..2eaa60550
--- /dev/null
+++ b/community/vym/vym.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/vyqchat/PKGBUILD b/community/vyqchat/PKGBUILD
new file mode 100644
index 000000000..135ff8e63
--- /dev/null
+++ b/community/vyqchat/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 88015 2013-04-09 21:51:55Z eric $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=vyqchat
+pkgver=0.2.8
+pkgrel=4
+pkgdesc="vypress compatible qt chat (can work without server)"
+arch=('i686' 'x86_64')
+url="http://linux.bydg.org/~yogin/"
+license=('GPL')
+depends=('qt3' 'libao' 'libxi')
+source=(http://www.uic.unn.ru/~soed/programs/chat/$pkgname-$pkgver.tar.gz
+ build-fix.patch)
+md5sums=('67974bc5df1ed0d63785d04325444d4f'
+ 'de3af70da3743c27929f04f72c837412')
+
+build() {
+ cd $srcdir/$pkgname-${pkgver}
+ patch -Np1 <../build-fix.patch
+ # Use _LDADD to properly compile with --as-needed
+ sed -i 's/vyqchat_LDFLAGS/vyqchat_LDADD/' src/Makefile.am
+ # Correct acinclude.m4 to avoid empty else block
+ sed -i 's:# Leave bnv_qt_lib_dir defined:/bin/true:' acinclude.m4
+ autoreconf -v
+ ./configure --prefix=/usr --with-Qt-bin-dir=/usr/lib/qt3/bin --with-Qt-include-dir=/usr/include/qt3 --with-Qt-lib-dir=/usr/lib
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-${pkgver}
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/vyqchat/build-fix.patch b/community/vyqchat/build-fix.patch
new file mode 100644
index 000000000..7ad70ab2f
--- /dev/null
+++ b/community/vyqchat/build-fix.patch
@@ -0,0 +1,36 @@
+diff -wbBur vyqchat-0.2.8/src/settings.h vyqchat-0.2.8.my/src/settings.h
+--- vyqchat-0.2.8/src/settings.h 2005-07-18 22:54:08.000000000 +0400
++++ vyqchat-0.2.8.my/src/settings.h 2007-02-21 21:05:11.000000000 +0300
+@@ -88,7 +88,7 @@
+
+ //
+ // Get methods
+- const UUID& Settings::getUUID() const { return uuid; }
++ const UUID& getUUID() const { return uuid; }
+ const QString& getIconThemeName() const { return icontheme; }
+ const QString& getNick() const { return nick; }
+ char getGender() const { return gender; }
+diff -wbBur vyqchat-0.2.8/src/sound.h vyqchat-0.2.8.my/src/sound.h
+--- vyqchat-0.2.8/src/sound.h 2005-07-18 22:54:08.000000000 +0400
++++ vyqchat-0.2.8.my/src/sound.h 2007-02-21 21:04:45.000000000 +0300
+@@ -47,7 +47,7 @@
+ bool reload_samples(Settings &settings);
+ static bool init(Settings *settings);
+ static void close();
+- static const QString& Sound::error();
++ static const QString& error();
+ static void play(VyEvent evt);
+ };
+
+diff -wbBur vyqchat-0.2.8/src/user.h vyqchat-0.2.8.my/src/user.h
+--- vyqchat-0.2.8/src/user.h 2005-07-18 23:03:01.000000000 +0400
++++ vyqchat-0.2.8.my/src/user.h 2007-02-21 21:04:14.000000000 +0300
+@@ -38,7 +38,7 @@
+ }
+ return false;
+ }
+- bool User::setStatus(char s) { status=s; return true; }
++ bool setStatus(char s) { status=s; return true; }
+ void setNick(const QString &nick) { setText(nick); }
+ int incDeadCounter() { if (dcnt<1) dcnt++; return dcnt; }
+ int decDeadCounter() { return --dcnt; }
diff --git a/community/w3cam/PKGBUILD b/community/w3cam/PKGBUILD
new file mode 100644
index 000000000..7d448d758
--- /dev/null
+++ b/community/w3cam/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 90102 2013-05-06 19:39:58Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Christian Schmidt <mucknert@gmx.net>
+
+pkgname=w3cam
+pkgver=0.7.2
+pkgrel=11
+pkgdesc="a small and fast CGI program to retrieve images from a video4linux device."
+arch=('i686' 'x86_64')
+url="http://mpx.freeshell.net/"
+license=('GPL')
+depends=('libpng' 'libjpeg')
+makedepends=('v4l-utils')
+source=(http://mpx.freeshell.net/$pkgname-$pkgver.tar.gz)
+md5sums=('eec0b301b32bc8e9f65a4e54248c9868')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i 's|#include <linux/videodev.h>|#include <libv4l1-videodev.h>|' v4l.c vidcat.c w3cam.c w3camd/w3v4l.c
+ ./configure --prefix=/usr --with-device=/dev/video0 --with-ttf-inc=/usr/include/freetype
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ mkdir -p $pkgdir/usr/cgi-bin $pkgdir/usr/bin $pkgdir/usr/man/man1 $pkgdir/usr/share/
+ make prefix=$pkgdir/usr/ install
+ mkdir -p $pkgdir/usr/lib/w3cam/
+ mv $pkgdir/usr/cgi-bin/* $pkgdir/usr/lib/w3cam/
+ mv $pkgdir/usr/man $pkgdir/usr/share/man
+ rm -rf $pkgdir/usr/cgi-bin
+}
diff --git a/community/warmux/PKGBUILD b/community/warmux/PKGBUILD
new file mode 100644
index 000000000..9a35825f6
--- /dev/null
+++ b/community/warmux/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 90103 2013-05-06 19:39:59Z foutrelis $
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: pukyxd
+# Maintainer: Daenyth <Daenyth+Arch AT gmail DOT com>
+
+pkgname=warmux
+pkgver=11.04.1
+pkgrel=6
+pkgdesc="A clone of the worms game"
+arch=('i686' 'x86_64')
+url="http://www.wormux.org/"
+license=('GPL')
+makedepends=('pkgconfig' 'libxml++' 'sdl_image' 'sdl_gfx>=2.0.24' 'sdl_ttf' 'sdl_mixer' 'sdl_net' 'curl>=7.16.2' 'gcc-libs' 'libxml2')
+replaces=('wormux')
+source=(http://download.gna.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ include-zlib.patch
+ gcc-fix.patch)
+md5sums=('26ff65c43a9bb61a3f0529c98b943e35'
+ 'c8285955e880f80e3c68312715a3061c'
+ 'ab50d613d3fa3f71262b1d2fc71641b1')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver/.1/}"
+
+ # libpng 1.5 fix
+ patch -Np1 -i ../include-zlib.patch
+ # gcc fix
+ patch -Np1 -i ../gcc-fix.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ depends=('libxml++' 'sdl_image' 'sdl_gfx>=2.0.19' 'sdl_ttf' 'sdl_mixer' 'sdl_net' 'curl>=7.16.2' 'gcc-libs' 'libxml2' "warmux-data>=${pkgver/.1/}")
+
+ cd "${srcdir}/${pkgname}-${pkgver/.1/}"
+
+ make DESTDIR="${pkgdir}" install
+ rm -r ${pkgdir}/usr/share/warmux
+}
diff --git a/community/warmux/gcc-fix.patch b/community/warmux/gcc-fix.patch
new file mode 100644
index 000000000..1ac476b92
--- /dev/null
+++ b/community/warmux/gcc-fix.patch
@@ -0,0 +1,36 @@
+## i-love-you-lordheavy.patch [diff]
+diff -ru warmux-11.04/lib/warmux/action/action.cpp warmux-11.04-new/lib/warmux/action/action.cpp
+--- warmux-11.04/lib/warmux/action/action.cpp 2011-04-28 21:03:14.000000000 +0200
++++ warmux-11.04-new/lib/warmux/action/action.cpp 2012-01-29 09:51:16.680251815 +0100
+@@ -81,7 +81,7 @@
+ }
+
+ // Build an action from a network packet
+-Action::Action(const char *buffer, DistantComputer* _creator)
++Action::Action(char *buffer, DistantComputer* _creator)
+ {
+ m_creator = _creator;
+
+diff -ru warmux-11.04/lib/warmux/include/WARMUX_action.h warmux-11.04-new/lib/warmux/include/WARMUX_action.h
+--- warmux-11.04/lib/warmux/include/WARMUX_action.h 2011-04-28 21:03:13.000000000 +0200
++++ warmux-11.04-new/lib/warmux/include/WARMUX_action.h 2012-01-29 09:52:14.246921833 +0100
+@@ -168,7 +168,7 @@
+ Action(Action_t type, Double value1, Double value2);
+
+ // Build an action from a network packet
+- Action(const char* buffer, DistantComputer* _creator);
++ Action(char* buffer, DistantComputer* _creator);
+
+ ~Action();
+
+Description: Fix FTBFS with gcc 4.7.
+Author: Felix Geyer <debfx-pkg@fobos.de>
+
+--- warmux-11.04.1+repack.orig/tools/list_games/main.cpp
++++ warmux-11.04.1+repack/tools/list_games/main.cpp
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <unistd.h>
+ #include <WARMUX_types.h>
+ #include <WARMUX_network.h>
+ #include <WARMUX_index_server.h>
diff --git a/community/warmux/include-zlib.patch b/community/warmux/include-zlib.patch
new file mode 100644
index 000000000..c7e77aba1
--- /dev/null
+++ b/community/warmux/include-zlib.patch
@@ -0,0 +1,11 @@
+diff -uNr warmux-11.04.orig/src/graphic/surface.cpp warmux-11.04/src/graphic/surface.cpp
+--- warmux-11.04.orig/src/graphic/surface.cpp 2011-09-19 09:26:52.392650465 +0200
++++ warmux-11.04/src/graphic/surface.cpp 2011-09-19 09:26:19.417648189 +0200
+@@ -25,6 +25,7 @@
+ #include <SDL_image.h>
+ #include <SDL_rotozoom.h>
+ #include <png.h>
++#include <zlib.h>
+
+ #include "graphic/surface.h"
+ #include "tool/math_tools.h"
diff --git a/community/warzone2100/PKGBUILD b/community/warzone2100/PKGBUILD
new file mode 100644
index 000000000..3c2b2d117
--- /dev/null
+++ b/community/warzone2100/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 90105 2013-05-06 19:40:03Z foutrelis $
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Angelo Theodorou <encelo@users.sourceforge.net>
+
+pkgname=warzone2100
+pkgver=3.1.0
+pkgrel=3
+pkgdesc="3D realtime strategy game on a future Earth"
+url="http://wz2100.net/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('sdl' 'glew' 'fribidi' 'openal' 'libvorbis' 'libtheora' 'physfs' 'ttf-dejavu' 'qt4')
+makedepends=('gawk' 'flex' 'zip' 'unzip' 'asciidoc' 'mesa')
+source=("http://downloads.sourceforge.net/project/warzone2100/releases/${pkgver}/${pkgname}-${pkgver}.tar.xz")
+md5sums=('7f061f3e5a2a6a83c146508ccefabd86')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr --with-distributor="Arch linux"
+
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/wavegain/PKGBUILD b/community/wavegain/PKGBUILD
new file mode 100644
index 000000000..183516e86
--- /dev/null
+++ b/community/wavegain/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 67386 2012-03-10 21:21:31Z lcarlier $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+
+pkgname=wavegain
+_realname=WaveGain
+pkgver=1.3.1
+pkgrel=1
+pkgdesc="A command line tool to normalize sound files"
+arch=('i686' 'x86_64')
+url="http://rarewares.org/others.php"
+license=('LGPL')
+depends=('libsndfile')
+source=(http://www.rarewares.org/files/others/$pkgname-${pkgver}srcs.zip)
+md5sums=('456106bae00cec2ec4024da992bc5fd0')
+
+build() {
+ cd "$srcdir/$_realname-$pkgver"
+
+ #make -f Makefile.linux
+ gcc ${LDFLAGS} ${CFLAGS} *.c -o wavegain -DHAVE_CONFIG_H -lm
+
+}
+
+package() {
+ cd "$srcdir/$_realname-$pkgver"
+
+ install -Dm755 "$srcdir/$_realname-$pkgver/wavegain" \
+ "$pkgdir/usr/bin/wavegain"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/wbar/PKGBUILD b/community/wbar/PKGBUILD
new file mode 100644
index 000000000..3d20bcbd6
--- /dev/null
+++ b/community/wbar/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 76682 2012-09-26 19:34:38Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=wbar
+pkgver=2.3.4
+pkgrel=1
+pkgdesc="A quick launch bar developed with speed in mind"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/wbar"
+license=('GPL')
+depends=('libglade' 'imlib2' 'gcc-libs')
+makedepends=('intltool')
+source=(http://wbar.googlecode.com/files/$pkgname-$pkgver.tgz)
+sha256sums=('46a69849e4436529aefb5cfb2c94b520d05a53c237e7773b90207f67f97a93e3')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --exec_prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package () {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/wbar/wbar.changelog b/community/wbar/wbar.changelog
new file mode 100644
index 000000000..95467b033
--- /dev/null
+++ b/community/wbar/wbar.changelog
@@ -0,0 +1,12 @@
+2012-09-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * wbar 2.3.4-1
+
+2011-05-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * wbar 2.2.2-1
+
+2011-01-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * wbar 2.1.1-1
+
+2008-10-13 Allan McRae <allan@archlinux.org>
+ * wbar 1.3.3-2
+ * Moved to [community] repo
diff --git a/community/wdm/PKGBUILD b/community/wdm/PKGBUILD
new file mode 100644
index 000000000..76e858c53
--- /dev/null
+++ b/community/wdm/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 88268 2013-04-15 11:14:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: eric <eric@archlinux.org>
+# Contributor: Aurelien Foret <orelien@chez.com>
+
+pkgname=wdm
+pkgver=1.28
+pkgrel=6
+pkgdesc="An replacement X window display manager similar to, and based on XDM"
+arch=(i686 x86_64)
+depends=('windowmaker' 'pam' 'bash' 'libxmu')
+license=('GPL')
+source=(http://voins.program.ru/$pkgname/$pkgname-$pkgver.tar.bz2)
+url="http://voins.program.ru/wdm/"
+md5sums=('4da8ffe3af233305786d9b6aab78b838')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --with-nlsdir=/usr/share/locale \
+ --sysconfdir=/etc/wdm --with-wdmdir=/etc/wdm --mandir=/usr/share/man \
+ --with-fakehome=/var/empty
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ # used /etc/pam.d/xscreensaver as an example
+ #
+ echo "auth required pam_unix_auth.so" > $pkgdir/etc/pam.d/wdm
+ chmod 0644 $pkgdir/etc/wdm/wdm-config
+ chmod 0755 $pkgdir/etc/wdm/authdir
+}
diff --git a/community/webfs/PKGBUILD b/community/webfs/PKGBUILD
new file mode 100644
index 000000000..580b9053d
--- /dev/null
+++ b/community/webfs/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 92107 2013-05-31 15:10:32Z foutrelis $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: Mark Rosenstand <mark@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Chris Brannon <chris@the-brannons.com>
+
+pkgname=webfs
+pkgver=1.21
+pkgrel=10
+pkgdesc="Simple and instant http server for mostly static content."
+arch=(i686 x86_64)
+url="http://linux.bytesex.org/misc/webfs.html"
+license=("GPL")
+depends=('mime-types' 'openssl')
+backup=('etc/conf.d/webfsd')
+source=(http://dl.bytesex.org/releases/webfs/webfs-${pkgver}.tar.gz
+ webfsd.conf
+ webfs.patch
+ webfsd.service)
+md5sums=('6dc125fe160479404147e7bbfc781dbc'
+ 'b2c1ab041a82acd8391b06dc38d986be'
+ '7294edcec2589df04bb775270d56536e'
+ 'e1202dd915cba1a02e0016aa3a516b4a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -i "$srcdir/webfs.patch"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make prefix=/usr DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir/webfsd.conf" "$pkgdir/etc/conf.d/webfsd"
+ install -Dm755 "$srcdir/webfsd.service" "$pkgdir/usr/lib/systemd/system/webfsd.service"
+}
diff --git a/community/webfs/webfs.patch b/community/webfs/webfs.patch
new file mode 100644
index 000000000..fca51a630
--- /dev/null
+++ b/community/webfs/webfs.patch
@@ -0,0 +1,250 @@
+# This patch performs the following:
+#
+# 1) user/group names my now be set to the system maximum using
+# sysconf(_SC_LOGIN_NAME_MAX). They were previously hardcoded to 16 chars.
+#
+# 2) supplementary groups are now set according to the user webfs is running as.
+# previously they were left as the calling user, which could be dangerous
+# ex: sudo webfsd -u nobody, would leave webfsd with all of root's groups!
+#
+# 3) the supplementary group list is no longer made empty when using -g
+#
+# 4) supplementary groups are now checked for read access when generating
+# directory listings
+#
+# 5) in ls.c/ls() changed type of uid and gid to uid_t and gid_t
+#
+# 6) in ls.c/ls() fixed a problem where the uid of the file was being compared
+# to the gid of the user to check for readability
+#
+# 7) added a -G option to ignore/remove all supplementary groups
+#
+# 8) updated man page to reflect -G option
+#
+# 9) when the uid is 0, all files are now displayed as readable.
+#
+
+diff -urp webfs-1.21-orig/httpd.h webfs-1.21/httpd.h
+--- webfs-1.21-orig/httpd.h 2004-06-10 05:45:50.000000000 -0400
++++ webfs-1.21/httpd.h 2010-03-27 14:57:07.631540000 -0400
+@@ -169,6 +169,8 @@ extern int lifespan;
+ extern int no_listing;
+ extern time_t now;
+ extern int have_tty;
++extern gid_t *grp_list;
++extern int grp_num;
+
+ #ifdef USE_SSL
+ extern int with_ssl;
+diff -urp webfs-1.21-orig/ls.c webfs-1.21/ls.c
+--- webfs-1.21-orig/ls.c 2004-06-10 05:45:50.000000000 -0400
++++ webfs-1.21/ls.c 2010-03-28 10:52:09.449259926 -0400
+@@ -194,7 +194,9 @@ ls(time_t now, char *hostname, char *fil
+ struct myfile **files = NULL;
+ struct myfile **re1;
+ char *h1,*h2,*re2,*buf = NULL;
+- int count,len,size,i,uid,gid;
++ int count,len,size,i;
++ uid_t uid;
++ gid_t gid;
+ char line[1024];
+ char *pw = NULL, *gr = NULL;
+
+@@ -241,14 +243,23 @@ ls(time_t now, char *hostname, char *fil
+ files[count]->r = 0;
+ if (S_ISDIR(files[count]->s.st_mode) ||
+ S_ISREG(files[count]->s.st_mode)) {
+- if (files[count]->s.st_uid == uid &&
++ if (uid == 0)
++ files[count]->r = 1;
++ else if (files[count]->s.st_uid == uid &&
+ files[count]->s.st_mode & 0400)
+ files[count]->r = 1;
+- else if (files[count]->s.st_uid == gid &&
++ else if (files[count]->s.st_gid == gid &&
+ files[count]->s.st_mode & 0040)
+- files[count]->r = 1; /* FIXME: check additional groups */
++ files[count]->r = 1;
+ else if (files[count]->s.st_mode & 0004)
+ files[count]->r = 1;
++ else {
++ for (i = 0; i < grp_num; i++) {
++ if (files[count]->s.st_gid == grp_list[i] &&
++ files[count]->s.st_mode & 0400)
++ files[count]->r = 1;
++ }
++ }
+ }
+ }
+ closedir(dir);
+diff -urp webfs-1.21-orig/webfsd.c webfs-1.21/webfsd.c
+--- webfs-1.21-orig/webfsd.c 2004-06-10 05:45:50.000000000 -0400
++++ webfs-1.21/webfsd.c 2010-03-28 10:36:33.992517000 -0400
+@@ -42,8 +42,8 @@ char *listen_port = "8000";
+ int virtualhosts = 0;
+ int canonicalhost = 0;
+ char server_host[256];
+-char user[17];
+-char group[17];
++char *user;
++char *group;
+ char *mimetypes = MIMEFILE;
+ char *pidfile = NULL;
+ char *logfile = NULL;
+@@ -57,6 +57,9 @@ int have_tty = 1;
+ int max_conn = 32;
+ int lifespan = -1;
+ int no_listing = 0;
++int setsupgroups = 1;
++gid_t *grp_list = NULL;
++int grp_num = 0;
+
+ time_t now;
+ int slisten;
+@@ -167,6 +170,7 @@ usage(char *name)
+ gr = getgrgid(getgid());
+ fprintf(stderr,
+ " -u user run as user >user< [%s]\n"
++ " -G set supplementary group list to empty\n"
+ " -g group run as group >group< [%s]\n",
+ pw ? pw->pw_name : "???",
+ gr ? gr->gr_name : "???");
+@@ -189,6 +193,7 @@ fix_ug(void)
+ {
+ struct passwd *pw = NULL;
+ struct group *gr = NULL;
++ int numgroupsmax, i;
+
+ /* root is allowed to use any uid/gid,
+ * others will get their real uid/gid */
+@@ -214,6 +219,20 @@ fix_ug(void)
+ exit(1);
+ }
+
++ /* get supplementary groups */
++ if (setsupgroups) {
++ numgroupsmax = sysconf(_SC_NGROUPS_MAX) + 1;
++ grp_list = (gid_t*) malloc(numgroupsmax * sizeof(gid_t));
++
++ if (grp_list != NULL) {
++ grp_num = getgrouplist(pw->pw_name, pw->pw_gid,
++ grp_list, &numgroupsmax);
++ } else {
++ xerror(LOG_ERR, "failed to get group list - "
++ "removing all sup groups", NULL);
++ }
++ }
++
+ /* chroot to $DOCUMENT_ROOT (must be done here as getpwuid needs
+ /etc and chroot works as root only) */
+ if (do_chroot) {
+@@ -227,14 +246,22 @@ fix_ug(void)
+ /* set group */
+ if (getegid() != gr->gr_gid || getgid() != gr->gr_gid) {
+ setgid(gr->gr_gid);
+- setgroups(0, NULL);
+ }
+ if (getegid() != gr->gr_gid || getgid() != gr->gr_gid) {
+ xerror(LOG_ERR,"setgid failed",NULL);
+ exit(1);
+ }
+- strncpy(group,gr->gr_name,16);
++
++ if (strlen(gr->gr_name) < sysconf(_SC_LOGIN_NAME_MAX))
++ strcpy(group,gr->gr_name);
++ else
++ xerror(LOG_ERR,"groupname too long",NULL);
+
++ /* set supplementary groups */
++ if (geteuid() == 0)
++ if (setgroups(grp_num, grp_list) != 0)
++ xerror(LOG_ERR, "failed to set supplementary groups", NULL);
++
+ /* set user */
+ if (geteuid() != pw->pw_uid || getuid() != pw->pw_uid)
+ setuid(pw->pw_uid);
+@@ -242,11 +269,23 @@ fix_ug(void)
+ xerror(LOG_ERR,"setuid failed",NULL);
+ exit(1);
+ }
+- strncpy(user,pw->pw_name,16);
+-
+- if (debug)
+- fprintf(stderr,"fix_ug: uid=%d euid=%d / gid=%d egid=%d\n",
++
++ if (strlen(pw->pw_name) < sysconf(_SC_LOGIN_NAME_MAX))
++ strcpy(user,pw->pw_name);
++ else
++ xerror(LOG_ERR,"username too long",NULL);
++
++ if (debug) {
++ fprintf(stderr,"fix_ug: uid=%d euid=%d / gid=%d egid=%d / gids: ",
+ getuid(),geteuid(),getgid(),getegid());
++
++ for (i = 0; i < grp_num; i++) {
++ fprintf(stderr, "%d ", grp_list[i]);
++ }
++
++ fprintf(stderr, "\n");
++ }
++
+ }
+
+ /* ---------------------------------------------------------------------- */
+@@ -687,6 +726,10 @@ main(int argc, char *argv[])
+ char serv[16];
+ char mypid[12];
+
++ /* allocate space for user/group names. _SC_LOGIN_NAME_MAX includes \0 */
++ user = (char *)malloc(sizeof(char) * sysconf(_SC_LOGIN_NAME_MAX));
++ group = (char *)malloc(sizeof(char) * sysconf(_SC_LOGIN_NAME_MAX));
++
+ uid = getuid();
+ euid = geteuid();
+ if (uid != euid)
+@@ -702,7 +745,7 @@ main(int argc, char *argv[])
+ /* parse options */
+ for (;;) {
+ if (-1 == (c = getopt(argc,argv,"hvsdF46jS"
+- "r:R:f:p:n:N:i:t:c:a:u:g:l:L:m:y:b:k:e:x:C:P:~:")))
++ "r:R:f:p:n:N:i:t:c:a:u:Gg:l:L:m:y:b:k:e:x:C:P:~:")))
+ break;
+ switch (c) {
+ case 'h':
+@@ -759,10 +802,19 @@ main(int argc, char *argv[])
+ max_dircache = atoi(optarg);
+ break;
+ case 'u':
+- strncpy(user,optarg,16);
++ if (strlen(optarg) < sysconf(_SC_LOGIN_NAME_MAX))
++ strcpy(user,optarg);
++ else
++ xerror(LOG_ERR,"username too long",NULL);
++ break;
++ case 'G':
++ setsupgroups = 0;
+ break;
+ case 'g':
+- strncpy(group,optarg,16);
++ if (strlen(optarg) < sysconf(_SC_LOGIN_NAME_MAX))
++ strcpy(group,optarg);
++ else
++ xerror(LOG_ERR,"groupname too long",NULL);
+ break;
+ case 'L':
+ flushlog = 1;
+diff -urp webfs-1.21-orig/webfsd.man webfs-1.21/webfsd.man
+--- webfs-1.21-orig/webfsd.man 2004-06-08 08:52:02.000000000 -0400
++++ webfs-1.21/webfsd.man 2010-03-28 10:37:09.495798000 -0400
+@@ -95,6 +95,9 @@ Use >file< as pidfile.
+ Set \fBu\fPid to >user< (after binding to the tcp port). This
+ option is allowed for root only.
+ .TP
++.B -G
++Set the supplementary group list to empty.
++.TP
+ .B -g group
+ Set \fBg\fPid to >group< (after binding to the tcp port). This
+ option is allowed for root only.
+
+
diff --git a/community/webfs/webfsd.conf b/community/webfs/webfsd.conf
new file mode 100644
index 000000000..96986f37a
--- /dev/null
+++ b/community/webfs/webfsd.conf
@@ -0,0 +1,5 @@
+#
+# Parameters passed to webfsd(1)
+#
+
+WEBFSD_ARGS="-p 8080 -u nobody -R /var/www/htdocs -f index.html"
diff --git a/community/webfs/webfsd.service b/community/webfs/webfsd.service
new file mode 100644
index 000000000..b4095fc6f
--- /dev/null
+++ b/community/webfs/webfsd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Simple and instant http server.
+Documentation=man:webfsd(1)
+After=network.target
+
+[Service]
+EnvironmentFile=/etc/conf.d/webfsd
+ExecStart=/usr/bin/webfsd $WEBFSD_ARGS -F
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/wesnoth/PKGBUILD b/community/wesnoth/PKGBUILD
new file mode 100644
index 000000000..56a743d06
--- /dev/null
+++ b/community/wesnoth/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 94054 2013-07-13 12:37:56Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Jacobo Arvelo <unix4all@ya.com>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgname=wesnoth
+pkgver=1.10.6
+pkgrel=6
+pkgdesc="A turn-based strategy game on a fantasy world"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.wesnoth.org/"
+depends=('sdl_ttf' 'sdl_net' 'sdl_mixer' 'sdl_image' 'fribidi' 'boost-libs' 'pango' 'lua' "wesnoth-data>=$pkgver" 'dbus-core' 'python2')
+makedepends=('boost' 'cmake')
+install=wesnoth.install
+options=(!emptydirs)
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ wesnothd.tmpfiles.conf
+ wesnothd.service
+ https://github.com/wesnoth/wesnoth-old/commit/bbd7f6.patch)
+md5sums=('547e3489bbfa778912b11dbee612c380'
+ '2d2fea6b3d86dfd589f5ad35a3be1f97'
+ 'd1b6bf1d3dc05086ee6a370adff0ae4a'
+ 'edc7c0547e67cba4ca4f813ca261f572')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np1 -i $srcdir/bbd7f6.patch
+
+ mkdir build && cd build
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DENABLE_OMP=ON \
+ -DENABLE_TOOLS=ON \
+ -DMANDIR=share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ cd build
+ make DESTDIR="$pkgdir" install
+
+ rm -r $pkgdir/usr/share/applications
+ rm -r $pkgdir/usr/share/doc
+ rm -r $pkgdir/usr/share/pixmaps
+ rm -r $pkgdir/usr/share/wesnoth
+
+ install -Dm644 "$srcdir/wesnothd.tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/wesnothd.conf"
+ install -Dm644 "$srcdir/wesnothd.service" "$pkgdir/usr/lib/systemd/system/wesnothd.service"
+}
diff --git a/community/wesnoth/wesnoth.install b/community/wesnoth/wesnoth.install
new file mode 100644
index 000000000..0b0b5b5eb
--- /dev/null
+++ b/community/wesnoth/wesnoth.install
@@ -0,0 +1,14 @@
+# arg 1: the new package version
+post_install() {
+ systemd-tmpfiles --create wesnothd.conf
+cat << EOF
+Note:
+==> If you experience sound problems try setting your SDL_AUDIODRIVER environment variable to "dma"
+==> eg. export SDL_AUDIODRIVER="dma" ; wesnoth
+==> If "dma" doesn't work,other options are: dsp,alsa,artsc,esd,nas try to find the right output.
+EOF
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community/wesnoth/wesnoth.tmpfiles.conf b/community/wesnoth/wesnoth.tmpfiles.conf
new file mode 100644
index 000000000..3ec0f6013
--- /dev/null
+++ b/community/wesnoth/wesnoth.tmpfiles.conf
@@ -0,0 +1 @@
+D /run/wesnothd 0700 root root -
diff --git a/community/wesnoth/wesnothd.service b/community/wesnoth/wesnothd.service
new file mode 100644
index 000000000..ab8352880
--- /dev/null
+++ b/community/wesnoth/wesnothd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Wesnoth Server Daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/wesnothd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/wesnoth/wesnothd.tmpfiles.conf b/community/wesnoth/wesnothd.tmpfiles.conf
new file mode 100644
index 000000000..55c62449e
--- /dev/null
+++ b/community/wesnoth/wesnothd.tmpfiles.conf
@@ -0,0 +1 @@
+d /run/wesnothd 0700 root root -
diff --git a/community/weston/PKGBUILD b/community/weston/PKGBUILD
new file mode 100644
index 000000000..25425c83b
--- /dev/null
+++ b/community/weston/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 94173 2013-07-15 21:54:10Z tomegun $
+# Maintainer: Sébastien Luttringer
+# Contributor: Joel Teichroeb <joel@teichroeb.net>
+
+pkgname=weston
+pkgver=1.2.0
+pkgrel=2
+pkgdesc='Reference implementation of a Wayland compositor'
+arch=('i686' 'x86_64')
+url='http://wayland.freedesktop.org'
+license=('MIT')
+options=(!libtool)
+depends=('libxkbcommon' 'libunwind' 'poppler-glib' 'mtdev' 'libxcursor' 'glu' 'pango' 'colord')
+source=("http://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz")
+sha1sums=('23201d31e71768e5ec3de0d10fa6de988dd273c8')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/weston
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ # license
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ # embed more clients
+ for _c in calibrator clickdot cliptest dnd editor eventdemo flower fullscreen gears \
+ image resizor simple-egl simple-shm simple-touch smoke transformed view; do
+ install -Dm755 "clients/$_c" "$pkgdir/usr/bin/weston-$_c"
+ done
+}
diff --git a/community/widelands/6233_6232.diff b/community/widelands/6233_6232.diff
new file mode 100644
index 000000000..f82477607
--- /dev/null
+++ b/community/widelands/6233_6232.diff
@@ -0,0 +1,59 @@
+=== modified file 'src/graphic/graphic.cc'
+--- src/graphic/graphic.cc 2011-11-30 21:38:37 +0000
++++ src/graphic/graphic.cc 2012-02-19 17:10:12 +0000
+@@ -725,6 +725,18 @@
+ if (!png_ptr)
+ throw wexception("Graphic::save_png: could not create png struct");
+
++ png_infop info_ptr = png_create_info_struct(png_ptr);
++ if (!info_ptr) {
++ png_destroy_write_struct(&png_ptr, static_cast<png_infopp>(0));
++ throw wexception("Graphic::save_png: could not create png info struct");
++ }
++
++ // Set jump for error
++ if (setjmp(png_jmpbuf(png_ptr))) {
++ png_destroy_write_struct(&png_ptr, &info_ptr);
++ throw wexception("Graphic::save_png: Error writing PNG!");
++ }
++
+ // Set another write function. This is potentially dangerouse because the
+ // flush function is internally called by png_write_end(), this will crash
+ // on newer libpngs. See here:
+@@ -736,35 +748,14 @@
+ sw,
+ &Graphic::m_png_write_function, &Graphic::m_png_flush_function);
+
+- png_infop info_ptr = png_create_info_struct(png_ptr);
+-
+- if (!info_ptr) {
+- png_destroy_write_struct(&png_ptr, static_cast<png_infopp>(0));
+- throw wexception("Graphic::save_png: could not create png info struct");
+- }
+-
+- // Set jump for error
+- if (setjmp(png_jmpbuf(png_ptr))) {
+- png_destroy_write_struct(&png_ptr, &info_ptr);
+- throw wexception("Graphic::save_png: could not set png setjmp");
+- }
+-
+ // Fill info struct
+ png_set_IHDR
+ (png_ptr, info_ptr, pix.get_w(), pix.get_h(),
+ 8, PNG_COLOR_TYPE_RGB_ALPHA, PNG_INTERLACE_NONE,
+ PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
+
+- // png_set_strip_16(png_ptr) ;
+-
+ // Start writing
+ png_write_info(png_ptr, info_ptr);
+-
+- // Strip data down
+- png_set_filler(png_ptr, 0, PNG_FILLER_AFTER);
+-
+- png_set_packing(png_ptr);
+-
+ {
+ uint32_t surf_w = pix.get_w();
+ uint32_t surf_h = pix.get_h();
+
diff --git a/community/widelands/PKGBUILD b/community/widelands/PKGBUILD
new file mode 100644
index 000000000..cd6844a96
--- /dev/null
+++ b/community/widelands/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 94055 2013-07-13 12:38:06Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Arkham <arkham at archlinux dot us>
+# Contributor: Christoph Zeiler <rabyte*gmail>
+
+pkgname=widelands
+pkgver=17
+_realver=build17
+pkgrel=8
+pkgdesc="A realtime strategy game with emphasis on economy and transport"
+arch=('i686' 'x86_64')
+url="http://widelands.org/"
+license=('GPL')
+depends=('sdl_mixer' 'sdl_image' 'sdl_net' 'sdl_ttf' 'sdl_gfx' 'lua51' 'glew' 'python2' 'boost-libs')
+makedepends=('cmake' 'boost' 'mesa')
+source=("https://launchpad.net/widelands/build17/build-17/+download/$pkgname-$_realver-src.tar.bz2"
+ $pkgname.desktop
+ $pkgname.png
+ $pkgname.sh)
+md5sums=('bdc9bc0aa631af1aa7fb450507611a58'
+ '15820bf099fd6f16251fe70a75c534bb'
+ '3dfda7e9ca76ca00dd98d745d0ceb328'
+ '7cae50aba5ed0cd2cfeea79124637b46')
+
+build() {
+ cd $srcdir/$pkgname-$_realver-src
+
+ sed -i "1 i #include <unistd.h>" src/main.cc
+ sed -i "/Boost_USE_STATIC_LIBS/d" CMakeLists.txt
+
+ mkdir -p build/compile && cd build/compile
+
+ cmake ../.. -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWL_INSTALL_PREFIX=/usr \
+ -DWL_INSTALL_DATADIR=share/$pkgname \
+ -DWL_INSTALL_BINDIR=bin
+ make
+}
+
+package() {
+ depends=(${depends[@]} 'widelands-data')
+ cd $srcdir/$pkgname-$_realver-src/build/compile
+
+ make DESTDIR="$pkgdir" install
+
+ rm -r $pkgdir/usr/share/widelands/{campaigns,fonts,global,locale,maps,music,pics,scripting,sound,tribes,txts,worlds}
+
+ # Install bin, icon and desktop file
+ #install -Dm 755 src/$pkgname $pkgdir/usr/share/$pkgname/$pkgname
+ #install -Dm 755 $srcdir/$pkgname.sh $pkgdir/usr/bin/$pkgname
+ install -Dm644 $srcdir/$pkgname.png $pkgdir/usr/share/pixmaps/$pkgname.png
+ install -Dm644 $srcdir/$pkgname.desktop $pkgdir/usr/share/applications/$pkgname.desktop
+}
diff --git a/community/widelands/widelands-0.16-libpng15.patch b/community/widelands/widelands-0.16-libpng15.patch
new file mode 100644
index 000000000..9f733e7b9
--- /dev/null
+++ b/community/widelands/widelands-0.16-libpng15.patch
@@ -0,0 +1,61 @@
+--- src/graphic/SDL_mng.cc
++++ src/graphic/SDL_mng.cc
+@@ -276,7 +276,7 @@
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in png_create_read_struct() earlier.
+ */
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ SDL_SetError("Error reading the PNG file.");
+ goto done;
+ }
+@@ -356,9 +356,9 @@
+ Rmask = 0x000000FF;
+ Gmask = 0x0000FF00;
+ Bmask = 0x00FF0000;
+- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0;
++ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0;
+ } else {
+- int const s = (info_ptr->channels == 4) ? 0 : 8;
++ int const s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8;
+ Rmask = 0xFF000000 >> s;
+ Gmask = 0x00FF0000 >> s;
+ Bmask = 0x0000FF00 >> s;
+@@ -369,7 +369,7 @@
+ SDL_AllocSurface
+ (SDL_SWSURFACE,
+ width, height,
+- bit_depth * info_ptr->channels,
++ bit_depth * png_get_channels(png_ptr, info_ptr),
+ Rmask, Gmask, Bmask, Amask);
+ if (not surface) {
+ SDL_SetError("Out of memory");
+@@ -407,6 +407,9 @@
+ /* read rest of file, get additional chunks in info_ptr - REQUIRED */
+ png_read_end(png_ptr, info_ptr);
+
++ png_colorp png_palette;
++ int png_num_palette;
++
+ /* Load the palette, if any */
+ if ((palette = surface->format->palette)) {
+ if (color_type == PNG_COLOR_TYPE_GRAY) {
+@@ -416,12 +419,12 @@
+ palette->colors[i].g = i;
+ palette->colors[i].b = i;
+ }
+- } else if (info_ptr->num_palette > 0) {
+- palette->ncolors = info_ptr->num_palette;
+- for (uint32_t i = 0; i < info_ptr->num_palette; ++i) {
+- palette->colors[i].b = info_ptr->palette[i].blue;
+- palette->colors[i].g = info_ptr->palette[i].green;
+- palette->colors[i].r = info_ptr->palette[i].red;
++ } else if (png_num_palette > 0) {
++ palette->ncolors = png_num_palette;
++ for (uint32_t i = 0; i < png_num_palette; ++i) {
++ palette->colors[i].b = png_palette[i].blue;
++ palette->colors[i].g = png_palette[i].green;
++ palette->colors[i].r = png_palette[i].red;
+ }
+ }
+ }
diff --git a/community/widelands/widelands-build15-gcc-4.5-patch b/community/widelands/widelands-build15-gcc-4.5-patch
new file mode 100644
index 000000000..6ba313358
--- /dev/null
+++ b/community/widelands/widelands-build15-gcc-4.5-patch
@@ -0,0 +1,51 @@
+diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc
+--- widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc 2010-04-16 15:41:22.000000000 +0000
++++ widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc 2010-07-01 21:15:56.000000000 +0000
+@@ -113,7 +113,7 @@
+ posx, posy, width, height,
+ g_gr->get_picture(PicMod_UI, "pics/but1.png"),
+ &Main_Menu_New_Map::button_clicked, *this, 4,
+- Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++ Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+
+ posy += height + spacing + spacing + spacing;
+
+@@ -142,7 +142,7 @@
+ if (m_currentworld == m_worlds.size())
+ m_currentworld = 0;
+ m_world->set_title
+- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name
++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name
+ ());
+ break;
+ }
+diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc
+--- widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc 2010-04-16 15:41:22.000000000 +0000
++++ widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc 2010-07-01 21:17:39.000000000 +0000
+@@ -272,7 +272,7 @@
+ posx, posy, width, height,
+ g_gr->get_picture(PicMod_UI, "pics/but1.png"),
+ &Main_Menu_New_Random_Map::button_clicked, *this, 8,
+- Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++ Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+
+ posy += height + spacing + spacing + spacing;
+
+@@ -343,7 +343,7 @@
+ if (m_currentworld == m_worlds.size())
+ m_currentworld = 0;
+ m_world->set_title
+- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+ break;
+ case 9:
+ break;
+@@ -476,7 +476,7 @@
+ (strcmp(mapInfo.worldName.c_str(), m_worlds[m_currentworld].c_str()))
+ ++m_currentworld;
+ m_world->set_title
+- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+
+ button_clicked(-1); // Update other values in UI as well
+
diff --git a/community/widelands/widelands.desktop b/community/widelands/widelands.desktop
new file mode 100644
index 000000000..9715d816c
--- /dev/null
+++ b/community/widelands/widelands.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Widelands
+GenericName=Widelands
+Comment=Realtime strategy game
+Icon=widelands
+Exec=widelands
+Type=Application
+Categories=Game;StrategyGame;
diff --git a/community/widelands/widelands.png b/community/widelands/widelands.png
new file mode 100644
index 000000000..c329cf667
--- /dev/null
+++ b/community/widelands/widelands.png
Binary files differ
diff --git a/community/widelands/widelands.sh b/community/widelands/widelands.sh
new file mode 100644
index 000000000..0b21a1694
--- /dev/null
+++ b/community/widelands/widelands.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd /usr/share/widelands
+./widelands $*
diff --git a/community/windowlab/PKGBUILD b/community/windowlab/PKGBUILD
new file mode 100644
index 000000000..f2bf963fc
--- /dev/null
+++ b/community/windowlab/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 69029 2012-04-08 11:16:33Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: phrakture <aaronmgriffin -at- gmail.dot.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=windowlab
+pkgver=1.40
+pkgrel=3
+pkgdesc="A small and simple window manager."
+arch=('i686' 'x86_64')
+url="http://www.nickgravgaard.com/windowlab"
+license=('GPL')
+depends=('xorg-server' 'libxft' 'libxext')
+source=("http://www.nickgravgaard.com/windowlab/${pkgname}-${pkgver}.tar")
+md5sums=('346f8c187838a446b4cbb2326d035577')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make PREFIX=/usr
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make PREFIX=/usr CONFPREFIX="" MANDIR=${pkgdir}/usr/share/man/man1 DESTDIR=${pkgdir} install
+}
diff --git a/community/winff/PKGBUILD b/community/winff/PKGBUILD
new file mode 100644
index 000000000..f342c14de
--- /dev/null
+++ b/community/winff/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 93143 2013-06-25 18:51:28Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: yugrotavele <yugrotavele at archlinux dot us>
+# Contributor: Paolo Stivanin <admin AT polslinux DOT it>
+
+pkgname=winff
+pkgver=1.5.0
+pkgrel=1
+pkgdesc='GUI for ffmpeg'
+url='http://code.google.com/p/winff/'
+license=('GPL3')
+arch=('x86_64' 'i686')
+depends=('ffmpeg' 'gtk2' 'xterm' 'hicolor-icon-theme')
+makedepends=('lazarus' 'lazarus-gtk2' 'gendesk')
+install="$pkgname.install"
+source=("http://winff.googlecode.com/files/winff-$pkgver-source.tar.gz")
+sha256sums=('e94e5a4c11038e9a30fc3f5ea9094f86415d02bd1f1a746808513bbd47ea5766')
+
+prepare() {
+ cd "$srcdir"
+
+ gendesk -n \
+ --pkgname "$pkgname" \
+ --pkgdesc "$pkgdesc" \
+ --genericname 'Video converter' \
+ --categories 'AudioVideo;AudioVideoEditing;GTK'
+}
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ lazbuild --lazarusdir=/usr/lib/lazarus winff.lpr --ws=gtk2
+}
+
+package() {
+ cd "$srcdir"
+
+ install -Dm755 "$srcdir/$pkgname/$pkgname" "$pkgdir/usr/bin/$pkgname"
+ install -dm755 "$pkgdir/usr/share/winff/"
+ find . -name "*.xml" \
+ -exec install -Dm644 {} "$pkgdir/usr/share/winff/" \; &> /dev/null
+ install -Dm644 "$srcdir/winff.desktop" \
+ "$pkgdir/usr/share/applications/winff.desktop"
+ install -Dm644 "$srcdir/$pkgname/winff-icons/48x48/winff.png" \
+ "$pkgdir/usr/share/pixmaps/winff.png"
+ for size in 16x16 24x24 32x32 48x48; do
+ install -Dm644 "$srcdir/$pkgname/winff-icons/$size/winff.png" \
+ "$pkgdir/usr/share/icons/hicolor/$size/apps/winff.png"
+ done
+ install -dm755 "$pkgdir/usr/share/winff/languages/"
+ find . -name "*.po" \
+ -exec install -Dm644 {} "$pkgdir/usr/share/winff/languages/" \; &> /dev/null
+ rm -f "$srcdir/$pkgname/presets.xml"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/winff/winff.install b/community/winff/winff.install
new file mode 100644
index 000000000..92e6750ef
--- /dev/null
+++ b/community/winff/winff.install
@@ -0,0 +1,14 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/wings3d/PKGBUILD b/community/wings3d/PKGBUILD
new file mode 100644
index 000000000..dd72f80de
--- /dev/null
+++ b/community/wings3d/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 87126 2013-03-27 16:37:11Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: kappa <kappacurve@gmail.com>
+
+pkgname=wings3d
+_pkgname=wings
+pkgver=1.4.1
+pkgrel=17
+pkgdesc='3D modeling program'
+arch=('x86_64' 'i686')
+url='http://www.wings3d.com/'
+license=('GPL')
+depends=('erlang-sdl' 'erlang-cl' 'bash' 'desktop-file-utils' 'erlang')
+makedepends=('gendesk')
+optdepends=('povray: rendering support via POV-Ray')
+install=$pkgname.install
+source=("$pkgname-$pkgver.tar.gz::https://github.com/dgud/wings/archive/master.tar.gz"
+ "$pkgname.sh"
+ "$pkgname.png::http://img299.imageshack.us/img299/2538/wingsiconblackshiningew5.png")
+sha256sums=('5fe17aa7bd26c031ca242f17b24eaa8f6fa9fe4c38b37a9669953c03e9e89b83'
+ '46513cd05f8b6e778120af4a87b239c5250799c17b591592893d98cbf082359e'
+ '6658977cc3bc8db2c9358edf3a2d6cb6bb8084c9a1d96ca573a83dd4e8781f1a')
+_genericname=('3D Modeler')
+_categories=('Graphics;3DGraphics')
+
+build() {
+ cd "$srcdir"
+ gendesk
+
+ cd "$_pkgname-master"
+ export ESDL_PATH=$(echo /usr/lib/erlang/lib/esdl-*)
+ make
+ make lang
+}
+
+package() {
+ cd "$srcdir/$_pkgname-master"
+
+ mkdir -p "$pkgdir/usr/lib/$pkgname"
+ for subdir in ebin fonts patches plugins shaders textures; do
+ cp -r "$srcdir/$_pkgname-master/$subdir/" "$pkgdir/usr/lib/$pkgname"
+ done
+
+ install -Dm644 license.terms "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ cd "$srcdir"
+ install -Dm755 "$pkgname.sh" "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 "$pkgname.png" "$pkgdir/usr/share/pixmaps/$pkgname.png"
+ install -Dm644 "$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/wings3d/wings3d.install b/community/wings3d/wings3d.install
new file mode 100644
index 000000000..98f3ea190
--- /dev/null
+++ b/community/wings3d/wings3d.install
@@ -0,0 +1,14 @@
+post_upgrade() {
+ #gtk-update-icon-cache -q -f -t /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/wings3d/wings3d.sh b/community/wings3d/wings3d.sh
new file mode 100644
index 000000000..c0fd3b2fb
--- /dev/null
+++ b/community/wings3d/wings3d.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+erl -noinput -smp disable -pa /usr/lib/erlang/lib/esdl-*/ebin /usr/lib/wings3d/ebin -run wings_start start_halt ${1+"$@"}
diff --git a/community/wkhtmltopdf/PKGBUILD b/community/wkhtmltopdf/PKGBUILD
new file mode 100644
index 000000000..14c05a4e8
--- /dev/null
+++ b/community/wkhtmltopdf/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 61101 2011-12-21 20:52:58Z andrea $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+
+pkgname=wkhtmltopdf
+pkgver=0.9.9
+pkgrel=2
+pkgdesc="Simple shell utility to convert html to pdf using the webkit rendering engine, and qt"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/wkhtmltopdf/"
+license=('GPL3')
+depends=('qtwebkit')
+optdepends=('xorg-server: wkhtmltopdf needs X or Xvfb to operate')
+source=(http://wkhtmltopdf.googlecode.com/files/$pkgname-$pkgver.tar.bz2)
+sha1sums=('41f598c0103326e7c13101391447b0284b4ba3cb')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ qmake wkhtmltopdf.pro
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make INSTALL_ROOT="$pkgdir/usr" install
+
+ # Generate and install man page
+ install -d "$pkgdir/usr/share/man/man1"
+ ./wkhtmltopdf --manpage >"$pkgdir/usr/share/man/man1/wkhtmltopdf.1"
+}
diff --git a/community/wmctrl/PKGBUILD b/community/wmctrl/PKGBUILD
new file mode 100644
index 000000000..92cb2c484
--- /dev/null
+++ b/community/wmctrl/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 59113 2011-11-21 10:53:55Z spupykin $
+# Maintainer:
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: Dalius <dagis@takas.lt>
+
+pkgname=wmctrl
+pkgver=1.07
+pkgrel=3
+pkgdesc="Control your EWMH compliant window manager from command line"
+url="http://sweb.cz/tripie/utils/wmctrl/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=(libxmu glib2)
+source=(http://sweb.cz/tripie/utils/wmctrl/dist/$pkgname-$pkgver.tar.gz
+ http://ftp.de.debian.org/debian/pool/main/w/wmctrl/wmctrl_$pkgver-6.diff.gz)
+md5sums=('1fe3c7a2caa6071e071ba34f587e1555'
+ '7ddf2aadc48f4300c16160b3c9a7e141')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 -i "$srcdir/wmctrl_$pkgver-6.diff"
+ ./configure --prefix=/usr --mandir=$pkgdir/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make prefix="$pkgdir/usr" install
+}
+
diff --git a/community/wmii/PKGBUILD b/community/wmii/PKGBUILD
new file mode 100644
index 000000000..84407f57c
--- /dev/null
+++ b/community/wmii/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 65389 2012-02-21 02:31:44Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jeffrey 'jf' Lim <jfs.world@gmail.com>
+
+pkgname=wmii
+pkgver=3.9.2
+pkgrel=3
+pkgdesc="A small, dynamic window manager for X11"
+arch=('i686' 'x86_64')
+license=('MIT')
+url="http://wmii.suckless.org/"
+depends=('libxft' 'libxrandr' 'libxinerama' 'dash')
+options=('!makeflags')
+source=(http://dl.suckless.org/${pkgname}/${pkgname}+ixp-${pkgver}.tbz
+ 'fix-freetype-include.patch')
+md5sums=('3d480502b7b1e2a405d941df67f16bcf'
+ '97febd4a1df80aa4afbd126de1f36496')
+
+build() {
+ cd ${srcdir}/${pkgname}+ixp-${pkgver}
+
+ patch -Np1 -i ${srcdir}/fix-freetype-include.patch
+
+ sed -i 's|PREFIX = /usr/local|PREFIX = /usr|' config.mk
+ sed -i 's|ETC = $(PREFIX)/etc|ETC = /etc|' config.mk
+ sed -i 's# !=#!=#' mk/hdr.mk
+ sed -i 's#env python#env python2#' alternative_wmiircs/python/wmiirc
+ echo 'LIBS+=-lXrender -lX11' >>config.mk
+
+ export MAKEFLAGS="-j1"
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}+ixp-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -Dm644 debian/file/wmii.desktop ${pkgdir}/usr/share/xsessions/${pkgname}.desktop
+ install -Dm644 LICENSE $pkgdir/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/wmii/fix-freetype-include.patch b/community/wmii/fix-freetype-include.patch
new file mode 100644
index 000000000..309d56d06
--- /dev/null
+++ b/community/wmii/fix-freetype-include.patch
@@ -0,0 +1,11 @@
+--- wmii+ixp-3.9.2/config.mk 2010-06-23 20:31:44.171778303 +0200
++++ wmii+ixp-3.9.2/config.mk~ 2010-06-23 20:28:03.285253275 +0200
+@@ -10,7 +10,7 @@
+ INCLUDE = $(PREFIX)/include
+
+ # Includes and libs
+-INCLUDES = -I. -I$(ROOT)/include -I$(INCLUDE) -I/usr/include
++INCLUDES = -I. -I$(ROOT)/include -I$(INCLUDE) -I/usr/include/ -I/usr/include/freetype2
+ LIBS = -L$(ROOT)/lib -L/usr/lib
+
+ TERMINAL = xterm
diff --git a/community/wmname/PKGBUILD b/community/wmname/PKGBUILD
new file mode 100644
index 000000000..599d35733
--- /dev/null
+++ b/community/wmname/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 70751 2012-05-16 10:53:27Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Vincent Kriek <vincent@vincentkriek.nl>
+
+pkgname=wmname
+pkgver=0.1
+pkgrel=2
+pkgdesc="An utility to set the name of your window manager"
+url="http://tools.suckless.org/wmname"
+license=('custom')
+depends=('libx11')
+arch=('i686' 'x86_64')
+source=("http://dl.suckless.org/tools/wmname-$pkgver.tar.gz")
+md5sums=('6903d299f84d335e529fbd2c1d6e49fe')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make PREFIX="${pkgdir}"/usr install
+ install -Dm0644 LICENSE "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/wol/PKGBUILD b/community/wol/PKGBUILD
new file mode 100644
index 000000000..1920390a7
--- /dev/null
+++ b/community/wol/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 58676 2011-11-17 14:54:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Anders Bergh <anders1@gmail.com>
+# Contributor: Markus Volkmann <mcfock@counterstrike.de>
+
+pkgname=wol
+pkgver=0.7.1
+pkgrel=5
+arch=('i686' 'x86_64')
+pkgdesc="Wake On LAN functionality in a small program. It wakes up hardware that is Magic Packet compliant"
+license=("GPL")
+depends=()
+url="http://ahh.sourceforge.net/wol/"
+install=wol.install
+source=(http://downloads.sourceforge.net/ahh/wol-$pkgver.tar.gz)
+md5sums=('c2fa9d7e771134ac8c89d56b8197d4ca')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ rm $pkgdir/usr/share/info/dir
+}
diff --git a/community/wol/wol.install b/community/wol/wol.install
new file mode 100644
index 000000000..500ea57c0
--- /dev/null
+++ b/community/wol/wol.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(wol.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/workrave/PKGBUILD b/community/workrave/PKGBUILD
new file mode 100644
index 000000000..256912743
--- /dev/null
+++ b/community/workrave/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 83401 2013-01-31 11:27:26Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: William Rea <sillywilly@gmail.com>
+
+pkgname=workrave
+pkgver=1.10
+pkgrel=2
+pkgdesc="a tool to help RSI"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://workrave.org"
+depends=('libxtst' 'gtkmm3' 'gconf' 'gdome2' 'gstreamer0.10' 'libsm' 'libice'
+ 'python2-cheetah' 'libxss' 'gobject-introspection')
+makedepends=('intltool')
+source=(http://downloads.sourceforge.net/workrave/workrave-$pkgver.tar.gz)
+md5sums=('5b76c2ef8e1dfede69c4e0d4bca9dcb9')
+
+build() {
+ cd $srcdir/workrave-$pkgver
+ export PYTHON=python2
+ ./configure --prefix=/usr --enable-dbus --sysconfdir=/etc --libexecdir=/usr/lib/workrave \
+ --disable-pulse
+ make
+}
+
+package() {
+ cd $srcdir/workrave-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/wput/PKGBUILD b/community/wput/PKGBUILD
new file mode 100644
index 000000000..dfcfdba7d
--- /dev/null
+++ b/community/wput/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 65393 2012-02-21 02:33:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: damir <damir@archlinux.org>
+# Contributor: Aurelien Gateau <aurelien.gateau@free.fr>
+
+pkgname=wput
+pkgver=0.6.2
+pkgrel=2
+pkgdesc="A command line tool to upload files to FTP site, the opposite to wget"
+arch=('i686' 'x86_64')
+url="http://wput.sourceforge.net/"
+depends=('gnutls>=2.4.1')
+license=('GPL')
+source=("http://downloads.sourceforge.net/sourceforge/wput/wput-${pkgver}.tgz")
+md5sums=('a14c4c13d91d04d6119bdc977e8a8bdf')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+# sed -i -e 's/gnutls.h,/gnutls.h/' configure
+ ./configure --prefix=/usr
+ make
+ install -m755 -d ${pkgdir}/usr/bin
+ install -m755 -d ${pkgdir}/usr/share/man/man1
+ make prefix=${pkgdir}/usr install
+ ln -sf wput $pkgdir/usr/bin/wdel
+}
diff --git a/community/wt/PKGBUILD b/community/wt/PKGBUILD
new file mode 100644
index 000000000..47c8e9153
--- /dev/null
+++ b/community/wt/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 93696 2013-07-08 13:32:56Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Denis Martinez <deuns.martinez@gmail.com>
+
+pkgname=wt
+pkgver=3.3.0
+_pkgver=3.3.0
+pkgrel=2
+pkgdesc="a C++ library and application server for developing and deploying web applications"
+arch=('i686' 'x86_64')
+url="http://www.webtoolkit.eu/"
+license=('GPL')
+depends=('boost-libs' 'libharu')
+makedepends=('boost' 'cmake>=2.8' 'postgresql-libs' 'zlib' 'fcgi' 'sqlite' 'graphicsmagick' 'pango' 'mysql++' 'qt4')
+optdepends=('openssl: for SSL support in built-in webserver'
+ 'zlib: for compression in HTTP protocol'
+ 'fcgi: for FastCGI support'
+ 'postgresql-libs: for PostgreSQL Dbo support'
+ 'sqlite: for Sqlite Dbo support'
+ 'graphicsmagick: for raster image support (WRasterImage)'
+ 'pango: for advanced font rendering (WRasterImage)'
+ 'mysql++: for the hangman example'
+ 'qt4: for the Wt/Qt interopability example (wtwithqt)')
+backup=('etc/wt/wt_config.xml')
+source=(http://downloads.sourceforge.net/witty/$pkgname-${_pkgver}.tar.gz)
+md5sums=('b2331942ad01c4fda376abf30c6a503a')
+
+build() {
+ cd ${srcdir}/${pkgname}-${_pkgver}
+
+ [[ -d build ]] && rm -r build
+ mkdir -p build && cd build
+ cmake \
+ -DCONNECTOR_HTTP=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWEBUSER=http \
+ -DWEBGROUP=http \
+ -DUSE_SYSTEM_SQLITE3=ON \
+ -DINSTALL_EXAMPLES=ON \
+ ..
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${_pkgver}/build
+ make DESTDIR=${pkgdir} install
+
+ mkdir -p ${pkgdir}/usr/share/cmake-2.8/Modules
+ mv ${pkgdir}/usr/cmake/FindWt.cmake ${pkgdir}/usr/share/cmake-2.8/Modules/
+ rm -r ${pkgdir}/usr/cmake
+ rm -rf $pkgdir/var/run
+}
diff --git a/community/wvdial/PKGBUILD b/community/wvdial/PKGBUILD
new file mode 100644
index 000000000..eedb8df9f
--- /dev/null
+++ b/community/wvdial/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 64685 2012-02-17 18:33:53Z bluewind $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=wvdial
+pkgver=1.61
+pkgrel=4
+pkgdesc="A dialer program to connect to the Internet"
+url="http://alumnit.ca/wiki/index.php?page=WvDial"
+arch=('i686' 'x86_64')
+license=('custom')
+depends=('wvstreams' 'ppp' 'gcc-libs')
+makedepends=('lockdev')
+options=('!makeflags' '!buildflags')
+source=("http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('acd3b2050c9b65fff2aecda6576ee7bc')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ ./configure
+ make LOCKDEV="-llockdev"
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make prefix="${pkgdir}"/usr PPPDIR="${pkgdir}"/etc/ppp/peers install
+
+ install -Dm644 COPYING.LIB "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community/wvstreams/PKGBUILD b/community/wvstreams/PKGBUILD
new file mode 100644
index 000000000..eb5b48e7f
--- /dev/null
+++ b/community/wvstreams/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 92257 2013-06-03 11:15:30Z allan $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=wvstreams
+pkgver=4.6.1
+pkgrel=6
+pkgdesc="A network programming library written in C++"
+arch=('i686' 'x86_64')
+url="http://alumnit.ca/wiki/?page=WvStreams"
+license=('LGPL')
+depends=('zlib' 'pam' 'xplc' 'openssl' 'readline')
+source=(http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz
+wvstreams-4.6.1-glibc212.patch wvstreams-4.6.1-gcc47.patch openssl-buildfix.patch)
+md5sums=('2760dac31a43d452a19a3147bfde571c'
+ '5f6e24864209055239cb4e7c9bbd4a41'
+ '217e5dedd7f1d50588a5a67d637fc8a1'
+ 'df423c68134a09439b3961c34635e0b4')
+options=('!makeflags')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+
+ patch -p0 -i "$srcdir/wvstreams-4.6.1-glibc212.patch"
+ patch -p0 -i "$srcdir/wvstreams-4.6.1-gcc47.patch"
+ patch -p1 -i "$srcdir/openssl-buildfix.patch"
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr \
+ --sbin=/usr/bin \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --without-dbus \
+ --with-pam \
+ --with-openssl \
+ --without-tcl \
+ --without-qt
+ make COPTS="$CFLAGS -fPIC" CXXOPTS="$CXXFLAGS -fPIC -fpermissive -fno-tree-dce -fno-optimize-sibling-calls" VERBOSE=1
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ # FS#15974
+ # --without-dbus still installs the pkg-config file
+ rm "${pkgdir}/usr/lib/pkgconfig/libwvdbus.pc"
+ # --without-qt still installs the pkg-config file
+ rm "${pkgdir}/usr/lib/pkgconfig/libwvqt.pc"
+}
diff --git a/community/wvstreams/openssl-buildfix.patch b/community/wvstreams/openssl-buildfix.patch
new file mode 100644
index 000000000..1b0445d9e
--- /dev/null
+++ b/community/wvstreams/openssl-buildfix.patch
@@ -0,0 +1,14 @@
+--- wvstreams-4.6.1/crypto/wvx509.cc 2008-10-23 22:23:49.000000000 +0200
++++ wvstreams-4.6.1-1/crypto/wvx509.cc 2010-01-27 11:09:06.000000000 +0100
+@@ -1157,7 +1157,11 @@
+
+ if (ext)
+ {
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ const X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
++#else
+ X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
++#endif
+ if (!method)
+ {
+ WvDynBuf buf; \ No newline at end of file
diff --git a/community/wvstreams/wvstreams-4.6.1-gcc47.patch b/community/wvstreams/wvstreams-4.6.1-gcc47.patch
new file mode 100644
index 000000000..b284da8f3
--- /dev/null
+++ b/community/wvstreams/wvstreams-4.6.1-gcc47.patch
@@ -0,0 +1,50 @@
+http://bugs.gentoo.org/419563
+http://bugs.gentoo.org/419971
+
+See -gcc47-patch and -magic.patch in Fedora git:
+
+http://pkgs.fedoraproject.org/gitweb/?p=libwvstreams.git;a=tree
+
+--- include/wvtask.h
++++ include/wvtask.h
+@@ -45,7 +45,8 @@
+ typedef void TaskFunc(void *userdata);
+
+ static int taskcount, numtasks, numrunning;
+- int magic_number, *stack_magic;
++ int volatile magic_number;
++ int *stack_magic;
+ WvString name;
+ int tid;
+
+@@ -84,7 +85,7 @@
+ static WvTaskMan *singleton;
+ static int links;
+
+- static int magic_number;
++ static int volatile magic_number;
+ static WvTaskList all_tasks, free_tasks;
+
+ static void get_stack(WvTask &task, size_t size);
+--- include/wvuid.h
++++ include/wvuid.h
+@@ -7,6 +7,7 @@
+ #ifndef __WVUID_H
+ #define __WVUID_H
+
++#include <unistd.h>
+ #include "wvstring.h"
+
+ #if WIN32
+--- utils/wvtask.cc
++++ utils/wvtask.cc
+@@ -58,7 +58,8 @@
+ int WvTask::taskcount, WvTask::numtasks, WvTask::numrunning;
+
+ WvTaskMan *WvTaskMan::singleton;
+-int WvTaskMan::links, WvTaskMan::magic_number;
++int WvTaskMan::links;
++int volatile WvTaskMan::magic_number;
+ WvTaskList WvTaskMan::all_tasks, WvTaskMan::free_tasks;
+ ucontext_t WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return,
+ WvTaskMan::toplevel;
diff --git a/community/wvstreams/wvstreams-4.6.1-glibc212.patch b/community/wvstreams/wvstreams-4.6.1-glibc212.patch
new file mode 100644
index 000000000..eb3e9b631
--- /dev/null
+++ b/community/wvstreams/wvstreams-4.6.1-glibc212.patch
@@ -0,0 +1,24 @@
+http://bugs.gentoo.org/333301
+https://bugs.archlinux.org/task/27188
+
+--- ipstreams/wvunixdgsocket.cc
++++ ipstreams/wvunixdgsocket.cc
+@@ -1,5 +1,5 @@
+ #include "wvunixdgsocket.h"
+-#ifdef MACOS
++#if defined(MACOS) || defined(__GNUC__)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #endif
+--- streams/wvatomicfile.cc
++++ streams/wvatomicfile.cc
+@@ -11,7 +11,8 @@
+ #include "wvfileutils.h"
+ #include "wvstrutils.h"
+
+-#ifdef MACOS
++#if defined(MACOS) || defined(__GNUC__)
++#include <sys/types.h>
+ #include <sys/stat.h>
+ #endif
+
diff --git a/community/wxcam/PKGBUILD b/community/wxcam/PKGBUILD
new file mode 100644
index 000000000..4364dd27a
--- /dev/null
+++ b/community/wxcam/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+pkgname=wxcam
+pkgver=1.1
+pkgrel=1
+arch=('i686' 'x86_64')
+license=(GPL)
+pkgdesc="Webcam application for linux"
+# version of CImg library needed to compile wxcam -
+# http://cimg.sourceforge.net/
+_CImg_ver=1.4.9
+url="http://wxcam.sourceforge.net"
+makedepends=('intltool>=0.35.0')
+depends=('libglade' 'mjpegtools' 'perlxml' 'wxgtk' 'xvidcore' 'v4l-utils' 'alsa-lib')
+source=(http://downloads.sourceforge.net/wxcam/${pkgname}-${pkgver}.tar.bz2
+ http://downloads.sourceforge.net/cimg/CImg-${_CImg_ver}.zip)
+md5sums=('c9ea8991b6375c1709a7ce4e61fcc263'
+ 'a07cba03f6d66a9970e0b3fcc230bddc')
+
+build() {
+ cp $srcdir/CImg-${_CImg_ver}/CImg.h $srcdir/$pkgname-$pkgver
+
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ mv $pkgdir/usr/doc $pkgdir/usr/share/
+}
diff --git a/community/wxgtk2.9/PKGBUILD b/community/wxgtk2.9/PKGBUILD
new file mode 100644
index 000000000..83fa6b2a9
--- /dev/null
+++ b/community/wxgtk2.9/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 93329 2013-07-02 01:23:14Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=wxgtk2.9
+pkgver=2.9.4
+pkgrel=4
+pkgdesc="GTK+ implementation of wxWidgets API for GUI"
+arch=('i686' 'x86_64')
+url="http://wxwidgets.org"
+license=('custom:wxWindows')
+depends=('gtk2' 'gstreamer0.10-base')
+makedepends=('gstreamer0.10-base-plugins' 'gconf' 'webkitgtk2')
+optdepends=('webkitgtk2: for webview support')
+source=(http://downloads.sourceforge.net/wxwindows/wxWidgets-${pkgver}.tar.bz2 wxGTK-2.9.4-collision.patch)
+sha1sums=('5a34ddf19d37c741f74652ee847df9568a8b81e1'
+ 'a76ccca4c2fad246c9aafbcc5a9697ebf35f33a3')
+
+prepare() {
+ cd wxWidgets-${pkgver}
+ patch -p1 -i ../wxGTK-2.9.4-collision.patch
+}
+
+build() {
+ cd wxWidgets-${pkgver}
+ ./configure --prefix=/usr --libdir=/usr/lib --with-gtk=2 --with-opengl --enable-unicode \
+ --enable-graphics_ctx --enable-mediactrl --enable-webview --with-regex=builtin \
+ --with-libpng=sys --with-libxpm=sys --with-libjpeg=sys --with-libtiff=sys \
+ --disable-precomp-headers
+ make
+ make -C locale allmo
+}
+
+package() {
+ cd wxWidgets-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ rm "${pkgdir}/usr/share/locale/it/LC_MESSAGES/wxmsw.mo"
+ install -D -m644 docs/licence.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/community/wxgtk2.9/wxGTK-2.9.4-collision.patch b/community/wxgtk2.9/wxGTK-2.9.4-collision.patch
new file mode 100644
index 000000000..4b1fb395e
--- /dev/null
+++ b/community/wxgtk2.9/wxGTK-2.9.4-collision.patch
@@ -0,0 +1,77 @@
+Prevent file collisions between multiple installed SLOTs.
+
+ - Don't install wxwin.m4. It is installed with app-admin/eselect-wxwidgets.
+ - Version the bakefile preset filenames. Unversioned symlinks to these files
+ are handled by eselect.
+ - Version wx-config and wxrc. The unversioned forms are wrapper scripts
+ installed with eselect-wxwidgets.
+ - Version wxstd.mo and modify AddStdCatalog to use it.
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -14076,10 +14076,10 @@ COND_wxUSE_REGEX_builtin___LIB_REGEX_p = \
+ all: $(__wxregex___depname) $(__wxzlib___depname) $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(__wxexpat___depname) $(__wxscintilla___depname) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__webviewdll___depname) $(__webviewlib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__ribbondll___depname) $(__ribbonlib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) $(__sound_sdl___depname) $(__wxrc___depname) $(__cocoa_res___depname)
+
+ install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install $(__cocoa_res_install___depname)
+- $(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
+- (cd $(srcdir) ; $(INSTALL_DATA) wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
+ $(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
+- (cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA) wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
++ (cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
++ for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
++ $(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
+ $(DYLIB_RPATH_INSTALL)
+ $(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
+ for f in setup.h $(RCDEFS_H); do \
+@@ -14964,15 +14964,16 @@ install-wxconfig:
+ $(INSTALL_DIR) $(DESTDIR)$(bindir)
+ $(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
+ $(INSTALL_PROGRAM) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
+- (cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
+-
++ (cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) \
++ && $(LN_S) ../lib/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
+ locale_install:
+ $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
+ for l in $(LOCALE_LINGUAS) ; do \
+ $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
+ $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
+ if test -f $(srcdir)/locale/$$l.mo ; then \
+- $(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
++ $(INSTALL_DATA) $(srcdir)/locale/$$l.mo \
++ $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
+ fi ; \
+ done
+
+--- a/build/bakefiles/wx.bkl
++++ b/build/bakefiles/wx.bkl
+@@ -138,7 +138,7 @@
+ <using module="gettext"/>
+ <gettext-catalogs id="locale">
+ <srcdir>$(SRCDIR)/locale</srcdir>
+- <catalog-name>wxstd</catalog-name>
++ <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
+ <linguas>
+ ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
+ zh zh_CN zh_TW
+--- a/src/common/translation.cpp
++++ b/src/common/translation.cpp
+@@ -1302,7 +1302,7 @@ wxArrayString wxTranslations::GetAvailableTranslations(const wxString& domain) c
+
+ bool wxTranslations::AddStdCatalog()
+ {
+- if ( !AddCatalog(wxS("wxstd")) )
++ if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
+ return false;
+
+ // there may be a catalog with toolkit specific overrides, it is not
+--- a/utils/wxrc/Makefile.in
++++ b/utils/wxrc/Makefile.in
+@@ -124,7 +124,6 @@ distclean: clean
+ @COND_USE_XRC_1@ rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
+ @COND_USE_XRC_1@ $(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
+ @COND_USE_XRC_1@ mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
+-@COND_USE_XRC_1@ (cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
+
+ @COND_USE_XRC_1@uninstall_wxrc:
+ @COND_USE_XRC_1@ rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/community/wyrd/PKGBUILD b/community/wyrd/PKGBUILD
new file mode 100644
index 000000000..b5944718a
--- /dev/null
+++ b/community/wyrd/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: Daniel J Griffiths <griffithsdj@archlinux.us>
+
+pkgname=wyrd
+pkgver=1.4.6
+pkgrel=1
+pkgdesc='A text-based front-end to Remind.'
+arch=('i686' 'x86_64')
+url='http://pessimization.com/software/wyrd/'
+license=('GPL')
+depends=('remind' 'ncurses')
+makedepends=('ocaml')
+source=("http://pessimization.com/software/wyrd/${pkgname}-${pkgver}.tar.gz")
+md5sums=('2fc561482fdac4daac0cb6735d934ebe')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-utf8
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/xalan-c/1.11.0_pre797991-as-needed.patch b/community/xalan-c/1.11.0_pre797991-as-needed.patch
new file mode 100644
index 000000000..e8a9cc9d0
--- /dev/null
+++ b/community/xalan-c/1.11.0_pre797991-as-needed.patch
@@ -0,0 +1,108 @@
+diff -Naur xml-xalan.orig/c/src/xalanc/Makefile.in xml-xalan/c/src/xalanc/Makefile.in
+--- xml-xalan.orig/c/src/xalanc/Makefile.in 2009-07-27 00:23:08.411122528 +0200
++++ xml-xalan/c/src/xalanc/Makefile.in 2009-07-27 00:45:09.514777553 +0200
+@@ -174,7 +174,7 @@
+
+ "//'$(LOADSAMP)(${BATCH_XALAN_UTIL_NAME})'": ${XSL_OBJ_DIR}/XalanExe.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -182,7 +182,7 @@
+
+ "//'$(LOADSAMP)(${BATCH_TEST_UTIL_NAME})'": ${XSL_OBJ_DIR}/process.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -192,7 +192,7 @@
+
+ $(XSL_BIN_DIR)/Xalan: ${XSL_OBJ_DIR}/XalanExe.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+ endif
+@@ -201,7 +201,7 @@
+
+ $(XSL_BIN_DIR)/testXSLT: ${XSL_OBJ_DIR}/process.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -209,7 +209,7 @@
+
+ $(XSL_BIN_DIR)/testXPath: ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/%.o:$(TESTXPATH_DIR)/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -222,7 +222,7 @@
+
+ ${BATCH_TARGET}: $(ALL_OBJECTS)
+ @echo Building ${BATCH_TARGET}
+- $(MAKE_SHARED) $(ALLLIBS) $^ -o $@
++ $(MAKE_SHARED) $^ -o $@ $(ALLLIBS)
+
+ else
+
+@@ -232,7 +232,7 @@
+ $(MAKE) -C Utils $@
+
+ $(XSL_LIB_DIR)/$(LIB): $(ALL_OBJECTS)
+- $(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(LINK_SONAME) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_LIB_PARAMETERS)
++ $(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(LINK_SONAME) $^ -o $@ $(OTHER_LINK_LIB_PARAMETERS) $(ALLLIBS)
+ ifeq ($(PLATFORM), OS390)
+ mv *.x ${XSL_LIB_DIR}
+ else
+diff -Naur xml-xalan.orig/c/src/xalanc/Utils/MsgCreator/Makefile.in xml-xalan/c/src/xalanc/Utils/MsgCreator/Makefile.in
+--- xml-xalan.orig/c/src/xalanc/Utils/MsgCreator/Makefile.in 2009-07-27 00:23:08.431122558 +0200
++++ xml-xalan/c/src/xalanc/Utils/MsgCreator/Makefile.in 2009-07-27 00:43:47.674693543 +0200
+@@ -29,7 +29,7 @@
+
+ $(XSL_BIN_DIR)/MsgCreator : $(MSG_CREATOR_OBJECTS)
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
+- ${EXTRA_LINK_OPTIONS} $(LIBS) $(XERCES_LIB) $^ -o $@ $(LOC_OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(LIBS) $(XERCES_LIB) $(LOC_OTHER_LINK_PARAMETERS)
+
+ $(XSL_OBJ_DIR)/%.o : $(MSG_CREATOR_SRC)/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+diff -Naur xml-xalan.orig/c/Tests/Makefile.in xml-xalan/c/Tests/Makefile.in
+--- xml-xalan.orig/c/Tests/Makefile.in 2009-07-27 00:23:08.514445103 +0200
++++ xml-xalan/c/Tests/Makefile.in 2009-07-27 00:45:50.541094978 +0200
+@@ -62,7 +62,7 @@
+
+ $(XSL_BIN_DIR)/ThreadTest: ${XSL_OBJ_DIR}/ThreadTest.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Threads/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -70,7 +70,7 @@
+
+ $(XSL_BIN_DIR)/Conf: ${XSL_OBJ_DIR}/conf.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Conf/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -92,7 +92,7 @@
+
+ $(XSL_BIN_DIR)/Perf: $(PERF_OBJECTS)
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+
+ ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Performance/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
diff --git a/community/xalan-c/1.11.0_pre797991-bugfixes.patch b/community/xalan-c/1.11.0_pre797991-bugfixes.patch
new file mode 100644
index 000000000..d86f1bd45
--- /dev/null
+++ b/community/xalan-c/1.11.0_pre797991-bugfixes.patch
@@ -0,0 +1,50 @@
+diff -Naur xml-xalan.orig/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp xml-xalan/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp
+--- xml-xalan.orig/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp 2009-07-27 00:23:08.507787691 +0200
++++ xml-xalan/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp 2009-07-27 00:53:50.781756249 +0200
+@@ -28,7 +28,7 @@
+ #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
+
+ #include <cstring>
+-
++#include <cstdio>
+ #include <cerrno>
+
+ XALAN_CPP_NAMESPACE_BEGIN
+@@ -44,7 +44,7 @@
+
+ XalanNLSMessageLoader::~XalanNLSMessageLoader()
+ {
+- if ((int)m_catalogHandle != -1)
++ if ((long)m_catalogHandle != -1)
+ {
+ catclose(m_catalogHandle);
+ }
+@@ -77,7 +77,7 @@
+ */
+ m_catalogHandle = catopen(fileName, 0);
+
+- if (reinterpret_cast<int>(m_catalogHandle) == -1)
++ if (reinterpret_cast<long>(m_catalogHandle) == -1)
+ {
+ // Probably have to call panic here
+ // the user will get an error with retrieving messages
+@@ -87,8 +87,8 @@
+
+ bool
+ XalanNLSMessageLoader::loadMsg(
+- XalanMessages::Codes msgToLoad
+- XalanDOMChar* toFill
++ XalanMessages::Codes msgToLoad,
++ XalanDOMChar* toFill,
+ XalanSize_t maxChars)
+ {
+
+@@ -99,7 +99,7 @@
+ return bRetValue;
+ }
+
+- if (static_cast<int>(m_catalogHandle) == -1)
++ if (reinterpret_cast<long>(m_catalogHandle) == -1)
+ {
+ // for transcoding to Unicode
+ const XalanDOMString errorMsg("Message can't be retrieved: the message catalog is not open.", m_memoryManager );
diff --git a/community/xalan-c/1.11.0_pre797991-parallel-build.patch b/community/xalan-c/1.11.0_pre797991-parallel-build.patch
new file mode 100644
index 000000000..46d9659b0
--- /dev/null
+++ b/community/xalan-c/1.11.0_pre797991-parallel-build.patch
@@ -0,0 +1,62 @@
+diff -urN xml-xalan.orig//c/src/xalanc/Makefile.in xml-xalan/c/src/xalanc/Makefile.in
+--- xml-xalan.orig//c/src/xalanc/Makefile.in 2010-02-23 10:51:30.058353490 +0100
++++ xml-xalan/c/src/xalanc/Makefile.in 2010-02-23 10:52:53.251679288 +0100
+@@ -84,6 +84,10 @@
+ SAMPLES_DIR = ${XALANCROOT}/samples
+ TESTS_DIR = ${XALANCROOT}/Tests
+
++TESTXSLT_OBJS = ${XSL_OBJ_DIR}/process.o
++XALANEXE_OBJS = ${XSL_OBJ_DIR}/XalanExe.o
++TESTXPATH_OBJS = ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
++
+ ALL_VPATH_CPP = \
+ $(XALANDOM_DIR):$(PLATFORMSUPPORT_DIR):$(DOMSUPPORT_DIR):$(XMLSUPPORT_DIR): \
+ $(XPATH_DIR):$(XERCESPARSERLIAISON_DIR):$(DEPRECATED_XERCESPARSERLIAISON_DIR):$(XALANSOURCETREE_DIR):$(XPATHCAPI_DIR): \
+@@ -169,6 +173,9 @@
+
+ compile: $(ALL_OBJECTS)
+
++$(ALL_OBJECTS) $(TESTXSLT_OBJS) $(XALANEXE_OBJS) $(TESTXPATH_OBJS): locale
++locale: prepare
++
+ ifeq (${OS390BATCH},1)
+ XalanExe: lib "//'$(LOADSAMP)(${BATCH_XALAN_UTIL_NAME})'"
+
+@@ -188,28 +195,28 @@
+
+ else # Not OS390BATCH
+
+-XalanExe: lib $(XSL_BIN_DIR)/Xalan
++XalanExe: $(XSL_BIN_DIR)/Xalan
+
+-$(XSL_BIN_DIR)/Xalan: ${XSL_OBJ_DIR}/XalanExe.o
++$(XSL_BIN_DIR)/Xalan: lib ${XALANEXE_OBJS}
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
++ ${EXTRA_LINK_OPTIONS} ${XALANEXE_OBJS} -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+ endif
+
+-testXSLT: lib $(XSL_BIN_DIR)/testXSLT
++testXSLT: $(XSL_BIN_DIR)/testXSLT
+
+-$(XSL_BIN_DIR)/testXSLT: ${XSL_OBJ_DIR}/process.o
++$(XSL_BIN_DIR)/testXSLT: lib ${TESTXSLT_OBJS}
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
++ ${EXTRA_LINK_OPTIONS} ${TESTXSLT_OBJS} -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+-testXPath: lib $(XSL_BIN_DIR)/testXPath
++testXPath: $(XSL_BIN_DIR)/testXPath
+
+-$(XSL_BIN_DIR)/testXPath: ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
++$(XSL_BIN_DIR)/testXPath: lib ${TESTXPATH_OBJS}
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) ${TESTXPATH_OBJS} -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/%.o:$(TESTXPATH_DIR)/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
diff --git a/community/xalan-c/PKGBUILD b/community/xalan-c/PKGBUILD
new file mode 100644
index 000000000..c73848fca
--- /dev/null
+++ b/community/xalan-c/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 54514 2011-08-19 14:55:46Z ibiru $
+# Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=xalan-c
+pkgver=1.11_pre1153059
+pkgrel=1
+pkgdesc="A XSLT processor for transforming XML documents"
+arch=('i686' 'x86_64')
+url="http://xml.apache.org/xalan-c"
+license=('APACHE')
+depends=('xerces-c')
+source=(http://mirrors.kernel.org/gentoo/distfiles/Xalan-C_r1153059-src.tar.gz
+ 1.11.0_pre797991-as-needed.patch
+ 1.11.0_pre797991-bugfixes.patch
+ 1.11.0_pre797991-parallel-build.patch)
+md5sums=('98ea8584ccdbb9044757dda725f780bf'
+ '7040fb617e26fbdadc423948d3a23558'
+ 'fe7af1f3a9e02ad813481f0e1a84f16c'
+ '633b4ab702cb0ea0cf1010cadef7ac4c')
+
+build() {
+ export XALANCROOT=${srcdir}/xml-xalan/c
+
+ cd ${srcdir}/xml-xalan/c
+ patch -Np2 -i ${srcdir}/1.11.0_pre797991-as-needed.patch
+ patch -Np2 -i ${srcdir}/1.11.0_pre797991-bugfixes.patch
+ patch -Np2 -i ${srcdir}/1.11.0_pre797991-parallel-build.patch
+
+ ./runConfigure -p linux -c gcc -x g++ -P/usr
+ #./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/xml-xalan/c
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/xapian-core/PKGBUILD b/community/xapian-core/PKGBUILD
new file mode 100644
index 000000000..916d199b8
--- /dev/null
+++ b/community/xapian-core/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 89923 2013-05-05 14:51:22Z spupykin $
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=xapian-core
+pkgver=1.2.15
+pkgrel=1
+pkgdesc='Open source search engine library.'
+arch=('i686' 'x86_64')
+url='http://www.xapian.org/'
+license=('GPL')
+depends=('sh' 'gcc-libs' 'zlib' 'util-linux')
+# xapian config requires libxapian.la
+options=('libtool')
+source=("http://oligarchy.co.uk/xapian/${pkgver}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('3af45069c6a14a7ecad2da24cbc3d2c5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/xautolock/PKGBUILD b/community/xautolock/PKGBUILD
new file mode 100644
index 000000000..9ab05243c
--- /dev/null
+++ b/community/xautolock/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 64681 2012-02-17 18:30:55Z bluewind $
+# Maintainer: Florian Pritz <f-p@gmx.at>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Committer: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=xautolock
+pkgver=2.2
+pkgrel=3
+pkgdesc="An automatic X screen-locker/screen-saver"
+arch=(i686 x86_64)
+url="ftp://ibiblio.org/pub/Linux/X11/screensavers/"
+license=('GPL2')
+depends=('libxss')
+makedepends=('imake')
+source=("ftp://ibiblio.org/pub/Linux/X11/screensavers/$pkgname-$pkgver.tgz")
+md5sums=('9526347a202694ad235d731d9d3de91f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ xmkmf
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" install.man
+}
diff --git a/community/xautomation/PKGBUILD b/community/xautomation/PKGBUILD
new file mode 100644
index 000000000..57287a14e
--- /dev/null
+++ b/community/xautomation/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 90110 2013-05-06 19:40:11Z foutrelis $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: raubkopierer <mail[dot]sensenmann[at]gmail[dot]com>
+
+pkgname=xautomation
+pkgver=1.05
+pkgrel=3
+pkgdesc='Controls X from the command line and does "visual scraping".'
+url='http://hoopajoo.net/projects/xautomation.html'
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libpng' 'libxtst')
+source=("http://hoopajoo.net/static/projects/${pkgname}-${pkgver}.tar.gz"
+ 'xautomation-1.05-fix-libs.patch')
+md5sums=('4526ea5085a680a3ae8629af1731e5fa'
+ 'a8d8b12ed180ce9693f706d0f75d97fe')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i ../xautomation-1.05-fix-libs.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/xautomation/xautomation-1.05-fix-libs.patch b/community/xautomation/xautomation-1.05-fix-libs.patch
new file mode 100644
index 000000000..ee3f9247a
--- /dev/null
+++ b/community/xautomation/xautomation-1.05-fix-libs.patch
@@ -0,0 +1,24 @@
+diff -rup xautomation-1.05.orig/Makefile.am xautomation-1.05/Makefile.am
+--- xautomation-1.05.orig/Makefile.am 2009-04-14 18:06:23.000000000 +0200
++++ xautomation-1.05/Makefile.am 2012-01-27 02:06:44.016492587 +0100
+@@ -1,7 +1,7 @@
+ bin_PROGRAMS = xte rgb2pat png2pat visgrep pat2ppm patextract xmousepos
+ man_MANS = pat2ppm.1 patextract.1 png2pat.1 rgb2pat.1 visgrep.1 xautomation.7 xmousepos.1 xte.1
+ xte_SOURCES = xte.c debug.c kbd.h keysym_map.h multikey_map.h
+-xte_LDADD = $(X_LIBS) $(X_EXTRALIBS) -lXtst
++xte_LDADD = $(X_LIBS) $(X_EXTRALIBS) -lXtst -lX11
+ rgb2pat_SOURCES = rgb2pat.c image.c image.h debug.c debug.h
+ rgb2pat_LDADD = -lpng
+ png2pat_SOURCES = png2pat.c image.c image.h debug.c debug.h
+diff -rup xautomation-1.05.orig/Makefile.in xautomation-1.05/Makefile.in
+--- xautomation-1.05.orig/Makefile.in 2011-09-07 00:48:19.000000000 +0200
++++ xautomation-1.05/Makefile.in 2012-01-27 02:14:02.010831581 +0100
+@@ -220,7 +220,7 @@ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ man_MANS = pat2ppm.1 patextract.1 png2pat.1 rgb2pat.1 visgrep.1 xautomation.7 xmousepos.1 xte.1
+ xte_SOURCES = xte.c debug.c kbd.h keysym_map.h multikey_map.h
+-xte_LDADD = $(X_LIBS) $(X_EXTRALIBS) -lXtst
++xte_LDADD = $(X_LIBS) $(X_EXTRALIBS) -lXtst -lX11
+ rgb2pat_SOURCES = rgb2pat.c image.c image.h debug.c debug.h
+ rgb2pat_LDADD = -lpng
+ png2pat_SOURCES = png2pat.c image.c image.h debug.c debug.h
diff --git a/community/xbindkeys/PKGBUILD b/community/xbindkeys/PKGBUILD
new file mode 100644
index 000000000..73adc63b4
--- /dev/null
+++ b/community/xbindkeys/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 92556 2013-06-08 11:18:52Z bpiotrowski $
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+
+pkgname=xbindkeys
+pkgver=1.8.5
+pkgrel=4
+pkgdesc="Launch shell commands with your keyboard or your mouse under X"
+arch=('i686' 'x86_64')
+url="http://www.nongnu.org/xbindkeys/xbindkeys.html"
+license=('GPL')
+depends=('libx11' 'guile')
+optdepends=('tk: xbindkeys_show')
+source=(http://www.nongnu.org/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('4b66a05594dbc6888c0a6439351aa66d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/xbmc-pvr-addons/PKGBUILD b/community/xbmc-pvr-addons/PKGBUILD
new file mode 100644
index 000000000..0e867b56c
--- /dev/null
+++ b/community/xbmc-pvr-addons/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 86252 2013-03-14 11:10:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xbmc-pvr-addons
+pkgver=12.0_Frodo
+pkgrel=1
+pkgdesc="XBMC PVR add-ons for current stable xbmc"
+arch=('i686' 'x86_64')
+url="https://github.com/opdenkamp/xbmc-pvr-addons"
+license=('GPL3')
+depends=('xbmc' 'libmysqlclient')
+makedepends=('git' 'libmysqlclient' 'boost')
+optdepends=('tvheadend-git: tvheadend backend' 'mythtv: mythtv backend')
+conflicts=('xbmc-pvr-addons-git')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/opdenkamp/xbmc-pvr-addons/archive/${pkgver/_/-}.tar.gz")
+md5sums=('4411848a648597037daf97562dd0fcd2')
+
+build() {
+ cd "$srcdir/$pkgname-${pkgver/_/-}"
+ ./bootstrap
+ ./configure --prefix=/usr --enable-addons-with-dependencies
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-${pkgver/_/-}"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/xboard/PKGBUILD b/community/xboard/PKGBUILD
new file mode 100644
index 000000000..b2ca19414
--- /dev/null
+++ b/community/xboard/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 90592 2013-05-13 10:00:14Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jason Chu <jason@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=xboard
+pkgver=4.7.1
+pkgrel=1
+pkgdesc="Graphical user interfaces for chess"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/xboard/"
+license=('GPL3')
+depends=('gnuchess' 'texinfo' 'xdg-utils'
+ 'xorg-fonts-75dpi' 'xorg-fonts-100dpi'
+ 'gtk2' 'cairo' 'librsvg')
+makedepends=('gendesk')
+optdepends=('perl')
+install=${pkgname}.install
+source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('e42383c4594c24ebf2f9fdc5dc89e255')
+
+build() {
+ cd "${srcdir}"
+ gendesk
+
+ cd "${pkgname}-${pkgver}"
+ sed -i 's/fairymax/gnuchess/g' {xaw,gtk}/xboard.h xboard.conf.in
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --sysconfdir=/etc \
+ --with-gtk
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 ${srcdir}/${pkgname}.desktop \
+ ${pkgdir}/usr/share/applications/${pkgname}.desktop
+ install -Dm644 ${srcdir}/${pkgname}.png \
+ ${pkgdir}/usr/share/pixmaps/${pkgname}.png
+ install -Dm755 ${srcdir}/${pkgname}-${pkgver}/cmail \
+ ${pkgdir}/usr/bin/cmail
+}
diff --git a/community/xboard/xboard.desktop b/community/xboard/xboard.desktop
new file mode 100644
index 000000000..4bdfdbe15
--- /dev/null
+++ b/community/xboard/xboard.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Xboard
+Comment=A graphical user interfaces for chess
+Exec=xboard
+Icon=xboard.png
+Terminal=false
+StartupNotify=false
+Categories=Application;
diff --git a/community/xboard/xboard.install b/community/xboard/xboard.install
new file mode 100644
index 000000000..2f8c493c9
--- /dev/null
+++ b/community/xboard/xboard.install
@@ -0,0 +1,15 @@
+post_install() {
+ install-info usr/share/info/xboard.info.gz usr/share/info/dir 2>/dev/null
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
+ true
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ install-info --delete usr/share/info/xboard.info.gz usr/share/info/dir 2>/dev/null
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
+ true
+}
diff --git a/community/xcircuit/PKGBUILD b/community/xcircuit/PKGBUILD
new file mode 100644
index 000000000..683a6c7ca
--- /dev/null
+++ b/community/xcircuit/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 88341 2013-04-16 13:32:48Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Giovanni Scafora <linuxmania@gmail.com>
+# Contributor: simo <simo@archlinux.org>
+
+pkgname=xcircuit
+pkgver=3.7.48
+pkgrel=1
+pkgdesc="A program for drawing publishable-quality electrical circuit schematic diagrams"
+arch=('i686' 'x86_64')
+url="http://opencircuitdesign.com/xcircuit"
+license=('GPL2')
+depends=('tk' 'libxpm' 'zlib')
+makedepends=('chrpath')
+source=(http://opencircuitdesign.com/xcircuit/archive/$pkgname-$pkgver.tgz)
+md5sums=('efe537f908b12d30ef1aeebf77222fbf')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --with-tcl=/usr/lib --with-tk=/usr/lib --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ mkdir -p $pkgdir/usr/share/man/man1
+ mv $pkgdir/usr/lib/xcircuit-3.7/man/* $pkgdir/usr/share/man/man1/
+ rm -rf $pkgdir/usr/lib/xcircuit-3.7/man/
+ chrpath -d $pkgdir/usr/lib/xcircuit-3.7/xcircexec
+}
diff --git a/community/xdebug/PKGBUILD b/community/xdebug/PKGBUILD
new file mode 100644
index 000000000..b6b2cc3e9
--- /dev/null
+++ b/community/xdebug/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 92281 2013-06-03 13:37:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jonathan Wiersma <arch aur at jonw dot org>
+# Contributor: Jonathan Wiersma <arch aur at jonw dot org>
+# Contributor: sracker <smb.sac@gmail.com>
+
+pkgname=xdebug
+pkgver=2.2.3
+pkgrel=1
+pkgdesc="PHP debugging extension"
+arch=('i686' 'x86_64')
+url="http://www.xdebug.org"
+license=('GPL')
+depends=('php')
+install="${pkgname}.install"
+backup=('etc/php/conf.d/xdebug.ini')
+source=(http://www.xdebug.org/files/$pkgname-$pkgver.tgz
+ xdebug-5.2.ini
+ xdebug.ini)
+md5sums=('e49cec9861b45dc0b36eae33bf8a14fa'
+ '6b7fdbbe0bf381bda40e77e29981f439'
+ '68de800943369d4c76bdf7eb35c8463b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ phpize
+ ./configure --prefix=/usr --enable-xdebug
+ make
+
+ cd debugclient
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ local PHPVER=`php -r 'echo phpversion();'`
+
+ cd $srcdir/$pkgname-$pkgver/debugclient
+ make DESTDIR=$pkgdir install
+
+ cd $srcdir/$pkgname-$pkgver
+ if [ "$PHPVER" \< "5.3.0" ] ; then
+ install -D -m 744 modules/xdebug.so $pkgdir/usr/lib/php/modules/xdebug.so
+ install -D -m 644 $srcdir/xdebug-5.2.ini $pkgdir/etc/php/conf.d/xdebug.ini
+ else
+ install -D -m 744 modules/xdebug.so $pkgdir/usr/lib/php/modules/xdebug.so
+ install -D -m 644 $srcdir/xdebug.ini $pkgdir/etc/php/conf.d/xdebug.ini
+ fi
+}
diff --git a/community/xdebug/xdebug-5.2.ini b/community/xdebug/xdebug-5.2.ini
new file mode 100644
index 000000000..9beb7fc30
--- /dev/null
+++ b/community/xdebug/xdebug-5.2.ini
@@ -0,0 +1,5 @@
+zend_extension=/usr/lib/php/xdebug.so
+;xdebug.remote_enable=on
+;xdebug.remote_host=127.0.0.1
+;xdebug.remote_port=9000
+;xdebug.remote_handler=dbgp
diff --git a/community/xdebug/xdebug.ini b/community/xdebug/xdebug.ini
new file mode 100644
index 000000000..c6c9222ea
--- /dev/null
+++ b/community/xdebug/xdebug.ini
@@ -0,0 +1,5 @@
+zend_extension=/usr/lib/php/modules/xdebug.so
+;xdebug.remote_enable=on
+;xdebug.remote_host=127.0.0.1
+;xdebug.remote_port=9000
+;xdebug.remote_handler=dbgp
diff --git a/community/xdebug/xdebug.install b/community/xdebug/xdebug.install
new file mode 100644
index 000000000..a7ec0b9cc
--- /dev/null
+++ b/community/xdebug/xdebug.install
@@ -0,0 +1,18 @@
+post_install() {
+ local _configfile=/etc/php/conf.d/xdebug.ini
+ echo " ==> You may wish to uncomment/change the settings found in "
+ echo " $_configfile"
+ echo ""
+}
+
+post_upgrade() {
+ local _configfile=/etc/php/conf.d/xdebug.ini
+ local PHPVER=$(php -r 'echo phpversion();')
+ post_install $1
+
+ if [ "$PHPVER" \< "5.3" ] ; then
+ echo " ==> You are currenty running a version of php < 5.3."
+ echo " When/if you upgrade php to a version >= 5.3, you will need to reinstall $pkgname."
+ echo ""
+ fi
+}
diff --git a/community/xdelta/PKGBUILD b/community/xdelta/PKGBUILD
new file mode 100644
index 000000000..c1fef78a1
--- /dev/null
+++ b/community/xdelta/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 83064 2013-01-27 09:58:41Z andrea $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=xdelta
+pkgver=1.1.4
+pkgrel=4
+pkgdesc="binary file delta generator"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/xdelta/"
+license=('GPL')
+depends=('glib' 'zlib')
+options=('!libtool')
+source=(http://xdelta.googlecode.com/files/$pkgname-$pkgver.tar.gz
+ xdelta-1.1.4-aclocal.patch)
+md5sums=('1b896c01ebf0e353b7e3c3071b05f496'
+ '1d8ab5909bdf977a2783c164b66906fd')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np1 -i $srcdir/xdelta-1.1.4-aclocal.patch
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/xdelta/xdelta-1.1.4-aclocal.patch b/community/xdelta/xdelta-1.1.4-aclocal.patch
new file mode 100644
index 000000000..ad8c99de5
--- /dev/null
+++ b/community/xdelta/xdelta-1.1.4-aclocal.patch
@@ -0,0 +1,11 @@
+--- xdelta-1.1.3/xdelta.m4.aclocal 2004-10-20 00:20:47.875648144 +0200
++++ xdelta-1.1.3/xdelta.m4 2004-10-20 00:21:47.205628616 +0200
+@@ -4,7 +4,7 @@
+ dnl AM_PATH_XDELTA([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
+ dnl Test for XDELTA, and define XDELTA_CFLAGS and XDELTA_LIBS, if "gmodule" or
+ dnl
+-AC_DEFUN(AM_PATH_XDELTA,
++AC_DEFUN([AM_PATH_XDELTA],
+ [dnl
+ dnl Get the cflags and libraries from the xdelta-config script
+ dnl
diff --git a/community/xdelta3/PKGBUILD b/community/xdelta3/PKGBUILD
new file mode 100644
index 000000000..1af2efff6
--- /dev/null
+++ b/community/xdelta3/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 90967 2013-05-16 19:50:32Z bpiotrowski $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Eduard "bekks" Warkentin <eduard.warkentin@gmail.com>
+# Contributor: Henning Garus <henning.garus@gmail.com>
+
+pkgname=xdelta3
+pkgver=3.0.7
+pkgrel=1
+pkgdesc="Diff utility which works with binary files"
+arch=('i686' 'x86_64')
+url="http://xdelta.org/"
+license=('GPL')
+depends=('xz')
+source=(http://xdelta.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+md5sums=('ef6631e4f9219a80bcb9e3020962b6ec')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ ./xdelta3 test
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/xdialog/PKGBUILD b/community/xdialog/PKGBUILD
new file mode 100644
index 000000000..ddc3a1601
--- /dev/null
+++ b/community/xdialog/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 65245 2012-02-20 12:31:35Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=xdialog
+pkgver=2.3.1
+pkgrel=6
+pkgdesc="A drop-in replacement for the 'dialog' or 'cdialog' programs"
+url="http://xdialog.dyns.net/"
+arch=('i686' 'x86_64')
+depends=('gtk2')
+license=('GPL')
+source=("http://xdialog.free.fr/Xdialog-${pkgver}.tar.bz2"
+ "xdialog-2.3.1-gtk2.patch")
+md5sums=('0671f8353717513bf1f0ebc80e9710f6'
+ '1785edbb50316ba07c3ab68f061bf766')
+
+build() {
+ cd $srcdir/Xdialog-$pkgver
+ patch -p1 <../xdialog-$pkgver-gtk2.patch
+ ./configure --prefix=/usr \
+ --mandir=${pkgdir}/usr/share/man --with-gtk2
+ # Fix bugs in automake - see Xdialog.spec
+ sed -i -e "s:RANLIB = @RANLIB@:RANLIB = /usr/bin/ranlib:" lib/Makefile
+ sed -i -e "s;XGETTEXT = :;XGETTEXT = /usr/bin/xgettext;" po/Makefile
+ make
+}
+
+package() {
+ cd ${srcdir}/Xdialog-${pkgver}
+ make prefix=${pkgdir}/usr install
+}
diff --git a/community/xdialog/xdialog-2.3.1-gtk2.patch b/community/xdialog/xdialog-2.3.1-gtk2.patch
new file mode 100644
index 000000000..ffee78dc2
--- /dev/null
+++ b/community/xdialog/xdialog-2.3.1-gtk2.patch
@@ -0,0 +1,58 @@
+diff -Naur Xdialog-2.3.1-orig/src/interface.c Xdialog-2.3.1/src/interface.c
+--- Xdialog-2.3.1-orig/src/interface.c 2006-08-18 18:13:12.000000000 +0200
++++ Xdialog-2.3.1/src/interface.c 2006-10-17 21:33:45.000000000 +0200
+@@ -183,6 +183,11 @@
+ /* Open a new GTK top-level window */
+ window = Xdialog.window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+
++ /* Set window icon (in GTK2 mode only) */
++ #ifdef USE_GTK2
++ gtk_window_set_icon_name(window, Xdialog.icon_file);
++ #endif
++
+ /* Apply the custom GTK+ theme, if any. */
+ parse_rc_file();
+
+@@ -276,9 +281,6 @@
+ {
+ GtkWidget *label;
+ GtkWidget *hbox;
+- GdkBitmap *mask;
+- GdkColor transparent;
+- GdkPixmap *pixmap;
+ GtkWidget *icon;
+ gchar text[MAX_LABEL_LENGTH];
+ int icon_width = 0;
+@@ -287,6 +289,22 @@
+ gtk_box_pack_start(Xdialog.vbox, hbox, expand, TRUE, ymult/3);
+
+ if (Xdialog.icon) {
++
++#ifdef USE_GTK2
++ if (Xdialog.icon_file != NULL) {
++ icon = gtk_image_new_from_icon_name (Xdialog.icon_file, GTK_ICON_SIZE_DIALOG);
++ /*icon = gtk_image_new_from_file (Xdialog.icon_file);*/
++
++ gtk_box_pack_start(GTK_BOX(hbox), icon, FALSE, FALSE, 2);
++ gtk_widget_show(icon);
++ icon_width = 60;
++ }
++
++#else
++
++ GdkBitmap *mask;
++ GdkColor transparent;
++ GdkPixmap *pixmap;
+ pixmap = gdk_pixmap_create_from_xpm(Xdialog.window->window,
+ &mask, &transparent,
+ Xdialog.icon_file);
+@@ -298,6 +316,9 @@
+ gtk_widget_show(icon);
+ icon_width = icon->requisition.width + 4;
+ }
++
++#endif
++
+ }
+
+ trim_string(label_text, text, MAX_LABEL_LENGTH);
diff --git a/community/xdiskusage/PKGBUILD b/community/xdiskusage/PKGBUILD
new file mode 100644
index 000000000..71491ef78
--- /dev/null
+++ b/community/xdiskusage/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 65246 2012-02-20 12:32:09Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Jason Chu <jason@archlinux.org>
+
+pkgname=xdiskusage
+pkgver=1.48
+pkgrel=7
+pkgdesc="xdiskusage is a user-friendly program to show you what is using up all your disk space"
+arch=('i686' 'x86_64')
+depends=('fltk')
+makedepends=('libxi')
+license=('GPL')
+url="http://xdiskusage.sourceforge.net"
+options=(!emptydirs)
+source=(http://xdiskusage.sourceforge.net/$pkgname-$pkgver.tgz
+ 'stdin-is-null.patch')
+md5sums=('a902aa9d73761ade98256c3cd5c1f533'
+ '0181b66b44e382e44c91602d8de9a7b6')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's/-lGL -lGLU/-lXft/' makeinclude.in
+
+ patch -Np1 -i "$srcdir/stdin-is-null.patch"
+
+ [ $CARCH == "x86_64" ] && patch xdiskusage.C <<EOF
+991c991
+< switch ((int)v) {
+---
+> switch ((long long)v) {
+1004c1004
+< int n = (int)v;
+---
+> int n = (long long)v;
+EOF
+
+ ./configure --prefix=/usr
+ install -d "$pkgdir/usr/bin" "$pkgdir/usr/share/man/man1"
+ LDFLAGS=-lXi make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make prefix="$pkgdir/usr" mandir="$pkgdir/usr/share/man" install
+ chmod 0644 $pkgdir/usr/share/man/man1/*
+}
diff --git a/community/xdiskusage/stdin-is-null.patch b/community/xdiskusage/stdin-is-null.patch
new file mode 100644
index 000000000..e70789c13
--- /dev/null
+++ b/community/xdiskusage/stdin-is-null.patch
@@ -0,0 +1,31 @@
+--- xdiskusage-1.48/xdiskusage.C 2004-09-21 07:23:14.000000000 +0200
++++ xdiskusage-1.48.carles/xdiskusage.C 2007-07-30 23:42:05.000000000 +0200
+@@ -223,6 +223,19 @@
+ return 1;
+ }
+
++// returns true if stdin is /dev/null
++// To fix Debian bug #276193
++// Technically could be possible that returns "true" and is not "true",
++// because same device ID is used across file systems. But is the best
++// solutions that I have
++int isstdinnull() {
++ struct stat ststdin,stnull;
++ stat("/dev/null",&stnull);
++ fstat(0,&ststdin);
++
++ return (ststdin.st_rdev==stnull.st_rdev);
++}
++
+ int main(int argc, char**argv) {
+ #if FL_MAJOR_VERSION < 2
+ // Make fltk look more like KDE/Windoze:
+@@ -253,7 +266,7 @@
+ OutputWindow* d = OutputWindow::make(argv[n++]);
+ if (d) d->show(argc,argv);
+ }
+- } else if (!isatty(0)) {
++ } else if (!isatty(0) && !isstdinnull()) {
+ // test for pipe, if so read stdin:
+ OutputWindow* d = OutputWindow::make(0);
+ if (d) d->show(argc,argv);
diff --git a/community/xdotool/PKGBUILD b/community/xdotool/PKGBUILD
new file mode 100644
index 000000000..79b024cc1
--- /dev/null
+++ b/community/xdotool/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 92913 2013-06-18 18:33:07Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Rttommy <rttommy@gmail.com>
+
+pkgname=xdotool
+pkgver=2.20110530.1
+pkgrel=3
+pkgdesc="Command-line X11 automation tool"
+arch=('i686' 'x86_64')
+url="http://www.semicomplete.com/projects/xdotool/"
+license=('BSD')
+depends=('libxtst' 'libxinerama')
+source=(http://semicomplete.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+sha256sums=('e7b42c8b1d391970e1c1009b256033f30e57d8e0a2a3de229fd61ecfc27baf67')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make PREFIX="$pkgdir/usr" INSTALLMAN="$pkgdir/usr/share/man" install
+
+ # Remove execute bit from header file
+ chmod -x "$pkgdir/usr/include/xdo.h"
+
+ # License
+ install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/xdotool/COPYRIGHT"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/xe-guest-utilities/PKGBUILD b/community/xe-guest-utilities/PKGBUILD
new file mode 100644
index 000000000..f3af11392
--- /dev/null
+++ b/community/xe-guest-utilities/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 91549 2013-05-23 14:44:31Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at code gtmanfred com>
+# Contributor: Phillip Smith <fukawi2@NO-SPAM.gmail.com>
+# Contributor: Krzysztof Raczkowski <raczkow@gnu-tech.pl>
+
+pkgbase=xe-guest-utilities
+pkgname=('xe-guest-utilities' 'xenstore')
+pkgver=6.1.0
+pkgrel=6
+pkgdesc="Citrix XenServer Tools"
+arch=('i686' 'x86_64')
+url="http://citrix.com/English/ps2/products/product.asp?contentID=683148&ntref=hp_nav_US"
+license=('GPL' 'LGPL')
+makedepends=(python2)
+source=("ftp://ftp.archlinux.org/other/community/$pkgbase/${pkgbase}_${pkgver}-1033.tar.gz"
+ 'ip_address.patch'
+ 'xe-linux-distribution.service'
+ 'xe-daemon.service'
+ 'proc-xen.mount'
+ 'tmpfile')
+md5sums=('26fd52ffc5ddeb7d3e510e6f272c2860'
+ '9bd39e95384056069f7faa870a28413a'
+ '95064a7d8a32cd3aaca14e3b48c69599'
+ '173fed74c76817702b062ed653002db0'
+ '3252fa21362fd55246f9d8b923070151'
+ 'cadad1eb5b1fa6d5fe463a1a0fd82fff')
+
+prepare(){
+ patch -d $srcdir/$pkgname-$pkgver -Np1 -i $srcdir/ip_address.patch
+ bsdtar xf "$srcdir/$pkgname-$pkgver/xenstore-sources.tar.bz2"
+}
+
+build() {
+ export CC=gcc
+ CFLAGS='-Wall -Wstrict-prototypes -Wno-unused-local-typedefs -Wno-sizeof-pointer-memaccess'
+ export CFLAGS
+ export PYTHON=python2
+ cd "$srcdir/uclibc-sources"
+ make -C tools/include
+ make -C tools/libxc
+ make -C tools/xenstore
+}
+
+package_xenstore() {
+ depends=(bzip2 lzo2 zlib xz)
+ export CFLAGS+='-Wall -Wstrict-prototypes -Wno-unused-local-typedefs -Wno-sizeof-pointer-memaccess'
+ if [[ $CARCH == x86_64 ]]; then
+ export LIBLEAFDIR_x86_64=lib
+ fi
+ for f in include libxc xenstore; do
+ [[ ! -d "$srcdir"/uclibc-sources/tools/$f ]] && continue
+ make -C ""$srcdir"/uclibc-sources/tools/$f" DESTDIR="$pkgdir" SBINDIR=/usr/bin install
+ done
+ cd "$srcdir/$pkgbase-$pkgver"
+ install -Dm644 "COPYING.LGPL" "$pkgdir/usr/share/licenses/$pkgname/COPYING.LGPL"
+ install -Dm644 "COPYING" "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ install -Dm644 $srcdir/proc-xen.mount "$pkgdir/usr/lib/systemd/system/proc-xen.mount"
+ install -Dm644 $srcdir/tmpfile "$pkgdir/usr/lib/tmpfiles.d/30-xenstored.conf"
+ rm -r "$pkgdir"/var
+}
+
+package_xe-guest-utilities(){
+ cd "$srcdir/$pkgname-$pkgver"
+ depends=('xenstore' 'bash')
+ install -Dm755 xe-linux-distribution "$pkgdir/usr/bin/xe-linux-distribution"
+ install -Dm755 xe-update-guest-attrs "$pkgdir/usr/bin/xe-update-guest-attrs"
+ install -Dm755 xe-daemon "$pkgdir/usr/bin/xe-daemon"
+ install -Dm644 xen-vcpu-hotplug.rules "$pkgdir/usr/lib/udev/rules.d/10-xen-vcpu-hotplug.rules"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ install -Dm644 $srcdir/xe-daemon.service "$pkgdir/usr/lib/systemd/system/xe-daemon.service"
+ install -Dm644 $srcdir/xe-linux-distribution.service "$pkgdir/usr/lib/systemd/system/"
+ sed -i 's:sbin:bin:' $pkgdir/usr/bin/xe-daemon
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/xe-guest-utilities/ip_address.patch b/community/xe-guest-utilities/ip_address.patch
new file mode 100644
index 000000000..3142c3d6b
--- /dev/null
+++ b/community/xe-guest-utilities/ip_address.patch
@@ -0,0 +1,16 @@
+diff -uNr a/xe-update-guest-attrs b/xe-update-guest-attrs
+--- a/xe-update-guest-attrs 2012-09-25 12:45:14.000000000 +0200
++++ b/xe-update-guest-attrs 2012-11-21 16:46:35.000000000 +0100
+@@ -177,9 +177,9 @@
+ # collisions:0 txqueuelen:0
+ # RX bytes:3604609 (3.4 MiB) TX bytes:3604609 (3.4 MiB)
+
+-ifs=`/sbin/ifconfig | sed -n -e 's/^\([a-z0-9]\+\).*/name \1/p' \
+- -e 's/.*inet addr:\('$IPADDR_RE'\) .*/ipv4 \1/p' \
+- -e 's+.*inet6 addr: \('$IPADDR6_RE'\)/.*+ipv6 \1+p' | \
++ifs=`ip addr show | sed -n -e 's/^[[:digit:]]*: \([a-z0-9]*\): .*/name \1 /gp;' \
++ -e 's/^[[:space:]]\{4\}inet \('${IPADDR_RE}'\)\/.*/ipv4 \1 /gp;' \
++ -e 's/^[[:space:]]\{4\}inet6 \('${IPADDR6_RE}'\)\/.*/ipv6 \1 /gp;' | \
+ while read tag value; do
+ case "${tag}" in
+ name)
diff --git a/community/xe-guest-utilities/proc-xen.mount b/community/xe-guest-utilities/proc-xen.mount
new file mode 100644
index 000000000..0eaa59c5f
--- /dev/null
+++ b/community/xe-guest-utilities/proc-xen.mount
@@ -0,0 +1,9 @@
+[Unit]
+Description=Mount /proc/xen files
+ConditionPathExists=/proc/xen
+RefuseManualStop=true
+
+[Mount]
+What=xenfs
+Where=/proc/xen
+Type=xenfs
diff --git a/community/xe-guest-utilities/tmpfile b/community/xe-guest-utilities/tmpfile
new file mode 100644
index 000000000..44337cf44
--- /dev/null
+++ b/community/xe-guest-utilities/tmpfile
@@ -0,0 +1 @@
+d /run/xenstored 0755 - - -
diff --git a/community/xe-guest-utilities/xe-daemon.service b/community/xe-guest-utilities/xe-daemon.service
new file mode 100644
index 000000000..0a5a6ee92
--- /dev/null
+++ b/community/xe-guest-utilities/xe-daemon.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=xen daemon file
+After=xe-linux-distribution.service
+Requires=proc-xen.mount
+
+[Service]
+PIDFile=/run/xe-daemon.pid
+ExecStart=/usr/bin/xe-daemon -p /run/xe-daemon.pid
+ExecStop=/usr/bin/pkill -TERM -F /run/xe-daemon.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/xe-guest-utilities/xe-linux-distribution.service b/community/xe-guest-utilities/xe-linux-distribution.service
new file mode 100644
index 000000000..eb0b32ff4
--- /dev/null
+++ b/community/xe-guest-utilities/xe-linux-distribution.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=xen linux distribution service
+Before=xend.service
+
+[Service]
+Type=simple
+RemainAfterExit=yes
+ExecStart=/usr/bin/xe-linux-distribution /var/cache/xe-linux-distribution
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/xemacs/PKGBUILD b/community/xemacs/PKGBUILD
new file mode 100644
index 000000000..fa128ba9d
--- /dev/null
+++ b/community/xemacs/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 90112 2013-05-06 19:40:17Z foutrelis $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: juergen <juergen@archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+
+pkgname=xemacs
+pkgver=21.5.33
+pkgrel=2
+pkgdesc="An highly customizable open source text editor and application development system forked from GNU Emacs"
+arch=('i686' 'x86_64')
+url="http://www.xemacs.org/"
+license=('GPL')
+depends=('db' 'libpng' 'libtiff' 'gpm' 'desktop-file-utils' 'libxaw' 'gdbm' 'giflib')
+optdepends=('xorg-fonts-75dpi: X bitmap fonts needed for the interface'
+ 'xorg-fonts-100dpi: X bitmap fonts needed for the interface')
+makedepends=('xbitmaps')
+install=$pkgname.install
+source=(http://ftp.xemacs.org/pub/xemacs/beta/${pkgname}-${pkgver}.tar.gz
+ xemacs.desktop)
+sha256sums=('448c76aa32cd5c84257027846f01b75a5e4f1e9db3278f95e68ff23d59fb8f94'
+ 'd6dc802cf07519584aa28f3b5f4ae84d5e18b619ddd7e89a04da2f6783125f34')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --build="${CHOST}" --prefix=/usr --with-dynamic \
+ --without-postgresql --with-athena=xaw \
+ --enable-database=berkdb --without-ldap \
+ --enable-menubars=lucid --enable-scrollbars=lucid \
+ --enable-widgets=athena --enable-dialogs=athena \
+ --enable-external-widget \
+ --with-jpeg --with-png --with-tiff \
+ --with-ncurses --with-pop --with-xfs --disable-sound \
+ --infodir=/usr/share/info \
+ --with-mule \
+ --mandir=/usr/share/man/man1
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make -j1 prefix="${pkgdir}/usr" mandir="${pkgdir}/usr/share/man/man1" infodir="${pkgdir}/usr/share/info" install gzip-el
+
+ rm "${pkgdir}"/usr/bin/{b2m,ctags,etags}
+ rm "${pkgdir}"/usr/share/man/man1/{ctags.1,etags.1}
+
+ # fix FS#7927
+ install -d -m755 "${pkgdir}/usr/share/pixmaps"
+ install -D -m644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ ln -sf /usr/share/xemacs-${pkgver%.*}-b${pkgver##*.}/etc/xemacs-icon.xpm "${pkgdir}/usr/share/pixmaps/xemacs-icon.xpm"
+
+ # correct permissions
+ chown -R root:root "${pkgdir}"
+
+ rm "${pkgdir}"/usr/share/info/{info.info,texinfo.info-2,cl.info,texinfo.info-1,texinfo.info,standards.info,widget.info}
+}
diff --git a/community/xemacs/xemacs.desktop b/community/xemacs/xemacs.desktop
new file mode 100644
index 000000000..257c56947
--- /dev/null
+++ b/community/xemacs/xemacs.desktop
@@ -0,0 +1,34 @@
+[Desktop Entry]
+Name=XEmacs Text Editor
+Name[bg]=редактор XEmacs
+Name[ca]=Editor XEmacs
+Name[cs]=Editor XEmacs
+Name[da]=XEmacs tekstredigerer
+Name[de]=XEmacs Texteditor
+Name[eo]=La redaktilo XEmakso
+Name[es]=Emacs para X
+Name[et]=Emacs X'i kasutajaliidesega
+Name[fi]=XEmacs editori
+Name[fr]=Éditeur XEmacs
+Name[hu]=XEmacs szövegszerkesztő
+Name[is]=XEmacs-ritill
+Name[it]=Emacs per X
+Name[ja]=XEmacs テキスト・エディター
+Name[mk]=Софистицираниот XEmacs уредувач
+Name[no]=XEmacs-tekstredigerer
+Name[pt]=Editor XEmacs
+Name[ro]=Editorul XEmacs
+Name[ru]=Редактор XEmacs
+Name[sk]=Editor XEmacs
+Name[sl]=Urejevalnik XEmacs
+Name[uk]=Редактор XEmacs
+GenericName=Text Editor
+Comment=Edit text
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=xemacs %f
+Icon=/usr/share/pixmaps/xemacs-icon.xpm
+Type=Application
+Terminal=false
+Categories=Development;TextEditor;
+Encoding=UTF-8
+StartupWMClass=Emacs
diff --git a/community/xemacs/xemacs.install b/community/xemacs/xemacs.install
new file mode 100644
index 000000000..a04ee187f
--- /dev/null
+++ b/community/xemacs/xemacs.install
@@ -0,0 +1,35 @@
+infodir=usr/share/info
+filelist=(beta.info.gz custom.info.gz
+ emodules.info.gz external-widget.info.gz
+ internals.info-1.gz internals.info-2.gz
+ internals.info-3.gz internals.info-4.gz
+ internals.info-5.gz internals.info.gz
+ lispref.info-1.gz lispref.info-10.gz
+ lispref.info-2.gz lispref.info-3.gz
+ lispref.info-4.gz lispref.info-5.gz
+ lispref.info-6.gz lispref.info-7.gz
+ lispref.info-8.gz lispref.info-9.gz
+ lispref.info.gz new-users-guide.info.gz
+ term.info.gz termcap.info.gz
+ xemacs-faq.info-1.gz xemacs-faq.info-2.gz
+ xemacs-faq.info.gz xemacs.info-1.gz
+ xemacs.info-2.gz xemacs.info-3.gz
+ xemacs.info-4.gz xemacs.info.gz)
+
+post_install() {
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+ update-desktop-database -q
+}
diff --git a/community/xfe/PKGBUILD b/community/xfe/PKGBUILD
new file mode 100644
index 000000000..1a2dc07e6
--- /dev/null
+++ b/community/xfe/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 84135 2013-02-11 11:34:51Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Eric Belanger <belanger@astro.umontreal.ca>
+# Contributor: Ravi Desai <ravster3@hotmail.com>
+
+pkgname=xfe
+pkgver=1.34
+pkgrel=1
+pkgdesc="X File Explorer (Xfe) is an MS-Explorer like file manager for X."
+arch=('i686' 'x86_64')
+url="http://roland65.free.fr/xfe"
+license=("GPL")
+depends=('fox')
+makedepends=('intltool')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('36d0a590d95742eb59d8128a9a7a35b4')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+# LDFLAGS=-lX11 ./configure --prefix=/usr
+ ./configure --prefix=/usr
+# sed -i 's|inline||' src/xfeutils.cpp
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/xfmedia/PKGBUILD b/community/xfmedia/PKGBUILD
new file mode 100644
index 000000000..399f7423a
--- /dev/null
+++ b/community/xfmedia/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 85661 2013-03-04 13:23:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : Tom Killian <tomk@runbox.com>
+# Contributor: Spider.007 <archPackage@spider007.net>
+
+pkgname=xfmedia
+pkgver=0.9.2
+pkgrel=12
+pkgdesc="xfce media player"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://spuriousinterrupt.org/projects/xfmedia/"
+depends=('xine-lib' 'taglib' 'exo' 'libxtst' 'libxss' 'libxfcegui4' 'dbus-glib')
+makedepends=('intltool' 'libxt')
+install=xfmedia.install
+source=(http://spuriousinterrupt.org/files/$pkgname/$pkgname-$pkgver.tar.bz2
+ xfmedia-dbus-0.6-support.patch
+ xfmedia-empty-prev-next-fix.patch
+ xfmedia-exo-0.6.patch
+ xfmedia-xine-1.2.0.patch)
+md5sums=('6eb8bd1f67201f829e0f45e733c02bd5'
+ '8f2aa12eea584de65d8ed28179e56b51'
+ '650f8cb9e2ddd9a8a2a03748b8757110'
+ 'f5e17fcdf2056dcc8ca8aae8600c0132'
+ '934603c7d3a1a0a66edb847bcb930df1')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+ patch -Np1 -i ../xfmedia-dbus-0.6-support.patch
+ patch -Np1 -i ../xfmedia-empty-prev-next-fix.patch
+ patch -Np1 -i ../xfmedia-exo-0.6.patch
+ patch -Np1 -i ../xfmedia-xine-1.2.0.patch
+ LDFLAGS="$LDFLAGS -lXext -lm -lgmodule-2.0" ./configure \
+ --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/xfmedia/xfmedia-dbus-0.6-support.patch b/community/xfmedia/xfmedia-dbus-0.6-support.patch
new file mode 100644
index 000000000..9b1eb3678
--- /dev/null
+++ b/community/xfmedia/xfmedia-dbus-0.6-support.patch
@@ -0,0 +1,14 @@
+diff -Naur xfmedia-0.9.1.orig/src/remote.c xfmedia-0.9.1/src/remote.c
+--- xfmedia-0.9.1.orig/src/remote.c 2005-09-05 00:56:37.000000000 -0400
++++ xfmedia-0.9.1/src/remote.c 2006-04-08 00:27:18.000000000 -0400
+@@ -55,6 +55,10 @@
+ #define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER DBUS_SERVICE_REPLY_PRIMARY_OWNER
+ #endif
+
++#ifndef DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT
++#define DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT DBUS_NAME_FLAG_DO_NOT_QUEUE
++#endif
++
+ #endif /* HAVE_DBUS */
+
+ #include <libxfce4util/libxfce4util.h>
diff --git a/community/xfmedia/xfmedia-empty-prev-next-fix.patch b/community/xfmedia/xfmedia-empty-prev-next-fix.patch
new file mode 100644
index 000000000..e2d0d8166
--- /dev/null
+++ b/community/xfmedia/xfmedia-empty-prev-next-fix.patch
@@ -0,0 +1,25 @@
+diff -wbBur xfmedia-0.9.2/src/mainwin.c xfmedia-0.9.2.my/src/mainwin.c
+--- xfmedia-0.9.2/src/mainwin.c 2006-11-27 07:21:23.000000000 +0000
++++ xfmedia-0.9.2.my/src/mainwin.c 2010-11-01 13:01:17.000000000 +0000
+@@ -1865,6 +1865,10 @@
+ gboolean use_playlist_q = xfmedia_playlist_queue_n_entries(mwin->playlist_q);
+ gboolean ret = FALSE;
+
++ if(xfmedia_playlist_get_n_entries(mwin->plist) == 0)
++// if(xfmedia_playlist_queue_is_empty(mwin->plist))
++ return;
++
+ if(mwin->cur_playing
+ && xfmedia_settings_get_bool("/xfmedia/playlist/shuffle")
+ && !use_playlist_q )
+@@ -1899,6 +1903,10 @@
+ {
+ gint tot_items, idx = -1;
+
++ if(xfmedia_playlist_get_n_entries(mwin->plist) == 0)
++// if(xfmedia_playlist_queue_is_empty(mwin->plist))
++ return;
++
+ if(xfmedia_settings_get_bool("/xfmedia/playlist/shuffle")) {
+ XfmediaPlaylistEntryRef *ref = NULL;
+ gboolean playing = FALSE;
diff --git a/community/xfmedia/xfmedia-exo-0.6.patch b/community/xfmedia/xfmedia-exo-0.6.patch
new file mode 100644
index 000000000..1de611c82
--- /dev/null
+++ b/community/xfmedia/xfmedia-exo-0.6.patch
@@ -0,0 +1,196 @@
+diff -wbBur xfmedia-0.9.2/configure xfmedia-0.9.2.my/configure
+--- xfmedia-0.9.2/configure 2006-11-27 20:20:59.000000000 +0000
++++ xfmedia-0.9.2.my/configure 2011-01-31 17:15:58.000000000 +0000
+@@ -27417,7 +27417,7 @@
+
+
+ if test x"$xdt_cv_EXO_check" = x"yes"; then
+- if $PKG_CONFIG --exists "exo-0.3 >= 0.3.0" >/dev/null 2>&1; then
++ if $PKG_CONFIG --exists "exo-1 >= 0.3.0" >/dev/null 2>&1; then
+
+
+ # minimum supported version of pkg-config
+@@ -27501,22 +27501,22 @@
+ fi
+
+
+- { echo "$as_me:$LINENO: checking for exo-0.3 >= 0.3.0" >&5
+-echo $ECHO_N "checking for exo-0.3 >= 0.3.0... $ECHO_C" >&6; }
+- if $PKG_CONFIG "--atleast-version=0.3.0" "exo-0.3" >/dev/null 2>&1; then
+- EXO_VERSION=`$PKG_CONFIG --modversion "exo-0.3"`
++ { echo "$as_me:$LINENO: checking for exo-1 >= 0.3.0" >&5
++echo $ECHO_N "checking for exo-1 >= 0.3.0... $ECHO_C" >&6; }
++ if $PKG_CONFIG "--atleast-version=0.3.0" "exo-1" >/dev/null 2>&1; then
++ EXO_VERSION=`$PKG_CONFIG --modversion "exo-1"`
+ { echo "$as_me:$LINENO: result: $EXO_VERSION" >&5
+ echo "${ECHO_T}$EXO_VERSION" >&6; }
+
+ { echo "$as_me:$LINENO: checking EXO_CFLAGS" >&5
+ echo $ECHO_N "checking EXO_CFLAGS... $ECHO_C" >&6; }
+- EXO_CFLAGS=`$PKG_CONFIG --cflags "exo-0.3"`
++ EXO_CFLAGS=`$PKG_CONFIG --cflags "exo-1"`
+ { echo "$as_me:$LINENO: result: $EXO_CFLAGS" >&5
+ echo "${ECHO_T}$EXO_CFLAGS" >&6; }
+
+ { echo "$as_me:$LINENO: checking EXO_LIBS" >&5
+ echo $ECHO_N "checking EXO_LIBS... $ECHO_C" >&6; }
+- EXO_LIBS=`$PKG_CONFIG --libs "exo-0.3"`
++ EXO_LIBS=`$PKG_CONFIG --libs "exo-1"`
+ { echo "$as_me:$LINENO: result: $EXO_LIBS" >&5
+ echo "${ECHO_T}$EXO_LIBS" >&6; }
+
+@@ -27535,15 +27535,15 @@
+
+ EXO_FOUND="yes"
+
+- elif $PKG_CONFIG --exists "exo-0.3" >/dev/null 2>&1; then
+- xdt_cv_version=`$PKG_CONFIG --modversion "exo-0.3"`
++ elif $PKG_CONFIG --exists "exo-1" >/dev/null 2>&1; then
++ xdt_cv_version=`$PKG_CONFIG --modversion "exo-1"`
+ { echo "$as_me:$LINENO: result: found, but $xdt_cv_version" >&5
+ echo "${ECHO_T}found, but $xdt_cv_version" >&6; }
+
+
+- echo "*** The required package exo-0.3 was found on your system,"
++ echo "*** The required package exo-1 was found on your system,"
+ echo "*** but the installed version ($xdt_cv_version) is too old."
+- echo "*** Please upgrade exo-0.3 to atleast version 0.3.0, or adjust"
++ echo "*** Please upgrade exo-1 to atleast version 0.3.0, or adjust"
+ echo "*** the PKG_CONFIG_PATH environment variable if you installed"
+ echo "*** the new version of the package in a nonstandard prefix so"
+ echo "*** pkg-config is able to find it."
+@@ -27554,8 +27554,8 @@
+ echo "${ECHO_T}not found" >&6; }
+
+
+- echo "*** The required package exo-0.3 was not found on your system."
+- echo "*** Please install exo-0.3 (atleast version 0.3.0) or adjust"
++ echo "*** The required package exo-1 was not found on your system."
++ echo "*** Please install exo-1 (atleast version 0.3.0) or adjust"
+ echo "*** the PKG_CONFIG_PATH environment variable if you"
+ echo "*** installed the package in a nonstandard prefix so that"
+ echo "*** pkg-config is able to find it."
+@@ -27564,14 +27564,14 @@
+ fi
+
+ else
+- { echo "$as_me:$LINENO: checking for optional package exo-0.3 >= 0.3.0" >&5
+-echo $ECHO_N "checking for optional package exo-0.3 >= 0.3.0... $ECHO_C" >&6; }
++ { echo "$as_me:$LINENO: checking for optional package exo-1 >= 0.3.0" >&5
++echo $ECHO_N "checking for optional package exo-1 >= 0.3.0... $ECHO_C" >&6; }
+ { echo "$as_me:$LINENO: result: not found" >&5
+ echo "${ECHO_T}not found" >&6; }
+ fi
+ else
+- { echo "$as_me:$LINENO: checking for optional package exo-0.3" >&5
+-echo $ECHO_N "checking for optional package exo-0.3... $ECHO_C" >&6; }
++ { echo "$as_me:$LINENO: checking for optional package exo-1" >&5
++echo $ECHO_N "checking for optional package exo-1... $ECHO_C" >&6; }
+ { echo "$as_me:$LINENO: result: disabled" >&5
+ echo "${ECHO_T}disabled" >&6; }
+ fi
+diff -wbBur xfmedia-0.9.2/src/main.c xfmedia-0.9.2.my/src/main.c
+--- xfmedia-0.9.2/src/main.c 2006-11-27 07:21:23.000000000 +0000
++++ xfmedia-0.9.2.my/src/main.c 2011-02-01 11:08:02.000000000 +0000
+@@ -388,6 +388,23 @@
+ return optind;
+ }
+
++/**
++ * exo_str_get_md5_str:
++ * @contents : The string to create a digest of.
++ *
++ * Creates a character array MD5 digestof the string
++ * @contents.
++ *
++ * Return value: A newly-allocated character array which
++ * should be free with g_free() when no
++ * longer needed.
++ **/
++gchar*
++exo_str_get_md5_str (const gchar *contents)
++{
++ return g_compute_checksum_for_string (G_CHECKSUM_MD5, contents, -1);
++}
++
+ int
+ main(int argc, char **argv)
+ {
+diff -wbBur xfmedia-0.9.2/src/mediamarks.c xfmedia-0.9.2.my/src/mediamarks.c
+--- xfmedia-0.9.2/src/mediamarks.c 2006-11-27 07:21:23.000000000 +0000
++++ xfmedia-0.9.2.my/src/mediamarks.c 2011-02-01 11:04:42.000000000 +0000
+@@ -684,9 +684,9 @@
+
+ render = exo_cell_renderer_ellipsized_text_new();
+ if(gtk_major_version == 2 && gtk_minor_version >= 6)
+- g_object_set(G_OBJECT(render), "ellipsize", EXO_PANGO_ELLIPSIZE_END, NULL);
++ g_object_set(G_OBJECT(render), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
+ else {
+- g_object_set(G_OBJECT(render), "ellipsize", EXO_PANGO_ELLIPSIZE_END,
++ g_object_set(G_OBJECT(render), "ellipsize", PANGO_ELLIPSIZE_END,
+ "ellipsize-set", TRUE, NULL);
+ }
+ gtk_tree_view_column_pack_start(col, render, TRUE);
+@@ -1693,9 +1693,9 @@
+
+ render = exo_cell_renderer_ellipsized_text_new();
+ if(gtk_major_version == 2 && gtk_minor_version >= 6)
+- g_object_set(G_OBJECT(render), "ellipsize", EXO_PANGO_ELLIPSIZE_END, NULL);
++ g_object_set(G_OBJECT(render), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
+ else {
+- g_object_set(G_OBJECT(render), "ellipsize", EXO_PANGO_ELLIPSIZE_END,
++ g_object_set(G_OBJECT(render), "ellipsize", PANGO_ELLIPSIZE_END,
+ "ellipsize-set", TRUE, NULL);
+ }
+ gtk_tree_view_column_pack_start(col, render, TRUE);
+@@ -1705,9 +1705,9 @@
+
+ render = exo_cell_renderer_ellipsized_text_new();
+ if(gtk_major_version == 2 && gtk_minor_version >= 6)
+- g_object_set(G_OBJECT(render), "ellipsize", EXO_PANGO_ELLIPSIZE_END, NULL);
++ g_object_set(G_OBJECT(render), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
+ else {
+- g_object_set(G_OBJECT(render), "ellipsize", EXO_PANGO_ELLIPSIZE_END,
++ g_object_set(G_OBJECT(render), "ellipsize", PANGO_ELLIPSIZE_END,
+ "ellipsize-set", TRUE, NULL);
+ }
+ col = gtk_tree_view_column_new_with_attributes(_("Location"), render,
+diff -wbBur xfmedia-0.9.2/src/playlist.c xfmedia-0.9.2.my/src/playlist.c
+--- xfmedia-0.9.2/src/playlist.c 2006-11-27 07:21:22.000000000 +0000
++++ xfmedia-0.9.2.my/src/playlist.c 2011-02-01 11:04:47.000000000 +0000
+@@ -1409,9 +1409,9 @@
+
+ render = exo_cell_renderer_ellipsized_text_new();
+ if(gtk_major_version == 2 && gtk_minor_version >= 6)
+- g_object_set(G_OBJECT(render), "ellipsize", EXO_PANGO_ELLIPSIZE_END, NULL);
++ g_object_set(G_OBJECT(render), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
+ else {
+- g_object_set(G_OBJECT(render), "ellipsize", EXO_PANGO_ELLIPSIZE_END,
++ g_object_set(G_OBJECT(render), "ellipsize", PANGO_ELLIPSIZE_END,
+ "ellipsize-set", TRUE, NULL);
+ }
+ col = gtk_tree_view_column_new_with_attributes(_("Title"), render, "text",
+diff -wbBur xfmedia-0.9.2/src/settings-dialog.c xfmedia-0.9.2.my/src/settings-dialog.c
+--- xfmedia-0.9.2/src/settings-dialog.c 2006-11-27 07:21:23.000000000 +0000
++++ xfmedia-0.9.2.my/src/settings-dialog.c 2011-02-01 11:04:53.000000000 +0000
+@@ -552,7 +552,7 @@
+ render = exo_cell_renderer_ellipsized_text_new();
+ col = gtk_tree_view_column_new_with_attributes("name", render,
+ "text", PLUGINS_NAME, NULL);
+- g_object_set(G_OBJECT(render), "ellipsize", EXO_PANGO_ELLIPSIZE_END,
++ g_object_set(G_OBJECT(render), "ellipsize", PANGO_ELLIPSIZE_END,
+ "ellipsize-set", TRUE, NULL);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), col);
+
+diff -wbBur xfmedia-0.9.2/src/xfmedia-playlist-queue.c xfmedia-0.9.2.my/src/xfmedia-playlist-queue.c
+--- xfmedia-0.9.2/src/xfmedia-playlist-queue.c 2006-11-27 07:21:22.000000000 +0000
++++ xfmedia-0.9.2.my/src/xfmedia-playlist-queue.c 2011-02-01 11:04:57.000000000 +0000
+@@ -171,7 +171,7 @@
+
+ render = exo_cell_renderer_ellipsized_text_new();
+ g_object_set(G_OBJECT(render),
+- "ellipsize", EXO_PANGO_ELLIPSIZE_END,
++ "ellipsize", PANGO_ELLIPSIZE_END,
+ "ellipsize-set", TRUE,
+ NULL);
+ col = gtk_tree_view_column_new_with_attributes("display-name", render,
diff --git a/community/xfmedia/xfmedia-xine-1.2.0.patch b/community/xfmedia/xfmedia-xine-1.2.0.patch
new file mode 100644
index 000000000..2e04ac80a
--- /dev/null
+++ b/community/xfmedia/xfmedia-xine-1.2.0.patch
@@ -0,0 +1,34 @@
+diff -wbBur xfmedia-0.9.2/src/xfmedia-xine.c xfmedia-0.9.2.my/src/xfmedia-xine.c
+--- xfmedia-0.9.2/src/xfmedia-xine.c 2006-11-27 10:21:23.000000000 +0300
++++ xfmedia-0.9.2.my/src/xfmedia-xine.c 2012-01-05 01:23:21.000000000 +0400
+@@ -1450,17 +1450,6 @@
+ }
+
+ gboolean
+-xfmedia_xine_trick_mode(XfmediaXine * xfx, gint mode, gint value)
+-{
+-
+- g_return_val_if_fail(xfx != NULL, 0);
+- g_return_val_if_fail(XFMEDIA_IS_XINE(xfx), 0);
+- g_return_val_if_fail(xfx->priv->stream != NULL, 0);
+-
+- return xine_trick_mode(xfx->priv->stream, mode, value);
+-}
+-
+-gboolean
+ xfmedia_xine_get_pos_length(XfmediaXine *xfx, gint *pos_stream,
+ gint *pos_time, gint *length_time)
+ {
+diff -wbBur xfmedia-0.9.2/src/xfmedia-xine.h xfmedia-0.9.2.my/src/xfmedia-xine.h
+--- xfmedia-0.9.2/src/xfmedia-xine.h 2006-11-27 10:21:23.000000000 +0300
++++ xfmedia-0.9.2.my/src/xfmedia-xine.h 2012-01-05 01:20:47.000000000 +0400
+@@ -87,9 +87,6 @@
+ gboolean xfmedia_xine_play (XfmediaXine *xfx,
+ gint pos,
+ gint start_time);
+-gboolean xfmedia_xine_trick_mode (XfmediaXine *xfx,
+- gint mode,
+- gint value);
+ gint xfmedia_xine_get_stream_info (XfmediaXine *xfx,
+ gint info);
+ G_CONST_RETURN gchar *xfmedia_xine_get_meta_info (XfmediaXine *xfx,
diff --git a/community/xfmedia/xfmedia.install b/community/xfmedia/xfmedia.install
new file mode 100644
index 000000000..b95cc069d
--- /dev/null
+++ b/community/xfmedia/xfmedia.install
@@ -0,0 +1,11 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
diff --git a/community/xjadeo/PKGBUILD b/community/xjadeo/PKGBUILD
new file mode 100644
index 000000000..65fbd3cfe
--- /dev/null
+++ b/community/xjadeo/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 93894 2013-07-11 20:56:42Z speps $
+# Maintainer : speps <speps at aur dot archlinux dot org>
+
+pkgname=xjadeo
+pkgver=0.7.4
+pkgrel=1
+pkgdesc="A simple video player that is synchronized to jack transport."
+arch=('i686' 'x86_64')
+url="http://xjadeo.sourceforge.net"
+license=('GPL')
+depends=('ffmpeg' 'imlib2' 'jack' 'liblo' 'libxpm' 'libxv' 'portmidi')
+makedepends=('qt4')
+optdepends=('qt4: for the GUI (qjadeo)')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+ "qjadeo.desktop")
+install="$pkgname.install"
+md5sums=('6ca2ad15d61d12e2483589f64ace3983'
+ '315e2ab44ce3edf4068ff6db48942908')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr \
+ --enable-qtgui \
+ --with-qt4prefix=/usr/lib/qt4
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+
+ # rc file
+ install -Dm644 doc/xjadeorc "$pkgdir/etc/xjadeorc"
+
+ # desktop file
+ install -Dm644 ../qjadeo.desktop \
+ "$pkgdir/usr/share/applications/qjadeo.desktop"
+
+ # icon
+ install -Dm644 doc/xjadeo.png \
+ "$pkgdir/usr/share/pixmaps/qjadeo.png"
+}
diff --git a/community/xjadeo/qjadeo.desktop b/community/xjadeo/qjadeo.desktop
new file mode 100644
index 000000000..4d68949f6
--- /dev/null
+++ b/community/xjadeo/qjadeo.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Exec=qjadeo
+Type=Application
+Terminal=false
+Name=QJadeo
+Comment=QJadeo Jack Video Player
+Categories=AudioVideo;
+Icon=qjadeo \ No newline at end of file
diff --git a/community/xjadeo/xjadeo.install b/community/xjadeo/xjadeo.install
new file mode 100644
index 000000000..29a708b66
--- /dev/null
+++ b/community/xjadeo/xjadeo.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/xkbsel/PKGBUILD b/community/xkbsel/PKGBUILD
new file mode 100644
index 000000000..e6114985f
--- /dev/null
+++ b/community/xkbsel/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 59722 2011-11-29 13:35:50Z stephane $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xkbsel
+pkgver=0.13
+pkgrel=5
+pkgdesc="framework for defining, selecting and indicating XKB keyboard mappings"
+arch=('i686' 'x86_64')
+url="http://www.meduna.org/sw_xkbsel_en.html"
+license=('GPL')
+depends=('gdbm' 'libxaw')
+makedepends=('patch' 'xkeyboard-config')
+source=(http://www.meduna.org/code/$pkgname-$pkgver.tar.gz
+ build-fix.patch)
+md5sums=('c82196344ef920a072f413df85b9dc00'
+ 'dee0f7de8618d9eff073942f0e08f030')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ patch -Np1 <../build-fix.patch
+ export CFLAGS="$CFLAGS -I/usr/include/gdbm -DHAVE_NDBM_H"
+ export LDFLAGS="-lgdbm -lgdbm_compat"
+
+ ./configure --prefix=/usr --localstatedir=/var/lib --sysconfdir=/etc/xkbsel \
+ --build=`uname -m` --host=`uname -m` --target=`uname -m` \
+ --mandir=/usr/share/man
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/xkbsel/build-fix.patch b/community/xkbsel/build-fix.patch
new file mode 100644
index 000000000..02021db47
--- /dev/null
+++ b/community/xkbsel/build-fix.patch
@@ -0,0 +1,24 @@
+diff -wbBur xkbsel-0.13/configure xkbsel-0.13.my/configure
+--- xkbsel-0.13/configure 2000-04-09 13:37:02.000000000 +0400
++++ xkbsel-0.13.my/configure 2006-07-24 17:13:10.000000000 +0400
+@@ -6118,7 +6118,7 @@
+ { echo "configure: error: "Cannot find library containing dbm_open"" 1>&2; exit 1; }
+ fi
+
+-x11xkbdir=$ac_x_libraries/X11/xkb
++x11xkbdir=/usr/share/X11/xkb
+ test -d $x11xkbdir || { echo "configure: error: "Directory $x11xkbdir does not exist"" 1>&2; exit 1; }
+
+
+diff -wbBur xkbsel-0.13/libs/Makefile.in xkbsel-0.13.my/libs/Makefile.in
+--- xkbsel-0.13/libs/Makefile.in 2000-04-09 13:51:01.000000000 +0400
++++ xkbsel-0.13.my/libs/Makefile.in 2006-07-24 17:11:52.000000000 +0400
+@@ -452,7 +452,7 @@
+
+
+ install-data-local:
+- $(mkinstalldirs) ${sysxkmdir}
++ $(mkinstalldirs) $(DESTDIR)${sysxkmdir}
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/community/xkeycaps/PKGBUILD b/community/xkeycaps/PKGBUILD
new file mode 100644
index 000000000..ef7c188bf
--- /dev/null
+++ b/community/xkeycaps/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 65257 2012-02-20 12:38:07Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Patrick Leslie Polzer <leslie.polzer@gmx.net>
+
+pkgname=xkeycaps
+pkgver=2.46
+pkgrel=6
+arch=('i686' 'x86_64')
+pkgdesc="XKeyCaps is a graphical front-end to xmodmap."
+url="http://www.jwz.org/xkeycaps/"
+license=('custom')
+depends=('libxaw')
+makedepends=('imake' 'xbitmaps')
+source=(http://www.jwz.org/$pkgname/$pkgname-$pkgver.tar.Z
+ license.txt)
+md5sums=('6792f828db6538f44f7696a8783b44ac'
+ '6d44b50641d2e7898aebcc668d204751')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ xmkmf
+ make MANPATH=/usr/share/man
+ make DESTDIR=$pkgdir install
+ make DESTDIR=$pkgdir MANPATH=/usr/share/man install.man
+ install -Dm644 ../license.txt \
+ $pkgdir/usr/share/licenses/$pkgname/license.txt
+}
diff --git a/community/xkeycaps/license.txt b/community/xkeycaps/license.txt
new file mode 100644
index 000000000..09b3b3ff2
--- /dev/null
+++ b/community/xkeycaps/license.txt
@@ -0,0 +1,54 @@
+COPYRIGHT Copyright © 1991-1999 by Jamie Zawinski. Permission to use,
+ copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee,
+ provided that the above copyright notice appear in all copies and
+ that both that copyright notice and this permission notice appear
+ in supporting documentation. No representations are made about the
+ suitability of this software for any purpose. It is provided "as
+ is" without express or implied warranty.
+
+AUTHOR
+ Jamie Zawinski <jwz@jwz.org>, 10-nov-91.
+
+ XKeyCaps is no longer maintained. See http://www.jwz.org/xkeycaps/
+ for details.
+
+ Thanks to everyone who contributed keyboard definitions over the years:
+
+ Jonathan Abbey, Alon Albert, Vladimir Alexiev, David Arnold, David
+ Axmark, Ruediger Back, Pedro Bayon, Corne Beerse, Eric Benson,
+ Christoph Berg, Markus Berndt, Roger Binns, Stefan Bj|rnelund,
+ black@westford.ccur.com, Mark Borges, Volker Bosch, Dave Brooks,
+ Lorenzo M. Catucci, Michel Catudal, Francois Regis Colin, John
+ Coppens, Cesar Crusius, Bart Van Cutsem, Matthew Davey,
+ Christopher Davis, Albrecht Dress, Kristian Ejvind, Michael Elbel,
+ Joe English, Eric Fischer, Morgan Fletcher, Olivier Galibert,
+ Carson Gaspar, Andre Gerhard, Daniel Glastonbury, Christian
+ F. Goetze, Dan R. Greening, Edgar Greuter, John Gotts, Berthold
+ Gunreben, Jens Hafsteinsson, Adam Hamilton, Magnus Hammerin,
+ Kenneth Harker, Ben Harris, Mikael Hedin, Tom Ivar Helbekkmo, Mick
+ Hellstrom, Neil Hendin, Andre Heynatz, Mike Hicks, Alan Ho, Hide
+ Horiuchi, Dirk Jablonowski, Alan Jaffray, Anders Wegge Jakobsen,
+ Chris Jones, Jorgen Jonsson, Peter Kaiser, Heikki Kantola, Tufan
+ Karadere, Benedikt Kessler, Philippe Kipfer, Edwin Klement, John
+ Knox, Haavard Kvaalen, Frederic Leguern, Simon Leinen, Michael
+ Lemke, Tor Lillqvist, Torbj|rn Lindgren, Tony Lindstrom, Richard
+ Lloyd, Ulric Longyear, Ulf Magnusson, Cliff Marcellus, John
+ A. Martin, Tom McConnell, Grant McDorman, Hein Meling, Jason
+ Merrill, Aleksandar Milivojevic, Manuel Moreno, Ken Nakata, Pekka
+ Nikander, Todd Nix, Leif Nixon, Christian Nybo, Antoni Pamies
+ Olive, Edgar Bonet Orozco, Steven W. Orr, Martin Ouwehand, Daniel
+ Packman, John Palmieri, Chris Paulson-Ellis, Eduardo Perez,
+ Michael Piotrowski, Andrej Presern, Jeremy Prior, Dominique
+ Quatravaux, Matthias Rabe, Garst R. Reese, Peter Remmers, Todd
+ Richmond, Ken Rose, Pavel Rosendorf, Gael Roualland, Lucien
+ Saviot, Johannes Schmidt-Fischer, Andreas Schuch, Larry Schwimmer,
+ Joe Siegrist, Jarrod Smith, Tom Spindler, Robin Stephenson, Joerg
+ Stippa, D. Stolte, A. A. Stoorvogel, Juergen Stuber, Markus
+ Stumpf, Jeffrey Templon, Jay Thorne, Anthony Thyssen, Christoph
+ Tietz, tkil@scrye.com, Juha Vainikka, Poonlap Veeratanabutr, Ivo
+ Vollrath, Gord Vreugdenhil, Ronan Waide, Jan Wedekind, Bj|rn
+ Wennberg, Mats Wichmann, Stephen Williams, Barry Warsaw, Steven
+ Winikoff, Carl Witty, Stephen Wray, Endre Witzoe, Kazutaka Yokota,
+ Yair Zadik, and Robert Zwickenpflug.
+
diff --git a/community/xl2tpd/PKGBUILD b/community/xl2tpd/PKGBUILD
new file mode 100644
index 000000000..2c513c4fb
--- /dev/null
+++ b/community/xl2tpd/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 91508 2013-05-23 10:16:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Hengfu <rhfcaesar@gmail.com>
+
+pkgname=xl2tpd
+pkgver=1.3.1
+pkgrel=3
+pkgdesc="an open source implementation of the L2TP maintained by Xelerance Corporation"
+arch=('i686' 'x86_64')
+url="http://www.xelerance.com/services/software/xl2tpd/"
+license=('GPL')
+depends=('ppp')
+options=(emptydirs zipman docs)
+backup=(etc/ppp/options.l2tpd)
+source=($pkgname-$pkgver.tar.gz::https://github.com/xelerance/xl2tpd/archive/v$pkgver.tar.gz
+ xl2tpd.conf.client-example
+ xl2tpd.conf.server-example
+ options.l2tpd
+ xl2tpd.service
+ xl2tpd.tmpfiles
+ ipparam.patch)
+md5sums=('38c2461d3562f98b08454ca403706886'
+ '5f0ae07026e61a3dd15a76fd4144a6d5'
+ '16ed0886115d4dcc21072cfb847250bb'
+ 'ed57eb67335cdf246251285dad502cc7'
+ '219942dd098ce4fdba37d1db327baf57'
+ '2e95e4fc03e1521ab20fd7e249efab5a'
+ '4d258a58cc109d5c4d96af8f81d481cf')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -p1 <$srcdir/ipparam.patch
+
+ make KERNELSRC=/usr/src/linux-`uname -r` PREFIX=/usr SBINDIR=/usr/bin
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make KERNELSRC=/usr/src/linux-`uname -r` PREFIX=/usr DESTDIR=$pkgdir SBINDIR=$pkgdir/usr/bin install
+
+ install -D -m0644 $srcdir/xl2tpd.conf.client-example $pkgdir/etc/xl2tpd/xl2tpd.conf.client-example
+ install -D -m0644 $srcdir/xl2tpd.conf.server-example $pkgdir/etc/xl2tpd/xl2tpd.conf.server-example
+ install -D -m0644 $srcdir/options.l2tpd $pkgdir/etc/ppp/options.l2tpd
+
+ install -Dm0644 $srcdir/xl2tpd.service $pkgdir/usr/lib/systemd/system/xl2tpd.service
+ install -Dm0644 $srcdir/xl2tpd.tmpfiles $pkgdir/usr/lib/tmpfiles.d/xl2tpd.conf
+}
diff --git a/community/xl2tpd/ipparam.patch b/community/xl2tpd/ipparam.patch
new file mode 100644
index 000000000..9c2fd8400
--- /dev/null
+++ b/community/xl2tpd/ipparam.patch
@@ -0,0 +1,36 @@
+diff -wbBur xl2tpd-1.2.8/control.c xl2tpd-1.2.8.my/control.c
+--- xl2tpd-1.2.8/control.c 2011-02-23 08:10:21.000000000 +0300
++++ xl2tpd-1.2.8.my/control.c 2011-03-25 21:29:29.896518014 +0300
+@@ -892,8 +892,8 @@
+ po = add_opt (po, c->lac->pppoptfile);
+ }
+ };
+- po = add_opt (po, "ipparam");
+- po = add_opt (po, IPADDY (t->peer.sin_addr));
++// po = add_opt (po, "ipparam");
++// po = add_opt (po, IPADDY (t->peer.sin_addr));
+ start_pppd (c, po);
+ opt_destroy (po);
+ if (c->lac)
+@@ -966,8 +966,8 @@
+ po = add_opt (po, "file");
+ po = add_opt (po, c->lns->pppoptfile);
+ }
+- po = add_opt (po, "ipparam");
+- po = add_opt (po, IPADDY (t->peer.sin_addr));
++// po = add_opt (po, "ipparam");
++// po = add_opt (po, IPADDY (t->peer.sin_addr));
+ start_pppd (c, po);
+ opt_destroy (po);
+ l2tp_log (LOG_NOTICE,
+@@ -1026,8 +1026,8 @@
+ po = add_opt (po, c->lac->pppoptfile);
+ }
+ };
+- po = add_opt (po, "ipparam");
+- po = add_opt (po, IPADDY (t->peer.sin_addr));
++// po = add_opt (po, "ipparam");
++// po = add_opt (po, IPADDY (t->peer.sin_addr));
+ start_pppd (c, po);
+
+ /* jz: just show some information */
diff --git a/community/xl2tpd/options.l2tpd b/community/xl2tpd/options.l2tpd
new file mode 100644
index 000000000..3030af4a7
--- /dev/null
+++ b/community/xl2tpd/options.l2tpd
@@ -0,0 +1,24 @@
+login
+lcp-echo-interval 10
+lcp-echo-failure 2
+noipx
+
+refuse-pap
+refuse-chap
+refuse-mschap
+
+require-mppe
+require-mschap-v2
+
+nodefaultroute
+proxyarp
+
+#bsdcomp
+#deflate
+#accomp
+#noccp
+#nopcomp
+#nopredictor1
+#novj
+#novjccomp
+#debug 7
diff --git a/community/xl2tpd/xl2tpd.conf.client-example b/community/xl2tpd/xl2tpd.conf.client-example
new file mode 100644
index 000000000..7420f940d
--- /dev/null
+++ b/community/xl2tpd/xl2tpd.conf.client-example
@@ -0,0 +1,19 @@
+[global]
+access control = no
+auth file = /etc/ppp/chap-secrets
+debug avp = no
+debug network = no
+debug packet = no
+debug state = no
+debug tunnel = no
+
+[lac <name>]
+lns = <host>
+redial = yes
+redial timeout = 5
+require chap = yes
+require authentication = no
+ppp debug = no
+pppoptfile = /etc/ppp/peers/<ppp-opts>
+require pap = no
+autodial = yes
diff --git a/community/xl2tpd/xl2tpd.conf.server-example b/community/xl2tpd/xl2tpd.conf.server-example
new file mode 100644
index 000000000..a967a3d5f
--- /dev/null
+++ b/community/xl2tpd/xl2tpd.conf.server-example
@@ -0,0 +1,21 @@
+[global]
+access control = yes
+auth file = /etc/ppp/chap-secrets
+debug avp = no
+debug network = no
+debug packet = no
+debug state = no
+debug tunnel = no
+
+[lns <name>]
+require chap = yes
+ppp debug = no
+pppoptfile = /etc/ppp/options.l2tpd
+require pap = no
+assign ip = yes
+hostname = <hostname>
+ip range = <range>
+local ip = <ip>
+challenge = no
+lac = <lacs>
+require authentication = no
diff --git a/community/xl2tpd/xl2tpd.service b/community/xl2tpd/xl2tpd.service
new file mode 100644
index 000000000..e55b9cb12
--- /dev/null
+++ b/community/xl2tpd/xl2tpd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Level 2 Tunnel Protocol Daemon (L2TP)
+After=syslog.target network.target
+After=ipsec.service
+# Some ISPs in Russia use l2tp without IPsec, so don't insist anymore
+#Wants=ipsec.service
+
+[Service]
+Type=simple
+PIDFile=/run/xl2tpd/xl2tpd.pid
+ExecStart=/usr/bin/xl2tpd -D
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/xl2tpd/xl2tpd.tmpfiles b/community/xl2tpd/xl2tpd.tmpfiles
new file mode 100644
index 000000000..139680eb2
--- /dev/null
+++ b/community/xl2tpd/xl2tpd.tmpfiles
@@ -0,0 +1 @@
+d /var/run/xl2tpd 0755 root root -
diff --git a/community/xloadimage/PKGBUILD b/community/xloadimage/PKGBUILD
new file mode 100644
index 000000000..3a4fa3b8f
--- /dev/null
+++ b/community/xloadimage/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 90113 2013-05-06 19:40:18Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Eric Belanger <belanger@astro.umontreal.ca>
+# Contributor: Link Dupont <link@subpop.net>
+
+pkgname=xloadimage
+pkgver=4.1
+pkgrel=13
+pkgdesc="An utility to view many different types of images under X11"
+arch=(i686 x86_64)
+#url="http://world.std.com/~jimf/xloadimage.html"
+url="http://sioseis.ucsd.edu/xloadimage.html"
+license=("MIT")
+depends=('libtiff' 'libpng' 'libx11' 'libxext')
+makedepends=('patch' 'imake')
+source=(http://archlinux-stuff.googlecode.com/files/xloadimage.$pkgver-1.tar.gz
+ license.txt
+ enable-image-types.patch
+ png15-tiff4.patch)
+md5sums=('86b42b1b628a9c00008b7deec21e1175'
+ 'cc16a51aeb5083b8ff07939dfe244130'
+ '3a2703925011276fd2d2bd139b676487'
+ 'c797cfc3f4588b96275d82c2c9cc7025')
+
+build() {
+ cd $srcdir/$pkgname.$pkgver
+
+ patch -p1 <$srcdir/enable-image-types.patch
+ patch -p1 <$srcdir/png15-tiff4.patch
+ xmkmf
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname.$pkgver
+
+ install -D -m755 xloadimage $pkgdir/usr/bin/xloadimage
+ install -D -m755 uufilter $pkgdir/usr/bin/uufilter
+ install -D -m644 xloadimagerc $pkgdir/etc/xloadimagerc.example
+ install -D -m644 xloadimage.man $pkgdir/usr/man/man1/xloadimage.1x
+ install -D -m644 uufilter.man $pkgdir/usr/man/man1/uufilter.1x
+ install -D -m644 $srcdir/license.txt $pkgdir/usr/share/licenses/$pkgname/license.txt
+ ln -s /usr/bin/xloadimage $pkgdir/usr/bin/xsetbg
+
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+}
diff --git a/community/xloadimage/enable-image-types.patch b/community/xloadimage/enable-image-types.patch
new file mode 100644
index 000000000..b61e36b87
--- /dev/null
+++ b/community/xloadimage/enable-image-types.patch
@@ -0,0 +1,74 @@
+diff -wbBur xloadimage.4.1/imagetypes.h xloadimage.4.1.my/imagetypes.h
+--- xloadimage.4.1/imagetypes.h 2011-02-11 11:47:37.000000000 +0000
++++ xloadimage.4.1.my/imagetypes.h 2011-02-11 16:04:35.000000000 +0000
+@@ -94,15 +94,9 @@
+ {niffIdent, niffLoad, niffDump, "niff", "Native Image File Format (NIFF)"},
+ {sunRasterIdent, sunRasterLoad, NULL, "sunraster", "Sun Rasterfile"},
+ {gifIdent, gifLoad, NULL, "gif", "GIF Image"},
+-#ifdef HAVE_LIBJPEG
+ {jpegIdent, jpegLoad, jpegDump, "jpeg", "JFIF-style JPEG Image"},
+-#endif
+-#ifdef HAVE_LIBTIFF
+ {tiffIdent, tiffLoad, tiffDump, "tiff", "TIFF image"},
+-#endif
+-#ifdef HAVE_LIBPNG
+ {pngIdent, pngLoad, NULL, "png", "PNG image"},
+-#endif
+ {fbmIdent, fbmLoad, NULL, "fbm", "FBM Image"},
+ {cmuwmIdent, cmuwmLoad, NULL, "cmuraster", "CMU WM Raster"},
+ {pbmIdent, pbmLoad, pbmDump, "pbm", "Portable Bit Map (PBM, PGM, PPM)"},
+diff -wbBur xloadimage.4.1/Imakefile xloadimage.4.1.my/Imakefile
+--- xloadimage.4.1/Imakefile 2011-02-11 12:05:53.000000000 +0000
++++ xloadimage.4.1.my/Imakefile 2011-02-11 16:06:21.000000000 +0000
+@@ -40,7 +40,7 @@
+ PNG_SRC = png.c
+ PNG_OBJ = png.o
+
+- EXTRA_DEFINES = $(TIFF_DEFS) $(JPEG_DEFS) $(PNG_DEFS)
++ EXTRA_DEFINES = $(TIFF_DEFS) $(JPEG_DEFS) $(PNG_DEFS) -DHAVE_LIBJPEG -DHAVE_LIBTIFF -DHAVE_LIBPNG
+ LOCAL_LIBRARIES = $(TIFF_LIB) $(JPEG_LIB) $(PNG_LIB) $(XLIB)
+
+ SRCS = new.c niff.c value.c zio.c cmuwmraster.c faces.c fbm.c gif.c imagetypes.c img.c mac.c mcidas.c mc_tables.c pbm.c pcx.c pdsuncomp.c rle.c rlelib.c sunraster.c vff.c vicar.c xbitmap.c xpixmap.c xwd.c bright.c clip.c compress.c dither.c fill.c halftone.c merge.c reduce.c rotate.c smooth.c undither.c zoom.c config.c misc.c options.c root.c send.c window.c xloadimage.c $(TIFF_SRC) $(JPEG_SRC) $(PNG_SRC)
+diff -wbBur xloadimage.4.1/Makefile xloadimage.4.1.my/Makefile
+--- xloadimage.4.1/Makefile 2011-02-11 12:06:16.000000000 +0000
++++ xloadimage.4.1.my/Makefile 2011-02-11 16:06:24.000000000 +0000
+@@ -2,7 +2,7 @@
+ # $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+ # ----------------------------------------------------------------------
+-# Makefile generated from "Imake.tmpl" and </tmp/IIf.yUZBVe>
++# Makefile generated from "Imake.tmpl" and </tmp/IIf.7u155R>
+ # $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $
+ # $XdotOrg: xc/config/cf/Imake.tmpl,v 1.9 2005/01/24 06:37:31 daniels Exp $
+ #
+@@ -1063,7 +1063,7 @@
+ PNG_SRC = png.c
+ PNG_OBJ = png.o
+
+- EXTRA_DEFINES = $(TIFF_DEFS) $(JPEG_DEFS) $(PNG_DEFS)
++ EXTRA_DEFINES = $(TIFF_DEFS) $(JPEG_DEFS) $(PNG_DEFS) -DHAVE_LIBJPEG -DHAVE_LIBTIFF -DHAVE_LIBPNG
+ LOCAL_LIBRARIES = $(TIFF_LIB) $(JPEG_LIB) $(PNG_LIB) $(XLIB)
+
+ SRCS = new.c niff.c value.c zio.c cmuwmraster.c faces.c fbm.c gif.c imagetypes.c img.c mac.c mcidas.c mc_tables.c pbm.c pcx.c pdsuncomp.c rle.c rlelib.c sunraster.c vff.c vicar.c xbitmap.c xpixmap.c xwd.c bright.c clip.c compress.c dither.c fill.c halftone.c merge.c reduce.c rotate.c smooth.c undither.c zoom.c config.c misc.c options.c root.c send.c window.c xloadimage.c $(TIFF_SRC) $(JPEG_SRC) $(PNG_SRC)
+diff -wbBur xloadimage.4.1/png.c xloadimage.4.1.my/png.c
+--- xloadimage.4.1/png.c 2011-02-11 11:47:37.000000000 +0000
++++ xloadimage.4.1.my/png.c 2011-02-11 16:06:50.000000000 +0000
+@@ -18,6 +18,7 @@
+ *
+ */
+
++#define _GETOPT_H
+
+ #include "image.h" /* xloadimage declarations */
+ #ifdef HAVE_LIBPNG
+diff -wbBur xloadimage.4.1/jpeg.c xloadimage.4.1.my/jpeg.c
+--- xloadimage.4.1/jpeg.c 2011-02-11 14:47:37.000000000 +0300
++++ xloadimage.4.1.my/jpeg.c 2011-11-21 14:32:30.000000000 +0400
+@@ -319,6 +319,7 @@
+ if (verbose)
+ printf(" Using arithmetic coding.\n");
+ cinfo->arith_code = TRUE;
++ }
+ #else
+ fprintf(stderr, "jpegDump: sorry, arithmetic coding not supported\n");
+ }
diff --git a/community/xloadimage/license.txt b/community/xloadimage/license.txt
new file mode 100644
index 000000000..be7eec597
--- /dev/null
+++ b/community/xloadimage/license.txt
@@ -0,0 +1,19 @@
+/*
+ * Copyright 1989, 1993 Jim Frost
+ *
+ * Permission to use, copy, modify, distribute, and sell this software
+ * and its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation. The author makes no representations
+ * about the suitability of this software for any purpose. It is
+ * provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+ * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
+ * USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
diff --git a/community/xloadimage/png15-tiff4.patch b/community/xloadimage/png15-tiff4.patch
new file mode 100644
index 000000000..8536e36f3
--- /dev/null
+++ b/community/xloadimage/png15-tiff4.patch
@@ -0,0 +1,50 @@
+diff -wbBur xloadimage.4.1/png.c xloadimage.4.1.my/png.c
+--- xloadimage.4.1/png.c 2011-02-11 14:47:37.000000000 +0300
++++ xloadimage.4.1.my/png.c 2012-01-19 11:58:44.000000000 +0400
+@@ -75,7 +75,7 @@
+ {
+ debug(" #error ");
+ output_warn( png_ptr, str);
+- longjmp(png_ptr->jmpbuf, 1); /* return control to outer routine */
++ longjmp(png_jmpbuf(png_ptr), 1); /* return control to outer routine */
+ }
+
+
+@@ -164,7 +164,7 @@
+ png_destroy_read_struct(png_pp, info_pp, end_pp);
+ return 0;
+ }
+- if (setjmp((*png_pp)->jmpbuf)) {
++ if (setjmp(png_jmpbuf(*png_pp))) {
+ /* On error */
+ png_destroy_read_struct(png_pp, info_pp, end_pp);
+ return 0;
+@@ -220,7 +220,7 @@
+ zclose(zinput_file);
+ return 0;
+ }
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ /* On error */
+ freeImage(image);
+ png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
+diff -wbBur xloadimage.4.1/tiff.c xloadimage.4.1.my/tiff.c
+--- xloadimage.4.1/tiff.c 2011-02-11 14:47:38.000000000 +0300
++++ xloadimage.4.1.my/tiff.c 2012-01-19 12:00:00.000000000 +0400
+@@ -34,14 +34,14 @@
+ struct tiff_info *info;
+ {
+ ZFILE *zf;
+- TIFFHeader th;
++ TIFFHeaderCommon th;
+ TIFF *tiff;
+
+ zf = zopen(fullname);
+
+ /* read TIFF header and see if it looks right
+ */
+- if ((zread(zf, (byte *)&th, sizeof(TIFFHeader)) == sizeof(TIFFHeader)) &&
++ if ((zread(zf, (byte *)&th, sizeof(TIFFHeaderCommon)) == sizeof(TIFFHeaderCommon)) &&
+ ((th.tiff_magic == TIFF_BIGENDIAN) ||
+ (th.tiff_magic == TIFF_LITTLEENDIAN))) {
+
diff --git a/community/xlockmore/LICENSE b/community/xlockmore/LICENSE
new file mode 100644
index 000000000..f0b9aa9c6
--- /dev/null
+++ b/community/xlockmore/LICENSE
@@ -0,0 +1,18 @@
+/*-
+ * xscreensaver compatibility layer for xlockmore modules.
+ * xscreensaver, Copyright (c) 1997, 1998 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ *
+ * This file, along with xlockmore.h, make it possible to compile an xlockmore
+ * module into a standalone program, and thus use it with xscreensaver.
+ * By Jamie Zawinski <jwz@jwz.org> on 10-May-97; based on the ideas
+ * in the older xlock.h by Charles Hannum <mycroft@ai.mit.edu>. (I had
+ * to redo it, since xlockmore has diverged so far from xlock...)
+ */
diff --git a/community/xlockmore/PKGBUILD b/community/xlockmore/PKGBUILD
new file mode 100644
index 000000000..dfbdd8fa0
--- /dev/null
+++ b/community/xlockmore/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 88423 2013-04-17 12:42:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: dorphell <dorphell@archlinux.org>
+
+pkgname=xlockmore
+pkgver=5.42
+pkgrel=1
+pkgdesc="screen saver / locker for the X Window System"
+arch=(i686 x86_64)
+license=('BSD')
+depends=(freetype2 gtk2 libxpm lesstif pam libxmu glu)
+optdepends=('fortune-mod')
+makedepends=(mesa)
+url="http://www.tux.org/~bagleyd/xlockmore.html"
+options=('!makeflags')
+source=(http://www.tux.org/~bagleyd/xlock/xlockmore-$pkgver/xlockmore-$pkgver.tar.bz2
+ LICENSE)
+md5sums=('de1dc31f686178703659fbb46d638518'
+ 'a64afab4283f53972a6702c2e59850d7')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --disable-setuid \
+ --enable-appdefaultdir=/usr/share/X11/app-defaults \
+ --enable-pam --with-gtk2 --without-esound --without-ftgl
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make xapploaddir=$pkgdir/usr/share/X11/app-defaults \
+ mandir=$pkgdir/usr/man/man1 \
+ prefix=$pkgdir/usr install
+ install -D -m644 ../LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+}
diff --git a/community/xml2/PKGBUILD b/community/xml2/PKGBUILD
new file mode 100644
index 000000000..75cc5d49d
--- /dev/null
+++ b/community/xml2/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 89943 2013-05-05 21:39:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Orivej Desh <masecretaire@gmx.fr>
+# Maintainer: Orivej Desh <masecretaire@gmx.fr>
+
+pkgname=xml2
+pkgver=0.5
+pkgrel=1
+pkgdesc="XML/Unix Processing Tools to convert XML and HTML to and from a line-oriented format more amenable to processing by classic Unix pipeline processing tools"
+arch=("i686" "x86_64")
+url="http://www.ofb.net/~egnor/xml2/"
+license=("GPL")
+depends=("libxml2")
+source=("http://download.ofb.net/gale/$pkgname-$pkgver.tar.gz")
+md5sums=('48eacf64b01ca3a4a5afb1a36f5906e6')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ cd "$pkgdir/usr/bin"
+ rm html2 2html
+ ln -s xml2 html2
+ ln -s 2xml 2html
+}
diff --git a/community/xmldiff/PKGBUILD b/community/xmldiff/PKGBUILD
new file mode 100644
index 000000000..a041c92fa
--- /dev/null
+++ b/community/xmldiff/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 65259 2012-02-20 12:39:55Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
+# Contributor: Sergej Pupykin <sergej@aur.archlinux.org>
+
+pkgname=xmldiff
+pkgver=0.6.10
+pkgrel=2
+pkgdesc="A python tool that figures out the differences between two similar XML files, in the same way the diff utility does it"
+arch=('i686' 'x86_64')
+url="http://www.logilab.org/project/xmldiff/"
+license=('GPL2')
+depends=('python2' 'libxslt' 'jade')
+optdepends=('docbook-xsl: render revision info')
+#source=(http://ftp.logilab.org/pub/$pkgname/$pkgname-$pkgver.tar.gz)
+source=(http://arch.p5n.pp.ru/~sergej/dl/2012/xmldiff-$pkgver.tar.gz)
+md5sums=('a61e6e95a130e3bd53f5ea5616cc5314')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's@^#!.*python$@#!/usr/bin/python2@' main.py
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+ install -m755 -d "$pkgdir/usr/share/man/man1"
+ install -m644 man/*.1 "$pkgdir/usr/share/man/man1"
+}
diff --git a/community/xmlrpc-c/PKGBUILD b/community/xmlrpc-c/PKGBUILD
new file mode 100644
index 000000000..7083d92a4
--- /dev/null
+++ b/community/xmlrpc-c/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 87246 2013-03-29 00:18:37Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Daenyth <Daenyth+Arch [at] gmail [dot] com>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: Vitaliy Berdinskikh <skipper13@root.ua>
+
+pkgname=xmlrpc-c
+pkgver=1.33.03
+pkgrel=1
+epoch=1
+pkgdesc='XML-RPC for C and C++'
+arch=('x86_64' 'i686')
+url='http://xmlrpc-c.sourceforge.net/'
+license=('custom')
+depends=('curl' 'libxml2')
+makedepends=('libtool' 'setconf')
+options=('!makeflags' '!libtool' '!emptydirs')
+source=("$pkgname-advanced-$pkgver.tar.gz::http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced/?view=tar")
+sha256sums=('5e52978f4c96591c9732b4e7a336a4abb75550b1403ba0ed59fb3ddd49595309')
+
+build() {
+ cd "$srcdir/advanced"
+
+ [ "$CARCH" != "i686" ] && export CFLAGS="$CFLAGS -fPIC"
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --enable-libxml2-backend \
+ --disable-cgi-server \
+ --disable-libwww-client \
+ --disable-wininet-client \
+ --enable-abyss \
+ --enable-cplusplus
+ mkdir include/curl
+ touch include/curl/types.h
+ make CFLAGS_PERSONAL="$CFLAGS"
+ make CFLAGS_PERSONAL="$CFLAGS" -C tools
+}
+
+package() {
+ cd "$srcdir/advanced"
+
+ make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" -C tools install
+ install -Dm644 doc/COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ # Remove references to build directory
+ setconf "$pkgdir/usr/bin/xmlrpc-c-config" BLDDIR ''
+ setconf "$pkgdir/usr/bin/xmlrpc-c-config" ABS_SRCDIR ''
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/xmlstarlet/PKGBUILD b/community/xmlstarlet/PKGBUILD
new file mode 100644
index 000000000..a701d2730
--- /dev/null
+++ b/community/xmlstarlet/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 83360 2013-01-30 09:39:18Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: PyroPeter <abi1789@googlemail.com>
+# Contributor: BlackEagle <ike.devolder@scarlet.be>
+# Contributor: chochem <chochem@gmail.com>
+
+pkgname=xmlstarlet
+pkgver=1.4.2
+pkgrel=1
+pkgdesc="A set of tools to transform, query, validate, and edit XML documents"
+arch=('i686' 'x86_64')
+url="http://xmlstar.sourceforge.net/"
+license=('MIT')
+depends=('libxslt>=1.1.9')
+source=("xmlstarlet-$pkgver.tar.gz::http://sourceforge.net/projects/xmlstar/files/xmlstarlet/$pkgver/xmlstarlet-$pkgver.tar.gz/download")
+md5sums=('ee8df42efd2417f74a1f5e3b7fe9e023')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ local xsltlibs=$(pkg-config --libs libxslt libexslt)
+ local xmllibs=$(pkg-config --libs libxml-2.0)
+
+ LIBXSLT_PREFIX=/usr \
+ LIBXML_PREFIX=/usr \
+ LIBXSLT_LIBS="${xsltlibs}" \
+ LIBXML_LIBS="${xmllibs}" \
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm0644 Copyright $pkgdir/usr/share/licenses/$pkgname/COPYING
+ ln -s xml ${pkgdir}/usr/bin/xmlstarlet
+}
diff --git a/community/xmms-imms/PKGBUILD b/community/xmms-imms/PKGBUILD
new file mode 100644
index 000000000..fd6a5cb94
--- /dev/null
+++ b/community/xmms-imms/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 83686 2013-02-04 11:06:53Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Kritoke <kritoke@nospam.gmail.com>
+# Contributor: Kritoke <kritoke@nospam.gmail.com>
+
+pkgname=xmms-imms
+pkgver=3.1.0_rc10
+pkgrel=1
+pkgdesc="An intelligent playlist plug-in for XMMS that tracks your listening patterns and dynamically adapts to your taste."
+arch=(i686 x86_64)
+license=("GPL")
+url="http://imms.luminal.org/"
+depends=('xmms' 'pcre' 'sqlite' 'taglib' 'glib2' 'sox' 'torch' 'libxss' 'fftw')
+replaces=('imms')
+source=(http://imms.googlecode.com/files/imms-${pkgver/_/-}.tar.bz2)
+md5sums=('61302249e9638779b3241987ab62676d')
+
+build() {
+ cd $srcdir/imms-${pkgver/_/-}
+
+ if [ $NOEXTRACT -ne 1 ]; then
+ autoheader
+ aclocal
+ autoconf
+ CXXFLAGS="$CXXFLAGS -DDEBUG=0" ./configure --prefix=/usr --disable-immsremote
+ fi
+
+ make
+ mkdir -p $pkgdir/usr/bin
+ make prefix=$pkgdir/usr DESTDIR=$pkgdir/usr/lib/xmms/General \
+ BMPDESTDIR=$pkgdir/usr/lib/bmp/General install
+}
diff --git a/community/xmms-pulse/ChangeLog b/community/xmms-pulse/ChangeLog
new file mode 100644
index 000000000..66fe9bdd3
--- /dev/null
+++ b/community/xmms-pulse/ChangeLog
@@ -0,0 +1,4 @@
+2007-11-13 Corrado Primier <bardo@aur.archlinux.org>
+
+ * Adopted
+ * Release bump to 0.9.4
diff --git a/community/xmms-pulse/PKGBUILD b/community/xmms-pulse/PKGBUILD
new file mode 100644
index 000000000..019e8a140
--- /dev/null
+++ b/community/xmms-pulse/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 68002 2012-03-17 00:12:40Z giovanni $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=xmms-pulse
+pkgver=0.9.4
+pkgrel=3
+pkgdesc="An XMMS output plugin for the PulseAudio sound server"
+arch=('i686' 'x86_64')
+url="http://0pointer.de/lennart/projects/xmms-pulse"
+license=('GPL')
+depends=('xmms' 'pulseaudio')
+groups=('xmms-plugins' 'xmms-io-plugins')
+options=('!libtool')
+source=("http://0pointer.de/lennart/projects/xmms-pulse/${pkgname}-${pkgver}.tar.gz")
+md5sums=('c879939a6242f07b69298b30bcdeb6c5')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr \
+ --disable-lynx
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community/xmms-volnorm/PKGBUILD b/community/xmms-volnorm/PKGBUILD
new file mode 100644
index 000000000..01e680d1a
--- /dev/null
+++ b/community/xmms-volnorm/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 67715 2012-03-14 08:23:40Z ebelanger $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=xmms-volnorm
+pkgver=0.8.3
+pkgrel=5
+pkgdesc="A XMMS plug-in to normalize the volume"
+arch=('i686' 'x86_64')
+url="http://volnorm.sourceforge.net/"
+license=('GPL')
+depends=('xmms')
+groups=('xmms-plugins')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/volnorm/volnorm-${pkgver}.tar.gz)
+sha1sums=('6c5ba86aed257514c6f94febeea1668f1b18a04d')
+
+build() {
+ cd "${srcdir}/volnorm-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/volnorm-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+# removing useless executables
+ rm -r "${pkgdir}/usr/bin"
+}
diff --git a/community/xmms2/PKGBUILD b/community/xmms2/PKGBUILD
new file mode 100644
index 000000000..46e0b30f6
--- /dev/null
+++ b/community/xmms2/PKGBUILD
@@ -0,0 +1,93 @@
+# $Id: PKGBUILD 92871 2013-06-17 10:57:56Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xmms2
+pkgver=0.8DrO_o
+pkgrel=18
+pkgdesc="complete rewrite of the popular music player"
+arch=('i686' 'x86_64')
+url="http://xmms2.org/"
+license=('LGPL')
+backup=('etc/conf.d/xmms2d.conf')
+depends=('sqlite' 'libmad')
+makedepends=('alsa-lib' 'boost' 'curl' 'faad2' 'ffmpeg' 'fftw' 'flac' 'glib'
+ 'jack' 'libao' 'libmms' 'libmpcdec' 'libofa' 'libsamplerate' 'libshout'
+ 'libdiscid' 'libcdio-paranoia'
+ 'libvorbis' 'libxml2' 'mpg123' 'oss' 'perl' 'pulseaudio' 'pyrex'
+ 'ruby' 'smbclient' 'speex' 'wavpack' 'libmodplug' 'python' 'python2' 'libgme' 'avahi')
+optdepends=('alsa-lib: ALSA audio output'
+ 'avahi: announce xmms2d via bonjour/mDNS/zeroconf'
+ 'boost: C++ language bindings'
+ 'curl: play HTTP streams'
+ 'faad2: AAC support'
+ 'ffmpeg: WMA, avcodec & avformat support'
+ 'fftw: calculations for visualization'
+ 'flac: FLAC support'
+ 'jack: JACK audio output'
+ 'libao: liboa audio output'
+ 'libgme: game-music-emu support'
+ 'libdiscid: cdda support'
+ 'libcdio-paranoia: cdda support'
+ 'libofa: MusicDNS fingerprinting'
+ 'libmms: play MMS streams'
+ 'libmodplug: to play MOD files'
+ 'libmpcdec: Musepack support'
+ 'libsamplerate: vocoder support'
+ 'libshout: Icecast audio output'
+ 'libvorbis: Ogg Vorbis support'
+ 'libxml2: XSPF and podcast support'
+ 'mpg123: alternative MP3 plugin'
+ 'oss: OSS audio output'
+ 'perl: Perl language bindings'
+ 'pulseaudio: PulseAudio audio output'
+ 'pyrex: Python language bindings'
+ 'ruby: Ruby language bindings'
+ 'smbclient: direct CIFS/SMB access'
+ 'speex: Speex support'
+ 'wavpack: WavPack support')
+# 'sidplay: to play a Commodore 64 music files AKA zaks'
+# we do not have sidplay 2 series in repos; also it's
+# somehow connected with resid i guess(not in repos also)
+conflicts=('xmms2-devel')
+install=xmms2.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ "xmms2d.conf"
+ "xmms2d.service"
+ "ffmpeg-0.11.diff")
+md5sums=('84d5c05a70bfd31ed392a4e3f701eaa3'
+ 'af13c937bf3c86b77ae6820107aab9b8'
+ '47e68461589578e8a99857746c5b6f29'
+ 'e176971ef96807f72fa8fc17d260c20a')
+
+build() {
+ cd xmms2-${pkgver}/src/plugins/avcodec/
+ # remove call to avcodec_init
+ # http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=3211932c513338566b31d990d06957e15a644d13
+ patch -Np0 -i ${srcdir}/ffmpeg-0.11.diff
+
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # python2 fix
+# sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' waf
+ sed -i 's|#include <cdio/cdda.h>|#include <cdio/paranoia/cdda.h>|' src/plugins/cdda/cdda.c
+ sed -i 's|libsmbclient.h|samba-4.0/libsmbclient.h|' src/plugins/samba/{samba.c,wscript}
+
+ ./waf configure --prefix=/usr \
+ --with-optionals=python,launcher,xmmsclient++,xmmsclient++-glib,perl,ruby,nycli,pixmaps,et,mdns,medialib-updater \
+ --with-ruby-archdir=`ruby -e 'puts RbConfig::CONFIG["vendorarchdir"]'` \
+ --with-ruby-libdir=`ruby -e 'puts RbConfig::CONFIG["vendorlibdir"]'`
+ ./waf build
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./waf --destdir=${pkgdir} install
+
+ PYTHON=/usr/bin/python2 ./waf configure --prefix=/usr --with-optionals=python --without-xmms2d
+ ./waf build
+ ./waf --destdir=${pkgdir} install
+
+ install -Dm0644 $srcdir/xmms2d.conf ${pkgdir}/etc/conf.d/xmms2d.conf
+ install -Dm0644 $srcdir/xmms2d.service $pkgdir/usr/lib/systemd/system/xmms2d.service
+}
diff --git a/community/xmms2/ffmpeg-0.11.diff b/community/xmms2/ffmpeg-0.11.diff
new file mode 100644
index 000000000..91d3a3106
--- /dev/null
+++ b/community/xmms2/ffmpeg-0.11.diff
@@ -0,0 +1,10 @@
+--- avcodec.c.orig 2012-06-07 15:08:23.796225671 -0500
++++ avcodec.c 2012-06-07 15:08:36.649489373 -0500
+@@ -134,7 +134,6 @@
+
+ xmms_xform_private_data_set (xform, data);
+
+- avcodec_init ();
+ avcodec_register_all ();
+
+ mimetype = xmms_xform_indata_get_str (xform,
diff --git a/community/xmms2/vorbis-albumart.patch b/community/xmms2/vorbis-albumart.patch
new file mode 100644
index 000000000..de4305f6f
--- /dev/null
+++ b/community/xmms2/vorbis-albumart.patch
@@ -0,0 +1,200 @@
+From f38882beb1c9b4f3e3c63ac7d65603ad5917cd9d Mon Sep 17 00:00:00 2001
+From: Brad Jorsch <anomie@users.sourceforge.net>
+Date: Tue, 09 Mar 2010 15:41:33 +0000
+Subject: OTHER: Add support for METADATA_BLOCK_PICTURE in Vorbis plugin
+
+Bug-Debian: http://bugs.debian.org/565479
+---
+diff --git a/src/plugins/vorbis_common/common.c b/src/plugins/vorbis_common/common.c
+index c1f4ef9..fc4ff1b 100644
+--- a/src/plugins/vorbis_common/common.c
++++ b/src/plugins/vorbis_common/common.c
+@@ -243,6 +243,74 @@ get_replaygain (xmms_xform_t *xform, vorbis_comment *vc)
+ }
+ }
+
++static void
++handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len)
++{
++ guint32 typ, mime_len, desc_len, img_len;
++ guchar *pos, *end, *mime_data, *img_data;
++ gchar hash[33];
++
++ pos = value;
++ end = value + len;
++
++ if (pos + 4 > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++ typ = GUINT32_FROM_BE (*(guint32 *)pos);
++ if (typ != 0 && typ != 3) {
++ XMMS_DBG ("Picture type %d not handled", typ);
++ return;
++ }
++ pos += 4;
++
++ if (pos + 4 > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++ mime_len = GUINT32_FROM_BE (*(guint32 *)pos);
++ pos += 4;
++ mime_data = pos;
++ pos += mime_len;
++
++ if (pos + 4 > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++ desc_len = GUINT32_FROM_BE (*(guint32 *)pos);
++ pos += 4;
++ pos += desc_len;
++
++ pos += 4; /* width */
++ pos += 4; /* height */
++ pos += 4; /* depth */
++ pos += 4; /* indexed palette length */
++
++ if (pos + 4 > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++ img_len = GUINT32_FROM_BE (*(guint32 *)pos);
++ pos += 4;
++ img_data = pos;
++
++ if (img_data + img_len > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++
++ if (xmms_bindata_plugin_add ((const guchar *)img_data, img_len, hash)) {
++ const gchar *metakey;
++
++ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT;
++ xmms_xform_metadata_set_str (xform, metakey, hash);
++
++ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT_MIME;
++ mime_data[mime_len] = '\0';
++ xmms_xform_metadata_set_str (xform, metakey, mime_data);
++ }
++}
++
+ /* note that "key" is NOT NUL-terminated here,
+ * but "value" is.
+ */
+@@ -253,6 +321,14 @@ handle_comment (xmms_xform_t *xform,
+ {
+ gint i;
+
++ if (!g_ascii_strncasecmp (key, "METADATA_BLOCK_PICTURE", key_len)) {
++ gsize dlen;
++ gchar *dvalue = g_base64_decode (value, &dlen);
++ handle_image_comment (xform, dvalue, dlen);
++ g_free (dvalue);
++ return;
++ }
++
+ for (i = 0; i < G_N_ELEMENTS (properties); i++) {
+ if (key_len != strlen (properties[i].vname))
+ continue;
+--
+cgit v0.8.3.4
+
+
+From d8273630bd92ecea581240ae93c6795cc538d076 Mon Sep 17 00:00:00 2001
+From: Erik Massop <e.massop@hccnet.nl>
+Date: Tue, 09 Mar 2010 15:45:03 +0000
+Subject: OTHER: Add Brad Jorsch to AUTHORS, disable Vorbis albumart for glib < 2.12
+
+(Name found using e-mail address at http://sourceforge.net/users/anomie )
+---
+diff --git a/AUTHORS b/AUTHORS
+index f2ef9af..7331d4b 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -146,6 +146,10 @@ N: Johannes Jordan
+ E: ypnos@lanrules.de
+ D: Visualization
+
++N: Brad Jorsch
++E: anomie@users.sourceforge.net
++D: Support for front picture from Vorbis.
++
+ N: Daniel Kamiński
+ E: maniel.rulez@gmail.com
+ D: mlib remove command in cli, Ruby fixes.
+diff --git a/src/plugins/vorbis_common/common.c b/src/plugins/vorbis_common/common.c
+index fc4ff1b..ab1dc75 100644
+--- a/src/plugins/vorbis_common/common.c
++++ b/src/plugins/vorbis_common/common.c
+@@ -27,6 +27,7 @@
+ #include "xmms/xmms_sample.h"
+ #include "xmms/xmms_log.h"
+ #include "xmms/xmms_medialib.h"
++#include "xmms/xmms_bindata.h"
+
+ #include <glib.h>
+
+@@ -244,12 +245,22 @@ get_replaygain (xmms_xform_t *xform, vorbis_comment *vc)
+ }
+
+ static void
+-handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len)
++handle_image_comment (xmms_xform_t *xform, const gchar *encoded_value)
+ {
++ gsize len;
++ guchar *value;
++
+ guint32 typ, mime_len, desc_len, img_len;
+ guchar *pos, *end, *mime_data, *img_data;
+ gchar hash[33];
+
++#if GLIB_CHECK_VERSION(2,12,0)
++ value = g_base64_decode (encoded_value, &len);
++#else
++ /* TODO: Implement/backport base64 decoding */
++ return;
++#endif
++
+ pos = value;
+ end = value + len;
+
+@@ -299,7 +310,7 @@ handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len)
+ return;
+ }
+
+- if (xmms_bindata_plugin_add ((const guchar *)img_data, img_len, hash)) {
++ if (xmms_bindata_plugin_add (img_data, img_len, hash)) {
+ const gchar *metakey;
+
+ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT;
+@@ -307,8 +318,10 @@ handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len)
+
+ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT_MIME;
+ mime_data[mime_len] = '\0';
+- xmms_xform_metadata_set_str (xform, metakey, mime_data);
++ xmms_xform_metadata_set_str (xform, metakey, (gchar *)mime_data);
+ }
++
++ g_free (value);
+ }
+
+ /* note that "key" is NOT NUL-terminated here,
+@@ -322,10 +335,7 @@ handle_comment (xmms_xform_t *xform,
+ gint i;
+
+ if (!g_ascii_strncasecmp (key, "METADATA_BLOCK_PICTURE", key_len)) {
+- gsize dlen;
+- gchar *dvalue = g_base64_decode (value, &dlen);
+- handle_image_comment (xform, dvalue, dlen);
+- g_free (dvalue);
++ handle_image_comment (xform, value);
+ return;
+ }
+
+--
+cgit v0.8.3.4
+
+
diff --git a/community/xmms2/xmms2-helpers.patch b/community/xmms2/xmms2-helpers.patch
new file mode 100644
index 000000000..f6e6aa49e
--- /dev/null
+++ b/community/xmms2/xmms2-helpers.patch
@@ -0,0 +1,13 @@
+diff -wbBur xmms2-0.5DrLecter/src/include/xmmsclient/xmmsclient++/helpers.h xmms2-0.5DrLecter.my/src/include/xmmsclient/xmmsclient++/helpers.h
+--- xmms2-0.5DrLecter/src/include/xmmsclient/xmmsclient++/helpers.h 2008-06-15 21:31:38.000000000 +0400
++++ xmms2-0.5DrLecter.my/src/include/xmmsclient/xmmsclient++/helpers.h 2008-06-18 14:22:24.000000000 +0400
+@@ -33,6 +33,8 @@
+ #include <list>
+ #include <vector>
+
++#include <linux/limits.h>
++
+ namespace Xmms
+ {
+
+
diff --git a/community/xmms2/xmms2-ruby-1.9.patch b/community/xmms2/xmms2-ruby-1.9.patch
new file mode 100644
index 000000000..6316ace61
--- /dev/null
+++ b/community/xmms2/xmms2-ruby-1.9.patch
@@ -0,0 +1,59 @@
+diff -wbBur xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_collection.c xmms2-0.6DrMattDestruction.my/src/clients/lib/ruby/rb_collection.c
+--- xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_collection.c 2009-04-21 17:51:11.000000000 +0000
++++ xmms2-0.6DrMattDestruction.my/src/clients/lib/ruby/rb_collection.c 2009-09-14 09:13:19.000000000 +0000
+@@ -241,10 +241,10 @@
+ COLL_METHOD_HANDLER_HEADER
+
+ rb_ary = RARRAY (ids);
+- ary = malloc (sizeof (unsigned int *) * (rb_ary->len + 1));
++ ary = malloc (sizeof (unsigned int *) * (RARRAYLEN(rb_ary) + 1));
+
+- for (i = 0; i < rb_ary->len; i++)
+- ary[i] = NUM2UINT (rb_ary->ptr[i]);
++ for (i = 0; i < RARRAYLEN(rb_ary); i++)
++ ary[i] = NUM2UINT (RARRAY_PTR(rb_ary)[i]);
+
+ ary[i] = 0;
+
+diff -wbBur xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_xmmsclient.c xmms2-0.6DrMattDestruction.my/src/clients/lib/ruby/rb_xmmsclient.c
+--- xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_xmmsclient.c 2009-04-21 17:51:11.000000000 +0000
++++ xmms2-0.6DrMattDestruction.my/src/clients/lib/ruby/rb_xmmsclient.c 2009-09-14 09:14:51.000000000 +0000
+@@ -1421,10 +1421,10 @@
+ if (!NIL_P (rb_check_array_type (value))) {
+ struct RArray *ary = RARRAY (value);
+
+- ret = malloc (sizeof (char *) * (ary->len + 1));
++ ret = malloc (sizeof (char *) * (RARRAYLEN(ary) + 1));
+
+- for (i = 0; i < ary->len; i++)
+- ret[i] = StringValuePtr (ary->ptr[i]);
++ for (i = 0; i < RARRAYLEN(ary); i++)
++ ret[i] = StringValuePtr (RARRAY_PTR(ary)[i]);
+
+ ret[i] = NULL;
+ } else {
+@@ -1451,10 +1451,10 @@
+ struct RArray *ary = RARRAY (value);
+ int i;
+
+- for (i = 0; i < ary->len; i++) {
++ for (i = 0; i < RARRAYLEN(ary); i++) {
+ xmmsv_t *elem;
+
+- elem = xmmsv_new_string (StringValuePtr (ary->ptr[i]));
++ elem = xmmsv_new_string (StringValuePtr (RARRAY_PTR(ary)[i]));
+ xmmsv_list_append (list, elem);
+ xmmsv_unref (elem);
+ }
+diff -wbBur xmms2-0.6DrMattDestruction/src/include/xmmsclient/xmmsclient++/helpers.h xmms2-0.6DrMattDestruction.my/src/include/xmmsclient/xmmsclient++/helpers.h
+--- xmms2-0.6DrMattDestruction/src/include/xmmsclient/xmmsclient++/helpers.h 2009-04-21 17:51:11.000000000 +0000
++++ xmms2-0.6DrMattDestruction.my/src/include/xmmsclient/xmmsclient++/helpers.h 2009-09-14 09:00:11.000000000 +0000
+@@ -33,6 +33,8 @@
+ #include <list>
+ #include <vector>
+
++#include <linux/limits.h>
++
+ namespace Xmms
+ {
+
diff --git a/community/xmms2/xmms2.install b/community/xmms2/xmms2.install
new file mode 100644
index 000000000..2205a3492
--- /dev/null
+++ b/community/xmms2/xmms2.install
@@ -0,0 +1,3 @@
+pre_install() {
+ echo "-- DO NOT FORGET edit /etc/conf.d/xmms2.conf!"
+}
diff --git a/community/xmms2/xmms2d.conf b/community/xmms2/xmms2d.conf
new file mode 100644
index 000000000..c8304fe1d
--- /dev/null
+++ b/community/xmms2/xmms2d.conf
@@ -0,0 +1,31 @@
+#
+# xmms2-launcher cmdline parameters
+#
+XMMS2_PARAMETERS=""
+
+#
+# xmms2 user
+# You may want to add user to run xmms or use your username
+#
+XMMS2_USER="xmms2user"
+
+#
+# If you set XMMS2_USER to a different user than the one who will be controlling
+# xmms2d using xmms2 clients, make sure that the clients are aware of the path to
+# xmms2d's IPC socket, or they might not be able to connect. On failure to connect
+# some clients will try to run xmms2d themselves. These xmms2d instances will of
+# course run as the user running the client, and not as the one configured below.
+#
+# If an IPC path is specified on the command line to xmms2d (using
+# XMMS2_PARAMETERS="-i tcp://127.0.0.1:9667"
+# for instance) that will be used. If not, xmms2d will use the path from its
+# configuration file which is typically in ~/.config/xmms2/xmms2.conf. If this
+# fails, a unix socket at /tmp/xmms-ipc-[username] will be used, where username
+# is of the user starting xmms2d.
+#
+# Clients typically try to get the ipc path from the XMMS_PATH environment variable,
+# (which might be set by adding say 'export XMMS_PATH="tcp://127.0.0.1:9667"' to
+# ~/.profile). If this fails they can check their configuration file (if they have
+# one) and finally use unix:///tmp/xmms-ipc-[username], where username is of the user
+# starting the client. Upon failing to connect some will try to start xmms2d themselves.
+#
diff --git a/community/xmms2/xmms2d.service b/community/xmms2/xmms2d.service
new file mode 100644
index 000000000..6adcf207f
--- /dev/null
+++ b/community/xmms2/xmms2d.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=XMMS2 daemon
+After=network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/xmms2d.conf
+ExecStart=/bin/su -c '/usr/bin/xmms2-launcher $XMMS2_PARAMETERS &>/dev/null' - $XMMS2_USER
+ExecStop=/bin/su -c '/usr/bin/xmms2 quit &>/dev/null' - $XMMS2_USER
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/xmmsctrl/PKGBUILD b/community/xmmsctrl/PKGBUILD
new file mode 100644
index 000000000..10e4566d6
--- /dev/null
+++ b/community/xmmsctrl/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 65261 2012-02-20 12:40:39Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: FJ <joostef@gmail.com>
+
+pkgname=xmmsctrl
+pkgver=1.9
+pkgrel=3
+pkgdesc="An XMMS console control application"
+arch=('i686' 'x86_64')
+url="http://www.cs.aau.dk/~adavid/utils/"
+license=("GPL")
+depends=('xmms')
+source=("http://www.cs.aau.dk/~adavid/utils/$pkgname-$pkgver.tar.gz")
+md5sums=('7da9cb73daeeec99bfdaa93dd2862ea6')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+ install -D -m 755 xmmsctrl ${pkgdir}/usr/bin/xmmsctrl
+}
diff --git a/community/xmobar/PKGBUILD b/community/xmobar/PKGBUILD
new file mode 100644
index 000000000..1f62f28c3
--- /dev/null
+++ b/community/xmobar/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 92482 2013-06-06 20:06:10Z jelle $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+pkgname=xmobar
+pkgver=0.18
+pkgrel=1
+pkgdesc="A Minimalistic Text Based Status Bar"
+url="http://hackage.haskell.org/package/xmobar"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('gmp' 'libxft' 'libxinerama' 'wireless_tools' 'libxrandr')
+makedepends=('ghc=7.6.3-1' 'haskell-x11=1.6.1.1-3' 'haskell-x11-xft=0.3.1-9' 'haskell-utf8-string=0.3.7-5'
+ 'haskell-stm=2.4.2-2' 'haskell-parsec=3.1.3-3' 'haskell-mtl=2.1.2-3' 'haskell-regex-compat')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/xmobar/$pkgver/xmobar-$pkgver.tar.gz)
+
+build() {
+ cd ${srcdir}/xmobar-$pkgver
+
+ runhaskell Setup configure --disable-optimization --prefix=/usr --flags="with_utf8 with_xft with_iwlib"
+ runhaskell Setup build
+}
+
+package() {
+ cd ${srcdir}/xmobar-$pkgver
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 license ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
+
+md5sums=('4d0502fa75cd51ff23e41e1711f25adb')
diff --git a/community/xmobar/xmobar-0.15-haskell-mtl.patch b/community/xmobar/xmobar-0.15-haskell-mtl.patch
new file mode 100644
index 000000000..bee3dc354
--- /dev/null
+++ b/community/xmobar/xmobar-0.15-haskell-mtl.patch
@@ -0,0 +1,12 @@
+diff -aur xmobar-0.15.old/xmobar.cabal xmobar-0.15/xmobar.cabal
+--- xmobar-0.15.old/xmobar.cabal 2012-06-11 17:04:21.422444926 +0000
++++ xmobar-0.15/xmobar.cabal 2012-06-11 17:05:16.772001865 +0000
+@@ -112,7 +112,7 @@
+ time,
+ filepath,
+ X11 == 1.6.*,
+- mtl == 2.0.*,
++ mtl >= 2.0 && <2.2,
+ parsec == 3.1.*,
+ stm == 2.3.*
+
diff --git a/community/xmonad-contrib/PKGBUILD b/community/xmonad-contrib/PKGBUILD
new file mode 100644
index 000000000..30b913ea4
--- /dev/null
+++ b/community/xmonad-contrib/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 89335 2013-04-28 16:53:08Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: orbisvicis <gmail.com>
+
+pkgname=xmonad-contrib
+pkgver=0.11
+pkgrel=7
+pkgdesc="Add-ons for xmonad"
+arch=('i686' 'x86_64')
+url="http://xmonad.org/"
+license=('BSD')
+depends=('ghc=7.6.3-1' 'xmonad=0.11-6' 'sh' 'haskell-x11=1.6.1.1-3' 'haskell-x11-xft=0.3.1-9' 'haskell-utf8-string=0.3.7-5' 'haskell-random=1.0.1.1-5')
+install='xmonad-contrib.install'
+source=(http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz xmonad-contrib-remove-getatomname.patch)
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np1 -i $srcdir/xmonad-contrib-remove-getatomname.patch
+
+ runhaskell Setup.lhs configure --ghc --enable-shared --enable-split-objs --prefix=/usr -fuse_xft \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -D -m744 register.sh $pkgdir/usr/share/haskell/$pkgname/register.sh
+ install -m744 unregister.sh $pkgdir/usr/share/haskell/$pkgname/unregister.sh
+ runhaskell Setup.lhs copy --destdir=$pkgdir
+ install -D LICENSE $pkgdir/usr/share/licenses/xmonad-contrib/LICENSE
+}
+md5sums=('05fba258ac6063e49b50786a0869bd1f'
+ '1d1fab94ae24b2a8f6a5dcd9cd6d9548')
diff --git a/community/xmonad-contrib/xmonad-contrib-remove-getatomname.patch b/community/xmonad-contrib/xmonad-contrib-remove-getatomname.patch
new file mode 100644
index 000000000..92ea9bddf
--- /dev/null
+++ b/community/xmonad-contrib/xmonad-contrib-remove-getatomname.patch
@@ -0,0 +1,19 @@
+diff -aur xmonad-contrib-0.11/XMonad/Hooks/DebugEvents.hs xmonad-contrib.new/XMonad/Hooks/DebugEvents.hs
+--- xmonad-contrib-0.11/XMonad/Hooks/DebugEvents.hs 2013-01-01 01:32:44.000000000 +0000
++++ xmonad-contrib.new/XMonad/Hooks/DebugEvents.hs 2013-03-18 07:54:52.082723862 +0000
+@@ -50,6 +50,7 @@
+ import System.Process
+
+ -- this should move into X11
++{-
+ foreign import ccall unsafe "XGetAtomName"
+ xGetAtomName :: Display -> Atom -> IO CString
+
+@@ -63,6 +64,7 @@
+ xFree n
+ return $ Just n'
+
++-}
+ -- | Event hook to dump all received events. You should probably not use this
+ -- unconditionally; it will produce massive amounts of output.
+ debugEventsHook :: Event -> X All
diff --git a/community/xmonad-contrib/xmonad-contrib.install b/community/xmonad-contrib/xmonad-contrib.install
new file mode 100644
index 000000000..e9208c833
--- /dev/null
+++ b/community/xmonad-contrib/xmonad-contrib.install
@@ -0,0 +1,17 @@
+HS_DIR=usr/share/haskell/xmonad-contrib
+
+post_install() {
+ ${HS_DIR}/register.sh
+}
+
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_upgrade() {
+ ${HS_DIR}/register.sh
+}
+
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
diff --git a/community/xmonad/PKGBUILD b/community/xmonad/PKGBUILD
new file mode 100644
index 000000000..658c18cbd
--- /dev/null
+++ b/community/xmonad/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 89334 2013-04-28 16:53:06Z td123 $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: shild <shildv@gmail.com>
+
+pkgname=xmonad
+pkgver=0.11
+pkgrel=6
+pkgdesc="Lightweight X11 tiled window manager written in Haskell"
+arch=('i686' 'x86_64')
+url="http://xmonad.org/"
+license=('BSD')
+depends=('ghc=7.6.3-1' 'gmp' 'haskell-x11=1.6.1.1-3' 'sh' 'haskell-mtl=2.1.2-3' 'haskell-utf8-string=0.3.7-5' 'haskell-extensible-exceptions=0.1.1.4-5')
+makedepends=('gendesk')
+optdepends=('xorg-xmessage: for displaying visual error messages')
+install='xmonad.install'
+source=("http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz"
+ 'xmonad.svg')
+md5sums=('5ac9dc1dae5e85dcbdfb9f70cbe312c1'
+ '72bfa5e62e4e44fe7fa59b6a7593d993')
+
+build() {
+ cd "$srcdir"
+ ghc-pkg list
+ gendesk
+
+ cd $srcdir/$pkgname-$pkgver
+
+ runhaskell Setup.lhs configure --ghc --enable-shared --enable-split-objs --prefix=/usr \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -D -m744 register.sh $pkgdir/usr/share/haskell/$pkgname/register.sh
+ install -m744 unregister.sh $pkgdir/usr/share/haskell/$pkgname/unregister.sh
+ runhaskell Setup.lhs copy --destdir=$pkgdir
+
+ #runhaskell util/GenerateManpage.hs
+
+ install -D -m644 man/xmonad.1 $pkgdir/usr/share/man/man1/xmonad.1
+
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/xmonad/LICENSE
+
+ install -D -m644 $srcdir/xmonad.svg $pkgdir/usr/share/pixmaps/xmonad.svg
+}
diff --git a/community/xmonad/xmonad-gnome-session.session b/community/xmonad/xmonad-gnome-session.session
new file mode 100644
index 000000000..c0bd16781
--- /dev/null
+++ b/community/xmonad/xmonad-gnome-session.session
@@ -0,0 +1,6 @@
+[GNOME Session]
+Name=Xmonad session
+RequiredComponents=gnome-panel;gnome-settings-daemon;
+RequiredProviders=windowmanager;notifications;
+DefaultProvider-windowmanager=xmonad
+DefaultProvider-notifications=notification-daemon
diff --git a/community/xmonad/xmonad.install b/community/xmonad/xmonad.install
new file mode 100644
index 000000000..6659247db
--- /dev/null
+++ b/community/xmonad/xmonad.install
@@ -0,0 +1,22 @@
+HS_DIR=/usr/share/haskell/xmonad
+
+post_install() {
+ ${HS_DIR}/register.sh
+ echo "xmonad now has dynamic configuration via ~/.xmonad/xmonad.hs"
+ echo "See http://haskell.org/haskellwiki/Xmonad/Config_archive for examples"
+ echo
+ echo "If you would like to run xmonad as a window manager inside GNOME, please see"
+ echo "http://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Setting_up_Gnome_to_use_Xmonad"
+}
+
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_upgrade() {
+ ${HS_DIR}/register.sh
+}
+
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
diff --git a/community/xmonad/xmonad.svg b/community/xmonad/xmonad.svg
new file mode 100644
index 000000000..5fc884213
--- /dev/null
+++ b/community/xmonad/xmonad.svg
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2211"
+ sodipodi:version="0.32"
+ inkscape:version="0.45.1"
+ width="47"
+ height="73"
+ version="1.0"
+ sodipodi:docbase="/home/sjanssen/xmonad-web/images"
+ sodipodi:docname="logo.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/sjanssen/xmonad-web/images/logo.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <metadata
+ id="metadata2216">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs2214" />
+ <sodipodi:namedview
+ inkscape:window-height="778"
+ inkscape:window-width="1278"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="1"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="4"
+ inkscape:cx="23.5"
+ inkscape:cy="22.689137"
+ inkscape:window-x="0"
+ inkscape:window-y="20"
+ inkscape:current-layer="g3208" />
+ <g
+ id="g3208"
+ transform="translate(-44.517797,4.0967298)">
+ <g
+ id="g3212"
+ transform="matrix(1.0216109,0,0,1.0127041,45.533715,-4.3577662)">
+ <path
+ style="font-size:73.7244339px;font-style:normal;font-weight:normal;fill:#aeaeae;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ d="M 22.62043,20.307707 L 36.04778,0.32867349 L 43.859402,0.32867349 L 26.580238,26.139425 L 22.080456,31.215179 L 6.8531925,54.074074 L -0.9944279,54.074074 L 18.192644,25.383462"
+ id="text2220"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path3206"
+ d="M 1.4534537,0.32867349 L 9.2650758,0.32867349 L 45.011347,54.074074 L 37.199725,54.074074 L 22.080456,31.215179 L 6.8531925,54.074074 L -0.9944279,54.074074 L 18.192644,25.383462 L 1.4534537,0.32867349"
+ style="font-size:73.7244339px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ sodipodi:nodetypes="ccccccccc" />
+ </g>
+ <path
+ style="font-size:28.207407px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ee0a00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans Mono"
+ d="M 44.517797,65.480602 L 55.836194,59.828049 L 44.517797,54.228655 L 44.517797,51.056847 L 58.809298,58.321883 L 58.809298,61.298776 L 44.517797,68.652411 M 44.517797,68.652411 L 44.517797,65.480602 M 73.929389,61.298776 L 59.637889,68.652411 L 59.637889,65.480602 L 70.956287,59.828049 L 59.637889,54.228655 L 59.637889,51.056847 L 73.929389,58.321883 L 73.929389,61.298776 z M 91.517797,57.382744 L 77.270452,57.382744 L 77.270452,54.405851 L 91.517797,54.405851 L 91.517797,57.382744 z M 91.517797,65.267967 L 77.270452,65.267967 L 77.270452,62.291073 L 91.517797,62.291073 L 91.517797,65.267967 z "
+ id="text3216"
+ sodipodi:nodetypes="ccccccccccccccccccccccccccc" />
+ </g>
+</svg>
diff --git a/community/xmoto/PKGBUILD b/community/xmoto/PKGBUILD
new file mode 100644
index 000000000..4e0136457
--- /dev/null
+++ b/community/xmoto/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 90114 2013-05-06 19:40:20Z foutrelis $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Travis Willard <travisw@wmpub.ca>
+# Contributor: Denis (dtonator@gmail.com)
+
+pkgname=xmoto
+pkgver=0.5.10
+pkgrel=4
+pkgdesc="A challenging 2D motocross platform game, where physics play an important role."
+arch=('i686' 'x86_64')
+url="http://xmoto.tuxfamily.org"
+license=('GPL')
+depends=('libjpeg' 'libpng' 'lua' 'sdl_mixer' 'ode' 'curl'
+ 'sqlite3' 'sdl_ttf' 'desktop-file-utils' 'sdl_net' 'glu'
+ 'libxdg-basedir' 'libxml++')
+makedepends=('mesa')
+install=xmoto.install
+source=("http://download.tuxfamily.org/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}-src.tar.gz"
+ 'xmoto-0.5.10-libpng15.patch'
+ 'system.cpp.patch')
+sha1sums=('692d50a9c91791cd06ee84846632651b44544fcc'
+ '9d13fa09f1c558a0fc504f7e7b1ceac6b4b7b20d'
+ 'e741f769d1fc5779a6688970ee97e2a61a50c7ae')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ patch -Np1 -i "${srcdir}/xmoto-0.5.10-libpng15.patch"
+ patch -Np1 -i "${srcdir}/system.cpp.patch"
+
+ # build and install
+ ./configure LDFLAGS="-L/usr/lib" --prefix=/usr --disable-sdltest
+
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} mangdir=/usr/share/man/man6 install
+
+ # install desktop file
+ install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/extra/xmoto.desktop \
+ ${pkgdir}/usr/share/applications/xmoto.desktop
+
+ # install icon for desktop file
+ install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/extra/xmoto.xpm \
+ ${pkgdir}/usr/share/pixmaps/xmoto.xpm
+}
diff --git a/community/xmoto/system.cpp.patch b/community/xmoto/system.cpp.patch
new file mode 100644
index 000000000..df42e3a7c
--- /dev/null
+++ b/community/xmoto/system.cpp.patch
@@ -0,0 +1,10 @@
+--- a/src/helpers/System.cpp 2011-10-11 22:18:14.000000000 +0200
++++ b/src/helpers/System.cpp 2012-07-21 21:28:40.000000000 +0200
+@@ -24,6 +24,7 @@
+ #include "Log.h"
+ #include "VExcept.h"
+ #include <sstream>
++#include <unistd.h>
+
+ std::vector<std::string>* System::getDisplayModes(int windowed) {
+ std::vector<std::string>* modes = new std::vector<std::string>;
diff --git a/community/xmoto/xmoto-0.5.10-libpng15.patch b/community/xmoto/xmoto-0.5.10-libpng15.patch
new file mode 100644
index 000000000..aed175c7c
--- /dev/null
+++ b/community/xmoto/xmoto-0.5.10-libpng15.patch
@@ -0,0 +1,10 @@
+--- a/src/image/tim_png.cpp 2011-12-29 22:13:37.000000000 +0100
++++ b/src/image/tim_png.cpp 2012-07-21 21:36:34.000000000 +0200
+@@ -24,6 +24,7 @@
+ */
+ #include <stdio.h>
+ #include <string.h>
++#include <zlib.h>
+ #include "tim.h"
+ #include <png.h>
+ #include <zlib.h>
diff --git a/community/xmoto/xmoto.install b/community/xmoto/xmoto.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/community/xmoto/xmoto.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/xmove/PKGBUILD b/community/xmove/PKGBUILD
new file mode 100644
index 000000000..e1ac2aba5
--- /dev/null
+++ b/community/xmove/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 65263 2012-02-20 12:41:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Benjamin Andresen <benny AT klapmuetz DOT org>
+
+pkgname=xmove
+pkgver=2.0beta2
+pkgrel=5
+pkgdesc="A tool to move X windows to different X servers, something like a GNU screen for X."
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/archlinux-stuff/"
+license=('custom')
+depends=('libx11')
+makedepends=('imake')
+source=(http://archlinux-stuff.googlecode.com/files/xmove-$pkgver.tar.gz)
+md5sums=('32b8db5bdbe71b8604e4f89c9eb2975b')
+
+build() {
+ cd $srcdir/xmove-$pkgver/xmove
+ xmkmf
+ echo xmove.man:: >> Makefile
+ make
+
+ cd $srcdir/xmove-$pkgver/xmovectrl
+ xmkmf
+ echo xmovectrl.man:: >> Makefile
+ make
+
+ chmod 755 $srcdir/xmove-$pkgver/man/man1
+}
+
+package() {
+ mkdir -p $pkgdir/usr/share/man
+ cp -r $srcdir/xmove-$pkgver/man/man1 $pkgdir/usr/share/man/
+ install -D -m0755 $srcdir/xmove-$pkgver/xmove/xmove $pkgdir/usr/bin/xmove
+ install -D -m0755 $srcdir/xmove-$pkgver/xmovectrl/xmovectrl $pkgdir/usr/bin/xmovectrl
+ install -D -m0644 $srcdir/xmove-$pkgver/xmove.copyright $pkgdir/usr/share/licenses/xmove/COPYRIGHT
+}
diff --git a/community/xnc/PKGBUILD b/community/xnc/PKGBUILD
new file mode 100644
index 000000000..0f3d3e5b7
--- /dev/null
+++ b/community/xnc/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90115 2013-05-06 19:40:24Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xnc
+pkgver=5.0.4
+pkgrel=7
+pkgdesc="X nortern captain file manager"
+arch=(i686 x86_64)
+url="http://xnc.jinr.ru/"
+license=('GPL')
+depends=('gcc-libs' 'libpng' 'libtiff' 'libsm' 'libxext' 'libjpeg>=7')
+makedepends=('libxt')
+options=('!makeflags')
+#source=(http://xnc.jinr.ru/src-5/xnc-$pkgver.src.tar.gz xnc-gcc44.patch)
+source=(ftp://ftp.archlinux.org/other/community/xnc/xnc-$pkgver.src.tar.gz
+ xnc-gcc44.patch
+ libpng15.patch)
+md5sums=('62446cdfdf5730f125fb351a658c0bd3'
+ 'c0037a081824bca691e59a4ec68b6686'
+ '7159af1c645fda860f0e5057100651ad')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/xnc-gcc44.patch
+ patch -p1 <$srcdir/libpng15.patch
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/xnc/libpng15.patch b/community/xnc/libpng15.patch
new file mode 100644
index 000000000..53b941b81
--- /dev/null
+++ b/community/xnc/libpng15.patch
@@ -0,0 +1,63 @@
+diff -wbBur xnc-5.0.4/src/lib/image2/sdl_image/IMG_png.c xnc-5.0.4.my/src/lib/image2/sdl_image/IMG_png.c
+--- xnc-5.0.4/src/lib/image2/sdl_image/IMG_png.c 2002-08-05 14:43:09.000000000 +0400
++++ xnc-5.0.4.my/src/lib/image2/sdl_image/IMG_png.c 2012-01-19 13:46:48.000000000 +0400
+@@ -138,7 +138,7 @@
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in png_create_read_struct() earlier.
+ */
+- if ( setjmp(png_ptr->jmpbuf) ) {
++ if ( setjmp(png_jmpbuf(png_ptr)) ) {
+ IMG_SetError("Error reading the PNG file.");
+ goto done;
+ }
+@@ -207,9 +207,9 @@
+ Rmask = 0x000000FF;
+ Gmask = 0x0000FF00;
+ Bmask = 0x00FF0000;
+- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0;
++ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0;
+ } else {
+- int s = (info_ptr->channels == 4) ? 0 : 8;
++ int s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8;
+ Rmask = 0xFF000000 >> s;
+ Gmask = 0x00FF0000 >> s;
+ Bmask = 0x0000FF00 >> s;
+@@ -217,7 +217,7 @@
+ }
+ }
+ surface = SDL_AllocSurface(SDL_SWSURFACE, width, height,
+- bit_depth*info_ptr->channels, Rmask,Gmask,Bmask,Amask);
++ bit_depth*png_get_channels(png_ptr, info_ptr), Rmask,Gmask,Bmask,Amask);
+ if ( surface == NULL ) {
+ IMG_SetError("Out of memory");
+ goto done;
+@@ -252,6 +252,10 @@
+ /* read rest of file, get additional chunks in info_ptr - REQUIRED */
+ png_read_end(png_ptr, info_ptr);
+
++ png_colorp plte;
++ int num_palette;
++ png_get_PLTE(png_ptr, info_ptr, &plte, &num_palette);
++
+ /* Load the palette, if any */
+ palette = surface->format->palette;
+ if ( palette ) {
+@@ -262,12 +266,12 @@
+ palette->colors[i].g = i;
+ palette->colors[i].b = i;
+ }
+- } else if (info_ptr->num_palette > 0 ) {
+- palette->ncolors = info_ptr->num_palette;
+- for( i=0; i<info_ptr->num_palette; ++i ) {
+- palette->colors[i].b = info_ptr->palette[i].blue;
+- palette->colors[i].g = info_ptr->palette[i].green;
+- palette->colors[i].r = info_ptr->palette[i].red;
++ } else if (num_palette > 0 ) {
++ palette->ncolors = num_palette;
++ for( i=0; i<num_palette; ++i ) {
++ palette->colors[i].b = plte[i].blue;
++ palette->colors[i].g = plte[i].green;
++ palette->colors[i].r = plte[i].red;
+ }
+ }
+ }
diff --git a/community/xnc/xnc-gcc44.patch b/community/xnc/xnc-gcc44.patch
new file mode 100644
index 000000000..120d9d467
--- /dev/null
+++ b/community/xnc/xnc-gcc44.patch
@@ -0,0 +1,72 @@
+diff -wbBur xnc-5.0.4/src/include/commonfuncs.h xnc-5.0.4.my/src/include/commonfuncs.h
+--- xnc-5.0.4/src/include/commonfuncs.h 2002-10-16 10:44:17.000000000 +0400
++++ xnc-5.0.4.my/src/include/commonfuncs.h 2011-11-17 18:59:19.000000000 +0400
+@@ -15,7 +15,7 @@
+ extern int path_to_fullpath(char* dest, char *srcdir);
+ extern void add_path_content(char *curdir, const char *cont, int vms_host=0);
+ extern void upper_path(char *curdir, int vms_host=0);
+-extern char* get_first_content(const char *curdir, char *cont);
++extern const char* get_first_content(const char *curdir, char *cont);
+ extern void get_last_content(char *curdir, char *cont);
+ extern void get_last_and_rest_content(char* curdir, char* last, char* rest);
+ extern void str_swap(char *str1, char *str2);
+diff -wbBur xnc-5.0.4/src/lib/tool/commonfuncs.cxx xnc-5.0.4.my/src/lib/tool/commonfuncs.cxx
+--- xnc-5.0.4/src/lib/tool/commonfuncs.cxx 2002-10-16 10:44:20.000000000 +0400
++++ xnc-5.0.4.my/src/lib/tool/commonfuncs.cxx 2011-11-17 18:59:19.000000000 +0400
+@@ -117,9 +117,9 @@
+ }
+
+ //Get first content of dirname
+-char* get_first_content(const char *curdir, char *cont)
++const char* get_first_content(const char *curdir, char *cont)
+ {
+- char *b=strchr(curdir,'/');
++ const char *b=strchr(curdir,'/');
+ if(b)
+ {
+ strncpy(cont,curdir,b-curdir);
+diff -wbBur xnc-5.0.4/src/lib/vfs/afs.cxx xnc-5.0.4.my/src/lib/vfs/afs.cxx
+--- xnc-5.0.4/src/lib/vfs/afs.cxx 2003-11-27 18:36:43.000000000 +0300
++++ xnc-5.0.4.my/src/lib/vfs/afs.cxx 2011-11-17 18:59:19.000000000 +0400
+@@ -29,7 +29,7 @@
+ // The return value is static, so copy it before using the
+ // method again!
+
+-char *create_dirs(char *rootdir, char* dirlist)
++char *create_dirs(char *rootdir, const char* dirlist)
+ {
+ char str[L_MAXPATH];
+ char cont[FLIST_NAME];
+@@ -1350,7 +1350,7 @@
+ add_path_content(curdir, to_dir);
+ } else //If we here then we doing cd not to subdir but to subdir/subdir...
+ {
+- char *s=to_dir;
++ const char *s=to_dir;
+ if(*s)
+ {
+ do
+diff -wbBur xnc-5.0.4/src/lib/vfs/ftpfs.cxx xnc-5.0.4.my/src/lib/vfs/ftpfs.cxx
+--- xnc-5.0.4/src/lib/vfs/ftpfs.cxx 2002-10-30 15:47:38.000000000 +0300
++++ xnc-5.0.4.my/src/lib/vfs/ftpfs.cxx 2011-11-17 18:59:19.000000000 +0400
+@@ -1413,7 +1413,7 @@
+ return;
+ if(strcmp(dir,"/"))
+ {
+- char *s=dir;
++ const char *s=dir;
+ if(*s=='/') //Skip leading '/'
+ s++;
+ do
+diff -wbBur xnc-5.0.4/src/man_page.cxx xnc-5.0.4.my/src/man_page.cxx
+--- xnc-5.0.4/src/man_page.cxx 2002-10-02 16:54:33.000000000 +0400
++++ xnc-5.0.4.my/src/man_page.cxx 2011-11-17 18:59:00.000000000 +0400
+@@ -81,7 +81,7 @@
+ buf[j] = 0;
+ manf->size = j;
+ delete buf;
+- fp = open(tmps, O_WRONLY | O_CREAT | O_TRUNC);
++ fp = open(tmps, O_WRONLY | O_CREAT | O_TRUNC, 0600);
+ write(fp, buf2, j);
+ close(fp);
+ delete manf;
diff --git a/community/xnee/PKGBUILD b/community/xnee/PKGBUILD
new file mode 100644
index 000000000..9c558c1ad
--- /dev/null
+++ b/community/xnee/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 94092 2013-07-14 11:19:44Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+
+pkgname=xnee
+pkgver=3.16
+pkgrel=1
+pkgdesc="A program to record, distribute, and replay X (X11) protocol data"
+arch=('i686' 'x86_64')
+url="http://xnee.wordpress.com/"
+license=('GPL3')
+depends=('gtk2' 'libxtst')
+makedepends=('texinfo')
+optdepends=('xosd: feedback support')
+options=('!libtool' '!emptydirs')
+source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz
+ gnee.desktop)
+sha256sums=('07393d84d7abfab607b5ba078a0c32411815b7c883317356f6b92f7bbf3176fe'
+ 'de42d419a46083e39a9b6d60c045c1cd68deb793cc5166a86df81dff608387c1')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --enable-gui --enable-lib --disable-static --disable-static-programs
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+ install -Dm644 ${srcdir}/gnee.desktop ${pkgdir}/usr/share/applications/gnee.desktop
+}
diff --git a/community/xnee/gnee.desktop b/community/xnee/gnee.desktop
new file mode 100644
index 000000000..c96850599
--- /dev/null
+++ b/community/xnee/gnee.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Gnee
+GenericName=X11 Recorder
+Comment=For replay action under X11 environment
+Exec=gnee
+Icon=/usr/share/pixmaps/xnee.png
+Terminal=false
+Type=Application
+Categories=Utility;
diff --git a/community/xnee/xnee.changelog b/community/xnee/xnee.changelog
new file mode 100644
index 000000000..d72b4493b
--- /dev/null
+++ b/community/xnee/xnee.changelog
@@ -0,0 +1,19 @@
+2013-07-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * xnee 3.16-1
+
+2013-04-16 Balló György <ballogyor+arch at gmail dot com>
+ * fix dependencies
+ * enable GUI and library
+ * add .desktop file
+
+2013-01-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * xnee 3.15-1
+
+2011-09-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * xnee 3.10-1
+
+2011-04-10 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * xnee 3.09-1
+
+2009-12-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 3.05
diff --git a/community/xnoise/PKGBUILD b/community/xnoise/PKGBUILD
new file mode 100755
index 000000000..0add992ea
--- /dev/null
+++ b/community/xnoise/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 90300 2013-05-11 05:30:04Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: archtux <antonio dot arias99999 at gmail dot com>
+
+pkgname=xnoise
+pkgver=0.2.18
+pkgrel=1
+pkgdesc="Media player with a slick GUI, great speed and lots of features."
+arch=('i686' 'x86_64')
+url="http://www.xnoise-media-player.com/"
+license=('GPL2')
+depends=('desktop-file-utils' 'gnome-icon-theme' 'gst-plugins-base-libs' 'gst-plugins-good' 'gtk3' 'libsoup' 'sqlite' 'libtaginfo' 'librsvg')
+optdepends=('gst-plugins-base: Basic media codecs'
+ 'gst-plugins-bad: Extra media codecs'
+ 'gst-plugins-ugly: Extra media codecs'
+ 'gst-libav: Extra media codecs'
+ 'gvfs: Needed for fetching album art')
+makedepends=('gettext' 'intltool')
+options=('!libtool')
+install=$pkgname.install
+source=("https://bitbucket.org/shuerhaaken/xnoise/downloads/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # Remove obsolete files
+ rm -rf "$pkgdir/usr/include" "$pkgdir/usr/share/vala"
+}
+sha512sums=('afe6d380f84c96d3612ed6a01a31b279b06d101252304a83be081eb25d4342e3487aa0f1955c3aa6b70297f8858d3c01be5f708a37c3741a1c2b6afd76127e9b')
diff --git a/community/xnoise/xnoise.install b/community/xnoise/xnoise.install
new file mode 100644
index 000000000..8f2bcd263
--- /dev/null
+++ b/community/xnoise/xnoise.install
@@ -0,0 +1,13 @@
+
+post_install() {
+ gtk-update-icon-cache -t -f /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/xonotic/PKGBUILD b/community/xonotic/PKGBUILD
new file mode 100644
index 000000000..46232f58b
--- /dev/null
+++ b/community/xonotic/PKGBUILD
@@ -0,0 +1,57 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Alexander Suhoverhov <cy at ngs dot ru>
+pkgname=xonotic
+pkgver=0.7.0
+pkgrel=1
+pkgdesc="A free, fast-paced crossplatform first-person shooter"
+arch=('i686' 'x86_64')
+url="http://xonotic.org"
+license=('GPL')
+depends=('alsa-lib' 'curl' 'libjpeg>=8' 'libmodplug' 'libvorbis' 'libxpm' 'libxxf86dga' 'libxxf86vm' 'sdl' 'libpng>=1.4.0' 'xonotic-data')
+makedepends=('unzip' 'mesa')
+source=("http://dl.xonotic.org/xonotic-${pkgver}-source.zip"
+ "xonotic-glx.desktop"
+ "xonotic-sdl.desktop")
+md5sums=('1cc50a79ac6abf27da916bfb5e066043'
+ '914c7b9163e92b35f0ab57fdb1653ac5'
+ 'da7d812ff231c9332cd694b39757adda')
+
+build() {
+ # compile Xonotic-flavored fteqcc
+ #make -C Xonotic/source/fteqcc
+
+ # compile QuakeC game code
+ #( cd Xonotic/source/qcsrc/server && ../../fteqcc/fteqcc.bin -O3 -Ono-c -Ono-cs )
+ #( cd Xonotic/source/qcsrc/client && ../../fteqcc/fteqcc.bin -O3 -Ono-c -Ono-cs )
+ #( cd Xonotic/source/qcsrc/menu && ../../fteqcc/fteqcc.bin -O3 -Ono-c -Ono-cs )
+
+ # compile engine
+ make -C Xonotic/source/darkplaces CPUOPTIMIZATIONS="${CFLAGS}" DP_FS_BASEDIR=/usr/share/xonotic/ DP_LINK_TO_LIBJPEG=1 cl-release
+ make -C Xonotic/source/darkplaces CPUOPTIMIZATIONS="${CFLAGS}" DP_FS_BASEDIR=/usr/share/xonotic/ DP_LINK_TO_LIBJPEG=1 sdl-release
+ make -C Xonotic/source/darkplaces CPUOPTIMIZATIONS="${CFLAGS}" DP_FS_BASEDIR=/usr/share/xonotic/ DP_LINK_TO_LIBJPEG=1 sv-release
+
+ cd $srcdir/Xonotic/source/d0_blind_id
+ sh autogen.sh
+ ./configure --prefix=/usr --disable-rijndael
+ make
+}
+
+package() {
+ cd $srcdir/Xonotic
+
+ # binaries
+ install -Dm755 source/darkplaces/darkplaces-dedicated $pkgdir/usr/bin/xonotic-dedicated
+ install -Dm755 source/darkplaces/darkplaces-glx $pkgdir/usr/bin/xonotic-glx
+ install -Dm755 source/darkplaces/darkplaces-sdl $pkgdir/usr/bin/xonotic-sdl
+
+ # convenience files
+ mkdir -p $pkgdir/usr/share/applications
+ install -Dm644 $srcdir/*.desktop -t $pkgdir/usr/share/applications
+ install -Dm644 $srcdir/Xonotic/misc/logos/icons_png/xonotic_512.png $pkgdir/usr/share/pixmaps/xonotic.png
+
+ # crypto stuff
+ cd $srcdir/Xonotic/source/d0_blind_id
+ make DESTDIR=$pkgdir install
+}
+
+# vim: ts=2:sw=2 et:
diff --git a/community/xonotic/xonotic-glx.desktop b/community/xonotic/xonotic-glx.desktop
new file mode 100644
index 000000000..9f9e78cc1
--- /dev/null
+++ b/community/xonotic/xonotic-glx.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Type=Application
+Version=2.5
+Encoding=UTF-8
+Name=Xonotic (GLX)
+Comment=a free open-source first person shooter
+Icon=/usr/share/pixmaps/xonotic.png
+Exec=/usr/bin/xonotic-glx
+Terminal=false
+StartupNotify=false
+Categories=Game;
diff --git a/community/xonotic/xonotic-sdl.desktop b/community/xonotic/xonotic-sdl.desktop
new file mode 100644
index 000000000..32b37f2c5
--- /dev/null
+++ b/community/xonotic/xonotic-sdl.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Type=Application
+Version=2.5
+Encoding=UTF-8
+Name=Xonotic (SDL)
+Comment=a free open-source first person shooter
+Icon=/usr/share/pixmaps/xonotic.png
+Exec=/usr/bin/xonotic-sdl
+Terminal=false
+StartupNotify=false
+Categories=Game;
diff --git a/community/xosd/PKGBUILD b/community/xosd/PKGBUILD
new file mode 100644
index 000000000..675b532d9
--- /dev/null
+++ b/community/xosd/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 61859 2012-01-09 10:23:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+
+pkgname=xosd
+pkgver=2.2.14
+pkgrel=5
+pkgdesc="Displays text on your screen. On-Screen-Display-libs for some tools"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://www.ignavus.net/software.html"
+depends=('libxt' 'libxinerama' 'sh')
+makedepends=('xmms' 'bmp' 'gdk-pixbuf')
+optdepends=('gdk-pixbuf: for using the bmp or xmms plugin')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/libxosd/${pkgname}-${pkgver}.tar.gz"
+ "http://ftp.de.debian.org/debian/pool/main/x/xosd/xosd_$pkgver-2.debian.tar.gz")
+md5sums=('4b349fe930e4eee2f504d6c02673e24d'
+ 'cd3c37f4e4bbfba6f3ffd7ec43256cc2')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/debian/patches/25_fix_mangapges.diff
+ patch -p1 <$srcdir/debian/patches/328676.diff
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ sed -i 's/AC_DEFUN(AM_PATH_LIBXOSD,/AC_DEFUN([AM_PATH_LIBXOSD],/' \
+ "$pkgdir/usr/share/aclocal/libxosd.m4"
+}
diff --git a/community/xpacman/PKGBUILD b/community/xpacman/PKGBUILD
new file mode 100644
index 000000000..532db840d
--- /dev/null
+++ b/community/xpacman/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 65267 2012-02-20 12:42:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xpacman
+pkgver=0.11
+pkgrel=6
+pkgdesc="X pacman game (use z x / ' q keys)"
+arch=(i686 x86_64)
+url="http://www.ibiblio.org/pub/X11/contrib/games/"
+license=('custom')
+depends=(libx11)
+source=(http://www.ibiblio.org/pub/X11/contrib/games/xpacman.tar.gz
+ http://www.ibiblio.org/pub/X11/contrib/games/xpacman.README)
+md5sums=('b0ad824c4c0ea5c4d1f8f3e7b31f32f9'
+ '620c226d6d91461ac0d91e88655c9cbf')
+
+build() {
+ cd $srcdir/$pkgname
+
+ patch -Np1 <<EOF
+diff -wbBur xpacman-0.11.orig/xpacman.c xpacman-0.11.orig.my/xpacman.c
+--- xpacman-0.11.orig/xpacman.c 1996-08-14 16:08:12.000000000 +0400
++++ xpacman-0.11.orig.my/xpacman.c 2007-07-03 18:59:05.000000000 +0400
+@@ -85,7 +85,7 @@
+ void update_image_from_map(Window ,GC),update_image(Window, GC);
+ void setup_map_memory(void),free_memory(void),print_usage(void);
+ void reset_display_map(void),setup_maze(void);
+-void maze_draw(int,int,int,int),draw_maze_point(int,int,enum mtype);
++void maze_draw(int,int,int,int),draw_maze_point(int,int,enum dtype);
+ void draw_maze_edges(void),draw_x_line(XImage *,int,int,int,int);
+ void setup_pill(XImage *),add_pills(int,int),setup_pacmen(void);
+ void setup_pacmanu(void),setup_pacman(XImage *),plot_pacman(Window,GC);
+EOF
+
+ gcc -o xpacman xpacman.c -lX11
+ install -D -m 0755 xpacman $pkgdir/usr/bin/xpacman
+ install -D -m 0755 $srcdir/xpacman.README $pkgdir/usr/share/licenses/xpacman/README
+}
diff --git a/community/xpacman2/PKGBUILD b/community/xpacman2/PKGBUILD
new file mode 100644
index 000000000..15ab053ba
--- /dev/null
+++ b/community/xpacman2/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 67641 2012-03-13 15:00:04Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xpacman2
+pkgver=1.002
+pkgrel=4
+pkgdesc="another X pacman game"
+arch=('i686' 'x86_64')
+url="ftp://ftp.nvg.unit.no/pub/pacman/"
+license=('GPL')
+depends=(libx11 ncurses gcc-libs)
+makedepends=()
+source=(ftp://ftp.nvg.unit.no/pub/pacman/pacman-${pkgver/./_}.tar.gz
+ build-fix.patch)
+md5sums=('afcbc268d1eff6ea3a834c7a5f715f77'
+ '4faf33134a2a74f284059a2971833fa1')
+
+build() {
+ cd $srcdir/pacman-${pkgver/./_}
+ patch -Np1 <../build-fix.patch
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+ (cd $pkgdir/usr/bin/ && mv pacman xpacman2)
+}
diff --git a/community/xpacman2/build-fix.patch b/community/xpacman2/build-fix.patch
new file mode 100644
index 000000000..f9f27f717
--- /dev/null
+++ b/community/xpacman2/build-fix.patch
@@ -0,0 +1,37 @@
+diff -wbBur pacman-1_002/ghost.cc pacman-1_002.my/ghost.cc
+--- pacman-1_002/ghost.cc 1995-07-21 19:35:30.000000000 +0400
++++ pacman-1_002.my/ghost.cc 2007-07-03 19:18:56.000000000 +0400
+@@ -165,7 +165,7 @@
+ }
+ }
+
+-Ghost::go(Pacman *pac) { //go for pacman: do ghost code
++int Ghost::go(Pacman *pac) { //go for pacman: do ghost code
+ typ w; //what type is at next coordinates
+ int i=1; //moved or not?
+ int xx,yy; //coordinates
+diff -wbBur pacman-1_002/ghost.h pacman-1_002.my/ghost.h
+--- pacman-1_002/ghost.h 1995-04-07 21:02:34.000000000 +0400
++++ pacman-1_002.my/ghost.h 2007-07-03 19:19:01.000000000 +0400
+@@ -31,7 +31,7 @@
+ Ghost(COLOURTYPE,int,int); //constructor with coordinates
+ ~Ghost(); //destructor
+ void draw(void); //draw the ghost
+-go(Pacman*); //go for pacman: do ghost code
++int go(Pacman*); //go for pacman: do ghost code
+ typ is_a(void) {return classGhost;}
+ void eat(void); //when pacman eats ghost
+ void getxy(int*,int*);
+diff -wbBur pacman-1_002/point.cc pacman-1_002.my/point.cc
+--- pacman-1_002/point.cc 1995-02-28 13:41:08.000000000 +0300
++++ pacman-1_002.my/point.cc 2007-07-03 19:19:16.000000000 +0400
+@@ -1,7 +1,7 @@
+ #include"point.h"
+ Point::Point(int xx=0,int yy=0) { x=xx; y=yy; };
+-Point::val_x() { return x; };
+-Point::val_y() { return y; };
++int Point::val_x() { return x; };
++int Point::val_y() { return y; };
+ void Point::set_x(int xx) { x=xx; };
+ void Point::set_y(int yy) { y=yy; };
+ void Point::set_xy(int xx,int yy) { x=xx; y=yy; };
diff --git a/community/xpad/PKGBUILD b/community/xpad/PKGBUILD
new file mode 100644
index 000000000..08fc0854f
--- /dev/null
+++ b/community/xpad/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 60101 2011-12-05 05:18:09Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: Ben <contrasutra@myrealbox.com>
+
+pkgname=xpad
+pkgver=4.1
+pkgrel=1
+pkgdesc="Stickies-like notes program"
+arch=(i686 x86_64)
+depends=('gtk2' 'libsm' 'librsvg')
+makedepends=('intltool')
+url="http://mterry.name/xpad/"
+license=('GPL')
+install=xpad.install
+source=(http://launchpad.net/xpad/trunk/$pkgver/+download/xpad-$pkgver.tar.bz2
+ xpad-gtk-2.20.patch)
+md5sums=('e37bfbe2331d810124c28150fdf30b3f'
+ '6a3d2952b469d65ec333714991ba8284')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+# patch -p1 <$srcdir/xpad-gtk-2.20.patch
+ ./configure --prefix=/usr
+ /usr/bin/make
+ /usr/bin/make DESTDIR=$pkgdir install
+}
diff --git a/community/xpad/xpad-gtk-2.20.patch b/community/xpad/xpad-gtk-2.20.patch
new file mode 100644
index 000000000..54612b6db
--- /dev/null
+++ b/community/xpad/xpad-gtk-2.20.patch
@@ -0,0 +1,98 @@
+Only in xpad-4.0.my/autopackage: default.apspec
+Only in xpad-4.0.my/autopackage: Makefile
+Only in xpad-4.0.my: config.h
+Only in xpad-4.0.my: config.log
+Only in xpad-4.0.my: config.status
+Only in xpad-4.0.my/doc: Makefile
+Only in xpad-4.0.my/images: Makefile
+Only in xpad-4.0.my: Makefile
+Only in xpad-4.0.my/po: af.gmo
+Only in xpad-4.0.my/po: bg.gmo
+Only in xpad-4.0.my/po: cs.gmo
+Only in xpad-4.0.my/po: da.gmo
+Only in xpad-4.0.my/po: de.gmo
+Only in xpad-4.0.my/po: en_GB.gmo
+Only in xpad-4.0.my/po: es.gmo
+Only in xpad-4.0.my/po: et.gmo
+Only in xpad-4.0.my/po: fi.gmo
+Only in xpad-4.0.my/po: fr.gmo
+Only in xpad-4.0.my/po: ga.gmo
+Only in xpad-4.0.my/po: hr.gmo
+Only in xpad-4.0.my/po: hu.gmo
+Only in xpad-4.0.my/po: .intltool-merge-cache
+Only in xpad-4.0.my/po: it.gmo
+Only in xpad-4.0.my/po: ja.gmo
+Only in xpad-4.0.my/po: ko.gmo
+Only in xpad-4.0.my/po: lv.gmo
+Only in xpad-4.0.my/po: Makefile
+Only in xpad-4.0.my/po: Makefile.in
+Only in xpad-4.0.my/po: nl.gmo
+Only in xpad-4.0.my/po: POTFILES
+Only in xpad-4.0.my/po: pt.gmo
+Only in xpad-4.0.my/po: ro.gmo
+Only in xpad-4.0.my/po: ru.gmo
+Only in xpad-4.0.my/po: rw.gmo
+Only in xpad-4.0.my/po: stamp-it
+Only in xpad-4.0.my/po: sv.gmo
+Only in xpad-4.0.my/po: th.gmo
+Only in xpad-4.0.my/po: tr.gmo
+Only in xpad-4.0.my/po: vi.gmo
+Only in xpad-4.0.my/po: zh_CN.gmo
+Only in xpad-4.0.my/po: zh_TW.gmo
+Only in xpad-4.0.my/src: .deps
+Only in xpad-4.0.my/src: fio.o
+Only in xpad-4.0.my/src: help.o
+Only in xpad-4.0.my/src: Makefile
+Only in xpad-4.0.my/src: prefix.o
+Only in xpad-4.0.my/src: xpad
+Only in xpad-4.0.my/src: xpad-app.o
+Only in xpad-4.0.my/src: xpad-grip-tool-item.o
+diff -wbBur xpad-4.0/src/xpad-pad.c xpad-4.0.my/src/xpad-pad.c
+--- xpad-4.0/src/xpad-pad.c 2009-05-11 01:44:09.000000000 +0000
++++ xpad-4.0.my/src/xpad-pad.c 2010-04-12 15:25:24.000000000 +0000
+@@ -268,18 +268,22 @@
+ NULL));
+ gtk_container_child_set (GTK_CONTAINER (vbox), pad->priv->toolbar, "expand", FALSE, NULL);
+
+- g_object_set (G_OBJECT (pad),
+- "decorated", xpad_settings_get_has_decorations (xpad_settings ()),
+- "default-height", xpad_settings_get_height (xpad_settings ()),
+- "default-width", xpad_settings_get_width (xpad_settings ()),
+- "gravity", GDK_GRAVITY_STATIC, /* static gravity makes saving pad x,y work */
+- "skip-pager-hint", !xpad_settings_get_has_decorations (xpad_settings ()),
+- "skip-taskbar-hint", !xpad_settings_get_has_decorations (xpad_settings ()),
+- "type", GTK_WINDOW_TOPLEVEL,
+- "type-hint", GDK_WINDOW_TYPE_HINT_NORMAL,
+- "window-position", GTK_WIN_POS_MOUSE,
+- "child", vbox,
+- NULL);
++// g_object_set (G_OBJECT (pad),
++// "default-height", xpad_settings_get_height (xpad_settings ()),
++// "default-width", xpad_settings_get_width (xpad_settings ()),
++// "gravity", GDK_GRAVITY_STATIC, /* static gravity makes saving pad x,y work */
++// "skip-pager-hint", !xpad_settings_get_has_decorations (xpad_settings ()),
++// "skip-taskbar-hint", !xpad_settings_get_has_decorations (xpad_settings ()),
++// "type", GTK_WINDOW_TOPLEVEL,
++// "window-position", GTK_WIN_POS_MOUSE,
++// "child", vbox,
++// NULL);
++
++ gtk_window_set_type_hint (GTK_WINDOW (pad), GDK_WINDOW_TYPE_HINT_NORMAL);
++ gtk_window_set_decorated (GTK_WINDOW (pad), xpad_settings_get_has_decorations (xpad_settings ()));
++ gtk_window_set_resizable (GTK_WINDOW (pad), TRUE);
++ gtk_container_add (GTK_CONTAINER (pad), vbox);
++
+
+ xpad_pad_notify_has_scrollbar (pad);
+
+Only in xpad-4.0.my/src: xpad-pad-group.o
+Only in xpad-4.0.my/src: xpad-pad.o
+Only in xpad-4.0.my/src: xpad-pad-properties.o
+Only in xpad-4.0.my/src: xpad-preferences.o
+Only in xpad-4.0.my/src: xpad-session-manager.o
+Only in xpad-4.0.my/src: xpad-settings.o
+Only in xpad-4.0.my/src: xpad-text-buffer.o
+Only in xpad-4.0.my/src: xpad-text-view.o
+Only in xpad-4.0.my/src: xpad-toolbar.o
+Only in xpad-4.0.my/src: xpad-tray.o
+Only in xpad-4.0.my: stamp-h1
diff --git a/community/xpad/xpad.install b/community/xpad/xpad.install
new file mode 100644
index 000000000..b95cc069d
--- /dev/null
+++ b/community/xpad/xpad.install
@@ -0,0 +1,11 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
diff --git a/community/xplanet/PKGBUILD b/community/xplanet/PKGBUILD
new file mode 100644
index 000000000..f8974de8e
--- /dev/null
+++ b/community/xplanet/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 90116 2013-05-06 19:40:25Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Committer: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=xplanet
+pkgver=1.3.0
+pkgrel=2
+pkgdesc="An Xearth wannabe"
+arch=(i686 x86_64)
+url="http://xplanet.sourceforge.net/"
+license=('GPL')
+depends=('pango' 'libungif' 'libtiff' 'libxss')
+source=(http://downloads.sourceforge.net/project/xplanet/xplanet/$pkgver/xplanet-$pkgver.tar.gz)
+md5sums=('41f7db2ccd1d8b4b989cacaf9adfe692')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --with-freetype
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make prefix=$pkgdir/usr install
+}
diff --git a/community/xplc/PKGBUILD b/community/xplc/PKGBUILD
new file mode 100644
index 000000000..bcd055e00
--- /dev/null
+++ b/community/xplc/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 64687 2012-02-17 18:35:47Z bluewind $
+# Maintainer:
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=xplc
+pkgver=0.3.13
+pkgrel=4
+pkgdesc="Cross-Platform Lightweight Components"
+arch=('i686' 'x86_64')
+url="http://xplc.sourceforge.net"
+license=('LGPL')
+depends=('gcc-libs')
+source=("http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz")
+md5sums=('39da3270527c8712b8e8fcf03768d29f')
+options=('!buildflags')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --without-libuuid
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ mv $pkgdir/usr/share/man/man1/{uuidgen.1,uuidcdef.1}
+ rm -f $pkgdir/usr/bin/uuidgen
+}
diff --git a/community/xrestop/ChangeLog b/community/xrestop/ChangeLog
new file mode 100644
index 000000000..d60dd0088
--- /dev/null
+++ b/community/xrestop/ChangeLog
@@ -0,0 +1,4 @@
+
+2007-06-28 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community/xrestop/PKGBUILD b/community/xrestop/PKGBUILD
new file mode 100644
index 000000000..3ecb58312
--- /dev/null
+++ b/community/xrestop/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 65269 2012-02-20 12:43:18Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=xrestop
+pkgver=0.4
+pkgrel=4
+pkgdesc="Uses the X-Resource extension to provide 'top' like statistics"
+arch=('i686' 'x86_64')
+url="http://freedesktop.org/wiki/Software/xrestop"
+license=('GPL')
+depends=('libxres' 'ncurses')
+source=(ftp://ftp.archlinux.org/other/community/xrestop/xrestop-$pkgver.tar.gz)
+md5sums=('d8a54596cbaf037e62b80c4585a3ca9b')
+
+build() {
+ cd "$srcdir/xrestop-$pkgver"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/xrestop-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/xsel/PKGBUILD b/community/xsel/PKGBUILD
new file mode 100644
index 000000000..4a4e361ee
--- /dev/null
+++ b/community/xsel/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 65271 2012-02-20 12:44:04Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xsel
+pkgver=1.2.0
+pkgrel=5
+pkgdesc="XSel is a command-line program for getting and setting the contents of the X selection"
+arch=(i686 x86_64)
+url="http://www.vergenet.net/~conrad/software/xsel/"
+license=("custom")
+depends=('libx11')
+makedepends=('libxt')
+source=(http://www.vergenet.net/~conrad/software/xsel/download/$pkgname-$pkgver.tar.gz)
+md5sums=('75983f143ce83dc259796c6eaf85c8f5')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$pkgdir install
+ mkdir -p $pkgdir/usr/share/licenses/xsel/
+ install -D -m0644 COPYING $pkgdir/usr/share/licenses/xsel/COPYING
+}
diff --git a/community/xsensors/PKGBUILD b/community/xsensors/PKGBUILD
new file mode 100644
index 000000000..16a329b5e
--- /dev/null
+++ b/community/xsensors/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 59264 2011-11-22 07:31:16Z lcarlier $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Ray Rashif <schivmeister@gmail.com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xsensors
+pkgver=0.70
+pkgrel=3
+pkgdesc="X11 interface to lm_sensors"
+arch=('i686' 'x86_64')
+url="http://www.linuxhardware.org/xsensors/"
+license=('GPL')
+depends=('gtk2' 'lm_sensors')
+changelog=$pkgname.changelog
+source=(http://www.linuxhardware.org/xsensors/$pkgname-$pkgver.tar.gz
+ remove-unused-variables.patch
+ replace-deprecated-gtk.patch
+ xsensors.desktop)
+md5sums=('4f8fb83cfd03c0cc34967a73c6021531'
+ '8ca558b7f7e4a5f83f63498668c4ad8f'
+ 'd9ee6799d45adc7c62273f32085bec5f'
+ 'fe1369d2b61eed1a25002e2247617357')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ # patches from debian
+ patch -Np1 -i ${srcdir}/remove-unused-variables.patch
+ patch -Np1 -i ${srcdir}/replace-deprecated-gtk.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+ install -D ${srcdir}/xsensors.desktop \
+ ${pkgdir}/usr/share/applications/xsensors.desktop
+}
diff --git a/community/xsensors/remove-unused-variables.patch b/community/xsensors/remove-unused-variables.patch
new file mode 100644
index 000000000..7da97a0e5
--- /dev/null
+++ b/community/xsensors/remove-unused-variables.patch
@@ -0,0 +1,39 @@
+Author: Nanley Chery <nanleychery@gmail.com>
+From: Jean Delvare <khali@linux-fr.org>
+Subject: Remove declared, but unused variables
+Bug-Debian: http://bugs.debian.org/625435
+---
+--- a/src/gui.c
++++ b/src/gui.c
+@@ -257,10 +257,9 @@
+
+ /* Start the sensor info update timer. */
+ gint start_timer( GtkWidget *widget, gpointer data ) {
+- gint timer;
+
+ /* Setup timer for updates. */
+- timer = g_timeout_add( update_time * 1000,
++ g_timeout_add( update_time * 1000,
+ (GtkFunction) update_sensor_data,
+ (gpointer) data );
+
+@@ -287,7 +286,7 @@
+
+ /* feature data */
+ updates *head = NULL;
+- updates *current = NULL, *prev = NULL;
++ updates *current = NULL;
+
+ const sensors_feature *feature;
+
+@@ -347,10 +346,8 @@
+ new_node->pbar = featpbar;
+
+ if ( head == NULL ) {
+- prev = head;
+ head = current = new_node;
+ } else {
+- prev = current;
+ current = current->next = new_node;
+ }
+
diff --git a/community/xsensors/replace-deprecated-gtk.patch b/community/xsensors/replace-deprecated-gtk.patch
new file mode 100644
index 000000000..fed4c7dc4
--- /dev/null
+++ b/community/xsensors/replace-deprecated-gtk.patch
@@ -0,0 +1,168 @@
+Author: Nanley Chery <nanleychery@gmail.com>
+Subject: Update deprecated gtk casts and replace deprecated function calls with their analogous cairo counterparts.
+Bug-Debian: http://bugs.debian.org/622005
+Bug-Debian: http://bugs.debian.org/610321
+---
+--- a/src/gui.c
++++ b/src/gui.c
+@@ -27,10 +27,10 @@
+ GtkWidget *mainwindow = NULL;
+
+ GdkColor colorWhite = { 0, 0xFFFF, 0xFFFF, 0xFFFF };
+-
+-GdkColormap *cmap = NULL;
+
+-GdkPixmap *theme = NULL;
++GdkPixbuf *theme = NULL;
++
++cairo_surface_t *surface = NULL;
+
+ /* Destroy the main window. */
+ gint destroy_gui( GtkWidget *widget, gpointer data ) {
+@@ -76,17 +76,16 @@
+ }
+ }
+
+-static void draw_digits( GtkWidget *widget, const gchar *digits, int highLow )
++static void draw_digits( GtkWidget *widget, cairo_t *cr, const gchar *digits, int highLow )
+ {
+ const gchar *digit = digits;
+ int pos = 0, x = 0, y = 0, w = 0;
+
+ while ( *digit ) {
+ get_pm_location( *digit, &x, &y, &w );
+- gdk_draw_drawable( widget->window,
+- widget->style->fg_gc[ GTK_WIDGET_STATE
+- (widget) ], theme, x, y + highLow,
+- pos, 0, w, 30 );
++ cairo_set_source_surface (cr, surface, pos-x, 0-(y + highLow));
++ cairo_rectangle(cr, pos, 0, w, 30);
++ cairo_fill(cr);
+ pos += w;
+ digit++;
+ }
+@@ -102,6 +101,8 @@
+
+ gchar result[7];
+
++ cairo_t *cr = gdk_cairo_create(widget->window);
++
+ #ifdef DEBUG_XSENSORS
+ printf( "area.width = %d, area.height = %d\n", event->area.width,
+ event->area.height );
+@@ -117,13 +118,11 @@
+
+ /* Display the digits */
+ if ( g_snprintf( result, 6, "%5.0f", current->curvalue ) >= 0 )
+- draw_digits( widget, result, highLow );
++ draw_digits( widget, cr, result, highLow );
+
+ /* Display RPM */
+- gdk_draw_drawable( widget->window,
+- widget->style->fg_gc[ GTK_WIDGET_STATE
+- (widget) ], theme, 0, 120 + highLow,
+- 90, 0, 57, 30 );
++ cairo_set_source_surface (cr, surface, 90-0, 0-(120 + highLow));
++ cairo_rectangle(cr, 90, 0, 57, 30);
+ break;
+ case TEMP:
+ if ( current->curvalue > current->curmax )
+@@ -134,17 +133,15 @@
+
+ /* Display the digits */
+ if ( g_snprintf( result, 7, "%6.1f", current->curvalue ) >= 0 )
+- draw_digits( widget, result, highLow );
++ draw_digits( widget, cr, result, highLow );
+
+ /* Display degree symbol */
+ if ( tf == FALSE )
+ x = 0;
+ else
+ x = 57;
+- gdk_draw_drawable( widget->window,
+- widget->style->fg_gc[ GTK_WIDGET_STATE
+- (widget) ], theme, x, 60 + highLow,
+- 96, 0, 57, 30 );
++ cairo_set_source_surface (cr, surface, 96-x, 0-(60 + highLow));
++ cairo_rectangle(cr, 96, 0, 57, 30);
+
+ break;
+ case VOLT:
+@@ -154,20 +151,17 @@
+
+ /* Display the digits */
+ if ( g_snprintf( result, 7, "%6.2f", current->curvalue ) >= 0 )
+- draw_digits( widget, result, highLow );
++ draw_digits( widget, cr, result, highLow );
+
+ /* Display V */
+- gdk_draw_drawable( widget->window,
+- widget->style->fg_gc[ GTK_WIDGET_STATE
+- (widget) ], theme, 114, 60 + highLow,
+- 96, 0, 57, 30 );
+-
+-
++ cairo_set_source_surface (cr, surface, 96-114, 0-(60 + highLow));
++ cairo_rectangle(cr, 96, 0, 57, 30);
+ break;
+ default:
+ break;
+ }
+-
++ cairo_fill(cr);
++ cairo_destroy(cr);
+ return TRUE;
+ }
+
+@@ -260,7 +254,7 @@
+
+ /* Setup timer for updates. */
+ g_timeout_add( update_time * 1000,
+- (GtkFunction) update_sensor_data,
++ (GSourceFunc) update_sensor_data,
+ (gpointer) data );
+
+ return SUCCESS;
+@@ -460,8 +454,6 @@
+ g_signal_connect( G_OBJECT (mainwindow), "delete_event",
+ G_CALLBACK (destroy_gui), NULL );
+
+- /* Graphics needed for drawing info. */
+- cmap = gtk_widget_get_colormap( mainwindow );
+
+ /* Set up the image file used for displaying characters. */
+ if ( imagefile == NULL ) {
+@@ -481,12 +473,10 @@
+ "Image file not found in either location! Exiting!\n" );
+ exit( 1 );
+ } else {
+- theme = gdk_pixmap_colormap_create_from_xpm( NULL, cmap,
+- NULL, NULL, "./images/default.xpm" );
++ theme = gdk_pixbuf_new_from_file("./images/default.xpm", NULL );
+ }
+ } else {
+- theme = gdk_pixmap_colormap_create_from_xpm( NULL, cmap,
+- NULL, NULL, imagefile );
++ theme = gdk_pixbuf_new_from_file(imagefile, NULL );
+ }
+ } else {
+ if ( stat( imagefile, &sbuf ) != 0 ) {
+@@ -495,11 +485,15 @@
+ "Image file not found in specified location! Exiting!\n" );
+ exit( 1 );
+ } else {
+- theme = gdk_pixmap_colormap_create_from_xpm( NULL, cmap,
+- NULL, NULL, imagefile );
++ theme = gdk_pixbuf_new_from_file(imagefile, NULL );
+ }
+ }
+-
++ surface = cairo_image_surface_create_for_data(gdk_pixbuf_get_pixels(theme),
++ CAIRO_FORMAT_RGB24,
++ gdk_pixbuf_get_width(theme),
++ gdk_pixbuf_get_height(theme),
++ gdk_pixbuf_get_rowstride(theme));
++
+ /* Create notebook for sensors. */
+ notebook = gtk_notebook_new( );
+ gtk_widget_modify_bg( notebook, GTK_STATE_NORMAL, &colorWhite );
diff --git a/community/xsensors/xsensors.changelog b/community/xsensors/xsensors.changelog
new file mode 100644
index 000000000..e0c2227ca
--- /dev/null
+++ b/community/xsensors/xsensors.changelog
@@ -0,0 +1,11 @@
+2010-07-16 Laurent Carlier <lcarlier@aur.archlinux.org>
+
+ * Long overdue update to 0.70
+
+2007-12-02 Corrado Primier <bardo@aur.archlinux.org>
+
+ * Recompiled with xsensors-0.60-libsensors-3.patch, necessary to work
+ with lm_sensors 3
+ * Added xsensors-0.60-gui-segfault.patch by DaNiMoTh, which fixes a
+ segmentation fault
+ * Cosmetic changes to PKGBUILD
diff --git a/community/xsensors/xsensors.desktop b/community/xsensors/xsensors.desktop
new file mode 100644
index 000000000..a516b5437
--- /dev/null
+++ b/community/xsensors/xsensors.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=XSensors
+GenericName=Hardware Monitor
+Comment=View hardware health
+Icon=/usr/share/pixmaps/xsensors/default.xpm
+Exec=/usr/bin/xsensors
+Terminal=false
+Categories=System;
diff --git a/community/xsettings-client/PKGBUILD b/community/xsettings-client/PKGBUILD
new file mode 100644
index 000000000..d314d7aa4
--- /dev/null
+++ b/community/xsettings-client/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 88791 2013-04-22 10:19:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Alois Belaska <lloyd@centrum.cz>
+
+pkgname=xsettings-client
+pkgver=0.10
+pkgrel=6
+pkgdesc="Provides cross toolkit configuration settings such as theme parameters"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://matchbox-project.org"
+depends=('libx11')
+options=('!libtool')
+source=(http://downloads.yoctoproject.org/releases/matchbox/optional-dependencies/Xsettings-client-$pkgver.tar.gz)
+md5sums=('c14aa9db6c097e0306dac97fb7da1add')
+
+build() {
+ cd $srcdir/Xsettings-client-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/Xsettings-client-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/xtmsplit/PKGBUILD b/community/xtmsplit/PKGBUILD
new file mode 100644
index 000000000..c1d0c5a70
--- /dev/null
+++ b/community/xtmsplit/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 67921 2012-03-16 09:56:53Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+
+pkgname=xtmsplit
+pkgver=0.2
+pkgrel=3
+pkgdesc="Xtremsplit-compliant file splitter/merger"
+arch=('i686' 'x86_64')
+url="http://www.software.caelistis.be/"
+license=('GPL')
+depends=('glibc')
+source=(http://www.software.caelistis.be/$pkgname-$pkgver.tar.gz)
+md5sums=('e284694d67d5715b3a8cb46222bcc789')
+
+build() {
+ cd ${srcdir}/$pkgname
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/xvkbd/PKGBUILD b/community/xvkbd/PKGBUILD
new file mode 100644
index 000000000..2b27dc638
--- /dev/null
+++ b/community/xvkbd/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 94165 2013-07-15 11:03:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Benjamin Andresen <benny@klapmuetz.org>
+# Contributor: Mikko Seppдlд <t-r-a-y@mbnet.fi>
+
+pkgname=xvkbd
+pkgver=3.5
+pkgrel=1
+pkgdesc="virtual (graphical) keyboard program for X Window System"
+arch=('i686' 'x86_64')
+url="http://homepage3.nifty.com/tsato/xvkbd/"
+license=('GPL')
+depends=('libxmu' 'xaw3d' 'glibc' 'libxt' 'libxtst' 'libxp' 'libxpm')
+makedepends=('imake')
+source=(http://homepage3.nifty.com/tsato/xvkbd/xvkbd-$pkgver.tar.gz)
+md5sums=('f7344982d985be925c7a708110e20497')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ xmkmf
+ sed -i 's|#include <X11/Xaw/|#include <X11/Xaw3d/|' xvkbd.c
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR=$pkgdir install
+ # fix
+ rm -f $pkgdir/usr/lib/X11/app-defaults
+ mkdir -p $pkgdir/usr/lib/X11
+ mv $pkgdir/etc/X11/app-defaults $pkgdir/usr/lib/X11/
+ rm -rf $pkgdir/etc/
+}
diff --git a/community/xwax/PKGBUILD b/community/xwax/PKGBUILD
new file mode 100644
index 000000000..0dbd50eae
--- /dev/null
+++ b/community/xwax/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 92791 2013-06-15 08:44:39Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: sputnick <gilles DOT quenot AT gmail DOT com>
+
+pkgname=xwax
+pkgver=1.4
+pkgrel=1
+pkgdesc='Open-source vinyl emulation software for Linux.'
+arch=('i686' 'x86_64')
+url='http://www.xwax.co.uk/'
+license=('GPL')
+depends=('alsa-lib' 'sdl_ttf' 'ttf-dejavu')
+optdepends=('cdparanoia: for CD import'
+ 'mpg123: for MP3 import'
+ 'ffmpeg: for video fallback import')
+source=("http://www.xwax.co.uk/releases/${pkgname}-${pkgver}.tar.gz")
+md5sums=('01afde1f1222fca38eab736e0b3df116')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # patch "rig.c" to use Arch Linux's default rtprio value
+ sed -i 's/^#define REALTIME_PRIORITY 80/#define REALTIME_PRIORITY 65/' rig.c
+
+ ./configure --enable-alsa --prefix /usr
+ make EXECDIR="/usr/share/${pkgname}"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" EXECDIR="/usr/share/${pkgname}" install
+}
diff --git a/community/xxkb/PKGBUILD b/community/xxkb/PKGBUILD
new file mode 100644
index 000000000..4bcf2b771
--- /dev/null
+++ b/community/xxkb/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 55567 2011-09-14 10:23:32Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xxkb
+pkgver=1.11
+pkgrel=4
+pkgdesc="keyboard layout switcher/indicator"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/xxkb/"
+license=('PerlArtistic')
+depends=('libxpm')
+makedepends=('imake')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-$pkgver-src.tar.gz"
+ XXkb
+ en22.xpm
+ ru22.xpm)
+md5sums=('c2e5c7f3285033f0e26b358ef95a7c89'
+ 'f181b7a017d3d2524ecf10638317d341'
+ '649c6d378fe12853d457b768bd273dc5'
+ 'f1692f0be5fc697b3b792d0098bdb42f')
+
+build() {
+ cd "${srcdir}"/${pkgname}
+ xmkmf
+ make PROJECTROOT=/usr PIXMAPDIR=/usr/share/$pkgname LOCAL_LIBRARIES='-lXext -lXt -lXpm'
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}
+ install -d $pkgdir/usr/bin
+ install -d $pkgdir/usr/share/$pkgname
+ install -d $pkgdir/usr/man/man1
+ install -d $pkgdir/usr/share/X11/app-defaults
+
+ install -m 0755 xxkb $pkgdir/usr/bin
+ install -m 0644 ../XXkb $pkgdir/usr/share/X11/app-defaults/XXkb
+ install -m 0644 pixmaps/*.xpm $pkgdir/usr/share/$pkgname
+ install -m 0644 $pkgname.man $pkgdir/usr/man/man1/$pkgname.1
+ install -m 0644 ../*.xpm $pkgdir/usr/share/$pkgname/
+
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+}
diff --git a/community/xxkb/XXkb b/community/xxkb/XXkb
new file mode 100644
index 000000000..ce1eeb3bb
--- /dev/null
+++ b/community/xxkb/XXkb
@@ -0,0 +1,16 @@
+XXkb.controls.add_when_start: yes
+XXkb.controls.add_when_create: yes
+XXkb.controls.add_when_change: yes
+XXkb.controls.focusout: yes
+XXkb.controls.two_state: yes
+XXkb.controls.button_delete: yes
+XXkb.controls.button_delete_and_forget: no
+XXkb.controls.mainwindow_delete: no
+XXkb.group.base: 1
+XXkb.group.alt: 2
+XXkb.bell.enable: no
+XXkb.mainwindow.enable: no
+XXkb.button.enable: no
+XXkb.ignore.reverse: no
+XXkb.mousebutton.1.reverse: no
+XXkb.mousebutton.3.reverse: no
diff --git a/community/xxkb/en22.xpm b/community/xxkb/en22.xpm
new file mode 100644
index 000000000..8ddf284f7
--- /dev/null
+++ b/community/xxkb/en22.xpm
@@ -0,0 +1,105 @@
+/* XPM */
+static char * en48_xpm[] = {
+"22 22 80 1",
+" c None",
+". c #FF4949",
+"+ c #ECE4F7",
+"@ c #3232FF",
+"# c #0000FF",
+"$ c #4A4AFF",
+"% c #FF9F9F",
+"& c #FF0000",
+"* c #FF2A2A",
+"= c #BFBFFF",
+"- c #FF1313",
+"; c #FF4F4F",
+"> c #E7DBF3",
+", c #3535FF",
+"' c #FFCDCD",
+") c #FF1818",
+"! c #FF5252",
+"~ c #E6D9F2",
+"{ c #3434FF",
+"] c #7C7CFF",
+"^ c #FFCACA",
+"/ c #FF1919",
+"( c #FF5151",
+"_ c #E9DEF4",
+": c #2F2FFF",
+"< c #0303FF",
+"[ c #7B7BFF",
+"} c #FFCBCB",
+"| c #FF1616",
+"1 c #FF4D4D",
+"2 c #EAE6FB",
+"3 c #2C2CFF",
+"4 c #0202FF",
+"5 c #FDCDD0",
+"6 c #FF1515",
+"7 c #FBCFD3",
+"8 c #7E7EFF",
+"9 c #E4E4FF",
+"0 c #FFF2F2",
+"a c #C2C2FF",
+"b c #FF4A4A",
+"c c #FFD2D2",
+"d c #FF6464",
+"e c #FF1B1B",
+"f c #FF0707",
+"g c #DFDFFF",
+"h c #FFF7F7",
+"i c #FFBFBF",
+"j c #FFEFEF",
+"k c #2323FF",
+"l c #E0DCFB",
+"m c #FF5F5F",
+"n c #FF1212",
+"o c #FFD4D4",
+"p c #DEDEFF",
+"q c #FF5D5D",
+"r c #FF0D0D",
+"s c #CECEFF",
+"t c #FFFFFF",
+"u c #2525FF",
+"v c #FF0B0B",
+"w c #FEC4C5",
+"x c #8E8EFF",
+"y c #4D4DFF",
+"z c #2727FF",
+"A c #E0D8F7",
+"B c #DFD6F6",
+"C c #FF6262",
+"D c #E2DCF9",
+"E c #FF6161",
+"F c #FFBCBC",
+"G c #8D8DFF",
+"H c #FF1010",
+"I c #FFBDBD",
+"J c #8C8CFF",
+"K c #0505FF",
+"L c #FF0A0A",
+"M c #FFC1C1",
+"N c #8F8FFF",
+"O c #0404FF",
+".+@#####$%&&*=#####@+.",
+"-;>,####$%&&*=####,>;-",
+"')!~{###$%&&*=###{~!)'",
+"]^/(_:##$%&&*=##:_(/^]",
+"<[}|123#$%&&*=#321|}[<",
+"#4[56.2:$%&&*=:2.65[4#",
+"###[761_8%&&*9_167[###",
+"####[5|(0%&&*0(|5[####",
+"$$$$$a}bc%&&*cb}a$$$$$",
+"%%%%%%%%%d&&e%%%%%%%%%",
+"&&&&&&&&&&&&&&&&&&&&&&",
+"&&&&&&&&&&&&&&&&&&&&&&",
+"*********e&&f*********",
+"=====ghij%&&*jihg=====",
+"####klmno%&&*onmlk####",
+"###kpqris%&&*tirqpk###",
+"##ulqvwxy%&&*axwvqlu##",
+"#zAmrwx#$%&&*=#xwrmAz#",
+"zBCnix##$%&&*=##xinCBz",
+"DE-FG<##$%&&*=##<GF-ED",
+"qHIJK###$%&&*=###KJIHq",
+"LMNO####$%&&*=####ONML"};
diff --git a/community/xxkb/ru22.xpm b/community/xxkb/ru22.xpm
new file mode 100644
index 000000000..e1e1aeec8
--- /dev/null
+++ b/community/xxkb/ru22.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * ru22_xpm[] = {
+"22 22 6 1",
+" c None",
+". c #FFFFFF",
+"+ c #DFDFFF",
+"@ c #0000FF",
+"# c #5500AA",
+"$ c #FF0000",
+"......................",
+"......................",
+"......................",
+"......................",
+"......................",
+"......................",
+"++++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"######################",
+"$$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$$"};
diff --git a/community/yabause-gtk/PKGBUILD b/community/yabause-gtk/PKGBUILD
new file mode 100755
index 000000000..64e3e1852
--- /dev/null
+++ b/community/yabause-gtk/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 86073 2013-03-11 21:44:40Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Harley Laue <losinggeneration@gmail.com>
+# Contributor: Hyacinthe Cartiaux <hyacinthe.cartiaux@free.fr>
+# Contributor: Anton Shestakov <engoredi@ya.ru>
+# Contributor: Tiago Camargo <tcamargo@gmail.com>
+# Contributor: robb_force <robb_force@holybuffalo.net>
+
+pkgname=yabause-gtk
+pkgver=0.9.12
+pkgrel=2
+pkgdesc='A Sega Saturn emulator'
+arch=('i686' 'x86_64')
+url="http://yabause.org/"
+license=('GPL')
+depends=('freeglut' 'gtkglext' 'openal' 'sdl')
+makedepends=('cmake' 'mesa')
+conflicts=('yabause-qt')
+source=("http://downloads.sourceforge.net/${pkgname%-*}/${pkgname%-*}-${pkgver}.tar.gz" 'rwx.patch')
+sha256sums=('f45c9649c379e1e790856f8dfa37d93be5638e8f697319b241951316f817bfb1'
+ 'd29997d3249683081a2687f31e777f917093101d56815d22103aaaf22ac786b1')
+
+build() {
+ cd "${srcdir}"/${pkgname%-*}-${pkgver}
+
+# Patch
+ patch -Np1 -i "${srcdir}"/rwx.patch
+
+# Build
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build && cd build
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DYAB_PORTS=gtk -DYAB_NETWORK=ON -DYAB_OPTIMIZED_DMA=on -DYAB_PERKEYNAME=ON
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname%-*}-${pkgver}/build
+
+# Install
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/yabause-gtk/rwx.patch b/community/yabause-gtk/rwx.patch
new file mode 100755
index 000000000..bb0491b37
--- /dev/null
+++ b/community/yabause-gtk/rwx.patch
@@ -0,0 +1,20 @@
+--- a/src/sh2_dynarec/linkage_x64.s 2013-03-11 20:29:53.112870900 +0100
++++ b/src/sh2_dynarec/linkage_x64.s 2013-03-11 20:31:48.856778600 +0100
+@@ -747,3 +747,7 @@ breakpoint:
+ ret
+ /* Set breakpoint here for debugging */
+ .size breakpoint, .-breakpoint
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- a/src/sh2_dynarec/linkage_x86.s 2013-03-11 20:30:08.157693100 +0100
++++ b/src/sh2_dynarec/linkage_x86.s 2013-03-11 20:32:30.993310600 +0100
+@@ -743,3 +743,7 @@ breakpoint:
+ ret
+ /* Set breakpoint here for debugging */
+ .size breakpoint, .-breakpoint
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/community/yabause-qt/PKGBUILD b/community/yabause-qt/PKGBUILD
new file mode 100755
index 000000000..d8d2092f1
--- /dev/null
+++ b/community/yabause-qt/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 86075 2013-03-11 21:47:54Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Harley Laue <losinggeneration@gmail.com>
+# Contributor: Hyacinthe Cartiaux <hyacinthe.cartiaux@free.fr>
+# Contributor: Anton Shestakov <engoredi@ya.ru>
+# Contributor: Tiago Camargo <tcamargo@gmail.com>
+# Contributor: robb_force <robb_force@holybuffalo.net>
+
+pkgname=yabause-qt
+pkgver=0.9.12
+pkgrel=1
+pkgdesc='A Sega Saturn emulator'
+arch=('i686' 'x86_64')
+url="http://yabause.org/"
+license=('GPL')
+depends=('freeglut' 'mesa' 'openal' 'qt4' 'sdl')
+makedepends=('cmake' 'glu')
+conflicts=('yabause-gtk')
+source=("http://downloads.sourceforge.net/${pkgname%-*}/${pkgname%-*}-${pkgver}.tar.gz" 'rwx.patch')
+sha256sums=('f45c9649c379e1e790856f8dfa37d93be5638e8f697319b241951316f817bfb1'
+ 'd29997d3249683081a2687f31e777f917093101d56815d22103aaaf22ac786b1')
+
+build() {
+ cd "${srcdir}"/${pkgname%-*}-${pkgver}
+
+# Patch
+ patch -Np1 -i "${srcdir}"/rwx.patch
+
+# Build
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build && cd build
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DYAB_PORTS=qt -DYAB_NETWORK=ON -DYAB_OPTIMIZED_DMA=on -DYAB_PERKEYNAME=ON
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname%-*}-${pkgver}/build
+
+# Install
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/yabause-qt/rwx.patch b/community/yabause-qt/rwx.patch
new file mode 100755
index 000000000..bb0491b37
--- /dev/null
+++ b/community/yabause-qt/rwx.patch
@@ -0,0 +1,20 @@
+--- a/src/sh2_dynarec/linkage_x64.s 2013-03-11 20:29:53.112870900 +0100
++++ b/src/sh2_dynarec/linkage_x64.s 2013-03-11 20:31:48.856778600 +0100
+@@ -747,3 +747,7 @@ breakpoint:
+ ret
+ /* Set breakpoint here for debugging */
+ .size breakpoint, .-breakpoint
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- a/src/sh2_dynarec/linkage_x86.s 2013-03-11 20:30:08.157693100 +0100
++++ b/src/sh2_dynarec/linkage_x86.s 2013-03-11 20:32:30.993310600 +0100
+@@ -743,3 +743,7 @@ breakpoint:
+ ret
+ /* Set breakpoint here for debugging */
+ .size breakpoint, .-breakpoint
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/community/yagf/PKGBUILD b/community/yagf/PKGBUILD
new file mode 100644
index 000000000..a810ad8c5
--- /dev/null
+++ b/community/yagf/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 85428 2013-03-01 10:43:02Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: das-ich <das-ich@yandex.ru>
+
+pkgname=yagf
+pkgver=0.9.2
+pkgrel=3
+pkgdesc="QT4-based GUI for Cuneiform and Tesseract OCRs"
+arch=(i686 x86_64)
+url="http://symmetrica.net/cuneiform-linux/yagf-en.html"
+license=('GPL')
+depends=('qt4' 'aspell')
+optdepends=('cuneiform: recognition tool'
+ 'tesseract: recognition tool'
+ 'xsane: acquire images from a scanner into YAGF directly')
+makedepends=('cmake')
+install=yagf.install
+source=(http://symmetrica.net/cuneiform-linux/${pkgname}-${pkgver}.tar.gz)
+md5sums=('13592e52006d20f71c0094aafb13ed0e')
+
+build() {
+ cd "${srcdir}/${pkgname}-$pkgver"
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release .
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-$pkgver"
+ make DESTDIR=${pkgdir} install
+ [ -d $pkgdir/usr/lib64 ] && mv $pkgdir/usr/lib64 $pkgdir/usr/lib || true
+}
diff --git a/community/yagf/yagf.install b/community/yagf/yagf.install
new file mode 100644
index 000000000..1eb57303c
--- /dev/null
+++ b/community/yagf/yagf.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/yamdi/PKGBUILD b/community/yamdi/PKGBUILD
new file mode 100644
index 000000000..1aa9f795d
--- /dev/null
+++ b/community/yamdi/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 83565 2013-02-03 08:26:51Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=yamdi
+pkgver=1.9
+pkgrel=1
+pkgdesc="A metadata injector for FLV files"
+arch=('i686' 'x86_64')
+url="http://yamdi.sourceforge.net/"
+license=('custom:BSD')
+depends=('glibc')
+source=("http://downloads.sourceforge.net/yamdi/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -Dm 0755 -o root yamdi "$pkgdir/usr/bin/yamdi"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 man1/yamdi.1 "$pkgdir/usr/share/man/man1/yamdi.1"
+}
+
+# vim:set ts=2 sw=2 et:
+md5sums=('14254b2a68f88feb3fead962bca5dc03')
diff --git a/community/yaml-cpp/PKGBUILD b/community/yaml-cpp/PKGBUILD
new file mode 100644
index 000000000..c2fc7add7
--- /dev/null
+++ b/community/yaml-cpp/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 89824 2013-05-02 16:13:14Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Markus Martin <markus@archwyrm.net>
+pkgname=yaml-cpp
+pkgver=0.5.1
+pkgrel=1
+pkgdesc="YAML parser and emitter in C++, written around the YAML 1.2 spec"
+url="http://code.google.com/p/yaml-cpp/"
+arch=('i686' 'x86_64')
+license=('MIT')
+makedepends=('cmake' 'boost')
+source=(http://yaml-cpp.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+md5sums=('0fa47a5ed8fedefab766592785c85ee7')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=ON
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+}
diff --git a/community/yaws/PKGBUILD b/community/yaws/PKGBUILD
new file mode 100644
index 000000000..476fa519f
--- /dev/null
+++ b/community/yaws/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 88640 2013-04-20 21:08:12Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Patrick Smits <mail@patricksmits.net>
+
+pkgname=yaws
+pkgver=1.96
+pkgrel=1
+pkgdesc='Yet Another Web Server, pure Erlang HTTP server/framework'
+arch=('x86_64' 'i686')
+url='http://yaws.hyber.org/'
+license=('BSD')
+depends=('pam' 'erlang')
+backup=('etc/yaws/yaws.conf')
+options=('!emptydirs')
+install=$pkgname.install
+optdepends=('erlang-nox: Erlang without X (headless)')
+source=("http://yaws.hyber.org/download/$pkgname-$pkgver.tar.gz"
+ "$pkgname.service")
+sha256sums=('8d4f16d18937335ac021ca4c65c8ee81dc4d71f133718c7148856cc6bf1f55e2'
+ '3f8347add6e3741e77f7bb9ba6b31feb1c878e2e58ecf19063891e801fa24698')
+
+prepare() {
+ cd "$pkgname-$pkgver"
+
+ # python2 fix
+ for file in cgi.yaws cgi-bin/foo.py; do
+ sed -i '0,/on/s//on2/' "www/$file"
+ done
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -d "$pkgdir/usr/lib/erlang/lib"
+ ln -s /usr/lib/yaws "$pkgdir/usr/lib/erlang/lib/$pkgname-$pkgver"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 "$srcdir/$pkgname.service" \
+ "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/yaws/yaws.install b/community/yaws/yaws.install
new file mode 100644
index 000000000..2b28403e1
--- /dev/null
+++ b/community/yaws/yaws.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ mkdir -p /usr/var/log/yaws
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ rmdir --ignore-fail-on-non-empty /usr/var/log/yaws
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/yaws/yaws.service b/community/yaws/yaws.service
new file mode 100644
index 000000000..7e2ced32d
--- /dev/null
+++ b/community/yaws/yaws.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=A fast lightweight webserver.
+After=syslog.target network.target
+
+[Service]
+Type=forking
+GuessMainPID=no
+ExecStart=/usr/bin/yaws --daemon --heart
+ExecReload=/usr/bin/yaws --hup
+ExecStop=/usr/bin/yaws --stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/yaz/PKGBUILD b/community/yaz/PKGBUILD
new file mode 100644
index 000000000..81508b46b
--- /dev/null
+++ b/community/yaz/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 88599 2013-04-20 16:23:14Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Ray Rashif <schiv@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Robert Emil Berge <filoktetes@linuxophic.org>
+
+pkgname=yaz
+pkgver=4.2.54
+pkgrel=1
+pkgdesc="A toolkit supporting the development of Z39.50/SRW/SRU clients and servers"
+arch=('i686' 'x86_64')
+url="http://www.indexdata.dk/yaz"
+license=('BSD')
+depends=('openssl' 'libxslt' 'icu')
+options=('!libtool')
+changelog=$pkgname.changelog
+source=(http://ftp.indexdata.dk/pub/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('a11fb3b7129bec80311f8e27a0717b9bf6d7c56049674bb5477b91e7e98d2087')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --enable-shared=yaz \
+ --with-openssl=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/yaz/yaz.changelog b/community/yaz/yaz.changelog
new file mode 100644
index 000000000..27f48a9c4
--- /dev/null
+++ b/community/yaz/yaz.changelog
@@ -0,0 +1,5 @@
+2013-04-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * yaz 4.2.54-1
+
+2013-01-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * yaz 4.2.49-1
diff --git a/community/zathura-djvu/PKGBUILD b/community/zathura-djvu/PKGBUILD
new file mode 100644
index 000000000..6d83912ef
--- /dev/null
+++ b/community/zathura-djvu/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 91452 2013-05-22 23:23:11Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: karnath <karnathtorjian@gmail.com>
+
+pkgname=zathura-djvu
+pkgver=0.2.3
+pkgrel=1
+pkgdesc="Adds DjVu support to zathura by using the djvulibre library"
+arch=('i686' 'x86_64')
+url="https://pwmt.org/projects/zathura/plugins/zathura-djvu/"
+license=('custom')
+depends=('djvulibre' 'zathura')
+install="$pkgname.install"
+source=("https://pwmt.org/projects/zathura/plugins/download/zathura-djvu-$pkgver.tar.gz")
+md5sums=('a472f706d6f6384d8bc2750141a84fc6')
+
+build(){
+ make -C "${srcdir}/$pkgname-$pkgver"
+}
+
+package(){
+ make -C "${srcdir}/$pkgname-$pkgver" DESTDIR="$pkgdir" install
+ install -Dm0644 "${srcdir}/$pkgname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
diff --git a/community/zathura-djvu/zathura-djvu.install b/community/zathura-djvu/zathura-djvu.install
new file mode 100644
index 000000000..247455a1d
--- /dev/null
+++ b/community/zathura-djvu/zathura-djvu.install
@@ -0,0 +1,6 @@
+post_install(){
+ update-desktop-database -q
+}
+post_remove(){
+ update-desktop-database -q
+}
diff --git a/community/zathura-pdf-mupdf/PKGBUILD b/community/zathura-pdf-mupdf/PKGBUILD
new file mode 100644
index 000000000..db543f2a9
--- /dev/null
+++ b/community/zathura-pdf-mupdf/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 67819 2012-03-14 16:22:14Z spupykin $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Moritz Lipp <mlq@pwmt.org>
+
+pkgname=zathura-pdf-mupdf
+pkgver=0.2.4
+pkgrel=1
+pkgdesc="Adds pdf support to zathura by using the mupdf library"
+arch=('i686' 'x86_64')
+url="https://pwmt.org/projects/zathura/plugins/zathura-pdf-mupdf/"
+license=('custom')
+depends=('mupdf>=1.1' 'zathura')
+conflicts=('zathura-pdf-poppler')
+source=("https://pwmt.org/projects/zathura/plugins/download/$pkgname-$pkgver.tar.gz")
+md5sums=('aa9667425dab93147dd8605eda020e59')
+
+build() {
+ make -C "${srcdir}/$pkgname-$pkgver"
+}
+
+package(){
+ make -C "${srcdir}/$pkgname-$pkgver" DESTDIR="$pkgdir" install
+ install -Dm0644 "${srcdir}/$pkgname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/zathura-pdf-poppler/PKGBUILD b/community/zathura-pdf-poppler/PKGBUILD
new file mode 100644
index 000000000..14498ce13
--- /dev/null
+++ b/community/zathura-pdf-poppler/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 67819 2012-03-14 16:22:14Z spupykin $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: karnath <karnathtorjian@gmail.com>
+
+pkgname=zathura-pdf-poppler
+pkgver=0.2.3
+pkgrel=2
+pkgdesc="Adds pdf support to zathura by using the poppler engine"
+arch=('i686' 'x86_64')
+url="https://pwmt.org/projects/zathura/plugins/zathura-pdf-poppler/"
+license=('custom')
+depends=('poppler-glib' 'zathura')
+install="$pkgname.install"
+
+source=("https://pwmt.org/projects/zathura/plugins/download/$pkgname-$pkgver.tar.gz")
+md5sums=('1d8deb2d2ee5a6847267f977b8f2e542')
+
+build() {
+ make -C "${srcdir}/$pkgname-$pkgver"
+}
+
+package(){
+ make -C "${srcdir}/$pkgname-$pkgver" DESTDIR="$pkgdir" install
+ install -Dm0644 "${srcdir}/$pkgname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/zathura-pdf-poppler/zathura-pdf-poppler.install b/community/zathura-pdf-poppler/zathura-pdf-poppler.install
new file mode 100644
index 000000000..247455a1d
--- /dev/null
+++ b/community/zathura-pdf-poppler/zathura-pdf-poppler.install
@@ -0,0 +1,6 @@
+post_install(){
+ update-desktop-database -q
+}
+post_remove(){
+ update-desktop-database -q
+}
diff --git a/community/zathura-ps/PKGBUILD b/community/zathura-ps/PKGBUILD
new file mode 100644
index 000000000..9440bf22d
--- /dev/null
+++ b/community/zathura-ps/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 67819 2012-03-14 16:22:14Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: karnath <karnathtorjian@gmail.com>
+
+pkgname=zathura-ps
+pkgver=0.2.2
+pkgrel=1
+pkgdesc="Adds ps support to zathura by using the libspectre library"
+arch=('i686' 'x86_64')
+url="https://pwmt.org/projects/zathura/plugins/zathura-ps/"
+license=('custom')
+depends=('libspectre' 'zathura')
+install="$pkgname.install"
+source=(https://pwmt.org/projects/zathura/plugins/download/zathura-ps-$pkgver.tar.gz)
+md5sums=('338af976c03c0aa1471b156a0efdc45c')
+
+build(){
+ make -C "$pkgname-$pkgver"
+}
+
+package(){
+ make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
+ install -Dm0644 "$pkgname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/zathura-ps/zathura-ps.install b/community/zathura-ps/zathura-ps.install
new file mode 100644
index 000000000..247455a1d
--- /dev/null
+++ b/community/zathura-ps/zathura-ps.install
@@ -0,0 +1,6 @@
+post_install(){
+ update-desktop-database -q
+}
+post_remove(){
+ update-desktop-database -q
+}
diff --git a/community/zathura/PKGBUILD b/community/zathura/PKGBUILD
new file mode 100644
index 000000000..b40481192
--- /dev/null
+++ b/community/zathura/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 90594 2013-05-13 10:03:23Z spupykin $
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: ML <neldoreth>
+
+pkgname=zathura
+pkgver=0.2.3
+pkgrel=1
+pkgdesc="a document viewer"
+arch=('i686' 'x86_64')
+url="http://pwmt.org/projects/zathura/"
+license=('custom')
+depends=('girara-gtk2' 'sqlite' 'desktop-file-utils')
+makedepends=('python2-docutils')
+optdepends=('zathura-djvu' 'zathura-pdf-poppler' 'zathura-pdf-mupdf' 'zathura-ps')
+install=zathura.install
+source=(http://pwmt.org/projects/zathura/download/zathura-$pkgver.tar.gz
+ bash-completion)
+md5sums=('c0265fd9fa64a37b01d729efb75a7c32'
+ 'cac20c37f0e77ba62a8138788f4ccabb')
+
+build() {
+ cd $srcdir/zathura-$pkgver
+ sed -i 's/rst2man/&2/' config.mk
+ make ZATHURA_GTK_VERSION=2
+}
+
+package() {
+ cd $srcdir/zathura-$pkgver
+ make install DESTDIR=$pkgdir ZATHURA_GTK_VERSION=2
+ install -D -m664 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm0644 $srcdir/bash-completion $pkgdir/usr/share/bash-completion/completions/zathura
+}
diff --git a/community/zathura/bash-completion b/community/zathura/bash-completion
new file mode 100644
index 000000000..41c3825b6
--- /dev/null
+++ b/community/zathura/bash-completion
@@ -0,0 +1,29 @@
+_zathura() {
+ _init_completion || return
+
+ EXTENTIONS=''
+ for PLUGIN in /usr/lib/zathura/*.so; do
+ case ${PLUGIN##*/} in
+ pdf.so)
+ EXTENTIONS="$EXTENTIONS|pdf"
+ ;;
+ ps.so)
+ EXTENTIONS="$EXTENTIONS|ps|eps|epsi|epsf"
+ ;;
+ djvu.so)
+ EXTENTIONS="$EXTENTIONS|djvu|djv"
+ ;;
+ epub.so)
+ EXTENTIONS="$EXTENTIONS|epub"
+ ;;
+ cb.so)
+ EXTENTIONS="$EXTENTIONS|cb7|cbr|cbz|cbt|rar|zip|7z|tar"
+ ;;
+ *)
+ ;;
+ esac
+ done
+
+ _filedir "${EXTENTIONS#|}"
+} &&
+complete -F _zathura zathura
diff --git a/community/zathura/zathura.install b/community/zathura/zathura.install
new file mode 100644
index 000000000..1ff3c64cd
--- /dev/null
+++ b/community/zathura/zathura.install
@@ -0,0 +1,14 @@
+post_install() {
+ which gtk-update-icon-cache >/dev/null && \
+ [ -d usr/share/icons/hicolor ] && \
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/zaz/PKGBUILD b/community/zaz/PKGBUILD
new file mode 100644
index 000000000..7a4684d6d
--- /dev/null
+++ b/community/zaz/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 75255 2012-08-17 04:30:40Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Adrián Chaves Fernández (aka Gallaecio) <adriyetichaves@gmail.com>
+# Contributor: Todd Partridge (aka Gen2ly) <toddrpartridge@gmail.com>
+
+pkgname=zaz
+pkgver=1.0.0
+pkgrel=3
+pkgdesc="Puzzle game where the player has to arrange balls in triplets."
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/zaz/"
+license=('GPL3' 'custom:CCBYSA')
+depends=('ftgl' 'sdl' 'sdl_image' 'libvorbis' 'libtheora' 'desktop-file-utils')
+source=(http://download.sourceforge.net/sourceforge/zaz/files/$pkgname-$pkgver.tar.bz2)
+md5sums=('d92a043780d06c699da0ba04aab32a6b')
+install=zaz.install
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --disable-splash
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 data/copyright.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE_DATA
+}
diff --git a/community/zaz/zaz.install b/community/zaz/zaz.install
new file mode 100644
index 000000000..724bfce00
--- /dev/null
+++ b/community/zaz/zaz.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/zeromq/PKGBUILD b/community/zeromq/PKGBUILD
new file mode 100644
index 000000000..69869fc0a
--- /dev/null
+++ b/community/zeromq/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 92652 2013-06-10 15:20:40Z bpiotrowski $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+pkgname=zeromq
+pkgver=3.2.3
+pkgrel=1
+pkgdesc="Fast messaging system built on sockets, C and C++ bindings. aka 0MQ, ZMQ."
+arch=('i686' 'x86_64')
+url="http://www.zeromq.org"
+license=('LGPL')
+depends=('gcc-libs' 'util-linux')
+makedepends=('python2')
+source=(http://download.zeromq.org/$pkgname-$pkgver.tar.gz
+ https://raw.github.com/zeromq/cppzmq/master/zmq.hpp)
+md5sums=('1abf8246363249baf5931a065ee38203'
+ '37805e6859ce1900041c9a2613936ec7')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure prefix=/usr --with-pgm
+ sed -i 's/python$/&2/' foreign/openpgm/build-staging/openpgm/pgm/{Makefile,version_generator.py}
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir/zmq.hpp" "$pkgdir/usr/include/zmq.hpp"
+}
+
+
diff --git a/community/zh-autoconvert/PKGBUILD b/community/zh-autoconvert/PKGBUILD
new file mode 100644
index 000000000..24afc94ae
--- /dev/null
+++ b/community/zh-autoconvert/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: CUI Hao <cuihao.leo at gmail dot com>
+# Contributor: Kandu <1123monkey at 163 dot com>
+
+pkgname=zh-autoconvert
+pkgver=0.3.16
+pkgrel=2
+pkgdesc="An intelligent Chinese Encoding converter"
+url="http://libhz.googlecode.com/"
+license=('LGPL')
+arch=('i686' 'x86_64')
+depends=('glibc')
+makedepends=('pkgconfig')
+source=(${url}/files/${pkgname}-${pkgver}.tar.gz
+ autoconvert.patch)
+md5sums=('1f4aa2332afc076910b5d510b8c81966'
+ '1f7c39af01d6845c064da59224ae503b')
+
+build() {
+ cd "${srcdir}/autoconvert-${pkgver}"
+
+ patch -Np1 -i ../autoconvert.patch
+ make
+}
+
+package() {
+ cd "${srcdir}/autoconvert-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+
diff --git a/community/zh-autoconvert/autoconvert.patch b/community/zh-autoconvert/autoconvert.patch
new file mode 100644
index 000000000..e496c1029
--- /dev/null
+++ b/community/zh-autoconvert/autoconvert.patch
@@ -0,0 +1,37 @@
+--- autoconvert-0.3.16/Makefile 2001-04-28 09:45:46.000000000 +0800
++++ autoconvert-0.3.16-fix/Makefile 2011-05-01 11:25:23.432934576 +0800
+@@ -5,7 +5,7 @@
+
+ .PHONY: all hzlib clean install-home install
+
+-all: autob5 autogb hzlib xchat-plugins
++all: autob5 autogb hzlib
+
+ autob5: autogb
+ rm -f autob5;ln -s autogb autob5
+@@ -15,8 +15,6 @@
+ $(CC) $(CFLAG) autogb.c lib/libhz.a -o autogb
+ hzlib:
+ cd hzconvert;make
+-xchat-plugins:
+- cd contrib/xchat-plugins;make
+ clean:
+ rm -f autob5 autogb *.o *~
+ rm -f include/*~
+@@ -30,12 +28,13 @@
+ ln -s $(HOME)/bin/autogb $(HOME)/bin/autob5
+ chmod 755 $(HOME)/bin/autogb
+ install:
++ mkdir -p $(DESTDIR)/usr/bin
++ mkdir -p $(DESTDIR)/usr/lib
++ mkdir -p $(DESTDIR)/usr/include
+ install -m 755 autogb $(DESTDIR)/usr/bin
+ install -m 755 lib/libhz.so.0.0 $(DESTDIR)/usr/lib
+ cd $(DESTDIR)/usr/lib;ln -s libhz.so.0.0 libhz.so.0
+ cd $(DESTDIR)/usr/lib;ln -s libhz.so.0 libhz.so
+- install -m 755 lib/libhz.a $(DESTDIR)/usr/lib
+- install -m 755 contrib/xchat-plugins/xchat-autogb.so $(DESTDIR)/usr/share/zh-autoconvert
+- install -m 755 contrib/xchat-plugins/xchat-autob5.so $(DESTDIR)/usr/share/zh-autoconvert
++ install -m 644 lib/libhz.a $(DESTDIR)/usr/lib
+ install -m 644 include/*.h $(DESTDIR)/usr/include
+ ln -s autogb $(DESTDIR)/usr/bin/autob5
diff --git a/community/zile/PKGBUILD b/community/zile/PKGBUILD
new file mode 100644
index 000000000..4ed801004
--- /dev/null
+++ b/community/zile/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 83186 2013-01-27 16:28:06Z pierre $
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+
+pkgname=zile
+pkgver=2.4.9
+pkgrel=1
+pkgdesc="A small, fast, and powerful Emacs clone"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/zile/"
+license=('GPL3')
+depends=('acl' 'gc' 'ncurses')
+source=(http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig})
+sha1sums=('f233487e2d0ce99d7670832d106d1a2503d4c925'
+ 'cfc6f526bd4f14e127b32f91ae3e414e58d722c3')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/zinnia/PKGBUILD b/community/zinnia/PKGBUILD
new file mode 100644
index 000000000..48784f97b
--- /dev/null
+++ b/community/zinnia/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 81446 2012-12-21 04:42:33Z fyan $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Humbert Julien <julroy67 [AT] gmail.com>
+
+pkgname=zinnia
+pkgver=0.06
+pkgrel=2
+pkgdesc="Simple, customizable and portable online hand recognition system based on Support Vector Machines"
+arch=('i686' 'x86_64')
+url="http://zinnia.sourceforge.net/"
+license=('BSD')
+depends=('gcc-libs')
+makedepends=('libtool')
+source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz")
+sha256sums=('ece3af93f937282971634fd81d3e997f848e8cfa958220e26a4564ca064ac20b')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/zita-convolver/PKGBUILD b/community/zita-convolver/PKGBUILD
new file mode 100644
index 000000000..fee89316f
--- /dev/null
+++ b/community/zita-convolver/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 93759 2013-07-10 02:26:55Z speps $
+# Maintainer : speps <speps at aur dot archlinux dot org>
+# Contributor: Philipp Überbacher <murks at lavabit dot com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: orbisvicis
+
+pkgname=zita-convolver
+pkgver=3.1.0
+pkgrel=1
+pkgdesc="A fast, partitioned convolution engine library."
+arch=('i686' 'x86_64')
+url="http://kokkinizita.linuxaudio.org/linuxaudio/"
+license=('GPL3')
+depends=('gcc-libs' 'fftw')
+source=("${url}downloads/zita-convolver-$pkgver.tar.bz2")
+md5sums=('7e264d0fb0d8ea277cdb4e33d764c68a')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver/libs"
+
+ # prevent ldconfig call
+ sed -i 's/ldconfig//' Makefile
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver/libs"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/libs"
+ make SUFFIX="" PREFIX=/usr DESTDIR="$pkgdir/" install
+
+ # missing softlink
+ ln -s lib$pkgname.so.$pkgver \
+ "$pkgdir/usr/lib/lib$pkgname.so.${pkgver%%.*}"
+}
diff --git a/community/zita-resampler/PKGBUILD b/community/zita-resampler/PKGBUILD
new file mode 100644
index 000000000..f43665891
--- /dev/null
+++ b/community/zita-resampler/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 93758 2013-07-10 02:26:27Z speps $
+# Maintainer : speps <speps at aur dot archlinux dot org>
+# Contributor: Philipp Überbacher <murks at lavabit dot com>
+
+pkgname=zita-resampler
+pkgver=1.3.0
+pkgrel=1
+pkgdesc="A C++ library for resampling audio signals."
+url="http://kokkinizita.linuxaudio.org/linuxaudio/"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('gcc-libs' 'libsndfile')
+source=("${url}downloads/$pkgname-$pkgver.tar.bz2")
+md5sums=('74c12e2280008f63ac9f2670fe4cf79b')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver/libs"
+
+ # lib
+ make PREFIX=/usr
+
+ # create lib link for building apps
+ ln -s lib$pkgname.so.$pkgver lib$pkgname.so
+
+ # apps
+ cd ../apps
+ CXXFLAGS+=" -I../libs" \
+ LDFLAGS+=" -L../libs" \
+ make PREFIX=/usr
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/libs"
+
+ # lib
+ install -Dm755 lib$pkgname.so.$pkgver \
+ "$pkgdir/usr/lib/lib$pkgname.so.$pkgver"
+
+ # links
+ ln -s lib$pkgname.so.$pkgver \
+ "$pkgdir/usr/lib/lib$pkgname.so"
+ ln -s lib$pkgname.so.$pkgver \
+ "$pkgdir/usr/lib/lib$pkgname.so.${pkgver%%.*}"
+
+ # headers
+ install -d "$pkgdir/usr/include/$pkgname"
+ install -Dm644 $pkgname/*.h \
+ "$pkgdir/usr/include/$pkgname"
+
+ # apps
+ install -d "$pkgdir/usr/bin"
+ install -Dm755 ../apps/zre{sample,tune} \
+ "$pkgdir/usr/bin"
+
+ # docs
+ install -d "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm644 ../docs/* \
+ "$pkgdir/usr/share/doc/$pkgname"
+
+ # man
+ install -d "$pkgdir/usr/share/man/man1"
+ install -Dm644 ../apps/zre{sample,tune}.1 \
+ "$pkgdir/usr/share/man/man1"
+}
diff --git a/community/znc/PKGBUILD b/community/znc/PKGBUILD
new file mode 100644
index 000000000..a840a834a
--- /dev/null
+++ b/community/znc/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 91707 2013-05-26 09:26:32Z bluewind $
+# Maintainer: Sébastien Luttringer
+# Contributor: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: mickael9 <mickael9 at gmail dot com>
+
+pkgname=znc
+pkgver=1.0
+pkgrel=7
+pkgdesc='An IRC bouncer with modules & scripts support'
+url='http://en.znc.in/wiki/index.php/ZNC'
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('libsasl')
+makedepends=('tcl' 'python' 'perl')
+optdepends=('tcl: modtcl module'
+ 'python: modpython module'
+ 'perl: modperl module'
+ 'cyrus-sasl: saslauth module')
+install=$pkgname.install
+source=("http://znc.in/releases/$pkgname-$pkgver.tar.gz")
+md5sums=('23807ca830c27392cccb6774f542df6e')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --enable-cyrus \
+ --enable-python \
+ --enable-perl \
+ --enable-tcl \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/znc/znc.install b/community/znc/znc.install
new file mode 100644
index 000000000..e5dd6575a
--- /dev/null
+++ b/community/znc/znc.install
@@ -0,0 +1,29 @@
+#/bin/sh
+
+# arg 1: the new package version
+post_install() {
+ getent group znc >/dev/null || groupadd -g 136 znc
+ getent passwd znc >/dev/null || useradd -r -d /var/lib/znc -u 136 -g 136 znc
+ [ -d /var/lib/znc ] || install -dm 750 -o znc -g znc /var/lib/znc
+ echo "==> Use 'znc --makeconf' as user znc to generate your first config"
+ true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "`vercmp $2 1.0-4`" -lt 0 ]; then
+ [ -d /var/lib/znc ] || install -dm 750 -o znc -g znc /var/lib/znc
+ usermod -d /var/lib/znc znc 2>/dev/null && echo '==> znc home directory has moved to /var/lib/znc'
+ fi
+ true
+}
+
+# arg 1: the old package version
+post_remove() {
+ userdel -f znc >/dev/null 2>&1
+ groupdel znc >/dev/null 2>&1
+ true
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/zynaddsubfx/PKGBUILD b/community/zynaddsubfx/PKGBUILD
new file mode 100644
index 000000000..b5ce8787a
--- /dev/null
+++ b/community/zynaddsubfx/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 72810 2012-06-22 13:58:49Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: SpepS <dreamspepser at yahoo dot it>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: DonVla <donvla@users.sourceforge.net>
+
+pkgname=zynaddsubfx
+pkgver=2.4.3
+pkgrel=1
+pkgdesc="Opensource software synthesizer capable of making a countless number of instruments."
+arch=('i686' 'x86_64')
+url="http://zynaddsubfx.sourceforge.net"
+license=('GPL')
+depends=('fltk' 'libgl' 'fftw' 'lash' 'mxml')
+makedepends=('cmake' 'pkgconfig' 'mesa' 'setconf' 'gendesk')
+options=('!emptydirs')
+source=("http://switch.dl.sourceforge.net/sourceforge/$pkgname/ZynAddSubFX-$pkgver.tar.bz2"
+ "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-sound/zynaddsubfx/files/zynaddsubfx-2.4.1-fltk.patch"
+ "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-sound/zynaddsubfx/files/zynaddsubfx-2.4.1-fltk13.patch"
+ "$pkgname.svg")
+md5sums=('2e8994cc54e5f1a64b77dfac3baf0d9a'
+ 'eb95d339ff5deac8c6b54965f04a8c60'
+ '49464a33ab9c4250520eda0df7705663'
+ '6f7e9c3ce3947088a10c99c46a65431f')
+
+build() {
+ cd "$srcdir"
+ gendesk
+ setconf "$pkgname.desktop" Icon "$pkgname.svg"
+
+ cd "ZynAddSubFX-$pkgver"
+
+ # patches
+# patch -p1 -i "$srcdir/$pkgname-$pkgver-fltk.patch"
+# patch -p1 -i "$srcdir/$pkgname-$pkgver-fltk13.patch"
+ sed -i '1,1i#include <unistd.h>' src/Nio/NulEngine.cpp
+
+ [ -d build ] || mkdir build && cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DOutputModule=jack -DGuiModule=fltk ..
+ make
+
+ # build external programs
+ cd ../ExternalPrograms/Spliter && make
+ cd ../Controller && sed -i "s|Box\.h|Box\.H|" ControllerUI.fl && make
+}
+
+package() {
+ cd "$srcdir/ZynAddSubFX-$pkgver/build"
+
+ make DESTDIR="$pkgdir/" install
+
+ # install external programs
+ install -Dm755 ../ExternalPrograms/Spliter/spliter "$pkgdir/usr/bin/spliter"
+ install -Dm755 ../ExternalPrograms/Controller/controller "$pkgdir/usr/bin/controller"
+ install -Dm644 ../ExternalPrograms/Spliter/readme.txt "$pkgdir/usr/share/doc/$pkgname/SPLITER.txt"
+
+ # banks and examples
+ install -d "$pkgdir/usr/share/$pkgname"
+ cp -a ../instruments/banks "$pkgdir/usr/share/$pkgname"
+ cp -a ../instruments/examples "$pkgdir/usr/share/$pkgname"
+
+ # desktop file and icon
+ install -Dm644 "$srcdir/$pkgname.svg" "$pkgdir/usr/share/pixmaps/$pkgname.svg"
+ install -Dm644 "$srcdir/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
+}
diff --git a/community/zynaddsubfx/zynaddsubfx.svg b/community/zynaddsubfx/zynaddsubfx.svg
new file mode 100644
index 000000000..d81c651ad
--- /dev/null
+++ b/community/zynaddsubfx/zynaddsubfx.svg
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg1"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.2 r9819"
+ width="507.1875"
+ height="509.21875"
+ sodipodi:docname="zynaddsubfx_icon.svg"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient4809">
+ <stop
+ style="stop-color:#d5d8db;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4810" />
+ <stop
+ style="stop-color:#6d8ec2;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4811" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4179">
+ <stop
+ style="stop-color:#bec8c6;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4180" />
+ <stop
+ style="stop-color:#bbcac9;stop-opacity:1.0000000;"
+ offset="0.59527779"
+ id="stop4182" />
+ <stop
+ style="stop-color:#879797;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4181" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4038">
+ <stop
+ style="stop-color:#4a8a61;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4039" />
+ <stop
+ style="stop-color:#557c7d;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4040" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2162">
+ <stop
+ style="stop-color:#549c6d;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2163" />
+ <stop
+ style="stop-color:#679697;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2164" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2158">
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#a1aec2;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2160" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2158"
+ id="radialGradient2165"
+ cx="205.28555"
+ cy="152.50184"
+ r="486.22545"
+ fx="198.52472"
+ fy="148.59325"
+ gradientTransform="matrix(0.99940285,0,0,1.0005975,-127.46875,-47)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4038"
+ id="linearGradient4043"
+ x1="119.48864"
+ y1="387.75519"
+ x2="462.45943"
+ y2="302.28432"
+ gradientTransform="scale(1.0666754,0.9374923)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4809"
+ id="radialGradient4184"
+ cx="-6.2401056"
+ cy="138.19312"
+ r="63.0278"
+ fx="-5.4719041"
+ fy="137.48498"
+ spreadMethod="pad"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.0322663,0.96874227)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4809"
+ id="radialGradient3021"
+ gradientUnits="userSpaceOnUse"
+ spreadMethod="pad"
+ cx="-6.2401056"
+ cy="138.19312"
+ fx="-5.4719041"
+ fy="137.48498"
+ r="63.0278"
+ gradientTransform="scale(1.0322663,0.96874227)" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.61399264"
+ inkscape:cx="305.35982"
+ inkscape:cy="328.83153"
+ inkscape:window-width="1278"
+ inkscape:window-height="760"
+ inkscape:window-x="0"
+ inkscape:window-y="19"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ showgrid="false"
+ inkscape:snap-global="true"
+ inkscape:snap-nodes="true"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <rect
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.13874531pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ id="rect2793"
+ width="497.32657"
+ height="497.92426"
+ x="8.5265961"
+ y="9.9727058"
+ rx="10"
+ ry="10.000001" />
+ <rect
+ style="fill:url(#radialGradient2165);fill-opacity:0.75;fill-rule:evenodd;stroke:#c7ffc7;stroke-width:2.67499995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
+ id="rect1532"
+ width="497.32657"
+ height="497.92426"
+ x="1.3287659"
+ y="1.3353081"
+ rx="10"
+ ry="10.000001" />
+ <g
+ id="g4871"
+ transform="matrix(1,0,0,0.72153,-123.39704,-123.99862)">
+ <rect
+ style="fill:url(#linearGradient4043);fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.50865927pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ id="rect2794"
+ width="374.5567"
+ height="328.96643"
+ x="144.30453"
+ y="199.03429"
+ rx="10.000001"
+ ry="13.85943" />
+ <path
+ style="fill:none;stroke:#fafafa;stroke-width:20;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
+ d="m 153.53968,361.37008 c 70.53877,201.53936 110.35828,210.2256 177.45839,6.10757 66.67288,-202.81841 104.2451,-205.61109 176.22345,0.24698"
+ id="path4175"
+ sodipodi:nodetypes="czc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:7.375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
+ d="m 145.99255,362.80964 c 369.96869,0 369.3724,1.43957 369.3724,1.43957"
+ id="path4176"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g4852"
+ transform="matrix(-1.360555,0.352222,-0.352222,-1.360555,196.67455,583.0333)">
+ <path
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient3021);fill-opacity:0.75;fill-rule:evenodd;stroke:none"
+ id="path4853"
+ sodipodi:cx="16.555019"
+ sodipodi:cy="147.59439"
+ sodipodi:rx="46.785923"
+ sodipodi:ry="43.906792"
+ d="m 63.340942,147.59439 a 46.785923,43.906792 0 1 1 -93.571846,0 46.785923,43.906792 0 1 1 93.571846,0 z"
+ transform="matrix(1.045432,0,0,1.113986,-125.3003,-37.14836)" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:11.85730171;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:11.857302, 23.714604;stroke-dashoffset:0"
+ id="path4854"
+ sodipodi:cx="16.555019"
+ sodipodi:cy="147.59439"
+ sodipodi:rx="46.785923"
+ sodipodi:ry="43.906792"
+ d="m 63.340942,147.59439 a 46.785923,43.906792 0 1 1 -93.571846,0 46.785923,43.906792 0 1 1 93.571846,0 z"
+ transform="matrix(1.162718,0.507361,-0.579194,1.268918,-39.94742,-66.78193)" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -108.49675,123.27211 c 36.885113,-10.80173 39.904052,-12.46015 39.904052,-12.46015 l -33.461822,23.25931 -6.44223,-10.79916 z"
+ id="path4855"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g4864"
+ transform="matrix(0.687211,0,0,0.854478,499.66235,-75.81607)">
+ <rect
+ style="fill:#000000;fill-opacity:0.75;fill-rule:evenodd;stroke:none"
+ id="rect4856"
+ width="110.64801"
+ height="545.60913"
+ x="-136.40228"
+ y="109.76131" />
+ <rect
+ style="fill:#00bc1a;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4857"
+ width="39.393082"
+ height="442.41235"
+ x="-128.61479"
+ y="205.44652" />
+ <rect
+ style="fill:#00bc1a;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4858"
+ width="37.357227"
+ height="525.88245"
+ x="-74.664627"
+ y="120.64261" />
+ <rect
+ style="fill:#000000;fill-opacity:0.17543862;fill-rule:evenodd;stroke:none"
+ id="rect4860"
+ width="95.883904"
+ height="12.21513"
+ x="-128.35823"
+ y="221.73334" />
+ <rect
+ style="fill:#000000;fill-opacity:0.17543862;fill-rule:evenodd;stroke:none"
+ id="rect4862"
+ width="95.883904"
+ height="12.21513"
+ x="-129.37616"
+ y="563.75702" />
+ <rect
+ style="fill:#000000;fill-opacity:0.17543862;fill-rule:evenodd;stroke:none"
+ id="rect4863"
+ width="95.883904"
+ height="12.21513"
+ x="-127.34029"
+ y="386.6376" />
+ </g>
+ <g
+ id="g4875"
+ transform="matrix(-1.360555,0.352222,-0.352222,-1.360555,3.44525,587.1877)">
+ <path
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient4184);fill-opacity:0.75;fill-rule:evenodd;stroke:none"
+ id="path4876"
+ sodipodi:cx="16.555019"
+ sodipodi:cy="147.59439"
+ sodipodi:rx="46.785923"
+ sodipodi:ry="43.906792"
+ d="m 63.340942,147.59439 c 0,24.24905 -20.946771,43.90679 -46.785923,43.90679 -25.8391514,0 -46.785923,-19.65774 -46.785923,-43.90679 0,-24.24905 20.9467716,-43.90679 46.785923,-43.90679 25.839152,0 46.785923,19.65774 46.785923,43.90679 z"
+ transform="matrix(1.045432,0,0,1.113986,-125.3003,-37.14836)" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:11.85730171;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:11.857302, 23.714604;stroke-dashoffset:0"
+ id="path4877"
+ sodipodi:cx="16.555019"
+ sodipodi:cy="147.59439"
+ sodipodi:rx="46.785923"
+ sodipodi:ry="43.906792"
+ d="m 63.340942,147.59439 c 0,24.24905 -20.946771,43.90679 -46.785923,43.90679 -25.8391514,0 -46.785923,-19.65774 -46.785923,-43.90679 0,-24.24905 20.9467716,-43.90679 46.785923,-43.90679 25.839152,0 46.785923,19.65774 46.785923,43.90679 z"
+ transform="matrix(1.162718,0.507361,-0.579194,1.268918,-39.94742,-66.78193)" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -108.49675,123.27211 c 36.885113,-10.80173 39.904052,-12.46015 39.904052,-12.46015 l -33.461822,23.25931 -6.44223,-10.79916 z"
+ id="path4878"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/extra/apache/PKGBUILD b/extra/apache/PKGBUILD
index d66921dba..338a5a812 100644
--- a/extra/apache/PKGBUILD
+++ b/extra/apache/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 187049 2013-06-03 11:16:09Z allan $
+# $Id: PKGBUILD 190843 2013-07-18 19:19:10Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=apache
-pkgver=2.2.24
-pkgrel=3
+pkgver=2.2.25
+pkgrel=1
pkgdesc='A high performance Unix-based HTTP server'
arch=('i686' 'x86_64')
options=('!libtool')
@@ -38,7 +38,7 @@ source=(http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2
httpd.logrotate
httpd.service
arch.layout)
-md5sums=('91bd1484aca13a7095d6432be37fc7ae'
+md5sums=('9ebe3070c0bb4311f21a0cd0e34f0045'
'SKIP'
'f1d9d41360908ceb2374da55ae99197a'
'cdfa04985a0efa850976aef01c2a0c40'
diff --git a/extra/apr/PKGBUILD b/extra/apr/PKGBUILD
index a1e496a34..e49205cc7 100644
--- a/extra/apr/PKGBUILD
+++ b/extra/apr/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 158966 2012-05-13 20:20:53Z jgc $
+# $Id: PKGBUILD 190841 2013-07-18 18:46:16Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=apr
-pkgver=1.4.6
+pkgver=1.4.8
pkgrel=1
pkgdesc="The Apache Portable Runtime"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ depends=('util-linux')
options=('!libtool')
license=('APACHE')
source=(http://www.apache.org/dist/apr/apr-${pkgver}.tar.bz2)
-md5sums=('ffee70a111fd07372982b0550bbb14b7')
+md5sums=('ce2ab01a0c3cdb71cf0a6326b8654f41')
build() {
cd "${srcdir}/apr-${pkgver}"
diff --git a/extra/gdm/PKGBUILD b/extra/gdm/PKGBUILD
index 37e07cda0..013edad6b 100644
--- a/extra/gdm/PKGBUILD
+++ b/extra/gdm/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 188471 2013-06-14 19:27:51Z heftig $
+# $Id: PKGBUILD 190845 2013-07-18 20:08:14Z jgc $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gdm
pkgname=(gdm libgdm)
-pkgver=3.8.3
+pkgver=3.8.3.1
pkgrel=1
pkgdesc="Gnome Display Manager"
arch=(i686 x86_64)
@@ -16,13 +16,15 @@ makedepends=(itstool intltool gnome-doc-utils gobject-introspection)
checkdepends=('check')
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver::3}/$pkgbase-$pkgver.tar.xz
fix_external_program_directories.patch)
-sha256sums=('1d0ed61ac2b184c62acb0d09a5b7c03793b5793599dbb6888d7fe8d1fb6e8da2'
+sha256sums=('a8c8a32803e32c5d087c75c6be8160cfe4d15843953f07b599d653bac471320e'
'a878680734e35c1d66252cbcfe678c3961b5ff0fa16302f8796a5e7e65ffe4a2')
-build() {
+prepare() {
cd $pkgbase-$pkgver
patch -Np1 -i "$srcdir/fix_external_program_directories.patch"
-
+}
+build() {
+ cd $pkgbase-$pkgver
./configure \
--prefix=/usr \
--sbindir=/usr/bin \
diff --git a/extra/gnumeric/PKGBUILD b/extra/gnumeric/PKGBUILD
index fe2fc1c0d..7df795429 100644
--- a/extra/gnumeric/PKGBUILD
+++ b/extra/gnumeric/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 188945 2013-06-26 11:13:30Z foutrelis $
+# $Id: PKGBUILD 190849 2013-07-18 20:27:30Z jgc $
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: Kritoke <typeolinux@yahoo.com>
pkgname=gnumeric
-pkgver=1.12.3
+pkgver=1.12.4
pkgrel=1
pkgdesc="A GNOME Spreadsheet Program"
arch=('i686' 'x86_64')
@@ -20,7 +20,7 @@ install=gnumeric.install
options=('!libtool')
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
revert-warnings.patch)
-sha256sums=('b332e6785077a2e7febf26a6ccac73e9ae1813c365bc3bf851fb27a5477713a6'
+sha256sums=('562e17d8b56f4587e33f54adff89a65ede6e6e0c57bcd561589453d8edae80bd'
'bcafca016b809000c2a5bf911e2e3dfa4de28f9e541d9964574cac5c7ce09e53')
prepare() {
diff --git a/extra/goffice/PKGBUILD b/extra/goffice/PKGBUILD
index 9a55c19ea..71440eb32 100644
--- a/extra/goffice/PKGBUILD
+++ b/extra/goffice/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 188943 2013-06-26 11:06:57Z foutrelis $
+# $Id: PKGBUILD 190847 2013-07-18 20:16:59Z jgc $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=goffice
-pkgver=0.10.3
+pkgver=0.10.4
pkgrel=1
pkgdesc="A library of document-centric objects and utilities built on top of GLib and Gtk+"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ options=('!libtool')
makedepends=('pkgconfig' 'intltool' 'gtk-doc' 'gobject-introspection')
depends=('librsvg' 'gtk3' 'libgsf' 'libspectre')
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('1fd0048b25f7687eede9b0a8d712922113995db74a095bf43ad150d01b236bf2')
+sha256sums=('30cb91693abff241e1b14b741ac23bc588f428b4524b12e3fecd1ea3f0bc67ba')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/libtxc_dxtn/PKGBUILD b/extra/libtxc_dxtn/PKGBUILD
new file mode 100644
index 000000000..b88245210
--- /dev/null
+++ b/extra/libtxc_dxtn/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 190835 2013-07-18 12:20:11Z lcarlier $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=libtxc_dxtn
+pkgver=1.0.1
+pkgrel=5
+arch=(i686 x86_64)
+pkgdesc="S3 Texture Compression (S3TC) library for Mesa"
+url="http://dri.freedesktop.org/wiki/S3TC"
+license=(custom:BSD)
+depends=(mesa)
+options=(!libtool)
+source=(http://people.freedesktop.org/~cbrill/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('7105107f07ac49753f4b61ba9d0c79c5')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # License
+ mkdir -p "$pkgdir/usr/share/licenses/$pkgname"
+ sed -n '5,22{s|^ \* \?||;p}' txc_dxtn.h \
+ > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/extra/mariadb/PKGBUILD b/extra/mariadb/PKGBUILD
index 39967d9d4..04d9afab7 100644
--- a/extra/mariadb/PKGBUILD
+++ b/extra/mariadb/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 186282 2013-05-23 19:15:33Z bpiotrowski $
+# $Id: PKGBUILD 190839 2013-07-18 17:45:57Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
pkgbase=mariadb
pkgname=('libmariadbclient' 'mariadb-clients' 'mariadb')
-pkgver=5.5.31
+pkgver=5.5.32
pkgrel=1
arch=('i686' 'x86_64')
license=('GPL')
@@ -14,7 +14,7 @@ source=(http://mirrors.supportex.net/$pkgbase/$pkgbase-$pkgver/kvm-tarbake-jaunt
mariadb.service
mariadb-post.sh
mariadb-tmpfile.conf)
-sha256sums=('70b28e5dca7e9213fd092a669f74a537e7c88e0f670e32628907ce3ebcef2d28'
+sha256sums=('cc76d143c60d9f24b551adaf80f694ef9beb4a6a9032c115a06f7b5c5d0ee468'
'a6cf5446159fff16598d0d787dd3a3c30a53a656a5f876ddb608bc60e234d334'
'368f9fd2454d80eb32abb8f29f703d1cf9553353fb9e1ae4529c4b851cb8c5dd'
'2af318c52ae0fe5428e8a9245d1b0fc3bc5ce153842d1563329ceb1edfa83ddd')
diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD
index cd86fd2fe..bc0ca0964 100644
--- a/extra/mesa/PKGBUILD
+++ b/extra/mesa/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 190055 2013-07-13 17:35:09Z andyrtr $
+# $Id: PKGBUILD 190837 2013-07-18 12:47:47Z lcarlier $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase=mesa
pkgname=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa' 'mesa-libgl')
-pkgver=9.1.4
-pkgrel=5
+pkgver=9.1.5
+pkgrel=1
arch=('i686' 'x86_64')
makedepends=('python2' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'libxxf86vm' 'libxdamage'
'libvdpau' 'wayland' 'llvm-amdgpu-snapshot' 'systemd')
@@ -13,17 +13,10 @@ url="http://mesa3d.sourceforge.net"
license=('custom')
options=('!libtool')
source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2
- git_fixes.patch
LICENSE)
-md5sums=('a2c4e25d0e27918bc67f61bae04d0cb8'
- '8ec30e1bd7abe5e8e540df4fa618540f'
+md5sums=('4ed2af5943141a85a21869053a2fc2eb'
'5c65a0fe315dd347e09b1f2826a1df5a')
-prepare() {
- cd ?esa-*
- patch -Np1 -i ../git_fixes.patch
-}
-
build() {
cd ${srcdir}/?esa-*
@@ -61,6 +54,7 @@ build() {
package_ati-dri() {
pkgdesc="Mesa drivers for AMD/ATI Radeon"
depends=("mesa-libgl=${pkgver}")
+ optdepends=('libtxc_dxtn: S3 Texture Compressed support')
conflicts=('xf86-video-ati<6.9.0-6')
install -m755 -d ${pkgdir}/usr/lib/vdpau/
@@ -78,6 +72,7 @@ package_ati-dri() {
package_intel-dri() {
pkgdesc="Mesa drivers for Intel"
+ optdepends=('libtxc_dxtn: S3 Texture Compressed support')
depends=("mesa-libgl=${pkgver}")
install -m755 -d ${pkgdir}/usr/lib/xorg/modules/dri
@@ -89,6 +84,7 @@ package_intel-dri() {
package_nouveau-dri() {
pkgdesc="Mesa drivers for Nouveau"
+ optdepends=('libtxc_dxtn: S3 Texture Compressed support')
depends=("mesa-libgl=${pkgver}")
# vdpau driver is problematic, so remove it (FS#36004)
diff --git a/extra/mesa/git_fixes.patch b/extra/mesa/git_fixes.patch
deleted file mode 100644
index 51b0b8f8e..000000000
--- a/extra/mesa/git_fixes.patch
+++ /dev/null
@@ -1,476 +0,0 @@
-From 6194644a49f841488e23ce021e7817ec02927eef Mon Sep 17 00:00:00 2001
-From: Ian Romanick <ian.d.romanick@intel.com>
-Date: Mon, 01 Jul 2013 21:31:03 +0000
-Subject: docs: Add 9.1.4 release md5sums
-
-Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
----
-diff --git a/docs/relnotes-9.1.4.html b/docs/relnotes-9.1.4.html
-index 48e421b..fa6fe67 100644
---- a/docs/relnotes-9.1.4.html
-+++ b/docs/relnotes-9.1.4.html
-@@ -30,7 +30,9 @@ because GL_ARB_compatibility is not supported.
-
- <h2>MD5 checksums</h2>
- <pre>
--TBD
-+a2c4e25d0e27918bc67f61bae04d0cb8 MesaLib-9.1.4.tar.bz2
-+8c7e9ce5b05cb2223f0587396dd9dc08 MesaLib-9.1.4.tar.gz
-+020459c5793d4279bdcb2daa1f7dd9f6 MesaLib-9.1.4.zip
- </pre>
-
- <h2>New features</h2>
---
-cgit v0.9.0.2-2-gbebe
-
-From e94a89de4deeabd0f8347795385b2f098aa35365 Mon Sep 17 00:00:00 2001
-From: Vinson Lee <vlee@freedesktop.org>
-Date: Fri, 01 Feb 2013 07:28:41 +0000
-Subject: swrast: Fix memory leak.
-
-Fixes resource leak defect reported by Coverity.
-
-Signed-off-by: Vinson Lee <vlee@freedesktop.org>
-Reviewed-by: Brian Paul <brianp@vmware.com>
-(cherry picked from commit 985e710c0d1f4f3bbd18448f04e611bd57ae9100)
----
-diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c
-index 9638271..b380de3 100644
---- a/src/mesa/drivers/dri/swrast/swrast.c
-+++ b/src/mesa/drivers/dri/swrast/swrast.c
-@@ -363,6 +363,7 @@ swrast_new_renderbuffer(const struct gl_config *visual, __DRIdrawable *dPriv,
- xrb->bpp = 8;
- break;
- default:
-+ free(xrb);
- return NULL;
- }
-
---
-cgit v0.9.0.2-2-gbebe
-
-From ab159327a7dc2dd41f9887d053d4abb3de69d195 Mon Sep 17 00:00:00 2001
-From: Ian Romanick <ian.d.romanick@intel.com>
-Date: Mon, 10 Jun 2013 17:33:59 +0000
-Subject: glsl: Add a gl_shader_program parameter to _mesa_uniform_{merge,split}_location_offset
-
-This will be used in the next commit.
-
-NOTE: This is a candidate for stable release branches.
-
-Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-Reviewed-by: Brian Paul <brianp@vmware.com>
-Reviewed-and-tested-by: Chad Versace <chad.versace@linux.intel.com>
-(cherry picked from commit 5097f358419c067a71e96e39764b3bb0a716bdbb)
----
-diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
-index b8335fe..fbbe577 100644
---- a/src/mesa/main/uniform_query.cpp
-+++ b/src/mesa/main/uniform_query.cpp
-@@ -234,7 +234,7 @@ validate_uniform_parameters(struct gl_context *ctx,
- return false;
- }
-
-- _mesa_uniform_split_location_offset(location, loc, array_index);
-+ _mesa_uniform_split_location_offset(shProg, location, loc, array_index);
-
- if (*loc >= shProg->NumUserUniformStorage) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "%s(location=%d)",
-diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
-index d902407..cee57a7 100644
---- a/src/mesa/main/uniforms.c
-+++ b/src/mesa/main/uniforms.c
-@@ -532,7 +532,7 @@ _mesa_GetUniformLocation(GLhandleARB programObj, const GLcharARB *name)
- if (shProg->UniformStorage[index].block_index != -1)
- return -1;
-
-- return _mesa_uniform_merge_location_offset(index, offset);
-+ return _mesa_uniform_merge_location_offset(shProg, index, offset);
- }
-
- GLuint GLAPIENTRY
-diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h
-index a12ad9b..853a27c 100644
---- a/src/mesa/main/uniforms.h
-+++ b/src/mesa/main/uniforms.h
-@@ -268,7 +268,8 @@ struct gl_builtin_uniform_desc {
- * Combine the uniform's base location and the offset
- */
- static inline GLint
--_mesa_uniform_merge_location_offset(unsigned base_location, unsigned offset)
-+_mesa_uniform_merge_location_offset(const struct gl_shader_program *prog,
-+ unsigned base_location, unsigned offset)
- {
- return (base_location << 16) | offset;
- }
-@@ -277,7 +278,8 @@ _mesa_uniform_merge_location_offset(unsigned base_location, unsigned offset)
- * Separate the uniform base location and parameter offset
- */
- static inline void
--_mesa_uniform_split_location_offset(GLint location, unsigned *base_location,
-+_mesa_uniform_split_location_offset(const struct gl_shader_program *prog,
-+ GLint location, unsigned *base_location,
- unsigned *offset)
- {
- *offset = location & 0xffff;
-diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
-index 4286f0e..1e04f64 100644
---- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
-+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
-@@ -3052,7 +3052,7 @@ set_uniform_initializer(struct gl_context *ctx, void *mem_ctx,
- "Couldn't find uniform for initializer %s\n", name);
- return;
- }
-- int loc = _mesa_uniform_merge_location_offset(index, offset);
-+ int loc = _mesa_uniform_merge_location_offset(shader_program, index, offset);
-
- for (unsigned int i = 0; i < (type->is_array() ? type->length : 1); i++) {
- ir_constant *element;
---
-cgit v0.9.0.2-2-gbebe
-
-From 4d12a9c67c850ff2c92f301317bc3fae0bcb448a Mon Sep 17 00:00:00 2001
-From: Ian Romanick <ian.d.romanick@intel.com>
-Date: Mon, 10 Jun 2013 17:35:05 +0000
-Subject: glsl: Add gl_shader_program::UniformLocationBaseScale
-
-This is used by _mesa_uniform_merge_location_offset and
-_mesa_uniform_split_location_offset to determine how the base and offset
-are packed. Previously, this value was hard coded as (1U<<16) in those
-functions via the shift and mask contained therein. The value is still
-(1U<<16), but it can be changed in the future.
-
-The next patch dynamically generates this value.
-
-NOTE: This is a candidate for stable release branches.
-
-Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-Reviewed-by: Brian Paul <brianp@vmware.com>
-Reviewed-and-tested-by: Chad Versace <chad.versace@linux.intel.com>
-(cherry picked from commit 26d86d26f9f972b19c7040bdb1b1daf48537ef3e)
----
-diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
-index d457e4d..ac726f4 100644
---- a/src/glsl/link_uniforms.cpp
-+++ b/src/glsl/link_uniforms.cpp
-@@ -730,6 +730,7 @@ link_assign_uniform_locations(struct gl_shader_program *prog)
-
- assert(sizeof(prog->SamplerTargets) == sizeof(parcel.targets));
- memcpy(prog->SamplerTargets, parcel.targets, sizeof(prog->SamplerTargets));
-+ prog->UniformLocationBaseScale = (1U<<16);
-
- #ifndef NDEBUG
- for (unsigned i = 0; i < num_user_uniforms; i++) {
-diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
-index 23c3a0d..3e440f5 100644
---- a/src/mesa/main/mtypes.h
-+++ b/src/mesa/main/mtypes.h
-@@ -2419,6 +2419,21 @@ struct gl_shader_program
- unsigned NumUniformBlocks;
-
- /**
-+ * Scale factor for the uniform base location
-+ *
-+ * This is used to generate locations (returned by \c glGetUniformLocation)
-+ * of uniforms. The base location of the uniform is multiplied by this
-+ * value, and the array index is added.
-+ *
-+ * \note
-+ * Must be >= 1.
-+ *
-+ * \sa
-+ * _mesa_uniform_merge_location_offset, _mesa_uniform_split_location_offset
-+ */
-+ unsigned UniformLocationBaseScale;
-+
-+ /**
- * Indices into the _LinkedShaders's UniformBlocks[] array for each stage
- * they're used in, or -1.
- *
-diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c
-index 59daff5..0494320 100644
---- a/src/mesa/main/shaderobj.c
-+++ b/src/mesa/main/shaderobj.c
-@@ -283,6 +283,7 @@ _mesa_clear_shader_program_data(struct gl_context *ctx,
- ralloc_free(shProg->UniformStorage);
- shProg->NumUserUniformStorage = 0;
- shProg->UniformStorage = NULL;
-+ shProg->UniformLocationBaseScale = 0;
- }
-
- if (shProg->UniformHash) {
-diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h
-index 853a27c..421232d 100644
---- a/src/mesa/main/uniforms.h
-+++ b/src/mesa/main/uniforms.h
-@@ -271,7 +271,9 @@ static inline GLint
- _mesa_uniform_merge_location_offset(const struct gl_shader_program *prog,
- unsigned base_location, unsigned offset)
- {
-- return (base_location << 16) | offset;
-+ assert(prog->UniformLocationBaseScale >= 0);
-+ assert(offset < prog->UniformLocationBaseScale);
-+ return (base_location * prog->UniformLocationBaseScale) + offset;
- }
-
- /**
-@@ -282,8 +284,8 @@ _mesa_uniform_split_location_offset(const struct gl_shader_program *prog,
- GLint location, unsigned *base_location,
- unsigned *offset)
- {
-- *offset = location & 0xffff;
-- *base_location = location >> 16;
-+ *offset = location % prog->UniformLocationBaseScale;
-+ *base_location = location / prog->UniformLocationBaseScale;
- }
- /*@}*/
-
---
-cgit v0.9.0.2-2-gbebe
-
-From 307a703c759263bb37285b0919721ff2c413fc56 Mon Sep 17 00:00:00 2001
-From: Ian Romanick <ian.d.romanick@intel.com>
-Date: Mon, 10 Jun 2013 17:39:28 +0000
-Subject: glsl: Generate smaller values for uniform locations
-
-Previously we would generate uniform locations as (slot << 16) +
-array_index. We do this to handle applications that assume the location
-of a[2] will be +1 from the location of a[1]. This resulted in every
-uniform location being at least 0x10000. The OpenGL 4.3 spec was
-amended to require this behavior, but previous versions did not require
-locations of array (or structure) members be sequential.
-
-We've now encountered two applications that assume uniform values will
-be "small." As far as we can tell, these applications store the GLint
-returned by glGetUniformLocation in a int16_t or possibly an int8_t.
-
-THIS BEHAVIOR IS NOT GUARANTEED OR IMPLIED BY ANY VERSION OF OpenGL.
-
-Other implementations happen to have both these behaviors (sequential
-array elements and small values) since OpenGL 2.0, so let's just match
-their behavior.
-
-Fixes "3D Bowling" on Android.
-
-NOTE: This is a candidate for stable release branches.
-
-Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-Reviewed-by: Brian Paul <brianp@vmware.com>
-Reviewed-and-tested-by: Chad Versace <chad.versace@linux.intel.com>
-(cherry picked from commit cfa3c5ad828f56559a6cc2de299f993b8e748ea4)
----
-diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
-index ac726f4..8e01d2e 100644
---- a/src/glsl/link_uniforms.cpp
-+++ b/src/glsl/link_uniforms.cpp
-@@ -730,7 +730,20 @@ link_assign_uniform_locations(struct gl_shader_program *prog)
-
- assert(sizeof(prog->SamplerTargets) == sizeof(parcel.targets));
- memcpy(prog->SamplerTargets, parcel.targets, sizeof(prog->SamplerTargets));
-- prog->UniformLocationBaseScale = (1U<<16);
-+
-+ /* Determine the size of the largest uniform array queryable via
-+ * glGetUniformLocation. Using this as the location scale guarantees that
-+ * there is enough "room" for the array index to be stored in the low order
-+ * part of the uniform location. It also makes the locations be more
-+ * tightly packed.
-+ */
-+ unsigned max_array_size = 1;
-+ for (unsigned i = 0; i < num_user_uniforms; i++) {
-+ if (uniforms[i].array_elements > max_array_size)
-+ max_array_size = uniforms[i].array_elements;
-+ }
-+
-+ prog->UniformLocationBaseScale = max_array_size;
-
- #ifndef NDEBUG
- for (unsigned i = 0; i < num_user_uniforms; i++) {
---
-cgit v0.9.0.2-2-gbebe
-
-From 2cfc0072a80cfd9503be7e57a1d8375d64d7eb98 Mon Sep 17 00:00:00 2001
-From: Richard Sandiford <r.sandiford@uk.ibm.com>
-Date: Mon, 17 Jun 2013 16:10:49 +0000
-Subject: st/xlib Fix XIMage bytes-per-pixel calculation
-
-Fixes a crash seen while running gnome on a 16-bit screen over vnc.
-
-NOTE: This is a candidate for stable release branches.
-
-Reviewed-by: Brian Paul <brianp@vmware.com>
-Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
-(cherry picked from commit 876fefe2ff8901ae4b908cff89ac5dd4324f4fe5)
----
-diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c
-index 5c6d6a7..4f99e23 100644
---- a/src/gallium/state_trackers/glx/xlib/xm_api.c
-+++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
-@@ -1392,9 +1392,8 @@ XMesaBindTexImage(Display *dpy, XMesaBuffer drawable, int buffer,
- return;
- }
-
-- /* The pipe transfer has a pitch rounded up to the nearest 64 pixels.
-- We assume 32 bit pixels. */
-- ximage_stride = w * 4;
-+ /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */
-+ ximage_stride = w * ((img->bits_per_pixel + 7) / 8);
-
- for (line = 0; line < h; line++)
- memcpy(&map[line * tex_xfer->stride],
---
-cgit v0.9.0.2-2-gbebe
-
-From 8ed60f7f7fb060ccf939328bb03c9714b207236f Mon Sep 17 00:00:00 2001
-From: Richard Sandiford <r.sandiford@uk.ibm.com>
-Date: Mon, 17 Jun 2013 16:13:25 +0000
-Subject: st/xlib: Fix XImage stride calculation
-
-Fixes window skew seen while running gnome on a 16-bit screen over vnc.
-
-NOTE: This is a candidate for stable release branches.
-
-Reviewed-by: Brian Paul <brianp@vmware.com>
-Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
-(cherry picked from commit c132c2978b02da7140462a633605a0127dfcceb4)
----
-diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c
-index 4f99e23..9bfd372 100644
---- a/src/gallium/state_trackers/glx/xlib/xm_api.c
-+++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
-@@ -1366,7 +1366,7 @@ XMesaBindTexImage(Display *dpy, XMesaBuffer drawable, int buffer,
- enum pipe_format internal_format = res->format;
- struct pipe_transfer *tex_xfer;
- char *map;
-- int line, ximage_stride;
-+ int line, byte_width;
- XImage *img;
-
- internal_format = choose_pixel_format(drawable->xm_visual);
-@@ -1393,12 +1393,12 @@ XMesaBindTexImage(Display *dpy, XMesaBuffer drawable, int buffer,
- }
-
- /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */
-- ximage_stride = w * ((img->bits_per_pixel + 7) / 8);
-+ byte_width = w * ((img->bits_per_pixel + 7) / 8);
-
- for (line = 0; line < h; line++)
- memcpy(&map[line * tex_xfer->stride],
-- &img->data[line * ximage_stride],
-- ximage_stride);
-+ &img->data[line * img->bytes_per_line],
-+ byte_width);
-
- pipe_transfer_unmap(pipe, tex_xfer);
-
---
-cgit v0.9.0.2-2-gbebe
-
-From 5412ae63dca1b1a6c43fccb5bafe56a0cd9c9a88 Mon Sep 17 00:00:00 2001
-From: Kristian Høgsberg <krh@bitplanet.net>
-Date: Tue, 18 Jun 2013 20:53:46 +0000
-Subject: wayland: Handle global_remove event as well
-
-We need to set up a handler for the global_remove event that gets sent
-out when a global gets removed. Without the handler we end up calling
-a NULL pointer.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=65910
-
-NOTE: This is a candidate for the stable branches.
-
-Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
-(cherry picked from commit 712269d6744a8849d1d0cf01fa0132d969b79ed4)
----
-diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
-index 99d8729..e106dc2 100644
---- a/src/egl/drivers/dri2/platform_wayland.c
-+++ b/src/egl/drivers/dri2/platform_wayland.c
-@@ -643,8 +643,15 @@ registry_handle_global(void *data, struct wl_registry *registry, uint32_t name,
- }
- }
-
-+static void
-+registry_handle_global_remove(void *data, struct wl_registry *registry,
-+ uint32_t name)
-+{
-+}
-+
- static const struct wl_registry_listener registry_listener = {
-- registry_handle_global
-+ registry_handle_global,
-+ registry_handle_global_remove
- };
-
- EGLBoolean
---
-cgit v0.9.0.2-2-gbebe
-
-From cda92f5191cd2ed4782dbdd41143d520857861c9 Mon Sep 17 00:00:00 2001
-From: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
-Date: Tue, 18 Jun 2013 15:41:43 +0000
-Subject: st/dri/sw: Fix pitch calculation in drisw_update_tex_buffer
-
-swrastGetImage rounds the pitch up to 4 bytes for compatibility reasons
-that are explained in drisw_glx.c:bytes_per_line, so drisw_update_tex_buffer
-must do the same.
-
-Fixes window skew seen while running firefox over vnc on a 16-bit screen.
-
-NOTE: This is a candidate for the stable branches.
-
-[ajax: fixed typo in comment]
-
-Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
-Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
-(cherry picked from commit 5a0556f061d9db00dd7637433d393beead3b3d85)
----
-diff --git a/src/gallium/state_trackers/dri/sw/drisw.c b/src/gallium/state_trackers/dri/sw/drisw.c
-index 7a5f797..41f66d5 100644
---- a/src/gallium/state_trackers/dri/sw/drisw.c
-+++ b/src/gallium/state_trackers/dri/sw/drisw.c
-@@ -265,8 +265,9 @@ drisw_update_tex_buffer(struct dri_drawable *drawable,
- /* Copy the Drawable content to the mapped texture buffer */
- get_image(dPriv, x, y, w, h, map);
-
-- /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */
-- ximage_stride = w * cpp;
-+ /* The pipe transfer has a pitch rounded up to the nearest 64 pixels.
-+ get_image() has a pitch rounded up to 4 bytes. */
-+ ximage_stride = ((w * cpp) + 3) & -4;
- for (line = h-1; line; --line) {
- memmove(&map[line * transfer->stride],
- &map[line * ximage_stride],
---
-cgit v0.9.0.2-2-gbebe
-
-From 26f802d0635fc247bbc3ebf6f7e9bf126b6b5e69 Mon Sep 17 00:00:00 2001
-From: Brian Paul <brianp@vmware.com>
-Date: Thu, 31 Jan 2013 00:44:25 +0000
-Subject: svga: check for NaN shader immediates
-
-The svga device doesn't handle them. Replace with zeros.
-Fixes several piglit tests, such as "glsl-const-builtin-inversesqrt".
-
-Reviewed-by: Reviewed-by: José Fonseca <jfonseca@vmware.com>
-(cherry picked from commit 3cb491534493a52e9a88cb88d31727569afb8167)
----
-diff --git a/src/gallium/drivers/svga/svga_tgsi_insn.c b/src/gallium/drivers/svga/svga_tgsi_insn.c
-index 36ed008..d439e5b 100644
---- a/src/gallium/drivers/svga/svga_tgsi_insn.c
-+++ b/src/gallium/drivers/svga/svga_tgsi_insn.c
-@@ -2716,8 +2716,10 @@ static boolean svga_emit_immediate( struct svga_shader_emitter *emit,
- unsigned i;
-
- assert(1 <= imm->Immediate.NrTokens && imm->Immediate.NrTokens <= 5);
-- for (i = 0; i < imm->Immediate.NrTokens - 1; i++)
-- value[i] = imm->u[i].Float;
-+ for (i = 0; i < imm->Immediate.NrTokens - 1; i++) {
-+ float f = imm->u[i].Float;
-+ value[i] = util_is_inf_or_nan(f) ? 0.0f : f;
-+ }
-
- for ( ; i < 4; i++ )
- value[i] = id[i];
---
-cgit v0.9.0.2-2-gbebe
-
diff --git a/libre/mplayer-vaapi-libre/PKGBUILD b/libre/mplayer-vaapi-libre/PKGBUILD
index 311c469ca..6fa12c5c6 100644
--- a/libre/mplayer-vaapi-libre/PKGBUILD
+++ b/libre/mplayer-vaapi-libre/PKGBUILD
@@ -1,15 +1,16 @@
-# $Id: PKGBUILD 91641 2013-05-26 08:06:21Z foutrelis $
+# $Id: PKGBUILD 94263 2013-07-18 12:09:29Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
-# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+# Contributor (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar>
# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
+_pkgname=mplayer-vaapi
pkgname=mplayer-vaapi-libre
-pkgver=35107
-pkgrel=8
-pkgdesc="A movie player, compiled with vaapi, without nonfree faac support"
+pkgver=36265
+pkgrel=2
+pkgdesc="A movie player, compiled with vaapi support, without nonfree faac support"
arch=('i686' 'x86_64')
url="http://gitorious.org/vaapi/mplayer"
license=('GPL')
@@ -24,30 +25,36 @@ provides=("mplayer=$pkgver" "mplayer-vaapi=$pkgver")
conflicts=('mplayer' 'mplayer-vaapi')
replaces=('mplayer-vaapi')
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
-source=(http://pkgbuild.com/~foutrelis/mplayer-vaapi-$pkgver.tar.xz
+source=(http://pkgbuild.com/~foutrelis/sources/$_pkgname/$_pkgname-$pkgver.tar.xz{,.sig}
cdio-includes.patch
tweak-desktop-file.patch
+ demux-gif.patch
subreader-fix-srt-parsing.patch)
options=('!buildflags' '!emptydirs')
install=mplayer-vaapi.install
-sha256sums=('a6c645625cc2cd6ca48764db302c926049f831e757857ece351b37b674e05e56'
+sha256sums=('5747c28c30c15d1000fb655a8abaa4b22483746d0e82775b27466948ae0c549a'
+ 'SKIP'
'72e6c654f9733953ad2466d0ea1a52f23e753791d8232d90f13293eb1b358720'
'5a09fb462729a4e573568f9e8c1f57dbe7f69c0b68cfa4f6d70b3e52c450d93b'
+ '6774f57c027474388497606edfccbb33509cc78b573cdc322dd0955764c6f9c2'
'8b6cd325d89ff8bce3662c6aaa9b61b8e6163c6574e09b575426a1eed02b8ad3')
prepare() {
- cd "$srcdir/mplayer-vaapi-$pkgver"
+ cd "$srcdir/$_pkgname-$pkgver"
patch -Np0 -i "$srcdir/cdio-includes.patch"
patch -d etc -Np0 -i "$srcdir/tweak-desktop-file.patch"
+ # https://bugs.archlinux.org/task/36039
+ patch -Np0 -i "$srcdir/demux-gif.patch"
+
# http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2139
patch -Np0 -i "$srcdir/subreader-fix-srt-parsing.patch"
}
build() {
- cd "$srcdir/mplayer-vaapi-$pkgver"
+ cd "$srcdir/$_pkgname-$pkgver"
./configure \
--prefix=/usr \
@@ -78,7 +85,7 @@ build() {
}
package() {
- cd "$srcdir/mplayer-vaapi-$pkgver"
+ cd "$srcdir/$_pkgname-$pkgver"
make DESTDIR="$pkgdir" install-mplayer install-mplayer-man
install -Dm644 etc/{codecs.conf,input.conf,example.conf} "$pkgdir/etc/mplayer/"
diff --git a/libre/mplayer-vaapi-libre/demux-gif.patch b/libre/mplayer-vaapi-libre/demux-gif.patch
new file mode 100644
index 000000000..68add7d28
--- /dev/null
+++ b/libre/mplayer-vaapi-libre/demux-gif.patch
@@ -0,0 +1,19 @@
+--- libmpdemux/demux_gif.c-old 2012-08-20 08:47:01.000000000 -0600
++++ libmpdemux/demux_gif.c 2013-07-05 11:27:55.488387360 -0600
+@@ -45,6 +45,16 @@
+
+ #define GIF_SIGNATURE (('G' << 16) | ('I' << 8) | 'F')
+
++static void PrintGifError(void)
++{
++ char *Err = GifErrorString();
++
++ if (Err != NULL)
++ fprintf(stderr, "\nGIF-LIB error: %s.\n", Err);
++ else
++ fprintf(stderr, "\nGIF-LIB undefined error %d.\n", GifError());
++}
++
+ #ifndef CONFIG_GIF_TVT_HACK
+ // not supported by certain versions of the library
+ static int my_read_gif(GifFileType *gif, uint8_t *buf, int len)
diff --git a/pcr/gcc-lts/PKGBUILD b/pcr/gcc-lts/PKGBUILD
new file mode 100644
index 000000000..c3ab693d3
--- /dev/null
+++ b/pcr/gcc-lts/PKGBUILD
@@ -0,0 +1,299 @@
+# $Id: PKGBUILD 186915 2013-05-31 23:25:14Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: libtool requires rebuilt with each new gcc version
+
+#pkgname=('gcc-lts' 'gcc-lts-libs' 'gcc-lts-fortran' 'gcc-lts-objc' 'gcc-lts-ada' 'gcc-lts-go')
+pkgname=('gcc-lts' 'gcc-lts-libs' 'gcc-lts-fortran' 'gcc-lts-objc' 'gcc-lts-go')
+pkgver=4.7.3
+pkgrel=1
+pkgdesc="The GNU Compiler Collection"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+#makedepends=('binutils>=2.23' 'libmpc' 'cloog' 'ppl' 'gcc-ada' 'doxygen')
+makedepends=('binutils>=2.23' 'libmpc' 'cloog' 'ppl' 'doxygen')
+checkdepends=('dejagnu' 'inetutils')
+options=('!libtool' '!emptydirs')
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2)
+md5sums=('86f428a30379bdee0224e353ee2f999e')
+_basedir=gcc-${pkgver}
+
+prepare() {
+ cd ${srcdir}/${_basedir}
+
+ # Do not install libiberty
+ #sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ # Parabola installs x86_64 libraries /lib
+ [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+
+ # fix texinfo "@itemx" and "@item"
+ sed -i "s|[@]itemx|@item|;
+ " gcc/doc/{cppopts,generic,invoke,sourcebuild}.texi
+
+ mkdir ${srcdir}/gcc-build
+}
+
+build() {
+ cd ${srcdir}/gcc-build
+
+ # using -pipe causes spurious test-suite failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
+ CFLAGS=${CFLAGS/-pipe/}
+ CXXFLAGS=${CXXFLAGS/-pipe/}
+
+ ${srcdir}/${_basedir}/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --with-bugurl=https://labs.parabola.nu/ \
+ --enable-languages=c,c++,fortran,go,lto,objc,obj-c++ \
+ --enable-shared --enable-threads=posix \
+ --with-system-zlib --enable-__cxa_atexit \
+ --disable-libunwind-exceptions --enable-clocale=gnu \
+ --disable-libstdcxx-pch --enable-libstdcxx-time \
+ --enable-gnu-unique-object --enable-linker-build-id \
+ --with-ppl --enable-cloog-backend=isl \
+ --disable-ppl-version-check --disable-cloog-version-check \
+ --enable-lto --enable-gold --enable-ld=default \
+ --enable-plugin --with-plugin-ld=ld.gold \
+ --with-linker-hash-style=gnu \
+ --disable-multilib --disable-libssp \
+ --disable-build-with-cxx --disable-build-poststage1-with-cxx \
+ --disable-install-libiberty \
+ --disable-werror \
+ --enable-checking=release
+ #--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
+ make
+
+ # make documentation
+ cd $CHOST/libstdc++-v3
+ make doc-man-doxygen
+}
+
+check() {
+ cd ${srcdir}/gcc-build
+
+ # increase stack size to prevent test failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
+ ulimit -s 32768
+
+ # do not abort on error as some are "expected"
+ make -k check || true
+ ${srcdir}/${_basedir}/contrib/test_summary
+}
+
+package_gcc-lts-libs()
+{
+ pkgdesc="Runtime libraries shipped by GCC"
+ groups=('base')
+ depends=('glibc>=2.17')
+ provides=('gcc-libs')
+ conflicts=('gcc-libs')
+ install=gcc-libs.install
+
+ cd ${srcdir}/gcc-build
+ make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ #for lib in libmudflap libgomp libstdc++-v3/src libitm libsanitizer/asan; do
+ for lib in libmudflap libgomp libstdc++-v3/src libitm; do
+ make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+
+ #[[ $CARCH == "x86_64" ]] && \
+ # make -j1 -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+
+ make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+ make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info
+ make -j1 -C $CHOST/libitm DESTDIR=${pkgdir} install-info
+
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=${pkgdir} install-target-libgfortran
+ make -j1 DESTDIR=${pkgdir} install-target-libobjc
+
+ # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
+ rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-lts()
+{
+ pkgdesc="The GNU Compiler Collection - C and C++ frontends"
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.23' 'libmpc' 'cloog' 'ppl')
+ provides=('gcc')
+ conflicts=('gcc')
+ groups=('base-devel')
+ install=gcc.install
+
+ cd ${srcdir}/gcc-build
+
+ make -j1 DESTDIR=${pkgdir} install
+
+ install -d $pkgdir/usr/share/gdb/auto-load/usr/lib
+ mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.17-gdb.py
+
+ # unfortunately it is much, much easier to install the lot and clean-up the mess...
+ #rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*}
+ rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo}
+ rm $pkgdir/usr/lib/*.so*
+ #rm $pkgdir/usr/lib/lib{atomic,gfortran,go{,begin},iberty,objc}.a
+ rm $pkgdir/usr/lib/lib{ffi,gfortran,go{,begin},iberty,objc}.a
+ rm $pkgdir/usr/lib/libgfortran.spec
+ #rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc}
+ rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{finclude,include/objc}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/ffi{,target}.h
+ #rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,go1}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{libcaf_single,libgfortranbegin}.a
+ rm -r $pkgdir/usr/lib/go
+ #rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.info
+ rm $pkgdir/usr/share/info/{gccgo,gfortran,libgomp,libquadmath,libitm}.info
+ rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
+ rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1
+ rm $pkgdir/usr/share/man/man3/ffi*
+
+ # many packages expect this symlinks
+ ln -s gcc ${pkgdir}/usr/bin/cc
+
+ # POSIX conformance launcher scripts for c89 and c99
+ cat > $pkgdir/usr/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ cat > $pkgdir/usr/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ chmod 755 $pkgdir/usr/bin/c{8,9}9
+
+ # install the libstdc++ man pages
+ install -dm755 ${pkgdir}/usr/share/man/man3
+ install -m644 -t ${pkgdir}/usr/share/man/man3 \
+ ${CHOST}/libstdc++-v3/doc/doxygen/man/man3/*.3
+
+ # Install Runtime Library Exception
+ install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-lts-fortran()
+{
+ pkgdesc="Fortran front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ provides=('gcc-fortran')
+ conflicts=('gcc-fortran')
+ install=gcc-fortran.install
+
+ cd ${srcdir}/gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libgfortran
+ make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
+
+ ln -s gfortran ${pkgdir}/usr/bin/f95
+
+ # remove files included in gcc-libs or gcc
+ #rm ${pkgdir}/usr/lib/lib{gfortran,gcc_s}.so*
+ rm ${pkgdir}/usr/lib/libgfortran.so*
+ #rm ${pkgdir}/usr/lib/libquadmath.{a,so*}
+ #rm ${pkgdir}/usr/lib/gcc/$CHOST/${pkgver}/{*.o,libgc*}
+ #rm ${pkgdir}/usr/share/info/libquadmath.info
+ #rm -r ${pkgdir}/usr/lib/gcc/$CHOST/${pkgver}/include
+
+ # Install Runtime Library Exception
+ install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-fortran/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-lts-objc()
+{
+ pkgdesc="Objective-C front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ provides=('gcc-objc')
+ conflicts=('gcc-objc')
+
+ cd ${srcdir}/gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libobjc
+ install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+ install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+
+ # remove files included in gcc-libs or gcc
+ #rm ${pkgdir}/usr/lib/lib{gcc_s,objc}.so*
+ rm ${pkgdir}/usr/lib/libobjc.so*
+ #rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{*.o,lib*}
+ #rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/unwind.h
+
+ # Install Runtime Library Exception
+ install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-lts-ada()
+{
+ pkgdesc="Ada front-end for GCC (GNAT)"
+ depends=("gcc=$pkgver-$pkgrel")
+ provides=('gcc-ada')
+ conflicts=('gcc-ada')
+ install=gcc-ada.install
+
+ cd ${srcdir}/gcc-build/gcc
+ make -j1 DESTDIR=$pkgdir ada.install-{common,info}
+ install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
+
+ ln -s gcc ${pkgdir}/usr/bin/gnatgcc
+
+ # Install Runtime Library Exception
+ install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-lts-go()
+{
+ pkgdesc="Go front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ provides=('gcc-go')
+ conflicts=('gcc-go')
+ install=gcc-go.install
+
+ cd ${srcdir}/gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libgo
+ make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
+ install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1
+
+ # Install Runtime Library Exception
+ install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION
+}
diff --git a/pcr/gcc-lts/gcc-ada.install b/pcr/gcc-lts/gcc-ada.install
new file mode 100644
index 000000000..df0553a4f
--- /dev/null
+++ b/pcr/gcc-lts/gcc-ada.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/pcr/gcc-lts/gcc-fortran.install b/pcr/gcc-lts/gcc-fortran.install
new file mode 100644
index 000000000..b15d89a97
--- /dev/null
+++ b/pcr/gcc-lts/gcc-fortran.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+file="gfortran.info"
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
diff --git a/pcr/gcc-lts/gcc-go.install b/pcr/gcc-lts/gcc-go.install
new file mode 100644
index 000000000..7dc50dee5
--- /dev/null
+++ b/pcr/gcc-lts/gcc-go.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gccgo.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/pcr/gcc-lts/gcc-libs.install b/pcr/gcc-lts/gcc-libs.install
new file mode 100644
index 000000000..23553b8f0
--- /dev/null
+++ b/pcr/gcc-lts/gcc-libs.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+filelist=(libgomp.info libquadmath.info)
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/pcr/gcc-lts/gcc.install b/pcr/gcc-lts/gcc.install
new file mode 100644
index 000000000..3407a5e1f
--- /dev/null
+++ b/pcr/gcc-lts/gcc.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/pcr/otf-stix/PKGBUILD b/pcr/otf-stix/PKGBUILD
index 60fc88680..6a9b2d62c 100644
--- a/pcr/otf-stix/PKGBUILD
+++ b/pcr/otf-stix/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=otf-stix
pkgver=1.1.0
#_pkgver=${pkgver//_/-}
-pkgrel=1
+pkgrel=2
epoch=2
pkgdesc='A comprehensive set of fonts that serve the scientific and
engineering community.'
diff --git a/pcr/youtube-dl-current/PKGBUILD b/pcr/youtube-dl-current/PKGBUILD
index 1fb918903..71517f39b 100644
--- a/pcr/youtube-dl-current/PKGBUILD
+++ b/pcr/youtube-dl-current/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=youtube-dl-current
_pkgname=youtube-dl
provides=(youtube-dl)
-pkgver=2013.07.17.1
+pkgver=2013.07.18
pkgrel=1
pkgdesc="A small command-line program to download videos from YouTube.com and a few more sites"
arch=('any')
@@ -14,7 +14,7 @@ license=('custom')
depends=('python')
makedepends=('python-distribute')
source=(http://youtube-dl.org/downloads/${pkgver}/${_pkgname}-${pkgver}.tar.gz{,.sig})
-md5sums=('689d7d2507a0a452e53c2c40957220dc'
+md5sums=('a644d8419f5387a91387d1e9db97d00f'
'SKIP')
prepare() {