diff options
19 files changed, 419 insertions, 273 deletions
diff --git a/dev-util/synopsis/files/synopsis-0.12-gcc45.patch b/dev-util/synopsis/files/synopsis-0.12-gcc45.patch index ff0fe2be5da8..c0dbdd91dc1d 100644 --- a/dev-util/synopsis/files/synopsis-0.12-gcc45.patch +++ b/dev-util/synopsis/files/synopsis-0.12-gcc45.patch @@ -4,8 +4,8 @@ http://bugs.gentoo.org/show_bug.cgi?id=318429 Patch written by Kacper Kowalik <xarthisius.kk@gmail.com> ---- Synopsis/Parsers/Cxx/Types.cc -+++ Synopsis/Parsers/Cxx/Types.cc +--- a/Synopsis/Parsers/Cxx/Types.cc ++++ b/Synopsis/Parsers/Cxx/Types.cc @@ -169,7 +169,7 @@ // Class Types::FuncPtr // diff --git a/dev-util/synopsis/files/synopsis-0.13-bdwgc-8.patch b/dev-util/synopsis/files/synopsis-0.13-bdwgc-8.patch new file mode 100644 index 000000000000..5d10b65c60f9 --- /dev/null +++ b/dev-util/synopsis/files/synopsis-0.13-bdwgc-8.patch @@ -0,0 +1,25 @@ +https://bugs.gentoo.org/679642 +https://github.com/ivmai/bdwgc/issues/268 + +--- a/src/configure ++++ b/src/configure +@@ -4046,7 +4046,7 @@ if test "$ac_cv_enable_gc" == "yes"; then + GC_BRIDGE=$srcdir/Synopsis/PTree/GC-enabled.tmpl + if test -n "$ac_cv_with_gc_prefix"; then + CPPFLAGS="$CPPFLAGS -I$ac_cv_with_gc_prefix/include/gc" +- LIBS="-L$ac_cv_with_gc_prefix/lib -lgc $LIBS" ++ LIBS="-L$ac_cv_with_gc_prefix/lib -lgc -lgccpp $LIBS" + else + GC_CPP="-I\${includedir}/Synopsis/gc/include" + GC_LIB="Synopsis/gc/.libs/libgc.a" +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -72,7 +72,7 @@ if test "$ac_cv_enable_gc" == "yes"; then + GC_BRIDGE=$srcdir/Synopsis/PTree/GC-enabled.tmpl + if test -n "$ac_cv_with_gc_prefix"; then + CPPFLAGS="$CPPFLAGS -I$ac_cv_with_gc_prefix/include/gc" +- LIBS="-L$ac_cv_with_gc_prefix/lib -lgc $LIBS" ++ LIBS="-L$ac_cv_with_gc_prefix/lib -lgc -lgccpp $LIBS" + else + GC_CPP="-I\${includedir}/Synopsis/gc/include" + GC_LIB="Synopsis/gc/.libs/libgc.a" diff --git a/dev-util/synopsis/synopsis-0.13-r1.ebuild b/dev-util/synopsis/synopsis-0.13-r1.ebuild new file mode 100644 index 000000000000..9d2b76695a59 --- /dev/null +++ b/dev-util/synopsis/synopsis-0.13-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +DISTUTILS_IN_SOURCE_BUILD=1 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 multilib toolchain-funcs + +DESCRIPTION="General source code documentation tool" +HOMEPAGE="http://synopsis.fresco.org/index.html" +SRC_URI="http://synopsis.fresco.org/download/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +COMMON_DEPEND="dev-libs/boehm-gc[cxx]" +RDEPEND="${COMMON_DEPEND} + media-gfx/graphviz" +DEPEND="${COMMON_DEPEND} + ${RDEPEND} + sys-devel/bison + sys-devel/flex + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-0.12-gcc45.patch + "${FILESDIR}"/${PN}-0.13-bdwgc-8.patch +) + +pkg_setup() { + tc-export CC CXX +} + +python_prepare() { + rm -r src/Synopsis/gc || die "failed to remove bundled lib" + + # the distutils script passes its options to a number of + # autoconf scripts, to not all of which these options are + # relevant. adding this option disables these useless warnings. + sed -e "/self.announce(command)/i\ command += ' --disable-option-checking'" \ + -i Synopsis/dist/command/config.py || die +} + +python_configure() { + local mydistutilsargs=( + config + --libdir="${EPREFIX}"/usr/$(get_libdir) + --with-gc-prefix="${EPREFIX}"/usr + ) + esetup.py +} diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass index 95617616fe84..4f7eb0356fc9 100644 --- a/eclass/java-utils-2.eclass +++ b/eclass/java-utils-2.eclass @@ -15,10 +15,10 @@ # you should inherit java-pkg-2 for Java packages or java-pkg-opt-2 for packages # that have optional Java support. In addition you can inherit java-ant-2 for # Ant-based packages. -inherit eutils multilib + # EAPI 7 has version functions built-in. Use eapi7-ver for all earlier eclasses. # Keep versionator inheritance in case consumers are using it implicitly. -[[ ${EAPI} == [0123456] ]] && inherit eapi7-ver versionator +[[ ${EAPI} == [0123456] ]] && inherit eapi7-ver eutils multilib versionator IUSE="elibc_FreeBSD" diff --git a/kde-apps/libkgeomap/libkgeomap-18.12.3.ebuild b/kde-apps/libkgeomap/libkgeomap-18.12.3.ebuild index adcef4fad981..cb77c098f1b0 100644 --- a/kde-apps/libkgeomap/libkgeomap-18.12.3.ebuild +++ b/kde-apps/libkgeomap/libkgeomap-18.12.3.ebuild @@ -29,9 +29,7 @@ DEPEND=" RDEPEND="${DEPEND}" src_configure() { - local mycmakeargs=( - -DCMAKE_DISABLE_FIND_PACKAGE_KF5KExiv2=true - ) + use test && local mycmakeargs=( -DCMAKE_DISABLE_FIND_PACKAGE_KF5KExiv2=true ) kde5_src_configure } diff --git a/kde-misc/metadata.xml b/kde-misc/metadata.xml index 7242643f5d64..7b1ac0829ff7 100644 --- a/kde-misc/metadata.xml +++ b/kde-misc/metadata.xml @@ -3,13 +3,13 @@ <catmetadata> <longdescription lang="en"> The kde-misc category contains various miscellaneous KDE packages. - In general, packages here are extensions of the KDE desktop environment + In general, packages here are extensions of the Plasma desktop environment (ioslaves, command center modules, plasmoids, ...), while KDE applications that do not rely on the desktop environment better suit other categories. </longdescription> <longdescription lang="de"> Die Kategorie kde-misc enthält verschiedenartige KDE-Pakete. - In der Regel sind die Pakete hier Erweiterungen der KDE-Desktopumgebung + In der Regel sind die Pakete hier Erweiterungen der Plasma Desktopumgebung (ioslaves, Module der Systemeinstellungen, Plasmoide, ...); KDE-Anwendungen, die nicht zwingend die gesamte Desktopumgebung voraussetzen, gehören besser in andere Kategorien. diff --git a/media-libs/sdl-sound/files/sdl-sound-1.0.3-physfs-3.0.1.patch b/media-libs/sdl-sound/files/sdl-sound-1.0.3-physfs-3.0.1.patch new file mode 100644 index 000000000000..1aa06d37f5cd --- /dev/null +++ b/media-libs/sdl-sound/files/sdl-sound-1.0.3-physfs-3.0.1.patch @@ -0,0 +1,38 @@ +--- a/playsound/physfsrwops.h.ini 2008-04-17 13:56:21.000000000 -0400 ++++ b/playsound/physfsrwops.h 2017-12-23 05:05:31.657371092 -0500 +@@ -39,7 +39,7 @@ + * @return A valid SDL_RWops structure on success, NULL on error. Specifics + * of the error can be gleaned from PHYSFS_getLastError(). + */ +-__EXPORT__ SDL_RWops *PHYSFSRWOPS_openRead(const char *fname); ++SDL_RWops *PHYSFSRWOPS_openRead(const char *fname); + + /** + * Open a platform-independent filename for writing, and make it accessible +@@ -51,7 +51,7 @@ + * @return A valid SDL_RWops structure on success, NULL on error. Specifics + * of the error can be gleaned from PHYSFS_getLastError(). + */ +-__EXPORT__ SDL_RWops *PHYSFSRWOPS_openWrite(const char *fname); ++SDL_RWops *PHYSFSRWOPS_openWrite(const char *fname); + + /** + * Open a platform-independent filename for appending, and make it accessible +@@ -63,7 +63,7 @@ + * @return A valid SDL_RWops structure on success, NULL on error. Specifics + * of the error can be gleaned from PHYSFS_getLastError(). + */ +-__EXPORT__ SDL_RWops *PHYSFSRWOPS_openAppend(const char *fname); ++SDL_RWops *PHYSFSRWOPS_openAppend(const char *fname); + + /** + * Make a SDL_RWops from an existing PhysicsFS file handle. You should +@@ -75,7 +75,7 @@ + * @return A valid SDL_RWops structure on success, NULL on error. Specifics + * of the error can be gleaned from PHYSFS_getLastError(). + */ +-__EXPORT__ SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *handle); ++SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *handle); + + #ifdef __cplusplus + } diff --git a/media-libs/sdl-sound/metadata.xml b/media-libs/sdl-sound/metadata.xml index 1e8838a26618..b8a69a91b165 100644 --- a/media-libs/sdl-sound/metadata.xml +++ b/media-libs/sdl-sound/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>games@gentoo.org</email> - <name>Gentoo Games Project</name> - </maintainer> - <use> - <flag name="physfs">Enable physfs support</flag> - </use> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <use> + <flag name="physfs">Enable support for various formats through <pkg>dev-games/physfs</pkg>.</flag> + </use> + <upstream> + <bugs-to>mailto:sdlsound@icculus.org</bugs-to> + </upstream> </pkgmetadata> diff --git a/media-libs/sdl-sound/sdl-sound-1.0.3-r2.ebuild b/media-libs/sdl-sound/sdl-sound-1.0.3-r2.ebuild new file mode 100644 index 000000000000..96b514fa29ea --- /dev/null +++ b/media-libs/sdl-sound/sdl-sound-1.0.3-r2.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools multilib-minimal + +MY_P="${P/sdl-/SDL_}" + +DESCRIPTION="A library for handling the decoding of various sound file formats" +HOMEPAGE="https://icculus.org/SDL_sound/" +SRC_URI="https://icculus.org/${MY_PN}/downloads/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x64-macos" +IUSE="flac mikmod modplug mp3 mpeg physfs speex static-libs vorbis" + +RDEPEND=" + >=media-libs/libsdl-1.2.15-r4[${MULTILIB_USEDEP}] + flac? ( >=media-libs/flac-1.2.1-r5[${MULTILIB_USEDEP}] ) + mikmod? ( >=media-libs/libmikmod-3.2.0[${MULTILIB_USEDEP}] ) + modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) + mpeg? ( >=media-libs/smpeg-0.4.4-r10[${MULTILIB_USEDEP}] ) + physfs? ( >=dev-games/physfs-3.0.1[${MULTILIB_USEDEP}] ) + speex? ( + >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + ) + vorbis? ( >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] ) +" + +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/"${P}"-automake-1.13.patch + "${FILESDIR}"/"${P}"-physfs-3.0.1.patch + "${FILESDIR}"/"${P}"-underlinking.patch +) + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + default + + mv configure.in configure.ac || die + eautoreconf +} + +multilib_src_configure() { + local myeconfargs=( + --enable-aiff + --enable-au + --enable-midi + --enable-raw + --enable-shn + --enable-voc + --enable-wav + $(use_enable flac) + $(use_enable mikmod) + $(use_enable modplug) + $(use_enable mp3 mpglib) + $(use_enable mpeg smpeg) + $(use_enable physfs) + $(use_enable speex) + $(use_enable static-libs static) + $(use_enable vorbis ogg) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install() { + emake DESTDIR="${D}" install +} + +multilib_src_install_all() { + einstalldocs + + if ! use static-libs ; then + find "${D}" -name '*.la' -delete || die + fi +} diff --git a/net-proxy/privoxy/Manifest b/net-proxy/privoxy/Manifest index 402f1a3fe5bc..fb0156258e19 100644 --- a/net-proxy/privoxy/Manifest +++ b/net-proxy/privoxy/Manifest @@ -1 +1,2 @@ DIST privoxy-3.0.26-stable-src.tar.gz 1741772 BLAKE2B 19dc72d93535e6eb960a53e3679886655b2aff037ad6002844eb76c970c7da52d016b7a54993e3dcf453c394da354cf8ec8f1f23a02b9216240e5460d6239b34 SHA512 e448305287d0451c761b76b8d8974ea1ec837b621bbb498a7ff16a54cb4d8f1f734efe2eef03235c01163bb40e225785065aad6ee265a31d90970ab98af11044 +DIST privoxy-3.0.28-stable-src.tar.gz 1753809 BLAKE2B 1ea0d6339c96bd294eadc124ebac252c43dcdc062709868668959bdb4f959267afb2ec7f27fc0d58db3655102f2412f1c8acb273267d447271465ac21f7a9be4 SHA512 5d58024ae73d623a2b8fb2ac49e18f047dfe252c9441388f025cf888c0e4b11546b8796cfa559759ee137002b1b31b30ad28b356ae226836454f32591eb835fc diff --git a/net-proxy/privoxy/metadata.xml b/net-proxy/privoxy/metadata.xml index ff0981277efe..6fcf74308802 100644 --- a/net-proxy/privoxy/metadata.xml +++ b/net-proxy/privoxy/metadata.xml @@ -21,6 +21,7 @@ <flag name="external-filters">Allow to filter content with scripts and programs. Experimental</flag> <flag name="fast-redirects">Support fast redirects</flag> <flag name="force">Allow single-page disable (force load)</flag> + <flag name="fuzz">Exposes Privoxy internals to input from files or stdout. Intended for fuzzing testing</flag> <flag name="graceful-termination">Allow to shutdown Privoxy through the webinterface</flag> <flag name="ie-images">Enable a quick but not always reliable auto-detect whether requests from MS Internet Explorer are for an image or not</flag> <flag name="image-blocking">Allows the +handle-as-image action, to send "blocked" images instead of HTML</flag> diff --git a/net-proxy/privoxy/privoxy-3.0.28.ebuild b/net-proxy/privoxy/privoxy-3.0.28.ebuild new file mode 100644 index 000000000000..e827361418c1 --- /dev/null +++ b/net-proxy/privoxy/privoxy-3.0.28.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools systemd toolchain-funcs user + +[ "${PV##*_}" = "beta" ] && + PRIVOXY_STATUS="beta" || + PRIVOXY_STATUS="stable" + +HOMEPAGE="http://www.privoxy.org https://sourceforge.net/projects/ijbswa/" +DESCRIPTION="A web proxy with advanced filtering capabilities for enhancing privacy" +SRC_URI="mirror://sourceforge/ijbswa/${P%_*}-${PRIVOXY_STATUS}-src.tar.gz" + +IUSE="+acl client-tags compression editor extended-host-patterns +external-filters +fast-redirects +force fuzz graceful-termination ++image-blocking ipv6 lfs png-images selinux +stats +threads toggle +tools whitelists +zlib" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +LICENSE="GPL-2" + +DEPEND=" + dev-libs/libpcre + zlib? ( sys-libs/zlib ) +" +RDEPEND="${DEPEND} + extended-host-patterns? ( dev-lang/perl ) + selinux? ( sec-policy/selinux-privoxy ) + tools? ( + net-misc/curl + dev-lang/perl + ) +" +REQUIRED_USE=" + compression? ( zlib ) + toggle? ( editor ) +" + +S="${WORKDIR}/${P%_*}-${PRIVOXY_STATUS}" + +PATCHES=( "${FILESDIR}"/${PN}-3.0.19-gentoo.patch ) + +pkg_pretend() { + if ! use threads; then + ewarn + ewarn "Privoxy may be very slow without threads support, consider to enable them." + ewarn "See also http://www.privoxy.org/faq/trouble.html#GENTOO-RICERS" + ewarn + fi +} + +pkg_setup() { + enewgroup privoxy + enewuser privoxy -1 -1 /etc/privoxy privoxy +} + +src_prepare() { + default + mv configure.in configure.ac || die + sed -i "s|/p\.p/|/config.privoxy.org/|g" tools/privoxy-regression-test.pl || die + + # autoreconf needs to be called even if we don't modify any autotools source files + # See main makefile + eautoreconf +} + +src_configure() { + # --with-debug only enables debug CFLAGS + # --with-docbook and --with-db2html and their deps are useless, + # since docs are already pregenerated in the source tarball + econf \ + --docdir=/usr/share/doc/${PF} \ + --sysconfdir=/etc/privoxy \ + --enable-dynamic-pcre \ + --with-user=privoxy \ + --with-group=privoxy \ + $(use_enable acl acl-support) \ + $(use_enable compression) \ + $(use_enable client-tags) \ + $(use_enable editor) \ + $(use_enable extended-host-patterns) \ + $(use_enable fast-redirects) \ + $(use_enable force) \ + $(use_enable fuzz) \ + $(use_enable graceful-termination) \ + $(use_enable image-blocking) \ + $(use_enable ipv6 ipv6-support) \ + $(use_enable kernel_FreeBSD accept-filter) \ + $(use_enable lfs large-file-support) \ + $(use_enable png-images no-gifs) \ + $(use_enable stats) \ + $(use_enable threads pthread) \ + $(use_enable toggle) \ + $(use_enable whitelists trust-files) \ + $(use_enable zlib) +} + +src_install () { + default + + newinitd "${FILESDIR}/privoxy.initd-3" privoxy + systemd_dounit "${FILESDIR}"/${PN}.service + + insinto /etc/logrotate.d + newins "${FILESDIR}/privoxy.logrotate" privoxy + + diropts -m 0750 -g privoxy -o privoxy + keepdir /var/log/privoxy + + use extended-host-patterns && newbin tools/url-pattern-translator.pl privoxy-url-pattern-translator.pl + if use tools; then + dobin tools/{privoxy-log-parser.pl,privoxy-regression-test.pl} + newbin tools/uagen.pl privoxy-uagen.pl + fi +} + +pkg_postinst() { + if use extended-host-patterns; then + ewarn + ewarn "You enabled extended-host-patterns, now you *must* convert all action files in" + ewarn "PCRE-compatible format, or privoxy will fail to start. Helper tool" + ewarn "privoxy-url-pattern-translator.pl is available." + ewarn + fi +} diff --git a/www-apps/radicale/Manifest b/www-apps/radicale/Manifest index 38d3d8bb9f31..e1016129c11a 100644 --- a/www-apps/radicale/Manifest +++ b/www-apps/radicale/Manifest @@ -1,4 +1,3 @@ DIST Radicale-1.1.6.tar.gz 48280 BLAKE2B 38d3047d473fad24188b597a57d3e1f0e34df03f00f6806b86c447ed731be074bf0b5f6dfb951c8a9f627993bf0763792150bc06532414a658e4d306123fcdd6 SHA512 3fed85fc5fa2b041277112870b8b508a22cc85ec0680dd1cf9411e73715e18a9b0ddd651eafb0c9529bd308e7fd87ae44ecdd82935f4062050919780301d56d9 DIST Radicale-2.1.10.tar.gz 77790 BLAKE2B 37061dd049dc918775f20b522ed86a47f32f34505c13763f8ae49ff007aca77f88caafc959be857c735c11b13506efdfc8413750808b88d5ea6dbe69e05f03ff SHA512 30fac6639e56bbd10664330d84ebba28b34005b4b4b4c5a6c22f53cb7e810ba4961cbd314e62fe33538674a2d4b45f14751f36ef5fa2ae2b7d44c1b1158f6e1c DIST Radicale-2.1.11.tar.gz 76490 BLAKE2B 35578b693a32d4a77f8ff1c93cbb8fb63fd8dabf9fde79cd928d4afa6e059fe836840ca6a33621c13e9421a69bfb25cbb59688ba83bed62003ef3b56b54804b1 SHA512 e85f12664d3db6b911dd534eaddd15c498ca4f641cc15523644300aca8b1ef3f6fd4d9645857235502f03a7903111905537b04f9a6fdbde1a60fbb720d377733 -DIST Radicale-2.1.8.tar.gz 76348 BLAKE2B 87a4ec20990dc7e5dbba88a3fb3d1475210d40c12584d5bb7ba7c6d1ca2cd8efb97b7054d322f0a7fbe58fd8325be63df52f1d370cc13ccc90863b0900925656 SHA512 038bee4114b090bcf873e8a4ec83cbbc7bdd34b4843fd1a769a023c891b589b3a18637d5f8f8595691a7930804ad7695e333bb9df96d00515b7a3695294eb5f7 diff --git a/www-apps/radicale/files/radicale-r2.init.d b/www-apps/radicale/files/radicale-r2.init.d new file mode 100644 index 000000000000..00f85d29e0e5 --- /dev/null +++ b/www-apps/radicale/files/radicale-r2.init.d @@ -0,0 +1,27 @@ +#!/sbin/openrc-run +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +PIDFILE=/run/radicale.pid + +depend() { + need localmount +} + +start() { + ebegin "Starting radicale" + start-stop-daemon --start --quiet --background \ + --user radicale \ + --umask 0027 \ + --stderr-logger /usr/bin/logger \ + --pidfile ${PIDFILE} --make-pidfile \ + --exec /usr/bin/radicale -- --foreground + eend $? +} + +stop() { + ebegin "Stopping radicale" + start-stop-daemon --stop --quiet \ + --pidfile ${PIDFILE} + eend $? +} diff --git a/www-apps/radicale/files/radicale.service b/www-apps/radicale/files/radicale.service new file mode 100644 index 000000000000..ffafba8d3ae7 --- /dev/null +++ b/www-apps/radicale/files/radicale.service @@ -0,0 +1,25 @@ +## this is heavily inspired by https://radicale.org/setup/ + +[Unit] +Description=A simple CalDAV (calendar) and CardDAV (contact) server +After=network.target +Requires=network.target + +[Service] +ExecStart=/usr/bin/radicale +Restart=on-failure +User=radicale +# Deny other users access to the calendar data +UMask=0027 +PrivateTmp=true +ProtectSystem=strict +ProtectHome=true +PrivateDevices=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectControlGroups=true +NoNewPrivileges=true +StateDirectory=radicale + +[Install] +WantedBy=multi-user.target diff --git a/www-apps/radicale/radicale-2.1.10-r1.ebuild b/www-apps/radicale/radicale-2.1.10-r1.ebuild deleted file mode 100644 index 34fd1a1d2f88..000000000000 --- a/www-apps/radicale/radicale-2.1.10-r1.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=( python{3_4,3_5,3_6} ) - -inherit distutils-r1 eutils user - -MY_PN="Radicale" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="A simple CalDAV calendar server" -HOMEPAGE="https://radicale.org/" -SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+bcrypt" - -RDEPEND="sys-apps/util-linux - >=dev-python/vobject-0.9.6[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.7.3[${PYTHON_USEDEP}] - bcrypt? ( dev-python/passlib[bcrypt,${PYTHON_USEDEP}] )" - -S=${WORKDIR}/${MY_P} - -RDIR=/var/lib/radicale - -pkg_pretend() { - if [[ -f ${RDIR}/.props && ${MERGE_TYPE} != buildonly ]]; then - eerror "It looks like you have a version 1 database in ${RDIR}." - eerror "You must convert this database to version 2 format before upgrading." - eerror "You may want to back up the old database before migrating." - eerror - eerror "If you have kept the Gentoo-default database configuration, this will work:" - eerror "1. Stop any running instance of Radicale." - eerror "2. Run \`radicale --export-storage ~/radicale-exported\`." - eerror "3. Run \`chown -R radicale: ~/radicale-exported\`" - eerror "4. Run \`mv \"${RDIR}\" \"${RDIR}.old\"\`." - eerror "5. Install Radicale version 2." - eerror "6. Run \`mv ~/radicale-exported \"${RDIR}/collections\"\`." - eerror - eerror "For more details, or if you are have a more complex configuration," - eerror "please see the migration guide: https://radicale.org/1to2/" - eerror "If you do a custom migration, please ensure the database is cleaned out of" - eerror "${RDIR}, including the hidden .props file." - die - fi -} - -pkg_setup() { - enewgroup radicale - enewuser radicale -1 -1 ${RDIR} radicale -} - -python_install_all() { - rm README* || die - - # init file - newinitd "${FILESDIR}"/radicale-r1.init.d radicale - - # directories - diropts -m0750 -oradicale -gradicale - keepdir ${RDIR} - - # config file - insinto /etc/${PN} - doins config logging - - # fcgi and wsgi files - exeinto /usr/share/${PN} - doexe radicale.fcgi radicale.wsgi - - distutils-r1_python_install_all -} - -pkg_postinst() { - einfo "A sample WSGI script has been put into ${ROOT%/}/usr/share/${PN}." - einfo "You will also find there an example FastCGI script." -} diff --git a/www-apps/radicale/radicale-2.1.10.ebuild b/www-apps/radicale/radicale-2.1.10.ebuild deleted file mode 100644 index 89f03ec7fc82..000000000000 --- a/www-apps/radicale/radicale-2.1.10.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=( python{3_4,3_5,3_6} ) - -inherit distutils-r1 eutils user - -MY_PN="Radicale" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="A simple CalDAV calendar server" -HOMEPAGE="https://radicale.org/" -SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+bcrypt" - -RDEPEND=">=dev-python/vobject-0.9.6[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.7.3[${PYTHON_USEDEP}] - bcrypt? ( dev-python/passlib[bcrypt,${PYTHON_USEDEP}] )" - -S=${WORKDIR}/${MY_P} - -RDIR=/var/lib/radicale -LDIR=/var/log/radicale - -pkg_pretend() { - if [[ -f ${RDIR}/.props && ${MERGE_TYPE} != buildonly ]]; then - eerror "It looks like you have a version 1 database in ${RDIR}." - eerror "You must convert this database to version 2 format before upgrading." - eerror "You may want to back up the old database before migrating." - eerror - eerror "If you have kept the Gentoo-default database configuration, this will work:" - eerror "1. Stop any running instance of Radicale." - eerror "2. Run \`radicale --export-storage ~/radicale-exported\`." - eerror "3. Run \`chown -R radicale: ~/radicale-exported\`" - eerror "4. Run \`mv \"${RDIR}\" \"${RDIR}.old\"\`." - eerror "5. Install Radicale version 2." - eerror "6. Run \`mv ~/radicale-exported \"${RDIR}/collections\"\`." - eerror - eerror "For more details, or if you are have a more complex configuration," - eerror "please see the migration guide: https://radicale.org/1to2/" - eerror "If you do a custom migration, please ensure the database is cleaned out of" - eerror "${RDIR}, including the hidden .props file." - die - fi -} - -pkg_setup() { - enewgroup radicale - enewuser radicale -1 -1 ${RDIR} radicale -} - -python_install_all() { - rm README* || die - - # init file - newinitd "${FILESDIR}"/radicale.init.d radicale - - # directories - diropts -m0750 -oradicale -gradicale - keepdir ${RDIR} - diropts -m0755 -oradicale -gradicale - keepdir ${LDIR} - - # config file - insinto /etc/${PN} - doins config logging - - # fcgi and wsgi files - exeinto /usr/share/${PN} - doexe radicale.fcgi radicale.wsgi - - distutils-r1_python_install_all -} - -pkg_postinst() { - einfo "A sample WSGI script has been put into ${ROOT%/}/usr/share/${PN}." - einfo "You will also find there an example FastCGI script." -} diff --git a/www-apps/radicale/radicale-2.1.11.ebuild b/www-apps/radicale/radicale-2.1.11-r1.ebuild index a65d7bc588b7..853fccb8ac1f 100644 --- a/www-apps/radicale/radicale-2.1.11.ebuild +++ b/www-apps/radicale/radicale-2.1.11-r1.ebuild @@ -5,7 +5,7 @@ EAPI="6" PYTHON_COMPAT=( python{3_4,3_5,3_6} ) -inherit distutils-r1 eutils user +inherit distutils-r1 eutils user systemd MY_PN="Radicale" MY_P="${MY_PN}-${PV}" @@ -26,7 +26,7 @@ RDEPEND="sys-apps/util-linux S=${WORKDIR}/${MY_P} -RDIR=/var/lib/radicale +RDIR=/var/lib/${PN} pkg_pretend() { if [[ -f ${RDIR}/.props && ${MERGE_TYPE} != buildonly ]]; then @@ -51,19 +51,21 @@ pkg_pretend() { } pkg_setup() { - enewgroup radicale - enewuser radicale -1 -1 ${RDIR} radicale + enewgroup ${PN} + enewuser ${PN} -1 -1 ${RDIR} ${PN} } python_install_all() { rm README* || die # init file - newinitd "${FILESDIR}"/radicale-r1.init.d radicale + newinitd "${FILESDIR}"/radicale-r2.init.d radicale + systemd_dounit "${FILESDIR}/${PN}.service" # directories - diropts -m0750 -oradicale -gradicale keepdir ${RDIR} + fowners ${PN}:${PN} ${RDIR} + fperms 0750 ${RDIR} # config file insinto /etc/${PN} @@ -77,6 +79,17 @@ python_install_all() { } pkg_postinst() { - einfo "A sample WSGI script has been put into ${ROOT%/}/usr/share/${PN}." + local _erdir="${EROOT%/}${RDIR}" + + einfo "A sample WSGI script has been put into ${EROOT%/}/usr/share/${PN}." einfo "You will also find there an example FastCGI script." + if [[ $(stat --format="%U:%G:%a" "${_erdir}") != "${PN}:${PN}:750" ]] + then + ewarn "Unsafe file permissions detected on ${_erdir}. This probably comes" + ewarn "from an earlier version of this ebuild." + ewarn "To fix run:" + ewarn " \`chown -R ${PN}:${PN} ${_erdir}\`" + ewarn " \`chmod 0750 ${_erdir}\`" + ewarn " \`chmod -R o= ${_erdir}\`" + fi } diff --git a/www-apps/radicale/radicale-2.1.8.ebuild b/www-apps/radicale/radicale-2.1.8.ebuild deleted file mode 100644 index 5184bfacbcf7..000000000000 --- a/www-apps/radicale/radicale-2.1.8.ebuild +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=( python{3_4,3_5,3_6} ) - -inherit distutils-r1 eutils user - -MY_PN="Radicale" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="A simple CalDAV calendar server" -HOMEPAGE="https://radicale.org/" -SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+bcrypt" - -RDEPEND=">=dev-python/vobject-0.9.5[${PYTHON_USEDEP}] - bcrypt? ( dev-python/passlib[bcrypt,${PYTHON_USEDEP}] )" - -S=${WORKDIR}/${MY_P} - -RDIR=/var/lib/radicale -LDIR=/var/log/radicale - -pkg_pretend() { - if [[ -f ${RDIR}/.props && ${MERGE_TYPE} != buildonly ]]; then - eerror "It looks like you have a version 1 database in ${RDIR}." - eerror "You must convert this database to version 2 format before upgrading." - eerror "You may want to back up the old database before migrating." - eerror - eerror "If you have kept the Gentoo-default database configuration, this will work:" - eerror "1. Stop any running instance of Radicale." - eerror "2. Run \`radicale --export-storage ~/radicale-exported\`." - eerror "3. Run \`chown -R radicale: ~/radicale-exported\`" - eerror "4. Run \`mv \"${RDIR}\" \"${RDIR}.old\"\`." - eerror "5. Install Radicale version 2." - eerror "6. Run \`mv ~/radicale-exported \"${RDIR}/collections\"\`." - eerror - eerror "For more details, or if you are have a more complex configuration," - eerror "please see the migration guide: https://radicale.org/1to2/" - eerror "If you do a custom migration, please ensure the database is cleaned out of" - eerror "${RDIR}, including the hidden .props file." - die - fi -} - -pkg_setup() { - enewgroup radicale - enewuser radicale -1 -1 ${RDIR} radicale -} - -python_install_all() { - rm README* || die - - # init file - newinitd "${FILESDIR}"/radicale.init.d radicale - - # directories - diropts -m0750 -oradicale -gradicale - keepdir ${RDIR} - diropts -m0755 -oradicale -gradicale - keepdir ${LDIR} - - # config file - insinto /etc/${PN} - doins config logging - - # fcgi and wsgi files - exeinto /usr/share/${PN} - doexe radicale.fcgi radicale.wsgi - - distutils-r1_python_install_all -} - -pkg_postinst() { - einfo "A sample WSGI script has been put into ${ROOT%/}/usr/share/${PN}." - einfo "You will also find there an example FastCGI script." -} |