From d161beae14598bcde72bb3e19f5eac5118364b8b Mon Sep 17 00:00:00 2001 From: Bernhard M. Wiedemann Date: Sep 13 2019 14:29:36 +0000 Subject: restructure files to remain below github limit of 1000 entries --- diff --git a/_service b/_service new file mode 100644 index 0000000..e1c631a --- /dev/null +++ b/_service @@ -0,0 +1,14 @@ + + + https://github.com/macosforge/alac.git + git + enable + alac + 0.0+git.%cd + + + *.tar + xz + + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..14e62da --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/macosforge/alac.git + c38887c5c5e64a4b31108733bd79ca9b2496d987 \ No newline at end of file diff --git a/alac-endian.patch b/alac-endian.patch new file mode 100644 index 0000000..178edb3 --- /dev/null +++ b/alac-endian.patch @@ -0,0 +1,48 @@ +Index: codec/EndianPortable.c +=================================================================== +--- codec/EndianPortable.c.orig ++++ codec/EndianPortable.c +@@ -25,20 +25,15 @@ + // + + #include ++#include ++#include + #include "EndianPortable.h" + +-#define BSWAP16(x) (((x << 8) | ((x >> 8) & 0x00ff))) +-#define BSWAP32(x) (((x << 24) | ((x << 8) & 0x00ff0000) | ((x >> 8) & 0x0000ff00) | ((x >> 24) & 0x000000ff))) +-#define BSWAP64(x) ((((int64_t)x << 56) | (((int64_t)x << 40) & 0x00ff000000000000LL) | \ +- (((int64_t)x << 24) & 0x0000ff0000000000LL) | (((int64_t)x << 8) & 0x000000ff00000000LL) | \ +- (((int64_t)x >> 8) & 0x00000000ff000000LL) | (((int64_t)x >> 24) & 0x0000000000ff0000LL) | \ +- (((int64_t)x >> 40) & 0x000000000000ff00LL) | (((int64_t)x >> 56) & 0x00000000000000ffLL))) ++#define BSWAP16(x) bswap_16(x) ++#define BSWAP32(x) bswap_32(x) ++#define BSWAP64(x) bswap_64(x) + +-#if defined(__i386__) +-#define TARGET_RT_LITTLE_ENDIAN 1 +-#elif defined(__x86_64__) +-#define TARGET_RT_LITTLE_ENDIAN 1 +-#elif defined (TARGET_OS_WIN32) ++#if __BYTE_ORDER == __LITTLE_ENDIAN + #define TARGET_RT_LITTLE_ENDIAN 1 + #endif + +Index: codec/ALACAudioTypes.h +=================================================================== +--- codec/ALACAudioTypes.h.orig ++++ codec/ALACAudioTypes.h +@@ -42,10 +42,9 @@ extern "C" { + #endif + + #include ++#include + +-#if defined(__ppc__) +-#define TARGET_RT_BIG_ENDIAN 1 +-#elif defined(__ppc64__) ++#if __BYTE_ORDER == __BIG_ENDIAN + #define TARGET_RT_BIG_ENDIAN 1 + #endif + diff --git a/alac.changes b/alac.changes new file mode 100644 index 0000000..62d3871 --- /dev/null +++ b/alac.changes @@ -0,0 +1,64 @@ +------------------------------------------------------------------- +Thu Jun 29 08:39:33 UTC 2017 - tchvatal@suse.com + +- Fix obvious typo where we had missing % in provides/obsoletes + +------------------------------------------------------------------- +Wed Oct 19 11:21:42 UTC 2016 - mpluskal@suse.com + +- Update project url +- Use _service to fetch sources from git +- Update to version 0.0+git.20160511 +- Refresh patches: + * alac-endian.patch + * libalac-makefile.patch + +------------------------------------------------------------------- +Tue Jan 19 14:00:36 UTC 2016 - jengelh@inai.de + +- Change the SRPM name to alac (follow apparent upstream project + name). + +------------------------------------------------------------------- +Fri Jan 15 08:43:53 UTC 2016 - mpluskal@suse.com + +- Install both license files + +------------------------------------------------------------------- +Mon Apr 13 16:08:18 UTC 2015 - mpluskal@suse.com + +- Remove devel-static package as it has no users + +------------------------------------------------------------------- +Sun Apr 12 19:31:09 UTC 2015 - mpluskal@suse.com + +- Cleanup spec file with spec-cleaner +- Update dependencies + +------------------------------------------------------------------- +Fri Jan 3 20:26:31 UTC 2014 - crrodriguez@opensuse.org + +- libalac-makefile.patch update, OPTFLAGS must be used + at linking time as well. +- alac-endian.patch, fix endian conversion routines +* They were inneficient, use optimized versions provided by the OS. +* They were wrong, assumes for example that ARM is not little endian + and that powerpc is always big endian. +- fix cflags so large file support is enabled, GNU_SOURCE is defined, + strict aliasing is disabled and C++ inlines get hidden visibility. + +------------------------------------------------------------------- +Sat Jul 20 21:10:16 UTC 2013 - zaitor@opensuse.org + +- Update license to new format, Apache-2.0. + +------------------------------------------------------------------- +Fri Oct 28 11:02:35 UTC 2011 - pascal.bleser@opensuse.org + +- split out libalac.a into libalac-devel-static + +------------------------------------------------------------------- +Fri Oct 28 10:45:22 CET 2011 - pascal.bleser@opensuse.org + +- initial version (0+r3) + diff --git a/alac.spec b/alac.spec new file mode 100644 index 0000000..b0aa6b7 --- /dev/null +++ b/alac.spec @@ -0,0 +1,110 @@ +# +# spec file for package alac +# +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define sover 0 +Name: alac +Version: 0.0+git.20160511 +Release: 0 +Summary: Apple Lossless Audio Codec +License: Apache-2.0 +Group: Productivity/Multimedia/Sound/Editors and Convertors +Url: https://macosforge.github.io/alac/ +Source: %{name}-%{version}.tar.xz +Patch1: libalac-makefile.patch +Patch2: alac-endian.patch +BuildRequires: gcc-c++ +BuildRequires: pkgconfig +BuildRequires: xz +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +The Apple Lossless Audio Codec (ALAC) is an audio codec developed by Apple and +supported on iPhone, iPad, most iPods, Mac and iTunes. ALAC is a data +compression method which reduces the size of audio files with no loss of +information. A decoded ALAC stream is bit-for-bit identical to the original +uncompressed audio file. + +This package contains a command-line utility to convert the ALAC format. + +%package -n lib%{name}%{sover} +Summary: Apple Lossless Audio Codec +Group: System/Libraries + +%description -n lib%{name}%{sover} +The Apple Lossless Audio Codec (ALAC) is an audio codec developed by Apple and +supported on iPhone, iPad, most iPods, Mac and iTunes. ALAC is a data +compression method which reduces the size of audio files with no loss of +information. A decoded ALAC stream is bit-for-bit identical to the original +uncompressed audio file. + +%package devel +Summary: Apple Lossless Audio Codec +Group: Development/Libraries/C and C++ +Requires: lib%{name}%{sover} = %{version} +Provides: lib%{name}-devel = %{version} +Obsoletes: lib%{name}-devel < %{version} + +%description devel +The Apple Lossless Audio Codec (ALAC) is an audio codec developed by Apple and +supported on iPhone, iPad, most iPods, Mac and iTunes. ALAC is a data +compression method which reduces the size of audio files with no loss of +information. A decoded ALAC stream is bit-for-bit identical to the original +uncompressed audio file. + +%prep +%setup -q +%patch1 +%patch2 + +%build +for d in codec convert-utility; do + make -C "$d" \ + OPTFLAGS="%{optflags} -fvisibility-inlines-hidden -fno-strict-aliasing -D_GNU_SOURCE" \ + CC="g++" +done + +%install +install -D -p -m 0755 convert-utility/alacconvert \ + %{buildroot}%{_bindir}/alacconvert + +install -d %{buildroot}%{_includedir} +cp -a codec/*.h %{buildroot}%{_includedir}/ + +install -d %{buildroot}%{_libdir} +cp -a codec/libalac.so* %{buildroot}%{_libdir}/ + +%post -n lib%{name}%{sover} -p /sbin/ldconfig +%postun -n lib%{name}%{sover} -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%doc codec/APPLE_LICENSE.txt LICENSE +%{_bindir}/alacconvert + +%files -n lib%{name}%{sover} +%defattr(-,root,root) +%doc codec/APPLE_LICENSE.txt LICENSE +%{_libdir}/libalac.so.%{sover}* + +%files devel +%defattr(-,root,root) +%doc codec/APPLE_LICENSE.txt LICENSE +%{_includedir}/*.h +%{_libdir}/libalac.so + +%changelog diff --git a/libalac-makefile.patch b/libalac-makefile.patch new file mode 100644 index 0000000..1331729 --- /dev/null +++ b/libalac-makefile.patch @@ -0,0 +1,55 @@ +Index: codec/makefile +=================================================================== +--- codec/makefile.orig ++++ codec/makefile +@@ -1,6 +1,10 @@ + # libalac make + +-CFLAGS = -g -O3 -c ++VERSION = 0.3 ++SONAME = 0 ++ ++OPTFLAGS = -g -O3 ++CFLAGS = $(OPTFLAGS) -fPIC -c + LFLAGS = -Wall + CC = g++ + +@@ -42,9 +46,16 @@ dp_enc.o \ + matrix_dec.o \ + matrix_enc.o + ++all: libalac.a libalac.so.$(VERSION) ++ + libalac.a: $(OBJS) + ar rcs libalac.a $(OBJS) + ++libalac.so.$(VERSION): $(OBJS) ++ $(CC) $(OPTFLAGS) -shared -Wl,-soname,libalac.so.$(SONAME) -o libalac.so.$(VERSION) $(OBJS) ++ ln -s libalac.so.$(VERSION) libalac.so.$(SONAME) ++ ln -s libalac.so.$(SONAME) libalac.so ++ + EndianPortable.o : EndianPortable.c + $(CC) -I $(INCLUDES) $(CFLAGS) EndianPortable.c + +Index: convert-utility/makefile +=================================================================== +--- convert-utility/makefile.orig ++++ convert-utility/makefile +@@ -1,6 +1,7 @@ + # alacconvert make + +-CFLAGS = -g -O3 -c ++OPTFLAGS = -g -O3 ++CFLAGS = $(OPTFLAGS) -fPIC -c + LFLAGS = -Wall -L$(CODECDIR) -lalac + CC = g++ + +@@ -30,7 +31,7 @@ CAFFileALAC.o + + alacconvert: $(OBJS) + (cd $(CODECDIR); $(MAKE)) +- $(CC) $(LFLAGS) $(OBJS) -o alacconvert ++ $(CC) $(OBJS) -o alacconvert $(LFLAGS) + + main.o : main.cpp + $(CC) -I $(INCLUDES) $(CFLAGS) main.cpp