commit:     dbd7f030d482f5593d4fb1d5c4ebcaf633f3174f
Author:     Alexander Tsoy <alexander <AT> tsoy <DOT> me>
AuthorDate: Mon Apr 15 21:22:22 2019 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Sun Apr 21 05:01:25 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbd7f030

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 <AT> tsoy.me>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 media-libs/zita-resampler/Manifest                 |  1 +
 .../files/zita-resampler-1.6.2-makefile.patch      | 90 ++++++++++++++++++++++
 media-libs/zita-resampler/metadata.xml             | 20 +++++
 .../zita-resampler/zita-resampler-1.6.2.ebuild     | 41 ++++++++++
 4 files changed, 152 insertions(+)

diff --git a/media-libs/zita-resampler/Manifest 
b/media-libs/zita-resampler/Manifest
new file mode 100644
index 00000000000..60d50f605c7
--- /dev/null
+++ b/media-libs/zita-resampler/Manifest
@@ -0,0 +1 @@
+DIST zita-resampler-1.6.2.tar.bz2 125539 BLAKE2B 
d2e04fb5e0efbde3432ce973df59a11d2a184146d124b662712a5de2d9c243f6564899f190f7a7b68a9e01bcaab05c92b91ebcbf942473134a12a85e4e08c603
 SHA512 
d547419dd222c8a399d8f196efa1ec88a3f781275b696ae2fe1bb6e2fc329285affb8aace85972c304ad256becc4a155534dd5ef4ce3c57cbc9dcca0122b670c

diff --git 
a/media-libs/zita-resampler/files/zita-resampler-1.6.2-makefile.patch 
b/media-libs/zita-resampler/files/zita-resampler-1.6.2-makefile.patch
new file mode 100644
index 00000000000..29735e7729a
--- /dev/null
+++ b/media-libs/zita-resampler/files/zita-resampler-1.6.2-makefile.patch
@@ -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

diff --git a/media-libs/zita-resampler/metadata.xml 
b/media-libs/zita-resampler/metadata.xml
new file mode 100644
index 00000000000..d939c6084b5
--- /dev/null
+++ b/media-libs/zita-resampler/metadata.xml
@@ -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>[email protected]</email>
+               <name>Alexander Tsoy</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</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>

diff --git a/media-libs/zita-resampler/zita-resampler-1.6.2.ebuild 
b/media-libs/zita-resampler/zita-resampler-1.6.2.ebuild
new file mode 100644
index 00000000000..754fa1dfdde
--- /dev/null
+++ b/media-libs/zita-resampler/zita-resampler-1.6.2.ebuild
@@ -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
+}

Reply via email to