parent
e9ffc64af0
commit
998588207e
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST imgurbash2-2.1.tar.gz 3619 BLAKE2B 01bb37615184113082a87b79b5bbda1707e36d8f4a28715e0686eb63f8d7c55f7aa760ecab9ab2457c1601e9cb0ff4b558cd08f8a77a123cfe97d8008ad1aa93 SHA512 32e7c39d3456f3d540af2db8b21d8a5724bf9b1db372953f3dd0ed21a6f7529209ec7afffe22410be46a99753202aca2454732d09c1314350187c5610b36ab9d
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/ram-on/imgurbash2.git"
|
||||
else
|
||||
SRC_URI="https://github.com/ram-on/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Bash script that uploads/deletes images to/from imgur"
|
||||
HOMEPAGE="https://github.com/ram-on/imgurbash2"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE="X"
|
||||
|
||||
RDEPEND="
|
||||
net-misc/curl
|
||||
X? ( || ( x11-misc/xclip x11-misc/xsel ) )
|
||||
"
|
||||
|
||||
src_install() {
|
||||
einstalldocs
|
||||
dobin imgurbash2
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/ram-on/imgurbash2.git"
|
||||
else
|
||||
SRC_URI="https://github.com/ram-on/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Bash script that uploads/deletes images to/from imgur"
|
||||
HOMEPAGE="https://github.com/ram-on/imgurbash2"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE="X"
|
||||
|
||||
RDEPEND="
|
||||
net-misc/curl
|
||||
X? ( || ( x11-misc/xclip x11-misc/xsel ) )
|
||||
"
|
||||
|
||||
src_install() {
|
||||
einstalldocs
|
||||
dobin imgurbash2
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>lucianposton@pm.me</email>
|
||||
<name>Lucian Poston</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">ram-on/imgurbash2</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,19 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="A helper package for sgml docbook"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
HOMEPAGE="https://www.docbook.org/sgml/"
|
||||
|
||||
RDEPEND="app-text/sgml-common app-text/openjade
|
||||
>=app-text/docbook-dsssl-stylesheets-1.64
|
||||
>=app-text/docbook-sgml-utils-0.6.6
|
||||
~app-text/docbook-sgml-dtd-3.0
|
||||
~app-text/docbook-sgml-dtd-3.1
|
||||
~app-text/docbook-sgml-dtd-4.0
|
||||
~app-text/docbook-sgml-dtd-4.1"
|
Binary file not shown.
@ -1,8 +1,10 @@
|
||||
DIST redis-3.2.12.tar.gz 1551468 BLAKE2B 85483de2588e4161521fe958225a53ab4357d0db83954c22f755d5d512e6e2126f9e7fdc1032353bd491353af3805c806b89546f886fe78fa5e5d2dc1446420b SHA512 eec64a17e331ac220ba425a495127b3873048dc2597a6508962469c0c99763deffcec97254915e2b1f3867eb556b917e8861baa9609c727d0abb254a90d87cdc
|
||||
DIST redis-3.2.8.tar.gz 1547237 BLAKE2B fb03e263ad7b135dff38e018d9b830c4992cf331efc7c23c10b087c47e597abedb52f259d4dd9a9ee1d661685157fc29a2022d74bc21d406bb10c9b7dfab8b7e SHA512 7334faf73af3644f7f9dcaddd322955d5df1e88a1640b509ae623f322615a20f6dc143eb57dd89ff3a278557df309ac4215c3fb458235682ce28e16c817068ba
|
||||
DIST redis-4.0.10.tar.gz 1738465 BLAKE2B 572cbb3d2d5d7209f81ebd53ee68f40b404d0e4623bd1864845bf1f47135d4e097a6974d346ffd845d848c39ace6d3fb9f1a347e0c9d16d06d22aed7a8b3ae7b SHA512 0978dabaf637e61889d492fd3629acd58ca8fb0c0088cdd7036ffd1a7ed3f018c107039d4c96bd61d0b7d35757df2366d051f57d77ffb5642aca0e5651b30603
|
||||
DIST redis-4.0.11.tar.gz 1739656 BLAKE2B d94f380ad1600e58942cc5b27b512984396cdbb06ea6e947c7d7ce5b8ecdb8a2a56c6356af2caa82a96887a610716c9575b78eb2f46da89efb940febc1c30f22 SHA512 f0054af9ca2143731a397b2b21285387707b7f40d9326ba15225feb1a2ff470fab5194308342f63bbe1081f84c7e9ef19543c5a8e3eae49e17bfc515c64201f0
|
||||
DIST redis-4.0.2.tar.gz 1713990 BLAKE2B 307ab76b336f7520e14a23a1577c46e1b63cc5a5a5b6afb725cb87934fbcb62107085671fd1072d1142ce8e92f069e6b6064c9f4468335bc6997897c8f494471 SHA512 1458909c6fc16cff8ca5e6dddff23b988ee1e447f2d0bccf5941553b22bab6abb851732b3fe53dafb8a69d6c0939c3ce7e0686d51e03be720fb018c038d3b1b4
|
||||
DIST redis-4.0.6.tar.gz 1723533 BLAKE2B 94c2a9b7eeaa676efaac75cd5c143b0f4b02440b5a21ecc9b2a68cc27ad4abc1fc4d7dbc903dea5d956ce737ca434ea5b5bdde4a35df3a3689da60c5fb0bddf1 SHA512 784aad612664df666c36f969cb6a9ab794f004abcf9aa761bd1f5f0f8fdb248d5b38f48a59b68c2de7d2a344755f1537efc9d5847de0d662302699ed94d40813
|
||||
DIST redis-4.0.7.tar.gz 1729488 BLAKE2B 7a5337b868e4da4a7387b31bc9d6bd4c86abd701b9ba999f64296ed5188cbba7208ced466973a500730ca03e70a9a85fbab2fb4700fdc977e58defc0126487d1 SHA512 6f317d9e76224b2a2b047dc8f56b126ea85ee5c6112c4c6238cb5cdfa3a83756bff3a82b106b00d1124a93d210a900d836587b8d9563916f19274de0e84c4c6b
|
||||
DIST redis-4.0.8.tar.gz 1729973 BLAKE2B 32d82a07beba9ea8f0b08a8fc69da548a1974e5839f052a9803ffb0f52ef920df9b128092e061b5e693581a50efef4a1212c1f6310dc8492eff5ca841ff3b03a SHA512 11c126ddef3bedbceb02ee7a80a61374e081da8087055d77970b0097066a6f1c5e0c4f0d246c9851f8c3beca22f185c184669a9dc4f1c7c229f8cd2c34196ab6
|
||||
DIST redis-4.0.9.tar.gz 1737022 BLAKE2B 35a83d146062f5b14c023d7fd9f28d743ba6bec3e0e4bf9ce8e065a706bbd7508ffbcb8b1b4d18f6b6774589b5456540ba8717b9f449fcbd758c0f57dbd505a3 SHA512 a6cf63cb361f0a87da3955ba628190dc04cad342f7a664d18e44416ee67dd86ed6e3a46b9701e994f1417e56b819b3c6fc595f363c10bb4b83d5033919d29598
|
||||
DIST redis-5.0_rc4.tar.gz 1937238 BLAKE2B b8f768b83e27476bc038fc554193680f4873eb2405f238e0a6f2053cf68c4a9e6c45546730a263463b805d6811334c1ba056be0230676f19d0562d488a3d4c97 SHA512 75b308bca026fe3b7cff1a92df3990bab5bb7ffe24cdfbc263f4d522ebe7ec8d86a9ed66da1778fe67c08a39b6f0c83cb10c5a332818c6ad04621d01c4aa6add
|
||||
|
@ -0,0 +1,32 @@
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index f5525bd..6f12a20 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -29,14 +29,7 @@ INSTALL_BIN=$(PREFIX)/bin
|
||||
INSTALL=install
|
||||
|
||||
# Default allocator defaults to Jemalloc if it's not an ARM
|
||||
-MALLOC=libc
|
||||
-ifneq ($(uname_M),armv6l)
|
||||
-ifneq ($(uname_M),armv7l)
|
||||
-ifeq ($(uname_S),Linux)
|
||||
- MALLOC=jemalloc
|
||||
-endif
|
||||
-endif
|
||||
-endif
|
||||
+MALLOC?=jemalloc
|
||||
|
||||
# To get ARM stack traces if Redis crashes we need a special C flag.
|
||||
ifneq (,$(filter aarch64 armv,$(uname_M)))
|
||||
@@ -120,9 +113,8 @@ ifeq ($(MALLOC),tcmalloc_minimal)
|
||||
endif
|
||||
|
||||
ifeq ($(MALLOC),jemalloc)
|
||||
- DEPENDENCY_TARGETS+= jemalloc
|
||||
- FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
|
||||
- FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS)
|
||||
+ FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE
|
||||
+ FINAL_LIBS+= -ljemalloc -ldl
|
||||
endif
|
||||
|
||||
REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)
|
@ -0,0 +1,61 @@
|
||||
diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
|
||||
index c26c0d7..fa50c41 100644
|
||||
--- a/deps/lua/src/lua_cjson.c
|
||||
+++ b/deps/lua/src/lua_cjson.c
|
||||
@@ -46,7 +46,7 @@
|
||||
#include "strbuf.h"
|
||||
#include "fpconv.h"
|
||||
|
||||
-#include "../../../src/solarisfixes.h"
|
||||
+#include "solarisfixes.h"
|
||||
|
||||
#ifndef CJSON_MODNAME
|
||||
#define CJSON_MODNAME "cjson"
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 6f12a20..205cd59 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
|
||||
uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
|
||||
uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
|
||||
OPTIMIZATION?=-O2
|
||||
-DEPENDENCY_TARGETS=hiredis linenoise lua
|
||||
+DEPENDENCY_TARGETS=hiredis linenoise
|
||||
NODEPS:=clean distclean
|
||||
|
||||
# Default settings
|
||||
@@ -58,7 +58,7 @@ endif
|
||||
|
||||
FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
|
||||
FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
|
||||
-FINAL_LIBS=-lm
|
||||
+FINAL_LIBS=@LUA_LIBS@
|
||||
DEBUG=-g -ggdb
|
||||
|
||||
ifeq ($(uname_S),SunOS)
|
||||
@@ -100,7 +100,7 @@ endif
|
||||
endif
|
||||
endif
|
||||
# Include paths to dependencies
|
||||
-FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src
|
||||
+FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise @LUA_CFLAGS@
|
||||
|
||||
ifeq ($(MALLOC),tcmalloc)
|
||||
FINAL_CFLAGS+= -DUSE_TCMALLOC
|
||||
@@ -137,6 +137,7 @@ endif
|
||||
REDIS_SERVER_NAME=redis-server
|
||||
REDIS_SENTINEL_NAME=redis-sentinel
|
||||
REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o
|
||||
+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
|
||||
REDIS_CLI_NAME=redis-cli
|
||||
REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o siphash.o crc16.o
|
||||
REDIS_BENCHMARK_NAME=redis-benchmark
|
||||
@@ -188,7 +189,7 @@ endif
|
||||
|
||||
# redis-server
|
||||
$(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
|
||||
- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS)
|
||||
+ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS)
|
||||
|
||||
# redis-sentinel
|
||||
$(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)
|
@ -0,0 +1,10 @@
|
||||
diff --git a/sentinel.conf b/sentinel.conf
|
||||
index 3703c73..964ffa3 100644
|
||||
--- a/sentinel.conf
|
||||
+++ b/sentinel.conf
|
||||
@@ -222,3 +222,5 @@ sentinel deny-scripts-reconfig yes
|
||||
# case, so writing "config guessme" is the same in the example above.
|
||||
#
|
||||
# SENTINEL SET can also be used in order to perform this configuration at runtime.
|
||||
+
|
||||
+logfile "/var/log/redis/sentinel.log"
|
@ -0,0 +1,141 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools eutils flag-o-matic systemd toolchain-funcs user
|
||||
|
||||
DESCRIPTION="A persistent caching system, key-value and data structures database"
|
||||
HOMEPAGE="https://redis.io"
|
||||
SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
|
||||
IUSE="+jemalloc tcmalloc luajit test"
|
||||
SLOT="0"
|
||||
|
||||
# Redis does NOT build with Lua 5.2 or newer at this time.
|
||||
# This should link correctly with both unslotted & slotted Lua, without
|
||||
# changes.
|
||||
RDEPEND="
|
||||
luajit? ( dev-lang/luajit:2 )
|
||||
!luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
|
||||
tcmalloc? ( dev-util/google-perftools )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.2 )"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
>=sys-devel/autoconf-2.63
|
||||
test? ( dev-lang/tcl:0= )"
|
||||
|
||||
REQUIRED_USE="?? ( tcmalloc jemalloc )"
|
||||
|
||||
S="${WORKDIR}/${PN}-${PV/_/-}"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup redis 75
|
||||
enewuser redis 75 -1 /var/lib/redis redis
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
eapply \
|
||||
"${FILESDIR}"/${PN}-3.2.3-config.patch \
|
||||
"${FILESDIR}"/${PN}-4.0.1-shared.patch \
|
||||
"${FILESDIR}"/${PN}-4.0.1-sharedlua.patch \
|
||||
"${FILESDIR}"/${PN}-sentinel-4.0.6-config.patch
|
||||
eapply_user
|
||||
|
||||
# Copy lua modules into build dir
|
||||
cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
|
||||
cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
|
||||
# Append cflag for lua_cjson
|
||||
# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
|
||||
append-cflags "-DENABLE_CJSON_GLOBAL"
|
||||
|
||||
# now we will rewrite present Makefiles
|
||||
local makefiles="" MKF
|
||||
for MKF in $(find -name 'Makefile' | cut -b 3-); do
|
||||
mv "${MKF}" "${MKF}.in"
|
||||
sed -i -e 's:$(CC):@CC@:g' \
|
||||
-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
|
||||
-e 's: $(DEBUG)::g' \
|
||||
-e 's:$(OBJARCH)::g' \
|
||||
-e 's:ARCH:TARCH:g' \
|
||||
-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
|
||||
"${MKF}.in" \
|
||||
|| die "Sed failed for ${MKF}"
|
||||
makefiles+=" ${MKF}"
|
||||
done
|
||||
# autodetection of compiler and settings; generates the modified Makefiles
|
||||
cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
|
||||
|
||||
# Use the correct pkgconfig name for Lua
|
||||
has_version 'dev-lang/lua:5.1' \
|
||||
&& LUAPKGCONFIG=lua5.1 \
|
||||
|| LUAPKGCONFIG=lua
|
||||
sed -i \
|
||||
-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
|
||||
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
|
||||
-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
|
||||
configure.ac || die "Sed failed for configure.ac"
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_with luajit)
|
||||
|
||||
# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
|
||||
# also, don't define ANSI/c99 for lua twice
|
||||
sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export CC AR RANLIB
|
||||
|
||||
local myconf=""
|
||||
|
||||
if use tcmalloc; then
|
||||
myconf="${myconf} USE_TCMALLOC=yes"
|
||||
elif use jemalloc; then
|
||||
myconf="${myconf} JEMALLOC_SHARED=yes"
|
||||
else
|
||||
myconf="${myconf} MALLOC=yes"
|
||||
fi
|
||||
|
||||
emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /etc/
|
||||
doins redis.conf sentinel.conf
|
||||
use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
|
||||
fperms 0644 /etc/{redis,sentinel}.conf
|
||||
|
||||
newconfd "${FILESDIR}/redis.confd-r1" redis
|
||||
newinitd "${FILESDIR}/redis.initd-5" redis
|
||||
|
||||
systemd_newunit "${FILESDIR}/redis.service-2" redis.service
|
||||
systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
|
||||
|
||||
newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
|
||||
newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}.logrotate" ${PN}
|
||||
|
||||
dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
|
||||
|
||||
dobin src/redis-cli
|
||||
dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
|
||||
fperms 0750 /usr/sbin/redis-benchmark
|
||||
dosym redis-server /usr/sbin/redis-sentinel
|
||||
|
||||
if use prefix; then
|
||||
diropts -m0750
|
||||
else
|
||||
diropts -m0750 -o redis -g redis
|
||||
fi
|
||||
keepdir /var/{log,lib}/redis
|
||||
}
|
@ -0,0 +1,144 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools eutils flag-o-matic systemd toolchain-funcs user
|
||||
|
||||
MY_PV="${PV/_/-}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DESCRIPTION="A persistent caching system, key-value and data structures database"
|
||||
HOMEPAGE="https://redis.io"
|
||||
SRC_URI="https://github.com/antirez/redis/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
|
||||
IUSE="+jemalloc tcmalloc luajit test"
|
||||
SLOT="0"
|
||||
|
||||
# Redis does NOT build with Lua 5.2 or newer at this time.
|
||||
# This should link correctly with both unslotted & slotted Lua, without
|
||||
# changes.
|
||||
RDEPEND="
|
||||
luajit? ( dev-lang/luajit:2 )
|
||||
!luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
|
||||
tcmalloc? ( dev-util/google-perftools )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.2 )"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
>=sys-devel/autoconf-2.63
|
||||
test? ( dev-lang/tcl:0= )"
|
||||
|
||||
REQUIRED_USE="?? ( tcmalloc jemalloc )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup redis 75
|
||||
enewuser redis 75 -1 /var/lib/redis redis
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
eapply \
|
||||
"${FILESDIR}"/${PN}-3.2.3-config.patch \
|
||||
"${FILESDIR}"/${PN}-5.0-shared.patch \
|
||||
"${FILESDIR}"/${PN}-5.0-sharedlua.patch \
|
||||
"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
|
||||
eapply_user
|
||||
|
||||
# Copy lua modules into build dir
|
||||
cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
|
||||
cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
|
||||
# Append cflag for lua_cjson
|
||||
# https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
|
||||
append-cflags "-DENABLE_CJSON_GLOBAL"
|
||||
|
||||
# now we will rewrite present Makefiles
|
||||
local makefiles="" MKF
|
||||
for MKF in $(find -name 'Makefile' | cut -b 3-); do
|
||||
mv "${MKF}" "${MKF}.in"
|
||||
sed -i -e 's:$(CC):@CC@:g' \
|
||||
-e 's:$(CFLAGS):@AM_CFLAGS@:g' \
|
||||
-e 's: $(DEBUG)::g' \
|
||||
-e 's:$(OBJARCH)::g' \
|
||||
-e 's:ARCH:TARCH:g' \
|
||||
-e '/^CCOPT=/s:$: $(LDFLAGS):g' \
|
||||
"${MKF}.in" \
|
||||
|| die "Sed failed for ${MKF}"
|
||||
makefiles+=" ${MKF}"
|
||||
done
|
||||
# autodetection of compiler and settings; generates the modified Makefiles
|
||||
cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
|
||||
|
||||
# Use the correct pkgconfig name for Lua
|
||||
has_version 'dev-lang/lua:5.1' \
|
||||
&& LUAPKGCONFIG=lua5.1 \
|
||||
|| LUAPKGCONFIG=lua
|
||||
sed -i \
|
||||
-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
|
||||
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
|
||||
-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
|
||||
configure.ac || die "Sed failed for configure.ac"
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_with luajit)
|
||||
|
||||
# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
|
||||
# also, don't define ANSI/c99 for lua twice
|
||||
sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export CC AR RANLIB
|
||||
|
||||
local myconf=""
|
||||
|
||||
if use tcmalloc; then
|
||||
myconf="${myconf} USE_TCMALLOC=yes"
|
||||
elif use jemalloc; then
|
||||
myconf="${myconf} JEMALLOC_SHARED=yes"
|
||||
else
|
||||
myconf="${myconf} MALLOC=yes"
|
||||
fi
|
||||
|
||||
emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /etc/
|
||||
doins redis.conf sentinel.conf
|
||||
use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
|
||||
fperms 0644 /etc/{redis,sentinel}.conf
|
||||
|
||||
newconfd "${FILESDIR}/redis.confd-r1" redis
|
||||
newinitd "${FILESDIR}/redis.initd-5" redis
|
||||
|
||||
systemd_newunit "${FILESDIR}/redis.service-2" redis.service
|
||||
systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
|
||||
|
||||
newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
|
||||
newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}.logrotate" ${PN}
|
||||
|
||||
dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
|
||||
|
||||
dobin src/redis-cli
|
||||
dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
|
||||
fperms 0750 /usr/sbin/redis-benchmark
|
||||
dosym redis-server /usr/sbin/redis-sentinel
|
||||
|
||||
if use prefix; then
|
||||
diropts -m0750
|
||||
else
|
||||
diropts -m0750 -o redis -g redis
|
||||
fi
|
||||
keepdir /var/{log,lib}/redis
|
||||
}
|
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
DIST efl-1.17.0.tar.xz 43485360 BLAKE2B 97a79bda40658eac6e50886a01821bb8c98d6f56d18fcd51dc3827154506064bec3bf665c8f471919aedb03ae83ce4045293afa9a0bf8d3eaf947221ef7cba9e SHA512 e4f28f938daf4ec1cb3d761407a443e401b59c6bb0f9fa6cd771dbd256b95f4a32a5f9e6bd8ad8328708a382f732e67abd1a23c7be2ff222f08bc8135a2435da
|
||||
DIST efl-1.18.4.tar.xz 64609944 BLAKE2B b36e5ee7c64a57772c5826e990a85110fffc3488e605d72515d4db7a6ec56eee25eb68c7136840f24cb8cdcdc8d7050e2825c17f0e4c5566db7d9ec2c96fd557 SHA512 2cfdcde8b5adb93310e75e4923e3845392bed97563ca1a68f4537e346b51f59acefaa85a425bdbb5619e5bfd6c9ff92b4bd1888b5d4ddd8db94c8a555e3934c9
|
||||
DIST efl-1.20.7.tar.xz 65509444 BLAKE2B f58f7daf850ef9983fe4b3a10a3ceb137be7f7ae32c71f476498f677de690bfcc7c16aea5032168a42aa6b5f97d1fb5ca51dafc69d80e2a9262f4d78220a8562 SHA512 c1bf18b74316cf9bd0bc16635c216ca0d8005b2ded1c014b22590388e37368343e5e5318f526dcb042cfce8ab2c7a82655e4718cbcac5dd1ed0d2522a7a2d7de
|
||||
DIST efl-1.21.0.tar.xz 71030532 BLAKE2B 3480e261aef05b169a850d27f3d9fa6da0ad9bc9ac04548137829e662546cd7d85c87596576e561bba33f9f1be657d81f261595e34c711ff9e35d551ae5f09a8 SHA512 497735f518976d70b96023b013a6d821f6695fe56def2abf5bd1e1c7ad89d324428017d7909c7b73bfb332b811b5596592b105bb4c3d2f6a40929f1cefc2b789
|
||||
|
@ -0,0 +1,281 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit gnome2-utils pax-utils xdg-utils
|
||||
|
||||
DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
|
||||
HOMEPAGE="https://www.enlightenment.org/"
|
||||
SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
|
||||
|
||||
LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="avahi +bmp dds connman debug drm +eet egl examples fbcon +fontconfig fribidi gif gles glib gnutls gstreamer harfbuzz hyphen +ico ibus jpeg2k libressl libuv luajit neon nls opengl ssl pdf physics postscript +ppm +psd pulseaudio raw scim sdl sound static-libs svg +system-lz4 systemd tga tiff tslib unwind v4l valgrind vlc vnc wayland webp X xcf xim xine xpresent xpm"
|
||||
|
||||
REQUIRED_USE="
|
||||
?? ( opengl egl )
|
||||
?? ( opengl gles )
|
||||
fbcon? ( !tslib )
|
||||
gles? (
|
||||
|| ( X wayland )
|
||||
!sdl
|
||||
egl
|
||||
)
|
||||
ibus? ( glib )
|
||||
opengl? ( X )
|
||||
pulseaudio? ( sound )
|
||||
sdl? ( opengl )
|
||||
vnc? ( X fbcon )
|
||||
wayland? ( egl gles !opengl )
|
||||
xim? ( X )
|
||||
"
|
||||
|
||||
COMMON_DEPEND="
|
||||
net-misc/curl
|
||||
media-libs/libpng:0=
|
||||
sys-apps/dbus
|
||||
sys-apps/util-linux
|
||||
sys-libs/zlib:=
|
||||
virtual/jpeg:0=
|
||||
avahi? ( net-dns/avahi )
|
||||
connman? ( net-misc/connman )
|
||||
drm? (
|
||||
dev-libs/libinput
|
||||
media-libs/mesa[gbm]
|
||||
x11-libs/libdrm
|
||||
x11-libs/libxkbcommon
|
||||
)
|
||||
egl? ( media-libs/mesa[egl] )
|
||||
fontconfig? ( media-libs/fontconfig )
|
||||
fribidi? ( dev-libs/fribidi )
|
||||
gif? ( media-libs/giflib:= )
|
||||
glib? ( dev-libs/glib:2 )
|
||||
gles? ( media-libs/mesa[gles2] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
harfbuzz? ( media-libs/harfbuzz )
|
||||
hyphen? ( dev-libs/hyphen )
|
||||
ibus? ( app-i18n/ibus )
|
||||
jpeg2k? ( media-libs/openjpeg:0= )
|
||||
libuv? ( dev-libs/libuv )
|
||||
luajit? ( dev-lang/luajit:= )
|
||||
!luajit? ( dev-lang/lua:* )
|
||||
nls? ( sys-devel/gettext )
|
||||
pdf? ( app-text/poppler:=[cxx] )
|
||||
physics? ( sci-physics/bullet:= )
|
||||
postscript? ( app-text/libspectre )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
raw? ( media-libs/libraw:= )
|
||||
scim? ( app-i18n/scim )
|
||||
sdl? (
|
||||
media-libs/libsdl2
|
||||
virtual/opengl
|
||||
)
|
||||
sound? ( media-libs/libsndfile )
|
||||
ssl? (
|
||||
gnutls? ( net-libs/gnutls:= )
|
||||
!gnutls? (
|
||||
!libressl? ( dev-libs/openssl:= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
)
|
||||
svg? (
|
||||
gnome-base/librsvg
|
||||
x11-libs/cairo
|
||||
)
|
||||
system-lz4? ( app-arch/lz4 )
|
||||
systemd? ( sys-apps/systemd )
|
||||
tiff? ( media-libs/tiff:0= )
|
||||
tslib? ( x11-libs/tslib:= )
|
||||
unwind? ( sys-libs/libunwind )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
vlc? ( media-video/vlc )
|
||||
vnc? ( net-libs/libvncserver )
|
||||
wayland? (
|
||||
dev-libs/wayland
|
||||
media-libs/mesa[gles2,wayland]
|
||||
x11-libs/libxkbcommon
|
||||
)
|
||||
webp? ( media-libs/libwebp:= )
|
||||
X? (
|
||||
media-libs/freetype
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXtst
|
||||
x11-libs/libXScrnSaver
|
||||
opengl? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXrender
|
||||
virtual/opengl
|
||||
)
|
||||
gles? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXrender
|
||||
virtual/opengl
|
||||
xpresent? ( x11-libs/libXpresent )
|
||||
)
|
||||
)
|
||||
xine? ( media-libs/xine-lib )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
!media-libs/elementary
|
||||
!media-plugins/emotion_generic_players
|
||||
!media-plugins/evas_generic_loaders
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Upstream still doesnt offer a configure flag. #611108
|
||||
if ! use unwind ; then
|
||||
sed -i -e 's:libunwind libunwind-generic:xxxxxxxxxxxxxxxx:' \
|
||||
configure || die "Sedding configure file with unwind fix failed."
|
||||
fi
|
||||
|
||||
xdg_environment_reset
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--enable-cserve
|
||||
--enable-image-loader-generic
|
||||
--enable-image-loader-jpeg
|
||||
--enable-image-loader-png
|
||||
--enable-libeeze
|
||||
--enable-libmount
|
||||
--enable-xinput22
|
||||
|
||||
--disable-doc
|
||||
--disable-gesture
|
||||
--disable-gstreamer
|
||||
--disable-image-loader-tgv
|
||||
--disable-tizen
|
||||
--disable-wayland-ivi-shell
|
||||
|
||||
$(use_enable avahi)
|
||||
$(use_enable bmp image-loader-bmp)
|
||||
$(use_enable bmp image-loader-wbmp)
|
||||
$(use_enable dds image-loader-dds)
|
||||
$(use_enable drm)
|
||||
$(use_enable drm elput)
|
||||
$(use_enable eet image-loader-eet)
|
||||
$(use_enable egl)
|
||||
$(use_enable examples always-build-examples)
|
||||
$(use_enable fbcon fb)
|
||||
$(use_enable fontconfig)
|
||||
$(use_enable fribidi)
|
||||
$(use_enable gif image-loader-gif)
|
||||
$(use_enable gstreamer gstreamer1)
|
||||
$(use_enable harfbuzz)
|
||||
$(use_enable hyphen)
|
||||
$(use_enable ico image-loader-ico)
|
||||
$(use_enable ibus)
|
||||
$(use_enable jpeg2k image-loader-jp2k)
|
||||
$(use_enable libuv)
|
||||
$(use_enable !luajit lua-old)
|
||||
$(use_enable neon)
|
||||
$(use_enable nls)
|
||||
$(use_enable pdf poppler)
|
||||
$(use_enable physics)
|
||||
$(use_enable postscript spectre)
|
||||
$(use_enable ppm image-loader-pmaps)
|
||||
$(use_enable psd image-loader-psd)
|
||||
$(use_enable pulseaudio)
|
||||
$(use_enable raw libraw)
|
||||
$(use_enable scim)
|
||||
$(use_enable sdl)
|
||||
$(use_enable sound audio)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable svg librsvg)
|
||||
$(use_enable system-lz4 liblz4)
|
||||
$(use_enable systemd)
|
||||
$(use_enable tga image-loader-tga)
|
||||
$(use_enable tiff image-loader-tiff)
|
||||
$(use_enable tslib)
|
||||
$(use_enable v4l v4l2)
|
||||
$(use_enable valgrind)
|
||||
$(use_enable vlc libvlc)
|
||||
$(use_enable vnc vnc-server)
|
||||
$(use_enable wayland)
|
||||
$(use_enable webp image-loader-webp)
|
||||
$(use_enable xcf)
|
||||
$(use_enable xim)
|
||||
$(use_enable xine)
|
||||
$(use_enable xpm image-loader-xpm)
|
||||
|
||||
--with-crypto=$(usex gnutls gnutls $(usex ssl openssl none))
|
||||
--with-glib=$(usex glib)
|
||||
--with-js=none
|
||||
--with-net-control=$(usex connman connman none)
|
||||
--with-profile=$(usex debug debug release)
|
||||
--with-x11=$(usex X xlib none)
|
||||
|
||||
$(use_with X x)
|
||||
)
|
||||
|
||||
use fbcon && use egl && myconf+=( --enable-eglfs )
|
||||
use drm && use wayland && myconf+=( --enable-gl-drm )
|
||||
use X && use xpresent && myconf+=( --enable-xpresent )
|
||||
|
||||
if use opengl ; then
|
||||
myconf+=( --with-opengl=full )
|
||||
elif use egl ; then
|
||||
myconf+=( --with-opengl=es )
|
||||
elif use drm && use wayland ; then
|
||||
myconf+=( --with-opengl=es )
|
||||
else
|
||||
myconf+=( --with-opengl=none )
|
||||
fi
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if host-is-pax && use luajit ; then
|
||||
# We need to build the lua code first so we can pax-mark it. #547076
|
||||
local target='_e_built_sources_target_gogogo_'
|
||||
printf '%s: $(BUILT_SOURCES)\n' "${target}" >> src/Makefile || die
|
||||
emake -C src "${target}"
|
||||
emake -C src bin/elua/elua
|
||||
pax-mark m src/bin/elua/.libs/elua
|
||||
fi
|
||||
|
||||
V=1 emake || die "Compiling EFL failed."
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstalldocs
|
||||
|
||||
V=1 emake install DESTDIR="${D}" || die "Installing EFL files failed."
|
||||
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools toolchain-funcs multilib-minimal
|
||||
|
||||
DESCRIPTION="Jemalloc is a general-purpose scalable concurrent allocator"
|
||||
HOMEPAGE="http://jemalloc.net/ https://github.com/jemalloc/jemalloc"
|
||||
SRC_URI="https://github.com/jemalloc/jemalloc/releases/download/${PV}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
IUSE="debug hardened lazy-lock static-libs stats xmalloc"
|
||||
HTML_DOCS=( doc/jemalloc.html )
|
||||
PATCHES=( "${FILESDIR}/${PN}-5.0.1-strip-optimization.patch"
|
||||
"${FILESDIR}/${PN}-4.5.0-fix_html_install.patch"
|
||||
)
|
||||
MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h )
|
||||
# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE
|
||||
# but jemalloc doesn't implement them in its configure; need this here to
|
||||
# supress the warnings until automagic is removed from the eclass
|
||||
QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=()
|
||||
|
||||
if use hardened ; then
|
||||
myconf+=( --disable-syscall )
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" \
|
||||
econf \
|
||||
$(use_enable debug) \
|
||||
$(use_enable lazy-lock) \
|
||||
$(use_enable stats) \
|
||||
$(use_enable xmalloc) \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Copy man file which the Makefile looks for
|
||||
cp "${S}/doc/jemalloc.3" "${BUILD_DIR}/doc" || die
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fixup install_name, #437362
|
||||
install_name_tool \
|
||||
-id "${EPREFIX}"/usr/$(get_libdir)/libjemalloc.2.dylib \
|
||||
"${ED}"/usr/$(get_libdir)/libjemalloc.2.dylib || die
|
||||
fi
|
||||
use static-libs || find "${ED}" -name '*.a' -delete
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
commit 0d88b73d189ea3440ccaab00418d6469f76fa590
|
||||
Author: Michal Hocko <mhocko@suse.com>
|
||||
Date: Wed Jul 18 11:24:29 2018 +0200
|
||||
|
||||
cgrulesengd: remove umask(0)
|
||||
|
||||
One of our partners has noticed that cgred daemon is creating a log file
|
||||
(/var/log/cgred) with too wide permissions (0666) and that is seen as
|
||||
a security bug because an untrusted user can write to otherwise
|
||||
restricted area. CVE-2018-14348 has been assigned to this issue.
|
||||
|
||||
Signed-off-by: Michal Hocko <mhocko@suse.com>
|
||||
Acked-by: Balbir Singh <bsingharora@gmail.com>
|
||||
|
||||
diff --git a/src/daemon/cgrulesengd.c b/src/daemon/cgrulesengd.c
|
||||
index ea51f11..0d288f3 100644
|
||||
--- a/src/daemon/cgrulesengd.c
|
||||
+++ b/src/daemon/cgrulesengd.c
|
||||
@@ -889,9 +889,6 @@ int cgre_start_daemon(const char *logp, const int logf,
|
||||
} else if (pid > 0) {
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
-
|
||||
- /* Change the file mode mask. */
|
||||
- umask(0);
|
||||
} else {
|
||||
flog(LOG_DEBUG, "Not using daemon mode\n");
|
||||
pid = getpid();
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST blessings-1.6.1.tar.gz 20122 BLAKE2B b2158f3fd538ef8641438bce7800efc9417e9febec6509d0e11389277b02ee03e661fe70198176a6a3578c216aeb4a6957da28d090cb1dc2849efff135cdf400 SHA512 7a4b051e448cddde7e8ce24106ce0d5d893eb442b19fff04f9ddf28381dfa1b4bdd4be79b87782162b2ead13597a346f533edb944130f2e5bc39aa936ca48db2
|
||||
DIST blessings-1.6.tar.gz 19974 BLAKE2B 5b454c7199c637f9b8d4de69a92b8137e65b925898064f31dabb56bf4fd7af8b3374b7311bcd0369b668868bc2335ce945306c242c1bf58d6d7d50c09150c017 SHA512 5d0fc365416bf2b36b6de72f6b8c01bf0ab8df4a0148f492c80056a9ebd5d569e9c01966481e0d70a25add16da2bc3e73be933226369abca533ce019f97479f2
|
||||
DIST blessings-1.7.tar.gz 22844 BLAKE2B 3694d3e421416bf876265fd0877240b2e0d61e8c58dfa63a6e74dd2f5efd2307cc4a0eef0e825adc0c0f37f6e78e15640362f9477c0dc5c89846416e16f180a9 SHA512 9b1e3eded3fa588c48898d88ba466836be8f25264ce908a2289504e8f13b01315ae1686ee34c0e3a44cdd2bf73da8c1b65e0aaf49ffc0e5b29c412a497c3d76e
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( pypy{,3} python{2_7,3_{4,5,6,7}} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A thin, practical wrapper around terminal coloring, styling, and positioning"
|
||||
HOMEPAGE="https://github.com/erikrose/blessings https://pypi.org/project/blessings/"
|
||||
# https://github.com/erikrose/blessings/pull/136
|
||||
SRC_URI="https://github.com/erikrose/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc test"
|
||||
|
||||
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
|
||||
BDEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? (
|
||||
${RDEPEND}
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
python_compile_all() {
|
||||
if use doc; then
|
||||
sphinx-build docs/ docs/_build/html || die
|
||||
HTML_DOCS=( docs/_build/html/. )
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# The tests need an interactive terminal
|
||||
# https://github.com/erikrose/blessings/issues/117
|
||||
script -eqc "nosetests -v -w \"${BUILD_DIR}\"" /dev/null \
|
||||
|| die "tests failed with ${EPYTHON}"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST fastimport-0.9.6.tar.gz 33333 BLAKE2B 46e654c26bd388a61ae0717b66294dbc1261aca9a2b6e1823e6d8afad014fd21d0ea54e70e018ba79cc45dc6111ccf84a4eb68e053c0812773a4c25cb32e0569 SHA512 cc38c1218d65ef4a9e3a68d8af3fadf98c7cc0dcd8075b338b8f492d25765bc2fe2247000868fd3c95e1f7f4c2b9a05964ef7b4f9196c2777f6a7941f127f416
|
||||
DIST fastimport-0.9.8.tar.gz 39512 BLAKE2B 484ba865e749cca33df73417285e51a9117e7c905ab2922588d6eef9a64ea6b3d72de285a2affbe7d4a770ead9ece30f6242777087af1c469d59c8f2a4e1b008 SHA512 5d195b641cf6138fdbc6c75781a4a6d3699e3ada9743bbe4c4264879b2da2f8a2e995e7cc3955a5241e9c7a7f24f8114474a0a30907f86e2e335e2be4669f588
|
||||
DIST python-fastimport-0.9.2.tar.gz 30762 BLAKE2B 2484e02077017c5534afafcc17627bef8875379bd8e66b5610408b5b11feb6db32cd9e97905a9ff3bc23cc58f6e01255bb3e18ea6fa66e0d077a42504e0def39 SHA512 8fd9f89267ca88edff94cea7537740431d02680a1eebd085ee376954b47bf5222e7575750895d0d2da246694cdac7a5afe50d857b87c0f36e04eb3511bcbe472
|
||||
|
@ -0,0 +1,28 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( pypy{,3} python{2_7,3_{4,5,6,7}} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_PN="${PN#python-}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
DESCRIPTION="Library for parsing the fastimport VCS serialization format"
|
||||
HOMEPAGE="https://github.com/jelmer/python-fastimport"
|
||||
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="test"
|
||||
|
||||
BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
python_test() {
|
||||
"${EPYTHON}" -m unittest -v fastimport.tests.test_suite \
|
||||
|| die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
commit acfda9c26df888741805249f3ec0f60f369fc664
|
||||
Author: Louis Sautier <sautier.louis@gmail.com>
|
||||
Date: Tue Aug 14 11:14:19 2018 +0200
|
||||
|
||||
Tests: allow differences when reading a buffer or a file, fixes #173
|
||||
|
||||
Also remove the loop in order to avoid analyzing files or buffers for each
|
||||
expected value, replace it with a call to assertIn().
|
||||
|
||||
diff --git a/test/test.py b/test/test.py
|
||||
index addccc6..67957ee 100755
|
||||
--- a/test/test.py
|
||||
+++ b/test/test.py
|
||||
@@ -10,7 +10,7 @@ import magic
|
||||
class MagicTest(unittest.TestCase):
|
||||
TESTDATA_DIR = os.path.join(os.path.dirname(__file__), 'testdata')
|
||||
|
||||
- def assert_values(self, m, expected_values):
|
||||
+ def assert_values(self, m, expected_values, buf_equals_file=True):
|
||||
for filename, expected_value in expected_values.items():
|
||||
try:
|
||||
filename = os.path.join(self.TESTDATA_DIR, filename)
|
||||
@@ -21,15 +21,16 @@ class MagicTest(unittest.TestCase):
|
||||
if type(expected_value) is not tuple:
|
||||
expected_value = (expected_value,)
|
||||
|
||||
- for i in expected_value:
|
||||
- with open(filename, 'rb') as f:
|
||||
- buf_value = m.from_buffer(f.read())
|
||||
+ with open(filename, 'rb') as f:
|
||||
+ buf_value = m.from_buffer(f.read())
|
||||
|
||||
- file_value = m.from_file(filename)
|
||||
- if buf_value == i and file_value == i:
|
||||
- break
|
||||
- else:
|
||||
- self.assertTrue(False, "no match for " + repr(expected_value))
|
||||
+ file_value = m.from_file(filename)
|
||||
+
|
||||
+ if buf_equals_file:
|
||||
+ self.assertEqual(buf_value, file_value)
|
||||
+
|
||||
+ for value in (buf_value, file_value):
|
||||
+ self.assertIn(value, expected_value)
|
||||
|
||||
def test_from_buffer_str_and_bytes(self):
|
||||
m = magic.Magic(mime=True)
|
||||
@@ -62,10 +63,14 @@ class MagicTest(unittest.TestCase):
|
||||
'magic._pyc_': 'python 2.4 byte-compiled',
|
||||
'test.pdf': 'PDF document, version 1.2',
|
||||
'test.gz':
|
||||
- ('gzip compressed data, was "test", from Unix, last modified: Sun Jun 29 01:32:52 2008',
|
||||
- 'gzip compressed data, was "test", last modified: Sun Jun 29 01:32:52 2008, from Unix'),
|
||||
+ ('gzip compressed data, was "test", from Unix, last '
|
||||
+ 'modified: Sun Jun 29 01:32:52 2008',
|
||||
+ 'gzip compressed data, was "test", last modified'
|
||||
+ ': Sun Jun 29 01:32:52 2008, from Unix',
|
||||
+ 'gzip compressed data, was "test", last modified'
|
||||
+ ': Sun Jun 29 01:32:52 2008, from Unix, original size 15'),
|
||||
'text.txt': 'ASCII text',
|
||||
- })
|
||||
+ }, buf_equals_file=False)
|
||||
finally:
|
||||
del os.environ['TZ']
|
||||
|
@ -0,0 +1,19 @@
|
||||
commit e83487a20bacd4f9b33d0478861671bf79468f59
|
||||
Author: Louis Sautier <sautier.louis@gmail.com>
|
||||
Date: Mon Aug 13 12:15:13 2018 +0200
|
||||
|
||||
Allow x-gzip as MIME type for gzip files, fixes #96
|
||||
|
||||
diff --git a/test/test.py b/test/test.py
|
||||
index e29335f..e3ee703 100755
|
||||
--- a/test/test.py
|
||||
+++ b/test/test.py
|
||||
@@ -54,7 +54,7 @@ class MagicTest(unittest.TestCase):
|
||||
self.assert_values(m, {
|
||||
'magic._pyc_': 'application/octet-stream',
|
||||
'test.pdf': 'application/pdf',
|
||||
- 'test.gz': 'application/gzip',
|
||||
+ 'test.gz': ('application/gzip', 'application/x-gzip'),
|
||||
'text.txt': 'text/plain',
|
||||
b'\xce\xbb'.decode('utf-8'): 'text/plain',
|
||||
b'\xce\xbb': 'text/plain',
|
@ -0,0 +1,49 @@
|
||||
commit 4bda684f8b461cc1f69593799efcf6afe8397756
|
||||
Author: Adam Hupp <adam@hupp.org>
|
||||
Date: Sat Dec 9 09:09:00 2017 -0800
|
||||
|
||||
fix test for xenial since travis started enabling it
|
||||
|
||||
diff --git a/test/test.py b/test/test.py
|
||||
index addccc6..c6e2d9c 100755
|
||||
--- a/test/test.py
|
||||
+++ b/test/test.py
|
||||
@@ -17,7 +17,7 @@ class MagicTest(unittest.TestCase):
|
||||
except TypeError:
|
||||
filename = os.path.join(self.TESTDATA_DIR.encode('utf-8'), filename)
|
||||
|
||||
-
|
||||
+
|
||||
if type(expected_value) is not tuple:
|
||||
expected_value = (expected_value,)
|
||||
|
||||
@@ -37,7 +37,7 @@ class MagicTest(unittest.TestCase):
|
||||
self.assertEqual("text/x-python", m.from_buffer(s))
|
||||
b = b'#!/usr/bin/env python\nprint("foo")'
|
||||
self.assertEqual("text/x-python", m.from_buffer(b))
|
||||
-
|
||||
+
|
||||
def test_mime_types(self):
|
||||
dest = os.path.join(MagicTest.TESTDATA_DIR, b'\xce\xbb'.decode('utf-8'))
|
||||
shutil.copyfile(os.path.join(MagicTest.TESTDATA_DIR, 'lambda'), dest)
|
||||
@@ -92,9 +92,9 @@ class MagicTest(unittest.TestCase):
|
||||
|
||||
m = magic.Magic(mime=True)
|
||||
self.assertEqual(m.from_file(filename), 'image/jpeg')
|
||||
-
|
||||
+
|
||||
m = magic.Magic(mime=True, keep_going=True)
|
||||
- self.assertEqual(m.from_file(filename), 'image/jpeg')
|
||||
+ self.assertEqual(m.from_file(filename), 'image/jpeg\\012- application/octet-stream')
|
||||
|
||||
|
||||
def test_rethrow(self):
|
||||
@@ -103,7 +103,7 @@ class MagicTest(unittest.TestCase):
|
||||
def t(x,y):
|
||||
raise magic.MagicException("passthrough")
|
||||
magic.magic_buffer = t
|
||||
-
|
||||
+
|
||||
self.assertRaises(magic.MagicException, magic.from_buffer, "hello", True)
|
||||
finally:
|
||||
magic.magic_buffer = old
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( pypy{,3} python{2_7,3_{4,5,6,7}} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Access the libmagic file type identification library"
|
||||
HOMEPAGE="https://github.com/ahupp/python-magic"
|
||||
# https://github.com/ahupp/python-magic/pull/178
|
||||
SRC_URI="https://github.com/ahupp/python-magic/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~hppa ~ia64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="sys-apps/file[-python]"
|
||||
BDEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? ( ${RDEPEND} )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# https://github.com/ahupp/python-magic/pull/177
|
||||
"${FILESDIR}/${P}-fix-buffer-test.patch"
|
||||
# https://github.com/ahupp/python-magic/pull/176
|
||||
"${FILESDIR}/${P}-fix-gzip-test.patch"
|
||||
# https://github.com/ahupp/python-magic/commit/4bda684f8b461cc1f69593799efcf6afe8397756
|
||||
"${FILESDIR}/${P}-fix-jpeg-test.patch"
|
||||
)
|
||||
|
||||
python_test() {
|
||||
"${EPYTHON}" test/test.py -v || die "Tests fail with ${EPYTHON}"
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST hiera-3.4.3.gem 40960 BLAKE2B a4747c6096065c1272bd3099893d27c53b5e869be16643fbd59fa0eead692e3bd082fcbf82463614336d00c3068244bd632fd6c3a87ba520566a8643f674bfc4 SHA512 126e626b9c9020f2b8565aaff35f30b35c73785120425d186c97186c5bdfafc4831216250f78fd33ffd5e1dde49646b262887747c0d73442a252c391329959e2
|
||||
DIST hiera-3.4.4.gem 41472 BLAKE2B 12c098d4cbf3bbf5980a4638d7dd7a67a56b9874c96e5be483335be2e0c9ac2417b7e187737c40c9cfa4f1d822f7d3bd9ac74f96e2df040c7aa029b82f295304 SHA512 bfac2d76cca90708a52f907a31c35f8e3944d50d473e3f17ad13f3673ab2efed0ee9edcbb4c40242f398ab2e3bd08b249b191a6b9d534c185ed540802684beca
|
||||
|
@ -0,0 +1,25 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
USE_RUBY="ruby23 ruby24 ruby25"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
RUBY_FAKEGEM_EXTRADOC="README.md"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="A simple pluggable Hierarchical Database"
|
||||
HOMEPAGE="https://docs.puppet.com/hiera/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86"
|
||||
|
||||
ruby_add_bdepend "test? ( dev-ruby/mocha )"
|
||||
|
||||
ruby_add_rdepend "dev-ruby/deep_merge"
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST gnome-nibbles-3.24.0.tar.xz 1614604 BLAKE2B 04ba4f761bf21af466cb7761a8d7ac511f92871548df9e8ff8950efe6ea95c3674e00360dc9c3e02ce670dc66ae7639094c9c8c53fe0a0134089db976976ce99 SHA512 716a79541fa8dd0f86cce5bc211574d4ad50f762bb2b74a2881ad4adcdde47520784f67672e2da3fb33fbc60928d710a2afebb8997d6dd10f633289e0d8163b7
|
||||
DIST gnome-nibbles-3.24.1.tar.xz 1651024 BLAKE2B 99b3f4f2e0c3a2ec8b75cf137f6e73848461fb20cbed55e6aef216f357babd67dd449ec36fde87084acf3b8f014b813672a75e1dbe11d33ee8fcc3e52af2a903 SHA512 7f3d7240f64429398dae1cdee96d912a22a4f534752d656ab470bcaa8515e005c8b7015e93b162ba24c3b891a64f3b3b84639c2254c1c7e6c45aea229492cc02
|
||||
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
VALA_MIN_API_VERSION="0.28"
|
||||
|
||||
inherit gnome2 vala
|
||||
|
||||
DESCRIPTION="Nibbles clone for Gnome"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/Nibbles"
|
||||
|
||||
LICENSE="GPL-3+ CC-BY-SA-3.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.40.0:2
|
||||
dev-libs/libgee:0.8=
|
||||
dev-libs/libgnome-games-support:1
|
||||
>=media-libs/clutter-1.22.0:1.0
|
||||
>=media-libs/clutter-gtk-1.4.0:1.0
|
||||
>=media-libs/libcanberra-0.26[gtk3]
|
||||
>=x11-libs/gtk+-3.18.0:3
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
$(vala_depend)
|
||||
app-text/yelp-tools
|
||||
dev-libs/appstream-glib
|
||||
>=dev-util/intltool-0.50.2
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
gnome2_src_prepare
|
||||
vala_src_prepare
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
DIST protonmail-bridge-1.0.5-1.x86_64.rpm 46864229 BLAKE2B bfd35880dd172dd4fc2352f28f9dc9e57049a114b15fbcc2f462c286e005276ac78b14ea2eab074f5e767aa39f6d58138d06118b8f5618d38e3aa977ceb7a725 SHA512 11a9230dd6ba9655b17cccc2a84529ea32852fe237e5174948aa711d9afe44fb3db3d29175933aa1f4dfffaf06207e6d38b815a0cce1f9d23e116a7cf9895f64
|
||||
DIST protonmail-bridge-1.0.6-2.x86_64.rpm 46921976 BLAKE2B 0e56ad21f9bf2a94400db3b27ade946bbec5016481674eba0a36e89169fd8136ec3d8f8ae422b579fba5a9c7ac00cab569c97774a5f014764e1f98a5b712be1f SHA512 63adda37a08179d29cba935572d9e39023c225338f2467c1f0a747817321285592870e38d1b8ad1053c2ce86e9dae7681cb02609936c065a18fa954516c42041
|
||||
|
@ -1,188 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit rpm
|
||||
|
||||
DESCRIPTION="Serves ProtonMail to IMAP/SMTP clients"
|
||||
HOMEPAGE="https://protonmail.com/bridge/"
|
||||
SRC_URI="https://protonmail.com/download/${P/-bin/}-1.x86_64.rpm"
|
||||
|
||||
RESTRICT="bindist mirror"
|
||||
|
||||
LICENSE="MIT protonmail-bridge-EULA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
app-crypt/libsecret
|
||||
dev-libs/glib:2
|
||||
media-sound/pulseaudio
|
||||
sys-apps/dbus
|
||||
virtual/opengl
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXext
|
||||
x11-libs/libXi
|
||||
"
|
||||
BDEPEND="dev-util/patchelf"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
src_prepare() {
|
||||
# Bug #660366. To workaround preserving libs, set RUNPATH and rm unused libs
|
||||
cd "${S}/usr/lib/protonmail/bridge" || die
|
||||
patchelf --set-rpath '$ORIGIN/lib' Desktop-Bridge || die "patchelf failed"
|
||||
patchelf --set-rpath '$ORIGIN' lib/libicui18n.so.56 || die "patchelf failed"
|
||||
patchelf --set-rpath '$ORIGIN' lib/libicuuc.so.56 || die "patchelf failed"
|
||||
|
||||
rm "lib/libQt53DCore.so.5"
|
||||
rm "lib/libQt53DExtras.so.5"
|
||||
rm "lib/libQt53DInput.so.5"
|
||||
rm "lib/libQt53DLogic.so.5"
|
||||
rm "lib/libQt53DQuick.so.5"
|
||||
rm "lib/libQt53DQuickExtras.so.5"
|
||||
rm "lib/libQt53DQuickInput.so.5"
|
||||
rm "lib/libQt53DQuickRender.so.5"
|
||||
rm "lib/libQt53DRender.so.5"
|
||||
rm "lib/libQt5Concurrent.so.5"
|
||||
rm "lib/libQt5Gamepad.so.5"
|
||||
rm "lib/libQt5QuickParticles.so.5"
|
||||
rm "lib/libqgsttools_p.so.1"
|
||||
rm "plugins/audio/libqtaudio_alsa.so"
|
||||
rm "plugins/audio/libqtmedia_pulse.so"
|
||||
rm "plugins/bearer/libqconnmanbearer.so"
|
||||
rm "plugins/bearer/libqgenericbearer.so"
|
||||
rm "plugins/bearer/libqnmbearer.so"
|
||||
rm "plugins/canbus/libqtpeakcanbus.so"
|
||||
rm "plugins/canbus/libqtsocketcanbus.so"
|
||||
rm "plugins/canbus/libqttinycanbus.so"
|
||||
rm "plugins/designer/libqquickwidget.so"
|
||||
rm "plugins/designer/libqwebengineview.so"
|
||||
rm "plugins/egldeviceintegrations/libqeglfs-emu-integration.so"
|
||||
rm "plugins/egldeviceintegrations/libqeglfs-x11-integration.so"
|
||||
rm "plugins/gamepads/libevdevgamepad.so"
|
||||
rm "plugins/generic/libqevdevkeyboardplugin.so"
|
||||
rm "plugins/generic/libqevdevmouseplugin.so"
|
||||
rm "plugins/generic/libqevdevtabletplugin.so"
|
||||
rm "plugins/generic/libqevdevtouchplugin.so"
|
||||
rm "plugins/generic/libqtuiotouchplugin.so"
|
||||
rm "plugins/geometryloaders/libdefaultgeometryloader.so"
|
||||
rm "plugins/geometryloaders/libgltfgeometryloader.so"
|
||||
rm "plugins/geoservices/libqtgeoservices_esri.so"
|
||||
rm "plugins/geoservices/libqtgeoservices_itemsoverlay.so"
|
||||
rm "plugins/geoservices/libqtgeoservices_mapbox.so"
|
||||
rm "plugins/geoservices/libqtgeoservices_mapboxgl.so"
|
||||
rm "plugins/geoservices/libqtgeoservices_nokia.so"
|
||||
rm "plugins/geoservices/libqtgeoservices_osm.so"
|
||||
rm "plugins/iconengines/libqsvgicon.so"
|
||||
rm "plugins/imageformats/libqjp2.so"
|
||||
rm "plugins/mediaservice/libgstaudiodecoder.so"
|
||||
rm "plugins/mediaservice/libgstcamerabin.so"
|
||||
rm "plugins/mediaservice/libgstmediacapture.so"
|
||||
rm "plugins/mediaservice/libgstmediaplayer.so"
|
||||
rm "plugins/platforminputcontexts/libibusplatforminputcontextplugin.so"
|
||||
rm "plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so"
|
||||
rm "plugins/platforms/libqeglfs.so"
|
||||
rm "plugins/platforms/libqlinuxfb.so"
|
||||
rm "plugins/platforms/libqminimal.so"
|
||||
rm "plugins/platforms/libqminimalegl.so"
|
||||
rm "plugins/platforms/libqoffscreen.so"
|
||||
rm "plugins/platforms/libqvnc.so"
|
||||
rm "plugins/platformthemes/libqgtk3.so"
|
||||
rm "plugins/playlistformats/libqtmultimedia_m3u.so"
|
||||
rm "plugins/position/libqtposition_geoclue.so"
|
||||
rm "plugins/position/libqtposition_positionpoll.so"
|
||||
rm "plugins/printsupport/libcupsprintersupport.so"
|
||||
rm "plugins/qmltooling/libqmldbg_debugger.so"
|
||||
rm "plugins/qmltooling/libqmldbg_inspector.so"
|
||||
rm "plugins/qmltooling/libqmldbg_local.so"
|
||||
rm "plugins/qmltooling/libqmldbg_messages.so"
|
||||
rm "plugins/qmltooling/libqmldbg_native.so"
|
||||
rm "plugins/qmltooling/libqmldbg_nativedebugger.so"
|
||||
rm "plugins/qmltooling/libqmldbg_profiler.so"
|
||||
rm "plugins/qmltooling/libqmldbg_quickprofiler.so"
|
||||
rm "plugins/qmltooling/libqmldbg_server.so"
|
||||
rm "plugins/qmltooling/libqmldbg_tcp.so"
|
||||
rm "plugins/renderplugins/libscene2d.so"
|
||||
rm "plugins/sceneparsers/libassimpsceneimport.so"
|
||||
rm "plugins/sceneparsers/libgltfsceneexport.so"
|
||||
rm "plugins/sceneparsers/libgltfsceneimport.so"
|
||||
rm "plugins/sensorgestures/libqtsensorgestures_plugin.so"
|
||||
rm "plugins/sensorgestures/libqtsensorgestures_shakeplugin.so"
|
||||
rm "plugins/sensors/libqtsensors_generic.so"
|
||||
rm "plugins/sensors/libqtsensors_iio-sensor-proxy.so"
|
||||
rm "plugins/sensors/libqtsensors_linuxsys.so"
|
||||
rm "plugins/sqldrivers/libqsqlite.so"
|
||||
rm "plugins/sqldrivers/libqsqlmysql.so"
|
||||
rm "plugins/sqldrivers/libqsqlpsql.so"
|
||||
rm "plugins/xcbglintegrations/libqxcb-egl-integration.so"
|
||||
rm "qml/Qt/labs/calendar/libqtlabscalendarplugin.so"
|
||||
rm "qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so"
|
||||
rm "qml/Qt/labs/platform/libqtlabsplatformplugin.so"
|
||||
rm "qml/Qt/labs/settings/libqmlsettingsplugin.so"
|
||||
rm "qml/Qt/labs/sharedimage/libsharedimageplugin.so"
|
||||
rm "qml/Qt3D/Animation/libquick3danimationplugin.so"
|
||||
rm "qml/Qt3D/Core/libquick3dcoreplugin.so"
|
||||
rm "qml/Qt3D/Extras/libquick3dextrasplugin.so"
|
||||
rm "qml/Qt3D/Input/libquick3dinputplugin.so"
|
||||
rm "qml/Qt3D/Logic/libquick3dlogicplugin.so"
|
||||
rm "qml/Qt3D/Render/libquick3drenderplugin.so"
|
||||
rm "qml/QtBluetooth/libdeclarative_bluetooth.so"
|
||||
rm "qml/QtCanvas3D/libqtcanvas3d.so"
|
||||
rm "qml/QtCharts/libqtchartsqml2.so"
|
||||
rm "qml/QtDataVisualization/libdatavisualizationqml2.so"
|
||||
rm "qml/QtGamepad/libdeclarative_gamepad.so"
|
||||
rm "qml/QtLocation/libdeclarative_location.so"
|
||||
rm "qml/QtMultimedia/libdeclarative_multimedia.so"
|
||||
rm "qml/QtNfc/libdeclarative_nfc.so"
|
||||
rm "qml/QtPositioning/libdeclarative_positioning.so"
|
||||
rm "qml/QtPurchasing/libdeclarative_purchasing.so"
|
||||
rm "qml/QtQml/Models.2/libmodelsplugin.so"
|
||||
rm "qml/QtQml/StateMachine/libqtqmlstatemachine.so"
|
||||
rm "qml/QtQuick/Controls.2/Material/libqtquickcontrols2materialstyleplugin.so"
|
||||
rm "qml/QtQuick/Controls.2/Universal/libqtquickcontrols2universalstyleplugin.so"
|
||||
rm "qml/QtQuick/Controls/Styles/Flat/libqtquickextrasflatplugin.so"
|
||||
rm "qml/QtQuick/Controls/libqtquickcontrolsplugin.so"
|
||||
rm "qml/QtQuick/Dialogs/Private/libdialogsprivateplugin.so"
|
||||
rm "qml/QtQuick/Dialogs/libdialogplugin.so"
|
||||
rm "qml/QtQuick/Extras/libqtquickextrasplugin.so"
|
||||
rm "qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so"
|
||||
rm "qml/QtQuick/Particles.2/libparticlesplugin.so"
|
||||
rm "qml/QtQuick/PrivateWidgets/libwidgetsplugin.so"
|
||||
rm "qml/QtQuick/Scene2D/libqtquickscene2dplugin.so"
|
||||
rm "qml/QtQuick/Scene3D/libqtquickscene3dplugin.so"
|
||||
rm "qml/QtQuick/VirtualKeyboard/Styles/libqtvirtualkeyboardstylesplugin.so"
|
||||
rm "qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so"
|
||||
rm "qml/QtScxml/libdeclarative_scxml.so"
|
||||
rm "qml/QtSensors/libdeclarative_sensors.so"
|
||||
rm "qml/QtTest/libqmltestplugin.so"
|
||||
rm "qml/QtWebChannel/libdeclarative_webchannel.so"
|
||||
rm "qml/QtWebEngine/libqtwebengineplugin.so"
|
||||
rm "qml/QtWebSockets/libdeclarative_qmlwebsockets.so"
|
||||
rm "qml/QtWebView/libdeclarative_webview.so"
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Using doins -r would strip executable bits from all binaries
|
||||
cp -pPR "${S}"/usr "${D}"/ || die "Failed to copy files"
|
||||
|
||||
dosym "Desktop-Bridge" "/usr/bin/${PN}" || die
|
||||
|
||||
cat <<-EOF > "${T}/50-${PN}" || die
|
||||
SEARCH_DIRS_MASK="/usr/lib*/protonmail/bridge"
|
||||
EOF
|
||||
insinto /etc/revdep-rebuild
|
||||
doins "${T}/50-${PN}"
|
||||
}
|
@ -0,0 +1,187 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit rpm
|
||||
|
||||
DESCRIPTION="Serves ProtonMail to IMAP/SMTP clients"
|
||||
HOMEPAGE="https://protonmail.com/bridge/"
|
||||
SRC_URI="https://protonmail.com/download/${P/-bin/}-2.x86_64.rpm"
|
||||
|
||||
RESTRICT="bindist mirror"
|
||||
|
||||
LICENSE="MIT protonmail-bridge-EULA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
app-crypt/libsecret
|
||||
dev-libs/glib:2
|
||||
media-sound/pulseaudio
|
||||
sys-apps/dbus
|
||||
virtual/opengl
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXext
|
||||
x11-libs/libXi
|
||||
"
|
||||
BDEPEND="dev-util/patchelf"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
src_prepare() {
|
||||
# Bug #660366. To workaround preserving libs, set RUNPATH and rm unused libs
|
||||
cd "${S}/usr/lib/protonmail/bridge" || die
|
||||
patchelf --set-rpath '$ORIGIN/lib' Desktop-Bridge || die "patchelf failed"
|
||||
patchelf --set-rpath '$ORIGIN' lib/libicui18n.so.56 || die "patchelf failed"
|
||||
patchelf --set-rpath '$ORIGIN' lib/libicuuc.so.56 || die "patchelf failed"
|
||||
|
||||
rm "lib/libQt53DCore.so.5" || die
|
||||
rm "lib/libQt53DExtras.so.5" || die
|
||||
rm "lib/libQt53DInput.so.5" || die
|
||||
rm "lib/libQt53DLogic.so.5" || die
|
||||
rm "lib/libQt53DQuick.so.5" || die
|
||||
rm "lib/libQt53DQuickExtras.so.5" || die
|
||||
rm "lib/libQt53DQuickInput.so.5" || die
|
||||
rm "lib/libQt53DQuickRender.so.5" || die
|
||||
rm "lib/libQt53DRender.so.5" || die
|
||||
rm "lib/libQt5Concurrent.so.5" || die
|
||||
rm "lib/libQt5Gamepad.so.5" || die
|
||||
rm "lib/libQt5QuickParticles.so.5" || die
|
||||
rm "lib/libqgsttools_p.so.1" || die
|
||||
rm "plugins/audio/libqtaudio_alsa.so" || die
|
||||
rm "plugins/audio/libqtmedia_pulse.so" || die
|
||||
rm "plugins/bearer/libqconnmanbearer.so" || die
|
||||
rm "plugins/bearer/libqgenericbearer.so" || die
|
||||
rm "plugins/bearer/libqnmbearer.so" || die
|
||||
rm "plugins/canbus/libqtpeakcanbus.so" || die
|
||||
rm "plugins/canbus/libqtsocketcanbus.so" || die
|
||||
rm "plugins/canbus/libqttinycanbus.so" || die
|
||||
rm "plugins/designer/libqquickwidget.so" || die
|
||||
rm "plugins/designer/libqwebengineview.so" || die
|
||||
rm "plugins/egldeviceintegrations/libqeglfs-emu-integration.so" || die
|
||||
rm "plugins/egldeviceintegrations/libqeglfs-x11-integration.so" || die
|
||||
rm "plugins/gamepads/libevdevgamepad.so" || die
|
||||
rm "plugins/generic/libqevdevkeyboardplugin.so" || die
|
||||
rm "plugins/generic/libqevdevmouseplugin.so" || die
|
||||
rm "plugins/generic/libqevdevtabletplugin.so" || die
|
||||
rm "plugins/generic/libqevdevtouchplugin.so" || die
|
||||
rm "plugins/generic/libqtuiotouchplugin.so" || die
|
||||
rm "plugins/geometryloaders/libdefaultgeometryloader.so" || die
|
||||
rm "plugins/geometryloaders/libgltfgeometryloader.so" || die
|
||||
rm "plugins/geoservices/libqtgeoservices_esri.so" || die
|
||||
rm "plugins/geoservices/libqtgeoservices_itemsoverlay.so" || die
|
||||
rm "plugins/geoservices/libqtgeoservices_mapbox.so" || die
|
||||
rm "plugins/geoservices/libqtgeoservices_mapboxgl.so" || die
|
||||
rm "plugins/geoservices/libqtgeoservices_nokia.so" || die
|
||||
rm "plugins/geoservices/libqtgeoservices_osm.so" || die
|
||||
rm "plugins/iconengines/libqsvgicon.so" || die
|
||||
rm "plugins/imageformats/libqjp2.so" || die
|
||||
rm "plugins/mediaservice/libgstaudiodecoder.so" || die
|
||||
rm "plugins/mediaservice/libgstcamerabin.so" || die
|
||||
rm "plugins/mediaservice/libgstmediacapture.so" || die
|
||||
rm "plugins/mediaservice/libgstmediaplayer.so" || die
|
||||
rm "plugins/platforminputcontexts/libibusplatforminputcontextplugin.so" || die
|
||||
rm "plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so" || die
|
||||
rm "plugins/platforms/libqeglfs.so" || die
|
||||
rm "plugins/platforms/libqlinuxfb.so" || die
|
||||
rm "plugins/platforms/libqminimal.so" || die
|
||||
rm "plugins/platforms/libqminimalegl.so" || die
|
||||
rm "plugins/platforms/libqoffscreen.so" || die
|
||||
rm "plugins/platforms/libqvnc.so" || die
|
||||
rm "plugins/platformthemes/libqgtk3.so" || die
|
||||
rm "plugins/playlistformats/libqtmultimedia_m3u.so" || die
|
||||
rm "plugins/position/libqtposition_geoclue.so" || die
|
||||
rm "plugins/position/libqtposition_positionpoll.so" || die
|
||||
rm "plugins/printsupport/libcupsprintersupport.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_debugger.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_inspector.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_local.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_messages.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_native.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_nativedebugger.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_profiler.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_quickprofiler.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_server.so" || die
|
||||
rm "plugins/qmltooling/libqmldbg_tcp.so" || die
|
||||
rm "plugins/renderplugins/libscene2d.so" || die
|
||||
rm "plugins/sceneparsers/libassimpsceneimport.so" || die
|
||||
rm "plugins/sceneparsers/libgltfsceneexport.so" || die
|
||||
rm "plugins/sceneparsers/libgltfsceneimport.so" || die
|
||||
rm "plugins/sensorgestures/libqtsensorgestures_plugin.so" || die
|
||||
rm "plugins/sensorgestures/libqtsensorgestures_shakeplugin.so" || die
|
||||
rm "plugins/sensors/libqtsensors_generic.so" || die
|
||||
rm "plugins/sensors/libqtsensors_iio-sensor-proxy.so" || die
|
||||
rm "plugins/sensors/libqtsensors_linuxsys.so" || die
|
||||
rm "plugins/sqldrivers/libqsqlite.so" || die
|
||||
rm "plugins/sqldrivers/libqsqlmysql.so" || die
|
||||
rm "plugins/sqldrivers/libqsqlpsql.so" || die
|
||||
rm "plugins/xcbglintegrations/libqxcb-egl-integration.so" || die
|
||||
rm "qml/Qt/labs/calendar/libqtlabscalendarplugin.so" || die
|
||||
rm "qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so" || die
|
||||
rm "qml/Qt/labs/platform/libqtlabsplatformplugin.so" || die
|
||||
rm "qml/Qt/labs/settings/libqmlsettingsplugin.so" || die
|
||||
rm "qml/Qt/labs/sharedimage/libsharedimageplugin.so" || die
|
||||
rm "qml/Qt3D/Animation/libquick3danimationplugin.so" || die
|
||||
rm "qml/Qt3D/Core/libquick3dcoreplugin.so" || die
|
||||
rm "qml/Qt3D/Extras/libquick3dextrasplugin.so" || die
|
||||
rm "qml/Qt3D/Input/libquick3dinputplugin.so" || die
|
||||
rm "qml/Qt3D/Logic/libquick3dlogicplugin.so" || die
|
||||
rm "qml/Qt3D/Render/libquick3drenderplugin.so" || die
|
||||
rm "qml/QtBluetooth/libdeclarative_bluetooth.so" || die
|
||||
rm "qml/QtCanvas3D/libqtcanvas3d.so" || die
|
||||
rm "qml/QtCharts/libqtchartsqml2.so" || die
|
||||
rm "qml/QtDataVisualization/libdatavisualizationqml2.so" || die
|
||||
rm "qml/QtGamepad/libdeclarative_gamepad.so" || die
|
||||
rm "qml/QtLocation/libdeclarative_location.so" || die
|
||||
rm "qml/QtMultimedia/libdeclarative_multimedia.so" || die
|
||||
rm "qml/QtNfc/libdeclarative_nfc.so" || die
|
||||
rm "qml/QtPositioning/libdeclarative_positioning.so" || die
|
||||
rm "qml/QtPurchasing/libdeclarative_purchasing.so" || die
|
||||
rm "qml/QtQml/Models.2/libmodelsplugin.so" || die
|
||||
rm "qml/QtQml/StateMachine/libqtqmlstatemachine.so" || die
|
||||
rm "qml/QtQuick/Controls.2/Material/libqtquickcontrols2materialstyleplugin.so" || die
|
||||
rm "qml/QtQuick/Controls.2/Universal/libqtquickcontrols2universalstyleplugin.so" || die
|
||||
rm "qml/QtQuick/Controls/Styles/Flat/libqtquickextrasflatplugin.so" || die
|
||||
rm "qml/QtQuick/Controls/libqtquickcontrolsplugin.so" || die
|
||||
rm "qml/QtQuick/Dialogs/Private/libdialogsprivateplugin.so" || die
|
||||
rm "qml/QtQuick/Dialogs/libdialogplugin.so" || die
|
||||
rm "qml/QtQuick/Extras/libqtquickextrasplugin.so" || die
|
||||
rm "qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so" || die
|
||||
rm "qml/QtQuick/Particles.2/libparticlesplugin.so" || die
|
||||
rm "qml/QtQuick/PrivateWidgets/libwidgetsplugin.so" || die
|
||||
rm "qml/QtQuick/Scene2D/libqtquickscene2dplugin.so" || die
|
||||
rm "qml/QtQuick/Scene3D/libqtquickscene3dplugin.so" || die
|
||||
rm "qml/QtQuick/VirtualKeyboard/Styles/libqtvirtualkeyboardstylesplugin.so" || die
|
||||
rm "qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so" || die
|
||||
rm "qml/QtScxml/libdeclarative_scxml.so" || die
|
||||
rm "qml/QtSensors/libdeclarative_sensors.so" || die
|
||||
rm "qml/QtTest/libqmltestplugin.so" || die
|
||||
rm "qml/QtWebChannel/libdeclarative_webchannel.so" || die
|
||||
rm "qml/QtWebEngine/libqtwebengineplugin.so" || die
|
||||
rm "qml/QtWebSockets/libdeclarative_qmlwebsockets.so" || die
|
||||
rm "qml/QtWebView/libdeclarative_webview.so" || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Using doins -r would strip executable bits from all binaries
|
||||
cp -pPR usr "${D}"/ || die "Failed to copy files"
|
||||
|
||||
dosym "Desktop-Bridge" "/usr/bin/${PN}"
|
||||
|
||||
insinto /etc/revdep-rebuild
|
||||
newins - "50-${PN}" <<-EOF
|
||||
SEARCH_DIRS_MASK="/usr/lib*/protonmail/bridge"
|
||||
EOF
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,12 @@
|
||||
diff -pur nas-1.9.4-orig/server/Imakefile nas-1.9.4/server/Imakefile
|
||||
--- a/server/Imakefile 2013-04-27 02:41:06.000000000 +0200
|
||||
+++ b/server/Imakefile 2017-03-14 18:58:27.445311356 +0100
|
||||
@@ -57,7 +57,7 @@ XCOMM $NCDId: @(#)Imakefile,v 1.17 1995/
|
||||
|
||||
# endif
|
||||
#else
|
||||
- SYSLIBS =
|
||||
+ SYSLIBS = $(LEXLIB)
|
||||
#endif
|
||||
|
||||
#ifdef NetBSDArchitecture
|
Binary file not shown.
@ -1,3 +1,3 @@
|
||||
DIST spotify-client_1.0.72.117.g6bd7cc73-35_i386.deb 95135550 BLAKE2B ad4587dd6b3c64a0398e0790203a7826e290a27542fa39ebbd6c7198d8ad1fd3fb06e8b030b64e1e61e0624ef20aafda08189266486cd073cb779ebff62ef502 SHA512 51d60f7592e5f31ea4b7e67736a85271cb48d4108459630da61c4ab67d2a470038240c1d6ff577280cb4498cf44f14d7bc7e0312f63d34265bcd1e70cd13142f
|
||||
DIST spotify-client_1.0.80.480.g51b03ac3-13_amd64.deb 97542898 BLAKE2B a89f3f607c9fb03327886fc1b6eb8d433b32913aa7ff32e95f626a8ef7710c4d6102721b76e9a83f1342d1ac6f6941d85376b4cb878cf641f42f3c3756582eb9 SHA512 a46b1d28e6c40dbe9a86a38794186f2cdf31341fff953eaa5a5fdbb37c27c00ffe14a918b2552df0996d2842f009e6700bf8683e0667fc671dfd5b343251f20e
|
||||
DIST spotify-client_1.0.88.345.gc64d9bb3-2_amd64.deb 103366188 BLAKE2B 9c18dce84a2c4a634ddfe360539ecc590f3f85b7ab65063dfbc20ac102cfb06310592ae1f06deee5f09cc93179d887e917db2666bf53fd86ae026a883343787e SHA512 23207a2d5ec0bd6e1e614ea58576339146c210d1cb453e3e5eb4fa03b80f15e9ebae3cb38c1fec72ffd2f206a9d0476bab3a079ed0f9f0fbf1aefa40baabfa35
|
||||
DIST spotify-client_1.0.88.353.g15c26ea1-14_amd64.deb 103367590 BLAKE2B 90de37c58643cd864b35e26f2d97507872adfa3a6d9b7832d46d0caf9d3383673c67b2e4d7d7015075912cc2ae3754f575f968bd6b743760d7a910d90581d25c SHA512 30592c34a2b1b9d546c753d03a8ead7459d83bd5f420e1dab92a1f2ff40ac2daa0f4f447b95cd499a30328aea1afe8949e05fdd0668b9caf637abdecf5e45742
|
||||
|
@ -0,0 +1,31 @@
|
||||
From 2386ec2c745f6c5075e53ea051da211336b44b84 Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Tue, 26 Jun 2018 22:31:27 +0200
|
||||
Subject: readmidi: Fix division by zero
|
||||
|
||||
References: CVE-2017-11546
|
||||
|
||||
An adhoc fix for division by zero in insert_note_steps().
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
bug-debian: https://bugs.debian.org/870338
|
||||
bug-suse: https://bugzilla.suse.com/show_bug.cgi?id=1081694
|
||||
bug: https://bugzilla.suse.com/show_bug.cgi?id=1081694
|
||||
origin: https://bugzilla.suse.com/attachment.cgi?id=760825
|
||||
---
|
||||
timidity/readmidi.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/timidity/readmidi.c b/timidity/readmidi.c
|
||||
index 158388a..341777e 100644
|
||||
--- a/timidity/readmidi.c
|
||||
+++ b/timidity/readmidi.c
|
||||
@@ -4585,6 +4585,8 @@ static void insert_note_steps(void)
|
||||
if (beat != 0)
|
||||
meas++, beat = 0;
|
||||
num = timesig[n].a, denom = timesig[n].b, n++;
|
||||
+ if (!denom)
|
||||
+ denom = 1;
|
||||
}
|
||||
a = (meas + 1) & 0xff;
|
||||
b = (((meas + 1) >> 8) & 0x0f) + ((beat + 1) << 4);
|
@ -0,0 +1,67 @@
|
||||
From 34328d22cbb4ccf03f29223f54f1834c796d86a2 Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Tue, 26 Jun 2018 22:31:28 +0200
|
||||
Subject: resample: Fix out-of-bound access in resamplers
|
||||
|
||||
References: CVE-2017-11547
|
||||
|
||||
An adhoc fix for out-of-bound accesses in resamples.
|
||||
The offset might overflow the given data range.
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
bug-debian: https://bugs.debian.org/870338
|
||||
bug-suse: https://bugzilla.suse.com/show_bug.cgi?id=1081694
|
||||
origin: https://bugzilla.suse.com/attachment.cgi?id=760826
|
||||
---
|
||||
timidity/resample.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/timidity/resample.c b/timidity/resample.c
|
||||
index cd6b8e6..4a3fadf 100644
|
||||
--- a/timidity/resample.c
|
||||
+++ b/timidity/resample.c
|
||||
@@ -57,6 +57,8 @@ static resample_t resample_cspline(sample_t *src, splen_t ofs, resample_rec_t *r
|
||||
{
|
||||
int32 ofsi, ofsf, v0, v1, v2, v3, temp;
|
||||
|
||||
+ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
|
||||
+ return src[ofs >> FRACTION_BITS];
|
||||
ofsi = ofs >> FRACTION_BITS;
|
||||
v1 = src[ofsi];
|
||||
v2 = src[ofsi + 1];
|
||||
@@ -96,6 +98,8 @@ static resample_t resample_lagrange(sample_t *src, splen_t ofs, resample_rec_t *
|
||||
{
|
||||
int32 ofsi, ofsf, v0, v1, v2, v3;
|
||||
|
||||
+ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
|
||||
+ return src[ofs >> FRACTION_BITS];
|
||||
ofsi = ofs >> FRACTION_BITS;
|
||||
v1 = (int32)src[ofsi];
|
||||
v2 = (int32)src[ofsi + 1];
|
||||
@@ -154,6 +158,8 @@ static resample_t resample_gauss(sample_t *src, splen_t ofs, resample_rec_t *rec
|
||||
sample_t *sptr;
|
||||
int32 left, right, temp_n;
|
||||
|
||||
+ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
|
||||
+ return src[ofs >> FRACTION_BITS];
|
||||
left = (ofs>>FRACTION_BITS);
|
||||
right = (rec->data_length>>FRACTION_BITS) - left - 1;
|
||||
temp_n = (right<<1)-1;
|
||||
@@ -261,6 +267,8 @@ static resample_t resample_newton(sample_t *src, splen_t ofs, resample_rec_t *re
|
||||
int32 left, right, temp_n;
|
||||
int ii, jj;
|
||||
|
||||
+ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
|
||||
+ return src[ofs >> FRACTION_BITS];
|
||||
left = (ofs>>FRACTION_BITS);
|
||||
right = (rec->data_length>>FRACTION_BITS)-(ofs>>FRACTION_BITS)-1;
|
||||
temp_n = (right<<1)-1;
|
||||
@@ -330,6 +338,8 @@ static resample_t resample_linear(sample_t *src, splen_t ofs, resample_rec_t *re
|
||||
{
|
||||
int32 v1, v2, ofsi;
|
||||
|
||||
+ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
|
||||
+ return src[ofs >> FRACTION_BITS];
|
||||
ofsi = ofs >> FRACTION_BITS;
|
||||
v1 = src[ofsi];
|
||||
v2 = src[ofsi + 1];
|
@ -0,0 +1,199 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools desktop elisp-common systemd toolchain-funcs user xdg-utils
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_P=TiMidity++-${MY_PV}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
DESCRIPTION="A handy MIDI to WAV converter with OSS and ALSA output support"
|
||||
HOMEPAGE="http://timidity.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/timidity/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
|
||||
IUSE="motif oss nas X gtk vorbis tk slang alsa jack emacs ao selinux speex flac ncurses"
|
||||
|
||||
DEPEND="
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
ao? ( >=media-libs/libao-0.8.5 )
|
||||
emacs? ( virtual/emacs )
|
||||
flac? ( media-libs/flac )
|
||||
gtk? ( x11-libs/gtk+:2 )
|
||||
jack? ( virtual/jack )
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
nas? ( >=media-libs/nas-1.4 )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
slang? ( sys-libs/slang )
|
||||
speex? ( media-libs/speex )
|
||||
tk? ( dev-lang/tk:0= )
|
||||
vorbis? ( media-libs/libvorbis )
|
||||
X? (
|
||||
media-libs/libpng:0=
|
||||
x11-libs/libXaw
|
||||
x11-libs/libXext
|
||||
)
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
app-eselect/eselect-timidity
|
||||
alsa? ( media-sound/alsa-utils )
|
||||
selinux? ( sec-policy/selinux-timidity )
|
||||
"
|
||||
|
||||
PDEPEND="|| ( media-sound/timidity-eawpatches media-sound/timidity-freepats )"
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup audio 18 # Just make sure it exists
|
||||
enewuser timidity -1 -1 /var/lib/timidity audio
|
||||
}
|
||||
|
||||
DOCS=( AUTHORS ChangeLog NEWS README "${FILESDIR}"/timidity.cfg-r1 )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-params.patch
|
||||
"${FILESDIR}"/${P}-revert-for-required-ctl_speana_data-function.patch
|
||||
"${FILESDIR}"/${P}-tcltk86.patch
|
||||
"${FILESDIR}"/${P}-ar.patch
|
||||
"${FILESDIR}"/${P}-configure-flags.patch
|
||||
"${FILESDIR}"/${P}-pkg-config.patch
|
||||
"${FILESDIR}"/${P}-CVE-2017-1154{6,7}.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export EXTRACFLAGS="${CFLAGS}" #385817
|
||||
|
||||
local myconf=()
|
||||
local audios
|
||||
|
||||
use flac && audios+=",flac"
|
||||
use speex && audios+=",speex"
|
||||
use vorbis && audios+=",vorbis"
|
||||
use oss && audios+=",oss"
|
||||
use jack && audios+=",jack"
|
||||
use ao && audios+=",ao"
|
||||
|
||||
if use nas; then
|
||||
audios+=",nas"
|
||||
myconf+=( --with-nas-library="/usr/$(get_libdir)/libaudio.so" --with-x )
|
||||
use X || ewarn "Basic X11 support will be enabled because required by nas."
|
||||
fi
|
||||
|
||||
if use alsa; then
|
||||
audios+=",alsa"
|
||||
myconf+=( --with-default-output=alsa --enable-alsaseq )
|
||||
fi
|
||||
|
||||
# We disable motif by default and then only enable it if it's requested.
|
||||
if use motif; then
|
||||
myconf+=( --enable-motif --with-x )
|
||||
use X || ewarn "Basic X11 support will be enabled because required by motif."
|
||||
fi
|
||||
|
||||
econf \
|
||||
--localstatedir=/var/state/timidity++ \
|
||||
--with-module-dir="${EPREFIX}/usr/share/timidity" \
|
||||
--with-lispdir="${SITELISP}/${PN}" \
|
||||
--with-elf \
|
||||
--enable-audio=${audios} \
|
||||
--enable-server \
|
||||
--enable-network \
|
||||
--enable-dynamic \
|
||||
--enable-vt100 \
|
||||
--enable-spline=cubic \
|
||||
$(use_enable emacs) \
|
||||
$(use_enable slang) \
|
||||
$(use_enable ncurses) \
|
||||
$(use_with X x) \
|
||||
$(use_enable X spectrogram) \
|
||||
$(use_enable X wrd) \
|
||||
$(use_enable X xskin) \
|
||||
$(use_enable X xaw) \
|
||||
$(use_enable gtk) \
|
||||
$(use_enable tk tcltk) \
|
||||
--disable-motif \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
einstalldocs
|
||||
|
||||
# these are only for the ALSA sequencer mode
|
||||
if use alsa; then
|
||||
newconfd "${FILESDIR}"/conf.d.timidity.2 timidity
|
||||
newinitd "${FILESDIR}"/init.d.timidity.4 timidity
|
||||
|
||||
systemd_dounit "${FILESDIR}"/timidity.service
|
||||
fi
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}"/timidity.cfg-r1 timidity.cfg
|
||||
|
||||
dodir /usr/share/timidity
|
||||
dosym ../../../etc/timidity.cfg /usr/share/timidity/timidity.cfg
|
||||
|
||||
if use emacs; then
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
fi
|
||||
|
||||
diropts -o timidity -g nobody -m 0700
|
||||
keepdir /var/lib/timidity
|
||||
|
||||
doicon "${FILESDIR}"/timidity.xpm
|
||||
newmenu "${FILESDIR}"/timidity.desktop.2 timidity.desktop
|
||||
|
||||
# Order of preference: gtk, X (Xaw), ncurses, slang
|
||||
# Do not create menu item for terminal ones
|
||||
local interface="-id"
|
||||
local terminal="true"
|
||||
local nodisplay="true"
|
||||
if use gtk || use X; then
|
||||
interface="-ia"
|
||||
terminal="false"
|
||||
nodisplay="false"
|
||||
use gtk && interface="-ig"
|
||||
elif use ncurses || use slang; then
|
||||
local interface="-is"
|
||||
use ncurses && interface="-in"
|
||||
fi
|
||||
sed -e "s/Exec=timidity/Exec=timidity ${interface}/" \
|
||||
-e "s/Terminal=.*/Terminal=${terminal}/" \
|
||||
-e "s/NoDisplay=.*/NoDisplay=${nodisplay}/" \
|
||||
-i "${D}"/usr/share/applications/timidity.desktop || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
|
||||
elog "A timidity config file has been installed in /etc/timidity.cfg."
|
||||
elog "Do not edit this file as it will interfere with the eselect timidity tool."
|
||||
elog "The tool 'eselect timidity' can be used to switch between installed patchsets."
|
||||
|
||||
if use alsa; then
|
||||
elog "An init script for the alsa timidity sequencer has been installed."
|
||||
elog "If you wish to use the timidity virtual sequencer, edit /etc/conf.d/timidity"
|
||||
elog "and run 'rc-update add timidity <runlevel> && /etc/init.d/timidity start'"
|
||||
fi
|
||||
|
||||
if use sparc; then
|
||||
elog "Only saving to wave file and ALSA soundback has been tested working."
|
||||
fi
|
||||
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
From: David Bryant <david@wavpack.com>
|
||||
Date: Tue, 24 Apr 2018 22:18:07 -0700
|
||||
Subject: issue #30 issue #31 issue #32: no multiple format chunks in WAV or
|
||||
W64
|
||||
|
||||
---
|
||||
cli/riff.c | 7 ++++++-
|
||||
cli/wave64.c | 6 ++++++
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cli/riff.c b/cli/riff.c
|
||||
index 7bddf63..5d6452e 100644
|
||||
--- a/cli/riff.c
|
||||
+++ b/cli/riff.c
|
||||
@@ -53,7 +53,7 @@ extern int debug_logging_mode;
|
||||
|
||||
int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, WavpackContext *wpc, WavpackConfig *config)
|
||||
{
|
||||
- int is_rf64 = !strncmp (fourcc, "RF64", 4), got_ds64 = 0;
|
||||
+ int is_rf64 = !strncmp (fourcc, "RF64", 4), got_ds64 = 0, format_chunk = 0;
|
||||
int64_t total_samples = 0, infilesize;
|
||||
RiffChunkHeader riff_chunk_header;
|
||||
ChunkHeader chunk_header;
|
||||
@@ -140,6 +140,11 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
|
||||
else if (!strncmp (chunk_header.ckID, "fmt ", 4)) { // if it's the format chunk, we want to get some info out of there and
|
||||
int supported = TRUE, format; // make sure it's a .wav file we can handle
|
||||
|
||||
+ if (format_chunk++) {
|
||||
+ error_line ("%s is not a valid .WAV file!", infilename);
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
if (chunk_header.ckSize < 16 || chunk_header.ckSize > sizeof (WaveHeader) ||
|
||||
!DoReadFile (infile, &WaveHeader, chunk_header.ckSize, &bcount) ||
|
||||
bcount != chunk_header.ckSize) {
|
||||
diff --git a/cli/wave64.c b/cli/wave64.c
|
||||
index fa928a0..0388dc7 100644
|
||||
--- a/cli/wave64.c
|
||||
+++ b/cli/wave64.c
|
||||
@@ -53,6 +53,7 @@ int ParseWave64HeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa
|
||||
Wave64ChunkHeader chunk_header;
|
||||
Wave64FileHeader filehdr;
|
||||
WaveHeader WaveHeader;
|
||||
+ int format_chunk = 0;
|
||||
uint32_t bcount;
|
||||
|
||||
infilesize = DoGetFileSize (infile);
|
||||
@@ -104,6 +105,11 @@ int ParseWave64HeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa
|
||||
if (!memcmp (chunk_header.ckID, fmt_guid, sizeof (fmt_guid))) {
|
||||
int supported = TRUE, format;
|
||||
|
||||
+ if (format_chunk++) {
|
||||
+ error_line ("%s is not a valid .W64 file!", infilename);
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
chunk_header.ckSize = (chunk_header.ckSize + 7) & ~7L;
|
||||
|
||||
if (chunk_header.ckSize < 16 || chunk_header.ckSize > sizeof (WaveHeader) ||
|
@ -0,0 +1,70 @@
|
||||
From: David Bryant <david@wavpack.com>
|
||||
Date: Tue, 24 Apr 2018 17:27:01 -0700
|
||||
Subject: issue #33, sanitize size of unknown chunks before malloc()
|
||||
|
||||
---
|
||||
cli/dsdiff.c | 9 ++++++++-
|
||||
cli/riff.c | 9 ++++++++-
|
||||
cli/wave64.c | 9 ++++++++-
|
||||
3 files changed, 24 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/cli/dsdiff.c b/cli/dsdiff.c
|
||||
index c016df9..fa56bbb 100644
|
||||
--- a/cli/dsdiff.c
|
||||
+++ b/cli/dsdiff.c
|
||||
@@ -279,7 +279,14 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa
|
||||
else { // just copy unknown chunks to output file
|
||||
|
||||
int bytes_to_copy = (int)(((dff_chunk_header.ckDataSize) + 1) & ~(int64_t)1);
|
||||
- char *buff = malloc (bytes_to_copy);
|
||||
+ char *buff;
|
||||
+
|
||||
+ if (bytes_to_copy < 0 || bytes_to_copy > 4194304) {
|
||||
+ error_line ("%s is not a valid .DFF file!", infilename);
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ buff = malloc (bytes_to_copy);
|
||||
|
||||
if (debug_logging_mode)
|
||||
error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes",
|
||||
diff --git a/cli/riff.c b/cli/riff.c
|
||||
index de98c1e..7bddf63 100644
|
||||
--- a/cli/riff.c
|
||||
+++ b/cli/riff.c
|
||||
@@ -286,7 +286,14 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
|
||||
else { // just copy unknown chunks to output file
|
||||
|
||||
int bytes_to_copy = (chunk_header.ckSize + 1) & ~1L;
|
||||
- char *buff = malloc (bytes_to_copy);
|
||||
+ char *buff;
|
||||
+
|
||||
+ if (bytes_to_copy < 0 || bytes_to_copy > 4194304) {
|
||||
+ error_line ("%s is not a valid .WAV file!", infilename);
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ buff = malloc (bytes_to_copy);
|
||||
|
||||
if (debug_logging_mode)
|
||||
error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes",
|
||||
diff --git a/cli/wave64.c b/cli/wave64.c
|
||||
index 591d640..fa928a0 100644
|
||||
--- a/cli/wave64.c
|
||||
+++ b/cli/wave64.c
|
||||
@@ -241,7 +241,14 @@ int ParseWave64HeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa
|
||||
}
|
||||
else { // just copy unknown chunks to output file
|
||||
int bytes_to_copy = (chunk_header.ckSize + 7) & ~7L;
|
||||
- char *buff = malloc (bytes_to_copy);
|
||||
+ char *buff;
|
||||
+
|
||||
+ if (bytes_to_copy < 0 || bytes_to_copy > 4194304) {
|
||||
+ error_line ("%s is not a valid .W64 file!", infilename);
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ buff = malloc (bytes_to_copy);
|
||||
|
||||
if (debug_logging_mode)
|
||||
error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes",
|
@ -0,0 +1,111 @@
|
||||
From: David Bryant <david@wavpack.com>
|
||||
Date: Sun, 4 Feb 2018 11:28:15 -0800
|
||||
Subject: issue #27, do not overwrite stack on corrupt RF64 file
|
||||
|
||||
---
|
||||
cli/riff.c | 39 ++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 32 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/cli/riff.c b/cli/riff.c
|
||||
index 8b1af45..de98c1e 100644
|
||||
--- a/cli/riff.c
|
||||
+++ b/cli/riff.c
|
||||
@@ -42,6 +42,7 @@ typedef struct {
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
+#define CS64ChunkFormat "4D"
|
||||
#define DS64ChunkFormat "DDDL"
|
||||
|
||||
#define WAVPACK_NO_ERROR 0
|
||||
@@ -101,13 +102,13 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
|
||||
|
||||
if (!strncmp (chunk_header.ckID, "ds64", 4)) {
|
||||
if (chunk_header.ckSize < sizeof (DS64Chunk) ||
|
||||
- !DoReadFile (infile, &ds64_chunk, chunk_header.ckSize, &bcount) ||
|
||||
- bcount != chunk_header.ckSize) {
|
||||
+ !DoReadFile (infile, &ds64_chunk, sizeof (DS64Chunk), &bcount) ||
|
||||
+ bcount != sizeof (DS64Chunk)) {
|
||||
error_line ("%s is not a valid .WAV file!", infilename);
|
||||
return WAVPACK_SOFT_ERROR;
|
||||
}
|
||||
else if (!(config->qmode & QMODE_NO_STORE_WRAPPER) &&
|
||||
- !WavpackAddWrapper (wpc, &ds64_chunk, chunk_header.ckSize)) {
|
||||
+ !WavpackAddWrapper (wpc, &ds64_chunk, sizeof (DS64Chunk))) {
|
||||
error_line ("%s", WavpackGetErrorMessage (wpc));
|
||||
return WAVPACK_SOFT_ERROR;
|
||||
}
|
||||
@@ -315,10 +316,11 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
|
||||
|
||||
int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, int qmode)
|
||||
{
|
||||
- int do_rf64 = 0, write_junk = 1;
|
||||
+ int do_rf64 = 0, write_junk = 1, table_length = 0;
|
||||
ChunkHeader ds64hdr, datahdr, fmthdr;
|
||||
RiffChunkHeader riffhdr;
|
||||
DS64Chunk ds64_chunk;
|
||||
+ CS64Chunk cs64_chunk;
|
||||
JunkChunk junkchunk;
|
||||
WaveHeader wavhdr;
|
||||
uint32_t bcount;
|
||||
@@ -380,6 +382,7 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples,
|
||||
strncpy (riffhdr.formType, "WAVE", sizeof (riffhdr.formType));
|
||||
total_riff_bytes = sizeof (riffhdr) + wavhdrsize + sizeof (datahdr) + ((total_data_bytes + 1) & ~(int64_t)1);
|
||||
if (do_rf64) total_riff_bytes += sizeof (ds64hdr) + sizeof (ds64_chunk);
|
||||
+ total_riff_bytes += table_length * sizeof (CS64Chunk);
|
||||
if (write_junk) total_riff_bytes += sizeof (junkchunk);
|
||||
strncpy (fmthdr.ckID, "fmt ", sizeof (fmthdr.ckID));
|
||||
strncpy (datahdr.ckID, "data", sizeof (datahdr.ckID));
|
||||
@@ -394,11 +397,12 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples,
|
||||
|
||||
if (do_rf64) {
|
||||
strncpy (ds64hdr.ckID, "ds64", sizeof (ds64hdr.ckID));
|
||||
- ds64hdr.ckSize = sizeof (ds64_chunk);
|
||||
+ ds64hdr.ckSize = sizeof (ds64_chunk) + (table_length * sizeof (CS64Chunk));
|
||||
CLEAR (ds64_chunk);
|
||||
ds64_chunk.riffSize64 = total_riff_bytes;
|
||||
ds64_chunk.dataSize64 = total_data_bytes;
|
||||
ds64_chunk.sampleCount64 = total_samples;
|
||||
+ ds64_chunk.tableLength = table_length;
|
||||
riffhdr.ckSize = (uint32_t) -1;
|
||||
datahdr.ckSize = (uint32_t) -1;
|
||||
WavpackNativeToLittleEndian (&ds64hdr, ChunkHeaderFormat);
|
||||
@@ -409,6 +413,14 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples,
|
||||
datahdr.ckSize = (uint32_t) total_data_bytes;
|
||||
}
|
||||
|
||||
+ // this "table" is just a dummy placeholder for testing (normally not written)
|
||||
+
|
||||
+ if (table_length) {
|
||||
+ strncpy (cs64_chunk.ckID, "dmmy", sizeof (cs64_chunk.ckID));
|
||||
+ cs64_chunk.chunkSize64 = 12345678;
|
||||
+ WavpackNativeToLittleEndian (&cs64_chunk, CS64ChunkFormat);
|
||||
+ }
|
||||
+
|
||||
// write the RIFF chunks up to just before the data starts
|
||||
|
||||
WavpackNativeToLittleEndian (&riffhdr, ChunkHeaderFormat);
|
||||
@@ -418,8 +430,21 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples,
|
||||
|
||||
if (!DoWriteFile (outfile, &riffhdr, sizeof (riffhdr), &bcount) || bcount != sizeof (riffhdr) ||
|
||||
(do_rf64 && (!DoWriteFile (outfile, &ds64hdr, sizeof (ds64hdr), &bcount) || bcount != sizeof (ds64hdr))) ||
|
||||
- (do_rf64 && (!DoWriteFile (outfile, &ds64_chunk, sizeof (ds64_chunk), &bcount) || bcount != sizeof (ds64_chunk))) ||
|
||||
- (write_junk && (!DoWriteFile (outfile, &junkchunk, sizeof (junkchunk), &bcount) || bcount != sizeof (junkchunk))) ||
|
||||
+ (do_rf64 && (!DoWriteFile (outfile, &ds64_chunk, sizeof (ds64_chunk), &bcount) || bcount != sizeof (ds64_chunk)))) {
|
||||
+ error_line ("can't write .WAV data, disk probably full!");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ // again, this is normally not written except for testing
|
||||
+
|
||||
+ while (table_length--)
|
||||
+ if (!DoWriteFile (outfile, &cs64_chunk, sizeof (cs64_chunk), &bcount) || bcount != sizeof (cs64_chunk)) {
|
||||
+ error_line ("can't write .WAV data, disk probably full!");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ if ((write_junk && (!DoWriteFile (outfile, &junkchunk, sizeof (junkchunk), &bcount) || bcount != sizeof (junkchunk))) ||
|
||||
!DoWriteFile (outfile, &fmthdr, sizeof (fmthdr), &bcount) || bcount != sizeof (fmthdr) ||
|
||||
!DoWriteFile (outfile, &wavhdr, wavhdrsize, &bcount) || bcount != wavhdrsize ||
|
||||
!DoWriteFile (outfile, &datahdr, sizeof (datahdr), &bcount) || bcount != sizeof (datahdr)) {
|
@ -0,0 +1,31 @@
|
||||
From: David Bryant <david@wavpack.com>
|
||||
Date: Sat, 10 Feb 2018 16:01:39 -0800
|
||||
Subject: issue #28, do not overwrite heap on corrupt DSDIFF file
|
||||
|
||||
---
|
||||
cli/dsdiff.c | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cli/dsdiff.c b/cli/dsdiff.c
|
||||
index 410dc1c..c016df9 100644
|
||||
--- a/cli/dsdiff.c
|
||||
+++ b/cli/dsdiff.c
|
||||
@@ -153,7 +153,17 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa
|
||||
error_line ("dsdiff file version = 0x%08x", version);
|
||||
}
|
||||
else if (!strncmp (dff_chunk_header.ckID, "PROP", 4)) {
|
||||
- char *prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize);
|
||||
+ char *prop_chunk;
|
||||
+
|
||||
+ if (dff_chunk_header.ckDataSize < 4 || dff_chunk_header.ckDataSize > 1024) {
|
||||
+ error_line ("%s is not a valid .DFF file!", infilename);
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ if (debug_logging_mode)
|
||||
+ error_line ("got PROP chunk of %d bytes total", (int) dff_chunk_header.ckDataSize);
|
||||
+
|
||||
+ prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize);
|
||||
|
||||
if (!DoReadFile (infile, prop_chunk, (uint32_t) dff_chunk_header.ckDataSize, &bcount) ||
|
||||
bcount != dff_chunk_header.ckDataSize) {
|
@ -0,0 +1,64 @@
|
||||
From: David Bryant <david@wavpack.com>
|
||||
Date: Sun, 11 Feb 2018 16:37:47 -0800
|
||||
Subject: issue #28, fix buffer overflows and bad allocs on corrupt CAF files
|
||||
|
||||
---
|
||||
cli/caff.c | 30 +++++++++++++++++++++++-------
|
||||
1 file changed, 23 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/cli/caff.c b/cli/caff.c
|
||||
index ae57c4b..6248a71 100644
|
||||
--- a/cli/caff.c
|
||||
+++ b/cli/caff.c
|
||||
@@ -89,8 +89,8 @@ typedef struct
|
||||
|
||||
#define CAFChannelDescriptionFormat "LLLLL"
|
||||
|
||||
-static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21 };
|
||||
-static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16 };
|
||||
+static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21,0 };
|
||||
+static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16,0 };
|
||||
|
||||
static struct {
|
||||
uint32_t mChannelLayoutTag; // Core Audio layout, 100 - 146 in high word, num channels in low word
|
||||
@@ -274,10 +274,19 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
|
||||
}
|
||||
}
|
||||
else if (!strncmp (caf_chunk_header.mChunkType, "chan", 4)) {
|
||||
- CAFChannelLayout *caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize);
|
||||
+ CAFChannelLayout *caf_channel_layout;
|
||||
|
||||
- if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) ||
|
||||
- !DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) ||
|
||||
+ if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) || caf_chunk_header.mChunkSize > 1024) {
|
||||
+ error_line ("this .CAF file has an invalid 'chan' chunk!");
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ if (debug_logging_mode)
|
||||
+ error_line ("'chan' chunk is %d bytes", (int) caf_chunk_header.mChunkSize);
|
||||
+
|
||||
+ caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize);
|
||||
+
|
||||
+ if (!DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) ||
|
||||
bcount != caf_chunk_header.mChunkSize) {
|
||||
error_line ("%s is not a valid .CAF file!", infilename);
|
||||
free (caf_channel_layout);
|
||||
@@ -495,8 +504,15 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
|
||||
}
|
||||
else { // just copy unknown chunks to output file
|
||||
|
||||
- int bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize;
|
||||
- char *buff = malloc (bytes_to_copy);
|
||||
+ uint32_t bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize;
|
||||
+ char *buff;
|
||||
+
|
||||
+ if (caf_chunk_header.mChunkSize < 0 || caf_chunk_header.mChunkSize > 1048576) {
|
||||
+ error_line ("%s is not a valid .CAF file!", infilename);
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ buff = malloc (bytes_to_copy);
|
||||
|
||||
if (debug_logging_mode)
|
||||
error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes",
|
@ -0,0 +1,32 @@
|
||||
From: David Bryant <david@wavpack.com>
|
||||
Date: Sun, 8 Apr 2018 16:27:40 -0700
|
||||
Subject: fix memory leaks
|
||||
|
||||
---
|
||||
src/common_utils.c | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/src/common_utils.c b/src/common_utils.c
|
||||
index caf6b8f..629e60e 100644
|
||||
--- a/src/common_utils.c
|
||||
+++ b/src/common_utils.c
|
||||
@@ -373,6 +373,19 @@ WavpackContext *WavpackCloseFile (WavpackContext *wpc)
|
||||
|
||||
WavpackFreeWrapper (wpc);
|
||||
|
||||
+ if (wpc->metadata) {
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; i < wpc->metacount; ++i)
|
||||
+ if (wpc->metadata [i].data)
|
||||
+ free (wpc->metadata [i].data);
|
||||
+
|
||||
+ free (wpc->metadata);
|
||||
+ }
|
||||
+
|
||||
+ if (wpc->channel_identities)
|
||||
+ free (wpc->channel_identities);
|
||||
+
|
||||
if (wpc->channel_reordering)
|
||||
free (wpc->channel_reordering);
|
||||
|
@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools multilib-minimal
|
||||
|
||||
DESCRIPTION="Hybrid lossless audio compression tools"
|
||||
HOMEPAGE="http://www.wavpack.com/"
|
||||
SRC_URI="http://www.wavpack.com/${P}.tar.bz2"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
|
||||
IUSE="static-libs"
|
||||
|
||||
RDEPEND=">=virtual/libiconv-0-r1"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-armv7.patch
|
||||
"${FILESDIR}"/${P}-CVE-2018-{6767,7253,7254}.patch
|
||||
"${FILESDIR}"/${P}-CVE-2018-10536-CVE-2018-10537.patch
|
||||
"${FILESDIR}"/${P}-CVE-2018-10538-CVE-2018-10539-CVE-2018-10540.patch
|
||||
"${FILESDIR}"/${P}-memleaks.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE=${S} econf \
|
||||
$(multilib_native_enable apps)
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST whipper-0.7.0.tar.gz 160649 BLAKE2B 8e14b6dda00b3c8be7ba0fabb25d1cbca536edc785373986f857bafbc2e54d358f18b27140ffda74384c4e815e68ee466c8fc5e4e5d17aa80c8237fda389ba2b SHA512 b4bf4ca64521d8600288addecec6cbd8e43d1ff9a6b9a60872eff1bd5a2b6966af036d6467ba09273ac78aa01d8cac3be29a0e2c4e6600829b9988a74ef8cd88
|
@ -0,0 +1,51 @@
|
||||
diff -ur a/whipper/program/cdparanoia.py b/whipper/program/cdparanoia.py
|
||||
--- a/whipper/program/cdparanoia.py 2018-04-09 10:05:00.000000000 +0200
|
||||
+++ b/whipper/program/cdparanoia.py 2018-08-03 11:59:22.582106444 +0200
|
||||
@@ -280,10 +280,10 @@
|
||||
|
||||
bufsize = 1024
|
||||
if self._overread:
|
||||
- argv = ["cd-paranoia", "--stderr-progress",
|
||||
+ argv = ["libcdio-paranoia", "--stderr-progress",
|
||||
"--sample-offset=%d" % self._offset, "--force-overread", ]
|
||||
else:
|
||||
- argv = ["cd-paranoia", "--stderr-progress",
|
||||
+ argv = ["libcdio-paranoia", "--stderr-progress",
|
||||
"--sample-offset=%d" % self._offset, ]
|
||||
if self._device:
|
||||
argv.extend(["--force-cdrom-device", self._device, ])
|
||||
@@ -302,7 +302,7 @@
|
||||
except OSError, e:
|
||||
import errno
|
||||
if e.errno == errno.ENOENT:
|
||||
- raise common.MissingDependencyException('cd-paranoia')
|
||||
+ raise common.MissingDependencyException('libcdio-paranoia')
|
||||
|
||||
raise
|
||||
|
||||
@@ -559,8 +559,8 @@
|
||||
|
||||
|
||||
def getCdParanoiaVersion():
|
||||
- getter = common.VersionGetter('cd-paranoia',
|
||||
- ["cd-paranoia", "-V"],
|
||||
+ getter = common.VersionGetter('libcdio-paranoia',
|
||||
+ ["libcdio-paranoia", "-V"],
|
||||
_VERSION_RE,
|
||||
"%(version)s %(release)s")
|
||||
|
||||
@@ -585,12 +585,12 @@
|
||||
def __init__(self, device=None):
|
||||
# cdparanoia -A *always* writes cdparanoia.log
|
||||
self.cwd = tempfile.mkdtemp(suffix='.whipper.cache')
|
||||
- self.command = ['cd-paranoia', '-A']
|
||||
+ self.command = ['libcdio-paranoia', '-A']
|
||||
if device:
|
||||
self.command += ['-d', device]
|
||||
|
||||
def commandMissing(self):
|
||||
- raise common.MissingDependencyException('cd-paranoia')
|
||||
+ raise common.MissingDependencyException('libcdio-paranoia')
|
||||
|
||||
def readbyteserr(self, bytes):
|
||||
self._output.append(bytes)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue