libmikmod: openEuler init

This commit is contained in:
gu-gu-gu 2019-12-03 11:10:53 +08:00
parent 4ea9ffdc0d
commit 2cb5aaa971
5 changed files with 201 additions and 0 deletions

BIN
libmikmod-3.3.11.1.tar.gz Normal file

Binary file not shown.

27
libmikmod-64bit.patch Normal file
View File

@ -0,0 +1,27 @@
diff -up libmikmod-3.3.7/include/mikmod.h~ libmikmod-3.3.7/include/mikmod.h
--- libmikmod-3.3.7/include/mikmod.h~ 2014-07-15 09:50:00.000000000 +0200
+++ libmikmod-3.3.7/include/mikmod.h 2014-09-10 16:42:59.104289246 +0200
@@ -142,7 +142,8 @@ typedef unsigned short int UWORD;
#endif
/* 4 bytes, signed and unsigned: */
-#if defined(_LP64) || defined(__LP64__) || defined(__arch64__) || defined(__alpha) || defined(__x86_64) || defined(__powerpc64__)
+#include <stdint.h>
+#if __WORDSIZE == 64
/* 64 bit architectures: */
typedef signed int SLONG;
#if !(defined(_WIN32) || defined(_MIKMOD_AMIGA))
diff -up libmikmod-3.3.7/include/mikmod_internals.h~ libmikmod-3.3.7/include/mikmod_internals.h
--- libmikmod-3.3.7/include/mikmod_internals.h~ 2014-07-15 09:50:00.000000000 +0200
+++ libmikmod-3.3.7/include/mikmod_internals.h 2014-09-10 16:42:55.969362911 +0200
@@ -50,8 +50,8 @@ extern "C" {
/*========== More type definitions */
/* SLONGLONG: 64bit, signed */
-#if !defined(_WIN32) && \
- (defined(_LP64) || defined(__LP64__) || defined(__arch64__) || defined(__alpha) || defined(__x64_64) || defined(__powerpc64__))
+#include <stdint.h>
+#if __WORDSIZE == 64
typedef long SLONGLONG;
#define NATIVE_64BIT_INT
#elif defined(_WIN64) /* win64 is LLP64, not LP64 */

90
libmikmod-cflags.patch Normal file
View File

@ -0,0 +1,90 @@
diff -up libmikmod-3.3.8/configure~ libmikmod-3.3.8/configure
--- libmikmod-3.3.8/configure~ 2015-11-11 11:02:00.000000000 +0100
+++ libmikmod-3.3.8/configure 2015-11-16 14:04:21.559228528 +0100
@@ -16783,86 +16783,6 @@ $as_echo "#define HAVE_RTLD_GLOBAL 1" >>
fi
fi
-# If compiling with gcc, use adequate optimization flags
-if test $ac_cv_c_compiler_gnu = yes
-then
- # On at least x86 platforms, gcc 2.7.2.1 and earlier won't work if -O3 (or
- # -finline-functions) are used. Versions 2.7.2.3, 2.8.x and egcs are ok
- # (didn't test 2.7.2.2).
- # Until there's an easy way to catch broken inlining, we choose flags known
- # to work correctly depending of the compiler version.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if inlining functions is safe" >&5
-$as_echo_n "checking if inlining functions is safe... " >&6; }
-if ${libmikmod_cv_gcc_inline_safe+:} false
-then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
-#if !(defined __GNUC__ && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 7))
-#error inlining functions is not safe
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- libmikmod_cv_gcc_inline_safe=yes
-else
- libmikmod_cv_gcc_inline_safe=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libmikmod_cv_gcc_inline_safe" >&5
-$as_echo "$libmikmod_cv_gcc_inline_safe" >&6; }
- if test $libmikmod_cv_gcc_inline_safe = no
- then
- CFLAGS="$CFLAGS -fno-strength-reduce"
- fi
- CFLAGS="$CFLAGS -ffast-math"
- if test $libmikmod_darwin = yes
- then
- CFLAGS="$CFLAGS -fno-common"
- fi
- if test $libmikmod_debug = yes
- then
- CFLAGS="$CFLAGS -Wall -Werror"
- else
- CFLAGS="$CFLAGS -Wall"
- fi
-
- # pgcc 2.95.2 appears not to be able to compile libmikmod, although regular
- # gcc works fine. Issue a warning if the compiler is pgcc, until a reliable
- # way to detect flawed version (or, better, a reliable workaround) is
- # found.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler is pgcc" >&5
-$as_echo_n "checking if compiler is pgcc... " >&6; }
- if ($CC -v 2>&1 | grep ^pgcc > /dev/null) 2>/dev/null
- then
- libmikmod_gcc_is_pgcc=yes
- else
- libmikmod_gcc_is_pgcc=no
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libmikmod_gcc_is_pgcc" >&5
-$as_echo "$libmikmod_gcc_is_pgcc" >&6; }
- if test $libmikmod_gcc_is_pgcc = yes
- then
- echo "
-*** Version 2.95.2 of this compiler, and perhaps others, are unable to
-*** compile libmikmod. If compilation fails for playercode/virtch.c
-*** around line 650, with the error ``internal error--insn does not
-*** satisfy its constraints'', then you'll have to use another compiler.
-" >&2
- fi
-fi
-
if test x$libmikmod_threads != xno
then

12
libmikmod-multilib.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up libmikmod-3.3.4/libmikmod-config.in~ libmikmod-3.3.4/libmikmod-config.in
--- libmikmod-3.3.4/libmikmod-config.in~ 2013-11-28 09:00:00.000000000 +0100
+++ libmikmod-3.3.4/libmikmod-config.in 2013-12-25 10:37:11.519191648 +0100
@@ -50,7 +50,7 @@ while test $# -gt 0 ; do
echo @LIB_LDADD@
;;
--libs)
- echo -L@libdir@ -lmikmod @LIBRARY_LIB@
+ echo -lmikmod @LIBRARY_LIB@
;;
*)
echo "${usage}" 1>&2

72
libmikmod.spec Normal file
View File

@ -0,0 +1,72 @@
Name: libmikmod
Version: 3.3.11.1
Release: 5
Summary: MOD Music File Player library
License: GPLv2 and LGPLv2+
URL: http://mikmod.sourceforge.net/
Source0: http://downloads.sourceforge.net/mikmod/libmikmod-%{version}.tar.gz
Patch0001: libmikmod-64bit.patch
Patch0002: libmikmod-multilib.patch
Patch0003: libmikmod-cflags.patch
BuildRequires: alsa-lib-devel pulseaudio-libs-devel
%description
libmikmod is a library of mikmod MOD music file players for systems similar to
UNIX. Supported file formats include: MOD, STM, S3M, MTM, XM, ULT, and IT.
%package devel
Summary: Header files and documentation for compiling mikmod applications
Provides: mikmod-devel = %{version}-%{release}
Requires: %{name} = %{version}-%{release} pulseaudio-libs-devel
Requires(post): info
Requires(preun): info
%description devel
The libmikmod-devel package includes header files and libraries necessary
for the libmikmod library.
%package help
Summary: This package contains help documents
Requires: %{name} = %{version}-%{release}
%description help
Files for help with libmikmod.
%prep
%autosetup -n %{name}-%{version} -p1
%build
%configure --enable-dl --enable-alsa --disable-simd
%make_build
%install
%make_install
%delete_la_and_a
%ldconfig_scriptlets
%post devel
/sbin/install-info %{_infodir}/mikmod.info %{_infodir}/dir || :
%postun devel
/sbin/install-info --delete %{_infodir}/mikmod.info %{_infodir}/dir || :
%files
%doc COPYING.LIB COPYING.LESSER
%{_libdir}/libmikmod.so.3*
%files devel
%{_bindir}/%{name}-config
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/aclocal/%{name}.m4
%{_includedir}/mikmod.h
%{_infodir}/mikmod.info*
%exclude %{_infodir}/dir
%files help
%doc AUTHORS NEWS README TODO
%{_mandir}/man1/%{name}-config*
%changelog
* Wed Nov 27 2019 gulining<gulining1@huawei.com> - 3.3.11.1-5
- Pakcage init