From 1bb2648cde916ac27d3dd75d7b64a4ddc89787b7 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 10 Feb 2013 01:12:52 -0800 Subject: Sun Feb 10 01:12:35 PST 2013 --- extra/abiword/PKGBUILD | 85 - extra/abiword/abiword-2.8.6-glib-2.31.patch | 40 - extra/abiword/abiword-2.8.6-libpng15.patch | 100 - extra/abiword/abiword-2.8.6-no-undefined.patch | 21 - extra/abiword/abiword.install | 11 - extra/abiword/compat_libwpg_0_9.patch | 371 - extra/abs/PKGBUILD | 39 - extra/accountsservice/32bit-crash.patch | 26 - extra/alsa-firmware/PKGBUILD | 30 - extra/amarok/amarok-2.5.0-ffmpeg-fixes.patch | 19 - extra/amarok/contextviewfix.patch | 14 - extra/amarok/toolbarfix.patch | 61 - extra/apache/pcre_info.patch | 22 - extra/audacious-plugins/PKGBUILD | 64 - extra/avahi/gnome-nettool.png | Bin 4509 -> 0 bytes extra/avfs/PKGBUILD | 31 - extra/avfs/avfs-1.0.0-fix_open_missing_mode.patch | 11 - extra/avogadro/fix-boost.patch | 33 - extra/avogadro/fix-opengl-headers.patch | 53 - .../replace-qt4_automoc-with-qt4_wrap_cpp.patch | 778 -- extra/banshee/banshee-recent-gpod.patch | 24 - extra/banshee/gst-1.0.patch | 1025 --- extra/bitlbee/install | 14 - extra/bitlbee/sbindir.patch | 14 - extra/blas/LICENSE.blas | 19 - extra/blas/Makefile.blas | 178 - extra/blas/PKGBUILD | 52 - extra/blas/lapack-3.1.1-make.inc.patch | 23 - .../0001-udev-remove-deprecated-function.patch | 27 - extra/bluez/org.bluez.service | 5 - extra/bmp-musepack/PKGBUILD | 28 - extra/bmp-wma/PKGBUILD | 34 - extra/bmp-wma/bmp-wma-gcc4.patch | 98 - extra/bochs/PKGBUILD | 27 - extra/bogofilter/PKGBUILD | 34 - extra/boost/exceptions.patch | 25 - extra/bootchart/README.patch | 25 - extra/bootchart/build.patch | 50 - extra/botan/PKGBUILD | 32 - ...ting-jobs-due-to-cabal-1.16.0-bug-shipped.patch | 27 - extra/cairo/cairo-1.10.0-buggy_gradients.patch | 13 - ...o-1.12.2-ignore-charset-for-non-cid-fonts.patch | 37 - ...2-reduce-broken-stopped-edge-continuation.patch | 275 - extra/cairo/git_fixes.diff | 934 --- extra/cairo/git_fixes.patch | 1086 --- ...fy-source-creation-by-use-of-map-to-image.patch | 144 - ...ert-xlib-map-to-image-requires-an-extents.patch | 24 - extra/calligra/lcms24.patch | 12 - extra/caribou/fix-crash.patch | 25 - extra/catdoc/PKGBUILD | 31 - extra/cdargs/PKGBUILD | 36 - extra/cdargs/cdargs.install | 3 - extra/cdrkit/PKGBUILD | 40 - extra/chromium/PKGBUILD | 139 - ...mium-20.0.1132.57-glib-2.16-use-siginfo_t.patch | 35 - extra/chromium/chromium-ppapi-r0.patch | 11 - extra/chromium/chromium.default | 4 - extra/chromium/chromium.desktop | 113 - extra/chromium/chromium.install | 12 - extra/chromium/chromium.sh | 16 - ...s-fix-up-some-D_FORTIFY_SOURCE-2-warnings.patch | 72 - extra/claws-mail/PKGBUILD | 56 - extra/claws-mail/buildfix_gnutls3.diff | 18 - extra/claws-mail/claws-mail.install | 16 - extra/claws-mail/gnutls313.diff | 12 - extra/cmake/fix-pkg-config.patch | 31 - extra/cmatrix/PKGBUILD | 30 - extra/cmatrix/cmatrix.install | 3 - extra/consolekit/PKGBUILD | 49 - extra/consolekit/consolekit.logrotate | 5 - extra/consolekit/consolekit.tmpfiles.conf | 1 - extra/consolekit/pam-foreground-compat.ck | 16 - extra/cpufrequtils/PKGBUILD | 35 - extra/cpufrequtils/cpufreq.confd | 14 - extra/cpufrequtils/cpufreq.rcd | 60 - extra/cups-filters/PKGBUILD | 46 - extra/cups-filters/cups-browsed.service | 10 - extra/cups/PKGBUILD.16 | 147 - extra/cups/cups-avahi-1-config.patch | 42 - extra/cups/cups-avahi-2-backend.patch | 1118 --- extra/cups/cups-avahi-3-timeouts.patch | 381 - extra/cups/cups-avahi-4-poll.patch | 529 -- extra/cups/cups-avahi-5-services.patch | 1272 --- extra/cups/cups-no-gzip-man.patch.16 | 18 - extra/cvsps/call-cvs-q-option.patch | 34 - extra/cvsps/cvsps-2.2b1-bufferoverflow.patch | 65 - extra/cvsps/cvsps-2.2b1-dynamic-logbuf.patch | 133 - extra/cvsps/cvsps-2.2b1-man.patch | 29 - extra/cvsps/cvsps-buffer-overflow.patch | 66 - extra/cvsps/seperate-CPPFLAGS.patch | 29 - extra/cvsps/use-INADDR_NONE-define.patch | 28 - extra/cvsps/use-__linux__-define.patch | 36 - extra/cvsps/use-offsetof-macro.patch | 32 - extra/cx_freeze/FreezePython.sh | 4 - extra/cx_freeze/PKGBUILD | 31 - extra/dansguardian/PKGBUILD | 155 - extra/dansguardian/dansguardian | 36 - extra/dansguardian/dansguardian.install | 8 - extra/dansguardian/dg2.10.1.1-missing.stdio.patch | 10 - extra/dbus/30-dbus | 8 - extra/dbus/PKGBUILD | 41 - extra/dcfldd/PKGBUILD | 26 - extra/dcraw/dcraw.install | 13 - extra/dcraw/license.txt | 16 - extra/devilspie/PKGBUILD | 34 - extra/dhcp/ChangeLog | 11 - extra/digikam/boost148.patch | 65 - extra/digikam/digikam-2.5.0-gcc-4.7.0.patch | 63 - extra/digikam/libkipi140.patch | 63 - extra/djvulibre/djvulibre.install | 13 - extra/dovecot/PKGBUILD | 13 +- extra/dovecot/dovecot.sh | 69 - extra/dvdrip/PKGBUILD | 42 - extra/dvdrip/dvdrip.desktop | 8 - extra/dvdrip/dvdrip.install | 11 - extra/dvdrtools/PKGBUILD | 29 - extra/efibootmgr/efibootmgr_after_0.5.4_git.patch | 159 - extra/efibootmgr/efibootmgr_default_to_grub2.patch | 45 - extra/eject/PKGBUILD | 50 - extra/eject/eject-2.1.1-verbose.patch | 15 - extra/eject/eject-2.1.5-lock.patch | 171 - extra/eject/eject-2.1.5-openrw.patch | 17 - extra/eject/eject-2.1.5-spaces.patch | 62 - extra/eject/eject-2.1.5-umount.patch | 176 - extra/eject/eject-2.1.5-unlock.patch | 59 - extra/eject/eject-timeout.patch | 11 - extra/ekiga/gcc47.patch | 99 - .../elfutils-0.154-binutils-pr-ld-13621.patch | 10 - extra/emacs/emacs-23.3-xgselect_init.patch | 13 - extra/emacs/emacs-subversion17.patch | 83 - extra/emelfm2/PKGBUILD | 30 - extra/enscript/PKGBUILD | 31 - extra/evilwm/LICENSE | 40 - extra/evilwm/PKGBUILD | 26 - extra/evolution-exchange/PKGBUILD | 33 - .../evolution-exchange/evolution-exchange.install | 17 - extra/evolution-groupwise/PKGBUILD | 32 - ..._GIO_UNIX-ifdef-and-load-gio-unix-2.0-pkg.patch | 61 - extra/expect/ChangeLog | 16 - extra/expect/expect.install | 5 - extra/faac/PKGBUILD | 40 - extra/faac/altivec.patch | 40 - extra/faac/mp4v2-1.9.patch | 47 - extra/faac/mp4v2-2.0.0.patch | 138 - extra/farstream/vp8.patch | 12 - extra/fcitx/PKGBUILD | 75 - extra/fcitx/fcitx-gtk2.install | 11 - extra/fcitx/fcitx-gtk3.install | 11 - extra/fcitx/fcitx.install | 13 - extra/ffmpegthumbnailer/ffmpegapi_fix_r241.patch | 56 - extra/ffmpegthumbnailer/ffmpegthumbnailer.desktop | 4 - extra/figlet/PKGBUILD | 30 - extra/file-roller/PKGBUILD | 38 - extra/file-roller/file-roller.install | 13 - extra/firefox/PKGBUILD | 82 - extra/firefox/firefox-install-dir.patch | 30 - extra/firefox/firefox.desktop | 121 - extra/firefox/firefox.install | 13 - extra/firefox/mozconfig | 38 - extra/firefox/shared-libs.patch | 12 - extra/firefox/vendor.js | 9 - extra/flashplugin/PKGBUILD | 52 - extra/flashplugin/flashplugin.install | 14 - extra/flashplugin/mms.cfg | 2 - extra/fluidsynth/fluidsynthd | 40 - extra/fontconfig/30-urw-aliases.patch | 13 - extra/foomatic/PKGBUILD | 90 - extra/fortune-mod/01_all_fortune_all-fix.patch | 21 - extra/fortune-mod/LICENSE | 35 - extra/fortune-mod/PKGBUILD | 36 - extra/freetype2/bug35833.patch | 103 - extra/freetype2/bug35847.patch | 28 - extra/fsarchiver/PKGBUILD | 6 +- extra/fssos-nsvs/PKGBUILD | 33 - extra/fssos-nsvs/fssos-nsvs.install | 17 - extra/fssos-nsvs/nsvsd | 36 - extra/fssos-nsvs/nsvsd.service | 8 - extra/gcc4.6/PKGBUILD | 95 - extra/gcc4.6/gcc-4.6.2-cloog-0.17.patch | 36 - extra/gcc4.6/gcc-hash-style-both.patch | 122 - extra/gcc4.6/gcc_pure64.patch | 26 - extra/gdm/gdm | 36 - extra/gdm/gdm-autologin.pam | 20 - extra/gdm/gdm-fingerprint.pam | 20 - extra/gdm/gdm-password.pam | 22 - extra/gdm/gdm-smartcard.pam | 20 - extra/gdm/gdm-vt-allocation-hack.patch | 118 - extra/gdm/gdm-welcome.pam | 12 - extra/gdm/gdm.pam | 10 - extra/gdm/gdm.service | 10 - extra/ggv/PKGBUILD | 31 - extra/ggv/ggv.install | 22 - extra/ggz-client-libs/PKGBUILD | 27 - extra/ggz-gtk-client/PKGBUILD | 29 - extra/ggz-gtk-client/gtk2.patch | 40 - extra/ghc/silence-gen_contents_index.diff | 10 - extra/ghostscript/PKGBUILD | 66 - extra/ghostscript/svn_rev11948.diff | 16 - extra/gimp-dbp/PKGBUILD | 25 - extra/gimp-gap/PKGBUILD | 28 - extra/gimp-ufraw/PKGBUILD | 34 - extra/gimp-ufraw/gimp-ufraw.install | 11 - extra/git/ChangeLog | 57 - extra/git/fix-git-build-python.patch | 109 - extra/gmpc/PKGBUILD | 29 - extra/gmpc/gmpc.install | 11 - extra/gnome-control-center/systemd-fallback.patch | 81 - extra/gnome-keyring/gpg-agent-fix-encoding.patch | 86 - .../phonemgr-gnome-bluetooth-3.3.patch | 34 - extra/gnome-pilot/PKGBUILD | 35 - extra/gnome-pilot/gnome-pilot.install | 17 - extra/gnome-settings-daemon/screensaver.patch | 145 - extra/gnome-settings-daemon/systemd-fallback.patch | 154 - extra/gnome-shell/recorder.patch | 28 - extra/gnu-efi/PKGBUILD | 34 - extra/gnuchess/PKGBUILD | 26 - extra/goffice/use-apiver-for-dirs.patch | 32 - extra/gptfdisk/PKGBUILD | 11 +- extra/gqview/PKGBUILD | 25 - extra/gqview/gqview.install | 11 - extra/graphite/pango-graphite.install | 12 - extra/grilo-plugins/tracker-0.14.patch | 32 - extra/gst-plugins-bad/PKGBUILD | 37 - extra/gstreamer0.10-bad/PKGBUILD | 52 - .../gstreamer0.10-bad-plugins.install | 11 - extra/gstreamer0.10-good/PKGBUILD | 59 - .../gstreamer0.10-good-plugins.install | 19 - extra/gtk2/fix-stuck-grabs.patch | 47 - extra/gtk3/git-fixes.patch | 8346 -------------------- extra/gtk3/wacom.patch | 12 - .../fix-selection-behaviour-in-iframe.patch | 35 - extra/gtkpod/PKGBUILD | 37 - extra/gtkpod/gtkpod-2.1.2-anjuta.patch | 11 - extra/gtkpod/gtkpod-2.1.3-gdl-3.6.patch | 44 - extra/gtkpod/gtkpod.install | 12 - extra/gutenprint/buildfix.patch | 22 - ...onnected-added-signals-at-object-creation.patch | 39 - ...or-a-NULL-GMountOperation-when-unmounting.patch | 24 - ...Dont-disable-exit_on_close-on-session-bus.patch | 25 - ...-monitor-Dont-force-close-the-session-bus.patch | 23 - extra/hd2u/PKGBUILD | 27 - extra/hddtemp/hddtemp | 39 - extra/hddtemp/hddtemp-0.3-beta15-reg-eip.patch | 22 - extra/hddtemp/hddtemp.confd | 2 - extra/hddtemp/hddtemp.service | 9 - ...added-torrents-from-the-disk-are-still-on.patch | 93 - extra/hefur/Replace-by-amp-in-stat.html.patch | 27 - extra/hercules/PKGBUILD | 30 - extra/herqq/PKGBUILD | 24 - extra/hplip/PKGBUILD | 94 - extra/hplip/cups-1.6-buildfix.diff | 392 - extra/hplip/hplip.install | 18 - extra/hpoj/PKGBUILD | 52 - extra/hpoj/hpoj-gcc4.patch | 194 - extra/hpoj/hpoj-kernel26.patch | 86 - extra/hpoj/hpoj-pack.patch | 59 - extra/hpoj/hpoj.install | 7 - extra/hpoj/hpoj0.91-snmp5.5.patch | 11 - extra/hpoj/hpoj_gcc43.diff | 20 - extra/hspell/hspell-1.0.sharedlib.patch | 66 - extra/htop/ChangeLog | 25 - extra/hugin/gcc47.patch | 11 - extra/hugin/hugin.install | 15 - extra/hydrogen/PKGBUILD | 40 - extra/hydrogen/install.patch | 12 - extra/hydrogen/lrdf_raptor2.patch | 11 - extra/hylafax/configure-6.0.5.patch | 11 - extra/hylafax/hylafax-libtiff4.patch | 229 - extra/icedtea-web-java7/fix_firefox_crash.diff | 228 - extra/icedtea-web/fix_firefox_crash.diff | 228 - extra/icu/changeset_32780.diff | 67 - extra/ifplugd/ifdown.01-route.sh | 3 - extra/ifplugd/ifplugd.action | 30 - extra/ifplugd/ifup.01-route.sh | 5 - extra/ifplugd/ifup.02-ntpdate.sh | 2 - extra/ilmbase/tests-compile-fixes.patch | 12 - extra/inkscape/libpng15.patch | 40 - extra/inkscape/poppler20.patch | 642 -- extra/irqbalance/irqbalance-2011-08-09.patch | 1584 ---- extra/ivtv-utils/PKGBUILD | 36 - extra/java7-openjdk/disable_Werror.diff | 11 - extra/jhead/LICENSE | 12 - extra/jhead/PKGBUILD | 29 - extra/k9copy/PKGBUILD | 31 - extra/k9copy/k9copy.install | 11 - extra/kdebase-runtime/PKGBUILD | 43 - extra/kdebase-runtime/kdebase-runtime.install | 13 - extra/kdebase-workspace/fix-freeze.patch | 56 - extra/kdebase-workspace/fix-krunner-crash.patch | 13 - extra/kdebase-workspace/fix-mesa9.patch | 60 - extra/kdebase-workspace/fixpath.patch | 34 - extra/kdebase-workspace/kdm | 36 - extra/kdebase-workspace/logind-support.patch | 66 - extra/kdebase-workspace/logind-support2.patch | 124 - .../kde-baseapps-4.9.4-fix-bugs-311206-311246.diff | 232 - .../korundum-4.8.0-ruby19.patch | 30 - extra/kdebindings-python/pyqt495.patch | 95 - extra/kdebindings-qyoto/cmake2810.patch | 15 - extra/kdeedu-kalzium/fix-linking.patch | 24 - extra/kdegames/PKGBUILD | 435 - extra/kdegames/kdegames-kbattleship.install | 12 - extra/kdegames/kdegames-kfourinline.install | 12 - extra/kdegames/kdegames-kigo.install | 12 - extra/kdegames/kdegames-knavalbattle.install | 12 - extra/kdegames/kdegames-kolf.install | 12 - extra/kdegames/kdegames-kpatience.install | 13 - extra/kdegames/kdegames-kreversi.install | 22 - extra/kdegames/kdegames-kspaceduel.install | 12 - extra/kdegames/kdegames-ksquares.install | 22 - extra/kdegames/kdegames-ktuberling.install | 12 - extra/kdegames/kdegames-lskat.install | 12 - extra/kdegames/kdegames-palapeli.install | 13 - extra/kdegames/kdegames.install | 11 - ...-check-parent-mimetypes-in-protocolForArc.patch | 53 - extra/kdelibs/PKGBUILD | 65 - extra/kdelibs/archlinux-menu.patch | 22 - extra/kdelibs/fix-crash-on-open-with.patch | 19 - extra/kdelibs/kde-applications-menu.patch | 22 - extra/kdelibs/kdelibs.install | 13 - extra/kdemultimedia/PKGBUILD | 111 - extra/kdemultimedia/ffmpeg0.11.patch | 29 - .../kdemultimedia-dragonplayer.install | 12 - extra/kdemultimedia/kdemultimedia.install | 11 - extra/kdemultimedia/mplayerthumbs.config | 2 - extra/kdenetwork/gcc47.patch | 59 - extra/kdepim-runtime/fix-carddav-support.patch | 26 - extra/kdepim/fix-build.patch | 11 - extra/kdeplasma-addons/fix-spell-crash.patch | 267 - .../kdeplasma-addons-applets.install | 11 - extra/kdeutils-ark/PKGBUILD | 34 - extra/kdeutils-ark/kdeutils-ark.install | 11 - extra/kdeutils-ksecrets/PKGBUILD | 31 - extra/kdeutils-ksecrets/kdeutils-ksecrets.install | 12 - .../kexec-tools-2.0.0-purgatory-makefile.patch | 20 - extra/kile/PKGBUILD | 32 - extra/kile/kile.install | 13 - extra/kradio/PKGBUILD | 32 - extra/kradio/kradio.install | 11 - extra/kshutdown/PKGBUILD | 30 - extra/kshutdown/kshutdown.install | 11 - extra/ktorrent/groupmiewmodel.diff | 87 - extra/ktorrent/httpserver.patch | 10 - extra/ladspa/hardcode-path.patch | 28 - extra/lapack/Makefile.blas | 148 - extra/lapack/Makefile.lapack | 461 -- extra/lftp/lftp-4.3.8-gets.patch | 16 - extra/libcl/PKGBUILD | 37 - extra/libdrm-new/COPYING | 48 - extra/libdrm-new/PKGBUILD | 53 - extra/libdrm-new/no-pthread-stubs.patch | 70 - extra/libdrm-old/COPYING | 48 - extra/libdrm-old/PKGBUILD | 54 - extra/libdrm-old/no-pthread-stubs.patch | 66 - extra/libdrm/PKGBUILD | 15 +- extra/libdrm/git_fixes.diff | 13 - extra/libffado/60-ffado.rules | 27 - extra/libffado/fix-segfault-on-close.patch | 64 - extra/libffado/libffado-gcc47.patch | 55 - extra/libgdiplus/gdiplus-png14.patch | 20 - extra/libggz/PKGBUILD | 26 - extra/libimobiledevice/swig-version-check.patch | 14 - extra/libkgoogle/PKGBUILD | 31 - extra/libktorrent/magnet.patch | 226 - extra/liblastfm/no-ftools.patch | 36 - extra/liblrdf/md5.patch | 18 - extra/liblrdf/pkgconfig-raptor.patch | 9 - extra/liblrdf/raptor2.diff | 193 - extra/libmikmod/libmikmod-3.1.12-64bit-fix.diff | 47 - .../libmikmod/libmikmod-3.1.12-exitcrash-fix.diff | 21 - .../libmikmod/libmikmod-3.1.12-md_sngchn-fix.diff | 112 - extra/libmikmod/libmikmod-CVE-2009-0179.patch | 33 - extra/libmusicbrainz4/PKGBUILD | 27 - extra/libreoffice/PKGBUILD.36 | 715 -- extra/libreoffice/buildfix.diff | 12 - extra/libreoffice/buildfix_icu49.diff | 42 - .../fix_broken_hebrew_wordwrapping.diff | 360 - extra/libreoffice/git_fixes.diff | 743 -- extra/libtasn1/buffer_overflow_fix.diff | 75 - extra/libva-driver-intel/PKGBUILD | 29 - extra/libva-intel-driver/build-fix.patch | 68 - extra/libva/libva.install | 5 - extra/libwebkit/PKGBUILD | 77 - extra/libwebkit/bison26.diff | 556 -- extra/libxml2/CVE-2011-0216.patch | 31 - extra/libxml2/CVE-2011-1944.patch | 100 - extra/libxml2/CVE-2011-2834.patch | 61 - extra/libxml2/CVE-2011-3905.patch | 61 - extra/libxml2/CVE-2011-3919.patch | 19 - extra/libxml2/largefile64.patch | 12 - extra/libxml2/libxml2-2.7.8-xpath-freeing.patch | 30 - extra/libxml2/libxml2-2.7.8-xpath-freeing2.patch | 26 - extra/libxml2/libxml2-2.7.8-xpath-hardening.patch | 223 - extra/libxml2/shared_library_versionning.patch | 21 - extra/liferea/PKGBUILD | 31 - extra/liferea/liferea.install | 22 - extra/linux_logo/PKGBUILD | 25 - extra/lirc/PKGBUILD | 117 - extra/lirc/irexec.conf | 5 - extra/lirc/irexec.service | 11 - extra/lirc/irexecd | 38 - extra/lirc/kernel-2.6.39.patch | 54 - extra/lirc/lirc-utils.install | 7 - extra/lirc/lirc.install | 16 - extra/lirc/lirc.logrotate | 5 - extra/lirc/lirc.service | 11 - extra/lirc/lirc.tmpfiles | 1 - extra/lirc/lirc_atiusb-kfifo.patch | 31 - extra/lirc/lirc_wpc8769l.patch | 88 - extra/lirc/lircd | 52 - extra/lirc/lircd-handle-large-config.patch | 39 - extra/lirc/lircd.conf | 8 - extra/lirc/lircm.service | 11 - extra/lirc/lircmd | 36 - extra/live-media/PKGBUILD | 6 +- extra/llvm/clang-3.1-fix-lwg-2141.patch | 65 - extra/llvm/clang-pure64.patch | 13 - extra/lsdvd/PKGBUILD | 28 - extra/lsdvd/stdint_usage.patch | 22 - extra/ltrace/fix-crash-on-int3-after-symcall.patch | 14 - extra/lua/lua-5.1-cflags.diff | 13 - extra/lua/lua-arch.patch | 66 - extra/mahjong/PKGBUILD | 26 - extra/mcrypt/PKGBUILD | 26 - extra/memcached/ChangeLog | 24 - extra/mercurial/PKGBUILD | 6 +- extra/mesa-demos/LICENSE | 82 - extra/mesa-demos/PKGBUILD | 29 - extra/mesa/git_fixes.diff | 93 - extra/mesa/mesa-8.0.3-llvm-3.1-fixes.patch | 46 - extra/misdnuser/PKGBUILD | 50 - extra/misdnuser/c2faxrecv-mISDNcapid.service | 11 - extra/misdnuser/mISDNcapid.conf | 1 - extra/misdnuser/mISDNcapid.service | 11 - extra/misdnuser/misdncapid.rc | 45 - extra/mkvtoolnix/mm_io.patch | 11 - extra/mod_fastcgi/PKGBUILD | 31 - extra/mod_fastcgi/lp381384.patch | 34 - extra/mod_mono/mod_mono.install | 20 - extra/mod_wsgi/PKGBUILD | 28 - extra/mod_wsgi/mod_wsgi.install | 14 - extra/monica/PKGBUILD | 33 - extra/monica/monica.desktop | 10 - extra/monica/monica.svg | 248 - extra/mono/mono.rc.d | 35 - extra/monodevelop/monodevelop_gnome3.patch | 101 - extra/mpck/PKGBUILD | 27 - extra/mplayer/PKGBUILD | 76 - extra/mplayer/mplayer.desktop | 21 - extra/mplayer/mplayer.install | 11 - extra/mplayer/mplayer.png | Bin 1982 -> 0 bytes extra/mrtg/PKGBUILD | 29 - extra/mt-st/PKGBUILD | 26 - extra/mtx/PKGBUILD | 27 - extra/multitail/PKGBUILD | 28 - extra/mutt/1a4c43138685.patch | 12 - extra/mysql/mysqld | 77 - extra/mysql/mysqld.rc | 77 - extra/nepomuk-core/PKGBUILD | 14 +- extra/nepomuk-core/fix-recursive-indexing.patch | 103 + extra/nepomuk-core/regression-crash.patch | 73 - extra/networkmanager/dont-fight-over-ipv6.patch | 121 - extra/networkmanager/initialize-GError.patch | 23 - extra/networkmanager/systemd-fallback.patch | 470 -- extra/nicotine/PKGBUILD | 34 - extra/nmap/kdesu.patch | 14 - extra/normalize/PKGBUILD | 44 - .../normalize-0.7.7-audiofile-pkgconfig.patch | 55 - extra/normalize/normalize-0.7.7-m4.patch | 553 -- extra/nouveau-dri/LICENSE | 82 - extra/nouveau-dri/PKGBUILD | 56 - extra/nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch | 46 - extra/nss-myhostname/PKGBUILD | 30 - extra/nss-myhostname/nss-myhostname.install | 6 - extra/nss/nss-no-rpath.patch | 14 - extra/ntp/logrotate.d | 4 - extra/nvidia-304xx-lts/PKGBUILD | 45 - extra/nvidia-304xx-lts/nvidia-304xx-lts.install | 15 - extra/nvidia-304xx-utils/PKGBUILD | 113 - extra/nvidia-304xx/PKGBUILD | 45 - extra/nvidia-304xx/nvidia.install | 15 - extra/nvidia-lts/PKGBUILD | 45 - extra/nvidia-lts/nvidia-lts.install | 15 - extra/nvidia-utils/PKGBUILD | 105 - extra/nvidia/PKGBUILD | 45 - extra/nvidia/nvidia.install | 18 - extra/nx/nx-x11.ld.so.conf.d | 1 - extra/nxclient/PKGBUILD | 70 - extra/nxclient/nomachine.key | 12 - extra/nxclient/nxclient.install | 22 - extra/nxclient/nxclient.wrapper | 2 - extra/ocaml/fix-ocaml-binutils-2.21.patch | 66 - extra/octave/buildfix.diff | 85 - extra/octave/curlfix.patch | 10 - extra/octave/imread.patch | 29 - extra/octave/octave-3.4.0-gcc46.patch | 24 - extra/openmpi/openmpi-hostfile.patch | 12 - extra/oprofile/PKGBUILD | 44 - extra/oprofile/oprofile.install | 21 - extra/ortp/libzrtpcpp2.patch | 69 - extra/oxine/PKGBUILD | 28 - extra/p7zip/7zFM.desktop | 9 - extra/p7zip/PKGBUILD | 62 - extra/p7zip/install | 13 - extra/pdksh/PKGBUILD | 31 - extra/pdksh/pdksh-5.2.14.patch | 26 - extra/pdksh/pdksh.install | 22 - extra/pdksh/usr_ksh.sh | 9 - extra/pdns-recursor/PKGBUILD | 31 - extra/pdns-recursor/pdns-recursor.rc | 35 - extra/pdns/2.9.18-default-mysql-options.patch | 13 - extra/pdns/PKGBUILD | 58 - extra/pdns/pdns-2.9.22-gcc44.patch | 22 - extra/pdns/pdns.conf | 290 - extra/pdns/pdns.install | 11 - extra/pdns/pdns.rc | 35 - extra/pekwm/PKGBUILD | 49 - extra/pekwm/pekwm.desktop | 8 - extra/perl-event/PKGBUILD | 35 - extra/perl-time-hires/PKGBUILD | 35 - extra/perl-unicode-string/PKGBUILD | 33 - extra/php-apc/svn.patch | 108 - extra/php/rc.d.php-fpm | 144 - extra/pidgin-encryption/PKGBUILD | 27 - extra/pidgin-encryption/fix_header_escaping.patch | 64 - extra/pidgin-encryption/log_crash.patch | 11 - extra/pigeonhole/PKGBUILD | 6 +- extra/pilot-link/PKGBUILD | 32 - extra/pilot-link/pilot-link-png14.patch | 100 - extra/pixman/test_failures_on_x86-32.diff | 46 - extra/pmount/PKGBUILD | 27 - extra/polkit/autogen.sh | 123 - extra/polkit/fix-empty-wheel.patch | 47 - extra/polkit/systemd-fallback.patch | 1571 ---- extra/postgresql/postgresql.confd | 11 - extra/postgresql/postgresql.rcd | 79 - extra/proftpd/PKGBUILD | 64 - extra/proftpd/proftpd | 41 - extra/proftpd/proftpd.conf.d | 4 - extra/proftpd/proftpd.install | 3 - extra/proftpd/proftpd.logrotate | 5 - extra/proftpd/proftpd.service | 12 - extra/proftpd/proftpd.tmpfiles | 1 - extra/psi/affiliationlistconfigmuc.patch | 92 - extra/psi/configureroomcrash.patch | 40 - extra/psi/gcc-47.patch | 10 - extra/psi/input-validation.patch | 257 - extra/psutils/PKGBUILD | 38 - extra/psutils/psutils-1.17.diff | 33 - ...emove-usage-of-deprecated-udev_get_-_path.patch | 80 - extra/pymad/PKGBUILD | 24 - extra/pypgsql/COPYING | 20 - extra/pypgsql/PKGBUILD | 23 - extra/pyqt/fix-pyuic4.patch | 91 - extra/pyqt/fix-qthelp-build.patch | 11 - extra/python-cairo/pycairo-1.8.10-pypath.patch | 36 - extra/python-imaging/PKGBUILD | 48 - extra/python-pycurl/PKGBUILD | 22 - extra/python-pysqlite/ChangeLog | 16 - extra/qemu/qemu-glibc-2.16-build.patch | 70 - extra/qiv/PKGBUILD | 25 - extra/qt/disable-ssl-compression.patch | 68 - extra/qt/fix-assistant-crash.patch | 12 - extra/qt/fix-qtscript-crash.patch | 34 - extra/qt/qsortfilterproxymodel.patch | 63 - extra/qt/undo-fix-jit-crash-on-x86_64.patch | 280 - .../qtwebkit/enable-accelerated-compositing.patch | 11 - extra/qtwebkit/fix-build.patch | 36 - extra/qtwebkit/glibc.patch | 339 - extra/quodlibet/PKGBUILD | 38 - extra/quota-tools/LICENSE | 33 - extra/quota-tools/nulls.diff | 20 - extra/quota-tools/quotaon.diff | 216 - extra/quota-tools/repquota.diff | 91 - extra/quota-tools/system_inodes.diff | 18 - extra/racket/drracket-normal.rkt | 199 - extra/raptor1/PKGBUILD | 36 - extra/raptor1/curl.patch | 11 - extra/ratpoison/PKGBUILD | 48 - extra/ratpoison/ratpoison.desktop | 8 - extra/ratpoison/ratpoison.install | 20 - extra/rox/PKGBUILD | 44 - extra/rox/rox.desktop | 7 - extra/rox/rox.sh | 2 - extra/rox/rox.svg | 493 -- extra/rssh/PKGBUILD | 43 - extra/rssh/destdir.patch | 24 - extra/rssh/env-breach.patch | 228 - extra/rssh/rsync.patch | 54 - extra/samba/smbd.conf | 1 - extra/scim-hangul/gcc43.patch | 22 - extra/scim-pinyin/gcc43.patch | 44 - .../scim-uim/scim-uim-0.2.0-fix-gcc43-build.patch | 10 - extra/scrot/PKGBUILD | 28 - extra/scummvm/PKGBUILD | 29 - extra/sdl/PKGBUILD | 43 - extra/sdl/fix_joystick_misc_axes.diff | 13 - extra/sdl/libsdl-1.2.15-resizing.patch | 63 - extra/sdl/sdl-1.2.14-disable-mmx.patch | 13 - extra/sdl/sdl-1.2.14-fix-mouse-clicking.patch | 23 - extra/skanlite/PKGBUILD | 30 - extra/slim/fix-array-overflow.patch | 13 - extra/slim/fix-glibc-segfault-1.3.4.patch | 13 - extra/slim/fix-numlock-1.3.3.patch | 46 - extra/slim/install | 7 - extra/slim/libpng-1.4+-support.patch | 14 - extra/slim/logrotate | 9 - extra/slim/pam.d | 10 - extra/slim/ptr_pam.patch | 52 - extra/slim/rc.d | 36 - extra/slim/session-name.patch | 21 - extra/slim/slim.service | 9 - extra/slim/tty-slowness.patch | 30 - extra/slv2/PKGBUILD | 32 - extra/slv2/slv2.changelog | 23 - extra/slv2/slv2.install | 14 - extra/smartmontools/smartd.rc | 39 - extra/sonata/ChangeLog | 16 - .../soundtouch-1.4.0-mmx-sse-compile-fix.patch | 14 - .../soundtouch-1.4.0-x86_64-asm-broken.patch | 12 - extra/speedtouch/PKGBUILD | 32 - extra/speedtouch/speedtouch-1.3.1-gcc4.patch | 11 - extra/squid/PKGBUILD | 94 - extra/squid/squid | 48 - extra/squid/squid.conf.d | 4 - extra/squid/squid.cron | 9 - extra/squid/squid.install | 26 - extra/squid/squid.pam | 4 - extra/squid/squid.service | 13 - extra/stardict/NetDictRequests.patch | 12 - extra/stardict/PKGBUILD | 54 - extra/stardict/crash-empty-dict.patch | 12 - extra/stardict/gcc46.patch | 11 - extra/stardict/glib2.patch | 36 - extra/stardict/zlib.patch | 35 - extra/strigi/gcc47.patch | 22 - .../subversion-1.7.5-kwallet-gcc47.patch | 56 - .../subversion-1.7.6-kwallet-gcc47.patch | 56 - extra/swig/pyint_fromsize_t.diff | 18 - extra/swig/upstream_r13128.diff | 73 - extra/sysklogd/LICENSE | 16 - extra/sysklogd/PKGBUILD | 55 - extra/sysklogd/klogd | 37 - .../sysklogd-1.4.1-caen-owl-klogd-drop-root.diff | 161 - .../sysklogd-1.4.1-caen-owl-syslogd-bind.diff | 104 - .../sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff | 117 - .../sysklogd-1.5-syslog-func-collision.patch | 103 - extra/sysklogd/syslog.conf | 15 - extra/sysklogd/syslog.logrotate | 6 - extra/sysklogd/syslogd | 37 - extra/taglib/ape-idev2.patch | 12 - extra/telepathy-kde-call-ui/PKGBUILD | 31 - extra/telepathy-qt/gcc47.patch | 36 - extra/terminal/PKGBUILD | 39 - extra/terminal/terminal.install | 13 - extra/texlive-bin/09-texlive-fonts.conf | 9 - extra/texlive-bin/PKGBUILD | 311 - extra/texlive-bin/fix-fontforge-encoding.patch | 12 - .../luatex-r4449-radical-rule-thickness.patch | 23 - extra/texlive-bin/poppler-0.20.patch | 22 - extra/texlive-bin/texlive.install | 43 - extra/texlive-bin/texmf.cnf | 724 -- ...unar-1.4.0-dont-add-duplicates-of-devices.patch | 59 - .../thunar-1.4.0-show-loop-devices-hack.patch | 15 - ...ar-1.6.0-show-nodisplay-true-applications.patch | 57 - extra/thunderbird/PKGBUILD | 62 - extra/thunderbird/mozconfig | 40 - extra/thunderbird/thunderbird-install-dir.patch | 47 - extra/thunderbird/thunderbird.desktop | 13 - extra/thunderbird/thunderbird.install | 12 - extra/thunderbird/vendor.js | 9 - extra/timidity++/2.13.2-gcc4.patch | 30 - .../timidity++/TiMidity++-2.13.2+flac-1.1.3.patch | 349 - extra/timidity++/timidity++-2.13.2-exiterror.patch | 695 -- extra/timidity++/timidity++-2.13.2-gtk26.patch | 19 - extra/timidity++/timidity++-2.13.2-polling.patch | 34 - extra/tomcat/PKGBUILD | 49 - extra/tomcat/tomcat | 53 - extra/tomcat/tomcat.conf.d | 5 - extra/tomcat/tomcat.install | 36 - extra/transcode/ffmpeg-0.10.patch | 14 - extra/umfpack/PKGBUILD | 55 - extra/unrar/PKGBUILD | 49 - extra/unrar/unrar-4.2.1-soname.patch | 11 - extra/unzip/PKGBUILD | 42 - ...-signal-when-built-with-systemd-and-using.patch | 35 - extra/usbmuxd/usbmuxd-udevuser.patch | 12 - extra/usbview/PKGBUILD | 43 - extra/usbview/usbview-1.1-gtk3-port.patch | 802 -- extra/usbview/usbview-1.1-missing-usbfs.patch | 11 - extra/usbview/usbview.install | 16 - extra/v4l-utils/PKGBUILD | 21 +- extra/valgrind/valgrind-3.7.0-glibc-2.15.patch | 30 - extra/valgrind/valgrind-3.7.0-glibc-2.16.patch | 41 - extra/valgrind/valgrind-3.7.0-supp.patch | 253 - extra/vamp-plugin-sdk/gcc44.patch | 14 - extra/vdpau-video/PKGBUILD | 30 - extra/vice/vice-2.3-no-fc-cache.patch | 15 - extra/vice/vice-2.3-notexi-notxt.patch | 23 - extra/vice/vice-2.3-x11video.patch | 11 - extra/vice/vice-2.3-zlib-1.2.7.patch | 37 - extra/w3m/https-segfault.patch | 19 - extra/wireshark/enable_version.patch | 12 - extra/wv2/PKGBUILD | 34 - extra/x2x/LICENSE | 39 - extra/x2x/PKGBUILD | 29 - extra/xchat/PKGBUILD | 51 - extra/xchat/xchat-2.8.8-glib-2.31.patch | 62 - extra/xchat/xchat-2.8.8-libnotify07.patch | 24 - .../xchat/xchat-2.8.8-link-against-libnotify.patch | 343 - extra/xchat/xchat.install | 11 - extra/xdelta/PKGBUILD | 29 - extra/xdelta/xdelta-1.1.4-aclocal.patch | 11 - extra/xdelta3/PKGBUILD | 31 - extra/xdelta3/xdelta3-makefile.patch | 51 - extra/xdg-user-dirs-gtk/lxde.patch | 15 - .../Fix_inverted_horizontal_scroll.diff | 27 - extra/xf86-input-joystick/git-fixes.patch | 399 - extra/xf86-input-synaptics/10-synaptics.conf | 9 - extra/xf86-video-apm/apm-1.2.3-git.patch | 34 - extra/xf86-video-ark/git-fixes.patch | 118 - ...man-s-solid-picture-support-for-r300-r600.patch | 571 -- ...man-s-solid-picture-support-for-evergreen.patch | 290 - ...poor-man-s-solid-picture-support-for-r100.patch | 182 - ...poor-man-s-solid-picture-support-for-r200.patch | 179 - extra/xf86-video-ati/git_fixes.diff | 33 - extra/xf86-video-chips/chips-1.2.4-git.patch | 912 --- extra/xf86-video-intel/fix_gen4.diff | 142 - extra/xf86-video-intel/gmux_backlight.diff | 10 - extra/xf86-video-intel/sna_backlight_fixes.diff | 54 - extra/xf86-video-mach64/git_fixes.diff | 107 - extra/xf86-video-nv/git_fixes.patch | 234 - .../xf86-video-rendition/rendition-4.2.4-git.patch | 809 -- extra/xf86-video-s3/LICENSE | 25 - extra/xf86-video-s3/git-fixes.patch | 502 -- extra/xf86-video-s3virge/git-fixes.patch | 1644 ---- extra/xf86-video-sisusb/sisusb-0.9.4-git.patch | 794 -- extra/xf86-video-tseng/tseng-1.2.4-git.patch | 317 - extra/xf86-video-unichrome/LICENSE | 23 - extra/xf86-video-unichrome/PKGBUILD | 30 - extra/xf86-video-vmware/git_fixes.diff | 894 --- .../fix-config-write.patch | 11 - .../use-exo-open-instead-of-xfbrowser4.patch | 37 - .../xfdesktop/avoid-duplicating-volume-icons.patch | 29 - extra/xfdesktop/implement-paste-on-desktop.patch | 236 - extra/xine-ui/fix_lirc.diff | 13 - extra/xine-ui/lirc-check-a89347673097.patch | 64 - extra/xine-ui/lirc-makefile-a68dd15ff7ae.patch | 19 - extra/xine-ui/xine-ui-0.99.6-libpng15.patch | 13 - extra/xine-ui/xine-ui-xdg.diff | 206 - ...001-dix-fix-zaphod-screen-scrossing-54654.patch | 42 - ...rlier_and_more_thoroughly_from_exaGlyphsV2.diff | 116 - extra/xorg-xdm/LICENSE | 132 - extra/xorg-xdm/xdm-consolekit.patch | 225 - extra/xorg-xfs/PKGBUILD | 64 - extra/xorg-xfs/xfs.rc | 46 - extra/xorg-xlsfonts/PKGBUILD | 27 - extra/xscreensaver/LICENSE | 9 - extra/xscreensaver/PKGBUILD | 40 - extra/xscreensaver/add-electricsheep.diff | 12 - extra/xscreensaver/xscreensaver.pam | 1 - extra/xsnow/LICENSE | 9 - extra/xsnow/PKGBUILD | 31 - extra/xterm/PKGBUILD | 6 +- extra/xulrunner/PKGBUILD | 53 - extra/xulrunner/mozconfig | 38 - extra/xulrunner/mozilla-pkgconfig.patch | 40 - extra/xulrunner/shared-libs.patch | 12 - extra/zile/PKGBUILD | 26 - 768 files changed, 154 insertions(+), 66156 deletions(-) delete mode 100644 extra/abiword/PKGBUILD delete mode 100644 extra/abiword/abiword-2.8.6-glib-2.31.patch delete mode 100644 extra/abiword/abiword-2.8.6-libpng15.patch delete mode 100644 extra/abiword/abiword-2.8.6-no-undefined.patch delete mode 100644 extra/abiword/abiword.install delete mode 100644 extra/abiword/compat_libwpg_0_9.patch delete mode 100644 extra/abs/PKGBUILD delete mode 100644 extra/accountsservice/32bit-crash.patch delete mode 100644 extra/alsa-firmware/PKGBUILD delete mode 100644 extra/amarok/amarok-2.5.0-ffmpeg-fixes.patch delete mode 100644 extra/amarok/contextviewfix.patch delete mode 100644 extra/amarok/toolbarfix.patch delete mode 100644 extra/apache/pcre_info.patch delete mode 100644 extra/audacious-plugins/PKGBUILD delete mode 100644 extra/avahi/gnome-nettool.png delete mode 100644 extra/avfs/PKGBUILD delete mode 100644 extra/avfs/avfs-1.0.0-fix_open_missing_mode.patch delete mode 100644 extra/avogadro/fix-boost.patch delete mode 100644 extra/avogadro/fix-opengl-headers.patch delete mode 100644 extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch delete mode 100644 extra/banshee/banshee-recent-gpod.patch delete mode 100644 extra/banshee/gst-1.0.patch delete mode 100644 extra/bitlbee/install delete mode 100644 extra/bitlbee/sbindir.patch delete mode 100644 extra/blas/LICENSE.blas delete mode 100644 extra/blas/Makefile.blas delete mode 100755 extra/blas/PKGBUILD delete mode 100644 extra/blas/lapack-3.1.1-make.inc.patch delete mode 100644 extra/bluez/0001-udev-remove-deprecated-function.patch delete mode 100644 extra/bluez/org.bluez.service delete mode 100644 extra/bmp-musepack/PKGBUILD delete mode 100644 extra/bmp-wma/PKGBUILD delete mode 100644 extra/bmp-wma/bmp-wma-gcc4.patch delete mode 100644 extra/bochs/PKGBUILD delete mode 100644 extra/bogofilter/PKGBUILD delete mode 100644 extra/boost/exceptions.patch delete mode 100644 extra/bootchart/README.patch delete mode 100644 extra/bootchart/build.patch delete mode 100644 extra/botan/PKGBUILD delete mode 100644 extra/cabal-install/0001-disable-setting-jobs-due-to-cabal-1.16.0-bug-shipped.patch delete mode 100644 extra/cairo/cairo-1.10.0-buggy_gradients.patch delete mode 100644 extra/cairo/cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch delete mode 100644 extra/cairo/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch delete mode 100644 extra/cairo/git_fixes.diff delete mode 100644 extra/cairo/git_fixes.patch delete mode 100644 extra/cairo/revert-xlib-Simplify-source-creation-by-use-of-map-to-image.patch delete mode 100644 extra/cairo/revert-xlib-map-to-image-requires-an-extents.patch delete mode 100644 extra/calligra/lcms24.patch delete mode 100644 extra/caribou/fix-crash.patch delete mode 100644 extra/catdoc/PKGBUILD delete mode 100644 extra/cdargs/PKGBUILD delete mode 100644 extra/cdargs/cdargs.install delete mode 100644 extra/cdrkit/PKGBUILD delete mode 100644 extra/chromium/PKGBUILD delete mode 100644 extra/chromium/chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch delete mode 100644 extra/chromium/chromium-ppapi-r0.patch delete mode 100644 extra/chromium/chromium.default delete mode 100644 extra/chromium/chromium.desktop delete mode 100644 extra/chromium/chromium.install delete mode 100755 extra/chromium/chromium.sh delete mode 100644 extra/cifs-utils/mount.cifs-fix-up-some-D_FORTIFY_SOURCE-2-warnings.patch delete mode 100644 extra/claws-mail/PKGBUILD delete mode 100644 extra/claws-mail/buildfix_gnutls3.diff delete mode 100644 extra/claws-mail/claws-mail.install delete mode 100644 extra/claws-mail/gnutls313.diff delete mode 100644 extra/cmake/fix-pkg-config.patch delete mode 100644 extra/cmatrix/PKGBUILD delete mode 100644 extra/cmatrix/cmatrix.install delete mode 100644 extra/consolekit/PKGBUILD delete mode 100644 extra/consolekit/consolekit.logrotate delete mode 100644 extra/consolekit/consolekit.tmpfiles.conf delete mode 100644 extra/consolekit/pam-foreground-compat.ck delete mode 100644 extra/cpufrequtils/PKGBUILD delete mode 100644 extra/cpufrequtils/cpufreq.confd delete mode 100644 extra/cpufrequtils/cpufreq.rcd delete mode 100644 extra/cups-filters/PKGBUILD delete mode 100644 extra/cups-filters/cups-browsed.service delete mode 100644 extra/cups/PKGBUILD.16 delete mode 100644 extra/cups/cups-avahi-1-config.patch delete mode 100644 extra/cups/cups-avahi-2-backend.patch delete mode 100644 extra/cups/cups-avahi-3-timeouts.patch delete mode 100644 extra/cups/cups-avahi-4-poll.patch delete mode 100644 extra/cups/cups-avahi-5-services.patch delete mode 100644 extra/cups/cups-no-gzip-man.patch.16 delete mode 100644 extra/cvsps/call-cvs-q-option.patch delete mode 100644 extra/cvsps/cvsps-2.2b1-bufferoverflow.patch delete mode 100644 extra/cvsps/cvsps-2.2b1-dynamic-logbuf.patch delete mode 100644 extra/cvsps/cvsps-2.2b1-man.patch delete mode 100644 extra/cvsps/cvsps-buffer-overflow.patch delete mode 100644 extra/cvsps/seperate-CPPFLAGS.patch delete mode 100644 extra/cvsps/use-INADDR_NONE-define.patch delete mode 100644 extra/cvsps/use-__linux__-define.patch delete mode 100644 extra/cvsps/use-offsetof-macro.patch delete mode 100644 extra/cx_freeze/FreezePython.sh delete mode 100644 extra/cx_freeze/PKGBUILD delete mode 100644 extra/dansguardian/PKGBUILD delete mode 100644 extra/dansguardian/dansguardian delete mode 100644 extra/dansguardian/dansguardian.install delete mode 100644 extra/dansguardian/dg2.10.1.1-missing.stdio.patch delete mode 100644 extra/dbus/30-dbus delete mode 100644 extra/dbus/PKGBUILD delete mode 100644 extra/dcfldd/PKGBUILD delete mode 100644 extra/dcraw/dcraw.install delete mode 100644 extra/dcraw/license.txt delete mode 100644 extra/devilspie/PKGBUILD delete mode 100644 extra/dhcp/ChangeLog delete mode 100644 extra/digikam/boost148.patch delete mode 100644 extra/digikam/digikam-2.5.0-gcc-4.7.0.patch delete mode 100644 extra/digikam/libkipi140.patch delete mode 100644 extra/djvulibre/djvulibre.install delete mode 100755 extra/dovecot/dovecot.sh delete mode 100644 extra/dvdrip/PKGBUILD delete mode 100644 extra/dvdrip/dvdrip.desktop delete mode 100644 extra/dvdrip/dvdrip.install delete mode 100644 extra/dvdrtools/PKGBUILD delete mode 100755 extra/efibootmgr/efibootmgr_after_0.5.4_git.patch delete mode 100755 extra/efibootmgr/efibootmgr_default_to_grub2.patch delete mode 100644 extra/eject/PKGBUILD delete mode 100644 extra/eject/eject-2.1.1-verbose.patch delete mode 100644 extra/eject/eject-2.1.5-lock.patch delete mode 100644 extra/eject/eject-2.1.5-openrw.patch delete mode 100644 extra/eject/eject-2.1.5-spaces.patch delete mode 100644 extra/eject/eject-2.1.5-umount.patch delete mode 100644 extra/eject/eject-2.1.5-unlock.patch delete mode 100644 extra/eject/eject-timeout.patch delete mode 100644 extra/ekiga/gcc47.patch delete mode 100644 extra/elfutils/elfutils-0.154-binutils-pr-ld-13621.patch delete mode 100644 extra/emacs/emacs-23.3-xgselect_init.patch delete mode 100644 extra/emacs/emacs-subversion17.patch delete mode 100644 extra/emelfm2/PKGBUILD delete mode 100644 extra/enscript/PKGBUILD delete mode 100644 extra/evilwm/LICENSE delete mode 100644 extra/evilwm/PKGBUILD delete mode 100644 extra/evolution-exchange/PKGBUILD delete mode 100644 extra/evolution-exchange/evolution-exchange.install delete mode 100644 extra/evolution-groupwise/PKGBUILD delete mode 100644 extra/exo/drop-HAVE_GIO_UNIX-ifdef-and-load-gio-unix-2.0-pkg.patch delete mode 100644 extra/expect/ChangeLog delete mode 100644 extra/expect/expect.install delete mode 100644 extra/faac/PKGBUILD delete mode 100644 extra/faac/altivec.patch delete mode 100644 extra/faac/mp4v2-1.9.patch delete mode 100644 extra/faac/mp4v2-2.0.0.patch delete mode 100644 extra/farstream/vp8.patch delete mode 100644 extra/fcitx/PKGBUILD delete mode 100644 extra/fcitx/fcitx-gtk2.install delete mode 100644 extra/fcitx/fcitx-gtk3.install delete mode 100644 extra/fcitx/fcitx.install delete mode 100644 extra/ffmpegthumbnailer/ffmpegapi_fix_r241.patch delete mode 100644 extra/ffmpegthumbnailer/ffmpegthumbnailer.desktop delete mode 100644 extra/figlet/PKGBUILD delete mode 100644 extra/file-roller/PKGBUILD delete mode 100644 extra/file-roller/file-roller.install delete mode 100644 extra/firefox/PKGBUILD delete mode 100644 extra/firefox/firefox-install-dir.patch delete mode 100644 extra/firefox/firefox.desktop delete mode 100644 extra/firefox/firefox.install delete mode 100644 extra/firefox/mozconfig delete mode 100644 extra/firefox/shared-libs.patch delete mode 100644 extra/firefox/vendor.js delete mode 100644 extra/flashplugin/PKGBUILD delete mode 100644 extra/flashplugin/flashplugin.install delete mode 100644 extra/flashplugin/mms.cfg delete mode 100644 extra/fluidsynth/fluidsynthd delete mode 100644 extra/fontconfig/30-urw-aliases.patch delete mode 100644 extra/foomatic/PKGBUILD delete mode 100644 extra/fortune-mod/01_all_fortune_all-fix.patch delete mode 100644 extra/fortune-mod/LICENSE delete mode 100644 extra/fortune-mod/PKGBUILD delete mode 100644 extra/freetype2/bug35833.patch delete mode 100644 extra/freetype2/bug35847.patch delete mode 100644 extra/fssos-nsvs/PKGBUILD delete mode 100644 extra/fssos-nsvs/fssos-nsvs.install delete mode 100755 extra/fssos-nsvs/nsvsd delete mode 100644 extra/fssos-nsvs/nsvsd.service delete mode 100644 extra/gcc4.6/PKGBUILD delete mode 100644 extra/gcc4.6/gcc-4.6.2-cloog-0.17.patch delete mode 100644 extra/gcc4.6/gcc-hash-style-both.patch delete mode 100644 extra/gcc4.6/gcc_pure64.patch delete mode 100755 extra/gdm/gdm delete mode 100644 extra/gdm/gdm-autologin.pam delete mode 100644 extra/gdm/gdm-fingerprint.pam delete mode 100644 extra/gdm/gdm-password.pam delete mode 100644 extra/gdm/gdm-smartcard.pam delete mode 100644 extra/gdm/gdm-vt-allocation-hack.patch delete mode 100644 extra/gdm/gdm-welcome.pam delete mode 100644 extra/gdm/gdm.pam delete mode 100644 extra/gdm/gdm.service delete mode 100644 extra/ggv/PKGBUILD delete mode 100644 extra/ggv/ggv.install delete mode 100644 extra/ggz-client-libs/PKGBUILD delete mode 100644 extra/ggz-gtk-client/PKGBUILD delete mode 100644 extra/ggz-gtk-client/gtk2.patch delete mode 100644 extra/ghc/silence-gen_contents_index.diff delete mode 100644 extra/ghostscript/PKGBUILD delete mode 100644 extra/ghostscript/svn_rev11948.diff delete mode 100644 extra/gimp-dbp/PKGBUILD delete mode 100644 extra/gimp-gap/PKGBUILD delete mode 100644 extra/gimp-ufraw/PKGBUILD delete mode 100644 extra/gimp-ufraw/gimp-ufraw.install delete mode 100644 extra/git/ChangeLog delete mode 100644 extra/git/fix-git-build-python.patch delete mode 100644 extra/gmpc/PKGBUILD delete mode 100644 extra/gmpc/gmpc.install delete mode 100644 extra/gnome-control-center/systemd-fallback.patch delete mode 100644 extra/gnome-keyring/gpg-agent-fix-encoding.patch delete mode 100644 extra/gnome-phone-manager/phonemgr-gnome-bluetooth-3.3.patch delete mode 100644 extra/gnome-pilot/PKGBUILD delete mode 100644 extra/gnome-pilot/gnome-pilot.install delete mode 100644 extra/gnome-settings-daemon/screensaver.patch delete mode 100644 extra/gnome-settings-daemon/systemd-fallback.patch delete mode 100644 extra/gnome-shell/recorder.patch delete mode 100644 extra/gnu-efi/PKGBUILD delete mode 100644 extra/gnuchess/PKGBUILD delete mode 100644 extra/goffice/use-apiver-for-dirs.patch delete mode 100644 extra/gqview/PKGBUILD delete mode 100644 extra/gqview/gqview.install delete mode 100644 extra/graphite/pango-graphite.install delete mode 100644 extra/grilo-plugins/tracker-0.14.patch delete mode 100644 extra/gst-plugins-bad/PKGBUILD delete mode 100644 extra/gstreamer0.10-bad/PKGBUILD delete mode 100644 extra/gstreamer0.10-bad/gstreamer0.10-bad-plugins.install delete mode 100644 extra/gstreamer0.10-good/PKGBUILD delete mode 100644 extra/gstreamer0.10-good/gstreamer0.10-good-plugins.install delete mode 100644 extra/gtk2/fix-stuck-grabs.patch delete mode 100644 extra/gtk3/git-fixes.patch delete mode 100644 extra/gtk3/wacom.patch delete mode 100644 extra/gtkhtml4/fix-selection-behaviour-in-iframe.patch delete mode 100644 extra/gtkpod/PKGBUILD delete mode 100644 extra/gtkpod/gtkpod-2.1.2-anjuta.patch delete mode 100644 extra/gtkpod/gtkpod-2.1.3-gdl-3.6.patch delete mode 100644 extra/gtkpod/gtkpod.install delete mode 100644 extra/gutenprint/buildfix.patch delete mode 100644 extra/gvfs/do-not-emit-connected-added-signals-at-object-creation.patch delete mode 100644 extra/gvfs/gdaemonmount-Check-for-a-NULL-GMountOperation-when-unmounting.patch delete mode 100644 extra/gvfs/proxy-volume-monitor-Dont-disable-exit_on_close-on-session-bus.patch delete mode 100644 extra/gvfs/proxy-volume-monitor-Dont-force-close-the-session-bus.patch delete mode 100644 extra/hd2u/PKGBUILD delete mode 100644 extra/hddtemp/hddtemp delete mode 100644 extra/hddtemp/hddtemp-0.3-beta15-reg-eip.patch delete mode 100644 extra/hddtemp/hddtemp.confd delete mode 100644 extra/hddtemp/hddtemp.service delete mode 100644 extra/hefur/Check-that-added-torrents-from-the-disk-are-still-on.patch delete mode 100644 extra/hefur/Replace-by-amp-in-stat.html.patch delete mode 100644 extra/hercules/PKGBUILD delete mode 100644 extra/herqq/PKGBUILD delete mode 100644 extra/hplip/PKGBUILD delete mode 100644 extra/hplip/cups-1.6-buildfix.diff delete mode 100644 extra/hplip/hplip.install delete mode 100644 extra/hpoj/PKGBUILD delete mode 100644 extra/hpoj/hpoj-gcc4.patch delete mode 100644 extra/hpoj/hpoj-kernel26.patch delete mode 100644 extra/hpoj/hpoj-pack.patch delete mode 100644 extra/hpoj/hpoj.install delete mode 100644 extra/hpoj/hpoj0.91-snmp5.5.patch delete mode 100644 extra/hpoj/hpoj_gcc43.diff delete mode 100644 extra/hspell/hspell-1.0.sharedlib.patch delete mode 100644 extra/htop/ChangeLog delete mode 100644 extra/hugin/gcc47.patch delete mode 100644 extra/hugin/hugin.install delete mode 100644 extra/hydrogen/PKGBUILD delete mode 100644 extra/hydrogen/install.patch delete mode 100644 extra/hydrogen/lrdf_raptor2.patch delete mode 100644 extra/hylafax/configure-6.0.5.patch delete mode 100644 extra/hylafax/hylafax-libtiff4.patch delete mode 100644 extra/icedtea-web-java7/fix_firefox_crash.diff delete mode 100644 extra/icedtea-web/fix_firefox_crash.diff delete mode 100644 extra/icu/changeset_32780.diff delete mode 100755 extra/ifplugd/ifdown.01-route.sh delete mode 100644 extra/ifplugd/ifplugd.action delete mode 100755 extra/ifplugd/ifup.01-route.sh delete mode 100755 extra/ifplugd/ifup.02-ntpdate.sh delete mode 100644 extra/ilmbase/tests-compile-fixes.patch delete mode 100644 extra/inkscape/libpng15.patch delete mode 100644 extra/inkscape/poppler20.patch delete mode 100644 extra/irqbalance/irqbalance-2011-08-09.patch delete mode 100644 extra/ivtv-utils/PKGBUILD delete mode 100644 extra/java7-openjdk/disable_Werror.diff delete mode 100644 extra/jhead/LICENSE delete mode 100644 extra/jhead/PKGBUILD delete mode 100644 extra/k9copy/PKGBUILD delete mode 100644 extra/k9copy/k9copy.install delete mode 100644 extra/kdebase-runtime/PKGBUILD delete mode 100644 extra/kdebase-runtime/kdebase-runtime.install delete mode 100644 extra/kdebase-workspace/fix-freeze.patch delete mode 100644 extra/kdebase-workspace/fix-krunner-crash.patch delete mode 100644 extra/kdebase-workspace/fix-mesa9.patch delete mode 100644 extra/kdebase-workspace/fixpath.patch delete mode 100644 extra/kdebase-workspace/kdm delete mode 100644 extra/kdebase-workspace/logind-support.patch delete mode 100644 extra/kdebase-workspace/logind-support2.patch delete mode 100644 extra/kdebase/kde-baseapps-4.9.4-fix-bugs-311206-311246.diff delete mode 100644 extra/kdebindings-korundum/korundum-4.8.0-ruby19.patch delete mode 100644 extra/kdebindings-python/pyqt495.patch delete mode 100644 extra/kdebindings-qyoto/cmake2810.patch delete mode 100644 extra/kdeedu-kalzium/fix-linking.patch delete mode 100644 extra/kdegames/PKGBUILD delete mode 100644 extra/kdegames/kdegames-kbattleship.install delete mode 100644 extra/kdegames/kdegames-kfourinline.install delete mode 100644 extra/kdegames/kdegames-kigo.install delete mode 100644 extra/kdegames/kdegames-knavalbattle.install delete mode 100644 extra/kdegames/kdegames-kolf.install delete mode 100644 extra/kdegames/kdegames-kpatience.install delete mode 100644 extra/kdegames/kdegames-kreversi.install delete mode 100644 extra/kdegames/kdegames-kspaceduel.install delete mode 100644 extra/kdegames/kdegames-ksquares.install delete mode 100644 extra/kdegames/kdegames-ktuberling.install delete mode 100644 extra/kdegames/kdegames-lskat.install delete mode 100644 extra/kdegames/kdegames-palapeli.install delete mode 100644 extra/kdegames/kdegames.install delete mode 100644 extra/kdelibs/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch delete mode 100644 extra/kdelibs/PKGBUILD delete mode 100644 extra/kdelibs/archlinux-menu.patch delete mode 100644 extra/kdelibs/fix-crash-on-open-with.patch delete mode 100644 extra/kdelibs/kde-applications-menu.patch delete mode 100644 extra/kdelibs/kdelibs.install delete mode 100644 extra/kdemultimedia/PKGBUILD delete mode 100644 extra/kdemultimedia/ffmpeg0.11.patch delete mode 100644 extra/kdemultimedia/kdemultimedia-dragonplayer.install delete mode 100644 extra/kdemultimedia/kdemultimedia.install delete mode 100644 extra/kdemultimedia/mplayerthumbs.config delete mode 100644 extra/kdenetwork/gcc47.patch delete mode 100644 extra/kdepim-runtime/fix-carddav-support.patch delete mode 100644 extra/kdepim/fix-build.patch delete mode 100644 extra/kdeplasma-addons/fix-spell-crash.patch delete mode 100644 extra/kdeplasma-addons/kdeplasma-addons-applets.install delete mode 100644 extra/kdeutils-ark/PKGBUILD delete mode 100644 extra/kdeutils-ark/kdeutils-ark.install delete mode 100644 extra/kdeutils-ksecrets/PKGBUILD delete mode 100644 extra/kdeutils-ksecrets/kdeutils-ksecrets.install delete mode 100644 extra/kexec-tools/kexec-tools-2.0.0-purgatory-makefile.patch delete mode 100644 extra/kile/PKGBUILD delete mode 100644 extra/kile/kile.install delete mode 100644 extra/kradio/PKGBUILD delete mode 100644 extra/kradio/kradio.install delete mode 100644 extra/kshutdown/PKGBUILD delete mode 100644 extra/kshutdown/kshutdown.install delete mode 100644 extra/ktorrent/groupmiewmodel.diff delete mode 100644 extra/ktorrent/httpserver.patch delete mode 100644 extra/ladspa/hardcode-path.patch delete mode 100644 extra/lapack/Makefile.blas delete mode 100644 extra/lapack/Makefile.lapack delete mode 100644 extra/lftp/lftp-4.3.8-gets.patch delete mode 100644 extra/libcl/PKGBUILD delete mode 100644 extra/libdrm-new/COPYING delete mode 100644 extra/libdrm-new/PKGBUILD delete mode 100644 extra/libdrm-new/no-pthread-stubs.patch delete mode 100644 extra/libdrm-old/COPYING delete mode 100644 extra/libdrm-old/PKGBUILD delete mode 100644 extra/libdrm-old/no-pthread-stubs.patch delete mode 100644 extra/libdrm/git_fixes.diff delete mode 100644 extra/libffado/60-ffado.rules delete mode 100644 extra/libffado/fix-segfault-on-close.patch delete mode 100644 extra/libffado/libffado-gcc47.patch delete mode 100644 extra/libgdiplus/gdiplus-png14.patch delete mode 100644 extra/libggz/PKGBUILD delete mode 100644 extra/libimobiledevice/swig-version-check.patch delete mode 100644 extra/libkgoogle/PKGBUILD delete mode 100644 extra/libktorrent/magnet.patch delete mode 100644 extra/liblastfm/no-ftools.patch delete mode 100644 extra/liblrdf/md5.patch delete mode 100644 extra/liblrdf/pkgconfig-raptor.patch delete mode 100644 extra/liblrdf/raptor2.diff delete mode 100644 extra/libmikmod/libmikmod-3.1.12-64bit-fix.diff delete mode 100644 extra/libmikmod/libmikmod-3.1.12-exitcrash-fix.diff delete mode 100644 extra/libmikmod/libmikmod-3.1.12-md_sngchn-fix.diff delete mode 100644 extra/libmikmod/libmikmod-CVE-2009-0179.patch delete mode 100644 extra/libmusicbrainz4/PKGBUILD delete mode 100644 extra/libreoffice/PKGBUILD.36 delete mode 100644 extra/libreoffice/buildfix.diff delete mode 100644 extra/libreoffice/buildfix_icu49.diff delete mode 100644 extra/libreoffice/fix_broken_hebrew_wordwrapping.diff delete mode 100644 extra/libreoffice/git_fixes.diff delete mode 100644 extra/libtasn1/buffer_overflow_fix.diff delete mode 100644 extra/libva-driver-intel/PKGBUILD delete mode 100644 extra/libva-intel-driver/build-fix.patch delete mode 100644 extra/libva/libva.install delete mode 100644 extra/libwebkit/PKGBUILD delete mode 100644 extra/libwebkit/bison26.diff delete mode 100644 extra/libxml2/CVE-2011-0216.patch delete mode 100644 extra/libxml2/CVE-2011-1944.patch delete mode 100644 extra/libxml2/CVE-2011-2834.patch delete mode 100644 extra/libxml2/CVE-2011-3905.patch delete mode 100644 extra/libxml2/CVE-2011-3919.patch delete mode 100644 extra/libxml2/largefile64.patch delete mode 100644 extra/libxml2/libxml2-2.7.8-xpath-freeing.patch delete mode 100644 extra/libxml2/libxml2-2.7.8-xpath-freeing2.patch delete mode 100644 extra/libxml2/libxml2-2.7.8-xpath-hardening.patch delete mode 100644 extra/libxml2/shared_library_versionning.patch delete mode 100644 extra/liferea/PKGBUILD delete mode 100644 extra/liferea/liferea.install delete mode 100644 extra/linux_logo/PKGBUILD delete mode 100644 extra/lirc/PKGBUILD delete mode 100644 extra/lirc/irexec.conf delete mode 100644 extra/lirc/irexec.service delete mode 100755 extra/lirc/irexecd delete mode 100644 extra/lirc/kernel-2.6.39.patch delete mode 100644 extra/lirc/lirc-utils.install delete mode 100644 extra/lirc/lirc.install delete mode 100644 extra/lirc/lirc.logrotate delete mode 100644 extra/lirc/lirc.service delete mode 100644 extra/lirc/lirc.tmpfiles delete mode 100644 extra/lirc/lirc_atiusb-kfifo.patch delete mode 100644 extra/lirc/lirc_wpc8769l.patch delete mode 100755 extra/lirc/lircd delete mode 100644 extra/lirc/lircd-handle-large-config.patch delete mode 100644 extra/lirc/lircd.conf delete mode 100644 extra/lirc/lircm.service delete mode 100755 extra/lirc/lircmd delete mode 100644 extra/llvm/clang-3.1-fix-lwg-2141.patch delete mode 100644 extra/llvm/clang-pure64.patch delete mode 100644 extra/lsdvd/PKGBUILD delete mode 100644 extra/lsdvd/stdint_usage.patch delete mode 100644 extra/ltrace/fix-crash-on-int3-after-symcall.patch delete mode 100644 extra/lua/lua-5.1-cflags.diff delete mode 100644 extra/lua/lua-arch.patch delete mode 100644 extra/mahjong/PKGBUILD delete mode 100644 extra/mcrypt/PKGBUILD delete mode 100644 extra/memcached/ChangeLog delete mode 100644 extra/mesa-demos/LICENSE delete mode 100644 extra/mesa-demos/PKGBUILD delete mode 100644 extra/mesa/git_fixes.diff delete mode 100644 extra/mesa/mesa-8.0.3-llvm-3.1-fixes.patch delete mode 100644 extra/misdnuser/PKGBUILD delete mode 100644 extra/misdnuser/c2faxrecv-mISDNcapid.service delete mode 100644 extra/misdnuser/mISDNcapid.conf delete mode 100644 extra/misdnuser/mISDNcapid.service delete mode 100755 extra/misdnuser/misdncapid.rc delete mode 100644 extra/mkvtoolnix/mm_io.patch delete mode 100644 extra/mod_fastcgi/PKGBUILD delete mode 100644 extra/mod_fastcgi/lp381384.patch delete mode 100644 extra/mod_mono/mod_mono.install delete mode 100644 extra/mod_wsgi/PKGBUILD delete mode 100644 extra/mod_wsgi/mod_wsgi.install delete mode 100644 extra/monica/PKGBUILD delete mode 100644 extra/monica/monica.desktop delete mode 100644 extra/monica/monica.svg delete mode 100644 extra/mono/mono.rc.d delete mode 100644 extra/monodevelop/monodevelop_gnome3.patch delete mode 100644 extra/mpck/PKGBUILD delete mode 100644 extra/mplayer/PKGBUILD delete mode 100644 extra/mplayer/mplayer.desktop delete mode 100644 extra/mplayer/mplayer.install delete mode 100644 extra/mplayer/mplayer.png delete mode 100644 extra/mrtg/PKGBUILD delete mode 100644 extra/mt-st/PKGBUILD delete mode 100644 extra/mtx/PKGBUILD delete mode 100644 extra/multitail/PKGBUILD delete mode 100644 extra/mutt/1a4c43138685.patch delete mode 100755 extra/mysql/mysqld delete mode 100755 extra/mysql/mysqld.rc create mode 100644 extra/nepomuk-core/fix-recursive-indexing.patch delete mode 100644 extra/nepomuk-core/regression-crash.patch delete mode 100644 extra/networkmanager/dont-fight-over-ipv6.patch delete mode 100644 extra/networkmanager/initialize-GError.patch delete mode 100644 extra/networkmanager/systemd-fallback.patch delete mode 100644 extra/nicotine/PKGBUILD delete mode 100644 extra/nmap/kdesu.patch delete mode 100644 extra/normalize/PKGBUILD delete mode 100644 extra/normalize/normalize-0.7.7-audiofile-pkgconfig.patch delete mode 100644 extra/normalize/normalize-0.7.7-m4.patch delete mode 100644 extra/nouveau-dri/LICENSE delete mode 100644 extra/nouveau-dri/PKGBUILD delete mode 100644 extra/nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch delete mode 100644 extra/nss-myhostname/PKGBUILD delete mode 100644 extra/nss-myhostname/nss-myhostname.install delete mode 100644 extra/nss/nss-no-rpath.patch delete mode 100644 extra/ntp/logrotate.d delete mode 100644 extra/nvidia-304xx-lts/PKGBUILD delete mode 100644 extra/nvidia-304xx-lts/nvidia-304xx-lts.install delete mode 100644 extra/nvidia-304xx-utils/PKGBUILD delete mode 100644 extra/nvidia-304xx/PKGBUILD delete mode 100644 extra/nvidia-304xx/nvidia.install delete mode 100644 extra/nvidia-lts/PKGBUILD delete mode 100644 extra/nvidia-lts/nvidia-lts.install delete mode 100644 extra/nvidia-utils/PKGBUILD delete mode 100644 extra/nvidia/PKGBUILD delete mode 100644 extra/nvidia/nvidia.install delete mode 100644 extra/nx/nx-x11.ld.so.conf.d delete mode 100644 extra/nxclient/PKGBUILD delete mode 100644 extra/nxclient/nomachine.key delete mode 100644 extra/nxclient/nxclient.install delete mode 100644 extra/nxclient/nxclient.wrapper delete mode 100644 extra/ocaml/fix-ocaml-binutils-2.21.patch delete mode 100644 extra/octave/buildfix.diff delete mode 100644 extra/octave/curlfix.patch delete mode 100644 extra/octave/imread.patch delete mode 100644 extra/octave/octave-3.4.0-gcc46.patch delete mode 100644 extra/openmpi/openmpi-hostfile.patch delete mode 100644 extra/oprofile/PKGBUILD delete mode 100644 extra/oprofile/oprofile.install delete mode 100644 extra/ortp/libzrtpcpp2.patch delete mode 100644 extra/oxine/PKGBUILD delete mode 100644 extra/p7zip/7zFM.desktop delete mode 100644 extra/p7zip/PKGBUILD delete mode 100644 extra/p7zip/install delete mode 100644 extra/pdksh/PKGBUILD delete mode 100644 extra/pdksh/pdksh-5.2.14.patch delete mode 100644 extra/pdksh/pdksh.install delete mode 100644 extra/pdksh/usr_ksh.sh delete mode 100644 extra/pdns-recursor/PKGBUILD delete mode 100644 extra/pdns-recursor/pdns-recursor.rc delete mode 100755 extra/pdns/2.9.18-default-mysql-options.patch delete mode 100644 extra/pdns/PKGBUILD delete mode 100644 extra/pdns/pdns-2.9.22-gcc44.patch delete mode 100644 extra/pdns/pdns.conf delete mode 100644 extra/pdns/pdns.install delete mode 100644 extra/pdns/pdns.rc delete mode 100644 extra/pekwm/PKGBUILD delete mode 100644 extra/pekwm/pekwm.desktop delete mode 100644 extra/perl-event/PKGBUILD delete mode 100644 extra/perl-time-hires/PKGBUILD delete mode 100644 extra/perl-unicode-string/PKGBUILD delete mode 100644 extra/php-apc/svn.patch delete mode 100644 extra/php/rc.d.php-fpm delete mode 100644 extra/pidgin-encryption/PKGBUILD delete mode 100644 extra/pidgin-encryption/fix_header_escaping.patch delete mode 100644 extra/pidgin-encryption/log_crash.patch delete mode 100644 extra/pilot-link/PKGBUILD delete mode 100644 extra/pilot-link/pilot-link-png14.patch delete mode 100644 extra/pixman/test_failures_on_x86-32.diff delete mode 100644 extra/pmount/PKGBUILD delete mode 100755 extra/polkit/autogen.sh delete mode 100644 extra/polkit/fix-empty-wheel.patch delete mode 100644 extra/polkit/systemd-fallback.patch delete mode 100644 extra/postgresql/postgresql.confd delete mode 100755 extra/postgresql/postgresql.rcd delete mode 100644 extra/proftpd/PKGBUILD delete mode 100755 extra/proftpd/proftpd delete mode 100644 extra/proftpd/proftpd.conf.d delete mode 100644 extra/proftpd/proftpd.install delete mode 100644 extra/proftpd/proftpd.logrotate delete mode 100644 extra/proftpd/proftpd.service delete mode 100644 extra/proftpd/proftpd.tmpfiles delete mode 100644 extra/psi/affiliationlistconfigmuc.patch delete mode 100644 extra/psi/configureroomcrash.patch delete mode 100644 extra/psi/gcc-47.patch delete mode 100644 extra/psi/input-validation.patch delete mode 100644 extra/psutils/PKGBUILD delete mode 100644 extra/psutils/psutils-1.17.diff delete mode 100644 extra/pulseaudio/0001-Remove-usage-of-deprecated-udev_get_-_path.patch delete mode 100644 extra/pymad/PKGBUILD delete mode 100644 extra/pypgsql/COPYING delete mode 100644 extra/pypgsql/PKGBUILD delete mode 100644 extra/pyqt/fix-pyuic4.patch delete mode 100644 extra/pyqt/fix-qthelp-build.patch delete mode 100644 extra/python-cairo/pycairo-1.8.10-pypath.patch delete mode 100644 extra/python-imaging/PKGBUILD delete mode 100644 extra/python-pycurl/PKGBUILD delete mode 100644 extra/python-pysqlite/ChangeLog delete mode 100644 extra/qemu/qemu-glibc-2.16-build.patch delete mode 100644 extra/qiv/PKGBUILD delete mode 100644 extra/qt/disable-ssl-compression.patch delete mode 100644 extra/qt/fix-assistant-crash.patch delete mode 100644 extra/qt/fix-qtscript-crash.patch delete mode 100644 extra/qt/qsortfilterproxymodel.patch delete mode 100644 extra/qt/undo-fix-jit-crash-on-x86_64.patch delete mode 100644 extra/qtwebkit/enable-accelerated-compositing.patch delete mode 100644 extra/qtwebkit/fix-build.patch delete mode 100644 extra/qtwebkit/glibc.patch delete mode 100644 extra/quodlibet/PKGBUILD delete mode 100644 extra/quota-tools/LICENSE delete mode 100644 extra/quota-tools/nulls.diff delete mode 100644 extra/quota-tools/quotaon.diff delete mode 100644 extra/quota-tools/repquota.diff delete mode 100644 extra/quota-tools/system_inodes.diff delete mode 100644 extra/racket/drracket-normal.rkt delete mode 100644 extra/raptor1/PKGBUILD delete mode 100644 extra/raptor1/curl.patch delete mode 100644 extra/ratpoison/PKGBUILD delete mode 100644 extra/ratpoison/ratpoison.desktop delete mode 100644 extra/ratpoison/ratpoison.install delete mode 100644 extra/rox/PKGBUILD delete mode 100644 extra/rox/rox.desktop delete mode 100644 extra/rox/rox.sh delete mode 100644 extra/rox/rox.svg delete mode 100644 extra/rssh/PKGBUILD delete mode 100644 extra/rssh/destdir.patch delete mode 100644 extra/rssh/env-breach.patch delete mode 100644 extra/rssh/rsync.patch delete mode 100644 extra/samba/smbd.conf delete mode 100644 extra/scim-hangul/gcc43.patch delete mode 100644 extra/scim-pinyin/gcc43.patch delete mode 100644 extra/scim-uim/scim-uim-0.2.0-fix-gcc43-build.patch delete mode 100644 extra/scrot/PKGBUILD delete mode 100644 extra/scummvm/PKGBUILD delete mode 100644 extra/sdl/PKGBUILD delete mode 100644 extra/sdl/fix_joystick_misc_axes.diff delete mode 100644 extra/sdl/libsdl-1.2.15-resizing.patch delete mode 100644 extra/sdl/sdl-1.2.14-disable-mmx.patch delete mode 100644 extra/sdl/sdl-1.2.14-fix-mouse-clicking.patch delete mode 100644 extra/skanlite/PKGBUILD delete mode 100644 extra/slim/fix-array-overflow.patch delete mode 100644 extra/slim/fix-glibc-segfault-1.3.4.patch delete mode 100644 extra/slim/fix-numlock-1.3.3.patch delete mode 100644 extra/slim/install delete mode 100644 extra/slim/libpng-1.4+-support.patch delete mode 100644 extra/slim/logrotate delete mode 100644 extra/slim/pam.d delete mode 100644 extra/slim/ptr_pam.patch delete mode 100755 extra/slim/rc.d delete mode 100644 extra/slim/session-name.patch delete mode 100644 extra/slim/slim.service delete mode 100644 extra/slim/tty-slowness.patch delete mode 100644 extra/slv2/PKGBUILD delete mode 100644 extra/slv2/slv2.changelog delete mode 100644 extra/slv2/slv2.install delete mode 100755 extra/smartmontools/smartd.rc delete mode 100644 extra/sonata/ChangeLog delete mode 100644 extra/soundtouch/soundtouch-1.4.0-mmx-sse-compile-fix.patch delete mode 100644 extra/soundtouch/soundtouch-1.4.0-x86_64-asm-broken.patch delete mode 100644 extra/speedtouch/PKGBUILD delete mode 100644 extra/speedtouch/speedtouch-1.3.1-gcc4.patch delete mode 100644 extra/squid/PKGBUILD delete mode 100644 extra/squid/squid delete mode 100644 extra/squid/squid.conf.d delete mode 100644 extra/squid/squid.cron delete mode 100644 extra/squid/squid.install delete mode 100644 extra/squid/squid.pam delete mode 100644 extra/squid/squid.service delete mode 100644 extra/stardict/NetDictRequests.patch delete mode 100644 extra/stardict/PKGBUILD delete mode 100644 extra/stardict/crash-empty-dict.patch delete mode 100644 extra/stardict/gcc46.patch delete mode 100644 extra/stardict/glib2.patch delete mode 100644 extra/stardict/zlib.patch delete mode 100644 extra/strigi/gcc47.patch delete mode 100644 extra/subversion/subversion-1.7.5-kwallet-gcc47.patch delete mode 100644 extra/subversion/subversion-1.7.6-kwallet-gcc47.patch delete mode 100644 extra/swig/pyint_fromsize_t.diff delete mode 100644 extra/swig/upstream_r13128.diff delete mode 100644 extra/sysklogd/LICENSE delete mode 100644 extra/sysklogd/PKGBUILD delete mode 100755 extra/sysklogd/klogd delete mode 100644 extra/sysklogd/sysklogd-1.4.1-caen-owl-klogd-drop-root.diff delete mode 100644 extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-bind.diff delete mode 100644 extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff delete mode 100644 extra/sysklogd/sysklogd-1.5-syslog-func-collision.patch delete mode 100644 extra/sysklogd/syslog.conf delete mode 100644 extra/sysklogd/syslog.logrotate delete mode 100755 extra/sysklogd/syslogd delete mode 100644 extra/taglib/ape-idev2.patch delete mode 100644 extra/telepathy-kde-call-ui/PKGBUILD delete mode 100644 extra/telepathy-qt/gcc47.patch delete mode 100644 extra/terminal/PKGBUILD delete mode 100644 extra/terminal/terminal.install delete mode 100644 extra/texlive-bin/09-texlive-fonts.conf delete mode 100644 extra/texlive-bin/PKGBUILD delete mode 100644 extra/texlive-bin/fix-fontforge-encoding.patch delete mode 100644 extra/texlive-bin/luatex-r4449-radical-rule-thickness.patch delete mode 100644 extra/texlive-bin/poppler-0.20.patch delete mode 100644 extra/texlive-bin/texlive.install delete mode 100644 extra/texlive-bin/texmf.cnf delete mode 100644 extra/thunar/thunar-1.4.0-dont-add-duplicates-of-devices.patch delete mode 100644 extra/thunar/thunar-1.4.0-show-loop-devices-hack.patch delete mode 100644 extra/thunar/thunar-1.6.0-show-nodisplay-true-applications.patch delete mode 100644 extra/thunderbird/PKGBUILD delete mode 100644 extra/thunderbird/mozconfig delete mode 100644 extra/thunderbird/thunderbird-install-dir.patch delete mode 100644 extra/thunderbird/thunderbird.desktop delete mode 100644 extra/thunderbird/thunderbird.install delete mode 100644 extra/thunderbird/vendor.js delete mode 100644 extra/timidity++/2.13.2-gcc4.patch delete mode 100644 extra/timidity++/TiMidity++-2.13.2+flac-1.1.3.patch delete mode 100644 extra/timidity++/timidity++-2.13.2-exiterror.patch delete mode 100644 extra/timidity++/timidity++-2.13.2-gtk26.patch delete mode 100644 extra/timidity++/timidity++-2.13.2-polling.patch delete mode 100644 extra/tomcat/PKGBUILD delete mode 100755 extra/tomcat/tomcat delete mode 100644 extra/tomcat/tomcat.conf.d delete mode 100644 extra/tomcat/tomcat.install delete mode 100644 extra/transcode/ffmpeg-0.10.patch delete mode 100644 extra/umfpack/PKGBUILD delete mode 100644 extra/unrar/PKGBUILD delete mode 100644 extra/unrar/unrar-4.2.1-soname.patch delete mode 100644 extra/unzip/PKGBUILD delete mode 100644 extra/upower/0001-Send-resume-signal-when-built-with-systemd-and-using.patch delete mode 100644 extra/usbmuxd/usbmuxd-udevuser.patch delete mode 100644 extra/usbview/PKGBUILD delete mode 100644 extra/usbview/usbview-1.1-gtk3-port.patch delete mode 100644 extra/usbview/usbview-1.1-missing-usbfs.patch delete mode 100644 extra/usbview/usbview.install delete mode 100644 extra/valgrind/valgrind-3.7.0-glibc-2.15.patch delete mode 100644 extra/valgrind/valgrind-3.7.0-glibc-2.16.patch delete mode 100644 extra/valgrind/valgrind-3.7.0-supp.patch delete mode 100644 extra/vamp-plugin-sdk/gcc44.patch delete mode 100644 extra/vdpau-video/PKGBUILD delete mode 100644 extra/vice/vice-2.3-no-fc-cache.patch delete mode 100644 extra/vice/vice-2.3-notexi-notxt.patch delete mode 100644 extra/vice/vice-2.3-x11video.patch delete mode 100644 extra/vice/vice-2.3-zlib-1.2.7.patch delete mode 100644 extra/w3m/https-segfault.patch delete mode 100644 extra/wireshark/enable_version.patch delete mode 100644 extra/wv2/PKGBUILD delete mode 100644 extra/x2x/LICENSE delete mode 100644 extra/x2x/PKGBUILD delete mode 100644 extra/xchat/PKGBUILD delete mode 100644 extra/xchat/xchat-2.8.8-glib-2.31.patch delete mode 100644 extra/xchat/xchat-2.8.8-libnotify07.patch delete mode 100644 extra/xchat/xchat-2.8.8-link-against-libnotify.patch delete mode 100644 extra/xchat/xchat.install delete mode 100644 extra/xdelta/PKGBUILD delete mode 100644 extra/xdelta/xdelta-1.1.4-aclocal.patch delete mode 100644 extra/xdelta3/PKGBUILD delete mode 100644 extra/xdelta3/xdelta3-makefile.patch delete mode 100644 extra/xdg-user-dirs-gtk/lxde.patch delete mode 100644 extra/xf86-input-evdev/Fix_inverted_horizontal_scroll.diff delete mode 100644 extra/xf86-input-joystick/git-fixes.patch delete mode 100644 extra/xf86-input-synaptics/10-synaptics.conf delete mode 100644 extra/xf86-video-apm/apm-1.2.3-git.patch delete mode 100644 extra/xf86-video-ark/git-fixes.patch delete mode 100644 extra/xf86-video-ati/0000-poor-man-s-solid-picture-support-for-r300-r600.patch delete mode 100644 extra/xf86-video-ati/0001-poor-man-s-solid-picture-support-for-evergreen.patch delete mode 100644 extra/xf86-video-ati/0002-poor-man-s-solid-picture-support-for-r100.patch delete mode 100644 extra/xf86-video-ati/0003-poor-man-s-solid-picture-support-for-r200.patch delete mode 100644 extra/xf86-video-ati/git_fixes.diff delete mode 100644 extra/xf86-video-chips/chips-1.2.4-git.patch delete mode 100644 extra/xf86-video-intel/fix_gen4.diff delete mode 100644 extra/xf86-video-intel/gmux_backlight.diff delete mode 100644 extra/xf86-video-intel/sna_backlight_fixes.diff delete mode 100644 extra/xf86-video-mach64/git_fixes.diff delete mode 100644 extra/xf86-video-nv/git_fixes.patch delete mode 100644 extra/xf86-video-rendition/rendition-4.2.4-git.patch delete mode 100644 extra/xf86-video-s3/LICENSE delete mode 100644 extra/xf86-video-s3/git-fixes.patch delete mode 100644 extra/xf86-video-s3virge/git-fixes.patch delete mode 100644 extra/xf86-video-sisusb/sisusb-0.9.4-git.patch delete mode 100644 extra/xf86-video-tseng/tseng-1.2.4-git.patch delete mode 100644 extra/xf86-video-unichrome/LICENSE delete mode 100644 extra/xf86-video-unichrome/PKGBUILD delete mode 100644 extra/xf86-video-vmware/git_fixes.diff delete mode 100644 extra/xfce4-smartbookmark-plugin/fix-config-write.patch delete mode 100644 extra/xfce4-smartbookmark-plugin/use-exo-open-instead-of-xfbrowser4.patch delete mode 100644 extra/xfdesktop/avoid-duplicating-volume-icons.patch delete mode 100644 extra/xfdesktop/implement-paste-on-desktop.patch delete mode 100644 extra/xine-ui/fix_lirc.diff delete mode 100644 extra/xine-ui/lirc-check-a89347673097.patch delete mode 100644 extra/xine-ui/lirc-makefile-a68dd15ff7ae.patch delete mode 100644 extra/xine-ui/xine-ui-0.99.6-libpng15.patch delete mode 100644 extra/xine-ui/xine-ui-xdg.diff delete mode 100644 extra/xorg-server/0001-dix-fix-zaphod-screen-scrossing-54654.patch delete mode 100644 extra/xorg-server/EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff delete mode 100644 extra/xorg-xdm/LICENSE delete mode 100644 extra/xorg-xdm/xdm-consolekit.patch delete mode 100644 extra/xorg-xfs/PKGBUILD delete mode 100644 extra/xorg-xfs/xfs.rc delete mode 100644 extra/xorg-xlsfonts/PKGBUILD delete mode 100644 extra/xscreensaver/LICENSE delete mode 100644 extra/xscreensaver/PKGBUILD delete mode 100644 extra/xscreensaver/add-electricsheep.diff delete mode 100644 extra/xscreensaver/xscreensaver.pam delete mode 100644 extra/xsnow/LICENSE delete mode 100644 extra/xsnow/PKGBUILD delete mode 100644 extra/xulrunner/PKGBUILD delete mode 100644 extra/xulrunner/mozconfig delete mode 100644 extra/xulrunner/mozilla-pkgconfig.patch delete mode 100644 extra/xulrunner/shared-libs.patch delete mode 100644 extra/zile/PKGBUILD (limited to 'extra') diff --git a/extra/abiword/PKGBUILD b/extra/abiword/PKGBUILD deleted file mode 100644 index c712247d6..000000000 --- a/extra/abiword/PKGBUILD +++ /dev/null @@ -1,85 +0,0 @@ -# $Id: PKGBUILD 173825 2012-12-24 15:09:23Z jgc $ -# Maintainer: Giovanni Scafora -# Contributor: MaĂ«l Lavault - -pkgbase=abiword -pkgname=('abiword' 'abiword-plugins') -pkgver=2.8.6 -pkgrel=8 -arch=('i686' 'x86_64') -license=('GPL') -url="http://www.abisource.com" -makedepends=('pkgconfig' 'asio' 'boost' 'fribidi' 'goffice0.8' 'libwmf' 'wv' 'link-grammar' 'gtkmathview' - 'aiksaurus' 'libxslt' 'enchant' 'libots' 'libwpg' 'librsvg' 'loudmouth' 'libsoup' 'psiconv') -options=('!makeflags' '!libtool') -source=(http://www.abisource.com/downloads/${pkgbase}/${pkgver}/source/${pkgbase}-${pkgver}.tar.gz - compat_libwpg_0_9.patch - abiword-2.8.6-no-undefined.patch - abiword-2.8.6-libpng15.patch - abiword-2.8.6-glib-2.31.patch) -md5sums=('f883b0a7f26229a9c66fd6a1a94381aa' - '09446a2ebba8288fc611e88f7cf17298' - '42e2614b6e0aad457d91f6ce20b6f225' - '40e370e7e88c5437140ef18037abfbd3' - '6ec338a27a6fb590c348724ddb545849') - -build() { - cd "${srcdir}/${pkgbase}-${pkgver}" - - patch -Np1 -i "${srcdir}/compat_libwpg_0_9.patch" - # fix a gcc 4.6.x build issue, patch from Fedora - patch -Np1 -i "${srcdir}/abiword-2.8.6-no-undefined.patch" - patch -Np0 -i "${srcdir}/abiword-2.8.6-libpng15.patch" - - # Fix build with recent glib, patch from Gentoo - patch -Np0 -i "${srcdir}/abiword-2.8.6-glib-2.31.patch" - - libtoolize --force - autoreconf - - ./configure --prefix=/usr \ - --enable-clipart \ - --enable-templates \ - --enable-collab-backend-xmpp \ - --enable-collab-backend-tcp \ - --enable-collab-backend-service \ - --disable-collab-backend-sugar \ - --enable-plugins --without-gnomevfs \ - --with-gio \ - --with-goffice \ - --disable-static \ - --with-psiconv-config=/nothere - make -} - -package_abiword() { - pkgdesc="A fully-featured word processor" - depends=('fribidi' 'wv' 'goffice0.8' 'librsvg' 'enchant' 'desktop-file-utils') - install=$pkgname.install - optdepends=('abiword-plugins') - conflicts=("abiword-plugins<${pkgver}-${pkgrel}") - - cd "${srcdir}/${pkgbase}-${pkgver}" - sed -i plugins/Makefile \ - -e 's/ collab / /' \ - -e 's/ wpg / /' \ - -e 's/ wmf / /' \ - -e 's/ grammar / /' \ - -e 's/ mathview / /' \ - -e 's/ aiksaurus / /' \ - -e 's/ latex / /' \ - -e 's/ ots / /' \ - -e 's/ wordperfect / /' - make DESTDIR="${pkgdir}" install -} - -package_abiword-plugins() { - pkgdesc="Additional plugins for Abiword" - depends=("abiword=${pkgver}-${pkgrel}" 'loudmouth' 'libwpg' 'libwmf' 'link-grammar' - 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf') - - cd "${srcdir}/${pkgbase}-${pkgver}/plugins" - for dir in collab wpg wmf grammar mathview aiksaurus latex ots wordperfect; do - make -C ${dir} DESTDIR="${pkgdir}" install - done -} diff --git a/extra/abiword/abiword-2.8.6-glib-2.31.patch b/extra/abiword/abiword-2.8.6-glib-2.31.patch deleted file mode 100644 index 8b938cc25..000000000 --- a/extra/abiword/abiword-2.8.6-glib-2.31.patch +++ /dev/null @@ -1,40 +0,0 @@ ------------------------------------------------------------------------- -r30479 | hub | 2011-11-29 00:39:09 -0500 (Tue, 29 Nov 2011) | 2 lines -Changed paths: - M /abiword/trunk/src/af/util/xp/ut_go_file.h - -Bug 13197: only import glib.h -Patch by Dominique Leuenberger. ------------------------------------------------------------------------- -r30602 | hub | 2012-01-30 02:00:38 -0500 (Mon, 30 Jan 2012) | 2 lines -Changed paths: - M /abiword/trunk/goffice-bits/goffice/app/goffice-app.h - -Bug 13247 - Fix glib headers. Patch by Funda Wang -(safe to backport) ------------------------------------------------------------------------- -Index: src/af/util/xp/ut_go_file.h -=================================================================== ---- src/af/util/xp/ut_go_file.h (revision 30478) -+++ src/af/util/xp/ut_go_file.h (revision 30479) -@@ -31,7 +31,6 @@ - - #include - #include --#include - #include - - G_BEGIN_DECLS -Index: goffice-bits/goffice/app/goffice-app.h -=================================================================== ---- goffice-bits/goffice/app/goffice-app.h (revision 30601) -+++ goffice-bits/goffice/app/goffice-app.h (revision 30602) -@@ -22,7 +22,7 @@ - #ifndef GOFFICE_APP_H - #define GOFFICE_APP_H - --#include -+#include - - G_BEGIN_DECLS - diff --git a/extra/abiword/abiword-2.8.6-libpng15.patch b/extra/abiword/abiword-2.8.6-libpng15.patch deleted file mode 100644 index 7eded4c83..000000000 --- a/extra/abiword/abiword-2.8.6-libpng15.patch +++ /dev/null @@ -1,100 +0,0 @@ -$NetBSD: patch-plugins_bmp_xp_ie__impGraphic__BMP.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $ - -Fix build with png-1.5. - ---- plugins/bmp/xp/ie_impGraphic_BMP.cpp.orig 2009-06-25 04:02:06.000000000 +0000 -+++ plugins/bmp/xp/ie_impGraphic_BMP.cpp -@@ -191,7 +191,10 @@ UT_Error IE_ImpGraphic_BMP::_convertGrap - - /* Clean Up Memory Used */ - -- FREEP(m_pPNGInfo->palette); -+ png_colorp palette; -+ int num_palette; -+ png_get_PLTE( m_pPNG, m_pPNGInfo, &palette, &num_palette ); -+ FREEP(palette); - DELETEP(pBB); - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); - -@@ -313,7 +316,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P - * the normal method of doing things with libpng). REQUIRED unless you - * set up your own error handlers in the png_create_read_struct() earlier. - */ -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - /* Free all of the memory associated with the png_ptr and info_ptr */ - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); -@@ -332,7 +335,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P - UT_Error IE_ImpGraphic_BMP::Convert_BMP_Pallet(UT_ByteBuf* pBB) - { - /* Reset error handling for libpng */ -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); - return UT_ERROR; -@@ -372,7 +375,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P - UT_Error IE_ImpGraphic_BMP::Convert_BMP(UT_ByteBuf* pBB) - { - /* Reset error handling for libpng */ -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); - return UT_ERROR; - -$NetBSD: patch-plugins_garble_xp_abiword-garble-png.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $ - -Fix build with png-1.5. - ---- plugins/garble/xp/abiword-garble-png.cpp.orig 2009-09-05 15:34:44.000000000 +0000 -+++ plugins/garble/xp/abiword-garble-png.cpp -@@ -79,7 +79,7 @@ bool abiword_document::garble_png( void* - png_set_strip_alpha( png_ptr ); - png_set_interlace_handling( png_ptr ); - png_set_bgr( png_ptr ); -- rowbytes = info_ptr->rowbytes; -+ rowbytes = png_get_rowbytes( png_ptr, info_ptr ); - png_destroy_read_struct( &png_ptr, &info_ptr, NULL ); - } - -$NetBSD: patch-af,v 1.12 2011/01/15 15:07:11 wiz Exp $ - -Fix build with png-1.5. - ---- src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp.orig 2009-07-01 04:02:04.000000000 +0000 -+++ src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp -@@ -185,7 +185,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::import - /** needed for the stejmp context */ - UT_Error IE_ImpGraphic_GdkPixbuf::_png_write(GdkPixbuf * pixbuf) - { -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - DELETEP(m_pPngBB); - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); -@@ -446,7 +446,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::Initia - * the normal method of doing things with libpng). REQUIRED unless you - * set up your own error handlers in the png_create_read_struct() earlier. - */ -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - /* Free all of the memory associated with the png_ptr and info_ptr */ - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); -$NetBSD: patch-ae,v 1.21 2011/01/15 15:07:11 wiz Exp $ - -Fix build with png-1.5. - ---- src/af/util/xp/ut_png.cpp.orig 2008-02-24 03:33:07.000000000 +0000 -+++ src/af/util/xp/ut_png.cpp -@@ -71,7 +71,7 @@ bool UT_PNG_getDimensions(const UT_ByteB - * the normal method of doing things with libpng). REQUIRED unless you - * set up your own error handlers in the png_create_read_struct() earlier. - */ -- if (setjmp(png_ptr->jmpbuf)) -+ 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, static_cast(NULL)); diff --git a/extra/abiword/abiword-2.8.6-no-undefined.patch b/extra/abiword/abiword-2.8.6-no-undefined.patch deleted file mode 100644 index c07000edb..000000000 --- a/extra/abiword/abiword-2.8.6-no-undefined.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u -r abiword-2.8.6.orig/src/Makefile.am abiword-2.8.6/src/Makefile.am ---- abiword-2.8.6.orig/src/Makefile.am 2009-09-09 15:11:01.000000000 +0200 -+++ abiword-2.8.6/src/Makefile.am 2011-08-02 23:35:51.904761961 +0200 -@@ -107,7 +107,7 @@ - - AbiWord_LDFLAGS = \ - $(DEPS_LIBS) \ -- --no-undefined \ -+ -Wl,--no-undefined \ - -avoid-version \ - -export-dynamic \ - -headerpad_max_install_names -@@ -129,7 +129,7 @@ - - abiword_LDFLAGS = \ - $(platform_ldflags) \ -- --no-undefined \ -+ -Wl,--no-undefined \ - -avoid-version \ - -export-dynamic - diff --git a/extra/abiword/abiword.install b/extra/abiword/abiword.install deleted file mode 100644 index 2eaa60550..000000000 --- a/extra/abiword/abiword.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - update-desktop-database -q -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/extra/abiword/compat_libwpg_0_9.patch b/extra/abiword/compat_libwpg_0_9.patch deleted file mode 100644 index cf36e188e..000000000 --- a/extra/abiword/compat_libwpg_0_9.patch +++ /dev/null @@ -1,371 +0,0 @@ -diff -Nur abiword-2.8.6.orig//plugin-configure.m4 abiword-2.8.6/plugin-configure.m4 ---- abiword-2.8.6.orig//plugin-configure.m4 2010-06-13 14:17:27.000000000 -0700 -+++ abiword-2.8.6/plugin-configure.m4 2010-12-06 13:59:43.083048588 -0800 -@@ -794,7 +794,7 @@ - AC_SUBST([OPENXML_LIBS]) - - --wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0" -+wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" - wpg_deps="no" - - if test "$enable_wpg" != ""; then -@@ -1497,8 +1497,8 @@ - AC_SUBST([EML_LIBS]) - - --wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req" --wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0' -+wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" -+wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' - wordperfect_deps="no" - - WORDPERFECT_CFLAGS= -diff -Nur abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 abiword-2.8.6/plugins/wordperfect/plugin.m4 ---- abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 2010-05-30 07:50:46.000000000 -0700 -+++ abiword-2.8.6/plugins/wordperfect/plugin.m4 2010-12-06 13:59:53.929715254 -0800 -@@ -1,6 +1,6 @@ - --wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req" --wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0' -+wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" -+wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' - wordperfect_deps="no" - - WORDPERFECT_CFLAGS= -diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp ---- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-02-06 13:06:11.000000000 -0800 -+++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-12-06 13:59:53.926381921 -0800 -@@ -60,7 +60,7 @@ - - // Stream class - --#include -+#include - - #include - #include -@@ -70,12 +70,7 @@ - #include - #endif - --class AbiWordperfectInputStream : --#ifdef HAVE_LIBWPS -- public WPSInputStream --#else -- public WPXInputStream --#endif -+class AbiWordperfectInputStream : public WPXInputStream - { - public: - AbiWordperfectInputStream(GsfInput *input); -@@ -86,7 +81,7 @@ - - virtual WPXInputStream * getDocumentOLEStream(const char * name); - -- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); -+ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); - virtual int seek(long offset, WPX_SEEK_TYPE seekType); - virtual long tell(); - virtual bool atEOS(); -@@ -98,11 +93,7 @@ - }; - - AbiWordperfectInputStream::AbiWordperfectInputStream(GsfInput *input) : --#ifdef HAVE_LIBWPS -- WPSInputStream(), --#else -- WPXInputStream(true), --#endif -+ WPXInputStream(), - m_input(input), - m_ole(NULL) - { -@@ -117,9 +108,9 @@ - g_object_unref(G_OBJECT(m_input)); - } - --const uint8_t * AbiWordperfectInputStream::read(size_t numBytes, size_t &numBytesRead) -+const unsigned char * AbiWordperfectInputStream::read(unsigned long numBytes, unsigned long &numBytesRead) - { -- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL); -+ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL); - - if (buf == NULL) - numBytesRead = 0; -@@ -256,19 +247,12 @@ - { - AbiWordperfectInputStream gsfInput(input); - -- WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput, true); -+ WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput); - - switch (confidence) - { - case WPD_CONFIDENCE_NONE: -- // libwpd > 0.7.1 reports POOR if the text file is plain text (that _could_ be a WP4x document) -- // however, we'll let the text importer handle such cases -- case WPD_CONFIDENCE_POOR: - return UT_CONFIDENCE_ZILCH; -- case WPD_CONFIDENCE_LIKELY: -- return UT_CONFIDENCE_SOSO; -- case WPD_CONFIDENCE_GOOD: -- return UT_CONFIDENCE_GOOD; - case WPD_CONFIDENCE_EXCELLENT: - return UT_CONFIDENCE_PERFECT; - default: -@@ -328,7 +312,7 @@ - UT_Error IE_Imp_WordPerfect::_loadFile(GsfInput * input) - { - AbiWordperfectInputStream gsfInput(input); -- WPDResult error = WPDocument::parse(&gsfInput, static_cast(this)); -+ WPDResult error = WPDocument::parse(&gsfInput, static_cast(this), NULL); - - if (error != WPD_OK) - { -@@ -381,9 +365,9 @@ - float marginLeft = 1.0f, marginRight = 1.0f; - - if (propList["fo:margin-left"]) -- marginLeft = propList["fo:margin-left"]->getFloat(); -+ marginLeft = propList["fo:margin-left"]->getDouble(); - if (propList["fo:margin-right"]) -- marginRight = propList["fo:margin-right"]->getFloat(); -+ marginRight = propList["fo:margin-right"]->getDouble(); - - if (marginLeft != m_leftPageMargin || marginRight != m_rightPageMargin /* || */ - /* marginTop != m_marginBottom || marginBottom != m_marginBottom */ ) -@@ -456,15 +440,15 @@ - float marginTop = 0.0f, marginBottom = 0.0f; - float marginLeft = 0.0f, marginRight = 0.0f, textIndent = 0.0f; - if (propList["fo:margin-top"]) -- marginTop = propList["fo:margin-top"]->getFloat(); -+ marginTop = propList["fo:margin-top"]->getDouble(); - if (propList["fo:margin-bottom"]) -- marginBottom = propList["fo:margin-bottom"]->getFloat(); -+ marginBottom = propList["fo:margin-bottom"]->getDouble(); - if (propList["fo:margin-left"]) -- marginLeft = propList["fo:margin-left"]->getFloat(); -+ marginLeft = propList["fo:margin-left"]->getDouble(); - if (propList["fo:margin-right"]) -- marginRight = propList["fo:margin-right"]->getFloat(); -+ marginRight = propList["fo:margin-right"]->getDouble(); - if (propList["fo:text-indent"]) -- textIndent = propList["fo:text-indent"]->getFloat(); -+ textIndent = propList["fo:text-indent"]->getDouble(); - - m_topMargin = marginTop; - m_bottomMargin = marginBottom; -@@ -487,7 +471,7 @@ - - float lineSpacing = 1.0f; - if (propList["fo:line-height"]) -- lineSpacing = propList["fo:line-height"]->getFloat(); -+ lineSpacing = propList["fo:line-height"]->getDouble(); - - UT_String tmpBuffer; - UT_String_sprintf(tmpBuffer, "; margin-top:%.4fin; margin-bottom:%.4fin; margin-left:%.4fin; margin-right:%.4fin; text-indent:%.4fin; line-height:%.4f", -@@ -504,7 +488,7 @@ - propBuffer += tmpBuffer; - if (i()["style:position"]) - { -- UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getFloat()); -+ UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getDouble()); - propBuffer += tmpBuffer; - } - -@@ -640,9 +624,9 @@ - - // TODO: support spaceAfter - if (propList["fo:margin-left"]) -- marginLeft = propList["fo:margin-left"]->getFloat(); -+ marginLeft = propList["fo:margin-left"]->getDouble(); - if (propList["fo:margin-right"]) -- marginRight = propList["fo:margin-right"]->getFloat(); -+ marginRight = propList["fo:margin-right"]->getDouble(); - - if (marginLeft != m_leftSectionMargin || marginRight != m_rightSectionMargin || m_sectionColumnsCount != columnsCount) - m_bSectionChanged = true; -@@ -709,9 +693,9 @@ - if (propList["style:num-format"]) - listType = propList["style:num-format"]->getStr().cstr()[0]; - if (propList["text:space-before"]) -- listLeftOffset = propList["text:space-before"]->getFloat(); -+ listLeftOffset = propList["text:space-before"]->getDouble(); - if (propList["text:min-label-width"]) -- listMinLabelWidth = propList["text:min-label-width"]->getFloat(); -+ listMinLabelWidth = propList["text:min-label-width"]->getDouble(); - - if (!m_pCurrentListDefinition || - m_pCurrentListDefinition->getOutlineHash() != listID || -@@ -749,9 +733,9 @@ - if (propList["libwpd:level"]) - level = propList["libwpd:level"]->getInt(); - if (propList["text:space-before"]) -- listLeftOffset = propList["text:space-before"]->getFloat(); -+ listLeftOffset = propList["text:space-before"]->getDouble(); - if (propList["text:min-label-width"]) -- listMinLabelWidth = propList["text:min-label-width"]->getFloat(); -+ listMinLabelWidth = propList["text:min-label-width"]->getDouble(); - - if (!m_pCurrentListDefinition || m_pCurrentListDefinition->getOutlineHash() != listID) - { -@@ -871,10 +855,10 @@ - - UT_String_sprintf(tempBuffer, "margin-left:%.4fin; ", m_pCurrentListDefinition->getListLeftOffset(m_iCurrentListLevel) - + m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel) -- - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f)); -+ - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f)); - propBuffer += tempBuffer; - UT_String_sprintf(tempBuffer, "text-indent:%.4fin", - m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel) -- + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f)); -+ + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f)); - propBuffer += tempBuffer; - - listAttribs[attribsCount++] = PT_PROPS_ATTRIBUTE_NAME; -@@ -1263,7 +1247,7 @@ - virtual UT_Error _loadFile(GsfInput * input) - { - AbiWordperfectInputStream gsfInput(input); -- WPSResult error = WPSDocument::parse(&gsfInput, static_cast(this)); -+ WPSResult error = WPSDocument::parse(&gsfInput, static_cast(this)); - - if (error != WPS_OK) - { -@@ -1302,18 +1286,12 @@ - { - AbiWordperfectInputStream gsfInput(input); - -- WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput, true); -+ WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput); - - switch (confidence) - { - case WPS_CONFIDENCE_NONE: - return UT_CONFIDENCE_ZILCH; -- case WPS_CONFIDENCE_POOR: -- return UT_CONFIDENCE_POOR; -- case WPS_CONFIDENCE_LIKELY: -- return UT_CONFIDENCE_SOSO; -- case WPS_CONFIDENCE_GOOD: -- return UT_CONFIDENCE_GOOD; - case WPS_CONFIDENCE_EXCELLENT: - return UT_CONFIDENCE_PERFECT; - default: -diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h ---- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h 2009-06-19 01:55:49.000000000 -0700 -+++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h 2010-12-06 13:59:53.929715254 -0800 -@@ -30,13 +30,7 @@ - #define IE_IMP_WP_H - - #include --#ifdef _WIN32 --#define POINT WPX_POINT --#endif - #include --#ifdef _WIN32 --#undef POINT --#endif - #include "ie_imp.h" - #include "ut_string.h" - #include "ut_string_class.h" -@@ -98,7 +92,7 @@ - IE_Imp ** ppie); - }; - --class IE_Imp_WordPerfect : public IE_Imp, public WPXHLListenerImpl -+class IE_Imp_WordPerfect : public IE_Imp, public WPXDocumentInterface - { - public: - IE_Imp_WordPerfect(PD_Document * pDocument); -@@ -154,6 +148,21 @@ - virtual void insertCoveredTableCell(const WPXPropertyList & /*propList*/) {} - virtual void closeTable(); - -+ virtual void definePageStyle(const WPXPropertyList&) {} -+ virtual void defineParagraphStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} -+ virtual void defineCharacterStyle(const WPXPropertyList&) {} -+ virtual void defineSectionStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} -+ virtual void insertSpace() {} -+ virtual void insertField(const WPXString&, const WPXPropertyList&) {} -+ virtual void openComment(const WPXPropertyList&) {} -+ virtual void closeComment() {} -+ virtual void openTextBox(const WPXPropertyList&) {} -+ virtual void closeTextBox() {} -+ virtual void openFrame(const WPXPropertyList&) {} -+ virtual void closeFrame() {} -+ virtual void insertBinaryObject(const WPXPropertyList&, const WPXBinaryData&) {} -+ virtual void insertEquation(const WPXPropertyList&, const WPXString&) {} -+ - - protected: - virtual UT_Error _loadFile(GsfInput * input); -diff -Nur abiword-2.8.6.orig//plugins/wpg/plugin.m4 abiword-2.8.6/plugins/wpg/plugin.m4 ---- abiword-2.8.6.orig//plugins/wpg/plugin.m4 2010-05-30 07:50:46.000000000 -0700 -+++ abiword-2.8.6/plugins/wpg/plugin.m4 2010-12-06 13:59:53.929715254 -0800 -@@ -1,5 +1,5 @@ - --wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0" -+wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" - wpg_deps="no" - - if test "$enable_wpg" != ""; then -diff -Nur abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp ---- abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp 2008-08-15 14:52:32.000000000 -0700 -+++ abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp 2010-12-06 13:59:53.923048588 -0800 -@@ -31,11 +31,10 @@ - #include - #include - #include --#include -+#include - #include "xap_Module.h" - - using libwpg::WPGraphics; --using libwpg::WPGString; - - ABI_PLUGIN_DECLARE("WPG") - -@@ -48,7 +47,7 @@ - virtual bool isOLEStream(); - virtual WPXInputStream * getDocumentOLEStream(); - virtual WPXInputStream * getDocumentOLEStream(const char * name); -- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); -+ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); - virtual int seek(long offset, WPX_SEEK_TYPE seekType); - virtual long tell(); - virtual bool atEOS(); -@@ -60,7 +59,7 @@ - }; - - AbiWordPerfectGraphicsInputStream::AbiWordPerfectGraphicsInputStream(GsfInput *input) : -- WPXInputStream(true), -+ WPXInputStream(), - m_input(input), - m_ole(NULL) - { -@@ -75,9 +74,9 @@ - g_object_unref(G_OBJECT(m_input)); - } - --const uint8_t * AbiWordPerfectGraphicsInputStream::read(size_t numBytes, size_t &numBytesRead) -+const unsigned char * AbiWordPerfectGraphicsInputStream::read(unsigned long numBytes, unsigned long &numBytesRead) - { -- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL); -+ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL); - - if (buf == NULL) - numBytesRead = 0; -@@ -245,10 +244,10 @@ - UT_Error IE_Imp_WordPerfectGraphics::importGraphic(GsfInput *input, FG_Graphic **ppfg) - { - AbiWordPerfectGraphicsInputStream gsfInput(input); -- WPGString svgOutput; -+ WPXString svgOutput; - if (WPGraphics::generateSVG(&gsfInput, svgOutput)) - { -- GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.length(), false); -+ GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false); - UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg); - g_object_unref(svgInput); - return result; diff --git a/extra/abs/PKGBUILD b/extra/abs/PKGBUILD deleted file mode 100644 index 26ab5ebca..000000000 --- a/extra/abs/PKGBUILD +++ /dev/null @@ -1,39 +0,0 @@ -# $Id: PKGBUILD 166403 2012-09-07 16:50:29Z dreisner $ -# Maintainer: Allan McRae - -pkgname=abs -pkgver=2.4.4 -pkgrel=1 -pkgdesc="Utilities to download and work with the Arch Build System (ABS)" -arch=('i686' 'x86_64') -url="http://projects.archlinux.org/abs.git/" -license=('GPL') -depends=('bash' 'rsync') -backup=(etc/abs.conf) -source=(ftp://ftp.archlinux.org/other/abs/${pkgname}-${pkgver}.tar.gz{,.sig}) -md5sums=('7258c739a93e02a4f31f114e9fc3b0ba' - 'a628f7d5b1cd1e838366b88709690c24') - -build() { - cd "$pkgname-$pkgver" - - make -} - -package() { - cd "$pkgname-$pkgver" - - make DESTDIR="${pkgdir}" install - - # Add readme file, and make base /var/abs path - install -dm755 "${pkgdir}"/var/abs/local/ - install -Dm644 README "${pkgdir}"/var/abs/README - - # make adjustments to abs.conf - if [[ $CARCH = "i686" ]]; then - sed -i -e 's| multilib||' -e 's| !multilib-testing||' "${pkgdir}"/etc/abs.conf - fi - if [[ $CARCH = "x86_64" ]]; then - sed -i '/ARCH=/s|i686|x86_64|' "${pkgdir}"/etc/abs.conf - fi -} diff --git a/extra/accountsservice/32bit-crash.patch b/extra/accountsservice/32bit-crash.patch deleted file mode 100644 index 87b5d308e..000000000 --- a/extra/accountsservice/32bit-crash.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4d5166d1833e42d81b854374aa6e73f83a67a70e Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Tue, 27 Nov 2012 23:30:45 +0000 -Subject: Fix a crash on 32bit systems - -The login-frequency property of the User interface is defined -as uint64 type. Therefore, when setting it with g_object_set, -a 64bit value is collected, and passing an int might lead to -bad things. -https://bugs.freedesktop.org/show_bug.cgi?id=57343 ---- -diff --git a/src/daemon.c b/src/daemon.c -index ed3a114..4d6f3ab 100644 ---- a/src/daemon.c -+++ b/src/daemon.c -@@ -207,7 +207,7 @@ daemon_local_user_is_excluded (Daemon *daemon, const gchar *username, const gcha - #ifdef HAVE_UTMPX_H - - typedef struct { -- int frequency; -+ guint64 frequency; - gint64 time; - GList *previous_logins; - } UserAccounting; --- -cgit v0.9.0.2-2-gbebe diff --git a/extra/alsa-firmware/PKGBUILD b/extra/alsa-firmware/PKGBUILD deleted file mode 100644 index 00df415a4..000000000 --- a/extra/alsa-firmware/PKGBUILD +++ /dev/null @@ -1,30 +0,0 @@ -# $Id: PKGBUILD 158602 2012-05-05 02:35:11Z dreisner $ -# Maintainer: Tobias Powalowski -# Contributor: Jochen Immendörfer -pkgname=alsa-firmware -pkgver=1.0.25 -pkgrel=2 -pkgdesc="ALSA firmware package" -arch=('i686' 'x86_64') -url="http://alsa-project.org/" -license=('GPL') -source=(ftp://ftp.alsa-project.org/pub/firmware/$pkgname-$pkgver.tar.bz2) -options=(!strip) - -build() { - cd $srcdir/$pkgname-$pkgver - ./configure --prefix=/usr --with-hotplug-dir=/usr/lib/firmware - make -} - -package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install - # remove files which conflicts with linux-firmware - rm -rf ${pkgdir}/usr/lib/firmware/{ess,korg,sb16,yamaha} - # remove broken symlinks (broken upstream) - rm -rf ${pkgdir}/usr/lib/firmware/turtlebeach - # remove empty dir - rm -rf ${pkgdir}/usr/bin -} -md5sums=('f1939da45b162c83a726c54a470ef139') diff --git a/extra/amarok/amarok-2.5.0-ffmpeg-fixes.patch b/extra/amarok/amarok-2.5.0-ffmpeg-fixes.patch deleted file mode 100644 index 602fe47f5..000000000 --- a/extra/amarok/amarok-2.5.0-ffmpeg-fixes.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -upr amarok-2.5.0.orig/src/musicbrainz/MusicDNSAudioDecoder.cpp amarok-2.5.0/src/musicbrainz/MusicDNSAudioDecoder.cpp ---- amarok-2.5.0.orig/src/musicbrainz/MusicDNSAudioDecoder.cpp 2012-06-07 16:12:22.000000000 +0300 -+++ amarok-2.5.0/src/musicbrainz/MusicDNSAudioDecoder.cpp 2012-06-07 16:14:56.000000000 +0300 -@@ -136,7 +136,7 @@ MusicDNSAudioDecoder::run() - foreach( Meta::TrackPtr track, m_tracks ) - { - //TODO replace with "avformat_open_input" since av_open_input_file is deprecated -- if( av_open_input_file( &pFormatCtx, ( const char * )track->playableUrl().toLocalFile().toAscii(), NULL, 0, NULL ) ) -+ if( avformat_open_input( &pFormatCtx, ( const char * )track->playableUrl().toLocalFile().toAscii(), NULL, NULL ) ) - { - warning() << QLatin1String( "Unable to open input file: " ) + track->playableUrl().toLocalFile(); - continue; -@@ -259,4 +259,4 @@ MusicDNSAudioDecoder::run() - } - - --#include "MusicDNSAudioDecoder.moc" -\ No newline at end of file -+#include "MusicDNSAudioDecoder.moc" diff --git a/extra/amarok/contextviewfix.patch b/extra/amarok/contextviewfix.patch deleted file mode 100644 index 2363b623c..000000000 --- a/extra/amarok/contextviewfix.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/context/containments/verticallayout/VerticalToolbarContainment.cpp b/src/context/containments/verticallayout/VerticalToolbarContainment.cpp -index a23305f..8fa6f9b 100644 ---- a/src/context/containments/verticallayout/VerticalToolbarContainment.cpp -+++ b/src/context/containments/verticallayout/VerticalToolbarContainment.cpp -@@ -129,7 +129,8 @@ Context::VerticalToolbarContainment::updateGeometry() - if(!view()) - return; - -- QRectF rect = view()->sceneRect(); -+ // mimic ContextView::resizeEvent(), nothing else seems to work, bug 292895 -+ QRectF rect( view()->pos(), view()->maximumViewportSize() ); - setGeometry( rect ); - m_applets->setGeometry( rect ); - m_applets->refresh(); \ No newline at end of file diff --git a/extra/amarok/toolbarfix.patch b/extra/amarok/toolbarfix.patch deleted file mode 100644 index ec012ca74..000000000 --- a/extra/amarok/toolbarfix.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -rup amarok-2.5.0/src/context/toolbar/AppletToolbar.cpp amarok-2.5.0.new/src/context/toolbar/AppletToolbar.cpp ---- amarok-2.5.0/src/context/toolbar/AppletToolbar.cpp 2011-12-15 08:36:48.000000000 +0100 -+++ amarok-2.5.0.new/src/context/toolbar/AppletToolbar.cpp 2012-01-29 20:20:01.901360205 +0100 -@@ -108,6 +108,17 @@ Context::AppletToolbar::appletRemoved( P - } - } - -+void Context::AppletToolbar::setContainment( Containment * containment ) -+{ -+ m_cont = containment; -+} -+ -+Context::Containment * -+Context::AppletToolbar::containment() const -+{ -+ return m_cont; -+} -+ - QSizeF - Context::AppletToolbar::sizeHint( Qt::SizeHint which, const QSizeF &constraint ) const - { -Only in amarok-2.5.0.new/src/context/toolbar: AppletToolbar.cpp.orig -Only in amarok-2.5.0.new/src/context/toolbar: AppletToolbar.cpp.rej -diff -rup amarok-2.5.0/src/context/toolbar/AppletToolbar.h amarok-2.5.0.new/src/context/toolbar/AppletToolbar.h ---- amarok-2.5.0/src/context/toolbar/AppletToolbar.h 2011-12-15 08:36:48.000000000 +0100 -+++ amarok-2.5.0.new/src/context/toolbar/AppletToolbar.h 2012-01-29 20:17:52.414686784 +0100 -@@ -55,6 +55,9 @@ class AppletToolbar : public QGraphicsWi - - void appletRemoved( Plasma::Applet* applet ); - -+ void setContainment( Containment * containment ); -+ Containment* containment() const; -+ - signals: - void showApplet( Plasma::Applet* ); - void appletAddedToToolbar( Plasma::Applet* applet, int loc ); -Only in amarok-2.5.0.new/src/context/toolbar: AppletToolbar.h.orig -diff -rup amarok-2.5.0/src/context/ToolbarView.cpp amarok-2.5.0.new/src/context/ToolbarView.cpp ---- amarok-2.5.0/src/context/ToolbarView.cpp 2011-12-15 08:36:48.000000000 +0100 -+++ amarok-2.5.0.new/src/context/ToolbarView.cpp 2012-01-29 20:17:52.394686782 +0100 -@@ -74,7 +74,9 @@ Context::ToolbarView::ToolbarView( Plasm - setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); - - // now we create the toolbar -- m_toolbar = new AppletToolbar( containment ); -+ m_toolbar = new AppletToolbar(0); -+ scene->addItem(m_toolbar.data()); -+ m_toolbar.data()->setContainment( qobject_cast(containment) ); - m_toolbar.data()->setZValue( m_toolbar.data()->zValue() + 1000 ); - m_toolbar.data()->setPos( TOOLBAR_X_OFFSET, 0 ); - -@@ -96,7 +98,7 @@ Context::ToolbarView::ToolbarView( Plasm - - Context::ToolbarView::~ToolbarView() - { -- -+ delete m_toolbar.data(); - } - - void -Only in amarok-2.5.0.new/src/context: ToolbarView.cpp.orig diff --git a/extra/apache/pcre_info.patch b/extra/apache/pcre_info.patch deleted file mode 100644 index 906a3159e..000000000 --- a/extra/apache/pcre_info.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- httpd-2.2.22/server/util_pcre.c 2005-11-10 16:20:05.000000000 +0100 -+++ httpd-2.2.22/server/util_pcre.c 2012-02-08 11:23:56.273855663 +0100 -@@ -128,6 +128,7 @@ - const char *errorptr; - int erroffset; - int options = 0; -+int nsub; - - if ((cflags & AP_REG_ICASE) != 0) options |= PCRE_CASELESS; - if ((cflags & AP_REG_NEWLINE) != 0) options |= PCRE_MULTILINE; -@@ -136,8 +137,9 @@ - preg->re_erroffset = erroffset; - - if (preg->re_pcre == NULL) return AP_REG_INVARG; -- --preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL); -+pcre_fullinfo((const pcre *)preg->re_pcre, NULL, -+ PCRE_INFO_CAPTURECOUNT, &nsub); -+preg->re_nsub = nsub; - return 0; - } - diff --git a/extra/audacious-plugins/PKGBUILD b/extra/audacious-plugins/PKGBUILD deleted file mode 100644 index f9625a77f..000000000 --- a/extra/audacious-plugins/PKGBUILD +++ /dev/null @@ -1,64 +0,0 @@ -# $Id: PKGBUILD 173108 2012-12-11 04:47:03Z bisson $ -# Maintainer: Gaetan Bisson -# Contributor: Alexander Fehr -# Contributor: William Rea - -pkgname=audacious-plugins -pkgver=3.3.3 -pkgrel=1 -pkgdesc='Plugins for Audacious' -url='http://audacious-media-player.org/' -license=('custom:BSD' 'GPL') -arch=('i686' 'x86_64') - -makedepends=("audacious>=${pkgver}" - 'oss' 'alsa-lib' 'pulseaudio' 'jack2' 'lame' 'libvorbis' 'flac' - 'mpg123' 'faad2' 'ffmpeg' 'libmodplug' 'fluidsynth' 'libcdio' 'libsidplay' 'wavpack' - 'libnotify' 'lirc-utils' 'curl' 'libmtp' - 'neon' 'libmms' 'libcue') - -optdepends=('oss: Open Sound System v4 output' - 'alsa-lib: Advanced Linux Sound Arch. output' - 'pulseaudio: PulseAudio output' - 'jack2: Jack Audio Connection Kit output' - 'lame: FileWriter MP3 output' - 'libvorbis: Vorbis input, FileWriter Vorbis output' - 'flac: FLAC input, FileWriter FLAC output' - - 'mpg123: MP3 input' - 'faad2: AAC input' - 'ffmpeg: ffaudio input' - 'libmodplug: modplug input' - 'fluidsynth: MIDI FluidSynth backend input' - 'libcdio: CD Digital Audio input' - 'libsidplay: Commodore 64 audio input' - 'wavpack: WavPack input' - - 'libnotify: libnotify OSD' - 'lirc-utils: LIRC' - 'curl: AudioScrobbler Client' - 'libmtp: Upload to MTP device' - - 'neon: neon-based http transport' - 'libmms: libmms-based mms transport' - 'libcue: CUE playlist format') - -source=("http://distfiles.audacious-media-player.org/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('c7384a2de6e3305f3c3271bb66344f0cbb9bef0e') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - ./configure \ - --prefix=/usr \ - --enable-amidiplug \ - --disable-adplug \ - - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install - install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" -} diff --git a/extra/avahi/gnome-nettool.png b/extra/avahi/gnome-nettool.png deleted file mode 100644 index 227d0678a..000000000 Binary files a/extra/avahi/gnome-nettool.png and /dev/null differ diff --git a/extra/avfs/PKGBUILD b/extra/avfs/PKGBUILD deleted file mode 100644 index 85cfe088b..000000000 --- a/extra/avfs/PKGBUILD +++ /dev/null @@ -1,31 +0,0 @@ -# $Id: PKGBUILD 166454 2012-09-08 02:48:18Z eric $ -# Maintainer: Kevin Piche -# Contributor: K. Piche - -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/extra/avfs/avfs-1.0.0-fix_open_missing_mode.patch b/extra/avfs/avfs-1.0.0-fix_open_missing_mode.patch deleted file mode 100644 index 1e4a0a4d8..000000000 --- a/extra/avfs/avfs-1.0.0-fix_open_missing_mode.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/modules/urar.c 2007-05-14 20:21:23.000000000 +0200 -+++ b/modules/urar.c 2009-02-09 13:48:56.780225932 +0100 -@@ -587,7 +587,7 @@ - if(res < 0) - return res; - -- fd = open(tmpfile, O_RDWR | O_CREAT | O_TRUNC); -+ fd = open(tmpfile, O_RDWR | O_CREAT | O_TRUNC, 0644); - if(fd == -1) { - res = -errno; - av_log(AVLOG_ERROR, "RAR: Could not open %s: %s", tmpfile, diff --git a/extra/avogadro/fix-boost.patch b/extra/avogadro/fix-boost.patch deleted file mode 100644 index 8fb53ef12..000000000 --- a/extra/avogadro/fix-boost.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- avogadro-1.0.3/libavogadro/src/CMakeLists.txt~ 2011-11-29 18:33:01.777291627 +0000 -+++ avogadro-1.0.3/libavogadro/src/CMakeLists.txt 2011-11-29 18:33:23.480814612 +0000 -@@ -149,7 +149,7 @@ - endforeach(P_ITEM ${PYTHON_SRCS}) - endif(NOT ENABLE_PYTHON OR NOT ALL_PYTHON_FOUND) - --QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS}) -+QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) - - # you have to add link_directories before you add the target - if(ENABLE_PYTHON AND ALL_PYTHON_FOUND) ---- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt~ 2011-11-29 18:37:15.449506548 +0000 -+++ avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt 2011-11-29 18:37:52.729831744 +0000 -@@ -11,7 +11,7 @@ - # use all cpp files in this directory - FILE(GLOB wrapper_SRCS "*.cpp") - --QT4_WRAP_CPP(MOC_SRCS moleculelist.h) -+QT4_WRAP_CPP(MOC_SRCS moleculelist.h OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) - - ADD_LIBRARY(python-module MODULE ${wrapper_SRCS} ${MOC_SRCS}) - SET_TARGET_PROPERTIES(python-module PROPERTIES OUTPUT_NAME Avogadro) ---- avogadro-1.0.3/libavogadro/CMakeLists.txt~ 2011-11-29 19:41:34.066938217 +0000 -+++ avogadro-1.0.3/libavogadro/CMakeLists.txt 2011-11-29 19:42:53.084320315 +0000 -@@ -18,7 +18,7 @@ - # Assume all MOC stuff is in the headers, replace .cpp and use qt4_wrap_cpp - # We should probably scan the header to verify the Q_OBJECT macro is used - string(REPLACE ".cpp" ".h" hdr_list "${src_list}") -- qt4_wrap_cpp(moc_files ${hdr_list}) -+ qt4_wrap_cpp(moc_files ${hdr_list} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) - # Now sort out the ui and qrc files, process them as appropriate - set(ui_plugin_files) - set(qrc_plugin_files) diff --git a/extra/avogadro/fix-opengl-headers.patch b/extra/avogadro/fix-opengl-headers.patch deleted file mode 100644 index e6e8bc3b5..000000000 --- a/extra/avogadro/fix-opengl-headers.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- avogadro-1.0.3/libavogadro/src/camera.cpp~ 2012-02-27 18:35:52.109999585 +0000 -+++ avogadro-1.0.3/libavogadro/src/camera.cpp 2012-02-27 18:36:27.103053453 +0000 -@@ -25,6 +25,8 @@ - #include "camera.h" - #include "glwidget.h" - #include -+#include -+#include - - using namespace Eigen; - ---- avogadro-1.0.3/libavogadro/src/glpainter_p.cpp~ 2012-02-27 18:37:28.535894209 +0000 -+++ avogadro-1.0.3/libavogadro/src/glpainter_p.cpp 2012-02-27 18:37:46.912413557 +0000 -@@ -42,6 +42,7 @@ - #include - #include - #include -+#include - - namespace Avogadro - { ---- avogadro-1.0.3/libavogadro/src/glwidget.cpp~ 2012-02-27 18:37:55.099014598 +0000 -+++ avogadro-1.0.3/libavogadro/src/glwidget.cpp 2012-02-27 18:38:30.805395066 +0000 -@@ -70,6 +70,8 @@ - - #include - -+#include -+ - using namespace OpenBabel; - using namespace Eigen; - ---- avogadro-1.0.3/libavogadro/src/extensions/povpainter.cpp~ 2012-02-27 18:36:53.646173944 +0000 -+++ avogadro-1.0.3/libavogadro/src/extensions/povpainter.cpp 2012-02-27 18:37:10.739370227 +0000 -@@ -36,6 +36,7 @@ - #include - #include - #include -+#include - - namespace Avogadro - { ---- avogadro-1.0.3/libavogadro/src/tools/selectrotatetool.cpp~ 2012-02-27 18:38:47.491928000 +0000 -+++ avogadro-1.0.3/libavogadro/src/tools/selectrotatetool.cpp 2012-02-27 18:39:05.735115136 +0000 -@@ -44,6 +44,8 @@ - #include - #include - -+#include -+ - using namespace std; - using namespace OpenBabel; - using namespace Eigen; diff --git a/extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch b/extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch deleted file mode 100644 index 11f58a505..000000000 --- a/extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch +++ /dev/null @@ -1,778 +0,0 @@ -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/CMakeLists.txt avogadro-1.0.3-edit/libavogadro/src/CMakeLists.txt ---- avogadro-1.0.3/libavogadro/src/CMakeLists.txt 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/CMakeLists.txt 2011-11-29 18:49:58.520790652 +0100 -@@ -75,6 +75,42 @@ - zmatrix.h - ) - -+SET(libavogadro_MOC_HDRS -+ animation.h -+ atom.h -+ bond.h -+ color.h -+ colorbutton.h -+ colors/elementcolor.h -+ cube.h -+ elementdetail_p.h -+ elementtranslator.h -+ engine.h -+ engines/bsdyengine.h -+ extension.h -+ fragment.h -+ glwidget.h -+ mesh.h -+ molecule.h -+ moleculefile.h -+ moleculefile_p.h -+ periodictablescene_p.h -+ periodictableview.h -+ plotwidget.h -+ plugin.h -+ pluginmanager.h -+ primitive.h -+ protein.h -+ pythonengine_p.h -+ pythonerror.h -+ pythonextension_p.h -+ pythontool_p.h -+ residue.h -+ tool.h -+ toolgroup.h -+ zmatrix.h -+) -+ - set(libavogadro_SRCS ${libavogadro_SRCS} ${libavogadro_UIS}) - # Also add in the qtiocompressor class - #set(libavogadro_SRCS ${libavogadro_SRCS} ../qtiocompressor/qtiocompressor.cpp) -@@ -113,7 +148,7 @@ - endforeach(P_ITEM ${PYTHON_SRCS}) - endif(NOT ENABLE_PYTHON OR NOT ALL_PYTHON_FOUND) - --qt4_automoc(${libavogadro_SRCS}) -+QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS}) - - # you have to add link_directories before you add the target - if(ENABLE_PYTHON AND ALL_PYTHON_FOUND) -@@ -149,7 +184,7 @@ - COMMAND ${CMAKE_COMMAND} -E ${header_cmd} "${from}" "${to}") - endforeach(headerFile ${libavogadro_HDRS}) - --add_library(avogadro SHARED ${libavogadro_SRCS} ${libavogadro_QM} ${pythontool_RC_SRCS}) -+add_library(avogadro SHARED ${libavogadro_SRCS} ${libavogadro_MOC_SRCS} ${libavogadro_QM} ${pythontool_RC_SRCS}) - set_target_properties(avogadro - PROPERTIES VERSION ${Avogadro_VERSION_FULL} SOVERSION 1 ) - target_link_libraries(avogadro ${AVO_LINK_LIBRARIES}) -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/animation.cpp avogadro-1.0.3-edit/libavogadro/src/animation.cpp ---- avogadro-1.0.3/libavogadro/src/animation.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/animation.cpp 2011-11-29 18:48:47.967839537 +0100 -@@ -224,5 +224,3 @@ - } - - } // end namespace Avogadro -- --#include "animation.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/atom.cpp avogadro-1.0.3-edit/libavogadro/src/atom.cpp ---- avogadro-1.0.3/libavogadro/src/atom.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/atom.cpp 2011-11-29 18:48:39.561218412 +0100 -@@ -293,5 +293,3 @@ - } - - } // End namespace Avogadro -- --#include "atom.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/bond.cpp avogadro-1.0.3-edit/libavogadro/src/bond.cpp ---- avogadro-1.0.3/libavogadro/src/bond.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/bond.cpp 2011-11-29 18:49:00.067773985 +0100 -@@ -166,5 +166,3 @@ - } - - } // End namespace Avogadro -- --#include "bond.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/color.cpp avogadro-1.0.3-edit/libavogadro/src/color.cpp ---- avogadro-1.0.3/libavogadro/src/color.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/color.cpp 2011-11-29 18:49:05.207746140 +0100 -@@ -152,5 +152,3 @@ - return "Generic Color"; - } - } -- --#include "color.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/colorbutton.cpp avogadro-1.0.3-edit/libavogadro/src/colorbutton.cpp ---- avogadro-1.0.3/libavogadro/src/colorbutton.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/colorbutton.cpp 2011-11-29 18:49:11.987709410 +0100 -@@ -94,5 +94,3 @@ - } - - } // end namespace -- --#include "colorbutton.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/colors/elementcolor.cpp avogadro-1.0.3-edit/libavogadro/src/colors/elementcolor.cpp ---- avogadro-1.0.3/libavogadro/src/colors/elementcolor.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/colors/elementcolor.cpp 2011-11-29 18:50:11.077389292 +0100 -@@ -63,7 +63,5 @@ - - } - --#include "elementcolor.moc" - //this is a static color plugin... - //Q_EXPORT_PLUGIN2(elementcolor, Avogadro::ElementColorFactory) -- -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/cube.cpp avogadro-1.0.3-edit/libavogadro/src/cube.cpp ---- avogadro-1.0.3/libavogadro/src/cube.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/cube.cpp 2011-11-29 18:50:26.357306516 +0100 -@@ -322,5 +322,3 @@ - } - - } // End namespace Avogadro -- --#include "cube.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/elementdetail_p.cpp avogadro-1.0.3-edit/libavogadro/src/elementdetail_p.cpp ---- avogadro-1.0.3/libavogadro/src/elementdetail_p.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/elementdetail_p.cpp 2011-11-29 18:50:37.680578505 +0100 -@@ -132,5 +132,3 @@ - } - - } // End namespace Avogadro -- --#include "elementdetail_p.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/elementtranslator.cpp avogadro-1.0.3-edit/libavogadro/src/elementtranslator.cpp ---- avogadro-1.0.3/libavogadro/src/elementtranslator.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/elementtranslator.cpp 2011-11-29 18:50:48.160521729 +0100 -@@ -401,5 +401,3 @@ - } - - } // End namespace Avogadro -- --#include "elementtranslator.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/engine.cpp avogadro-1.0.3-edit/libavogadro/src/engine.cpp ---- avogadro-1.0.3/libavogadro/src/engine.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/engine.cpp 2011-11-29 18:50:54.397154610 +0100 -@@ -377,5 +377,3 @@ - return m_molecule->bonds(); - } - } -- --#include "engine.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/engines/bsdyengine.cpp avogadro-1.0.3-edit/libavogadro/src/engines/bsdyengine.cpp ---- avogadro-1.0.3/libavogadro/src/engines/bsdyengine.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/engines/bsdyengine.cpp 2011-11-29 18:51:18.733689435 +0100 -@@ -442,7 +442,5 @@ - } - - } -- --#include "bsdyengine.moc" - // This is a static engine... - // Q_EXPORT_PLUGIN2( bsdyengine, Avogadro::BSDYEngineFactory ) -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/extension.cpp avogadro-1.0.3-edit/libavogadro/src/extension.cpp ---- avogadro-1.0.3/libavogadro/src/extension.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/extension.cpp 2011-11-29 18:51:56.360152261 +0100 -@@ -80,5 +80,3 @@ - } - - } -- --#include "extension.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/fragment.cpp avogadro-1.0.3-edit/libavogadro/src/fragment.cpp ---- avogadro-1.0.3/libavogadro/src/fragment.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/fragment.cpp 2011-11-29 18:52:01.906788880 +0100 -@@ -82,5 +82,3 @@ - } - - } // End namespace Avogadro -- --#include "fragment.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/glwidget.cpp avogadro-1.0.3-edit/libavogadro/src/glwidget.cpp ---- avogadro-1.0.3/libavogadro/src/glwidget.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/glwidget.cpp 2011-11-29 18:52:14.346721486 +0100 -@@ -1966,5 +1966,3 @@ - d->updateCache = true; - } - } -- --#include "glwidget.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/mesh.cpp avogadro-1.0.3-edit/libavogadro/src/mesh.cpp ---- avogadro-1.0.3/libavogadro/src/mesh.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/mesh.cpp 2011-11-29 18:52:23.033341093 +0100 -@@ -231,5 +231,3 @@ - } - - } // End namespace Avogadro -- --#include "mesh.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/molecule.cpp avogadro-1.0.3-edit/libavogadro/src/molecule.cpp ---- avogadro-1.0.3/libavogadro/src/molecule.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/molecule.cpp 2011-11-29 18:52:33.573283993 +0100 -@@ -1575,5 +1575,3 @@ - } - - } // End namespace Avogadro -- --#include "molecule.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/moleculefile.cpp avogadro-1.0.3-edit/libavogadro/src/moleculefile.cpp ---- avogadro-1.0.3/libavogadro/src/moleculefile.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/moleculefile.cpp 2011-11-29 18:56:26.728687548 +0100 -@@ -22,23 +22,14 @@ - 02110-1301, USA. - **********************************************************************/ - --#include "moleculefile.h" -+#include "moleculefile_p.h" - - #include - --#include - #include --#include --#include - #include - #include - --#include --#include -- --// Included in obconversion.h --//#include -- - namespace Avogadro { - - using OpenBabel::OBConversion; -@@ -578,164 +569,6 @@ - return false; - } - -- class ReadFileThread : public QThread -- { -- // Q_OBJECT -- -- public: -- ReadFileThread(MoleculeFile *moleculeFile) : m_moleculeFile(moleculeFile) -- { -- } -- -- void addConformer(const OpenBabel::OBMol &conformer) -- { -- unsigned int numAtoms = conformer.NumAtoms(); -- std::vector *coords = new std::vector(numAtoms); -- for (unsigned int i = 0; i < numAtoms; ++i) -- coords->push_back(Eigen::Vector3d(conformer.GetAtom(i+1)->GetVector().AsArray())); -- m_moleculeFile->m_conformers.push_back(coords); -- } -- -- void detectConformers(unsigned int c, const OpenBabel::OBMol &first, const OpenBabel::OBMol ¤t) -- { -- if (!c) { -- // this is the first molecule read -- m_moleculeFile->setConformerFile(true); -- addConformer(current); -- return; -- } -- -- if (!m_moleculeFile->isConformerFile()) -- return; -- -- // as long as we are not sure if this really is a -- // conformer/trajectory file, add the conformers -- addConformer(current); -- -- // performance: check only certain molecule 1-10,20,50 -- switch (c) { -- case 1: -- case 2: -- case 3: -- case 4: -- case 5: -- case 6: -- case 7: -- case 8: -- case 9: -- case 10: -- case 20: -- case 50: -- break; -- default: -- return; -- } -- -- if (first.NumAtoms() != current.NumAtoms()) { -- m_moleculeFile->setConformerFile(false); -- m_moleculeFile->m_conformers.clear(); -- return; -- } -- -- for (unsigned int i = 0; i < first.NumAtoms(); ++i) { -- OpenBabel::OBAtom *firstAtom = first.GetAtom(i+1); -- OpenBabel::OBAtom *currentAtom = current.GetAtom(i+1); -- if (firstAtom->GetAtomicNum() != currentAtom->GetAtomicNum()) { -- m_moleculeFile->setConformerFile(false); -- m_moleculeFile->m_conformers.clear(); -- return; -- } -- } -- } -- -- void run() -- { -- // Check that the file can be read from disk -- if (!MoleculeFile::canOpen(m_moleculeFile->m_fileName, QFile::ReadOnly | QFile::Text)) { -- // Cannot read the file -- m_moleculeFile->m_error.append(QObject::tr("File %1 cannot be opened for reading.") -- .arg(m_moleculeFile->m_fileName)); -- return; -- } -- -- // Construct the OpenBabel objects, set the file type -- OpenBabel::OBConversion conv; -- OpenBabel::OBFormat *inFormat; -- if (!m_moleculeFile->m_fileType.isEmpty() && !conv.SetInFormat(m_moleculeFile->m_fileType.toAscii().data())) { -- // Input format not supported -- m_moleculeFile->m_error.append( -- QObject::tr("File type '%1' is not supported for reading.").arg(m_moleculeFile->m_fileType)); -- return; -- } else { -- inFormat = conv.FormatFromExt(m_moleculeFile->m_fileName.toAscii().data()); -- if (!inFormat || !conv.SetInFormat(inFormat)) { -- // Input format not supported -- m_moleculeFile->m_error.append(QObject::tr("File type for file '%1' is not supported for reading.") -- .arg(m_moleculeFile->m_fileName)); -- return; -- } -- } -- -- // set any options -- if (!m_moleculeFile->m_fileOptions.isEmpty()) { -- foreach(const QString &option, -- m_moleculeFile->m_fileOptions.split('\n', QString::SkipEmptyParts)) { -- conv.AddOption(option.toAscii().data(), OBConversion::INOPTIONS); -- } -- } -- -- // Now attempt to read the molecule in -- ifstream ifs; -- ifs.open(m_moleculeFile->m_fileName.toLocal8Bit()); // This handles utf8 file names etc -- if (!ifs) // Should not happen, already checked file could be opened -- return; -- -- // read all molecules -- OpenBabel::OBMol firstOBMol, currentOBMol; -- unsigned int c = 0; -- conv.SetInStream(&ifs); -- m_moleculeFile->streamposRef().push_back(ifs.tellg()); -- while (ifs.good() && conv.Read(¤tOBMol)) { -- if (!c) -- firstOBMol = currentOBMol; -- -- if (c > 20 && !m_moleculeFile->isConformerFile()) -- m_moleculeFile->setFirstReady(true); -- -- // detect conformer/trajectory files -- detectConformers(c, firstOBMol, currentOBMol); -- // store information about molecule -- m_moleculeFile->streamposRef().push_back(ifs.tellg()); -- m_moleculeFile->titlesRef().append(currentOBMol.GetTitle()); -- // increment count -- ++c; -- } -- m_moleculeFile->streamposRef().pop_back(); -- -- // signle molecule files are not conformer files -- if (c == 1) { -- m_moleculeFile->setConformerFile(false); -- m_moleculeFile->m_conformers.clear(); -- } -- -- // check for empty titles -- for (int i = 0; i < m_moleculeFile->titlesRef().size(); ++i) { -- if (!m_moleculeFile->titlesRef()[i].isEmpty()) -- continue; -- -- QString title; -- if (m_moleculeFile->isConformerFile()) -- title = tr("Conformer %1").arg(i+1); -- else -- title = tr("Molecule %1").arg(i+1); -- -- m_moleculeFile->titlesRef()[i] = title; -- } -- } -- -- MoleculeFile *m_moleculeFile; -- }; // end ReadFileThread class -- - MoleculeFile* MoleculeFile::readFile(const QString &fileName, - const QString &fileType, const QString &fileOptions, bool wait) - { -@@ -794,6 +627,3 @@ - } - - } // end namespace Avogadro -- --#include "moleculefile.moc" -- -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/moleculefile_p.h avogadro-1.0.3-edit/libavogadro/src/moleculefile_p.h ---- avogadro-1.0.3/libavogadro/src/moleculefile_p.h 1970-01-01 01:00:00.000000000 +0100 -+++ avogadro-1.0.3-edit/libavogadro/src/moleculefile_p.h 2011-11-29 18:57:43.108273764 +0100 -@@ -0,0 +1,202 @@ -+/********************************************************************** -+ MoleculeFile - Class representing molecule file. -+ -+ Copyright (C) 2009 Marcus Hanwell, Tim Vandermeersch -+ -+ This file is part of the Avogadro molecular editor project. -+ For more information, see -+ -+ Avogadro 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. -+ -+ Avogadro 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 MOLECULEFILE_P_H -+#define MOLECULEFILE_P_H -+ -+#include "moleculefile.h" -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+namespace Avogadro { -+ -+ using OpenBabel::OBConversion; -+ using std::ifstream; -+ -+class ReadFileThread : public QThread -+{ -+ Q_OBJECT -+ -+ public: -+ ReadFileThread(MoleculeFile *moleculeFile) : m_moleculeFile(moleculeFile) -+ { -+ } -+ -+ void addConformer(const OpenBabel::OBMol &conformer) -+ { -+ unsigned int numAtoms = conformer.NumAtoms(); -+ std::vector *coords = new std::vector(numAtoms); -+ for (unsigned int i = 0; i < numAtoms; ++i) -+ coords->push_back(Eigen::Vector3d(conformer.GetAtom(i+1)->GetVector().AsArray())); -+ m_moleculeFile->m_conformers.push_back(coords); -+ } -+ -+ void detectConformers(unsigned int c, const OpenBabel::OBMol &first, const OpenBabel::OBMol ¤t) -+ { -+ if (!c) { -+ // this is the first molecule read -+ m_moleculeFile->setConformerFile(true); -+ addConformer(current); -+ return; -+ } -+ -+ if (!m_moleculeFile->isConformerFile()) -+ return; -+ -+ // as long as we are not sure if this really is a -+ // conformer/trajectory file, add the conformers -+ addConformer(current); -+ -+ // performance: check only certain molecule 1-10,20,50 -+ switch (c) { -+ case 1: -+ case 2: -+ case 3: -+ case 4: -+ case 5: -+ case 6: -+ case 7: -+ case 8: -+ case 9: -+ case 10: -+ case 20: -+ case 50: -+ break; -+ default: -+ return; -+ } -+ -+ if (first.NumAtoms() != current.NumAtoms()) { -+ m_moleculeFile->setConformerFile(false); -+ m_moleculeFile->m_conformers.clear(); -+ return; -+ } -+ -+ for (unsigned int i = 0; i < first.NumAtoms(); ++i) { -+ OpenBabel::OBAtom *firstAtom = first.GetAtom(i+1); -+ OpenBabel::OBAtom *currentAtom = current.GetAtom(i+1); -+ if (firstAtom->GetAtomicNum() != currentAtom->GetAtomicNum()) { -+ m_moleculeFile->setConformerFile(false); -+ m_moleculeFile->m_conformers.clear(); -+ return; -+ } -+ } -+ } -+ -+ void run() -+ { -+ // Check that the file can be read from disk -+ if (!MoleculeFile::canOpen(m_moleculeFile->m_fileName, QFile::ReadOnly | QFile::Text)) { -+ // Cannot read the file -+ m_moleculeFile->m_error.append(QObject::tr("File %1 cannot be opened for reading.") -+ .arg(m_moleculeFile->m_fileName)); -+ return; -+ } -+ -+ // Construct the OpenBabel objects, set the file type -+ OpenBabel::OBConversion conv; -+ OpenBabel::OBFormat *inFormat; -+ if (!m_moleculeFile->m_fileType.isEmpty() && !conv.SetInFormat(m_moleculeFile->m_fileType.toAscii().data())) { -+ // Input format not supported -+ m_moleculeFile->m_error.append( -+ QObject::tr("File type '%1' is not supported for reading.").arg(m_moleculeFile->m_fileType)); -+ return; -+ } else { -+ inFormat = conv.FormatFromExt(m_moleculeFile->m_fileName.toAscii().data()); -+ if (!inFormat || !conv.SetInFormat(inFormat)) { -+ // Input format not supported -+ m_moleculeFile->m_error.append(QObject::tr("File type for file '%1' is not supported for reading.") -+ .arg(m_moleculeFile->m_fileName)); -+ return; -+ } -+ } -+ -+ // set any options -+ if (!m_moleculeFile->m_fileOptions.isEmpty()) { -+ foreach(const QString &option, -+ m_moleculeFile->m_fileOptions.split('\n', QString::SkipEmptyParts)) { -+ conv.AddOption(option.toAscii().data(), OBConversion::INOPTIONS); -+ } -+ } -+ -+ // Now attempt to read the molecule in -+ ifstream ifs; -+ ifs.open(m_moleculeFile->m_fileName.toLocal8Bit()); // This handles utf8 file names etc -+ if (!ifs) // Should not happen, already checked file could be opened -+ return; -+ -+ // read all molecules -+ OpenBabel::OBMol firstOBMol, currentOBMol; -+ unsigned int c = 0; -+ conv.SetInStream(&ifs); -+ m_moleculeFile->streamposRef().push_back(ifs.tellg()); -+ while (ifs.good() && conv.Read(¤tOBMol)) { -+ if (!c) -+ firstOBMol = currentOBMol; -+ -+ if (c > 20 && !m_moleculeFile->isConformerFile()) -+ m_moleculeFile->setFirstReady(true); -+ -+ // detect conformer/trajectory files -+ detectConformers(c, firstOBMol, currentOBMol); -+ // store information about molecule -+ m_moleculeFile->streamposRef().push_back(ifs.tellg()); -+ m_moleculeFile->titlesRef().append(currentOBMol.GetTitle()); -+ // increment count -+ ++c; -+ } -+ m_moleculeFile->streamposRef().pop_back(); -+ -+ // signle molecule files are not conformer files -+ if (c == 1) { -+ m_moleculeFile->setConformerFile(false); -+ m_moleculeFile->m_conformers.clear(); -+ } -+ -+ // check for empty titles -+ for (int i = 0; i < m_moleculeFile->titlesRef().size(); ++i) { -+ if (!m_moleculeFile->titlesRef()[i].isEmpty()) -+ continue; -+ -+ QString title; -+ if (m_moleculeFile->isConformerFile()) -+ title = tr("Conformer %1").arg(i+1); -+ else -+ title = tr("Molecule %1").arg(i+1); -+ -+ m_moleculeFile->titlesRef()[i] = title; -+ } -+ } -+ -+ MoleculeFile *m_moleculeFile; -+}; -+ -+} // end namespace Avogadro -+ -+#endif // MOLECULEFILE_P_H -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/periodictablescene_p.cpp avogadro-1.0.3-edit/libavogadro/src/periodictablescene_p.cpp ---- avogadro-1.0.3/libavogadro/src/periodictablescene_p.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/periodictablescene_p.cpp 2011-11-29 18:52:50.259860261 +0100 -@@ -213,5 +213,3 @@ - } - - } // End namespace Avogadro -- --#include "periodictablescene_p.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/periodictableview.cpp avogadro-1.0.3-edit/libavogadro/src/periodictableview.cpp ---- avogadro-1.0.3/libavogadro/src/periodictableview.cpp 2011-11-29 19:30:25.130970122 +0000 -+++ avogadro-1.0.3-edit/libavogadro/src/periodictableview.cpp 2011-11-29 18:52:50.259860261 +0100 -@@ -69,4 +69,3 @@ - - } // End namespace Avogadro - --#include "periodictableview.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/plotwidget.cpp avogadro-1.0.3-edit/libavogadro/src/plotwidget.cpp ---- avogadro-1.0.3/libavogadro/src/plotwidget.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/plotwidget.cpp 2011-11-29 18:53:09.389756626 +0100 -@@ -27,7 +27,6 @@ - **********************************************************************/ - - #include "plotwidget.h" --#include "plotwidget.moc" - - #include - #include -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/plugin.cpp avogadro-1.0.3-edit/libavogadro/src/plugin.cpp ---- avogadro-1.0.3/libavogadro/src/plugin.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/plugin.cpp 2011-11-29 18:53:16.016387394 +0100 -@@ -65,5 +65,3 @@ - } - - } // end namespace Avogadro -- --#include "plugin.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pluginmanager.cpp avogadro-1.0.3-edit/libavogadro/src/pluginmanager.cpp ---- avogadro-1.0.3/libavogadro/src/pluginmanager.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/pluginmanager.cpp 2011-11-29 18:53:23.569679807 +0100 -@@ -784,5 +784,3 @@ - } - - } -- --#include "pluginmanager.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/primitive.cpp avogadro-1.0.3-edit/libavogadro/src/primitive.cpp ---- avogadro-1.0.3/libavogadro/src/primitive.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/primitive.cpp 2011-11-29 18:53:29.139649631 +0100 -@@ -77,5 +77,3 @@ - } - - } -- --#include "primitive.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/protein.cpp avogadro-1.0.3-edit/libavogadro/src/protein.cpp ---- avogadro-1.0.3/libavogadro/src/protein.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/protein.cpp 2011-11-29 18:53:37.952935219 +0100 -@@ -978,5 +978,3 @@ - } - - } // End namespace Avogadro -- --#include "protein.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt avogadro-1.0.3-edit/libavogadro/src/python/CMakeLists.txt ---- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/python/CMakeLists.txt 2011-11-29 18:58:02.354836165 +0100 -@@ -11,9 +11,9 @@ - # use all cpp files in this directory - FILE(GLOB wrapper_SRCS "*.cpp") - --qt4_automoc(moleculelist.cpp) -+QT4_WRAP_CPP(MOC_SRCS moleculelist.h) - --ADD_LIBRARY(python-module MODULE ${wrapper_SRCS}) -+ADD_LIBRARY(python-module MODULE ${wrapper_SRCS} ${MOC_SRCS}) - SET_TARGET_PROPERTIES(python-module PROPERTIES OUTPUT_NAME Avogadro) - SET_TARGET_PROPERTIES(python-module PROPERTIES PREFIX "") - if (WIN32) -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/python/moleculelist.cpp avogadro-1.0.3-edit/libavogadro/src/python/moleculelist.cpp ---- avogadro-1.0.3/libavogadro/src/python/moleculelist.cpp 2011-11-29 19:26:07.562214311 +0100 -+++ avogadro-1.0.3-edit/libavogadro/src/python/moleculelist.cpp 2011-11-29 19:26:14.538843182 +0100 -@@ -70,4 +70,3 @@ - - } - --#include "moleculelist.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonengine_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythonengine_p.cpp ---- avogadro-1.0.3/libavogadro/src/pythonengine_p.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/pythonengine_p.cpp 2011-11-29 18:53:45.492894371 +0100 -@@ -289,5 +289,3 @@ - - - } -- --#include "pythonengine_p.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonerror.cpp avogadro-1.0.3-edit/libavogadro/src/pythonerror.cpp ---- avogadro-1.0.3/libavogadro/src/pythonerror.cpp 2011-11-29 19:24:26.949426045 +0100 -+++ avogadro-1.0.3-edit/libavogadro/src/pythonerror.cpp 2011-11-29 19:24:41.176015640 +0100 -@@ -112,4 +112,3 @@ - - } // namespace - --#include "pythonerror.moc" - -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonextension_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythonextension_p.cpp ---- avogadro-1.0.3/libavogadro/src/pythonextension_p.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/pythonextension_p.cpp 2011-11-29 18:53:54.082847836 +0100 -@@ -340,5 +340,3 @@ - } - - } -- --#include "pythonextension_p.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythontool_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythontool_p.cpp ---- avogadro-1.0.3/libavogadro/src/pythontool_p.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/pythontool_p.cpp 2011-11-29 18:54:02.269470152 +0100 -@@ -344,5 +344,3 @@ - } - - } -- --#include "pythontool_p.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/residue.cpp avogadro-1.0.3-edit/libavogadro/src/residue.cpp ---- avogadro-1.0.3/libavogadro/src/residue.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/residue.cpp 2011-11-29 18:54:14.316071557 +0100 -@@ -160,6 +160,3 @@ - } - - } // End namespace Avogadro -- -- #include "residue.moc" -- -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/tool.cpp avogadro-1.0.3-edit/libavogadro/src/tool.cpp ---- avogadro-1.0.3/libavogadro/src/tool.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/tool.cpp 2011-11-29 18:55:05.515794184 +0100 -@@ -117,5 +117,3 @@ - } - - } // end namespace Avogadro -- --#include "tool.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/toolgroup.cpp avogadro-1.0.3-edit/libavogadro/src/toolgroup.cpp ---- avogadro-1.0.3/libavogadro/src/toolgroup.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/toolgroup.cpp 2011-11-29 18:55:11.699094018 +0100 -@@ -206,5 +206,3 @@ - } - - } // end namespace Avogadro -- --#include "toolgroup.moc" -diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/zmatrix.cpp avogadro-1.0.3-edit/libavogadro/src/zmatrix.cpp ---- avogadro-1.0.3/libavogadro/src/zmatrix.cpp 2011-04-25 07:22:18.000000000 +0200 -+++ avogadro-1.0.3-edit/libavogadro/src/zmatrix.cpp 2011-11-29 18:55:17.209064168 +0100 -@@ -149,5 +149,3 @@ - - - } // End namespace Avogadro -- --#include "zmatrix.moc" diff --git a/extra/banshee/banshee-recent-gpod.patch b/extra/banshee/banshee-recent-gpod.patch deleted file mode 100644 index afb3a0fd1..000000000 --- a/extra/banshee/banshee-recent-gpod.patch +++ /dev/null @@ -1,24 +0,0 @@ -From d4cd959c4a48ffc9da8fe0983bd31c4647669bf4 Mon Sep 17 00:00:00 2001 -From: William Witt -Date: Sat, 30 Jul 2011 21:54:41 -0500 -Subject: [PATCH] - Changed typecast on FileSize to uint in AppleDeviceTrackInfo to comply with libgpod-sharp - ---- - .../AppleDeviceTrackInfo.cs | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs b/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs -index 178266d..b8549f7 100644 ---- a/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs -+++ b/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs -@@ -215,7 +215,7 @@ namespace Banshee.Dap.AppleDevice - track.CDs = DiscCount; - track.CDNumber = DiscNumber; - track.TrackLength = (int) Duration.TotalMilliseconds; -- track.Size = (int)FileSize; -+ track.Size = (uint)FileSize; - track.Grouping = Grouping; - try { - track.TimePlayed = LastPlayed; --- -1.7.3.4 diff --git a/extra/banshee/gst-1.0.patch b/extra/banshee/gst-1.0.patch deleted file mode 100644 index f8fa7a7c2..000000000 --- a/extra/banshee/gst-1.0.patch +++ /dev/null @@ -1,1025 +0,0 @@ -From ec14625f10c26ae3646f382ffd804ee28c3d7334 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= -Date: Wed, 19 Sep 2012 11:34:06 +0200 -Subject: [PATCH] Initial port to GStreamer 1.0 - ---- - build/m4/banshee/gstreamer.m4 | 19 +++--- - data/audio-profiles/wav.xml.in | 5 +- - libbanshee/banshee-bpmdetector.c | 11 ++-- - libbanshee/banshee-gst.h | 4 +- - libbanshee/banshee-player-cdda.c | 5 +- - libbanshee/banshee-player-dvd.c | 4 +- - libbanshee/banshee-player-equalizer.c | 4 +- - libbanshee/banshee-player-missing-elements.c | 2 +- - libbanshee/banshee-player-pipeline.c | 37 ++++++----- - libbanshee/banshee-player-private.h | 13 ++-- - libbanshee/banshee-player-replaygain.c | 29 ++++----- - libbanshee/banshee-player-video.c | 89 +++++++++++++------------- - libbanshee/banshee-player-vis.c | 88 ++++++++----------------- - libbanshee/banshee-player.c | 11 ++-- - libbanshee/banshee-ripper.c | 16 ++--- - libbanshee/banshee-tagger.c | 2 +- - libbanshee/banshee-transcoder.c | 19 +++--- - 17 files changed, 156 insertions(+), 202 deletions(-) - -diff --git a/build/m4/banshee/gstreamer.m4 b/build/m4/banshee/gstreamer.m4 -index 6267cce..917cf58 100644 ---- a/build/m4/banshee/gstreamer.m4 -+++ b/build/m4/banshee/gstreamer.m4 -@@ -1,17 +1,18 @@ - AC_DEFUN([BANSHEE_CHECK_GSTREAMER], - [ -- GSTREAMER_REQUIRED_VERSION=0.10.26 -+ GSTREAMER_REQUIRED_VERSION=0.11.99 - AC_SUBST(GSTREAMER_REQUIRED_VERSION) - - PKG_CHECK_MODULES(GST, -- gstreamer-0.10 >= $GSTREAMER_REQUIRED_VERSION -- gstreamer-base-0.10 >= $GSTREAMER_REQUIRED_VERSION -- gstreamer-plugins-base-0.10 >= $GSTREAMER_REQUIRED_VERSION -- gstreamer-controller-0.10 >= $GSTREAMER_REQUIRED_VERSION -- gstreamer-dataprotocol-0.10 >= $GSTREAMER_REQUIRED_VERSION -- gstreamer-fft-0.10 >= $GSTREAMER_REQUIRED_VERSION) -- -- GST_LIBS="$GST_LIBS -lgstvideo-0.10 -lgstinterfaces-0.10 -lgstcdda-0.10 -lgstpbutils-0.10 -lgsttag-0.10" -+ gstreamer-1.0 >= $GSTREAMER_REQUIRED_VERSION -+ gstreamer-base-1.0 >= $GSTREAMER_REQUIRED_VERSION -+ gstreamer-controller-1.0 >= $GSTREAMER_REQUIRED_VERSION -+ gstreamer-plugins-base-1.0 >= $GSTREAMER_REQUIRED_VERSION -+ gstreamer-audio-1.0 >= $GSTREAMER_REQUIRED_VERSION -+ gstreamer-fft-1.0 >= $GSTREAMER_REQUIRED_VERSION -+ gstreamer-pbutils-1.0 >= $GSTREAMER_REQUIRED_VERSION -+ gstreamer-tag-1.0 >= $GSTREAMER_REQUIRED_VERSION -+ gstreamer-video-1.0 >= $GSTREAMER_REQUIRED_VERSION) - - AC_SUBST(GST_CFLAGS) - AC_SUBST(GST_LIBS) -diff --git a/data/audio-profiles/wav.xml.in b/data/audio-profiles/wav.xml.in -index 35cd1d2..6dc1bab 100644 ---- a/data/audio-profiles/wav.xml.in -+++ b/data/audio-profiles/wav.xml.in -@@ -14,10 +14,7 @@ - "audioresample" - "audioconvert" - (+ "audio/x-raw-int, " -- "endianness=(int)1234, " -- "width=(int)16, " -- "depth=(int)16, " -- "signed=(boolean)true, " -+ "format=(string)S16LE, " - "rate=(int)44100, " - "channels=(int)2" ) - "wavenc") -diff --git a/libbanshee/banshee-bpmdetector.c b/libbanshee/banshee-bpmdetector.c -index c06ffcb..68b0419 100644 ---- a/libbanshee/banshee-bpmdetector.c -+++ b/libbanshee/banshee-bpmdetector.c -@@ -30,6 +30,7 @@ - # include "config.h" - #endif - -+#include - #include - #include - -@@ -50,7 +51,7 @@ struct BansheeBpmDetector { - - /* - * You can run this pipeline on the cmd line with: -- * gst-launch -m filesrc location=/path/to/my.mp3 ! decodebin2 ! \ -+ * gst-launch -m filesrc location=/path/to/my.mp3 ! decodebin ! \ - * audioconvert ! bpmdetect ! fakesink - */ - -@@ -168,14 +169,14 @@ bbd_new_decoded_pad(GstElement *decodebin, GstPad *pad, - - g_return_if_fail(detector != NULL); - -- audiopad = gst_element_get_pad(detector->audioconvert, "sink"); -+ audiopad = gst_element_get_static_pad(detector->audioconvert, "sink"); - - if(GST_PAD_IS_LINKED(audiopad)) { - g_object_unref(audiopad); - return; - } - -- caps = gst_pad_get_caps(pad); -+ caps = gst_pad_query_caps(pad, NULL); - str = gst_caps_get_structure(caps, 0); - - if(!g_strrstr(gst_structure_get_name(str), "audio")) { -@@ -209,9 +210,9 @@ bbd_pipeline_construct (BansheeBpmDetector *detector) - return FALSE; - } - -- detector->decodebin = gst_element_factory_make ("decodebin2", "decodebin2"); -+ detector->decodebin = gst_element_factory_make ("decodebin", "decodebin"); - if (detector->decodebin == NULL) { -- bbd_raise_error (detector, _("Could not create decodebin2 plugin"), NULL); -+ bbd_raise_error (detector, _("Could not create decodebin plugin"), NULL); - return FALSE; - } - -diff --git a/libbanshee/banshee-gst.h b/libbanshee/banshee-gst.h -index 85662cf..332f356 100644 ---- a/libbanshee/banshee-gst.h -+++ b/libbanshee/banshee-gst.h -@@ -41,9 +41,11 @@ - #define BANSHEE_GST_ITERATOR_ITERATE(iter,child_type,child_name,free,block) { \ - gboolean iter##_done = FALSE; \ - while (!iter##_done) { \ -+ GValue child_value = {0, }; \ - child_type child_name; \ -- switch (gst_iterator_next (iter, (gpointer)&child_name)) { \ -+ switch (gst_iterator_next (iter, &child_value)) { \ - case GST_ITERATOR_OK: { \ -+ child_name = (child_type) g_value_get_object(&child_value); \ - { block; } \ - break; \ - } \ -diff --git a/libbanshee/banshee-player-cdda.c b/libbanshee/banshee-player-cdda.c -index 8be2bdd..401edf0 100644 ---- a/libbanshee/banshee-player-cdda.c -+++ b/libbanshee/banshee-player-cdda.c -@@ -28,7 +28,8 @@ - // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - // - --#include -+#include -+#include - #include "banshee-player-cdda.h" - - // --------------------------------------------------------------------------- -@@ -46,7 +47,7 @@ bp_cdda_get_cdda_source (GstElement *playbin) - - g_object_get (playbin, "source", &source, NULL); - -- if (source == NULL || !GST_IS_CDDA_BASE_SRC (source)) { -+ if (source == NULL || !GST_IS_AUDIO_CD_SRC (source)) { - if (source != NULL) { - g_object_unref (source); - } -diff --git a/libbanshee/banshee-player-dvd.c b/libbanshee/banshee-player-dvd.c -index 55d499c..991b506 100644 ---- a/libbanshee/banshee-player-dvd.c -+++ b/libbanshee/banshee-player-dvd.c -@@ -296,7 +296,7 @@ bp_dvd_go_to_next_chapter (BansheePlayer *player) - { - gint64 index; - GstFormat format = gst_format_get_by_nick ("chapter"); -- gst_element_query_position (player->playbin, &format, &index); -+ gst_element_query_position (player->playbin, format, &index); - gst_element_seek (player->playbin, 1.0, format, GST_SEEK_FLAG_FLUSH, - GST_SEEK_TYPE_SET, index + 1, GST_SEEK_TYPE_NONE, 0); - } -@@ -306,7 +306,7 @@ bp_dvd_go_to_previous_chapter (BansheePlayer *player) - { - gint64 index; - GstFormat format = gst_format_get_by_nick ("chapter"); -- gst_element_query_position (player->playbin, &format, &index); -+ gst_element_query_position (player->playbin, format, &index); - gst_element_seek (player->playbin, 1.0, format, GST_SEEK_FLAG_FLUSH, - GST_SEEK_TYPE_SET, index - 1, GST_SEEK_TYPE_NONE, 0); - } -diff --git a/libbanshee/banshee-player-equalizer.c b/libbanshee/banshee-player-equalizer.c -index a496ada..0cbb3b7 100644 ---- a/libbanshee/banshee-player-equalizer.c -+++ b/libbanshee/banshee-player-equalizer.c -@@ -122,7 +122,7 @@ bp_equalizer_set_gain (BansheePlayer *player, guint bandnum, gdouble gain) - g_return_if_fail (IS_BANSHEE_PLAYER (player)); - - if (player->equalizer != NULL) { -- GstObject *band; -+ GObject *band; - - g_return_if_fail (bandnum < gst_child_proxy_get_children_count (GST_CHILD_PROXY (player->equalizer))); - -@@ -188,7 +188,7 @@ bp_equalizer_get_frequencies (BansheePlayer *player, gdouble **freq) - count = gst_child_proxy_get_children_count (GST_CHILD_PROXY (player->equalizer)); - - for (i = 0; i < count; i++) { -- GstObject *band; -+ GObject *band; - - band = gst_child_proxy_get_child_by_index (GST_CHILD_PROXY (player->equalizer), i); - g_object_get (G_OBJECT (band), "freq", &(*freq)[i], NULL); -diff --git a/libbanshee/banshee-player-missing-elements.c b/libbanshee/banshee-player-missing-elements.c -index 20804c4..30118c5 100644 ---- a/libbanshee/banshee-player-missing-elements.c -+++ b/libbanshee/banshee-player-missing-elements.c -@@ -170,7 +170,7 @@ _bp_missing_elements_handle_state_changed (BansheePlayer *player, GstState old, - } - #endif - -- install_return = gst_install_plugins_async (details, player->install_plugins_context, -+ install_return = gst_install_plugins_async ((const gchar * const*) details, player->install_plugins_context, - bp_missing_elements_handle_install_result, player); - - if (install_return != GST_INSTALL_PLUGINS_STARTED_OK) { -diff --git a/libbanshee/banshee-player-pipeline.c b/libbanshee/banshee-player-pipeline.c -index ed845f3..6c2af35 100644 ---- a/libbanshee/banshee-player-pipeline.c -+++ b/libbanshee/banshee-player-pipeline.c -@@ -76,7 +76,7 @@ playbin_stream_changed_cb (GstElement * element, BansheePlayer *player) - GstMessage *msg; - - // We're being called from the streaming thread, so don't do anything here -- msg = gst_message_new_application (GST_OBJECT (player->playbin), gst_structure_new ("stream-changed", NULL)); -+ msg = gst_message_new_application (GST_OBJECT (player->playbin), gst_structure_new_empty ("stream-changed")); - gst_element_post_message (player->playbin, msg); - } - -@@ -218,6 +218,11 @@ bp_pipeline_bus_callback (GstBus *bus, GstMessage *message, gpointer userdata) - break; - } - -+ case GST_MESSAGE_STREAM_START: { -+ bp_next_track_starting (player); -+ break; -+ } -+ - case GST_MESSAGE_APPLICATION: { - const gchar * name; - const GstStructure * s = gst_message_get_structure (message); -@@ -289,11 +294,11 @@ _bp_pipeline_construct (BansheePlayer *player) - - // Playbin is the core element that handles autoplugging (finding the right - // source and decoder elements) based on source URI and stream content -- player->playbin = gst_element_factory_make ("playbin2", "playbin"); -+ player->playbin = gst_element_factory_make ("playbin", "playbin"); - - #ifdef ENABLE_GAPLESS - // FIXME: Connect a proxy about-to-finish callback that will generate a next-track-starting callback. -- // This can be removed once playbin2 generates its own next-track signal. -+ // This can be removed once playbin generates its own next-track signal. - // bgo#584987 - this is included in >= 0.10.26 - g_signal_connect (player->playbin, "about-to-finish", G_CALLBACK (bp_about_to_finish_callback), player); - #endif //ENABLE_GAPLESS -@@ -305,18 +310,13 @@ _bp_pipeline_construct (BansheePlayer *player) - g_signal_connect (player->playbin, "audio-changed", G_CALLBACK (playbin_stream_changed_cb), player); - g_signal_connect (player->playbin, "text-changed", G_CALLBACK (playbin_stream_changed_cb), player); - -- // Try to find an audio sink, prefer gconf, which typically is set to auto these days, -- // fall back on auto, which should work on windows, and as a last ditch, try alsa -- audiosink = gst_element_factory_make ("gconfaudiosink", "audiosink"); -- if (audiosink == NULL) { -- audiosink = gst_element_factory_make ("directsoundsink", "audiosink"); -- if (audiosink != NULL) { -- g_object_set (G_OBJECT (audiosink), "volume", 1.0, NULL); -- } else { -- audiosink = gst_element_factory_make ("autoaudiosink", "audiosink"); -- if (audiosink == NULL) { -- audiosink = gst_element_factory_make ("alsasink", "audiosink"); -- } -+ audiosink = gst_element_factory_make ("directsoundsink", "audiosink"); -+ if (audiosink != NULL) { -+ g_object_set (G_OBJECT (audiosink), "volume", 1.0, NULL); -+ } else { -+ audiosink = gst_element_factory_make ("autoaudiosink", "audiosink"); -+ if (audiosink == NULL) { -+ audiosink = gst_element_factory_make ("alsasink", "audiosink"); - } - } - -@@ -341,7 +341,6 @@ _bp_pipeline_construct (BansheePlayer *player) - GstIterator *elem_iter = gst_bin_iterate_recurse (GST_BIN (audiosink)); - BANSHEE_GST_ITERATOR_ITERATE (elem_iter, GstElement *, element, TRUE, { - player->audiosink_has_volume |= g_object_class_find_property (G_OBJECT_GET_CLASS (element), "volume") != NULL; -- gst_object_unref (element); - }); - } - bp_debug ("Audiosink has volume: %s", -@@ -383,7 +382,7 @@ _bp_pipeline_construct (BansheePlayer *player) - } - - // Ghost pad the audio bin so audio is passed from the bin into the tee -- teepad = gst_element_get_pad (player->audiotee, "sink"); -+ teepad = gst_element_get_static_pad (player->audiotee, "sink"); - gst_element_add_pad (player->audiobin, gst_ghost_pad_new ("sink", teepad)); - gst_object_unref (teepad); - -@@ -411,8 +410,8 @@ _bp_pipeline_construct (BansheePlayer *player) - gst_bus_add_watch (bus, bp_pipeline_bus_callback, player); - - // Link the first tee pad to the primary audio sink queue -- GstPad *sinkpad = gst_element_get_pad (audiosinkqueue, "sink"); -- pad = gst_element_get_request_pad (player->audiotee, "src%d"); -+ GstPad *sinkpad = gst_element_get_static_pad (audiosinkqueue, "sink"); -+ pad = gst_element_get_request_pad (player->audiotee, "src_%u"); - g_object_set(player->audiotee, "alloc-pad", pad, NULL); - gst_pad_link (pad, sinkpad); - gst_object_unref (GST_OBJECT (pad)); -diff --git a/libbanshee/banshee-player-private.h b/libbanshee/banshee-player-private.h -index 9fed356..9346911 100644 ---- a/libbanshee/banshee-player-private.h -+++ b/libbanshee/banshee-player-private.h -@@ -42,14 +42,14 @@ - #include - #include - #include --#include -+#include - - #if defined(GDK_WINDOWING_X11) - # include --# include -+# include - #elif defined(GDK_WINDOWING_WIN32) - # include --# include -+# include - #endif - - #include "banshee-gst.h" -@@ -155,11 +155,11 @@ struct BansheePlayer { - // Video State - BpVideoDisplayContextType video_display_context_type; - #if defined(GDK_WINDOWING_X11) -- GstXOverlay *xoverlay; -+ GstVideoOverlay *video_overlay; - GdkWindow *video_window; - XID video_window_xid; - #elif defined(GDK_WINDOWING_WIN32) -- GstXOverlay *xoverlay; -+ GstVideoOverlay *video_overlay; - GdkWindow *video_window; - HWND video_window_xid; - #endif -@@ -179,6 +179,8 @@ struct BansheePlayer { - GstFFTF32 *vis_fft; - GstFFTF32Complex *vis_fft_buffer; - gfloat *vis_fft_sample_buffer; -+ GstPad *vis_event_probe_pad; -+ gulong vis_event_probe_id; - - // Plugin Installer State - GdkWindow *window; -@@ -197,6 +199,7 @@ struct BansheePlayer { - // http://replaygain.hydrogenaudio.org/player_scale.html - gdouble rg_gain_history[10]; - gint history_size; -+ gulong rg_pad_block_id; - - //dvd navigation - GstNavigation *navigation; -diff --git a/libbanshee/banshee-player-replaygain.c b/libbanshee/banshee-player-replaygain.c -index a479d4a..e42b197 100644 ---- a/libbanshee/banshee-player-replaygain.c -+++ b/libbanshee/banshee-player-replaygain.c -@@ -79,17 +79,13 @@ static void on_target_gain_changed (GstElement *rgvolume, GParamSpec *pspec, Ban - _bp_rgvolume_print_volume (player); - } - --static void --pad_block_cb (GstPad *srcPad, gboolean blocked, gpointer user_data) -+static GstPadProbeReturn -+pad_block_cb (GstPad *srcPad, GstPadProbeInfo *info, gpointer user_data) - { - BansheePlayer* player; - -- if (!blocked) { -- return; -- } -- - player = (BansheePlayer*) user_data; -- g_return_if_fail (IS_BANSHEE_PLAYER (player)); -+ g_return_val_if_fail (IS_BANSHEE_PLAYER (player), GST_PAD_PROBE_OK); - - // The pad_block_cb can get triggered multiple times, on different threads. - // Lock around the link/unlink code, so we don't end up going through here -@@ -99,11 +95,9 @@ pad_block_cb (GstPad *srcPad, gboolean blocked, gpointer user_data) - if ((player->replaygain_enabled && player->rgvolume_in_pipeline) || - (!player->replaygain_enabled && !player->rgvolume_in_pipeline)) { - // The pipeline is already in the correct state. Unblock the pad, and return. -+ player->rg_pad_block_id = 0; - g_mutex_unlock (player->replaygain_mutex); -- if (gst_pad_is_blocked (srcPad)) { -- gst_pad_set_blocked_async (srcPad, FALSE, &pad_block_cb, player); -- } -- return; -+ return GST_PAD_PROBE_REMOVE; - } - - if (player->rgvolume_in_pipeline) { -@@ -139,13 +133,12 @@ pad_block_cb (GstPad *srcPad, gboolean blocked, gpointer user_data) - } - - // Our state is now consistent -+ player->rg_pad_block_id = 0; - g_mutex_unlock (player->replaygain_mutex); - -- if (gst_pad_is_blocked (srcPad)) { -- gst_pad_set_blocked_async (srcPad, FALSE, &pad_block_cb, player); -- } -- - _bp_rgvolume_print_volume (player); -+ -+ return GST_PAD_PROBE_REMOVE; - } - - // --------------------------------------------------------------------------- -@@ -187,9 +180,9 @@ void _bp_replaygain_pipeline_rebuild (BansheePlayer* player) - srcPad = gst_element_get_static_pad (player->before_rgvolume, "src"); - - if (gst_pad_is_active (srcPad) && !gst_pad_is_blocked (srcPad)) { -- gst_pad_set_blocked_async (srcPad, TRUE, &pad_block_cb, player); -- } else if (srcPad->block_callback == NULL) { -- pad_block_cb (srcPad, TRUE, player); -+ player->rg_pad_block_id = gst_pad_add_probe (srcPad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM, &pad_block_cb, player, NULL); -+ } else if (!player->rg_pad_block_id) { -+ pad_block_cb (srcPad, NULL, player); - } - } - -diff --git a/libbanshee/banshee-player-video.c b/libbanshee/banshee-player-video.c -index b901354..eb95c3f 100644 ---- a/libbanshee/banshee-player-video.c -+++ b/libbanshee/banshee-player-video.c -@@ -37,54 +37,54 @@ - #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32) - - static gboolean --bp_video_find_xoverlay (BansheePlayer *player) -+bp_video_find_video_overlay (BansheePlayer *player) - { - GstElement *video_sink = NULL; -- GstElement *xoverlay; -- GstXOverlay *previous_xoverlay; -- gboolean found_xoverlay; -+ GstElement *video_overlay; -+ GstVideoOverlay *previous_video_overlay; -+ gboolean found_video_overlay; - - g_object_get (player->playbin, "video-sink", &video_sink, NULL); - - g_mutex_lock (player->video_mutex); -- previous_xoverlay = player->xoverlay; -+ previous_video_overlay = player->video_overlay; - - if (video_sink == NULL) { -- player->xoverlay = NULL; -- if (previous_xoverlay != NULL) { -- gst_object_unref (previous_xoverlay); -+ player->video_overlay = NULL; -+ if (previous_video_overlay != NULL) { -+ gst_object_unref (previous_video_overlay); - } - g_mutex_unlock (player->video_mutex); - return FALSE; - } - -- xoverlay = GST_IS_BIN (video_sink) -- ? gst_bin_get_by_interface (GST_BIN (video_sink), GST_TYPE_X_OVERLAY) -+ video_overlay = GST_IS_BIN (video_sink) -+ ? gst_bin_get_by_interface (GST_BIN (video_sink), GST_TYPE_VIDEO_OVERLAY) - : video_sink; - -- player->xoverlay = GST_IS_X_OVERLAY (xoverlay) ? GST_X_OVERLAY (xoverlay) : NULL; -+ player->video_overlay = GST_IS_VIDEO_OVERLAY (video_overlay) ? GST_VIDEO_OVERLAY (video_overlay) : NULL; - -- if (previous_xoverlay != NULL) { -- gst_object_unref (previous_xoverlay); -+ if (previous_video_overlay != NULL) { -+ gst_object_unref (previous_video_overlay); - } - - #if !defined(GDK_WINDOWING_WIN32) // We can't rely on aspect ratio from dshowvideosink -- if (player->xoverlay != NULL && g_object_class_find_property ( -- G_OBJECT_GET_CLASS (player->xoverlay), "force-aspect-ratio")) { -- g_object_set (G_OBJECT (player->xoverlay), "force-aspect-ratio", TRUE, NULL); -+ if (player->video_overlay != NULL && g_object_class_find_property ( -+ G_OBJECT_GET_CLASS (player->video_overlay), "force-aspect-ratio")) { -+ g_object_set (G_OBJECT (player->video_overlay), "force-aspect-ratio", TRUE, NULL); - } - #endif - -- if (player->xoverlay != NULL && g_object_class_find_property ( -- G_OBJECT_GET_CLASS (player->xoverlay), "handle-events")) { -- g_object_set (G_OBJECT (player->xoverlay), "handle-events", FALSE, NULL); -+ if (player->video_overlay != NULL && g_object_class_find_property ( -+ G_OBJECT_GET_CLASS (player->video_overlay), "handle-events")) { -+ g_object_set (G_OBJECT (player->video_overlay), "handle-events", FALSE, NULL); - } - - gst_object_unref (video_sink); -- found_xoverlay = (player->xoverlay != NULL) ? TRUE : FALSE; -+ found_video_overlay = (player->video_overlay != NULL) ? TRUE : FALSE; - - g_mutex_unlock (player->video_mutex); -- return found_xoverlay; -+ return found_video_overlay; - } - - #endif /* GDK_WINDOWING_X11 || GDK_WINDOWING_WIN32 */ -@@ -130,27 +130,27 @@ bp_video_sink_element_added (GstBin *videosink, GstElement *element, BansheePlay - g_return_if_fail (IS_BANSHEE_PLAYER (player)); - - #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32) -- bp_video_find_xoverlay (player); -+ bp_video_find_video_overlay (player); - #endif - } - - static void - bp_video_bus_element_sync_message (GstBus *bus, GstMessage *message, BansheePlayer *player) - { -- gboolean found_xoverlay; -+ gboolean found_video_overlay; - - g_return_if_fail (IS_BANSHEE_PLAYER (player)); - - #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32) - -- if (message->structure == NULL || !gst_structure_has_name (message->structure, "prepare-xwindow-id")) { -+ if (!gst_is_video_overlay_prepare_window_handle_message (message)) { - return; - } - -- found_xoverlay = bp_video_find_xoverlay (player); -+ found_video_overlay = bp_video_find_video_overlay (player); - -- if (found_xoverlay) { -- gst_x_overlay_set_xwindow_id (player->xoverlay, player->video_window_xid); -+ if (found_video_overlay) { -+ gst_video_overlay_set_window_handle (player->video_overlay, player->video_window_xid); - } - - #endif -@@ -164,7 +164,7 @@ static void - cb_caps_set (GObject *obj, GParamSpec *pspec, BansheePlayer *p) - { - GstStructure * s = NULL; -- GstCaps * caps = gst_pad_get_negotiated_caps (GST_PAD (obj)); -+ GstCaps * caps = gst_pad_get_current_caps (GST_PAD (obj)); - - if (G_UNLIKELY (!caps)) { - return; -@@ -219,7 +219,7 @@ _bp_parse_stream_info (BansheePlayer *player) - } - - if (G_LIKELY (vpad)) { -- GstCaps *caps = gst_pad_get_negotiated_caps (vpad); -+ GstCaps *caps = gst_pad_get_current_caps (vpad); - if (G_LIKELY (caps)) { - cb_caps_set (G_OBJECT (vpad), NULL, player); - gst_caps_unref (caps); -@@ -249,21 +249,18 @@ _bp_video_pipeline_setup (BansheePlayer *player, GstBus *bus) - - player->video_display_context_type = BP_VIDEO_DISPLAY_CONTEXT_GDK_WINDOW; - -- videosink = gst_element_factory_make ("gconfvideosink", "videosink"); -+ videosink = gst_element_factory_make ("autovideosink", "videosink"); - if (videosink == NULL) { -- videosink = gst_element_factory_make ("autovideosink", "videosink"); -- if (videosink == NULL) { -- player->video_display_context_type = BP_VIDEO_DISPLAY_CONTEXT_UNSUPPORTED; -- videosink = gst_element_factory_make ("fakesink", "videosink"); -- if (videosink != NULL) { -- g_object_set (G_OBJECT (videosink), "sync", TRUE, NULL); -- } -+ player->video_display_context_type = BP_VIDEO_DISPLAY_CONTEXT_UNSUPPORTED; -+ videosink = gst_element_factory_make ("fakesink", "videosink"); -+ if (videosink != NULL) { -+ g_object_set (G_OBJECT (videosink), "sync", TRUE, NULL); - } - } - - g_object_set (G_OBJECT (player->playbin), "video-sink", videosink, NULL); - -- gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, player); -+ gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, player, NULL); - g_signal_connect (bus, "sync-message::element", G_CALLBACK (bp_video_bus_element_sync_message), player); - - if (GST_IS_BIN (videosink)) { -@@ -349,21 +346,21 @@ bp_video_window_expose (BansheePlayer *player, GdkWindow *window, gboolean direc - { - g_return_if_fail (IS_BANSHEE_PLAYER (player)); - -- if (direct && player->xoverlay != NULL && GST_IS_X_OVERLAY (player->xoverlay)) { -- gst_x_overlay_expose (player->xoverlay); -+ if (direct && player->video_overlay != NULL && GST_IS_VIDEO_OVERLAY (player->video_overlay)) { -+ gst_video_overlay_expose (player->video_overlay); - return; - } - -- if (player->xoverlay == NULL && !bp_video_find_xoverlay (player)) { -+ if (player->video_overlay == NULL && !bp_video_find_video_overlay (player)) { - return; - } - -- gst_object_ref (player->xoverlay); -+ gst_object_ref (player->video_overlay); - -- gst_x_overlay_set_xwindow_id (player->xoverlay, player->video_window_xid); -- gst_x_overlay_expose (player->xoverlay); -+ gst_video_overlay_set_window_handle (player->video_overlay, player->video_window_xid); -+ gst_video_overlay_expose (player->video_overlay); - -- gst_object_unref (player->xoverlay); -+ gst_object_unref (player->video_overlay); - } - - // MUST be called from the GTK main thread; calling it in OnRealized will do the right thing. -@@ -379,7 +376,7 @@ bp_video_window_realize (BansheePlayer *player, GdkWindow *window) - // //Explicitly create the native window. GDK_WINDOW_XWINDOW will call this - // //function anyway, but this way we can raise a more useful message should it fail. - // if (!gdk_window_ensure_native (window)) { --// banshee_log (BANSHEE_LOG_TYPE_ERROR, "player-video", "Couldn't create native window needed for GstXOverlay!"); -+// banshee_log (BANSHEE_LOG_TYPE_ERROR, "player-video", "Couldn't create native window needed for GstVideoOverlay!"); - // } - //#endif - -diff --git a/libbanshee/banshee-player-vis.c b/libbanshee/banshee-player-vis.c -index 5787c87..7e7dc78 100644 ---- a/libbanshee/banshee-player-vis.c -+++ b/libbanshee/banshee-player-vis.c -@@ -27,17 +27,17 @@ - // - - #include -+#include - - #include "banshee-player-vis.h" - - #define SLICE_SIZE 735 - - static GstStaticCaps vis_data_sink_caps = GST_STATIC_CAPS ( -- "audio/x-raw-float, " -+ "audio/x-raw, " -+ "format = (string) " GST_AUDIO_NE(F32) ", " - "rate = (int) 44100, " -- "channels = (int) 2, " -- "endianness = (int) BYTE_ORDER, " -- "width = (int) 32" -+ "channels = (int) 2" - ); - - // --------------------------------------------------------------------------- -@@ -48,6 +48,7 @@ static void - bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer userdata) - { - BansheePlayer *player = (BansheePlayer*)userdata; -+ GstCaps *caps; - GstStructure *structure; - gint channels, wanted_size; - gfloat *data; -@@ -69,14 +70,16 @@ bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer u - player->vis_thawing = FALSE; - } - -- structure = gst_caps_get_structure (gst_buffer_get_caps (buffer), 0); -+ caps = gst_pad_get_current_caps (pad); -+ structure = gst_caps_get_structure (caps, 0); - gst_structure_get_int (structure, "channels", &channels); -+ gst_caps_unref (caps); - - wanted_size = channels * SLICE_SIZE * sizeof (gfloat); - -- gst_adapter_push (player->vis_buffer, gst_buffer_copy (buffer)); -+ gst_adapter_push (player->vis_buffer, gst_buffer_ref (buffer)); - -- while ((data = (gfloat *)gst_adapter_peek (player->vis_buffer, wanted_size)) != NULL) { -+ while ((data = (gfloat *)gst_adapter_map (player->vis_buffer, wanted_size)) != NULL) { - gfloat *deinterlaced = g_malloc (wanted_size); - gfloat *specbuf = g_new (gfloat, SLICE_SIZE * 2); - -@@ -124,6 +127,7 @@ bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer u - g_free (deinterlaced); - g_free (specbuf); - -+ gst_adapter_unmap (player->vis_buffer); - gst_adapter_flush (player->vis_buffer, wanted_size); - } - } -@@ -132,65 +136,28 @@ bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer u - // Internal Functions - // --------------------------------------------------------------------------- - --static void --_bp_vis_pipeline_block_callback (GstPad *pad, gboolean blocked, gpointer data) -+static GstPadProbeReturn -+_bp_vis_pipeline_event_probe (GstPad *pad, GstPadProbeInfo *info, gpointer data) - { - BansheePlayer *player = (BansheePlayer *) data; -+ GstEvent *event; - -- if (!blocked) { -- // Set thawing mode (discards buffers that are too old from the queue). -- player->vis_thawing = TRUE; -- } --} -- --static void --_bp_vis_pipeline_set_blocked (BansheePlayer *player, gboolean blocked) --{ -- GstPad *queue_sink; -- -- if (player->vis_resampler == NULL) -- return; -- -- queue_sink = gst_element_get_static_pad (player->vis_resampler, "src"); -- -- gst_pad_set_blocked_async (queue_sink, blocked, _bp_vis_pipeline_block_callback, (gpointer) player); -- -- gst_object_unref (GST_OBJECT (queue_sink)); --} -- --static gboolean --_bp_vis_pipeline_event_probe (GstPad *pad, GstEvent *event, gpointer data) --{ -- BansheePlayer *player = (BansheePlayer *) data; -+ if ((info->type & GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) == 0) -+ return GST_PAD_PROBE_PASS; - -+ event = GST_EVENT (info->data); - switch (GST_EVENT_TYPE (event)) { - case GST_EVENT_FLUSH_START: - case GST_EVENT_FLUSH_STOP: - case GST_EVENT_SEEK: -- case GST_EVENT_NEWSEGMENT: -+ case GST_EVENT_SEGMENT: - case GST_EVENT_CUSTOM_DOWNSTREAM: - player->vis_thawing = TRUE; - - default: break; - } - -- if (player->vis_enabled) -- return TRUE; -- -- switch (GST_EVENT_TYPE (event)) { -- case GST_EVENT_EOS: -- case GST_EVENT_CUSTOM_DOWNSTREAM_OOB: -- _bp_vis_pipeline_set_blocked (player, FALSE); -- break; -- case GST_EVENT_CUSTOM_DOWNSTREAM: -- case GST_EVENT_NEWSEGMENT: -- _bp_vis_pipeline_set_blocked (player, TRUE); -- break; -- -- default: break; -- } -- -- return TRUE; -+ return GST_PAD_PROBE_PASS; - } - - void -@@ -212,9 +179,8 @@ _bp_vis_pipeline_setup (BansheePlayer *player) - // Core elements, if something fails here, it's the end of the world - audiosinkqueue = gst_element_factory_make ("queue", "vis-queue"); - -- pad = gst_element_get_static_pad (audiosinkqueue, "sink"); -- gst_pad_add_event_probe (pad, G_CALLBACK (_bp_vis_pipeline_event_probe), player); -- gst_object_unref (GST_OBJECT (pad)); -+ player->vis_event_probe_pad = gst_element_get_static_pad (audiosinkqueue, "sink"); -+ player->vis_event_probe_id = gst_pad_add_probe (player->vis_event_probe_pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM, _bp_vis_pipeline_event_probe, player, NULL); - - resampler = gst_element_factory_make ("audioresample", "vis-resample"); - converter = gst_element_factory_make ("audioconvert", "vis-convert"); -@@ -255,7 +221,7 @@ _bp_vis_pipeline_setup (BansheePlayer *player) - converter, fakesink, NULL); - - pad = gst_element_get_static_pad (audiosinkqueue, "sink"); -- teepad = gst_element_get_request_pad (player->audiotee, "src%d"); -+ teepad = gst_element_get_request_pad (player->audiotee, "src_%u"); - gst_pad_link (teepad, pad); - gst_object_unref (GST_OBJECT (teepad)); - gst_object_unref (GST_OBJECT (pad)); -@@ -270,14 +236,17 @@ _bp_vis_pipeline_setup (BansheePlayer *player) - player->vis_resampler = resampler; - player->vis_thawing = FALSE; - player->vis_enabled = FALSE; -- -- // Disable the pipeline till we hear otherwise from managed land. -- _bp_vis_pipeline_set_blocked (player, TRUE); - } - - void - _bp_vis_pipeline_destroy (BansheePlayer *player) - { -+ if (player->vis_event_probe_pad) { -+ gst_pad_remove_probe (player->vis_event_probe_pad, player->vis_event_probe_id); -+ gst_object_unref (GST_OBJECT (player->vis_event_probe_pad)); -+ player->vis_event_probe_pad = NULL; -+ } -+ - if (player->vis_buffer != NULL) { - gst_object_unref (player->vis_buffer); - player->vis_buffer = NULL; -@@ -315,6 +284,5 @@ bp_set_vis_data_callback (BansheePlayer *player, BansheePlayerVisDataCallback cb - - player->vis_data_cb = cb; - -- _bp_vis_pipeline_set_blocked (player, cb == NULL); - player->vis_enabled = cb != NULL; - } -diff --git a/libbanshee/banshee-player.c b/libbanshee/banshee-player.c -index c655a72..b8f98b8 100644 ---- a/libbanshee/banshee-player.c -+++ b/libbanshee/banshee-player.c -@@ -250,12 +250,11 @@ bp_set_position (BansheePlayer *player, guint64 time_ms) - P_INVOKE guint64 - bp_get_position (BansheePlayer *player) - { -- static GstFormat format = GST_FORMAT_TIME; - gint64 position; - - g_return_val_if_fail (IS_BANSHEE_PLAYER (player), 0); - -- if (player->playbin != NULL && gst_element_query_position (player->playbin, &format, &position)) { -+ if (player->playbin != NULL && gst_element_query_position (player->playbin, GST_FORMAT_TIME, &position)) { - return position / GST_MSECOND; - } - -@@ -265,12 +264,11 @@ bp_get_position (BansheePlayer *player) - P_INVOKE guint64 - bp_get_duration (BansheePlayer *player) - { -- static GstFormat format = GST_FORMAT_TIME; - gint64 duration; - - g_return_val_if_fail (IS_BANSHEE_PLAYER (player), 0); - -- if (player->playbin != NULL && gst_element_query_duration (player->playbin, &format, &duration)) { -+ if (player->playbin != NULL && gst_element_query_duration (player->playbin, GST_FORMAT_TIME, &duration)) { - return duration / GST_MSECOND; - } - -@@ -446,7 +444,6 @@ bp_set_subtitle_uri (BansheePlayer *player, const gchar *uri) - g_return_if_fail (IS_BANSHEE_PLAYER (player)); - gint64 pos = -1; - GstState state; -- GstFormat format = GST_FORMAT_BYTES; - gboolean paused = FALSE; - - // Gstreamer playbin do not support to set suburi during playback -@@ -454,7 +451,7 @@ bp_set_subtitle_uri (BansheePlayer *player, const gchar *uri) - gst_element_get_state (player->playbin, &state, NULL, 0); - paused = (state == GST_STATE_PAUSED); - if (state >= GST_STATE_PAUSED) { -- gst_element_query_position (player->playbin, &format, &pos); -+ gst_element_query_position (player->playbin, GST_FORMAT_BYTES, &pos); - gst_element_set_state (player->playbin, GST_STATE_READY); - // Force to wait asynch operation - gst_element_get_state (player->playbin, &state, NULL, -1); -@@ -467,7 +464,7 @@ bp_set_subtitle_uri (BansheePlayer *player, const gchar *uri) - gst_element_get_state (player->playbin, &state, NULL, -1); - - if (pos != -1) { -- gst_element_seek_simple (player->playbin, format, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, pos); -+ gst_element_seek_simple (player->playbin, GST_FORMAT_BYTES, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, pos); - } - } - -diff --git a/libbanshee/banshee-ripper.c b/libbanshee/banshee-ripper.c -index e0e8c85..b3f8fed 100644 ---- a/libbanshee/banshee-ripper.c -+++ b/libbanshee/banshee-ripper.c -@@ -85,7 +85,6 @@ br_raise_error (BansheeRipper *ripper, const gchar *error, const gchar *debug) - static gboolean - br_iterate_timeout (BansheeRipper *ripper) - { -- GstFormat format = GST_FORMAT_TIME; - GstState state; - gint64 position; - -@@ -96,7 +95,7 @@ br_iterate_timeout (BansheeRipper *ripper) - return TRUE; - } - -- if (!gst_element_query_position (ripper->cddasrc, &format, &position)) { -+ if (!gst_element_query_position (ripper->cddasrc, GST_FORMAT_TIME, &position)) { - return TRUE; - } - -@@ -142,8 +141,9 @@ br_encoder_probe_mime_type (GstBin *bin) - GstIterator *pad_iter = gst_element_iterate_src_pads (element); - - BANSHEE_GST_ITERATOR_ITERATE (pad_iter, GstPad *, pad, TRUE, { -- GstStructure *str = GST_PAD_CAPS (pad) != NULL -- ? gst_caps_get_structure (GST_PAD_CAPS (pad), 0) -+ GstCaps *caps = gst_pad_get_current_caps (pad); -+ GstStructure *str = caps != NULL -+ ? gst_caps_get_structure (caps, 0) - : NULL; - - if (str != NULL) { -@@ -171,11 +171,8 @@ br_encoder_probe_mime_type (GstBin *bin) - preferred_mimetype = mimetype; - } - } -- -- gst_object_unref (pad); -+ gst_caps_unref (caps); - }); -- -- gst_object_unref (element); - }); - - return preferred_mimetype; -@@ -271,7 +268,7 @@ br_pipeline_construct (BansheeRipper *ripper) - return FALSE; - } - -- ripper->cddasrc = gst_element_make_from_uri (GST_URI_SRC, "cdda://1", "cddasrc"); -+ ripper->cddasrc = gst_element_make_from_uri (GST_URI_SRC, "cdda://1", "cddasrc", NULL); - if (ripper->cddasrc == NULL) { - br_raise_error (ripper, _("Could not initialize element from cdda URI"), NULL); - return FALSE; -@@ -405,7 +402,6 @@ br_rip_track (BansheeRipper *ripper, gint track_number, gchar *output_path, - - // We'll warn the user in the UI if we can't tag the encoded audio files - *tagging_supported = TRUE; -- gst_object_unref (element); - } - }); - -diff --git a/libbanshee/banshee-tagger.c b/libbanshee/banshee-tagger.c -index ca15e8f..762dfa9 100644 ---- a/libbanshee/banshee-tagger.c -+++ b/libbanshee/banshee-tagger.c -@@ -69,7 +69,7 @@ bt_tag_list_foreach (const GstTagList *list, const gchar *tag, gpointer userdata - GstTagList * - bt_tag_list_new () - { -- return gst_tag_list_new (); -+ return gst_tag_list_new_empty (); - } - - void -diff --git a/libbanshee/banshee-transcoder.c b/libbanshee/banshee-transcoder.c -index 10fc35c..0e241f0 100644 ---- a/libbanshee/banshee-transcoder.c -+++ b/libbanshee/banshee-transcoder.c -@@ -64,14 +64,13 @@ gst_transcoder_raise_error(GstTranscoder *transcoder, const gchar *error, const - static gboolean - gst_transcoder_iterate_timeout(GstTranscoder *transcoder) - { -- GstFormat format = GST_FORMAT_TIME; - gint64 position; - gint64 duration; - - g_return_val_if_fail(transcoder != NULL, FALSE); - -- if(!gst_element_query_duration(transcoder->pipeline, &format, &duration) || -- !gst_element_query_position(transcoder->sink_bin, &format, &position)) { -+ if(!gst_element_query_duration(transcoder->pipeline, GST_FORMAT_TIME, &duration) || -+ !gst_element_query_position(transcoder->sink_bin, GST_FORMAT_TIME, &position)) { - return TRUE; - } - -@@ -196,14 +195,14 @@ gst_transcoder_new_decoded_pad(GstElement *decodebin, GstPad *pad, - - g_return_if_fail(transcoder != NULL); - -- audiopad = gst_element_get_pad(transcoder->sink_bin, "sink"); -+ audiopad = gst_element_get_static_pad(transcoder->sink_bin, "sink"); - - if(GST_PAD_IS_LINKED(audiopad)) { - g_object_unref(audiopad); - return; - } - -- caps = gst_pad_get_caps(pad); -+ caps = gst_pad_query_caps(pad, NULL); - str = gst_caps_get_structure(caps, 0); - - if(!g_strrstr(gst_structure_get_name(str), "audio")) { -@@ -235,19 +234,19 @@ gst_transcoder_create_pipeline(GstTranscoder *transcoder, - - transcoder->pipeline = gst_pipeline_new("pipeline"); - -- source_elem = gst_element_make_from_uri(GST_URI_SRC, input_uri, "source"); -+ source_elem = gst_element_make_from_uri(GST_URI_SRC, input_uri, "source", NULL); - if(source_elem == NULL) { - gst_transcoder_raise_error(transcoder, _("Could not create source element"), NULL); - return FALSE; - } - -- decoder_elem = gst_element_factory_make("decodebin2", "decodebin2"); -+ decoder_elem = gst_element_factory_make("decodebin", "decodebin"); - if(decoder_elem == NULL) { -- gst_transcoder_raise_error(transcoder, _("Could not create decodebin2 plugin"), NULL); -+ gst_transcoder_raise_error(transcoder, _("Could not create decodebin plugin"), NULL); - return FALSE; - } - -- sink_elem = gst_element_make_from_uri(GST_URI_SINK, output_uri, "sink"); -+ sink_elem = gst_element_make_from_uri(GST_URI_SINK, output_uri, "sink", NULL); - if(sink_elem == NULL) { - gst_transcoder_raise_error(transcoder, _("Could not create sink element"), NULL); - return FALSE; -@@ -277,7 +276,7 @@ gst_transcoder_create_pipeline(GstTranscoder *transcoder, - return FALSE; - } - -- encoder_pad = gst_element_get_pad(conv_elem, "sink"); -+ encoder_pad = gst_element_get_static_pad(conv_elem, "sink"); - if(encoder_pad == NULL) { - gst_transcoder_raise_error(transcoder, _("Could not get sink pad from encoder"), NULL); - return FALSE; --- -1.7.10.4 \ No newline at end of file diff --git a/extra/bitlbee/install b/extra/bitlbee/install deleted file mode 100644 index b0dd5511d..000000000 --- a/extra/bitlbee/install +++ /dev/null @@ -1,14 +0,0 @@ -post_install() { - getent group bitlbee &>/dev/null || groupadd -r -g 65 bitlbee >/dev/null - getent passwd bitlbee &>/dev/null || useradd -r -u 65 -g bitlbee -d /var/lib/bitlbee -s /bin/false -c bitlbee bitlbee >/dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - getent passwd bitlbee &>/dev/null && userdel bitlbee >/dev/null - getent group bitlbee &>/dev/null && groupdel bitlbee >/dev/null - true -} diff --git a/extra/bitlbee/sbindir.patch b/extra/bitlbee/sbindir.patch deleted file mode 100644 index 7640508f7..000000000 --- a/extra/bitlbee/sbindir.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -aur old/Makefile new/Makefile ---- old/Makefile 2012-02-18 21:55:09.000000000 +1100 -+++ new/Makefile 2012-02-20 18:28:08.716130584 +1100 -@@ -135,8 +135,8 @@ - - systemd: - ifdef SYSTEMDSYSTEMUNITDIR -- sed 's|@sbindir@|$(BINDIR)|' init/bitlbee.service.in > init/bitlbee.service -- sed 's|@sbindir@|$(BINDIR)|' init/bitlbee@.service.in > init/bitlbee@.service -+ sed 's|@sbindir@|$(SBINDIR)|' init/bitlbee.service.in > init/bitlbee.service -+ sed 's|@sbindir@|$(SBINDIR)|' init/bitlbee@.service.in > init/bitlbee@.service - endif - - install-systemd: diff --git a/extra/blas/LICENSE.blas b/extra/blas/LICENSE.blas deleted file mode 100644 index 79f38386e..000000000 --- a/extra/blas/LICENSE.blas +++ /dev/null @@ -1,19 +0,0 @@ -From: http://www.netlib.org/blas/faq.html - - 2) Are there legal restrictions on the use of BLAS reference - implementation software? - -The reference BLAS is a freely-available software package. It is -available from netlib via anonymous ftp and the World Wide Web. Thus, -it can be included in commercial software packages (and has been). We -only ask that proper credit be given to the authors. - -Like all software, it is copyrighted. It is not trademarked, but we do -ask the following: - -If you modify the source for these routines we ask that you change the -name of the routine and comment the changes made to the original. - -We will gladly answer any questions regarding the software. If a -modification is done, however, it is the responsibility of the person -who modified the routine to provide support. diff --git a/extra/blas/Makefile.blas b/extra/blas/Makefile.blas deleted file mode 100644 index 7126cbb19..000000000 --- a/extra/blas/Makefile.blas +++ /dev/null @@ -1,178 +0,0 @@ -include ../../make.inc - -####################################################################### -# This is the makefile to create a library for the BLAS. -# The files are grouped as follows: -# -# SBLAS1 -- Single precision real BLAS routines -# CBLAS1 -- Single precision complex BLAS routines -# DBLAS1 -- Double precision real BLAS routines -# ZBLAS1 -- Double precision complex BLAS routines -# -# CB1AUX -- Real BLAS routines called by complex routines -# ZB1AUX -- D.P. real BLAS routines called by d.p. complex -# routines -# -# ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS -# -# SBLAS2 -- Single precision real BLAS2 routines -# CBLAS2 -- Single precision complex BLAS2 routines -# DBLAS2 -- Double precision real BLAS2 routines -# ZBLAS2 -- Double precision complex BLAS2 routines -# -# SBLAS3 -- Single precision real BLAS3 routines -# CBLAS3 -- Single precision complex BLAS3 routines -# DBLAS3 -- Double precision real BLAS3 routines -# ZBLAS3 -- Double precision complex BLAS3 routines -# -# The library can be set up to include routines for any combination -# of the four precisions. To create or add to the library, enter make -# followed by one or more of the precisions desired. Some examples: -# make single -# make single complex -# make single double complex complex16 -# Note that these commands are not safe for parallel builds. -# -# Alternatively, the commands -# make all -# or -# make -# without any arguments creates a library of all four precisions. -# The name of the library is held in BLASLIB, which is set in the -# top-level make.inc -# -# To remove the object files after the library is created, enter -# make clean -# To force the source files to be recompiled, enter, for example, -# make single FRC=FRC -# -#--------------------------------------------------------------------- -# -# Edward Anderson, University of Tennessee -# March 26, 1990 -# Susan Ostrouchov, Last updated September 30, 1994 -# ejr, May 2006. -# -####################################################################### - -all: $(BLASLIB) - -#--------------------------------------------------------- -# Comment out the next 6 definitions if you already have -# the Level 1 BLAS. -#--------------------------------------------------------- -SBLAS1 = isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \ - srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o -$(SBLAS1): $(FRC) - -CBLAS1 = scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \ - cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o -$(CBLAS1): $(FRC) - -DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \ - drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o -$(DBLAS1): $(FRC) - -ZBLAS1 = dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \ - zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o -$(ZBLAS1): $(FRC) - -CB1AUX = isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o -$(CB1AUX): $(FRC) - -ZB1AUX = idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o -$(ZB1AUX): $(FRC) - -#--------------------------------------------------------------------- -# The following line defines auxiliary routines needed by both the -# Level 2 and Level 3 BLAS. Comment it out only if you already have -# both the Level 2 and 3 BLAS. -#--------------------------------------------------------------------- -ALLBLAS = lsame.o xerbla.o xerbla_array.o -$(ALLBLAS) : $(FRC) - -#--------------------------------------------------------- -# Comment out the next 4 definitions if you already have -# the Level 2 BLAS. -#--------------------------------------------------------- -SBLAS2 = sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \ - strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \ - sger.o ssyr.o sspr.o ssyr2.o sspr2.o -$(SBLAS2): $(FRC) - -CBLAS2 = cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \ - ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \ - cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o -$(CBLAS2): $(FRC) - -DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \ - dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \ - dger.o dsyr.o dspr.o dsyr2.o dspr2.o -$(DBLAS2): $(FRC) - -ZBLAS2 = zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \ - ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \ - zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o -$(ZBLAS2): $(FRC) - -#--------------------------------------------------------- -# Comment out the next 4 definitions if you already have -# the Level 3 BLAS. -#--------------------------------------------------------- -SBLAS3 = sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o -$(SBLAS3): $(FRC) - -CBLAS3 = cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \ - chemm.o cherk.o cher2k.o -$(CBLAS3): $(FRC) - -DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o -$(DBLAS3): $(FRC) - -ZBLAS3 = zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \ - zhemm.o zherk.o zher2k.o -$(ZBLAS3): $(FRC) - -ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \ - $(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) \ - $(ZBLAS2) $(ZBLAS3) $(ALLBLAS) - -$(BLASLIB): $(ALLOBJ) - $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) - $(RANLIB) $@ - -single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3) - $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \ - $(SBLAS2) $(SBLAS3) - $(RANLIB) $(BLASLIB) - -double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3) - $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \ - $(DBLAS2) $(DBLAS3) - $(RANLIB) $(BLASLIB) - -complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3) - $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \ - $(ALLBLAS) $(CBLAS2) $(CBLAS3) - $(RANLIB) $(BLASLIB) - -complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3) - $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \ - $(ALLBLAS) $(ZBLAS2) $(ZBLAS3) - $(RANLIB) $(BLASLIB) - -FRC: - @FRC=$(FRC) - -clean: - rm -f *.o libblas.a libblas.so* - -static: $(ALLOBJ) - ar ruv libblas.a $(ALLOBJ) - ranlib libblas.a - -shared: $(ALLOBJ) - cc $(CFLAGS) -shared -Wl,-soname,libblas.so.3 -o libblas.so.3.4.1 $(ALLOBJ) -lm -lgfortran -lc - -#.f.o: -# $(FORTRAN) $(OPTS) -c $< -o $@ diff --git a/extra/blas/PKGBUILD b/extra/blas/PKGBUILD deleted file mode 100755 index b5b65cbc5..000000000 --- a/extra/blas/PKGBUILD +++ /dev/null @@ -1,52 +0,0 @@ -# $Id: PKGBUILD 130989 2011-07-09 12:22:58Z ronald $ -# Maintainer: Ronald van Haren -# Contributor: Jan de Groot -# Contributor: damir -# Contributor: Jason Taylor - -pkgname=blas -pkgver=3.4.1 -pkgrel=1 -url="http://www.netlib.org/blas" -makedepends=('gcc-fortran') -depends=('gcc-libs') -pkgdesc="Basic Linear Algebra Subprograms" -arch=('i686' 'x86_64') -license=("custom") -source=(http://www.netlib.org/lapack/lapack-${pkgver}.tgz - Makefile.blas - LICENSE.blas) -sha1sums=('c115223ac1bac9ab971aae865d3e95442bc979bc' - 'f9eb47d6713894eaaffbf2d9b2942a777e3f5ef9' - '2491a151a37f0162b25fc4e4e9a8ac444b574a76') - -build() { - cd "${srcdir}/lapack-${pkgver}" - cp -f "${srcdir}/Makefile.blas" BLAS/SRC/Makefile - cp -f INSTALL/make.inc.gfortran make.inc - - export FC=gfortran - - pushd BLAS/SRC - make clean -# FFLAGS="${CFLAGS/-O?/-O0}" make dcabs1.o - FFLAGS="${CFLAGS} -fPIC" CFLAGS="${CFLAGS} -fPIC" CXXFLAGS="${CXXFLAGS} -fPIC" make shared - cp libblas.so.${pkgver} "${srcdir}/lapack-${pkgver}/" - - popd - ln -s libblas.so.${pkgver} libblas.so - -} - -package_blas() { - install -m755 -d "${pkgdir}/usr/lib" - install -m755 "${srcdir}/lapack-${pkgver}/libblas.so.${pkgver}" \ - "${pkgdir}/usr/lib/" - ln -sf libblas.so.${pkgver} "${pkgdir}/usr/lib/libblas.so" - ln -sf libblas.so.${pkgver} "${pkgdir}/usr/lib/libblas.so.3" - - install -m755 -d "${pkgdir}/usr/share/licenses/blas" - install -m644 "${srcdir}/LICENSE.blas" \ - "${pkgdir}/usr/share/licenses/blas/LICENSE" -} - diff --git a/extra/blas/lapack-3.1.1-make.inc.patch b/extra/blas/lapack-3.1.1-make.inc.patch deleted file mode 100644 index c807ccbf9..000000000 --- a/extra/blas/lapack-3.1.1-make.inc.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- lapack-3.1.1/INSTALL/make.inc.gfortran.BAD 2007-05-25 15:34:55.000000000 -0500 -+++ lapack-3.1.1/INSTALL/make.inc.gfortran 2007-05-25 15:35:51.000000000 -0500 -@@ -8,7 +8,7 @@ SHELL = /bin/sh - # - # The machine (platform) identifier to append to the library names - # --PLAT = _LINUX -+PLAT = - # - # Modify the FORTRAN and OPTS definitions to refer to the - # compiler and desired compiler options for your machine. NOOPT -@@ -17,9 +17,9 @@ PLAT = _LINUX - # desired load options for your machine. - # - FORTRAN = gfortran --OPTS = -O2 -+#OPTS = -O2 - DRVOPTS = $(OPTS) --NOOPT = -O0 -+NOOPT = - LOADER = gfortran - LOADOPTS = - # diff --git a/extra/bluez/0001-udev-remove-deprecated-function.patch b/extra/bluez/0001-udev-remove-deprecated-function.patch deleted file mode 100644 index 7dadf5cd1..000000000 --- a/extra/bluez/0001-udev-remove-deprecated-function.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 9e850650bd98e9d05fc937489692b26a64924d16 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Sun, 27 May 2012 00:53:36 +0200 -Subject: [PATCH] udev: remove deprecated function - -This function has in the past returned "/sys" unconditionally. As of udev-183 it -is gone, so just replace it with the string. ---- - tools/hid2hci.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/hid2hci.c b/tools/hid2hci.c -index 45a3a3d..e3a5b2e 100644 ---- a/tools/hid2hci.c -+++ b/tools/hid2hci.c -@@ -291,7 +291,7 @@ int main(int argc, char *argv[]) - if (udev == NULL) - goto exit; - -- snprintf(syspath, sizeof(syspath), "%s/%s", udev_get_sys_path(udev), devpath); -+ snprintf(syspath, sizeof(syspath), "/sys/%s", devpath); - udev_dev = udev_device_new_from_syspath(udev, syspath); - if (udev_dev == NULL) { - fprintf(stderr, "error: could not find '%s'\n", devpath); --- -1.7.10.2 - diff --git a/extra/bluez/org.bluez.service b/extra/bluez/org.bluez.service deleted file mode 100644 index dd7ae8f1c..000000000 --- a/extra/bluez/org.bluez.service +++ /dev/null @@ -1,5 +0,0 @@ -[D-BUS Service] -Name=org.bluez -Exec=/bin/false -User=root -SystemdService=dbus-org.bluez.service diff --git a/extra/bmp-musepack/PKGBUILD b/extra/bmp-musepack/PKGBUILD deleted file mode 100644 index 408e4113d..000000000 --- a/extra/bmp-musepack/PKGBUILD +++ /dev/null @@ -1,28 +0,0 @@ -# $Id: PKGBUILD 137709 2011-09-10 13:05:29Z pierre $ -# Maintainer: damir -# Contributor: Nikos Kouremenos - -pkgname=bmp-musepack -pkgver=1.2 -pkgrel=4 -pkgdesc="A BMP plugin for playing sounds in Musepack (MPC) format" -arch=('i686' 'x86_64') -url="http://musepack.net/" -license=('BSD') -depends=('bmp' 'libmpcdec' 'taglib') -groups=('bmp-plugins' 'bmp-io-plugins') -options=('!libtool') -source=("http://files.musepack.net/linux/plugins/${pkgname}-${pkgver}.tar.bz2") -md5sums=('5fe0c9d341ca37d05c780a478f829a5f') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - ./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/extra/bmp-wma/PKGBUILD b/extra/bmp-wma/PKGBUILD deleted file mode 100644 index bf2deef41..000000000 --- a/extra/bmp-wma/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# $Id: PKGBUILD 137730 2011-09-10 14:26:41Z pierre $ -# Maintainer: Kevin Piche -# Contributor: Ewoud Nuyts - -pkgname=bmp-wma -pkgver=0.1.1 -pkgrel=4 -pkgdesc="WMA plugin for Beep Media Player" -url="http://bmp-plugins.berlios.de/novelian/project.php?p=bmp-wma" -license=('GPL') -arch=('x86_64' 'i686') -depends=('bmp') -groups=('bmp-plugins' 'bmp-io-plugins') -options=('!libtool' '!emptydirs') -source=("http://download.berlios.de/bmp-plugins/${pkgname}-${pkgver}.tar.gz" - 'bmp-wma-gcc4.patch') -md5sums=('8dcf3fcdb10e8e2e386f70745812412b' - '730eba8f41e989dd8b56c18bcc826cc4') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np0 -i "${srcdir}/bmp-wma-gcc4.patch" - if [ "${CARCH}" = "x86_64" ]; then - export CFLAGS="${CFLAGS} -fPIC" - fi - ./configure --prefix=/usr --disable-static - echo '#define HAVE_LRINTF 1' >> config.h - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install -} diff --git a/extra/bmp-wma/bmp-wma-gcc4.patch b/extra/bmp-wma/bmp-wma-gcc4.patch deleted file mode 100644 index 9d773e89e..000000000 --- a/extra/bmp-wma/bmp-wma-gcc4.patch +++ /dev/null @@ -1,98 +0,0 @@ ---- src/libffwma/avcodec.h.orig 2005-10-07 11:49:36.000000000 -0400 -+++ src/libffwma/avcodec.h 2005-10-07 11:51:09.000000000 -0400 -@@ -11,6 +11,43 @@ - extern "C" { - #endif - -+ -+/** -+ * AVOption. -+ */ -+typedef struct AVOption { -+ /** options' name */ -+ const char *name; /* if name is NULL, it indicates a link to next */ -+ /** short English text help or const struct AVOption* subpointer */ -+ const char *help; // const struct AVOption* sub; -+ /** offset to context structure where the parsed value should be stored */ -+ int offset; -+ /** options' type */ -+ int type; -+#define FF_OPT_TYPE_BOOL 1 ///< boolean - true,1,on (or simply presence) -+#define FF_OPT_TYPE_DOUBLE 2 ///< double -+#define FF_OPT_TYPE_INT 3 ///< integer -+#define FF_OPT_TYPE_STRING 4 ///< string (finished with \0) -+#define FF_OPT_TYPE_MASK 0x1f ///< mask for types - upper bits are various flags -+//#define FF_OPT_TYPE_EXPERT 0x20 // flag for expert option -+#define FF_OPT_TYPE_FLAG (FF_OPT_TYPE_BOOL | 0x40) -+#define FF_OPT_TYPE_RCOVERRIDE (FF_OPT_TYPE_STRING | 0x80) -+ /** min value (min == max -> no limits) */ -+ double min; -+ /** maximum value for double/int */ -+ double max; -+ /** default boo [0,1]l/double/int value */ -+ double defval; -+ /** -+ * default string value (with optional semicolon delimited extra option-list -+ * i.e. option1;option2;option3 -+ * defval might select other then first argument as default -+ */ -+ const char *defstr; -+#define FF_OPT_MAX_DEPTH 10 -+} AVOption; -+ -+ - #include "common.h" - #include /* size_t */ - -@@ -1396,41 +1433,6 @@ - - - /** -- * AVOption. -- */ --typedef struct AVOption { -- /** options' name */ -- const char *name; /* if name is NULL, it indicates a link to next */ -- /** short English text help or const struct AVOption* subpointer */ -- const char *help; // const struct AVOption* sub; -- /** offset to context structure where the parsed value should be stored */ -- int offset; -- /** options' type */ -- int type; --#define FF_OPT_TYPE_BOOL 1 ///< boolean - true,1,on (or simply presence) --#define FF_OPT_TYPE_DOUBLE 2 ///< double --#define FF_OPT_TYPE_INT 3 ///< integer --#define FF_OPT_TYPE_STRING 4 ///< string (finished with \0) --#define FF_OPT_TYPE_MASK 0x1f ///< mask for types - upper bits are various flags --//#define FF_OPT_TYPE_EXPERT 0x20 // flag for expert option --#define FF_OPT_TYPE_FLAG (FF_OPT_TYPE_BOOL | 0x40) --#define FF_OPT_TYPE_RCOVERRIDE (FF_OPT_TYPE_STRING | 0x80) -- /** min value (min == max -> no limits) */ -- double min; -- /** maximum value for double/int */ -- double max; -- /** default boo [0,1]l/double/int value */ -- double defval; -- /** -- * default string value (with optional semicolon delimited extra option-list -- * i.e. option1;option2;option3 -- * defval might select other then first argument as default -- */ -- const char *defstr; --#define FF_OPT_MAX_DEPTH 10 --} AVOption; -- --/** - * Parse option(s) and sets fields in passed structure - * @param strct structure where the parsed results will be written - * @param list list with AVOptions ---- src/libffwma/dsputil.h.orig 2005-10-07 11:51:59.000000000 -0400 -+++ src/libffwma/dsputil.h 2005-10-07 11:52:17.000000000 -0400 -@@ -28,7 +28,6 @@ - #ifndef DSPUTIL_H - #define DSPUTIL_H - --#include "common.h" - #include "avcodec.h" - - diff --git a/extra/bochs/PKGBUILD b/extra/bochs/PKGBUILD deleted file mode 100644 index f479c319e..000000000 --- a/extra/bochs/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# $Id: PKGBUILD 166567 2012-09-11 23:15:35Z eric $ -#Contributor: Tom Newsom -# Maintainer: Kevin Piche - -pkgname=bochs -pkgver=2.6 -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=('7e25e1a4d2f7e0464e8d6381f38741d9') - -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/extra/bogofilter/PKGBUILD b/extra/bogofilter/PKGBUILD deleted file mode 100644 index 018f70a54..000000000 --- a/extra/bogofilter/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# $Id: PKGBUILD 146459 2012-01-11 15:21:47Z stephane $ -# Maintainer: tobias -# Contributor: Low Kian Seong - -pkgname=bogofilter -pkgver=1.2.2 -pkgrel=4 -pkgdesc="A fast Bayesian spam filtering tool" -arch=('i686' 'x86_64') -license=('GPL3') -url="http://bogofilter.sourceforge.net" -depends=('db' 'perl' 'gsl') -backup=('etc/bogofilter/bogofilter.cf') -source=(http://sourceforge.net/projects/${pkgname}/files/${pkgname}-current/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.bz2) -md5sums=('4bcabdf8c5e7efefcb508eda7e80eebc') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr \ - --sysconfdir=/etc/bogofilter \ - --localstatedir=/var \ - --enable-transactions - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install - - mv "${pkgdir}/etc/bogofilter/bogofilter.cf.example" "${pkgdir}/etc/bogofilter/bogofilter.cf" - - install -dm755 "${pkgdir}/usr/share/${pkgname}/contrib" - install -m644 contrib/* "${pkgdir}/usr/share/${pkgname}/contrib/" -} diff --git a/extra/boost/exceptions.patch b/extra/boost/exceptions.patch deleted file mode 100644 index 9faa71526..000000000 --- a/extra/boost/exceptions.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -up boost/numeric/conversion/converter_policies.hpp\~ boost/numeric/conversion/converter_policies.hpp ---- boost/numeric/conversion/converter_policies.hpp~ 2008-10-13 11:00:03.000000000 +0200 -+++ boost/numeric/conversion/converter_policies.hpp 2011-07-22 11:46:40.961876274 +0200 -@@ -20,6 +20,7 @@ - - #include "boost/mpl/if.hpp" - #include "boost/mpl/integral_c.hpp" -+#include "boost/throw_exception.hpp" - - namespace boost { namespace numeric - { -@@ -159,9 +160,9 @@ struct def_overflow_handler - void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow) - { - if ( r == cNegOverflow ) -- throw negative_overflow() ; -+ boost::throw_exception( negative_overflow() ) ; - else if ( r == cPosOverflow ) -- throw positive_overflow() ; -+ boost::throw_exception( positive_overflow() ) ; - } - } ; - - -Diff finished. Fri Jul 22 11:46:49 2011 diff --git a/extra/bootchart/README.patch b/extra/bootchart/README.patch deleted file mode 100644 index 195052d0a..000000000 --- a/extra/bootchart/README.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4d34b379411f781a494b4775260d550ff61e22e4 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 16 Mar 2012 01:34:10 +0100 -Subject: [PATCH] README: point to the correct location of the binary - ---- - README | 2 +- - 1 file changed, 1 insertions(+), 1 deletions(-) - -diff --git a/README b/README -index fa1d730..1906abb 100644 ---- a/README -+++ b/README -@@ -6,7 +6,7 @@ Bootchart - a 'startup' graphing tool - Bootchart is a tool, usually run at system startup, that collects and graphs - the CPU and disk load of the system as it works. The output of bootchart is - an SVG graph. Normally, bootchart is invoked as `bootchartd` by the kernel --by passing "init=/sbin/bootchartd" to the kernel. Bootchart will then fork -+by passing "init=/usr/bin/bootchartd" to the kernel. Bootchart will then fork - init off to resume normal system startup, while monitoring and logging - startup information in the background. - --- -1.7.9.5 - diff --git a/extra/bootchart/build.patch b/extra/bootchart/build.patch deleted file mode 100644 index 91ca34def..000000000 --- a/extra/bootchart/build.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 4d34b379411f781a494b4775260d550ff61e22e4 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 16 Mar 2012 01:34:10 +0100 -Subject: [PATCH] Makefile: move binary and avoid empty dirs - -Install to /usr/bin by default, and don't install an empty /etc. - -v2: Adjust README to reflect the change. ---- - Makefile | 10 ++++------ - README | 2 +- - 2 files changed, 5 insertions(+), 7 deletions(-) - -diff --git a/Makefile b/Makefile -index 2150ed3..ae432fa 100644 ---- a/Makefile -+++ b/Makefile -@@ -6,12 +6,10 @@ CC := gcc - all: bootchartd - - install: bootchartd -- mkdir -p $(DESTDIR)/sbin -- mkdir -p $(DESTDIR)/etc -- mkdir -p $(DESTDIR)/usr/share/doc/bootchart/ -- install -m0755 bootchartd $(DESTDIR)/sbin/ -- install -m0644 bootchartd.conf.example $(DESTDIR)/usr/share/doc/bootchart/ -- install -m0644 README COPYING $(DESTDIR)/usr/share/doc/bootchart/ -+ install -d $(DESTDIR)/usr/bin -+ install -d $(DESTDIR)/usr/share/doc/bootchart -+ install -m0755 bootchartd $(DESTDIR)/usr/bin/ -+ install -m0644 README COPYING bootchartd.conf.example $(DESTDIR)/usr/share/doc/bootchart/ - - OBJS := log.o svg.o bootchart.o - -diff --git a/README b/README -index fa1d730..1906abb 100644 ---- a/README -+++ b/README -@@ -6,7 +6,7 @@ Bootchart - a 'startup' graphing tool - Bootchart is a tool, usually run at system startup, that collects and graphs - the CPU and disk load of the system as it works. The output of bootchart is - an SVG graph. Normally, bootchart is invoked as `bootchartd` by the kernel --by passing "init=/sbin/bootchartd" to the kernel. Bootchart will then fork -+by passing "init=/usr/bin/bootchartd" to the kernel. Bootchart will then fork - init off to resume normal system startup, while monitoring and logging - startup information in the background. - --- -1.7.9.5 - diff --git a/extra/botan/PKGBUILD b/extra/botan/PKGBUILD deleted file mode 100644 index 51603c0fc..000000000 --- a/extra/botan/PKGBUILD +++ /dev/null @@ -1,32 +0,0 @@ -# $Id: PKGBUILD 163218 2012-07-11 00:19:22Z eric $ -# Maintainer: Angel Velasquez -# Contributor: Douglas Soares de Andrade -# Contributor: d'Ronin - -pkgname=botan -pkgver=1.10.3 -pkgrel=1 -pkgdesc="Crypto library written in C++" -license=('BSD') -arch=('i686' 'x86_64') -url="http://botan.randombit.net/" -depends=('gcc-libs' 'sh') -makedepends=('python2') -source=(http://files.randombit.net/botan/Botan-${pkgver}.tbz{,.asc}) -sha1sums=('9f929101bf75c19432f49f57c80d2d26eec91dcb' - 'd03b220849e3d3b3a49363a0debc266b615d9fca') - -build() { - cd "${srcdir}/Botan-${pkgver}" - sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' configure.py - ./configure.py --prefix=/usr - make -} - -package() { - cd "${srcdir}/Botan-${pkgver}" - make DESTDIR="${pkgdir}/usr" install - install -D -m644 doc/license.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - find "${pkgdir}/usr/share/doc" -type f -exec chmod 0644 {} \; -} - diff --git a/extra/cabal-install/0001-disable-setting-jobs-due-to-cabal-1.16.0-bug-shipped.patch b/extra/cabal-install/0001-disable-setting-jobs-due-to-cabal-1.16.0-bug-shipped.patch deleted file mode 100644 index f67e34677..000000000 --- a/extra/cabal-install/0001-disable-setting-jobs-due-to-cabal-1.16.0-bug-shipped.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 47e1a496c9a7124c28d420afe202e5bbb01ce02e Mon Sep 17 00:00:00 2001 -From: Thomas Dziedzic -Date: Sat, 13 Oct 2012 20:37:09 -0700 -Subject: [PATCH] disable setting jobs due to cabal 1.16.0 bug shipped with - ghc 7.6.1 - ---- - Distribution/Client/Config.hs | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Distribution/Client/Config.hs b/Distribution/Client/Config.hs -index 93e5a52..ecbc6f7 100644 ---- a/Distribution/Client/Config.hs -+++ b/Distribution/Client/Config.hs -@@ -202,8 +202,7 @@ initialSavedConfig = do - }, - savedInstallFlags = mempty { - installSummaryFile = [toPathTemplate (logsDir "build.log")], -- installBuildReports= toFlag AnonymousReports, -- installNumJobs = toFlag (Just numberOfProcessors) -+ installBuildReports= toFlag AnonymousReports - } - } - --- -1.7.12.3 - diff --git a/extra/cairo/cairo-1.10.0-buggy_gradients.patch b/extra/cairo/cairo-1.10.0-buggy_gradients.patch deleted file mode 100644 index 368e356d3..000000000 --- a/extra/cairo/cairo-1.10.0-buggy_gradients.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/cairo-xlib-display.c.ubuntu 2010-08-04 11:57:49.000000000 +0200 -+++ b/src/cairo-xlib-display.c 2010-08-04 11:58:28.000000000 +0200 -@@ -353,11 +353,7 @@ - /* Prior to Render 0.10, there is no protocol support for gradients and - * we call function stubs instead, which would silently consume the drawing. - */ --#if RENDER_MAJOR == 0 && RENDER_MINOR < 10 - display->buggy_gradients = TRUE; --#else -- display->buggy_gradients = FALSE; --#endif - display->buggy_pad_reflect = FALSE; - display->buggy_repeat = FALSE; diff --git a/extra/cairo/cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch b/extra/cairo/cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch deleted file mode 100644 index e43a10312..000000000 --- a/extra/cairo/cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 2f1d6b27e8b78c77346a5b603114b54400e57d83 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Thu, 07 Jun 2012 09:48:52 +0000 -Subject: cff-subsetting: Ignore charset for non cid fonts - -Fixes crash in https://bugzilla.gnome.org/show_bug.cgi?id=677422 ---- -diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c -index db6fdf7..6f0cd66 100644 ---- a/src/cairo-cff-subset.c -+++ b/src/cairo-cff-subset.c -@@ -1178,14 +1178,16 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font) - goto fail; - font->num_glyphs = _cairo_array_num_elements (&font->charstrings_index); - -- operand = cff_dict_get_operands (font->top_dict, CHARSET_OP, &size); -- if (font->is_cid && !operand) -- return CAIRO_INT_STATUS_UNSUPPORTED; -+ if (font->is_cid) { -+ operand = cff_dict_get_operands (font->top_dict, CHARSET_OP, &size); -+ if (!operand) -+ return CAIRO_INT_STATUS_UNSUPPORTED; - -- decode_integer (operand, &offset); -- font->charset = font->data + offset; -- if (font->charset >= font->data_end) -- return CAIRO_INT_STATUS_UNSUPPORTED; -+ decode_integer (operand, &offset); -+ font->charset = font->data + offset; -+ if (font->charset >= font->data_end) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ } - - if (!font->is_opentype) - cairo_cff_font_read_font_metrics (font, font->top_dict); --- -cgit v0.9.0.2-2-gbebe diff --git a/extra/cairo/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch b/extra/cairo/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch deleted file mode 100644 index e3bb30580..000000000 --- a/extra/cairo/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch +++ /dev/null @@ -1,275 +0,0 @@ -From f228769dfe5a8b5d73c49a41e95e31ed73a77fb3 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Fri, 08 Jun 2012 16:22:41 +0000 -Subject: polygon-reduce: Reduce broken stopped-edge continuation - -This is hopefully a lesser used path and the attempted optimisation to -continue a stopped edge with a colinear stopped edge highly unlikely and -lost in the noise of the general inefficiency of the routine. As it was -broken, rather than attempt to rectify the "optimisation" remove it. - -Reported-by: Evangelos Foutras -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50852 -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-polygon-reduce.c b/src/cairo-polygon-reduce.c -index 8758070..ea457fe 100644 ---- a/src/cairo-polygon-reduce.c -+++ b/src/cairo-polygon-reduce.c -@@ -42,6 +42,8 @@ - #include "cairo-freelist-private.h" - #include "cairo-combsort-inline.h" - -+#define DEBUG_POLYGON 0 -+ - typedef cairo_point_t cairo_bo_point32_t; - - typedef struct _cairo_bo_intersect_ordinate { -@@ -114,7 +116,6 @@ typedef struct _cairo_bo_event_queue { - - typedef struct _cairo_bo_sweep_line { - cairo_bo_edge_t *head; -- cairo_bo_edge_t *stopped; - int32_t current_y; - cairo_bo_edge_t *current_edge; - } cairo_bo_sweep_line_t; -@@ -476,8 +477,8 @@ edges_compare_x_for_y (const cairo_bo_edge_t *a, - static inline int - _line_equal (const cairo_line_t *a, const cairo_line_t *b) - { -- return a->p1.x == b->p1.x && a->p1.y == b->p1.y && -- a->p2.x == b->p2.x && a->p2.y == b->p2.y; -+ return (a->p1.x == b->p1.x && a->p1.y == b->p1.y && -+ a->p2.x == b->p2.x && a->p2.y == b->p2.y); - } - - static int -@@ -1024,7 +1025,6 @@ static void - _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line) - { - sweep_line->head = NULL; -- sweep_line->stopped = NULL; - sweep_line->current_y = INT32_MIN; - sweep_line->current_edge = NULL; - } -@@ -1139,6 +1139,8 @@ edges_colinear (const cairo_bo_edge_t *a, const cairo_bo_edge_t *b) - */ - if (a->edge.line.p1.y == b->edge.line.p1.y) { - return a->edge.line.p1.x == b->edge.line.p1.x; -+ } else if (a->edge.line.p2.y == b->edge.line.p2.y) { -+ return a->edge.line.p2.x == b->edge.line.p2.x; - } else if (a->edge.line.p1.y < b->edge.line.p1.y) { - return edge_compare_for_y_against_x (b, - a->edge.line.p1.y, -@@ -1205,82 +1207,48 @@ _active_edges_to_polygon (cairo_bo_edge_t *left, - cairo_polygon_t *polygon) - { - cairo_bo_edge_t *right; -+ unsigned int mask; - -- if (fill_rule == CAIRO_FILL_RULE_WINDING) { -- while (left != NULL) { -- int in_out = left->edge.dir; -- -- right = left->next; -- if (left->deferred.right == NULL) { -- while (right != NULL && right->deferred.right == NULL) -- right = right->next; -- -- if (right != NULL && edges_colinear (left, right)) { -- /* continuation on left */ -- left->deferred = right->deferred; -- right->deferred.right = NULL; -- } -- } -- -- right = left->next; -- while (right != NULL) { -- if (right->deferred.right != NULL) -- _cairo_bo_edge_end (right, top, polygon); -- -- in_out += right->edge.dir; -- if (in_out == 0) { -- cairo_bo_edge_t *next; -- cairo_bool_t skip = FALSE; -- -- /* skip co-linear edges */ -- next = right->next; -- if (next != NULL) -- skip = edges_colinear (right, next); -+ if (fill_rule == CAIRO_FILL_RULE_WINDING) -+ mask = ~0; -+ else -+ mask = 1; - -- if (! skip) -- break; -- } -+ while (left != NULL) { -+ int in_out = left->edge.dir; - -+ right = left->next; -+ if (left->deferred.right == NULL) { -+ while (right != NULL && right->deferred.right == NULL) - right = right->next; -- } -- -- _cairo_bo_edge_start_or_continue (left, right, top, polygon); - -- left = right; -- if (left != NULL) -- left = left->next; -+ if (right != NULL && edges_colinear (left, right)) { -+ /* continuation on left */ -+ left->deferred = right->deferred; -+ right->deferred.right = NULL; -+ } - } -- } else { -- while (left != NULL) { -- int in_out = 0; - -- right = left->next; -- while (right != NULL) { -- if (right->deferred.right != NULL) -- _cairo_bo_edge_end (right, top, polygon); -+ right = left->next; -+ while (right != NULL) { -+ if (right->deferred.right != NULL) -+ _cairo_bo_edge_end (right, top, polygon); - -- if ((in_out++ & 1) == 0) { -- cairo_bo_edge_t *next; -- cairo_bool_t skip = FALSE; -- -- /* skip co-linear edges */ -- next = right->next; -- if (next != NULL) -- skip = edges_colinear (right, next); -- -- if (! skip) -- break; -- } -- -- right = right->next; -+ in_out += right->edge.dir; -+ if ((in_out & mask) == 0) { -+ /* skip co-linear edges */ -+ if (right->next == NULL || !edges_colinear (right, right->next)) -+ break; - } - -- _cairo_bo_edge_start_or_continue (left, right, top, polygon); -- -- left = right; -- if (left != NULL) -- left = left->next; -+ right = right->next; - } -+ -+ _cairo_bo_edge_start_or_continue (left, right, top, polygon); -+ -+ left = right; -+ if (left != NULL) -+ left = left->next; - } - } - -@@ -1303,12 +1271,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, - - while ((event = _cairo_bo_event_dequeue (&event_queue))) { - if (event->point.y != sweep_line.current_y) { -- for (e1 = sweep_line.stopped; e1; e1 = e1->next) { -- if (e1->deferred.right != NULL) -- _cairo_bo_edge_end (e1, e1->edge.bottom, polygon); -- } -- sweep_line.stopped = NULL; -- - _active_edges_to_polygon (sweep_line.head, - sweep_line.current_y, - fill_rule, polygon); -@@ -1328,23 +1290,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, - if (unlikely (status)) - goto unwind; - -- /* check to see if this is a continuation of a stopped edge */ -- /* XXX change to an infinitesimal lengthening rule */ -- for (left = sweep_line.stopped; left; left = left->next) { -- if (e1->edge.top <= left->edge.bottom && -- edges_colinear (e1, left)) -- { -- e1->deferred = left->deferred; -- if (left->prev != NULL) -- left->prev = left->next; -- else -- sweep_line.stopped = left->next; -- if (left->next != NULL) -- left->next->prev = left->prev; -- break; -- } -- } -- - left = e1->prev; - right = e1->next; - -@@ -1371,14 +1316,8 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, - - _cairo_bo_sweep_line_delete (&sweep_line, e1); - -- /* first, check to see if we have a continuation via a fresh edge */ -- if (e1->deferred.right != NULL) { -- e1->next = sweep_line.stopped; -- if (sweep_line.stopped != NULL) -- sweep_line.stopped->prev = e1; -- sweep_line.stopped = e1; -- e1->prev = NULL; -- } -+ if (e1->deferred.right != NULL) -+ _cairo_bo_edge_end (e1, e1->edge.bottom, polygon); - - if (left != NULL && right != NULL) { - status = _cairo_bo_event_queue_insert_if_intersect_below_current_y (&event_queue, left, right); -@@ -1420,10 +1359,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, - } - } - -- for (e1 = sweep_line.stopped; e1; e1 = e1->next) { -- if (e1->deferred.right != NULL) -- _cairo_bo_edge_end (e1, e1->edge.bottom, polygon); -- } - unwind: - _cairo_bo_event_queue_fini (&event_queue); - -@@ -1447,6 +1382,12 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon, - if (unlikely (0 == num_events)) - return CAIRO_STATUS_SUCCESS; - -+ if (DEBUG_POLYGON) { -+ FILE *file = fopen ("reduce_in.txt", "w"); -+ _cairo_debug_print_polygon (file, polygon); -+ fclose (file); -+ } -+ - events = stack_events; - event_ptrs = stack_event_ptrs; - if (num_events > ARRAY_LENGTH (stack_events)) { -@@ -1482,10 +1423,16 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon, - num_events, - fill_rule, - polygon); -- polygon->num_limits = num_limits; -+ polygon->num_limits = num_limits; - - if (events != stack_events) - free (events); - -+ if (DEBUG_POLYGON) { -+ FILE *file = fopen ("reduce_out.txt", "w"); -+ _cairo_debug_print_polygon (file, polygon); -+ fclose (file); -+ } -+ - return status; - } --- -cgit v0.9.0.2-2-gbebe diff --git a/extra/cairo/git_fixes.diff b/extra/cairo/git_fixes.diff deleted file mode 100644 index 3fc7ff659..000000000 --- a/extra/cairo/git_fixes.diff +++ /dev/null @@ -1,934 +0,0 @@ -From e43f53bf7f3d371116f31f22ab9754b08b5abe7f Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Mon, 22 Oct 2012 12:47:11 +0000 -Subject: version: Post release bump to 1.12.7 - ---- -diff --git a/cairo-version.h b/cairo-version.h -index dc89a19..c685909 100644 ---- a/cairo-version.h -+++ b/cairo-version.h -@@ -3,6 +3,6 @@ - - #define CAIRO_VERSION_MAJOR 1 - #define CAIRO_VERSION_MINOR 12 --#define CAIRO_VERSION_MICRO 6 -+#define CAIRO_VERSION_MICRO 7 - - #endif --- -cgit v0.9.0.2-2-gbebe -From 00feb8ce530a472abbde445b52d9ae8c99ec97f0 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Fri, 26 Oct 2012 09:51:31 +0000 -Subject: xlib/shm: Sanity check that the server handles XSendEvent with ShmCompletion - -Uli Schlachter suggested it would be wiser to complement our blacklist -of known broken X/libXext with an explicit roundtrip to check for a -BadValue error return when we try to use XSendEvent. - -Suggested-by: Uli Schlachter -Reported-by: Martin Husemann -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c -index ec0d334..17594b1 100644 ---- a/src/cairo-xlib-surface-shm.c -+++ b/src/cairo-xlib-surface-shm.c -@@ -1128,8 +1128,60 @@ _cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface) - (((major) * 10000000) + ((minor) * 100000) + ((patch) * 1000) + snap) - - static cairo_bool_t --xorg_has_buggy_send_shm_completion_event(Display *dpy) -+has_broken_send_shm_event (cairo_xlib_display_t *display, -+ cairo_xlib_shm_display_t *shm) - { -+ Display *dpy = display->display; -+ int (*old_handler) (Display *display, XErrorEvent *event); -+ XShmCompletionEvent ev; -+ XShmSegmentInfo info; -+ -+ info.shmid = shmget (IPC_PRIVATE, 0x1000, IPC_CREAT | 0600); -+ if (info.shmid == -1) -+ return TRUE; -+ -+ info.readOnly = FALSE; -+ info.shmaddr = shmat (info.shmid, NULL, 0); -+ if (info.shmaddr == (char *) -1) { -+ shmctl (info.shmid, IPC_RMID, NULL); -+ return TRUE; -+ } -+ -+ ev.type = shm->event; -+ ev.drawable = shm->window; -+ ev.major_code = shm->opcode; -+ ev.minor_code = X_ShmPutImage; -+ -+ ev.shmseg = info.shmid; -+ ev.offset = 0; -+ -+ assert (CAIRO_MUTEX_IS_LOCKED (_cairo_xlib_display_mutex)); -+ _x_error_occurred = FALSE; -+ -+ XLockDisplay (dpy); -+ XSync (dpy, False); -+ old_handler = XSetErrorHandler (_check_error_handler); -+ -+ XShmAttach (dpy, &info); -+ XSendEvent (dpy, ev.drawable, False, 0, (XEvent *)&ev); -+ XShmDetach (dpy, &info); -+ -+ XSync (dpy, False); -+ XSetErrorHandler (old_handler); -+ XUnlockDisplay (dpy); -+ -+ shmctl (info.shmid, IPC_RMID, NULL); -+ shmdt (info.shmaddr); -+ -+ return _x_error_occurred; -+} -+ -+static cairo_bool_t -+xorg_has_buggy_send_shm_completion_event(cairo_xlib_display_t *display, -+ cairo_xlib_shm_display_t *shm) -+{ -+ Display *dpy = display->display; -+ - /* As libXext sets the SEND_EVENT bit in the ShmCompletionEvent, - * the Xserver may crash if it does not take care when processing - * the event type. For instance versions of Xorg prior to 1.11.1 -@@ -1141,8 +1193,12 @@ xorg_has_buggy_send_shm_completion_event(Display *dpy) - * - * Remove the SendEvent bit (0x80) before doing range checks on event type. - */ -- return (strstr (ServerVendor (dpy), "X.Org") != NULL && -- VendorRelease (dpy) < XORG_VERSION_ENCODE(1,11,0,1)); -+ if (strstr (ServerVendor (dpy), "X.Org") != NULL && -+ VendorRelease (dpy) < XORG_VERSION_ENCODE(1,11,0,1)) -+ return TRUE; -+ -+ /* For everyone else check that no error is generated */ -+ return has_broken_send_shm_event (display, shm); - } - - void -@@ -1162,6 +1218,15 @@ _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) - if (unlikely (shm == NULL)) - return; - -+ codes = XInitExtension (display->display, SHMNAME); -+ if (codes == NULL) { -+ free (shm); -+ return; -+ } -+ -+ shm->opcode = codes ->major_opcode; -+ shm->event = codes->first_event; -+ - if (unlikely (_pqueue_init (&shm->info))) { - free (shm); - return; -@@ -1177,16 +1242,12 @@ _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) - DefaultVisual (display->display, scr), - CWOverrideRedirect, &attr); - -- if (xorg_has_buggy_send_shm_completion_event(display->display)) -+ if (xorg_has_buggy_send_shm_completion_event(display, shm)) - has_pixmap = 0; - - shm->has_pixmaps = has_pixmap ? MIN_PIXMAP_SIZE : 0; - cairo_list_init (&shm->pool); - -- codes = XInitExtension (display->display, SHMNAME); -- shm->opcode = codes ->major_opcode; -- shm->event = codes->first_event; -- - cairo_list_init (&shm->surfaces); - - display->shm = shm; --- -cgit v0.9.0.2-2-gbebe -From fdd2082f923012a1354be7086d03f78fb166695b Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Fri, 26 Oct 2012 09:51:31 +0000 -Subject: xlib: Check for both X.org and Xorg ServerVendors - -Martin Husemann reported that on his NetBSD machine the vendor was being -reported as "The Xorg Foundation", a non-conformist separatist split of -the Peoples' Liberation Army^W^W^W "The X.Org Foundation". Simply check -for both during initialisation. - -Reported-by: Martin Husemann -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-xlib-display.c b/src/cairo-xlib-display.c -index 67c0673..04c89b2 100644 ---- a/src/cairo-xlib-display.c -+++ b/src/cairo-xlib-display.c -@@ -315,7 +315,7 @@ _cairo_xlib_device_create (Display *dpy) - * safest to just blacklist all old-versioning-scheme X servers, - * (just using VendorRelease < 70000000), as buggy_repeat=TRUE. - */ -- if (strstr (ServerVendor (dpy), "X.Org") != NULL) { -+ if (_cairo_xlib_vendor_is_xorg (dpy)) { - if (VendorRelease (dpy) >= 60700000) { - if (VendorRelease (dpy) < 70000000) - display->buggy_repeat = TRUE; -diff --git a/src/cairo-xlib-private.h b/src/cairo-xlib-private.h -index d2bd588..c328302 100644 ---- a/src/cairo-xlib-private.h -+++ b/src/cairo-xlib-private.h -@@ -216,6 +216,13 @@ struct _cairo_xlib_proxy { - cairo_surface_t *owner; - }; - -+inline static cairo_bool_t -+_cairo_xlib_vendor_is_xorg (Display *dpy) -+{ -+ const char *const vendor = ServerVendor (dpy); -+ return strstr (vendor, "X.Org") || strstr (vendor, "Xorg"); -+} -+ - cairo_private cairo_status_t - _cairo_xlib_surface_get_gc (cairo_xlib_display_t *display, - cairo_xlib_surface_t *surface, -diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c -index 17594b1..89f51a9 100644 ---- a/src/cairo-xlib-surface-shm.c -+++ b/src/cairo-xlib-surface-shm.c -@@ -1193,7 +1193,7 @@ xorg_has_buggy_send_shm_completion_event(cairo_xlib_display_t *display, - * - * Remove the SendEvent bit (0x80) before doing range checks on event type. - */ -- if (strstr (ServerVendor (dpy), "X.Org") != NULL && -+ if (_cairo_xlib_vendor_is_xorg (dpy) && - VendorRelease (dpy) < XORG_VERSION_ENCODE(1,11,0,1)) - return TRUE; - --- -cgit v0.9.0.2-2-gbebe -From d57e652f08f5ff7c334d01bc071962e6a131928f Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Fri, 26 Oct 2012 12:30:01 +0000 -Subject: type1-subset: parse all operators - -The PDF at bug 56265 contained a Type 1 font that used the "div" -operator to compute the glyph width. As the "div" operator was -not handled by the charstring parser this resulted in an incorrect -glyph width in the PDF output. - -Fix this by upgrading the charstring parsing to handle all Type 1 -operators. ---- -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index 1bdb12b..c7f613a 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -137,13 +137,10 @@ typedef struct _cairo_type1_font_subset { - int hex_column; - - struct { -- int stack[TYPE1_STACKSIZE], sp, top_value; -+ double stack[TYPE1_STACKSIZE]; -+ int sp; - } build_stack; - -- struct { -- int other_subr_args[TYPE1_STACKSIZE], num_other_subr_args, cur_other_subr_arg; -- } ps_stack; -- - - } cairo_type1_font_subset_t; - -@@ -742,15 +739,33 @@ use_standard_encoding_glyph (cairo_type1_font_subset_t *font, int index) - return CAIRO_INT_STATUS_UNSUPPORTED; - } - --#define TYPE1_CHARSTRING_COMMAND_ESCAPE 0x0c --#define TYPE1_CHARSTRING_COMMAND_SEAC 0x0c06 --#define TYPE1_CHARSTRING_COMMAND_SBW 0x0c07 --#define TYPE1_CHARSTRING_COMMAND_HSBW 0x0d --#define TYPE1_CHARSTRING_COMMAND_CALLSUBR 0x0a --#define TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR 0x0c10 --#define TYPE1_CHARSTRING_COMMAND_POP 0x0c11 -- - -+#define TYPE1_CHARSTRING_COMMAND_HSTEM 0x01 -+#define TYPE1_CHARSTRING_COMMAND_VSTEM 0x03 -+#define TYPE1_CHARSTRING_COMMAND_VMOVETO 0x04 -+#define TYPE1_CHARSTRING_COMMAND_RLINETO 0x05 -+#define TYPE1_CHARSTRING_COMMAND_HLINETO 0x06 -+#define TYPE1_CHARSTRING_COMMAND_VLINETO 0x07 -+#define TYPE1_CHARSTRING_COMMAND_RRCURVETO 0x08 -+#define TYPE1_CHARSTRING_COMMAND_CLOSEPATH 0x09 -+#define TYPE1_CHARSTRING_COMMAND_CALLSUBR 0x0a -+#define TYPE1_CHARSTRING_COMMAND_RETURN 0x0b -+#define TYPE1_CHARSTRING_COMMAND_ESCAPE 0x0c -+#define TYPE1_CHARSTRING_COMMAND_HSBW 0x0d -+#define TYPE1_CHARSTRING_COMMAND_ENDCHAR 0x0e -+#define TYPE1_CHARSTRING_COMMAND_RMOVETO 0x15 -+#define TYPE1_CHARSTRING_COMMAND_HMOVETO 0x16 -+#define TYPE1_CHARSTRING_COMMAND_VHCURVETO 0x1e -+#define TYPE1_CHARSTRING_COMMAND_HVCURVETO 0x1f -+#define TYPE1_CHARSTRING_COMMAND_DOTSECTION 0x0c00 -+#define TYPE1_CHARSTRING_COMMAND_VSTEM3 0x0c01 -+#define TYPE1_CHARSTRING_COMMAND_HSTEM3 0x0c02 -+#define TYPE1_CHARSTRING_COMMAND_SEAC 0x0c06 -+#define TYPE1_CHARSTRING_COMMAND_SBW 0x0c07 -+#define TYPE1_CHARSTRING_COMMAND_DIV 0x0c0c -+#define TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR 0x0c10 -+#define TYPE1_CHARSTRING_COMMAND_POP 0x0c11 -+#define TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT 0x0c21 - - /* Get glyph width and look for seac operatorParse charstring */ - static cairo_status_t -@@ -765,7 +780,6 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - const unsigned char *p; - cairo_bool_t last_op_was_integer; - int command; -- int subr_num, i; - - charstring = malloc (encrypted_charstring_length); - if (unlikely (charstring == NULL)) -@@ -785,37 +799,60 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - if (*p < 32) { - command = *p++; - switch (command) { -- case TYPE1_CHARSTRING_COMMAND_HSBW: -- if (! last_op_was_integer) -- return CAIRO_INT_STATUS_UNSUPPORTED; -- -- font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em; -+ case TYPE1_CHARSTRING_COMMAND_HSTEM: -+ case TYPE1_CHARSTRING_COMMAND_VSTEM: -+ case TYPE1_CHARSTRING_COMMAND_VMOVETO: -+ case TYPE1_CHARSTRING_COMMAND_RLINETO: -+ case TYPE1_CHARSTRING_COMMAND_HLINETO: -+ case TYPE1_CHARSTRING_COMMAND_VLINETO: -+ case TYPE1_CHARSTRING_COMMAND_RRCURVETO: -+ case TYPE1_CHARSTRING_COMMAND_CLOSEPATH: -+ case TYPE1_CHARSTRING_COMMAND_RMOVETO: -+ case TYPE1_CHARSTRING_COMMAND_HMOVETO: -+ case TYPE1_CHARSTRING_COMMAND_VHCURVETO: -+ case TYPE1_CHARSTRING_COMMAND_HVCURVETO: -+ case TYPE1_CHARSTRING_COMMAND_RETURN: -+ case TYPE1_CHARSTRING_COMMAND_ENDCHAR: -+ default: - font->build_stack.sp = 0; -- last_op_was_integer = FALSE; - break; - - case TYPE1_CHARSTRING_COMMAND_CALLSUBR: -- if (font->subset_subrs && -- last_op_was_integer && -- font->build_stack.top_value >= 0 && -- font->build_stack.top_value < font->num_subrs) -- { -- subr_num = font->build_stack.top_value; -- font->build_stack.sp--; -- font->subrs[subr_num].used = TRUE; -- last_op_was_integer = FALSE; -- status = cairo_type1_font_subset_parse_charstring (font, -- glyph, -- font->subrs[subr_num].subr_string, -- font->subrs[subr_num].subr_length); -- } else { -- font->subset_subrs = FALSE; -+ if (font->subset_subrs && font->build_stack.sp > 0) { -+ int subr_num = font->build_stack.stack[--font->build_stack.sp]; -+ if (subr_num >= 0 && subr_num < font->num_subrs) { -+ font->subrs[subr_num].used = TRUE; -+ status = cairo_type1_font_subset_parse_charstring ( -+ font, -+ glyph, -+ font->subrs[subr_num].subr_string, -+ font->subrs[subr_num].subr_length); -+ break; -+ } - } -+ font->subset_subrs = FALSE; -+ break; -+ -+ case TYPE1_CHARSTRING_COMMAND_HSBW: -+ if (font->build_stack.sp < 2) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ -+ font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em; -+ font->build_stack.sp = 0; - break; - - case TYPE1_CHARSTRING_COMMAND_ESCAPE: - command = command << 8 | *p++; - switch (command) { -+ case TYPE1_CHARSTRING_COMMAND_DOTSECTION: -+ case TYPE1_CHARSTRING_COMMAND_VSTEM3: -+ case TYPE1_CHARSTRING_COMMAND_HSTEM3: -+ case TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT: -+ case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR: -+ default: -+ font->build_stack.sp = 0; -+ break; -+ - case TYPE1_CHARSTRING_COMMAND_SEAC: - /* The seac command takes five integer arguments. The - * last two are glyph indices into the PS standard -@@ -823,6 +860,9 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - * glyph is composed from. All we need to do is to - * make sure those glyphs are present in the subset - * under their standard names. */ -+ if (font->build_stack.sp < 5) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ - status = use_standard_encoding_glyph (font, font->build_stack.stack[3]); - if (unlikely (status)) - return status; -@@ -832,55 +872,49 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - return status; - - font->build_stack.sp = 0; -- last_op_was_integer = FALSE; - break; - - case TYPE1_CHARSTRING_COMMAND_SBW: -- if (! last_op_was_integer) -+ if (font->build_stack.sp < 4) - return CAIRO_INT_STATUS_UNSUPPORTED; - - font->glyphs[glyph].width = font->build_stack.stack[2]/font->base.units_per_em; - font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; -- -- case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR: -- for (i = 0; i < font->build_stack.sp; i++) -- font->ps_stack.other_subr_args[i] = font->build_stack.stack[i]; -- font->ps_stack.num_other_subr_args = font->build_stack.sp; -- font->ps_stack.cur_other_subr_arg = 0; -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; - break; - -- case TYPE1_CHARSTRING_COMMAND_POP: -- if (font->ps_stack.num_other_subr_args > font->ps_stack.cur_other_subr_arg) { -- font->build_stack.top_value = font->ps_stack.other_subr_args[font->ps_stack.cur_other_subr_arg++]; -- last_op_was_integer = TRUE; -+ case TYPE1_CHARSTRING_COMMAND_DIV: -+ if (font->build_stack.sp < 2) { -+ return CAIRO_INT_STATUS_UNSUPPORTED; - } else { -- font->subset_subrs = FALSE; -+ double num1 = font->build_stack.stack[font->build_stack.sp - 2]; -+ double num2 = font->build_stack.stack[font->build_stack.sp - 1]; -+ font->build_stack.sp--; -+ if (num2 == 0.0) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ -+ font->build_stack.stack[font->build_stack.sp - 1] = num1/num2; - } - break; - -- default: -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -+ case TYPE1_CHARSTRING_COMMAND_POP: -+ if (font->build_stack.sp < TYPE1_STACKSIZE) { -+ /* use negative number to prevent it being used as a subr_num */ -+ font->build_stack.stack[font->build_stack.sp++] = -1.0; -+ } - break; - } - break; -- -- default: -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; - } -- } else { -+ } else { - /* integer argument */ -- p = cairo_type1_font_subset_decode_integer (p, &font->build_stack.top_value); -- last_op_was_integer = TRUE; -- if (font->build_stack.sp < TYPE1_STACKSIZE) -- font->build_stack.stack[font->build_stack.sp++] = font->build_stack.top_value; -- } -+ if (font->build_stack.sp < TYPE1_STACKSIZE) { -+ int val; -+ p = cairo_type1_font_subset_decode_integer (p, &val); -+ font->build_stack.stack[font->build_stack.sp++] = val; -+ } else { -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ } -+ } - } - - free (charstring); -@@ -1321,7 +1355,6 @@ skip_subrs: - for (j = 0; j < font->num_glyphs; j++) { - glyph = font->subset_index_to_glyphs[j]; - font->build_stack.sp = 0; -- font->ps_stack.num_other_subr_args = 0; - status = cairo_type1_font_subset_parse_charstring (font, - glyph, - font->glyphs[glyph].encrypted_charstring, --- -cgit v0.9.0.2-2-gbebe -From f18199fcfb3b052c198041fc05156ae3d9e6aee7 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Sun, 28 Oct 2012 10:04:12 +0000 -Subject: xlib/shm: Check for XShm headers - -Not all version of libXext ship the same set of headers, so play safe -and check during configure that we have the headers we depend upon in -the code. - -Reported-by: Sebastian Haas -Signed-off-by: Chris Wilson ---- -diff --git a/configure.ac b/configure.ac -index 7adbeb1..021ec8e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -105,6 +105,10 @@ CAIRO_ENABLE_SURFACE_BACKEND(xlib, Xlib, auto, [ - AC_MSG_RESULT(no), - AC_MSG_RESULT(assuming no)) - fi -+ -+ AC_CHECK_HEADERS([X11/extensions/XShm.h X11/extensions/shmproto.h], [], [], -+ [#include -+ #include ]) - ]) - - CAIRO_ENABLE_SURFACE_BACKEND(xlib_xrender, Xlib Xrender, auto, [ -diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c -index 89f51a9..a3d4385 100644 ---- a/src/cairo-xlib-surface-shm.c -+++ b/src/cairo-xlib-surface-shm.c -@@ -41,12 +41,105 @@ - - #include "cairo-xlib-private.h" - #include "cairo-xlib-surface-private.h" --#include "cairo-image-surface-private.h" --#include "cairo-mempool-private.h" -+ -+#if !HAVE_X11_EXTENSIONS_XSHM_H || !HAVE_X11_EXTENSIONS_SHMPROTO_H -+void _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) {} -+ -+cairo_surface_t * -+_cairo_xlib_surface_get_shm (cairo_xlib_surface_t *surface, -+ cairo_bool_t overwrite) -+{ -+ return NULL; -+} -+ -+cairo_int_status_t -+_cairo_xlib_surface_put_shm (cairo_xlib_surface_t *surface) -+{ -+ ASSERT_NOT_REACHED; -+ return CAIRO_INT_STATUS_SUCCESS; -+} -+ -+cairo_surface_t * -+_cairo_xlib_surface_create_shm (cairo_xlib_surface_t *other, -+ pixman_format_code_t format, -+ int width, int height) -+{ -+ return NULL; -+} -+ -+cairo_surface_t * -+_cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t *surface, -+ pixman_format_code_t format, -+ int width, int height) -+{ -+ return NULL; -+} -+ -+cairo_surface_t * -+_cairo_xlib_surface_create_similar_shm (void *other, -+ cairo_format_t format, -+ int width, int height) -+{ -+ return cairo_image_surface_create (format, width, height); -+} -+ -+void -+_cairo_xlib_shm_surface_mark_active (cairo_surface_t *_shm) -+{ -+ ASSERT_NOT_REACHED; -+} -+ -+void -+_cairo_xlib_shm_surface_get_ximage (cairo_surface_t *surface, -+ XImage *ximage) -+{ -+ ASSERT_NOT_REACHED; -+} -+ -+void * -+_cairo_xlib_shm_surface_get_obdata (cairo_surface_t *surface) -+{ -+ ASSERT_NOT_REACHED; -+ return NULL; -+} -+ -+Pixmap -+_cairo_xlib_shm_surface_get_pixmap (cairo_surface_t *surface) -+{ -+ ASSERT_NOT_REACHED; -+ return 0; -+} -+ -+XRenderPictFormat * -+_cairo_xlib_shm_surface_get_xrender_format (cairo_surface_t *surface) -+{ -+ ASSERT_NOT_REACHED; -+ return NULL; -+} -+ -+cairo_bool_t -+_cairo_xlib_shm_surface_is_active (cairo_surface_t *surface) -+{ -+ ASSERT_NOT_REACHED; -+ return FALSE; -+} -+ -+cairo_bool_t -+_cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface) -+{ -+ ASSERT_NOT_REACHED; -+ return TRUE; -+} -+ -+void _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display) {} -+ -+#else - - #include "cairo-damage-private.h" - #include "cairo-default-context-private.h" -+#include "cairo-image-surface-private.h" - #include "cairo-list-inline.h" -+#include "cairo-mempool-private.h" - - #include - #include -@@ -1281,5 +1374,5 @@ _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display) - free (shm); - display->shm = NULL; - } -- -+#endif - #endif --- -cgit v0.9.0.2-2-gbebe -From 0e2458697848cf8c89c9d57fa9b64f0ea7bd0877 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Sun, 28 Oct 2012 10:08:39 +0000 -Subject: xlib/shm: Use shmstr.h instead of shmproto.h if available - -Before it was known as shmproto.h, the wire protocol definition was to -be found in shmstr.h, so if we don't have the current version of libXext -try to use the older includes. - -Reported-by: Sebastian Haas -Signed-off-by: Chris Wilson ---- -diff --git a/configure.ac b/configure.ac -index 021ec8e..f523284 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -106,7 +106,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(xlib, Xlib, auto, [ - AC_MSG_RESULT(assuming no)) - fi - -- AC_CHECK_HEADERS([X11/extensions/XShm.h X11/extensions/shmproto.h], [], [], -+ AC_CHECK_HEADERS([X11/extensions/XShm.h X11/extensions/shmproto.h X11/extensions/shmstr.h], [], [], - [#include - #include ]) - ]) -diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c -index a3d4385..44e6284 100644 ---- a/src/cairo-xlib-surface-shm.c -+++ b/src/cairo-xlib-surface-shm.c -@@ -42,7 +42,7 @@ - #include "cairo-xlib-private.h" - #include "cairo-xlib-surface-private.h" - --#if !HAVE_X11_EXTENSIONS_XSHM_H || !HAVE_X11_EXTENSIONS_SHMPROTO_H -+#if !HAVE_X11_EXTENSIONS_XSHM_H || !(HAVE_X11_EXTENSIONS_SHMPROTO_H || HAVE_X11_EXTENSIONS_SHMSTR_H) - void _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) {} - - cairo_surface_t * -@@ -144,7 +144,11 @@ void _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display) {} - #include - #include - #include -+#if HAVE_X11_EXTENSIONS_SHMPROTO_H - #include -+#elif HAVE_X11_EXTENSIONS_SHMSTR_H -+#include -+#endif - #include - #include - --- -cgit v0.9.0.2-2-gbebe -From 5a6e1d680a5bf1c4091e74f999abd611abd92334 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Sun, 28 Oct 2012 10:28:52 +0000 -Subject: type1-subset: restore correct callothersub behavior - -that was removed in d57e652f. Without this subsetting of subroutines -won't work for some fonts. ---- -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index c7f613a..786055a 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -141,6 +141,11 @@ typedef struct _cairo_type1_font_subset { - int sp; - } build_stack; - -+ struct { -+ int stack[TYPE1_STACKSIZE]; -+ int sp; -+ } ps_stack; -+ - - } cairo_type1_font_subset_t; - -@@ -767,7 +772,9 @@ use_standard_encoding_glyph (cairo_type1_font_subset_t *font, int index) - #define TYPE1_CHARSTRING_COMMAND_POP 0x0c11 - #define TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT 0x0c21 - --/* Get glyph width and look for seac operatorParse charstring */ -+/* Parse the charstring, including recursing into subroutines. Find -+ * the glyph width, subroutines called, and glyphs required by the -+ * SEAC operator. */ - static cairo_status_t - cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - int glyph, -@@ -814,6 +821,7 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - case TYPE1_CHARSTRING_COMMAND_RETURN: - case TYPE1_CHARSTRING_COMMAND_ENDCHAR: - default: -+ /* stack clearing operator */ - font->build_stack.sp = 0; - break; - -@@ -848,8 +856,8 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - case TYPE1_CHARSTRING_COMMAND_VSTEM3: - case TYPE1_CHARSTRING_COMMAND_HSTEM3: - case TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT: -- case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR: - default: -+ /* stack clearing operator */ - font->build_stack.sp = 0; - break; - -@@ -896,11 +904,25 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - } - break; - -+ case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR: -+ if (font->build_stack.sp < 1) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ -+ font->build_stack.sp--; -+ font->ps_stack.sp = 0; -+ while (font->build_stack.sp) -+ font->ps_stack.stack[font->ps_stack.sp++] = font->build_stack.stack[--font->build_stack.sp]; -+ -+ break; -+ - case TYPE1_CHARSTRING_COMMAND_POP: -- if (font->build_stack.sp < TYPE1_STACKSIZE) { -- /* use negative number to prevent it being used as a subr_num */ -- font->build_stack.stack[font->build_stack.sp++] = -1.0; -- } -+ if (font->ps_stack.sp < 1) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ -+ /* T1 spec states that if the interpreter does not -+ * support executing the callothersub, the results -+ * must be taken from the callothersub arguments. */ -+ font->build_stack.stack[font->build_stack.sp++] = font->ps_stack.stack[--font->ps_stack.sp]; - break; - } - break; -@@ -1355,6 +1377,7 @@ skip_subrs: - for (j = 0; j < font->num_glyphs; j++) { - glyph = font->subset_index_to_glyphs[j]; - font->build_stack.sp = 0; -+ font->ps_stack.sp = 0; - status = cairo_type1_font_subset_parse_charstring (font, - glyph, - font->glyphs[glyph].encrypted_charstring, --- -cgit v0.9.0.2-2-gbebe -From 0c800dc3f64ee030df1cd0a6a1dcd6df71502dea Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Tue, 30 Oct 2012 08:53:30 +0000 -Subject: type1-subset: ensure subroutine numnber is an integer - ---- -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index 786055a..dff4a95 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -827,15 +827,18 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - - case TYPE1_CHARSTRING_COMMAND_CALLSUBR: - if (font->subset_subrs && font->build_stack.sp > 0) { -- int subr_num = font->build_stack.stack[--font->build_stack.sp]; -- if (subr_num >= 0 && subr_num < font->num_subrs) { -- font->subrs[subr_num].used = TRUE; -- status = cairo_type1_font_subset_parse_charstring ( -- font, -- glyph, -- font->subrs[subr_num].subr_string, -- font->subrs[subr_num].subr_length); -- break; -+ double int_val; -+ if (modf(font->build_stack.stack[--font->build_stack.sp], &int_val) == 0.0) { -+ int subr_num = int_val; -+ if (subr_num >= 0 && subr_num < font->num_subrs) { -+ font->subrs[subr_num].used = TRUE; -+ status = cairo_type1_font_subset_parse_charstring ( -+ font, -+ glyph, -+ font->subrs[subr_num].subr_string, -+ font->subrs[subr_num].subr_length); -+ break; -+ } - } - } - font->subset_subrs = FALSE; --- -cgit v0.9.0.2-2-gbebe -From 65176b7380f0d633da514be1febe16f17b99d876 Mon Sep 17 00:00:00 2001 -From: Kevin Tardif -Date: Tue, 30 Oct 2012 04:27:27 +0000 -Subject: type1-subset, cff-subset: Plugged 2 memory leaks - -- _cairo_type1_font_subset_fini doesn't free font->cleartext -- _cairo_cff_font_create can exit without freeing font->font_name and/or - font->data; _cairo_cff_font_load_opentype_cff is called to allocate - font_name, then _cairo_cff_font_load_cff is called to allocate - font->data, then _cairo_cff_font_load_cff's return status is checked - and if it failed, it jumps to fail1. This can cause font_name to leak - since the fail1 target only frees the font variable. In addition, - _cairo_cff_font_load_cff can fail -after- allocating data, and then - data won't be freed either. - -Bug 56566 ---- -diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c -index e3040fc..bd8d5b5 100644 ---- a/src/cairo-cff-subset.c -+++ b/src/cairo-cff-subset.c -@@ -2787,7 +2787,7 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset, - if (backend->is_synthetic && backend->is_synthetic (scaled_font_subset->scaled_font)) - return CAIRO_INT_STATUS_UNSUPPORTED; - -- font = malloc (sizeof (cairo_cff_font_t)); -+ font = calloc (1, sizeof (cairo_cff_font_t)); - if (unlikely (font == NULL)) - return _cairo_error (CAIRO_STATUS_NO_MEMORY); - -@@ -2862,11 +2862,11 @@ fail4: - fail3: - free (font->subset_font_name); - fail2: -- free (font->data); -- free (font->font_name); - free (font->ps_name); - _cairo_array_fini (&font->output); - fail1: -+ free (font->data); -+ free (font->font_name); - free (font); - - return status; -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index dff4a95..2ec56f1 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -1670,6 +1670,8 @@ _cairo_type1_font_subset_fini (cairo_type1_font_subset_t *font) - - free (font->subset_index_to_glyphs); - -+ free (font->cleartext); -+ - return status; - } - --- -cgit v0.9.0.2-2-gbebe -From 66625cb46c985321c46b79d2163a4d676d6700ba Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Tue, 30 Oct 2012 12:40:41 +0000 -Subject: xlib: Apply the image offsets to the destination rather the source - -So that we can specify the entire source surface as the region to copy -and not introduce clipping errors. - -Fixes regression from -commit c068691ff57c2f6cd750a54db17393c0e132cb00 -Author: Chris Wilson -Date: Fri Aug 17 21:33:54 2012 +0100 - - xlib/shm: Use an impromptu upload ShmSegment - -Reported-by: John Lindgren -Reported-by: Kalev Lember -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56547 -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-xlib-render-compositor.c b/src/cairo-xlib-render-compositor.c -index e325382..74c43e9 100644 ---- a/src/cairo-xlib-render-compositor.c -+++ b/src/cairo-xlib-render-compositor.c -@@ -179,22 +179,19 @@ copy_image_boxes (void *_dst, - int x2 = _cairo_fixed_integer_part (chunk->base[i].p2.x); - int y2 = _cairo_fixed_integer_part (chunk->base[i].p2.y); - -- rects[j].x = x1; -- rects[j].y = y1; -- rects[j].width = x2 - x1; -- rects[j].height = y2 - y1; -- j++; -+ if (x2 > x1 && y2 > y1) { -+ rects[j].x = x1; -+ rects[j].y = y1; -+ rects[j].width = x2 - x1; -+ rects[j].height = y2 - y1; -+ j++; -+ } - } - } -- assert (j == boxes->num_boxes); - - XSetClipRectangles (dst->dpy, gc, 0, 0, rects, j, Unsorted); -- - XCopyArea (dst->dpy, src, dst->drawable, gc, -- dx, dy, -- image->width, image->height, -- 0, 0); -- -+ 0, 0, image->width, image->height, -dx, -dy); - XSetClipMask (dst->dpy, gc, None); - - if (rects != stack_rects) -@@ -337,7 +334,8 @@ draw_image_boxes (void *_dst, - - if (_cairo_xlib_shm_surface_get_pixmap (&image->base)) { - status = copy_image_boxes (dst, image, boxes, dx, dy); -- goto out; -+ if (status != CAIRO_INT_STATUS_UNSUPPORTED) -+ goto out; - } - } - } --- -cgit v0.9.0.2-2-gbebe diff --git a/extra/cairo/git_fixes.patch b/extra/cairo/git_fixes.patch deleted file mode 100644 index 6ad8979eb..000000000 --- a/extra/cairo/git_fixes.patch +++ /dev/null @@ -1,1086 +0,0 @@ -From ede11b2954db19e3ca9d31cef7d04a7bf0e42ddc Mon Sep 17 00:00:00 2001 -From: Behdad Esfahbod -Date: Sun, 25 Mar 2012 18:37:14 +0000 -Subject: Fix math in comments - ---- -diff --git a/src/cairo-arc.c b/src/cairo-arc.c -index dc07fee..6977e88 100644 ---- a/src/cairo-arc.c -+++ b/src/cairo-arc.c -@@ -139,7 +139,7 @@ _arc_segments_needed (double angle, - - From that paper, a very practical value of h is: - -- h = 4/3 * tan(angle/4) -+ h = 4/3 * R * tan(angle/4) - - This value does not give the spline with minimal error, but it does - provide a very good approximation, (6th-order convergence), and the --- -cgit v0.9.0.2-2-gbebe -From fba21ef2a4c4eb343668267fda713aedbb6af2a4 Mon Sep 17 00:00:00 2001 -From: Henry (Yu) Song -Date: Tue, 27 Mar 2012 21:25:37 +0000 -Subject: gl: use font's antialias option to check whether it needs mask - -There is need to loop over number of glyphs to check wether the glyph -image is a ARGB32 as the font's antialias option can be used for checking. -If antialias is SUBPIXEL or BEST, the glyph surface will be ARGB32, -otherwise it will be A8 format. Therefore we will only be using -component-alpha at SUBPIXEL (or better) font quality and only then need -a mask for multiple pass glyph composition. ---- -diff --git a/src/cairo-gl-glyphs.c b/src/cairo-gl-glyphs.c -index 832956f..9756ea4 100644 ---- a/src/cairo-gl-glyphs.c -+++ b/src/cairo-gl-glyphs.c -@@ -427,23 +427,15 @@ _cairo_gl_composite_glyphs (void *_dst, - - TRACE ((stderr, "%s\n", __FUNCTION__)); - -- /* If any of the glyphs are component alpha, we have to go through a mask, -- * since only _cairo_gl_surface_composite() currently supports component -- * alpha. -+ /* If any of the glyphs require component alpha, we have to go through -+ * a mask, since only _cairo_gl_surface_composite() currently supports -+ * component alpha. - */ -- if (!dst->base.is_clear && ! info->use_mask && op != CAIRO_OPERATOR_OVER) { -- for (i = 0; i < info->num_glyphs; i++) { -- cairo_scaled_glyph_t *scaled_glyph; -- -- if (_cairo_scaled_glyph_lookup (info->font, info->glyphs[i].index, -- CAIRO_SCALED_GLYPH_INFO_SURFACE, -- &scaled_glyph) == CAIRO_INT_STATUS_SUCCESS && -- scaled_glyph->surface->format == CAIRO_FORMAT_ARGB32) -- { -- info->use_mask = TRUE; -- break; -- } -- } -+ if (!dst->base.is_clear && ! info->use_mask && op != CAIRO_OPERATOR_OVER && -+ (info->font->options.antialias == CAIRO_ANTIALIAS_SUBPIXEL || -+ info->font->options.antialias == CAIRO_ANTIALIAS_BEST)) -+ { -+ info->use_mask = TRUE; - } - - if (info->use_mask) { --- -cgit v0.9.0.2-2-gbebe -From d304f0e57be8036719c3709e2419487326369105 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Wed, 28 Mar 2012 23:32:36 +0000 -Subject: composite-rectangles: Trim extents for SOURCE and CLEAR to the mask - -The SOURCE and CLEAR are the odd pair in Cairo's range of operators that -are bound by the shape/mask, but are unbound by the source. This -regularly leads to bugs as only track the bound/unbound rectangles and -confuse the meaning when bound only by the mask. - -What is required is that the unbound extents in this case is only -trimmed by the mask (the bounded extents are still the intersection of -all). - -Fixes bug-source-cu - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-composite-rectangles.c b/src/cairo-composite-rectangles.c -index 106571e..8c5cd5a 100644 ---- a/src/cairo-composite-rectangles.c -+++ b/src/cairo-composite-rectangles.c -@@ -147,8 +147,12 @@ _cairo_composite_rectangles_intersect (cairo_composite_rectangles_t *extents, - if (! ret && extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK) - return CAIRO_INT_STATUS_NOTHING_TO_DO; - -- if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) -+ if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) { - extents->unbounded = extents->bounded; -+ } else if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK) { -+ if (!_cairo_rectangle_intersect (&extents->unbounded, &extents->mask)) -+ return CAIRO_INT_STATUS_NOTHING_TO_DO; -+ } - - extents->clip = _cairo_clip_reduce_for_composite (clip, extents); - if (_cairo_clip_is_all_clipped (extents->clip)) -@@ -199,8 +203,12 @@ _cairo_composite_rectangles_intersect_source_extents (cairo_composite_rectangles - rect.height == extents->bounded.height) - return CAIRO_INT_STATUS_SUCCESS; - -- if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) -+ if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) { - extents->unbounded = extents->bounded; -+ } else if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK) { -+ if (!_cairo_rectangle_intersect (&extents->unbounded, &extents->mask)) -+ return CAIRO_INT_STATUS_NOTHING_TO_DO; -+ } - - clip = extents->clip; - extents->clip = _cairo_clip_reduce_for_composite (clip, extents); -@@ -253,8 +261,12 @@ _cairo_composite_rectangles_intersect_mask_extents (cairo_composite_rectangles_t - mask.height == extents->bounded.height) - return CAIRO_INT_STATUS_SUCCESS; - -- if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) -+ if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) { - extents->unbounded = extents->bounded; -+ } else if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK) { -+ if (!_cairo_rectangle_intersect (&extents->unbounded, &extents->mask)) -+ return CAIRO_INT_STATUS_NOTHING_TO_DO; -+ } - - clip = extents->clip; - extents->clip = _cairo_clip_reduce_for_composite (clip, extents); --- -cgit v0.9.0.2-2-gbebe -From af6e084dd78fcbb8ecce46c57f655f5e24343b8c Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Thu, 29 Mar 2012 13:48:24 +0000 -Subject: cairoint: Mark PDF surface as requiring the deflate stream output - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairoint.h b/src/cairoint.h -index 9a8003e..9f20d51 100644 ---- a/src/cairoint.h -+++ b/src/cairoint.h -@@ -73,7 +73,10 @@ - #include "cairo-compiler-private.h" - #include "cairo-error-private.h" - --#if CAIRO_HAS_PS_SURFACE || CAIRO_HAS_SCRIPT_SURFACE || CAIRO_HAS_XML_SURFACE -+#if CAIRO_HAS_PDF_SURFACE || \ -+ CAIRO_HAS_PS_SURFACE || \ -+ CAIRO_HAS_SCRIPT_SURFACE || \ -+ CAIRO_HAS_XML_SURFACE - #define CAIRO_HAS_DEFLATE_STREAM 1 - #endif - -@@ -84,7 +87,9 @@ - #define CAIRO_HAS_FONT_SUBSET 1 - #endif - --#if CAIRO_HAS_PS_SURFACE || CAIRO_HAS_PDF_SURFACE || CAIRO_HAS_FONT_SUBSET -+#if CAIRO_HAS_PS_SURFACE || \ -+ CAIRO_HAS_PDF_SURFACE || \ -+ CAIRO_HAS_FONT_SUBSET - #define CAIRO_HAS_PDF_OPERATORS 1 - #endif - --- -cgit v0.9.0.2-2-gbebe -From a965b0f95fdeb567f7ccb51f7c8c47735a61e2d9 Mon Sep 17 00:00:00 2001 -From: Henry (Yu) Song -Date: Thu, 29 Mar 2012 01:08:51 +0000 -Subject: gl: fix y-axis origin when map_to_image() for non texture GL surface - -We need to fix y-axis origin when map a GL surface to image surface for -non-texture GL surface. - -Test cases: extended-blend-alpha-mask, extended-blend-mask. -Although the image outputs is not right, but the image on the first grid -(upper-left corner) is correct comparing to image output. ---- -diff --git a/src/cairo-gl-surface.c b/src/cairo-gl-surface.c -index 8bbf939..32ecf63 100644 ---- a/src/cairo-gl-surface.c -+++ b/src/cairo-gl-surface.c -@@ -985,6 +985,7 @@ _cairo_gl_surface_map_to_image (void *abstract_surface, - unsigned int cpp; - cairo_bool_t invert; - cairo_status_t status; -+ int y; - - /* Want to use a switch statement here but the compiler gets whiny. */ - if (surface->base.content == CAIRO_CONTENT_COLOR_ALPHA) { -@@ -1065,7 +1066,12 @@ _cairo_gl_surface_map_to_image (void *abstract_surface, - glPixelStorei (GL_PACK_ROW_LENGTH, image->stride / cpp); - if (invert) - glPixelStorei (GL_PACK_INVERT_MESA, 1); -- glReadPixels (extents->x, extents->y, -+ -+ y = extents->y; -+ if (! _cairo_gl_surface_is_texture (surface)) -+ y = surface->height - extents->y - extents->height; -+ -+ glReadPixels (extents->x, y, - extents->width, extents->height, - format, type, image->data); - if (invert) --- -cgit v0.9.0.2-2-gbebe -From c77112c5464d7ff21052527f82f4d729cc509291 Mon Sep 17 00:00:00 2001 -From: Uli Schlachter -Date: Mon, 02 Apr 2012 18:43:00 +0000 -Subject: xcb: Fix SHM in _get_image() - -Commit 2283ab9 introduced a logic error. Instead of falling back to the non-SHM -path when getting the image via SHM failed, we now did the fallback when getting -the image via SHM worked (which means that the SHM operation was a waste of -time). - -Signed-off-by: Uli Schlachter ---- -diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c -index fff4f52..6bedbda 100644 ---- a/src/cairo-xcb-surface.c -+++ b/src/cairo-xcb-surface.c -@@ -367,7 +367,7 @@ _get_image (cairo_xcb_surface_t *surface, - if (use_shm) { - image = _get_shm_image (surface, x, y, width, height); - if (image) { -- if (image->status) { -+ if (image->status == CAIRO_STATUS_SUCCESS) { - _cairo_xcb_connection_release (connection); - return image; - } --- -cgit v0.9.0.2-2-gbebe -From cc247c346b75353f16ab40ac74c54cdd9663d16b Mon Sep 17 00:00:00 2001 -From: Henry (Yu) Song -Date: Mon, 02 Apr 2012 21:29:47 +0000 -Subject: gl: Remove an unused variable - ---- -diff --git a/src/cairo-gl-gradient.c b/src/cairo-gl-gradient.c -index b364b92..ce7c0dd 100644 ---- a/src/cairo-gl-gradient.c -+++ b/src/cairo-gl-gradient.c -@@ -207,7 +207,6 @@ _cairo_gl_gradient_create (cairo_gl_context_t *ctx, - cairo_status_t status; - int tex_width; - void *data; -- cairo_gl_dispatch_t *dispatch = &ctx->dispatch; - - if ((unsigned int) ctx->max_texture_size / 2 <= n_stops) - return CAIRO_INT_STATUS_UNSUPPORTED; --- -cgit v0.9.0.2-2-gbebe -From 7a262fd398c8a1f3c9052e8d9ec459e27ff91b4d Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Wed, 04 Apr 2012 10:23:09 +0000 -Subject: fix bug in _cairo_image_analyze_color - ---- -diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c -index 8208a15..e860e1b 100644 ---- a/src/cairo-image-surface.c -+++ b/src/cairo-image-surface.c -@@ -1130,9 +1130,12 @@ _cairo_image_analyze_color (cairo_image_surface_t *image) - if (image->color != CAIRO_IMAGE_UNKNOWN_COLOR) - return image->color; - -- if (image->format == CAIRO_FORMAT_A1 || image->format == CAIRO_FORMAT_A8) -+ if (image->format == CAIRO_FORMAT_A1) - return image->color = CAIRO_IMAGE_IS_MONOCHROME; - -+ if (image->format == CAIRO_FORMAT_A8) -+ return image->color = CAIRO_IMAGE_IS_GRAYSCALE; -+ - if (image->format == CAIRO_FORMAT_ARGB32) { - image->color = CAIRO_IMAGE_IS_MONOCHROME; - for (y = 0; y < image->height; y++) { --- -cgit v0.9.0.2-2-gbebe -From 70b2856ed3d31b41e69b3d82fb9c5c11c2b3d3d4 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Thu, 05 Apr 2012 23:43:35 +0000 -Subject: type1-subset: use fallback font if glyph widths are calculated - -Bug 48349 has a pdf file with a Type 1 font where the glyph widths are -of the form: - -34 9302 19 div hsbw ---- -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index 607ac8e..ba1008a 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -751,6 +751,9 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - command = *p++; - switch (command) { - case TYPE1_CHARSTRING_COMMAND_HSBW: -+ if (! last_op_was_integer) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ - font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em; - font->build_stack.sp = 0; - last_op_was_integer = FALSE; -@@ -797,6 +800,9 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - break; - - case TYPE1_CHARSTRING_COMMAND_SBW: -+ if (! last_op_was_integer) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ - font->glyphs[glyph].width = font->build_stack.stack[2]/font->base.units_per_em; - font->build_stack.sp = 0; - last_op_was_integer = FALSE; --- -cgit v0.9.0.2-2-gbebe -From a6d955fcc46ae2da8d6f3b2cadeae64c03066461 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Thu, 05 Apr 2012 23:53:50 +0000 -Subject: fix indentation in cairo_type1_font_subset_parse_charstring - ---- -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index ba1008a..ddef8ae 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -1,3 +1,4 @@ -+/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */ - /* cairo - a vector graphics library with display and print output - * - * Copyright © 2006 Red Hat, Inc -@@ -750,86 +751,79 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - if (*p < 32) { - command = *p++; - switch (command) { -- case TYPE1_CHARSTRING_COMMAND_HSBW: -- if (! last_op_was_integer) -- return CAIRO_INT_STATUS_UNSUPPORTED; -+ case TYPE1_CHARSTRING_COMMAND_HSBW: -+ if (! last_op_was_integer) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ -+ font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em; -+ font->build_stack.sp = 0; -+ last_op_was_integer = FALSE; -+ break; -+ -+ case TYPE1_CHARSTRING_COMMAND_CALLSUBR: -+ if (font->subset_subrs && -+ last_op_was_integer && -+ font->build_stack.top_value >= 0 && -+ font->build_stack.top_value < font->num_subrs) -+ { -+ subr_num = font->build_stack.top_value; -+ font->subrs[subr_num].used = TRUE; -+ last_op_was_integer = FALSE; -+ status = cairo_type1_font_subset_parse_charstring (font, -+ glyph, -+ font->subrs[subr_num].subr_string, -+ font->subrs[subr_num].subr_length); -+ } else { -+ font->subset_subrs = FALSE; -+ } -+ break; -+ -+ case TYPE1_CHARSTRING_COMMAND_ESCAPE: -+ command = command << 8 | *p++; -+ switch (command) { -+ case TYPE1_CHARSTRING_COMMAND_SEAC: -+ /* The seac command takes five integer arguments. The -+ * last two are glyph indices into the PS standard -+ * encoding give the names of the glyphs that this -+ * glyph is composed from. All we need to do is to -+ * make sure those glyphs are present in the subset -+ * under their standard names. */ -+ status = use_standard_encoding_glyph (font, font->build_stack.stack[3]); -+ if (unlikely (status)) -+ return status; -+ -+ status = use_standard_encoding_glyph (font, font->build_stack.stack[4]); -+ if (unlikely (status)) -+ return status; - -- font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em; - font->build_stack.sp = 0; - last_op_was_integer = FALSE; - break; - -- case TYPE1_CHARSTRING_COMMAND_CALLSUBR: -- if (font->subset_subrs && -- last_op_was_integer && -- font->build_stack.top_value >= 0 && -- font->build_stack.top_value < font->num_subrs) -- { -- subr_num = font->build_stack.top_value; -- font->subrs[subr_num].used = TRUE; -- last_op_was_integer = FALSE; -- status = cairo_type1_font_subset_parse_charstring (font, -- glyph, -- font->subrs[subr_num].subr_string, -- font->subrs[subr_num].subr_length); -- } else { -- font->subset_subrs = FALSE; -- } -+ case TYPE1_CHARSTRING_COMMAND_SBW: -+ if (! last_op_was_integer) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ -+ font->glyphs[glyph].width = font->build_stack.stack[2]/font->base.units_per_em; -+ font->build_stack.sp = 0; -+ last_op_was_integer = FALSE; - break; - -- case TYPE1_CHARSTRING_COMMAND_ESCAPE: -- command = command << 8 | *p++; -- switch (command) { -- case TYPE1_CHARSTRING_COMMAND_SEAC: -- /* The seac command takes five integer arguments. The -- * last two are glyph indices into the PS standard -- * encoding give the names of the glyphs that this -- * glyph is composed from. All we need to do is to -- * make sure those glyphs are present in the subset -- * under their standard names. */ -- status = use_standard_encoding_glyph (font, font->build_stack.stack[3]); -- if (unlikely (status)) -- return status; -- -- status = use_standard_encoding_glyph (font, font->build_stack.stack[4]); -- if (unlikely (status)) -- return status; -- -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; -- -- case TYPE1_CHARSTRING_COMMAND_SBW: -- if (! last_op_was_integer) -- return CAIRO_INT_STATUS_UNSUPPORTED; -- -- font->glyphs[glyph].width = font->build_stack.stack[2]/font->base.units_per_em; -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; -- -- case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR: -- for (i = 0; i < font->build_stack.sp; i++) -- font->ps_stack.other_subr_args[i] = font->build_stack.stack[i]; -- font->ps_stack.num_other_subr_args = font->build_stack.sp; -- font->ps_stack.cur_other_subr_arg = 0; -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; -- -- case TYPE1_CHARSTRING_COMMAND_POP: -- if (font->ps_stack.num_other_subr_args > font->ps_stack.cur_other_subr_arg) { -- font->build_stack.top_value = font->ps_stack.other_subr_args[font->ps_stack.cur_other_subr_arg++]; -- last_op_was_integer = TRUE; -- } else { -- font->subset_subrs = FALSE; -- } -- break; -- -- default: -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; -+ case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR: -+ for (i = 0; i < font->build_stack.sp; i++) -+ font->ps_stack.other_subr_args[i] = font->build_stack.stack[i]; -+ font->ps_stack.num_other_subr_args = font->build_stack.sp; -+ font->ps_stack.cur_other_subr_arg = 0; -+ font->build_stack.sp = 0; -+ last_op_was_integer = FALSE; -+ break; -+ -+ case TYPE1_CHARSTRING_COMMAND_POP: -+ if (font->ps_stack.num_other_subr_args > font->ps_stack.cur_other_subr_arg) { -+ font->build_stack.top_value = font->ps_stack.other_subr_args[font->ps_stack.cur_other_subr_arg++]; -+ last_op_was_integer = TRUE; -+ } else { -+ font->subset_subrs = FALSE; - } - break; - -@@ -837,6 +831,13 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - font->build_stack.sp = 0; - last_op_was_integer = FALSE; - break; -+ } -+ break; -+ -+ default: -+ font->build_stack.sp = 0; -+ last_op_was_integer = FALSE; -+ break; - } - } else { - /* integer argument */ --- -cgit v0.9.0.2-2-gbebe -From 8886220b5027296f5b3b95e9c2f93509108d3b9e Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Fri, 06 Apr 2012 00:13:53 +0000 -Subject: type1-subset: if font name is prefixed with a subset tag, strip it off - ---- -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index ddef8ae..e507abe 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -381,6 +381,7 @@ cairo_type1_font_subset_get_fontname (cairo_type1_font_subset_t *font) - { - const char *start, *end, *segment_end; - char *s; -+ int i; - - segment_end = font->header_segment + font->header_segment_size; - start = find_token (font->header_segment, segment_end, "/FontName"); -@@ -406,6 +407,16 @@ cairo_type1_font_subset_get_fontname (cairo_type1_font_subset_t *font) - return CAIRO_INT_STATUS_UNSUPPORTED; - } - -+ /* If font name is prefixed with a subset tag, strip it off. */ -+ if (strlen(start) > 7 && start[6] == '+') { -+ for (i = 0; i < 6; i++) { -+ if (start[i] < 'A' || start[i] > 'Z') -+ break; -+ } -+ if (i == 6) -+ start += 7; -+ } -+ - font->base.base_font = strdup (start); - free (s); - if (unlikely (font->base.base_font == NULL)) --- -cgit v0.9.0.2-2-gbebe -From 8657ca10e34b0034602680b4304d47ecf90ccbfd Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Fri, 06 Apr 2012 11:50:40 +0000 -Subject: fix _cairo_pattern_get_ink_extents to work with snapshot recording surfaces - -It had caused pdf bbox sizes to regress to page size bboxes. ---- -diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c -index 27ba004..5b3e177 100644 ---- a/src/cairo-pattern.c -+++ b/src/cairo-pattern.c -@@ -37,6 +37,7 @@ - #include "cairo-path-private.h" - #include "cairo-pattern-private.h" - #include "cairo-recording-surface-private.h" -+#include "cairo-surface-snapshot-private.h" - - #include - -@@ -3666,6 +3667,9 @@ _cairo_pattern_get_ink_extents (const cairo_pattern_t *pattern, - (const cairo_surface_pattern_t *) pattern; - cairo_surface_t *surface = surface_pattern->surface; - -+ if (_cairo_surface_is_snapshot (surface)) -+ surface = _cairo_surface_snapshot_get_target (surface); -+ - if (_cairo_surface_is_recording (surface)) { - cairo_matrix_t imatrix; - cairo_box_t box; --- -cgit v0.9.0.2-2-gbebe -From 6f28f0b33cb12f3b2dd48c87da0018bd00c17107 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Sun, 08 Apr 2012 10:28:59 +0000 -Subject: stroke: Fix misuse of half_line_x for vertical caps on dashes - -A typo using half_line_x instead of half_line_y when emitting dashed -segments of the rectilinear stroke. - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-path-stroke-boxes.c b/src/cairo-path-stroke-boxes.c -index 3e8c5a4..cc9dd19 100644 ---- a/src/cairo-path-stroke-boxes.c -+++ b/src/cairo-path-stroke-boxes.c -@@ -342,15 +342,15 @@ _cairo_rectilinear_stroker_emit_segments_dashed (cairo_rectilinear_stroker_t *st - box.p1.x = box.p2.x - half_line_x; - } - if (out_slope.dy >= 0) -- box.p1.y -= half_line_x; -+ box.p1.y -= half_line_y; - if (out_slope.dy <= 0) -- box.p2.y += half_line_x; -+ box.p2.y += half_line_y; - } else { - if (box.p1.y <= box.p2.y) { - box.p1.y = box.p2.y; -- box.p2.y += half_line_x; -+ box.p2.y += half_line_y; - } else { -- box.p1.y = box.p2.y - half_line_x; -+ box.p1.y = box.p2.y - half_line_y; - } - if (out_slope.dx >= 0) - box.p1.x -= half_line_x; --- -cgit v0.9.0.2-2-gbebe -From 113ec6bf0c8ed1ff12293d1ed2a2de9bd5b9904b Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Sun, 08 Apr 2012 16:58:13 +0000 -Subject: traps: Clip the trapezoid extents against the clip extents - -Just in case the clip polygon turns out to be much larger than the -operation extents (silly us for not reducing it correctly) and lead to -catastrophe, such as: - -Program received signal SIGSEGV, Segmentation fault. -pixman_fill_sse2 (bits=, stride=4, bpp=8, x=0, y=0, -width=3, height=-34811, data=0) at pixman-sse2.c:3369 -3369 *(uint16_t *)d = data; - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-traps-compositor.c b/src/cairo-traps-compositor.c -index 284a0be..c49e208 100644 ---- a/src/cairo-traps-compositor.c -+++ b/src/cairo-traps-compositor.c -@@ -218,8 +218,13 @@ combine_clip_as_traps (const cairo_traps_compositor_t *compositor, - _cairo_traps_fini (&traps); - cairo_surface_destroy (src); - -- if (status == CAIRO_INT_STATUS_SUCCESS && -- (fixup.width < extents->width || fixup.height < extents->height)) { -+ if (unlikely (status)) -+ return status; -+ -+ if (! _cairo_rectangle_intersect (&fixup, extents)) -+ return CAIRO_STATUS_SUCCESS; -+ -+ if (fixup.width < extents->width || fixup.height < extents->height) { - cairo_boxes_t clear; - - _cairo_boxes_init (&clear); --- -cgit v0.9.0.2-2-gbebe -From de61681574eb7d6e0e497ea7f25797e3d9b20ac4 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Mon, 09 Apr 2012 11:47:34 +0000 -Subject: build: Disable -Wset-but-unused-variable - -This is too noisy in the current build, and masking more important -warnings. - -Signed-off-by: Chris Wilson ---- -diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings -index 3eb0104..f1b17f4 100644 ---- a/build/configure.ac.warnings -+++ b/build/configure.ac.warnings -@@ -21,6 +21,9 @@ MAYBE_WARN="-Wall -Wextra \ - -Wno-missing-field-initializers -Wno-unused-parameter \ - -Wno-attributes -Wno-long-long -Winline" - -+# -Wunused-but-set-variable is too noisy at present -+NO_WARN="-Wno-unused-but-set-variable" -+ - dnl Sun Studio 12 likes to rag at us for abusing enums like - dnl having cairo_status_t variables hold cairo_int_status_t - dnl values. It's bad, we know. Now please be quiet. -@@ -34,6 +37,8 @@ MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common -flto" - dnl Also to turn various gcc/glibc-specific preprocessor checks - MAYBE_WARN="$MAYBE_WARN -Wp,-D_FORTIFY_SOURCE=2" - -+MAYBE_WARN="$MAYBE_WARN $NO_WARN" -+ - # invalidate cached value if MAYBE_WARN has changed - if test "x$cairo_cv_warn_maybe" != "x$MAYBE_WARN"; then - unset cairo_cv_warn_cflags --- -cgit v0.9.0.2-2-gbebe -From 7cb5053c0694992320b5f7ea3b91ea497431813b Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Mon, 09 Apr 2012 11:49:20 +0000 -Subject: analysis: Apply the integer translation to the bbox as well - -The bbox is used to compute the ink extents (and so the pattern extents -of a recording surface) and if given an integer translation we failed to -transform the bbox into the target space. - -Fixes mask (pdf). - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-analysis-surface.c b/src/cairo-analysis-surface.c -index b8abe02..8878f62 100644 ---- a/src/cairo-analysis-surface.c -+++ b/src/cairo-analysis-surface.c -@@ -220,6 +220,14 @@ _add_operation (cairo_analysis_surface_t *surface, - if (_cairo_matrix_is_integer_translation (&surface->ctm, &tx, &ty)) { - rect->x += tx; - rect->y += ty; -+ -+ tx = _cairo_fixed_from_int (tx); -+ bbox.p1.x += tx; -+ bbox.p2.x += tx; -+ -+ ty = _cairo_fixed_from_int (ty); -+ bbox.p1.y += ty; -+ bbox.p2.y += ty; - } else { - _cairo_matrix_transform_bounding_box_fixed (&surface->ctm, - &bbox, NULL); --- -cgit v0.9.0.2-2-gbebe -From 038e4991912656a3239ca82d60056ca129016ba6 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Mon, 09 Apr 2012 08:31:44 +0000 -Subject: pdf: avoid unnecessary use of patterns in mask groups - ---- -diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c -index 4930e72..78537ce 100644 ---- a/src/cairo-pdf-surface.c -+++ b/src/cairo-pdf-surface.c -@@ -5703,56 +5703,68 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, - if (unlikely (status)) - return status; - -- pattern_res.id = 0; -- gstate_res.id = 0; -- status = _cairo_pdf_surface_add_pdf_pattern (surface, group->mask, NULL, -- &pattern_res, &gstate_res); -- if (unlikely (status)) -- return status; -- -- if (gstate_res.id != 0) { -- smask_group = _cairo_pdf_surface_create_smask_group (surface, &group->extents); -- if (unlikely (smask_group == NULL)) -- return _cairo_error (CAIRO_STATUS_NO_MEMORY); -- -- smask_group->width = group->width; -- smask_group->height = group->height; -- smask_group->operation = PDF_PAINT; -- smask_group->source = cairo_pattern_reference (group->mask); -- smask_group->source_res = pattern_res; -- status = _cairo_pdf_surface_add_smask_group (surface, smask_group); -- if (unlikely (status)) { -- _cairo_pdf_smask_group_destroy (smask_group); -- return status; -- } -- -- status = _cairo_pdf_surface_add_smask (surface, gstate_res); -- if (unlikely (status)) -- return status; -- -- status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); -+ if (_can_paint_pattern (group->mask)) { -+ _cairo_output_stream_printf (surface->output, "q\n"); -+ status = _cairo_pdf_surface_paint_pattern (surface, -+ group->mask, -+ &group->extents, -+ FALSE); - if (unlikely (status)) - return status; - -- _cairo_output_stream_printf (surface->output, -- "q /s%d gs /x%d Do Q\n", -- gstate_res.id, -- smask_group->group_res.id); -+ _cairo_output_stream_printf (surface->output, "Q\n"); - } else { -- status = _cairo_pdf_surface_select_pattern (surface, group->mask, pattern_res, FALSE); -+ pattern_res.id = 0; -+ gstate_res.id = 0; -+ status = _cairo_pdf_surface_add_pdf_pattern (surface, group->mask, NULL, -+ &pattern_res, &gstate_res); - if (unlikely (status)) - return status; - -- _cairo_output_stream_printf (surface->output, -- "%f %f %f %f re f\n", -- bbox.p1.x, -- bbox.p1.y, -- bbox.p2.x - bbox.p1.x, -- bbox.p2.y - bbox.p1.y); -+ if (gstate_res.id != 0) { -+ smask_group = _cairo_pdf_surface_create_smask_group (surface, &group->extents); -+ if (unlikely (smask_group == NULL)) -+ return _cairo_error (CAIRO_STATUS_NO_MEMORY); - -- status = _cairo_pdf_surface_unselect_pattern (surface); -- if (unlikely (status)) -- return status; -+ smask_group->width = group->width; -+ smask_group->height = group->height; -+ smask_group->operation = PDF_PAINT; -+ smask_group->source = cairo_pattern_reference (group->mask); -+ smask_group->source_res = pattern_res; -+ status = _cairo_pdf_surface_add_smask_group (surface, smask_group); -+ if (unlikely (status)) { -+ _cairo_pdf_smask_group_destroy (smask_group); -+ return status; -+ } -+ -+ status = _cairo_pdf_surface_add_smask (surface, gstate_res); -+ if (unlikely (status)) -+ return status; -+ -+ status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); -+ if (unlikely (status)) -+ return status; -+ -+ _cairo_output_stream_printf (surface->output, -+ "q /s%d gs /x%d Do Q\n", -+ gstate_res.id, -+ smask_group->group_res.id); -+ } else { -+ status = _cairo_pdf_surface_select_pattern (surface, group->mask, pattern_res, FALSE); -+ if (unlikely (status)) -+ return status; -+ -+ _cairo_output_stream_printf (surface->output, -+ "%f %f %f %f re f\n", -+ bbox.p1.x, -+ bbox.p1.y, -+ bbox.p2.x - bbox.p1.x, -+ bbox.p2.y - bbox.p1.y); -+ -+ status = _cairo_pdf_surface_unselect_pattern (surface); -+ if (unlikely (status)) -+ return status; -+ } - } - - status = _cairo_pdf_surface_close_group (surface, &mask_group); -@@ -5764,54 +5776,66 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, - if (unlikely (status)) - return status; - -- pattern_res.id = 0; -- gstate_res.id = 0; -- status = _cairo_pdf_surface_add_pdf_pattern (surface, group->source, NULL, -- &pattern_res, &gstate_res); -- if (unlikely (status)) -- return status; -- -- if (gstate_res.id != 0) { -- smask_group = _cairo_pdf_surface_create_smask_group (surface, &group->extents); -- if (unlikely (smask_group == NULL)) -- return _cairo_error (CAIRO_STATUS_NO_MEMORY); -- -- smask_group->operation = PDF_PAINT; -- smask_group->source = cairo_pattern_reference (group->source); -- smask_group->source_res = pattern_res; -- status = _cairo_pdf_surface_add_smask_group (surface, smask_group); -- if (unlikely (status)) { -- _cairo_pdf_smask_group_destroy (smask_group); -- return status; -- } -- -- status = _cairo_pdf_surface_add_smask (surface, gstate_res); -- if (unlikely (status)) -- return status; -- -- status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); -+ if (_can_paint_pattern (group->source)) { -+ _cairo_output_stream_printf (surface->output, "q\n"); -+ status = _cairo_pdf_surface_paint_pattern (surface, -+ group->source, -+ &group->extents, -+ FALSE); - if (unlikely (status)) - return status; - -- _cairo_output_stream_printf (surface->output, -- "q /s%d gs /x%d Do Q\n", -- gstate_res.id, -- smask_group->group_res.id); -+ _cairo_output_stream_printf (surface->output, "Q\n"); - } else { -- status = _cairo_pdf_surface_select_pattern (surface, group->source, pattern_res, FALSE); -+ pattern_res.id = 0; -+ gstate_res.id = 0; -+ status = _cairo_pdf_surface_add_pdf_pattern (surface, group->source, NULL, -+ &pattern_res, &gstate_res); - if (unlikely (status)) - return status; - -- _cairo_output_stream_printf (surface->output, -- "%f %f %f %f re f\n", -- bbox.p1.x, -- bbox.p1.y, -- bbox.p2.x - bbox.p1.x, -- bbox.p2.y - bbox.p1.y); -+ if (gstate_res.id != 0) { -+ smask_group = _cairo_pdf_surface_create_smask_group (surface, &group->extents); -+ if (unlikely (smask_group == NULL)) -+ return _cairo_error (CAIRO_STATUS_NO_MEMORY); - -- status = _cairo_pdf_surface_unselect_pattern (surface); -- if (unlikely (status)) -- return status; -+ smask_group->operation = PDF_PAINT; -+ smask_group->source = cairo_pattern_reference (group->source); -+ smask_group->source_res = pattern_res; -+ status = _cairo_pdf_surface_add_smask_group (surface, smask_group); -+ if (unlikely (status)) { -+ _cairo_pdf_smask_group_destroy (smask_group); -+ return status; -+ } -+ -+ status = _cairo_pdf_surface_add_smask (surface, gstate_res); -+ if (unlikely (status)) -+ return status; -+ -+ status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); -+ if (unlikely (status)) -+ return status; -+ -+ _cairo_output_stream_printf (surface->output, -+ "q /s%d gs /x%d Do Q\n", -+ gstate_res.id, -+ smask_group->group_res.id); -+ } else { -+ status = _cairo_pdf_surface_select_pattern (surface, group->source, pattern_res, FALSE); -+ if (unlikely (status)) -+ return status; -+ -+ _cairo_output_stream_printf (surface->output, -+ "%f %f %f %f re f\n", -+ bbox.p1.x, -+ bbox.p1.y, -+ bbox.p2.x - bbox.p1.x, -+ bbox.p2.y - bbox.p1.y); -+ -+ status = _cairo_pdf_surface_unselect_pattern (surface); -+ if (unlikely (status)) -+ return status; -+ } - } - - status = _cairo_pdf_surface_close_group (surface, NULL); --- -cgit v0.9.0.2-2-gbebe -From 9fcbe25c2dcf831783bb0fd20af9754c0b5c409b Mon Sep 17 00:00:00 2001 -From: Maarten Bosmans -Date: Mon, 09 Apr 2012 19:33:50 +0000 -Subject: Protect code using dlfcn.h with CAIRO_HAS_DLSYM - ---- -diff --git a/configure.ac b/configure.ac -index cedfebe..5d2e6ec 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -52,6 +52,7 @@ AM_CONDITIONAL(CAIRO_HAS_DL, test "x$have_dl" = "xyes") - if test "x$have_dlsym" = "xyes"; then - AC_DEFINE([CAIRO_HAS_DLSYM], 1, [Define to 1 if dlsym is available]) - fi -+AM_CONDITIONAL(CAIRO_HAS_DLSYM, test "x$have_dlsym" = "xyes") - - dnl =========================================================================== - -diff --git a/util/Makefile.am b/util/Makefile.am -index f202f35..82d0a80 100644 ---- a/util/Makefile.am -+++ b/util/Makefile.am -@@ -12,20 +12,24 @@ endif - - if CAIRO_HAS_TRACE - SUBDIRS += cairo-trace -+if CAIRO_HAS_DLSYM - if CAIRO_HAS_SCRIPT_SURFACE - if CAIRO_HAS_TEE_SURFACE - SUBDIRS += cairo-fdr - endif - endif - endif -+endif - - if BUILD_SPHINX -+if CAIRO_HAS_DLSYM - if CAIRO_HAS_SCRIPT_SURFACE - if CAIRO_HAS_TEE_SURFACE - SUBDIRS += cairo-sphinx - endif - endif - endif -+endif - - AM_CPPFLAGS = -I$(top_srcdir)/src \ - -I$(top_builddir)/src \ --- -cgit v0.9.0.2-2-gbebe -From c7b86ab97be1d3d3ccf43b652832f148a2fcf290 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Tue, 10 Apr 2012 13:04:05 +0000 -Subject: any2ppm: fix missing enumeration warning - ---- -diff --git a/test/any2ppm.c b/test/any2ppm.c -index 6b61c47..2403347 100644 ---- a/test/any2ppm.c -+++ b/test/any2ppm.c -@@ -193,6 +193,7 @@ write_ppm (cairo_surface_t *surface, int fd) - break; - case CAIRO_FORMAT_A1: - case CAIRO_FORMAT_RGB16_565: -+ case CAIRO_FORMAT_RGB30: - case CAIRO_FORMAT_INVALID: - default: - return "unhandled image format"; --- -cgit v0.9.0.2-2-gbebe -From 09de481ce5f6ed1c38c0d5bf3af7c60642c4c947 Mon Sep 17 00:00:00 2001 -From: Gilles Espinasse -Date: Sat, 07 Apr 2012 21:09:51 +0000 -Subject: Cosmetic configure fix - -'how to allow undefined symbols in shared libraries' test should use CAIRO_CC_TRY_FLAG_SILENT or configure display is a bit out of order like this - -checking how to allow undefined symbols in shared libraries used by test suite... checking whether gcc supports -Wl,--allow-shlib-undefined... yes --Wl,--allow-shlib-undefined - -Signed-off-by: Gilles Espinasse -Signed-off-by: Uli Schlachter ---- -diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings -index f1b17f4..3b2c6f3 100644 ---- a/build/configure.ac.warnings -+++ b/build/configure.ac.warnings -@@ -89,7 +89,7 @@ AC_DEFINE_UNQUOTED([WARN_UNUSED_RESULT], [$cairo_cv_warn_unused_result], - - dnl check linker flags - AC_CACHE_CHECK([how to allow undefined symbols in shared libraries used by test suite], cairo_cv_test_undefined_ldflags, -- [CAIRO_CC_TRY_FLAG([-Wl,--allow-shlib-undefined], [], -+ [CAIRO_CC_TRY_FLAG_SILENT([-Wl,--allow-shlib-undefined], [], - [cairo_cv_test_undefined_ldflags="-Wl,--allow-shlib-undefined]")]) - CAIRO_TEST_UNDEFINED_LDFLAGS="$cairo_cv_test_undefined_ldflags" - AC_SUBST(CAIRO_TEST_UNDEFINED_LDFLAGS) --- -cgit v0.9.0.2-2-gbebe -From 07fc63676dfdaa57ed919ad7be8f59c97c615473 Mon Sep 17 00:00:00 2001 -From: Uli Schlachter -Date: Wed, 11 Apr 2012 19:37:55 +0000 -Subject: xlib: Disable fallback compositor with xlib-xcb - -When xlib-xcb is enabled, this is just dead code which is never used. Thus, this -shouldn't hurt. However, this does include cairo-xlib-private.h. Shouldn't be a -problem? Well, that header contains static inline functions which some compiler -on Solaris will emit even when they are unused. - -This brings us to the real problem: That static inline function refers to a -function which isn't compiled with xlib-xcb and thus linking fails with -undefined symbols. - -This can be reproduced with GCC by adding a call to -_cairo_xlib_screen_put_gc(NULL, NULL, 0, 0); to -_cairo_xlib_fallback_compositor_get. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48489 -Signed-off-by: Uli Schlachter ---- -diff --git a/src/cairo-xlib-fallback-compositor.c b/src/cairo-xlib-fallback-compositor.c -index 5391926..7d45cd1 100644 ---- a/src/cairo-xlib-fallback-compositor.c -+++ b/src/cairo-xlib-fallback-compositor.c -@@ -42,6 +42,8 @@ - - #include "cairoint.h" - -+#if !CAIRO_HAS_XLIB_XCB_FUNCTIONS -+ - #include "cairo-xlib-private.h" - - #include "cairo-compositor-private.h" -@@ -52,3 +54,5 @@ _cairo_xlib_fallback_compositor_get (void) - /* XXX Do something interesting here to mitigate fallbacks ala xcb */ - return &_cairo_fallback_compositor; - } -+ -+#endif /* !CAIRO_HAS_XLIB_XCB_FUNCTIONS */ --- -cgit v0.9.0.2-2-gbebe diff --git a/extra/cairo/revert-xlib-Simplify-source-creation-by-use-of-map-to-image.patch b/extra/cairo/revert-xlib-Simplify-source-creation-by-use-of-map-to-image.patch deleted file mode 100644 index ffd324252..000000000 --- a/extra/cairo/revert-xlib-Simplify-source-creation-by-use-of-map-to-image.patch +++ /dev/null @@ -1,144 +0,0 @@ -From a73e7ff0186176bc82cd3ae1432c054c1fd3aebd Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Sun, 06 Jan 2013 11:29:27 +0000 -Subject: xlib: Simplify source creation by use of map-to-image - -We were open-coding the functionality of map-to-image inside the source -creation routines. so refactor to actually use map-to-image instead. - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-xlib-source.c b/src/cairo-xlib-source.c -index e312222..d08052a 100644 ---- a/src/cairo-xlib-source.c -+++ b/src/cairo-xlib-source.c -@@ -898,9 +898,6 @@ surface_source (cairo_xlib_surface_t *dst, - cairo_surface_pattern_t local_pattern; - cairo_status_t status; - cairo_rectangle_int_t upload, limit; -- cairo_matrix_t m; -- pixman_format_code_t format; -- int draw_x, draw_y; - - src = pattern->surface; - if (src->type == CAIRO_SURFACE_TYPE_IMAGE && -@@ -910,7 +907,6 @@ surface_source (cairo_xlib_surface_t *dst, - - cairo_surface_reference (src); - --prepare_shm_image: - proxy = malloc (sizeof(*proxy)); - if (unlikely (proxy == NULL)) { - cairo_surface_destroy (src); -@@ -954,46 +950,47 @@ prepare_shm_image: - } - } - -- if (_cairo_surface_is_image (src)) -- format = ((cairo_image_surface_t *)src)->pixman_format; -- else -- format = _cairo_format_to_pixman_format_code (_cairo_format_from_content (src->content)); -- src = _cairo_xlib_surface_create_shm (dst, format, -- upload.width, upload.height); -- if (src == NULL) { -- if (_cairo_surface_is_image (pattern->surface)) { -- draw_x = upload.x; -- draw_y = upload.y; -- src = cairo_surface_reference (pattern->surface); -- goto skip_paint; -- } -- -- src = _cairo_image_surface_create_with_pixman_format (NULL, -- format, -- upload.width, -- upload.height, -- 0); -+ xsrc = (cairo_xlib_surface_t *) -+ _cairo_surface_create_similar_scratch (&dst->base, -+ src->content, -+ upload.width, -+ upload.height); -+ if (xsrc->base.type != CAIRO_SURFACE_TYPE_XLIB) { -+ cairo_surface_destroy (src); -+ cairo_surface_destroy (&xsrc->base); -+ return None; - } - -- _cairo_pattern_init_for_surface (&local_pattern, pattern->surface); -- cairo_matrix_init_translate (&local_pattern.base.matrix, -- upload.x, upload.y); -+ if (_cairo_surface_is_image (src)) { -+ status = _cairo_xlib_surface_draw_image (xsrc, (cairo_image_surface_t *)src, -+ upload.x, upload.y, -+ upload.width, upload.height, -+ 0, 0); -+ } else { -+ cairo_image_surface_t *image; - -- status = _cairo_surface_paint (src, -- CAIRO_OPERATOR_SOURCE, -- &local_pattern.base, -- NULL); -- _cairo_pattern_fini (&local_pattern.base); -+ image = _cairo_surface_map_to_image (&xsrc->base, NULL); - -- if (unlikely (status)) { -- cairo_surface_destroy (src); -- return _cairo_surface_create_in_error (status); -+ _cairo_pattern_init_for_surface (&local_pattern, pattern->surface); -+ cairo_matrix_init_translate (&local_pattern.base.matrix, -+ upload.x, upload.y); -+ -+ status = _cairo_surface_paint (&image->base, -+ CAIRO_OPERATOR_SOURCE, -+ &local_pattern.base, -+ NULL); -+ _cairo_pattern_fini (&local_pattern.base); -+ -+ status = _cairo_surface_unmap_image (&xsrc->base, image); -+ if (unlikely (status)) { -+ cairo_surface_destroy (src); -+ return _cairo_surface_create_in_error (status); -+ } - } - -- draw_x = draw_y = 0; --skip_paint: - _cairo_pattern_init_static_copy (&local_pattern.base, &pattern->base); - if (upload.x | upload.y) { -+ cairo_matrix_t m; - cairo_matrix_init_translate (&m, -upload.x, -upload.y); - cairo_matrix_multiply (&local_pattern.base.matrix, - &local_pattern.base.matrix, -@@ -1001,29 +998,6 @@ skip_paint: - } - - *src_x = *src_y = 0; -- if (src->device == dst->base.device && -- _cairo_xlib_shm_surface_get_pixmap (src)) { -- pattern = &local_pattern; -- goto prepare_shm_image; -- } -- -- xsrc = (cairo_xlib_surface_t *) -- _cairo_surface_create_similar_scratch (&dst->base, -- src->content, -- upload.width, -- upload.height); -- if (xsrc->base.type != CAIRO_SURFACE_TYPE_XLIB) { -- cairo_surface_destroy (src); -- cairo_surface_destroy (&xsrc->base); -- return None; -- } -- -- status = _cairo_xlib_surface_draw_image (xsrc, (cairo_image_surface_t *)src, -- draw_x, draw_y, -- upload.width, upload.height, -- 0, 0); -- cairo_surface_destroy (src); -- - _cairo_xlib_surface_ensure_picture (xsrc); - if (! picture_set_properties (xsrc->display, - xsrc->picture, --- -cgit v0.9.0.2-2-gbebe diff --git a/extra/cairo/revert-xlib-map-to-image-requires-an-extents.patch b/extra/cairo/revert-xlib-map-to-image-requires-an-extents.patch deleted file mode 100644 index ccc1ebf47..000000000 --- a/extra/cairo/revert-xlib-map-to-image-requires-an-extents.patch +++ /dev/null @@ -1,24 +0,0 @@ -From dd20c1f4d6419238bbb37fb93a48986f83c6e6c2 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Wed, 09 Jan 2013 12:38:09 +0000 -Subject: xlib: map-to-image requires an extents - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-xlib-source.c b/src/cairo-xlib-source.c -index d08052a..0689d82 100644 ---- a/src/cairo-xlib-source.c -+++ b/src/cairo-xlib-source.c -@@ -968,8 +968,9 @@ surface_source (cairo_xlib_surface_t *dst, - 0, 0); - } else { - cairo_image_surface_t *image; -+ cairo_rectangle_int_t map_extents = { 0,0, upload.width,upload.height }; - -- image = _cairo_surface_map_to_image (&xsrc->base, NULL); -+ image = _cairo_surface_map_to_image (&xsrc->base, &map_extents); - - _cairo_pattern_init_for_surface (&local_pattern, pattern->surface); - cairo_matrix_init_translate (&local_pattern.base.matrix, --- -cgit v0.9.0.2-2-gbebe diff --git a/extra/calligra/lcms24.patch b/extra/calligra/lcms24.patch deleted file mode 100644 index b2427aff1..000000000 --- a/extra/calligra/lcms24.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/plugins/colorengines/lcms2/colorspaces/xyz_f32/XyzF32ColorSpace.h -+++ b/plugins/colorengines/lcms2/colorspaces/xyz_f32/XyzF32ColorSpace.h -@@ -22,6 +22,8 @@ - - #include - #include -+ -+#define TYPE_XYZA_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_XYZ)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(4)) - - #include - - diff --git a/extra/caribou/fix-crash.patch b/extra/caribou/fix-crash.patch deleted file mode 100644 index 98e5baab9..000000000 --- a/extra/caribou/fix-crash.patch +++ /dev/null @@ -1,25 +0,0 @@ -From a8fb1d8fba1e9557a3370edd62501f0a866c6774 Mon Sep 17 00:00:00 2001 -From: Daiki Ueno -Date: Fri, 02 Nov 2012 06:19:47 +0000 -Subject: Fix border-image slice values in antler's gtk CSS - -According to CSS spec, border-image slice values are not denoted -with length units. - -https://bugzilla.gnome.org/show_bug.cgi?id=687409 ---- -diff --git a/data/antler/style.css b/data/antler/style.css -index 0e830dc..7553cf6 100644 ---- a/data/antler/style.css -+++ b/data/antler/style.css -@@ -12,7 +12,7 @@ - .antler-keyboard-button { - border-width: 0px; - border-radius: 2px; -- border-image: url("dark-key-border.svg") 2px 2px 2px 2px repeat stretch; -+ border-image: url("dark-key-border.svg") 2 2 2 2 repeat stretch; - font: Sans 14px; - background-image: -gtk-gradient (linear, - left top, --- -cgit v0.9.0.2 diff --git a/extra/catdoc/PKGBUILD b/extra/catdoc/PKGBUILD deleted file mode 100644 index b8726b402..000000000 --- a/extra/catdoc/PKGBUILD +++ /dev/null @@ -1,31 +0,0 @@ -# $Id: PKGBUILD 161488 2012-06-11 21:02:16Z eric $ -# Maintainer: Juergen Hoetzel -# Contributor: Paulius Palevicius - -pkgname=catdoc -pkgver=0.94.3 -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=('61212b9fd06b0a31aa7bc9a671130f57') - -build() { - cd "$srcdir/$pkgname-$pkgver" - sed -i 's/$(prefix)/$(installroot)$(prefix)/' desktop/Makefile.in - sed -i 's/0.94.2/0.94.3/' 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/extra/cdargs/PKGBUILD b/extra/cdargs/PKGBUILD deleted file mode 100644 index 28e471e84..000000000 --- a/extra/cdargs/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -# $Id: PKGBUILD 128462 2011-06-24 02:21:59Z eric $ -# Maintainer: Aaron Griffin -# Contributor: Damir Perisa - -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/extra/cdargs/cdargs.install b/extra/cdargs/cdargs.install deleted file mode 100644 index 2b29beba7..000000000 --- a/extra/cdargs/cdargs.install +++ /dev/null @@ -1,3 +0,0 @@ -post_install() { - echo "cdargs: helper scripts are in /usr/share/cdargs/" -} diff --git a/extra/cdrkit/PKGBUILD b/extra/cdrkit/PKGBUILD deleted file mode 100644 index e7cd1e615..000000000 --- a/extra/cdrkit/PKGBUILD +++ /dev/null @@ -1,40 +0,0 @@ -# $Id: PKGBUILD 138030 2011-09-14 23:20:33Z dreisner $ -# Maintainer: Andrea Scarpino -# Contributor: Alexander Fehr - -pkgname=cdrkit -pkgver=1.1.11 -pkgrel=2 -pkgdesc="Suite of programs for CD/DVD recording, ISO image creation, and audio CD extraction" -arch=('i686' 'x86_64') -url="http://cdrkit.org/" -license=('GPL2') -depends=('file' 'bzip2' 'perl') -makedepends=('cmake') -source=(http://cdrkit.org/releases/$pkgname-$pkgver.tar.gz) -md5sums=('efe08e2f3ca478486037b053acd512e9') - -build() { - cd "$srcdir/$pkgname-$pkgver" - make -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - make PREFIX="$pkgdir/usr" install - - # Make symlinks for cdrtools compatibility - cd "$pkgdir/usr/bin" - ln -s wodim cdrecord - ln -s readom readcd - ln -s genisoimage mkisofs - ln -s genisoimage mkhybrid - ln -s icedax cdda2wav - - cd "$pkgdir/usr/share/man/man1" - ln -s wodim.1 cdrecord.1 - ln -s readom.1 readcd.1 - ln -s genisoimage.1 mkisofs.1 - ln -s genisoimage.1 mkhybrid.1 - ln -s icedax.1 cdda2wav.1 -} diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD deleted file mode 100644 index 56be78816..000000000 --- a/extra/chromium/PKGBUILD +++ /dev/null @@ -1,139 +0,0 @@ -# $Id: PKGBUILD 173156 2012-12-11 21:02:48Z foutrelis $ -# Maintainer: Evangelos Foutras -# Contributor: Pierre Schmitz -# Contributor: Jan "heftig" Steffens -# Contributor: Daniel J Griffiths - -pkgname=chromium -pkgver=23.0.1271.97 -pkgrel=1 -pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser" -arch=('i686' 'x86_64') -url="http://www.chromium.org/" -license=('BSD') -depends=('gtk2' 'dbus-glib' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' - 'libxss' 'libgcrypt' 'ttf-dejavu' 'desktop-file-utils' - 'hicolor-icon-theme') -makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring' - 'elfutils' 'subversion' 'nacl-toolchain-newlib') -optdepends=('kdebase-kdialog: needed for file dialogs in KDE') -backup=('etc/chromium/default') -install=chromium.install -source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.bz2 - chromium.desktop - chromium.default - chromium.sh - chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch - chromium-ppapi-r0.patch) -sha256sums=('37ba1289b7066c3206d9b8f51c0a6acde0f3f5550e716a61af32485d8d0dc2e1' - '09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322' - '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232' - '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9' - 'c1baf14121502efbc2a31b64029dcafa0e28ca5b71ad0e28a3c6342d18198615' - '1f4b57670d317959bc2dc60e5d2a44aa8fc6028f7ed540cdb502fa0aa99c81bd') - -build() { - cd "$srcdir/chromium-$pkgver" - - # Fix build with glibc 2.16 - patch -Np1 -i "$srcdir/chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch" - - # Fix build without NaCl glibc toolchain (patch from Gentoo) - patch -Np0 -i "$srcdir/chromium-ppapi-r0.patch" - - # http://code.google.com/p/chromium/issues/detail?id=109527 - sed -i 's|glib/gutils.h|glib.h|' ui/base/l10n/l10n_util.cc - - # Missing gyp files in tarball (http://crbug.com/144823) - sed -i '/nacl_test_data\.gyp/d' chrome/chrome_tests.gypi - - # Use Python 2 - find . -type f -exec sed -i -r \ - -e 's|/usr/bin/python$|&2|g' \ - -e 's|(/usr/bin/python2)\.4$|\1|g' \ - {} + - # There are still a lot of relative calls which need a workaround - mkdir "$srcdir/python2-path" - ln -s /usr/bin/python2 "$srcdir/python2-path/python" - export PATH="$srcdir/python2-path:$PATH" - - # Prepare NaCL toolchain - mkdir -p sdk native_client/toolchain/.tars - cp -a /usr/lib/nacl-toolchain-newlib sdk/nacl-sdk - tar czf native_client/toolchain/.tars/naclsdk_linux_x86.tgz sdk - rm -r sdk - - # CFLAGS are passed through release_extra_cflags below - export -n CFLAGS CXXFLAGS - - # Silence "identifier 'nullptr' is a keyword in C++11" warnings - CFLAGS+=' -Wno-c++0x-compat' - - build/gyp_chromium --depth=. \ - -Dwerror= \ - -Dlinux_sandbox_path=/usr/lib/chromium/chromium-sandbox \ - -Dlinux_strip_binary=1 \ - -Dlinux_use_gold_binary=0 \ - -Dlinux_use_gold_flags=0 \ - -Drelease_extra_cflags="$CFLAGS" \ - -Dffmpeg_branding=Chrome \ - -Dproprietary_codecs=1 \ - -Duse_system_bzip2=1 \ - -Duse_system_ffmpeg=0 \ - -Duse_system_libevent=1 \ - -Duse_system_libjpeg=1 \ - -Duse_system_libpng=1 \ - -Duse_system_libxml=0 \ - -Duse_system_ssl=0 \ - -Duse_system_yasm=1 \ - -Duse_system_zlib=0 \ - -Duse_gconf=0 \ - -Ddisable_glibc=1 \ - -Ddisable_pnacl=1 \ - -Ddisable_sse2=1 - - make chrome chrome_sandbox BUILDTYPE=Release -} - -package() { - cd "$srcdir/chromium-$pkgver" - - install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium" - - install -Dm4755 -o root -g root out/Release/chrome_sandbox \ - "$pkgdir/usr/lib/chromium/chromium-sandbox" - - cp out/Release/{*.pak,libffmpegsumo.so,nacl_helper{,_bootstrap}} \ - out/Release/{libppGoogleNaClPluginChrome.so,nacl_irt_*.nexe} \ - "$pkgdir/usr/lib/chromium/" - - if [[ $CARCH == i686 ]]; then - rm "$pkgdir/usr/lib/chromium/nacl_irt_x86_64.nexe" - fi - - # Allow users to override command-line options - install -Dm644 "$srcdir/chromium.default" "$pkgdir/etc/chromium/default" - - cp -a out/Release/locales "$pkgdir/usr/lib/chromium/" - - install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1" - - install -Dm644 "$srcdir/chromium.desktop" \ - "$pkgdir/usr/share/applications/chromium.desktop" - - for size in 22 24 48 64 128 256; do - install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ - "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" - done - - for size in 16 32; do - install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \ - "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" - done - - install -D "$srcdir/chromium.sh" "$pkgdir/usr/bin/chromium" - - install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE" -} - -# vim:set ts=2 sw=2 et: diff --git a/extra/chromium/chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch b/extra/chromium/chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch deleted file mode 100644 index 1d11a390e..000000000 --- a/extra/chromium/chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -upr chromium-20.0.1132.57.orig/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h chromium-20.0.1132.57/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h ---- chromium-20.0.1132.57.orig/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2012-07-10 10:48:31.000000000 +0300 -+++ chromium-20.0.1132.57/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2012-07-11 23:44:11.000000000 +0300 -@@ -243,14 +243,13 @@ struct kernel_rusage { - long ru_nivcsw; - }; - --struct siginfo; - #if defined(__i386__) || defined(__arm__) || defined(__PPC__) - - /* include/asm-{arm,i386,mips,ppc}/signal.h */ - struct kernel_old_sigaction { - union { - void (*sa_handler_)(int); -- void (*sa_sigaction_)(int, struct siginfo *, void *); -+ void (*sa_sigaction_)(int, siginfo_t *, void *); - }; - unsigned long sa_mask; - unsigned long sa_flags; -@@ -287,13 +286,13 @@ struct kernel_sigaction { - unsigned long sa_flags; - union { - void (*sa_handler_)(int); -- void (*sa_sigaction_)(int, struct siginfo *, void *); -+ void (*sa_sigaction_)(int, siginfo_t *, void *); - }; - struct kernel_sigset_t sa_mask; - #else - union { - void (*sa_handler_)(int); -- void (*sa_sigaction_)(int, struct siginfo *, void *); -+ void (*sa_sigaction_)(int, siginfo_t *, void *); - }; - unsigned long sa_flags; - void (*sa_restorer)(void); diff --git a/extra/chromium/chromium-ppapi-r0.patch b/extra/chromium/chromium-ppapi-r0.patch deleted file mode 100644 index fb7e160c2..000000000 --- a/extra/chromium/chromium-ppapi-r0.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ppapi/ppapi_untrusted.gyp.orig 2012-06-12 10:20:16.000000000 +0200 -+++ ppapi/ppapi_untrusted.gyp 2012-06-12 10:20:52.000000000 +0200 -@@ -80,7 +80,7 @@ - ], - }, - 'conditions': [ -- ['target_arch!="arm"', { -+ ['target_arch!="arm" and disable_glibc==0', { - 'variables': { - 'build_glibc': 1, - # NOTE: Use /lib, not /lib64 here; it is a symbolic link which diff --git a/extra/chromium/chromium.default b/extra/chromium/chromium.default deleted file mode 100644 index 2632024f1..000000000 --- a/extra/chromium/chromium.default +++ /dev/null @@ -1,4 +0,0 @@ -# Default settings for chromium. This file is sourced by /usr/bin/chromium - -# Options to pass to chromium -CHROMIUM_FLAGS="" diff --git a/extra/chromium/chromium.desktop b/extra/chromium/chromium.desktop deleted file mode 100644 index 18446d40f..000000000 --- a/extra/chromium/chromium.desktop +++ /dev/null @@ -1,113 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Chromium -# Only KDE 4 seems to use GenericName, so we reuse the KDE strings. -# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. -GenericName=Web Browser -GenericName[ar]=متصŮŘ­ الشبŮŘ© -GenericName[bg]=Уеб браŃĐ·ŃŠŃ€ -GenericName[ca]=Navegador web -GenericName[cs]=WWW prohlĂ­ĹľeÄŤ -GenericName[da]=Browser -GenericName[de]=Web-Browser -GenericName[el]=ΠεĎιηγητής ÎąĎτού -GenericName[en_GB]=Web Browser -GenericName[es]=Navegador web -GenericName[et]=Veebibrauser -GenericName[fi]=WWW-selain -GenericName[fr]=Navigateur Web -GenericName[gu]=વેબ બ્રાઉઝર -GenericName[he]=דפדפן ××™× ××¨× × -GenericName[hi]=वेब ब्राउज़र -GenericName[hu]=WebböngĂ©szĹ‘ -GenericName[it]=Browser Web -GenericName[ja]=ウェă–ă–ă©ă‚¦ă‚¶ -GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ -GenericName[ko]=웹 브라우저 -GenericName[lt]=Ĺ˝iniatinklio naršyklÄ— -GenericName[lv]=TÄ«mekÄĽa pÄrlĹ«ks -GenericName[ml]=വെബ് ബ്രൌസര്‍ -GenericName[mr]=वेब ब्राऊजर -GenericName[nb]=Nettleser -GenericName[nl]=Webbrowser -GenericName[pl]=PrzeglÄ…darka WWW -GenericName[pt]=Navegador Web -GenericName[pt_BR]=Navegador da Internet -GenericName[ro]=Navigator de Internet -GenericName[ru]=Веб-браŃзер -GenericName[sl]=Spletni brskalnik -GenericName[sv]=Webbläsare -GenericName[ta]=இணŕŻŕ®Ż உலாவி -GenericName[th]=เว็บเบราว์เซอร์ -GenericName[tr]=Web Tarayıcı -GenericName[uk]=Навігатор Тенет -GenericName[zh_CN]=网页浏č§ĺ™¨ -GenericName[zh_HK]=網é ç€Źč¦˝ĺ™¨ -GenericName[zh_TW]=網é ç€Źč¦˝ĺ™¨ -# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1. -GenericName[bn]=ওয়েব ব্রাউজার -GenericName[fil]=Web Browser -GenericName[hr]=Web preglednik -GenericName[id]=Browser Web -GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର -GenericName[sk]=WWW prehliadaÄŤ -GenericName[sr]=Đнтернет прегледник -GenericName[te]=మహాతల అన్వేషి -GenericName[vi]=Bá»™ duyệt Web -# Gnome and KDE 3 uses Comment. -Comment=Access the Internet -Comment[ar]=الدخŮŮ„ إلى الإنترنت -Comment[bg]=ДоŃŃ‚ŃŠĐż Đ´Đľ интернет -Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করŕ§ŕ¦¨ -Comment[ca]=Accedeix a Internet -Comment[cs]=Přístup k internetu -Comment[da]=FĂĄ adgang til internettet -Comment[de]=Internetzugriff -Comment[el]=ΠĎĎŚĎβαĎη ĎĎ„Îż Διαδίκτυο -Comment[en_GB]=Access the Internet -Comment[es]=Accede a Internet. -Comment[et]=Pääs Internetti -Comment[fi]=Käytä internetiä -Comment[fil]=I-access ang Internet -Comment[fr]=AccĂ©der Ă  Internet -Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો -Comment[he]=גישה ×ל ×”××™× ××¨× × -Comment[hi]=इंटरनेट तक पहŕĄŕ¤‚च स्थापित करें -Comment[hr]=Pristup Internetu -Comment[hu]=InternetelĂ©rĂ©s -Comment[id]=Akses Internet -Comment[it]=Accesso a Internet -Comment[ja]=イăłă‚żăĽăŤăăă«ă‚˘ă‚Żă‚»ă‚ą -Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನೠಪ್ರವೇಶಿಸಿ -Comment[ko]=인터넷 연결 -Comment[lt]=Interneto prieiga -Comment[lv]=PiekÄĽĹ«t internetam -Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യŕµŕ´• -Comment[mr]=इंटरनेटमध्ये प्रवेश करा -Comment[nb]=GĂĄ til Internett -Comment[nl]=Verbinding maken met internet -Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୠ-Comment[pl]=Skorzystaj z internetu -Comment[pt]=Aceder Ă  Internet -Comment[pt_BR]=Acessar a internet -Comment[ro]=AccesaĹŁi Internetul -Comment[ru]=ДоŃŃ‚ŃĐż в Đнтернет -Comment[sk]=PrĂ­stup do siete Internet -Comment[sl]=Dostop do interneta -Comment[sr]=ПриŃŃ‚Ńпите ĐĐ˝Ń‚ĐµŃ€Đ˝ĐµŃ‚Ń -Comment[sv]=GĂĄ ut pĂĄ Internet -Comment[ta]=இணŕŻŕ®Żŕ®¤ŕŻŤŕ®¤ŕŻ அணŕŻŕ®•ŕŻŕ®¤ŕ®˛ŕŻŤ -Comment[te]=ఇంటర్నెట్‌నౠఆక్సెస్ చెయ్యండి -Comment[th]=เข้าถึงอินเทอร์เน็ต -Comment[tr]=Ä°nternet'e eriĹźin -Comment[uk]=ДоŃŃ‚ŃĐż Đ´Đľ Đ†Đ˝Ń‚ĐµŃ€Đ˝ĐµŃ‚Ń -Comment[vi]=Truy cáş­p Internet -Comment[zh_CN]=访问互č”网 -Comment[zh_HK]=連線ĺ°ç¶˛éš›ç¶˛č·Ż -Comment[zh_TW]=連線ĺ°ç¶˛éš›ç¶˛č·Ż -Exec=chromium %U -Terminal=false -Icon=chromium -Type=Application -Categories=GTK;Network;WebBrowser; -MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; diff --git a/extra/chromium/chromium.install b/extra/chromium/chromium.install deleted file mode 100644 index d43ea7c35..000000000 --- a/extra/chromium/chromium.install +++ /dev/null @@ -1,12 +0,0 @@ -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/extra/chromium/chromium.sh b/extra/chromium/chromium.sh deleted file mode 100755 index ba8a7e683..000000000 --- a/extra/chromium/chromium.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -# Allow users to override command-line options -# Based on Gentoo's chromium package (and by extension, Debian's) -if [[ -f /etc/chromium/default ]]; then - . /etc/chromium/default -fi - -# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system -# default CHROMIUM_FLAGS (from /etc/chromium/default) -CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS} - -export CHROME_WRAPPER=$(readlink -f "$0") -export CHROME_DESKTOP=chromium.desktop - -exec /usr/lib/chromium/chromium $CHROMIUM_FLAGS "$@" diff --git a/extra/cifs-utils/mount.cifs-fix-up-some-D_FORTIFY_SOURCE-2-warnings.patch b/extra/cifs-utils/mount.cifs-fix-up-some-D_FORTIFY_SOURCE-2-warnings.patch deleted file mode 100644 index 8ca3b2674..000000000 --- a/extra/cifs-utils/mount.cifs-fix-up-some-D_FORTIFY_SOURCE-2-warnings.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 900875dbda261dd8a9283bdda3c3dbe551fe0f7c Mon Sep 17 00:00:00 2001 -From: Jeff Layton -Date: Wed, 18 Apr 2012 21:41:05 -0400 -Subject: [PATCH] mount.cifs: fix up some -D_FORTIFY_SOURCE=2 warnings - -...and add -D_FORTIFY_SOURCE=2 to the default $CFLAGS. - -Signed-off-by: Jeff Layton ---- - Makefile.am | 2 +- - mount.cifs.c | 10 ++++++---- - mtab.c | 4 +++- - 3 files changed, 10 insertions(+), 6 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index d95142a..05729ca 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,4 +1,4 @@ --AM_CFLAGS = -Wall -Wextra -Werror -+AM_CFLAGS = -Wall -Wextra -Werror -D_FORTIFY_SOURCE=2 - ACLOCAL_AMFLAGS = -I aclocal - - root_sbindir = $(ROOTSBINDIR) -diff --git a/mount.cifs.c b/mount.cifs.c -index f0b073e..4f1ea40 100644 ---- a/mount.cifs.c -+++ b/mount.cifs.c -@@ -928,9 +928,9 @@ parse_options(const char *data, struct parsed_mount_info *parsed_info) - } - } else { - /* domain/username%password */ -- const int max = MAX_DOMAIN_SIZE + -- MAX_USERNAME_SIZE + -- MOUNT_PASSWD_SIZE + 2; -+ const unsigned int max = MAX_DOMAIN_SIZE + -+ MAX_USERNAME_SIZE + -+ MOUNT_PASSWD_SIZE + 2; - if (strnlen(value, max + 1) >= max + 1) { - fprintf(stderr, "username too long\n"); - return EX_USAGE; -@@ -1603,8 +1603,10 @@ add_mtab(char *devname, char *mountpoint, unsigned long flags, const char *fstyp - mountent.mnt_passno = 0; - rc = addmntent(pmntfile, &mountent); - if (rc) { -+ int ignore __attribute__((unused)); -+ - fprintf(stderr, "unable to add mount entry to mtab\n"); -- ftruncate(fd, statbuf.st_size); -+ ignore = ftruncate(fd, statbuf.st_size); - rc = EX_FILEIO; - } - tmprc = my_endmntent(pmntfile, statbuf.st_size); -diff --git a/mtab.c b/mtab.c -index de545b7..3d42ac0 100644 ---- a/mtab.c -+++ b/mtab.c -@@ -271,8 +271,10 @@ my_endmntent(FILE *stream, off_t size) - - /* truncate file back to "size" -- best effort here */ - if (rc) { -+ int ignore __attribute__((unused)); -+ - rc = errno; -- ftruncate(fd, size); -+ ignore = ftruncate(fd, size); - } - - endmntent(stream); --- -1.7.7.6 - diff --git a/extra/claws-mail/PKGBUILD b/extra/claws-mail/PKGBUILD deleted file mode 100644 index 93da73a27..000000000 --- a/extra/claws-mail/PKGBUILD +++ /dev/null @@ -1,56 +0,0 @@ -# $Id: PKGBUILD 171014 2012-11-14 20:36:08Z andyrtr $ -# Maintainer: Andreas Radke - -pkgname=claws-mail -pkgver=3.9.0 -pkgrel=1 -pkgdesc="A GTK+ based e-mail client." -arch=('i686' 'x86_64') -license=('GPL3') -url="http://www.claws-mail.org" -depends=('gtk2' 'gnutls' 'startup-notification' 'pilot-link' 'enchant' - 'gpgme' 'libetpan>=1.1' 'libsm' 'db' 'dbus-glib' 'hicolor-icon-theme' 'desktop-file-utils') -makedepends=('compface' 'spamassassin' 'bogofilter' 'valgrind') -optdepends=('python2: needed for some tools' - 'perl: needed for some tools' - 'spamassassin: adds support for spamfiltering' - 'bogofilter: adds support for spamfiltering') -replaces=('sylpheed-claws') -provides=('claws') -options=(!libtool) -install=claws-mail.install -source=(http://downloads.sourceforge.net/sourceforge/sylpheed-claws/${pkgname}-${pkgver}.tar.bz2) -md5sums=('4c5ac7b21f0ed17d0f6404124c2229a4') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - - sed -i 's@^#!.*python.*@#!/usr/bin/python2@' tools/*.py - - ./configure --prefix=/usr --disable-static \ - --enable-enchant \ - --enable-gnutls \ - --enable-ldap \ - --disable-dillo-viewer-plugin \ - --enable-crash-dialog \ - --enable-pgpmime-plugin \ - --enable-spamassassin-plugin \ - --enable-bogofilter-plugin \ - --enable-jpilot - - make -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - - # build and install extra tools - cd tools - make - # all executables and .conf files ; only top directory - find -maxdepth 1 -type f -and -perm /111 -or -name '*.conf' | while read i ; do - install -D -m755 ${i} \ - ${pkgdir}/usr/lib/claws-mail/tools/${i} - done -} diff --git a/extra/claws-mail/buildfix_gnutls3.diff b/extra/claws-mail/buildfix_gnutls3.diff deleted file mode 100644 index 1a71ff43a..000000000 --- a/extra/claws-mail/buildfix_gnutls3.diff +++ /dev/null @@ -1,18 +0,0 @@ -Index: src/common/ssl_certificate.c -=================================================================== -RCS file: //claws/src/common/ssl_certificate.c,v -retrieving revision 1.4.2.40 -retrieving revision 1.4.2.41 -diff -u -r1.4.2.40 -r1.4.2.41 ---- src/common/ssl_certificate.c 30 Aug 2011 06:18:09 -0000 1.4.2.40 -+++ src/common/ssl_certificate.c 16 May 2012 05:43:14 -0000 1.4.2.41 -@@ -686,7 +686,7 @@ - gnutls_x509_privkey * key, - gnutls_x509_crt_t * cert) - { -- gnutls_pkcs12_bag bag = NULL; -+ gnutls_pkcs12_bag_t bag = NULL; - int index = 0; - int ret; - - diff --git a/extra/claws-mail/claws-mail.install b/extra/claws-mail/claws-mail.install deleted file mode 100644 index a6ae1eae6..000000000 --- a/extra/claws-mail/claws-mail.install +++ /dev/null @@ -1,16 +0,0 @@ -post_install() { - echo "install \"html2ps\" from AUR to add support for printing html mails together with html plugins" - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor - update-desktop-database -q -} - -post_upgrade() { - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor - update-desktop-database -q -} - -post_remove() { - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor - update-desktop-database -q -} - diff --git a/extra/claws-mail/gnutls313.diff b/extra/claws-mail/gnutls313.diff deleted file mode 100644 index 27040f7bd..000000000 --- a/extra/claws-mail/gnutls313.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/common/ssl_certificate.c b/src/common/ssl_certificate.c -index efc5c53..8303f3e 100644 ---- a/src/common/ssl_certificate.c -+++ b/src/common/ssl_certificate.c -@@ -92,6 +92,7 @@ - size_t size; - gnutls_datum tmp; - gnutls_x509_crt dest; -+ size = 0; - - if (gnutls_x509_crt_init(&dest) != 0) { - g_warning("couldn't gnutls_x509_crt_init\n"); diff --git a/extra/cmake/fix-pkg-config.patch b/extra/cmake/fix-pkg-config.patch deleted file mode 100644 index c9390aec2..000000000 --- a/extra/cmake/fix-pkg-config.patch +++ /dev/null @@ -1,31 +0,0 @@ -X-Git-Url: http://cmake.org/gitweb?p=cmake.git;a=blobdiff_plain;f=Modules%2FFindPkgConfig.cmake;h=39d3a76abd852df4a32eab5f8d5672fa24a7e4cf;hp=5d93ab151de792b4565cbef1927f372be633f4a6;hb=3ea850a5023060b84dcc0e6f0098c32c28b15807;hpb=ad3d2b450f1c2454cd1a3f416ef97631e2937eef - -diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake -index 5d93ab1..39d3a76 100644 ---- a/Modules/FindPkgConfig.cmake -+++ b/Modules/FindPkgConfig.cmake -@@ -13,11 +13,10 @@ - # When the 'QUIET' argument is set, no status messages will be printed. - # - # It sets the following variables: --# PKG_CONFIG_FOUND ... true if pkg-config works on the system -+# PKG_CONFIG_FOUND ... if pkg-config executable was found - # PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program - # PKG_CONFIG_VERSION_STRING ... the version of the pkg-config program found - # (since CMake 2.8.8) --# PKG_CONFIG_FOUND ... if pkg-config executable was found - # - # For the following variables two sets of values exist; first one is the - # common one and has the given PREFIX. The second set contains flags -@@ -104,6 +103,11 @@ find_package_handle_standard_args(PkgConfig - REQUIRED_VARS PKG_CONFIG_EXECUTABLE - VERSION_VAR PKG_CONFIG_VERSION_STRING) - -+# This is needed because the module name is "PkgConfig" but the name of -+# this variable has always been PKG_CONFIG_FOUND so this isn't automatically -+# handled by FPHSA. -+set(PKG_CONFIG_FOUND "${PKGCONFIG_FOUND}") -+ - # Unsets the given variables - macro(_pkgconfig_unset var) - set(${var} "" CACHE INTERNAL "") diff --git a/extra/cmatrix/PKGBUILD b/extra/cmatrix/PKGBUILD deleted file mode 100644 index 444a463ac..000000000 --- a/extra/cmatrix/PKGBUILD +++ /dev/null @@ -1,30 +0,0 @@ -# $Id: PKGBUILD 137613 2011-09-10 04:45:43Z eric $ -# 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/extra/cmatrix/cmatrix.install b/extra/cmatrix/cmatrix.install deleted file mode 100644 index c46fe4469..000000000 --- a/extra/cmatrix/cmatrix.install +++ /dev/null @@ -1,3 +0,0 @@ -post_install() { - fc-cache -} diff --git a/extra/consolekit/PKGBUILD b/extra/consolekit/PKGBUILD deleted file mode 100644 index 37a8a14c4..000000000 --- a/extra/consolekit/PKGBUILD +++ /dev/null @@ -1,49 +0,0 @@ -# $Id: PKGBUILD 160357 2012-06-01 12:58:20Z dreisner $ -# Maintainer: Jan de Groot -# Contributor: onestep_ua - -pkgname=consolekit -pkgver=0.4.6 -pkgrel=4 -pkgdesc="A framework for defining and tracking users, login sessions, and seats" -arch=('i686' 'x86_64') -url="http://www.freedesktop.org/wiki/Software/ConsoleKit" -license=('GPL') -depends=('polkit' 'zlib' 'libx11' 'dbus-glib') -makedepends=('pkgconfig' 'xmlto' 'docbook-xsl') -options=(!libtool) -#source=(http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-$pkgver.tar.bz2 -# this has not been released yet, so this is a snapshot -source=(ftp://ftp.archlinux.org/other/${pkgname}/ConsoleKit-${pkgver}.tar.bz2 - pam-foreground-compat.ck consolekit.logrotate consolekit.tmpfiles.conf) -md5sums=('810990b607e338f06a6396c92b8a4a06' - 'a8a4de71d9b0549b8143e5f6c2a36fc7' - '6fefa451d9fe2fc6d6269629d3529793' - '8c5a8059db515d40fae1379daf084094') - -build() { - cd "$srcdir/ConsoleKit-$pkgver" - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --libexecdir=/usr/lib/ConsoleKit \ - --with-systemdsystemunitdir=/usr/lib/systemd/system \ - --enable-pam-module \ - --with-pam-module-dir=/usr/lib/security \ - --enable-docbook-docs \ - --enable-udev-acl - make -} - -package() { - cd "$srcdir/ConsoleKit-$pkgver" - make DESTDIR="$pkgdir" install - install -m755 "$srcdir/pam-foreground-compat.ck" "$pkgdir/usr/lib/ConsoleKit/run-session.d/" - - # install the logrotate config - install -D -m644 "$srcdir/consolekit.logrotate" "$pkgdir/etc/logrotate.d/consolekit" - - install -D -m644 "$srcdir/consolekit.tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/consolekit.conf" - - rm -rf "${pkgdir}/var/run" -} diff --git a/extra/consolekit/consolekit.logrotate b/extra/consolekit/consolekit.logrotate deleted file mode 100644 index 7c5346ef8..000000000 --- a/extra/consolekit/consolekit.logrotate +++ /dev/null @@ -1,5 +0,0 @@ -/var/log/ConsoleKit/history { - missingok - notifempty - delaycompress -} diff --git a/extra/consolekit/consolekit.tmpfiles.conf b/extra/consolekit/consolekit.tmpfiles.conf deleted file mode 100644 index 4ec125110..000000000 --- a/extra/consolekit/consolekit.tmpfiles.conf +++ /dev/null @@ -1 +0,0 @@ -d /run/ConsoleKit 0755 - - - diff --git a/extra/consolekit/pam-foreground-compat.ck b/extra/consolekit/pam-foreground-compat.ck deleted file mode 100644 index 7f6b122d5..000000000 --- a/extra/consolekit/pam-foreground-compat.ck +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -TAGDIR=/var/run/console - -[ -n "$CK_SESSION_USER_UID" ] || exit 1 - -TAGFILE="$TAGDIR/`getent passwd $CK_SESSION_USER_UID | cut -f 1 -d:`" - -if [ "$1" = "session_added" ]; then - mkdir -p "$TAGDIR" - echo "$CK_SESSION_ID" >> "$TAGFILE" -fi - -if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then - sed -i "\%^$CK_SESSION_ID\$%d" "$TAGFILE" - [ -s "$TAGFILE" ] || rm -f "$TAGFILE" -fi diff --git a/extra/cpufrequtils/PKGBUILD b/extra/cpufrequtils/PKGBUILD deleted file mode 100644 index 6854c2d37..000000000 --- a/extra/cpufrequtils/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ -# $Id: PKGBUILD 149475 2012-02-08 09:53:00Z pierre $ -# Maintainer: kevin -# Contributor: phrakture -# Contributor: SpepS - -pkgname=cpufrequtils -pkgver=008 -pkgrel=2 -pkgdesc="Userspace tools for the kernel cpufreq subsystem" -arch=('i686' 'x86_64') -url="http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html" -license=('GPL') -depends=('sysfsutils') -backup=('etc/conf.d/cpufreq') -source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2" - 'cpufreq.rcd' - 'cpufreq.confd') -options=('!libtool' '!makeflags') -md5sums=('c59b71c044d463896f3247e8dd83dd7e' - '7f2b5085df44d2df3e7c2d0b9f6dab08' - 'baae1f2abffc6bef2bd32a8dd8263c09') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make INSTALL="/bin/install -c" mandir=/usr/share/man DESTDIR="${pkgdir}" install - - install -D -m755 ${srcdir}/cpufreq.rcd "${pkgdir}/etc/rc.d/cpufreq" - install -D -m644 ${srcdir}/cpufreq.confd "${pkgdir}/etc/conf.d/cpufreq" -} diff --git a/extra/cpufrequtils/cpufreq.confd b/extra/cpufrequtils/cpufreq.confd deleted file mode 100644 index 218909748..000000000 --- a/extra/cpufrequtils/cpufreq.confd +++ /dev/null @@ -1,14 +0,0 @@ -#configuration for cpufreq control - -# valid governors: -# ondemand, performance, powersave, -# conservative, userspace -#governor="ondemand" - -# limit frequency range (optional) -# valid suffixes: Hz, kHz (default), MHz, GHz, THz -#min_freq="2.25GHz" -#max_freq="3GHz" - -# use freq to set up the exact cpu frequency using it with userspace governor -#freq= diff --git a/extra/cpufrequtils/cpufreq.rcd b/extra/cpufrequtils/cpufreq.rcd deleted file mode 100644 index 9bc19b117..000000000 --- a/extra/cpufrequtils/cpufreq.rcd +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -# source application-specific settings -[ -f /etc/conf.d/cpufreq ] && . /etc/conf.d/cpufreq - -case "$1" in - start) - stat_busy "Setting cpufreq governing rules" - - params="" - if [ -n "$governor" ]; then - mod="cpufreq_$governor" - params="-g $governor" - grep -qw "$governor" /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors || modprobe -q $mod - if [ $? -eq 0 ]; then - if [ "$min_freq" != "" ]; then - params="$params -d $min_freq" - fi - if [ "$max_freq" != "" ]; then - params="$params -u $max_freq" - fi - else - stat_busy " Cannot load governor module '$governor'" - stat_fail - exit - fi - fi - - if [ "$params" != "" ]; then - CPUS=$(sed -ne 's/^processor.* \([0-9]\+\)$/\1/p' /proc/cpuinfo) - stat_append ", cpu" - for cpu in $CPUS; do - stat_append " $cpu" - cpufreq-set -c $cpu $params - if [ "$freq" != "" ]; then - cpufreq-set -c $cpu -f $freq - fi - done - stat_done - else - stat_busy " Invalid configuration in /etc/conf.d/cpufreq" - stat_fail - fi - ;; - stop) - # nothing to do - ;; - restart) - $0 start - ;; - set) - # TODO: make callable... "cpufreq set 800MHz" - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/extra/cups-filters/PKGBUILD b/extra/cups-filters/PKGBUILD deleted file mode 100644 index 8a74f9597..000000000 --- a/extra/cups-filters/PKGBUILD +++ /dev/null @@ -1,46 +0,0 @@ -# $Id: PKGBUILD 173928 2012-12-28 07:19:09Z andyrtr $ -# Maintainer: Andreas Radke - -pkgname=cups-filters -pkgver=1.0.26 -pkgrel=1 -pkgdesc="OpenPrinting CUPS Filters" -arch=('i686' 'x86_64') -url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting" -license=('GPL') -depends=('lcms2' 'poppler>=0.20.5' 'qpdf') -makedepends=('ghostscript' 'ttf-dejavu') # ttf-dejavu for make check -optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images' - 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly' - 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly' - 'foomatic-db-nonfree: drivers use Ghostscript to convert PostScript to a printable form directly') -backup=(etc/fonts/conf.d/99pdftoopvp.conf) -options=(!libtool) -source=(http://www.openprinting.org/download/cups-filters/$pkgname-$pkgver.tar.gz cups-browsed.service) -md5sums=('38502cb880e1f9be0618e3b2da4c7fec' - '2beb8d9cebf20ddcc6c7598aab4812a6') - -build() { - cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --enable-avahi \ - --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf - make -} - -check() { - cd "$srcdir/$pkgname-$pkgver" - make -k check -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir/" install - # drop static lib - rm -f ${pkgdir}/usr/lib/*.a - - # add missing systemd support - rm -rf ${pkgdir}/etc/rc.d - install -Dm644 ${srcdir}/cups-browsed.service ${pkgdir}/usr/lib/systemd/system/cups-browsed.service -} diff --git a/extra/cups-filters/cups-browsed.service b/extra/cups-filters/cups-browsed.service deleted file mode 100644 index d434d82f0..000000000 --- a/extra/cups-filters/cups-browsed.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=a daemon to browse the Bonjour broadcasts - -[Service] -ExecStart=/usr/sbin/cups-browsed -PrivateTmp=yes - -[Install] -Also=cups.service avahi-daemon.service -WantedBy=printer.target diff --git a/extra/cups/PKGBUILD.16 b/extra/cups/PKGBUILD.16 deleted file mode 100644 index eb8e26473..000000000 --- a/extra/cups/PKGBUILD.16 +++ /dev/null @@ -1,147 +0,0 @@ -# $Id: PKGBUILD 159509 2012-05-25 16:34:34Z andyrtr $ -# Maintainer: Andreas Radke - -pkgbase="cups" -pkgname=('libcups' 'cups') -pkgver=1.6.0 -pkgrel=1 -arch=('i686' 'x86_64') -license=('GPL') -url="http://www.cups.org/" -makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'cups-filters' 'bc' - 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme') -source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 - cups-no-export-ssllibs.patch - cups-no-gcrypt.patch - cups-no-gzip-man.patch - cups cups.logrotate cups.pam) -#options=('!emptydirs') -md5sums=('07157b243dd11e90e3f654c4d62e7c8a' - '9b8467a1e51d360096b70e2c3c081e6c' - '3733c23e77eb503bd94cc368e02830dc' - 'c9159ba1233902ba6ddbbe6885a46b72' - '9657daa21760bb0b5fa3d8b51d5e01a1' - 'f861b18f4446c43918c8643dcbbd7f6d' - '96f82c38f3f540b53f3e5144900acf17') - -build() { - cd ${srcdir}/${pkgbase}-${pkgver} - - # Do not export SSL libs in cups-config - patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch" - - patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch" - # don't zip man pages in make install, let makepkg do that / Fedora - patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch - - # Rebuild configure script for not zipping man-pages. - aclocal -I config-scripts - autoconf -I config-scripts - - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libdir=/usr/lib \ - --with-systemdsystemunitdir=/usr/lib/systemd/system \ - --with-logdir=/var/log/cups \ - --with-docdir=/usr/share/cups/doc \ - --with-cups-user=daemon \ - --with-cups-group=lp \ - --enable-pam=yes \ - --enable-raw-printing \ - --enable-dbus --with-dbusdir=/etc/dbus-1 \ - --enable-ssl=yes --enable-gnutls \ - --enable-threads \ - --enable-avahi\ - --with-php=/usr/bin/php-cgi \ - --with-optim="$CFLAGS" - make -} - -check() { - cd "$srcdir/$pkgbase-$pkgver" - #httpAddrGetList(workstation64): FAIL - #1 TESTS FAILED! - #make[1]: *** [testhttp] Error 1 - make -k check || /bin/true -} - -package_libcups() { -pkgdesc="The CUPS Printing System - client libraries and headers" -depends=('gnutls>=2.8.3' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi') -backup=(etc/cups/client.conf) - - cd ${srcdir}/${pkgbase}-${pkgver} - make BUILDROOT=${pkgdir} install-headers install-libs - # put this into the libs pkg to make other software find the libs(no pkg-config file included) - mkdir -p ${pkgdir}/usr/bin - install -m755 ${srcdir}/${pkgbase}-${pkgver}/cups-config ${pkgdir}/usr/bin/cups-config - - # install client.conf man page and config file - install -dm755 ${pkgdir}/usr/share/man/man5 - #install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5.gz ${pkgdir}/usr/share/man/man5/ - install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5 ${pkgdir}/usr/share/man/man5/ - install -dm755 ${pkgdir}/etc/cups - touch ${pkgdir}/etc/cups/client.conf - echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf - echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf - chgrp lp ${pkgdir}/etc/cups/client.conf -} - -package_cups() { -pkgdesc="The CUPS Printing System - daemon package" -install=cups.install -backup=(etc/cups/cupsd.conf - etc/cups/snmp.conf - etc/cups/printers.conf - etc/cups/classes.conf - etc/cups/subscriptions.conf - etc/dbus-1/system.d/cups.conf - etc/logrotate.d/cups - etc/pam.d/cups - etc/xinetd.d/cups-lpd) -depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'libusb' 'dbus-core' 'hicolor-icon-theme') -optdepends=('xdg-utils: xdg .desktop file support') - - cd ${srcdir}/${pkgbase}-${pkgver} - make BUILDROOT=${pkgdir} install-data install-exec - - # this one we ship in the libcups pkg - rm -f ${pkgdir}/usr/bin/cups-config - - # kill the sysv stuff - rm -rf ${pkgdir}/etc/rc*.d - rm -rf ${pkgdir}/etc/init.d - install -D -m755 ../cups ${pkgdir}/etc/rc.d/cupsd - install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups - install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups - - # fix perms on /var/spool and /etc - chmod 755 ${pkgdir}/var/spool - chmod 755 ${pkgdir}/etc - - # install ssl directory where to store the certs, solves some samba issues - install -dm700 -g lp ${pkgdir}/etc/cups/ssl - # remove directory from package, we create it in cups rc.d file - rm -rf ${pkgdir}/var/run - - # install some more configuration files that will get filled by cupsd - touch ${pkgdir}/etc/cups/printers.conf - touch ${pkgdir}/etc/cups/classes.conf - touch ${pkgdir}/etc/cups/subscriptions.conf - chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,subscriptions.conf} - - # fix .desktop file - sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop - - # compress some driver files, adopted from Fedora - find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f - - # remove client.conf man page - rm -f ${pkgdir}/usr/share/man/man5/client.conf.5 - - # remove files now part of cups-filters - rm -v ${pkgdir}/usr/lib/cups/filter/bannertops - rm -v ${pkgdir}/usr/share/cups/banners/* - rm -v ${pkgdir}/usr/share/cups/data/testprint - # comment out all conversion rules which use any of the removed filters - perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' /usr/share/cups/mime/mime.convs -} diff --git a/extra/cups/cups-avahi-1-config.patch b/extra/cups/cups-avahi-1-config.patch deleted file mode 100644 index 304cd2607..000000000 --- a/extra/cups/cups-avahi-1-config.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -up cups-1.5.2/config.h.in.avahi-1-config cups-1.5.2/config.h.in ---- cups-1.5.2/config.h.in.avahi-1-config 2011-06-16 21:12:16.000000000 +0100 -+++ cups-1.5.2/config.h.in 2012-03-14 15:04:51.365347165 +0000 -@@ -390,6 +390,13 @@ - - - /* -+ * Do we have Avahi for DNS Service Discovery? -+ */ -+ -+#undef HAVE_AVAHI -+ -+ -+/* - * Do we have ? - */ - -diff -up cups-1.5.2/config-scripts/cups-dnssd.m4.avahi-1-config cups-1.5.2/config-scripts/cups-dnssd.m4 ---- cups-1.5.2/config-scripts/cups-dnssd.m4.avahi-1-config 2011-05-12 06:21:56.000000000 +0100 -+++ cups-1.5.2/config-scripts/cups-dnssd.m4 2012-03-14 15:04:51.365347165 +0000 -@@ -23,6 +23,21 @@ AC_ARG_WITH(dnssd-includes, [ --with-dn - DNSSDLIBS="" - DNSSD_BACKEND="" - -+AC_ARG_ENABLE(avahi, [ --enable-avahi turn on DNS Service Discovery support, default=no], -+ [if test x$enable_avahi = xyes; then -+ AC_MSG_CHECKING(for Avahi) -+ if $PKGCONFIG --exists avahi-client; then -+ AC_MSG_RESULT(yes) -+ CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`" -+ DNSSDLIBS="`$PKGCONFIG --libs avahi-client`" -+ DNSSD_BACKEND="dnssd" -+ AC_DEFINE(HAVE_AVAHI) -+ enable_dnssd=no -+ else -+ AC_MSG_RESULT(no) -+ fi -+ fi]) -+ - if test x$enable_dnssd != xno; then - AC_CHECK_HEADER(dns_sd.h, [ - case "$uname" in \ No newline at end of file diff --git a/extra/cups/cups-avahi-2-backend.patch b/extra/cups/cups-avahi-2-backend.patch deleted file mode 100644 index 00e12a0a3..000000000 --- a/extra/cups/cups-avahi-2-backend.patch +++ /dev/null @@ -1,1118 +0,0 @@ -diff -up cups-1.5.3/backend/dnssd.c.avahi-2-backend cups-1.5.3/backend/dnssd.c ---- cups-1.5.3/backend/dnssd.c.avahi-2-backend 2012-05-15 16:53:18.164774446 +0200 -+++ cups-1.5.3/backend/dnssd.c 2012-05-15 17:09:07.684155704 +0200 -@@ -15,14 +15,21 @@ - * - * Contents: - * -+ * next_txt_record() - Get next TXT record from a cups_txt_records_t. -+ * parse_txt_record_pair() - Read key/value pair in cups_txt_records_t. - * main() - Browse for printers. - * browse_callback() - Browse devices. - * browse_local_callback() - Browse local devices. - * compare_devices() - Compare two devices. - * exec_backend() - Execute the backend that corresponds to the - * resolved service name. -+ * device_type() - Get DNS-SD type enumeration from string. - * get_device() - Create or update a device. - * query_callback() - Process query data. -+ * avahi_client_callback() - Avahi client callback function. -+ * avahi_query_callback() - Avahi query callback function. -+ * avahi_browse_callback() - Avahi browse callback function. -+ * find_device() - Find a device from its name and domain. - * sigterm_handler() - Handle termination signals... - * unquote() - Unquote a name string. - */ -@@ -33,7 +40,18 @@ - - #include "backend-private.h" - #include --#include -+#ifdef HAVE_DNSSD -+# include -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include -+# include -+# include -+# include -+# include -+# include -+#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX -+#endif /* HAVE_AVAHI */ - - - /* -@@ -53,7 +71,12 @@ typedef enum - - typedef struct - { -+#ifdef HAVE_DNSSD - DNSServiceRef ref; /* Service reference for resolve */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ int resolved; /* Did we resolve the device? */ -+#endif /* HAVE_AVAHI */ - char *name, /* Service name */ - *domain, /* Domain name */ - *fullName, /* Full name */ -@@ -65,6 +88,20 @@ typedef struct - sent; /* Did we list the device? */ - } cups_device_t; - -+typedef struct -+{ -+ char key[256]; -+ char value[256]; -+ -+#ifdef HAVE_DNSSD -+ const uint8_t *data; -+ const uint8_t *datanext; -+ const uint8_t *dataend; -+#else /* HAVE_AVAHI */ -+ AvahiStringList *txt; -+#endif /* HAVE_DNSSD */ -+} cups_txt_records_t; -+ - - /* - * Local globals... -@@ -78,6 +115,7 @@ static int job_canceled = 0; - * Local functions... - */ - -+#ifdef HAVE_DNSSD - static void browse_callback(DNSServiceRef sdRef, - DNSServiceFlags flags, - uint32_t interfaceIndex, -@@ -95,13 +133,6 @@ static void browse_local_callback(DNSSe - const char *replyDomain, - void *context) - __attribute__((nonnull(1,5,6,7,8))); --static int compare_devices(cups_device_t *a, cups_device_t *b); --static void exec_backend(char **argv); --static cups_device_t *get_device(cups_array_t *devices, -- const char *serviceName, -- const char *regtype, -- const char *replyDomain) -- __attribute__((nonnull(1,2,3,4))); - static void query_callback(DNSServiceRef sdRef, - DNSServiceFlags flags, - uint32_t interfaceIndex, -@@ -111,10 +142,119 @@ static void query_callback(DNSServiceRe - const void *rdata, uint32_t ttl, - void *context) - __attribute__((nonnull(1,5,9,11))); -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+static void avahi_client_callback (AvahiClient *client, -+ AvahiClientState state, -+ void *context); -+static void avahi_browse_callback (AvahiServiceBrowser *browser, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiBrowserEvent event, -+ const char *serviceName, -+ const char *regtype, -+ const char *replyDomain, -+ AvahiLookupResultFlags flags, -+ void *context); -+#endif /* HAVE_AVAHI */ -+static cups_device_t * find_device (cups_array_t *devices, -+ cups_txt_records_t *txt, -+ cups_device_t *dkey); -+static int compare_devices(cups_device_t *a, cups_device_t *b); -+static void exec_backend(char **argv); -+static cups_device_t *get_device(cups_array_t *devices, -+ const char *serviceName, -+ const char *regtype, -+ const char *replyDomain) -+ __attribute__((nonnull(1,2,3,4))); - static void sigterm_handler(int sig); - static void unquote(char *dst, const char *src, size_t dstsize) - __attribute__((nonnull(1,2))); - -+#ifdef HAVE_AVAHI -+static AvahiSimplePoll *simple_poll = NULL; -+static int avahi_got_callback; -+#endif /* HAVE_AVAHI */ -+ -+ -+/* -+ * 'next_txt_record()' - Get next TXT record from a cups_txt_records_t. -+ */ -+ -+static cups_txt_records_t * -+next_txt_record (cups_txt_records_t *txt) -+{ -+#ifdef HAVE_DNSSD -+ txt->data = txt->datanext; -+#else /* HAVE_AVAHI */ -+ txt->txt = avahi_string_list_get_next (txt->txt); -+ if (txt->txt == NULL) -+ return NULL; -+#endif /* HAVE_DNSSD */ -+ -+ return txt; -+} -+ -+ -+/* -+ * 'parse_txt_record_pair()' - Read key/value pair in cups_txt_records_t. -+ */ -+ -+static int -+parse_txt_record_pair (cups_txt_records_t *txt) -+{ -+#ifdef HAVE_DNSSD -+ uint8_t datalen; -+ uint8_t *data = txt->data; -+ char *ptr; -+ -+ /* -+ * Read a key/value pair starting with an 8-bit length. Since the -+ * length is 8 bits and the size of the key/value buffers is 256, we -+ * don't need to check for overflow... -+ */ -+ -+ datalen = *data++; -+ if (!datalen || (data + datalen) > txt->dataend) -+ return NULL; -+ txt->datanext = data + datalen; -+ -+ for (ptr = txt->key; data < txt->datanext && *data != '='; data ++) -+ *ptr++ = *data; -+ *ptr = '\0'; -+ -+ if (data < txt->datanext && *data == '=') -+ { -+ data++; -+ -+ if (data < datanext) -+ memcpy (txt->value, data, txt->datanext - data); -+ value[txt->datanext - data] = '\0'; -+ } -+ else -+ return 1; -+#else /* HAVE_AVAHI */ -+ char *key, *value; -+ size_t len; -+ avahi_string_list_get_pair (txt->txt, &key, &value, &len); -+ if (len > sizeof (txt->value) - 1) -+ len = sizeof (txt->value) - 1; -+ -+ memcpy (txt->value, value, len); -+ txt->value[len] = '\0'; -+ len = strlen (key); -+ if (len > sizeof (txt->key) - 1) -+ len = sizeof (txt->key) - 1; -+ -+ memcpy (txt->key, key, len); -+ txt->key[len] = '\0'; -+ avahi_free (key); -+ avahi_free (value); -+#endif /* HAVE_AVAHI */ -+ -+ return 0; -+} -+ - - /* - * 'main()' - Browse for printers. -@@ -125,6 +265,13 @@ main(int argc, /* I - Number of comm - char *argv[]) /* I - Command-line arguments */ - { - const char *name; /* Backend name */ -+ cups_array_t *devices; /* Device array */ -+ cups_device_t *device; /* Current device */ -+ char uriName[1024]; /* Unquoted fullName for URI */ -+#ifdef HAVE_DNSSD -+ int fd; /* Main file descriptor */ -+ fd_set input; /* Input set for select() */ -+ struct timeval timeout; /* Timeout for select() */ - DNSServiceRef main_ref, /* Main service reference */ - fax_ipp_ref, /* IPP fax service reference */ - ipp_ref, /* IPP service reference */ -@@ -138,12 +285,11 @@ main(int argc, /* I - Number of comm - pdl_datastream_ref, /* AppSocket service reference */ - printer_ref, /* LPD service reference */ - riousbprint_ref; /* Remote IO service reference */ -- int fd; /* Main file descriptor */ -- fd_set input; /* Input set for select() */ -- struct timeval timeout; /* Timeout for select() */ -- cups_array_t *devices; /* Device array */ -- cups_device_t *device; /* Current device */ -- char uriName[1024]; /* Unquoted fullName for URI */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ AvahiClient *client; -+ int error; -+#endif /* HAVE_AVAHI */ - #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET) - struct sigaction action; /* Actions for POSIX signals */ - #endif /* HAVE_SIGACTION && !HAVE_SIGSET */ -@@ -203,6 +349,49 @@ main(int argc, /* I - Number of comm - * Browse for different kinds of printers... - */ - -+#ifdef HAVE_AVAHI -+ if ((simple_poll = avahi_simple_poll_new ()) == NULL) -+ { -+ perror ("ERROR: Unable to create avahi simple poll object"); -+ return (1); -+ } -+ -+ client = avahi_client_new (avahi_simple_poll_get (simple_poll), -+ 0, avahi_client_callback, NULL, &error); -+ if (!client) -+ { -+ perror ("DEBUG: Unable to create avahi client"); -+ return (0); -+ } -+ -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_fax-ipp._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_ipp._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_ipp-tls._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_pdl-datastream._tcp", -+ NULL, 0, -+ avahi_browse_callback, -+ devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_printer._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_riousbprint._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+#endif /* HAVE_AVAHI */ -+#ifdef HAVE_DNSSD - if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError) - { - perror("ERROR: Unable to create service connection"); -@@ -263,6 +452,7 @@ main(int argc, /* I - Number of comm - riousbprint_ref = main_ref; - DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0, - "_riousbprint._tcp", NULL, browse_callback, devices); -+#endif /* HAVE_DNSSD */ - - /* - * Loop until we are killed... -@@ -270,6 +460,9 @@ main(int argc, /* I - Number of comm - - while (!job_canceled) - { -+ int announce = 0; -+ -+#ifdef HAVE_DNSSD - FD_ZERO(&input); - FD_SET(fd, &input); - -@@ -289,11 +482,35 @@ main(int argc, /* I - Number of comm - } - else - { -+ announce = 1; -+ } -+#else /* HAVE_AVAHI */ -+ int r; -+ avahi_got_callback = 0; -+ r = avahi_simple_poll_iterate (simple_poll, 1); -+ if (r != 0 && r != EINTR) -+ { -+ /* -+ * We've been told to exit the loop. Perhaps the connection to -+ * avahi failed. -+ */ -+ -+ break; -+ } -+ -+ if (avahi_got_callback) -+ announce = 1; -+#endif /* HAVE_DNSSD */ -+ -+ if (announce) -+ { - /* - * Announce any devices we've found... - */ - -+#ifdef HAVE_DNSSD - DNSServiceErrorType status; /* DNS query status */ -+#endif /* HAVE_DNSSD */ - cups_device_t *best; /* Best matching device */ - char device_uri[1024]; /* Device URI */ - int count; /* Number of queries */ -@@ -307,6 +524,7 @@ main(int argc, /* I - Number of comm - if (device->sent) - sent ++; - -+#ifdef HAVE_DNSSD - if (device->ref) - count ++; - -@@ -338,14 +556,23 @@ main(int argc, /* I - Number of comm - count ++; - } - } -- else if (!device->sent) -+ else -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ if (!device->resolved) -+ continue; -+ else -+#endif /* HAVE_AVAHI */ -+ if (!device->sent) - { -+#ifdef HAVE_DNSSD - /* - * Got the TXT records, now report the device... - */ - - DNSServiceRefDeallocate(device->ref); - device->ref = 0; -+#endif /* HAVE_DNSSD */ - - if (!best) - best = device; -@@ -406,6 +633,7 @@ main(int argc, /* I - Number of comm - } - - -+#ifdef HAVE_DNSSD - /* - * 'browse_callback()' - Browse devices. - */ -@@ -494,6 +722,7 @@ browse_local_callback( - device->fullName); - device->sent = 1; - } -+#endif /* HAVE_DNSSD */ - - - /* -@@ -574,6 +803,41 @@ exec_backend(char **argv) /* I - Comman - - - /* -+ * 'device_type()' - Get DNS-SD type enumeration from string. -+ */ -+ -+static int -+device_type (const char *regtype) -+{ -+#ifdef HAVE_AVAHI -+ if (!strcmp(regtype, "_ipp._tcp")) -+ return (CUPS_DEVICE_IPP); -+ else if (!strcmp(regtype, "_ipps._tcp") || -+ !strcmp(regtype, "_ipp-tls._tcp")) -+ return (CUPS_DEVICE_IPPS); -+ else if (!strcmp(regtype, "_fax-ipp._tcp")) -+ return (CUPS_DEVICE_FAX_IPP); -+ else if (!strcmp(regtype, "_printer._tcp")) -+ return (CUPS_DEVICE_PDL_DATASTREAM); -+#else -+ if (!strcmp(regtype, "_ipp._tcp.")) -+ return (CUPS_DEVICE_IPP); -+ else if (!strcmp(regtype, "_ipps._tcp.") || -+ !strcmp(regtype, "_ipp-tls._tcp.")) -+ return (CUPS_DEVICE_IPPS); -+ else if (!strcmp(regtype, "_fax-ipp._tcp.")) -+ return (CUPS_DEVICE_FAX_IPP); -+ else if (!strcmp(regtype, "_printer._tcp.")) -+ return (CUPS_DEVICE_PRINTER); -+ else if (!strcmp(regtype, "_pdl-datastream._tcp.")) -+ return (CUPS_DEVICE_PDL_DATASTREAM); -+#endif /* HAVE_AVAHI */ -+ -+ return (CUPS_DEVICE_RIOUSBPRINT); -+} -+ -+ -+/* - * 'get_device()' - Create or update a device. - */ - -@@ -594,20 +858,7 @@ get_device(cups_array_t *devices, /* I - - */ - - key.name = (char *)serviceName; -- -- if (!strcmp(regtype, "_ipp._tcp.")) -- key.type = CUPS_DEVICE_IPP; -- else if (!strcmp(regtype, "_ipps._tcp.") || -- !strcmp(regtype, "_ipp-tls._tcp.")) -- key.type = CUPS_DEVICE_IPPS; -- else if (!strcmp(regtype, "_fax-ipp._tcp.")) -- key.type = CUPS_DEVICE_FAX_IPP; -- else if (!strcmp(regtype, "_printer._tcp.")) -- key.type = CUPS_DEVICE_PRINTER; -- else if (!strcmp(regtype, "_pdl-datastream._tcp.")) -- key.type = CUPS_DEVICE_PDL_DATASTREAM; -- else -- key.type = CUPS_DEVICE_RIOUSBPRINT; -+ key.type = device_type (regtype); - - for (device = cupsArrayFind(devices, &key); - device; -@@ -627,8 +878,14 @@ get_device(cups_array_t *devices, /* I - - free(device->domain); - device->domain = strdup(replyDomain); - -+#ifdef HAVE_DNSSD - DNSServiceConstructFullName(fullName, device->name, regtype, - replyDomain); -+#else /* HAVE_AVAHI */ -+ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, -+ serviceName, regtype, replyDomain); -+#endif /* HAVE_DNSSD */ -+ - free(device->fullName); - device->fullName = strdup(fullName); - } -@@ -648,6 +905,9 @@ get_device(cups_array_t *devices, /* I - - device->domain = strdup(replyDomain); - device->type = key.type; - device->priority = 50; -+#ifdef HAVE_AVAHI -+ device->resolved = 0; -+#endif /* HAVE_AVAHI */ - - cupsArrayAdd(devices, device); - -@@ -655,13 +915,20 @@ get_device(cups_array_t *devices, /* I - - * Set the "full name" of this service, which is used for queries... - */ - -+#ifdef HAVE_DNSSD - DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain); -+#else /* HAVE_AVAHI */ -+ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, -+ serviceName, regtype, replyDomain); -+#endif /* HAVE_DNSSD */ -+ - device->fullName = strdup(fullName); - - return (device); - } - - -+#ifdef HAVE_DNSSD - /* - * 'query_callback()' - Process query data. - */ -@@ -685,7 +952,7 @@ query_callback( - *ptr; /* Pointer into string */ - cups_device_t dkey, /* Search key */ - *device; /* Device */ -- -+ cups_txt_records_t txt; - - fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, " - "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", " -@@ -719,94 +986,233 @@ query_callback( - if ((ptr = strstr(name, "._")) != NULL) - *ptr = '\0'; - -- if (strstr(fullName, "_ipp._tcp.")) -- dkey.type = CUPS_DEVICE_IPP; -- else if (strstr(fullName, "_ipps._tcp.") || -- strstr(fullName, "_ipp-tls._tcp.")) -- dkey.type = CUPS_DEVICE_IPPS; -- else if (strstr(fullName, "_fax-ipp._tcp.")) -- dkey.type = CUPS_DEVICE_FAX_IPP; -- else if (strstr(fullName, "_printer._tcp.")) -- dkey.type = CUPS_DEVICE_PRINTER; -- else if (strstr(fullName, "_pdl-datastream._tcp.")) -- dkey.type = CUPS_DEVICE_PDL_DATASTREAM; -+ dkey.type = device_type (fullName); -+ -+ txt.data = rdata; -+ txt.dataend = rdata + rdlen; -+ device = find_device ((cups_array_t *) context, &txt, &dkey); -+ if (!device) -+ fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); -+} -+#endif /* HAVE_DNSSD */ -+ -+ -+#ifdef HAVE_AVAHI -+/* -+ * 'avahi_client_callback()' - Avahi client callback function. -+ */ -+ -+static void -+avahi_client_callback(AvahiClient *client, -+ AvahiClientState state, -+ void *context) -+{ -+ /* -+ * If the connection drops, quit. -+ */ -+ -+ if (state == AVAHI_CLIENT_FAILURE) -+ { -+ fprintf (stderr, "ERROR: Avahi connection failed\n"); -+ avahi_simple_poll_quit (simple_poll); -+ } -+} -+ -+ -+/* -+ * 'avahi_query_callback()' - Avahi query callback function. -+ */ -+ -+static void -+avahi_query_callback(AvahiServiceResolver *resolver, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiResolverEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ const char *host_name, -+ const AvahiAddress *address, -+ uint16_t port, -+ AvahiStringList *txt, -+ AvahiLookupResultFlags flags, -+ void *context) -+{ -+ AvahiClient *client; -+ cups_device_t key, -+ *device; -+ char uqname[1024], -+ *ptr; -+ cups_txt_records_t txtr; -+ -+ client = avahi_service_resolver_get_client (resolver); -+ if (event != AVAHI_RESOLVER_FOUND) -+ { -+ if (event == AVAHI_RESOLVER_FAILURE) -+ { -+ fprintf (stderr, "ERROR: %s\n", -+ avahi_strerror (avahi_client_errno (client))); -+ } -+ -+ avahi_service_resolver_free (resolver); -+ return; -+ } -+ -+ /* -+ * Set search key for device. -+ */ -+ -+ key.name = uqname; -+ unquote (uqname, name, sizeof (uqname)); -+ if ((ptr = strstr(name, "._")) != NULL) -+ *ptr = '\0'; -+ -+ key.domain = (char *) domain; -+ key.type = device_type (type); -+ -+ /* -+ * Find the device and the the TXT information. -+ */ -+ -+ txtr.txt = txt; -+ device = find_device ((cups_array_t *) context, &txtr, &key); -+ if (device) -+ { -+ /* -+ * Let the main loop know to announce the device. -+ */ -+ -+ device->resolved = 1; -+ avahi_got_callback = 1; -+ } - else -- dkey.type = CUPS_DEVICE_RIOUSBPRINT; -+ fprintf (stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", name); - -- for (device = cupsArrayFind(devices, &dkey); -+ avahi_service_resolver_free (resolver); -+} -+ -+ -+/* -+ * 'avahi_browse_callback()' - Avahi browse callback function. -+ */ -+ -+static void -+avahi_browse_callback(AvahiServiceBrowser *browser, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiBrowserEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ AvahiLookupResultFlags flags, -+ void *context) -+{ -+ AvahiClient *client = avahi_service_browser_get_client (browser); -+ -+ switch (event) -+ { -+ case AVAHI_BROWSER_FAILURE: -+ fprintf (stderr, "ERROR: %s\n", -+ avahi_strerror (avahi_client_errno (client))); -+ avahi_simple_poll_quit (simple_poll); -+ return; -+ -+ case AVAHI_BROWSER_NEW: -+ /* -+ * This object is new on the network. -+ */ -+ -+ if (flags & AVAHI_LOOKUP_RESULT_LOCAL) -+ { -+ /* -+ * This comes from the local machine so ignore it. -+ */ -+ -+ fprintf (stderr, "DEBUG: ignoring local service %s\n", name); -+ } -+ else -+ { -+ /* -+ * Create a device entry for it if it doesn't yet exist. -+ */ -+ -+ get_device ((cups_array_t *)context, name, type, domain); -+ -+ /* -+ * Now look for a TXT entry. -+ */ -+ -+ if (avahi_service_resolver_new (client, interface, protocol, -+ name, type, domain, -+ AVAHI_PROTO_UNSPEC, 0, -+ avahi_query_callback, context) == NULL) -+ { -+ fprintf (stderr, "ERROR: failed to resolve service %s: %s\n", -+ name, avahi_strerror (avahi_client_errno (client))); -+ } -+ } -+ -+ break; -+ -+ case AVAHI_BROWSER_REMOVE: -+ case AVAHI_BROWSER_ALL_FOR_NOW: -+ case AVAHI_BROWSER_CACHE_EXHAUSTED: -+ break; -+ } -+} -+#endif /* HAVE_AVAHI */ -+ -+ -+/* -+ * 'find_device()' - Find a device from its name and domain. -+ */ -+ -+static cups_device_t * -+find_device (cups_array_t *devices, -+ cups_txt_records_t *txt, -+ cups_device_t *dkey) -+{ -+ cups_device_t *device; -+ char *ptr; -+ -+ for (device = cupsArrayFind(devices, dkey); - device; - device = cupsArrayNext(devices)) - { -- if (_cups_strcasecmp(device->name, dkey.name) || -- _cups_strcasecmp(device->domain, dkey.domain)) -+ if (_cups_strcasecmp(device->name, dkey->name) || -+ _cups_strcasecmp(device->domain, dkey->domain)) - { - device = NULL; - break; - } -- else if (device->type == dkey.type) -+ else if (device->type == dkey->type) - { - /* - * Found it, pull out the priority and make and model from the TXT - * record and save it... - */ - -- const uint8_t *data, /* Pointer into data */ -- *datanext, /* Next key/value pair */ -- *dataend; /* End of entire TXT record */ -- uint8_t datalen; /* Length of current key/value pair */ -- char key[256], /* Key string */ -- value[256], /* Value string */ -- make_and_model[512], -+ char make_and_model[512], - /* Manufacturer and model */ - model[256], /* Model */ -- device_id[2048];/* 1284 device ID */ -- -+ device_id[2048]; /* 1284 device ID */ - - device_id[0] = '\0'; - make_and_model[0] = '\0'; - - strcpy(model, "Unknown"); - -- for (data = rdata, dataend = data + rdlen; -- data < dataend; -- data = datanext) -+ for (;;) - { -- /* -- * Read a key/value pair starting with an 8-bit length. Since the -- * length is 8 bits and the size of the key/value buffers is 256, we -- * don't need to check for overflow... -- */ -- -- datalen = *data++; -- -- if (!datalen || (data + datalen) > dataend) -- break; -- -- datanext = data + datalen; -- -- for (ptr = key; data < datanext && *data != '='; data ++) -- *ptr++ = *data; -- *ptr = '\0'; -+ char *key; -+ char *value; - -- if (data < datanext && *data == '=') -- { -- data ++; -- -- if (data < datanext) -- memcpy(value, data, datanext - data); -- value[datanext - data] = '\0'; -+ if (parse_txt_record_pair (txt)) -+ goto next; - -- fprintf(stderr, "DEBUG2: query_callback: \"%s=%s\".\n", -- key, value); -- } -- else -- { -- fprintf(stderr, "DEBUG2: query_callback: \"%s\" with no value.\n", -- key); -- continue; -- } -- -- if (!_cups_strncasecmp(key, "usb_", 4)) -+ key = txt->key; -+ value = txt->value; -+ if (!strncasecmp(key, "usb_", 4)) - { - /* - * Add USB device ID information... -@@ -861,6 +1267,10 @@ query_callback( - if (device->type == CUPS_DEVICE_PRINTER) - device->sent = 1; - } -+ -+ next: -+ if (next_txt_record (txt) == NULL) -+ break; - } - - if (device->device_id) -@@ -917,11 +1327,9 @@ query_callback( - } - } - -- if (!device) -- fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); -+ return device; - } - -- - /* - * 'sigterm_handler()' - Handle termination signals... - */ -diff -up cups-1.5.3/cups/http-support.c.avahi-2-backend cups-1.5.3/cups/http-support.c ---- cups-1.5.3/cups/http-support.c.avahi-2-backend 2012-02-15 02:06:12.000000000 +0100 -+++ cups-1.5.3/cups/http-support.c 2012-05-15 17:04:51.045944634 +0200 -@@ -43,6 +43,10 @@ - * http_copy_decode() - Copy and decode a URI. - * http_copy_encode() - Copy and encode a URI. - * http_resolve_cb() - Build a device URI for the given service name. -+ * avahi_resolve_uri_client_cb() -+ * - Avahi client callback for resolving URI. -+ * avahi_resolve_uri_resolver_cb() -+ * - Avahi resolver callback for resolving URI. - */ - - /* -@@ -60,6 +64,11 @@ - # include - # endif /* WIN32 */ - #endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include -+# include -+# include -+#endif /* HAVE_AVAHI */ - - - /* -@@ -127,6 +136,24 @@ static void DNSSD_API http_resolve_cb(DN - void *context); - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+static void avahi_resolve_uri_client_cb(AvahiClient *client, -+ AvahiClientState state, -+ void *simple_poll); -+static void avahi_resolve_uri_resolver_cb(AvahiServiceResolver *resolver, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiResolverEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ const char *host_name, -+ const AvahiAddress *address, -+ uint16_t port, -+ AvahiStringList *txt, -+ AvahiLookupResultFlags flags, -+ void *context); -+#endif /* HAVE_AVAHI */ - - /* - * 'httpAssembleURI()' - Assemble a uniform resource identifier from its -@@ -1434,6 +1461,9 @@ _httpResolveURI( - - if (strstr(hostname, "._tcp")) - { -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ char *regtype, /* Pointer to type in hostname */ -+ *domain; /* Pointer to domain in hostname */ - #ifdef HAVE_DNSSD - # ifdef WIN32 - # pragma comment(lib, "dnssd.lib") -@@ -1452,6 +1482,17 @@ _httpResolveURI( - fd_set input_set; /* Input set for select() */ - struct timeval stimeout; /* Timeout value for select() */ - #endif /* HAVE_POLL */ -+#else /* HAVE_AVAHI */ -+ AvahiSimplePoll *simple_poll; -+ AvahiClient *client; -+ int error; -+ struct -+ { -+ AvahiSimplePoll *poll; -+ _http_uribuf_t uribuf; -+ } user_data; -+#endif /* HAVE_DNSSD */ -+ - - if (options & _HTTP_RESOLVE_STDERR) - fprintf(stderr, "DEBUG: Resolving \"%s\"...\n", hostname); -@@ -1488,9 +1529,16 @@ _httpResolveURI( - if (domain) - *domain++ = '\0'; - -+#ifdef HAVE_DNSSD - uribuf.buffer = resolved_uri; - uribuf.bufsize = resolved_size; - uribuf.options = options; -+#else -+ user_data.uribuf.buffer = resolved_uri; -+ user_data.uribuf.bufsize = resolved_size; -+ user_data.uribuf.options = options; -+#endif -+ - resolved_uri[0] = '\0'; - - DEBUG_printf(("6_httpResolveURI: Resolving hostname=\"%s\", regtype=\"%s\", " -@@ -1504,6 +1552,7 @@ _httpResolveURI( - - uri = NULL; - -+#ifdef HAVE_DNSSD - if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError) - { - localref = ref; -@@ -1611,6 +1660,36 @@ _httpResolveURI( - - DNSServiceRefDeallocate(ref); - } -+#else /* HAVE_AVAHI */ -+ if ((simple_poll = avahi_simple_poll_new ()) != NULL) -+ { -+ if ((client = avahi_client_new (avahi_simple_poll_get (simple_poll), -+ 0, avahi_resolve_uri_client_cb, -+ &simple_poll, &error)) != NULL) -+ { -+ user_data.poll = simple_poll; -+ if (avahi_service_resolver_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, hostname, -+ regtype, domain, AVAHI_PROTO_UNSPEC, 0, -+ avahi_resolve_uri_resolver_cb, -+ &user_data) != NULL) -+ { -+ avahi_simple_poll_loop (simple_poll); -+ -+ /* -+ * Collect the result. -+ */ -+ -+ if (resolved_uri[0]) -+ uri = resolved_uri; -+ } -+ -+ avahi_client_free (client); -+ } -+ -+ avahi_simple_poll_free (simple_poll); -+ } -+#endif /* HAVE_DNSSD */ - - if (options & _HTTP_RESOLVE_STDERR) - { -@@ -1622,13 +1701,13 @@ _httpResolveURI( - fputs("STATE: -connecting-to-device,offline-report\n", stderr); - } - --#else -+#else /* HAVE_DNSSD || HAVE_AVAHI */ - /* - * No DNS-SD support... - */ - - uri = NULL; --#endif /* HAVE_DNSSD */ -+#endif /* HAVE_DNSSD || HAVE_AVAHI */ - - if ((options & _HTTP_RESOLVE_STDERR) && !uri) - _cupsLangPrintFilter(stderr, "ERROR", _("Unable to find printer.")); -@@ -1916,6 +1995,115 @@ http_resolve_cb( - } - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+/* -+ * 'avahi_resolve_uri_client_cb()' - Avahi client callback for resolving URI. -+ */ -+ -+static void -+avahi_resolve_uri_client_cb (AvahiClient *client, -+ AvahiClientState state, -+ void *simple_poll) -+{ -+ DEBUG_printf(("avahi_resolve_uri_client_callback(client=%p, state=%d, " -+ "simple_poll=%p)\n", client, state, simple_poll)); -+ -+ /* -+ * If the connection drops, quit. -+ */ -+ -+ if (state == AVAHI_CLIENT_FAILURE) -+ avahi_simple_poll_quit (simple_poll); -+} -+ -+ -+/* -+ * 'avahi_resolve_uri_resolver_cb()' - Avahi resolver callback for resolving -+ * URI. -+ */ -+ -+static void -+avahi_resolve_uri_resolver_cb (AvahiServiceResolver *resolver, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiResolverEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ const char *host_name, -+ const AvahiAddress *address, -+ uint16_t port, -+ AvahiStringList *txt, -+ AvahiLookupResultFlags flags, -+ void *context) -+{ -+ const char *scheme; /* URI scheme */ -+ char rp[256]; /* Remote printer */ -+ AvahiStringList *pair; -+ char *value; -+ size_t valueLen = 0; -+ char addr[AVAHI_ADDRESS_STR_MAX]; -+ struct -+ { -+ AvahiSimplePoll *poll; -+ _http_uribuf_t uribuf; -+ } *poll_uribuf = context; -+ -+ DEBUG_printf(("avahi_resolve_uri_resolver_callback(resolver=%p, " -+ "interface=%d, protocol=%d, event=%d, name=\"%s\", " -+ "type=\"%s\", domain=\"%s\", host_name=\"%s\", address=%p, " -+ "port=%d, txt=%p, flags=%d, context=%p)\n", -+ resolver, interface, protocol, event, name, type, domain, -+ host_name, address, port, txt, flags, context)); -+ -+ if (event != AVAHI_RESOLVER_FOUND) -+ { -+ avahi_service_resolver_free (resolver); -+ avahi_simple_poll_quit (poll_uribuf->poll); -+ return; -+ } -+ -+ /* -+ * Figure out the scheme from the full name... -+ */ -+ -+ if (strstr(type, "_ipp.")) -+ scheme = "ipp"; -+ else if (strstr(type, "_printer.")) -+ scheme = "lpd"; -+ else if (strstr(type, "_pdl-datastream.")) -+ scheme = "socket"; -+ else -+ scheme = "riousbprint"; -+ -+ /* -+ * Extract the "remote printer key from the TXT record... -+ */ -+ -+ if ((pair = avahi_string_list_find (txt, "rp")) != NULL) -+ { -+ avahi_string_list_get_pair (pair, NULL, &value, &valueLen); -+ rp[0] = '/'; -+ memcpy (rp + 1, value, valueLen); -+ rp[valueLen + 1] = '\0'; -+ } -+ else -+ rp[0] = '\0'; -+ -+ /* -+ * Assemble the final device URI... -+ */ -+ -+ avahi_address_snprint (addr, AVAHI_ADDRESS_STR_MAX, address); -+ httpAssembleURI(HTTP_URI_CODING_ALL, poll_uribuf->uribuf.buffer, -+ poll_uribuf->uribuf.bufsize, scheme, NULL, -+ addr, port, rp); -+ DEBUG_printf(("avahi_resolve_uri_resolver_callback: Resolved URI is \"%s\"\n", -+ poll_uribuf->uribuf.buffer)); -+ avahi_simple_poll_quit (poll_uribuf->poll); -+} -+#endif /* HAVE_AVAHI */ -+ - - /* - * End of "$Id: http-support.c 10284 2012-02-15 01:06:12Z mike $". \ No newline at end of file diff --git a/extra/cups/cups-avahi-3-timeouts.patch b/extra/cups/cups-avahi-3-timeouts.patch deleted file mode 100644 index daf852a0f..000000000 --- a/extra/cups/cups-avahi-3-timeouts.patch +++ /dev/null @@ -1,381 +0,0 @@ -diff -up cups-1.5.2/scheduler/cupsd.h.avahi-3-timeouts cups-1.5.2/scheduler/cupsd.h ---- cups-1.5.2/scheduler/cupsd.h.avahi-3-timeouts 2011-05-11 23:17:34.000000000 +0100 -+++ cups-1.5.2/scheduler/cupsd.h 2012-03-14 15:06:36.509476983 +0000 -@@ -140,6 +140,15 @@ extern const char *cups_hstrerror(int); - - typedef void (*cupsd_selfunc_t)(void *data); - -+#ifdef HAVE_AVAHI -+/* -+ * Timeout callback function type... -+ */ -+ -+typedef struct _cupsd_timeout_s cupsd_timeout_t; -+typedef void (*cupsd_timeoutfunc_t)(cupsd_timeout_t *timeout, void *data); -+#endif /* HAVE_AVAHI */ -+ - - /* - * Globals... -@@ -173,6 +182,11 @@ VAR int Launchd VALUE(0); - /* Running from launchd */ - #endif /* HAVE_LAUNCH_H */ - -+#ifdef HAVE_AVAHI -+VAR cups_array_t *Timeouts; /* Timed callbacks for main loop */ -+#endif /* HAVE_AVAHI */ -+ -+ - - /* - * Prototypes... -@@ -242,6 +256,20 @@ extern void cupsdStopSelect(void); - extern void cupsdStartServer(void); - extern void cupsdStopServer(void); - -+#ifdef HAVE_AVAHI -+extern void cupsdInitTimeouts(void); -+extern cupsd_timeout_t *cupsdAddTimeout (const struct timeval *tv, -+ cupsd_timeoutfunc_t cb, -+ void *data); -+extern cupsd_timeout_t *cupsdNextTimeout (long *delay); -+extern void cupsdRunTimeout (cupsd_timeout_t *timeout); -+extern void cupsdUpdateTimeout (cupsd_timeout_t *timeout, -+ const struct timeval *tv); -+extern void cupsdRemoveTimeout (cupsd_timeout_t *timeout); -+#endif /* HAVE_AVAHI */ -+ -+extern int cupsdRemoveFile(const char *filename); -+ - - /* - * End of "$Id: cupsd.h 9766 2011-05-11 22:17:34Z mike $". -diff -up cups-1.5.2/scheduler/main.c.avahi-3-timeouts cups-1.5.2/scheduler/main.c ---- cups-1.5.2/scheduler/main.c.avahi-3-timeouts 2012-03-14 15:04:17.655305548 +0000 -+++ cups-1.5.2/scheduler/main.c 2012-03-14 15:06:36.511476986 +0000 -@@ -146,6 +146,10 @@ main(int argc, /* I - Number of comm - int launchd_idle_exit; - /* Idle exit on select timeout? */ - #endif /* HAVE_LAUNCHD */ -+#ifdef HAVE_AVAHI -+ cupsd_timeout_t *tmo; /* Next scheduled timed callback */ -+ long tmo_delay; /* Time before it must be called */ -+#endif /* HAVE_AVAHI */ - - - #ifdef HAVE_GETEUID -@@ -535,6 +539,14 @@ main(int argc, /* I - Number of comm - - httpInitialize(); - -+#ifdef HAVE_AVAHI -+ /* -+ * Initialize timed callback structures. -+ */ -+ -+ cupsdInitTimeouts(); -+#endif /* HAVE_AVAHI */ -+ - cupsdStartServer(); - - /* -@@ -874,6 +886,16 @@ main(int argc, /* I - Number of comm - } - #endif /* __APPLE__ */ - -+#ifdef HAVE_AVAHI -+ /* -+ * If a timed callback is due, run it. -+ */ -+ -+ tmo = cupsdNextTimeout (&tmo_delay); -+ if (tmo && tmo_delay == 0) -+ cupsdRunTimeout (tmo); -+#endif /* HAVE_AVAHI */ -+ - #ifndef __APPLE__ - /* - * Update the network interfaces once a minute... -@@ -1787,6 +1809,10 @@ select_timeout(int fds) /* I - Number - cupsd_job_t *job; /* Job information */ - cupsd_subscription_t *sub; /* Subscription information */ - const char *why; /* Debugging aid */ -+#ifdef HAVE_AVAHI -+ cupsd_timeout_t *tmo; /* Timed callback */ -+ long tmo_delay; /* Seconds before calling it */ -+#endif /* HAVE_AVAHI */ - - - /* -@@ -1829,6 +1855,19 @@ select_timeout(int fds) /* I - Number - } - #endif /* __APPLE__ */ - -+#ifdef HAVE_AVAHI -+ /* -+ * See if there are any scheduled timed callbacks to run. -+ */ -+ -+ if ((tmo = cupsdNextTimeout(&tmo_delay)) != NULL && -+ (now + tmo_delay) < timeout) -+ { -+ timeout = tmo_delay; -+ why = "run a timed callback"; -+ } -+#endif /* HAVE_AVAHI */ -+ - /* - * Check whether we are accepting new connections... - */ -diff -up cups-1.5.2/scheduler/Makefile.avahi-3-timeouts cups-1.5.2/scheduler/Makefile ---- cups-1.5.2/scheduler/Makefile.avahi-3-timeouts 2012-03-14 15:04:17.685305586 +0000 -+++ cups-1.5.2/scheduler/Makefile 2012-03-14 15:06:36.508476980 +0000 -@@ -39,7 +39,8 @@ CUPSDOBJS = \ - server.o \ - statbuf.o \ - subscriptions.o \ -- sysman.o -+ sysman.o \ -+ timeout.o - LIBOBJS = \ - filter.o \ - mime.o \ -diff -up cups-1.5.2/scheduler/timeout.c.avahi-3-timeouts cups-1.5.2/scheduler/timeout.c ---- cups-1.5.2/scheduler/timeout.c.avahi-3-timeouts 2012-03-14 15:06:36.552477037 +0000 -+++ cups-1.5.2/scheduler/timeout.c 2012-03-14 15:06:36.552477037 +0000 -@@ -0,0 +1,235 @@ -+/* -+ * "$Id$" -+ * -+ * Timeout functions for the Common UNIX Printing System (CUPS). -+ * -+ * Copyright (C) 2010, 2011 Red Hat, Inc. -+ * Authors: -+ * Tim Waugh -+ * -+ * 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. -+ * -+ * 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 HOLDERS 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. -+ * -+ * Contents: -+ * -+ * cupsdInitTimeouts() - Initialise timeout structure. -+ * cupsdAddTimeout() - Add a timed callback. -+ * cupsdNextTimeout() - Find the next enabled timed callback. -+ * cupsdUpdateTimeout() - Adjust the time of a timed callback or disable it. -+ * cupsdRemoveTimeout() - Discard a timed callback. -+ * compare_timeouts() - Compare timed callbacks for array sorting. -+ */ -+ -+#include -+ -+#ifdef HAVE_AVAHI /* Applies to entire file... */ -+ -+/* -+ * Include necessary headers... -+ */ -+ -+#include "cupsd.h" -+ -+#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO) -+# include -+#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */ -+ -+#ifdef HAVE_AVAHI -+# include -+#endif /* HAVE_AVAHI */ -+ -+ -+struct _cupsd_timeout_s -+{ -+ struct timeval when; -+ int enabled; -+ cupsd_timeoutfunc_t callback; -+ void *data; -+}; -+ -+/* -+ * Local functions... -+ */ -+ -+/* -+ * 'compare_timeouts()' - Compare timed callbacks for array sorting. -+ */ -+ -+static int -+compare_addrs (void *p0, void *p1) -+{ -+ if (p0 == p1) -+ return (0); -+ if (p0 < p1) -+ return (-1); -+ return (1); -+} -+ -+static int -+compare_timeouts (cupsd_timeout_t *p0, cupsd_timeout_t *p1) -+{ -+ int addrsdiff = compare_addrs (p0, p1); -+ int tvdiff; -+ -+ if (addrsdiff == 0) -+ return (0); -+ -+ if (!p0->enabled || !p1->enabled) -+ { -+ if (!p0->enabled && !p1->enabled) -+ return (addrsdiff); -+ -+ return (p0->enabled ? -1 : 1); -+ } -+ -+ tvdiff = avahi_timeval_compare (&p0->when, &p1->when); -+ if (tvdiff != 0) -+ return (tvdiff); -+ -+ return (addrsdiff); -+} -+ -+ -+/* -+ * 'cupsdInitTimeouts()' - Initialise timeout structures. -+ */ -+ -+void -+cupsdInitTimeouts(void) -+{ -+ Timeouts = cupsArrayNew ((cups_array_func_t)compare_timeouts, NULL); -+} -+ -+ -+/* -+ * 'cupsdAddTimeout()' - Add a timed callback. -+ */ -+ -+cupsd_timeout_t * /* O - Timeout handle */ -+cupsdAddTimeout(const struct timeval *tv, /* I - Absolute time */ -+ cupsd_timeoutfunc_t cb, /* I - Callback function */ -+ void *data) /* I - User data */ -+{ -+ cupsd_timeout_t *timeout; -+ -+ timeout = malloc (sizeof(cupsd_timeout_t)); -+ if (timeout != NULL) -+ { -+ timeout->enabled = (tv != NULL); -+ if (tv) -+ { -+ timeout->when.tv_sec = tv->tv_sec; -+ timeout->when.tv_usec = tv->tv_usec; -+ } -+ -+ timeout->callback = cb; -+ timeout->data = data; -+ cupsArrayAdd (Timeouts, timeout); -+ } -+ -+ return timeout; -+} -+ -+ -+/* -+ * 'cupsdNextTimeout()' - Find the next enabled timed callback. -+ */ -+ -+cupsd_timeout_t * /* O - Next enabled timeout or NULL */ -+cupsdNextTimeout(long *delay) /* O - Seconds before scheduled */ -+{ -+ cupsd_timeout_t *first = cupsArrayFirst (Timeouts); -+ struct timeval curtime; -+ -+ if (first && !first->enabled) -+ first = NULL; -+ -+ if (first && delay) -+ { -+ gettimeofday (&curtime, NULL); -+ if (avahi_timeval_compare (&curtime, &first->when) > 0) -+ { -+ *delay = 0; -+ } else { -+ *delay = 1 + first->when.tv_sec - curtime.tv_sec; -+ if (first->when.tv_usec < curtime.tv_usec) -+ (*delay)--; -+ } -+ } -+ -+ return (first); -+} -+ -+ -+/* -+ * 'cupsdRunTimeout()' - Run a timed callback. -+ */ -+ -+void -+cupsdRunTimeout(cupsd_timeout_t *timeout) /* I - Timeout */ -+{ -+ if (!timeout) -+ return; -+ timeout->enabled = 0; -+ if (!timeout->callback) -+ return; -+ timeout->callback (timeout, timeout->data); -+} -+ -+/* -+ * 'cupsdUpdateTimeout()' - Adjust the time of a timed callback or disable it. -+ */ -+ -+void -+cupsdUpdateTimeout(cupsd_timeout_t *timeout, /* I - Timeout */ -+ const struct timeval *tv) /* I - Absolute time or NULL */ -+{ -+ cupsArrayRemove (Timeouts, timeout); -+ timeout->enabled = (tv != NULL); -+ if (tv) -+ { -+ timeout->when.tv_sec = tv->tv_sec; -+ timeout->when.tv_usec = tv->tv_usec; -+ } -+ cupsArrayAdd (Timeouts, timeout); -+} -+ -+ -+/* -+ * 'cupsdRemoveTimeout()' - Discard a timed callback. -+ */ -+ -+void -+cupsdRemoveTimeout(cupsd_timeout_t *timeout) /* I - Timeout */ -+{ -+ cupsArrayRemove (Timeouts, timeout); -+ free (timeout); -+} -+ -+ -+#endif /* HAVE_AVAHI ... from top of file */ -+ -+/* -+ * End of "$Id$". -+ */ diff --git a/extra/cups/cups-avahi-4-poll.patch b/extra/cups/cups-avahi-4-poll.patch deleted file mode 100644 index d7fa5fd56..000000000 --- a/extra/cups/cups-avahi-4-poll.patch +++ /dev/null @@ -1,529 +0,0 @@ -diff -up cups-1.5.2/scheduler/avahi.c.avahi-4-poll cups-1.5.2/scheduler/avahi.c ---- cups-1.5.2/scheduler/avahi.c.avahi-4-poll 2012-03-14 15:07:29.477542381 +0000 -+++ cups-1.5.2/scheduler/avahi.c 2012-03-14 15:07:29.477542381 +0000 -@@ -0,0 +1,441 @@ -+/* -+ * "$Id$" -+ * -+ * Avahi poll implementation for the CUPS scheduler. -+ * -+ * Copyright (C) 2010, 2011 Red Hat, Inc. -+ * Authors: -+ * Tim Waugh -+ * -+ * 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. -+ * -+ * 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 HOLDERS 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. -+ * -+ * Contents: -+ * -+ * watch_read_cb - Read callback for file descriptor -+ * watch_write_cb - Write callback for file descriptor -+ * watched_fd_add_select() - Call cupsdAddSelect() as needed -+ * watch_new() - Create a new file descriptor watch -+ * watch_free() - Free a file descriptor watch -+ * watch_update() - Update watched events for a file descriptor -+ * watch_get_events() - Get events that happened for a file descriptor -+ * timeout_cb() - Run a timed Avahi callback -+ * timeout_new() - Set a wakeup time -+ * timeout_update() - Update the expiration time for a timeout -+ * timeout_free() - Free a timeout -+ * compare_watched_fds() - Compare watched file descriptors for array sorting -+ * avahi_cups_poll_new() - Create a new Avahi main loop object for CUPS -+ * avahi_cups_poll_free() - Free an Avahi main loop object for CUPS -+ * avahi_cups_poll_get() - Get the abstract poll API structure -+ */ -+ -+#include -+ -+#ifdef HAVE_AVAHI /* Applies to entire file... */ -+ -+/* -+ * Include necessary headers... -+ */ -+ -+#include "cupsd.h" -+ -+#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO) -+# include -+#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */ -+ -+#ifdef HAVE_AVAHI -+# include -+#endif /* HAVE_AVAHI */ -+ -+ -+typedef struct -+{ -+ AvahiCupsPoll *cups_poll; -+ -+ int fd; -+ AvahiWatchEvent occurred; -+ cups_array_t *watches; -+} cupsd_watched_fd_t; -+ -+struct AvahiWatch -+{ -+ cupsd_watched_fd_t *watched_fd; -+ -+ AvahiWatchEvent events; -+ AvahiWatchCallback callback; -+ void *userdata; -+}; -+ -+struct AvahiTimeout -+{ -+ AvahiCupsPoll *cups_poll; -+ AvahiTimeoutCallback callback; -+ void *userdata; -+ cupsd_timeout_t *cupsd_timeout; -+}; -+ -+/* -+ * Local functions... -+ */ -+ -+static AvahiWatch * watch_new(const AvahiPoll *api, -+ int fd, -+ AvahiWatchEvent events, -+ AvahiWatchCallback callback, -+ void *userdata); -+static void watch_free(AvahiWatch *watch); -+static void watch_update(AvahiWatch *watch, -+ AvahiWatchEvent events); -+static AvahiWatchEvent watch_get_events(AvahiWatch *watch); -+ -+ -+/* -+ * 'watch_read_cb' - Read callback for file descriptor -+ */ -+ -+static void -+watch_read_cb (void *userdata) -+{ -+ AvahiWatch *watch; -+ cupsd_watched_fd_t *watched_fd = userdata; -+ watched_fd->occurred |= AVAHI_WATCH_IN; -+ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches); -+ watch; -+ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) -+ { -+ if (watch->events & watched_fd->occurred) -+ { -+ (watch->callback) (watch, watched_fd->fd, -+ AVAHI_WATCH_IN, watch->userdata); -+ watched_fd->occurred &= ~AVAHI_WATCH_IN; -+ break; -+ } -+ } -+} -+ -+ -+/* -+ * 'watch_write_cb' - Write callback for file descriptor -+ */ -+ -+static void -+watch_write_cb (void *userdata) -+{ -+ AvahiWatch *watch; -+ cupsd_watched_fd_t *watched_fd = userdata; -+ watched_fd->occurred |= AVAHI_WATCH_OUT; -+ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches); -+ watch; -+ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) -+ { -+ if (watch->events & watched_fd->occurred) -+ { -+ (watch->callback) (watch, watched_fd->fd, -+ AVAHI_WATCH_OUT, watch->userdata); -+ watched_fd->occurred &= ~AVAHI_WATCH_OUT; -+ break; -+ } -+ } -+} -+ -+ -+/* -+ * 'watched_fd_add_select' - Call cupsdAddSelect() as needed -+ */ -+ -+static int /* O - Watches? */ -+watched_fd_add_select (cupsd_watched_fd_t *watched_fd) -+{ -+ AvahiWatch *watch; -+ cupsd_selfunc_t read_cb = NULL, write_cb = NULL; -+ int any_watches = 0; -+ -+ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches); -+ watch; -+ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) -+ { -+ any_watches = 1; -+ if (watch->events & (AVAHI_WATCH_IN | -+ AVAHI_WATCH_ERR | -+ AVAHI_WATCH_HUP)) -+ { -+ read_cb = (cupsd_selfunc_t)watch_read_cb; -+ if (write_cb != NULL) -+ break; -+ } -+ -+ if (watch->events & AVAHI_WATCH_OUT) -+ { -+ write_cb = (cupsd_selfunc_t)watch_write_cb; -+ if (read_cb != NULL) -+ break; -+ } -+ } -+ -+ if (read_cb || write_cb) -+ cupsdAddSelect (watched_fd->fd, read_cb, write_cb, watched_fd); -+ else -+ cupsdRemoveSelect (watched_fd->fd); -+ -+ return (any_watches); -+} -+ -+/* -+ * 'watch_new' - Create a new file descriptor watch -+ */ -+ -+static AvahiWatch * -+watch_new (const AvahiPoll *api, -+ int fd, -+ AvahiWatchEvent events, -+ AvahiWatchCallback callback, -+ void *userdata) -+{ -+ cupsd_watched_fd_t key, *watched_fd; -+ AvahiCupsPoll *cups_poll = api->userdata; -+ AvahiWatch *watch = malloc(sizeof(AvahiWatch)); -+ if (watch == NULL) -+ return (NULL); -+ -+ watch->events = events; -+ watch->callback = callback; -+ watch->userdata = userdata; -+ -+ key.fd = fd; -+ watched_fd = cupsArrayFind (cups_poll->watched_fds, &key); -+ if (watched_fd == NULL) -+ { -+ watched_fd = malloc(sizeof(cupsd_watched_fd_t)); -+ if (watched_fd == NULL) -+ { -+ free (watch); -+ return (NULL); -+ } -+ -+ watched_fd->fd = fd; -+ watched_fd->occurred = 0; -+ watched_fd->cups_poll = cups_poll; -+ watched_fd->watches = cupsArrayNew (NULL, NULL); -+ cupsArrayAdd (cups_poll->watched_fds, watched_fd); -+ } -+ -+ watch->watched_fd = watched_fd; -+ cupsArrayAdd(watched_fd->watches, watch); -+ watched_fd_add_select (watched_fd); -+ return (watch); -+} -+ -+ -+/* -+ * 'watch_free' - Free a file descriptor watch -+ */ -+ -+static void -+watch_free (AvahiWatch *watch) -+{ -+ cupsd_watched_fd_t *watched_fd = watch->watched_fd; -+ AvahiCupsPoll *cups_poll = watched_fd->cups_poll; -+ -+ cupsArrayRemove (watched_fd->watches, watch); -+ free (watch); -+ -+ if (!watched_fd_add_select (watched_fd)) -+ { -+ /* No more watches */ -+ cupsArrayRemove (cups_poll->watched_fds, watched_fd); -+ free (watched_fd); -+ } -+} -+ -+ -+/* -+ * 'watch_update' - Update watched events for a file descriptor -+ */ -+ -+static void -+watch_update (AvahiWatch *watch, -+ AvahiWatchEvent events) -+{ -+ watch->events = events; -+ watched_fd_add_select (watch->watched_fd); -+} -+ -+ -+/* -+ * 'watch_get_events' - Get events that happened for a file descriptor -+ */ -+ -+static AvahiWatchEvent -+watch_get_events (AvahiWatch *watch) -+{ -+ return (watch->watched_fd->occurred); -+} -+ -+ -+/* -+ * 'timeout_cb()' - Run a timed Avahi callback -+ */ -+ -+static void -+timeout_cb (cupsd_timeout_t *cupsd_timeout, void *userdata) -+{ -+ AvahiTimeout *timeout = userdata; -+ (timeout->callback) (timeout, timeout->userdata); -+} -+ -+ -+/* -+ * 'timeout_new' - Set a wakeup time -+ */ -+ -+static AvahiTimeout * -+timeout_new (const AvahiPoll *api, -+ const struct timeval *tv, -+ AvahiTimeoutCallback callback, -+ void *userdata) -+{ -+ AvahiTimeout *timeout; -+ AvahiCupsPoll *cups_poll = api->userdata; -+ -+ timeout = malloc(sizeof(AvahiTimeout)); -+ if (timeout == NULL) -+ return (NULL); -+ -+ timeout->cups_poll = cups_poll; -+ timeout->callback = callback; -+ timeout->userdata = userdata; -+ timeout->cupsd_timeout = cupsdAddTimeout (tv, -+ (cupsd_timeoutfunc_t)timeout_cb, -+ timeout); -+ cupsArrayAdd (cups_poll->timeouts, timeout); -+ return (timeout); -+} -+ -+ -+/* -+ * 'timeout_update' - Update the expiration time for a timeout -+ */ -+ -+static void -+timeout_update (AvahiTimeout *timeout, -+ const struct timeval *tv) -+{ -+ cupsdUpdateTimeout (timeout->cupsd_timeout, tv); -+} -+ -+ -+/* -+ * ' timeout_free' - Free a timeout -+ */ -+ -+static void -+timeout_free (AvahiTimeout *timeout) -+{ -+ cupsArrayRemove (timeout->cups_poll->timeouts, timeout); -+ cupsdRemoveTimeout (timeout->cupsd_timeout); -+ free (timeout); -+} -+ -+ -+/* -+ * 'compare_watched_fds' - Compare watched file descriptors for array sorting -+ */ -+static int -+compare_watched_fds(cupsd_watched_fd_t *p0, -+ cupsd_watched_fd_t *p1) -+{ -+ /* -+ * Compare by fd (no two elements have the same fd) -+ */ -+ -+ if (p0->fd == p1->fd) -+ return 0; -+ -+ return (p0->fd < p1->fd ? -1 : 1); -+} -+ -+ -+/* -+ * 'avahi_cups_poll_new' - Create a new Avahi main loop object for CUPS -+ */ -+ -+AvahiCupsPoll * -+avahi_cups_poll_new (void) -+{ -+ AvahiCupsPoll *cups_poll = malloc(sizeof(AvahiCupsPoll)); -+ if (cups_poll == NULL) -+ return (NULL); -+ -+ cups_poll->watched_fds = cupsArrayNew ((cups_array_func_t)compare_watched_fds, -+ NULL); -+ cups_poll->timeouts = cupsArrayNew (NULL, NULL); -+ -+ cups_poll->api.userdata = cups_poll; -+ cups_poll->api.watch_new = watch_new; -+ cups_poll->api.watch_free = watch_free; -+ cups_poll->api.watch_update = watch_update; -+ cups_poll->api.watch_get_events = watch_get_events; -+ -+ cups_poll->api.timeout_new = timeout_new; -+ cups_poll->api.timeout_update = timeout_update; -+ cups_poll->api.timeout_free = timeout_free; -+ -+ return (cups_poll); -+} -+ -+ -+/* -+ * 'avahi_cups_poll_free' - Free an Avahi main loop object for CUPS -+ */ -+void -+avahi_cups_poll_free (AvahiCupsPoll *cups_poll) -+{ -+ cupsd_watched_fd_t *watched_fd; -+ -+ for (watched_fd = (cupsd_watched_fd_t*)cupsArrayFirst(cups_poll->watched_fds); -+ watched_fd; -+ watched_fd = (cupsd_watched_fd_t*)cupsArrayNext(cups_poll->watched_fds)) -+ cupsArrayClear (watched_fd->watches); -+ -+ cupsArrayClear (cups_poll->watched_fds); -+ cupsArrayClear (cups_poll->timeouts); -+} -+ -+ -+/* -+ * 'avahi_cups_poll_get' - Get the abstract poll API structure -+ */ -+ -+const AvahiPoll * -+avahi_cups_poll_get (AvahiCupsPoll *cups_poll) -+{ -+ return (&cups_poll->api); -+} -+ -+ -+#endif /* HAVE_AVAHI ... from top of file */ -+ -+/* -+ * End of "$Id$". -+ */ -diff -up cups-1.5.2/scheduler/avahi.h.avahi-4-poll cups-1.5.2/scheduler/avahi.h ---- cups-1.5.2/scheduler/avahi.h.avahi-4-poll 2012-03-14 15:07:29.477542381 +0000 -+++ cups-1.5.2/scheduler/avahi.h 2012-03-14 15:07:29.477542381 +0000 -@@ -0,0 +1,69 @@ -+/* -+ * "$Id$" -+ * -+ * Avahi poll implementation for the CUPS scheduler. -+ * -+ * Copyright (C) 2010, 2011 Red Hat, Inc. -+ * Authors: -+ * Tim Waugh -+ * -+ * 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. -+ * -+ * 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 HOLDERS 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. -+ */ -+ -+#include -+ -+#ifdef HAVE_AVAHI -+# include -+# include -+#endif /* HAVE_AVAHI */ -+ -+#ifdef HAVE_AUTHORIZATION_H -+# include -+#endif /* HAVE_AUTHORIZATION_H */ -+ -+ -+#ifdef HAVE_AVAHI -+typedef struct -+{ -+ AvahiPoll api; -+ cups_array_t *watched_fds; -+ cups_array_t *timeouts; -+} AvahiCupsPoll; -+#endif /* HAVE_AVAHI */ -+ -+/* -+ * Prototypes... -+ */ -+ -+#ifdef HAVE_AVAHI -+extern AvahiCupsPoll * avahi_cups_poll_new(void); -+extern void avahi_cups_poll_free(AvahiCupsPoll *cups_poll); -+extern const AvahiPoll *avahi_cups_poll_get(AvahiCupsPoll *cups_poll); -+#endif /* HAVE_AVAHI */ -+ -+ -+/* -+ * End of "$Id$". -+ */ -diff -up cups-1.5.2/scheduler/Makefile.avahi-4-poll cups-1.5.2/scheduler/Makefile ---- cups-1.5.2/scheduler/Makefile.avahi-4-poll 2012-03-14 15:06:36.508476980 +0000 -+++ cups-1.5.2/scheduler/Makefile 2012-03-14 15:07:29.476542380 +0000 -@@ -17,6 +17,7 @@ include ../Makedefs - - CUPSDOBJS = \ - auth.o \ -+ avahi.o \ - banners.o \ - cert.o \ - classes.o \ diff --git a/extra/cups/cups-avahi-5-services.patch b/extra/cups/cups-avahi-5-services.patch deleted file mode 100644 index 820b3c32b..000000000 --- a/extra/cups/cups-avahi-5-services.patch +++ /dev/null @@ -1,1272 +0,0 @@ -diff -up cups-1.5.2/cgi-bin/admin.c.avahi-5-services cups-1.5.2/cgi-bin/admin.c ---- cups-1.5.2/cgi-bin/admin.c.avahi-5-services 2011-08-17 22:01:53.000000000 +0100 -+++ cups-1.5.2/cgi-bin/admin.c 2012-03-14 15:08:25.701611799 +0000 -@@ -1643,7 +1643,7 @@ do_config_server(http_t *http) /* I - H - else - local_protocols[0] = '\0'; - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - if (cgiGetVariable("BROWSE_LOCAL_DNSSD")) - { - if (local_protocols[0]) -@@ -1651,7 +1651,7 @@ do_config_server(http_t *http) /* I - H - else - strcat(local_protocols, "dnssd"); - } --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - #ifdef HAVE_LDAP - if (cgiGetVariable("BROWSE_LOCAL_LDAP")) -@@ -2718,9 +2718,9 @@ do_menu(http_t *http) /* I - HTTP conn - #endif /* HAVE_GSSAPI */ - cgiSetVariable("KERBEROS", ""); - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - cgiSetVariable("HAVE_DNSSD", "1"); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - #ifdef HAVE_LDAP - cgiSetVariable("HAVE_LDAP", "1"); -diff -up cups-1.5.2/scheduler/avahi.h.avahi-5-services cups-1.5.2/scheduler/avahi.h ---- cups-1.5.2/scheduler/avahi.h.avahi-5-services 2012-03-14 15:07:29.477542381 +0000 -+++ cups-1.5.2/scheduler/avahi.h 2012-03-14 15:08:25.701611799 +0000 -@@ -3,7 +3,7 @@ - * - * Avahi poll implementation for the CUPS scheduler. - * -- * Copyright (C) 2010, 2011 Red Hat, Inc. -+ * Copyright (C) 2010, 2011, 2012 Red Hat, Inc. - * Authors: - * Tim Waugh - * -@@ -32,37 +32,40 @@ - * OF THE POSSIBILITY OF SUCH DAMAGE. - */ - --#include -+#ifndef _CUPS_AVAHI_H_ -+# define _CUPS_AVAHI_H_ - --#ifdef HAVE_AVAHI --# include --# include --#endif /* HAVE_AVAHI */ -+/* -+ * Include necessary headers... -+ */ - --#ifdef HAVE_AUTHORIZATION_H --# include --#endif /* HAVE_AUTHORIZATION_H */ -+# include - -+# ifdef HAVE_AVAHI -+# include -+# include -+# endif /* HAVE_AVAHI */ - --#ifdef HAVE_AVAHI -+# ifdef HAVE_AVAHI - typedef struct - { - AvahiPoll api; - cups_array_t *watched_fds; - cups_array_t *timeouts; - } AvahiCupsPoll; --#endif /* HAVE_AVAHI */ -+# endif /* HAVE_AVAHI */ - - /* - * Prototypes... - */ - --#ifdef HAVE_AVAHI -+# ifdef HAVE_AVAHI - extern AvahiCupsPoll * avahi_cups_poll_new(void); - extern void avahi_cups_poll_free(AvahiCupsPoll *cups_poll); - extern const AvahiPoll *avahi_cups_poll_get(AvahiCupsPoll *cups_poll); --#endif /* HAVE_AVAHI */ -+# endif /* HAVE_AVAHI */ - -+#endif /* !_CUPS_AVAHI_H_ */ - - /* - * End of "$Id$". -diff -up cups-1.5.2/scheduler/client.c.avahi-5-services cups-1.5.2/scheduler/client.c ---- cups-1.5.2/scheduler/client.c.avahi-5-services 2012-01-13 23:00:22.000000000 +0000 -+++ cups-1.5.2/scheduler/client.c 2012-03-14 15:08:25.703611797 +0000 -@@ -4989,7 +4989,7 @@ valid_host(cupsd_client_t *con) /* I - - !strncmp(host, "[::1]:", 6)); - } - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - /* - * Check if the hostname is something.local (Bonjour); if so, allow it. - */ -@@ -4998,7 +4998,7 @@ valid_host(cupsd_client_t *con) /* I - - (!_cups_strcasecmp(end, ".local") || !_cups_strncasecmp(end, ".local:", 7) || - !_cups_strcasecmp(end, ".local.") || !_cups_strncasecmp(end, ".local.:", 8))) - return (1); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - /* - * Check if the hostname is an IP address... -diff -up cups-1.5.2/scheduler/conf.c.avahi-5-services cups-1.5.2/scheduler/conf.c ---- cups-1.5.2/scheduler/conf.c.avahi-5-services 2012-03-14 15:04:17.636305526 +0000 -+++ cups-1.5.2/scheduler/conf.c 2012-03-14 15:08:25.706611803 +0000 -@@ -652,7 +652,7 @@ cupsdReadConfiguration(void) - Browsing = CUPS_DEFAULT_BROWSING; - DefaultShared = CUPS_DEFAULT_DEFAULT_SHARED; - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - cupsdSetString(&DNSSDRegType, "_ipp._tcp,_cups"); - #endif /* HAVE_DNSSD */ - -diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dirsvc.c ---- cups-1.5.2/scheduler/dirsvc.c.avahi-5-services 2012-03-14 15:04:17.674305572 +0000 -+++ cups-1.5.2/scheduler/dirsvc.c 2012-03-14 15:08:25.709611806 +0000 -@@ -27,6 +27,7 @@ - * ldap_connect() - Start new LDAP connection - * ldap_reconnect() - Reconnect to LDAP Server - * ldap_disconnect() - Disconnect from LDAP Server -+ * cupsdStartAvahiClient() - Start an Avahi client if needed - * cupsdStartBrowsing() - Start sending and receiving broadcast - * information. - * cupsdStartPolling() - Start polling servers as needed. -@@ -40,11 +41,12 @@ - * dequote() - Remote quotes from a string. - * dnssdAddAlias() - Add a DNS-SD alias name. - * dnssdBuildTxtRecord() - Build a TXT record from printer info. -- * dnssdComparePrinters() - Compare the registered names of two printers. - * dnssdDeregisterPrinter() - Stop sending broadcast information for a - * printer. - * dnssdPackTxtRecord() - Pack an array of key/value pairs into the TXT - * record format. -+ * avahiPackTxtRecord() - Pack an array of key/value pairs into an -+ * AvahiStringList. - * dnssdRegisterCallback() - DNSServiceRegister callback. - * dnssdRegisterPrinter() - Start sending broadcast information for a - * printer or update the broadcast contents. -@@ -83,6 +85,7 @@ - */ - - #include "cupsd.h" -+#include - #include - - #ifdef HAVE_DNSSD -@@ -97,6 +100,17 @@ - # endif /* HAVE_SYSTEMCONFIGURATION */ - # endif /* __APPLE__ */ - #endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include -+#endif /* HAVE_AVAHI */ -+ -+ -+#ifdef HAVE_DNSSD -+typedef char *cupsd_txt_record_t; -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+typedef AvahiStringList *cupsd_txt_record_t; -+#endif /* HAVE_AVAHI */ - - - /* -@@ -159,27 +173,38 @@ static void update_polling(void); - static void update_smb(int onoff); - - -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+static cupsd_txt_record_t dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p, -+ int for_lpd); -+static void dnssdDeregisterPrinter(cupsd_printer_t *p); -+static void dnssdRegisterPrinter(cupsd_printer_t *p); -+static void dnssdStop(void); -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ -+ - #ifdef HAVE_DNSSD - # ifdef HAVE_COREFOUNDATION - static void dnssdAddAlias(const void *key, const void *value, - void *context); - # endif /* HAVE_COREFOUNDATION */ --static char *dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p, -- int for_lpd); --static int dnssdComparePrinters(cupsd_printer_t *a, cupsd_printer_t *b); --static void dnssdDeregisterPrinter(cupsd_printer_t *p); --static char *dnssdPackTxtRecord(int *txt_len, char *keyvalue[][2], -- int count); - static void dnssdRegisterCallback(DNSServiceRef sdRef, - DNSServiceFlags flags, - DNSServiceErrorType errorCode, - const char *name, const char *regtype, - const char *domain, void *context); --static void dnssdRegisterPrinter(cupsd_printer_t *p); --static void dnssdStop(void); - static void dnssdUpdate(void); - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+static AvahiStringList *avahiPackTxtRecord(char *keyvalue[][2], -+ int count); -+static void avahi_entry_group_cb (AvahiEntryGroup *group, -+ AvahiEntryGroupState state, -+ void *userdata); -+static void avahi_client_cb (AvahiClient *client, -+ AvahiClientState state, -+ void *userdata); -+#endif /* HAVE_AVAHI */ -+ - #ifdef HAVE_LDAP - static const char * const ldap_attrs[] =/* CUPS LDAP attributes */ - { -@@ -283,10 +308,10 @@ cupsdDeregisterPrinter( - ldap_dereg_printer(p); - #endif /* HAVE_LDAP */ - --#ifdef HAVE_DNSSD -- if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef) -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD)) - dnssdDeregisterPrinter(p); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - } - - -@@ -702,10 +727,10 @@ cupsdRegisterPrinter(cupsd_printer_t *p) - slpRegisterPrinter(p); */ - #endif /* HAVE_LIBSLP */ - --#ifdef HAVE_DNSSD -- if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef) -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ if ((BrowseLocalProtocols & BROWSE_DNSSD)) - dnssdRegisterPrinter(p); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - } - - -@@ -1419,6 +1444,36 @@ ldap_disconnect(LDAP *ld) /* I - LDAP h - #endif /* HAVE_LDAP */ - - -+#ifdef HAVE_AVAHI -+/* -+ * 'cupsdStartAvahiClient()' - Start an Avahi client if needed -+ */ -+ -+void -+cupsdStartAvahiClient(void) -+{ -+ int error = 0; -+ -+ if (!AvahiCupsClient && !AvahiCupsClientConnecting) -+ { -+ if (!AvahiCupsPollHandle) -+ AvahiCupsPollHandle = avahi_cups_poll_new (); -+ -+ if (AvahiCupsPollHandle) -+ { -+ if (avahi_client_new (avahi_cups_poll_get (AvahiCupsPollHandle), -+ AVAHI_CLIENT_NO_FAIL, -+ avahi_client_cb, NULL, -+ &error) != NULL) -+ AvahiCupsClientConnecting = 1; -+ else -+ cupsdLogMessage (CUPSD_LOG_WARN, "Avahi client failed: %d", error); -+ } -+ } -+} -+#endif /* HAVE_AVAHI */ -+ -+ - /* - * 'cupsdStartBrowsing()' - Start sending and receiving broadcast information. - */ -@@ -1542,13 +1597,16 @@ cupsdStartBrowsing(void) - else - BrowseSocket = -1; - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_DNSSD) - { -+#ifdef HAVE_DNSSD - DNSServiceErrorType error; /* Error from service creation */ -+#endif /* HAVE_DNSSD */ - cupsd_listener_t *lis; /* Current listening socket */ - - -+#ifdef HAVE_DNSSD - /* - * First create a "master" connection for all registrations... - */ -@@ -1573,6 +1631,7 @@ cupsdStartBrowsing(void) - fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); - - cupsdAddSelect(fd, (cupsd_selfunc_t)dnssdUpdate, NULL, NULL); -+#endif /* HAVE_DNSSD */ - - /* - * Then get the port we use for registrations. If we are not listening -@@ -1598,17 +1657,23 @@ cupsdStartBrowsing(void) - */ - - if (BrowseRemoteProtocols & BROWSE_DNSSD) -- DNSSDPrinters = cupsArrayNew((cups_array_func_t)dnssdComparePrinters, -- NULL); -+ DNSSDPrinters = cupsArrayNew(NULL, NULL); - - /* - * Set the computer name and register the web interface... - */ - - cupsdUpdateDNSSDName(); -+ -+#ifdef HAVE_AVAHI -+ cupsdStartAvahiClient (); -+#endif /* HAVE_AVAHI */ -+ -+#ifdef HAVE_DNSSD - } -- } - #endif /* HAVE_DNSSD */ -+ } -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - #ifdef HAVE_LIBSLP - if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP) -@@ -1834,10 +1899,10 @@ cupsdStopBrowsing(void) - BrowseSocket = -1; - } - --#ifdef HAVE_DNSSD -- if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef) -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ if ((BrowseLocalProtocols & BROWSE_DNSSD)) - dnssdStop(); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - #ifdef HAVE_LIBSLP - if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP) && -@@ -1902,7 +1967,7 @@ cupsdStopPolling(void) - } - - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - /* - * 'cupsdUpdateDNSSDName()' - Update the computer name we use for browsing... - */ -@@ -1910,8 +1975,14 @@ cupsdStopPolling(void) - void - cupsdUpdateDNSSDName(void) - { -+#ifdef HAVE_DNSSD - DNSServiceErrorType error; /* Error from service creation */ - char webif[1024]; /* Web interface share name */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ int ret; /* Error from service creation */ -+ char webif[AVAHI_LABEL_MAX]; /* Web interface share name */ -+#endif /* HAVE_AVAHI */ - # ifdef HAVE_SYSTEMCONFIGURATION - SCDynamicStoreRef sc; /* Context for dynamic store */ - CFDictionaryRef btmm; /* Back-to-My-Mac domains */ -@@ -2042,6 +2113,7 @@ cupsdUpdateDNSSDName(void) - else - strlcpy(webif, "CUPS Web Interface", sizeof(webif)); - -+#ifdef HAVE_DNSSD - if (WebIFRef) - DNSServiceRefDeallocate(WebIFRef); - -@@ -2054,9 +2126,45 @@ cupsdUpdateDNSSDName(void) - NULL)) != kDNSServiceErr_NoError) - cupsdLogMessage(CUPSD_LOG_ERROR, - "DNS-SD web interface registration failed: %d", error); -+#endif /* HAVE_DNSSD */ -+ -+#ifdef HAVE_AVAHI -+ if (!AvahiCupsClient) -+ /* -+ * Client not yet running. -+ */ -+ return; -+ -+ if (AvahiWebIFGroup) -+ avahi_entry_group_reset (AvahiWebIFGroup); -+ else -+ AvahiWebIFGroup = avahi_entry_group_new (AvahiCupsClient, -+ avahi_entry_group_cb, -+ NULL); -+ -+ if (AvahiWebIFGroup) -+ { -+ ret = avahi_entry_group_add_service (AvahiWebIFGroup, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, /* flags */ -+ webif, /* name */ -+ "_http._tcp", /* type */ -+ NULL, /* domain */ -+ NULL, /* host */ -+ DNSSDPort, /* port */ -+ "path=/", NULL); -+ if (ret == 0) -+ ret = avahi_entry_group_commit (AvahiWebIFGroup); -+ -+ if (ret != 0) -+ cupsdLogMessage (CUPSD_LOG_ERROR, -+ "Avahi web interface registration failed: %d", ret); -+ } -+#endif /* HAVE_AVAHI */ - } - } --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - - #ifdef HAVE_LDAP -@@ -2334,13 +2442,15 @@ dnssdAddAlias(const void *key, /* I - K - "Bad Back to My Mac domain in dynamic store!"); - } - # endif /* HAVE_COREFOUNDATION */ -+#endif /* HAVE_DNSSD */ - - -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - /* - * 'dnssdBuildTxtRecord()' - Build a TXT record from printer info. - */ - --static char * /* O - TXT record */ -+static cupsd_txt_record_t /* O - TXT record */ - dnssdBuildTxtRecord( - int *txt_len, /* O - TXT record length */ - cupsd_printer_t *p, /* I - Printer information */ -@@ -2379,7 +2489,12 @@ dnssdBuildTxtRecord( - keyvalue[i ][0] = "ty"; - keyvalue[i++][1] = p->make_model ? p->make_model : "Unknown"; - -- snprintf(admin_hostname, sizeof(admin_hostname), "%s.local.", DNSSDHostName); -+ snprintf(admin_hostname, sizeof(admin_hostname), -+ "%s.local" -+#ifdef HAVE_DNSSD -+ "." /* terminating dot no good for Avahi */ -+#endif /* HAVE_DNSSD */ -+ , DNSSDHostName); - httpAssembleURIf(HTTP_URI_CODING_ALL, adminurl_str, sizeof(adminurl_str), - "http", NULL, admin_hostname, DNSSDPort, "/%s/%s", - (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers", -@@ -2462,19 +2577,12 @@ dnssdBuildTxtRecord( - * Then pack them into a proper txt record... - */ - -+#ifdef HAVE_DNSSD - return (dnssdPackTxtRecord(txt_len, keyvalue, i)); --} -- -- --/* -- * 'dnssdComparePrinters()' - Compare the registered names of two printers. -- */ -- --static int /* O - Result of comparison */ --dnssdComparePrinters(cupsd_printer_t *a,/* I - First printer */ -- cupsd_printer_t *b)/* I - Second printer */ --{ -- return (_cups_strcasecmp(a->reg_name, b->reg_name)); -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ return (avahiPackTxtRecord(keyvalue, i)); -+#endif /* HAVE_AVAHI */ - } - - -@@ -2489,6 +2597,10 @@ dnssdDeregisterPrinter( - { - cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdDeregisterPrinter(%s)", p->name); - -+#ifdef HAVE_DNSSD -+ if (!DNSSDRef) -+ return; -+ - /* - * Closing the socket deregisters the service - */ -@@ -2524,6 +2636,24 @@ dnssdDeregisterPrinter( - free(p->printer_txt); - p->printer_txt = NULL; - } -+#endif /* HAVE_DNSSD */ -+ -+#ifdef HAVE_AVAHI -+ if (p->avahi_group) -+ { -+ avahi_entry_group_reset (p->avahi_group); -+ avahi_entry_group_free (p->avahi_group); -+ p->avahi_group = NULL; -+ -+ if (p->ipp_txt) -+ avahi_string_list_free (p->ipp_txt); -+ -+ if (p->printer_txt) -+ avahi_string_list_free (p->printer_txt); -+ -+ p->ipp_txt = p->printer_txt = NULL; -+ } -+#endif /* HAVE_AVAHI */ - - /* - * Remove the printer from the array of DNS-SD printers, then clear the -@@ -2533,8 +2663,10 @@ dnssdDeregisterPrinter( - cupsArrayRemove(DNSSDPrinters, p); - cupsdClearString(&p->reg_name); - } -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - -+#ifdef HAVE_DNSSD - /* - * 'dnssdPackTxtRecord()' - Pack an array of key/value pairs into the - * TXT record format. -@@ -2644,8 +2776,10 @@ dnssdRegisterCallback( - LastEvent |= CUPSD_EVENT_PRINTER_MODIFIED; - } - } -+#endif /* HAVE_DNSSD */ - - -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - /* - * 'dnssdRegisterPrinter()' - Start sending broadcast information for a printer - * or update the broadcast contents. -@@ -2654,20 +2788,40 @@ dnssdRegisterCallback( - static void - dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */ - { -+#ifdef HAVE_DNSSD - DNSServiceErrorType se; /* dnssd errors */ - char *ipp_txt, /* IPP TXT record buffer */ - *printer_txt, /* LPD TXT record buffer */ -- name[1024], /* Service name */ -- *nameptr; /* Pointer into name */ -+ name[1024]; /* Service name */ - int ipp_len, /* IPP TXT record length */ - printer_len, /* LPD TXT record length */ - printer_port; /* LPD port number */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ int ret; /* Error code */ -+ AvahiStringList *ipp_txt, /* IPP TXT record */ -+ *printer_txt; /* LPD TXT record */ -+ char name[AVAHI_LABEL_MAX], /* Service name */ -+ fullsubtype[AVAHI_LABEL_MAX]; /* Full subtype */ -+ char *regtype_copy, /* Writeable copy of reg type */ -+ *subtype, /* Current service sub type */ -+ *nextsubtype; /* Next service sub type */ -+#endif /* HAVE_AVAHI */ -+ char *nameptr; /* Pointer into name */ - const char *regtype; /* Registration type */ - - -+#ifdef HAVE_DNSSD -+ if (!DNSSDRef) -+ return; -+ - cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name, - !p->ipp_ref ? "new" : "update"); -- -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name, -+ !p->avahi_group ? "new" : "update"); -+#endif /* HAVE_AVAHI */ - /* - * If per-printer sharing was just disabled make sure we're not - * registered before returning. -@@ -2686,12 +2840,36 @@ dnssdRegisterPrinter(cupsd_printer_t *p) - if (p->info && strlen(p->info) > 0) - { - if (DNSSDComputerName) -- snprintf(name, sizeof(name), "%s @ %s", p->info, DNSSDComputerName); -+ { -+ /* -+ * Make sure there is room for at least 15 characters of -+ * DNSSDComputerName. -+ */ -+ -+ assert(sizeof(name) >= 15 + 4); -+ nameptr = name + strlcpy(name, p->info, -+ sizeof(name) - 4 - -+ strnlen(DNSSDComputerName, 15)); -+ nameptr += strlcpy(nameptr, " @ ", sizeof(name) - (nameptr - name)); -+ strlcpy(nameptr, DNSSDComputerName, sizeof(name) - (nameptr - name)); -+ } - else - strlcpy(name, p->info, sizeof(name)); - } - else if (DNSSDComputerName) -- snprintf(name, sizeof(name), "%s @ %s", p->name, DNSSDComputerName); -+ { -+ /* -+ * Make sure there is room for at least 15 characters of -+ * DNSSDComputerName. -+ */ -+ -+ assert(sizeof(name) >= 15 + 4); -+ nameptr = name + strlcpy(name, p->info, -+ sizeof(name) - 4 - -+ strnlen(DNSSDComputerName, 15)); -+ nameptr += strlcpy(nameptr, " @ ", sizeof(name) - (nameptr - name)); -+ strlcpy(nameptr, DNSSDComputerName, sizeof(name) - (nameptr - name)); -+ } - else - strlcpy(name, p->name, sizeof(name)); - -@@ -2712,6 +2890,7 @@ dnssdRegisterPrinter(cupsd_printer_t *p) - * Register IPP and (optionally) LPD... - */ - -+#ifdef HAVE_DNSSD - ipp_len = 0; /* anti-compiler-warning-code */ - ipp_txt = dnssdBuildTxtRecord(&ipp_len, p, 0); - -@@ -2884,6 +3063,209 @@ dnssdRegisterPrinter(cupsd_printer_t *p) - - if (printer_txt) - free(printer_txt); -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ if (!AvahiCupsClient) -+ /* -+ * Client not running yet. The client callback will call us again later. -+ */ -+ return; -+ -+ ipp_txt = dnssdBuildTxtRecord(NULL, p, 0); -+ printer_txt = dnssdBuildTxtRecord(NULL, p, 1); -+ regtype = (p->type & CUPS_PRINTER_FAX) ? "_fax-ipp._tcp" : DNSSDRegType; -+ -+ if (p->avahi_group && p->ipp_txt && ipp_txt && -+ !avahi_string_list_equal (p->ipp_txt, ipp_txt)) -+ { -+ /* -+ * Update the existing registration... -+ */ -+ -+ avahi_string_list_free (p->ipp_txt); -+ -+ if (p->printer_txt) -+ avahi_string_list_free (p->printer_txt); -+ -+ /* -+ * Update the service group entry. -+ */ -+ -+ regtype_copy = strdup (regtype); -+ subtype = strchr (regtype_copy, ','); -+ if (subtype) -+ *subtype = '\0'; -+ -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Updating TXT record for %s (%s)", name, regtype_copy); -+ ret = avahi_entry_group_update_service_txt_strlst (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, -+ regtype_copy, -+ NULL, ipp_txt); -+ free (regtype_copy); -+ -+ if (ret < 0) -+ goto update_failed; -+ -+ p->ipp_txt = ipp_txt; -+ ipp_txt = NULL; -+ -+ if (BrowseLocalProtocols & BROWSE_LPD) -+ { -+ ret = avahi_entry_group_update_service_txt_strlst (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, -+ "_printer._tcp", NULL, -+ printer_txt); -+ if (ret < 0) -+ goto update_failed; -+ -+ p->printer_txt = printer_txt; -+ printer_txt = NULL; -+ } -+ -+ ret = avahi_entry_group_commit (p->avahi_group); -+ if (ret < 0) -+ { -+ update_failed: -+ cupsdLogMessage (CUPSD_LOG_ERROR, -+ "Failed to update TXT record for %s: %d", -+ name, ret); -+ avahi_entry_group_reset (p->avahi_group); -+ avahi_entry_group_free (p->avahi_group); -+ p->avahi_group = NULL; -+ ipp_txt = p->ipp_txt; -+ p->ipp_txt = NULL; -+ } -+ } -+ -+ if (!p->avahi_group) -+ { -+ /* -+ * Initial registration. Use the _fax subtype for fax queues... -+ */ -+ -+ p->avahi_group = avahi_entry_group_new (AvahiCupsClient, -+ avahi_entry_group_cb, -+ p); -+ -+ cupsdLogMessage(CUPSD_LOG_DEBUG, -+ "Registering Avahi printer %s with name \"%s\" and " -+ "type \"%s\"", p->name, name, regtype); -+ -+ if (!p->avahi_group) -+ { -+ ret = 0; -+ goto add_failed; -+ } -+ -+ /* -+ * Add each service type (DNSSDRegType may contain several, -+ * separated by commas). -+ */ -+ -+ subtype = regtype_copy = strdup (regtype); -+ while (subtype && *subtype) -+ { -+ nextsubtype = strchr (subtype, ','); -+ if (nextsubtype) -+ *nextsubtype++ = '\0'; -+ -+ if (subtype == regtype_copy) -+ { -+ /* -+ * Main type entry. -+ */ -+ -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Adding TXT record for %s (%s)", name, regtype_copy); -+ ret = avahi_entry_group_add_service_strlst (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, regtype_copy, -+ NULL, NULL, -+ DNSSDPort, -+ ipp_txt); -+ } -+ else -+ { -+ /* -+ * Sub-type entry. -+ */ -+ -+ snprintf (fullsubtype, sizeof(fullsubtype), -+ "%s._sub.%s", subtype, regtype_copy); -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Adding TXT record for %s (%s)", name, fullsubtype); -+ ret = avahi_entry_group_add_service_subtype (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, -+ regtype_copy, -+ NULL, fullsubtype); -+ } -+ -+ if (ret < 0) -+ { -+ free (regtype_copy); -+ goto add_failed; -+ } -+ -+ subtype = nextsubtype; -+ } -+ -+ free (regtype_copy); -+ p->ipp_txt = ipp_txt; -+ ipp_txt = NULL; -+ -+ if (BrowseLocalProtocols & BROWSE_LPD) -+ { -+ cupsdLogMessage(CUPSD_LOG_DEBUG, -+ "Registering Avahi printer %s with name \"%s\" and " -+ "type \"_printer._tcp\"", p->name, name); -+ -+ ret = avahi_entry_group_add_service_strlst (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, -+ "_printer._tcp", NULL, NULL, -+ 515, -+ printer_txt); -+ if (ret < 0) -+ goto add_failed; -+ -+ p->printer_txt = printer_txt; -+ printer_txt = NULL; -+ } -+ -+ ret = avahi_entry_group_commit (p->avahi_group); -+ -+ if (ret < 0) -+ { -+ add_failed: -+ cupsdLogMessage (CUPSD_LOG_ERROR, -+ "Failed to add Avahi entry for %s: %d", -+ name, ret); -+ if (p->avahi_group) -+ { -+ avahi_entry_group_reset (p->avahi_group); -+ avahi_entry_group_free (p->avahi_group); -+ p->avahi_group = NULL; -+ } -+ ipp_txt = p->ipp_txt; -+ p->ipp_txt = NULL; -+ } -+ } -+ -+ if (ipp_txt) -+ avahi_string_list_free (ipp_txt); -+ -+ if (printer_txt) -+ avahi_string_list_free (printer_txt); -+#endif /* HAVE_AVAHI */ - } - - -@@ -2896,6 +3278,10 @@ dnssdStop(void) - { - cupsd_printer_t *p; /* Current printer */ - -+#ifdef HAVE_DNSSD -+ if (!DNSSDRef) -+ return; -+#endif /* HAVE_DNSSD */ - - /* - * De-register the individual printers -@@ -2910,12 +3296,23 @@ dnssdStop(void) - * Shutdown the rest of the service refs... - */ - -+#ifdef HAVE_DNSSD - if (WebIFRef) - { - DNSServiceRefDeallocate(WebIFRef); - WebIFRef = NULL; - } -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ if (AvahiWebIFGroup) -+ { -+ avahi_entry_group_reset (AvahiWebIFGroup); -+ avahi_entry_group_free (AvahiWebIFGroup); -+ AvahiWebIFGroup = NULL; -+ } -+#endif /* HAVE_AVAHI */ - -+#ifdef HAVE_DNSSD - if (RemoteRef) - { - DNSServiceRefDeallocate(RemoteRef); -@@ -2926,14 +3323,17 @@ dnssdStop(void) - - DNSServiceRefDeallocate(DNSSDRef); - DNSSDRef = NULL; -+#endif /* HAVE_DNSSD */ - - cupsArrayDelete(DNSSDPrinters); - DNSSDPrinters = NULL; - - DNSSDPort = 0; - } -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - -+#ifdef HAVE_DNSSD - /* - * 'dnssdUpdate()' - Handle DNS-SD queries. - */ -@@ -2955,6 +3355,153 @@ dnssdUpdate(void) - #endif /* HAVE_DNSSD */ - - -+#ifdef HAVE_AVAHI -+/* -+ * 'avahiPackTxtRecord()' - Pack an array of key/value pairs into an -+ * AvahiStringList. -+ */ -+ -+static AvahiStringList * /* O - new string list */ -+avahiPackTxtRecord(char *keyvalue[][2], /* I - Table of key value pairs */ -+ int count) /* I - Number of items in table */ -+{ -+ AvahiStringList *strlst = NULL; -+ char **elements; -+ size_t len; -+ int i = 0; -+ -+ elements = malloc ((1 + count) * sizeof (char *)); -+ if (!elements) -+ goto cleanup; -+ -+ for (i = 0; i < count; i++) -+ { -+ len = (1 + strlen (keyvalue[i][0]) + -+ (keyvalue[i][1] ? 1 + strlen (keyvalue[i][1]) : 1)); -+ elements[i] = malloc (len * sizeof (char)); -+ if (!elements[i]) -+ goto cleanup; -+ -+ snprintf (elements[i], len, "%s=%s", keyvalue[i][0], keyvalue[i][1]); -+ } -+ -+ strlst = avahi_string_list_new_from_array ((const char **) elements, count); -+ -+cleanup: -+ while (--i >= 0) -+ free (elements[i]); -+ -+ free (elements); -+ return (strlst); -+} -+ -+ -+/* -+ * 'avahi_entry_group_cb()' - Avahi entry group callback function. -+ */ -+static void -+avahi_entry_group_cb (AvahiEntryGroup *group, -+ AvahiEntryGroupState state, -+ void *userdata) -+{ -+ char *name; -+ -+ if (userdata) -+ name = ((cupsd_printer_t *) userdata)->reg_name; -+ else -+ name = "CUPS web interface"; -+ -+ switch (state) -+ { -+ case AVAHI_ENTRY_GROUP_UNCOMMITED: -+ case AVAHI_ENTRY_GROUP_REGISTERING: -+ break; -+ -+ case AVAHI_ENTRY_GROUP_ESTABLISHED: -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Avahi entry group established for %s", name); -+ break; -+ -+ default: -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Avahi entry group %s has state %d", -+ name, state); -+ break; -+ } -+} -+ -+ -+/* -+ * 'avahi_client_cb()' - Avahi client callback function. -+ */ -+static void -+avahi_client_cb (AvahiClient *client, -+ AvahiClientState state, -+ void *userdata) -+{ -+ cupsd_printer_t *printer; -+ switch (state) -+ { -+ case AVAHI_CLIENT_S_RUNNING: -+ /* -+ * Avahi client started successfully. -+ */ -+ AvahiCupsClient = client; -+ AvahiCupsClientConnecting = 0; -+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client started"); -+ -+ cupsdUpdateDNSSDName (); -+ -+ for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers); -+ printer; -+ printer = (cupsd_printer_t *)cupsArrayNext(Printers)) -+ if (Browsing && (BrowseLocalProtocols & BROWSE_DNSSD) && -+ (!(printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT | -+ CUPS_PRINTER_SCANNER))) && printer->shared) -+ dnssdRegisterPrinter (printer); -+ -+ break; -+ -+ case AVAHI_CLIENT_CONNECTING: -+ /* -+ * No Avahi daemon, client is waiting. -+ */ -+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client connecting"); -+ break; -+ -+ case AVAHI_CLIENT_S_REGISTERING: -+ /* -+ * Not yet registered. -+ */ -+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client registering"); -+ break; -+ -+ case AVAHI_CLIENT_FAILURE: -+ /* -+ * Avahi client failed, close it to allow a clean restart. -+ */ -+ cupsdLogMessage (CUPSD_LOG_ERROR, -+ "Avahi client failed, " -+ "closing client to allow a clean restart"); -+ -+ for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers); -+ printer; -+ printer = (cupsd_printer_t *)cupsArrayNext(Printers)) -+ dnssdDeregisterPrinter (printer); -+ -+ avahi_client_free(client); -+ AvahiCupsClientConnecting = 0; -+ AvahiCupsClient = NULL; -+ -+ break; -+ -+ default: -+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client state: %d", state); -+ } -+} -+#endif /* HAVE_AVAHI */ -+ -+ - /* - * 'get_auth_info_required()' - Get the auth-info-required value to advertise. - */ -diff -up cups-1.5.2/scheduler/dirsvc.h.avahi-5-services cups-1.5.2/scheduler/dirsvc.h ---- cups-1.5.2/scheduler/dirsvc.h.avahi-5-services 2011-03-21 02:12:14.000000000 +0000 -+++ cups-1.5.2/scheduler/dirsvc.h 2012-03-14 15:08:25.711611808 +0000 -@@ -31,6 +31,10 @@ - # endif /* HAVE_LDAP_SSL_H */ - #endif /* HAVE_LDAP */ - -+#ifdef HAVE_AVAHI -+# include -+#endif /* HAVE_AVAHI */ -+ - /* - * Browse protocols... - */ -@@ -131,19 +135,22 @@ VAR int PollPipe VALUE(0); - VAR cupsd_statbuf_t *PollStatusBuffer VALUE(NULL); - /* Status buffer for pollers */ - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - VAR char *DNSSDComputerName VALUE(NULL), - /* Computer/server name */ - *DNSSDHostName VALUE(NULL), - /* Hostname */ - *DNSSDRegType VALUE(NULL); - /* Bonjour registration type */ --VAR cups_array_t *DNSSDAlias VALUE(NULL); -- /* List of dynamic ServerAlias's */ - VAR int DNSSDPort VALUE(0); - /* Port number to register */ - VAR cups_array_t *DNSSDPrinters VALUE(NULL); - /* Printers we have registered */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ -+ -+#ifdef HAVE_DNSSD -+VAR cups_array_t *DNSSDAlias VALUE(NULL); -+ /* List of dynamic ServerAlias's */ - VAR DNSServiceRef DNSSDRef VALUE(NULL), - /* Master DNS-SD service reference */ - WebIFRef VALUE(NULL), -@@ -152,6 +159,17 @@ VAR DNSServiceRef DNSSDRef VALUE(NULL), - /* Remote printer browse reference */ - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+VAR AvahiCupsPoll *AvahiCupsPollHandle VALUE(NULL); -+ /* AvahiCupsPoll object */ -+VAR AvahiClient *AvahiCupsClient VALUE(NULL); -+ /* AvahiClient object */ -+VAR int AvahiCupsClientConnecting VALUE(0); -+ /* Is AvahiClient object connecting? */ -+VAR AvahiEntryGroup *AvahiWebIFGroup VALUE(NULL); -+ /* Web interface entry group */ -+#endif /* HAVE_AVAHI */ -+ - #ifdef HAVE_LIBSLP - VAR SLPHandle BrowseSLPHandle VALUE(NULL); - /* SLP API handle */ -@@ -195,13 +213,14 @@ extern void cupsdRegisterPrinter(cupsd_p - extern void cupsdRestartPolling(void); - extern void cupsdSaveRemoteCache(void); - extern void cupsdSendBrowseList(void); -+extern void cupsdStartAvahiClient(void); - extern void cupsdStartBrowsing(void); - extern void cupsdStartPolling(void); - extern void cupsdStopBrowsing(void); - extern void cupsdStopPolling(void); --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - extern void cupsdUpdateDNSSDName(void); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - #ifdef HAVE_LDAP - extern void cupsdUpdateLDAPBrowse(void); - #endif /* HAVE_LDAP */ -diff -up cups-1.5.2/scheduler/ipp.c.avahi-5-services cups-1.5.2/scheduler/ipp.c ---- cups-1.5.2/scheduler/ipp.c.avahi-5-services 2012-03-14 15:04:17.665305560 +0000 -+++ cups-1.5.2/scheduler/ipp.c 2012-03-14 15:08:25.715611813 +0000 -@@ -6099,7 +6099,7 @@ copy_printer_attrs( - ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time", - ippTimeToDate(curtime)); - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - if (!ra || cupsArrayFind(ra, "printer-dns-sd-name")) - { - if (printer->reg_name) -@@ -6109,7 +6109,7 @@ copy_printer_attrs( - ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE, - "printer-dns-sd-name", 0); - } --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - if (!ra || cupsArrayFind(ra, "printer-error-policy")) - ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME, -diff -up cups-1.5.2/scheduler/main.c.avahi-5-services cups-1.5.2/scheduler/main.c ---- cups-1.5.2/scheduler/main.c.avahi-5-services 2012-03-14 15:06:36.511476986 +0000 -+++ cups-1.5.2/scheduler/main.c 2012-03-14 15:08:25.718611817 +0000 -@@ -120,6 +120,10 @@ main(int argc, /* I - Number of comm - cupsd_listener_t *lis; /* Current listener */ - time_t current_time, /* Current time */ - activity, /* Client activity timer */ -+#ifdef HAVE_AVAHI -+ avahi_client_time, /* Time for next Avahi client -+ check */ -+#endif /* HAVE_AVAHI */ - browse_time, /* Next browse send time */ - senddoc_time, /* Send-Document time */ - expire_time, /* Subscription expire time */ -@@ -672,6 +676,9 @@ main(int argc, /* I - Number of comm - */ - - current_time = time(NULL); -+#ifdef HAVE_AVAHI -+ avahi_client_time = current_time; -+#endif /* HAVE_AVAHI */ - browse_time = current_time; - event_time = current_time; - expire_time = current_time; -@@ -894,6 +901,16 @@ main(int argc, /* I - Number of comm - tmo = cupsdNextTimeout (&tmo_delay); - if (tmo && tmo_delay == 0) - cupsdRunTimeout (tmo); -+ -+ /* -+ * Try to restart the Avahi client every 10 seconds if needed... -+ */ -+ -+ if ((current_time - avahi_client_time) >= 10) -+ { -+ avahi_client_time = current_time; -+ cupsdStartAvahiClient(); -+ } - #endif /* HAVE_AVAHI */ - - #ifndef __APPLE__ -diff -up cups-1.5.2/scheduler/printers.c.avahi-5-services cups-1.5.2/scheduler/printers.c ---- cups-1.5.2/scheduler/printers.c.avahi-5-services 2012-03-14 15:04:17.646305537 +0000 -+++ cups-1.5.2/scheduler/printers.c 2012-03-14 15:08:25.720611819 +0000 -@@ -883,9 +883,9 @@ cupsdDeletePrinter( - cupsdClearString(&p->alert); - cupsdClearString(&p->alert_description); - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - cupsdClearString(&p->pdl); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - cupsArrayDelete(p->filetypes); - -@@ -3787,7 +3787,7 @@ add_printer_formats(cupsd_printer_t *p) - attr->values[i].string.text = _cupsStrAlloc(mimetype); - } - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - { - char pdl[1024]; /* Buffer to build pdl list */ - mime_filter_t *filter; /* MIME filter looping var */ -@@ -3843,7 +3843,7 @@ add_printer_formats(cupsd_printer_t *p) - - cupsdSetString(&p->pdl, pdl); - } --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - } - - -diff -up cups-1.5.2/scheduler/printers.h.avahi-5-services cups-1.5.2/scheduler/printers.h ---- cups-1.5.2/scheduler/printers.h.avahi-5-services 2011-03-18 18:42:46.000000000 +0000 -+++ cups-1.5.2/scheduler/printers.h 2012-03-14 15:08:25.721611820 +0000 -@@ -16,6 +16,9 @@ - #ifdef HAVE_DNSSD - # include - #endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include "avahi.h" -+#endif /* HAVE_AVAHI */ - #include - - -@@ -95,16 +98,23 @@ struct cupsd_printer_s - time_t marker_time; /* Last time marker attributes were updated */ - _ppd_cache_t *pc; /* PPD cache and mapping data */ - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - char *reg_name, /* Name used for service registration */ -- *pdl, /* pdl value for TXT record */ -- *ipp_txt, /* IPP TXT record contents */ -+ *pdl; /* pdl value for TXT record */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ -+#ifdef HAVE_DNSSD -+ char *ipp_txt, /* IPP TXT record contents */ - *printer_txt; /* LPD TXT record contents */ - int ipp_len, /* IPP TXT record length */ - printer_len; /* LPD TXT record length */ - DNSServiceRef ipp_ref, /* Reference for _ipp._tcp,_cups */ - printer_ref; /* Reference for _printer._tcp */ - #endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ AvahiStringList *ipp_txt, /* IPP TXT record */ -+ *printer_txt; /* LPD TXT record */ -+ AvahiEntryGroup *avahi_group; /* Avahi entry group */ -+#endif /* HAVE_AVAHI */ - }; - - diff --git a/extra/cups/cups-no-gzip-man.patch.16 b/extra/cups/cups-no-gzip-man.patch.16 deleted file mode 100644 index 69899b9cb..000000000 --- a/extra/cups/cups-no-gzip-man.patch.16 +++ /dev/null @@ -1,18 +0,0 @@ -diff -up cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man cups-1.5b1/config-scripts/cups-manpages.m4 ---- cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man 2011-05-12 07:21:56.000000000 +0200 -+++ cups-1.5b1/config-scripts/cups-manpages.m4 2011-05-23 17:25:50.000000000 +0200 -@@ -69,10 +69,10 @@ case "$uname" in - ;; - Linux* | GNU* | Darwin*) - # Linux, GNU Hurd, and OS X -- MAN1EXT=1.gz -- MAN5EXT=5.gz -- MAN7EXT=7.gz -- MAN8EXT=8.gz -+ MAN1EXT=1 -+ MAN5EXT=5 -+ MAN7EXT=7 -+ MAN8EXT=8 - MAN8DIR=8 - ;; - *) diff --git a/extra/cvsps/call-cvs-q-option.patch b/extra/cvsps/call-cvs-q-option.patch deleted file mode 100644 index a754b7c60..000000000 --- a/extra/cvsps/call-cvs-q-option.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 49d7a3e44b54f18b0e2762d8dbb087ad4c2f0276 Mon Sep 17 00:00:00 2001 -From: Yann Dirson -Date: Thu, 15 Jun 2006 09:48:08 +0200 -Subject: [PATCH] Call cvs with -q flag when fetching the log - -This gets rid of the neverending output polution cvs sends to stderr, -which is mostly useless and has a strong potential to hide real problem -reports ---- - cvsps.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cvsps.c b/cvsps.c -index d94dfe0..be700ba 100644 ---- a/cvsps.c -+++ b/cvsps.c -@@ -301,12 +301,12 @@ static void load_from_cvs() - * which is necessary to fill in the pre_rev stuff for a - * PatchSetMember - */ -- snprintf(cmd, BUFSIZ, "cvs %s %s %s -d '%s<;%s' %s", compress_arg, norc, ltype, date_str, date_str, use_rep_buff); -+ snprintf(cmd, BUFSIZ, "cvs %s %s -q %s -d '%s<;%s' %s", compress_arg, norc, ltype, date_str, date_str, use_rep_buff); - } - else - { - date_str[0] = 0; -- snprintf(cmd, BUFSIZ, "cvs %s %s %s %s", compress_arg, norc, ltype, use_rep_buff); -+ snprintf(cmd, BUFSIZ, "cvs %s %s -q %s %s", compress_arg, norc, ltype, use_rep_buff); - } - - debug(DEBUG_STATUS, "******* USING CMD %s", cmd); --- -1.6.5.GIT - diff --git a/extra/cvsps/cvsps-2.2b1-bufferoverflow.patch b/extra/cvsps/cvsps-2.2b1-bufferoverflow.patch deleted file mode 100644 index 2a82cd4e0..000000000 --- a/extra/cvsps/cvsps-2.2b1-bufferoverflow.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- cvsps-2.2b1/cvsps.c 2010-09-07 18:13:42.760727491 +0200 -+++ cvsps-2.2b1_/cvsps.c 2010-09-07 18:05:11.083729441 +0200 -@@ -1065,17 +1065,16 @@ static CvsFile * parse_file(const char * - { - CvsFile * retval; - char fn[PATH_MAX]; -- int len = strlen(buff + 10); -+ size_t len = strlen(buff + 10); - char * p; - - /* once a single file has been parsed ok we set this */ - static int path_ok; -- -+ - /* chop the ",v" string and the "LF" */ - len -= 3; - memcpy(fn, buff + 10, len); - fn[len] = 0; -- - if (strncmp(fn, strip_path, strip_path_len) != 0) - { - /* if the very first file fails the strip path, -@@ -1096,10 +1095,10 @@ static CvsFile * parse_file(const char * - - while ((p = strstr(p, repository_path))) - lastp = p++; -- -+ - if (lastp) - { -- int len = strlen(repository_path); -+ size_t len = strlen(repository_path); - memcpy(strip_path, fn, lastp - fn + len + 1); - strip_path_len = lastp - fn + len + 1; - strip_path[strip_path_len] = 0; -@@ -1114,16 +1113,26 @@ static CvsFile * parse_file(const char * - * - * For now just ignore such files - */ -- debug(DEBUG_APPMSG1, "WARNING: file %s doesn't match strip_path %s. ignoring", -+ debug(DEBUG_APPMSG1, "WARNING: file %s doesn't match strip_path %s. ignoring", - fn, strip_path); - return NULL; - } - - ok: -- path_ok = 1; -- -+ /* -+ fix for rhbz#576076 -+ ./cvsps --norc -q --cvs-direct -u -A --root :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot NSS -+ */ -+ if(len <= strip_path_len) -+ { -+ debug(DEBUG_APPMSG1, "WARNING: file %s doesn't match strip_path %s. ignoring", -+ fn, strip_path); -+ return NULL; -+ } - /* remove from beginning the 'strip_path' string */ - len -= strip_path_len; -+ path_ok = 1; -+ - memmove(fn, fn + strip_path_len, len); - fn[len] = 0; - diff --git a/extra/cvsps/cvsps-2.2b1-dynamic-logbuf.patch b/extra/cvsps/cvsps-2.2b1-dynamic-logbuf.patch deleted file mode 100644 index 03e4e7672..000000000 --- a/extra/cvsps/cvsps-2.2b1-dynamic-logbuf.patch +++ /dev/null @@ -1,133 +0,0 @@ -# From: http://ydirson.free.fr/soft/git/cvsps.git - -commit 76a9c2aaa0d2957de0bc8f0c0b994abfd1645a50 -Author: David D. Kilzer -Date: Mon Jun 20 01:04:34 2005 +0200 - - Dynamically allocate the log buffer to prevent warning messages - - On anoncvs.opensource.apple.com (Apple's anonymous CVS server for - WebKit), some very long log entries were included in CVS. I got tired - of cvsps-2.1 truncating them, so I made the 'logbuff' buffer be - dynamically allocated. - -diff --git i/cache.c w/cache.c -index 4c51cf7..01a8ed3 100644 ---- i/cache.c -+++ w/cache.c -@@ -108,10 +108,19 @@ time_t read_cache() - int tag_flags = 0; - char branchbuff[LOG_STR_MAX] = ""; - int branch_add = 0; -- char logbuff[LOG_STR_MAX] = ""; -+ int logbufflen = LOG_STR_MAX + 1; -+ char * logbuff = malloc(logbufflen); - time_t cache_date = -1; - int read_version; - -+ if (logbuff == NULL) -+ { -+ debug(DEBUG_SYSERROR, "could not malloc %d bytes for logbuff in read_cache", logbufflen); -+ exit(1); -+ } -+ -+ logbuff[0] = 0; -+ - if (!(fp = cache_open("r"))) - goto out; - -@@ -299,8 +308,19 @@ time_t read_cache() - else - { - /* Make sure we have enough in the buffer */ -- if (strlen(logbuff)+strlen(buff)= LOG_STR_MAX) -+ { -+ logbufflen += (len >= LOG_STR_MAX ? (len+1) : LOG_STR_MAX); -+ char * newlogbuff = realloc(logbuff, logbufflen); -+ if (newlogbuff == NULL) -+ { -+ debug(DEBUG_SYSERROR, "could not realloc %d bytes for logbuff in read_cache", logbufflen); -+ exit(1); -+ } -+ logbuff = newlogbuff; -+ } -+ strcat(logbuff, buff); - } - break; - case CACHE_NEED_PS_MEMBERS: -@@ -332,6 +352,7 @@ time_t read_cache() - out_close: - fclose(fp); - out: -+ free(logbuff); - return cache_date; - } - -diff --git i/cvsps.c w/cvsps.c -index f0e7d29..db28d7c 100644 ---- i/cvsps.c -+++ w/cvsps.c -@@ -269,7 +269,8 @@ static void load_from_cvs() - PatchSetMember * psm = NULL; - char datebuff[26]; - char authbuff[AUTH_STR_MAX]; -- char logbuff[LOG_STR_MAX + 1]; -+ int logbufflen = LOG_STR_MAX + 1; -+ char * logbuff = malloc(logbufflen); - int loglen = 0; - int have_log = 0; - char cmd[BUFSIZ]; -@@ -277,6 +278,12 @@ static void load_from_cvs() - char use_rep_buff[PATH_MAX]; - char * ltype; - -+ if (logbuff == NULL) -+ { -+ debug(DEBUG_SYSERROR, "could not malloc %d bytes for logbuff in load_from_cvs", logbufflen); -+ exit(1); -+ } -+ - if (!no_rlog && !test_log_file && cvs_check_cap(CAP_HAVE_RLOG)) - { - ltype = "rlog"; -@@ -484,25 +491,22 @@ static void load_from_cvs() - */ - if (have_log || !is_revision_metadata(buff)) - { -- /* if the log buffer is full, that's it. -- * -- * Also, read lines (fgets) always have \n in them -- * (unless truncation happens) -- * which we count on. So if truncation happens, -- * be careful to put a \n on. -- * -- * Buffer has LOG_STR_MAX + 1 for room for \0 if -- * necessary -- */ -- if (loglen < LOG_STR_MAX) -+ /* If the log buffer is full, try to reallocate more. */ -+ if (loglen < logbufflen) - { - int len = strlen(buff); - -- if (len >= LOG_STR_MAX - loglen) -+ if (len >= logbufflen - loglen) - { -- debug(DEBUG_APPMSG1, "WARNING: maximum log length exceeded, truncating log"); -- len = LOG_STR_MAX - loglen; -- buff[len - 1] = '\n'; -+ debug(DEBUG_STATUS, "reallocating logbufflen to %d bytes for file %s", logbufflen, file->filename); -+ logbufflen += (len >= LOG_STR_MAX ? (len+1) : LOG_STR_MAX); -+ char * newlogbuff = realloc(logbuff, logbufflen); -+ if (newlogbuff == NULL) -+ { -+ debug(DEBUG_SYSERROR, "could not realloc %d bytes for logbuff in load_from_cvs", logbufflen); -+ exit(1); -+ } -+ logbuff = newlogbuff; - } - - debug(DEBUG_STATUS, "appending %s to log", buff); diff --git a/extra/cvsps/cvsps-2.2b1-man.patch b/extra/cvsps/cvsps-2.2b1-man.patch deleted file mode 100644 index 3e6816fd5..000000000 --- a/extra/cvsps/cvsps-2.2b1-man.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up cvsps-2.2b1/cvsps.1~ cvsps-2.2b1/cvsps.1 ---- cvsps-2.2b1/cvsps.1~ 2008-04-02 04:18:44.000000000 +0300 -+++ cvsps-2.2b1/cvsps.1 2010-05-18 21:10:39.000000000 +0300 -@@ -11,7 +11,7 @@ to a collection of files, and all commit - single 'cvs commit' command). This information is valuable to seeing the - big picture of the evolution of a cvs project. While cvs tracks revision - information, it is often difficult to see what changes were committed --'atomically' to the repository. -+\'atomically' to the repository. - .SH OPTIONS - .TP - .B \-h -@@ -83,7 +83,7 @@ some hacks which are not generally appli - disable the use of rlog internally. Note: rlog is - required for stable PatchSet numbering. Use with care. - .TP --.B \-\-diffs\-opts