summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreroen <eroen-overlay@occam.eroen.eu>2016-10-14 18:19:50 +0200
committereroen <eroen-overlay@occam.eroen.eu>2016-10-14 18:32:42 +0200
commit5f442cbba55677adc5996c0fbf081e6e76cdefa2 (patch)
treeeb92935d4189546a03777f3b0e602d7432e0b5ab
parentsteam.eclass - make variable names consistent (diff)
downloaderoen-5f442cbba55677adc5996c0fbf081e6e76cdefa2.tar.gz
eroen-5f442cbba55677adc5996c0fbf081e6e76cdefa2.tar.bz2
eroen-5f442cbba55677adc5996c0fbf081e6e76cdefa2.zip
drop obsolete packages, fix oldcruft
-rw-r--r--app-cdr/k3b/Manifest1
-rw-r--r--app-cdr/k3b/files/k3b-2.0.2-ffmpeg2.patch19
-rw-r--r--app-cdr/k3b/k3b-2.0.2_p20140225.ebuild106
-rw-r--r--app-cdr/k3b/metadata.xml9
-rw-r--r--app-office/libreoffice/Manifest33
-rw-r--r--app-office/libreoffice/files/Make-the-SAL_STREAM-thing-compile.patch28
-rw-r--r--app-office/libreoffice/files/Nah-we-still-need-the-dynamic_cast.patch32
-rw-r--r--app-office/libreoffice/files/No-need-for-a-buggy-rewrite.patch46
-rw-r--r--app-office/libreoffice/files/cppcheck-fix-duplicateExpression.patch27
-rw-r--r--app-office/libreoffice/files/disable-uno-test.patch14
-rw-r--r--app-office/libreoffice/files/eliminate-type-ambiguity-for-std-accumulate.patch38
-rw-r--r--app-office/libreoffice/files/fake-exception-name2.patch48
-rw-r--r--app-office/libreoffice/files/i122208-replace-the-binaryurp-cache.patch234
-rw-r--r--app-office/libreoffice/files/libreoffice-3.7-separate-checks.patch48
-rw-r--r--app-office/libreoffice/files/libreoffice-3.7-system-pyuno.patch44
-rw-r--r--app-office/libreoffice/files/libreoffice-4.1.0.4-neon-build.patch51
-rw-r--r--app-office/libreoffice/files/libreoffice-4.1.2.2-idfattrib.patch15
-rw-r--r--app-office/libreoffice/files/stop-messing-with-stdlib-internals.patch61
-rw-r--r--app-office/libreoffice/files/stop-messing-with-stdlib-internals2.patch75
-rw-r--r--app-office/libreoffice/libreoffice-4.0.4.2.ebuild582
-rw-r--r--app-office/libreoffice/libreoffice-4.1.2.2-r1.ebuild598
-rw-r--r--app-office/libreoffice/libreoffice-4.1.2.3.ebuild596
-rw-r--r--app-office/libreoffice/metadata.xml20
-rw-r--r--dev-cpp/clucene/Manifest8
-rw-r--r--dev-cpp/clucene/clucene-2.3.3.4-r5.ebuild65
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-add-missing-include-pthread-h.patch24
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-contrib.patch42
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-libc-disambiguate-typedefs.patch24
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-pkgconfig.patch12
-rw-r--r--dev-cpp/clucene/files/series2
-rw-r--r--dev-cpp/clucene/metadata.xml5
-rw-r--r--dev-db/mysql/Manifest2
-rw-r--r--dev-db/mysql/files/my.cnf-5.6141
-rw-r--r--dev-db/mysql/metadata.xml25
-rw-r--r--dev-db/mysql/mysql-5.6.21-r1.ebuild140
-rw-r--r--dev-db/postgis/Manifest2
-rw-r--r--dev-db/postgis/files/postgis-2.0-arflags.patch18
-rw-r--r--dev-db/postgis/files/postgis-2.1-ldflags.patch26
-rw-r--r--dev-db/postgis/files/postgis-2.1-pkgconfig-json.patch125
-rw-r--r--dev-db/postgis/files/postgis-2.1.4-pkgconfig-json.patch128
-rw-r--r--dev-db/postgis/files/postgis_dbs49
-rw-r--r--dev-db/postgis/metadata.xml9
-rw-r--r--dev-db/postgis/postgis-2.1.1.ebuild298
-rw-r--r--dev-db/postgis/postgis-2.1.4.ebuild298
-rw-r--r--dev-lang/lua/Manifest6
-rw-r--r--dev-lang/lua/files/configure.in5
-rw-r--r--dev-lang/lua/files/lua-5.2-make.patch60
-rw-r--r--dev-lang/lua/files/lua.pc31
-rw-r--r--dev-lang/lua/lua-5.2.1.ebuild108
-rw-r--r--dev-lang/lua/metadata.xml13
-rw-r--r--dev-lang/ruby/Manifest4
-rw-r--r--dev-lang/ruby/metadata.xml40
-rw-r--r--dev-lang/ruby/ruby-1.8.7_p371.ebuild194
-rw-r--r--dev-libs/oocairo/Manifest2
-rw-r--r--dev-libs/oocairo/oocairo-9999.ebuild30
-rw-r--r--dev-python/beaker/Manifest2
-rw-r--r--dev-python/beaker/beaker-9999.ebuild57
-rw-r--r--dev-python/beaker/metadata.xml8
-rw-r--r--dev-python/cffi/Manifest1
-rw-r--r--dev-python/cffi/cffi-0.8.6.ebuild37
-rw-r--r--dev-python/cffi/metadata.xml8
-rw-r--r--dev-python/mako/Manifest2
-rw-r--r--dev-python/mako/files/test-fix.patch11
-rw-r--r--dev-python/mako/mako-0.9.0.ebuild43
-rw-r--r--dev-python/mako/mako-0.9.1.ebuild44
-rw-r--r--dev-python/mako/metadata.xml7
-rw-r--r--dev-python/python-elementary/metadata.xml4
-rw-r--r--dev-python/python-evas/metadata.xml4
-rw-r--r--eclass/mysql-multilib.eclass923
-rw-r--r--games-emulation/psemu-padjoy/metadata.xml1
-rw-r--r--games-misc/bsd-games/Manifest2
-rw-r--r--games-misc/bsd-games/bsd-games-2.17-r5.ebuild139
-rw-r--r--games-misc/bsd-games/files/bsd-games-2.17-64bitutmp.patch21
-rw-r--r--games-misc/bsd-games/files/bsd-games-2.17-bg.patch22
-rw-r--r--games-misc/bsd-games/files/bsd-games-2.17-gcc4.patch34
-rw-r--r--games-misc/bsd-games/files/bsd-games-2.17-headers.patch16
-rw-r--r--games-misc/bsd-games/files/config.params-gentoo39
-rw-r--r--games-misc/bsd-games/metadata.xml4
-rw-r--r--games-puzzle/typerider/metadata.xml2
-rw-r--r--games-rpg/farsky/metadata.xml2
-rw-r--r--games-simulation/dwarffortress/dwarffortress-0.42.04.ebuild2
-rw-r--r--games-simulation/lincity-ng/Manifest1
-rw-r--r--games-simulation/lincity-ng/lincity-ng-2.0.ebuild48
-rw-r--r--kde-base/kdebase-meta/kdebase-meta-4.14.3.ebuild63
-rw-r--r--kde-base/kdebase-meta/metadata.xml9
-rw-r--r--kde-base/kdebase-runtime-meta/kdebase-runtime-meta-4.13.0.ebuild50
-rw-r--r--kde-base/kdebase-runtime-meta/metadata.xml4
-rw-r--r--kde-base/kwalletd/Manifest1
-rw-r--r--kde-base/kwalletd/kwalletd-4.13.0.ebuild32
-rw-r--r--kde-base/kwalletd/metadata.xml4
-rw-r--r--lxde-base/lxde-meta/metadata.xml1
-rw-r--r--media-gfx/blender/metadata.xml107
-rw-r--r--media-gfx/gimp/Manifest2
-rw-r--r--media-gfx/gimp/files/gimp-2.7.4-no-deprecation.patch36
-rw-r--r--media-gfx/gimp/files/gimp-2.8.10-clang.patch204
-rw-r--r--media-gfx/gimp/files/gimp-2.8.10-freetype251.patch26
-rw-r--r--media-gfx/gimp/gimp-2.8.10-r1.ebuild169
-rw-r--r--media-gfx/gimp/gimp-2.8.14.ebuild168
-rw-r--r--media-gfx/gimp/metadata.xml9
-rw-r--r--media-gfx/pqiv/Manifest4
-rw-r--r--media-gfx/pqiv/files/pqiv-2.0-ldflags.patch11
-rw-r--r--media-gfx/pqiv/metadata.xml11
-rw-r--r--media-gfx/pqiv/pqiv-2.0.ebuild48
-rw-r--r--media-libs/fmod/Manifest5
-rw-r--r--media-libs/fmod/metadata.xml1
-rw-r--r--media-plugins/audacious-plugins/Manifest1
-rw-r--r--media-plugins/audacious-plugins/audacious-plugins-3.5.1.ebuild120
-rw-r--r--media-plugins/audacious-plugins/metadata.xml14
-rw-r--r--net-dialup/slirp/metadata.xml (renamed from dev-libs/oocairo/metadata.xml)6
-rw-r--r--net-libs/opal/metadata.xml62
-rw-r--r--net-p2p/transmission/Manifest2
-rw-r--r--net-p2p/transmission/files/.transmission-2.73-bind-to-interface.patch.swpbin20480 -> 0 bytes
-rw-r--r--net-p2p/transmission/files/transmission-2.73-bind-to-interface.patch2216
-rw-r--r--net-p2p/transmission/files/transmission-2.73-build-failure.patch23
-rw-r--r--net-p2p/transmission/files/transmission-2.76-bind-to-interface.patch2207
-rw-r--r--net-p2p/transmission/files/transmission-2.76-build-failure.patch23
-rw-r--r--net-p2p/transmission/files/transmission-daemon.confd.314
-rw-r--r--net-p2p/transmission/files/transmission-daemon.initd.873
-rw-r--r--net-p2p/transmission/metadata.xml9
-rw-r--r--net-p2p/transmission/transmission-2.73.ebuild183
-rw-r--r--net-p2p/transmission/transmission-2.76.ebuild145
-rw-r--r--net-print/foo2zjs/metadata.xml1
-rw-r--r--sys-fs/bedup/Manifest2
-rw-r--r--sys-fs/bedup/bedup-0.0.8.ebuild38
-rw-r--r--sys-fs/bedup/bedup-0.9.0.ebuild31
-rw-r--r--sys-fs/bedup/bedup-0.9.0_p20130806.ebuild43
-rw-r--r--sys-fs/bedup/bedup-0.9.0_p20140412.ebuild67
l---------sys-fs/bedup/bedup-0.9.0_p20140413.ebuild1
-rw-r--r--sys-fs/bedup/files/20140412-use-var-db-bedup-for-db-drop-xdg-dependency.patch46
-rw-r--r--sys-fs/bedup/files/use-var-db-bedup-for-db-drop-xdg-dependency.patch46
-rw-r--r--sys-fs/bedup/metadata.xml14
-rw-r--r--sys-fs/libeatmydata/Manifest2
-rw-r--r--sys-fs/libeatmydata/libeatmydata-65.ebuild34
-rw-r--r--sys-fs/libeatmydata/libeatmydata-82.ebuild34
-rw-r--r--sys-fs/libeatmydata/libeatmydata-82.ebuild.orig30
-rw-r--r--sys-fs/libeatmydata/metadata.xml12
-rw-r--r--sys-libs/libfaketime/metadata.xml7
-rw-r--r--sys-process/ftop/Manifest3
-rw-r--r--sys-process/ftop/ftop-1.0.ebuild29
-rw-r--r--sys-process/ftop/metadata.xml7
-rw-r--r--www-apps/nikola/metadata.xml20
-rw-r--r--x11-misc/xautolock/Manifest3
-rw-r--r--x11-misc/xautolock/metadata.xml5
-rw-r--r--x11-misc/xautolock/xautolock-2.2.ebuild41
-rw-r--r--x11-terms/terminology/Manifest3
-rw-r--r--x11-terms/terminology/metadata.xml10
-rw-r--r--x11-terms/terminology/terminology-0.3.50.9999.ebuild29
-rw-r--r--x11-terms/terminology/terminology-9999.ebuild27
-rw-r--r--x11-wm/dwm/Manifest16
-rw-r--r--x11-wm/dwm/dwm-6.0.ebuild78
-rw-r--r--x11-wm/dwm/files/dwm-session211
-rw-r--r--x11-wm/dwm/files/dwm.desktop8
-rw-r--r--x11-wm/dwm/files/unicode.html45
-rw-r--r--x11-wm/dwm/metadata.xml6
154 files changed, 97 insertions, 12860 deletions
diff --git a/app-cdr/k3b/Manifest b/app-cdr/k3b/Manifest
deleted file mode 100644
index 87c9f70..0000000
--- a/app-cdr/k3b/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST k3b-2.0.2_p20140225.tar.xz 6297620 SHA256 562ea4335babd018e46d1d2bcc7567320ca8a888fb03562d4c14222dc2b68c33 SHA512 8d3450b4df42df9eef619b8ba05258e9e98d1197be4472f6b19d467c8c1d91436aacbf59d36c773d6576f3b179601dccff4cae695a73fada3504410c7f26af35 WHIRLPOOL e5d5bd692423027f40c7e6ff0ef7d27a518e95402f09988e7b8417bcb2dda9b9cdb187c033c006f27c3dac9fe34e3ba0e5d85e26c4ddd2fcb82a1065f4b58ad7
diff --git a/app-cdr/k3b/files/k3b-2.0.2-ffmpeg2.patch b/app-cdr/k3b/files/k3b-2.0.2-ffmpeg2.patch
deleted file mode 100644
index 5c34e08..0000000
--- a/app-cdr/k3b/files/k3b-2.0.2-ffmpeg2.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=476494
-
-A better patch using avcodec_decode_audio4 will be needed but for now this
-fixes the problem.
-
-Index: k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-===================================================================
---- k3b-2.0.2.orig/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-+++ k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-@@ -37,6 +37,9 @@ extern "C" {
-
- #include <klocale.h>
-
-+#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
-+#define AVCODEC_MAX_AUDIO_FRAME_SIZE (192000 * 4)
-+#endif
-
- #if LIBAVFORMAT_BUILD < 4629
- #define FFMPEG_BUILD_PRE_4629
diff --git a/app-cdr/k3b/k3b-2.0.2_p20140225.ebuild b/app-cdr/k3b/k3b-2.0.2_p20140225.ebuild
deleted file mode 100644
index 751819f..0000000
--- a/app-cdr/k3b/k3b-2.0.2_p20140225.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-cdr/k3b/k3b-2.0.2_p20140225.ebuild,v 1.1 2014/02/25 16:53:57 creffett Exp $
-
-EAPI=5
-
-MULTIMEDIA_REQUIRED="always"
-WEBKIT_REQUIRED="always"
-KDE_HANDBOOK="optional"
-KDE_SCM="git"
-
-# Translations are not available, since this is a snapshot
-#KDE_LINGUAS="ast be bg ca ca@valencia cs csb da de el en_GB eo es et eu fi fr ga
-#gl he hi hne hr hu is it ja km ko ku lt mai nb nds nl nn oc pa pl pt pt_BR ro ru
-#se sk sl sv th tr uk zh_CN zh_TW"
-
-SRC_URI="http://dev.gentoo.org/~creffett/distfiles/${P}.tar.xz"
-DOCS=( FAQ.txt PERMISSIONS.txt README.txt )
-
-inherit kde4-base
-
-DESCRIPTION="The CD/DVD Kreator for KDE"
-HOMEPAGE="http://www.k3b.org/"
-
-LICENSE="GPL-2 FDL-1.2"
-SLOT="4"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="debug dvd emovix encode ffmpeg flac mad mp3 musepack sndfile sox taglib vcd vorbis"
-
-DEPEND="
- $(add_kdebase_dep libkcddb)
- media-libs/libsamplerate
- dvd? ( media-libs/libdvdread )
- ffmpeg? ( virtual/ffmpeg )
- flac? ( >=media-libs/flac-1.2[cxx] )
- mp3? ( media-sound/lame )
- mad? ( media-libs/libmad )
- musepack? ( >=media-sound/musepack-tools-444 )
- sndfile? ( media-libs/libsndfile )
- taglib? ( >=media-libs/taglib-1.5 )
- vorbis? ( media-libs/libvorbis )
-"
-RDEPEND="${DEPEND}
- $(add_kdebase_dep kdelibs 'udev')
- app-cdr/cdrdao
- media-sound/cdparanoia
- virtual/cdrtools
- dvd? (
- >=app-cdr/dvd+rw-tools-7
- encode? ( media-video/transcode[dvd] )
- )
- emovix? ( media-video/emovix )
- sox? ( media-sound/sox )
- vcd? ( media-video/vcdimager )
-"
-
-DOCS+=( ChangeLog )
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.0.2-ffmpeg2.patch"
-)
-
-REQUIRED_USE="
- mp3? ( encode )
- sox? ( encode )
-"
-
-src_configure() {
- mycmakeargs=(
- -DK3B_BUILD_API_DOCS=OFF
- -DK3B_BUILD_K3BSETUP=OFF
- -DK3B_BUILD_WAVE_DECODER_PLUGIN=ON
- -DK3B_ENABLE_HAL_SUPPORT=OFF
- -DK3B_ENABLE_MUSICBRAINZ=OFF
- $(cmake-utils_use debug K3B_DEBUG)
- $(cmake-utils_use dvd K3B_ENABLE_DVD_RIPPING)
- $(cmake-utils_use encode K3B_BUILD_EXTERNAL_ENCODER_PLUGIN)
- $(cmake-utils_use ffmpeg K3B_BUILD_FFMPEG_DECODER_PLUGIN)
- $(cmake-utils_use flac K3B_BUILD_FLAC_DECODER_PLUGIN)
- $(cmake-utils_use mp3 K3B_BUILD_LAME_ENCODER_PLUGIN)
- $(cmake-utils_use mad K3B_BUILD_MAD_DECODER_PLUGIN)
- $(cmake-utils_use musepack K3B_BUILD_MUSE_DECODER_PLUGIN)
- $(cmake-utils_use sndfile K3B_BUILD_SNDFILE_DECODER_PLUGIN)
- $(cmake-utils_use sox K3B_BUILD_SOX_ENCODER_PLUGIN)
- $(cmake-utils_use taglib K3B_ENABLE_TAGLIB)
- $(cmake-utils_use vorbis K3B_BUILD_OGGVORBIS_DECODER_PLUGIN)
- $(cmake-utils_use vorbis K3B_BUILD_OGGVORBIS_ENCODER_PLUGIN)
- )
- kde4-base_src_configure
-}
-
-pkg_postinst() {
- kde4-base_pkg_postinst
-
- echo
- elog "We don't install k3bsetup anymore because Gentoo doesn't need it."
- elog "If you get warnings on start-up, uncheck the \"Check system"
- elog "configuration\" option in the \"Misc\" settings window."
- echo
-
- local group=cdrom
- use kernel_linux || group=operator
- elog "Make sure you have proper read/write permissions on the cdrom device(s)."
- elog "Usually, it is sufficient to be in the ${group} group."
- echo
-}
diff --git a/app-cdr/k3b/metadata.xml b/app-cdr/k3b/metadata.xml
deleted file mode 100644
index 3ff95ab..0000000
--- a/app-cdr/k3b/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>kde</herd>
-<herd>media-optical</herd>
-<use>
- <flag name="emovix">Enable burning support for eMoviX images</flag>
-</use>
-</pkgmetadata>
diff --git a/app-office/libreoffice/Manifest b/app-office/libreoffice/Manifest
deleted file mode 100644
index 18cf6fb..0000000
--- a/app-office/libreoffice/Manifest
+++ /dev/null
@@ -1,33 +0,0 @@
-AUX Make-the-SAL_STREAM-thing-compile.patch 919 SHA256 c5bbc809fa159db87330576727fe1da13fba5f6cf27e5f5e89cdb82f9cbd3891 SHA512 c865c25c85567a96068747f2331817193de03326f0d56b740351d5c93dcc54986bb2ec897ea859d749ca9f12ce131d9b7a5a07a65d5a3f13e318ca75d58de91f WHIRLPOOL 76438d501bbc3d5816c0479125d7357680d07c4a3ce7f374fff65355827955bdaec3083a60e56654e515593c43928f162702239a2ba25d797d76094b34522bd9
-AUX Nah-we-still-need-the-dynamic_cast.patch 997 SHA256 55a5ff9b8f877fe522c27c1f8db0a93202030412be8cc2087026bd74753c4410 SHA512 9047f3c6d3530c02a8f3d924b48daf77dc9d0d04d5f219bbf1e7c83b4a2a2d8d47f0d4815364dd0e8aef32fcdb2fa25b13d190a283164ee28205b84052874544 WHIRLPOOL d6c836862ff97ef0dca0394105735d6236a6f2411acb0d29389dc948279640ac01ff5b8aadea0d2a89cbdac30d4c0ea4f25c32208b0755857e5d7098ebfe848c
-AUX No-need-for-a-buggy-rewrite.patch 1867 SHA256 188cd24434f7dad88d49f2d62324be641e4d6beb9613f55099b2c88b3746518b SHA512 1c322d5aa21adb72a66d53a2d739f19e8bdab02c4e05cdcec1db574414c2e9a1014f80eb84c854d29398447a93c4b41f7150e0e12b920d4afdaa87b93060ca11 WHIRLPOOL c9913b9cb517d418fbdf4d8f78f5530287c0105251659af80d818a387456fe0c2a7ea20c49ffdf6817f974e48864ffbe80eef09529f12ff98c240b2f9a4c8115
-AUX cppcheck-fix-duplicateExpression.patch 1119 SHA256 0b9e4f5d37d1ad8c43f94df395f4011fab03a759d127a67a8b895c66d3b36f33 SHA512 cbc230442e283e814283be39c8ae150ddaff76db2d6ce13887f6f9fef3766de472ede7d7d22fe26b9b40ed0bb1e4b23a8429c16abb17a007a6557c4248aaf391 WHIRLPOOL fa8ce9b6937d5ad6bcf75cc20713f0739a73c2a04bf11f1e1d10abe4d2c4e19d8d68ce172abbddac4546ef1b0af1a3da3dae5eb61f92bf4c5d9d4469173fd193
-AUX disable-uno-test.patch 340 SHA256 6a1ba7096375416b5ebee4253bdfd1445f5072f3377455d57a33232b1b4887b0 SHA512 b647d6a87a5cae253400e086a53eda139bd9c5a2affc0ead4613e16c67cf1ff6ca5b6ac863a3951c7e13a559383b1f025c0e170a9e0a0618625289d3fc91b541 WHIRLPOOL 32aaeca9098749c94bb2f671c36bf7227406b6a221eb8d252826e64fff9b7a83cd72b27f04369d458b4de7c2552fd147dfc5e9c0036e3a9770c52e2ea15f8acc
-AUX eliminate-type-ambiguity-for-std-accumulate.patch 1617 SHA256 eace41e236379c320f940b76c84b7e612f694d2d1c779432261d78d39b2aff32 SHA512 e53a0dc05011373806fe3b60a832ce8375de23f9ecb5b15c2699cb0e4e0bd6a6f8a2ea4bc79c065a54274c9ea236c322621b0a4173ad0adebbe4b30c30d9c668 WHIRLPOOL 2011fb1b291a49af71b031d78f9a7a23da302dff289ab2c9b0d478e03ff171090807df83b4a1a480fd2a5657f2f749be9b42d09aec650513e950757603a9b26d
-AUX fake-exception-name2.patch 1651 SHA256 f21083cae202e59a87c0c8f4b747e6c254fa16719d0db52cd8b39c526b55db77 SHA512 155dc573a097f66d742231be55eddab38c0beb6a342d95abe61d94a31516fdd3b3db2fe55e520089cf43fbd7cf3bafce74105eca0d1c23b78503ae4dc9b004d2 WHIRLPOOL 380c5dd4daa626e273e40138a2e30ca516afd17b05bb80d9e021dd436803765285c37c0d5ad26aa7e75119ea73b7d726bbd8167da9e74d828fce19246d871c3c
-AUX i122208-replace-the-binaryurp-cache.patch 8403 SHA256 e726928abc300cea245746823fc0c95ed198a758d591c3210a052887f8c7dcaf SHA512 9bbec361401d7560ccb09f11ee70c67a16065ba8fc5426073387e10bfe67f0e0dc0b3be75b181474d5ff018d3fa0a17d67d0fc6542fd484444abebbd525ec7b5 WHIRLPOOL 3b34abb7e79aa70fd1bc40864f62cf483b538521baa5e65fafb74304d02553a040ee92e3e61ecc4e7ca461f9489cbf496d677dc30f9526f2cfb470cecfcc4227
-AUX libreoffice-3.7-separate-checks.patch 1554 SHA256 d1128006f0e49cd0262a3c8e5f5251160929282cf65a5b560cde637346f7b724 SHA512 23f2d9587f5fdcfb1b59e9629d373b870a838003265cd48d88d1c6450e6d7e7bbb40df2b2ffc01efbe3cf14b9c5702174782797cfda152b7fcaa89eac7606314 WHIRLPOOL 0a3fe76cc8034a705a55886ac65242f3aa03a27d6905b7b1599295b97720321760884c2d2dedd6749d87dea9c769e34ade5f686e3c7e7d89900bec358f46ca04
-AUX libreoffice-3.7-system-pyuno.patch 1642 SHA256 191d2462c13947d63a3f2758ec26b4b5b7765d06f0454add1c471e9dccfa9016 SHA512 76d0b836f2b26c9cd3a0ad2b471d033c863ffc1eb593f28f1ebecaae30f205adb97b4b0a63483f93d2f32d5934480f580776e1ce83baf77e5bedee759112fb8d WHIRLPOOL efada275cfa123b2f3fd96a20057fab5a8f83c50e0d401df1af76d1eb017e5c7ceb74d0a5d8fd77352379be4a69b67f22d99a072213b5644012094a31f353da0
-AUX libreoffice-4.1.0.4-neon-build.patch 1953 SHA256 c54c39eab184d7507d22f83769185f0c174a90589baa36fbd6a6474d14349a21 SHA512 0074a85db007e36e80319882a45cb3cc756038e66be5be69af73f4f86f8e49b5ced46d28574b3daa126ed66cb1908fd80d803274e083cbd5b79590c5ab3271c6 WHIRLPOOL b9ca8b66d19a27d0c8359ffb3ba77b1dc035ccae7acd4aef2a11ab32830a48197f4fc217cb3f15be35f0fc2a0e61feebd13dc1cbc5ca7359f94d39cdf06fa37b
-AUX libreoffice-4.1.2.2-idfattrib.patch 1086 SHA256 b41b26e4e8365fca2c8e07bd7d4bf3259d86bfe6e3bb2aef586892660681ffb1 SHA512 59ad9d8301cce1a0e2eca3bd30b3896c1c1c65e6c2583fcf5d3a64385c043629bbb4634ee2e1b47296b03ad8400fc550fd552fa52a08cfffe851e2535dac5a0b WHIRLPOOL ba25852dd1fbff85bc7e4efad72be1d7aed596f91fa1c07af9a0224c755f64c8cd437b8beb1e4b8a3d45860347ebaf68709d0b0a69bfc820216ad43817831d6c
-AUX stop-messing-with-stdlib-internals.patch 2772 SHA256 b62a948fac70a7ec446118cbe1e7256a0e0a500ea38cd513480fc5193395ede2 SHA512 f15fcbcaff056d2ce386c5650335f29cfbbd8c69f006b25f694e728b3cf9a68d631ad6a6bd69948f664a20605303e02c78263d1486538b9c18909260d3a0ee50 WHIRLPOOL 332066773155cb0d6df1eff1f86595af254d954d365fa353154b509ccfc2685e9aebd231d79cc653714a582f08950b83c2f2df45dbee983d5dc3109112ad93f7
-AUX stop-messing-with-stdlib-internals2.patch 3239 SHA256 699808f5d926f721272a7d95b0285f5b1625976f7eeb5a6dc5f3de7f643a715a SHA512 406409fa02f611570f9edffabad4c1eb28df669d97437919f5a57967a562c9b3ca495d873610e311740bfe1aaebea3db445aa4b4c4e1f28bcf4f4d3e91adb988 WHIRLPOOL aa7807e8e27024297612e85f26161eb24896b173226618a63b6528f751a8ad2ab8f60ba1e704e586178e067a2bad2c6a4e2df114a4bd9896743a22f48ac780fe
-DIST 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip 3519470 SHA256 d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370 SHA512 a231eba4a1baca11766ef292ab45e302081115477fe23018652882923308856835cf8c9ecba61a5cf22543474ccef3136965d794a90c9e4e9e6dcc21f9af6e1a WHIRLPOOL c4b3b0c3e10171155e1d3431e8ab9b495dbf2fb924882024306bfb53f533f5b0231c06f47e3cfa77052013a816ea4cc5f237cc76fdb44a048fb6d5c177729aec
-DIST 185d60944ea767075d27247c3162b3bc-unowinreg.dll 12288 SHA256 eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6 SHA512 854b8ae29b57b40ba6bb6ff66e723a0e8dad053fcc2849f0ad763cd8a31352f4aeba9636fd4e3f0f2a0cd985a6f49b4261b9ace68d6be821ed42cfa7a73eb13c WHIRLPOOL 16eb79e3674250fcb760b9698b4980414052d20f720d946701d1915c9b8915b4af75378668653d29581b77c19fcdba8f51d1f834c286cfcefcf4a420f8fcc1d5
-DIST 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz 1652670 SHA256 390a5085651828b8fe12aa978b200f59b9155eedbb91a4be89bf7cf39eefdd4a SHA512 5664203e6426880041cdb227e91f79f00d2ca7ae28c6997f61b72cc599aac55838d082d2b2b551bd7a228424c350ddea5d41599b8ca58d444a2cd46c9206ea91 WHIRLPOOL 6486c48b73a4f79760b443cfd397b704eca0fd32b72304ae7e7cfa0f43583b0af15c7384548b5215ae57513ed8366c8f3a74630ab466ba19a63b346af8c5eaca
-DIST 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip 9796 SHA256 64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1 SHA512 4a48f1e32907fb2dee601cda3cd7a0d7198b2d51f2a572b647f1e93f901fd511eef3567676e52dfb1723a2cdfbc01f2015ca0bb22903b0bc1476dd618cc9aa8a WHIRLPOOL a5156d06323699d2cbf539f14f5f44f54ebf33e86c7f14e98acd4c6e29c3e496f91dd6792401148ffa32e3dcb1cd4f087ed804e306b241cef86de0aa347d25d4
-DIST 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip 1521926 SHA256 1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753 SHA512 ec5ae23c8fe2f5efc377f7a9665039afadf28b4d8f2791379296766a5fbc9a3bf7548f9b0e3b3b07762229ec733a92ccbb69791ee0318c9c6f78f8e847253d3f WHIRLPOOL 8e446eb44188046b0e90694feba232f42c2e9f13d0f43783a18de37c94b86ff919b994931125c5d8001ecd320c1f4db5da482847304aa61646600a3bb33144b4
-DIST a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip 23150 SHA256 75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870 SHA512 2d3835f7ac356805025cafedcad97faa48d0f5da386e6ac7b7451030059df8e2fdb0861ade07a576ebf9fb5b88a973585ab0437944b06aac9289d6898ba8586a WHIRLPOOL 60b98d9af2c83c0cf12a5a60ba30957d335b8b967cac07971e1edbc787b9caecd4b3c5bb480e8b38fe8109c1cf74439ebafae130c976182c2c15399f38f5d28c
-DIST ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz 12735186 SHA256 dc6445d2c0445e5536010b80bd811adda6741ed82b288fe831d5be9902457941 SHA512 a8c39d205051a8f8abaecb7a6fdc0c2c37baf5eee2a082af8819555f442dab525649b86cae569048357eb1e6e651deff4b62183de417e15b403e1ac09c40ba7b WHIRLPOOL fd9b6bbd214113334d3d5e542bbc9b70d5a9505281454e7f4447c6c73af733e10b007a2d4225acb39db0fc17401c2ae36b6628c59d31f09bec485f4cfc009eb5
-DIST libreoffice-4.0.4.2.tar.xz 104213468 SHA256 5336734757f721139d6615eefed0249be1461e428e2e64f592ce3c36a661b154 SHA512 4d9c14df08e713b7928660983243354afa524f0f24b9c6b7b40f4711396418d960103519851f3dbc4288576ec7276d4c8acfd1d5bb60a2663a663f008f274596 WHIRLPOOL e432c4a6b6a27a621578154aff607a077e8f1ae32743d3ea45565b0e5d08a1b57b975c631c807c3fb496b4e88a0859a3c2bd0dac60b80dc2ccdc6452a8808a5a
-DIST libreoffice-4.1.2.2.tar.xz 121772464 SHA256 a8e88b511575efbf5e30cc356e4de6c2a5d8578815c1ff316208a64a1f9a43e0 SHA512 e161bd203e96adc7d0499f1a6bb5537db887e5266013f4cc608778c8c9da8bf9f8ebaf8c58ae871cadb06160e15664d9f29d5be348a5b4d7300df07695dbd260 WHIRLPOOL 5cbdd2a8afd72851383ac907f9510d54472a3a09cf2a4d6089ab8970fef5ddd740a1fbf8bb46c915eba88cb3d5ae0b946b9512c0abee84d485cdb9a1eaf75324
-DIST libreoffice-4.1.2.3.tar.xz 121781100 SHA256 29ee22adeb46333d86e5f621ceccfc66119b0c066cb20562303f1a7733a459f0 SHA512 7732fdc77cad442c0113c663d76da09dc36926c70c992a8afb625fe5658f7e2495ceaa10ce7d7d75ebadb4e7819d5cc17e3f9eeac9059647419a8c187f10ce60 WHIRLPOOL 87a78dbd45557a80309dc9af2d9c24e1687c0565163d5a8dda78c7ef06e4a93a3f4b01e4b92768142b3f1cec2b03408a882ecce20a359c9154f4f4dd04604a51
-DIST libreoffice-branding-gentoo-0.7.tar.xz 72556 SHA256 57912157fe8874f9d628dd971cb68941ad605f2d8beba05327e7ce7a721080be SHA512 fdfd8190c1155e95a8874f07d6893d94e28dd7482b195e22f704f4b1621ef76ee99e5ae1fcdb41c392d2e37e05da32830c42d47b4e62e14a9526d67ffd2d279f WHIRLPOOL 6c1886dfc31b918180b78797a41c0dff042ef4ddab50f284d9f9ee7aca7733dc73795dcad35262cf6c5608a5f99cf8d85a3a0d23316e15bb6650bdc437a4226b
-DIST libreoffice-branding-gentoo-0.8.tar.xz 151568 SHA256 22722121be062742624e0634beae92289c75e6a99ed507d3bf0a05c5164e3c69 SHA512 785031a699b1d1895ce4b50ffc3ddf645f3a0ef9acdf37facfd18cf75db9484cb8f53a50abb63d6006ead76a80b6ff5aa99661063245ebb84bd64013d713de7f WHIRLPOOL 1f36652a52d501d6548cfa9aa013b3e3a1867aa2b0693d2274cf7816d4aa4e0cde3c7096cc71ed47cf74e5f96da2757bf537f553021f8fd86939accb227bf538
-DIST libreoffice-help-4.0.4.2.tar.xz 1855588 SHA256 9d7f732760b24b6916266903913d7684d9b933640174b1e041d729914beb5a4e SHA512 848329df801dfba2b06006325371e7a51354bebe0e99ba98aca14d3e3882de0ccde902b440cb1e47984585350f7e4f48b779b36281d9844251e802245633bd30 WHIRLPOOL a7048fbddaa81eb0c97f86902054195c66f84babe42ac1e088338ba019b07283a9049b70554800224ad50ee9097b2e57b4493527177a9599d9251c42894da20f
-DIST libreoffice-help-4.1.2.2.tar.xz 1847828 SHA256 bd9d53a76e460f5d17ab8be230bfb48fea7f63a1e3178fec9cbe3702f4741f2a SHA512 0c8fa862bcf6e59036d2a1420cb2c245e2fe134a9e21130e04f1e5fdf7c1071a8ee1e26a3033e68abd3e15412a17759ba52aa70ee3d4a0178017ff6d25086ed3 WHIRLPOOL e271ff2f217714fc11625040d474c16739fad33469abc14192180d92c18c289243dc5615f438f8713851daff5c038ff49384aec84e08fe0ea350519edc28c9a7
-DIST libreoffice-help-4.1.2.3.tar.xz 1847696 SHA256 97724d05de5e8d22a3c248c0900d35031e9bd7757476c02b561e15e122822fe9 SHA512 76d178890bf28d47418123e0d6a3da6d5171af489e3fcf8df911df2fdbb8919407ab961f8ebffb7200ccee6da693f4258dc58fd7130bfe40e73ac349a5024bad WHIRLPOOL fcbc6c9ada537587d9ca93d48ca9453f1ea1f00bc838cbd3e18b436e8ffe24b1f08e2a3abd087e6aa9d616faac2cf58a69913cbf5b6211af4ec9b51107480bbb
-EBUILD libreoffice-4.0.4.2.ebuild 17574 SHA256 e3ecc2b8082aedfc973917d290289c220e9ea2c9b629367bb5d6a94f6038d8dc SHA512 dc97d984260f657f6bebbf0f2fd0bf26611746381a00d68fcc118481ba438cdd16ca5b12f92648978eb486940a45d0858af2a1111cfb1a6957bd71b16e13a999 WHIRLPOOL 9d0fa5e6e6bd772d9cfc99c41e4bd38f33cef0ee66a84fcfb7b06c65a43ab71adcd2b5cb5b64148e78b7c18a66e81531ff8212f5094547a7f3c38993ee92e882
-EBUILD libreoffice-4.1.2.2-r1.ebuild 18069 SHA256 0660b6e0dcab37815d7a6ea3a9bb33cce26cdc2d295f3f5c12b0d6cc36c2dff5 SHA512 b85db9f241ecbf68a2827537e1e78ef8da210a6aed0cc059aeac452d776d32c304c10701cd6bab04f4e3a3f856b1e9abfc3db680421b65c404fcb27f036197fc WHIRLPOOL ce2e6e3eeaa24a53b8503dd3b6b8db28cc4f61db5c093508693747e2d353d24fdd5a500eb68f82121becb6119971c9430627096f1487861aba3b1150fb3ae3d4
-EBUILD libreoffice-4.1.2.3.ebuild 18016 SHA256 31defb7e0f35a2d8461ac035857457c07e65aa95e5881e0a9e5f337b08a57e66 SHA512 b071609f1a08b383ab5b9688c6b26b172cc0283f6dd2cf968f8248ac765c8eee20ff41fd41bdcf5849160f97d16b781730c9eee9f2b2c8d8281d0cdf6fe2a0ae WHIRLPOOL a64e069af4458c93d4ec32483a13a747f101c4d8d6c3b9c795443c4340a40326bb6c47e963a5136a7a1109710721e1d641b48e255634973caae6e49c164ef9f2
-MISC metadata.xml 1146 SHA256 3843bebbfd99d50aace09728a59b120493877fb4955e8593a06c80a8948c82ad SHA512 4922de602185c8e7e6c6e163d4c4afac09a0172f9c7816248478574d675cc3b389405a0ca32ebff4dd30d1f6515f86b94813d6e794435f5c7c18b8295b64f816 WHIRLPOOL 30619f4e9983ce11ce7a82352c1efa2c2308fb9c74a945a0c1385f42d341a8f1556b33c587a3e3f3942eaa07745abf5836aaa3ed28d30085db7048284f0e49c9
diff --git a/app-office/libreoffice/files/Make-the-SAL_STREAM-thing-compile.patch b/app-office/libreoffice/files/Make-the-SAL_STREAM-thing-compile.patch
deleted file mode 100644
index 8dab36b..0000000
--- a/app-office/libreoffice/files/Make-the-SAL_STREAM-thing-compile.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 691b6ea8e100fc55f0ff70a82511722733113a07 Mon Sep 17 00:00:00 2001
-From: Tor Lillqvist <tml@iki.fi>
-Date: Tue, 28 May 2013 05:43:57 +0000
-Subject: Make the SAL_STREAM thing compile with clang++ -std=c++11 -stdlib=libc++
-
-Avoid error: dynamic_cast from rvalue to reference type
-'::std::ostringstream &'.
-
-Change-Id: If5ba1ee79616e81b12f9db67c61b4f085b30a08e
----
-(limited to 'include/sal/log.hxx')
-
-diff --git a/include/sal/log.hxx b/include/sal/log.hxx
-index 80721d0..ca3bb5e 100644
---- a/include/sal/log.hxx
-+++ b/include/sal/log.hxx
-@@ -158,8 +158,7 @@ inline char const * unwrapStream(SAL_UNUSED_PARAMETER StreamIgnore const &) {
- @since LibreOffice 3.5
- */
- #define SAL_STREAM(stream) \
-- (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream). \
-- str())
-+ (::std::ostringstream() << stream).str()
-
- /**
- @page sal_log Basic logging functionality.
---
-cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/Nah-we-still-need-the-dynamic_cast.patch b/app-office/libreoffice/files/Nah-we-still-need-the-dynamic_cast.patch
deleted file mode 100644
index 47e016e..0000000
--- a/app-office/libreoffice/files/Nah-we-still-need-the-dynamic_cast.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b2a50c70072d55d0055d41e6862138a6a06cb08d Mon Sep 17 00:00:00 2001
-From: Tor Lillqvist <tml@iki.fi>
-Date: Tue, 28 May 2013 06:12:27 +0000
-Subject: Nah, we still need the dynamic_cast in SAL_STREAM for gcc/libstdc++
-
-Not sure if MSVC would accept also the simpler thing, but anyway, the
-dynamic_cast works for it, too.
-
-Change-Id: I2dfa1e70b75bc17d38b5e95be0a0f1dd66767bf1
----
-(limited to 'include/sal/log.hxx')
-
-diff --git a/include/sal/log.hxx b/include/sal/log.hxx
-index ca3bb5e..23ea6f3 100644
---- a/include/sal/log.hxx
-+++ b/include/sal/log.hxx
-@@ -157,8 +157,13 @@ inline char const * unwrapStream(SAL_UNUSED_PARAMETER StreamIgnore const &) {
-
- @since LibreOffice 3.5
- */
-+#ifdef _LIBCPP_VERSION
- #define SAL_STREAM(stream) \
- (::std::ostringstream() << stream).str()
-+#else
-+#define SAL_STREAM(stream) \
-+ (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream).str())
-+#endif
-
- /**
- @page sal_log Basic logging functionality.
---
-cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/No-need-for-a-buggy-rewrite.patch b/app-office/libreoffice/files/No-need-for-a-buggy-rewrite.patch
deleted file mode 100644
index 51a4367..0000000
--- a/app-office/libreoffice/files/No-need-for-a-buggy-rewrite.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 12dc490c3af9ec0f34b513609f3b14effd5a2906 Mon Sep 17 00:00:00 2001
-From: Stephan Bergmann <sbergman@redhat.com>
-Date: Fri, 14 Jun 2013 12:18:11 +0000
-Subject: No need for a buggy rewrite
-
-... see 08bb8fca4144608237418d64b1479840c408256f "#i122208# replace the
-binaryurp cache for improved C++ compatibility" and
-059f041dfdffe0630ec573fb444c51cc463b90b1 "cppcheck: fix duplicateExpression,"
-when the only improvement is to not needlessly acquire/release raw rtl_uString
-instances.
-
-Change-Id: I734304b231d69f8089cbf1d35a3deda75f771c78
----
-(limited to 'binaryurp/source')
-
-diff --git a/binaryurp/source/lessoperators.cxx b/binaryurp/source/lessoperators.cxx
-index 3a515f5..6d8952d 100644
---- a/binaryurp/source/lessoperators.cxx
-+++ b/binaryurp/source/lessoperators.cxx
-@@ -32,16 +32,14 @@
-
- namespace com { namespace sun { namespace star { namespace uno {
-
--bool operator<( const TypeDescription& rLeft, const TypeDescription& rRight) {
-- assert( rLeft.is() && rRight.is());
-- const typelib_TypeDescription& rA = *rLeft.get();
-- const typelib_TypeDescription& rB = *rRight.get();
-- if( rA.eTypeClass != rB.eTypeClass)
-- return (rA.eTypeClass < rB.eTypeClass);
-- const sal_Int32 nCmp = rtl_ustr_compare_WithLength(
-- rA.pTypeName->buffer, rA.pTypeName->length,
-- rB.pTypeName->buffer, rB.pTypeName->length);
-- return (nCmp < 0);
-+bool operator <(TypeDescription const & left, TypeDescription const & right) {
-+ assert(left.is() && right.is());
-+ typelib_TypeClass tc1 = left.get()->eTypeClass;
-+ typelib_TypeClass tc2 = right.get()->eTypeClass;
-+ return tc1 < tc2 ||
-+ (tc1 == tc2 &&
-+ (OUString::unacquired(&left.get()->pTypeName) <
-+ OUString::unacquired(&right.get()->pTypeName)));
- }
-
- bool TypeDescEqual::operator()( const TypeDescription& rLeft, const TypeDescription& rRight) const
---
-cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/cppcheck-fix-duplicateExpression.patch b/app-office/libreoffice/files/cppcheck-fix-duplicateExpression.patch
deleted file mode 100644
index 4961156..0000000
--- a/app-office/libreoffice/files/cppcheck-fix-duplicateExpression.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 059f041dfdffe0630ec573fb444c51cc463b90b1 Mon Sep 17 00:00:00 2001
-From: Julien Nabet <serval2412@yahoo.fr>
-Date: Thu, 13 Jun 2013 19:27:26 +0000
-Subject: cppcheck: fix duplicateExpression
-
-Change-Id: If3b7b1faab858afa82d4c665ee1a5036190e69aa
-Reviewed-on: https://gerrit.libreoffice.org/4278
-Reviewed-by: Tomáš Chvátal <tchvatal@suse.cz>
-Tested-by: Tomáš Chvátal <tchvatal@suse.cz>
----
-(limited to 'binaryurp/source')
-
-diff --git a/binaryurp/source/lessoperators.cxx b/binaryurp/source/lessoperators.cxx
-index 55f3a49..3a515f5 100644
---- a/binaryurp/source/lessoperators.cxx
-+++ b/binaryurp/source/lessoperators.cxx
-@@ -36,7 +36,7 @@ bool operator<( const TypeDescription& rLeft, const TypeDescription& rRight) {
- assert( rLeft.is() && rRight.is());
- const typelib_TypeDescription& rA = *rLeft.get();
- const typelib_TypeDescription& rB = *rRight.get();
-- if( rA.eTypeClass != rA.eTypeClass)
-+ if( rA.eTypeClass != rB.eTypeClass)
- return (rA.eTypeClass < rB.eTypeClass);
- const sal_Int32 nCmp = rtl_ustr_compare_WithLength(
- rA.pTypeName->buffer, rA.pTypeName->length,
---
-cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/disable-uno-test.patch b/app-office/libreoffice/files/disable-uno-test.patch
deleted file mode 100644
index 8e92728..0000000
--- a/app-office/libreoffice/files/disable-uno-test.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/libreoffice-4.1.0.1/testtools/Module_testtools.mk 2013-07-13 22:04:00.717824708 +0200
-+++ b/libreoffice-4.1.0.1/testtools/Module_testtools.mk 2013-07-13 22:03:17.520527883 +0200
-@@ -34,10 +33,6 @@
- ))
- endif
-
--$(eval $(call gb_Module_add_check_targets,testtools,\
-- CustomTarget_uno_test \
--))
--
- endif
-
- # vim:set noet sw=4 ts=4:
-
diff --git a/app-office/libreoffice/files/eliminate-type-ambiguity-for-std-accumulate.patch b/app-office/libreoffice/files/eliminate-type-ambiguity-for-std-accumulate.patch
deleted file mode 100644
index 49d9d19..0000000
--- a/app-office/libreoffice/files/eliminate-type-ambiguity-for-std-accumulate.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 982462ac5c6df0c85ba6a0b3fbdaa80b38a94882 Mon Sep 17 00:00:00 2001
-From: Herbert Dürr <hdu@apache.org>
-Date: Tue, 16 Apr 2013 11:41:34 +0000
-Subject: eliminate type ambiguity for std::accumulate() invocation
-
-else clang/libc++ cannot decide between bool and a reference into a bit-vector
-specialization
-
-(cherry picked from commit 6a88a21257124d953637c4b8ead9c9771e15b899)
-
-Change-Id: I694bbad82b1a05ebe86c5c941f3ac85c71f5fc9e
----
-(limited to 'slideshow/source/engine/activities/activitiesfactory.cxx')
-
-diff --git a/slideshow/source/engine/activities/activitiesfactory.cxx b/slideshow/source/engine/activities/activitiesfactory.cxx
-index 2354e51..530a8fe 100644
---- a/slideshow/source/engine/activities/activitiesfactory.cxx
-+++ b/slideshow/source/engine/activities/activitiesfactory.cxx
-@@ -557,7 +557,7 @@ public:
- // interpolate between nIndex and nIndex+1 values
- (*mpAnim)(
- getPresentationValue(
-- accumulate( maValues.back(),
-+ accumulate<ValueType>( maValues.back(),
- mbCumulative ? nRepeatCount : 0,
- maInterpolator( maValues[ nIndex ],
- maValues[ nIndex+1 ],
-@@ -577,7 +577,7 @@ public:
- // this is discrete, thus no lerp here.
- (*mpAnim)(
- getPresentationValue(
-- accumulate( maValues.back(),
-+ accumulate<ValueType>( maValues.back(),
- mbCumulative ? nRepeatCount : 0,
- maValues[ nFrame ] ) ) );
- }
---
-cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/fake-exception-name2.patch b/app-office/libreoffice/files/fake-exception-name2.patch
deleted file mode 100644
index 4889a0a..0000000
--- a/app-office/libreoffice/files/fake-exception-name2.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-13 22:34:02.259338619 +0200
-+++ b/libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-13 22:33:59.621322848 +0200
-@@ -94,23 +94,25 @@
- #endif
-
- // example: N3com3sun4star4lang24IllegalArgumentExceptionE
-+ //char const *p2 = "N3com3sun4star4lang24IllegalArgumentExceptionE";
-+ char const *p2 = "N3com3sun4star4lang24IllegalArgumentExcepti00E";
-
- OUStringBuffer buf( 64 );
-- OSL_ASSERT( 'N' == *p );
-- ++p; // skip N
-+ OSL_ASSERT( 'N' == *p2 );
-+ ++p2; // skip N
-
-- while ('E' != *p)
-+ while ('E' != *p2)
- {
- // read chars count
-- long n = (*p++ - '0');
-- while ('0' <= *p && '9' >= *p)
-+ long n = (*p2++ - '0');
-+ while ('0' <= *p2 && '9' >= *p2)
- {
- n *= 10;
-- n += (*p++ - '0');
-+ n += (*p2++ - '0');
- }
-- buf.appendAscii( p, n );
-- p += n;
-- if ('E' != *p)
-+ buf.appendAscii( p2, n );
-+ p2 += n;
-+ if ('E' != *p2)
- buf.append( (sal_Unicode)'.' );
- }
-
-@@ -327,7 +329,8 @@
- }
-
- typelib_TypeDescription * pExcTypeDescr = 0;
-- OUString unoName( toUNOname( header->exceptionType->name() ) );
-+ //OUString unoName( toUNOname( header->exceptionType->name() ) );
-+ OUString unoName( toUNOname( "N3Xom3sun4star4lang24UnknownArgumentExcepti01E" ) );
- #if OSL_DEBUG_LEVEL > 1
- OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
- fprintf( stderr, "> c++ exception occurred: %s\n", cstr_unoName.getStr() );
-
diff --git a/app-office/libreoffice/files/i122208-replace-the-binaryurp-cache.patch b/app-office/libreoffice/files/i122208-replace-the-binaryurp-cache.patch
deleted file mode 100644
index b334456..0000000
--- a/app-office/libreoffice/files/i122208-replace-the-binaryurp-cache.patch
+++ /dev/null
@@ -1,234 +0,0 @@
-From 08bb8fca4144608237418d64b1479840c408256f Mon Sep 17 00:00:00 2001
-From: Herbert Dürr <hdu@apache.org>
-Date: Wed, 08 May 2013 17:26:08 +0000
-Subject: #i122208# replace the binaryurp cache for improved C++ compatibility
-
-Failing to instantiatie incomplete types like the Map::iterator in
-binaryurp Cache's Entry members is allowed by the C++ standard.
-The rewrite makes it more compliant with other C++ compilers/STLs.
-And interesting alternative would be to use boost's multi_index_container.
-
-git-svn-id: http://svn.apache.org/repos/asf/openoffice/branches/rejuvenate01@1480367 13f79535-47bb-0310-9956-ffa450edef68
----
-(limited to 'binaryurp/source')
-
-diff --git a/binaryurp/source/cache.hxx b/binaryurp/source/cache.hxx
-index 05c0069..7e5ba89 100644
---- a/binaryurp/source/cache.hxx
-+++ b/binaryurp/source/cache.hxx
-@@ -25,6 +25,7 @@
- #include <cassert>
- #include <cstddef>
- #include <map>
-+#include <list>
-
- #include "boost/noncopyable.hpp"
- #include "sal/types.h"
-@@ -37,88 +38,57 @@ enum { size = 256, ignore = 0xFFFF };
-
- }
-
--template< typename T > class Cache: private boost::noncopyable {
-+template< typename T > class Cache : private boost::noncopyable {
- public:
-+ typedef sal_uInt16 IdxType;
-+
- explicit Cache(std::size_t size):
-- size_(size), first_(map_.end()), last_(map_.end())
-+ size_(size)
- {
- assert(size < cache::ignore);
- }
-
-- sal_uInt16 add(T const & content, bool * found) {
-- assert(found != 0);
-- typename Map::iterator i(map_.find(content));
-- *found = i != map_.end();
-- if (i == map_.end()) {
-- typename Map::size_type n = map_.size();
-- if (n < size_) {
-- i =
-- (map_.insert(
-- typename Map::value_type(
-- content,
-- Entry(
-- static_cast< sal_uInt16 >(n), map_.end(),
-- first_)))).
-- first;
-- if (first_ == map_.end()) {
-- last_ = i;
-- } else {
-- first_->second.prev = i;
-- }
-- first_ = i;
-- } else if (last_ != map_.end()) {
-- i =
-- (map_.insert(
-- typename Map::value_type(
-- content,
-- Entry(last_->second.index, map_.end(), first_)))).
-- first;
-- first_->second.prev = i;
-- first_ = i;
-- typename Map::iterator j(last_);
-- last_ = last_->second.prev;
-- last_->second.next = map_.end();
-- map_.erase(j);
-- } else {
-- // Reached iff size_ == 0:
-- return cache::ignore;
-- }
-- } else if (i != first_) {
-- // Move to front (reached only if size_ > 1):
-- i->second.prev->second.next = i->second.next;
-- if (i->second.next == map_.end()) {
-- last_ = i->second.prev;
-- } else {
-- i->second.next->second.prev = i->second.prev;
-- }
-- i->second.prev = map_.end();
-- i->second.next = first_;
-- first_->second.prev = i;
-- first_ = i;
-- }
-- return i->second.index;
-+ IdxType add( const T& rContent, bool* pbFound) {
-+ assert( pbFound != NULL);
-+ if( !size_) {
-+ *pbFound = false;
-+ return cache::ignore;
-+ }
-+ // try to insert into the map
-+ list_.push_front( rContent); // create a temp entry
-+ typedef std::pair<typename LruList::iterator, IdxType> MappedType;
-+ typedef std::pair<typename LruItMap::iterator,bool> MapPair;
-+ MapPair aMP = map_.insert( MappedType( list_.begin(), 0));
-+ *pbFound = !aMP.second;
-+
-+ if( !aMP.second) { // insertion not needed => found the entry
-+ list_.pop_front(); // remove the temp entry
-+ list_.splice( list_.begin(), list_, aMP.first->first); // the found entry is moved to front
-+ return aMP.first->second;
-+ }
-+
-+ // test insertion successful => it was new so we keep it
-+ IdxType n = static_cast<IdxType>( map_.size() - 1);
-+ if( n >= size_) { // cache full => replace the LRU entry
-+ // find the least recently used element in the map
-+ typename LruItMap::iterator it = map_.find( --list_.end());
-+ n = it->second;
-+ map_.erase( it); // remove it from the map
-+ list_.pop_back(); // remove from the list
-+ }
-+ aMP.first->second = n;
-+ return n;
- }
-
- private:
-- struct Entry;
--
-- typedef std::map< T, Entry > Map;
--
-- struct Entry {
-- sal_uInt16 index;
-- typename Map::iterator prev;
-- typename Map::iterator next;
--
-- Entry(
-- sal_uInt16 theIndex, typename Map::iterator thePrev,
-- typename Map::iterator theNext):
-- index(theIndex), prev(thePrev), next(theNext) {}
-- };
-+ typedef std::list<T> LruList; // last recently used list
-+ typedef typename LruList::iterator LruListIt;
-+ struct CmpT{ bool operator()( const LruListIt& rA, const LruListIt& rB) const { return (*rA<*rB);}};
-+ typedef ::std::map< LruListIt, IdxType, CmpT > LruItMap; // a map into a LruList
-
- std::size_t size_;
-- Map map_;
-- typename Map::iterator first_;
-- typename Map::iterator last_;
-+ LruItMap map_;
-+ LruList list_;
- };
-
- }
-diff --git a/binaryurp/source/lessoperators.cxx b/binaryurp/source/lessoperators.cxx
-index b0031e7..55f3a49 100644
---- a/binaryurp/source/lessoperators.cxx
-+++ b/binaryurp/source/lessoperators.cxx
-@@ -32,14 +32,38 @@
-
- namespace com { namespace sun { namespace star { namespace uno {
-
--bool operator <(TypeDescription const & left, TypeDescription const & right) {
-- assert(left.is() && right.is());
-- typelib_TypeClass tc1 = left.get()->eTypeClass;
-- typelib_TypeClass tc2 = right.get()->eTypeClass;
-- return tc1 < tc2 ||
-- (tc1 == tc2 &&
-- (OUString(left.get()->pTypeName) <
-- OUString(right.get()->pTypeName)));
-+bool operator<( const TypeDescription& rLeft, const TypeDescription& rRight) {
-+ assert( rLeft.is() && rRight.is());
-+ const typelib_TypeDescription& rA = *rLeft.get();
-+ const typelib_TypeDescription& rB = *rRight.get();
-+ if( rA.eTypeClass != rA.eTypeClass)
-+ return (rA.eTypeClass < rB.eTypeClass);
-+ const sal_Int32 nCmp = rtl_ustr_compare_WithLength(
-+ rA.pTypeName->buffer, rA.pTypeName->length,
-+ rB.pTypeName->buffer, rB.pTypeName->length);
-+ return (nCmp < 0);
-+}
-+
-+bool TypeDescEqual::operator()( const TypeDescription& rLeft, const TypeDescription& rRight) const
-+{
-+ assert( rLeft.is() && rRight.is());
-+ const typelib_TypeDescription& rA = *rLeft.get();
-+ const typelib_TypeDescription& rB = *rRight.get();
-+ if( rA.eTypeClass != rB.eTypeClass)
-+ return false;
-+ const sal_Int32 nCmp = rtl_ustr_compare_WithLength(
-+ rA.pTypeName->buffer, rA.pTypeName->length,
-+ rB.pTypeName->buffer, rB.pTypeName->length);
-+ return (nCmp == 0);
-+}
-+
-+sal_Int32 TypeDescHash::operator()( const TypeDescription& rTD) const
-+{
-+ assert( rTD.is());
-+ const typelib_TypeDescription& rA = *rTD.get();
-+ sal_Int32 h = rtl_ustr_hashCode_WithLength( rA.pTypeName->buffer, rA.pTypeName->length);
-+ h ^= static_cast<sal_Int32>(rA.eTypeClass);
-+ return h;
- }
-
- } } } }
-@@ -47,8 +71,8 @@ bool operator <(TypeDescription const & left, TypeDescription const & right) {
- namespace rtl {
-
- bool operator <(ByteSequence const & left, ByteSequence const & right) {
-- for (sal_Int32 i = 0; i != std::min(left.getLength(), right.getLength());
-- ++i)
-+ const sal_Int32 nLen = std::min( left.getLength(), right.getLength());
-+ for( sal_Int32 i = 0; i < nLen; ++i )
- {
- if (left[i] < right[i]) {
- return true;
-diff --git a/binaryurp/source/lessoperators.hxx b/binaryurp/source/lessoperators.hxx
-index f3202b5..317e76a 100644
---- a/binaryurp/source/lessoperators.hxx
-+++ b/binaryurp/source/lessoperators.hxx
-@@ -31,6 +31,10 @@ namespace com { namespace sun { namespace star { namespace uno {
-
- bool operator <(TypeDescription const & left, TypeDescription const & right);
-
-+struct TypeDescHash { sal_Int32 operator()( const TypeDescription&) const; };
-+
-+struct TypeDescEqual { bool operator()( const TypeDescription&, const TypeDescription&) const; };
-+
- } } } }
-
- namespace rtl {
---
-cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/libreoffice-3.7-separate-checks.patch b/app-office/libreoffice/files/libreoffice-3.7-separate-checks.patch
deleted file mode 100644
index dbeb503..0000000
--- a/app-office/libreoffice/files/libreoffice-3.7-separate-checks.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/Makefile.top b/Makefile.top
-index 9e67a71..64a7b6c 100644
---- a/Makefile.top
-+++ b/Makefile.top
-@@ -244,7 +244,7 @@ stlport\
- sysui\
- xpdf\
-
--export gb_TAILBUILDTARGET=all slowcheck
-+export gb_TAILBUILDTARGET=all
-
- define gbuild_module_rules
- .PHONY: $(1) $(1).all $(1).build $(1).check $(1).clean $(1).subsequentcheck $(1).deliver
-@@ -546,7 +546,7 @@ findunusedcode:
- | grep -v ^WSObject \
- > unusedcode.easy
-
--check: dev-install subsequentcheck
-+check: unitcheck slowcheck dev-install subsequentcheck
-
- subsequentcheck :| $(if $(filter-out subsequentcheck,$(MAKECMDGOALS)),dev-install)
- $(GNUMAKE) -j $(CHECK_PARALLELISM) $(GMAKE_OPTIONS) -f Makefile.post $@
-diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
-index c8e62ee..11a9069 100755
---- a/solenv/bin/build.pl
-+++ b/solenv/bin/build.pl
-@@ -1902,7 +1902,7 @@ sub run_job {
- return 1 if (! $path =~ /prj$/ );
- mkpath("$workdir/Logs");
- my $gbuild_flags = '-j' . $ENV{PARALLELISM};
-- my $gbuild_target = 'all slowcheck';
-+ my $gbuild_target = 'all';
- if ($registered_name =~ /tail_build\/prj$/ )
- {
- $gbuild_target = $ENV{gb_TAILBUILDTARGET};
-diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk
-index 97f1a81..c7ae7f4 100644
---- a/solenv/gbuild/Module.mk
-+++ b/solenv/gbuild/Module.mk
-@@ -139,7 +139,7 @@ gb_Module_DEVINSTALLHINT=
- debugrun :| build
- endif
-
--all : build unitcheck
-+all : build
- $(info $(gb_Module_BUILDHINT))
-
- build :
diff --git a/app-office/libreoffice/files/libreoffice-3.7-system-pyuno.patch b/app-office/libreoffice/files/libreoffice-3.7-system-pyuno.patch
deleted file mode 100644
index fe93728..0000000
--- a/app-office/libreoffice/files/libreoffice-3.7-system-pyuno.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh
-index a259bf6..672fa23 100755
---- a/desktop/scripts/soffice.sh
-+++ b/desktop/scripts/soffice.sh
-@@ -129,6 +129,9 @@ if echo "$checks" | grep -q "cc" ; then
- exit 1;
- fi
-
-+PYTHONPATH=$sd_prog${PYTHONPATH+:$PYTHONPATH}
-+export PYTHONPATH
-+
- case "`uname -s`" in
- NetBSD|OpenBSD|FreeBSD|DragonFly)
- # this is a temporary hack until we can live with the default search paths
-diff --git a/pyuno/source/module/uno.py b/pyuno/source/module/uno.py
-index 4ff2606..6a05eed 100644
---- a/pyuno/source/module/uno.py
-+++ b/pyuno/source/module/uno.py
-@@ -16,8 +16,12 @@
- # except in compliance with the License. You may obtain a copy of
- # the License at http://www.apache.org/licenses/LICENSE-2.0 .
- #
-+import os
- import sys
-
-+sys.path.append('%eprefix%/usr/%libdir%/libreoffice/program')
-+if getattr(os.environ, 'URE_BOOTSTRAP', None) is None:
-+ os.environ['URE_BOOTSTRAP'] = "vnd.sun.star.pathname:%eprefix%/usr/%libdir%/libreoffice/program/fundamentalrc"
- import pyuno
-
- try:
-diff --git a/scripting/source/pyprov/officehelper.py b/scripting/source/pyprov/officehelper.py
-index 99d3b03..704edab 100755
---- a/scripting/source/pyprov/officehelper.py
-+++ b/scripting/source/pyprov/officehelper.py
-@@ -44,7 +44,7 @@ def bootstrap():
- if "UNO_PATH" in os.environ:
- sOffice = os.environ["UNO_PATH"]
- else:
-- sOffice = "" # lets hope for the best
-+ sOffice = "%eprefix%/usr/%libdir%/libreoffice/program"
- sOffice = os.path.join(sOffice, "soffice")
- if platform.startswith("win"):
- sOffice += ".exe"
diff --git a/app-office/libreoffice/files/libreoffice-4.1.0.4-neon-build.patch b/app-office/libreoffice/files/libreoffice-4.1.0.4-neon-build.patch
deleted file mode 100644
index 94e858b..0000000
--- a/app-office/libreoffice/files/libreoffice-4.1.0.4-neon-build.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From b74bf4146e866fbcd41ad075296c9a4eee16c829 Mon Sep 17 00:00:00 2001
-From: David Tardon <dtardon@redhat.com>
-Date: Mon, 12 Aug 2013 09:39:59 +0200
-Subject: [PATCH] only use the SSPI support with internal neon
-
-neon 0.30.0 has added support for SSPI (author of the commit is kso,
-which sounds familiar :-), so NE_FEATURE_SSPI is defined, but the
-signature of ne_auth_creds remains the same as before. That means that
-build with system neon 0.30.0 fails...
----
- RepositoryExternal.mk | 1 +
- ucb/source/ucp/webdav-neon/NeonSession.cxx | 4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
-index f866957..8c19c27 100644
---- a/RepositoryExternal.mk
-+++ b/RepositoryExternal.mk
-@@ -867,6 +867,7 @@ ifeq ($(SYSTEM_NEON),YES)
- define gb_LinkTarget__use_neon
- $(call gb_LinkTarget_add_defs,$(1),\
- -DNEON_VERSION=0x$(NEON_VERSION) \
-+ -DSYSTEM_NEON \
- )
- $(call gb_LinkTarget_set_include,$(1),\
- $$(INCLUDE) \
-diff --git a/ucb/source/ucp/webdav-neon/NeonSession.cxx b/ucb/source/ucp/webdav-neon/NeonSession.cxx
-index 34a1937..cee643a 100644
---- a/ucb/source/ucp/webdav-neon/NeonSession.cxx
-+++ b/ucb/source/ucp/webdav-neon/NeonSession.cxx
-@@ -228,7 +228,7 @@ extern "C" int NeonSession_ResponseBlockWriter( void * inUserData,
- }
-
- extern "C" int NeonSession_NeonAuth( void * inUserData,
--#ifdef NE_FEATURE_SSPI
-+#if defined NE_FEATURE_SSPI && ! defined SYSTEM_NEON
- const char * inAuthProtocol,
- #endif
- const char * inRealm,
-@@ -297,7 +297,7 @@ extern "C" int NeonSession_NeonAuth( void * inUserData,
-
- bool bCanUseSystemCreds = false;
-
--#ifdef NE_FEATURE_SSPI
-+#if defined NE_FEATURE_SSPI && ! defined SYSTEM_NEON
- bCanUseSystemCreds
- = (attempt == 0) && // avoid endless loops
- ne_has_support( NE_FEATURE_SSPI ) && // Windows-only feature.
---
-1.7.12.4
-
diff --git a/app-office/libreoffice/files/libreoffice-4.1.2.2-idfattrib.patch b/app-office/libreoffice/files/libreoffice-4.1.2.2-idfattrib.patch
deleted file mode 100644
index 9402b6b..0000000
--- a/app-office/libreoffice/files/libreoffice-4.1.2.2-idfattrib.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/sc/inc/global.hxx 2013-09-17 19:27:21.000000000 +0300
-+++ b/sc/inc/global.hxx 2013-09-24 23:12:34.277966796 +0300
-@@ -190,7 +190,7 @@ const sal_uInt16 IDF_HARDATTR = 0x0020
- const sal_uInt16 IDF_OUTLINE = 0x0800; /// Sheet / outlining (grouping) information
- const sal_uInt16 IDF_NOCAPTIONS = 0x0200; /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes.
- const sal_uInt16 IDF_ADDNOTES = 0x0400; /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes.
- const sal_uInt16 IDF_SPECIAL_BOOLEAN = 0x1000;
--const sal_uInt16 IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES | IDF_OUTLINE;
-+const sal_uInt16 IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES;
- const sal_uInt16 IDF_CONTENTS = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA | IDF_OUTLINE;
- const sal_uInt16 IDF_ALL = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS;
-otes.
-
- /// Copy flags for auto/series fill functions: do not touch notes and drawing objects.
- const sal_uInt16 IDF_AUTOFILL = IDF_ALL & ~(IDF_NOTE | IDF_OBJECTS);
diff --git a/app-office/libreoffice/files/stop-messing-with-stdlib-internals.patch b/app-office/libreoffice/files/stop-messing-with-stdlib-internals.patch
deleted file mode 100644
index b9f8d31..0000000
--- a/app-office/libreoffice/files/stop-messing-with-stdlib-internals.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-much from <http://cgit.freedesktop.org/libreoffice/core/tree/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx>
-diff -ur a-libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
---- a-libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-06-20 09:13:52.000000000 +0200
-+++ libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-11 14:16:40.998562174 +0200
-@@ -53,6 +53,38 @@
-
- namespace CPPU_CURRENT_NAMESPACE
- {
-+struct FAKE_type_info: public std::type_info {
-+ FAKE_type_info(char const * name): type_info(name) {}
-+};
-+struct FAKE_si_class_type_info: public FAKE_type_info {
-+ FAKE_si_class_type_info(char const * name, std::type_info const * theBase):
-+ FAKE_type_info(name), base(theBase) {}
-+
-+ std::type_info const * base;
-+ // actually a __cxxabiv1::__class_type_info pointer
-+};
-+struct Base {};
-+struct Derived: Base {};
-+
-+std::type_info * create_FAKE_class_type_info(char const * name) {
-+ std::type_info * p = new FAKE_type_info(name);
-+ // cxxabiv1::__class_type_info has no data members in addition to
-+ // std::type_info
-+ *reinterpret_cast< void ** >(p) = *reinterpret_cast< void * const * >(
-+ &typeid(Base));
-+ // copy correct __cxxabiv1::__class_type_info vtable into place
-+ return p;
-+}
-+
-+std::type_info * create_FAKE_si_class_type_info(
-+ char const * name, std::type_info const * base)
-+{
-+ std::type_info * p = new FAKE_si_class_type_info(name, base);
-+ *reinterpret_cast< void ** >(p) = *reinterpret_cast< void * const * >(
-+ &typeid(Derived));
-+ // copy correct __cxxabiv1::__si_class_type_info vtable into place
-+ return p;
-+}
-
- //==================================================================================================
- static OUString toUNOname( char const * p ) SAL_THROW(())
-@@ -180,13 +212,13 @@
- // ensure availability of base
- type_info * base_rtti = getRTTI(
- (typelib_CompoundTypeDescription *)pTypeDescr->pBaseTypeDescription );
-- rtti = new __si_class_type_info(
-- strdup( rttiName ), (__class_type_info *)base_rtti );
-+ rtti = create_FAKE_si_class_type_info(
-+ strdup( rttiName ), base_rtti );
- }
- else
- {
- // this class has no base class
-- rtti = new __class_type_info( strdup( rttiName ) );
-+ rtti = create_FAKE_class_type_info( strdup( rttiName ) );
- }
-
- pair< t_rtti_map::iterator, bool > insertion (
-
diff --git a/app-office/libreoffice/files/stop-messing-with-stdlib-internals2.patch b/app-office/libreoffice/files/stop-messing-with-stdlib-internals2.patch
deleted file mode 100644
index 31c27ba..0000000
--- a/app-office/libreoffice/files/stop-messing-with-stdlib-internals2.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- a/libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-13 22:47:29.146836141 +0200
-+++ b/libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-13 22:47:24.428793311 +0200
-@@ -53,38 +53,6 @@
-
- namespace CPPU_CURRENT_NAMESPACE
- {
--struct FAKE_type_info: public std::type_info {
-- FAKE_type_info(char const * name): type_info(name) {}
--};
--struct FAKE_si_class_type_info: public FAKE_type_info {
-- FAKE_si_class_type_info(char const * name, std::type_info const * theBase):
-- FAKE_type_info(name), base(theBase) {}
--
-- std::type_info const * base;
-- // actually a __cxxabiv1::__class_type_info pointer
--};
--struct Base {};
--struct Derived: Base {};
--
--std::type_info * create_FAKE_class_type_info(char const * name) {
-- std::type_info * p = new FAKE_type_info(name);
-- // cxxabiv1::__class_type_info has no data members in addition to
-- // std::type_info
-- *reinterpret_cast< void ** >(p) = *reinterpret_cast< void * const * >(
-- &typeid(Base));
-- // copy correct __cxxabiv1::__class_type_info vtable into place
-- return p;
--}
--
--std::type_info * create_FAKE_si_class_type_info(
-- char const * name, std::type_info const * base)
--{
-- std::type_info * p = new FAKE_si_class_type_info(name, base);
-- *reinterpret_cast< void ** >(p) = *reinterpret_cast< void * const * >(
-- &typeid(Derived));
-- // copy correct __cxxabiv1::__si_class_type_info vtable into place
-- return p;
--}
-
- //==================================================================================================
- static OUString toUNOname( char const * p ) SAL_THROW(())
-@@ -202,30 +170,8 @@
- t_rtti_map::const_iterator iFind2( m_generatedRttis.find( unoName ) );
- if (iFind2 == m_generatedRttis.end())
- {
-- // we must generate it !
-- // symbol and rtti-name is nearly identical,
-- // the symbol is prefixed with _ZTI
-- char const * rttiName = symName.getStr() +4;
--#if OSL_DEBUG_LEVEL > 1
-- fprintf( stderr,"generated rtti for %s\n", rttiName );
--#endif
-- if (pTypeDescr->pBaseTypeDescription)
-- {
-- // ensure availability of base
-- type_info * base_rtti = getRTTI(
-- (typelib_CompoundTypeDescription *)pTypeDescr->pBaseTypeDescription );
-- rtti = create_FAKE_si_class_type_info(
-- strdup( rttiName ), base_rtti );
-- }
-- else
-- {
-- // this class has no base class
-- rtti = create_FAKE_class_type_info( strdup( rttiName ) );
-- }
--
-- pair< t_rtti_map::iterator, bool > insertion (
-- m_generatedRttis.insert( t_rtti_map::value_type( unoName, rtti ) ) );
-- SAL_WARN_IF( !insertion.second, "bridges", "key " << unoName << " already in generated rtti map" );
-+ OSL_FAIL("Cannot generate type_infos with libc++, sigh");
-+ return NULL;
- }
- else // taking already generated rtti
- {
-
diff --git a/app-office/libreoffice/libreoffice-4.0.4.2.ebuild b/app-office/libreoffice/libreoffice-4.0.4.2.ebuild
deleted file mode 100644
index 49586f3..0000000
--- a/app-office/libreoffice/libreoffice-4.0.4.2.ebuild
+++ /dev/null
@@ -1,582 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-4.0.4.2.ebuild,v 1.7 2013/08/27 16:06:04 kensington Exp $
-
-EAPI=5
-
-KDE_REQUIRED="optional"
-QT_MINIMAL="4.7.4"
-KDE_SCM="git"
-CMAKE_REQUIRED="never"
-
-PYTHON_COMPAT=( python2_7 python3_3 )
-PYTHON_REQ_USE="threads,xml"
-
-# experimental ; release ; old
-# Usually the tarballs are moved a lot so this should make
-# everyone happy.
-DEV_URI="
- http://dev-builds.libreoffice.org/pre-releases/src
- http://download.documentfoundation.org/libreoffice/src/${PV:0:5}/
- http://download.documentfoundation.org/libreoffice/old/${PV}/
-"
-EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
-ADDONS_URI="http://dev-www.libreoffice.org/src/"
-
-BRANDING="${PN}-branding-gentoo-0.7.tar.xz"
-# PATCHSET="${P}-patchset-01.tar.xz"
-
-[[ ${PV} == *9999* ]] && SCM_ECLASS="git-2"
-inherit base autotools bash-completion-r1 check-reqs eutils java-pkg-opt-2 kde4-base pax-utils python-single-r1 multilib toolchain-funcs flag-o-matic nsplugins ${SCM_ECLASS}
-unset SCM_ECLASS
-
-DESCRIPTION="LibreOffice, a full office productivity suite."
-HOMEPAGE="http://www.libreoffice.org"
-SRC_URI="branding? ( http://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
-[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/${PATCHSET}"
-
-# Help is used for the image generator
-# We can also build translations and others if needed.
-# Core must be first
-MODULES="core help"
-# Only release has the tarballs
-if [[ ${PV} != *9999* ]]; then
- for i in ${DEV_URI}; do
- for mod in ${MODULES}; do
- if [[ ${mod} == core ]]; then
- # core is now packed without it in the name, git reponame stay
- SRC_URI+=" ${i}/${P}.tar.xz"
- else
- SRC_URI+=" ${i}/${PN}-${mod}-${PV}.tar.xz"
- fi
- done
- unset mod
- done
- unset i
-fi
-unset DEV_URI
-
-# Really required addons
-# These are bundles that can't be removed for now due to huge patchsets.
-# If you want them gone, patches are welcome.
-ADDONS_SRC+=" ${ADDONS_URI}/ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz"
-ADDONS_SRC+=" ${ADDONS_URI}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" # modifies source code
-ADDONS_SRC+=" java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
-ADDONS_SRC+=" libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )" # no release for 8 years, should we package it?
-ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )" # Does not build with 1.6 rhino at all
-ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )" # requirement of rhino
-ADDONS_SRC+=" odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )" # not packageable
-SRC_URI+=" ${ADDONS_SRC}"
-
-unset ADDONS_URI
-unset EXT_URI
-unset ADDONS_SRC
-
-IUSE="bluetooth +branding +cups dbus debug eds gnome gstreamer +gtk
-jemalloc kde mysql odk opengl postgres telepathy test +vba +webdav"
-
-LO_EXTS="nlpsolver presenter-minimizer scripting-beanshell scripting-javascript wiki-publisher"
-# Unpackaged separate extensions:
-# diagram: lo has 0.9.5 upstream is weirdly patched 0.9.4 -> wtf?
-# hunart: only on ooo extensions -> fubared download path somewhere on sf
-# numbertext, typo, validator, watch-window: ^^
-# oooblogger: no homepage or anything
-# Extensions that need extra work:
-# report-builder: missing java packages
-for lo_xt in ${LO_EXTS}; do
- IUSE+=" libreoffice_extensions_${lo_xt}"
-done
-unset lo_xt
-
-LICENSE="|| ( LGPL-3 MPL-1.1 )"
-SLOT="0"
-[[ ${PV} == *9999* ]] || \
-KEYWORDS="~amd64 ~x86"
-
-COMMON_DEPEND="
- ${PYTHON_DEPS}
- app-arch/zip
- app-arch/unzip
- >=app-text/hunspell-1.3.2-r3
- app-text/mythes
- >=app-text/libexttextcat-3.2
- app-text/liblangtag
- app-text/libmspub
- app-text/libwpd:0.9[tools]
- app-text/libwpg:0.2
- >=app-text/libwps-0.2.2
- >=app-text/poppler-0.16:=[xpdf-headers(+),cxx]
- >=dev-cpp/clucene-2.3.3.4-r2
- >=dev-cpp/libcmis-0.3.1:0.3
- dev-db/unixODBC
- dev-libs/expat
- >=dev-libs/hyphen-2.7.1
- >=dev-libs/icu-4.8.1.1:=
- =dev-libs/liborcus-0.3*
- >=dev-libs/nspr-4.8.8
- >=dev-libs/nss-3.12.9
- >=dev-lang/perl-5.0
- >=dev-libs/openssl-1.0.0d
- >=dev-libs/redland-1.0.14[ssl]
- media-gfx/graphite2
- >=media-libs/fontconfig-2.8.0
- media-libs/freetype:2
- media-libs/lcms:2
- >=media-libs/libpng-1.4
- >=media-libs/libcdr-0.0.5
- media-libs/libvisio
- >=net-misc/curl-7.21.4
- net-nds/openldap
- sci-mathematics/lpsolve
- virtual/jpeg:0
- >=x11-libs/cairo-1.10.0[X]
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- bluetooth? ( net-wireless/bluez )
- cups? ( net-print/cups )
- dbus? ( >=dev-libs/dbus-glib-0.92 )
- eds? ( gnome-extra/evolution-data-server )
- gnome? ( gnome-base/gconf:2 )
- gtk? (
- x11-libs/gdk-pixbuf[X]
- >=x11-libs/gtk+-2.24:2
- )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- jemalloc? ( dev-libs/jemalloc )
- libreoffice_extensions_scripting-beanshell? ( >=dev-java/bsh-2.0_beta4 )
- libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
- libreoffice_extensions_wiki-publisher? (
- dev-java/commons-codec:0
- dev-java/commons-httpclient:3
- dev-java/commons-lang:2.1
- dev-java/commons-logging:0
- dev-java/tomcat-servlet-api:3.0
- )
- mysql? ( >=dev-db/mysql-connector-c++-1.1.0 )
- opengl? (
- virtual/glu
- virtual/opengl
- )
- postgres? ( >=dev-db/postgresql-base-9.0[kerberos] )
- telepathy? (
- dev-libs/glib:2
- >=net-libs/telepathy-glib-0.18.0
- >=x11-libs/gtk+-2.24:2
- )
- webdav? ( net-libs/neon )
-"
-
-RDEPEND="${COMMON_DEPEND}
- !app-office/libreoffice-bin
- !app-office/libreoffice-bin-debug
- !<app-office/openoffice-bin-3.4.0-r1
- !app-office/openoffice
- media-fonts/libertine-ttf
- media-fonts/liberation-fonts
- media-fonts/urw-fonts
- java? ( >=virtual/jre-1.6 )
-"
-
-if [[ ${PV} != *9999* ]]; then
- PDEPEND="~app-office/libreoffice-l10n-${PV}"
-else
- # Translations are not reliable on live ebuilds
- # rather force people to use english only.
- PDEPEND="!app-office/libreoffice-l10n"
-fi
-
-# FIXME: cppunit should be moved to test conditional
-# after everything upstream is under gbuild
-# as dmake execute tests right away
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/boost-1.46
- >=dev-libs/libxml2-2.7.8
- dev-libs/libxslt
- dev-perl/Archive-Zip
- dev-util/cppunit
- >=dev-util/gperf-3
- dev-util/intltool
- <dev-util/mdds-0.8.0
- virtual/pkgconfig
- net-misc/npapi-sdk
- >=sys-apps/findutils-4.4.2
- sys-devel/bison
- sys-apps/coreutils
- sys-devel/flex
- sys-devel/gettext
- >=sys-devel/make-3.82
- sys-devel/ucpp
- sys-libs/zlib
- x11-libs/libXt
- x11-libs/libXtst
- x11-proto/randrproto
- x11-proto/xextproto
- x11-proto/xineramaproto
- x11-proto/xproto
- java? (
- >=virtual/jdk-1.6
- >=dev-java/ant-core-1.7
- )
- odk? ( app-doc/doxygen )
- test? ( dev-util/cppunit )
-"
-
-PATCHES=(
- # not upstreamable stuff
- "${FILESDIR}/${PN}-3.7-system-pyuno.patch"
- "${FILESDIR}/${PN}-3.7-separate-checks.patch"
-)
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- bluetooth? ( dbus )
- gnome? ( gtk )
- eds? ( gnome )
- telepathy? ( gtk )
- libreoffice_extensions_nlpsolver? ( java )
- libreoffice_extensions_scripting-beanshell? ( java )
- libreoffice_extensions_scripting-javascript? ( java )
- libreoffice_extensions_wiki-publisher? ( java )
-"
-
-CHECKREQS_MEMORY="512M"
-CHECKREQS_DISK_BUILD="6G"
-
-pkg_pretend() {
- local pgslot
-
- if [[ "${CHECK_ME_HARDER}" != no ]]; then
- if [[ ${MERGE_TYPE} != binary ]]; then
- check-reqs_pkg_pretend
-
- if [[ $(gcc-major-version) -lt 4 ]] || \
- ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \
- ; then
- eerror "Compilation with gcc older than 4.6 is not supported"
- die "Too old gcc found."
- fi
- fi
-
- # ensure pg version
- if use postgres && has_version dev-db/postgresql-base; then
- pgslot=$(postgresql-config show)
- if [[ ${pgslot//.} < 90 ]] ; then
- eerror "PostgreSQL slot must be set to 9.0 or higher."
- eerror " postgresql-config set 9.0"
- die "PostgreSQL slot is not set to 9.0 or higher."
- fi
- fi
- fi
-}
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
- nonfatal kde4-base_pkg_setup
- python-single-r1_pkg_setup
-
- [[ ${MERGE_TYPE} != binary ]] && check-reqs_pkg_setup
-}
-
-src_unpack() {
- local mod mod2 dest tmplfile tmplname mypv
-
- [[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
- use branding && unpack "${BRANDING}"
-
- if [[ ${PV} != *9999* ]]; then
- unpack "${P}.tar.xz"
- for mod in ${MODULES}; do
- [[ ${mod} == core ]] && continue
- unpack "${PN}-${mod}-${PV}.tar.xz"
- done
- else
- for mod in ${MODULES}; do
- mypv=${PV/.9999}
- [[ ${mypv} != ${PV} ]] && EGIT_BRANCH="${PN}-${mypv/./-}"
- EGIT_PROJECT="${PN}/${mod}"
- EGIT_SOURCEDIR="${WORKDIR}/${P}"
- [[ ${mod} != core ]] && EGIT_SOURCEDIR="${WORKDIR}/${PN}-${mod}-${PV}"
- EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}/${mod}"
- EGIT_NOUNPACK="true"
- git-2_src_unpack
- if [[ ${mod} != core ]]; then
- mod2=${mod}
- # mapping does not match on help
- [[ ${mod} == help ]] && mod2="helpcontent2"
- mkdir -p "${S}/${mod2}/" || die
- mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}/${mod2}" || die
- rm -rf "${WORKDIR}/${PN}-${mod}-${PV}"
- fi
- done
- unset EGIT_PROJECT EGIT_SOURCEDIR EGIT_REPO_URI EGIT_BRANCH
- fi
-}
-
-src_prepare() {
- # fixed in master, flags order in bridges compilation
- filter-flags -fomit-frame-pointer
-
- # optimization flags
- export ARCH_FLAGS="${CXXFLAGS}"
- export LINKFLAGSOPTIMIZE="${LDFLAGS}"
- export GMAKE_OPTIONS="${MAKEOPTS}"
- # System python 2.7 enablement:
- export PYTHON="${PYTHON}"
- export PYTHON_CFLAGS=$(python_get_CFLAGS)
- export PYTHON_LIBS=$(python_get_LIBS)
-
- # patchset
- if [[ -n ${PATCHSET} ]]; then
- EPATCH_FORCE="yes" \
- EPATCH_SOURCE="${WORKDIR}/${PATCHSET/.tar.xz/}" \
- EPATCH_SUFFIX="patch" \
- epatch
- fi
-
- base_src_prepare
-
- AT_M4DIR="m4"
- eautoreconf
- # hack in the autogen.sh
- touch autogen.lastrun
-
- # system pyuno mess
- sed \
- -e "s:%eprefix%:${EPREFIX}:g" \
- -e "s:%libdir%:$(get_libdir):g" \
- -i pyuno/source/module/uno.py \
- -i scripting/source/pyprov/officehelper.py || die
-
- if use branding; then
- # hack...
- mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die
- fi
-}
-
-src_configure() {
- local java_opts
- local internal_libs
- local lo_ext
- local ext_opts
- local jbs=$(sed -ne 's/.*\(-j[[:space:]]*\|--jobs=\)\([[:digit:]]\+\).*/\2/;T;p' <<< "${MAKEOPTS}")
-
- # recheck that there is some value in jobs
- [[ -z ${jbs} ]] && jbs="1"
-
- # sane: just sane.h header that is used for scan in writer, not
- # linked or anything else, worthless to depend on
- # vigra: just uses templates from there
- # it is serious pain in the ass for packaging
- # should be replaced by boost::gil if someone interested
- internal_libs+="
- --without-system-sane
- --without-system-vigra
- "
-
- # libreoffice extensions handling
- for lo_xt in ${LO_EXTS}; do
- if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
- ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt})"
- else
- ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt})"
- fi
- done
-
- if use java; then
- # hsqldb: system one is too new
- java_opts="
- --without-junit
- --without-system-hsqldb
- --with-ant-home="${ANT_HOME}"
- --with-jdk-home=$(java-config --jdk-home 2>/dev/null)
- --with-java-target-version=$(java-pkg_get-target)
- --with-jvm-path="${EPREFIX}/usr/$(get_libdir)/"
- "
-
- use libreoffice_extensions_scripting-beanshell && \
- java_opts+=" --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)"
-
- use libreoffice_extensions_scripting-javascript && \
- java_opts+=" --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar)"
-
- if use libreoffice_extensions_wiki-publisher; then
- java_opts+="
- --with-commons-codec-jar=$(java-pkg_getjar commons-codec commons-codec.jar)
- --with-commons-httpclient-jar=$(java-pkg_getjar commons-httpclient-3 commons-httpclient.jar)
- --with-commons-lang-jar=$(java-pkg_getjar commons-lang-2.1 commons-lang.jar)
- --with-commons-logging-jar=$(java-pkg_getjar commons-logging commons-logging.jar)
- --with-servlet-api-jar=$(java-pkg_getjar tomcat-servlet-api-3.0 servlet-api.jar)
- "
- fi
- fi
-
- # system headers/libs/...: enforce using system packages
- # --enable-unix-qstart-libpng: use libpng splashscreen that is faster
- # --enable-cairo: ensure that cairo is always required
- # --enable-graphite: disabling causes build breakages
- # --enable-*-link: link to the library rather than just dlopen on runtime
- # --enable-release-build: build the libreoffice as release
- # --disable-fetch-external: prevent dowloading during compile phase
- # --disable-gnome-vfs: old gnome virtual fs support
- # --disable-kdeab: kde3 adressbook
- # --disable-kde: kde3 support
- # --disable-pch: precompiled headers cause build crashes
- # --disable-rpath: relative runtime path is not desired
- # --disable-systray: quickstarter does not actually work at all so do not
- # promote it
- # --disable-zenity: disable build icon
- # --enable-extension-integration: enable any extension integration support
- # --without-{afms,fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
- # --disable-ext-report-builder: too much java packages pulled in
- econf \
- --docdir="${EPREFIX}/usr/share/doc/${PF}/" \
- --with-system-headers \
- --with-system-libs \
- --with-system-jars \
- --with-system-dicts \
- --enable-cairo-canvas \
- --enable-graphite \
- --enable-largefile \
- --enable-mergelibs \
- --enable-python=system \
- --enable-randr \
- --enable-randr-link \
- --enable-release-build \
- --enable-unix-qstart-libpng \
- --enable-hardlink-deliver \
- --disable-ccache \
- --disable-crashdump \
- --disable-dependency-tracking \
- --disable-epm \
- --disable-fetch-external \
- --disable-gnome-vfs \
- --disable-gstreamer-0-10 \
- --disable-ext-report-builder \
- --disable-kdeab \
- --disable-kde \
- --disable-online-update \
- --disable-pch \
- --disable-rpath \
- --disable-systray \
- --disable-zenity \
- --with-alloc=$(use jemalloc && echo "jemalloc" || echo "system") \
- --with-build-version="Gentoo official package" \
- --enable-extension-integration \
- --with-external-dict-dir="${EPREFIX}/usr/share/myspell" \
- --with-external-hyph-dir="${EPREFIX}/usr/share/myspell" \
- --with-external-thes-dir="${EPREFIX}/usr/share/myspell" \
- --with-external-tar="${DISTDIR}" \
- --with-lang="" \
- --with-parallelism=${jbs} \
- --with-system-ucpp \
- --with-unix-wrapper=libreoffice \
- --with-vendor="Gentoo Foundation" \
- --with-x \
- --without-afms \
- --without-fonts \
- --without-myspell-dicts \
- --without-system-mozilla \
- --without-help \
- --with-helppack-integration \
- --without-sun-templates \
- $(use_enable bluetooth sdremote-bluetooth) \
- $(use_enable cups) \
- $(use_enable debug) \
- $(use_enable dbus) \
- $(use_enable eds evolution2) \
- $(use_enable gnome gconf) \
- $(use_enable gnome gio) \
- $(use_enable gnome lockdown) \
- $(use_enable gtk) \
- $(use_enable kde kde4) \
- $(use_enable mysql ext-mysql-connector) \
- $(use_enable odk) \
- $(use_enable opengl) \
- $(use_enable postgres postgresql-sdbc) \
- $(use_enable telepathy) \
- $(use_enable test linkoo) \
- $(use_enable vba) \
- $(use_enable webdav neon) \
- $(use_with java) \
- $(use_with mysql system-mysql-cppconn) \
- $(use_with odk doxygen) \
- ${internal_libs} \
- ${java_opts} \
- ${ext_opts}
-}
-
-src_compile() {
- # hack for offlinehelp, this needs fixing upstream at some point
- # it is broken because we send --without-help
- # https://bugs.freedesktop.org/show_bug.cgi?id=46506
- (
- grep "^export" "${S}/config_host.mk" > "${T}/config_host.mk"
- source "${T}/config_host.mk" 2&> /dev/null
-
- local path="${SOLARVER}/${INPATH}/res/img"
- mkdir -p "${path}" || die
-
- echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=icon-themes/galaxy/res/helpimg > \"${path}/helpimg.ilst\""
- perl "${S}/helpcontent2/helpers/create_ilst.pl" \
- -dir=icon-themes/galaxy/res/helpimg \
- > "${path}/helpimg.ilst"
- [[ -s "${path}/helpimg.ilst" ]] || ewarn "The help images list is empty, something is fishy, report a bug."
- )
-
- # this is not a proper make script
- make build || die
-}
-
-src_test() {
- make unitcheck || die
- make slowcheck || die
-}
-
-src_install() {
- # This is not Makefile so no buildserver
- make DESTDIR="${D}" distro-pack-install -o build -o check || die
-
- # Fix bash completion placement
- newbashcomp "${ED}"/etc/bash_completion.d/libreoffice.sh ${PN}
- rm -rf "${ED}"/etc/
-
- if use branding; then
- insinto /usr/$(get_libdir)/${PN}/program
- newins "${WORKDIR}/branding-sofficerc" sofficerc
- fi
-
- # symlink the nsplugin to proper location
- use gtk && inst_plugin /usr/$(get_libdir)/libreoffice/program/libnpsoplugin.so
-
- # Hack for offlinehelp, this needs fixing upstream at some point.
- # It is broken because we send --without-help
- # https://bugs.freedesktop.org/show_bug.cgi?id=46506
- insinto /usr/$(get_libdir)/libreoffice/help
- doins xmlhelp/util/*.xsl
-
- # Remove desktop files for support to old installs that can't parse mime
- rm -rf "${ED}"/usr/share/mimelnk/
-}
-
-pkg_preinst() {
- # Cache updates - all handled by kde eclass for all environments
- kde4-base_pkg_preinst
-}
-
-pkg_postinst() {
- kde4-base_pkg_postinst
-
- pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/soffice.bin
- pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/unopkg.bin
-
- use java || \
- ewarn 'If you plan to use lbase application you should enable java or you will get various crashes.'
-}
-
-pkg_postrm() {
- kde4-base_pkg_postrm
-}
diff --git a/app-office/libreoffice/libreoffice-4.1.2.2-r1.ebuild b/app-office/libreoffice/libreoffice-4.1.2.2-r1.ebuild
deleted file mode 100644
index 8c77ce3..0000000
--- a/app-office/libreoffice/libreoffice-4.1.2.2-r1.ebuild
+++ /dev/null
@@ -1,598 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-4.1.2.2-r1.ebuild,v 1.1 2013/09/27 20:45:40 dilfridge Exp $
-
-EAPI=5
-
-KDE_REQUIRED="optional"
-QT_MINIMAL="4.7.4"
-KDE_SCM="git"
-CMAKE_REQUIRED="never"
-
-PYTHON_COMPAT=( python2_7 python3_3 )
-PYTHON_REQ_USE="threads,xml"
-
-# experimental ; release ; old
-# Usually the tarballs are moved a lot so this should make
-# everyone happy.
-DEV_URI="
- http://dev-builds.libreoffice.org/pre-releases/src
- http://download.documentfoundation.org/libreoffice/src/${PV:0:5}/
- http://download.documentfoundation.org/libreoffice/old/${PV}/
-"
-EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
-ADDONS_URI="http://dev-www.libreoffice.org/src/"
-
-BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
-# PATCHSET="${P}-patchset-01.tar.xz"
-
-[[ ${PV} == *9999* ]] && SCM_ECLASS="git-2"
-inherit base autotools bash-completion-r1 check-reqs eutils java-pkg-opt-2 kde4-base pax-utils python-single-r1 multilib toolchain-funcs flag-o-matic nsplugins ${SCM_ECLASS}
-unset SCM_ECLASS
-
-DESCRIPTION="LibreOffice, a full office productivity suite."
-HOMEPAGE="http://www.libreoffice.org"
-SRC_URI="branding? ( http://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
-[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/${PATCHSET}"
-
-# Split modules following git/tarballs
-# Core MUST be first!
-# Help is used for the image generator
-MODULES="core help"
-# Only release has the tarballs
-if [[ ${PV} != *9999* ]]; then
- for i in ${DEV_URI}; do
- for mod in ${MODULES}; do
- if [[ ${mod} == core ]]; then
- SRC_URI+=" ${i}/${P}.tar.xz"
- else
- SRC_URI+=" ${i}/${PN}-${mod}-${PV}.tar.xz"
- fi
- done
- unset mod
- done
- unset i
-fi
-unset DEV_URI
-
-# Really required addons
-# These are bundles that can't be removed for now due to huge patchsets.
-# If you want them gone, patches are welcome.
-ADDONS_SRC+=" ${ADDONS_URI}/ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz"
-ADDONS_SRC+=" ${ADDONS_URI}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" # modifies source code
-ADDONS_SRC+=" java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
-ADDONS_SRC+=" libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )" # no release for 8 years, should we package it?
-ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )" # Does not build with 1.6 rhino at all
-ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )" # requirement of rhino
-ADDONS_SRC+=" odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )" # not packageable
-SRC_URI+=" ${ADDONS_SRC}"
-
-unset ADDONS_URI
-unset EXT_URI
-unset ADDONS_SRC
-
-IUSE="bluetooth +branding +cups dbus debug eds gnome gstreamer +gtk
-gtk3 jemalloc kde libcxx mysql odk opengl postgres telepathy test +vba +webdav"
-
-LO_EXTS="nlpsolver presenter-minimizer scripting-beanshell scripting-javascript wiki-publisher"
-# Unpackaged separate extensions:
-# diagram: lo has 0.9.5 upstream is weirdly patched 0.9.4 -> wtf?
-# hunart: only on ooo extensions -> fubared download path somewhere on sf
-# numbertext, typo, validator, watch-window: ^^
-# oooblogger: no homepage or anything
-# Extensions that need extra work:
-for lo_xt in ${LO_EXTS}; do
- IUSE+=" libreoffice_extensions_${lo_xt}"
-done
-unset lo_xt
-
-LICENSE="|| ( LGPL-3 MPL-1.1 )"
-SLOT="0"
-[[ ${PV} == *9999* ]] || \
-KEYWORDS="~amd64 ~x86"
-
-COMMON_DEPEND="
- ${PYTHON_DEPS}
- app-arch/zip
- app-arch/unzip
- >=app-text/hunspell-1.3.2-r3
- app-text/mythes
- >=app-text/libexttextcat-3.2
- app-text/liblangtag
- app-text/libmspub
- >=app-text/libmwaw-0.1.7
- app-text/libodfgen
- app-text/libwpd:0.9[tools]
- app-text/libwpg:0.2
- >=app-text/libwps-0.2.2
- >=app-text/poppler-0.16:=[xpdf-headers(+),cxx]
- >=dev-cpp/clucene-2.3.3.4-r2
- >=dev-cpp/libcmis-0.3.1:0.3
- dev-db/unixODBC
- >=dev-libs/boost-1.46:=
- dev-libs/expat
- >=dev-libs/hyphen-2.7.1
- >=dev-libs/icu-4.8.1.1:=
- >=dev-libs/liborcus-0.5.1:=
- >=dev-libs/nspr-4.8.8
- >=dev-libs/nss-3.12.9
- >=dev-lang/perl-5.0
- >=dev-libs/openssl-1.0.0d
- >=dev-libs/redland-1.0.16[ssl]
- media-gfx/graphite2
- >=media-libs/fontconfig-2.8.0
- media-libs/freetype:2
- >=media-libs/harfbuzz-0.9.10:=[icu(+)]
- media-libs/lcms:2
- >=media-libs/libpng-1.4
- >=media-libs/libcdr-0.0.5
- media-libs/libvisio
- >=net-misc/curl-7.21.4
- net-nds/openldap
- sci-mathematics/lpsolve
- virtual/jpeg:0
- >=x11-libs/cairo-1.10.0[X]
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- bluetooth? ( net-wireless/bluez )
- cups? ( net-print/cups )
- dbus? ( >=dev-libs/dbus-glib-0.92 )
- eds? ( gnome-extra/evolution-data-server )
- gnome? ( gnome-base/gconf:2 )
- gtk? (
- x11-libs/gdk-pixbuf[X]
- >=x11-libs/gtk+-2.24:2
- )
- gtk3? ( >=x11-libs/gtk+-3.2:3 )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- jemalloc? ( dev-libs/jemalloc )
- libreoffice_extensions_scripting-beanshell? ( >=dev-java/bsh-2.0_beta4 )
- libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
- libreoffice_extensions_wiki-publisher? (
- dev-java/commons-codec:0
- dev-java/commons-httpclient:3
- dev-java/commons-lang:2.1
- dev-java/commons-logging:0
- dev-java/tomcat-servlet-api:3.0
- )
- mysql? ( >=dev-db/mysql-connector-c++-1.1.0 )
- opengl? (
- virtual/glu
- virtual/opengl
- )
- postgres? ( >=dev-db/postgresql-base-9.0[kerberos] )
- telepathy? (
- dev-libs/glib:2
- >=net-libs/telepathy-glib-0.18.0
- >=x11-libs/gtk+-2.24:2
- )
- webdav? ( net-libs/neon )
-"
-
-RDEPEND="${COMMON_DEPEND}
- !app-office/libreoffice-bin
- !app-office/libreoffice-bin-debug
- !<app-office/openoffice-bin-3.4.0-r1
- !app-office/openoffice
- media-fonts/libertine-ttf
- media-fonts/liberation-fonts
- media-fonts/urw-fonts
- java? ( >=virtual/jre-1.6 )
-"
-
-if [[ ${PV} != *9999* ]]; then
- PDEPEND="~app-office/libreoffice-l10n-${PV}"
-else
- # Translations are not reliable on live ebuilds
- # rather force people to use english only.
- PDEPEND="!app-office/libreoffice-l10n"
-fi
-
-# FIXME: cppunit should be moved to test conditional
-# after everything upstream is under gbuild
-# as dmake execute tests right away
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/libxml2-2.7.8
- dev-libs/libxslt
- dev-perl/Archive-Zip
- dev-util/cppunit
- >=dev-util/gperf-3
- dev-util/intltool
- =dev-util/mdds-0.8*:=
- virtual/pkgconfig
- net-misc/npapi-sdk
- >=sys-apps/findutils-4.4.2
- sys-devel/bison
- sys-apps/coreutils
- sys-devel/flex
- sys-devel/gettext
- >=sys-devel/make-3.82
- sys-devel/ucpp
- sys-libs/zlib
- x11-libs/libXt
- x11-libs/libXtst
- x11-proto/randrproto
- x11-proto/xextproto
- x11-proto/xineramaproto
- x11-proto/xproto
- java? (
- >=virtual/jdk-1.6
- >=dev-java/ant-core-1.7
- )
- odk? ( app-doc/doxygen )
- test? ( dev-util/cppunit )
-"
-
-PATCHES=(
- # not upstreamable stuff
- "${FILESDIR}/${PN}-3.7-system-pyuno.patch"
- # bug 485862
- "${FILESDIR}/${P}-idfattrib.patch"
-)
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- bluetooth? ( dbus )
- gnome? ( gtk )
- eds? ( gnome )
- telepathy? ( gtk )
- libreoffice_extensions_nlpsolver? ( java )
- libreoffice_extensions_scripting-beanshell? ( java )
- libreoffice_extensions_scripting-javascript? ( java )
- libreoffice_extensions_wiki-publisher? ( java )
-"
-
-CHECKREQS_MEMORY="512M"
-CHECKREQS_DISK_BUILD="6G"
-
-pkg_pretend() {
- local pgslot
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- check-reqs_pkg_pretend
-
- if [[ $(gcc-major-version) -lt 4 ]] || \
- ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \
- ; then
- eerror "Compilation with gcc older than 4.6 is not supported"
- [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "Too old gcc found."
- fi
- fi
-
- # ensure pg version
- if use postgres && has_version dev-db/postgresql-base; then
- pgslot=$(postgresql-config show)
- if [[ ${pgslot//.} < 90 ]] ; then
- eerror "PostgreSQL slot must be set to 9.0 or higher."
- eerror " postgresql-config set 9.0"
- die "PostgreSQL slot is not set to 9.0 or higher."
- fi
- fi
-}
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
- if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
- kde4-base_pkg_setup
- else
- nonfatal kde4-base_pkg_setup
- fi
- python-single-r1_pkg_setup
-
- [[ ${MERGE_TYPE} != binary ]] && check-reqs_pkg_setup
-}
-
-src_unpack() {
- local mod mod2 dest tmplfile tmplname mypv
-
- [[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
- use branding && unpack "${BRANDING}"
-
- if [[ ${PV} != *9999* ]]; then
- unpack "${P}.tar.xz"
- for mod in ${MODULES}; do
- [[ ${mod} == core ]] && continue
- unpack "${PN}-${mod}-${PV}.tar.xz"
- done
- else
- for mod in ${MODULES}; do
- mypv=${PV/.9999}
- [[ ${mypv} != ${PV} ]] && EGIT_BRANCH="${PN}-${mypv/./-}"
- EGIT_PROJECT="${PN}/${mod}"
- EGIT_SOURCEDIR="${WORKDIR}/${P}"
- [[ ${mod} != core ]] && EGIT_SOURCEDIR="${WORKDIR}/${PN}-${mod}-${PV}"
- EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}/${mod}"
- EGIT_NOUNPACK="true"
- git-2_src_unpack
- if [[ ${mod} != core ]]; then
- mod2=${mod}
- # mapping does not match on help
- [[ ${mod} == help ]] && mod2="helpcontent2"
- mkdir -p "${S}/${mod2}/" || die
- mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}/${mod2}" || die
- rm -rf "${WORKDIR}/${PN}-${mod}-${PV}"
- fi
- done
- unset EGIT_PROJECT EGIT_SOURCEDIR EGIT_REPO_URI EGIT_BRANCH
- fi
-}
-
-src_prepare() {
- # optimization flags
- export GMAKE_OPTIONS="${MAKEOPTS}"
- # System python 2.7 enablement:
- export PYTHON_CFLAGS=$(python_get_CFLAGS)
- export PYTHON_LIBS=$(python_get_LIBS)
-
- # patchset
- if [[ -n ${PATCHSET} ]]; then
- EPATCH_FORCE="yes" \
- EPATCH_SOURCE="${WORKDIR}/${PATCHSET/.tar.xz/}" \
- EPATCH_SUFFIX="patch" \
- epatch
- fi
-
- if use libcxx; then
- epatch "${FILESDIR}"/Make-the-SAL_STREAM-thing-compile.patch
- epatch "${FILESDIR}"/Nah-we-still-need-the-dynamic_cast.patch
-
- epatch "${FILESDIR}"/i122208-replace-the-binaryurp-cache.patch
- epatch "${FILESDIR}"/eliminate-type-ambiguity-for-std-accumulate.patch
-
- ## by eroen
- epatch "${FILESDIR}"/stop-messing-with-stdlib-internals.patch
- epatch "${FILESDIR}"/fake-exception-name2.patch
- epatch "${FILESDIR}"/stop-messing-with-stdlib-internals2.patch
- epatch "${FILESDIR}"/disable-uno-test.patch
- fi
-
- base_src_prepare
-
- AT_M4DIR="m4" eautoreconf
- # hack in the autogen.sh
- touch autogen.lastrun
-
- # system pyuno mess
- sed \
- -e "s:%eprefix%:${EPREFIX}:g" \
- -e "s:%libdir%:$(get_libdir):g" \
- -i pyuno/source/module/uno.py \
- -i scripting/source/pyprov/officehelper.py || die
- # sed in the tests
- sed -i \
- -e 's#all : build unitcheck#all : build#g' \
- solenv/gbuild/Module.mk || die
- sed -i \
- -e 's#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g' \
- -e 's#Makefile.gbuild all slowcheck#Makefile.gbuild all#g' \
- Makefile.in || die
-
- if use branding; then
- # hack...
- mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die
- fi
-}
-
-src_configure() {
- local java_opts
- local internal_libs
- local lo_ext
- local ext_opts
- local jbs=$(sed -ne 's/.*\(-j[[:space:]]*\|--jobs=\)\([[:digit:]]\+\).*/\2/;T;p' <<< "${MAKEOPTS}")
-
- # recheck that there is some value in jobs
- [[ -z ${jbs} ]] && jbs="1"
-
- # sane: just sane.h header that is used for scan in writer, not
- # linked or anything else, worthless to depend on
- # vigra: just uses templates from there
- # it is serious pain in the ass for packaging
- # should be replaced by boost::gil if someone interested
- internal_libs+="
- --without-system-sane
- --without-system-vigra
- "
-
- # libreoffice extensions handling
- for lo_xt in ${LO_EXTS}; do
- if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
- ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt})"
- else
- ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt})"
- fi
- done
-
- if use java; then
- # hsqldb: system one is too new
- java_opts="
- --without-junit
- --without-system-hsqldb
- --with-ant-home="${ANT_HOME}"
- --with-jdk-home=$(java-config --jdk-home 2>/dev/null)
- --with-jvm-path="${EPREFIX}/usr/$(get_libdir)/"
- "
-
- use libreoffice_extensions_scripting-beanshell && \
- java_opts+=" --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)"
-
- use libreoffice_extensions_scripting-javascript && \
- java_opts+=" --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar)"
-
- if use libreoffice_extensions_wiki-publisher; then
- java_opts+="
- --with-commons-codec-jar=$(java-pkg_getjar commons-codec commons-codec.jar)
- --with-commons-httpclient-jar=$(java-pkg_getjar commons-httpclient-3 commons-httpclient.jar)
- --with-commons-lang-jar=$(java-pkg_getjar commons-lang-2.1 commons-lang.jar)
- --with-commons-logging-jar=$(java-pkg_getjar commons-logging commons-logging.jar)
- --with-servlet-api-jar=$(java-pkg_getjar tomcat-servlet-api-3.0 servlet-api.jar)
- "
- fi
- fi
-
- # system headers/libs/...: enforce using system packages
- # --enable-cairo: ensure that cairo is always required
- # --enable-graphite: disabling causes build breakages
- # --enable-*-link: link to the library rather than just dlopen on runtime
- # --enable-release-build: build the libreoffice as release
- # --disable-fetch-external: prevent dowloading during compile phase
- # --disable-gnome-vfs: old gnome virtual fs support
- # --disable-kdeab: kde3 adressbook
- # --disable-kde: kde3 support
- # --disable-rpath: relative runtime path is not desired
- # --disable-systray: quickstarter does not actually work at all so do not
- # promote it
- # --enable-extension-integration: enable any extension integration support
- # --without-{afms,fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
- # --disable-report-builder: too much java packages pulled in without pkgs
- econf \
- --docdir="${EPREFIX}/usr/share/doc/${PF}/" \
- --with-system-headers \
- --with-system-libs \
- --with-system-jars \
- --with-system-dicts \
- --enable-cairo-canvas \
- --enable-graphite \
- --enable-largefile \
- --enable-mergelibs \
- --enable-python=system \
- --enable-randr \
- --enable-randr-link \
- --enable-release-build \
- --enable-hardlink-deliver \
- --disable-ccache \
- --disable-crashdump \
- --disable-dependency-tracking \
- --disable-epm \
- --disable-fetch-external \
- --disable-gnome-vfs \
- --disable-gstreamer-0-10 \
- --disable-report-builder \
- --disable-kdeab \
- --disable-kde \
- --disable-online-update \
- --disable-rpath \
- --disable-systray \
- --with-alloc=$(use jemalloc && echo "jemalloc" || echo "system") \
- --with-build-version="Gentoo official package" \
- --enable-extension-integration \
- --with-external-dict-dir="${EPREFIX}/usr/share/myspell" \
- --with-external-hyph-dir="${EPREFIX}/usr/share/myspell" \
- --with-external-thes-dir="${EPREFIX}/usr/share/myspell" \
- --with-external-tar="${DISTDIR}" \
- --with-lang="" \
- --with-parallelism=${jbs} \
- --with-system-ucpp \
- --with-vendor="Gentoo Foundation" \
- --with-x \
- --without-afms \
- --without-fonts \
- --without-myspell-dicts \
- --without-help \
- --with-helppack-integration \
- --without-sun-templates \
- $(use_enable bluetooth sdremote-bluetooth) \
- $(use_enable cups) \
- $(use_enable debug) \
- $(use_enable dbus) \
- $(use_enable eds evolution2) \
- $(use_enable gnome gconf) \
- $(use_enable gnome gio) \
- $(use_enable gnome lockdown) \
- $(use_enable gstreamer) \
- $(use_enable gtk) \
- $(use_enable gtk3) \
- $(use_enable kde kde4) \
- $(use_enable mysql ext-mariadb-connector) \
- $(use_enable odk) \
- $(use_enable opengl) \
- $(use_enable postgres postgresql-sdbc) \
- $(use_enable telepathy) \
- $(use_enable test linkoo) \
- $(use_enable vba) \
- $(use_enable webdav neon) \
- $(use_with java) \
- $(use_with mysql system-mysql-cppconn) \
- $(use_with odk doxygen) \
- ${internal_libs} \
- ${java_opts} \
- ${ext_opts}
-}
-
-src_compile() {
- # hack for offlinehelp, this needs fixing upstream at some point
- # it is broken because we send --without-help
- # https://bugs.freedesktop.org/show_bug.cgi?id=46506
- (
- grep "^export" "${S}/config_host.mk" > "${T}/config_host.mk"
- source "${T}/config_host.mk" 2&> /dev/null
-
- local path="${SOLARVER}/${INPATH}/res/img"
- mkdir -p "${path}" || die
-
- echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=icon-themes/galaxy/res/helpimg > \"${path}/helpimg.ilst\""
- perl "${S}/helpcontent2/helpers/create_ilst.pl" \
- -dir=icon-themes/galaxy/res/helpimg \
- > "${path}/helpimg.ilst"
- [[ -s "${path}/helpimg.ilst" ]] || ewarn "The help images list is empty, something is fishy, report a bug."
- )
-
- local target
- use test && target="build" || target="build-nocheck"
-
- # this is not a proper make script
- make ${target} || die
-}
-
-src_test() {
- make unitcheck || die
- make slowcheck || die
-}
-
-src_install() {
- # This is not Makefile so no buildserver
- make DESTDIR="${D}" distro-pack-install -o build -o check || die
-
- # Fix bash completion placement
- newbashcomp "${ED}"/etc/bash_completion.d/libreoffice.sh ${PN}
- rm -rf "${ED}"/etc/
-
- if use branding; then
- insinto /usr/$(get_libdir)/${PN}/program
- newins "${WORKDIR}/branding-sofficerc" sofficerc
- fi
-
- # symlink the nsplugin to proper location
- # use gtk && inst_plugin /usr/$(get_libdir)/libreoffice/program/libnpsoplugin.so
-
- # Hack for offlinehelp, this needs fixing upstream at some point.
- # It is broken because we send --without-help
- # https://bugs.freedesktop.org/show_bug.cgi?id=46506
- insinto /usr/$(get_libdir)/libreoffice/help
- doins xmlhelp/util/*.xsl
-
- # Remove desktop files for support to old installs that can't parse mime
- rm -rf "${ED}"/usr/share/mimelnk/
-}
-
-pkg_preinst() {
- # Cache updates - all handled by kde eclass for all environments
- kde4-base_pkg_preinst
-}
-
-pkg_postinst() {
- kde4-base_pkg_postinst
-
- pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/soffice.bin
- pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/unopkg.bin
-
- use java || \
- ewarn 'If you plan to use lbase application you should enable java or you will get various crashes.'
-}
-
-pkg_postrm() {
- kde4-base_pkg_postrm
-}
diff --git a/app-office/libreoffice/libreoffice-4.1.2.3.ebuild b/app-office/libreoffice/libreoffice-4.1.2.3.ebuild
deleted file mode 100644
index a6cfc19..0000000
--- a/app-office/libreoffice/libreoffice-4.1.2.3.ebuild
+++ /dev/null
@@ -1,596 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-4.1.2.3.ebuild,v 1.1 2013/10/04 19:34:11 dilfridge Exp $
-
-EAPI=5
-
-KDE_REQUIRED="optional"
-QT_MINIMAL="4.7.4"
-KDE_SCM="git"
-CMAKE_REQUIRED="never"
-
-PYTHON_COMPAT=( python2_7 python3_3 )
-PYTHON_REQ_USE="threads,xml"
-
-# experimental ; release ; old
-# Usually the tarballs are moved a lot so this should make
-# everyone happy.
-DEV_URI="
- http://dev-builds.libreoffice.org/pre-releases/src
- http://download.documentfoundation.org/libreoffice/src/${PV:0:5}/
- http://download.documentfoundation.org/libreoffice/old/${PV}/
-"
-EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
-ADDONS_URI="http://dev-www.libreoffice.org/src/"
-
-BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
-# PATCHSET="${P}-patchset-01.tar.xz"
-
-[[ ${PV} == *9999* ]] && SCM_ECLASS="git-2"
-inherit base autotools bash-completion-r1 check-reqs eutils java-pkg-opt-2 kde4-base pax-utils python-single-r1 multilib toolchain-funcs flag-o-matic nsplugins ${SCM_ECLASS}
-unset SCM_ECLASS
-
-DESCRIPTION="LibreOffice, a full office productivity suite."
-HOMEPAGE="http://www.libreoffice.org"
-SRC_URI="branding? ( http://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
-[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/${PATCHSET}"
-
-# Split modules following git/tarballs
-# Core MUST be first!
-# Help is used for the image generator
-MODULES="core help"
-# Only release has the tarballs
-if [[ ${PV} != *9999* ]]; then
- for i in ${DEV_URI}; do
- for mod in ${MODULES}; do
- if [[ ${mod} == core ]]; then
- SRC_URI+=" ${i}/${P}.tar.xz"
- else
- SRC_URI+=" ${i}/${PN}-${mod}-${PV}.tar.xz"
- fi
- done
- unset mod
- done
- unset i
-fi
-unset DEV_URI
-
-# Really required addons
-# These are bundles that can't be removed for now due to huge patchsets.
-# If you want them gone, patches are welcome.
-ADDONS_SRC+=" ${ADDONS_URI}/ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz"
-ADDONS_SRC+=" ${ADDONS_URI}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" # modifies source code
-ADDONS_SRC+=" java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
-ADDONS_SRC+=" libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )" # no release for 8 years, should we package it?
-ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )" # Does not build with 1.6 rhino at all
-ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )" # requirement of rhino
-ADDONS_SRC+=" odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )" # not packageable
-SRC_URI+=" ${ADDONS_SRC}"
-
-unset ADDONS_URI
-unset EXT_URI
-unset ADDONS_SRC
-
-IUSE="bluetooth +branding +cups dbus debug eds gnome gstreamer +gtk
-gtk3 jemalloc kde libcxx mysql odk opengl postgres telepathy test +vba +webdav"
-
-LO_EXTS="nlpsolver presenter-minimizer scripting-beanshell scripting-javascript wiki-publisher"
-# Unpackaged separate extensions:
-# diagram: lo has 0.9.5 upstream is weirdly patched 0.9.4 -> wtf?
-# hunart: only on ooo extensions -> fubared download path somewhere on sf
-# numbertext, typo, validator, watch-window: ^^
-# oooblogger: no homepage or anything
-# Extensions that need extra work:
-for lo_xt in ${LO_EXTS}; do
- IUSE+=" libreoffice_extensions_${lo_xt}"
-done
-unset lo_xt
-
-LICENSE="|| ( LGPL-3 MPL-1.1 )"
-SLOT="0"
-[[ ${PV} == *9999* ]] || \
-KEYWORDS="~amd64 ~x86"
-
-COMMON_DEPEND="
- ${PYTHON_DEPS}
- app-arch/zip
- app-arch/unzip
- >=app-text/hunspell-1.3.2-r3
- app-text/mythes
- >=app-text/libexttextcat-3.2
- app-text/liblangtag
- app-text/libmspub
- >=app-text/libmwaw-0.1.7
- app-text/libodfgen
- app-text/libwpd:0.9[tools]
- app-text/libwpg:0.2
- >=app-text/libwps-0.2.2
- >=app-text/poppler-0.16:=[xpdf-headers(+),cxx]
- >=dev-cpp/clucene-2.3.3.4-r2
- >=dev-cpp/libcmis-0.3.1:0.3
- dev-db/unixODBC
- >=dev-libs/boost-1.46:=
- dev-libs/expat
- >=dev-libs/hyphen-2.7.1
- >=dev-libs/icu-4.8.1.1:=
- >=dev-libs/liborcus-0.5.1:=
- >=dev-libs/nspr-4.8.8
- >=dev-libs/nss-3.12.9
- >=dev-lang/perl-5.0
- >=dev-libs/openssl-1.0.0d
- >=dev-libs/redland-1.0.16[ssl]
- media-gfx/graphite2
- >=media-libs/fontconfig-2.8.0
- media-libs/freetype:2
- >=media-libs/harfbuzz-0.9.10:=[icu(+)]
- media-libs/lcms:2
- >=media-libs/libpng-1.4
- >=media-libs/libcdr-0.0.5
- media-libs/libvisio
- >=net-misc/curl-7.21.4
- net-nds/openldap
- sci-mathematics/lpsolve
- virtual/jpeg:0
- >=x11-libs/cairo-1.10.0[X]
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- bluetooth? ( net-wireless/bluez )
- cups? ( net-print/cups )
- dbus? ( >=dev-libs/dbus-glib-0.92 )
- eds? ( gnome-extra/evolution-data-server )
- gnome? ( gnome-base/gconf:2 )
- gtk? (
- x11-libs/gdk-pixbuf[X]
- >=x11-libs/gtk+-2.24:2
- )
- gtk3? ( >=x11-libs/gtk+-3.2:3 )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- jemalloc? ( dev-libs/jemalloc )
- libreoffice_extensions_scripting-beanshell? ( >=dev-java/bsh-2.0_beta4 )
- libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
- libreoffice_extensions_wiki-publisher? (
- dev-java/commons-codec:0
- dev-java/commons-httpclient:3
- dev-java/commons-lang:2.1
- dev-java/commons-logging:0
- dev-java/tomcat-servlet-api:3.0
- )
- mysql? ( >=dev-db/mysql-connector-c++-1.1.0 )
- opengl? (
- virtual/glu
- virtual/opengl
- )
- postgres? ( >=dev-db/postgresql-base-9.0[kerberos] )
- telepathy? (
- dev-libs/glib:2
- >=net-libs/telepathy-glib-0.18.0
- >=x11-libs/gtk+-2.24:2
- )
- webdav? ( net-libs/neon )
-"
-
-RDEPEND="${COMMON_DEPEND}
- !app-office/libreoffice-bin
- !app-office/libreoffice-bin-debug
- !<app-office/openoffice-bin-3.4.0-r1
- !app-office/openoffice
- media-fonts/libertine-ttf
- media-fonts/liberation-fonts
- media-fonts/urw-fonts
- java? ( >=virtual/jre-1.6 )
-"
-
-if [[ ${PV} != *9999* ]]; then
- PDEPEND="~app-office/libreoffice-l10n-${PV}"
-else
- # Translations are not reliable on live ebuilds
- # rather force people to use english only.
- PDEPEND="!app-office/libreoffice-l10n"
-fi
-
-# FIXME: cppunit should be moved to test conditional
-# after everything upstream is under gbuild
-# as dmake execute tests right away
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/libxml2-2.7.8
- dev-libs/libxslt
- dev-perl/Archive-Zip
- dev-util/cppunit
- >=dev-util/gperf-3
- dev-util/intltool
- =dev-util/mdds-0.8*:=
- virtual/pkgconfig
- net-misc/npapi-sdk
- >=sys-apps/findutils-4.4.2
- sys-devel/bison
- sys-apps/coreutils
- sys-devel/flex
- sys-devel/gettext
- >=sys-devel/make-3.82
- sys-devel/ucpp
- sys-libs/zlib
- x11-libs/libXt
- x11-libs/libXtst
- x11-proto/randrproto
- x11-proto/xextproto
- x11-proto/xineramaproto
- x11-proto/xproto
- java? (
- >=virtual/jdk-1.6
- >=dev-java/ant-core-1.7
- )
- odk? ( app-doc/doxygen )
- test? ( dev-util/cppunit )
-"
-
-PATCHES=(
- # not upstreamable stuff
- "${FILESDIR}/${PN}-3.7-system-pyuno.patch"
-)
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- bluetooth? ( dbus )
- gnome? ( gtk )
- eds? ( gnome )
- telepathy? ( gtk )
- libreoffice_extensions_nlpsolver? ( java )
- libreoffice_extensions_scripting-beanshell? ( java )
- libreoffice_extensions_scripting-javascript? ( java )
- libreoffice_extensions_wiki-publisher? ( java )
-"
-
-CHECKREQS_MEMORY="512M"
-CHECKREQS_DISK_BUILD="6G"
-
-pkg_pretend() {
- local pgslot
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- check-reqs_pkg_pretend
-
- if [[ $(gcc-major-version) -lt 4 ]] || \
- ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \
- ; then
- eerror "Compilation with gcc older than 4.6 is not supported"
- [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "Too old gcc found."
- fi
- fi
-
- # ensure pg version
- if use postgres && has_version dev-db/postgresql-base; then
- pgslot=$(postgresql-config show)
- if [[ ${pgslot//.} < 90 ]] ; then
- eerror "PostgreSQL slot must be set to 9.0 or higher."
- eerror " postgresql-config set 9.0"
- die "PostgreSQL slot is not set to 9.0 or higher."
- fi
- fi
-}
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
- if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
- kde4-base_pkg_setup
- else
- nonfatal kde4-base_pkg_setup
- fi
- python-single-r1_pkg_setup
-
- [[ ${MERGE_TYPE} != binary ]] && check-reqs_pkg_setup
-}
-
-src_unpack() {
- local mod mod2 dest tmplfile tmplname mypv
-
- [[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
- use branding && unpack "${BRANDING}"
-
- if [[ ${PV} != *9999* ]]; then
- unpack "${P}.tar.xz"
- for mod in ${MODULES}; do
- [[ ${mod} == core ]] && continue
- unpack "${PN}-${mod}-${PV}.tar.xz"
- done
- else
- for mod in ${MODULES}; do
- mypv=${PV/.9999}
- [[ ${mypv} != ${PV} ]] && EGIT_BRANCH="${PN}-${mypv/./-}"
- EGIT_PROJECT="${PN}/${mod}"
- EGIT_SOURCEDIR="${WORKDIR}/${P}"
- [[ ${mod} != core ]] && EGIT_SOURCEDIR="${WORKDIR}/${PN}-${mod}-${PV}"
- EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}/${mod}"
- EGIT_NOUNPACK="true"
- git-2_src_unpack
- if [[ ${mod} != core ]]; then
- mod2=${mod}
- # mapping does not match on help
- [[ ${mod} == help ]] && mod2="helpcontent2"
- mkdir -p "${S}/${mod2}/" || die
- mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}/${mod2}" || die
- rm -rf "${WORKDIR}/${PN}-${mod}-${PV}"
- fi
- done
- unset EGIT_PROJECT EGIT_SOURCEDIR EGIT_REPO_URI EGIT_BRANCH
- fi
-}
-
-src_prepare() {
- # optimization flags
- export GMAKE_OPTIONS="${MAKEOPTS}"
- # System python 2.7 enablement:
- export PYTHON_CFLAGS=$(python_get_CFLAGS)
- export PYTHON_LIBS=$(python_get_LIBS)
-
- # patchset
- if [[ -n ${PATCHSET} ]]; then
- EPATCH_FORCE="yes" \
- EPATCH_SOURCE="${WORKDIR}/${PATCHSET/.tar.xz/}" \
- EPATCH_SUFFIX="patch" \
- epatch
- fi
-
- if use libcxx; then
- epatch "${FILESDIR}"/Make-the-SAL_STREAM-thing-compile.patch
- epatch "${FILESDIR}"/Nah-we-still-need-the-dynamic_cast.patch
-
- epatch "${FILESDIR}"/i122208-replace-the-binaryurp-cache.patch
- epatch "${FILESDIR}"/eliminate-type-ambiguity-for-std-accumulate.patch
-
- ## by eroen
- epatch "${FILESDIR}"/stop-messing-with-stdlib-internals.patch
- epatch "${FILESDIR}"/fake-exception-name2.patch
- epatch "${FILESDIR}"/stop-messing-with-stdlib-internals2.patch
- epatch "${FILESDIR}"/disable-uno-test.patch
- fi
-
- base_src_prepare
-
- AT_M4DIR="m4" eautoreconf
- # hack in the autogen.sh
- touch autogen.lastrun
-
- # system pyuno mess
- sed \
- -e "s:%eprefix%:${EPREFIX}:g" \
- -e "s:%libdir%:$(get_libdir):g" \
- -i pyuno/source/module/uno.py \
- -i scripting/source/pyprov/officehelper.py || die
- # sed in the tests
- sed -i \
- -e 's#all : build unitcheck#all : build#g' \
- solenv/gbuild/Module.mk || die
- sed -i \
- -e 's#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g' \
- -e 's#Makefile.gbuild all slowcheck#Makefile.gbuild all#g' \
- Makefile.in || die
-
- if use branding; then
- # hack...
- mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die
- fi
-}
-
-src_configure() {
- local java_opts
- local internal_libs
- local lo_ext
- local ext_opts
- local jbs=$(sed -ne 's/.*\(-j[[:space:]]*\|--jobs=\)\([[:digit:]]\+\).*/\2/;T;p' <<< "${MAKEOPTS}")
-
- # recheck that there is some value in jobs
- [[ -z ${jbs} ]] && jbs="1"
-
- # sane: just sane.h header that is used for scan in writer, not
- # linked or anything else, worthless to depend on
- # vigra: just uses templates from there
- # it is serious pain in the ass for packaging
- # should be replaced by boost::gil if someone interested
- internal_libs+="
- --without-system-sane
- --without-system-vigra
- "
-
- # libreoffice extensions handling
- for lo_xt in ${LO_EXTS}; do
- if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
- ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt})"
- else
- ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt})"
- fi
- done
-
- if use java; then
- # hsqldb: system one is too new
- java_opts="
- --without-junit
- --without-system-hsqldb
- --with-ant-home="${ANT_HOME}"
- --with-jdk-home=$(java-config --jdk-home 2>/dev/null)
- --with-jvm-path="${EPREFIX}/usr/$(get_libdir)/"
- "
-
- use libreoffice_extensions_scripting-beanshell && \
- java_opts+=" --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)"
-
- use libreoffice_extensions_scripting-javascript && \
- java_opts+=" --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar)"
-
- if use libreoffice_extensions_wiki-publisher; then
- java_opts+="
- --with-commons-codec-jar=$(java-pkg_getjar commons-codec commons-codec.jar)
- --with-commons-httpclient-jar=$(java-pkg_getjar commons-httpclient-3 commons-httpclient.jar)
- --with-commons-lang-jar=$(java-pkg_getjar commons-lang-2.1 commons-lang.jar)
- --with-commons-logging-jar=$(java-pkg_getjar commons-logging commons-logging.jar)
- --with-servlet-api-jar=$(java-pkg_getjar tomcat-servlet-api-3.0 servlet-api.jar)
- "
- fi
- fi
-
- # system headers/libs/...: enforce using system packages
- # --enable-cairo: ensure that cairo is always required
- # --enable-graphite: disabling causes build breakages
- # --enable-*-link: link to the library rather than just dlopen on runtime
- # --enable-release-build: build the libreoffice as release
- # --disable-fetch-external: prevent dowloading during compile phase
- # --disable-gnome-vfs: old gnome virtual fs support
- # --disable-kdeab: kde3 adressbook
- # --disable-kde: kde3 support
- # --disable-rpath: relative runtime path is not desired
- # --disable-systray: quickstarter does not actually work at all so do not
- # promote it
- # --enable-extension-integration: enable any extension integration support
- # --without-{afms,fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
- # --disable-report-builder: too much java packages pulled in without pkgs
- econf \
- --docdir="${EPREFIX}/usr/share/doc/${PF}/" \
- --with-system-headers \
- --with-system-libs \
- --with-system-jars \
- --with-system-dicts \
- --enable-cairo-canvas \
- --enable-graphite \
- --enable-largefile \
- --enable-mergelibs \
- --enable-python=system \
- --enable-randr \
- --enable-randr-link \
- --enable-release-build \
- --enable-hardlink-deliver \
- --disable-ccache \
- --disable-crashdump \
- --disable-dependency-tracking \
- --disable-epm \
- --disable-fetch-external \
- --disable-gnome-vfs \
- --disable-gstreamer-0-10 \
- --disable-report-builder \
- --disable-kdeab \
- --disable-kde \
- --disable-online-update \
- --disable-rpath \
- --disable-systray \
- --with-alloc=$(use jemalloc && echo "jemalloc" || echo "system") \
- --with-build-version="Gentoo official package" \
- --enable-extension-integration \
- --with-external-dict-dir="${EPREFIX}/usr/share/myspell" \
- --with-external-hyph-dir="${EPREFIX}/usr/share/myspell" \
- --with-external-thes-dir="${EPREFIX}/usr/share/myspell" \
- --with-external-tar="${DISTDIR}" \
- --with-lang="" \
- --with-parallelism=${jbs} \
- --with-system-ucpp \
- --with-vendor="Gentoo Foundation" \
- --with-x \
- --without-afms \
- --without-fonts \
- --without-myspell-dicts \
- --without-help \
- --with-helppack-integration \
- --without-sun-templates \
- $(use_enable bluetooth sdremote-bluetooth) \
- $(use_enable cups) \
- $(use_enable debug) \
- $(use_enable dbus) \
- $(use_enable eds evolution2) \
- $(use_enable gnome gconf) \
- $(use_enable gnome gio) \
- $(use_enable gnome lockdown) \
- $(use_enable gstreamer) \
- $(use_enable gtk) \
- $(use_enable gtk3) \
- $(use_enable kde kde4) \
- $(use_enable mysql ext-mariadb-connector) \
- $(use_enable odk) \
- $(use_enable opengl) \
- $(use_enable postgres postgresql-sdbc) \
- $(use_enable telepathy) \
- $(use_enable test linkoo) \
- $(use_enable vba) \
- $(use_enable webdav neon) \
- $(use_with java) \
- $(use_with mysql system-mysql-cppconn) \
- $(use_with odk doxygen) \
- ${internal_libs} \
- ${java_opts} \
- ${ext_opts}
-}
-
-src_compile() {
- # hack for offlinehelp, this needs fixing upstream at some point
- # it is broken because we send --without-help
- # https://bugs.freedesktop.org/show_bug.cgi?id=46506
- (
- grep "^export" "${S}/config_host.mk" > "${T}/config_host.mk"
- source "${T}/config_host.mk" 2&> /dev/null
-
- local path="${SOLARVER}/${INPATH}/res/img"
- mkdir -p "${path}" || die
-
- echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=icon-themes/galaxy/res/helpimg > \"${path}/helpimg.ilst\""
- perl "${S}/helpcontent2/helpers/create_ilst.pl" \
- -dir=icon-themes/galaxy/res/helpimg \
- > "${path}/helpimg.ilst"
- [[ -s "${path}/helpimg.ilst" ]] || ewarn "The help images list is empty, something is fishy, report a bug."
- )
-
- local target
- use test && target="build" || target="build-nocheck"
-
- # this is not a proper make script
- make ${target} || die
-}
-
-src_test() {
- make unitcheck || die
- make slowcheck || die
-}
-
-src_install() {
- # This is not Makefile so no buildserver
- make DESTDIR="${D}" distro-pack-install -o build -o check || die
-
- # Fix bash completion placement
- newbashcomp "${ED}"/etc/bash_completion.d/libreoffice.sh ${PN}
- rm -rf "${ED}"/etc/
-
- if use branding; then
- insinto /usr/$(get_libdir)/${PN}/program
- newins "${WORKDIR}/branding-sofficerc" sofficerc
- fi
-
- # symlink the nsplugin to proper location
- # use gtk && inst_plugin /usr/$(get_libdir)/libreoffice/program/libnpsoplugin.so
-
- # Hack for offlinehelp, this needs fixing upstream at some point.
- # It is broken because we send --without-help
- # https://bugs.freedesktop.org/show_bug.cgi?id=46506
- insinto /usr/$(get_libdir)/libreoffice/help
- doins xmlhelp/util/*.xsl
-
- # Remove desktop files for support to old installs that can't parse mime
- rm -rf "${ED}"/usr/share/mimelnk/
-}
-
-pkg_preinst() {
- # Cache updates - all handled by kde eclass for all environments
- kde4-base_pkg_preinst
-}
-
-pkg_postinst() {
- kde4-base_pkg_postinst
-
- pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/soffice.bin
- pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/unopkg.bin
-
- use java || \
- ewarn 'If you plan to use lbase application you should enable java or you will get various crashes.'
-}
-
-pkg_postrm() {
- kde4-base_pkg_postrm
-}
diff --git a/app-office/libreoffice/metadata.xml b/app-office/libreoffice/metadata.xml
deleted file mode 100644
index 49b91ab..0000000
--- a/app-office/libreoffice/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>openoffice</herd>
- <longdescription>LibreOffice is a fork of OpenOffice.org.
-This ebuild allows you to compile it yourself. Unfortunately this
-compilation can take up to a day depending on the speed of your
-computer. It will however make a snappier openoffice than the binary
-version</longdescription>
- <use>
- <flag name="gtk3">Enable highly experimental gtk3 frontend</flag>
- <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
- <flag name="libcxx">Apply patches to build against <pkg>sys-libs/libcxx</pkg></flag>
- <flag name="odk">Build the Office Development Kit</flag>
- <flag name="telepathy">Enable document colaboration features using telepathy communication framework.</flag>
- <flag name="vba">Enable support for VBA compatibility and ActiveX embedding</flag>
- <flag name="vlc">Use <pkg>media-video/vlc</pkg> for video embedding</flag>
- <flag name="webdav">Adds support for HTTP content adding via <pkg>net-libs/neon</pkg></flag>
- </use>
-</pkgmetadata>
diff --git a/dev-cpp/clucene/Manifest b/dev-cpp/clucene/Manifest
deleted file mode 100644
index 98912ee..0000000
--- a/dev-cpp/clucene/Manifest
+++ /dev/null
@@ -1,8 +0,0 @@
-AUX clucene-2.3.3.4-add-missing-include-pthread-h.patch 539 SHA256 c57a9f0122d9b1bc401ec118881418120b5076c084989297d9e9a68bcd12bc51 SHA512 f3528e372ae8b1a1e6b4193877bbe2bfe0cee1764d7822a02c28b3adefae31e13bb11fc7839f1de48f4ec2449f86dd1386a6c626de46a5f378063e6f4363bdd6 WHIRLPOOL 80bda6c787cfa19d23c8b991f034148a82a60e6f06e56ec5e1db5811227bd4635276691501c8c28afffa206ae55ed22d8e162878181fc2fa84631c28113ffe56
-AUX clucene-2.3.3.4-contrib.patch 1697 SHA256 3d3f73685f75b4ceacf1941e50b6108941bded3ca558ac1343c35b1b7d0e78dc SHA512 0aa92635949089196e4e7c579e78761e8751987ef5036320a161a4aaa67da3c63756398c903419c76ea0fbdc8a949e871fcb65be98179a9853a24a5a4cacfde3 WHIRLPOOL 7ba0a5d9cdb9be45e8508fdd602259119c4c1b978257c938ec1c23ab203bda73b37bae4e6296423ecdabf29b6eae348edae9b42108054875132da28ed6e9097e
-AUX clucene-2.3.3.4-libc-disambiguate-typedefs.patch 1069 SHA256 75464833e31e9370e0d02e32ef13c741ece71750896b7166144da85e013b9959 SHA512 ec289a57408db1464b99a31b473964b2eec43d3ba638dd3310741da3cc47d70a111f9ddd8a83d1106c781cacf563e0e9db31679e80e3d84109d8257561e1399c WHIRLPOOL a6fbfd1b775beeca6984ca43166ee05c40078c854778a8ebd3fe854de21a2cfca5e1a11dbfbce0c4a046e1267edeff2ece28247df8bef73b02b6e596d5cc235d
-AUX clucene-2.3.3.4-pkgconfig.patch 871 SHA256 ae92955cecb57ec732233dc33d057f9a0677fc9e17d2461911b300037cbb65f7 SHA512 afcdf00537c8eb9c75ed569356520551ea194c8edc636f6e82bd0b1ef60e33396c1e2722b895aced2b58358950b3c5c1df2a914295074e9e99485ca6cee21c18 WHIRLPOOL 21dbf53462c053efb77cef1356d5bc33d9728ff1ca356b3cdb1b211ca0552d5d299665ecaeebf9115d25e6dda01a6baf44e4787d2124aab6f655e35175ab812d
-AUX series 110 SHA256 6b6c2431e1fe6c7f7a91661980b1dffd866fd53ff6cf20db534e9e0c7e65eee1 SHA512 8352aa3b8267f9b6f9c8af49ae750387dd8944d7f1a7056dcb55906c3c87e50eb3eae8d9ecf44c2389364740cb8b1c83ba8b6df882bbe75f379c88a6b69abfaa WHIRLPOOL 4b9db5f46baca5ba6f3b6676d057838ebf3cd8fae4b192afb46eb89e353b61ecb1cdb94ac655be3da672125cbe6f26a36a89bc295be30f7e474cbfc3c13fce4a
-DIST clucene-core-2.3.3.4.tar.gz 2241498 SHA256 ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab SHA512 1c9da9077edcebd46563bd9e47d330518e0b30061016650a759cfe051e9748fdad8932a472b1cca53a6adafed5f41656527271fc5f55ddfcefb558f0d83286b4 WHIRLPOOL d9e80807b6a1a9afb318be5e795af1edf1ba60734a33c4ee3a9be95863cb97bd13f6d7e144ddff631a5deebce890ef002f3196fe511c57a33f94db29a56c6315
-EBUILD clucene-2.3.3.4-r5.ebuild 1679 SHA256 e0d2aecbb719a3be129c4e1f95c19e762ad3f5f08d110d78d13eec10d64454e4 SHA512 c3a95ffcd04f07fe73dfcc6aae04e941e58cfd5896fc79c5179a0d003c7c0d1062f746a0aebdfb0f0420bd04b670d0767a5186b609e709ce17d3aa22a706eda7 WHIRLPOOL 26205f0f0255ff15bd6a10f432b0b3383c997120fe50c16144a5c8f769584185656864afe36aba51d478986afe0755f14c3867c6a491ad0b070eccd0c3faf155
-MISC metadata.xml 157 SHA256 01f6fa4357ce08e8b0f7900a51fa78c7f060fefc7c7da98acaec1e283dd59892 SHA512 657d6b0a31ceb7ac10bedfd5cbd634d4ff47938bd2f321203f0233e53686f7e0fd460e81f82793804895c7e97cfa472c1ca44b93314574262ee8cc5745a3efd0 WHIRLPOOL 785331909f1834cdd5d797ad484ea0e35c3e44c79a8a7517a6fb5de926acd181abd57910c8d960fb2e11ea38ddea336bca309af16fcc2df68fe4b602bca120b3
diff --git a/dev-cpp/clucene/clucene-2.3.3.4-r5.ebuild b/dev-cpp/clucene/clucene-2.3.3.4-r5.ebuild
deleted file mode 100644
index e6ba7ba..0000000
--- a/dev-cpp/clucene/clucene-2.3.3.4-r5.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/clucene/clucene-2.3.3.4-r5.ebuild,v 1.1 2013/07/04 16:36:45 scarabeus Exp $
-
-EAPI=5
-
-MY_PN="${PN}"-core
-MY_P="${MY_PN}"-"${PV}"
-
-inherit base cmake-utils multilib
-
-DESCRIPTION="High-performance, full-featured text search engine based off of lucene in C++"
-HOMEPAGE="http://clucene.sourceforge.net/"
-SRC_URI="mirror://sourceforge/clucene/${MY_P}.tar.gz"
-
-LICENSE="|| ( Apache-2.0 LGPL-2.1 )"
-SLOT="1"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="debug doc static-libs"
-
-DEPEND="
- doc? ( >=app-doc/doxygen-1.4.2 )
-"
-RDEPEND="!<app-misc/strigi-0.7.5-r3"
-
-RESTRICT="test"
-
-DOCS=(AUTHORS ChangeLog README README.PACKAGE REQUESTS)
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${P}-contrib.patch"
- "${FILESDIR}/${P}-pkgconfig.patch"
- "${FILESDIR}/${P}-add-missing-include-pthread-h.patch"
- "${FILESDIR}/${P}-libc-disambiguate-typedefs.patch"
-)
-
-src_prepare() {
- base_src_prepare
-
- # patch out installing bundled boost headers, we build against system one
- sed -i \
- -e '/ADD_SUBDIRECTORY (src\/ext)/d' \
- CMakeLists.txt || die
- rm -rf src/ext || die
-}
-
-src_configure() {
- # Disabled threads: see upstream bug
- # https://sourceforge.net/tracker/?func=detail&aid=3237301&group_id=80013&atid=558446
- local mycmakeargs=(
- -DENABLE_ASCII_MODE=OFF
- -DENABLE_PACKAGING=OFF
- -DDISABLE_MULTITHREADING=OFF
- -DBUILD_CONTRIBS_LIB=ON
- "-DLIB_DESTINATION=${EPREFIX}/usr/$(get_libdir)"
- $(cmake-utils_use_enable debug)
- $(cmake-utils_use_enable doc CLDOCS)
- $(cmake-utils_use_build static-libs STATIC_LIBRARIES)
- )
-
- cmake-utils_src_configure
-}
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-add-missing-include-pthread-h.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-add-missing-include-pthread-h.patch
deleted file mode 100644
index b702eec..0000000
--- a/dev-cpp/clucene/files/clucene-2.3.3.4-add-missing-include-pthread-h.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-add missing #include <pthread.h>
-
-From: eroen <eroen@occam.eroen.eu>
-
-
----
- src/shared/CLucene/LuceneThreads.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/shared/CLucene/LuceneThreads.h b/src/shared/CLucene/LuceneThreads.h
-index 97072ee..04ceeb2 100644
---- a/src/shared/CLucene/LuceneThreads.h
-+++ b/src/shared/CLucene/LuceneThreads.h
-@@ -7,6 +7,10 @@
- #ifndef _LuceneThreads_h
- #define _LuceneThreads_h
-
-+#if defined(_CL_HAVE_PTHREAD)
-+#include <pthread.h>
-+#endif
-+
-
- CL_NS_DEF(util)
- class CLuceneThreadIdCompare;
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-contrib.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-contrib.patch
deleted file mode 100644
index 8fbb3c7..0000000
--- a/dev-cpp/clucene/files/clucene-2.3.3.4-contrib.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -NaurpBb clucene-core-2.3.3.4/CMakeLists.txt clucene-core-2.3.3.4-mod/CMakeLists.txt
---- clucene-core-2.3.3.4/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
-+++ clucene-core-2.3.3.4-mod/CMakeLists.txt 2011-08-16 16:56:55.968268152 +0400
-@@ -163,7 +163,7 @@ IF ( BUILD_CONTRIBS )
- SET(BUILD_CONTRIBS_LIB 1)
- ENDIF ( BUILD_CONTRIBS )
- IF ( BUILD_CONTRIBS_LIB )
-- ADD_SUBDIRECTORY (src/contribs-lib EXCLUDE_FROM_ALL)
-+ ADD_SUBDIRECTORY (src/contribs-lib)
- ENDIF ( BUILD_CONTRIBS_LIB )
-
-
-diff -NaurpBb clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt
---- clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
-+++ clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt 2011-08-16 17:14:13.499275499 +0400
-@@ -106,9 +106,26 @@ add_library(clucene-contribs-lib SHARED
- )
- TARGET_LINK_LIBRARIES(clucene-contribs-lib ${clucene_contrib_extra_libs})
-
-+#install public headers.
-+FOREACH(file ${HEADERS})
-+ get_filename_component(apath ${file} PATH)
-+ get_filename_component(aname ${file} NAME)
-+ file(RELATIVE_PATH relpath ${CMAKE_SOURCE_DIR}/src/contribs-lib ${apath})
-+ IF ( NOT aname MATCHES "^_.*" )
-+ install(FILES ${file}
-+ DESTINATION include/${relpath}
-+ COMPONENT development)
-+ ENDIF ( NOT aname MATCHES "^_.*" )
-+ENDFOREACH(file)
-+
- #set properties on the libraries
- SET_TARGET_PROPERTIES(clucene-contribs-lib PROPERTIES
- VERSION ${CLUCENE_VERSION}
- SOVERSION ${CLUCENE_SOVERSION}
- COMPILE_DEFINITIONS_DEBUG _DEBUG
- )
-+
-+#and install library
-+install(TARGETS clucene-contribs-lib
-+ DESTINATION ${LIB_DESTINATION}
-+ COMPONENT runtime )
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-libc-disambiguate-typedefs.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-libc-disambiguate-typedefs.patch
deleted file mode 100644
index ae97763..0000000
--- a/dev-cpp/clucene/files/clucene-2.3.3.4-libc-disambiguate-typedefs.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-libc++ - disambiguate typedefs
-
-From: eroen <eroen@occam.eroen.eu>
-
-
----
- src/shared/CLucene/config/repl_tchar.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/shared/CLucene/config/repl_tchar.h b/src/shared/CLucene/config/repl_tchar.h
-index 159dcc1..0ebba42 100644
---- a/src/shared/CLucene/config/repl_tchar.h
-+++ b/src/shared/CLucene/config/repl_tchar.h
-@@ -36,8 +36,8 @@
- #define _tcsncpy wcsncpy //copy a specified amount of one string to another string.
- #define _tcscat wcscat //copy a string onto the end of the other string
- #define _tcsncat wcsncat
-- #define _tcschr wcschr //find location of one character
-- #define _tcsstr wcsstr //find location of a string
-+ #define _tcschr std::wcschr //find location of one character
-+ #define _tcsstr std::wcsstr //find location of a string
- #define _tcslen wcslen //get length of a string
- #define _tcscmp wcscmp //case sensitive compare two strings
- #define _tcsncmp wcsncmp //case sensitive compare two strings
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-pkgconfig.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-pkgconfig.patch
deleted file mode 100644
index 1456362..0000000
--- a/dev-cpp/clucene/files/clucene-2.3.3.4-pkgconfig.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake.pkgconfig_sys_includes clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake
---- clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake.pkgconfig_sys_includes 2011-03-16 19:21:07.000000000 -0500
-+++ clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake 2012-03-19 09:01:00.689263954 -0500
-@@ -6,6 +6,6 @@ includedir=${prefix}/include:${prefix}/i
- Name: libclucene
- Description: CLucene - a C++ search engine, ported from the popular Apache Lucene
- Version: @CLUCENE_VERSION_MAJOR@.@CLUCENE_VERSION_MINOR@.@CLUCENE_VERSION_REVISION@.@CLUCENE_VERSION_PATCH@
--Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core
--Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext
-+Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core -lclucene-shared
-+Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext
- ~
diff --git a/dev-cpp/clucene/files/series b/dev-cpp/clucene/files/series
deleted file mode 100644
index 65c3327..0000000
--- a/dev-cpp/clucene/files/series
+++ /dev/null
@@ -1,2 +0,0 @@
-# This series applies on GIT commit 7f2f22b04ae4386af5afae36a80298b2413600d0
-libc-disambiguate-typedefs.patch
diff --git a/dev-cpp/clucene/metadata.xml b/dev-cpp/clucene/metadata.xml
deleted file mode 100644
index a23f444..0000000
--- a/dev-cpp/clucene/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>kde</herd>
-</pkgmetadata>
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
deleted file mode 100644
index f630cd4..0000000
--- a/dev-db/mysql/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST mysql-5.6.21.tar.gz 33009070 SHA256 ea4daf6a8f4b1a9c62e416249a08fbdcbf686667d738004ef82044def96feb7c SHA512 0a15c30d17324eb123d7953a2564fea43a3d288dfe098dc419096c40101f8ee2fe201dab1a4860158b72a259040cab7a45073576a1a24879b1e1dc9990c190bd WHIRLPOOL 8a00b0fe04df901aece356f979e29b47c4361fa5e14ec76c36e0bc43da4049de265b547f9a27b6c948d5989c04a784c6dca547e86cc380bbb57d477b614f8e31
-DIST mysql-extras-20141019-1948Z.tar.bz2 1494569 SHA256 9a2ced701ef613e2a41c9a1fc550d9004d04f52cbfc06bb634ba9284d7a1c0ea SHA512 c9e3f3a447f010be0563b9d9ee2937d32c5334b04a883218eb6c14af41f9de635c3c0c44128959793e8a12ca3b26b2415777a13aced7c3812ab2c6d21ade6799 WHIRLPOOL bc0c73ca86d59d18a76a047a920fc2f64d2b3246e6b64838127d26c5c55cb3fc1ce8833656f5eadba72ef651e1f6c3e75700f776a1205ab33ab6ee0064851b86
diff --git a/dev-db/mysql/files/my.cnf-5.6 b/dev-db/mysql/files/my.cnf-5.6
deleted file mode 100644
index 12c504b..0000000
--- a/dev-db/mysql/files/my.cnf-5.6
+++ /dev/null
@@ -1,141 +0,0 @@
-# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file.
-# $Header: $
-
-# The following options will be passed to all MySQL clients
-[client]
-#password = your_password
-port = 3306
-socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock
-
-[mysql]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqladmin]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlcheck]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqldump]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlimport]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlshow]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[myisamchk]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-
-[myisampack]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-
-# use [safe_mysqld] with mysql-3
-[mysqld_safe]
-err-log = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysql.err
-
-# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
-[mysqld]
-character-set-server = utf8
-user = mysql
-port = 3306
-socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock
-pid-file = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.pid
-log-error = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysqld.err
-basedir = @GENTOO_PORTAGE_EPREFIX@/usr
-datadir = @DATADIR@
-skip-external-locking
-key_buffer_size = 16M
-max_allowed_packet = 4M
-table_open_cache = 400
-sort_buffer_size = 512K
-net_buffer_length = 16K
-read_buffer_size = 256K
-read_rnd_buffer_size = 512K
-myisam_sort_buffer_size = 8M
-lc_messages_dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql
-#Set this to your desired error message language
-lc_messages = en_US
-
-# security:
-# using "localhost" in connects uses sockets by default
-# skip-networking
-bind-address = 127.0.0.1
-
-log-bin
-server-id = 1
-
-# point the following paths to different dedicated disks
-tmpdir = @GENTOO_PORTAGE_EPREFIX@/tmp/
-#log-update = @GENTOO_PORTAGE_EPREFIX@/path-to-dedicated-directory/hostname
-
-# you need the debug USE flag enabled to use the following directives,
-# if needed, uncomment them, start the server and issue
-# #tail -f @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.trace
-# this will show you *exactly* what's happening in your server ;)
-
-#log = @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql
-#gdb
-#debug = d:t:i:o,/tmp/mysqld.trace
-#one-thread
-
-# the rest of the innodb config follows:
-# don't eat too much memory, we're trying to be safe on 64Mb boxes
-# you might want to bump this up a bit on boxes with more RAM
-innodb_buffer_pool_size = 128M
-#
-# i'd like to use @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/innodb, but that is seen as a database :-(
-# and upstream wants things to be under @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/, so that's the route
-# we have to take for the moment
-#innodb_data_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/
-#innodb_log_arch_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/
-#innodb_log_group_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/
-# you may wish to change this size to be more suitable for your system
-# the max is there to avoid run-away growth on your machine
-innodb_data_file_path = ibdata1:10M:autoextend:max:128M
-# we keep this at around 25% of of innodb_buffer_pool_size
-# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
-innodb_log_file_size = 48M
-# this is the default, increase it if you have very large transactions going on
-innodb_log_buffer_size = 8M
-# this is the default and won't hurt you
-# you shouldn't need to tweak it
-innodb_log_files_in_group=2
-# see the innodb config docs, the other options are not always safe
-innodb_flush_log_at_trx_commit = 1
-innodb_lock_wait_timeout = 50
-innodb_file_per_table
-
-# Uncomment this to get FEDERATED engine support
-#plugin-load=federated=ha_federated.so
-loose-federated
-
-[mysqldump]
-quick
-max_allowed_packet = 16M
-
-[mysql]
-# uncomment the next directive if you are not familiar with SQL
-#safe-updates
-
-[isamchk]
-key_buffer_size = 20M
-sort_buffer_size = 20M
-read_buffer = 2M
-write_buffer = 2M
-
-[myisamchk]
-key_buffer_size = 20M
-sort_buffer_size = 20M
-read_buffer_size = 2M
-write_buffer_size = 2M
-
-[mysqlhotcopy]
-interactive-timeout
diff --git a/dev-db/mysql/metadata.xml b/dev-db/mysql/metadata.xml
deleted file mode 100644
index 44fbf3d..0000000
--- a/dev-db/mysql/metadata.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!--
-Please note that this list is shared between the following packages:
-dev-db/mysql
-dev-db/mariadb
--->
-<use>
- <flag name='big-tables'>Make tables contain up to 1.844E+19 rows</flag>
- <flag name='cluster'>Add support for NDB clustering (deprecated)</flag>
- <flag name='community'>Enables the community features from upstream.</flag>
- <flag name='embedded'>Build embedded server (libmysqld)</flag>
- <flag name='extraengine'>Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
- <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
- <flag name='latin1'>Use LATIN1 encoding instead of UTF8</flag>
- <flag name='max-idx-128'>Raise the max index per table limit from 64 to 128</flag>
- <flag name='minimal'>Install client programs only, no server</flag>
- <flag name='pbxt'>Add experimental support for PBXT storage engine</flag>
- <flag name='profiling'>Add support for statement profiling (requires USE=community).</flag>
- <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
- <flag name='test'>Install upstream testsuites for end use.</flag>
- <flag name='xtradb'>Add experimental support for Percona's InnoDB replacement: XtraDB</flag>
-</use>
-</pkgmetadata>
diff --git a/dev-db/mysql/mysql-5.6.21-r1.ebuild b/dev-db/mysql/mysql-5.6.21-r1.ebuild
deleted file mode 100644
index 31faebf..0000000
--- a/dev-db/mysql/mysql-5.6.21-r1.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="5"
-
-MY_EXTRAS_VER="20141019-1948Z"
-MY_PV="${PV//_alpha_pre/-m}"
-MY_PV="${MY_PV//_/-}"
-
-inherit toolchain-funcs mysql-multilib
-# only to make repoman happy. it is really set in the eclass
-IUSE="$IUSE"
-
-# REMEMBER: also update eclass/mysql*.eclass before committing!
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-# When MY_EXTRAS is bumped, the index should be revised to exclude these.
-EPATCH_EXCLUDE=''
-
-DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
-RDEPEND="${RDEPEND}"
-
-# Please do not add a naive src_unpack to this ebuild
-# If you want to add a single patch, copy the ebuild to an overlay
-# and create your own mysql-extras tarball, looking at 000_index.txt
-
-# Official test instructions:
-# USE='-cluster embedded extraengine perl ssl static-libs community' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-X.X.XX.ebuild \
-# digest clean package
-multilib_src_test() {
-
- if ! multilib_is_native_abi ; then
- einfo "Server tests not available on non-native abi".
- return 0;
- fi
-
- local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! use "minimal" ; then
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
- addpredict /this-dir-does-not-exist/t9.MYI
-
- # Run CTest (test-units)
- cmake-utils_src_test
- retstatus_unit=$?
- [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might right out of order
- mkdir -p "${T}"/var-tests{,/log}
-
- # create symlink for the tests to find mysql_tzinfo_to_sql
- ln -s "${CMAKE_BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
-
- # These are failing in MySQL 5.5/5.6 for now and are believed to be
- # false positives:
- #
- # main.information_schema, binlog.binlog_statement_insert_delayed,
- # funcs_1.is_triggers funcs_1.is_tables_mysql,
- # funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter,
- # perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt,
- # mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql
- # perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter
- # fails due to USE=-latin1 / utf8 default
- #
- # main.mysql_client_test:
- # segfaults at random under Portage only, suspect resource limits.
- #
- # rpl.rpl_plugin_load
- # fails due to included file not listed in expected result
- # appears to be poor planning
- for t in \
- binlog.binlog_mysqlbinlog_filter \
- binlog.binlog_statement_insert_delayed \
- funcs_1.is_columns_mysql \
- funcs_1.is_tables_mysql \
- funcs_1.is_triggers \
- main.information_schema \
- main.mysql_client_test \
- main.mysqld--help-notwin \
- perfschema.binlog_edge_mix \
- perfschema.binlog_edge_stmt \
- rpl.rpl_plugin_load \
- ; do
- mysql-multilib_disable_test "$t" "False positives in Gentoo"
- done
-
- # Run mysql tests
- pushd "${TESTDIR}"
-
- # Set file limits higher so tests run
- ulimit -n 3000
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
- --suite-timeout=5000
- retstatus_tests=$?
- [[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
- has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
-
- popd
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
- has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-
- else
-
- einfo "Skipping server tests due to minimal build."
- fi
-}
diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest
deleted file mode 100644
index 831ed45..0000000
--- a/dev-db/postgis/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST postgis-2.1.1.tar.gz 6717940 SHA256 f55acf056362e7e78766bec7a403e02a3b6b087a6d18b4222647b6a932d5c945 SHA512 f85c4d1db32802b3acbda3f4c391ca961bf1301c699a00682265c7a984fbc74ee7b9fbfc5580fc04dff0491921eb6dbe4d8bd73dded216794a4b7f90c3ed650f WHIRLPOOL 807d0ce975b72315a72d4c2ecd192c612b00530a7e542b18429fed0c69cf6cb95285554c34be58e3d2a2c513f436289449dfbe82c7430fba87e901a4bea49c2d
-DIST postgis-2.1.4.tar.gz 6854492 SHA256 cd73c2a38428c8736f6cae73b955aee0bd42f9ca4fd8d93c1af464524cb100fc SHA512 1d7dd2547fe9819addea0c9dfb4f4c78f30593af21f7cf05c4e40c2684ea3e04ad50c1937ba72172c69df713384c866e6a336b6cab733c9dd0f273f41df568d2 WHIRLPOOL f685cb2e991319b1a2f7a54ce050217d8ea636c02491fca2dafb1a2f66fe3548d4daff6d3de67925a700d9de42af29dfc4af0d26727e77f969a100a1fe964567
diff --git a/dev-db/postgis/files/postgis-2.0-arflags.patch b/dev-db/postgis/files/postgis-2.0-arflags.patch
deleted file mode 100644
index fa2e9a8..0000000
--- a/dev-db/postgis/files/postgis-2.0-arflags.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Naruw a/raster/rt_core/Makefile.in b/raster/rt_core/Makefile.in
---- a/raster/rt_core/Makefile.in 2012-03-21 21:36:59.000000000 +0000
-+++ b/raster/rt_core/Makefile.in 2013-04-28 13:23:21.055728249 +0000
-@@ -8,7 +8,7 @@
- #
- #############################################################################
-
--AR=ar rs
-+ARFLAGS=rs
-
- CC=@CC@
- LIBLWGEOM_LDFLAGS=../../liblwgeom/.libs/liblwgeom.a
-@@ -35,4 +35,4 @@
- rm -f Makefile
-
- librtcore.a: $(RT_OBJS) $(RT_HEADERS)
-- $(AR) $(RT_LIB) $(RT_OBJS)
-+ $(AR) $(ARFLAGS) $(RT_LIB) $(RT_OBJS)
diff --git a/dev-db/postgis/files/postgis-2.1-ldflags.patch b/dev-db/postgis/files/postgis-2.1-ldflags.patch
deleted file mode 100644
index de11510..0000000
--- a/dev-db/postgis/files/postgis-2.1-ldflags.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -Naruw postgis-2.1.0rc1.orig/loader/Makefile.in postgis-2.1.0rc1/loader/Makefile.in
---- postgis-2.1.0rc1.orig/loader/Makefile.in 2013-05-06 08:30:51.000000000 +0000
-+++ postgis-2.1.0rc1/loader/Makefile.in 2013-07-14 17:19:19.313306844 +0000
-@@ -97,11 +97,11 @@
-
- $(PGSQL2SHP-CLI): $(SHPLIB_OBJS) pgsql2shp-core.o pgsql2shp-cli.o $(LIBLWGEOM)
- $(LIBTOOL) --mode=link \
-- $(CC) $(CFLAGS) $^ $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) $(GETTEXT_LDFLAGS) -o $@
-+ $(CC) $(CFLAGS) $^ $(LDFLAGS) $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) $(GETTEXT_LDFLAGS) -o $@
-
- $(SHP2PGSQL-CLI): $(SHPLIB_OBJS) shp2pgsql-core.o shp2pgsql-cli.o $(LIBLWGEOM)
- $(LIBTOOL) --mode=link \
-- $(CC) $(CFLAGS) $^ -o $@ $(GETTEXT_LDFLAGS) $(ICONV_LDFLAGS)
-+ $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(GETTEXT_LDFLAGS) $(ICONV_LDFLAGS)
-
- shp2pgsql-gui.o: shp2pgsql-gui.c shp2pgsql-core.h shpcommon.h
- $(CC) $(CFLAGS) $(GTK_CFLAGS) $(PGSQL_FE_CPPFLAGS) -o $@ -c shp2pgsql-gui.c
-@@ -109,7 +109,7 @@
- $(SHP2PGSQL-GUI): $(SHPLIB_OBJS) shp2pgsql-core.o shp2pgsql-gui.o pgsql2shp-core.o $(LIBLWGEOM) $(GTK_WIN32_RES)
- $(LIBTOOL) --mode=link \
- $(CC) $(CFLAGS) $(GTK_WIN32_FLAGS) $^ -o $@ \
-- $(GTK_LIBS) $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) $(GETTEXT_LDFLAGS)
-+ $(LDFLAGS) $(GTK_LIBS) $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) $(GETTEXT_LDFLAGS)
-
- installdir:
- @mkdir -p $(DESTDIR)$(bindir)
diff --git a/dev-db/postgis/files/postgis-2.1-pkgconfig-json.patch b/dev-db/postgis/files/postgis-2.1-pkgconfig-json.patch
deleted file mode 100644
index 9907e73..0000000
--- a/dev-db/postgis/files/postgis-2.1-pkgconfig-json.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-diff -Naruw postgis-2.1.0.orig/configure.ac postgis-2.1.0/configure.ac
---- postgis-2.1.0.orig/configure.ac 2013-07-09 03:36:15.000000000 +0000
-+++ postgis-2.1.0/configure.ac 2013-08-18 18:14:23.263697970 +0000
-@@ -745,65 +745,21 @@
- dnl Detect if json-c installed
- dnl ===========================================================================
-
--CHECK_JSON=yes
--HAVE_JSON=no
--AC_SUBST([HAVE_JSON])
--
--AC_ARG_WITH([json],
-- [AS_HELP_STRING([--without-json], [build without json-c support])],
-- [CHECK_JSON="$withval"], [])
--
--if test "$CHECK_JSON" != "no"; then dnl {
--
--AC_ARG_WITH([jsondir],
-- [AS_HELP_STRING([--with-jsondir=PATH], [specify the json-c installation directory])],
-- [JSONDIR="$withval"], [JSONDIR=])
--
--if test ! "x$JSONDIR" = "x"; then
-- dnl Make sure that the directory exists
-- if test "x$JSONDIR" = "xyes"; then
-- AC_MSG_ERROR([you must specify a parameter to --with-jsondir, e.g. --with-jsondir=/path/to])
-- else
-- dnl We need (libjson.so OR libjson.a OR libjson.dll) AND json/json.h
-- if test ! -e "${JSONDIR}/include/json/json.h" -o \
-- ! \( -e "${JSONDIR}/lib/libjson.so" -o \
-- -e "${JSONDIR}/lib/libjson.dll" -o \
-- -e "${JSONDIR}/lib/libjson.dylib" -o \
-- -e "${JSONDIR}/bin/libjson.dll" -o \
-- -e "${JSONDIR}/lib/libjson.a" \)
-- then
-- AC_MSG_ERROR([Cannot find json dev files in "$JSONDIR"])
-- fi
-- AC_MSG_RESULT([Using user-specified json-c directory: $JSONDIR])
--
-- dnl Add the include directory to JSON_CPPFLAGS
-- JSON_CPPFLAGS="-I$JSONDIR/include"
-- JSON_LDFLAGS="-L$JSONDIR/lib"
-- fi
--fi
--
--dnl Check that we can find the json/json.h header file
--CPPFLAGS_SAVE="$CPPFLAGS"
--CPPFLAGS="$JSON_CPPFLAGS"
--AC_CHECK_HEADER([json/json.h], [HAVE_JSON=yes], [])
--CPPFLAGS="$CPPFLAGS_SAVE"
--
--dnl Ensure we can link against libjson
--LIBS_SAVE="$LIBS"
--LIBS="$JSON_LDFLAGS"
--AC_CHECK_LIB([json-c], [json_object_get], [HAVE_JSON=yes; JSON_LDFLAGS="${JSON_LDFLAGS} -ljson-c"], [
-- AC_CHECK_LIB([json], [json_object_get], [HAVE_JSON=yes; JSON_LDFLAGS="${JSON_LDFLAGS} -ljson"], [], [])
--], [])
--LIBS="$LIBS_SAVE"
--
--if test "$HAVE_JSON" = "yes"; then
-+PKG_CHECK_MODULES([JSON], [json],
-+ [
-+ HAVE_JSON=yes
- AC_DEFINE([HAVE_LIBJSON], 1, [Define to 1 if libjson is present])
--fi
--
--AC_SUBST([JSON_CPPFLAGS])
--AC_SUBST([JSON_LDFLAGS])
-+ ],
-+ [
-+ PKG_CHECK_MODULES([JSON], [json-c],
-+ [
-+ HAVE_JSON=yes
-+ AC_DEFINE([HAVE_LIBJSON], 1, [Define to 1 if libjson is present])
-+ ],
-+ [HAVE_JSON=no])
-+ ])
-
--fi dnl }
-+AC_SUBST([HAVE_JSON])
-
- dnl ===========================================================================
- dnl Detect GTK+2.0 for GUI
-@@ -896,7 +852,7 @@
- CPPFLAGS="$PGSQL_CPPFLAGS $GEOS_CPPFLAGS $PROJ_CPPFLAGS $XML2_CPPFLAGS $SFCGAL_CPPFLAGS $CPPFLAGS"
- AC_MSG_RESULT([CPPFLAGS: $CPPFLAGS])
-
--SHLIB_LINK="$PGSQL_LDFLAGS $GEOS_LDFLAGS $PROJ_LDFLAGS -lgeos_c -lproj $JSON_LDFLAGS $XML2_LDFLAGS $SFCGAL_LDFLAGS"
-+SHLIB_LINK="$PGSQL_LDFLAGS $GEOS_LDFLAGS $PROJ_LDFLAGS -lgeos_c -lproj $JSON_LIBS $XML2_LDFLAGS $SFCGAL_LDFLAGS"
- AC_SUBST([SHLIB_LINK])
- dnl AC_MSG_RESULT([SHLIB_LINK: $SHLIB_LINK])
-
-diff -Naruw postgis-2.1.0.orig/liblwgeom/lwin_geojson.c postgis-2.1.0/liblwgeom/lwin_geojson.c
---- postgis-2.1.0.orig/liblwgeom/lwin_geojson.c 2013-02-28 17:42:49.000000000 +0000
-+++ postgis-2.1.0/liblwgeom/lwin_geojson.c 2013-08-18 18:11:52.473943571 +0000
-@@ -17,8 +17,8 @@
-
- #ifdef HAVE_LIBJSON
-
--#include <json/json.h>
--#include <json/json_object_private.h>
-+#include <json.h>
-+#include <json_object_private.h>
- #include <string.h>
-
- static void geojson_lwerror(char *msg, int error_code)
-@@ -551,5 +551,3 @@
- return lwgeom;
- #endif /* HAVE_LIBJSON */
- }
--
--
-diff -Naruw postgis-2.1.0.orig/liblwgeom/Makefile.in postgis-2.1.0/liblwgeom/Makefile.in
---- postgis-2.1.0.orig/liblwgeom/Makefile.in 2013-05-09 19:38:17.000000000 +0000
-+++ postgis-2.1.0/liblwgeom/Makefile.in 2013-08-18 18:11:52.477943594 +0000
-@@ -11,8 +11,8 @@
- # **********************************************************************
-
- CC = @CC@
--CFLAGS = @CFLAGS@ @PICFLAGS@ @WARNFLAGS@ @GEOS_CPPFLAGS@ @PROJ_CPPFLAGS@ @JSON_CPPFLAGS@
--LDFLAGS = @LDFLAGS@ @GEOS_LDFLAGS@ -lgeos_c @PROJ_LDFLAGS@ -lproj @JSON_LDFLAGS@
-+CFLAGS = @CFLAGS@ @PICFLAGS@ @WARNFLAGS@ @GEOS_CPPFLAGS@ @PROJ_CPPFLAGS@ @JSON_CFLAGS@
-+LDFLAGS = @LDFLAGS@ @GEOS_LDFLAGS@ -lgeos_c @PROJ_LDFLAGS@ -lproj @JSON_LIBS@
- NUMERICFLAGS = @NUMERICFLAGS@
- top_builddir = @top_builddir@
- prefix = @prefix@
diff --git a/dev-db/postgis/files/postgis-2.1.4-pkgconfig-json.patch b/dev-db/postgis/files/postgis-2.1.4-pkgconfig-json.patch
deleted file mode 100644
index a9ce0d3..0000000
--- a/dev-db/postgis/files/postgis-2.1.4-pkgconfig-json.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-commit 4a41c1e10c241c630717455b129e04df5d0d9b07
-Author: eroen <eroen@occam.eroen.eu>
-Date: Tue Sep 16 09:44:43 2014 +0200
-
- use pkg-config for json-c
-
-diff --git a/configure.ac b/configure.ac
-index a13cf13..c0a7842 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -780,61 +780,19 @@ dnl ===========================================================================
- dnl Detect if json-c installed
- dnl ===========================================================================
-
--CHECK_JSON=yes
--HAVE_JSON=no
--HAVE_JSON_C=no
--
--AC_ARG_WITH([json],
-- [AS_HELP_STRING([--without-json], [build without json-c support])],
-- [CHECK_JSON="$withval"], [])
--
--if test "$CHECK_JSON" != "no"; then dnl {
--
--AC_ARG_WITH([jsondir],
-- [AS_HELP_STRING([--with-jsondir=PATH], [specify the json-c installation directory])],
-- [JSONDIR="$withval"], [JSONDIR=])
--
--if test ! "x$JSONDIR" = "x"; then
-- dnl Make sure that the directory exists
-- if test "x$JSONDIR" = "xyes"; then
-- AC_MSG_ERROR([you must specify a parameter to --with-jsondir, e.g. --with-jsondir=/path/to])
-- else
-- AC_MSG_RESULT([Using user-specified json-c directory: $JSONDIR])
--
-- dnl Add the include directory to JSON_CPPFLAGS
-- JSON_CPPFLAGS="-I$JSONDIR/include"
-- JSON_LDFLAGS="-L$JSONDIR/lib"
-- fi
--fi
--
--dnl Check that we can find the json/json.h header file
--CPPFLAGS_SAVE="$CPPFLAGS"
--CPPFLAGS="$JSON_CPPFLAGS"
--AC_CHECK_HEADER([json/json.h], [HAVE_JSON=yes], [
-- AC_CHECK_HEADER([json-c/json.h], [HAVE_JSON=yes; HAVE_JSON_C=yes], [])
--])
--CPPFLAGS="$CPPFLAGS_SAVE"
--
--dnl Ensure we can link against libjson
--LIBS_SAVE="$LIBS"
--LIBS="$JSON_LDFLAGS"
--AC_CHECK_LIB([json-c], [json_object_get], [HAVE_JSON=yes; JSON_LDFLAGS="${JSON_LDFLAGS} -ljson-c"], [
-- AC_CHECK_LIB([json], [json_object_get], [HAVE_JSON=yes; JSON_LDFLAGS="${JSON_LDFLAGS} -ljson"], [], [])
--], [])
--LIBS="$LIBS_SAVE"
--
--if test "$HAVE_JSON" = "yes"; then
-+PKG_CHECK_MODULES([JSON], [json],
-+ [
-+ HAVE_JSON=yes
- AC_DEFINE([HAVE_LIBJSON], 1, [Define to 1 if libjson is present])
--fi
--if test "$HAVE_JSON_C" = "yes"; then
-- AC_DEFINE([HAVE_LIBJSON_C], 1, [Define to 1 if libjson resides in a json-c subdir])
--fi
--
--AC_SUBST([JSON_CPPFLAGS])
--AC_SUBST([JSON_LDFLAGS])
--AC_SUBST([HAVE_JSON])
--
--fi dnl }
-+ ],
-+ [
-+ PKG_CHECK_MODULES([JSON], [json-c],
-+ [
-+ HAVE_JSON=yes
-+ AC_DEFINE([HAVE_LIBJSON], 1, [Define to 1 if libjson is present])
-+ ],
-+ [HAVE_JSON=no])
-+ ])
-
- dnl ===========================================================================
- dnl Detect GTK+2.0 for GUI
-@@ -927,7 +885,7 @@ AC_DEFINE_UNQUOTED([POSTGIS_USE_STATS], [1], [Enable use of ANALYZE statistics])
- CPPFLAGS="$PGSQL_CPPFLAGS $GEOS_CPPFLAGS $PROJ_CPPFLAGS $XML2_CPPFLAGS $SFCGAL_CPPFLAGS $CPPFLAGS"
- AC_MSG_RESULT([CPPFLAGS: $CPPFLAGS])
-
--SHLIB_LINK="$PGSQL_LDFLAGS $GEOS_LDFLAGS $PROJ_LDFLAGS -lgeos_c -lproj $JSON_LDFLAGS $XML2_LDFLAGS $SFCGAL_LDFLAGS"
-+SHLIB_LINK="$PGSQL_LDFLAGS $GEOS_LDFLAGS $PROJ_LDFLAGS -lgeos_c -lproj $JSON_LIBS $XML2_LDFLAGS $SFCGAL_LDFLAGS"
- AC_SUBST([SHLIB_LINK])
- dnl AC_MSG_RESULT([SHLIB_LINK: $SHLIB_LINK])
-
-diff --git a/liblwgeom/Makefile.in b/liblwgeom/Makefile.in
-index 3cc6256..5ccbb3b 100644
---- a/liblwgeom/Makefile.in
-+++ b/liblwgeom/Makefile.in
-@@ -11,8 +11,8 @@
- # **********************************************************************
-
- CC = @CC@
--CFLAGS = @CFLAGS@ @PICFLAGS@ @WARNFLAGS@ @GEOS_CPPFLAGS@ @PROJ_CPPFLAGS@ @JSON_CPPFLAGS@
--LDFLAGS = @LDFLAGS@ @GEOS_LDFLAGS@ -lgeos_c @PROJ_LDFLAGS@ -lproj @JSON_LDFLAGS@
-+CFLAGS = @CFLAGS@ @PICFLAGS@ @WARNFLAGS@ @GEOS_CPPFLAGS@ @PROJ_CPPFLAGS@ @JSON_CFLAGS@
-+LDFLAGS = @LDFLAGS@ @GEOS_LDFLAGS@ -lgeos_c @PROJ_LDFLAGS@ -lproj @JSON_LIBS@
- NUMERICFLAGS = @NUMERICFLAGS@
- top_builddir = @top_builddir@
- prefix = @prefix@
-diff --git a/liblwgeom/lwin_geojson.c b/liblwgeom/lwin_geojson.c
-index 7019626..ec1d594 100644
---- a/liblwgeom/lwin_geojson.c
-+++ b/liblwgeom/lwin_geojson.c
-@@ -19,13 +19,8 @@
-
- #include <string.h>
-
--#ifdef HAVE_LIBJSON_C
--#include <json-c/json.h>
--#include <json-c/json_object_private.h>
--#else
--#include <json/json.h>
--#include <json/json_object_private.h>
--#endif
-+#include <json.h>
-+#include <json_object_private.h>
-
- #ifndef JSON_C_VERSION
- // Adds support for libjson < 0.10
diff --git a/dev-db/postgis/files/postgis_dbs b/dev-db/postgis/files/postgis_dbs
deleted file mode 100644
index 8a41415..0000000
--- a/dev-db/postgis/files/postgis_dbs
+++ /dev/null
@@ -1,49 +0,0 @@
-# This file is used by 'emerge --config dev-db/postgis' to determine which
-# databases it should install to, upgrade or create as a template.
-
-# Unlike the previous versions of the PostGIS ebuilds, it no longer creates any
-# databases except for templates. All databases you list must already exist in
-# the cluster.
-
-# The user to perform the updates as. This user must have the privileges to
-# modify all of the databases you list here.
-pguser="postgres"
-
-# By default, no databases will have PostGIS enabled. The databases listed here
-# must already exist. The databases you list here must not already be PostGIS
-# enabled. Instead, use the upgrade lists further down.
-#databases=( "your" "databases" )
-
-# Anything you place in this list will create a database and make it a template.
-# It will be PostGIS-enabled. To add additional features, add the template names
-# to the following lists.
-#templates=( "template_postgis" )
-
-# The PostGIS enabled templates will be created using this template.
-from_template="template1"
-
-# For a complete set of EPSG coordinate system definition identifiers, you can
-# also load the spatial_ref_sys.sql definitions file and populate the
-# spatial_ref_sys table. This will permit you to perform ST_Transform()
-# operations on geometries.
-#epsg_databases=( "enable" "epsg" "on" "these" "databases" )
-
-# Add comments to PostGIS functions to the databases in this list.
-#comment_databases=( "comments" "on" "these" "databases" )
-
-# Any databases you have that are already PostGIS enabled can be listed among
-# the following list to perform a soft upgrade. If the soft upgrade fails,
-# you'll need to do a hard upgrade.
-# http://postgis.refractions.net/documentation/manual-1.5/ch02.html#hard_upgrade
-
-# Upgrade from PostGIS 1.3 to 1.5
-#upgrade_from_1_3=( "upgrade" "these" "databases" )
-
-# Upgrade from PostGIS 1.4 to 1.5
-#upgrade_from_1_4=( "upgrade" "these" "databases" )
-
-# Perform a minor upgrade for PostGIS 1.5
-#upgrade_from_1_5=( "upgrade" "these" "databases" )
-
-# Uncomment this once you're satisfied with the settings in this file.
-#configured="true"
diff --git a/dev-db/postgis/metadata.xml b/dev-db/postgis/metadata.xml
deleted file mode 100644
index 59080cd..0000000
--- a/dev-db/postgis/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>postgresql</herd>
- <herd>sci-geosciences</herd>
- <use>
- <flag name="gtk">Build shp2pgsql-gui a graphical interface to shp2pgsql</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-db/postgis/postgis-2.1.1.ebuild b/dev-db/postgis/postgis-2.1.1.ebuild
deleted file mode 100644
index 7ae98db..0000000
--- a/dev-db/postgis/postgis-2.1.1.ebuild
+++ /dev/null
@@ -1,298 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="5"
-POSTGRES_COMPAT=( 9.{0,1,2,3,4} )
-
-inherit autotools eutils versionator
-
-MY_PV=$(replace_version_separator 3 '')
-MY_P="${PN}-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="Geographic Objects for PostgreSQL"
-HOMEPAGE="http://postgis.net"
-SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc gtk test"
-
-RDEPEND="
- || (
- dev-db/postgresql-server:9.4
- dev-db/postgresql-server:9.3
- dev-db/postgresql-server:9.2
- dev-db/postgresql-server:9.1
- dev-db/postgresql-server:9.0
- )
- <dev-libs/json-c-0.11
- dev-libs/libxml2:2
- >=sci-libs/geos-3.3.8
- >=sci-libs/proj-4.6.0
- >=sci-libs/gdal-1.10.0
- gtk? ( x11-libs/gtk+:2 )
-"
-
-DEPEND="${RDEPEND}
- doc? (
- app-text/docbook-xsl-stylesheets
- app-text/docbook-xml-dtd:4.5
- dev-libs/libxslt
- || (
- media-gfx/imagemagick[png]
- media-gfx/graphicsmagick[imagemagick,png]
- )
- )
- virtual/pkgconfig
- test? ( dev-util/cunit )
-"
-
-PGIS="$(get_version_component_range 1-2)"
-
-REQUIRED_USE="test? ( doc )"
-
-# Needs a running psql instance, doesn't work out of the box
-RESTRICT="test"
-
-# These modules are built using the same *FLAGS that were used to build
-# dev-db/postgresql. The right thing to do is to ignore the current
-# *FLAGS settings.
-QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
-
-# Because developers have been fooled into thinking recursive make is a
-# good thing.
-MAKEOPTS="-j1"
-
-postgres_check_slot() {
- if ! declare -p POSTGRES_COMPAT &>/dev/null; then
- die 'POSTGRES_COMPAT not declared.'
- fi
-
-# Don't die because we can't run postgresql-config during pretend.
-[[ "$EBUILD_PHASE" = "pretend" \
- && -z "$(which postgresql-config 2> /dev/null)" ]] && return 0
-
- local res=$(echo ${POSTGRES_COMPAT[@]} \
- | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null)
-
- if [[ "$res" -eq "0" ]] ; then
- eerror "PostgreSQL slot must be set to one of: "
- eerror " ${POSTGRES_COMPAT[@]}"
- return 1
- fi
-
- return 0
-}
-
-pkg_pretend() {
- postgres_check_slot || die
-}
-
-pkg_setup() {
- postgres_check_slot || die
- export PGSLOT="$(postgresql-config show)"
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-2.1-ldflags.patch" \
- "${FILESDIR}/${PN}-2.0-arflags.patch" \
- "${FILESDIR}/${PN}-2.1-pkgconfig-json.patch"
-
- local AT_M4DIR="macros"
- eautoreconf
-}
-
-src_configure() {
- local myargs=""
- use gtk && myargs+=" --with-gui"
- econf \
- --with-pgconfig="/usr/lib/postgresql-${PGSLOT}/bin/pg_config" \
- ${myargs}
-}
-
-src_compile() {
- # Occasionally, builds fail because of out of order compilation.
- # Otherwise, it'd be fine.
- emake
- emake -C topology
-
- if use doc ; then
- emake comments
- emake cheatsheets
- emake -C doc html
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- use doc && emake DESTDIR="${D}" comments-install
- emake -C topology DESTDIR="${D}" install
- dobin ./utils/postgis_restore.pl
-
- dodoc CREDITS TODO loader/README.* doc/*txt
-
- use doc && dohtml -r doc/html/*
-
- docinto topology
- dodoc topology/{TODO,README}
-
- insinto /etc
- doins "${FILESDIR}/postgis_dbs"
-}
-
-pkg_postinst() {
- postgresql-config update
-
- elog "To finish installing or updating PostGIS edit:"
- elog " ${EROOT%/}/etc/postgis_dbs"
- elog
- elog "Then, run:"
- elog " emerge --config =${CATEGORY}/${PF}"
-}
-
-pkg_config(){
- source "${EROOT%/}/etc/conf.d/postgresql-${PGSLOT}"
- source "${EROOT%/}/etc/postgis_dbs"
- local postgis_path="${EROOT%/}/usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}"
-
- if [[ -n ${configured} ]] ; then
- einfon "Password for PostgreSQL user '${pguser}': "
- read -s PGPASSWORD
- export PGPASSWORD
- echo
- else
- eerror "You must edit:"
- eerror " ${EROOT%/}/etc/postgis_dbs"
- eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
- eerror
- die "Edit postgis_dbs"
- fi
-
- # The server we work with must be the same slot we built against.
- local server_version
- server_version=$(psql -U ${pguser} -d postgres -p ${PGPORT} \
- -Aqwtc 'SELECT version()' 2> /dev/null)
- if [[ $? = 0 ]] ; then
- server_version=$(echo ${server_version} | cut -d " " -f 2 | \
- cut -d "." -f -2 | tr -d .)
- if [[ $server_version != ${PGSLOT//.} ]] ; then
- unset PGPASSWORD
- eerror "Server version must be ${PGSLOT}.x"
- die "Server version isn't ${PGSLOT}.x"
- fi
- else
- unset PGPASSWORD
- eerror "Is the server running?"
- die "Couldn't connect to server."
- fi
-
- local retval
- safe_exit() {
- unset PGPASSWORD
- sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
- eend $retval
- eerror "All actions could not be performed."
- eerror "Read above to see what failed."
- eerror "Once you fix the issue, you'll need to edit:"
- eerror " ${EROOT%/}/etc/postgis_dbs"
- eerror "As some things may have succeeded."
- eerror
- die "All actions could not be performed"
- }
-
- local db
- for db in ${databases[@]} ; do
- ebegin "Performing CREATE LANGUAGE on ${db}"
- createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
- retval=$?
- # In this case, only error code 1 is fatal
- [[ $retval == 1 ]] && safe_exit || eend 0
-
- ebegin "Enabling PostGIS on ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${templates[@]} ; do
- ebegin "Creating template database '${db}'"
- createdb -p ${PGPORT} -U ${pguser} -O ${pguser} -T ${from_template} \
- ${db} "PostGIS Template"
- retval=$?
- [[ $retval != 0 ]] && safe_exit
-
- psql -q -U ${pguser} -p ${PGPORT} -c \
- "UPDATE pg_database \
- SET datistemplate = TRUE, datallowconn = TRUE \
- WHERE datname = '${db}'"
- retval=$?
- [[ $retval != 0 ]] && safe_exit
-
- createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
- retval=$?
- # In this case, only error code 1 is fatal
- [[ $retval == 1 ]] && safe_exit
-
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${epsg_databases[@]} ; do
- ebegin "Adding EPSG to ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/spatial_ref_sys.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${comment_databases[@]} ; do
- ebegin "Adding comments on ${db}"
- local comment_file
- for comment_file in "${postgis_path}"/*_comments.sql ; do
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}"
- retval=$?
- [[ $retval == 0 ]] && continue || safe_exit
- done
- eend 0
- done
-
- for db in ${upgrade_from_1_3[@]} ; do
- ebegin "Upgrading from PostGIS 1.3 to ${PGIS} on ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis_upgrade_13_to_${PGIS//.}.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${upgrade_from_1_4[@]} ; do
- ebegin "Upgrading from PostGIS 1.4 to ${PGIS} on ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis_upgrade_14_to_${PGIS//.}.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${upgrade_from_1_5[@]} ; do
- ebegin "Minor upgrade for PostGIS ${PGIS} on ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis_upgrade_${PGIS//.}_minor.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- # Clean up and make it so the user has to edit postgis_dbs again that
- # way this script won't step on any toes due to user error.
- unset PGPASSWORD
- sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
- einfo "PostgreSQL ${PGSLOT} is now PostGIS enabled."
- einfo
- einfo "To enable other databases, change the default slot:"
- einfo " postgresql-config set <slot>"
- einfo "Then, emerge this package again:"
- einfo " emerge -av =${CATEGORY}/${PF}"
-}
diff --git a/dev-db/postgis/postgis-2.1.4.ebuild b/dev-db/postgis/postgis-2.1.4.ebuild
deleted file mode 100644
index 5fa23e5..0000000
--- a/dev-db/postgis/postgis-2.1.4.ebuild
+++ /dev/null
@@ -1,298 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="5"
-POSTGRES_COMPAT=( 9.{0,1,2,3,4} )
-
-inherit autotools eutils versionator
-
-MY_PV=$(replace_version_separator 3 '')
-MY_P="${PN}-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="Geographic Objects for PostgreSQL"
-HOMEPAGE="http://postgis.net"
-SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc gtk test"
-
-RDEPEND="
- || (
- dev-db/postgresql-server:9.4
- dev-db/postgresql-server:9.3
- dev-db/postgresql-server:9.2
- dev-db/postgresql-server:9.1
- dev-db/postgresql-server:9.0
- )
- dev-libs/json-c
- dev-libs/libxml2:2
- >=sci-libs/geos-3.3.8
- >=sci-libs/proj-4.6.0
- >=sci-libs/gdal-1.10.0
- gtk? ( x11-libs/gtk+:2 )
-"
-
-DEPEND="${RDEPEND}
- doc? (
- app-text/docbook-xsl-stylesheets
- app-text/docbook-xml-dtd:4.5
- dev-libs/libxslt
- || (
- media-gfx/imagemagick[png]
- media-gfx/graphicsmagick[imagemagick,png]
- )
- )
- virtual/pkgconfig
- test? ( dev-util/cunit )
-"
-
-PGIS="$(get_version_component_range 1-2)"
-
-REQUIRED_USE="test? ( doc )"
-
-# Needs a running psql instance, doesn't work out of the box
-RESTRICT="test"
-
-# These modules are built using the same *FLAGS that were used to build
-# dev-db/postgresql. The right thing to do is to ignore the current
-# *FLAGS settings.
-QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
-
-# Because developers have been fooled into thinking recursive make is a
-# good thing.
-MAKEOPTS="-j1"
-
-postgres_check_slot() {
- if ! declare -p POSTGRES_COMPAT &>/dev/null; then
- die 'POSTGRES_COMPAT not declared.'
- fi
-
-# Don't die because we can't run postgresql-config during pretend.
-[[ "$EBUILD_PHASE" = "pretend" \
- && -z "$(which postgresql-config 2> /dev/null)" ]] && return 0
-
- local res=$(echo ${POSTGRES_COMPAT[@]} \
- | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null)
-
- if [[ "$res" -eq "0" ]] ; then
- eerror "PostgreSQL slot must be set to one of: "
- eerror " ${POSTGRES_COMPAT[@]}"
- return 1
- fi
-
- return 0
-}
-
-pkg_pretend() {
- postgres_check_slot || die
-}
-
-pkg_setup() {
- postgres_check_slot || die
- export PGSLOT="$(postgresql-config show)"
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-2.1-ldflags.patch" \
- "${FILESDIR}/${PN}-2.0-arflags.patch" \
- "${FILESDIR}/${PN}-2.1.4-pkgconfig-json.patch"
-
- local AT_M4DIR="macros"
- eautoreconf
-}
-
-src_configure() {
- local myargs=""
- use gtk && myargs+=" --with-gui"
- econf \
- --with-pgconfig="/usr/lib/postgresql-${PGSLOT}/bin/pg_config" \
- ${myargs}
-}
-
-src_compile() {
- # Occasionally, builds fail because of out of order compilation.
- # Otherwise, it'd be fine.
- emake
- emake -C topology
-
- if use doc ; then
- emake comments
- emake cheatsheets
- emake -C doc html
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- use doc && emake DESTDIR="${D}" comments-install
- emake -C topology DESTDIR="${D}" install
- dobin ./utils/postgis_restore.pl
-
- dodoc CREDITS TODO loader/README.* doc/*txt
-
- use doc && dohtml -r doc/html/*
-
- docinto topology
- dodoc topology/{TODO,README}
-
- insinto /etc
- doins "${FILESDIR}/postgis_dbs"
-}
-
-pkg_postinst() {
- postgresql-config update
-
- elog "To finish installing or updating PostGIS edit:"
- elog " ${EROOT%/}/etc/postgis_dbs"
- elog
- elog "Then, run:"
- elog " emerge --config =${CATEGORY}/${PF}"
-}
-
-pkg_config(){
- source "${EROOT%/}/etc/conf.d/postgresql-${PGSLOT}"
- source "${EROOT%/}/etc/postgis_dbs"
- local postgis_path="${EROOT%/}/usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}"
-
- if [[ -n ${configured} ]] ; then
- einfon "Password for PostgreSQL user '${pguser}': "
- read -s PGPASSWORD
- export PGPASSWORD
- echo
- else
- eerror "You must edit:"
- eerror " ${EROOT%/}/etc/postgis_dbs"
- eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
- eerror
- die "Edit postgis_dbs"
- fi
-
- # The server we work with must be the same slot we built against.
- local server_version
- server_version=$(psql -U ${pguser} -d postgres -p ${PGPORT} \
- -Aqwtc 'SELECT version()' 2> /dev/null)
- if [[ $? = 0 ]] ; then
- server_version=$(echo ${server_version} | cut -d " " -f 2 | \
- cut -d "." -f -2 | tr -d .)
- if [[ $server_version != ${PGSLOT//.} ]] ; then
- unset PGPASSWORD
- eerror "Server version must be ${PGSLOT}.x"
- die "Server version isn't ${PGSLOT}.x"
- fi
- else
- unset PGPASSWORD
- eerror "Is the server running?"
- die "Couldn't connect to server."
- fi
-
- local retval
- safe_exit() {
- unset PGPASSWORD
- sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
- eend $retval
- eerror "All actions could not be performed."
- eerror "Read above to see what failed."
- eerror "Once you fix the issue, you'll need to edit:"
- eerror " ${EROOT%/}/etc/postgis_dbs"
- eerror "As some things may have succeeded."
- eerror
- die "All actions could not be performed"
- }
-
- local db
- for db in ${databases[@]} ; do
- ebegin "Performing CREATE LANGUAGE on ${db}"
- createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
- retval=$?
- # In this case, only error code 1 is fatal
- [[ $retval == 1 ]] && safe_exit || eend 0
-
- ebegin "Enabling PostGIS on ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${templates[@]} ; do
- ebegin "Creating template database '${db}'"
- createdb -p ${PGPORT} -U ${pguser} -O ${pguser} -T ${from_template} \
- ${db} "PostGIS Template"
- retval=$?
- [[ $retval != 0 ]] && safe_exit
-
- psql -q -U ${pguser} -p ${PGPORT} -c \
- "UPDATE pg_database \
- SET datistemplate = TRUE, datallowconn = TRUE \
- WHERE datname = '${db}'"
- retval=$?
- [[ $retval != 0 ]] && safe_exit
-
- createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
- retval=$?
- # In this case, only error code 1 is fatal
- [[ $retval == 1 ]] && safe_exit
-
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${epsg_databases[@]} ; do
- ebegin "Adding EPSG to ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/spatial_ref_sys.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${comment_databases[@]} ; do
- ebegin "Adding comments on ${db}"
- local comment_file
- for comment_file in "${postgis_path}"/*_comments.sql ; do
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}"
- retval=$?
- [[ $retval == 0 ]] && continue || safe_exit
- done
- eend 0
- done
-
- for db in ${upgrade_from_1_3[@]} ; do
- ebegin "Upgrading from PostGIS 1.3 to ${PGIS} on ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis_upgrade_13_to_${PGIS//.}.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${upgrade_from_1_4[@]} ; do
- ebegin "Upgrading from PostGIS 1.4 to ${PGIS} on ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis_upgrade_14_to_${PGIS//.}.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- for db in ${upgrade_from_1_5[@]} ; do
- ebegin "Minor upgrade for PostGIS ${PGIS} on ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis_upgrade_${PGIS//.}_minor.sql"
- retval=$?
- [[ $retval == 0 ]] && eend 0 || safe_exit
- done
-
- # Clean up and make it so the user has to edit postgis_dbs again that
- # way this script won't step on any toes due to user error.
- unset PGPASSWORD
- sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
- einfo "PostgreSQL ${PGSLOT} is now PostGIS enabled."
- einfo
- einfo "To enable other databases, change the default slot:"
- einfo " postgresql-config set <slot>"
- einfo "Then, emerge this package again:"
- einfo " emerge -av =${CATEGORY}/${PF}"
-}
diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest
deleted file mode 100644
index f304372..0000000
--- a/dev-lang/lua/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-AUX configure.in 66 SHA256 1b4477324c94c0793df2117e80bd325bb2cc1cf6be16658151b272d4aca023c6 SHA512 b61041151ad4be2bb4a62f6659850fcf4179553103c421694ce739b84a57408fc59d09f5ad3f6dd8513be78ffa472689dc729031e3ef42b99f11ecc8e0053ffc WHIRLPOOL 152f63a1a8fc222fb6fe11b3e196a91b3791fcfd1249e9682323f4de12dd4d550668480b45d68855b540831c3e1c483639b65c67dbf25bc6594041999eeede46
-AUX lua-5.2-make.patch 2025 SHA256 384e6c9fad1c0677868afc69115e0c0f2b6314bc3956a39a66e10e980864c917 SHA512 d5240ae5e9c0827995e37289ede7b41dd4fbb285910c0edb1426aadb2c0ffeecca60e96a42f28ca9778eb437667def881446457cff18e8ffcf61da1bd9ee7ed7 WHIRLPOOL 4218c381fb19296d3eb1f35a211d12eb4d1f6f3a031cdb7dd84a2b1544e40cb070a05182ed2708d40150c8573da086b32435d3197933f5fbcbabd19eda9c8c8d
-AUX lua.pc 658 SHA256 ff7ae80c41698f27f4d1168c4cb2931d7b232e66528d9a2b0939723f4bb00145 SHA512 cb476ea6dd004a9aa0094cfc219d1888c5f578b44968a960acf1f2f32783a8e4d770bb033fb1ab4851f225188bbdd434b5d239718cae2c2c35f5b5f124a722ca WHIRLPOOL 6decd114e5edb6a5e4b17df8758f163a35f063b8e8a57c26bc2ada01145c1cc50d69a3146013e2edecb856c3c3220ed5f775f3b95cefb7655e5e7349bf988cb9
-DIST lua-5.2.1.tar.gz 249882 SHA256 64304da87976133196f9e4c15250b70f444467b6ed80d7cfd7b3b982b5177be5 SHA512 d0548d2cc2aa4fb4b5ae19d0ff675027370e3ee22d6e1ba448651c6f1f6f5e6b6214c81b760a23954f1e270936248bc021b9594a75191de4c1921e73d1ae48fb WHIRLPOOL 2a8d3d3c6ae37307bd667ab0619f7992f12ad4fb6c2709c2b4ee797b33d6eebee2d0298b7cb1b1a62d6140d3f9563ed7479c508da55234148981e57fe159e842
-EBUILD lua-5.2.1.ebuild 3101 SHA256 1cf60be8ca113663718b8656eb9d5b6617a9a39cd9820e253a5c8d04398ae21b SHA512 4d68daa4c27688ed2ab128bd11e649a87aad690f2bac40b4a400cc0c07ceefb424ee1d60f3d7d87c42eafb5baebd0bec4e8384106c1e425850d63f13aa249086 WHIRLPOOL f722fe3fcca3785b1c4e6bc109afec3869212b9cb52a55b04c807cc0727ae1f48a536d66925cac8eb51408ab476135b72a2c1dac45d00a46865994f911568ef4
-MISC metadata.xml 418 SHA256 ecdbace4d7d07830cc308755b909384644dc449cf7a3f32faefeecf6d3752b55 SHA512 f545c84ef7c020511117e59ee232984409ebe2dd418c2a3e61adb8fa33649d435df86dcb70391d48ed7e2be9b04575757bf2c2e5347114f5c38a9c9335352490 WHIRLPOOL e9e84ca81f1e173e723e07bed3fc954b3d39fd288b47792c1cb61fd7e493eafe6401247a5e35ac7bc4845b21ea40d64aa1f2f643df2942491f6815a9fe7ecb2a
diff --git a/dev-lang/lua/files/configure.in b/dev-lang/lua/files/configure.in
deleted file mode 100644
index e4ba816..0000000
--- a/dev-lang/lua/files/configure.in
+++ /dev/null
@@ -1,5 +0,0 @@
-top_buildir=.
-
-AC_INIT(src/luaconf.h)
-AC_PROG_LIBTOOL
-AC_OUTPUT()
diff --git a/dev-lang/lua/files/lua-5.2-make.patch b/dev-lang/lua/files/lua-5.2-make.patch
deleted file mode 100644
index 431bbde..0000000
--- a/dev-lang/lua/files/lua-5.2-make.patch
+++ /dev/null
@@ -1,60 +0,0 @@
---- lua-5.1.1.orig/Makefile 2006-06-02 12:53:38.000000000 +0200
-+++ lua-5.1.1/Makefile 2006-11-16 02:16:53.000000000 +0100
-@@ -127,3 +127,18 @@
- .PHONY: all $(PLATS) clean install local none dummy echo pecho lecho newer
-
- # (end of Makefile)
-+
-+# Use libtool for binary installs, etc.
-+
-+export V
-+export LIBTOOL = ../libtool --quiet --tag=CC
-+# See libtool manual about how to set this
-+
-+gentoo_clean:
-+ cd src; $(MAKE) $@
-+
-+gentoo_install:
-+ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB)
-+ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua luac $(INSTALL_BIN)
-+ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
-+ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua.la $(INSTALL_LIB)
---- lua-5.1.1.orig/src/Makefile 2006-03-22 01:41:49.000000000 +0100
-+++ lua-5.1.1/src/Makefile 2006-11-16 02:10:27.000000000 +0100
-@@ -54,1 +54,1 @@
--$(LUA_T): $(LUA_O) $(LUA_A)
-+origin$(LUA_T): $(LUA_O) $(LUA_A)
-@@ -57,1 +57,1 @@
--$(LUAC_T): $(LUAC_O) $(LUA_A)
-+origin$(LUAC_T): $(LUAC_O) $(LUA_A)
-@@ -185,3 +185,30 @@
- lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \
- lzio.h
-
-+
-+export LIBTOOL = ../libtool --quiet --tag=CC
-+export LIB_VERSION = 6:1:1
-+
-+# The following rules use libtool for compiling and linking in order to
-+# provide shared library support.
-+
-+LIB_NAME = liblua.la
-+LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo)
-+
-+%.lo %.o: %.c
-+ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
-+
-+$(LIB_NAME): $(LIB_OBJS)
-+ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \
-+ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS)
-+
-+$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME)
-+ $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS)
-+
-+$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME)
-+ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME)
-+
-+gentoo_clean:
-+ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua luac
-+
-+gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T)
diff --git a/dev-lang/lua/files/lua.pc b/dev-lang/lua/files/lua.pc
deleted file mode 100644
index e539718..0000000
--- a/dev-lang/lua/files/lua.pc
+++ /dev/null
@@ -1,31 +0,0 @@
-# lua.pc -- pkg-config data for Lua
-
-# vars from install Makefile
-
-# grep '^V=' ../Makefile
-V= 5.1
-# grep '^R=' ../Makefile
-R= 5.1.4
-
-# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/'
-prefix= /usr
-INSTALL_BIN= ${prefix}/bin
-INSTALL_INC= ${prefix}/include
-INSTALL_LIB= ${prefix}/,lib,
-INSTALL_MAN= ${prefix}/man/man1
-INSTALL_LMOD= ${prefix}/share/lua/${V}
-INSTALL_CMOD= ${prefix}/,lib,/lua/${V}
-
-# canonical vars
-exec_prefix=${prefix}
-libdir=${exec_prefix}/,lib,
-includedir=${prefix}/include
-
-Name: Lua
-Description: An Extensible Extension Language
-Version: ${R}
-Requires:
-Libs: -L${libdir} -llua -lm
-Cflags: -I${includedir}
-
-# (end of lua.pc)
diff --git a/dev-lang/lua/lua-5.2.1.ebuild b/dev-lang/lua/lua-5.2.1.ebuild
deleted file mode 100644
index 89b05e1..0000000
--- a/dev-lang/lua/lua-5.2.1.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/lua/lua-5.2.1.ebuild,v 1.3 2013/05/26 16:55:34 mabi Exp $
-
-EAPI=4
-
-inherit eutils autotools multilib portability toolchain-funcs versionator
-
-DESCRIPTION="A powerful light-weight programming language designed for extending applications"
-HOMEPAGE="http://www.lua.org/"
-SRC_URI="http://www.lua.org/ftp/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
-IUSE="+deprecated emacs readline static"
-
-RDEPEND="readline? ( sys-libs/readline )"
-DEPEND="${RDEPEND}
- sys-devel/libtool"
-PDEPEND="emacs? ( app-emacs/lua-mode )"
-
-src_prepare() {
- local PATCH_PV=$(get_version_component_range 1-2)
-
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make.patch
-
- [ -d "${FILESDIR}/${PV}" ] && \
- EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
-
- sed -i \
- -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
- -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
- src/luaconf.h \
- || die "failed patching luaconf.h"
-
- # correct lua versioning
- sed -i -e 's/\(LIB_VERSION = \)6:1:1/\17:0:2/' src/Makefile
-
- sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html
-
- if ! use readline ; then
- sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h
- fi
-
- # Using dynamic linked lua is not recommended for performance
- # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
- # Mainly, this is of concern if your arch is poor with GPRs, like x86
- # Note that this only affects the interpreter binary (named lua), not the lua
- # compiler (built statically) nor the lua libraries (both shared and static
- # are installed)
- if use static ; then
- sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile
- fi
-
- # upstream does not use libtool, but we do (see bug #336167)
- cp "${FILESDIR}/configure.in" "${S}"
- eautoreconf
-}
-
-src_compile() {
- tc-export CC
-
- # what to link to liblua
- liblibs="-lm"
- liblibs="${liblibs} $(dlopen_lib)"
-
- # what to link to the executables
- mylibs=
- use readline && mylibs="-lreadline"
-
- cd src
-
- local legacy=""
- use deprecated && legacy="-DLUA_COMPAT_ALL"
-
- emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${legacy} ${CFLAGS}" \
- SYSLDFLAGS="${LDFLAGS}" \
- RPATH="${EPREFIX}/usr/$(get_libdir)/" \
- LUA_LIBS="${mylibs}" \
- LIB_LIBS="${liblibs}" \
- V=${PV} \
- gentoo_all || die "emake failed"
-}
-
-src_install() {
- local PATCH_PV=$(get_version_component_range 1-2)
-
- emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
- V=${PV} gentoo_install \
- || die "emake install gentoo_install failed"
-
- dodoc README
- dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
-
- doman doc/lua.1 doc/luac.1
-
- # We want packages to find our things...
- cp "${FILESDIR}/lua.pc" "${WORKDIR}"
- sed -i \
- -e "s:^V=.*:V= ${PATCH_PV}:" \
- -e "s:^R=.*:R= ${PV}:" \
- -e "s:/,lib,:/$(get_libdir):g" \
- "${WORKDIR}/lua.pc"
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins "${WORKDIR}/lua.pc"
-}
diff --git a/dev-lang/lua/metadata.xml b/dev-lang/lua/metadata.xml
deleted file mode 100644
index cfb994f..0000000
--- a/dev-lang/lua/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer>
- <email>mabi@gentoo.org</email>
- <name>Matti Bickel</name>
-</maintainer>
-<maintainer>
- <email>rafaelmartins@gentoo.org</email>
- <name>Rafael G. Martins</name>
-</maintainer>
-<use><flag name='deprecated'>make deprecated data structures/routines available</flag></use>
-</pkgmetadata>
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
deleted file mode 100644
index 20c1b4e..0000000
--- a/dev-lang/ruby/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST ruby-1.8.7-p371.tar.bz2 4248262 SHA256 2dd0e463cd82039beb75c9b9f4ee20bef5f5b5ff68527008e5aee61cfb3b55e1 SHA512 992bb7a4b53f9112443230fe17842fa9500c04fbf4fabfe1c2c7b51fb90b3366354aeb6aac1850760fe3ab413cf6d970bd19e9ac0e613f2248a53dbee0e7ef3a WHIRLPOOL a461df561b2bf8643ac41a77f1794e89622d3f99216b047cfdc66c5a035433f823027af1cc644cb8b694ecf2a0314dbf838da9a2c74b0bfe33567100eb7bf0d6
-DIST ruby-patches-1.8.7_p371.tar.bz2 1751 SHA256 aac510388694255db850d7773d75e37b0d6ceefcb36786c61870f318d831be42 SHA512 21b3b6c8c91337414d68a30faf1f800854fa627c3b7078a42920b55a4c9c8af25997657ad5165a98096b14816f422bc88b0bbbb7735eeda6d5782c87ae9ff9cf WHIRLPOOL 8418d37166ddcb45c31c95cbddf957153d1c601ed33e6d23aa1fc9dd4328f3daa9a8b0fbb16720b2cab7f6ca0cf1c81cde99929339a53830e1168779645fe5c7
-EBUILD ruby-1.8.7_p371.ebuild 5508 SHA256 85b692efc4d98e887a37d8a9d32e329850f4b241f5925e8236a6885cb54387d6 SHA512 b06aad8bb3e1c9e787055409f694a19918b0c6da85dfc750374fcddf0f9fed1c7808a9433204e2037afc9f3bde4fb58db01e1aaa870d07767b41d3877e4f9de8 WHIRLPOOL 21fa51360777c7f72726344d79806f63658f0d83aba47ec844b6afcd901feddf2802fefdef81baf9097ad445889f48ae47a939f157748d123085c89f4cb13046
-MISC metadata.xml 1388 SHA256 365a88ae053d47050b6b50d05eb518755a3aeb0c91ca77d2d8eeabfd24a2447f SHA512 deb4ce50904ebf52f2b390009d23a63fa63a1652063a924406b6d6cd3c1c30fefbd71525aaeda73f57d7178afebcbd348080a5661439a365bb15bdbf95608b55 WHIRLPOOL 8ef6d3c3c05c66b1a960366f7c69fd401ab8b49145ef464eae8c94daf9935dad96f5e499e550d87435aa960a7aa3e2b8b1afc9f693d2a0db0e52bc6c77cdbbe7
diff --git a/dev-lang/ruby/metadata.xml b/dev-lang/ruby/metadata.xml
deleted file mode 100644
index 963d76e..0000000
--- a/dev-lang/ruby/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>ruby</herd>
- <use>
- <flag name='rubytests'>
- Install ruby tests that can only be run after ruby is installed
- </flag>
-
- <flag name='libedit'>
- Use the <pkg>dev-libs/libedit</pkg> library to provide the
- readline extension, used for instance by the irb tool. This flag
- will take precedence over the readline USE flag.
-
- If neither libedit nor readline USE flags are enabled, the
- readline extension will not be built (and irb will lose line
- editing functionality).
- </flag>
-
- <flag name='readline'>
- Use the <pkg>sys-libs/readline</pkg> library to provide the
- readline extension, used for instance by the irb tool. This flag
- is meaningful only if the libedit USE flag is disabled.
-
- If neither libedit nor readline USE flags are enabled, the
- readline extension will not be built (and irb will lose line
- editing functionality).
- </flag>
-
- <flag name='yaml'>
- Use the <pkg>dev-libs/libyaml</pkg> library to build the psych
- extension, available since Ruby 1.9.2_rc2, in alternative to the
- bundled syck-based parser.
- </flag>
-
- <flag name='rdoc'>
- Install <pkg>dev-ruby/rdoc</pkg> after installing Ruby.
- </flag>
- </use>
-</pkgmetadata>
diff --git a/dev-lang/ruby/ruby-1.8.7_p371.ebuild b/dev-lang/ruby/ruby-1.8.7_p371.ebuild
deleted file mode 100644
index e38e9dd..0000000
--- a/dev-lang/ruby/ruby-1.8.7_p371.ebuild
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ruby-1.8.7_p371.ebuild,v 1.12 2013/03/10 16:18:50 ago Exp $
-
-EAPI=5
-
-inherit autotools eutils flag-o-matic versionator multilib-minimal
-
-MY_P="${PN}-$(replace_version_separator 3 '-')"
-S=${WORKDIR}/${MY_P}
-
-SLOT=$(get_version_component_range 1-2)
-MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
-# 1.8 and 1.9 series disagree on this
-RUBYVERSION=$(get_version_component_range 1-2)
-
-if [[ -n ${PATCHSET} ]]; then
- if [[ ${PVR} == ${PV} ]]; then
- PATCHSET="${PV}-r0.${PATCHSET}"
- else
- PATCHSET="${PVR}.${PATCHSET}"
- fi
-else
- PATCHSET="${PVR}"
-fi
-
-DESCRIPTION="An object-oriented scripting language"
-HOMEPAGE="http://www.ruby-lang.org/"
-SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.bz2
- http://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
-
-LICENSE="|| ( Ruby GPL-2 )"
-KEYWORDS="~amd64"
-IUSE="+berkdb debug doc examples +gdbm ipv6 rubytests socks5 ssl threads tk xemacs ncurses +readline libedit"
-
-RDEPEND="
- berkdb? ( sys-libs/db )
- gdbm? ( sys-libs/gdbm )
- ssl? ( >=dev-libs/openssl-0.9.8m )
- socks5? ( >=net-proxy/dante-1.1.13 )
- tk? ( dev-lang/tk[threads=] )
- ncurses? ( sys-libs/ncurses )
- libedit? ( dev-libs/libedit )
- !libedit? ( readline? ( sys-libs/readline ) )
- sys-libs/zlib
- >=app-admin/eselect-ruby-20100603
- !<dev-ruby/rdoc-2"
-DEPEND="${RDEPEND}"
-PDEPEND="xemacs? ( app-xemacs/ruby-modes )"
-
-src_prepare() {
- EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
- epatch "${WORKDIR}/patches"
-
- # Fix a hardcoded lib path in configure script
- sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
- configure.in || die "sed failed"
-
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local myconf=
-
- # -fomit-frame-pointer makes ruby segfault, see bug #150413.
- filter-flags -fomit-frame-pointer
- # In many places aliasing rules are broken; play it safe
- # as it's risky with newer compilers to leave it as it is.
- append-flags -fno-strict-aliasing
-
- # Socks support via dante
- if use socks5 ; then
- # Socks support can't be disabled as long as SOCKS_SERVER is
- # set and socks library is present, so need to unset
- # SOCKS_SERVER in that case.
- unset SOCKS_SERVER
- fi
-
- # Increase GC_MALLOC_LIMIT if set (default is 8000000)
- if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
- append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
- fi
-
- # ipv6 hack, bug 168939. Needs --enable-ipv6.
- use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
-
- if use libedit; then
- einfo "Using libedit to provide readline extension"
- myconf="${myconf} --enable-libedit --with-readline"
- elif use readline; then
- einfo "Using readline to provide readline extension"
- myconf="${myconf} --with-readline"
- else
- myconf="${myconf} --without-readline"
- fi
-
- econf \
- --program-suffix="${MY_SUFFIX}" \
- --enable-shared \
- $(use_enable socks5 socks) \
- $(use_enable doc install-doc) \
- $(use_enable threads pthread) \
- --enable-ipv6 \
- $(use_enable debug) \
- $(use_with berkdb dbm) \
- $(use_with gdbm) \
- $(use_with ssl openssl) \
- $(use_with tk) \
- $(use_with ncurses curses) \
- ${myconf} \
- --with-sitedir=/usr/$(get_libdir)/ruby/site_ruby \
- --enable-option-checking=no \
- || die "econf failed"
-}
-
-multilib_src_compile() {
- emake EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
-}
-
-multilib_src_test() {
- emake -j1 test || die "make test failed"
-
- elog "Ruby's make test has been run. Ruby also ships with a make check"
- elog "that cannot be run until after ruby has been installed."
- elog
- if use rubytests; then
- elog "You have enabled rubytests, so they will be installed to"
- elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
- elog "than root, and you must place them into a writeable directory."
- elog "Then call: "
- elog
- elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
- else
- elog "Enable the rubytests USE flag to install the make check tests"
- fi
-}
-
-multilib_src_install() {
- # Ruby is involved in the install process, we don't want interference here.
- unset RUBYOPT
-
- local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
-
- LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
- RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
- for d in $(find "${S}/ext" -type d) ; do
- RUBYLIB="${RUBYLIB}:$d"
- done
- export LD_LIBRARY_PATH RUBYLIB
-
- emake DESTDIR="${D}" install || die "make install failed"
-
- keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitelibdir']")
- keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitearchdir']")
-
- if use doc; then
- make DESTDIR="${D}" install-doc || die "make install-doc failed"
- fi
-
- if use examples; then
- insinto /usr/share/doc/${PF}
- doins -r sample
- fi
-
- dosym "libruby${MY_SUFFIX}$(get_libname ${PV%_*})" \
- "/usr/$(get_libdir)/libruby$(get_libname ${PV%.*})"
- dosym "libruby${MY_SUFFIX}$(get_libname ${PV%_*})" \
- "/usr/$(get_libdir)/libruby$(get_libname ${PV%_*})"
-
- dodoc ChangeLog NEWS README* ToDo || die
-
- if use rubytests; then
- pushd test
- insinto /usr/share/${PN}-${SLOT}/test
- doins -r .
- popd
- fi
-}
-
-pkg_postinst() {
- if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
- eselect ruby set ruby${MY_SUFFIX}
- fi
-
- elog
- elog "To switch between available Ruby profiles, execute as root:"
- elog "\teselect ruby set ruby(18|19|...)"
- elog
-}
-
-pkg_postrm() {
- eselect ruby cleanup
-}
diff --git a/dev-libs/oocairo/Manifest b/dev-libs/oocairo/Manifest
deleted file mode 100644
index 9368533..0000000
--- a/dev-libs/oocairo/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-EBUILD oocairo-9999.ebuild 576 SHA256 b0190296ab50c9d1c3ad5c9aa282be80b2f9d93cadfdd702bb0728e199beb6e8 SHA512 e7cadde817bfb9e35c2dd742d7e436b05ad94b41c454c6cc37655e9358a872a83e091f9a0d41759ce41005e79413a7af8fe1aeb6b2fdbef98f2a9e5d6ad5622e WHIRLPOOL a89f3fb8c18bec4624cd74f36de0ffb638f4682364df5f5e618b5a1d1f7418d5866189a0b8c370aa62ab60090ed9376da3200069eca1bd4565d61654e6c158b0
-MISC metadata.xml 297 SHA256 fcd2f01cb5bc61c107017d388cafbf31cea958c22f61573a4ecb299fa248eec8 SHA512 079a9123f650de94d7de8ef860f7f61ee3a9239c28556e33fec5b5c8788465efb367569a85c2ad1e2b119d363241447ad5898f42f8fcb9c4546957f120ad435f WHIRLPOOL 29a05d22f0b955ca830f41279aa4f7c359633239a703e3c7e697fe20bb0b9e38bf661de9b2763b06ba188b5274478433d55bf2aaa0239cca8324fa27ae41f555
diff --git a/dev-libs/oocairo/oocairo-9999.ebuild b/dev-libs/oocairo/oocairo-9999.ebuild
deleted file mode 100644
index 498fd33..0000000
--- a/dev-libs/oocairo/oocairo-9999.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# By eroen, 2013
-# Distributed under the terms of the ISC licence
-# $Header: $
-
-EAPI=5
-
-inherit autotools-utils git-2
-
-DESCRIPTION="Lua bindings to the cairo library"
-HOMEPAGE="http://oocairo.naquadah.org/"
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="git://git.naquadah.org/oocairo.git"
-else
- SRC_URI=""
-fi
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-HDEPEND="sys-devel/automake:1.11"
-LIBDEPEND="dev-lang/lua
- x11-libs/cairo"
-DEPEND="${LIBDEPEND}"
-RDEPEND="${LIBDEPEND}"
-[[ ${EAPI} == *-hdepend ]] || DEPEND+=" ${HDEPEND}"
-
-AUTOTOOLS_AUTORECONF=yes
-WANT_AUTOMAKE=1.11
diff --git a/dev-python/beaker/Manifest b/dev-python/beaker/Manifest
deleted file mode 100644
index 79bc7f1..0000000
--- a/dev-python/beaker/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-EBUILD beaker-9999.ebuild 1770 SHA256 48e8a543eff2124eee51e9ea7d960fcd052a4ef1cffb204909220d44c6348d65 SHA512 16ca6a24e594332e1299ab23b3a1cae1333bce3cb3fc8539c5fabf0fcb87576fe842de4621730ba3076c8732455608f1758a5793cdc7955a0bb6e7674ad9be54 WHIRLPOOL 04b2f2b358b0e5d26a01369b5b6d69f1b19be8cdbb3a2ef10b7906c86d9722700239c1e8ffe4c17db3a87e0ea6e020aebb998f22db79082345d021466c8ab62a
-MISC metadata.xml 229 SHA256 3bf73244c6b1ab868b503252c897f2dedd92579061aead2081f28debbab8b01e SHA512 c4d3532821b5ed7ed3d924087144a2ebf5d54eb471b6ca17a4ed7f78524c645a86fd54b0ec8b0caf4332ca9ae48e75fe69eaa61cc1746561209be4dfd951cbf9 WHIRLPOOL d3d462bb3ed0804c8445b95500473dffb33251b52cde94404321593bfd79128c866ddbe2784c483e49c7fc2d9df341cefd42687506c456bc791746aa20a7b1dd
diff --git a/dev-python/beaker/beaker-9999.ebuild b/dev-python/beaker/beaker-9999.ebuild
deleted file mode 100644
index 5c979c9..0000000
--- a/dev-python/beaker/beaker-9999.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/beaker/beaker-1.6.4-r1.ebuild,v 1.9 2013/09/05 18:46:46 mgorny Exp $
-
-EAPI=5
-
-# py2.5 seems to have db problems
-# pypy random exceptions, someone should take a closer look, it may
-# be just the usual test suite overload
-# py3.3 unfit with some types
-PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
-
-inherit distutils-r1 git-r3
-
-MY_PN="Beaker"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A Session and Caching library with WSGI Middleware"
-HOMEPAGE="http://beaker.groovie.org/ http://pypi.python.org/pypi/Beaker"
-#SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-EGIT_REPO_URI="https://github.com/bbangert/beaker.git"
-
-LICENSE="BSD"
-SLOT="0"
-#KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ppc ~ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="test"
-
-# webtest-based tests are skipped when webtest is not installed
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/webtest[$(python_gen_usedep python{2_6,2_7,3_2,3_3})] )"
-RDEPEND=""
-
-#S="${WORKDIR}/${MY_P}"
-
-python_prepare_all() {
- # Workaround for http://bugs.python.org/issue11276.
- sed -e "s/import anydbm/& as anydbm/;/import anydbm/a dbm = anydbm" \
- -i beaker/container.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- cp -r -l tests "${BUILD_DIR}"/ || die
-
- if [[ ${EPYTHON} == python3.* ]]; then
- # Notes:
- # -W is not supported by python3.1
- # -n causes Python to write into hardlinked files
- 2to3 --no-diffs -w "${BUILD_DIR}"/tests || die
- fi
-
- cd "${BUILD_DIR}"/tests || die
- nosetests || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/beaker/metadata.xml b/dev-python/beaker/metadata.xml
deleted file mode 100644
index cee3bb6..0000000
--- a/dev-python/beaker/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>python</herd>
- <upstream>
- <remote-id type="pypi">Beaker</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/cffi/Manifest b/dev-python/cffi/Manifest
deleted file mode 100644
index b540b3a..0000000
--- a/dev-python/cffi/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cffi-0.8.6.tar.gz 196835 SHA256 2532d9e3af9e3c6d0f710fc98b0295b563c7f39cfd97dd2242bd36fbf4900610 SHA512 b913d459bf0d355f0cb42fa0587a940c227d6765450033b14ab4d5281173cd1875cd6872911bb4f0b567cc1c5b0ca330615ec5f6ba205b25c41b683ae8c77790 WHIRLPOOL 4a03a077f15f943e0f06acf1bc10572b19680379e36805dbfc3dfffb8a5d735d28d9bab38e2d233f3a347fc03cede8126cc2ce017c6e3a0896b9baecddfae39f
diff --git a/dev-python/cffi/cffi-0.8.6.ebuild b/dev-python/cffi/cffi-0.8.6.ebuild
deleted file mode 100644
index 1f7cfaf..0000000
--- a/dev-python/cffi/cffi-0.8.6.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="5"
-PYTHON_COMPAT=( python{2_7,3_2,3_3,3_4} pypy )
-DISTUTILS_IN_SOURCE_BUILD=1
-
-inherit distutils-r1
-
-DESCRIPTION="Foreign Function Interface for Python calling C code"
-HOMEPAGE="http://cffi.readthedocs.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd"
-IUSE="doc"
-
-RDEPEND="virtual/libffi
- dev-python/pycparser[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-DOCS=""
-
-python_compile_all() {
- use doc && emake -C doc html
-}
-
-python_test() {
- py.test -x -v --ignore testing/test_zintegration.py c/ testing/ || die "Testing failed with ${EPYTHON}"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- use doc && dohtml -r doc/build/
-}
diff --git a/dev-python/cffi/metadata.xml b/dev-python/cffi/metadata.xml
deleted file mode 100644
index bb68f39..0000000
--- a/dev-python/cffi/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>python</herd>
- <upstream>
- <remote-id type="pypi">cffi</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/mako/Manifest b/dev-python/mako/Manifest
deleted file mode 100644
index 2872a53..0000000
--- a/dev-python/mako/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST Mako-0.9.0.tar.gz 420354 SHA256 c090ae3d775f714c572583f2bb7ace591847eab0d86accd81d17005411b10027 SHA512 ca583313afd37220bf47f9fd9fc50b5a140122bf9b3b7cdbf380455ffe8f16391a0873980eac8ca4f3fa17842ed7b021c72d712aa03774e4ef00ab3a149b2415 WHIRLPOOL 9dff2b9fa8ed5f63953621e0d6d2bc6adfe3d34ea9d6d5b0b40dbcbadb7be4b14a12a50b556ad2524a6443d127a178b6f6a5cf29fb3fabf6dcb55c2d9fec9996
-DIST Mako-0.9.1.tar.gz 421071 SHA256 ed74d72b720a97a51590dfa839f2048ceeb76cc80d1d9ea5731a5262384316ae SHA512 762affad80f804a7d71030deba65e8153e3c7fcd26c34cfb2f546804ec12e092a3eabdb8b0d12430e35b15220c39653be57ed80e3cbb314067d8b35f39834c63 WHIRLPOOL 7a861bcef3ed5fc64dac3ede9e7396d6f6bb28ceb6eb0b225ac265b1073254216746cce4b5dd3bc2f75b5a5edd043a05e0d53626efd506d1b9524d6ad65e8471
diff --git a/dev-python/mako/files/test-fix.patch b/dev-python/mako/files/test-fix.patch
deleted file mode 100644
index 3792e3e..0000000
--- a/dev-python/mako/files/test-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur Mako-0.7.0.orig/test/test_template.py Mako-0.7.0/test/test_template.py
---- test/test_template.py 2012-03-31 07:52:02.000000000 +0800
-+++ test/test_template.py 2012-04-11 20:25:23.797168875 +0800
-@@ -1,5 +1,5 @@
- # -*- coding: utf-8 -*-
--
-+from __future__ import with_statement
- from mako.template import Template, ModuleTemplate
- from mako.lookup import TemplateLookup
- from mako.ext.preprocessors import convert_comments
-
diff --git a/dev-python/mako/mako-0.9.0.ebuild b/dev-python/mako/mako-0.9.0.ebuild
deleted file mode 100644
index e283fb0..0000000
--- a/dev-python/mako/mako-0.9.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1998-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=5
-
-PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
-
-inherit distutils-r1
-
-MY_P="Mako-${PV}"
-
-DESCRIPTION="A Python templating language"
-HOMEPAGE="http://www.makotemplates.org/ http://pypi.python.org/pypi/Mako"
-SRC_URI="http://www.makotemplates.org/downloads/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="doc +cache test"
-REQUIRED_USE="cache? ( !python_targets_python3_2 !python_targets_python3_3 )"
-
-RDEPEND="cache? ( >=dev-python/beaker-1.1[$(python_gen_usedep python2\*)] )
- >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/nose[${PYTHON_USEDEP}] )"
-
-S="${WORKDIR}/${MY_P}"
-
-python_test() {
- cp -r -l test "${BUILD_DIR}"/ || die
-
- cd "${BUILD_DIR}"/test || die
- nosetests || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- rm -rf doc/build
-
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/mako/mako-0.9.1.ebuild b/dev-python/mako/mako-0.9.1.ebuild
deleted file mode 100644
index 8f5c7e5..0000000
--- a/dev-python/mako/mako-0.9.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1998-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=5
-
-PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3,3_4} )
-
-inherit distutils-r1
-
-MY_PN=Mako
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="A Python templating language"
-HOMEPAGE="http://www.makotemplates.org/ http://pypi.python.org/pypi/Mako"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="doc +cache test"
-REQUIRED_USE="cache? ( !python_targets_python3_2 !python_targets_python3_3 )"
-
-RDEPEND="cache? ( >=dev-python/beaker-1.1[$(python_gen_usedep python2\*)] )
- >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/nose[${PYTHON_USEDEP}] )"
-
-S="${WORKDIR}/${MY_P}"
-
-python_test() {
- cp -r -l test "${BUILD_DIR}"/ || die
-
- cd "${BUILD_DIR}"/test || die
- nosetests || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- rm -rf doc/build
-
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/mako/metadata.xml b/dev-python/mako/metadata.xml
deleted file mode 100644
index 39d0abd..0000000
--- a/dev-python/mako/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <use>
- <flag name="cache">Add <pkg>dev-python/beaker</pkg> dependency for caching.</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-python/python-elementary/metadata.xml b/dev-python/python-elementary/metadata.xml
index 832c5fc..097975e 100644
--- a/dev-python/python-elementary/metadata.xml
+++ b/dev-python/python-elementary/metadata.xml
@@ -1,8 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>no-herd</herd>
-<maintainer>
- <email>enlightenment@gentoo.org</email>
-</maintainer>
</pkgmetadata>
diff --git a/dev-python/python-evas/metadata.xml b/dev-python/python-evas/metadata.xml
index 832c5fc..097975e 100644
--- a/dev-python/python-evas/metadata.xml
+++ b/dev-python/python-evas/metadata.xml
@@ -1,8 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>no-herd</herd>
-<maintainer>
- <email>enlightenment@gentoo.org</email>
-</maintainer>
</pkgmetadata>
diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass
deleted file mode 100644
index 63b6035..0000000
--- a/eclass/mysql-multilib.eclass
+++ /dev/null
@@ -1,923 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-# @ECLASS: mysql-multilib.eclass
-# @MAINTAINER:
-# Maintainers:
-# - MySQL Team <mysql-bugs@gentoo.org>
-# - Robin H. Johnson <robbat2@gentoo.org>
-# - Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
-# - Brian Evans <grknight@gentoo.org>
-# @BLURB: This eclass provides most of the functions for mysql ebuilds
-# @DESCRIPTION:
-# The mysql-multilib.eclass is the base eclass to build the mysql and
-# alternative projects (mariadb and percona) ebuilds.
-# This eclass uses the mysql-cmake eclass for the
-# specific bits related to the build system.
-# It provides the src_unpack, src_prepare, src_configure, src_compile,
-# src_install, pkg_preinst, pkg_postinst, pkg_config and pkg_postrm
-# phase hooks.
-
-MYSQL_EXTRAS=""
-
-# @ECLASS-VARIABLE: MYSQL_EXTRAS_VER
-# @DESCRIPTION:
-# The version of the MYSQL_EXTRAS repo to use to build mysql
-# Use "none" to disable it's use
-[[ ${MY_EXTRAS_VER} == "live" ]] && MYSQL_EXTRAS="git-r3"
-
-inherit eutils flag-o-matic ${MYSQL_EXTRAS} mysql-cmake mysql_fx versionator \
- toolchain-funcs user cmake-utils multilib-minimal
-
-#
-# Supported EAPI versions and export functions
-#
-
-case "${EAPI:-0}" in
- 5) ;;
- *) die "Unsupported EAPI: ${EAPI}" ;;
-esac
-
-EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_config
-
-#
-# VARIABLES:
-#
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-[[ ${MY_EXTRAS_VER} == "latest" ]] && MY_EXTRAS_VER="20090228-0714Z"
-if [[ ${MY_EXTRAS_VER} == "live" ]]; then
- EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR=${WORKDIR}/mysql-extras
- EGIT_CLONE_TYPE=shallow
-fi
-
-# @ECLASS-VARIABLE: MYSQL_PV_MAJOR
-# @DESCRIPTION:
-# Upstream MySQL considers the first two parts of the version number to be the
-# major version. Upgrades that change major version should always run
-# mysql_upgrade.
-MYSQL_PV_MAJOR="$(get_version_component_range 1-2 ${PV})"
-
-# Cluster is a special case...
-if [[ "${PN}" == "mysql-cluster" ]]; then
- case $PV in
- 7.2*|7.3*) MYSQL_PV_MAJOR=5.5 ;;
- esac
-fi
-
-# MariaDB has left the numbering schema but keeping compatibility
-if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
- case ${PV} in
- 10.0*) MYSQL_PV_MAJOR="5.6" ;;
- 10.1*) MYSQL_PV_MAJOR="5.7" ;;
- esac
-fi
-
-# @ECLASS-VARIABLE: MYSQL_VERSION_ID
-# @DESCRIPTION:
-# MYSQL_VERSION_ID will be:
-# major * 10e6 + minor * 10e4 + micro * 10e2 + gentoo revision number, all [0..99]
-# This is an important part, because many of the choices the MySQL ebuild will do
-# depend on this variable.
-# In particular, the code below transforms a $PVR like "5.0.18-r3" in "5001803"
-# We also strip off upstream's trailing letter that they use to respin tarballs
-MYSQL_VERSION_ID=""
-tpv="${PV%[a-z]}"
-tpv=( ${tpv//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}"
-for vatom in 0 1 2 3 ; do
- # pad to length 2
- tpv[${vatom}]="00${tpv[${vatom}]}"
- MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}"
-done
-# strip leading "0" (otherwise it's considered an octal number by BASH)
-MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"}
-
-# This eclass should only be used with at least mysql-5.5.35
-mysql_version_is_at_least "5.5.35" || die "This eclass should only be used with >=mysql-5.5.35"
-
-# @ECLASS-VARIABLE: XTRADB_VER
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Version of the XTRADB storage engine
-
-# @ECLASS-VARIABLE: PERCONA_VER
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Designation by PERCONA for a MySQL version to apply an XTRADB release
-
-# Work out the default SERVER_URI correctly
-if [[ -z ${SERVER_URI} ]]; then
- [[ -z ${MY_PV} ]] && MY_PV="${PV//_/-}"
- if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
- # Beginning with 5.5, MariaDB stopped putting beta, alpha or rc on their tarball names
- mysql_version_is_at_least "5.5" && MARIA_FULL_PV=$(get_version_component_range 1-3) || \
- MARIA_FULL_PV=$(replace_version_separator 3 '-' ${MY_PV})
- MARIA_FULL_P="${PN}-${MARIA_FULL_PV}"
- SERVER_URI="
- http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
- http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/source/${MARIA_FULL_P}.tar.gz
- http://mirror.jmu.edu/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
- http://mirrors.coreix.net/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
- http://mirrors.syringanetworks.net/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
- http://mirrors.fe.up.pt/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
- http://mirror2.hs-esslingen.de/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
- "
- if [[ ${PN} == "mariadb-galera" ]]; then
- MY_SOURCEDIR="${PN%%-galera}-${MARIA_FULL_PV}"
- fi
- elif [[ ${PN} == "percona-server" ]]; then
- PERCONA_PN="Percona-Server"
- MIRROR_PV=$(get_version_component_range 1-2 ${PV})
- MY_PV=$(get_version_component_range 1-3 ${PV})
- PERCONA_RELEASE=$(get_version_component_range 4-5 ${PV})
- PERCONA_RC=$(get_version_component_range 6 ${PV})
- SERVER_URI="http://www.percona.com/redir/downloads/${PERCONA_PN}-${MIRROR_PV}/${PERCONA_PN}-${MY_PV}-${PERCONA_RC}${PERCONA_RELEASE}/source/tarball/${PN}-${MY_PV}-${PERCONA_RC}${PERCONA_RELEASE}.tar.gz"
-# http://www.percona.com/redir/downloads/Percona-Server-5.5/LATEST/source/tarball/Percona-Server-5.5.30-rel30.2.tar.gz
-# http://www.percona.com/redir/downloads/Percona-Server-5.6/Percona-Server-5.6.13-rc60.5/source/tarball/Percona-Server-5.6.13-rc60.5.tar.gz
- else
- if [[ "${PN}" == "mysql-cluster" ]] ; then
- URI_DIR="MySQL-Cluster"
- URI_FILE="mysql-cluster-gpl"
- else
- URI_DIR="MySQL"
- URI_FILE="mysql"
- fi
- URI_A="${URI_FILE}-${MY_PV}.tar.gz"
- MIRROR_PV=$(get_version_component_range 1-2 ${PV})
- # Recently upstream switched to an archive site, and not on mirrors
- SERVER_URI="http://downloads.mysql.com/archives/${URI_FILE}-${MIRROR_PV}/${URI_A}
- mirror://mysql/Downloads/${URI_DIR}-${PV%.*}/${URI_A}"
- fi
-fi
-
-# Define correct SRC_URIs
-SRC_URI="${SERVER_URI}"
-
-# Gentoo patches to MySQL
-if [[ ${MY_EXTRAS_VER} != "live" && ${MY_EXTRAS_VER} != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- http://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- http://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- http://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
-HOMEPAGE="http://www.mysql.com/"
-if [[ ${PN} == "mariadb" ]]; then
- HOMEPAGE="http://mariadb.org/"
- DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-fi
-if [[ ${PN} == "mariadb-galera" ]]; then
- HOMEPAGE="http://mariadb.org/"
- DESCRIPTION="An enhanced, drop-in replacement for MySQL with Galera Replication"
-fi
-if [[ ${PN} == "percona-server" ]]; then
- HOMEPAGE="http://www.percona.com/software/percona-server"
- DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
-fi
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="+community cluster debug embedded extraengine jemalloc latin1 max-idx-128 minimal
- +perl profiling selinux ssl systemtap static static-libs tcmalloc test"
-
-# This probably could be simplified, but the syntax would have to be just right
-if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && \
- mysql_check_version_range "5.5.37 to 10.0.13.99" ; then
- IUSE="bindist ${IUSE}"
-elif [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
- mysql_check_version_range "5.5.37 to 5.6.11.99" ; then
- IUSE="bindist ${IUSE}"
-elif [[ ${PN} == "mysql-cluster" ]] && \
- mysql_check_version_range "7.2 to 7.2.99.99" ; then
- IUSE="bindist ${IUSE}"
-fi
-
-if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
- IUSE="${IUSE} oqgraph pam sphinx tokudb"
- # 5.5.33 and 10.0.5 add TokuDB. Authors strongly recommend jemalloc or perfomance suffers
- mysql_version_is_at_least "10.0.5" && IUSE="${IUSE} odbc xml" && \
- REQUIRED_USE="odbc? ( extraengine !minimal ) xml? ( extraengine !minimal )"
- REQUIRED_USE="${REQUIRED_USE} minimal? ( !oqgraph !sphinx ) tokudb? ( jemalloc )"
-
- # MariaDB 10.1 introduces InnoDB/XtraDB compression with external libraries
- # Choices are bzip2, lz4, lzma, lzo. bzip2 and lzma enabled by default as they are system libraries
- mysql_version_is_at_least "10.1.1" && IUSE="${IUSE} innodb-lz4 innodb-lzo"
-fi
-
-if [[ -n "${WSREP_REVISION}" ]]; then
- if [[ ${PN} == "mariadb" ]]; then
- IUSE="${IUSE} galera sst-rsync sst-xtrabackup"
- REQUIRED_USE="${REQUIRED_USE} sst-rsync? ( galera ) sst-xtrabackup? ( galera )"
- else
- IUSE="${IUSE} +sst-rsync sst-xtrabackup"
- fi
-fi
-
-if [[ ${PN} == "percona-server" ]]; then
- IUSE="${IUSE} pam"
-fi
-
-REQUIRED_USE="
- ${REQUIRED_USE} tcmalloc? ( !jemalloc ) jemalloc? ( !tcmalloc )
- minimal? ( !cluster !extraengine !embedded ) static? ( !ssl )"
-
-#
-# DEPENDENCIES:
-#
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-# MULTILIB_USEDEP only set for libraries used by the client library
-DEPEND="
- ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
- !dev-db/mariadb-native-client[mysqlcompat]
- jemalloc? ( dev-libs/jemalloc:0=[${MULTILIB_USEDEP}] )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
-"
-
-# dev-db/mysql-5.6.12+ only works with dev-libs/libedit
-# mariadb 10.0.14 fixes libedit detection. changed to follow mysql
-# This probably could be simplified
-if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
- mysql_version_is_at_least "5.6.12" ; then
- DEPEND="${DEPEND} dev-libs/libedit:0=[${MULTILIB_USEDEP}]"
-elif [[ ${PN} == "mysql-cluster" ]] && mysql_version_is_at_least "7.3"; then
- DEPEND="${DEPEND} dev-libs/libedit:0=[${MULTILIB_USEDEP}]"
-elif [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && \
- mysql_version_is_at_least "10.0.14" ; then
- DEPEND="${DEPEND} dev-libs/libedit:0=[${MULTILIB_USEDEP}]"
-else
- DEPEND="${DEPEND} !bindist? ( >=sys-libs/readline-4.1:0=[${MULTILIB_USEDEP}] )"
-fi
-
-if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] ; then
- mysql_version_is_at_least "5.7.5" && DEPEND="${DEPEND} >=dev-libs/boost-1.56.0:0="
-fi
-
-if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
- # Bug 441700 MariaDB >=5.3 include custom mytop
- DEPEND="${DEPEND}
- oqgraph? ( >=dev-libs/boost-1.40.0:0= )
- !minimal? ( pam? ( virtual/pam:0= ) )
- perl? ( !dev-db/mytop )"
- if mysql_version_is_at_least "10.0.5" ; then
- DEPEND="${DEPEND}
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- "
- fi
- mysql_version_is_at_least "10.0.7" && DEPEND="${DEPEND} oqgraph? ( dev-libs/judy:0= )"
- mysql_version_is_at_least "10.0.9" && DEPEND="${DEPEND} >=dev-libs/libpcre-8.35:3=[${MULTILIB_USEDEP}]"
-
- mysql_version_is_at_least "10.1.1" && DEPEND="${DEPEND}
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- "
-fi
-
-[[ ${PN} == "percona-server" ]] && DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam:0= ) )"
-
-# Having different flavours at the same time is not a good idea
-for i in "mysql" "mariadb" "mariadb-galera" "percona-server" "mysql-cluster" ; do
- [[ ${i} == ${PN} ]] ||
- DEPEND="${DEPEND} !dev-db/${i}"
-done
-
-if [[ ${PN} == "mysql-cluster" ]] ; then
- # TODO: This really should include net-misc/memcached
- # but the package does not install the files it seeks.
- mysql_version_is_at_least "7.2.3" && \
- DEPEND="${DEPEND} dev-libs/libevent:0="
-fi
-
-# prefix: first need to implement something for #196294
-# TODO: check emul-linux-x86-db dep when it is multilib enabled
-RDEPEND="${DEPEND}
- !minimal? ( !prefix? ( dev-db/mysql-init-scripts ) )
- selinux? ( sec-policy/selinux-mysql )
- abi_x86_32? ( !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
- !<app-emulation/emul-linux-x86-db-20140508-r2 )
-"
-
-if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
- # Bug 455016 Add dependencies of mytop
- RDEPEND="${RDEPEND} perl? (
- virtual/perl-Getopt-Long
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes ) "
-fi
-
-if [[ -n "${WSREP_REVISION}" ]] ; then
- # The wsrep API version must match between the ebuild and sys-cluster/galera.
- # This will be indicated by WSREP_REVISION in the ebuild and the first number
- # in the version of sys-cluster/galera
- #
- # lsof is required as of 5.5.38 and 10.0.11 for the rsync sst
-
- GALERA_RDEPEND="sys-apps/iproute2
- =sys-cluster/galera-${WSREP_REVISION}*
- "
- if [[ ${PN} == "mariadb" ]]; then
- GALERA_RDEPEND="galera? ( ${GALERA_RDEPEND} )"
- fi
- RDEPEND="${RDEPEND} ${GALERA_RDEPEND}
- sst-rsync? ( sys-process/lsof )
- sst-xtrabackup? (
- >=dev-db/xtrabackup-bin-2.2.4
- net-misc/socat[ssl]
- )
- "
-fi
-
-if [[ ${PN} == "mysql-cluster" ]] ; then
- mysql_version_is_at_least "7.2.9" && RDEPEND="${RDEPEND} java? ( >=virtual/jre-1.6 )" && \
- DEPEND="${DEPEND} java? ( >=virtual/jdk-1.6 )"
-fi
-
-# compile-time-only
-DEPEND="${DEPEND}
- virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- >=dev-util/cmake-2.8.9
-"
-
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- ~virtual/mysql-${MYSQL_PV_MAJOR}"
-
-# my_config.h includes ABI specific data
-MULTILIB_WRAPPED_HEADERS=( /usr/include/mysql/my_config.h /usr/include/mysql/private/embedded_priv.h )
-
-[[ ${PN} == "mariadb" ]] && mysql_version_is_at_least "10.1.1" && \
- MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h )
-
-# wrap the config script
-MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
-
-#
-# HELPER FUNCTIONS:
-#
-
-# @FUNCTION: mysql-multilib_disable_test
-# @DESCRIPTION:
-# Helper function to disable specific tests.
-mysql-multilib_disable_test() {
- mysql-cmake_disable_test "$@"
-}
-
-#
-# EBUILD FUNCTIONS
-#
-
-# @FUNCTION: mysql-multilib_pkg_setup
-# @DESCRIPTION:
-# Perform some basic tests and tasks during pkg_setup phase:
-# die if FEATURES="test", USE="-minimal" and not using FEATURES="userpriv"
-# create new user and group for mysql
-# warn about deprecated features
-mysql-multilib_pkg_setup() {
-
- if has test ${FEATURES} ; then
- if ! use minimal ; then
- if ! has userpriv ${FEATURES} ; then
- eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- # This should come after all of the die statements
- enewgroup mysql 60 || die "problem adding 'mysql' group"
- enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
-
- if use cluster && [[ "${PN}" != "mysql-cluster" ]]; then
- ewarn "Upstream has noted that the NDB cluster support in the 5.0 and"
- ewarn "5.1 series should NOT be put into production. In the near"
- ewarn "future, it will be disabled from building."
- fi
-
- if [[ ${PN} == "mysql-cluster" ]] ; then
- mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_pkg_setup
- fi
-
- if use_if_iuse tokudb && [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 || \
- $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
-}
-
-# @FUNCTION: mysql-multilib_src_unpack
-# @DESCRIPTION:
-# Unpack the source code
-mysql-multilib_src_unpack() {
-
- # Initialize the proper variables first
- mysql_init_vars
-
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR}/${MY_SOURCEDIR}" "${S}"
-}
-
-# @FUNCTION: mysql-multilib_src_prepare
-# @DESCRIPTION:
-# Apply patches to the source code and remove unneeded bundled libs.
-mysql-multilib_src_prepare() {
- mysql-cmake_src_prepare "$@"
- if [[ ${PN} == "mysql-cluster" ]] ; then
- mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_src_prepare
- fi
-}
-
-
-# @FUNCTION: mysql-multilib_src_configure
-# @DESCRIPTION:
-# Configure mysql to build the code for Gentoo respecting the use flags.
-mysql-multilib_src_configure() {
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-
- debug-print-function ${FUNCNAME} "$@"
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")"
- -DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr
- -DMYSQL_DATADIR=${EPREFIX}/var/lib/mysql
- -DSYSCONFDIR=${EPREFIX}/etc/mysql
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${P}
- -DINSTALL_DOCREADMEDIR=share/doc/${P}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_ELIBDIR=$(get_libdir)/mysql
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLDATADIR=${EPREFIX}/var/lib/mysql
- -DINSTALL_MYSQLSHAREDIR=share/mysql
- -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_SQLBENCHDIR=share/mysql
- -DINSTALL_SUPPORTFILESDIR=${EPREFIX}/usr/share/mysql
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- $(cmake-utils_use_with test UNIT_TESTS)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock
- -DINSTALL_UNIX_ADDRDIR=${EPREFIX}/var/run/mysqld/mysqld.sock
- -DWITH_SSL=$(usex ssl system bundled)
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- )
-
- # systemtap only works on native ABI bug 530132
- if multilib_is_native_abi; then
- mycmakeargs+=( $(cmake-utils_use_enable systemtap DTRACE) )
- else
- mycmakeargs+=( -DENABLE_DTRACE=0 )
- fi
-
- if in_iuse bindist ; then
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- $(usex bindist -DHAVE_BFD_H=0 '')
- )
- fi
-
- mycmakeargs+=( -DWITH_EDITLINE=system )
-
- if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- )
-
- mysql_version_is_at_least "10.0.9" && mycmakeargs+=( -DWITH_PCRE=system )
- fi
-
- configure_cmake_locale
-
- if multilib_is_native_abi && ! use minimal ; then
- configure_cmake_standard
- else
- configure_cmake_minimal
- fi
-
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
- CXXFLAGS="${CXXFLAGS} -felide-constructors"
- # Causes linkage failures. Upstream bug #59607 removes it
- if ! mysql_version_is_at_least "5.6" ; then
- CXXFLAGS="${CXXFLAGS} -fno-implicit-templates"
- fi
- # As of 5.7, exceptions are used!
- if ! mysql_version_is_at_least "5.7" ; then
- CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-rtti"
- fi
- export CXXFLAGS
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- cmake-utils_src_configure
-}
-
-mysql-multilib_src_compile() {
- local _cmake_args=( "${@}" )
-
- multilib-minimal_src_compile
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile "${_cmake_args[@]}"
-}
-
-
-# @FUNCTION: mysql-multilib_src_install
-# @DESCRIPTION:
-# Install mysql.
-mysql-multilib_src_install() {
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- debug-print-function ${FUNCNAME} "$@"
-
- if multilib_is_native_abi; then
- mysql-cmake_src_install
- else
- cmake-utils_src_install
- if ! use minimal && [[ "${PN}" == "mariadb" || "${PN}" == "mariadb-galera" ]] ; then
- insinto /usr/include/mysql/private
- doins "${S}"/sql/*.h
- fi
- fi
-}
-
-# @FUNCTION: mysql-multilib_pkg_preinst
-# @DESCRIPTION:
-# Call java-pkg-opt-2 eclass when mysql-cluster is installed
-mysql-multilib_pkg_preinst() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${PN} == "mysql-cluster" ]] ; then
- mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_pkg_preinst
- fi
-}
-
-# @FUNCTION: mysql-multilib_pkg_postinst
-# @DESCRIPTION:
-# Run post-installation tasks:
-# create the dir for logfiles if non-existant
-# touch the logfiles and secure them
-# install scripts
-# issue required steps for optional features
-# issue deprecation warnings
-mysql-multilib_pkg_postinst() {
- debug-print-function ${FUNCNAME} "$@"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Check FEATURES="collision-protect" before removing this
- [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
-
- # Secure the logfiles
- touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err}
- chown mysql:mysql "${ROOT}${MY_LOGDIR}"/mysql*
- chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql*
-
- # Minimal builds don't have the MySQL server
- if ! use minimal ; then
- docinto "support-files"
- for script in \
- support-files/my-*.cnf \
- support-files/magic \
- support-files/ndb-config-2-node.ini
- do
- [[ -f "${script}" ]] \
- && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in scripts/mysql* ; do
- if [[ -f "${script}" && "${script%.sh}" == "${script}" ]]; then
- dodoc "${script}"
- fi
- done
-
- if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
- if use_if_iuse pam ; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://kb.askmonty.org/en/pam-authentication-plugin/"
- einfo
- fi
- fi
-
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- einfo
-
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
-
- if [[ ${PN} == "mariadb-galera" ]] ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
- fi
-}
-
-# @FUNCTION: mysql-multilib_getopt
-# @DESCRIPTION:
-# Use my_print_defaults to extract specific config options
-mysql-multilib_getopt() {
- local mypd="${EROOT}"/usr/bin/my_print_defaults
- section="$1"
- flag="--${2}="
- "${mypd}" $section | sed -n "/^${flag}/p"
-}
-
-# @FUNCTION: mysql-multilib_getoptval
-# @DESCRIPTION:
-# Use my_print_defaults to extract specific config options
-mysql-multilib_getoptval() {
- local mypd="${EROOT}"/usr/bin/my_print_defaults
- section="$1"
- flag="--${2}="
- "${mypd}" $section | sed -n "/^${flag}/s,${flag},,gp"
-}
-
-# @FUNCTION: mysql-multilib_pkg_config
-# @DESCRIPTION:
-# Configure mysql environment.
-mysql-multilib_pkg_config() {
-
- debug-print-function ${FUNCNAME} "$@"
-
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
-
- if built_with_use ${CATEGORY}/${PN} minimal ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
- MYSQL_ROOT_PASSWORD="$(mysql-multilib_getoptval 'client mysql' password)"
- fi
- MYSQL_TMPDIR="$(mysql-multilib_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(mysql-multilib_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(mysql-multilib_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${ROOT}"/$MYSQL_TMPDIR ]]; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT}"/$MYSQL_TMPDIR
- fi
- if [[ ! -d "${ROOT}"/$MYSQL_LOG_BIN ]]; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT}"/$MYSQL_LOG_BIN
- fi
- if [[ ! -d "${EROOT}"/$MYSQL_RELAY_LOG ]]; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT}"/$MYSQL_RELAY_LOG
- fi
-
- if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- local help_tables="${ROOT}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
- [[ -r "${help_tables}" ]] \
- && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
- || touch "${TMPDIR}/fill_help_tables.sql"
- help_tables="${TMPDIR}/fill_help_tables.sql"
-
- # Figure out which options we need to disable to do the setup
- helpfile="${TMPDIR}/mysqld-help"
- ${EROOT}/usr/sbin/mysqld --verbose --help >"${helpfile}" 2>/dev/null
- for opt in grant-tables host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- ndbcluster log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
- # But some options changed names
- egrep -sq external-locking "${helpfile}" && \
- options="${options/skip-locking/skip-external-locking}"
-
- use prefix || options="${options} --user=mysql"
-
- # MySQL 5.6+ needs InnoDB
- if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] ; then
- mysql_version_is_at_least "5.6" || options="${options} --loose-skip-innodb"
- fi
-
- einfo "Creating the mysql database and setting proper"
- einfo "permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]]; then
- mkdir -p "${PID_DIR}" || die "Could not create pid directory"
- chown mysql:mysql "${PID_DIR}" || die "Could not set ownership on pid directory"
- chmod 755 "${PID_DIR}" || die "Could not set permissions on pid directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null
- #cmd="'${EROOT}/usr/share/mysql/scripts/mysql_install_db' '--basedir=${EPREFIX}/usr' ${options}"
- cmd=${EROOT}usr/share/mysql/scripts/mysql_install_db
- [[ -f ${cmd} ]] || cmd=${EROOT}usr/bin/mysql_install_db
- cmd="'$cmd' '--basedir=${EPREFIX}/usr' ${options} '--datadir=${ROOT}/${MY_DATADIR}' '--tmpdir=${ROOT}/${MYSQL_TMPDIR}'"
- einfo "Command: $cmd"
- eval $cmd \
- >"${TMPDIR}"/mysql_install_db.log 2>&1
- if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
- die "Failed to run mysql_install_db. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
- fi
- popd &>/dev/null
- [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
- chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2>/dev/null
- chmod 0750 "${ROOT}/${MY_DATADIR}" 2>/dev/null
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
-
- if [[ -r "${help_tables}" ]] ; then
- cat "${help_tables}" >> "${sqltmp}"
- fi
-
- local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT}/usr/sbin/mysqld \
- ${options} \
- $(use prefix || echo --user=mysql) \
- --log-warnings=0 \
- --basedir=${EROOT}/usr \
- --datadir=${ROOT}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --default-storage-engine=MyISAM \
- --socket=${socket} \
- --pid-file=${pidfile}
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]]; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'"
- "${EROOT}/usr/bin/mysql" \
- --socket=${socket} \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- ebegin "Loading \"zoneinfo\", this step may require a few seconds ..."
- "${EROOT}/usr/bin/mysql" \
- --socket=${socket} \
- -hlocalhost \
- -uroot \
- --password="${MYSQL_ROOT_PASSWORD}" \
- mysql < "${sqltmp}"
- rc=$?
- eend $?
- [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/games-emulation/psemu-padjoy/metadata.xml b/games-emulation/psemu-padjoy/metadata.xml
index d3c2cc9..097975e 100644
--- a/games-emulation/psemu-padjoy/metadata.xml
+++ b/games-emulation/psemu-padjoy/metadata.xml
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>games</herd>
</pkgmetadata>
diff --git a/games-misc/bsd-games/Manifest b/games-misc/bsd-games/Manifest
deleted file mode 100644
index 86faa64..0000000
--- a/games-misc/bsd-games/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST bsd-games-2.17.tar.gz 2563311 SHA256 066f924aef6c1c5ea946f588e36f303021f5dfc093944738f025d8edbc6fff60 SHA512 cb2ee60474f164d42e3d47700270bbeeda3c8279d64da409c9cc05e36437ef95b92d0a85543298e97604635fcf3e068f3a5cc812e90b5c61fb8d146cf35bc38f WHIRLPOOL 4a8e4bcbf040997645d1b88ef17a3f0df6414a5ad922ea68045759eeafb09ff473ad3ed1a95304a82a4eace02ebc05c1c3966bfe46a204f22e29d4d945ad2566
-DIST bsdgames_2.17-21.debian.tar.gz 36697 SHA256 f12b786e52548a5cb250a6128cb9b8eb2c1e7b57202f235fc0d61337108d17c5 SHA512 14e5202a3acdbd3ddf97d9fbc89a0c7b1d95f8ff972b4872e56faebd466c35ef9c0d46dbec617d862140d0b087f0ed5af4464d9f447ed50a3bd9f5872f47acbf WHIRLPOOL b52291279effd15615db1d82fd93b9118f8d22036632a4579016cec09f3283da0bca4341777ba04130abcfec1919d4a0d2299db20fa7f5a645c3117fa9f4014c
diff --git a/games-misc/bsd-games/bsd-games-2.17-r5.ebuild b/games-misc/bsd-games/bsd-games-2.17-r5.ebuild
deleted file mode 100644
index a9dc047..0000000
--- a/games-misc/bsd-games/bsd-games-2.17-r5.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=2
-inherit eutils toolchain-funcs games
-
-DEB_PATCH_VER=21
-DESCRIPTION="collection of games from NetBSD"
-HOMEPAGE="http://www.advogato.org/proj/bsd-games/"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/games/${P}.tar.gz
- mirror://debian/pool/main/b/bsdgames/bsdgames_${PV}-${DEB_PATCH_VER}.debian.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 ppc sparc x86"
-IUSE=""
-
-RDEPEND="!games-misc/wtf
- !app-misc/banner
- !games-puzzle/hangman
- sys-libs/ncurses
- sys-apps/miscfiles"
-DEPEND="${RDEPEND}
- sys-devel/flex
- sys-devel/bison
- virtual/pkgconfig"
-
-# Set GAMES_TO_BUILD variable to whatever you want
-GAMES_TO_BUILD=${GAMES_TO_BUILD:=adventure arithmetic atc
-backgammon banner battlestar bcd boggle caesar canfield countmail cribbage
-dab dm factor fish gomoku hack hangman hunt mille monop morse
-number phantasia pig pom ppt primes quiz rain random robots sail snake
-tetris trek wargames worm worms wtf}
-
-pkg_setup() {
- games_pkg_setup
- # Used by gentoo config.params. See bug 531200
- export GAMES_BINDIR GAMES_DATADIR GAMES_STATEDIR
-}
-
-src_prepare() {
- local d="${WORKDIR}"/debian/patches
- EPATCH_SOURCE="${d}" epatch $(<"${d}"/series)
-
- epatch \
- "${FILESDIR}"/${P}-64bitutmp.patch \
- "${FILESDIR}"/${P}-headers.patch \
- "${FILESDIR}"/${P}-bg.patch \
- "${FILESDIR}"/${P}-gcc4.patch
-
- # Use pkg-config to query Libs: from ncurses.pc (for eg. -ltinfo) wrt #459652
- sed -i \
- -e "/ncurses_lib/s:-lncurses:'$($(tc-getPKG_CONFIG) --libs-only-l ncurses)':" \
- configure || die
-
- sed -i \
- -e "s:/usr/games:${GAMES_BINDIR}:" \
- wargames/wargames \
- || die "sed wargames failed"
-
- sed -i \
- -e '/^CC :=/d' \
- -e '/^CXX :=/d' \
- -e '/^CFLAGS/s/OPTIMIZE/CFLAGS/' \
- -e '/^CXXFLAGS/s/OPTIMIZE/CXXFLAGS/' \
- -e '/^LDFLAGS/s/LDFLAGS := /LDFLAGS := \$(LDFLAGS) /' \
- Makeconfig.in \
- || die 'sed failed'
-
- cp "${FILESDIR}"/config.params-gentoo config.params
- echo bsd_games_cfg_usrlibdir=\"$(games_get_libdir)\" >> ./config.params
- echo bsd_games_cfg_build_dirs=\"${GAMES_TO_BUILD}\" >> ./config.params
- echo bsd_games_cfg_docdir=\"/usr/share/doc/${PF}\" >> ./config.params
-}
-
-src_test() {
- addwrite /dev/full
- emake -j1 check || die "make check failed"
-}
-
-build_game() {
- has ${1} ${GAMES_TO_BUILD}
-}
-
-do_statefile() {
- touch "${D}/${GAMES_STATEDIR}/${1}"
- chmod ug+rw "${D}/${GAMES_STATEDIR}/${1}"
-}
-
-src_install() {
- dodir "${GAMES_BINDIR}" "${GAMES_STATEDIR}" /usr/share/man/man{1,6}
- emake DESTDIR="${D}" install || die "emake install failed"
-
- dodoc AUTHORS BUGS ChangeLog ChangeLog.0 \
- README PACKAGING SECURITY THANKS TODO YEAR2000
-
- # set some binaries to run as games group (+S)
- build_game atc && fperms g+s "${GAMES_BINDIR}"/atc
- build_game battlestar && fperms g+s "${GAMES_BINDIR}"/battlestar
- build_game canfield && fperms g+s "${GAMES_BINDIR}"/canfield
- build_game cribbage && fperms g+s "${GAMES_BINDIR}"/cribbage
- build_game phantasia && fperms g+s "${GAMES_BINDIR}"/phantasia
- build_game robots && fperms g+s "${GAMES_BINDIR}"/robots
- build_game sail && fperms g+s "${GAMES_BINDIR}"/sail
- build_game snake && fperms g+s "${GAMES_BINDIR}"/snake
- build_game tetris && fperms g+s "${GAMES_BINDIR}"/tetris-bsd
-
- # state files
- build_game atc && do_statefile atc_score
- build_game battlestar && do_statefile battlestar.log
- build_game canfield && do_statefile cfscores
- build_game cribbage && do_statefile criblog
- build_game hack && keepdir "${GAMES_STATEDIR}"/hack
- build_game robots && do_statefile robots_roll
- build_game sail && do_statefile saillog
- build_game snake && do_statefile snake.log && do_statefile snakerawscores
- build_game tetris && do_statefile tetris-bsd.scores
-
- # extra docs
- build_game atc && { docinto atc ; dodoc atc/BUGS; }
- build_game boggle && { docinto boggle ; dodoc boggle/README; }
- build_game hack && { docinto hack ; dodoc hack/{OWNER,Original_READ_ME,READ_ME,help}; }
- build_game hunt && { docinto hunt ; dodoc hunt/README; }
- build_game phantasia && { docinto phantasia ; dodoc phantasia/{OWNER,README}; }
-
- # Since factor is usually not installed, and primes.6 is a symlink to
- # factor.6, make sure that primes.6 is ok ...
- if build_game primes && [[ ! $(build_game factor) ]] ; then
- rm -f "${D}"/usr/share/man/man6/{factor,primes}.6
- newman factor/factor.6 primes.6
- fi
-
- prepalldocs
- prepgamesdirs
-
- # state dirs
- chmod -R ug+rw "${D}/${GAMES_STATEDIR}"/*
-}
diff --git a/games-misc/bsd-games/files/bsd-games-2.17-64bitutmp.patch b/games-misc/bsd-games/files/bsd-games-2.17-64bitutmp.patch
deleted file mode 100644
index 3be1b3d..0000000
--- a/games-misc/bsd-games/files/bsd-games-2.17-64bitutmp.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-About utmpentry.c:
-
-the utmpx structure defines the ut_tv member a little differently on
-64bit hosts so that a 32bit and 64bit structure can be shared. So the
-ut_tv is a custom 32bit structure rather than the native 64bit timeval
-structure. Work around is to assign the submembers instead.
-
-http://bugs.gentoo.org/show_bug.cgi?id=102667
-
---- bsd-games/dm/utmpentry.c
-+++ bsd-games/dm/utmpentry.c
-@@ -291,7 +291,8 @@
- e->line[sizeof(e->line) - 1] = '\0';
- (void)strncpy(e->host, up->ut_host, sizeof(up->ut_host));
- e->name[sizeof(e->host) - 1] = '\0';
-- e->tv = up->ut_tv;
-+ e->tv.tv_sec = up->ut_tv.tv_sec;
-+ e->tv.tv_usec = up->ut_tv.tv_usec;
- adjust_size(e);
- }
- #endif
diff --git a/games-misc/bsd-games/files/bsd-games-2.17-bg.patch b/games-misc/bsd-games/files/bsd-games-2.17-bg.patch
deleted file mode 100644
index 07dc520..0000000
--- a/games-misc/bsd-games/files/bsd-games-2.17-bg.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- backgammon/common_source/fancy.c.old 2007-05-16 20:16:46.000000000 +0200
-+++ backgammon/common_source/fancy.c 2007-05-16 20:19:00.000000000 +0200
-@@ -58,7 +58,7 @@
- int lUP; /* length of UP */
- int CO; /* number of columns */
- int LI; /* number of lines */
--int *linect; /* array of lengths of lines on screen (the
-+static int linect[25]; /* array of lengths of lines on screen (the
- * actual screen is not stored) */
-
- /* two letter codes */
-@@ -728,10 +728,5 @@
- lND = strlen(ND);
- if (LI < 24 || CO < 72 || !(CL && UP && ND))
- return (0);
-- linect = (int *) calloc(LI + 1, sizeof(int));
-- if (linect == NULL) {
-- write(2, "\r\nOut of memory!\r\n", 18);
-- getout(0);
-- }
- return (1);
- }
diff --git a/games-misc/bsd-games/files/bsd-games-2.17-gcc4.patch b/games-misc/bsd-games/files/bsd-games-2.17-gcc4.patch
deleted file mode 100644
index 7de07ef..0000000
--- a/games-misc/bsd-games/files/bsd-games-2.17-gcc4.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- trek/getpar.h.orig 2005-08-14 19:45:29.000000000 -0400
-+++ trek/getpar.h 2005-08-14 19:46:33.000000000 -0400
-@@ -31,6 +31,9 @@
- * @(#)getpar.h 8.1 (Berkeley) 5/31/93
- */
-
-+#ifndef __GETPAR_H_
-+#define __GETPAR_H_
-+
- typedef void (*cmdfun)(int);
- struct cvntab /* used for getcodpar() parameter list */
- {
-@@ -51,3 +54,5 @@
- int testnl(void);
- void skiptonl(int);
- int readdelim(int);
-+
-+#endif /*__GETPAR_H_*/
---- trek/trek.h.orig 2005-08-14 19:45:37.000000000 -0400
-+++ trek/trek.h 2005-08-14 19:48:17.000000000 -0400
-@@ -31,6 +31,13 @@
- * @(#)trek.h 8.1 (Berkeley) 5/31/93
- */
-
-+/* For struct cvntab definition, which is now required for
-+ * Skitab and Lentab below. gcc 4.0 and later will emit
-+ * "array type has incomplete element type" errors otherwise.
-+ * -- Jason Bucata (jbucata@tulsaconnect.com), 12-AUG-2005
-+ */
-+#include "getpar.h"
-+
- /*
- ** Global Declarations
- **
diff --git a/games-misc/bsd-games/files/bsd-games-2.17-headers.patch b/games-misc/bsd-games/files/bsd-games-2.17-headers.patch
deleted file mode 100644
index 953a5d3..0000000
--- a/games-misc/bsd-games/files/bsd-games-2.17-headers.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-http://bugs.gentoo.org/128348
-
---- include/stdio.h
-+++ include/stdio.h
-@@ -35,5 +35,11 @@
- #include_next <stdio.h>
-
- #ifndef HAVE_fgetln
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- extern char *fgetln(FILE *stream, size_t *len);
-+#ifdef __cplusplus
-+}
-+#endif
- #endif
diff --git a/games-misc/bsd-games/files/config.params-gentoo b/games-misc/bsd-games/files/config.params-gentoo
deleted file mode 100644
index 9d246d1..0000000
--- a/games-misc/bsd-games/files/config.params-gentoo
+++ /dev/null
@@ -1,39 +0,0 @@
-
-# This file is read by configure for the Gentoo ebuild
-
-# Don't run configure interactively.
-bsd_games_cfg_non_interactive=y
-
-bsd_games_cfg_install_prefix=${D}
-
-# For gentoo,
-# banner used to be in util-linux. Gentoo might have an ebuild
-# fortune is "app-games/fortune-mod"
-# factor is in "sys-apps/sh-utils"
-# dm is not installed by debian, I don't know why
-bsd_games_cfg_no_build_dirs="dm banner fortune factor"
-
-# Gentoo's games eclass want everything in these places
-bsd_games_cfg_gamesdir=${GAMES_BINDIR}
-bsd_games_cfg_sbindir=${GAMES_BINDIR}
-bsd_games_cfg_sharedir=${GAMES_DATADIR}/${PN}
-bsd_games_cfg_varlibdir=${GAMES_STATEDIR}
-
-# We'll control all the permissions during install (via games eclass)
-bsd_games_cfg_do_chown=n
-
-# .so or symlink??? (Debian perfers symlinks for manpages)
-bsd_games_cfg_use_dot_so=symlinks
-
-# Gentoo'll handle manpage compressing.
-bsd_games_cfg_gzip_manpages=n
-
-# sys-apps/less is in system (even though more is in /bin)
-bsd_games_cfg_pager=/usr/bin/less
-
-# sys-apps/miscfiles might have too many words for boggle
-bsd_games_cfg_dictionary_src=/usr/share/dict/words
-
-# Acronym file for "wft"
-bsd_games_cfg_wtf_acronymfile=${GAMES_DATADIR}/${PN}/acronyms
-
diff --git a/games-misc/bsd-games/metadata.xml b/games-misc/bsd-games/metadata.xml
deleted file mode 100644
index 097975e..0000000
--- a/games-misc/bsd-games/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-</pkgmetadata>
diff --git a/games-puzzle/typerider/metadata.xml b/games-puzzle/typerider/metadata.xml
index b1b8908..a3f2c77 100644
--- a/games-puzzle/typerider/metadata.xml
+++ b/games-puzzle/typerider/metadata.xml
@@ -4,7 +4,7 @@
<longdescription lang="en">
User data is saved in `~/.config/unity3d/ExNihilo`.
</longdescription>
- <maintainer>
+ <maintainer type="person">
<email>overlay@faith.eroen.eu</email>
<name>eroen</name>
</maintainer>
diff --git a/games-rpg/farsky/metadata.xml b/games-rpg/farsky/metadata.xml
index 954111e..e19eb20 100644
--- a/games-rpg/farsky/metadata.xml
+++ b/games-rpg/farsky/metadata.xml
@@ -3,7 +3,7 @@
<pkgmetadata>
<longdescription lang="en">
</longdescription>
- <maintainer>
+ <maintainer type="person">
<email>overlay@faith.eroen.eu</email>
<name>eroen</name>
</maintainer>
diff --git a/games-simulation/dwarffortress/dwarffortress-0.42.04.ebuild b/games-simulation/dwarffortress/dwarffortress-0.42.04.ebuild
index f8cb85e..cd22cbd 100644
--- a/games-simulation/dwarffortress/dwarffortress-0.42.04.ebuild
+++ b/games-simulation/dwarffortress/dwarffortress-0.42.04.ebuild
@@ -79,7 +79,7 @@ src_install() {
prepgamesdirs
fperms 750 "${gamesdir}"/libs/Dwarf_Fortress
-
+
# PAX marking for dfhack. PTPAX markings change the md5 hash of the
# executable, and breaks version detection in dfhack
PAX_MARKINGS=XT pax-mark -m "${ED%/}${gamesdir}"/libs/Dwarf_Fortress
diff --git a/games-simulation/lincity-ng/Manifest b/games-simulation/lincity-ng/Manifest
index f5f2ab1..c686a15 100644
--- a/games-simulation/lincity-ng/Manifest
+++ b/games-simulation/lincity-ng/Manifest
@@ -1,2 +1 @@
-DIST lincity-ng-2.0.tar.bz2 39475719 SHA256 a6b206a5dfc7a817669f4fc7cbc012bd4a7073c42f918ceb2f1f484cc0b06606 SHA512 d85cd398145d1591f8640458c076f2a0b55713c39ede28b67d99adc7b76d38f09b58cd2ec84d9acac11bbaa794f6d97f6200f54efcdd4286315e6b3133284c55 WHIRLPOOL d218d0475198c9852abf18caab55df57c2dc0026c74db3215c66c4915758c9f4e608906ccdeb8ff9b83eace67ad4cdcb3e5d5d7dd5d1a7aa4c18131e03646d91
DIST lincity-ng-2.9.beta.tar.bz2 44956934 SHA256 542506135e833f7fd7231c0a5b2ab532fab719d214add461227af72d97ac9d4f SHA512 3ec9997971c7c5a0d027cc09cb7608f965122d5f7dccc7bffcab1bf84d50db495a2b42131ec80a049138a35625c7cfe6e49214be248cdceeefe056616ff71bc9 WHIRLPOOL 84cb7eda258e42be4745a3290a7ca5b7cd1001638606ef13792af06e5c4b26b29e220649dfa8a2c9c61fab709b9e726b10fdac3362c43e55376f22329fcfeef8
diff --git a/games-simulation/lincity-ng/lincity-ng-2.0.ebuild b/games-simulation/lincity-ng/lincity-ng-2.0.ebuild
deleted file mode 100644
index 8c2ac8a..0000000
--- a/games-simulation/lincity-ng/lincity-ng-2.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=2
-inherit eutils multiprocessing games
-
-DESCRIPTION="city/country simulation game for X and opengl"
-HOMEPAGE="http://lincity-ng.berlios.de/"
-SRC_URI="mirror://berlios/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2 BitstreamVera"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~sparc x86"
-IUSE=""
-
-RDEPEND="virtual/opengl
- sys-libs/zlib
- dev-libs/libxml2
- media-libs/libsdl[sound,joystick,opengl,video]
- media-libs/sdl-mixer[vorbis]
- media-libs/sdl-image[png]
- media-libs/sdl-ttf
- media-libs/sdl-gfx
- dev-games/physfs"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- dev-util/ftjam"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-build.patch
-}
-
-src_compile() {
- jam -q -dx -j $(makeopts_jobs) || die "jam failed"
-}
-
-src_install() {
- jam -sDESTDIR="${D}" \
- -sappdocdir="/usr/share/doc/${PF}" \
- -sapplicationsdir="/usr/share/applications" \
- -spixmapsdir="/usr/share/pixmaps" \
- install \
- || die "jam install failed"
- rm -f "${D}"/usr/share/doc/${PF}/COPYING*
- prepalldocs
- prepgamesdirs
-}
diff --git a/kde-base/kdebase-meta/kdebase-meta-4.14.3.ebuild b/kde-base/kdebase-meta/kdebase-meta-4.14.3.ebuild
deleted file mode 100644
index 1ad4dde..0000000
--- a/kde-base/kdebase-meta/kdebase-meta-4.14.3.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=5
-inherit kde4-meta-pkg
-
-DESCRIPTION="Merge this to pull in all kdebase-derived packages"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="consolekit +display-manager minimal +wallpapers"
-
-RDEPEND="
- $(add_kdebase_dep dolphin)
- $(add_kdebase_dep kcheckpass '' 4.11)
- wallpapers? ( $(add_kdebase_dep kde-wallpapers '' 4.11) )
- $(add_kdebase_dep kde-base-artwork)
- $(add_kdebase_dep kdebase-runtime-meta)
- $(add_kdebase_dep kdialog)
- $(add_kdebase_dep keditbookmarks)
- $(add_kdebase_dep kephal '' 4.11)
- $(add_kdebase_dep kfind)
- $(add_kdebase_dep kfmclient)
- $(add_kdebase_dep konq-plugins)
- $(add_kdebase_dep konqueror)
- $(add_kdebase_dep konsole)
- $(add_kdebase_dep kscreensaver '' 4.11)
- $(add_kdebase_dep kstartupconfig '' 4.11)
- $(add_kdebase_dep kstyles '' 4.11)
- $(add_kdebase_dep ksystraycmd '' 4.11)
- $(add_kdebase_dep kwrite)
- $(add_kdebase_dep libkonq)
- $(add_kdebase_dep liboxygenstyle '' 4.11)
- $(add_kdebase_dep libplasmaclock '' 4.11)
- $(add_kdebase_dep nsplugins)
- $(add_kdebase_dep phonon-kde)
- $(add_kdebase_dep plasma-apps)
- $(add_kdebase_dep qguiplatformplugin_kde '' 4.11)
- !minimal? (
- $(add_kdebase_dep freespacenotifier '' 4.11)
- $(add_kdebase_dep kcminit '' 4.11)
- $(add_kdebase_dep kdebase-cursors '' 4.11)
- $(add_kdebase_dep kdebase-startkde '' 4.11)
- $(add_kdebase_dep khotkeys '' 4.11)
- $(add_kdebase_dep kinfocenter '' 4.11)
- $(add_kdebase_dep klipper '' 4.11)
- $(add_kdebase_dep kmenuedit '' 4.11)
- $(add_kdebase_dep krunner '' 4.11)
- $(add_kdebase_dep ksmserver '' 4.11)
- $(add_kdebase_dep ksplash '' 4.11)
- $(add_kdebase_dep ksysguard '' 4.11)
- $(add_kdebase_dep kwin '' 4.11)
- $(add_kdebase_dep kwrited '' 4.11)
- $(add_kdebase_dep libkworkspace '' 4.11)
- $(add_kdebase_dep libplasmagenericshell '' 4.11)
- $(add_kdebase_dep libtaskmanager '' 4.11)
- $(add_kdebase_dep plasma-workspace '' 4.11)
- $(add_kdebase_dep powerdevil '' 4.11)
- $(add_kdebase_dep solid-actions-kcm '' 4.11)
- $(add_kdebase_dep systemsettings '' 4.11)
- consolekit? ( $(add_kdebase_dep kdepasswd) )
- !prefix? ( display-manager? ( || ( $(add_kdebase_dep kdm '' 4.11) x11-misc/lightdm x11-misc/sddm ) ) )
- )
-"
diff --git a/kde-base/kdebase-meta/metadata.xml b/kde-base/kdebase-meta/metadata.xml
deleted file mode 100644
index d517e5b..0000000
--- a/kde-base/kdebase-meta/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <use>
- <flag name="display-manager">Pull in a graphical display manager</flag>
- <flag name="wallpapers">Install the KDE wallpapers</flag>
- <flag name="consolekit">Install components that require <pkg>sys-auth/consolekit</pkg></flag>
- </use>
-</pkgmetadata>
diff --git a/kde-base/kdebase-runtime-meta/kdebase-runtime-meta-4.13.0.ebuild b/kde-base/kdebase-runtime-meta/kdebase-runtime-meta-4.13.0.ebuild
deleted file mode 100644
index a6ca943..0000000
--- a/kde-base/kdebase-runtime-meta/kdebase-runtime-meta-4.13.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=5
-inherit kde4-meta-pkg
-
-DESCRIPTION="Merge this to pull in all kdebase-runtime-derived packages"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+handbook semantic-desktop"
-
-RDEPEND="
- $(add_kdebase_dep attica)
- $(add_kdebase_dep kcmshell)
- $(add_kdebase_dep kcontrol)
- $(add_kdebase_dep kdebase-data)
- $(add_kdebase_dep kdebase-desktoptheme)
- $(add_kdebase_dep kdebase-kioslaves)
- $(add_kdebase_dep kdebase-menu)
- $(add_kdebase_dep kdebase-menu-icons)
- $(add_kdebase_dep kdebugdialog)
- $(add_kdebase_dep kdesu)
- $(add_kdebase_dep kdontchangethehostname)
- $(add_kdebase_dep keditfiletype)
- $(add_kdebase_dep kfile)
- $(add_kdebase_dep kglobalaccel)
- $(add_kdebase_dep kiconfinder)
- $(add_kdebase_dep kimgio)
- $(add_kdebase_dep kioclient)
- $(add_kdebase_dep kmimetypefinder)
- $(add_kdebase_dep knetattach)
- $(add_kdebase_dep knewstuff)
- $(add_kdebase_dep kpasswdserver)
- $(add_kdebase_dep kquitapp)
- $(add_kdebase_dep kstart)
- $(add_kdebase_dep ktimezoned)
- $(add_kdebase_dep ktraderclient)
- $(add_kdebase_dep kuiserver)
- $(add_kdebase_dep kurifilter-plugins)
- $(add_kdebase_dep kwalletmanager)
- $(add_kdebase_dep plasma-runtime)
- $(add_kdebase_dep renamedlg-plugins)
- $(add_kdebase_dep solid-runtime)
- handbook? ( $(add_kdebase_dep khelpcenter) )
- semantic-desktop? (
- $(add_kdebase_dep drkonqi)
- $(add_kdebase_dep kwalletd)
- $(add_kdebase_dep nepomuk)
- )
-"
diff --git a/kde-base/kdebase-runtime-meta/metadata.xml b/kde-base/kdebase-runtime-meta/metadata.xml
deleted file mode 100644
index 097975e..0000000
--- a/kde-base/kdebase-runtime-meta/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-</pkgmetadata>
diff --git a/kde-base/kwalletd/Manifest b/kde-base/kwalletd/Manifest
deleted file mode 100644
index e1e39bf..0000000
--- a/kde-base/kwalletd/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kde-runtime-4.13.0.tar.xz 7860864 SHA256 f9a0ab9c38e8128d1f714c63d77a08075070582591a8ba99759f88a92efcda37 SHA512 e12b5ad802e653d0f0a241ddb0dd33e7d626bd801296e20a67da735db40b8ee2943154dbd57615a7bbff665db304685f6b4782838675b674962de9817217400b WHIRLPOOL d10552689ff7cd38679e78a1a2bac65f417e804246e52003f1bb21ba5b6fa34faec7169f9adae018ff5ebb582c2e9eaca3d4209d24f245ab884e26cb5c93d636
diff --git a/kde-base/kwalletd/kwalletd-4.13.0.ebuild b/kde-base/kwalletd/kwalletd-4.13.0.ebuild
deleted file mode 100644
index c0e9017..0000000
--- a/kde-base/kwalletd/kwalletd-4.13.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=5
-
-KMNAME="kde-runtime"
-inherit kde4-meta
-
-DESCRIPTION="KDE Password Server"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-IUSE="debug semantic-desktop"
-
-DEPEND="
- semantic-desktop? (
- app-crypt/gpgme
- $(add_kdebase_dep kdepimlibs)
- )
-"
-RDEPEND="${DEPEND}"
-
-RESTRICT="test"
-# testpamopen crashes with a buffer overflow (__fortify_fail)
-
-src_configure() {
- local mycmakeargs=(
- $(cmake-utils_use_find_package semantic-desktop Gpgme)
- $(cmake-utils_use_find_package semantic-desktop QGpgme)
- )
-
- kde4-base_src_configure
-}
diff --git a/kde-base/kwalletd/metadata.xml b/kde-base/kwalletd/metadata.xml
deleted file mode 100644
index 097975e..0000000
--- a/kde-base/kwalletd/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-</pkgmetadata>
diff --git a/lxde-base/lxde-meta/metadata.xml b/lxde-base/lxde-meta/metadata.xml
index 4929caf..825c795 100644
--- a/lxde-base/lxde-meta/metadata.xml
+++ b/lxde-base/lxde-meta/metadata.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>lxde</herd>
<use>
<flag name="udisks">Pull in dependendcy on udisks (and consolekit)</flag>
</use>
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index 755c971..e7f2302 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -1,65 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>graphics</herd>
+ <longdescription>
+ Blender, the open source software for 3D modeling, animation,
+ rendering, post-production, interactive creation and playback.
+ </longdescription>
- <maintainer>
- <email>lu_zero@gentoo.org</email>
- <name>Luca Barbato</name>
- </maintainer>
-
- <maintainer>
- <email>flameeyes@gentoo.org</email>
- </maintainer>
-
- <longdescription>
- Blender, the open source software for 3D modeling, animation,
- rendering, post-production, interactive creation and playback.
- </longdescription>
-
- <use>
- <flag name='3dmouse'>
- Adds support for space navigator devices through package
- <pkg>dev-libs/libspnav</pkg>.
- </flag>
- <flag name='blender-game' restrict='&lt;media-gfx/blender-2.50'>
- Adds Game Engine support to Blender.
- </flag>
- <flag name='game-engine' restrict='&gt;=media-gfx/blender-2.50'>
- Adds Game Engine support to Blender.
- </flag>
- <flag name='collada'>
- Add support for Collada interchange format through
- <pkg>media-libs/opencollada</pkg>.
- </flag>
- <flag name='cycles'>
- Build cycles renderer (requires <pkg>media-libs/openimageio</pkg> and
- <pkg>dev-libs/boost</pkg>).
- </flag>
- <flag name='verse'>
- Adds verse clustering features to Blender.
- </flag>
- <flag name='dds'>
- Adds DDS textures support to Blender.
- </flag>
- <flag name='player'>
- Build the Blender Player. THis requires the Game engine.
- </flag>
- <flag name='elbeem'>
- Adds surface fluid simulation to Blender using El'Beem library.
- </flag>
- <flag name="doc">
- Build C and Python API documentation directly from the source code.
- </flag>
- <flag name="tweak-mode">
- This flag allows you to model without confirming each translation,
- in particular it lets you grab with left mouse button (LMB) and not
- having to confirm by another click. Blender 'Tweak Mode' is similar
- to the 'Tweak Mode' of the Wings modeller (<pkg>media-gfx/wings</pkg>).
- </flag>
- <flag name="redcode">
- This flag add support for RED CODE camera digital format (5K HD
- images *.r3d) - EXPERIMENTAL.
- </flag>
- </use>
+ <use>
+ <flag name="game-engine" restrict="&gt;=media-gfx/blender-2.50">
+ Adds Game Engine support to Blender.
+ </flag>
+ <flag name="collada">
+ Add support for Collada interchange format through
+ <pkg>media-libs/opencollada</pkg>.
+ </flag>
+ <flag name="cycles">
+ Build cycles renderer (requires <pkg>media-libs/openimageio</pkg> and
+ <pkg>dev-libs/boost</pkg>).
+ </flag>
+ <flag name="dds">
+ Adds DDS textures support to Blender.
+ </flag>
+ <flag name="player">
+ Build the Blender Player. THis requires the Game engine.
+ </flag>
+ <flag name="elbeem">
+ Adds surface fluid simulation to Blender using El'Beem library.
+ </flag>
+ <flag name="doc">
+ Build C and Python API documentation directly from the source code.
+ </flag>
+ <flag name="redcode">
+ This flag add support for RED CODE camera digital format (5K HD
+ images *.r3d) - EXPERIMENTAL.
+ </flag>
+ <flag name="boost">
+ Enable features depending on boost.
+ </flag>
+ <flag name="bullet">
+ Enable Bullet (Physics Engine).
+ </flag>
+ <flag name="colorio">
+ Enable OpenColorIO color management.
+ </flag>
+ <flag name="ndof">
+ Enable NDOF input devices (SpaceNavigator and friends).
+ </flag>
+ <flag name="openimageio">Enable OpenImageIO Support</flag>
+ <flag name="opennl">Enable use of Open Numerical Library</flag>
+ </use>
</pkgmetadata>
diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest
deleted file mode 100644
index 6a2af6b..0000000
--- a/media-gfx/gimp/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST gimp-2.8.10.tar.bz2 20343461 SHA256 e7fd8b19f989138d826003c75f56bd5b6f136eef597e86e3978ede0bba470ae6 SHA512 21c96832ce61ecb2dad5276b454e7965263b6733add7e4a95cfc5f308fca681bceab21c1b77921332e0725d0e514e06868a4698ca9d7e4b30a28a07c7356a3a8 WHIRLPOOL 16b0a7e8a4197db41da29832977bee917e65d5cbbf308dde1ba73c150742c70c52cd60d449d0fd0269b0ed5db0378461d3277a2350898c3a5e07b1f3cf8bdf47
-DIST gimp-2.8.14.tar.bz2 20440077 SHA256 d82a958641c9c752d68e35f65840925c08e314cea90222ad845892a40e05b22d SHA512 533f6b931624d36525cb2f3fbc27fe27565d761bbe26873bb5445c06c01523c044d1814363a8cd76b6e381440db4c6e302b0d3f7a9e5aac7f60072770552f1ba WHIRLPOOL 8fd7b0fd5f8627b2df83481f7956727acd42eafcdc9c9116713d60faf8578005c2fb1e1d729f3b2c836a90e9bab063e477f9da5285e5c43a79f2dbe441a0565b
diff --git a/media-gfx/gimp/files/gimp-2.7.4-no-deprecation.patch b/media-gfx/gimp/files/gimp-2.7.4-no-deprecation.patch
deleted file mode 100644
index 66bd93d..0000000
--- a/media-gfx/gimp/files/gimp-2.7.4-no-deprecation.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- configure.ac 2012-01-02 13:15:53.695067626 +0100
-+++ configure.ac 2012-01-02 13:21:49.161623684 +0100
-@@ -1943,33 +1943,6 @@
- AC_SUBST(MIME_TYPES)
-
-
--#########################
--# Disable deprecated APIs
--#########################
--
--CPPFLAGS="${CPPFLAGS} -DGIMP_DISABLE_DEPRECATED -DBABL_DISABLE_DEPRECATED -DGSEAL_ENABLE"
--
--# Make sure not to disable deprecated APIs for unreleased versions.
--# We must build without problems with future releases of libraries
--# and disabling deprecated API risks breaking the build
--
--if test "x$have_glib_2_31" != "xyes"; then
-- CPPFLAGS="${CPPFLAGS} -DG_DISABLE_DEPRECATED"
--fi
--
--if test "x$have_gtk_2_26" != "xyes"; then
-- CPPFLAGS="${CPPFLAGS} -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
--fi
--
--if test "x$have_gdk_pixbuf_2_26" != "xyes"; then
-- CPPFLAGS="${CPPFLAGS} -DGDK_PIXBUF_DISABLE_DEPRECATED"
--fi
--
--if test "x$have_pango_1_32" != "xyes"; then
-- CPPFLAGS="${CPPFLAGS} -DPANGO_DISABLE_DEPRECATED"
--fi
--
--
- ############################
- # Require multihead safe API
- ############################
diff --git a/media-gfx/gimp/files/gimp-2.8.10-clang.patch b/media-gfx/gimp/files/gimp-2.8.10-clang.patch
deleted file mode 100644
index 065c66b..0000000
--- a/media-gfx/gimp/files/gimp-2.8.10-clang.patch
+++ /dev/null
@@ -1,204 +0,0 @@
---- app/Makefile.am
-+++ app/Makefile.am
-@@ -120,29 +120,29 @@
-
- # FIXME: core should not depend on xcf
- workaround_that_core_depends_on_xcf = \
-- -u $(SYMPREFIX)xcf_init
-+ -Wl,-u,$(SYMPREFIX)xcf_init
-
- # FIXME: core should not depend on pdb
- workaround_that_core_depends_on_pdb = \
-- -u $(SYMPREFIX)internal_procs_init \
-- -u $(SYMPREFIX)gimp_plug_in_manager_restore
-+ -Wl,-u,$(SYMPREFIX)internal_procs_init \
-+ -Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore
-
- # FIXME: plug-in should not depend on pdb
- workaround_that_plug_in_depends_on_pdb = \
-- -u $(SYMPREFIX)gimp_pdb_compat_param_spec
-+ -Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec
-
- # FIXME: file should not depend on plug-in
- workaround_that_file_depends_on_plug_in = \
-- -u $(SYMPREFIX)plug_in_icc_profile_apply_rgb \
-- -u $(SYMPREFIX)gimp_image_map_config_get_type
-+ -Wl,-u,$(SYMPREFIX)plug_in_icc_profile_apply_rgb \
-+ -Wl,-u,$(SYMPREFIX)gimp_image_map_config_get_type
-
- # core, vectors and gegl are on the same architectural layer, prevent
- # the linker from panicing
- calm_down_linker = \
-- -u $(SYMPREFIX)gimp_vectors_undo_get_type \
-- -u $(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-- -u $(SYMPREFIX)gimp_vectors_prop_undo_get_type \
-- -u $(SYMPREFIX)gimp_curve_map_pixels
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_prop_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_curve_map_pixels
-
- AM_LDFLAGS = \
- $(munix) \
---- app/Makefile.in
-+++ app/Makefile.in
-@@ -702,33 +702,33 @@
-
- # FIXME: core should not depend on xcf
- workaround_that_core_depends_on_xcf = \
-- -u $(SYMPREFIX)xcf_init
-+ -Wl,-u,$(SYMPREFIX)xcf_init
-
-
- # FIXME: core should not depend on pdb
- workaround_that_core_depends_on_pdb = \
-- -u $(SYMPREFIX)internal_procs_init \
-- -u $(SYMPREFIX)gimp_plug_in_manager_restore
-+ -Wl,-u,$(SYMPREFIX)internal_procs_init \
-+ -Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore
-
-
- # FIXME: plug-in should not depend on pdb
- workaround_that_plug_in_depends_on_pdb = \
-- -u $(SYMPREFIX)gimp_pdb_compat_param_spec
-+ -Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec
-
-
- # FIXME: file should not depend on plug-in
- workaround_that_file_depends_on_plug_in = \
-- -u $(SYMPREFIX)plug_in_icc_profile_apply_rgb \
-- -u $(SYMPREFIX)gimp_image_map_config_get_type
-+ -Wl,-u,$(SYMPREFIX)plug_in_icc_profile_apply_rgb \
-+ -Wl,-u,$(SYMPREFIX)gimp_image_map_config_get_type
-
-
- # core, vectors and gegl are on the same architectural layer, prevent
- # the linker from panicing
- calm_down_linker = \
-- -u $(SYMPREFIX)gimp_vectors_undo_get_type \
-- -u $(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-- -u $(SYMPREFIX)gimp_vectors_prop_undo_get_type \
-- -u $(SYMPREFIX)gimp_curve_map_pixels
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_prop_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_curve_map_pixels
-
- AM_LDFLAGS = \
- $(munix) \
---- app/tests/Makefile.am
-+++ app/tests/Makefile.am
-@@ -63,22 +63,22 @@
- # We need this due to circular dependencies, see more detailed
- # comments about it in app/Makefile.am
- AM_LDFLAGS = \
-- -u $(SYMPREFIX)xcf_init \
-- -u $(SYMPREFIX)base_init \
-- -u $(SYMPREFIX)internal_procs_init \
-- -u $(SYMPREFIX)gimp_plug_in_manager_restore \
-- -u $(SYMPREFIX)gimp_pdb_compat_param_spec \
-- -u $(SYMPREFIX)gui_init \
-- -u $(SYMPREFIX)plug_in_icc_profile_apply_rgb \
-- -u $(SYMPREFIX)gimp_image_map_config_get_type \
-- -u $(SYMPREFIX)gimp_vectors_undo_get_type \
-- -u $(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-- -u $(SYMPREFIX)gimp_vectors_prop_undo_get_type \
-- -u $(SYMPREFIX)actions_init \
-- -u $(SYMPREFIX)gimp_error_dialog_new \
-- -u $(SYMPREFIX)menus_save \
-- -u $(SYMPREFIX)gimp_tools_save \
-- -u $(SYMPREFIX)gimp_curve_map_pixels
-+ -Wl,-u,$(SYMPREFIX)xcf_init \
-+ -Wl,-u,$(SYMPREFIX)base_init \
-+ -Wl,-u,$(SYMPREFIX)internal_procs_init \
-+ -Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \
-+ -Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec \
-+ -Wl,-u,$(SYMPREFIX)gui_init \
-+ -Wl,-u,$(SYMPREFIX)plug_in_icc_profile_apply_rgb \
-+ -Wl,-u,$(SYMPREFIX)gimp_image_map_config_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_prop_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)actions_init \
-+ -Wl,-u,$(SYMPREFIX)gimp_error_dialog_new \
-+ -Wl,-u,$(SYMPREFIX)menus_save \
-+ -Wl,-u,$(SYMPREFIX)gimp_tools_save \
-+ -Wl,-u,$(SYMPREFIX)gimp_curve_map_pixels
-
- # Note that we have some duplicate entries here too to work around
- # circular dependencies and systems on the same architectural layer as
---- app/tests/Makefile.in
-+++ app/tests/Makefile.in
-@@ -1221,22 +1221,22 @@
- # We need this due to circular dependencies, see more detailed
- # comments about it in app/Makefile.am
- AM_LDFLAGS = \
-- -u $(SYMPREFIX)xcf_init \
-- -u $(SYMPREFIX)base_init \
-- -u $(SYMPREFIX)internal_procs_init \
-- -u $(SYMPREFIX)gimp_plug_in_manager_restore \
-- -u $(SYMPREFIX)gimp_pdb_compat_param_spec \
-- -u $(SYMPREFIX)gui_init \
-- -u $(SYMPREFIX)plug_in_icc_profile_apply_rgb \
-- -u $(SYMPREFIX)gimp_image_map_config_get_type \
-- -u $(SYMPREFIX)gimp_vectors_undo_get_type \
-- -u $(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-- -u $(SYMPREFIX)gimp_vectors_prop_undo_get_type \
-- -u $(SYMPREFIX)actions_init \
-- -u $(SYMPREFIX)gimp_error_dialog_new \
-- -u $(SYMPREFIX)menus_save \
-- -u $(SYMPREFIX)gimp_tools_save \
-- -u $(SYMPREFIX)gimp_curve_map_pixels
-+ -Wl,-u,$(SYMPREFIX)xcf_init \
-+ -Wl,-u,$(SYMPREFIX)base_init \
-+ -Wl,-u,$(SYMPREFIX)internal_procs_init \
-+ -Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \
-+ -Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec \
-+ -Wl,-u,$(SYMPREFIX)gui_init \
-+ -Wl,-u,$(SYMPREFIX)plug_in_icc_profile_apply_rgb \
-+ -Wl,-u,$(SYMPREFIX)gimp_image_map_config_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)gimp_vectors_prop_undo_get_type \
-+ -Wl,-u,$(SYMPREFIX)actions_init \
-+ -Wl,-u,$(SYMPREFIX)gimp_error_dialog_new \
-+ -Wl,-u,$(SYMPREFIX)menus_save \
-+ -Wl,-u,$(SYMPREFIX)gimp_tools_save \
-+ -Wl,-u,$(SYMPREFIX)gimp_curve_map_pixels
-
-
- # Note that we have some duplicate entries here too to work around
---- devel-docs/app/Makefile.am
-+++ devel-docs/app/Makefile.am
-@@ -62,10 +62,10 @@
- -UGTK_DISABLE_SINGLE_INCLUDES
-
- GTKDOC_LIBS = \
-- -u $(SYMPREFIX)xcf_init \
-- -u $(SYMPREFIX)internal_procs_init \
-- -u $(SYMPREFIX)gimp_coords_mix \
-- -u $(SYMPREFIX)gimp_plug_in_manager_restore \
-+ -Wl,-u,$(SYMPREFIX)xcf_init \
-+ -Wl,-u,$(SYMPREFIX)internal_procs_init \
-+ -Wl,-u,$(SYMPREFIX)gimp_coords_mix \
-+ -Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \
- $(top_builddir)/app/app.o \
- $(top_builddir)/app/batch.o \
- $(top_builddir)/app/errors.o \
---- devel-docs/app/Makefile.in
-+++ devel-docs/app/Makefile.in
-@@ -511,10 +511,10 @@
- -UGTK_DISABLE_SINGLE_INCLUDES
-
- GTKDOC_LIBS = \
-- -u $(SYMPREFIX)xcf_init \
-- -u $(SYMPREFIX)internal_procs_init \
-- -u $(SYMPREFIX)gimp_coords_mix \
-- -u $(SYMPREFIX)gimp_plug_in_manager_restore \
-+ -Wl,-u,$(SYMPREFIX)xcf_init \
-+ -Wl,-u,$(SYMPREFIX)internal_procs_init \
-+ -Wl,-u,$(SYMPREFIX)gimp_coords_mix \
-+ -Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \
- $(top_builddir)/app/app.o \
- $(top_builddir)/app/batch.o \
- $(top_builddir)/app/errors.o \
diff --git a/media-gfx/gimp/files/gimp-2.8.10-freetype251.patch b/media-gfx/gimp/files/gimp-2.8.10-freetype251.patch
deleted file mode 100644
index c5c20d5..0000000
--- a/media-gfx/gimp/files/gimp-2.8.10-freetype251.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 6c73f28b6d87a2afd11974552a075bffec52347f Mon Sep 17 00:00:00 2001
-From: Michael Natterer <mitch@gimp.org>
-Date: Fri, 29 Nov 2013 21:57:46 +0100
-Subject: Bug 719560 - Build failure with freetype 2.5.1
-
-Apply patch from su-v that fixes the freetype include to
-the madness devised and recommended by freetype.
-
-diff --git a/app/text/gimpfont.c b/app/text/gimpfont.c
-index 4045ca9..66c6e52 100644
---- a/app/text/gimpfont.c
-+++ b/app/text/gimpfont.c
-@@ -28,7 +28,9 @@
-
- #define PANGO_ENABLE_ENGINE 1 /* Argh */
- #include <pango/pango-ot.h>
--#include <freetype/tttables.h>
-+
-+#include <ft2build.h>
-+#include FT_TRUETYPE_TABLES_H
-
- #include "text-types.h"
-
---
-cgit v0.10.1
-
diff --git a/media-gfx/gimp/gimp-2.8.10-r1.ebuild b/media-gfx/gimp/gimp-2.8.10-r1.ebuild
deleted file mode 100644
index 35a9903..0000000
--- a/media-gfx/gimp/gimp-2.8.10-r1.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=5
-PYTHON_COMPAT=( python2_{6,7} )
-
-inherit versionator autotools eutils gnome2 fdo-mime multilib python-single-r1
-
-DESCRIPTION="GNU Image Manipulation Program"
-HOMEPAGE="http://www.gimp.org/"
-SRC_URI="mirror://gimp/v$(get_version_component_range 1-2)/${P}.tar.bz2"
-LICENSE="GPL-3 LGPL-3"
-SLOT="2"
-KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-LANGS="am ar ast az be bg br ca ca@valencia cs csb da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu id is it ja ka kk km kn ko lt lv mk ml ms my nb nds ne nl nn oc pa pl pt pt_BR ro ru rw si sk sl sr sr@latin sv ta te th tr tt uk vi xh yi zh_CN zh_HK zh_TW"
-IUSE="alsa aalib altivec aqua bzip2 curl dbus debug doc exif gnome postscript jpeg jpeg2k lcms cpu_flags_x86_mmx mng pdf png python smp cpu_flags_x86_sse svg tiff udev webkit wmf xpm"
-
-for lang in ${LANGS}; do
- IUSE+=" linguas_${lang}"
-done
-
-RDEPEND=">=dev-libs/glib-2.30.2:2
- >=dev-libs/atk-2.2.0
- >=x11-libs/gtk+-2.24.10:2
- >=x11-libs/gdk-pixbuf-2.24.1:2
- >=x11-libs/cairo-1.10.2
- >=x11-libs/pango-1.29.4
- xpm? ( x11-libs/libXpm )
- >=media-libs/freetype-2.1.7
- >=media-libs/fontconfig-2.2.0
- sys-libs/zlib
- dev-libs/libxml2
- dev-libs/libxslt
- x11-themes/hicolor-icon-theme
- >=media-libs/babl-0.1.10
- >=media-libs/gegl-0.2.0
- aalib? ( media-libs/aalib )
- alsa? ( media-libs/alsa-lib )
- aqua? ( x11-libs/gtk-mac-integration )
- curl? ( net-misc/curl )
- dbus? ( dev-libs/dbus-glib )
- gnome? ( gnome-base/gvfs )
- webkit? ( >=net-libs/webkit-gtk-1.6.1:2 )
- jpeg? ( virtual/jpeg:0 )
- jpeg2k? ( media-libs/jasper )
- exif? ( >=media-libs/libexif-0.6.15 )
- lcms? ( >=media-libs/lcms-2.2:2 )
- mng? ( media-libs/libmng )
- pdf? ( >=app-text/poppler-0.12.4[cairo] )
- png? ( >=media-libs/libpng-1.2.37:0 )
- python? (
- ${PYTHON_DEPS}
- >=dev-python/pygtk-2.10.4:2[${PYTHON_USEDEP}]
- )
- tiff? ( >=media-libs/tiff-3.5.7:0 )
- svg? ( >=gnome-base/librsvg-2.36.0:2 )
- wmf? ( >=media-libs/libwmf-0.2.8 )
- x11-libs/libXcursor
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- postscript? ( app-text/ghostscript-gpl )
- udev? ( virtual/libgudev:= )"
-DEPEND="${RDEPEND}
- sys-apps/findutils
- virtual/pkgconfig
- >=dev-util/intltool-0.40.1
- >=sys-devel/gettext-0.17
- doc? ( >=dev-util/gtk-doc-1 )
- >=sys-devel/libtool-2.2
- >=sys-devel/automake-1.11
- dev-util/gtk-doc-am" # due to our call to eautoreconf below (bug #386453)
-
-DOCS="AUTHORS ChangeLog* HACKING NEWS README*"
-
-S="${WORKDIR}"/${P}
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- G2CONF="--enable-default-binary \
- --disable-silent-rules \
- $(use_with !aqua x) \
- $(use_with aalib aa) \
- $(use_with alsa) \
- $(use_enable altivec) \
- $(use_with bzip2) \
- $(use_with curl libcurl) \
- $(use_with dbus) \
- $(use_with gnome gvfs) \
- $(use_with webkit) \
- $(use_with jpeg libjpeg) \
- $(use_with jpeg2k libjasper) \
- $(use_with exif libexif) \
- $(use_with lcms lcms lcms2) \
- $(use_with postscript gs) \
- $(use_enable cpu_flags_x86_mmx mmx) \
- $(use_with mng libmng) \
- $(use_with pdf poppler) \
- $(use_with png libpng) \
- $(use_enable python) \
- $(use_enable smp mp) \
- $(use_enable cpu_flags_x86_sse sse) \
- $(use_with svg librsvg) \
- $(use_with tiff libtiff) \
- $(use_with udev gudev) \
- $(use_with wmf) \
- --with-xmc \
- $(use_with xpm libxpm) \
- --without-xvfb-run"
-
- if use python; then
- python-single-r1_pkg_setup
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-2.7.4-no-deprecation.patch # bug 395695, comment 9 and 16
- epatch "${FILESDIR}"/${P}-freetype251.patch # bug #493466
- epatch "${FILESDIR}"/${P}-clang.patch # bug 449370 compile with clang
- sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864
- eautoreconf # If you remove this: remove dev-util/gtk-doc-am from DEPEND, too
-
- gnome2_src_prepare
-}
-
-_clean_up_locales() {
- einfo "Cleaning up locales..."
- for lang in ${LANGS}; do
- use "linguas_${lang}" && {
- einfo "- keeping ${lang}"
- continue
- }
- rm -Rf "${ED}"/usr/share/locale/"${lang}" || die
- done
-}
-
-src_test() {
- Xemake -j1 check
-}
-
-src_install() {
- gnome2_src_install
-
- if use python; then
- python_optimize
- fi
-
- # Workaround for bug #321111 to give GIMP the least
- # precedence on PDF documents by default
- mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die
-
- prune_libtool_files --all
-
- # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
- local gimp_app_version=$(get_version_component_range 1-2)
- mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die
-
- _clean_up_locales
-}
-
-pkg_postinst() {
- gnome2_pkg_postinst
-}
-
-pkg_postrm() {
- gnome2_pkg_postrm
-}
diff --git a/media-gfx/gimp/gimp-2.8.14.ebuild b/media-gfx/gimp/gimp-2.8.14.ebuild
deleted file mode 100644
index 0767951..0000000
--- a/media-gfx/gimp/gimp-2.8.14.ebuild
+++ /dev/null
@@ -1,168 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
-
-inherit versionator autotools eutils gnome2 fdo-mime multilib python-single-r1
-
-DESCRIPTION="GNU Image Manipulation Program"
-HOMEPAGE="http://www.gimp.org/"
-SRC_URI="mirror://gimp/v$(get_version_component_range 1-2)/${P}.tar.bz2"
-LICENSE="GPL-3 LGPL-3"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-LANGS="am ar ast az be bg br ca ca@valencia cs csb da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu id is it ja ka kk km kn ko lt lv mk ml ms my nb nds ne nl nn oc pa pl pt pt_BR ro ru rw si sk sl sr sr@latin sv ta te th tr tt uk vi xh yi zh_CN zh_HK zh_TW"
-IUSE="alsa aalib altivec aqua bzip2 curl dbus debug doc exif gnome postscript jpeg jpeg2k lcms cpu_flags_x86_mmx mng pdf png python smp cpu_flags_x86_sse svg tiff udev webkit wmf xpm"
-
-for lang in ${LANGS}; do
- IUSE+=" linguas_${lang}"
-done
-
-RDEPEND=">=dev-libs/glib-2.30.2:2
- >=dev-libs/atk-2.2.0
- >=x11-libs/gtk+-2.24.10:2
- >=x11-libs/gdk-pixbuf-2.24.1:2
- >=x11-libs/cairo-1.10.2
- >=x11-libs/pango-1.29.4
- xpm? ( x11-libs/libXpm )
- >=media-libs/freetype-2.1.7
- >=media-libs/fontconfig-2.2.0
- sys-libs/zlib
- dev-libs/libxml2
- dev-libs/libxslt
- x11-themes/hicolor-icon-theme
- >=media-libs/babl-0.1.10
- >=media-libs/gegl-0.2.0
- aalib? ( media-libs/aalib )
- alsa? ( media-libs/alsa-lib )
- aqua? ( x11-libs/gtk-mac-integration )
- curl? ( net-misc/curl )
- dbus? ( dev-libs/dbus-glib )
- gnome? ( gnome-base/gvfs )
- webkit? ( >=net-libs/webkit-gtk-1.6.1:2 )
- jpeg? ( virtual/jpeg:0 )
- jpeg2k? ( media-libs/jasper )
- exif? ( >=media-libs/libexif-0.6.15 )
- lcms? ( >=media-libs/lcms-2.2:2 )
- mng? ( media-libs/libmng )
- pdf? ( >=app-text/poppler-0.12.4[cairo] )
- png? ( >=media-libs/libpng-1.2.37:0 )
- python? (
- ${PYTHON_DEPS}
- >=dev-python/pygtk-2.10.4:2[${PYTHON_USEDEP}]
- )
- tiff? ( >=media-libs/tiff-3.5.7:0 )
- svg? ( >=gnome-base/librsvg-2.36.0:2 )
- wmf? ( >=media-libs/libwmf-0.2.8 )
- x11-libs/libXcursor
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- postscript? ( app-text/ghostscript-gpl )
- udev? ( virtual/libgudev:= )"
-DEPEND="${RDEPEND}
- sys-apps/findutils
- virtual/pkgconfig
- >=dev-util/intltool-0.40.1
- >=sys-devel/gettext-0.19
- doc? ( >=dev-util/gtk-doc-1 )
- >=sys-devel/libtool-2.2
- >=sys-devel/automake-1.11
- dev-util/gtk-doc-am" # due to our call to eautoreconf below (bug #386453)
-
-DOCS="AUTHORS ChangeLog* HACKING NEWS README*"
-
-S="${WORKDIR}"/${P}
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- G2CONF="--enable-default-binary \
- --disable-silent-rules \
- $(use_with !aqua x) \
- $(use_with aalib aa) \
- $(use_with alsa) \
- $(use_enable altivec) \
- $(use_with bzip2) \
- $(use_with curl libcurl) \
- $(use_with dbus) \
- $(use_with gnome gvfs) \
- $(use_with webkit) \
- $(use_with jpeg libjpeg) \
- $(use_with jpeg2k libjasper) \
- $(use_with exif libexif) \
- $(use_with lcms lcms lcms2) \
- $(use_with postscript gs) \
- $(use_enable cpu_flags_x86_mmx mmx) \
- $(use_with mng libmng) \
- $(use_with pdf poppler) \
- $(use_with png libpng) \
- $(use_enable python) \
- $(use_enable smp mp) \
- $(use_enable cpu_flags_x86_sse sse) \
- $(use_with svg librsvg) \
- $(use_with tiff libtiff) \
- $(use_with udev gudev) \
- $(use_with wmf) \
- --with-xmc \
- $(use_with xpm libxpm) \
- --without-xvfb-run"
-
- if use python; then
- python-single-r1_pkg_setup
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-2.7.4-no-deprecation.patch # bug 395695, comment 9 and 16
- epatch "${FILESDIR}"/${PN}-2.8.10-clang.patch # bug 449370 compile with clang
- sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864
- eautoreconf # If you remove this: remove dev-util/gtk-doc-am from DEPEND, too
-
- gnome2_src_prepare
-}
-
-src_test() {
- Xemake check
-}
-
-_clean_up_locales() {
- einfo "Cleaning up locales..."
- for lang in ${LANGS}; do
- use "linguas_${lang}" && {
- einfo "- keeping ${lang}"
- continue
- }
- rm -Rf "${ED}"/usr/share/locale/"${lang}" || die
- done
-}
-
-src_install() {
- gnome2_src_install
-
- if use python; then
- python_optimize
- fi
-
- # Workaround for bug #321111 to give GIMP the least
- # precedence on PDF documents by default
- mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die
-
- prune_libtool_files --all
-
- # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
- local gimp_app_version=$(get_version_component_range 1-2)
- mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die
-
- _clean_up_locales
-}
-
-pkg_postinst() {
- gnome2_pkg_postinst
-}
-
-pkg_postrm() {
- gnome2_pkg_postrm
-}
diff --git a/media-gfx/gimp/metadata.xml b/media-gfx/gimp/metadata.xml
deleted file mode 100644
index 2cfdc93..0000000
--- a/media-gfx/gimp/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <use>
- <flag name="smp">
- Enable support for multiprocessors
- </flag>
- </use>
-</pkgmetadata>
diff --git a/media-gfx/pqiv/Manifest b/media-gfx/pqiv/Manifest
deleted file mode 100644
index 7c1caa4..0000000
--- a/media-gfx/pqiv/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-AUX pqiv-2.0-ldflags.patch 498 SHA256 44deccdab72342f16ad434b0004eadffda7a5a0d79b15a63dd9473e70adb8ba0 SHA512 22f3fcace03cd49cf19ca2a50cf2a74024ba56e1b6c15be58d7b643c44d8d0d34910d521a17ad7d0aec41efd2a4526d22e0b97bdb47ed7af05a840c286babee0 WHIRLPOOL 2bcdc8e785d1549122c1afe880ef8340e39f368779bb3420a13750a3af734c5f41c9c983b0caac1a00dd30aaf747441de91c995b10fa685ef49fd3699a66c62d
-DIST pqiv-2.0.tar.gz 39749 SHA256 6e1cd46df9b398b7d27d9f6179475cd7f525b6db44f5d72d8607746ae0ce35c0 SHA512 810022f8a8c4e07371b99a81b4cf179e33dadaed7bf124b85b3808e2a404514308161ac2b33310366db2cebb49436ac9847560239e04c9f5f2f4158e9d84353c WHIRLPOOL 056f011477e6ad36c2a7848d3d9b25f64b10691919df427a7da839c941923bd744f4786750cb96d8bdd9dedce99becb09db462fe041ecce62b1580b8b1bf4d51
-EBUILD pqiv-2.0.ebuild 1079 SHA256 02c70b9f279535695c72f243554857f0c407c26575f587143d148dd635a7802f SHA512 af4a1a603f4b5b3d970d722f6e4910e4f4224011882c5ffc30c2f748b784dc310684141d719dcd691176253d721be5690230f4396b7bbbe1f7127db3e53e0c27 WHIRLPOOL bcbfc79bdea5b30e13febcaeca8676b3574d31a39c65dd6f721d720a197b44cf07cc52a46b36e5f98edc56f5ad30112060dff197755ea3b01b5a8e1ab3fca6e9
-MISC metadata.xml 302 SHA256 68906920ba83558f8fb58f146f02c41377a0f9ef77f22422a2f7d2744c2978b9 SHA512 bee829194fa76ba806301f25174272d9b4c1140426d11cec317da923a0c643ab2e29f9a3f36db0ca2639a5690de5e6abd8eb3aefc3840dc11b24dce470a6c49c WHIRLPOOL 6c92ceb7de89c9dbf268afde9c0e5816739c5c339f0fc54bd716581a84e36c3648bb7ee09f9e624f179df34ccd4dc04e5c838c658dd004455904f4c77e1cd444
diff --git a/media-gfx/pqiv/files/pqiv-2.0-ldflags.patch b/media-gfx/pqiv/files/pqiv-2.0-ldflags.patch
deleted file mode 100644
index a141e53..0000000
--- a/media-gfx/pqiv/files/pqiv-2.0-ldflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- pqiv-2.0/Makefile.orig
-+++ pqiv-2.0/Makefile
-@@ -28,7 +28,7 @@
- endif
-
- pqiv$(EXECUTABLE_EXTENSION): pqiv.c lib/strnatcmp.o
-- $(CROSS)$(CC) $(PQIV_WARNING_FLAGS) -std=gnu99 -o $@ `$(CROSS)pkg-config --cflags $(LIBS)` $+ `$(CROSS)pkg-config --libs $(LIBS)` $(CFLAGS)
-+ $(CROSS)$(CC) $(PQIV_WARNING_FLAGS) -std=gnu99 -o $@ `$(CROSS)pkg-config --cflags $(LIBS)` $+ `$(CROSS)pkg-config --libs $(LIBS)` $(CFLAGS) $(LDFLAGS)
-
- lib/strnatcmp.o: lib/strnatcmp.c
- $(CROSS)$(CC) -c -o $@ $+ $(CFLAGS)
diff --git a/media-gfx/pqiv/metadata.xml b/media-gfx/pqiv/metadata.xml
deleted file mode 100644
index 9e8969e..0000000
--- a/media-gfx/pqiv/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>graphics</herd>
- <upstream>
- <maintainer>
- <email>phillip.berndt@googlemail.com</email>
- <name>Phillip Berndt</name>
- </maintainer>
- </upstream>
-</pkgmetadata>
diff --git a/media-gfx/pqiv/pqiv-2.0.ebuild b/media-gfx/pqiv/pqiv-2.0.ebuild
deleted file mode 100644
index b73be64..0000000
--- a/media-gfx/pqiv/pqiv-2.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/pqiv/pqiv-2.0.ebuild,v 1.1 2013/09/08 05:09:06 radhermit Exp $
-
-EAPI=5
-inherit linux-info toolchain-funcs eutils
-
-DESCRIPTION="Modern rewrite of Quick Image Viewer"
-HOMEPAGE="http://github.com/phillipberndt/pqiv http://www.pberndt.com/Programme/Linux/pqiv/"
-SRC_URI="https://github.com/phillipberndt/pqiv/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="kernel_linux"
-
-RDEPEND="dev-libs/glib:2
- x11-libs/cairo
- x11-libs/gtk+:3"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-pkg_setup() {
- if use kernel_linux; then
- CONFIG_CHECK="~INOTIFY_USER"
- linux-info_pkg_setup
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-ldflags.patch
- sed -e '/^PQIV_WARNING_FLAGS/s/-Werror//' \
- -i "${S}/Makefile" || die
-}
-
-src_configure() {
- ./configure --prefix=/usr --destdir="${D}" || die
-}
-
-src_compile() {
- tc-export CC
- emake CFLAGS="${CFLAGS}"
-}
-
-src_install() {
- default
- dodoc README.markdown
-}
diff --git a/media-libs/fmod/Manifest b/media-libs/fmod/Manifest
index a894eb4..79cbb96 100644
--- a/media-libs/fmod/Manifest
+++ b/media-libs/fmod/Manifest
@@ -1,8 +1,3 @@
DIST fmodapi43802linux.tar.gz 21992247 SHA256 9ef7eb3e277a53a69ea31206223fd27f01e236869568f83bfac97dbd9982a4fd
DIST fmodapi43802linux64.tar.gz 22282269 SHA256 55e52603d2d53cd43467e086ea292928d66c741956c98266fd312a7936f1ba42 SHA512 95b8688bbf54e19c2471f508d7ed9fbb93f6c88eaadc090813b02a86082e15dc7578220a40ae2b39358f8a4dfcacb4cb78823f4577f5ce9bc3d53af2f591d558 WHIRLPOOL 66674063637d3e3ef7dfc5cebc49b0fb401d179c4cd1c66adb90e2a06f0be6583dbb3840abe7c0eff15f68757e10ba64ef926848aaf2e822ab8018e0d1994992
DIST fmodapi44404linux.tar.gz 25118306 SHA256 2886a34c3a27fdb791e7158fc8f51bddfb405d30e3d332fdbe00fb28f6540fc8 SHA512 30df86f10c7db1261ca94fa722e3f944c4c3fe5dc699e05ff58e3e35381e1f41a69a0657d29b7193b72340fa989aca077951ef5e9bd4a18a04b5334b28ef7eb7 WHIRLPOOL 271f64cfcb386fe94eb0b65db160b7d027398dd3eafa3e7e24849c75b4eda85b9ef6527d4ffaf3434b632a9ad0d4cf6744d5f19f02ed6004ecf42c3e5551f2ff
-DIST fmodapi44420linux.tar.gz 25136082 SHA256 e100f448fdd1f057df88818aaf2242ea7f91b5501f0f4a2d2ac1055d38089aac SHA512 bc3647776dc174ca1587c44cb9bc178840da5fbb7cd7bae910406c7154b3e04d697f337581a61a154722a4342c239d28d393075b13e8fa76f2d6a5ce10739c1c WHIRLPOOL a88be6a2c8656a6c643a960e6847a6abc0f548019ac2c69f72114553bf33225eee533827084472e34fb7f14385aa694eab3189954ae0c29b9e6ef26f428de721
-EBUILD fmod-4.38.02.ebuild 1722 SHA256 81deff346fd7f8e488b929650fdade39cb7a0d961518c970e941b7d80cbbbec7 SHA512 02664b83072312ba0dc0502e1b81abc69673228cf66e26809601f24a6dee75bb1d47d35bcf459570b0da3272a648a7291640efb744fa0a60dd7377cd8701e612 WHIRLPOOL 4f6861d9c32fee4697a764cfbf709c532cd3e59eac97ce7b5b8ed974e5edaa31030fb92bc349d4ec3f3c79255fb7c09cc43fa28c33ef06b76e10f3da3e8fafe5
-EBUILD fmod-4.44.04.ebuild 2706 SHA256 df6bfdadfb833cb847b4b4fe8161756d19014bce89fe77106043e67001717ee3 SHA512 b660f1059c01db88a788a83de96870b0a800113f18cc96d46eee1e07ef01e96c7f1201b4decc07b441a31483524e8a6e66b85b22f1cf7edf8de059915d3f553d WHIRLPOOL 9d08be63be2e648cf1ebf45ef9cf94cf5f862420673ac9552d191d439b96cc9e5f7e45cc02caa1b236a778bea3259b8bb6414f90e1b2c6c23d10d0df0445225c
-EBUILD fmod-4.44.20.ebuild 2706 SHA256 df6bfdadfb833cb847b4b4fe8161756d19014bce89fe77106043e67001717ee3 SHA512 b660f1059c01db88a788a83de96870b0a800113f18cc96d46eee1e07ef01e96c7f1201b4decc07b441a31483524e8a6e66b85b22f1cf7edf8de059915d3f553d WHIRLPOOL 9d08be63be2e648cf1ebf45ef9cf94cf5f862420673ac9552d191d439b96cc9e5f7e45cc02caa1b236a778bea3259b8bb6414f90e1b2c6c23d10d0df0445225c
-MISC metadata.xml 158 SHA256 dfb5b47e6836db39fb187301dfcff1c2605e91d13d21db160806a563d8c75f9b SHA512 90f74979d228a35f81de50665ead63d228bc4f0d11f3def4832c9607f4242cbc4562db0a123bdcf2c4b6e0be78fc5565a65f75cdb53ed4c8d45544ebf74255dc WHIRLPOOL a90483bd4fa01ed5fa21bfe9f59c11b97c793146e3031eae342a3355c6dc2e4ef2b356af0bf711b5e16e16551c91d63ecdbb48e708df606017264e8bff5e9fe9
diff --git a/media-libs/fmod/metadata.xml b/media-libs/fmod/metadata.xml
index e1774e3..097975e 100644
--- a/media-libs/fmod/metadata.xml
+++ b/media-libs/fmod/metadata.xml
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>sound</herd>
</pkgmetadata>
diff --git a/media-plugins/audacious-plugins/Manifest b/media-plugins/audacious-plugins/Manifest
deleted file mode 100644
index c15f3d7..0000000
--- a/media-plugins/audacious-plugins/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST audacious-plugins-3.5.1.tar.bz2 1714137 SHA256 e6da3346df520f3c6cee3c3706eb09290840ea12dfff28d6bec32e5842dc9e26 SHA512 6359edd6c89220f110dc20cf52418b741cfbbce4618f6ba4e4c97d6656216575aba1dfa8e7de4f11a24a28a27cc008e2f7e551759185972a17748f7e043b8823 WHIRLPOOL e4885108904f0badf81411040e1a5098190ab4dd4b53b14ddb5c39148dc01f982a95d1143ff2d8dd9e9cfbad75fa40654791dcf2a7e21d95e80c3ec0d484d218
diff --git a/media-plugins/audacious-plugins/audacious-plugins-3.5.1.ebuild b/media-plugins/audacious-plugins/audacious-plugins-3.5.1.ebuild
deleted file mode 100644
index c60c60f..0000000
--- a/media-plugins/audacious-plugins/audacious-plugins-3.5.1.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=5
-inherit eutils
-
-MY_P="${P/_/-}"
-S="${WORKDIR}/${MY_P}"
-DESCRIPTION="Audacious Player - Your music, your way, no exceptions"
-HOMEPAGE="http://audacious-media-player.org/"
-SRC_URI="http://distfiles.audacious-media-player.org/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux"
-IUSE="aac adplug alsa bs2b cdda cue ffmpeg flac gnome jack
-lame libnotify libsamplerate lirc midi mms mp3 nls pulseaudio scrobbler sdl sid sndfile vorbis wavpack"
-
-RDEPEND="app-arch/unzip
- >=dev-libs/dbus-glib-0.60
- dev-libs/libxml2:2
- media-libs/libmodplug
- ~media-sound/audacious-3.5.1
- >=net-libs/neon-0.26.4
- x11-libs/gtk+:3
- ( || ( >=dev-libs/glib-2.32.2[utils] dev-util/gdbus-codegen ) )
- aac? ( >=media-libs/faad2-2.7 )
- adplug? ( >=dev-cpp/libbinio-1.4 )
- alsa? ( >=media-libs/alsa-lib-1.0.16 )
- bs2b? ( media-libs/libbs2b )
- cdda? ( >=media-libs/libcddb-1.2.1
- dev-libs/libcdio-paranoia )
- cue? ( media-libs/libcue )
- ffmpeg? ( >=virtual/ffmpeg-0.7.3 )
- flac? ( >=media-libs/libvorbis-1.0
- >=media-libs/flac-1.2.1-r1 )
- midi? ( media-sound/fluidsynth )
- jack? ( >=media-libs/bio2jack-0.4
- media-sound/jack-audio-connection-kit )
- lame? ( media-sound/lame )
- libnotify? ( x11-libs/libnotify )
- libsamplerate? ( media-libs/libsamplerate )
- lirc? ( app-misc/lirc )
- mms? ( >=media-libs/libmms-0.3 )
- mp3? ( >=media-sound/mpg123-1.12.1 )
- pulseaudio? ( >=media-sound/pulseaudio-0.9.3 )
- scrobbler? ( net-misc/curl )
- sdl? ( media-libs/libsdl[sound] )
- sid? ( >=media-libs/libsidplayfp-1.0.0 )
- sndfile? ( >=media-libs/libsndfile-1.0.17-r1 )
- vorbis? ( >=media-libs/libvorbis-1.2.0
- >=media-libs/libogg-1.1.3 )
- wavpack? ( >=media-sound/wavpack-4.50.1-r1 )"
-
-DEPEND="${RDEPEND}
- nls? ( dev-util/intltool )
- virtual/pkgconfig"
-
-DOCS="AUTHORS"
-
-mp3_warning() {
- if ! use mp3 ; then
- ewarn "MP3 support is optional, you may want to enable the mp3 USE-flag"
- fi
-}
-
-src_prepare() {
- has_version "<dev-libs/glib-2.32" && \
- cd "${S}"/src/mpris2 && \
- gdbus-codegen --interface-prefix org.mpris. \
- --c-namespace Mpris --generate-c-code object-core mpris2.xml && \
- gdbus-codegen --interface-prefix org.mpris. \
- --c-namespace Mpris \
- --generate-c-code object-player mpris2-player.xml && \
- cd "${S}"
-}
-
-src_configure() {
- mp3_warning
-
- if use ffmpeg && has_version media-video/ffmpeg ; then
- ffmpeg="--with-ffmpeg=ffmpeg"
- elif use ffmpeg && has_version media-video/libav ; then
- ffmpeg="--with-ffmpeg=libav"
- else
- ffmpeg="--with-ffmpeg=none"
- fi
-
- econf \
- ${ffmpeg} \
- --enable-modplug \
- --disable-soxr \
- --enable-neon \
- $(use_enable adplug) \
- $(use_enable aac) \
- $(use_enable alsa) \
- $(use_enable bs2b) \
- $(use_enable cdda cdaudio) \
- $(use_enable cue) \
- $(use_enable flac flacng) \
- $(use_enable flac filewriter_flac) \
- $(use_enable jack) \
- $(use_enable gnome gnomeshortcuts) \
- $(use_enable lame filewriter_mp3) \
- $(use_enable libnotify notify) \
- $(use_enable libsamplerate resample) \
- $(use_enable lirc) \
- $(use_enable midi amidiplug) \
- $(use_enable mms) \
- $(use_enable mp3) \
- $(use_enable nls) \
- $(use_enable pulseaudio pulse) \
- $(use_enable scrobbler scrobbler2) \
- $(use_enable sdl sdlout) \
- $(use_enable sid) \
- $(use_enable sndfile) \
- $(use_enable vorbis) \
- $(use_enable wavpack)
-}
diff --git a/media-plugins/audacious-plugins/metadata.xml b/media-plugins/audacious-plugins/metadata.xml
deleted file mode 100644
index 994ee14..0000000
--- a/media-plugins/audacious-plugins/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<use>
- <flag name='adplug'>Build with AdPlug (Adlib sound card emulation)
- support</flag>
- <flag name='bs2b'>Enable Bauer Bauer stereophonic-to-binaural
- headphone filter</flag>
- <flag name='cue'>Support CUE sheets using the libcue library</flag>
- <flag name='midi'>Build with amidi-plug (MIDI synth using FluidSynth) support</flag>
- <flag name='scrobbler'>Build with scrobbler/LastFM submission support</flag>
- <flag name='sid'>Build with SID (Commodore 64 Audio) support</flag>
-</use>
-</pkgmetadata>
diff --git a/dev-libs/oocairo/metadata.xml b/net-dialup/slirp/metadata.xml
index 4b598f1..a94dac1 100644
--- a/dev-libs/oocairo/metadata.xml
+++ b/net-dialup/slirp/metadata.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>eroen-overlay@occam.eroen.eu</email>
+ <name>eroen</name>
+ </maintainer>
<longdescription lang="en">
- oocairo and oopango are Lua bindings to the cairo and Pango library, allowing graphic and text rendering.
</longdescription>
</pkgmetadata>
-
diff --git a/net-libs/opal/metadata.xml b/net-libs/opal/metadata.xml
index ba4c06a..c093932 100644
--- a/net-libs/opal/metadata.xml
+++ b/net-libs/opal/metadata.xml
@@ -1,41 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer>
- <email>neurogeek@gentoo.org</email>
- <name>Jesus Rivero</name>
-</maintainer>
- <use>
- <flag name="capi">Enable CAPI support</flag>
- <flag name="celt">Enable CELT ultra-low delay audio codec</flag>
- <flag name="dtmf">Enable DTMF encoding/decoding support</flag>
- <flag name="fax">Enable T.38 FAX protocol</flag>
- <flag name="h224">Enable H.224 real time control protocol</flag>
- <flag name="h281">Enable H.281 Far-End Camera Control protocol</flag>
- <flag name="h323">Enable H.323 protocol</flag>
- <flag name="iax">Enable Inter-Asterisk eXchange protocol</flag>
- <flag name="ivr">Enable Interactive Voice Response</flag>
- <flag name="ilbc">Enable iLBC (RFC 3951) speech codec</flag>
- <flag name="ixj">Enable xJack cards support</flag>
- <flag name="lid">Enable Line Interface Device</flag>
- <flag name="plugins">Enable plugins support</flag>
- <flag name="sbc">Enable the Bluetooth low-complexity, SubBand Codec
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="capi">Enable CAPI support</flag>
+ <flag name="celt">Enable CELT ultra-low delay audio codec</flag>
+ <flag name="dtmf">Enable DTMF encoding/decoding support</flag>
+ <flag name="fax">Enable T.38 FAX protocol</flag>
+ <flag name="h224">Enable H.224 real time control protocol</flag>
+ <flag name="h281">Enable H.281 Far-End Camera Control protocol</flag>
+ <flag name="h323">Enable H.323 protocol</flag>
+ <flag name="iax">Enable Inter-Asterisk eXchange protocol</flag>
+ <flag name="ivr">Enable Interactive Voice Response</flag>
+ <flag name="ilbc">Enable iLBC (RFC 3951) speech codec</flag>
+ <flag name="ixj">Enable xJack cards support</flag>
+ <flag name="lid">Enable Line Interface Device</flag>
+ <flag name="plugins">Enable plugins support</flag>
+ <flag name="sbc">Enable the Bluetooth low-complexity, SubBand Codec
</flag>
- <flag name="sip">Enable Session Initiation Protocol</flag>
- <flag name="sipim">Enable SIP Instant Messages session</flag>
- <flag name="srtp">Enable Secure Real-time Transport Protocol</flag>
- <flag name="stats">Enable statistic reporting</flag>
- <flag name="swig">Use swig to generate bindings</flag>
- <flag name="video">Enable video support</flag>
- <flag name="vpb">Enable Voicetronics VPB card support</flag>
- <flag name="vxml">Enable VXML support</flag>
- <flag name="wav">Enable WAVFILE support</flag>
- <flag name="x264-static">Install x264 plugin statically linked with x264
+ <flag name="sip">Enable Session Initiation Protocol</flag>
+ <flag name="sipim">Enable SIP Instant Messages session</flag>
+ <flag name="srtp">Enable Secure Real-time Transport Protocol</flag>
+ <flag name="stats">Enable statistic reporting</flag>
+ <flag name="swig">Use swig to generate bindings</flag>
+ <flag name="video">Enable video support</flag>
+ <flag name="vpb">Enable Voicetronics VPB card support</flag>
+ <flag name="vxml">Enable VXML support</flag>
+ <flag name="wav">Enable WAVFILE support</flag>
+ <flag name="x264-static">Install x264 plugin statically linked with x264
</flag>
- <!-- unused atm
+ <!-- unused atm
<flag name="g711plc">Enable G711 Packet Loss Concealment</flag>
<flag name="msrp">Enable Message Session Relay Protocol</flag>
<flag name="rfc4103">Enable RTP Payload for Text Conversation</flag>
-->
- </use>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">opalvoip</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-p2p/transmission/Manifest b/net-p2p/transmission/Manifest
deleted file mode 100644
index 111d676..0000000
--- a/net-p2p/transmission/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST transmission-2.73.tar.xz 2947316 SHA256 7907f47f6eabf63f25ecc63b388f2abd4ac82f61d7d827657681ec36ff1507f6 SHA512 d591d8f14eb10edc7773ed7e13c52c3172da9a511a34487030feb300d87e4e835f4d70c83e30b49d3a119c38ae987d571ba17a11c0db6b3c9dab15527185b686 WHIRLPOOL 59cfcff5f1f3b34c062d0d9685bc793e868259fc272b1618a28e5a3f245d86aed173df6fce8c6d9fa95e48a0d9c28758da5d7710e9884ee91982beaee3633798
-DIST transmission-2.76.tar.xz 2954220 SHA256 02c8c47da5b5567f9018d4a1fdad585cff58d315bd2a544da71e7bd473853b33 SHA512 ccd45cf9889534df5551394f11934ce33420749247d7e8105d684fba8b4872cceddc763f873a4b98101486acc7f49fbcb96734cdb0fcd9bbc60bc1779f3ca591 WHIRLPOOL 88d5cbd16b32432af243827b9f48db27508b96df13df48acdd62fd9315b722436a686e0bc6c36633581523b5c136168b49fee7466b84e5e6e563d639b5c21933
diff --git a/net-p2p/transmission/files/.transmission-2.73-bind-to-interface.patch.swp b/net-p2p/transmission/files/.transmission-2.73-bind-to-interface.patch.swp
deleted file mode 100644
index ae0efca..0000000
--- a/net-p2p/transmission/files/.transmission-2.73-bind-to-interface.patch.swp
+++ /dev/null
Binary files differ
diff --git a/net-p2p/transmission/files/transmission-2.73-bind-to-interface.patch b/net-p2p/transmission/files/transmission-2.73-bind-to-interface.patch
deleted file mode 100644
index 5a1fea7..0000000
--- a/net-p2p/transmission/files/transmission-2.73-bind-to-interface.patch
+++ /dev/null
@@ -1,2216 +0,0 @@
-bind to interface
-
-From: eroen <eroen@occam.eroen.eu>
-
-by: ThornsArcana
-source: https://trac.transmissionbt.com/ticket/2313
-
-ported from bind-to-interface-r12779-trunk.patch by eroen
----
- Transmission.xcodeproj/project.pbxproj | 9 +
- configure.ac | 69 ++++++++
- gtk/tr-prefs.c | 10 +
- libtransmission/Makefile.am | 9 +
- libtransmission/fdlimit.c | 241 +++++++++++++++++++++++++--
- libtransmission/fdlimit.h | 5 +
- libtransmission/net-interfaces-test.c | 101 +++++++++++
- libtransmission/net-interfaces.c | 183 ++++++++++++++++++++
- libtransmission/net-interfaces.h | 49 +++++
- libtransmission/net.c | 175 ++++++++++++++++++-
- libtransmission/net.h | 16 ++
- libtransmission/peer-io.c | 30 +++
- libtransmission/peer-mgr.c | 2
- libtransmission/resolver.c | 157 +++++++++++++++++
- libtransmission/resolver.h | 71 ++++++++
- libtransmission/resume.c | 4
- libtransmission/session.c | 289 +++++++++++++++++++++++++++++++-
- libtransmission/session.h | 7 +
- libtransmission/tr-dht.h | 5 +
- libtransmission/tr-lpd.c | 3
- libtransmission/tr-udp.c | 4
- libtransmission/tr-utp.c | 8 +
- libtransmission/transmission.h | 1
- macosx/Controller.m | 2
- third-party/libutp/utp_config.h | 4
- 25 files changed, 1413 insertions(+), 41 deletions(-)
- create mode 100644 libtransmission/net-interfaces-test.c
- create mode 100644 libtransmission/net-interfaces.c
- create mode 100644 libtransmission/net-interfaces.h
- create mode 100644 libtransmission/resolver.c
- create mode 100644 libtransmission/resolver.h
-
-diff --git a/Transmission.xcodeproj/project.pbxproj b/Transmission.xcodeproj/project.pbxproj
-index 898278b..ed26f53 100644
---- a/Transmission.xcodeproj/project.pbxproj
-+++ b/Transmission.xcodeproj/project.pbxproj
-@@ -59,6 +59,8 @@
- 4DF7500D08A103AD007B0D70 /* ToolbarInfoTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 4DF7500808A103AD007B0D70 /* ToolbarInfoTemplate.png */; };
- 4DF7500E08A103AD007B0D70 /* ToolbarRemoveTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 4DF7500908A103AD007B0D70 /* ToolbarRemoveTemplate.png */; };
- 4DFBC2DF09C0970D00D5C571 /* Torrent.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DFBC2DE09C0970D00D5C571 /* Torrent.m */; };
-+ 68FE979E11C77CE800FE4F58 /* net-interfaces.h in Headers */ = {isa = PBXBuildFile; fileRef = 68FE979D11C77CE800FE4F58 /* net-interfaces.h */; };
-+ 68FE97A011C77D1200FE4F58 /* net-interfaces.c in Sources */ = {isa = PBXBuildFile; fileRef = 68FE979F11C77D1200FE4F58 /* net-interfaces.c */; };
- 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
- 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
- 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
-@@ -628,6 +630,8 @@
- 4DF7500908A103AD007B0D70 /* ToolbarRemoveTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ToolbarRemoveTemplate.png; path = macosx/Images/ToolbarRemoveTemplate.png; sourceTree = "<group>"; };
- 4DFBC2DD09C0970D00D5C571 /* Torrent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Torrent.h; path = macosx/Torrent.h; sourceTree = "<group>"; };
- 4DFBC2DE09C0970D00D5C571 /* Torrent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Torrent.m; path = macosx/Torrent.m; sourceTree = "<group>"; };
-+ 68FE979D11C77CE800FE4F58 /* net-interfaces.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "net-interfaces.h"; path = "libtransmission/net-interfaces.h"; sourceTree = "<group>"; };
-+ 68FE979F11C77D1200FE4F58 /* net-interfaces.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "net-interfaces.c"; path = "libtransmission/net-interfaces.c"; sourceTree = "<group>"; };
- 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; name = Info.plist; path = macosx/Info.plist; sourceTree = "<group>"; };
- 8D1107320486CEB800E47090 /* Transmission.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Transmission.app; sourceTree = BUILT_PRODUCTS_DIR; };
- A200B8390A2263BA007BBB1E /* InfoWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InfoWindowController.h; path = macosx/InfoWindowController.h; sourceTree = "<group>"; };
-@@ -1723,6 +1727,8 @@
- A2A4EA0A0DE106E8000CE197 /* ConvertUTF.c */,
- A2A4EA0B0DE106E8000CE197 /* ConvertUTF.h */,
- 4DB74F070E8CD75100AEB1A8 /* wildmat.c */,
-+ 68FE979D11C77CE800FE4F58 /* net-interfaces.h */,
-+ 68FE979F11C77D1200FE4F58 /* net-interfaces.c */,
- );
- name = libtransmission;
- sourceTree = "<group>";
-@@ -3169,6 +3175,7 @@
- "-DSYS_DARWIN",
- "-DWITH_UTP",
- "-DHAVE_OPENSSL",
-+ "-DHAVE_SYSCTLBYNAME",
- "-D__TRANSMISSION__",
- "-DHAVE_STRLCPY",
- "-DHAVE_STRLCAT",
-@@ -3317,6 +3324,7 @@
- "-DSYS_DARWIN",
- "-DWITH_UTP",
- "-DHAVE_OPENSSL",
-+ "-DHAVE_SYSCTLBYNAME",
- "-D__TRANSMISSION__",
- "-DHAVE_STRLCPY",
- "-DHAVE_STRLCAT",
-@@ -3498,6 +3506,7 @@
- "-DSYS_DARWIN",
- "-DWITH_UTP",
- "-DHAVE_OPENSSL",
-+ "-DHAVE_SYSCTLBYNAME",
- "-D__TRANSMISSION__",
- "-DHAVE_STRLCPY",
- "-DHAVE_STRLCAT",
-diff --git a/configure.ac b/configure.ac
-index c1931c3..1fe4a14 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -177,6 +177,75 @@ AC_CHECK_HEADERS([sys/statvfs.h \
-
- dnl ----------------------------------------------------------------------------
- dnl
-+dnl SO_BINDTODEVICE support
-+
-+AC_CACHE_CHECK([whether setsockopt accepts SO_BINDTODEVICE],
-+ [ac_cv_c_so_bindtodevice],
-+ [CXXFLAGS="${save_CXXFLAGS} -Wall -Werror"
-+ AC_TRY_COMPILE([#include <sys/types.h>
-+ #include <sys/socket.h>],
-+ [return SO_BINDTODEVICE;],
-+ ac_cv_c_so_bindtodevice=yes, ac_cv_c_so_bindtodevice=no)])
-+if test x"$ac_cv_c_so_bindtodevice" != x"no"; then
-+ AC_DEFINE(HAVE_SO_BINDTODEVICE, 1, Define if setsockopt accepts SO_BINDTODEVICE.)
-+fi
-+
-+dnl ----------------------------------------------------------------------------
-+dnl
-+dnl SO_BINDTODEVICE enable/disable.
-+
-+AC_ARG_ENABLE([bindtodevice],
-+ AS_HELP_STRING([--enable-bindtodevice],[Enable bind to device support]),
-+ [want_bindtodevice=${enableval}],
-+ [want_bindtodevice=${ac_cv_c_so_bindtodevice}])
-+
-+if test x"$want_bindtodevice" = x"yes" ; then
-+ if test x"$ac_cv_c_so_bindtodevice" != x"no"; then
-+ AC_DEFINE(USE_SO_BINDTODEVICE, 1, Define as 1 if bind to device feature is enabled.)
-+ else
-+ AC_DEFINE(USE_SO_BINDTODEVICE, 0, Define as 0 if bind to device feature is disabled.)
-+ fi
-+fi
-+
-+dnl ----------------------------------------------------------------------------
-+dnl
-+dnl getifaddrs
-+
-+AC_CACHE_CHECK([whether getifaddrs() exists],
-+ [ac_cv_c_getifaddrs],
-+ [CXXFLAGS="${save_CXXFLAGS} -Wall -Werror"
-+ AC_TRY_COMPILE([#include <sys/types.h>
-+ #include <sys/socket.h>
-+ #include <ifaddrs.h>],
-+ [{struct ifaddrs * pIfa;
-+ return getifaddrs(&pIfa);}],
-+ ac_cv_c_getifaddrs=yes, ac_cv_c_getifaddrs=no)])
-+if test x"$ac_cv_c_getifaddrs" != x"no"; then
-+ AC_DEFINE(HAVE_GETIFADDRS, 1, Define if getifaddrs is available..)
-+fi
-+
-+dnl ----------------------------------------------------------------------------
-+dnl
-+dnl libnetlink
-+
-+AC_CACHE_CHECK([whether libnetlink is available (iproute-dev)],
-+ [ac_cv_c_libnetlink],
-+ [CXXFLAGS="${save_CXXFLAGS} -Wall -Werror"
-+ AC_TRY_COMPILE([#include <sys/types.h>
-+ #include <sys/socket.h>
-+ #include <stdio.h>
-+ #include <libnetlink.h>],
-+ [{struct rtnl_handle rth;
-+ return rtnl_open(&rth, RTNLGRP_IPV4_ROUTE);}],
-+ ac_cv_c_libnetlink=yes, ac_cv_c_libnetlink=no)])
-+if test x"$ac_cv_c_libnetlink" != x"no"; then
-+ AC_DEFINE(HAVE_LIBNETLINK, 1, Define if libnetlink is available..)
-+ dnl THIS IS A HACK:
-+ LIBS="$LIBS -lnetlink"
-+fi
-+
-+dnl ----------------------------------------------------------------------------
-+dnl
- dnl dht
-
- DHT_CFLAGS="-I\$(top_srcdir)/third-party/dht"
-diff --git a/gtk/tr-prefs.c b/gtk/tr-prefs.c
-index cc6ac6f..0caff40 100644
---- a/gtk/tr-prefs.c
-+++ b/gtk/tr-prefs.c
-@@ -19,6 +19,9 @@
- #include <libtransmission/transmission.h>
- #include <libtransmission/utils.h>
- #include <libtransmission/version.h>
-+#include <sys/time.h> /* getrlimit */
-+#include <sys/resource.h> /* getrlimit */
-+
- #include "conf.h"
- #include "hig.h"
- #include "tr-core.h"
-@@ -1192,6 +1195,9 @@ networkPage( GObject * core )
- const char * s;
- struct network_page_data * data;
- guint row = 0;
-+ struct rlimit limit;
-+
-+ getrlimit( RLIMIT_NOFILE, &limit );
-
- /* register to stop listening to core prefs changes when the page is destroyed */
- data = g_new0( struct network_page_data, 1 );
-@@ -1227,9 +1233,9 @@ networkPage( GObject * core )
- hig_workarea_add_section_divider( t, &row );
- hig_workarea_add_section_title( t, &row, _( "Peer Limits" ) );
-
-- w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_TORRENT, core, 1, FD_SETSIZE, 5 );
-+ w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_TORRENT, core, 1, limit.rlim_max, 5 );
- hig_workarea_add_row( t, &row, _( "Maximum peers per _torrent:" ), w, NULL );
-- w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_GLOBAL, core, 1, FD_SETSIZE, 5 );
-+ w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_GLOBAL, core, 1, limit.rlim_max, 5 );
- hig_workarea_add_row( t, &row, _( "Maximum peers _overall:" ), w, NULL );
-
- hig_workarea_add_section_divider( t, &row );
-diff --git a/libtransmission/Makefile.am b/libtransmission/Makefile.am
-index aaa7412..cb9a67e 100644
---- a/libtransmission/Makefile.am
-+++ b/libtransmission/Makefile.am
-@@ -41,12 +41,14 @@ libtransmission_a_SOURCES = \
- metainfo.c \
- natpmp.c \
- net.c \
-+ net-interfaces.c \
- peer-io.c \
- peer-mgr.c \
- peer-msgs.c \
- platform.c \
- port-forwarding.c \
- ptrarray.c \
-+ resolver.c \
- resume.c \
- rpcimpl.c \
- rpc-server.c \
-@@ -93,6 +95,7 @@ noinst_HEADERS = \
- metainfo.h \
- natpmp_local.h \
- net.h \
-+ net-interfaces.h \
- peer-common.h \
- peer-io.h \
- peer-mgr.h \
-@@ -100,6 +103,7 @@ noinst_HEADERS = \
- platform.h \
- port-forwarding.h \
- ptrarray.h \
-+ resolver.h \
- resume.h \
- rpcimpl.h \
- rpc-server.h \
-@@ -129,6 +133,7 @@ TESTS = \
- json-test \
- magnet-test \
- metainfo-test \
-+ net-interfaces-test \
- peer-msgs-test \
- rpc-test \
- test-peer-id \
-@@ -184,6 +189,10 @@ peer_msgs_test_SOURCES = peer-msgs-test.c
- peer_msgs_test_LDADD = ${apps_ldadd}
- peer_msgs_test_LDFLAGS = ${apps_ldflags}
-
-+net_interfaces_test_SOURCES = net-interfaces-test.c
-+net_interfaces_test_LDADD = ${apps_ldadd}
-+net_interfaces_test_LDFLAGS = ${apps_ldflags}
-+
- rpc_test_SOURCES = rpc-test.c
- rpc_test_LDADD = ${apps_ldadd}
- rpc_test_LDFLAGS = ${apps_ldflags}
-diff --git a/libtransmission/fdlimit.c b/libtransmission/fdlimit.c
-index 58fd60e..2e92abb 100644
---- a/libtransmission/fdlimit.c
-+++ b/libtransmission/fdlimit.c
-@@ -40,6 +40,8 @@
- #include <sys/resource.h> /* getrlimit */
- #include <fcntl.h> /* O_LARGEFILE posix_fadvise */
- #include <unistd.h> /* lseek(), write(), ftruncate(), pread(), pwrite(), etc */
-+#include <stdlib.h>
-+#include <stdio.h>
-
- #include "transmission.h"
- #include "fdlimit.h"
-@@ -71,6 +73,204 @@
- #define O_SEQUENTIAL 0
- #endif
-
-+struct tr_fileset
-+{
-+ struct tr_cached_file * begin;
-+ const struct tr_cached_file * end;
-+};
-+
-+struct tr_fdInfo
-+{
-+ int peerCount;
-+ struct tr_fileset fileset;
-+};
-+
-+/* track activity on open file handles */
-+typedef struct OpenHandleTracker_t
-+{
-+ int fd;
-+ uint64_t inBytes;
-+ uint64_t outBytes;
-+ clock_t lastActivity;
-+} TOpenHandleTracker;
-+
-+static TOpenHandleTracker * g_OpenTracker = NULL;
-+size_t g_OpenTrackerSize = 0;
-+
-+bool tr_fdtrack_add(tr_session * session, int fd)
-+{
-+ bool added = false;
-+ size_t index;
-+
-+ if (NULL == g_OpenTracker)
-+ {
-+ size_t bytes;
-+ g_OpenTrackerSize = session->peerLimit;
-+
-+ bytes = g_OpenTrackerSize * sizeof(TOpenHandleTracker);
-+
-+ g_OpenTracker = malloc(bytes);
-+ memset(g_OpenTracker, 0, bytes);
-+ for(index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ g_OpenTracker[index].fd = -1;
-+ }
-+ }
-+
-+ if (g_OpenTracker)
-+ {
-+ if (g_OpenTrackerSize < session->peerLimit)
-+ {
-+ size_t bytes = session->peerLimit * sizeof(TOpenHandleTracker);
-+ TOpenHandleTracker * tmp = realloc(g_OpenTracker, bytes);
-+ if (tmp)
-+ {
-+ /* realloc successful */
-+ for (index = g_OpenTrackerSize; index < session->peerLimit; index++)
-+ {
-+ tmp[index].fd = -1;
-+ tmp[index].lastActivity = 0;
-+ tmp[index].inBytes = 0;
-+ tmp[index].outBytes = 0;
-+ }
-+ g_OpenTracker = tmp;
-+ g_OpenTrackerSize = session->peerLimit;
-+ }
-+ }
-+ }
-+
-+ if (g_OpenTracker)
-+ {
-+ for(index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (-1 == g_OpenTracker[index].fd)
-+ {
-+ g_OpenTracker[index].fd = fd;
-+ g_OpenTracker[index].lastActivity = clock();
-+ g_OpenTracker[index].inBytes = 0;
-+ g_OpenTracker[index].outBytes = 0;
-+ added = true;
-+ break;
-+ }
-+ }
-+ }
-+ return added;
-+}
-+
-+bool tr_fdtrack_input(int fd, uint64_t inCount)
-+{
-+ bool found = false;
-+ size_t index;
-+
-+ for (index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (fd == g_OpenTracker[index].fd)
-+ {
-+ g_OpenTracker[index].fd = fd;
-+ g_OpenTracker[index].lastActivity = clock();
-+ g_OpenTracker[index].inBytes += inCount;
-+ found = true;
-+ break;
-+ }
-+ }
-+ return found;
-+}
-+
-+bool tr_fdtrack_output(int fd, uint64_t outCount)
-+{
-+ bool found = false;
-+ size_t index;
-+
-+ for (index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (fd == g_OpenTracker[index].fd)
-+ {
-+ g_OpenTracker[index].fd = fd;
-+ g_OpenTracker[index].lastActivity = clock();
-+ g_OpenTracker[index].outBytes += outCount;
-+ found = true;
-+ break;
-+ }
-+ }
-+ return found;
-+}
-+
-+bool tr_fdtrack_close(int fd)
-+{
-+ bool found = false;
-+ size_t index;
-+
-+ for (index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (fd == g_OpenTracker[index].fd)
-+ {
-+ g_OpenTracker[index].fd = -1;
-+ g_OpenTracker[index].lastActivity = 0;
-+ g_OpenTracker[index].inBytes = 0;
-+ g_OpenTracker[index].outBytes = 0;
-+ found = true;
-+ break;
-+ }
-+ }
-+ return found;
-+}
-+
-+int tr_fdtrack_cleanup(tr_session * session, int secs)
-+{
-+ bool cleanup = 0;
-+ clock_t inClock = CLOCKS_PER_SEC * secs;
-+ clock_t now = clock();
-+
-+ if (now > inClock)
-+ {
-+ clock_t noActivitySince = now - inClock;
-+ size_t index;
-+ struct tr_fdInfo * gFd = session->fdInfo;
-+ size_t idxOldest = g_OpenTrackerSize;
-+ clock_t clkOldest = now;
-+
-+ for (index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (-1 != g_OpenTracker[index].fd)
-+ {
-+ if (g_OpenTracker[index].lastActivity < clkOldest)
-+ {
-+ clkOldest = g_OpenTracker[index].lastActivity;
-+ idxOldest = index;
-+ }
-+
-+ if (g_OpenTracker[index].lastActivity <= noActivitySince)
-+ {
-+ close(g_OpenTracker[index].fd);
-+ fprintf(stderr, "%d\tclose\tcleanup\n", g_OpenTracker[index].fd );
-+
-+ g_OpenTracker[index].fd = -1;
-+ g_OpenTracker[index].lastActivity = 0;
-+ g_OpenTracker[index].inBytes = 0;
-+ g_OpenTracker[index].outBytes = 0;
-+ cleanup++;
-+ gFd->peerCount--;
-+ }
-+ }
-+ }
-+
-+ if ( 0 == cleanup && idxOldest < g_OpenTrackerSize )
-+ {
-+ index = idxOldest;
-+ close(g_OpenTracker[index].fd);
-+ fprintf(stderr, "%d\tclose\tcleanup\n", g_OpenTracker[index].fd );
-+
-+ g_OpenTracker[index].fd = -1;
-+ g_OpenTracker[index].lastActivity = 0;
-+ g_OpenTracker[index].inBytes = 0;
-+ g_OpenTracker[index].outBytes = 0;
-+ cleanup++;
-+ gFd->peerCount--;
-+ }
-+ }
-+ return cleanup;
-+}
-+
-
- static bool
- preallocate_file_sparse( int fd, uint64_t length )
-@@ -413,12 +613,6 @@ cached_file_open( struct tr_cached_file * o,
- ****
- ***/
-
--struct tr_fileset
--{
-- struct tr_cached_file * begin;
-- const struct tr_cached_file * end;
--};
--
- static void
- fileset_construct( struct tr_fileset * set, int n )
- {
-@@ -506,12 +700,6 @@ fileset_get_empty_slot( struct tr_fileset * set )
- ****
- ***/
-
--struct tr_fdInfo
--{
-- int peerCount;
-- struct tr_fileset fileset;
--};
--
- static void
- ensureSessionFdInfoExists( tr_session * session )
- {
-@@ -531,6 +719,7 @@ ensureSessionFdInfoExists( tr_session * session )
- /* set the open-file limit to the largest safe size wrt FD_SETSIZE */
- if( !getrlimit( RLIMIT_NOFILE, &limit ) )
- {
-+#if 0
- const int old_limit = (int) limit.rlim_cur;
- const int new_limit = MIN( limit.rlim_max, FD_SETSIZE );
- if( new_limit != old_limit )
-@@ -540,6 +729,9 @@ ensureSessionFdInfoExists( tr_session * session )
- getrlimit( RLIMIT_NOFILE, &limit );
- tr_inf( "Changed open file limit from %d to %d", old_limit, (int)limit.rlim_cur );
- }
-+#else
-+ limit.rlim_cur = limit.rlim_max;
-+#endif
- }
- }
- }
-@@ -676,10 +868,28 @@ tr_fdSocketCreate( tr_session * session, int domain, int type )
- ensureSessionFdInfoExists( session );
- gFd = session->fdInfo;
-
-- if( gFd->peerCount < session->peerLimit )
-+ if(session->peerLimit < 100)
-+ {
-+ fprintf(stderr, "Peer Limit minimum of ~250. Est overhead is 100 file handles\n");
-+ }
-+
-+ assert(session->peerLimit >= 100);
-+
-+ if (gFd->peerCount >= (session->peerLimit - 100))
-+ {
-+ fprintf(stderr, "peerCount %d < peerLimit %d - 100\n", gFd->peerCount, session->peerLimit );
-+ /* cleanup connects that have been idle for 2 minutes or more */
-+ tr_fdtrack_cleanup(session, 120);
-+ }
-+
-+ if( gFd->peerCount < (session->peerLimit - 100) )
-+ {
- if(( s = socket( domain, type, 0 )) < 0 )
-+ {
- if( sockerrno != EAFNOSUPPORT )
- tr_err( _( "Couldn't create socket: %s" ), tr_strerror( sockerrno ) );
-+ }
-+ }
-
- if( s > -1 )
- ++gFd->peerCount;
-@@ -699,6 +909,8 @@ tr_fdSocketCreate( tr_session * session, int domain, int type )
- getsockopt( s, SOL_SOCKET, SO_RCVBUF, &i, &size );
- tr_dbg( "SO_RCVBUF size is %d", i );
- }
-+ tr_netBindSocketInterface(session, s);
-+ tr_fdtrack_add(session, s);
- }
-
- return s;
-@@ -724,10 +936,11 @@ tr_fdSocketAccept( tr_session * s, int sockfd, tr_address * addr, tr_port * port
-
- if( fd >= 0 )
- {
-- if( ( gFd->peerCount < s->peerLimit )
-+ if( ( gFd->peerCount < (s->peerLimit - 100) )
- && tr_address_from_sockaddr_storage( addr, port, &sock ) )
- {
- ++gFd->peerCount;
-+ tr_fdtrack_add(s, fd);
- }
- else
- {
-diff --git a/libtransmission/fdlimit.h b/libtransmission/fdlimit.h
-index 0b01190..15b8df5 100644
---- a/libtransmission/fdlimit.h
-+++ b/libtransmission/fdlimit.h
-@@ -40,6 +40,11 @@ ssize_t tr_pread(int fd, void *buf, size_t count, off_t offset);
- ssize_t tr_pwrite(int fd, const void *buf, size_t count, off_t offset);
- int tr_prefetch(int fd, off_t offset, size_t count);
-
-+bool tr_fdtrack_add(tr_session * session, int fd);
-+bool tr_fdtrack_input(int fd, uint64_t inCount);
-+bool tr_fdtrack_output(int fd, uint64_t outCount);
-+bool tr_fdtrack_close(int fd);
-+int tr_fdtrack_cleanup(tr_session * session, int secs);
-
- /**
- * Returns an fd to the specified filename.
-diff --git a/libtransmission/net-interfaces-test.c b/libtransmission/net-interfaces-test.c
-new file mode 100644
-index 0000000..e719e23
---- /dev/null
-+++ b/libtransmission/net-interfaces-test.c
-@@ -0,0 +1,101 @@
-+#include <stdio.h>
-+#include <string.h>
-+
-+#include "net-interfaces.h"
-+#include "utils.h"
-+
-+#define VERBOSE 1
-+// #undef VERBOSE
-+
-+#ifdef VERBOSE
-+ #define check( A ) \
-+ { \
-+ ++test; \
-+ if( A ){ \
-+ fprintf( stderr, "PASS test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
-+ } else { \
-+ fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
-+ return test; \
-+ } \
-+ }
-+#else
-+ #define check( A ) \
-+ { \
-+ ++test; \
-+ if( !( A ) ){ \
-+ fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
-+ return test; \
-+ } \
-+ }
-+#endif
-+
-+#define info( ... ) \
-+ do { \
-+ tr_msg( __FILE__, __LINE__, TR_MSG_INF, NULL, __VA_ARGS__ ); \
-+ } while( 0 )
-+
-+
-+static void tr_list_interfaces( tr_interface ** interfaces );
-+static void tr_list_interface( tr_interface * interface );
-+
-+static void tr_list_interface( tr_interface * interface )
-+{
-+ char buf[INET6_ADDRSTRLEN];
-+
-+ info("%s:",interface->name);
-+ info(" name = %s",interface->name);
-+
-+ if (interface->af4)
-+ {
-+ tr_address_to_string_with_buf(&interface->ipv4, buf, sizeof(buf));
-+ info(" ipv4 = %s", buf);
-+ }
-+ if (interface->af6)
-+ {
-+ tr_address_to_string_with_buf(&interface->ipv6, buf, sizeof(buf));
-+ info(" ipv6 = %s", buf);
-+ }
-+ info(" ");
-+}
-+
-+static void tr_list_interfaces( tr_interface ** interfaces )
-+{
-+ if (interfaces)
-+ {
-+ int index;
-+ for( index = 0; interfaces[index]; index++ )
-+ {
-+ tr_interface * interface = interfaces[index];
-+ tr_list_interface( interface );
-+ }
-+ }
-+ return;
-+}
-+
-+static int
-+test1( void )
-+{
-+ tr_interface ** interfaces;
-+
-+ info("Network interfaces test...");
-+ info(" ");
-+ interfaces = tr_net_interfaces();
-+ tr_list_interfaces(interfaces);
-+ tr_interfacesFree(interfaces);
-+ info("Done.");
-+ return 0;
-+}
-+
-+int
-+main( void )
-+{
-+ int i;
-+
-+ if( ( i = test1( ) ) )
-+ return i;
-+
-+#ifdef VERBOSE
-+ fprintf( stderr, "net-interfaces-test passed\n" );
-+#endif
-+ return 0;
-+}
-diff --git a/libtransmission/net-interfaces.c b/libtransmission/net-interfaces.c
-new file mode 100644
-index 0000000..82ccb56
---- /dev/null
-+++ b/libtransmission/net-interfaces.c
-@@ -0,0 +1,183 @@
-+/******************************************************************************
-+ *
-+ * $Id$
-+ *
-+ * Copyright (c) 2005-2011 Transmission authors and contributors
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *****************************************************************************/
-+
-+#include "net-interfaces.h"
-+#include "utils.h"
-+#include "list.h"
-+
-+#include <stdlib.h>
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+#include <net/if.h>
-+#include <strings.h>
-+
-+#if defined(HAVE_GETIFADDRS)
-+ #include <ifaddrs.h>
-+#endif
-+
-+#include <errno.h>
-+
-+#if defined(HAVE_GETIFADDRS)
-+ static tr_interface ** tr_net_getinterfaces(void);
-+#else
-+ static tr_interface ** tr_net_dummy_interfaces(void);
-+#endif
-+
-+tr_interface * tr_FindInterfaceByName(tr_interface **interfaces, char * device)
-+{
-+ tr_interface * found = NULL;
-+ if (interfaces)
-+ {
-+ int entry;
-+ for(entry = 0; interfaces[entry]; entry++)
-+ {
-+ tr_interface * test = interfaces[entry];
-+ if( 0 == strcasecmp( test->name, device ) )
-+ {
-+ found = test;
-+ break;
-+ }
-+ }
-+ }
-+ return found;
-+}
-+
-+void tr_interfacesFree( tr_interface ** interfaces )
-+{
-+ if (interfaces)
-+ {
-+ int entry;
-+ for(entry = 0; interfaces[entry]; entry++)
-+ {
-+ tr_free(interfaces[entry]);
-+ }
-+ }
-+ tr_free(interfaces);
-+}
-+
-+tr_interface ** tr_net_interfaces()
-+{
-+#if defined(HAVE_GETIFADDRS)
-+ return tr_net_getinterfaces();
-+#else
-+ return tr_net_dummy_interfaces();
-+#endif
-+}
-+
-+#if defined(HAVE_GETIFADDRS)
-+static void tr_MergeOrAppendToInterfaces(tr_interface **interfaces, struct ifaddrs * ifa);
-+
-+static void tr_MergeOrAppendToInterfaces(tr_interface **interfaces, struct ifaddrs * ifa)
-+{
-+ if (interfaces)
-+ {
-+ tr_interface * merge = tr_FindInterfaceByName(interfaces, ifa->ifa_name);
-+
-+ if (merge == NULL)
-+ {
-+ int entry;
-+ for(entry = 0; interfaces[entry]; entry++)
-+ {
-+ }
-+ interfaces[entry] = tr_new0(tr_interface, 1);
-+ merge = interfaces[entry];
-+ // Name.
-+ tr_strlcpy(merge->name, ifa->ifa_name, sizeof(merge->name));
-+ }
-+
-+ if (merge)
-+ {
-+ if (ifa->ifa_addr->sa_family == AF_INET)
-+ {
-+ struct sockaddr_in * s4 = (struct sockaddr_in *)(ifa->ifa_addr);
-+
-+ merge->af4 = ifa->ifa_addr->sa_family;
-+ merge->ipv4.type = TR_AF_INET;
-+ merge->ipv4.addr.addr4 = s4->sin_addr;
-+ }
-+ else if (ifa->ifa_addr->sa_family == AF_INET6)
-+ {
-+ struct sockaddr_in6 * s6 = (struct sockaddr_in6 *)(ifa->ifa_addr);
-+
-+ merge->af6 = ifa->ifa_addr->sa_family;
-+ merge->ipv6.type = TR_AF_INET6;
-+ merge->ipv6.addr.addr6 = s6->sin6_addr;
-+ }
-+ }
-+ }
-+}
-+
-+static tr_interface ** tr_net_getinterfaces(void)
-+{
-+ tr_interface ** interfaces = NULL;
-+ int ifcount = 0;
-+
-+ struct ifaddrs *myaddrs, *ifa;
-+ int status;
-+
-+ status = getifaddrs(&myaddrs);
-+ if (status != 0)
-+ {
-+ tr_err( _( "getifaddrs error: \'%s\' (%d)" ), tr_strerror(errno), errno );
-+ }
-+
-+ for (ifa = myaddrs; ifa != NULL; ifa = ifa->ifa_next)
-+ {
-+ if ( (ifa->ifa_addr != NULL) // has address
-+ && (ifa->ifa_flags & IFF_UP)) // iface is up.
-+ {
-+ ifcount++;
-+ }
-+ }
-+
-+ if (ifcount > 0)
-+ {
-+ // treat as a null terminated array of interfaces
-+ interfaces = tr_new0( tr_interface *, ifcount + 1 );
-+ for (ifa = myaddrs; ifa != NULL; ifa = ifa->ifa_next)
-+ {
-+ if ( (ifa->ifa_addr != NULL) // has address
-+ && (ifa->ifa_flags & IFF_UP)) // iface is up.
-+ {
-+ tr_MergeOrAppendToInterfaces(interfaces, ifa);
-+ }
-+ }
-+ }
-+ freeifaddrs(myaddrs);
-+
-+ return interfaces;
-+}
-+
-+#else // HAVE_GETIFADDRS
-+
-+tr_interface ** tr_net_dummy_interfaces(void)
-+{
-+ // Is there a port of getifaddrs for win32?
-+ return NULL;
-+}
-+
-+#endif
-diff --git a/libtransmission/net-interfaces.h b/libtransmission/net-interfaces.h
-new file mode 100644
-index 0000000..9fdfa9c
---- /dev/null
-+++ b/libtransmission/net-interfaces.h
-@@ -0,0 +1,49 @@
-+/******************************************************************************
-+ * $Id$
-+ *
-+ * Copyright (c) 2005-2008 Transmission authors and contributors
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *****************************************************************************/
-+
-+#ifndef __TRANSMISSION__
-+#error only libtransmission should #include this header.
-+#endif
-+#include "net.h"
-+
-+#ifndef _TR_NET_INTERFACES_H_
-+#define _TR_NET_INTERFACES_H_
-+
-+#include <net/if.h>
-+
-+typedef struct tr_interface
-+{
-+ char name[IF_NAMESIZE];
-+ unsigned short int af4;
-+ unsigned short int af6;
-+ tr_address ipv4;
-+ tr_address ipv6;
-+} tr_interface;
-+
-+tr_interface ** tr_net_interfaces( void );
-+void tr_interfacesFree( tr_interface ** interfaces );
-+tr_interface * tr_FindInterfaceByName(tr_interface **interfaces, char * device);
-+
-+
-+#endif // _TR_NET_INTERFACES_H_
-diff --git a/libtransmission/net.c b/libtransmission/net.c
-index eb05de6..18ba7c5 100644
---- a/libtransmission/net.c
-+++ b/libtransmission/net.c
-@@ -34,6 +34,9 @@
- #include <ws2tcpip.h>
- #else
- #include <netinet/tcp.h> /* TCP_CONGESTION */
-+ #include <sys/ioctl.h>
-+ #include <net/if.h>
-+ #include <unistd.h>
- #endif
-
- #include <event2/util.h>
-@@ -55,6 +58,43 @@
- const tr_address tr_in6addr_any = { TR_AF_INET6, { IN6ADDR_ANY_INIT } };
- const tr_address tr_inaddr_any = { TR_AF_INET, { { { { INADDR_ANY, 0x00, 0x00, 0x00 } } } } };
-
-+const char *
-+tr_netGetAddress( const char * node, const char * service, tr_address * addr )
-+{
-+ struct addrinfo hints, * res, * p;
-+ struct sockaddr_storage * ss;
-+ int rv, family = AF_UNSPEC;
-+ const char * err = NULL;
-+
-+ if( !addr )
-+ return _( "Invalid address argument" );
-+
-+ memset( &hints, 0, sizeof( hints ) );
-+ if( addr->type == TR_AF_INET )
-+ family = AF_INET;
-+ else if( addr->type == TR_AF_INET6 )
-+ family = AF_INET6;
-+ hints.ai_family = family;
-+
-+ if( ( rv = getaddrinfo( node, service, &hints, &res ) ) != 0 )
-+ return gai_strerror( rv );
-+
-+ for( p = res; p; p = p->ai_next )
-+ {
-+ if( family != AF_UNSPEC && p->ai_family != family )
-+ continue;
-+ ss = (struct sockaddr_storage *) p->ai_addr;
-+ // assert(p->ai_addrlen == sizeof( struct sockaddr_in ));
-+ tr_address_from_sockaddr_storage( addr, NULL, ss );
-+ break;
-+ }
-+
-+ if( p == NULL )
-+ err = _( "No matching addresses found" );
-+ freeaddrinfo( res );
-+ return err;
-+}
-+
- void
- tr_netInit( void )
- {
-@@ -166,6 +206,46 @@ tr_netSetCongestionControl( int s UNUSED, const char *algorithm UNUSED )
- #endif
- }
-
-+void
-+tr_netBindSocketInterface(tr_session *session, int socket)
-+{
-+#ifdef USE_SO_BINDTODEVICE
-+ if ( socket >= 0 && session->publicInterface != NULL )
-+ {
-+ /*
-+ * Using the ifreq struct with setsockopt seems reasonably common
-+ * among the POSIX and POSIX like platforms.
-+ * The linux manpage here: http://linux.die.net/man/7/socket says:
-+ * ""The passed option is a variable-length null terminated
-+ * interface name string with the maximum size of IFNAMSIZ.""
-+ *
-+ * The ifreq structure contains, as it's first element, ifr_name
-+ * of size IFNAMSIZ.
-+ *
-+ * If you find that you do not have net/if.h or the ifreq structure
-+ * but you do have SO_BINDTODEVICE then you may just pass null
-+ * terminated string. IFNAMSIZ is 16, quite long as net devices
-+ * tend to be named eth0, eth0:1, ppp0, etc.
-+ *
-+ * For size you can pass either IFNAMSIZ, sizeof(struct ifreq), or the
-+ * number of bytes in session->publicInterface plus the '\0'.
-+ */
-+ struct ifreq request;
-+
-+ memset(&request, 0, sizeof(request));
-+ tr_strlcpy(request.ifr_name, session->publicInterface, IFNAMSIZ);
-+ if ( setsockopt(socket, SOL_SOCKET, SO_BINDTODEVICE,
-+ &request, IFNAMSIZ) < 0 )
-+ {
-+ int eno = sockerrno;
-+ tr_err( _( "Bind socket to device \'%s\' error: \'%s\' (%d)" ),
-+ session->publicInterface, tr_strerror(eno), eno );
-+ }
-+ }
-+#endif
-+}
-+
-+
- bool
- tr_address_from_sockaddr_storage( tr_address * setme_addr,
- tr_port * setme_port,
-@@ -245,6 +325,10 @@ tr_netOpenPeerSocket( tr_session * session,
- if( s < 0 )
- return -1;
-
-+
-+
-+ tr_netBindSocketInterface(session, s);
-+
- /* seeds don't need much of a read buffer... */
- if( clientIsSeed ) {
- int n = 8192;
-@@ -309,7 +393,7 @@ tr_netOpenPeerUTPSocket( tr_session * session,
- }
-
- static int
--tr_netBindTCPImpl( const tr_address * addr, tr_port port, bool suppressMsgs, int * errOut )
-+tr_netBindTCPImpl( tr_session * session, const tr_address * addr, tr_port port, bool suppressMsgs, int * errOut )
- {
- static const int domains[NUM_TR_AF_INET_TYPES] = { AF_INET, AF_INET6 };
- struct sockaddr_storage sock;
-@@ -334,6 +418,7 @@ tr_netBindTCPImpl( const tr_address * addr, tr_port port, bool suppressMsgs, int
- optval = 1;
- setsockopt( fd, SOL_SOCKET, SO_KEEPALIVE, &optval, sizeof(optval) );
- setsockopt( fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval) );
-+ tr_netBindSocketInterface(session, fd);
-
- #ifdef IPV6_V6ONLY
- if( addr->type == TR_AF_INET6 )
-@@ -382,14 +467,14 @@ tr_netBindTCPImpl( const tr_address * addr, tr_port port, bool suppressMsgs, int
- }
-
- int
--tr_netBindTCP( const tr_address * addr, tr_port port, bool suppressMsgs )
-+tr_netBindTCP( tr_session * session, const tr_address * addr, tr_port port, bool suppressMsgs )
- {
- int unused;
-- return tr_netBindTCPImpl( addr, port, suppressMsgs, &unused );
-+ return tr_netBindTCPImpl( session, addr, port, suppressMsgs, &unused );
- }
-
- bool
--tr_net_hasIPv6( tr_port port )
-+tr_net_hasIPv6( tr_session * session, tr_port port )
- {
- static bool result = false;
- static bool alreadyDone = false;
-@@ -397,7 +482,7 @@ tr_net_hasIPv6( tr_port port )
- if( !alreadyDone )
- {
- int err;
-- int fd = tr_netBindTCPImpl( &tr_in6addr_any, port, true, &err );
-+ int fd = tr_netBindTCPImpl( session, &tr_in6addr_any, port, true, &err );
- if( fd >= 0 || err != EAFNOSUPPORT ) /* we support ipv6 */
- result = true;
- if( fd >= 0 )
-@@ -428,6 +513,7 @@ void
- tr_netCloseSocket( int fd )
- {
- evutil_closesocket( fd );
-+ tr_fdtrack_close(fd);
- }
-
- void
-@@ -643,9 +729,78 @@ isMartianAddr( const struct tr_address * a )
- bool
- tr_address_is_valid_for_peers( const tr_address * addr, tr_port port )
- {
-- return ( port != 0 )
-- && ( tr_address_is_valid( addr ) )
-- && ( !isIPv6LinkLocalAddress( addr ) )
-- && ( !isIPv4MappedAddress( addr ) )
-- && ( !isMartianAddr( addr ) );
-+ return ( port != 0 ) && ( tr_isValidTrackerAddress( addr ) );
-+}
-+
-+bool
-+tr_isValidTrackerAddress( const tr_address * addr )
-+{
-+ return tr_isAddress( addr )
-+ && !isIPv6LinkLocalAddress( addr )
-+ && !isIPv4MappedAddress( addr )
-+ && !isMartianAddr( addr );
-+}
-+
-+bool isAvailableBindAddress(tr_address * address, enum tr_address_type addrType)
-+{
-+ bool rval = false;
-+ int s;
-+ int bindResult = 0;
-+ static socklen_t sourcelen;
-+ struct sockaddr_storage source_sock;
-+ sourcelen = setup_sockaddr( address, 0, &source_sock );
-+
-+ s = socket( (int)addrType, SOCK_DGRAM, 0 );
-+ if (s >= 0)
-+ {
-+ bindResult = bind( s, (struct sockaddr*)&source_sock, sourcelen );
-+ if(0 == bindResult)
-+ {
-+ rval = true;
-+ }
-+ else if (EADDRNOTAVAIL == errno)
-+ {
-+ rval = false;
-+ }
-+ else
-+ {
-+ int bindErr = errno;
-+
-+ tr_nerr("isAvailableBindAddress", "bind() probe gave an unhandled error code %i", bindErr);
-+ tr_nerr("isAvailableBindAddress", "assuming that the address (may otherwise at other times) be bind()'able");
-+ rval = true;
-+ }
-+ close(s);
-+ }
-+ return rval;
- }
-+
-+/*
-+ * Attempt to create a dummy private address that will disable traffic.
-+ */
-+tr_address * unavailableBindAddress(enum tr_address_type addrType)
-+{
-+ int i;
-+ tr_address * testAddr = tr_new0( tr_address, 1 );
-+
-+ switch (addrType)
-+ {
-+ case TR_AF_INET: tr_address_from_string( testAddr, "1.2.3.4" ); break;
-+ case TR_AF_INET6: tr_address_from_string( testAddr, "fd7f:54eb:9f51:be9a:1:2:3:4" ); break;
-+ default: return testAddr;
-+ }
-+
-+ i = 100;
-+ while( isAvailableBindAddress(testAddr, addrType) && i < 100 )
-+ {
-+ switch (addrType)
-+ {
-+ case TR_AF_INET: testAddr->addr.addr4.s_addr += 1; break;
-+ case TR_AF_INET6: testAddr->addr.addr6.s6_addr[0] -= 1; break;
-+ default: return testAddr;
-+ }
-+ i++;
-+ }
-+ return testAddr;
-+}
-+
-diff --git a/libtransmission/net.h b/libtransmission/net.h
-index 09e1095..faa77c1 100644
---- a/libtransmission/net.h
-+++ b/libtransmission/net.h
-@@ -25,6 +25,7 @@
- #ifndef __TRANSMISSION__
- #error only libtransmission should #include this header.
- #endif
-+#include "transmission.h"
-
- #ifndef _TR_NET_H_
- #define _TR_NET_H_
-@@ -81,6 +82,8 @@ typedef struct tr_address
- extern const tr_address tr_inaddr_any;
- extern const tr_address tr_in6addr_any;
-
-+const char* tr_netGetAddress( const char * node, const char * service, tr_address * addr );
-+
- const char* tr_address_to_string( const tr_address * addr );
-
- const char* tr_address_to_string_with_buf( const tr_address * addr,
-@@ -89,6 +92,12 @@ const char* tr_address_to_string_with_buf( const tr_address * addr,
-
- bool tr_address_from_string ( tr_address * setme,
- const char * string );
-+bool tr_isValidTrackerAddress( const tr_address * addr );
-+
-+bool isAvailableBindAddress(tr_address * address, enum tr_address_type addrType);
-+tr_address * unavailableBindAddress(enum tr_address_type addrType);
-+
-+static inline bool tr_isAddress( const tr_address * a ) { return ( a != NULL ) && ( a->type==TR_AF_INET || a->type==TR_AF_INET6 ); }
-
- bool tr_address_from_sockaddr_storage( tr_address * setme,
- tr_port * port,
-@@ -123,7 +132,8 @@ tr_netOpenPeerUTPSocket( tr_session * session,
- tr_port port,
- bool clientIsSeed);
-
--int tr_netBindTCP( const tr_address * addr,
-+int tr_netBindTCP( tr_session * session,
-+ const tr_address * addr,
- tr_port port,
- bool suppressMsgs );
-
-@@ -143,7 +153,9 @@ void tr_netCloseSocket( int fd );
-
- void tr_netInit( void );
-
--bool tr_net_hasIPv6( tr_port );
-+bool tr_net_hasIPv6( tr_session * session, tr_port port );
-+
-+void tr_netBindSocketInterface(tr_session *session, int socket);
-
-
- /**
-diff --git a/libtransmission/peer-io.c b/libtransmission/peer-io.c
-index 817a6d3..a128ab9 100644
---- a/libtransmission/peer-io.c
-+++ b/libtransmission/peer-io.c
-@@ -27,6 +27,7 @@
- #include "net.h"
- #include "peer-common.h" /* MAX_BLOCK_SIZE */
- #include "peer-io.h"
-+#include "fdlimit.h"
- #include "trevent.h" /* tr_runInEventThread() */
- #include "tr-utp.h"
- #include "utils.h"
-@@ -160,6 +161,8 @@ didWriteWrapper( tr_peerIo * io, unsigned int bytes_transferred )
-
- tr_bandwidthUsed( &io->bandwidth, TR_UP, payload, next->isPieceData, now );
-
-+ tr_fdtrack_output(io->socket, payload);
-+
- if( overhead > 0 )
- tr_bandwidthUsed( &io->bandwidth, TR_UP, overhead, false, now );
-
-@@ -207,10 +210,16 @@ canReadWrapper( tr_peerIo * io )
- if( piece || (piece!=used) )
- {
- if( piece )
-+ {
- tr_bandwidthUsed( &io->bandwidth, TR_DOWN, piece, true, now );
-+ tr_fdtrack_input(io->socket, piece);
-+ }
-
- if( used != piece )
-+ {
- tr_bandwidthUsed( &io->bandwidth, TR_DOWN, used - piece, false, now );
-+ tr_fdtrack_input(io->socket, used - piece);
-+ }
- }
-
- if( overhead > 0 )
-@@ -405,6 +414,8 @@ maybeSetCongestionAlgorithm( int socket, const char * algorithm )
- #ifdef WITH_UTP
- /* UTP callbacks */
-
-+uint64 UTP_GetGlobalUTPBytesSent(const struct sockaddr *remote, socklen_t remotelen);
-+
- static void
- utp_on_read(void *closure, const unsigned char *buf, size_t buflen)
- {
-@@ -424,6 +435,8 @@ utp_on_read(void *closure, const unsigned char *buf, size_t buflen)
- canReadWrapper( io );
- }
-
-+uint64 g_global_write_count = 0;
-+
- static void
- utp_on_write(void *closure, unsigned char *buf, size_t buflen)
- {
-@@ -439,6 +452,15 @@ utp_on_write(void *closure, unsigned char *buf, size_t buflen)
- }
-
- didWriteWrapper( io, buflen );
-+
-+ g_global_write_count += buflen;
-+}
-+
-+uint64 UTP_GetGlobalUTPBytesSent(const struct sockaddr *remote, socklen_t remotelen)
-+{
-+ (void) remote;
-+ (void) remotelen;
-+ return g_global_write_count;
- }
-
- static size_t
-@@ -506,7 +528,7 @@ utp_on_error(void *closure, int errcode)
- }
-
- static void
--utp_on_overhead(void *closure, bool send, size_t count, int type UNUSED)
-+utp_on_overhead(void *closure, uint8_t send, size_t count, int type UNUSED)
- {
- tr_peerIo *io = closure;
- assert( tr_isPeerIo( io ) );
-@@ -567,7 +589,7 @@ dummy_on_error( void * closure UNUSED, int errcode UNUSED )
- }
-
- static void
--dummy_on_overhead( void *closure UNUSED, bool send UNUSED, size_t count UNUSED, int type UNUSED )
-+dummy_on_overhead( void *closure UNUSED, uint8_t send UNUSED, size_t count UNUSED, int type UNUSED )
- {
- return;
- }
-@@ -635,10 +657,14 @@ tr_peerIoNew( tr_session * session,
- io->socket, EV_READ, event_read_cb, io );
- io->event_write = event_new( session->event_base,
- io->socket, EV_WRITE, event_write_cb, io );
-+
-+ tr_netBindSocketInterface(session, io->socket);
-+
- }
- #ifdef WITH_UTP
- else {
- UTP_SetSockopt( utp_socket, SO_RCVBUF, UTP_READ_BUFFER_SIZE );
-+
- dbgmsg( io, "%s", "calling UTP_SetCallbacks &utp_function_table" );
- UTP_SetCallbacks( utp_socket,
- &utp_function_table,
-diff --git a/libtransmission/peer-mgr.c b/libtransmission/peer-mgr.c
-index ce8b0a5..a2263b9 100644
---- a/libtransmission/peer-mgr.c
-+++ b/libtransmission/peer-mgr.c
-@@ -141,7 +141,7 @@ struct peer_atom
- };
-
- #ifdef NDEBUG
--#define tr_isAtom(a) (TRUE)
-+#define tr_isAtom(a) (true)
- #else
- static bool
- tr_isAtom( const struct peer_atom * atom )
-diff --git a/libtransmission/resolver.c b/libtransmission/resolver.c
-new file mode 100644
-index 0000000..e3ec6f9
---- /dev/null
-+++ b/libtransmission/resolver.c
-@@ -0,0 +1,157 @@
-+/******************************************************************************
-+ *
-+ * $Id$
-+ *
-+ * Copyright (c) Transmission authors and contributors
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *****************************************************************************/
-+
-+#include <assert.h>
-+
-+#include "transmission.h"
-+#include "list.h"
-+#include "net.h"
-+#include "platform.h"
-+#include "session.h"
-+#include "utils.h"
-+#include "trevent.h"
-+#include "resolver.h"
-+
-+/* If the number of tasks waiting in the queue divided
-+ * by the current number of workers is greater than this
-+ * number, a new worker thread is created. */
-+#define WORKER_LOAD 5
-+
-+/* Never create more worker threads than this. */
-+#define WORKER_MAX 10
-+
-+typedef struct
-+{
-+ tr_session * session;
-+ char * node;
-+ char * service;
-+ int type;
-+ tr_resolver_callback callback;
-+ void * user_data;
-+}
-+resolver_task;
-+
-+typedef struct
-+{
-+ const char * err;
-+ tr_address addr;
-+ tr_resolver_callback callback;
-+ void * user_data;
-+}
-+resolver_result;
-+
-+static tr_list * queue; /* resolver_task */
-+static tr_lock * lock;
-+static int workers, tasks;
-+
-+static void spawn_workers(void);
-+
-+static void
-+notify( void * vres )
-+{
-+ resolver_result * res = vres;
-+ res->callback( res->err, &res->addr, res->user_data );
-+ tr_free( res );
-+}
-+
-+static void
-+worker( void * varg UNUSED )
-+{
-+ while( 1 )
-+ {
-+ resolver_task * task;
-+ resolver_result * res;
-+
-+ tr_lockLock( lock );
-+ if( !queue )
-+ {
-+ tr_lockUnlock( lock );
-+ break;
-+ }
-+ task = tr_list_pop_front( &queue );
-+ tasks--;
-+ tr_lockUnlock( lock );
-+
-+ res = tr_new0( resolver_result, 1 );
-+ res->addr.type = task->type;
-+ res->err = tr_netGetAddress( task->node, task->service, &res->addr );
-+ res->callback = task->callback;
-+ res->user_data = task->user_data;
-+
-+ tr_runInEventThread( task->session, notify, res );
-+ tr_free( task->node );
-+ tr_free( task->service );
-+ tr_free( task );
-+ }
-+
-+ tr_lockLock( lock );
-+ workers--;
-+ tr_lockUnlock( lock );
-+}
-+
-+static void spawn_workers(void)
-+{
-+ tr_lockLock( lock );
-+ if( queue && ( workers < 1 || tasks / workers > WORKER_LOAD )
-+ && workers < WORKER_MAX )
-+ {
-+ workers++;
-+ tr_threadNew( worker, NULL );
-+ }
-+ tr_lockUnlock( lock );
-+}
-+
-+void
-+tr_resolve_address( tr_session * session,
-+ const char * node,
-+ const char * service,
-+ int type,
-+ tr_resolver_callback callback,
-+ void * user_data )
-+{
-+ resolver_task * task;
-+
-+ assert( callback != NULL );
-+
-+ task = tr_new0( resolver_task, 1 );
-+ task->session = session;
-+ task->node = tr_strdup( node );
-+ task->service = tr_strdup( service );
-+ task->type = type;
-+ task->callback = callback;
-+ task->user_data = user_data;
-+
-+ if( !lock )
-+ {
-+ assert( tr_amInEventThread( session ) );
-+ lock = tr_lockNew( );
-+ }
-+ tr_lockLock( lock );
-+ tr_list_append( &queue, task );
-+ tasks++;
-+ tr_lockUnlock( lock );
-+
-+ spawn_workers( );
-+}
-diff --git a/libtransmission/resolver.h b/libtransmission/resolver.h
-new file mode 100644
-index 0000000..ce44813
---- /dev/null
-+++ b/libtransmission/resolver.h
-@@ -0,0 +1,71 @@
-+/******************************************************************************
-+ * $Id$
-+ *
-+ * Copyright (c) Transmission authors and contributors
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *****************************************************************************/
-+
-+#ifndef __TRANSMISSION__
-+#error only libtransmission should #include this header.
-+#endif
-+
-+#ifndef _TR_RESOLVER_H_
-+#define _TR_RESOLVER_H_
-+
-+/**
-+ * If the address resolution fails, @a err will be a string
-+ * description of the error. Otherwise, @a err will be NULL
-+ * and @a addr will contain the resolved address.
-+ */
-+typedef void ( * tr_resolver_callback )( const char * err,
-+ const tr_address * addr,
-+ void * user_data );
-+
-+/**
-+ * Resolve a hostname asynchronously by calling getaddrinfo(3) in
-+ * another thread. If you do not care about blocking the current
-+ * thread, you can just use tr_netGetAddress().
-+ *
-+ * @param session @a callback will be run in the event thread of this
-+ * session.
-+ * @param node The name of the node to resolve. This will generally
-+ * just be the hostname.
-+ * @param service Same meaning as for getaddrinfo(3). Usually you
-+ * can just set this to NULL.
-+ * @param type The address type to prefer, either @a TR_AF_INET or
-+ * @a TR_AF_INET6. Any other value will cause no particular
-+ * type to be preferred and so the first valid address found
-+ * will be passed to @a callback.
-+ * @param callback Function to call with the result (or an error message).
-+ * It will be run in the event thread of @a session by
-+ * tr_runInEventThread().
-+ * @param user_data User data to pass to @a callback.
-+ *
-+ * @see tr_netGetAddress()
-+ * @see tr_runInEventThread()
-+ */
-+void tr_resolve_address( tr_session * session,
-+ const char * node,
-+ const char * service,
-+ int type,
-+ tr_resolver_callback callback,
-+ void * user_data );
-+
-+#endif /* _TR_RESOLVER_H_ */
-diff --git a/libtransmission/resume.c b/libtransmission/resume.c
-index a879515..341279e 100644
---- a/libtransmission/resume.c
-+++ b/libtransmission/resume.c
-@@ -660,7 +660,11 @@ tr_torrentSaveResume( tr_torrent * tor )
-
- filename = getResumeFilename( tor );
- if(( err = tr_bencToFile( &top, TR_FMT_BENC, filename )))
-+ {
-+ bool was = tor->isStopping;
- tr_torrentSetLocalError( tor, "Unable to save resume file: %s", tr_strerror( err ) );
-+ tor->isStopping = was;
-+ }
- tr_free( filename );
-
- tr_bencFree( &top );
-diff --git a/libtransmission/session.c b/libtransmission/session.c
-index c135032..f1dfdcd 100644
---- a/libtransmission/session.c
-+++ b/libtransmission/session.c
-@@ -37,6 +37,7 @@
- #include "fdlimit.h"
- #include "list.h"
- #include "net.h"
-+#include "net-interfaces.h"
- #include "peer-io.h"
- #include "peer-mgr.h"
- #include "platform.h" /* tr_lock, tr_getTorrentDir(), tr_getFreeSpace() */
-@@ -55,6 +56,17 @@
- #include "version.h"
- #include "web.h"
-
-+#ifdef HAVE_LIBNETLINK
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/socket.h>
-+#include <libnetlink.h>
-+
-+#define RTNLGRP_MSGS \
-+ (RTNLGRP_IPV4_IFADDR|RTNLGRP_IPV4_ROUTE|RTNLGRP_IPV6_IFADDR|RTNLGRP_IPV6_ROUTE)
-+
-+#endif /* HAVE_LIBNETLINK */
-+
- enum
- {
- #ifdef TR_LIGHTWEIGHT
-@@ -64,7 +76,12 @@ enum
- DEFAULT_CACHE_SIZE_MB = 4,
- DEFAULT_PREFETCH_ENABLED = true,
- #endif
-- SAVE_INTERVAL_SECS = 360
-+ SAVE_INTERVAL_SECS = 360,
-+#ifdef HAVE_LIBNETLINK
-+ NET_IF_POLL_INTERVAL_SECS = 30,
-+#else
-+ NET_IF_POLL_INTERVAL_SECS = 3,
-+#endif /* HAVE_LIBNETLINK */
- };
-
-
-@@ -197,17 +214,19 @@ open_incoming_peer_port( tr_session * session )
-
- /* bind an ipv4 port to listen for incoming peers... */
- b = session->public_ipv4;
-- b->socket = tr_netBindTCP( &b->addr, session->private_peer_port, false );
-+ b->socket = tr_netBindTCP( session, &b->addr, session->private_peer_port, false );
- if( b->socket >= 0 ) {
-+ tr_netBindSocketInterface(session, b->socket);
- b->ev = event_new( session->event_base, b->socket, EV_READ | EV_PERSIST, accept_incoming_peer, session );
- event_add( b->ev, NULL );
- }
-
- /* and do the exact same thing for ipv6, if it's supported... */
-- if( tr_net_hasIPv6( session->private_peer_port ) ) {
-+ if( tr_net_hasIPv6( session, session->private_peer_port ) ) {
- b = session->public_ipv6;
-- b->socket = tr_netBindTCP( &b->addr, session->private_peer_port, false );
-+ b->socket = tr_netBindTCP( session, &b->addr, session->private_peer_port, false );
- if( b->socket >= 0 ) {
-+ tr_netBindSocketInterface(session, b->socket);
- b->ev = event_new( session->event_base, b->socket, EV_READ | EV_PERSIST, accept_incoming_peer, session );
- event_add( b->ev, NULL );
- }
-@@ -366,6 +385,7 @@ tr_sessionGetDefaultSettings( tr_benc * d )
- tr_bencDictAddInt ( d, TR_PREFS_KEY_UPLOAD_SLOTS_PER_TORRENT, 14 );
- tr_bencDictAddStr ( d, TR_PREFS_KEY_BIND_ADDRESS_IPV4, TR_DEFAULT_BIND_ADDRESS_IPV4 );
- tr_bencDictAddStr ( d, TR_PREFS_KEY_BIND_ADDRESS_IPV6, TR_DEFAULT_BIND_ADDRESS_IPV6 );
-+ tr_bencDictAddStr ( d, TR_PREFS_KEY_BIND_INTERFACE, "" );
- tr_bencDictAddBool( d, TR_PREFS_KEY_START, true );
- tr_bencDictAddBool( d, TR_PREFS_KEY_TRASH_ORIGINAL, false );
- }
-@@ -437,6 +457,7 @@ tr_sessionGetSettings( tr_session * s, struct tr_benc * d )
- tr_bencDictAddInt ( d, TR_PREFS_KEY_UPLOAD_SLOTS_PER_TORRENT, s->uploadSlotsPerTorrent );
- tr_bencDictAddStr ( d, TR_PREFS_KEY_BIND_ADDRESS_IPV4, tr_address_to_string( &s->public_ipv4->addr ) );
- tr_bencDictAddStr ( d, TR_PREFS_KEY_BIND_ADDRESS_IPV6, tr_address_to_string( &s->public_ipv6->addr ) );
-+ tr_bencDictAddStr ( d, TR_PREFS_KEY_BIND_INTERFACE, s->publicInterface );
- tr_bencDictAddBool( d, TR_PREFS_KEY_START, !tr_sessionGetPaused( s ) );
- tr_bencDictAddBool( d, TR_PREFS_KEY_TRASH_ORIGINAL, tr_sessionGetDeleteSource( s ) );
- }
-@@ -553,6 +574,7 @@ onSaveTimer( int foo UNUSED, short bar UNUSED, void * vsession )
- ***/
-
- static void tr_sessionInitImpl( void * );
-+static void peerPortChanged( void * session );
-
- struct init_data
- {
-@@ -660,6 +682,203 @@ onNowTimer( int foo UNUSED, short bar UNUSED, void * vsession )
- /* fprintf( stderr, "time %zu sec, %zu microsec\n", (size_t)tr_time(), (size_t)tv.tv_usec ); */
- }
-
-+static void tr_getNetworkInterfaces( tr_session * session )
-+{
-+ dbgmsg( "tr_getNetworkInterfaces: Refreshing the list of network interfaces...");
-+ tr_interfacesFree( session->networkInterfaces );
-+ session->networkInterfaces = tr_net_interfaces();
-+ dbgmsg( "tr_getNetworkInterfaces: Refreshed.");
-+}
-+
-+static tr_interface * tr_sessionGetInterfaceNamed(char * device, tr_session * session )
-+{
-+ return tr_FindInterfaceByName(session->networkInterfaces, device);
-+}
-+
-+/**
-+ * If public interface name is set, refresh the bind ip addresses
-+ * ie the session attributes public_ipv4 and public_ipv6
-+ * NOTE: here we don't remember a previous state of the
-+ * public_interface string. So clearing this setting may not register
-+ * until client restarts. We would have to add a hook funcion for GUI.
-+ * At the moment this is hidden setting only, so we dont bother.
-+ */
-+static void tr_refreshPublicIp( tr_session * session )
-+{
-+ tr_address old_public_ipv4_addr = session->public_ipv4->addr;
-+ tr_address old_public_ipv6_addr = session->public_ipv6->addr;
-+
-+ /* If user wants to bind to a specific device
-+ * (ppp0, my PPTP VPN for instance).
-+ */
-+ if( session->publicInterface && strlen(session->publicInterface) > 0 )
-+ {
-+ tr_address * addr_ipv4 = NULL;
-+ tr_address * addr_ipv6 = NULL;
-+
-+ tr_interface * foundInterface =
-+ tr_sessionGetInterfaceNamed(session->publicInterface, session);
-+
-+ if (foundInterface)
-+ {
-+ if (foundInterface->af4) /* != AF_UNSPEC */
-+ {
-+ tr_address ipv4null;
-+ tr_address_from_string(&ipv4null, TR_DEFAULT_BIND_ADDRESS_IPV4);
-+
-+ /* Check that we don't accidentally bind to all
-+ * interfaces (0.0.0.0).
-+ */
-+ if (0 != tr_address_compare(&ipv4null, &(foundInterface->ipv4)))
-+ {
-+ addr_ipv4 = &(foundInterface->ipv4);
-+ }
-+ }
-+ if (foundInterface->af6) /* != AF_UNSPEC */
-+ {
-+ tr_address ipv6null;
-+ tr_address_from_string(&ipv6null, TR_DEFAULT_BIND_ADDRESS_IPV6);
-+
-+ /* Check that we don't accidentally bind to all
-+ * interfaces (::).
-+ */
-+ if (0 != tr_address_compare(&ipv6null, &(foundInterface->ipv6)))
-+ {
-+ addr_ipv6 = &(foundInterface->ipv6);
-+ }
-+ }
-+ }
-+
-+ if (!addr_ipv4)
-+ {
-+ addr_ipv4 = unavailableBindAddress(TR_AF_INET);
-+ }
-+
-+ if (!addr_ipv6)
-+ {
-+ addr_ipv6 = unavailableBindAddress(TR_AF_INET6);
-+ }
-+
-+ /* if either v4 or v6 bind address has changed */
-+ if(tr_address_compare( addr_ipv4, &old_public_ipv4_addr ) ||
-+ tr_address_compare( addr_ipv6, &old_public_ipv6_addr ))
-+ {
-+ session->public_ipv4->addr = * addr_ipv4;
-+ session->public_ipv6->addr = * addr_ipv6;
-+
-+ /* restart future connections to bind on the new ip address */
-+ if( session->isLPDEnabled )
-+ tr_lpdUninit( session );
-+
-+ if( session->isDHTEnabled )
-+ {
-+ tr_dhtUninit( session );
-+ tr_dhtInit( session );
-+ }
-+ if( session->isLPDEnabled )
-+ tr_lpdInit( session, &session->public_ipv4->addr );
-+
-+ peerPortChanged( session );
-+ }
-+ }
-+}
-+
-+
-+static void networkIFRefresh(tr_session * session)
-+{
-+ assert( tr_isSession( session ) );
-+ tr_getNetworkInterfaces( session );
-+ tr_refreshPublicIp( session );
-+}
-+
-+
-+/**
-+ * Periodically reload the list of network interfaces
-+ */
-+static void onNetworkIFTimer( int foo UNUSED, short bar UNUSED, void * vsession )
-+{
-+ tr_session * session = vsession;
-+
-+ assert( tr_isSession( session ) );
-+ assert( session->networkInterfacesTimer != NULL );
-+
-+ dbgmsg(
-+ "onNetworkIFTimer: the timer has timed out. Next timeout in %d secs.",
-+ NET_IF_POLL_INTERVAL_SECS );
-+
-+ networkIFRefresh(session);
-+ tr_timerAdd( session->networkInterfacesTimer, NET_IF_POLL_INTERVAL_SECS, 0 );
-+}
-+
-+/**
-+ * libnetlink support
-+ */
-+
-+#ifdef HAVE_LIBNETLINK
-+
-+/*
-+ * Change this value to -1 to cause rtnl_listen to exit.
-+ * [As per code inspection of iproute2 2.6.37]
-+ */
-+static int g_listen = 0;
-+
-+/*
-+ * libnetlink will listen for kernel events and notify of the
-+ * types we have registered for.
-+ */
-+static int
-+netlinkMessageCallback(const struct sockaddr_nl *who UNUSED, struct nlmsghdr *n, void *vsession)
-+{
-+ switch(n->nlmsg_type)
-+ {
-+ case RTM_NEWLINK:
-+ case RTM_DELLINK:
-+ case RTM_GETLINK:
-+ case RTM_SETLINK:
-+ case RTM_NEWADDR:
-+ case RTM_DELADDR:
-+ case RTM_GETADDR:
-+ case RTM_NEWROUTE:
-+ case RTM_DELROUTE:
-+ case RTM_GETROUTE:
-+ case RTM_NEWRULE:
-+ case RTM_DELRULE:
-+ case RTM_GETRULE:
-+ networkIFRefresh((tr_session *)vsession);
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ return g_listen;
-+}
-+
-+/*
-+ * libnetlink rtnl_listen() blocks forever.
-+ * Run it on a separate thread.
-+ */
-+static void
-+netlinkListenThreadFunc( void * vsession )
-+{
-+ struct rtnl_handle rth;
-+ unsigned int groups = RTNLGRP_MSGS;
-+
-+ if (rtnl_open(&rth, groups) >= 0)
-+ {
-+ if (rtnl_listen(&rth, netlinkMessageCallback, vsession)<0)
-+ {
-+ fprintf(stderr, "rtnl_listen existed.\n");
-+ }
-+ }
-+ else
-+ {
-+ fprintf(stderr, "rtnl_open failed.");
-+ }
-+}
-+
-+#endif /* HAVE_LIBNETLINK */
-+
-+
- static void loadBlocklists( tr_session * session );
-
- static void
-@@ -710,6 +929,22 @@ tr_sessionInitImpl( void * vdata )
-
- assert( tr_isSession( session ) );
-
-+ tr_sessionSet( session, &settings );
-+
-+ /* ^^ here we set the public_ipv4 bindinfo and other settings
-+ * so we are safe to go after here
-+ */
-+ session->networkInterfacesTimer = evtimer_new( session->event_base, onNetworkIFTimer, session );
-+ onNetworkIFTimer( 0, 0, session );
-+
-+#ifdef HAVE_LIBNETLINK
-+ /* If we have LIBNETLINK support we can listen for the kernel events associated with
-+ * Links and Routes coming and going. We just simply refresh our network interface
-+ * knowledge when interesting events fire.
-+ */
-+ tr_threadNew( netlinkListenThreadFunc, session );
-+#endif /* HAVE_LIBNETLINK */
-+
- session->saveTimer = evtimer_new( session->event_base, onSaveTimer, session );
- tr_timerAdd( session->saveTimer, SAVE_INTERVAL_SECS, 0 );
-
-@@ -723,8 +958,6 @@ tr_sessionInitImpl( void * vdata )
-
- tr_webInit( session );
-
-- tr_sessionSet( session, &settings );
--
- tr_udpInit( session );
-
- if( session->isLPDEnabled )
-@@ -844,6 +1077,9 @@ sessionSetImpl( void * vdata )
- b.socket = -1;
- session->public_ipv6 = tr_memdup( &b, sizeof( struct tr_bindinfo ) );
-
-+ if( tr_bencDictFindStr( settings, TR_PREFS_KEY_BIND_INTERFACE, &str ) )
-+ tr_sessionSetPublicInterface( session, str );
-+
- /* incoming peer port */
- if( tr_bencDictFindInt ( settings, TR_PREFS_KEY_PEER_PORT_RANDOM_LOW, &i ) )
- session->randomPortLow = i;
-@@ -1077,7 +1313,14 @@ peerPortChanged( void * session )
- tr_sharedPortChanged( session );
-
- while(( tor = tr_torrentNext( session, tor )))
-- tr_torrentChangeMyPort( tor );
-+ {
-+ if (tor->isRunning)
-+ {
-+ tr_torrentStop( tor );
-+ tr_torrentStart( tor );
-+ tr_torrentChangeMyPort( tor );
-+ }
-+ }
- }
-
- static void
-@@ -1750,6 +1993,12 @@ sessionCloseImpl( void * vsession )
- event_free( session->nowTimer );
- session->nowTimer = NULL;
-
-+ evtimer_del( session->networkInterfacesTimer );
-+ tr_free( session->networkInterfacesTimer );
-+ session->networkInterfacesTimer = NULL;
-+
-+ tr_interfacesFree( session->networkInterfaces );
-+
- tr_verifyClose( session );
- tr_sharedClose( session );
- tr_rpcClose( &session->rpcServer );
-@@ -1795,11 +2044,19 @@ sessionCloseImpl( void * vsession )
- tr_statsClose( session );
- tr_peerMgrFree( session->peerMgr );
-
-+// BUG. Advertised IP changes to default IF somewhere after here ...
-+
-+ tr_webClose( session, TR_WEB_CLOSE_WHEN_IDLE );
-+
- closeBlocklists( session );
-
- tr_fdClose( session );
-
-+ tr_webClose( session, TR_WEB_CLOSE_NOW );
-+
- session->isClosed = true;
-+
-+ exit(0);
- }
-
- static int
-@@ -2594,6 +2851,23 @@ tr_sessionGetRPCBindAddress( const tr_session * session )
- *****
- ****/
-
-+void
-+tr_sessionSetPublicInterface( tr_session * session,
-+ const char * publicInterface )
-+{
-+ assert( tr_isSession( session ) );
-+
-+ if( publicInterface != session->publicInterface )
-+ {
-+ tr_free( session->publicInterface );
-+ session->publicInterface = tr_strdup( publicInterface );
-+ }
-+}
-+
-+/****
-+*****
-+****/
-+
- bool
- tr_sessionIsTorrentDoneScriptEnabled( const tr_session * session )
- {
-@@ -2679,6 +2953,7 @@ tr_sessionSetQueueStalledMinutes( tr_session * session, int minutes )
- assert( minutes > 0 );
-
- session->queueStalledMinutes = minutes;
-+
- }
-
- void
-diff --git a/libtransmission/session.h b/libtransmission/session.h
-index 022d16f..152ecc6 100644
---- a/libtransmission/session.h
-+++ b/libtransmission/session.h
-@@ -30,6 +30,7 @@
- #include "bandwidth.h"
- #include "bencode.h"
- #include "bitfield.h"
-+#include "net-interfaces.h"
- #include "utils.h"
-
- typedef enum { TR_NET_OK, TR_NET_ERROR, TR_NET_WAIT } tr_tristate_t;
-@@ -211,6 +212,9 @@ struct tr_session
-
- struct event * nowTimer;
- struct event * saveTimer;
-+ struct event * networkInterfacesTimer;
-+
-+ tr_interface ** networkInterfaces;
-
- /* monitors the "global pool" speeds */
- struct tr_bandwidth bandwidth;
-@@ -219,8 +223,10 @@ struct tr_session
-
- uint16_t idleLimitMinutes;
-
-+ /* these attribute store the public bind address details */
- struct tr_bindinfo * public_ipv4;
- struct tr_bindinfo * public_ipv6;
-+ char * publicInterface;
-
- uint8_t peer_id[PEER_ID_LEN+1];
- };
-@@ -261,6 +267,7 @@ const struct tr_address* tr_sessionGetPublicAddress( const tr_session * sessio
- int tr_af_type,
- bool * is_default_value );
-
-+void tr_sessionSetPublicInterface( tr_session * session, const char * publicInterface );
-
- struct tr_bindsockets * tr_sessionGetBindSockets( tr_session * );
-
-diff --git a/libtransmission/tr-dht.h b/libtransmission/tr-dht.h
-index 3c244ce..3c235ce 100644
---- a/libtransmission/tr-dht.h
-+++ b/libtransmission/tr-dht.h
-@@ -27,6 +27,9 @@
- #error only libtransmission should #include this header.
- #endif
-
-+#ifndef __TR_DHT_H_
-+#define __TR_DHT_H_
-+
- enum
- {
- TR_DHT_STOPPED = 0,
-@@ -47,3 +50,5 @@ void tr_dhtUpkeep( tr_session * );
- void tr_dhtCallback(unsigned char *buf, int buflen,
- struct sockaddr *from, socklen_t fromlen,
- void *sv);
-+
-+#endif /* __TR_DHT_H_ */
-diff --git a/libtransmission/tr-lpd.c b/libtransmission/tr-lpd.c
-index 361e4a4..f6ad1dc 100644
---- a/libtransmission/tr-lpd.c
-+++ b/libtransmission/tr-lpd.c
-@@ -295,6 +295,7 @@ int tr_lpdInit( tr_session* ss, tr_address* tr_addr UNUSED )
- &opt_on, sizeof opt_on ) < 0 )
- goto fail;
-
-+ tr_netBindSocketInterface(ss, lpd_socket);
- memset( &lpd_mcastAddr, 0, sizeof lpd_mcastAddr );
- lpd_mcastAddr.sin_family = AF_INET;
- lpd_mcastAddr.sin_port = htons( lpd_mcastPort );
-@@ -330,6 +331,8 @@ int tr_lpdInit( tr_session* ss, tr_address* tr_addr UNUSED )
- if( evutil_make_socket_nonblocking( lpd_socket2 ) < 0 )
- goto fail;
-
-+ tr_netBindSocketInterface(ss, lpd_socket2);
-+
- /* configure outbound multicast TTL */
- if( setsockopt( lpd_socket2, IPPROTO_IP, IP_MULTICAST_TTL,
- &scope, sizeof scope ) < 0 )
-diff --git a/libtransmission/tr-udp.c b/libtransmission/tr-udp.c
-index 99ee6be..9a61ff8 100644
---- a/libtransmission/tr-udp.c
-+++ b/libtransmission/tr-udp.c
-@@ -145,6 +145,8 @@ rebind_ipv6(tr_session *ss, bool force)
- setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, &one, sizeof(one));
- #endif
-
-+ tr_netBindSocketInterface(ss, s);
-+
- memset(&sin6, 0, sizeof(sin6));
- sin6.sin6_family = AF_INET6;
- if(ipv6)
-@@ -251,6 +253,8 @@ tr_udpInit(tr_session *ss)
- goto ipv6;
- }
-
-+ tr_netBindSocketInterface(ss, ss->udp_socket);
-+
- memset(&sin, 0, sizeof(sin));
- sin.sin_family = AF_INET;
- public_addr = tr_sessionGetPublicAddress(ss, TR_AF_INET, &is_default);
-diff --git a/libtransmission/tr-utp.c b/libtransmission/tr-utp.c
-index 2d78e67..b0b1fb4 100644
---- a/libtransmission/tr-utp.c
-+++ b/libtransmission/tr-utp.c
-@@ -45,6 +45,12 @@ THE SOFTWARE.
-
- #ifndef WITH_UTP
-
-+/* if no uTP we need a dummy definition for UTPSocket */
-+struct UTPSocket
-+{
-+ int sock;
-+};
-+
- void
- UTP_Close(struct UTPSocket * socket)
- {
-@@ -61,7 +67,7 @@ UTP_RBDrained(struct UTPSocket *socket)
- assert( 0 ); /* FIXME: this is too much for the long term, but probably needed in the short term */
- }
-
--bool
-+uint8_t
- UTP_Write(struct UTPSocket *socket, size_t count)
- {
- tr_nerr( MY_NAME, "UTP_RBDrained(%p, %zu) was called.", socket, count );
-diff --git a/libtransmission/transmission.h b/libtransmission/transmission.h
-index 5402ea4..507206e 100644
---- a/libtransmission/transmission.h
-+++ b/libtransmission/transmission.h
-@@ -165,6 +165,7 @@ const char* tr_getDefaultDownloadDir( void );
- #define TR_PREFS_KEY_ALT_SPEED_TIME_DAY "alt-speed-time-day"
- #define TR_PREFS_KEY_BIND_ADDRESS_IPV4 "bind-address-ipv4"
- #define TR_PREFS_KEY_BIND_ADDRESS_IPV6 "bind-address-ipv6"
-+#define TR_PREFS_KEY_BIND_INTERFACE "bind-interface"
- #define TR_PREFS_KEY_BLOCKLIST_ENABLED "blocklist-enabled"
- #define TR_PREFS_KEY_BLOCKLIST_URL "blocklist-url"
- #define TR_PREFS_KEY_MAX_CACHE_SIZE_MB "cache-size-mb"
-diff --git a/macosx/Controller.m b/macosx/Controller.m
-index 34aa462..b317e95 100644
---- a/macosx/Controller.m
-+++ b/macosx/Controller.m
-@@ -262,6 +262,8 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
- tr_bencDictAddStr(&settings, TR_PREFS_KEY_BIND_ADDRESS_IPV4, [[fDefaults stringForKey: @"BindAddressIPv4"] UTF8String]);
- if ([fDefaults objectForKey: @"BindAddressIPv6"])
- tr_bencDictAddStr(&settings, TR_PREFS_KEY_BIND_ADDRESS_IPV6, [[fDefaults stringForKey: @"BindAddressIPv6"] UTF8String]);
-+ if ([fDefaults objectForKey: @"BindInterface"])
-+ tr_bencDictAddStr(&settings, TR_PREFS_KEY_BIND_INTERFACE, [[fDefaults stringForKey: @"BindInterface"] UTF8String]);
-
- tr_bencDictAddBool(&settings, TR_PREFS_KEY_BLOCKLIST_ENABLED, [fDefaults boolForKey: @"BlocklistNew"]);
- if ([fDefaults objectForKey: @"BlocklistURL"])
-diff --git a/third-party/libutp/utp_config.h b/third-party/libutp/utp_config.h
-index 7ee870a..644c33d 100644
---- a/third-party/libutp/utp_config.h
-+++ b/third-party/libutp/utp_config.h
-@@ -5,8 +5,8 @@
- // This should return the global number of bytes sent, used for determining dynamic
- // packet size based on rate
-
--#warning implement this in libtransmission
--uint64 UTP_GetGlobalUTPBytesSent(const struct sockaddr *remote, socklen_t remotelen) { return 0; }
-+// #warning implement this in libtransmission
-+uint64 UTP_GetGlobalUTPBytesSent(const struct sockaddr *remote, socklen_t remotelen);
-
- enum bandwidth_type_t {
- payload_bandwidth, connect_overhead,
diff --git a/net-p2p/transmission/files/transmission-2.73-build-failure.patch b/net-p2p/transmission/files/transmission-2.73-build-failure.patch
deleted file mode 100644
index d633f2b..0000000
--- a/net-p2p/transmission/files/transmission-2.73-build-failure.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-fix bind-to-interface build failure
-
-From: eroen <eroen@occam.eroen.eu>
-
-bind-to-interface patch introduces a build failure in the transmission-qt.
-The qt project file does not link against netlink.
----
- qt/qtr.pro | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/qt/qtr.pro b/qt/qtr.pro
-index 419968c..0de496d 100644
---- a/qt/qtr.pro
-+++ b/qt/qtr.pro
-@@ -26,7 +26,7 @@ LIBS += $${LIBUTP_LIBS}
- LIBS += $${TRANSMISSION_TOP}/third-party/dht/libdht.a
- LIBS += $${LIBUPNP_LIBS}
- LIBS += $${LIBNATPMP_LIBS}
--unix: LIBS += -L$${EVENT_TOP}/lib -lz -lrt
-+unix: LIBS += -L$${EVENT_TOP}/lib -lz -lrt -lnetlink
- win32:DEFINES += QT_DBUS
- win32:LIBS += -levent-2.0 -lws2_32 -lintl
- win32:LIBS += -lidn -liconv -lwldap32 -liphlpapi
diff --git a/net-p2p/transmission/files/transmission-2.76-bind-to-interface.patch b/net-p2p/transmission/files/transmission-2.76-bind-to-interface.patch
deleted file mode 100644
index 543d208..0000000
--- a/net-p2p/transmission/files/transmission-2.76-bind-to-interface.patch
+++ /dev/null
@@ -1,2207 +0,0 @@
-bind to interface
-
-From: eroen <eroen@occam.eroen.eu>
-
-by: ThornsArcana
-source: https://trac.transmissionbt.com/ticket/2313
-
-ported from bind-to-interface-r12779-trunk.patch by eroen
----
- Transmission.xcodeproj/project.pbxproj | 9 +
- configure.ac | 69 ++++++++
- gtk/tr-prefs.c | 10 +
- libtransmission/Makefile.am | 9 +
- libtransmission/fdlimit.c | 241 +++++++++++++++++++++++++--
- libtransmission/fdlimit.h | 5 +
- libtransmission/net-interfaces-test.c | 101 +++++++++++
- libtransmission/net-interfaces.c | 183 ++++++++++++++++++++
- libtransmission/net-interfaces.h | 49 +++++
- libtransmission/net.c | 175 ++++++++++++++++++-
- libtransmission/net.h | 16 ++
- libtransmission/peer-io.c | 25 +++
- libtransmission/peer-mgr.c | 2
- libtransmission/resolver.c | 157 +++++++++++++++++
- libtransmission/resolver.h | 71 ++++++++
- libtransmission/resume.c | 4
- libtransmission/session.c | 289 +++++++++++++++++++++++++++++++-
- libtransmission/session.h | 7 +
- libtransmission/tr-dht.h | 5 +
- libtransmission/tr-lpd.c | 4
- libtransmission/tr-udp.c | 4
- libtransmission/tr-utp.c | 8 +
- libtransmission/transmission.h | 1
- macosx/Controller.m | 2
- third-party/libutp/utp_config.h | 4
- 25 files changed, 1409 insertions(+), 41 deletions(-)
- create mode 100644 libtransmission/net-interfaces-test.c
- create mode 100644 libtransmission/net-interfaces.c
- create mode 100644 libtransmission/net-interfaces.h
- create mode 100644 libtransmission/resolver.c
- create mode 100644 libtransmission/resolver.h
-
-diff --git a/Transmission.xcodeproj/project.pbxproj b/Transmission.xcodeproj/project.pbxproj
-index c9a4f16..a075d3e 100644
---- a/Transmission.xcodeproj/project.pbxproj
-+++ b/Transmission.xcodeproj/project.pbxproj
-@@ -59,6 +59,8 @@
- 4DF7500D08A103AD007B0D70 /* ToolbarInfoTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 4DF7500808A103AD007B0D70 /* ToolbarInfoTemplate.png */; };
- 4DF7500E08A103AD007B0D70 /* ToolbarRemoveTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 4DF7500908A103AD007B0D70 /* ToolbarRemoveTemplate.png */; };
- 4DFBC2DF09C0970D00D5C571 /* Torrent.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DFBC2DE09C0970D00D5C571 /* Torrent.m */; };
-+ 68FE979E11C77CE800FE4F58 /* net-interfaces.h in Headers */ = {isa = PBXBuildFile; fileRef = 68FE979D11C77CE800FE4F58 /* net-interfaces.h */; };
-+ 68FE97A011C77D1200FE4F58 /* net-interfaces.c in Sources */ = {isa = PBXBuildFile; fileRef = 68FE979F11C77D1200FE4F58 /* net-interfaces.c */; };
- 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
- 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
- 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
-@@ -628,6 +630,8 @@
- 4DF7500908A103AD007B0D70 /* ToolbarRemoveTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ToolbarRemoveTemplate.png; path = macosx/Images/ToolbarRemoveTemplate.png; sourceTree = "<group>"; };
- 4DFBC2DD09C0970D00D5C571 /* Torrent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Torrent.h; path = macosx/Torrent.h; sourceTree = "<group>"; };
- 4DFBC2DE09C0970D00D5C571 /* Torrent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Torrent.m; path = macosx/Torrent.m; sourceTree = "<group>"; };
-+ 68FE979D11C77CE800FE4F58 /* net-interfaces.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "net-interfaces.h"; path = "libtransmission/net-interfaces.h"; sourceTree = "<group>"; };
-+ 68FE979F11C77D1200FE4F58 /* net-interfaces.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "net-interfaces.c"; path = "libtransmission/net-interfaces.c"; sourceTree = "<group>"; };
- 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; name = Info.plist; path = macosx/Info.plist; sourceTree = "<group>"; };
- 8D1107320486CEB800E47090 /* Transmission.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Transmission.app; sourceTree = BUILT_PRODUCTS_DIR; };
- A200B8390A2263BA007BBB1E /* InfoWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InfoWindowController.h; path = macosx/InfoWindowController.h; sourceTree = "<group>"; };
-@@ -1723,6 +1727,8 @@
- A2A4EA0B0DE106E8000CE197 /* ConvertUTF.h */,
- A2A4EA0A0DE106E8000CE197 /* ConvertUTF.c */,
- 4DB74F070E8CD75100AEB1A8 /* wildmat.c */,
-+ 68FE979D11C77CE800FE4F58 /* net-interfaces.h */,
-+ 68FE979F11C77D1200FE4F58 /* net-interfaces.c */,
- );
- name = libtransmission;
- sourceTree = "<group>";
-@@ -3169,6 +3175,7 @@
- "-DSYS_DARWIN",
- "-DWITH_UTP",
- "-DHAVE_OPENSSL",
-+ "-DHAVE_SYSCTLBYNAME",
- "-D__TRANSMISSION__",
- "-DHAVE_STRLCPY",
- "-DHAVE_STRLCAT",
-@@ -3317,6 +3324,7 @@
- "-DSYS_DARWIN",
- "-DWITH_UTP",
- "-DHAVE_OPENSSL",
-+ "-DHAVE_SYSCTLBYNAME",
- "-D__TRANSMISSION__",
- "-DHAVE_STRLCPY",
- "-DHAVE_STRLCAT",
-@@ -3498,6 +3506,7 @@
- "-DSYS_DARWIN",
- "-DWITH_UTP",
- "-DHAVE_OPENSSL",
-+ "-DHAVE_SYSCTLBYNAME",
- "-D__TRANSMISSION__",
- "-DHAVE_STRLCPY",
- "-DHAVE_STRLCAT",
-diff --git a/configure.ac b/configure.ac
-index ed72070..719a1a7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -177,6 +177,75 @@ AC_CHECK_HEADERS([sys/statvfs.h \
-
- dnl ----------------------------------------------------------------------------
- dnl
-+dnl SO_BINDTODEVICE support
-+
-+AC_CACHE_CHECK([whether setsockopt accepts SO_BINDTODEVICE],
-+ [ac_cv_c_so_bindtodevice],
-+ [CXXFLAGS="${save_CXXFLAGS} -Wall -Werror"
-+ AC_TRY_COMPILE([#include <sys/types.h>
-+ #include <sys/socket.h>],
-+ [return SO_BINDTODEVICE;],
-+ ac_cv_c_so_bindtodevice=yes, ac_cv_c_so_bindtodevice=no)])
-+if test x"$ac_cv_c_so_bindtodevice" != x"no"; then
-+ AC_DEFINE(HAVE_SO_BINDTODEVICE, 1, Define if setsockopt accepts SO_BINDTODEVICE.)
-+fi
-+
-+dnl ----------------------------------------------------------------------------
-+dnl
-+dnl SO_BINDTODEVICE enable/disable.
-+
-+AC_ARG_ENABLE([bindtodevice],
-+ AS_HELP_STRING([--enable-bindtodevice],[Enable bind to device support]),
-+ [want_bindtodevice=${enableval}],
-+ [want_bindtodevice=${ac_cv_c_so_bindtodevice}])
-+
-+if test x"$want_bindtodevice" = x"yes" ; then
-+ if test x"$ac_cv_c_so_bindtodevice" != x"no"; then
-+ AC_DEFINE(USE_SO_BINDTODEVICE, 1, Define as 1 if bind to device feature is enabled.)
-+ else
-+ AC_DEFINE(USE_SO_BINDTODEVICE, 0, Define as 0 if bind to device feature is disabled.)
-+ fi
-+fi
-+
-+dnl ----------------------------------------------------------------------------
-+dnl
-+dnl getifaddrs
-+
-+AC_CACHE_CHECK([whether getifaddrs() exists],
-+ [ac_cv_c_getifaddrs],
-+ [CXXFLAGS="${save_CXXFLAGS} -Wall -Werror"
-+ AC_TRY_COMPILE([#include <sys/types.h>
-+ #include <sys/socket.h>
-+ #include <ifaddrs.h>],
-+ [{struct ifaddrs * pIfa;
-+ return getifaddrs(&pIfa);}],
-+ ac_cv_c_getifaddrs=yes, ac_cv_c_getifaddrs=no)])
-+if test x"$ac_cv_c_getifaddrs" != x"no"; then
-+ AC_DEFINE(HAVE_GETIFADDRS, 1, Define if getifaddrs is available..)
-+fi
-+
-+dnl ----------------------------------------------------------------------------
-+dnl
-+dnl libnetlink
-+
-+AC_CACHE_CHECK([whether libnetlink is available (iproute-dev)],
-+ [ac_cv_c_libnetlink],
-+ [CXXFLAGS="${save_CXXFLAGS} -Wall -Werror"
-+ AC_TRY_COMPILE([#include <sys/types.h>
-+ #include <sys/socket.h>
-+ #include <stdio.h>
-+ #include <libnetlink.h>],
-+ [{struct rtnl_handle rth;
-+ return rtnl_open(&rth, RTNLGRP_IPV4_ROUTE);}],
-+ ac_cv_c_libnetlink=yes, ac_cv_c_libnetlink=no)])
-+if test x"$ac_cv_c_libnetlink" != x"no"; then
-+ AC_DEFINE(HAVE_LIBNETLINK, 1, Define if libnetlink is available..)
-+ dnl THIS IS A HACK:
-+ LIBS="$LIBS -lnetlink"
-+fi
-+
-+dnl ----------------------------------------------------------------------------
-+dnl
- dnl dht
-
- DHT_CFLAGS="-I\$(top_srcdir)/third-party/dht"
-diff --git a/gtk/tr-prefs.c b/gtk/tr-prefs.c
-index 2e91872..0698c7b 100644
---- a/gtk/tr-prefs.c
-+++ b/gtk/tr-prefs.c
-@@ -19,6 +19,9 @@
- #include <libtransmission/transmission.h>
- #include <libtransmission/utils.h>
- #include <libtransmission/version.h>
-+#include <sys/time.h> /* getrlimit */
-+#include <sys/resource.h> /* getrlimit */
-+
- #include "conf.h"
- #include "hig.h"
- #include "tr-core.h"
-@@ -1195,6 +1198,9 @@ networkPage (GObject * core)
- const char * s;
- struct network_page_data * data;
- guint row = 0;
-+ struct rlimit limit;
-+
-+ getrlimit( RLIMIT_NOFILE, &limit );
-
- /* register to stop listening to core prefs changes when the page is destroyed */
- data = g_new0 (struct network_page_data, 1);
-@@ -1230,9 +1236,9 @@ networkPage (GObject * core)
- hig_workarea_add_section_divider (t, &row);
- hig_workarea_add_section_title (t, &row, _("Peer Limits"));
-
-- w = new_spin_button (TR_PREFS_KEY_PEER_LIMIT_TORRENT, core, 1, FD_SETSIZE, 5);
-+ w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_TORRENT, core, 1, limit.rlim_max, 5 );
- hig_workarea_add_row (t, &row, _("Maximum peers per _torrent:"), w, NULL);
-- w = new_spin_button (TR_PREFS_KEY_PEER_LIMIT_GLOBAL, core, 1, FD_SETSIZE, 5);
-+ w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_GLOBAL, core, 1, limit.rlim_max, 5 );
- hig_workarea_add_row (t, &row, _("Maximum peers _overall:"), w, NULL);
-
- hig_workarea_add_section_divider (t, &row);
-diff --git a/libtransmission/Makefile.am b/libtransmission/Makefile.am
-index 8278ed6..c5778dc 100644
---- a/libtransmission/Makefile.am
-+++ b/libtransmission/Makefile.am
-@@ -40,12 +40,14 @@ libtransmission_a_SOURCES = \
- metainfo.c \
- natpmp.c \
- net.c \
-+ net-interfaces.c \
- peer-io.c \
- peer-mgr.c \
- peer-msgs.c \
- platform.c \
- port-forwarding.c \
- ptrarray.c \
-+ resolver.c \
- resume.c \
- rpcimpl.c \
- rpc-server.c \
-@@ -93,6 +95,7 @@ noinst_HEADERS = \
- metainfo.h \
- natpmp_local.h \
- net.h \
-+ net-interfaces.h \
- peer-common.h \
- peer-io.h \
- peer-mgr.h \
-@@ -100,6 +103,7 @@ noinst_HEADERS = \
- platform.h \
- port-forwarding.h \
- ptrarray.h \
-+ resolver.h \
- resume.h \
- rpcimpl.h \
- rpc-server.h \
-@@ -130,6 +134,7 @@ TESTS = \
- json-test \
- magnet-test \
- metainfo-test \
-+ net-interfaces-test \
- peer-msgs-test \
- rpc-test \
- test-peer-id \
-@@ -189,6 +194,10 @@ peer_msgs_test_SOURCES = peer-msgs-test.c
- peer_msgs_test_LDADD = ${apps_ldadd}
- peer_msgs_test_LDFLAGS = ${apps_ldflags}
-
-+net_interfaces_test_SOURCES = net-interfaces-test.c
-+net_interfaces_test_LDADD = ${apps_ldadd}
-+net_interfaces_test_LDFLAGS = ${apps_ldflags}
-+
- rpc_test_SOURCES = rpc-test.c
- rpc_test_LDADD = ${apps_ldadd}
- rpc_test_LDFLAGS = ${apps_ldflags}
-diff --git a/libtransmission/fdlimit.c b/libtransmission/fdlimit.c
-index 2322dd7..2031f9a 100644
---- a/libtransmission/fdlimit.c
-+++ b/libtransmission/fdlimit.c
-@@ -40,6 +40,8 @@
- #include <sys/resource.h> /* getrlimit */
- #include <fcntl.h> /* O_LARGEFILE posix_fadvise */
- #include <unistd.h> /* lseek (), write (), ftruncate (), pread (), pwrite (), etc */
-+#include <stdlib.h>
-+#include <stdio.h>
-
- #include "transmission.h"
- #include "fdlimit.h"
-@@ -71,6 +73,204 @@
- #define O_SEQUENTIAL 0
- #endif
-
-+struct tr_fileset
-+{
-+ struct tr_cached_file * begin;
-+ const struct tr_cached_file * end;
-+};
-+
-+struct tr_fdInfo
-+{
-+ int peerCount;
-+ struct tr_fileset fileset;
-+};
-+
-+/* track activity on open file handles */
-+typedef struct OpenHandleTracker_t
-+{
-+ int fd;
-+ uint64_t inBytes;
-+ uint64_t outBytes;
-+ clock_t lastActivity;
-+} TOpenHandleTracker;
-+
-+static TOpenHandleTracker * g_OpenTracker = NULL;
-+size_t g_OpenTrackerSize = 0;
-+
-+bool tr_fdtrack_add(tr_session * session, int fd)
-+{
-+ bool added = false;
-+ size_t index;
-+
-+ if (NULL == g_OpenTracker)
-+ {
-+ size_t bytes;
-+ g_OpenTrackerSize = session->peerLimit;
-+
-+ bytes = g_OpenTrackerSize * sizeof(TOpenHandleTracker);
-+
-+ g_OpenTracker = malloc(bytes);
-+ memset(g_OpenTracker, 0, bytes);
-+ for(index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ g_OpenTracker[index].fd = -1;
-+ }
-+ }
-+
-+ if (g_OpenTracker)
-+ {
-+ if (g_OpenTrackerSize < session->peerLimit)
-+ {
-+ size_t bytes = session->peerLimit * sizeof(TOpenHandleTracker);
-+ TOpenHandleTracker * tmp = realloc(g_OpenTracker, bytes);
-+ if (tmp)
-+ {
-+ /* realloc successful */
-+ for (index = g_OpenTrackerSize; index < session->peerLimit; index++)
-+ {
-+ tmp[index].fd = -1;
-+ tmp[index].lastActivity = 0;
-+ tmp[index].inBytes = 0;
-+ tmp[index].outBytes = 0;
-+ }
-+ g_OpenTracker = tmp;
-+ g_OpenTrackerSize = session->peerLimit;
-+ }
-+ }
-+ }
-+
-+ if (g_OpenTracker)
-+ {
-+ for(index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (-1 == g_OpenTracker[index].fd)
-+ {
-+ g_OpenTracker[index].fd = fd;
-+ g_OpenTracker[index].lastActivity = clock();
-+ g_OpenTracker[index].inBytes = 0;
-+ g_OpenTracker[index].outBytes = 0;
-+ added = true;
-+ break;
-+ }
-+ }
-+ }
-+ return added;
-+}
-+
-+bool tr_fdtrack_input(int fd, uint64_t inCount)
-+{
-+ bool found = false;
-+ size_t index;
-+
-+ for (index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (fd == g_OpenTracker[index].fd)
-+ {
-+ g_OpenTracker[index].fd = fd;
-+ g_OpenTracker[index].lastActivity = clock();
-+ g_OpenTracker[index].inBytes += inCount;
-+ found = true;
-+ break;
-+ }
-+ }
-+ return found;
-+}
-+
-+bool tr_fdtrack_output(int fd, uint64_t outCount)
-+{
-+ bool found = false;
-+ size_t index;
-+
-+ for (index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (fd == g_OpenTracker[index].fd)
-+ {
-+ g_OpenTracker[index].fd = fd;
-+ g_OpenTracker[index].lastActivity = clock();
-+ g_OpenTracker[index].outBytes += outCount;
-+ found = true;
-+ break;
-+ }
-+ }
-+ return found;
-+}
-+
-+bool tr_fdtrack_close(int fd)
-+{
-+ bool found = false;
-+ size_t index;
-+
-+ for (index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (fd == g_OpenTracker[index].fd)
-+ {
-+ g_OpenTracker[index].fd = -1;
-+ g_OpenTracker[index].lastActivity = 0;
-+ g_OpenTracker[index].inBytes = 0;
-+ g_OpenTracker[index].outBytes = 0;
-+ found = true;
-+ break;
-+ }
-+ }
-+ return found;
-+}
-+
-+int tr_fdtrack_cleanup(tr_session * session, int secs)
-+{
-+ bool cleanup = 0;
-+ clock_t inClock = CLOCKS_PER_SEC * secs;
-+ clock_t now = clock();
-+
-+ if (now > inClock)
-+ {
-+ clock_t noActivitySince = now - inClock;
-+ size_t index;
-+ struct tr_fdInfo * gFd = session->fdInfo;
-+ size_t idxOldest = g_OpenTrackerSize;
-+ clock_t clkOldest = now;
-+
-+ for (index = 0; index < g_OpenTrackerSize; index++)
-+ {
-+ if (-1 != g_OpenTracker[index].fd)
-+ {
-+ if (g_OpenTracker[index].lastActivity < clkOldest)
-+ {
-+ clkOldest = g_OpenTracker[index].lastActivity;
-+ idxOldest = index;
-+ }
-+
-+ if (g_OpenTracker[index].lastActivity <= noActivitySince)
-+ {
-+ close(g_OpenTracker[index].fd);
-+ fprintf(stderr, "%d\tclose\tcleanup\n", g_OpenTracker[index].fd );
-+
-+ g_OpenTracker[index].fd = -1;
-+ g_OpenTracker[index].lastActivity = 0;
-+ g_OpenTracker[index].inBytes = 0;
-+ g_OpenTracker[index].outBytes = 0;
-+ cleanup++;
-+ gFd->peerCount--;
-+ }
-+ }
-+ }
-+
-+ if ( 0 == cleanup && idxOldest < g_OpenTrackerSize )
-+ {
-+ index = idxOldest;
-+ close(g_OpenTracker[index].fd);
-+ fprintf(stderr, "%d\tclose\tcleanup\n", g_OpenTracker[index].fd );
-+
-+ g_OpenTracker[index].fd = -1;
-+ g_OpenTracker[index].lastActivity = 0;
-+ g_OpenTracker[index].inBytes = 0;
-+ g_OpenTracker[index].outBytes = 0;
-+ cleanup++;
-+ gFd->peerCount--;
-+ }
-+ }
-+ return cleanup;
-+}
-+
-
- static bool
- preallocate_file_sparse (int fd, uint64_t length)
-@@ -413,12 +613,6 @@ cached_file_open (struct tr_cached_file * o,
- ****
- ***/
-
--struct tr_fileset
--{
-- struct tr_cached_file * begin;
-- const struct tr_cached_file * end;
--};
--
- static void
- fileset_construct (struct tr_fileset * set, int n)
- {
-@@ -506,12 +700,6 @@ fileset_get_empty_slot (struct tr_fileset * set)
- ****
- ***/
-
--struct tr_fdInfo
--{
-- int peerCount;
-- struct tr_fileset fileset;
--};
--
- static void
- ensureSessionFdInfoExists (tr_session * session)
- {
-@@ -531,6 +719,7 @@ ensureSessionFdInfoExists (tr_session * session)
- /* set the open-file limit to the largest safe size wrt FD_SETSIZE */
- if (!getrlimit (RLIMIT_NOFILE, &limit))
- {
-+#if 0
- const int old_limit = (int) limit.rlim_cur;
- const int new_limit = MIN (limit.rlim_max, FD_SETSIZE);
- if (new_limit != old_limit)
-@@ -540,6 +729,9 @@ ensureSessionFdInfoExists (tr_session * session)
- getrlimit (RLIMIT_NOFILE, &limit);
- tr_inf ("Changed open file limit from %d to %d", old_limit, (int)limit.rlim_cur);
- }
-+#else
-+ limit.rlim_cur = limit.rlim_max;
-+#endif
- }
- }
- }
-@@ -676,10 +868,28 @@ tr_fdSocketCreate (tr_session * session, int domain, int type)
- ensureSessionFdInfoExists (session);
- gFd = session->fdInfo;
-
-- if (gFd->peerCount < session->peerLimit)
-+ if(session->peerLimit < 100)
-+ {
-+ fprintf(stderr, "Peer Limit minimum of ~250. Est overhead is 100 file handles\n");
-+ }
-+
-+ assert(session->peerLimit >= 100);
-+
-+ if (gFd->peerCount >= (session->peerLimit - 100))
-+ {
-+ fprintf(stderr, "peerCount %d < peerLimit %d - 100\n", gFd->peerCount, session->peerLimit );
-+ /* cleanup connects that have been idle for 2 minutes or more */
-+ tr_fdtrack_cleanup(session, 120);
-+ }
-+
-+ if( gFd->peerCount < (session->peerLimit - 100) )
-+ {
- if ((s = socket (domain, type, 0)) < 0)
-+ {
- if (sockerrno != EAFNOSUPPORT)
- tr_err (_("Couldn't create socket: %s"), tr_strerror (sockerrno));
-+ }
-+ }
-
- if (s > -1)
- ++gFd->peerCount;
-@@ -699,6 +909,8 @@ tr_fdSocketCreate (tr_session * session, int domain, int type)
- getsockopt (s, SOL_SOCKET, SO_RCVBUF, &i, &size);
- tr_dbg ("SO_RCVBUF size is %d", i);
- }
-+ tr_netBindSocketInterface(session, s);
-+ tr_fdtrack_add(session, s);
- }
-
- return s;
-@@ -724,10 +936,11 @@ tr_fdSocketAccept (tr_session * s, int sockfd, tr_address * addr, tr_port * port
-
- if (fd >= 0)
- {
-- if ((gFd->peerCount < s->peerLimit)
-+ if ((gFd->peerCount < (s->peerLimit - 100))
- && tr_address_from_sockaddr_storage (addr, port, &sock))
- {
- ++gFd->peerCount;
-+ tr_fdtrack_add(s, fd);
- }
- else
- {
-diff --git a/libtransmission/fdlimit.h b/libtransmission/fdlimit.h
-index 97f0ce1..6f7332c 100644
---- a/libtransmission/fdlimit.h
-+++ b/libtransmission/fdlimit.h
-@@ -40,6 +40,11 @@ ssize_t tr_pread (int fd, void *buf, size_t count, off_t offset);
- ssize_t tr_pwrite (int fd, const void *buf, size_t count, off_t offset);
- int tr_prefetch (int fd, off_t offset, size_t count);
-
-+bool tr_fdtrack_add(tr_session * session, int fd);
-+bool tr_fdtrack_input(int fd, uint64_t inCount);
-+bool tr_fdtrack_output(int fd, uint64_t outCount);
-+bool tr_fdtrack_close(int fd);
-+int tr_fdtrack_cleanup(tr_session * session, int secs);
-
- /**
- * Returns an fd to the specified filename.
-diff --git a/libtransmission/net-interfaces-test.c b/libtransmission/net-interfaces-test.c
-new file mode 100644
-index 0000000..e719e23
---- /dev/null
-+++ b/libtransmission/net-interfaces-test.c
-@@ -0,0 +1,101 @@
-+#include <stdio.h>
-+#include <string.h>
-+
-+#include "net-interfaces.h"
-+#include "utils.h"
-+
-+#define VERBOSE 1
-+// #undef VERBOSE
-+
-+#ifdef VERBOSE
-+ #define check( A ) \
-+ { \
-+ ++test; \
-+ if( A ){ \
-+ fprintf( stderr, "PASS test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
-+ } else { \
-+ fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
-+ return test; \
-+ } \
-+ }
-+#else
-+ #define check( A ) \
-+ { \
-+ ++test; \
-+ if( !( A ) ){ \
-+ fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
-+ return test; \
-+ } \
-+ }
-+#endif
-+
-+#define info( ... ) \
-+ do { \
-+ tr_msg( __FILE__, __LINE__, TR_MSG_INF, NULL, __VA_ARGS__ ); \
-+ } while( 0 )
-+
-+
-+static void tr_list_interfaces( tr_interface ** interfaces );
-+static void tr_list_interface( tr_interface * interface );
-+
-+static void tr_list_interface( tr_interface * interface )
-+{
-+ char buf[INET6_ADDRSTRLEN];
-+
-+ info("%s:",interface->name);
-+ info(" name = %s",interface->name);
-+
-+ if (interface->af4)
-+ {
-+ tr_address_to_string_with_buf(&interface->ipv4, buf, sizeof(buf));
-+ info(" ipv4 = %s", buf);
-+ }
-+ if (interface->af6)
-+ {
-+ tr_address_to_string_with_buf(&interface->ipv6, buf, sizeof(buf));
-+ info(" ipv6 = %s", buf);
-+ }
-+ info(" ");
-+}
-+
-+static void tr_list_interfaces( tr_interface ** interfaces )
-+{
-+ if (interfaces)
-+ {
-+ int index;
-+ for( index = 0; interfaces[index]; index++ )
-+ {
-+ tr_interface * interface = interfaces[index];
-+ tr_list_interface( interface );
-+ }
-+ }
-+ return;
-+}
-+
-+static int
-+test1( void )
-+{
-+ tr_interface ** interfaces;
-+
-+ info("Network interfaces test...");
-+ info(" ");
-+ interfaces = tr_net_interfaces();
-+ tr_list_interfaces(interfaces);
-+ tr_interfacesFree(interfaces);
-+ info("Done.");
-+ return 0;
-+}
-+
-+int
-+main( void )
-+{
-+ int i;
-+
-+ if( ( i = test1( ) ) )
-+ return i;
-+
-+#ifdef VERBOSE
-+ fprintf( stderr, "net-interfaces-test passed\n" );
-+#endif
-+ return 0;
-+}
-diff --git a/libtransmission/net-interfaces.c b/libtransmission/net-interfaces.c
-new file mode 100644
-index 0000000..82ccb56
---- /dev/null
-+++ b/libtransmission/net-interfaces.c
-@@ -0,0 +1,183 @@
-+/******************************************************************************
-+ *
-+ * $Id$
-+ *
-+ * Copyright (c) 2005-2011 Transmission authors and contributors
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *****************************************************************************/
-+
-+#include "net-interfaces.h"
-+#include "utils.h"
-+#include "list.h"
-+
-+#include <stdlib.h>
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+#include <net/if.h>
-+#include <strings.h>
-+
-+#if defined(HAVE_GETIFADDRS)
-+ #include <ifaddrs.h>
-+#endif
-+
-+#include <errno.h>
-+
-+#if defined(HAVE_GETIFADDRS)
-+ static tr_interface ** tr_net_getinterfaces(void);
-+#else
-+ static tr_interface ** tr_net_dummy_interfaces(void);
-+#endif
-+
-+tr_interface * tr_FindInterfaceByName(tr_interface **interfaces, char * device)
-+{
-+ tr_interface * found = NULL;
-+ if (interfaces)
-+ {
-+ int entry;
-+ for(entry = 0; interfaces[entry]; entry++)
-+ {
-+ tr_interface * test = interfaces[entry];
-+ if( 0 == strcasecmp( test->name, device ) )
-+ {
-+ found = test;
-+ break;
-+ }
-+ }
-+ }
-+ return found;
-+}
-+
-+void tr_interfacesFree( tr_interface ** interfaces )
-+{
-+ if (interfaces)
-+ {
-+ int entry;
-+ for(entry = 0; interfaces[entry]; entry++)
-+ {
-+ tr_free(interfaces[entry]);
-+ }
-+ }
-+ tr_free(interfaces);
-+}
-+
-+tr_interface ** tr_net_interfaces()
-+{
-+#if defined(HAVE_GETIFADDRS)
-+ return tr_net_getinterfaces();
-+#else
-+ return tr_net_dummy_interfaces();
-+#endif
-+}
-+
-+#if defined(HAVE_GETIFADDRS)
-+static void tr_MergeOrAppendToInterfaces(tr_interface **interfaces, struct ifaddrs * ifa);
-+
-+static void tr_MergeOrAppendToInterfaces(tr_interface **interfaces, struct ifaddrs * ifa)
-+{
-+ if (interfaces)
-+ {
-+ tr_interface * merge = tr_FindInterfaceByName(interfaces, ifa->ifa_name);
-+
-+ if (merge == NULL)
-+ {
-+ int entry;
-+ for(entry = 0; interfaces[entry]; entry++)
-+ {
-+ }
-+ interfaces[entry] = tr_new0(tr_interface, 1);
-+ merge = interfaces[entry];
-+ // Name.
-+ tr_strlcpy(merge->name, ifa->ifa_name, sizeof(merge->name));
-+ }
-+
-+ if (merge)
-+ {
-+ if (ifa->ifa_addr->sa_family == AF_INET)
-+ {
-+ struct sockaddr_in * s4 = (struct sockaddr_in *)(ifa->ifa_addr);
-+
-+ merge->af4 = ifa->ifa_addr->sa_family;
-+ merge->ipv4.type = TR_AF_INET;
-+ merge->ipv4.addr.addr4 = s4->sin_addr;
-+ }
-+ else if (ifa->ifa_addr->sa_family == AF_INET6)
-+ {
-+ struct sockaddr_in6 * s6 = (struct sockaddr_in6 *)(ifa->ifa_addr);
-+
-+ merge->af6 = ifa->ifa_addr->sa_family;
-+ merge->ipv6.type = TR_AF_INET6;
-+ merge->ipv6.addr.addr6 = s6->sin6_addr;
-+ }
-+ }
-+ }
-+}
-+
-+static tr_interface ** tr_net_getinterfaces(void)
-+{
-+ tr_interface ** interfaces = NULL;
-+ int ifcount = 0;
-+
-+ struct ifaddrs *myaddrs, *ifa;
-+ int status;
-+
-+ status = getifaddrs(&myaddrs);
-+ if (status != 0)
-+ {
-+ tr_err( _( "getifaddrs error: \'%s\' (%d)" ), tr_strerror(errno), errno );
-+ }
-+
-+ for (ifa = myaddrs; ifa != NULL; ifa = ifa->ifa_next)
-+ {
-+ if ( (ifa->ifa_addr != NULL) // has address
-+ && (ifa->ifa_flags & IFF_UP)) // iface is up.
-+ {
-+ ifcount++;
-+ }
-+ }
-+
-+ if (ifcount > 0)
-+ {
-+ // treat as a null terminated array of interfaces
-+ interfaces = tr_new0( tr_interface *, ifcount + 1 );
-+ for (ifa = myaddrs; ifa != NULL; ifa = ifa->ifa_next)
-+ {
-+ if ( (ifa->ifa_addr != NULL) // has address
-+ && (ifa->ifa_flags & IFF_UP)) // iface is up.
-+ {
-+ tr_MergeOrAppendToInterfaces(interfaces, ifa);
-+ }
-+ }
-+ }
-+ freeifaddrs(myaddrs);
-+
-+ return interfaces;
-+}
-+
-+#else // HAVE_GETIFADDRS
-+
-+tr_interface ** tr_net_dummy_interfaces(void)
-+{
-+ // Is there a port of getifaddrs for win32?
-+ return NULL;
-+}
-+
-+#endif
-diff --git a/libtransmission/net-interfaces.h b/libtransmission/net-interfaces.h
-new file mode 100644
-index 0000000..9fdfa9c
---- /dev/null
-+++ b/libtransmission/net-interfaces.h
-@@ -0,0 +1,49 @@
-+/******************************************************************************
-+ * $Id$
-+ *
-+ * Copyright (c) 2005-2008 Transmission authors and contributors
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *****************************************************************************/
-+
-+#ifndef __TRANSMISSION__
-+#error only libtransmission should #include this header.
-+#endif
-+#include "net.h"
-+
-+#ifndef _TR_NET_INTERFACES_H_
-+#define _TR_NET_INTERFACES_H_
-+
-+#include <net/if.h>
-+
-+typedef struct tr_interface
-+{
-+ char name[IF_NAMESIZE];
-+ unsigned short int af4;
-+ unsigned short int af6;
-+ tr_address ipv4;
-+ tr_address ipv6;
-+} tr_interface;
-+
-+tr_interface ** tr_net_interfaces( void );
-+void tr_interfacesFree( tr_interface ** interfaces );
-+tr_interface * tr_FindInterfaceByName(tr_interface **interfaces, char * device);
-+
-+
-+#endif // _TR_NET_INTERFACES_H_
-diff --git a/libtransmission/net.c b/libtransmission/net.c
-index 0a672cb..4ce8338 100644
---- a/libtransmission/net.c
-+++ b/libtransmission/net.c
-@@ -34,6 +34,9 @@
- #include <ws2tcpip.h>
- #else
- #include <netinet/tcp.h> /* TCP_CONGESTION */
-+ #include <sys/ioctl.h>
-+ #include <net/if.h>
-+ #include <unistd.h>
- #endif
-
- #include <event2/util.h>
-@@ -55,6 +58,43 @@
- const tr_address tr_in6addr_any = { TR_AF_INET6, { IN6ADDR_ANY_INIT } };
- const tr_address tr_inaddr_any = { TR_AF_INET, { { { { INADDR_ANY, 0x00, 0x00, 0x00 } } } } };
-
-+const char *
-+tr_netGetAddress( const char * node, const char * service, tr_address * addr )
-+{
-+ struct addrinfo hints, * res, * p;
-+ struct sockaddr_storage * ss;
-+ int rv, family = AF_UNSPEC;
-+ const char * err = NULL;
-+
-+ if( !addr )
-+ return _( "Invalid address argument" );
-+
-+ memset( &hints, 0, sizeof( hints ) );
-+ if( addr->type == TR_AF_INET )
-+ family = AF_INET;
-+ else if( addr->type == TR_AF_INET6 )
-+ family = AF_INET6;
-+ hints.ai_family = family;
-+
-+ if( ( rv = getaddrinfo( node, service, &hints, &res ) ) != 0 )
-+ return gai_strerror( rv );
-+
-+ for( p = res; p; p = p->ai_next )
-+ {
-+ if( family != AF_UNSPEC && p->ai_family != family )
-+ continue;
-+ ss = (struct sockaddr_storage *) p->ai_addr;
-+ // assert(p->ai_addrlen == sizeof( struct sockaddr_in ));
-+ tr_address_from_sockaddr_storage( addr, NULL, ss );
-+ break;
-+ }
-+
-+ if( p == NULL )
-+ err = _( "No matching addresses found" );
-+ freeaddrinfo( res );
-+ return err;
-+}
-+
- void
- tr_netInit (void)
- {
-@@ -166,6 +206,46 @@ tr_netSetCongestionControl (int s UNUSED, const char *algorithm UNUSED)
- #endif
- }
-
-+void
-+tr_netBindSocketInterface(tr_session *session, int socket)
-+{
-+#ifdef USE_SO_BINDTODEVICE
-+ if ( socket >= 0 && session->publicInterface != NULL )
-+ {
-+ /*
-+ * Using the ifreq struct with setsockopt seems reasonably common
-+ * among the POSIX and POSIX like platforms.
-+ * The linux manpage here: http://linux.die.net/man/7/socket says:
-+ * ""The passed option is a variable-length null terminated
-+ * interface name string with the maximum size of IFNAMSIZ.""
-+ *
-+ * The ifreq structure contains, as it's first element, ifr_name
-+ * of size IFNAMSIZ.
-+ *
-+ * If you find that you do not have net/if.h or the ifreq structure
-+ * but you do have SO_BINDTODEVICE then you may just pass null
-+ * terminated string. IFNAMSIZ is 16, quite long as net devices
-+ * tend to be named eth0, eth0:1, ppp0, etc.
-+ *
-+ * For size you can pass either IFNAMSIZ, sizeof(struct ifreq), or the
-+ * number of bytes in session->publicInterface plus the '\0'.
-+ */
-+ struct ifreq request;
-+
-+ memset(&request, 0, sizeof(request));
-+ tr_strlcpy(request.ifr_name, session->publicInterface, IFNAMSIZ);
-+ if ( setsockopt(socket, SOL_SOCKET, SO_BINDTODEVICE,
-+ &request, IFNAMSIZ) < 0 )
-+ {
-+ int eno = sockerrno;
-+ tr_err( _( "Bind socket to device \'%s\' error: \'%s\' (%d)" ),
-+ session->publicInterface, tr_strerror(eno), eno );
-+ }
-+ }
-+#endif
-+}
-+
-+
- bool
- tr_address_from_sockaddr_storage (tr_address * setme_addr,
- tr_port * setme_port,
-@@ -245,6 +325,10 @@ tr_netOpenPeerSocket (tr_session * session,
- if (s < 0)
- return -1;
-
-+
-+
-+ tr_netBindSocketInterface(session, s);
-+
- /* seeds don't need much of a read buffer... */
- if (clientIsSeed) {
- int n = 8192;
-@@ -313,7 +397,7 @@ tr_netOpenPeerUTPSocket (tr_session * session,
- }
-
- static int
--tr_netBindTCPImpl (const tr_address * addr, tr_port port, bool suppressMsgs, int * errOut)
-+tr_netBindTCPImpl (tr_session * session, const tr_address * addr, tr_port port, bool suppressMsgs, int * errOut)
- {
- static const int domains[NUM_TR_AF_INET_TYPES] = { AF_INET, AF_INET6 };
- struct sockaddr_storage sock;
-@@ -338,6 +422,7 @@ tr_netBindTCPImpl (const tr_address * addr, tr_port port, bool suppressMsgs, int
- optval = 1;
- setsockopt (fd, SOL_SOCKET, SO_KEEPALIVE, &optval, sizeof (optval));
- setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (optval));
-+ tr_netBindSocketInterface(session, fd);
-
- #ifdef IPV6_V6ONLY
- if (addr->type == TR_AF_INET6)
-@@ -386,14 +471,14 @@ tr_netBindTCPImpl (const tr_address * addr, tr_port port, bool suppressMsgs, int
- }
-
- int
--tr_netBindTCP (const tr_address * addr, tr_port port, bool suppressMsgs)
-+tr_netBindTCP (tr_session * session, const tr_address * addr, tr_port port, bool suppressMsgs)
- {
- int unused;
-- return tr_netBindTCPImpl (addr, port, suppressMsgs, &unused);
-+ return tr_netBindTCPImpl (session, addr, port, suppressMsgs, &unused);
- }
-
- bool
--tr_net_hasIPv6 (tr_port port)
-+tr_net_hasIPv6 (tr_session * session, tr_port port)
- {
- static bool result = false;
- static bool alreadyDone = false;
-@@ -401,7 +486,7 @@ tr_net_hasIPv6 (tr_port port)
- if (!alreadyDone)
- {
- int err;
-- int fd = tr_netBindTCPImpl (&tr_in6addr_any, port, true, &err);
-+ int fd = tr_netBindTCPImpl (session, &tr_in6addr_any, port, true, &err);
- if (fd >= 0 || err != EAFNOSUPPORT) /* we support ipv6 */
- result = true;
- if (fd >= 0)
-@@ -432,6 +517,7 @@ void
- tr_netCloseSocket (int fd)
- {
- evutil_closesocket (fd);
-+ tr_fdtrack_close (fd);
- }
-
- void
-@@ -647,9 +733,78 @@ isMartianAddr (const struct tr_address * a)
- bool
- tr_address_is_valid_for_peers (const tr_address * addr, tr_port port)
- {
-- return (port != 0)
-- && (tr_address_is_valid (addr))
-- && (!isIPv6LinkLocalAddress (addr))
-- && (!isIPv4MappedAddress (addr))
-- && (!isMartianAddr (addr));
-+ return (port != 0) && (tr_isValidTrackerAddress (addr));
-+}
-+
-+bool
-+tr_isValidTrackerAddress( const tr_address * addr )
-+{
-+ return tr_isAddress( addr )
-+ && !isIPv6LinkLocalAddress( addr )
-+ && !isIPv4MappedAddress( addr )
-+ && !isMartianAddr( addr );
- }
-+
-+bool isAvailableBindAddress(tr_address * address, enum tr_address_type addrType)
-+{
-+ bool rval = false;
-+ int s;
-+ int bindResult = 0;
-+ static socklen_t sourcelen;
-+ struct sockaddr_storage source_sock;
-+ sourcelen = setup_sockaddr( address, 0, &source_sock );
-+
-+ s = socket( (int)addrType, SOCK_DGRAM, 0 );
-+ if (s >= 0)
-+ {
-+ bindResult = bind( s, (struct sockaddr*)&source_sock, sourcelen );
-+ if(0 == bindResult)
-+ {
-+ rval = true;
-+ }
-+ else if (EADDRNOTAVAIL == errno)
-+ {
-+ rval = false;
-+ }
-+ else
-+ {
-+ int bindErr = errno;
-+
-+ tr_nerr("isAvailableBindAddress", "bind() probe gave an unhandled error code %i", bindErr);
-+ tr_nerr("isAvailableBindAddress", "assuming that the address (may otherwise at other times) be bind()'able");
-+ rval = true;
-+ }
-+ close(s);
-+ }
-+ return rval;
-+}
-+
-+/*
-+ * Attempt to create a dummy private address that will disable traffic.
-+ */
-+tr_address * unavailableBindAddress(enum tr_address_type addrType)
-+{
-+ int i;
-+ tr_address * testAddr = tr_new0( tr_address, 1 );
-+
-+ switch (addrType)
-+ {
-+ case TR_AF_INET: tr_address_from_string( testAddr, "1.2.3.4" ); break;
-+ case TR_AF_INET6: tr_address_from_string( testAddr, "fd7f:54eb:9f51:be9a:1:2:3:4" ); break;
-+ default: return testAddr;
-+ }
-+
-+ i = 100;
-+ while( isAvailableBindAddress(testAddr, addrType) && i < 100 )
-+ {
-+ switch (addrType)
-+ {
-+ case TR_AF_INET: testAddr->addr.addr4.s_addr += 1; break;
-+ case TR_AF_INET6: testAddr->addr.addr6.s6_addr[0] -= 1; break;
-+ default: return testAddr;
-+ }
-+ i++;
-+ }
-+ return testAddr;
-+}
-+
-diff --git a/libtransmission/net.h b/libtransmission/net.h
-index 4cc583c..b9e5dce 100644
---- a/libtransmission/net.h
-+++ b/libtransmission/net.h
-@@ -25,6 +25,7 @@
- #ifndef __TRANSMISSION__
- #error only libtransmission should #include this header.
- #endif
-+#include "transmission.h"
-
- #ifndef _TR_NET_H_
- #define _TR_NET_H_
-@@ -81,6 +82,8 @@ typedef struct tr_address
- extern const tr_address tr_inaddr_any;
- extern const tr_address tr_in6addr_any;
-
-+const char* tr_netGetAddress (const char * node, const char * service, tr_address * addr);
-+
- const char* tr_address_to_string (const tr_address * addr);
-
- const char* tr_address_to_string_with_buf (const tr_address * addr,
-@@ -89,6 +92,12 @@ const char* tr_address_to_string_with_buf (const tr_address * addr,
-
- bool tr_address_from_string (tr_address * setme,
- const char * string);
-+bool tr_isValidTrackerAddress(const tr_address * addr);
-+
-+bool isAvailableBindAddress(tr_address * address, enum tr_address_type addrType);
-+tr_address * unavailableBindAddress(enum tr_address_type addrType);
-+
-+static inline bool tr_isAddress(const tr_address * a) { return ( a != NULL ) && ( a->type==TR_AF_INET || a->type==TR_AF_INET6 ); }
-
- bool tr_address_from_sockaddr_storage (tr_address * setme,
- tr_port * port,
-@@ -123,7 +132,8 @@ tr_netOpenPeerUTPSocket (tr_session * session,
- tr_port port,
- bool clientIsSeed);
-
--int tr_netBindTCP (const tr_address * addr,
-+int tr_netBindTCP (tr_session * session,
-+ const tr_address * addr,
- tr_port port,
- bool suppressMsgs);
-
-@@ -143,7 +153,9 @@ void tr_netCloseSocket (int fd);
-
- void tr_netInit (void);
-
--bool tr_net_hasIPv6 (tr_port);
-+bool tr_net_hasIPv6 (tr_session * session, tr_port port);
-+
-+void tr_netBindSocketInterface(tr_session *session, int socket);
-
-
- /**
-diff --git a/libtransmission/peer-io.c b/libtransmission/peer-io.c
-index cb2ab13..4c37887 100644
---- a/libtransmission/peer-io.c
-+++ b/libtransmission/peer-io.c
-@@ -27,6 +27,7 @@
- #include "net.h"
- #include "peer-common.h" /* MAX_BLOCK_SIZE */
- #include "peer-io.h"
-+#include "fdlimit.h"
- #include "trevent.h" /* tr_runInEventThread () */
- #include "tr-utp.h"
- #include "utils.h"
-@@ -160,6 +161,8 @@ didWriteWrapper (tr_peerIo * io, unsigned int bytes_transferred)
-
- tr_bandwidthUsed (&io->bandwidth, TR_UP, payload, next->isPieceData, now);
-
-+ tr_fdtrack_output (io->socket, payload);
-+
- if (overhead > 0)
- tr_bandwidthUsed (&io->bandwidth, TR_UP, overhead, false, now);
-
-@@ -208,9 +211,11 @@ canReadWrapper (tr_peerIo * io)
- {
- if (piece)
- tr_bandwidthUsed (&io->bandwidth, TR_DOWN, piece, true, now);
-+ tr_fdtrack_input (io->socket, piece);
-
- if (used != piece)
- tr_bandwidthUsed (&io->bandwidth, TR_DOWN, used - piece, false, now);
-+ tr_fdtrack_input (io->socket, used - piece);
- }
-
- if (overhead > 0)
-@@ -405,6 +410,8 @@ maybeSetCongestionAlgorithm (int socket, const char * algorithm)
- #ifdef WITH_UTP
- /* UTP callbacks */
-
-+uint64 UTP_GetGlobalUTPBytesSent(const struct sockaddr *remote, socklen_t remotelen);
-+
- static void
- utp_on_read (void *closure, const unsigned char *buf, size_t buflen)
- {
-@@ -424,6 +431,8 @@ utp_on_read (void *closure, const unsigned char *buf, size_t buflen)
- canReadWrapper (io);
- }
-
-+uint64 g_global_write_count = 0;
-+
- static void
- utp_on_write (void *closure, unsigned char *buf, size_t buflen)
- {
-@@ -439,6 +448,15 @@ utp_on_write (void *closure, unsigned char *buf, size_t buflen)
- }
-
- didWriteWrapper (io, buflen);
-+
-+ g_global_write_count += buflen;
-+}
-+
-+uint64 UTP_GetGlobalUTPBytesSent (const struct sockaddr *remote, socklen_t remotelen)
-+{
-+ (void) remote;
-+ (void) remotelen;
-+ return g_global_write_count;
- }
-
- static size_t
-@@ -506,7 +524,7 @@ utp_on_error (void *closure, int errcode)
- }
-
- static void
--utp_on_overhead (void *closure, bool send, size_t count, int type UNUSED)
-+utp_on_overhead (void *closure, uint8_t send, size_t count, int type UNUSED)
- {
- tr_peerIo *io = closure;
- assert (tr_isPeerIo (io));
-@@ -567,7 +585,7 @@ dummy_on_error (void * closure UNUSED, int errcode UNUSED)
- }
-
- static void
--dummy_on_overhead (void *closure UNUSED, bool send UNUSED, size_t count UNUSED, int type UNUSED)
-+dummy_on_overhead (void *closure UNUSED, uint8_t send UNUSED, size_t count UNUSED, int type UNUSED)
- {
- return;
- }
-@@ -635,6 +653,9 @@ tr_peerIoNew (tr_session * session,
- io->socket, EV_READ, event_read_cb, io);
- io->event_write = event_new (session->event_base,
- io->socket, EV_WRITE, event_write_cb, io);
-+
-+ tr_netBindSocketInterface (session, io->socket);
-+
- }
- #ifdef WITH_UTP
- else {
-diff --git a/libtransmission/peer-mgr.c b/libtransmission/peer-mgr.c
-index 230c30d..388c502 100644
---- a/libtransmission/peer-mgr.c
-+++ b/libtransmission/peer-mgr.c
-@@ -141,7 +141,7 @@ struct peer_atom
- };
-
- #ifdef NDEBUG
--#define tr_isAtom(a) (TRUE)
-+#define tr_isAtom(a) (true)
- #else
- static bool
- tr_isAtom (const struct peer_atom * atom)
-diff --git a/libtransmission/resolver.c b/libtransmission/resolver.c
-new file mode 100644
-index 0000000..e3ec6f9
---- /dev/null
-+++ b/libtransmission/resolver.c
-@@ -0,0 +1,157 @@
-+/******************************************************************************
-+ *
-+ * $Id$
-+ *
-+ * Copyright (c) Transmission authors and contributors
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *****************************************************************************/
-+
-+#include <assert.h>
-+
-+#include "transmission.h"
-+#include "list.h"
-+#include "net.h"
-+#include "platform.h"
-+#include "session.h"
-+#include "utils.h"
-+#include "trevent.h"
-+#include "resolver.h"
-+
-+/* If the number of tasks waiting in the queue divided
-+ * by the current number of workers is greater than this
-+ * number, a new worker thread is created. */
-+#define WORKER_LOAD 5
-+
-+/* Never create more worker threads than this. */
-+#define WORKER_MAX 10
-+
-+typedef struct
-+{
-+ tr_session * session;
-+ char * node;
-+ char * service;
-+ int type;
-+ tr_resolver_callback callback;
-+ void * user_data;
-+}
-+resolver_task;
-+
-+typedef struct
-+{
-+ const char * err;
-+ tr_address addr;
-+ tr_resolver_callback callback;
-+ void * user_data;
-+}
-+resolver_result;
-+
-+static tr_list * queue; /* resolver_task */
-+static tr_lock * lock;
-+static int workers, tasks;
-+
-+static void spawn_workers(void);
-+
-+static void
-+notify( void * vres )
-+{
-+ resolver_result * res = vres;
-+ res->callback( res->err, &res->addr, res->user_data );
-+ tr_free( res );
-+}
-+
-+static void
-+worker( void * varg UNUSED )
-+{
-+ while( 1 )
-+ {
-+ resolver_task * task;
-+ resolver_result * res;
-+
-+ tr_lockLock( lock );
-+ if( !queue )
-+ {
-+ tr_lockUnlock( lock );
-+ break;
-+ }
-+ task = tr_list_pop_front( &queue );
-+ tasks--;
-+ tr_lockUnlock( lock );
-+
-+ res = tr_new0( resolver_result, 1 );
-+ res->addr.type = task->type;
-+ res->err = tr_netGetAddress( task->node, task->service, &res->addr );
-+ res->callback = task->callback;
-+ res->user_data = task->user_data;
-+
-+ tr_runInEventThread( task->session, notify, res );
-+ tr_free( task->node );
-+ tr_free( task->service );
-+ tr_free( task );
-+ }
-+
-+ tr_lockLock( lock );
-+ workers--;
-+ tr_lockUnlock( lock );
-+}
-+
-+static void spawn_workers(void)
-+{
-+ tr_lockLock( lock );
-+ if( queue && ( workers < 1 || tasks / workers > WORKER_LOAD )
-+ && workers < WORKER_MAX )
-+ {
-+ workers++;
-+ tr_threadNew( worker, NULL );
-+ }
-+ tr_lockUnlock( lock );
-+}
-+
-+void
-+tr_resolve_address( tr_session * session,
-+ const char * node,
-+ const char * service,
-+ int type,
-+ tr_resolver_callback callback,
-+ void * user_data )
-+{
-+ resolver_task * task;
-+
-+ assert( callback != NULL );
-+
-+ task = tr_new0( resolver_task, 1 );
-+ task->session = session;
-+ task->node = tr_strdup( node );
-+ task->service = tr_strdup( service );
-+ task->type = type;
-+ task->callback = callback;
-+ task->user_data = user_data;
-+
-+ if( !lock )
-+ {
-+ assert( tr_amInEventThread( session ) );
-+ lock = tr_lockNew( );
-+ }
-+ tr_lockLock( lock );
-+ tr_list_append( &queue, task );
-+ tasks++;
-+ tr_lockUnlock( lock );
-+
-+ spawn_workers( );
-+}
-diff --git a/libtransmission/resolver.h b/libtransmission/resolver.h
-new file mode 100644
-index 0000000..ce44813
---- /dev/null
-+++ b/libtransmission/resolver.h
-@@ -0,0 +1,71 @@
-+/******************************************************************************
-+ * $Id$
-+ *
-+ * Copyright (c) Transmission authors and contributors
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *****************************************************************************/
-+
-+#ifndef __TRANSMISSION__
-+#error only libtransmission should #include this header.
-+#endif
-+
-+#ifndef _TR_RESOLVER_H_
-+#define _TR_RESOLVER_H_
-+
-+/**
-+ * If the address resolution fails, @a err will be a string
-+ * description of the error. Otherwise, @a err will be NULL
-+ * and @a addr will contain the resolved address.
-+ */
-+typedef void ( * tr_resolver_callback )( const char * err,
-+ const tr_address * addr,
-+ void * user_data );
-+
-+/**
-+ * Resolve a hostname asynchronously by calling getaddrinfo(3) in
-+ * another thread. If you do not care about blocking the current
-+ * thread, you can just use tr_netGetAddress().
-+ *
-+ * @param session @a callback will be run in the event thread of this
-+ * session.
-+ * @param node The name of the node to resolve. This will generally
-+ * just be the hostname.
-+ * @param service Same meaning as for getaddrinfo(3). Usually you
-+ * can just set this to NULL.
-+ * @param type The address type to prefer, either @a TR_AF_INET or
-+ * @a TR_AF_INET6. Any other value will cause no particular
-+ * type to be preferred and so the first valid address found
-+ * will be passed to @a callback.
-+ * @param callback Function to call with the result (or an error message).
-+ * It will be run in the event thread of @a session by
-+ * tr_runInEventThread().
-+ * @param user_data User data to pass to @a callback.
-+ *
-+ * @see tr_netGetAddress()
-+ * @see tr_runInEventThread()
-+ */
-+void tr_resolve_address( tr_session * session,
-+ const char * node,
-+ const char * service,
-+ int type,
-+ tr_resolver_callback callback,
-+ void * user_data );
-+
-+#endif /* _TR_RESOLVER_H_ */
-diff --git a/libtransmission/resume.c b/libtransmission/resume.c
-index 0cf08cf..efaa6b7 100644
---- a/libtransmission/resume.c
-+++ b/libtransmission/resume.c
-@@ -660,7 +660,11 @@ tr_torrentSaveResume (tr_torrent * tor)
-
- filename = getResumeFilename (tor);
- if ((err = tr_bencToFile (&top, TR_FMT_BENC, filename)))
-+ {
-+ bool was = tor->isStopping;
- tr_torrentSetLocalError (tor, "Unable to save resume file: %s", tr_strerror (err));
-+ tor->isStopping = was;
-+ }
- tr_free (filename);
-
- tr_bencFree (&top);
-diff --git a/libtransmission/session.c b/libtransmission/session.c
-index 19d8907..0d15824 100644
---- a/libtransmission/session.c
-+++ b/libtransmission/session.c
-@@ -37,6 +37,7 @@
- #include "fdlimit.h"
- #include "list.h"
- #include "net.h"
-+#include "net-interfaces.h"
- #include "peer-io.h"
- #include "peer-mgr.h"
- #include "platform.h" /* tr_lock, tr_getTorrentDir (), tr_getFreeSpace () */
-@@ -55,6 +56,17 @@
- #include "version.h"
- #include "web.h"
-
-+#ifdef HAVE_LIBNETLINK
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/socket.h>
-+#include <libnetlink.h>
-+
-+#define RTNLGRP_MSGS \
-+ (RTNLGRP_IPV4_IFADDR|RTNLGRP_IPV4_ROUTE|RTNLGRP_IPV6_IFADDR|RTNLGRP_IPV6_ROUTE)
-+
-+#endif /* HAVE_LIBNETLINK */
-+
- enum
- {
- #ifdef TR_LIGHTWEIGHT
-@@ -64,7 +76,12 @@ enum
- DEFAULT_CACHE_SIZE_MB = 4,
- DEFAULT_PREFETCH_ENABLED = true,
- #endif
-- SAVE_INTERVAL_SECS = 360
-+ SAVE_INTERVAL_SECS = 360,
-+#ifdef HAVE_LIBNETLINK
-+ NET_IF_POLL_INTERVAL_SECS = 30,
-+#else
-+ NET_IF_POLL_INTERVAL_SECS = 3,
-+#endif /* HAVE_LIBNETLINK */
- };
-
-
-@@ -199,17 +216,19 @@ open_incoming_peer_port (tr_session * session)
-
- /* bind an ipv4 port to listen for incoming peers... */
- b = session->public_ipv4;
-- b->socket = tr_netBindTCP (&b->addr, session->private_peer_port, false);
-+ b->socket = tr_netBindTCP (session, &b->addr, session->private_peer_port, false);
- if (b->socket >= 0) {
-+ tr_netBindSocketInterface (session, b->socket);
- b->ev = event_new (session->event_base, b->socket, EV_READ | EV_PERSIST, accept_incoming_peer, session);
- event_add (b->ev, NULL);
- }
-
- /* and do the exact same thing for ipv6, if it's supported... */
-- if (tr_net_hasIPv6 (session->private_peer_port)) {
-+ if (tr_net_hasIPv6 (session, session->private_peer_port)) {
- b = session->public_ipv6;
-- b->socket = tr_netBindTCP (&b->addr, session->private_peer_port, false);
-+ b->socket = tr_netBindTCP (session, &b->addr, session->private_peer_port, false);
- if (b->socket >= 0) {
-+ tr_netBindSocketInterface (session, b->socket);
- b->ev = event_new (session->event_base, b->socket, EV_READ | EV_PERSIST, accept_incoming_peer, session);
- event_add (b->ev, NULL);
- }
-@@ -368,6 +387,7 @@ tr_sessionGetDefaultSettings (tr_benc * d)
- tr_bencDictAddInt (d, TR_PREFS_KEY_UPLOAD_SLOTS_PER_TORRENT, 14);
- tr_bencDictAddStr (d, TR_PREFS_KEY_BIND_ADDRESS_IPV4, TR_DEFAULT_BIND_ADDRESS_IPV4);
- tr_bencDictAddStr (d, TR_PREFS_KEY_BIND_ADDRESS_IPV6, TR_DEFAULT_BIND_ADDRESS_IPV6);
-+ tr_bencDictAddStr (d, TR_PREFS_KEY_BIND_INTERFACE, "");
- tr_bencDictAddBool (d, TR_PREFS_KEY_START, true);
- tr_bencDictAddBool (d, TR_PREFS_KEY_TRASH_ORIGINAL, false);
- }
-@@ -439,6 +459,7 @@ tr_sessionGetSettings (tr_session * s, struct tr_benc * d)
- tr_bencDictAddInt (d, TR_PREFS_KEY_UPLOAD_SLOTS_PER_TORRENT, s->uploadSlotsPerTorrent);
- tr_bencDictAddStr (d, TR_PREFS_KEY_BIND_ADDRESS_IPV4, tr_address_to_string (&s->public_ipv4->addr));
- tr_bencDictAddStr (d, TR_PREFS_KEY_BIND_ADDRESS_IPV6, tr_address_to_string (&s->public_ipv6->addr));
-+ tr_bencDictAddStr (d, TR_PREFS_KEY_BIND_INTERFACE, s->publicInterface);
- tr_bencDictAddBool (d, TR_PREFS_KEY_START, !tr_sessionGetPaused (s));
- tr_bencDictAddBool (d, TR_PREFS_KEY_TRASH_ORIGINAL, tr_sessionGetDeleteSource (s));
- }
-@@ -555,6 +576,7 @@ onSaveTimer (int foo UNUSED, short bar UNUSED, void * vsession)
- ***/
-
- static void tr_sessionInitImpl (void *);
-+static void peerPortChanged (void * session);
-
- struct init_data
- {
-@@ -662,6 +684,203 @@ onNowTimer (int foo UNUSED, short bar UNUSED, void * vsession)
- /* fprintf (stderr, "time %zu sec, %zu microsec\n", (size_t)tr_time (), (size_t)tv.tv_usec); */
- }
-
-+static void tr_getNetworkInterfaces( tr_session * session )
-+{
-+ dbgmsg( "tr_getNetworkInterfaces: Refreshing the list of network interfaces...");
-+ tr_interfacesFree( session->networkInterfaces );
-+ session->networkInterfaces = tr_net_interfaces();
-+ dbgmsg( "tr_getNetworkInterfaces: Refreshed.");
-+}
-+
-+static tr_interface * tr_sessionGetInterfaceNamed(char * device, tr_session * session )
-+{
-+ return tr_FindInterfaceByName(session->networkInterfaces, device);
-+}
-+
-+/**
-+ * If public interface name is set, refresh the bind ip addresses
-+ * ie the session attributes public_ipv4 and public_ipv6
-+ * NOTE: here we don't remember a previous state of the
-+ * public_interface string. So clearing this setting may not register
-+ * until client restarts. We would have to add a hook funcion for GUI.
-+ * At the moment this is hidden setting only, so we dont bother.
-+ */
-+static void tr_refreshPublicIp( tr_session * session )
-+{
-+ tr_address old_public_ipv4_addr = session->public_ipv4->addr;
-+ tr_address old_public_ipv6_addr = session->public_ipv6->addr;
-+
-+ /* If user wants to bind to a specific device
-+ * (ppp0, my PPTP VPN for instance).
-+ */
-+ if( session->publicInterface && strlen(session->publicInterface) > 0 )
-+ {
-+ tr_address * addr_ipv4 = NULL;
-+ tr_address * addr_ipv6 = NULL;
-+
-+ tr_interface * foundInterface =
-+ tr_sessionGetInterfaceNamed(session->publicInterface, session);
-+
-+ if (foundInterface)
-+ {
-+ if (foundInterface->af4) /* != AF_UNSPEC */
-+ {
-+ tr_address ipv4null;
-+ tr_address_from_string(&ipv4null, TR_DEFAULT_BIND_ADDRESS_IPV4);
-+
-+ /* Check that we don't accidentally bind to all
-+ * interfaces (0.0.0.0).
-+ */
-+ if (0 != tr_address_compare(&ipv4null, &(foundInterface->ipv4)))
-+ {
-+ addr_ipv4 = &(foundInterface->ipv4);
-+ }
-+ }
-+ if (foundInterface->af6) /* != AF_UNSPEC */
-+ {
-+ tr_address ipv6null;
-+ tr_address_from_string(&ipv6null, TR_DEFAULT_BIND_ADDRESS_IPV6);
-+
-+ /* Check that we don't accidentally bind to all
-+ * interfaces (::).
-+ */
-+ if (0 != tr_address_compare(&ipv6null, &(foundInterface->ipv6)))
-+ {
-+ addr_ipv6 = &(foundInterface->ipv6);
-+ }
-+ }
-+ }
-+
-+ if (!addr_ipv4)
-+ {
-+ addr_ipv4 = unavailableBindAddress(TR_AF_INET);
-+ }
-+
-+ if (!addr_ipv6)
-+ {
-+ addr_ipv6 = unavailableBindAddress(TR_AF_INET6);
-+ }
-+
-+ /* if either v4 or v6 bind address has changed */
-+ if(tr_address_compare( addr_ipv4, &old_public_ipv4_addr ) ||
-+ tr_address_compare( addr_ipv6, &old_public_ipv6_addr ))
-+ {
-+ session->public_ipv4->addr = * addr_ipv4;
-+ session->public_ipv6->addr = * addr_ipv6;
-+
-+ /* restart future connections to bind on the new ip address */
-+ if( session->isLPDEnabled )
-+ tr_lpdUninit( session );
-+
-+ if( session->isDHTEnabled )
-+ {
-+ tr_dhtUninit( session );
-+ tr_dhtInit( session );
-+ }
-+ if( session->isLPDEnabled )
-+ tr_lpdInit( session, &session->public_ipv4->addr );
-+
-+ peerPortChanged( session );
-+ }
-+ }
-+}
-+
-+
-+static void networkIFRefresh(tr_session * session)
-+{
-+ assert( tr_isSession( session ) );
-+ tr_getNetworkInterfaces( session );
-+ tr_refreshPublicIp( session );
-+}
-+
-+
-+/**
-+ * Periodically reload the list of network interfaces
-+ */
-+static void onNetworkIFTimer( int foo UNUSED, short bar UNUSED, void * vsession )
-+{
-+ tr_session * session = vsession;
-+
-+ assert( tr_isSession( session ) );
-+ assert( session->networkInterfacesTimer != NULL );
-+
-+ dbgmsg(
-+ "onNetworkIFTimer: the timer has timed out. Next timeout in %d secs.",
-+ NET_IF_POLL_INTERVAL_SECS );
-+
-+ networkIFRefresh(session);
-+ tr_timerAdd( session->networkInterfacesTimer, NET_IF_POLL_INTERVAL_SECS, 0 );
-+}
-+
-+/**
-+ * libnetlink support
-+ */
-+
-+#ifdef HAVE_LIBNETLINK
-+
-+/*
-+ * Change this value to -1 to cause rtnl_listen to exit.
-+ * [As per code inspection of iproute2 2.6.37]
-+ */
-+static int g_listen = 0;
-+
-+/*
-+ * libnetlink will listen for kernel events and notify of the
-+ * types we have registered for.
-+ */
-+static int
-+netlinkMessageCallback(const struct sockaddr_nl *who UNUSED, struct nlmsghdr *n, void *vsession)
-+{
-+ switch(n->nlmsg_type)
-+ {
-+ case RTM_NEWLINK:
-+ case RTM_DELLINK:
-+ case RTM_GETLINK:
-+ case RTM_SETLINK:
-+ case RTM_NEWADDR:
-+ case RTM_DELADDR:
-+ case RTM_GETADDR:
-+ case RTM_NEWROUTE:
-+ case RTM_DELROUTE:
-+ case RTM_GETROUTE:
-+ case RTM_NEWRULE:
-+ case RTM_DELRULE:
-+ case RTM_GETRULE:
-+ networkIFRefresh((tr_session *)vsession);
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ return g_listen;
-+}
-+
-+/*
-+ * libnetlink rtnl_listen() blocks forever.
-+ * Run it on a separate thread.
-+ */
-+static void
-+netlinkListenThreadFunc( void * vsession )
-+{
-+ struct rtnl_handle rth;
-+ unsigned int groups = RTNLGRP_MSGS;
-+
-+ if (rtnl_open(&rth, groups) >= 0)
-+ {
-+ if (rtnl_listen(&rth, netlinkMessageCallback, vsession)<0)
-+ {
-+ fprintf(stderr, "rtnl_listen existed.\n");
-+ }
-+ }
-+ else
-+ {
-+ fprintf(stderr, "rtnl_open failed.");
-+ }
-+}
-+
-+#endif /* HAVE_LIBNETLINK */
-+
-+
- static void loadBlocklists (tr_session * session);
-
- static void
-@@ -712,6 +931,22 @@ tr_sessionInitImpl (void * vdata)
-
- assert (tr_isSession (session));
-
-+ tr_sessionSet (session, &settings);
-+
-+ /* ^^ here we set the public_ipv4 bindinfo and other settings
-+ * so we are safe to go after here
-+ */
-+ session->networkInterfacesTimer = evtimer_new (session->event_base, onNetworkIFTimer, session);
-+ onNetworkIFTimer (0, 0, session);
-+
-+#ifdef HAVE_LIBNETLINK
-+ /* If we have LIBNETLINK support we can listen for the kernel events associated with
-+ * Links and Routes coming and going. We just simply refresh our network interface
-+ * knowledge when interesting events fire.
-+ */
-+ tr_threadNew (netlinkListenThreadFunc, session);
-+#endif /* HAVE_LIBNETLINK */
-+
- session->saveTimer = evtimer_new (session->event_base, onSaveTimer, session);
- tr_timerAdd (session->saveTimer, SAVE_INTERVAL_SECS, 0);
-
-@@ -725,8 +960,6 @@ tr_sessionInitImpl (void * vdata)
-
- tr_webInit (session);
-
-- tr_sessionSet (session, &settings);
--
- tr_udpInit (session);
-
- if (session->isLPDEnabled)
-@@ -846,6 +1079,9 @@ sessionSetImpl (void * vdata)
- b.socket = -1;
- session->public_ipv6 = tr_memdup (&b, sizeof (struct tr_bindinfo));
-
-+ if( tr_bencDictFindStr( settings, TR_PREFS_KEY_BIND_INTERFACE, &str ) )
-+ tr_sessionSetPublicInterface( session, str );
-+
- /* incoming peer port */
- if (tr_bencDictFindInt (settings, TR_PREFS_KEY_PEER_PORT_RANDOM_LOW, &i))
- session->randomPortLow = i;
-@@ -1079,7 +1315,14 @@ peerPortChanged (void * session)
- tr_sharedPortChanged (session);
-
- while ((tor = tr_torrentNext (session, tor)))
-- tr_torrentChangeMyPort (tor);
-+ {
-+ if (tor->isRunning)
-+ {
-+ tr_torrentStop (tor);
-+ tr_torrentStart (tor);
-+ tr_torrentChangeMyPort (tor);
-+ }
-+ }
- }
-
- static void
-@@ -1752,6 +1995,12 @@ sessionCloseImpl (void * vsession)
- event_free (session->nowTimer);
- session->nowTimer = NULL;
-
-+ evtimer_del (session->networkInterfacesTimer);
-+ tr_free (session->networkInterfacesTimer);
-+ session->networkInterfacesTimer = NULL;
-+
-+ tr_interfacesFree (session->networkInterfaces);
-+
- tr_verifyClose (session);
- tr_sharedClose (session);
- tr_rpcClose (&session->rpcServer);
-@@ -1797,11 +2046,19 @@ sessionCloseImpl (void * vsession)
- tr_statsClose (session);
- tr_peerMgrFree (session->peerMgr);
-
-+// BUG. Advertised IP changes to default IF somewhere after here ...
-+
-+ tr_webClose (session, TR_WEB_CLOSE_WHEN_IDLE);
-+
- closeBlocklists (session);
-
- tr_fdClose (session);
-
-+ tr_webClose (session, TR_WEB_CLOSE_NOW);
-+
- session->isClosed = true;
-+
-+ exit(0);
- }
-
- static int
-@@ -2596,6 +2853,23 @@ tr_sessionGetRPCBindAddress (const tr_session * session)
- *****
- ****/
-
-+void
-+tr_sessionSetPublicInterface( tr_session * session,
-+ const char * publicInterface )
-+{
-+ assert( tr_isSession( session ) );
-+
-+ if( publicInterface != session->publicInterface )
-+ {
-+ tr_free( session->publicInterface );
-+ session->publicInterface = tr_strdup( publicInterface );
-+ }
-+}
-+
-+/****
-+*****
-+****/
-+
- bool
- tr_sessionIsTorrentDoneScriptEnabled (const tr_session * session)
- {
-@@ -2681,6 +2955,7 @@ tr_sessionSetQueueStalledMinutes (tr_session * session, int minutes)
- assert (minutes > 0);
-
- session->queueStalledMinutes = minutes;
-+
- }
-
- void
-diff --git a/libtransmission/session.h b/libtransmission/session.h
-index 3c5f7b6..7acca06 100644
---- a/libtransmission/session.h
-+++ b/libtransmission/session.h
-@@ -30,6 +30,7 @@
- #include "bandwidth.h"
- #include "bencode.h"
- #include "bitfield.h"
-+#include "net-interfaces.h"
- #include "utils.h"
-
- typedef enum { TR_NET_OK, TR_NET_ERROR, TR_NET_WAIT } tr_tristate_t;
-@@ -211,6 +212,9 @@ struct tr_session
-
- struct event * nowTimer;
- struct event * saveTimer;
-+ struct event * networkInterfacesTimer;
-+
-+ tr_interface ** networkInterfaces;
-
- /* monitors the "global pool" speeds */
- struct tr_bandwidth bandwidth;
-@@ -219,8 +223,10 @@ struct tr_session
-
- uint16_t idleLimitMinutes;
-
-+ /* these attribute store the public bind address details */
- struct tr_bindinfo * public_ipv4;
- struct tr_bindinfo * public_ipv6;
-+ char * publicInterface;
-
- uint8_t peer_id[PEER_ID_LEN+1];
- };
-@@ -261,6 +267,7 @@ const struct tr_address* tr_sessionGetPublicAddress (const tr_session * sessio
- int tr_af_type,
- bool * is_default_value);
-
-+void tr_sessionSetPublicInterface( tr_session * session, const char * publicInterface );
-
- struct tr_bindsockets * tr_sessionGetBindSockets (tr_session *);
-
-diff --git a/libtransmission/tr-dht.h b/libtransmission/tr-dht.h
-index 7a28e3c..1702319 100644
---- a/libtransmission/tr-dht.h
-+++ b/libtransmission/tr-dht.h
-@@ -27,6 +27,9 @@
- #error only libtransmission should #include this header.
- #endif
-
-+#ifndef __TR_DHT_H_
-+#define __TR_DHT_H_
-+
- enum
- {
- TR_DHT_STOPPED = 0,
-@@ -47,3 +50,5 @@ void tr_dhtUpkeep (tr_session *);
- void tr_dhtCallback (unsigned char *buf, int buflen,
- struct sockaddr *from, socklen_t fromlen,
- void *sv);
-+
-+#endif /* __TR_DHT_H_ */
-diff --git a/libtransmission/tr-lpd.c b/libtransmission/tr-lpd.c
-index b8e4570..745e883 100644
---- a/libtransmission/tr-lpd.c
-+++ b/libtransmission/tr-lpd.c
-@@ -295,6 +295,8 @@ int tr_lpdInit (tr_session* ss, tr_address* tr_addr UNUSED)
- &opt_on, sizeof opt_on) < 0)
- goto fail;
-
-+ tr_netBindSocketInterface (ss, lpd_socket);
-+
- memset (&lpd_mcastAddr, 0, sizeof lpd_mcastAddr);
- lpd_mcastAddr.sin_family = AF_INET;
- lpd_mcastAddr.sin_port = htons (lpd_mcastPort);
-@@ -330,6 +332,8 @@ int tr_lpdInit (tr_session* ss, tr_address* tr_addr UNUSED)
- if (evutil_make_socket_nonblocking (lpd_socket2) < 0)
- goto fail;
-
-+ tr_netBindSocketInterface(ss, lpd_socket2);
-+
- /* configure outbound multicast TTL */
- if (setsockopt (lpd_socket2, IPPROTO_IP, IP_MULTICAST_TTL,
- &scope, sizeof scope) < 0)
-diff --git a/libtransmission/tr-udp.c b/libtransmission/tr-udp.c
-index 8c343ed..775152c 100644
---- a/libtransmission/tr-udp.c
-+++ b/libtransmission/tr-udp.c
-@@ -145,6 +145,8 @@ rebind_ipv6 (tr_session *ss, bool force)
- setsockopt (s, IPPROTO_IPV6, IPV6_V6ONLY, &one, sizeof (one));
- #endif
-
-+ tr_netBindSocketInterface (ss, s);
-+
- memset (&sin6, 0, sizeof (sin6));
- sin6.sin6_family = AF_INET6;
- if (ipv6)
-@@ -251,6 +253,8 @@ tr_udpInit (tr_session *ss)
- goto ipv6;
- }
-
-+ tr_netBindSocketInterface (ss, ss->udp_socket);
-+
- memset (&sin, 0, sizeof (sin));
- sin.sin_family = AF_INET;
- public_addr = tr_sessionGetPublicAddress (ss, TR_AF_INET, &is_default);
-diff --git a/libtransmission/tr-utp.c b/libtransmission/tr-utp.c
-index f7eb7d0..2cbf155 100644
---- a/libtransmission/tr-utp.c
-+++ b/libtransmission/tr-utp.c
-@@ -45,6 +45,12 @@ THE SOFTWARE.
-
- #ifndef WITH_UTP
-
-+/* if no uTP we need a dummy definition for UTPSocket */
-+struct UTPSocket
-+{
-+ int sock;
-+};
-+
- void
- UTP_Close (struct UTPSocket * socket)
- {
-@@ -61,7 +67,7 @@ UTP_RBDrained (struct UTPSocket *socket)
- assert (0); /* FIXME: this is too much for the long term, but probably needed in the short term */
- }
-
--bool
-+uint8_t
- UTP_Write (struct UTPSocket *socket, size_t count)
- {
- tr_nerr (MY_NAME, "UTP_RBDrained (%p, %zu) was called.", socket, count);
-diff --git a/libtransmission/transmission.h b/libtransmission/transmission.h
-index b91f8ae..bcf8317 100644
---- a/libtransmission/transmission.h
-+++ b/libtransmission/transmission.h
-@@ -165,6 +165,7 @@ const char* tr_getDefaultDownloadDir (void);
- #define TR_PREFS_KEY_ALT_SPEED_TIME_DAY "alt-speed-time-day"
- #define TR_PREFS_KEY_BIND_ADDRESS_IPV4 "bind-address-ipv4"
- #define TR_PREFS_KEY_BIND_ADDRESS_IPV6 "bind-address-ipv6"
-+#define TR_PREFS_KEY_BIND_INTERFACE "bind-interface"
- #define TR_PREFS_KEY_BLOCKLIST_ENABLED "blocklist-enabled"
- #define TR_PREFS_KEY_BLOCKLIST_URL "blocklist-url"
- #define TR_PREFS_KEY_MAX_CACHE_SIZE_MB "cache-size-mb"
-diff --git a/macosx/Controller.m b/macosx/Controller.m
-index ffb3d55..4c9cc97 100644
---- a/macosx/Controller.m
-+++ b/macosx/Controller.m
-@@ -262,6 +262,8 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
- tr_bencDictAddStr(&settings, TR_PREFS_KEY_BIND_ADDRESS_IPV4, [[fDefaults stringForKey: @"BindAddressIPv4"] UTF8String]);
- if ([fDefaults objectForKey: @"BindAddressIPv6"])
- tr_bencDictAddStr(&settings, TR_PREFS_KEY_BIND_ADDRESS_IPV6, [[fDefaults stringForKey: @"BindAddressIPv6"] UTF8String]);
-+ if ([fDefaults objectForKey: @"BindInterface"])
-+ tr_bencDictAddStr(&settings, TR_PREFS_KEY_BIND_INTERFACE, [[fDefaults stringForKey: @"BindInterface"] UTF8String]);
-
- tr_bencDictAddBool(&settings, TR_PREFS_KEY_BLOCKLIST_ENABLED, [fDefaults boolForKey: @"BlocklistNew"]);
- if ([fDefaults objectForKey: @"BlocklistURL"])
-diff --git a/third-party/libutp/utp_config.h b/third-party/libutp/utp_config.h
-index 7ee870a..644c33d 100644
---- a/third-party/libutp/utp_config.h
-+++ b/third-party/libutp/utp_config.h
-@@ -5,8 +5,8 @@
- // This should return the global number of bytes sent, used for determining dynamic
- // packet size based on rate
-
--#warning implement this in libtransmission
--uint64 UTP_GetGlobalUTPBytesSent(const struct sockaddr *remote, socklen_t remotelen) { return 0; }
-+// #warning implement this in libtransmission
-+uint64 UTP_GetGlobalUTPBytesSent(const struct sockaddr *remote, socklen_t remotelen);
-
- enum bandwidth_type_t {
- payload_bandwidth, connect_overhead,
diff --git a/net-p2p/transmission/files/transmission-2.76-build-failure.patch b/net-p2p/transmission/files/transmission-2.76-build-failure.patch
deleted file mode 100644
index d633f2b..0000000
--- a/net-p2p/transmission/files/transmission-2.76-build-failure.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-fix bind-to-interface build failure
-
-From: eroen <eroen@occam.eroen.eu>
-
-bind-to-interface patch introduces a build failure in the transmission-qt.
-The qt project file does not link against netlink.
----
- qt/qtr.pro | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/qt/qtr.pro b/qt/qtr.pro
-index 419968c..0de496d 100644
---- a/qt/qtr.pro
-+++ b/qt/qtr.pro
-@@ -26,7 +26,7 @@ LIBS += $${LIBUTP_LIBS}
- LIBS += $${TRANSMISSION_TOP}/third-party/dht/libdht.a
- LIBS += $${LIBUPNP_LIBS}
- LIBS += $${LIBNATPMP_LIBS}
--unix: LIBS += -L$${EVENT_TOP}/lib -lz -lrt
-+unix: LIBS += -L$${EVENT_TOP}/lib -lz -lrt -lnetlink
- win32:DEFINES += QT_DBUS
- win32:LIBS += -levent-2.0 -lws2_32 -lintl
- win32:LIBS += -lidn -liconv -lwldap32 -liphlpapi
diff --git a/net-p2p/transmission/files/transmission-daemon.confd.3 b/net-p2p/transmission/files/transmission-daemon.confd.3
deleted file mode 100644
index fcf37c7..0000000
--- a/net-p2p/transmission/files/transmission-daemon.confd.3
+++ /dev/null
@@ -1,14 +0,0 @@
-# This is the transmission-daemon configuration file. For other options and
-# better explanation, take a look at transmission-daemon manual page Note: it's
-# better to configure some settings (like username/password) in
-# /var/transmission/config/settings.json to avoid other users see it with `ps`
-
-TRANSMISSION_OPTIONS="--encryption-preferred"
-
-# Run daemon as another user (username or username:groupname)
-# If you change this setting, chown -R /var/transmission/config <and download directory, check web settings>
-#runas_user=transmission
-
-# Location of logfile (should be writeable for runas_user user)
-# Set logfile=syslog to use syslog for logging
-#logfile=/var/log/transmission/transmission.log
diff --git a/net-p2p/transmission/files/transmission-daemon.initd.8 b/net-p2p/transmission/files/transmission-daemon.initd.8
deleted file mode 100644
index 5f1c8df..0000000
--- a/net-p2p/transmission/files/transmission-daemon.initd.8
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/files/transmission-daemon.initd.8,v 1.2 2011/12/04 10:35:07 swegener Exp $
-
-extra_started_commands="reload"
-description="Transmission is a fast, easy and free bittorrent client"
-description_start="Start transmission-daemon server and web interface"
-description_stop="Stop transmission-daemon server and web interface"
-description_reload="Reload transmission-daemon settings"
-
-rundir=${rundir:-/var/run/transmission}
-pidfile=${pidfile:-${rundir}/transmission.pid}
-config_dir=${config_dir:-/var/transmission/config}
-download_dir=${download_dir:-/var/transmission/downloads}
-logfile=${logfile:-/var/log/transmission/transmission.log}
-runas_user=${runas_user:-transmission:transmission}
-
-SSD_OPTIONS=""
-
-depend() {
- need net
-}
-
-check_config() {
- if [ ! -d "${rundir}" ]; then
- mkdir "${rundir}"
- if [ -n "${runas_user}" ]; then
- chown -R ${runas_user} "${rundir}"
- fi
- fi
-
- # In case no config directory option passed use default
- if ! $(echo ${TRANSMISSION_OPTIONS} | grep -q -e '\B-g' -e '\B--config-dir'); then
- TRANSMISSION_OPTIONS="${TRANSMISSION_OPTIONS} --config-dir ${config_dir}"
- # put download dir location on first run (and take it from config later)
- if [ ! -f ${config_dir}/settings.json ]; then
- TRANSMISSION_OPTIONS="${TRANSMISSION_OPTIONS} --download-dir ${download_dir}"
- fi
- fi
-
- if [ -n "${runas_user}" ]; then
- if [ -f /etc/init.d/sysfs ]; then
- SSD_OPTIONS="${SSD_OPTIONS} --user ${runas_user}"
- else
- SSD_OPTIONS="${SSD_OPTIONS} --chuid ${runas_user}"
- fi
- fi
-}
-
-start() {
- check_config
-
- ebegin "Starting transmission daemon"
- start-stop-daemon --start --quiet --pidfile ${pidfile} ${SSD_OPTIONS} \
- --exec /usr/bin/transmission-daemon -- --pid-file ${pidfile} \
- $(test ${logfile} != "syslog" && echo --logfile ${logfile}) \
- ${TRANSMISSION_OPTIONS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping transmission daemon"
- start-stop-daemon --stop --quiet --retry TERM/45/QUIT/15 --pidfile ${pidfile}
- eend $?
-}
-
-reload() {
- ebegin "Reloading transmission configuration"
- start-stop-daemon --signal HUP --pidfile ${pidfile}
- eend $?
-}
-
diff --git a/net-p2p/transmission/metadata.xml b/net-p2p/transmission/metadata.xml
deleted file mode 100644
index 1eeccfd..0000000
--- a/net-p2p/transmission/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <use>
- <flag name='bindtointerface'>Apply unsupported patch to enable bind-to-interface functionality.</flag>
- <flag name='lightweight'>Optimize transmission for low-resource systems (smaller cache size, prefer unencrypted peer connections, etc.)</flag>
- <flag name='xfs'>Enable XFS filesystem capabilities by using <pkg>sys-fs/xfsprogs</pkg> headers (in building of fdlimit(.c))</flag>
- </use>
-</pkgmetadata>
diff --git a/net-p2p/transmission/transmission-2.73.ebuild b/net-p2p/transmission/transmission-2.73.ebuild
deleted file mode 100644
index e8a6cab..0000000
--- a/net-p2p/transmission/transmission-2.73.ebuild
+++ /dev/null
@@ -1,183 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/transmission-2.73.ebuild,v 1.5 2012/11/21 10:59:28 ago Exp $
-
-EAPI=5
-inherit autotools eutils fdo-mime gnome2-utils qt4-r2 user
-
-#if [[ ${PV} == *9999* ]]; then
-# ESVN_REPO_URI="svn://svn.transmissionbt.com/Transmission/trunk"
-# inherit subversion
-#else
- SRC_URI="http://download.transmissionbt.com/${PN}/files/${P}.tar.xz"
- KEYWORDS="amd64 ~arm ppc ppc64 x86 ~x86-fbsd ~amd64-linux"
-#fi
-
-DESCRIPTION="A Fast, Easy and Free BitTorrent client"
-HOMEPAGE="http://www.transmissionbt.com/"
-
-LICENSE="GPL-2 MIT"
-SLOT=0
-IUSE="ayatana bindtointerface gtk lightweight qt4 xfs"
-
-RDEPEND="
- >=dev-libs/libevent-2.0.10
- dev-libs/openssl:0
- net-libs/libnatpmp
- >=net-libs/miniupnpc-1.6.20120509
- >=net-misc/curl-7.16.3[ssl]
- sys-libs/zlib
- gtk? (
- >=dev-libs/dbus-glib-0.100
- >=dev-libs/glib-2.28
- >=x11-libs/gtk+-3.4:3
- ayatana? ( >=dev-libs/libappindicator-0.4.90:3 )
- )
- qt4? (
- dev-qt/qtcore:4=
- dev-qt/qtdbus:4=
- dev-qt/qtgui:4=
- )"
-
-DEPEND="${RDEPEND}
- >=dev-libs/glib-2
- dev-util/intltool
- virtual/pkgconfig
- sys-devel/gettext
- virtual/os-headers
- xfs? ( sys-fs/xfsprogs )"
-
-REQUIRED_USE="ayatana? ( gtk )"
-
-DOCS="AUTHORS NEWS qt/README.txt"
-
-pkg_setup() {
- enewgroup ${PN}
- enewuser ${PN} -1 -1 -1 ${PN}
-}
-
-src_unpack() {
-# if [[ ${PV} == *9999* ]]; then
-# subversion_src_unpack
-# else
- default
-# fi
-}
-
-src_prepare() {
-# if [[ ${PV} == *9999* ]]; then
-# subversion_src_prepare
-# ./update-version-h.sh
-# fi
-
- sed -i -e '/CFLAGS/s:-ggdb3::' configure.ac
- use ayatana || sed -i -e '/^LIBAPPINDICATOR_MINIMUM/s:=.*:=9999:' configure.ac
-
- # http://trac.transmissionbt.com/ticket/4324
- sed -i -e 's|noinst\(_PROGRAMS = $(TESTS)\)|check\1|' lib${PN}/Makefile.am || die
-
- use bindtointerface && epatch "${FILESDIR}"/transmission-2.73-bind-to-interface.patch
- use bindtointerface && epatch "${FILESDIR}"/transmission-2.73-build-failure.patch
-
- eautoreconf
-
- if use qt4; then
- cat <<-EOF > "${T}"/${PN}-magnet.protocol
- [Protocol]
- exec=${PN}-qt '%u'
- protocol=magnet
- Icon=${PN}
- input=none
- output=none
- helper=true
- listing=
- reading=false
- writing=false
- makedir=false
- deleting=false
- EOF
- fi
-}
-
-src_configure() {
- export ac_cv_header_xfs_xfs_h=$(usex xfs)
-
- econf \
- --enable-external-natpmp \
- $(use_enable lightweight) \
- $(use_with gtk)
-
- if use qt4; then
- pushd qt >/dev/null
- eqmake4 qtr.pro
- popd >/dev/null
- fi
-}
-
-src_compile() {
- emake
-
- if use qt4; then
- pushd qt >/dev/null
- emake
- lrelease translations/*.ts
- popd >/dev/null
- fi
-}
-
-src_install() {
- default
-
- rm -f "${ED}"/usr/share/${PN}/web/LICENSE
-
- newinitd "${FILESDIR}"/${PN}-daemon.initd.8 ${PN}-daemon
- newconfd "${FILESDIR}"/${PN}-daemon.confd.3 ${PN}-daemon
-
- keepdir /var/{${PN}/{config,downloads},log/${PN}}
- fowners -R ${PN}:${PN} /var/{${PN}/{,config,downloads},log/${PN}}
-
- if use qt4; then
- pushd qt >/dev/null
- emake INSTALL_ROOT="${ED}"/usr install
-
- domenu ${PN}-qt.desktop
-
- local res
- for res in 16 22 24 32 48; do
- insinto /usr/share/icons/hicolor/${res}x${res}/apps
- newins icons/hicolor_apps_${res}x${res}_${PN}.png ${PN}-qt.png
- done
-
- insinto /usr/share/kde4/services
- doins "${T}"/${PN}-magnet.protocol
-
- insinto /usr/share/qt4/translations
- doins translations/*.qm
- popd >/dev/null
- fi
-}
-
-pkg_preinst() {
- gnome2_icon_savelist
-}
-
-pkg_postinst() {
- fdo-mime_desktop_database_update
- gnome2_icon_cache_update
-
- elog "If you use ${PN}-daemon, please, set 'rpc-username' and"
- elog "'rpc-password' (in plain text, ${PN}-daemon will hash it on"
- elog "start) in settings.json file located at /var/${PN}/config or"
- elog "any other appropriate config directory."
- elog
- elog "Since µTP is enabled by default, ${PN} needs large kernel buffers for"
- elog "the UDP socket. You can append following lines into /etc/sysctl.conf:"
- elog " net.core.rmem_max = 4194304"
- elog " net.core.wmem_max = 1048576"
- elog "and run sysctl -p"
-}
-
-pkg_postrm() {
- fdo-mime_desktop_database_update
- gnome2_icon_cache_update
-}
diff --git a/net-p2p/transmission/transmission-2.76.ebuild b/net-p2p/transmission/transmission-2.76.ebuild
deleted file mode 100644
index 2754dff..0000000
--- a/net-p2p/transmission/transmission-2.76.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/transmission-2.76.ebuild,v 1.1 2013/01/13 06:29:19 ssuominen Exp $
-
-EAPI=5
-inherit autotools eutils fdo-mime gnome2-utils qt4-r2 user
-
-DESCRIPTION="A Fast, Easy and Free BitTorrent client"
-HOMEPAGE="http://www.transmissionbt.com/"
-SRC_URI="http://download.transmissionbt.com/${PN}/files/${P}.tar.xz"
-
-LICENSE="GPL-2 MIT"
-SLOT=0
-IUSE="ayatana bindtointerface gtk lightweight qt4 xfs"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux"
-
-RDEPEND="
- >=dev-libs/libevent-2.0.10
- dev-libs/openssl:0
- net-libs/libnatpmp
- >=net-libs/miniupnpc-1.6.20120509
- >=net-misc/curl-7.16.3[ssl]
- sys-libs/zlib
- gtk? (
- >=dev-libs/dbus-glib-0.100
- >=dev-libs/glib-2.28
- >=x11-libs/gtk+-3.4:3
- ayatana? ( >=dev-libs/libappindicator-0.4.90:3 )
- )
- qt4? (
- dev-qt/qtcore:4=
- dev-qt/qtdbus:4=
- dev-qt/qtgui:4=
- )"
-
-DEPEND="${RDEPEND}
- >=dev-libs/glib-2
- dev-util/intltool
- sys-devel/gettext
- virtual/os-headers
- virtual/pkgconfig
- xfs? ( sys-fs/xfsprogs )"
-
-REQUIRED_USE="ayatana? ( gtk )"
-
-DOCS="AUTHORS NEWS qt/README.txt"
-
-pkg_setup() {
- enewgroup ${PN}
- enewuser ${PN} -1 -1 -1 ${PN}
-}
-
-src_prepare() {
- sed -i -e '/CFLAGS/s:-ggdb3::' configure.ac
- use ayatana || sed -i -e '/^LIBAPPINDICATOR_MINIMUM/s:=.*:=9999:' configure.ac
-
- # http://trac.transmissionbt.com/ticket/4324
- sed -i -e 's|noinst\(_PROGRAMS = $(TESTS)\)|check\1|' lib${PN}/Makefile.am || die
-
- use bindtointerface && (
- epatch "${FILESDIR}/${P}"-bind-to-interface.patch
- epatch "${FILESDIR}/${P}"-build-failure.patch
- )
-
- eautoreconf
-}
-
-src_configure() {
- export ac_cv_header_xfs_xfs_h=$(usex xfs)
-
- econf \
- --enable-external-natpmp \
- $(use_enable lightweight) \
- $(use_with gtk)
-
- if use qt4; then
- pushd qt >/dev/null
- eqmake4 qtr.pro
- popd >/dev/null
- fi
-}
-
-src_compile() {
- emake
-
- if use qt4; then
- pushd qt >/dev/null
- emake
- lrelease translations/*.ts
- popd >/dev/null
- fi
-}
-
-src_install() {
- default
-
- rm -f "${ED}"/usr/share/${PN}/web/LICENSE
-
- newinitd "${FILESDIR}"/${PN}-daemon.initd.8 ${PN}-daemon
- newconfd "${FILESDIR}"/${PN}-daemon.confd.3 ${PN}-daemon
-
- keepdir /var/{${PN}/{config,downloads},log/${PN}}
- fowners -R ${PN}:${PN} /var/{${PN}/{,config,downloads},log/${PN}}
-
- if use qt4; then
- pushd qt >/dev/null
- emake INSTALL_ROOT="${ED}"/usr install
-
- domenu ${PN}-qt.desktop
-
- local res
- for res in 16 22 24 32 48; do
- newicon -s ${res} icons/hicolor_apps_${res}x${res}_${PN}.png ${PN}-qt.png
- done
-
- insinto /usr/share/qt4/translations
- doins translations/*.qm
- popd >/dev/null
- fi
-}
-
-pkg_preinst() {
- gnome2_icon_savelist
-}
-
-pkg_postinst() {
- fdo-mime_desktop_database_update
- gnome2_icon_cache_update
-
- elog "If you use ${PN}-daemon, please, set 'rpc-username' and"
- elog "'rpc-password' (in plain text, ${PN}-daemon will hash it on"
- elog "start) in settings.json file located at /var/${PN}/config or"
- elog "any other appropriate config directory."
- elog
- elog "Since µTP is enabled by default, ${PN} needs large kernel buffers for"
- elog "the UDP socket. You can append following lines into /etc/sysctl.conf:"
- elog " net.core.rmem_max = 4194304"
- elog " net.core.wmem_max = 1048576"
- elog "and run sysctl -p"
-}
-
-pkg_postrm() {
- fdo-mime_desktop_database_update
- gnome2_icon_cache_update
-}
diff --git a/net-print/foo2zjs/metadata.xml b/net-print/foo2zjs/metadata.xml
index 447cad3..097975e 100644
--- a/net-print/foo2zjs/metadata.xml
+++ b/net-print/foo2zjs/metadata.xml
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>printing</herd>
</pkgmetadata>
diff --git a/sys-fs/bedup/Manifest b/sys-fs/bedup/Manifest
deleted file mode 100644
index f66d89d..0000000
--- a/sys-fs/bedup/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST bedup-0.0.8.tar.gz 70874 SHA256 9ca849aaec8dab00bf0158327dfcd0c1cc5862756a29c4aadc61dd4606683822 SHA512 0784265944cc44d74b9878707d6c1bd0fdb54f0b7bfbe798c1e7b6578d46fd23dc2eebd934aac4e996be3747af807cb8002a5034d39848139fe0bddef03d90b1 WHIRLPOOL 42b2f421753df2f1b02012eeef31fa922e32fd18ebff6d3455ebdddb55d5fa2f3a65ec885b84635392514a56f0b3957f5ef0e5d9f00fdae38eb11e953b2b96f8
-DIST bedup-0.9.0.tar.gz 72557 SHA256 e1cf92729969037145d57ab04678d56d8748c784345a018294b2ab0aed988569 SHA512 6eb272bab5511ac55f42f8124c408c54e228d37dde972d91ce033bd6d22890be35f2b56167755c4533a4d4e9cb9c492ffb017dfae3b42cee3a0a4caa294e8826 WHIRLPOOL bd20699e972cfa04fc0247a57f84d8920f7ef74008ad3bb1e396d81acd2ad44b2e038810401da341fb575bdb7ea146ade7932a141178b34db194d0ea79e8da0e
diff --git a/sys-fs/bedup/bedup-0.0.8.ebuild b/sys-fs/bedup/bedup-0.0.8.ebuild
deleted file mode 100644
index 0791063..0000000
--- a/sys-fs/bedup/bedup-0.0.8.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-PYTHON_DEPEND="2:2.7 3:3.2"
-SUPPORT_PYTHON_ABIS="1"
-
-inherit base linux-info distutils
-
-DESCRIPTION="Deduplication for Btrfs filesystems"
-HOMEPAGE="http://pypi.python.org/pypi/bedup https://github.com/g2p/bedup"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-DEPEND=">=dev-python/cffi-0.4.2
->=sys-kernel/linux-headers-3.3
->=sys-libs/glibc-2.14
-sys-fs/btrfs-progs"
-RDEPEND="${DEPEND}
-virtual/python-argparse
-dev-python/pyxdg
-dev-python/sqlalchemy
-dev-python/alembic
-dev-python/contextlib2"
-
-DOCS="COPYING README.rst"
-
-MINKV="3.3"
-
-distutils_src_compile_pre_hook() {
- local CONFIG_CHECK="~BTRFS_FS"
- kernel_is -ge ${MINKV//./ } || ewarn "Kernel version at least ${MINKV} required"
- check_extra_config
-}
diff --git a/sys-fs/bedup/bedup-0.9.0.ebuild b/sys-fs/bedup/bedup-0.9.0.ebuild
deleted file mode 100644
index 744f633..0000000
--- a/sys-fs/bedup/bedup-0.9.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# By eroen, 2013
-# Distributed under the terms of the ISC licence
-# $Header: $
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 python3_2 )
-# 3_3: alembic
-
-inherit eutils distutils-r1
-
-DESCRIPTION="Btrfs deduplication"
-HOMEPAGE="http://pypi.python.org/pypi/bedup"
-SRC_URI="https://pypi.python.org/packages/source/b/bedup/bedup-0.9.0.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-HDEPEND=""
-LIBDEPEND="${PYTHON_DEPS}
- dev-python/cffi[${PYTHON_USEDEP}]
- sys-fs/btrfs-progs
- dev-python/alembic[${PYTHON_USEDEP}]
- dev-python/contextlib2[${PYTHON_USEDEP}]
- dev-python/pyxdg[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[sqlite,${PYTHON_USEDEP}]
- "
-DEPEND="${LIBDEPEND}"
-RDEPEND="${LIBDEPEND}"
-[[ ${EAPI} == *-hdepend ]] || DEPEND+=" ${HDEPEND}"
diff --git a/sys-fs/bedup/bedup-0.9.0_p20130806.ebuild b/sys-fs/bedup/bedup-0.9.0_p20130806.ebuild
deleted file mode 100644
index 91626ad..0000000
--- a/sys-fs/bedup/bedup-0.9.0_p20130806.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# By eroen, 2013
-# Distributed under the terms of the ISC licence
-# $Header: $
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 python3_2 python3_3 )
-# 3_3: alembic
-
-inherit eutils git-2 distutils-r1
-
-DESCRIPTION="Btrfs deduplication"
-HOMEPAGE="http://pypi.python.org/pypi/bedup"
-#SRC_URI="https://pypi.python.org/packages/source/b/bedup/bedup-0.9.0.tar.gz"
-EGIT_REPO_URI="https://github.com/g2p/bedup.git"
-EGIT_COMMIT="244cc49b779a81f2dc1bf1df62cbecc53e39d454"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="interactive xdg"
-
-# interactive has automagic run-time deps.
-HDEPEND=""
-LIBDEPEND="${PYTHON_DEPS}
- >=dev-python/cffi-0.4.2[${PYTHON_USEDEP}]
- dev-python/alembic[${PYTHON_USEDEP}]
- dev-python/contextlib2[${PYTHON_USEDEP}]
- >=dev-python/pycparser-2.9.1[${PYTHON_USEDEP}]
- xdg? ( dev-python/pyxdg[${PYTHON_USEDEP}] )
- <dev-python/sqlalchemy-0.9[sqlite,${PYTHON_USEDEP}]
- sys-fs/btrfs-progs
- "
-DEPEND="${LIBDEPEND}
- interactive? ( dev-python/ipdb[${PYTHON_USEDEP}] )"
-RDEPEND="${LIBDEPEND}"
-[[ ${EAPI} == *-hdepend ]] || DEPEND+=" ${HDEPEND}"
-
-use xdg || PATCHES+=( "${FILESDIR}"/use-var-db-bedup-for-db-drop-xdg-dependency.patch )
-
-src_install() {
- distutils-r1_src_install
- dodir /var/db/bedup
-}
diff --git a/sys-fs/bedup/bedup-0.9.0_p20140412.ebuild b/sys-fs/bedup/bedup-0.9.0_p20140412.ebuild
deleted file mode 100644
index e699e01..0000000
--- a/sys-fs/bedup/bedup-0.9.0_p20140412.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# By eroen, 2013
-# Distributed under the terms of the ISC licence
-# $Header: $
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 python3_3 )
-# 3_2: alembic
-# 3_4: contextlib, pyxdg
-
-inherit eutils git-r3 distutils-r1
-
-DESCRIPTION="Btrfs deduplication"
-HOMEPAGE="http://pypi.python.org/pypi/bedup http://github.com/g2p/bedup/"
-#SRC_URI="https://pypi.python.org/packages/source/b/bedup/bedup-0.9.0.tar.gz"
-EGIT_REPO_URI="https://github.com/g2p/bedup.git"
-EGIT_COMMIT="5189e166145b8954ac41883f81ef3c3b50dc96ab"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test xdg"
-
-# interactive has automagic run-time deps.
-LIBDEPEND="
- >=dev-python/cffi-0.4.2[${PYTHON_USEDEP}]
- dev-python/alembic[${PYTHON_USEDEP}]
- dev-python/contextlib2[${PYTHON_USEDEP}]
- >=dev-python/pycparser-2.9.1[${PYTHON_USEDEP}]
- xdg? ( dev-python/pyxdg[${PYTHON_USEDEP}] )
- >=dev-python/sqlalchemy-0.8.2[sqlite,${PYTHON_USEDEP}]
- sys-fs/btrfs-progs
- "
-DEPEND="${LIBDEPEND}
- test? ( dev-python/pytest[${PYTHON_USEDEP}] )
- "
-RDEPEND="${LIBDEPEND}"
-
-use xdg || PATCHES+=( "${FILESDIR}"/20140412-use-var-db-bedup-for-db-drop-xdg-dependency.patch )
-
-src_test() {
- local testvar=${PN}_RUN_TESTS
- if [[ -z "${!testvar}" ]]; then
- ewarn "Tests are skipped by default, since they fail if any of the"
- ewarn "following portage FEATURES are enabled:"
- ewarn " sandbox userpriv usersandbox"
- ewarn
- ewarn "If you want to run the tests anyway, set in your environment:"
- ewarn " ${PN}_RUN_TESTS=yes"
- ewarn
- else
- distutils-r1_src_test
- fi
-}
-
-python_test() {
- py.test -s "${BUILD_DIR}"/lib/bedup || die "py.test failed for ${EPYTHON}"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- use xdg || dodir /var/db/bedup
-}
-
-pkg_postinst() {
- elog "${PN} offers additional features if the following package is installed:"
- optfeature "interactive mode" dev-python/ipdb
-}
diff --git a/sys-fs/bedup/bedup-0.9.0_p20140413.ebuild b/sys-fs/bedup/bedup-0.9.0_p20140413.ebuild
deleted file mode 120000
index 1869ea3..0000000
--- a/sys-fs/bedup/bedup-0.9.0_p20140413.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-bedup-0.9.0_p20140412.ebuild \ No newline at end of file
diff --git a/sys-fs/bedup/files/20140412-use-var-db-bedup-for-db-drop-xdg-dependency.patch b/sys-fs/bedup/files/20140412-use-var-db-bedup-for-db-drop-xdg-dependency.patch
deleted file mode 100644
index 7d0f330..0000000
--- a/sys-fs/bedup/files/20140412-use-var-db-bedup-for-db-drop-xdg-dependency.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From fe5b5e274e384cdb371fd4ed62871a04e81247df Mon Sep 17 00:00:00 2001
-From: eroen <eroen@occam.eroen.eu>
-Date: Wed, 4 Sep 2013 11:47:31 +0200
-Subject: [PATCH] use /var/db/bedup for db, drop xdg dependency.
-
----
- bedup/__main__.py | 3 +--
- setup.py | 1 -
- 2 files changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/bedup/__main__.py b/bedup/__main__.py
-index 4f9a45f..6cc2568 100644
---- a/bedup/__main__.py
-+++ b/bedup/__main__.py
-@@ -26,7 +26,6 @@ import os
- import sqlalchemy
- import sys
- import warnings
--import xdg.BaseDirectory # pyxdg, apt:python-xdg
-
- from collections import defaultdict, OrderedDict
- from contextlib import closing
-@@ -93,7 +92,7 @@ def sql_setup(dbapi_con, con_record):
-
- def get_session(args):
- if args.db_path is None:
-- data_dir = xdg.BaseDirectory.save_data_path(APP_NAME)
-+ data_dir = '/var/db/bedup'
- args.db_path = os.path.join(data_dir, 'db.sqlite')
- url = sqlalchemy.engine.url.URL('sqlite', database=args.db_path)
- engine = sqlalchemy.engine.create_engine(
-diff --git a/setup.py b/setup.py
-index 21328e1..fe80cec 100755
---- a/setup.py
-+++ b/setup.py
-@@ -49,7 +49,6 @@ install_requires = [
- # Requiring this version to get rid of lextab/yacctab
- # files dumped in random places
- 'pycparser >= 2.9.1',
-- 'pyxdg',
- 'SQLAlchemy >= 0.8.2', # needs Query.select_entity_from()
- 'contextlib2',
- ]
---
-1.8.3.2
-
diff --git a/sys-fs/bedup/files/use-var-db-bedup-for-db-drop-xdg-dependency.patch b/sys-fs/bedup/files/use-var-db-bedup-for-db-drop-xdg-dependency.patch
deleted file mode 100644
index 46cc852..0000000
--- a/sys-fs/bedup/files/use-var-db-bedup-for-db-drop-xdg-dependency.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From fe5b5e274e384cdb371fd4ed62871a04e81247df Mon Sep 17 00:00:00 2001
-From: eroen <eroen@occam.eroen.eu>
-Date: Wed, 4 Sep 2013 11:47:31 +0200
-Subject: [PATCH] use /var/db/bedup for db, drop xdg dependency.
-
----
- bedup/__main__.py | 3 +--
- setup.py | 1 -
- 2 files changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/bedup/__main__.py b/bedup/__main__.py
-index 4f9a45f..6cc2568 100644
---- a/bedup/__main__.py
-+++ b/bedup/__main__.py
-@@ -26,7 +26,6 @@ import os
- import sqlalchemy
- import sys
- import warnings
--import xdg.BaseDirectory # pyxdg, apt:python-xdg
-
- from collections import defaultdict, OrderedDict
- from contextlib import closing
-@@ -93,7 +92,7 @@ def sql_setup(dbapi_con, con_record):
-
- def get_session(args):
- if args.db_path is None:
-- data_dir = xdg.BaseDirectory.save_data_path(APP_NAME)
-+ data_dir = '/var/db/bedup'
- args.db_path = os.path.join(data_dir, 'db.sqlite')
- url = sqlalchemy.engine.url.URL('sqlite', database=args.db_path)
- engine = sqlalchemy.engine.create_engine(
-diff --git a/setup.py b/setup.py
-index 21328e1..fe80cec 100755
---- a/setup.py
-+++ b/setup.py
-@@ -49,7 +49,6 @@ install_requires = [
- # Requiring this version to get rid of lextab/yacctab
- # files dumped in random places
- 'pycparser >= 2.9.1',
-- 'pyxdg',
- 'SQLAlchemy',
- 'contextlib2',
- ]
---
-1.8.3.2
-
diff --git a/sys-fs/bedup/metadata.xml b/sys-fs/bedup/metadata.xml
deleted file mode 100644
index 9ca490a..0000000
--- a/sys-fs/bedup/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription lang="en">
- Deduplication for Btrfs.
-
- bedup looks for new and changed files, making sure that multiple copies of identical files share space on disk. It integrates deeply with btrfs so that scans are incremental and low-impact.
- </longdescription>
- <use>
- <flag name="interactive">Pull in dependencies for running an interactive shell (useful for prototyping).</flag>
- <flag name="xdg">Use <pkg>dev-python/pyxdg</pkg> to place database in $HOME.</flag>
- </use>
-</pkgmetadata>
-
diff --git a/sys-fs/libeatmydata/Manifest b/sys-fs/libeatmydata/Manifest
deleted file mode 100644
index 936d4f3..0000000
--- a/sys-fs/libeatmydata/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libeatmydata-65.tar.gz 408813 SHA256 8a16c1ff04aeceed1891e2772728359d3368347e1807bed60fc6147d8968d5c1 SHA512 b2e3ed9c67b6ae9b0e5918b114bf0fb6e59dda3bff9b9331a8c280243822d4c77f35e9b08138ea65a74c893cc2bd67677bbf28b03bc61f011b24dd39d171adc2 WHIRLPOOL 51347727497073130ab4ea18d963a8d98c3e950a56c612f0485f205908b1b97f10f6e0afdad2a3d1c448bde2132426fc0a173a6140009a26a3a8db581b13460e
-DIST libeatmydata-82.tar.gz 407977 SHA256 0b675f58069f912727cee5eb75f9ff1a6a8300fe7e3fe4fc6bdd03b7c2c15b29 SHA512 882b2464c26d99ea0b01a2f1171dddb637ac0b3509c18416da4e0199f515ff23c43a7bb5eb641bc3447a2c6be06c261260713565c3e4c4b988995d09f52d623c WHIRLPOOL 5f6decc9e2a8de05379bd16874b2fb8865b52b115686c11cb0d0126b2ace822e0722cf0e2a7810e9f573fb1845dac00db991ecdbef10e98f49a1a5e4a7705153
diff --git a/sys-fs/libeatmydata/libeatmydata-65.ebuild b/sys-fs/libeatmydata/libeatmydata-65.ebuild
deleted file mode 100644
index 4585eaa..0000000
--- a/sys-fs/libeatmydata/libeatmydata-65.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/libeatmydata/libeatmydata-65.ebuild,v 1.1 2012/10/15 20:17:14 slyfox Exp $
-
-EAPI="4"
-inherit eutils multilib-minimal
-
-DESCRIPTION="LD_PRELOAD hack to convert sync()/msync() and the like to NO-OP"
-HOMEPAGE="https://launchpad.net/libeatmydata/"
-SRC_URI="https://launchpad.net/${PN}/trunk/release-${PV}/+download/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-# sandbox fools LD_PRELOAD and libeatmydata does not get control
-# bug/feature in sandbox?
-#DEPEND="test? ( dev-util/strace )"
-RESTRICT=test
-
-DEPEND="sys-apps/sed"
-RDEPEND=""
-
-src_prepare() {
- multilib_copy_sources
-}
-
-src_install() {
- multilib-minimal_src_install
-
- prune_libtool_files --all
- dodoc AUTHORS README
-}
diff --git a/sys-fs/libeatmydata/libeatmydata-82.ebuild b/sys-fs/libeatmydata/libeatmydata-82.ebuild
deleted file mode 100644
index d7e8466..0000000
--- a/sys-fs/libeatmydata/libeatmydata-82.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/libeatmydata/libeatmydata-82.ebuild,v 1.1 2013/07/18 14:15:51 slyfox Exp $
-
-EAPI=5
-inherit eutils multilib-minimal
-
-DESCRIPTION="LD_PRELOAD hack to convert sync()/msync() and the like to NO-OP"
-HOMEPAGE="https://launchpad.net/libeatmydata/"
-SRC_URI="https://launchpad.net/${PN}/trunk/${P}/+download/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-# sandbox fools LD_PRELOAD and libeatmydata does not get control
-# bug/feature in sandbox?
-#DEPEND="test? ( dev-util/strace )"
-RESTRICT=test
-
-DEPEND="sys-apps/sed"
-RDEPEND=""
-
-src_prepare() {
- multilib_copy_sources
-}
-
-src_install() {
- multilib-minimal_src_install
-
- prune_libtool_files --all
- dodoc AUTHORS README
-}
diff --git a/sys-fs/libeatmydata/libeatmydata-82.ebuild.orig b/sys-fs/libeatmydata/libeatmydata-82.ebuild.orig
deleted file mode 100644
index def77b4..0000000
--- a/sys-fs/libeatmydata/libeatmydata-82.ebuild.orig
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/libeatmydata/libeatmydata-82.ebuild,v 1.1 2013/07/18 14:15:51 slyfox Exp $
-
-EAPI=5
-inherit eutils
-
-DESCRIPTION="LD_PRELOAD hack to convert sync()/msync() and the like to NO-OP"
-HOMEPAGE="https://launchpad.net/libeatmydata/"
-SRC_URI="https://launchpad.net/${PN}/trunk/${P}/+download/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-# sandbox fools LD_PRELOAD and libeatmydata does not get control
-# bug/feature in sandbox?
-#DEPEND="test? ( dev-util/strace )"
-RESTRICT=test
-
-DEPEND="sys-apps/sed"
-RDEPEND=""
-
-src_install() {
- default
-
- prune_libtool_files --all
- dodoc AUTHORS README
-}
diff --git a/sys-fs/libeatmydata/metadata.xml b/sys-fs/libeatmydata/metadata.xml
deleted file mode 100644
index 2949fcd..0000000
--- a/sys-fs/libeatmydata/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer>
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
- <longdescription>
- eatmydata: library and utilities designed to disable fsync and friends.
- Used as LD_PRELOAD hack to hijack fsync() and open(O_SYNC) calls.
- </longdescription>
-</pkgmetadata>
diff --git a/sys-libs/libfaketime/metadata.xml b/sys-libs/libfaketime/metadata.xml
index 1534413..71d90a6 100644
--- a/sys-libs/libfaketime/metadata.xml
+++ b/sys-libs/libfaketime/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer>
- <email>radhermit@gentoo.org</email>
- <name>Tim Harder</name>
- </maintainer>
<longdescription lang="en">
The Fake Time Preload Library (FTPL, a.k.a. libfaketime) intercepts
various system calls which programs use to retrieve the current date and time.
@@ -13,4 +9,7 @@
without having to change the time system-wide. FTPL allows you to specify both
absolute dates (e.g., 2004-01-01) and relative dates (e.g., 10 days ago).
</longdescription>
+ <upstream>
+ <remote-id type="github">wolfcw/libfaketime</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-process/ftop/Manifest b/sys-process/ftop/Manifest
deleted file mode 100644
index c6a399f..0000000
--- a/sys-process/ftop/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST ftop-1.0.tar.bz2 143122 SHA256 3a705f4f291384344cd32c3dd5f5f6a7cd7cea7624c83cb7e923966dbcd47f82 SHA512 f572a52481db7d52a1e384500f5ec57eec36fefab95c7237197d69650e6522dd5ddd4c4425a08ffe853ba730519b90de522186aad5d8bd94cece6e66db5e634a WHIRLPOOL 091fd2e25770f77423fbd137d7a4f5b2989d9ac7478b360d7e7d1a22649dcd68b922882d30159e6e136309f92b156f07fb4c9ac886e7c569d17b3084938c89a7
-EBUILD ftop-1.0.ebuild 639 SHA256 573b2ca0c4c59b0849e8568e799a58e909b890786a4e14f0d831a09b90075119 SHA512 394ee7d35a194396469e5c04af606f83fd216399436ca19019958446cbe82362093ee9fc3f5b3213e76ef91a58f1f8f7aba29a99bd37efc9399c99101c4de242 WHIRLPOOL 163c9c25f1549b57fad68774e02d5af03790f89c92afd11000a335617ce2caea27b36491e5ced934909cb1ea2a9250315a2eee05236c77be1f1cdc282a84f01f
-MISC metadata.xml 631 SHA256 85866c437f32f5a503a57935137128ee3bd10e76bbdadc833a67474073d4a6f8 SHA512 5c311cd9972e4598bc8e6bb984eaf930128145e1eea6f0c3bd8072a0368a6f783cf4e8a9efef58cce0457a4591dc47259372e4628870f4cd3752b49b26fe5b4f WHIRLPOOL da8ae7a0284f361aa5616ced9db4f80994bc977d0fc26763b3ee7541ba29862f016ebe3e2b809c593f4025005b679d90c236a273c273798dc11fb6cf9df6b7b8
diff --git a/sys-process/ftop/ftop-1.0.ebuild b/sys-process/ftop/ftop-1.0.ebuild
deleted file mode 100644
index 337baa4..0000000
--- a/sys-process/ftop/ftop-1.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# By eroen, 2013
-# Distributed under the terms of the ISC licence
-# $Header: $
-
-EAPI=5
-
-inherit linux-info
-
-DESCRIPTION="Show progress of open files and file systems."
-HOMEPAGE="https://code.google.com/p/ftop/"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-HDEPEND=">=sys-devel/autoconf-2.61"
-LIBDEPEND="sys-libs/ncurses"
-DEPEND="${LIBDEPEND}"
-RDEPEND="${LIBDEPEND}"
-[[ ${EAPI} == *-hdepend ]] || DEPEND+=" ${HDEPEND}"
-
-pkg_pretend() {
- if ! kernel_is -ge 2 6 22; then
- ewarn "${P} will have limited functionality when not running on" \
- "linux later than 2.6.22."
- fi
-}
diff --git a/sys-process/ftop/metadata.xml b/sys-process/ftop/metadata.xml
deleted file mode 100644
index 1c92470..0000000
--- a/sys-process/ftop/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription lang="en">
- Ftop is to files what top is to processes. The progress of all open files and file systems can be monitored. If run as a regular user, the set of open files will be limited to those in that user's processes (which is generally all that is of interest to the user). In any case, the selection of which files to display is possible through a wide assortment of options. As with top, the items are displayed in order from most to least active.
- </longdescription>
-</pkgmetadata>
diff --git a/www-apps/nikola/metadata.xml b/www-apps/nikola/metadata.xml
index 2dc8b63..d359570 100644
--- a/www-apps/nikola/metadata.xml
+++ b/www-apps/nikola/metadata.xml
@@ -1,30 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>python</herd>
- <maintainer>
- <email>yngwin@gentoo.org</email>
- <name>Ben de Groot</name>
- </maintainer>
<use>
- <flag name='assets'>
+ <flag name="assets">
Support web asset management through <pkg>dev-python/assets</pkg>
</flag>
- <flag name='charts'>
+ <flag name="charts">
Support chart generation through <pkg>dev-python/pygal</pkg>
</flag>
- <flag name='hyphenation'>
+ <flag name="hyphenation">
Add hyphenation support through <pkg>dev-python/pyphen</pkg>
</flag>
- <flag name='ipython'>
+ <flag name="ipython">
Add IPython notebook compilation and LESS support
</flag>
- <flag name='jinja'>
+ <flag name="jinja">
Add support for <pkg>dev-python/jinja</pkg> as alternative templating
- engine to Mako
+ engine to Mako
</flag>
<flag name='markdown'>
Add support for Markdown as alternative markup language to reStructuredText
</flag>
</use>
+ <upstream>
+ <remote-id type="pypi">Nikola</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-misc/xautolock/Manifest b/x11-misc/xautolock/Manifest
deleted file mode 100644
index d152425..0000000
--- a/x11-misc/xautolock/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST xautolock-2.2.tgz 35288 SHA256 11f0275175634e6db756e96f5713ec91b8b1c41f8663df54e8a5d27dc71c4da2 SHA512 5f9dcc25cda706610e77a74235c4b421ca3a833d154b1a269057f0774579e1c6ec36fe0e5be5fadd6942ce8c1640a760f891397586b162e6024b524635153d04 WHIRLPOOL c10262350dd39d9e69d491ee2164911ccb6077dd7f8be08981256e4fcb3d7059133fb172360d8f33b12d89e6576f4c4aa6b9d3ea4cdff427e4d5a0dab6ba757c
-EBUILD xautolock-2.2.ebuild 993 SHA256 54f5029b0036af9ddfa59b5f45694154249d75dd300efd8134d0ca28c2b2001a SHA512 f59cf38db39c9741720a7928d5ca3f891dc7f4abff8a7dcb03926e1b5f534f621d32678996cc53fc75bb82b96e3b8fcd00fc83a337525e1964d18c02f5f99357 WHIRLPOOL 2029a8dad036805c02c0be8cbd3ef7e0086201e67a20b1d81a7b15f309b4448e25105ed5882f7b85df3465737d14f30b2e7f938316e884d61904a5903ce9b0cc
-MISC metadata.xml 166 SHA256 8e7de0a7f7c15840474de373a3ce36adcc5dd658b2e4d18366fcb63b964a0826 SHA512 23980b683f9a89f988407b1dcc27a4465a18912f6e6cf8e1fed46182f00c4023d4802434f36b9482121ba9ffe9bc5d6e91b5d3a4ba9067fcfd8e57799c128fe3 WHIRLPOOL 96d79ff499e108ad89b80507c2e94a09af1e8031e5e2a7f9cecb2dddbf517872361436bdb983dc580660064a62663ad63aa1fad8f49dd3758253f4e378bfd297
diff --git a/x11-misc/xautolock/metadata.xml b/x11-misc/xautolock/metadata.xml
deleted file mode 100644
index 7312250..0000000
--- a/x11-misc/xautolock/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>desktop-misc</herd>
-</pkgmetadata>
diff --git a/x11-misc/xautolock/xautolock-2.2.ebuild b/x11-misc/xautolock/xautolock-2.2.ebuild
deleted file mode 100644
index 3bc70e0..0000000
--- a/x11-misc/xautolock/xautolock-2.2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-misc/xautolock/xautolock-2.2.ebuild,v 1.9 2012/12/16 15:27:38 armin76 Exp $
-
-inherit toolchain-funcs
-
-DESCRIPTION="An automatic X screen-locker/screen-saver."
-SRC_URI="http://www.ibiblio.org/pub/Linux/X11/screensavers/${P}.tgz"
-HOMEPAGE="http://www.ibiblio.org/pub/Linux/X11/screensavers/"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc sparc x86"
-IUSE=""
-
-RDEPEND="
- || (
- x11-misc/alock
- x11-misc/i3lock
- x11-misc/slimlock
- >=x11-misc/slim-1.3.6
- x11-misc/slock
- x11-misc/xlockmore
- x11-misc/xtrlock
- )
- x11-libs/libXScrnSaver"
-DEPEND="${RDEPEND}
- x11-misc/imake
- app-text/rman
- x11-proto/scrnsaverproto"
-
-src_compile() {
- xmkmf || die
- emake EXTRA_LDOPTIONS="${LDFLAGS}" CC="$(tc-getCC)" \
- CDEBUGFLAGS="${CFLAGS}" || die
-}
-
-src_install () {
- dobin xautolock || die
- newman xautolock.man xautolock.1
- dodoc Changelog Readme Todo || die
-}
diff --git a/x11-terms/terminology/Manifest b/x11-terms/terminology/Manifest
deleted file mode 100644
index 457c661..0000000
--- a/x11-terms/terminology/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-EBUILD terminology-0.3.50.9999.ebuild 682 SHA256 080846790f3db63288188c24b6bd851cd949ab37ebea2978c4dd37c223cb388d SHA512 3383e0888f02f91c4f26fa6566b6dad8005647bb97a211dc9f9d6d544aed58956708d13085380142d6c46af68f15fd79ff80a4087d435017873c8829c6fc0fc4 WHIRLPOOL b0fa3ee2deff1be901f870724426b6f0f5afd32c058975084d319388c75740ca01e188069e9ac9e7f4c211e49b2a44382ed30ea11b0de3a0a331864dd90890c8
-EBUILD terminology-9999.ebuild 606 SHA256 f0f3149b3d45b531d3eeea359485ae706c6af4c1365d5a332189caf30bf6d0c6 SHA512 9292a0c4f3acb48349380718e02e1249436b99d0ab7808044371467be81a37a0d5f2465b45cec4a7cf273d04b6d4160e14f5e99b51cc99f611d29a79afc937fc WHIRLPOOL 0e46267f7d488b1f120e98ad6d53eb902fde36b5d14e35bd5f6781fba2901d2bea0b416d55aab9640d035f9c6d4d516dc2afc90750643345290f2d589212c118
-MISC metadata.xml 254 SHA256 7bdf8a314ea76daca43d4e6df9dddef4fee0a4c9e96b0a8dd8c8355b1952d4bf SHA512 61a3b696a2c7ca834f49e69ab60175e1a4e9ff2112f0539ece007bb32b946c6bb43ca1d9cf5cebf68baed9ee3719eec55491470a078a0cf503e8b4d1038f12b9 WHIRLPOOL 6a070d3d3fd52b897c3c81d5a3cb95656422abb04866d7173ad993009ae42d5f45ebad47dd05540f524dbb5de2437d6221441be0f9d8c11a5a72d286bd2bb117
diff --git a/x11-terms/terminology/metadata.xml b/x11-terms/terminology/metadata.xml
deleted file mode 100644
index 4d7a817..0000000
--- a/x11-terms/terminology/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer>
-<email>enlightenment@gentoo.org</email>
-</maintainer>
-<longdescription lang="en">
-</longdescription>
-</pkgmetadata>
-
diff --git a/x11-terms/terminology/terminology-0.3.50.9999.ebuild b/x11-terms/terminology/terminology-0.3.50.9999.ebuild
deleted file mode 100644
index 99e4344..0000000
--- a/x11-terms/terminology/terminology-0.3.50.9999.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="5"
-
-EGIT_SUB_PROJECT=apps
-EGIT_URI_APPEND=${PN}
-EGIT_COMMIT=016faae65041a1f5c56b3ddf4c34e71ee2cc0ffe
-inherit enlightenment
-
-DESCRIPTION="Simple EFL based terminal emulator"
-HOMEPAGE="http://www.enlightenment.org/"
-
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND=">=dev-libs/ecore-1.7.0[evas]
- >=dev-libs/eet-1.7.0
- >=dev-libs/efreet-1.7.0
- >=dev-libs/eina-1.7.0
- >=dev-libs/eio-1.7.0
- >=dev-libs/embryo-1.7.0
- >=media-libs/elementary-1.7.0
- >=media-libs/evas-1.7.0
- >=media-libs/edje-1.7.0
- >=media-libs/emotion-1.7.0
- media-libs/freetype:2"
-DEPEND="${RDEPEND}"
diff --git a/x11-terms/terminology/terminology-9999.ebuild b/x11-terms/terminology/terminology-9999.ebuild
deleted file mode 100644
index 5f0bd47..0000000
--- a/x11-terms/terminology/terminology-9999.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="5"
-
-EGIT_SUB_PROJECT=apps
-EGIT_URI_APPEND=${PN}
-inherit enlightenment
-
-DESCRIPTION="Simple EFL based terminal emulator"
-HOMEPAGE="http://www.enlightenment.org/"
-
-IUSE=""
-
-RDEPEND=">=dev-libs/ecore-1.7.0[evas]
- >=dev-libs/eet-1.7.0
- >=dev-libs/efreet-1.7.0
- >=dev-libs/eina-1.7.0
- >=dev-libs/eio-1.7.0
- >=dev-libs/embryo-1.7.0
- >=media-libs/elementary-1.7.0
- >=media-libs/evas-1.7.0
- >=media-libs/edje-1.7.0
- >=media-libs/emotion-1.7.0
- media-libs/freetype:2"
-DEPEND="${RDEPEND}"
diff --git a/x11-wm/dwm/Manifest b/x11-wm/dwm/Manifest
deleted file mode 100644
index 2ea6864..0000000
--- a/x11-wm/dwm/Manifest
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
-AUX dwm-session2 170 SHA256 b25088c71daa7ec759bf1ae758b8ef528dcced6cfb642ccdcb69ffa8644dc5ab SHA512 e882c447824ec430862f9af968aad0f2276b7ab28cf60b8f8e49551e3b9cc2a249429987f4a7d6577eb18182b7709fb4d7c5c4651192a04dc2394ba9afa89f08 WHIRLPOOL 73a201f8e4385bc62fbf1aeb3c54918ef6ec0eeefbf8c100a694d88b5f036b520633f1957b2f3f3b70c95f8e374e90327f306afb0766c8f0dfe715084a02d079
-AUX dwm.desktop 133 SHA256 1a1ae9d1d5eb4747a1241798969c5b151ec66901a62af683304c6f23e4ccc30e SHA512 23ccd0a41c20713c1d6a5eff9a4560b30886afc26fe83100ec23298a675a71d9957d2dd85c0ee2c2e2210022e6035a9a3de30eff7692f01f1b80ed6c95bf731b WHIRLPOOL 24d29359829deeeecb9b4d010243c81e22be41207c7528a6ebcc6108aa1a0c1bb0b8242f6b20f83b67a0340a5d1178f077989469b30ed71fb952d820743b9c62
-DIST dwm-6.0.tar.gz 20810 SHA256 b2b9483de69259eeea56844899bb2385158d3e79a42d82b10c142099fc8eeb56 SHA512 895d1d363b3756c9ba19dbf06af34be753c1ae5971d540113d7f8901ad174c2e5944ef769b43e65f7b700f34832bb24082bc91d999b287610c9925182ce70c00 WHIRLPOOL bac35d2cb41df313bda2dfd2ca5b12467ec22e41c1640d8d65e67f1e7231baffc96151de03e18d8823918ddd2bdf905a6e0d984592da5cd525e87fb638f0b3dd
-EBUILD dwm-6.0.ebuild 2122 SHA256 084752d182e60fc57740233c46e12c6b50c318ea7cfc01b81d0f4d4df62c3587 SHA512 74763f7b10c8852f7313a0d66b04dc824ba19d6c5739e09db60c27b1d2594b5aef95e4f7a723268707ce7f690ff4935ad4566280e95f44608bf66a1a4053ccab WHIRLPOOL 61acfe38bb039caf8f09b3359a72b441dff59d7b1d8ebfc6189342a8d7b69e488f23868f5670fb3493388bc8afe48c09bda7cdf75de8c2d6d3696896e855f0cd
-MISC ChangeLog 9896 SHA256 a936953e12230439b2838e0b718d114c2f8f331b9c724a1b9c3dc4e525388f49 SHA512 aba6f29dd87226cc4997af49a854b9fc3b6166c9e47cb0aa1b3fc324011d72e1423aea8564de831e04bb003f7d486949541711cecee522f6f1bd91912716df79 WHIRLPOOL 1ee618ca14a6f8f24aca85acb00954b318bcd512426335312717b5b78e3c19081080b5ee09cfe5b8d2e01295497880487c34a9d30664943564e3d939cf50ce78
-MISC metadata.xml 449 SHA256 8f364dda7cabf4dae4f0589738d4bc76fa6d19141dfee49fa26fe291308de506 SHA512 b4f6785c224fa7e25b9ce138d0d3f7b6a12e066b9d9632bef8a0f93a5e96b932046cad20bbaa0b669cafb115f8651910fea31dfb3077b801d9c4f3517ae5fa75 WHIRLPOOL fb5d4393c1f69b399e6e1d84f2aed8bd4ca47c549a1b9569b11ed0a3f5dec79405de157c8b6d3abf9d7b51642b928537e2d2259cffe8056d5219086d5ad08f9c
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.22 (GNU/Linux)
-
-iEYEAREIAAYFAlJio20ACgkQCaWpQKGI+9RAPQCdE3Sc43YbwyVQs9vodimGfBJS
-VBgAnjuQF+HUaiUj329+gbaUcItvHAyn
-=icUc
------END PGP SIGNATURE-----
diff --git a/x11-wm/dwm/dwm-6.0.ebuild b/x11-wm/dwm/dwm-6.0.ebuild
deleted file mode 100644
index 33c4f6b..0000000
--- a/x11-wm/dwm/dwm-6.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/dwm/dwm-6.0.ebuild,v 1.12 2013/02/06 15:19:31 jer Exp $
-
-EAPI="4"
-
-inherit eutils savedconfig toolchain-funcs
-
-DESCRIPTION="a dynamic window manager for X11"
-HOMEPAGE="http://dwm.suckless.org/"
-SRC_URI="http://dl.suckless.org/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd"
-IUSE="xinerama"
-
-DEPEND="x11-libs/libX11
- xinerama? (
- x11-proto/xineramaproto
- x11-libs/libXinerama
- )"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i \
- -e "s/CFLAGS = -std=c99 -pedantic -Wall -Os/CFLAGS += -std=c99 -pedantic -Wall/" \
- -e "/^LDFLAGS/{s|=|+=|g;s|-s ||g}" \
- -e "s/#XINERAMALIBS =/XINERAMALIBS ?=/" \
- -e "s/#XINERAMAFLAGS =/XINERAMAFLAGS ?=/" \
- -e "s@/usr/X11R6/include@${EPREFIX}/usr/include/X11@" \
- -e "s@/usr/X11R6/lib@${EPREFIX}/usr/lib@" \
- -e "s@-I/usr/include@@" -e "s@-L/usr/lib@@" \
- config.mk || die
- sed -i \
- -e '/@echo CC/d' \
- -e 's|@${CC}|$(CC)|g' \
- Makefile || die
-
- restore_config config.h
- epatch_user
-}
-
-src_compile() {
- if use xinerama; then
- emake CC=$(tc-getCC) dwm
- else
- emake CC=$(tc-getCC) XINERAMAFLAGS="" XINERAMALIBS="" dwm
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
-
- exeinto /etc/X11/Sessions
- newexe "${FILESDIR}"/dwm-session2 dwm
-
- insinto /usr/share/xsessions
- doins "${FILESDIR}"/dwm.desktop
-
- dodoc README
-
- save_config config.h
-}
-
-pkg_postinst() {
- einfo "This ebuild has support for user defined configs"
- einfo "Please read this ebuild for more details and re-emerge as needed"
- einfo "if you want to add or remove functionality for ${PN}"
- if ! has_version x11-misc/dmenu; then
- elog "Installing ${PN} without x11-misc/dmenu"
- einfo "To have a menu you can install x11-misc/dmenu"
- fi
- einfo "You can custom status bar with a script in HOME/.dwm/dwmrc"
- einfo "the ouput is redirected to the standard input of dwm"
- einfo "Since dwm-5.4, status info in the bar must be set like this:"
- einfo "xsetroot -name \"\`date\` \`uptime | sed 's/.*,//'\`\""
-}
diff --git a/x11-wm/dwm/files/dwm-session2 b/x11-wm/dwm/files/dwm-session2
deleted file mode 100644
index f886ce9..0000000
--- a/x11-wm/dwm/files/dwm-session2
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-DIR=${HOME}/.dwm
-if [ -f "${DIR}"/dwmrc ]; then
- /bin/sh "${DIR}"/dwmrc &
-else
- while true; do
- xsetroot -name "`date`"
- sleep 1
- done &
-fi
-exec /usr/bin/dwm
diff --git a/x11-wm/dwm/files/dwm.desktop b/x11-wm/dwm/files/dwm.desktop
deleted file mode 100644
index d6131b5..0000000
--- a/x11-wm/dwm/files/dwm.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=dwm
-Comment=dynamic window manager
-Exec=/etc/X11/Sessions/dwm
-TryExec=dwm
-Icon=
-Type=Application
diff --git a/x11-wm/dwm/files/unicode.html b/x11-wm/dwm/files/unicode.html
deleted file mode 100644
index 149979d..0000000
--- a/x11-wm/dwm/files/unicode.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<div itemprop="articleBody" class="msgBody">
-<!--X-Body-of-Message-->
-<pre>On Tue, Dec 05, 2006 at 08:13:33AM +0100, Sander van Dijk wrote:
-&gt; Not sure about the details, but if I'm not mistaken this has something
-&gt; to do with font 'subsets' (that's probably not the right word). From
-&gt; what I understand, there are some character subsets defined for utf-8,
-&gt; and a font may support some, but not all of them. I believe xterm just
-&gt; uses whatever the font provides, ignoring what it doesn't provide,
-&gt; while dwm discards the font's abilities entirely if it doesn't support
-&gt; all subsets. wmii worked this way too, but was recently patched to
-&gt; allow 'half utf-8 capable' fonts to work.
-&gt;
-&gt; Note that I don't really know what I'm talking about here, this is
-&gt; just what I understood from a thread on the wmii mailinglist, I *may*
-&gt; have gotten it completely wrong.</pre><pre>
-
-I'm not sure if it might solve the problem dmtry noticed, but
-attached patch will enforce to use the specified font even if
-necessary font sets are missing. dmtry let me know if you get
-better results with this patch applied (though I doubt it,
-better is to uncomment the missing fontsets reported by dwm in
-your ru_RU.UTF-8/XLC_LOCALE file... but well.
-
-For wmii, afair the patch Daniel Baumann supplied for Debian
-is the opposite of the patch I applied (which means the default
-of dwm)...
-
-Regards,
---
- Anselm R. Garbe &gt;&lt; <a rel="nofollow" href="http://suckless.org/~arg/">http://suckless.org/~arg/</a> &gt;&lt; GPG key: 0D73F361
-</pre><pre>diff -r 762c339325b3 draw.c
---- a/draw.c Mon Dec 04 21:01:14 2006 +0100
-+++ b/draw.c Tue Dec 05 08:43:12 2006 +0100
-@@ -179,7 +179,7 @@ setfont(const char *fontstr) {
- while(n--)
- fprintf(stderr, &quot;missing fontset: %s\n&quot;, missing[n]);
- XFreeStringList(missing);
-- if(dc.font.set) {
-+ if(0 &amp;&amp; dc.font.set) {
- XFreeFontSet(dpy, dc.font.set);
- dc.font.set = NULL;
- }
-</pre>
-
-</div>
diff --git a/x11-wm/dwm/metadata.xml b/x11-wm/dwm/metadata.xml
deleted file mode 100644
index 8c7b376..0000000
--- a/x11-wm/dwm/metadata.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
-<longdescription>dwm is a dynamic window manager for X. It manages windows in tiling and floating modes. Either mode can be applied dynamically, optimizing the environment for the application in use and the task performed.</longdescription>
-</pkgmetadata>