media-libs/zita-resampler: new package

Libzita-resampler is a C++ library for resampling audio signals.
It is designed to be used within a real-time processing context,
to be fast, and to provide high-quality sample rate conversion.

Dependency of media-sound/guitarix

Signed-off-by: Alexander Tsoy <alexander@tsoy.me>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This commit is contained in:
Alexander Tsoy
2019-04-20 22:01:25 -07:00
committed by Georgy Yakovlev
parent 6bb99343b4
commit dbd7f030d4
4 changed files with 152 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
DIST zita-resampler-1.6.2.tar.bz2 125539 BLAKE2B d2e04fb5e0efbde3432ce973df59a11d2a184146d124b662712a5de2d9c243f6564899f190f7a7b68a9e01bcaab05c92b91ebcbf942473134a12a85e4e08c603 SHA512 d547419dd222c8a399d8f196efa1ec88a3f781275b696ae2fe1bb6e2fc329285affb8aace85972c304ad256becc4a155534dd5ef4ce3c57cbc9dcca0122b670c
@@ -0,0 +1,90 @@
diff -urN zita-resampler-1.6.2.orig/apps/Makefile zita-resampler-1.6.2/apps/Makefile
--- zita-resampler-1.6.2.orig/apps/Makefile 2018-08-24 21:41:47.000000000 +0300
+++ zita-resampler-1.6.2/apps/Makefile 2019-04-13 18:49:50.005800712 +0300
@@ -23,18 +23,17 @@
MANDIR ?= /usr/share/man/man1
VERSION = 1.6.0
-CPPFLAGS += -MMD -MP -DVERSION=\"$(VERSION)\"
-CXXFLAGS += -O2 -ffast-math -Wall
-CXXFLAGS += -march=native
+CPPFLAGS += -MMD -MP -DVERSION=\"$(VERSION)\" -I ../source
+CXXFLAGS += -ffast-math -Wall
-all: zresample zretune zresample.1.gz zretune.1.gz
+all: zresample zretune zresample.1 zretune.1
ZRESAMPLE_O = zresample.o audiofile.o dither.o
zresample: LDLIBS += -lzita-resampler -lsndfile -lrt
zresample: $(ZRESAMPLE_O)
- $(CXX) $(LDFLAGS) -o $@ $(ZRESAMPLE_O) $(LDLIBS)
+ $(CXX) -L ../source $(LDFLAGS) -o $@ $(ZRESAMPLE_O) $(LDLIBS)
$(ZRESAMPLE_O):
-include $(ZRESAMPLE_O:%.o=%.d)
@@ -42,25 +41,18 @@
ZRETUNE_O = zretune.o audiofile.o dither.o
zretune: LDLIBS += -lzita-resampler -lsndfile -lrt
zretune: $(ZRETUNE_O)
- $(CXX) $(LDFLAGS) -o $@ $(ZRETUNE_O) $(LDLIBS)
+ $(CXX) -L ../source $(LDFLAGS) -o $@ $(ZRETUNE_O) $(LDLIBS)
$(ZRETUNE_O):
-include $(ZRETUNE_O:%.o=%.d)
-zresample.1.gz: zresample.1
- gzip -c zresample.1 > zresample.1.gz
-
-zretune.1.gz: zretune.1
- gzip -c zretune.1 > zretune.1.gz
-
-
install: all
- install -d $(BINDIR)
- install -d $(MANDIR)
+ install -d $(DESTDIR)$(BINDIR)
+ install -d $(DESTDIR)$(MANDIR)
install -m 755 zresample $(DESTDIR)$(BINDIR)
install -m 755 zretune $(DESTDIR)$(BINDIR)
- install -m 644 zresample.1.gz $(DESTDIR)$(MANDIR)
- install -m 644 zretune.1.gz $(DESTDIR)$(MANDIR)
+ install -m 644 zresample.1 $(DESTDIR)$(MANDIR)
+ install -m 644 zretune.1 $(DESTDIR)$(MANDIR)
uninstall:
/bin/rm -f $(DESTDIR)$(BINDIR)/zresample
diff -urN zita-resampler-1.6.2.orig/source/Makefile zita-resampler-1.6.2/source/Makefile
--- zita-resampler-1.6.2.orig/source/Makefile 2018-08-24 21:41:47.000000000 +0300
+++ zita-resampler-1.6.2/source/Makefile 2019-04-13 18:49:25.936129640 +0300
@@ -32,8 +32,7 @@
CPPFLAGS += -I. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
-CXXFLAGS += -Wall -fPIC -O2 -ffast-math
-CXXFLAGS += -march=native
+CXXFLAGS += -Wall -fPIC -ffast-math
LDFLAGS +=
LDLIBS +=
@@ -47,6 +46,9 @@
zita-resampler/vresampler.h zita-resampler/cresampler.h
+$(ZITA-RESAMPLER_SO): $(ZITA-RESAMPLER_MIN)
+ ln -sf $(ZITA-RESAMPLER_MIN) $(ZITA-RESAMPLER_SO)
+
$(ZITA-RESAMPLER_MIN): $(ZITA-RESAMPLER_O)
$(CXX) -shared $(LDFLAGS) -Wl,-soname,$(ZITA-RESAMPLER_MAJ) -o $(ZITA-RESAMPLER_MIN) $(ZITA-RESAMPLER_O) $(ZITA-RESAMPLER_DEP)
@@ -58,8 +60,8 @@
install -d $(DESTDIR)$(LIBDIR)
install -m 644 $(ZITA-RESAMPLER_H) $(DESTDIR)$(INCDIR)/zita-resampler
install -m 755 $(ZITA-RESAMPLER_MIN) $(DESTDIR)$(LIBDIR)
- ldconfig
ln -sf $(ZITA-RESAMPLER_MIN) $(DESTDIR)$(LIBDIR)/$(ZITA-RESAMPLER_SO)
+ ln -sf $(ZITA-RESAMPLER_MIN) $(DESTDIR)$(LIBDIR)/$(ZITA-RESAMPLER_MAJ)
uninstall:
/bin/rm -rf $(DESTDIR)$(INCDIR)/zita-resampler
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>alexander@tsoy.me</email>
<name>Alexander Tsoy</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
Libzita-resampler is a C++ library for resampling audio signals.
It is designed to be used within a real-time processing context,
to be fast, and to provide high-quality sample rate conversion.
</longdescription>
<use>
<flag name="tools">Install zresample and zretune tools</flag>
</use>
</pkgmetadata>
@@ -0,0 +1,41 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="C++ library for real-time resampling of audio signals"
HOMEPAGE="http://kokkinizita.linuxaudio.org/linuxaudio/"
SRC_URI="http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0/1"
KEYWORDS="~amd64"
IUSE="tools"
RDEPEND="tools? ( media-libs/libsndfile )"
DEPEND="${RDEPEND}"
BDEPEND=""
HTML_DOCS="docs/."
PATCHES=( "${FILESDIR}"/${PN}-1.6.2-makefile.patch )
src_compile() {
tc-export CXX
emake -C source
if use tools; then
emake -C apps
fi
}
src_install() {
emake -C source DESTDIR="${D}" PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}"/usr/$(get_libdir) install
if use tools; then
emake -C apps DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
fi
einstalldocs
}