[packages/mmm] - initial - added mm patch for included mm buildsystem (verbose build, linking using gcc, use LIBDIR

qboosh qboosh at pld-linux.org
Mon Nov 23 20:51:17 CET 2015


commit e18abb12f088ea00c5f86eadbd4cf89b2e61898c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Nov 23 20:51:34 2015 +0100

    - initial
    - added mm patch for included mm buildsystem (verbose build, linking using gcc, use LIBDIR in .pc files)

 mmm-mm.patch |  58 ++++++++++++++++++++++++++++++
 mmm.spec     | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 173 insertions(+)
---
diff --git a/mmm.spec b/mmm.spec
new file mode 100644
index 0000000..637dfaf
--- /dev/null
+++ b/mmm.spec
@@ -0,0 +1,115 @@
+Summary:	Memory Mapped Machine
+Summary(pl.UTF-8):	Memory Mapped Machine - sprzęt odwzorowany w pamięci
+Name:		mmm
+Version:	0
+%define	gitref	e41eee502568d479c6483ecae7f554312ab4ad27
+%define	snap	20150416
+Release:	0.%{snap}.1
+License:	MIT
+Group:		Libraries
+Source0:	https://github.com/hodefoting/mmm/archive/%{gitref}/%{name}-%{snap}.tar.gz
+# Source0-md5:	6df3516e879dfb7f80b6dc3a1160b510
+Patch0:		%{name}-mm.patch
+URL:		https://github.com/hodefoting/mmm/
+BuildRequires:	SDL-devel >= 1.2
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+mmm is a shared memory protocol for virtualising access to framebuffer
+graphics, audio output and input event. The mmm project provides a C
+library and a couple of sample hosts. Both clients and hosts can be
+statically linked, thus permitting a small static binary to be used
+with hosts for multiple different environments. Once the ABI is
+frozen; mmm clients could be a convenient way to distribute
+stand-alone GUI applications.
+
+%description -l pl.UTF-8
+mmm to protokół pamięci współdzielonej mający na celu wirtualizację
+dostępu do grafiki bufora ramki, wejścia dźwięku i zdarzeń
+wejściowych. Projekt mmm udostępnia bibliotekę C oraz kilka
+przykładowych hostów. Zarówno klienci, jak i hosty mogą być statycznie
+konsolidowane, co pozwala na użycie małej statycznej binarki z hostami
+dla wielu różnych środowisk. Po ustabilizowaniu ABI klienci mmm mogą
+być wygodnym sposobem dystrybuowania małych, samodzielnych aplikacji
+z graficznym interfejsem.
+
+%package libs
+Summary:	Shared mmm library
+Summary(pl.UTF-8):	Biblioteka współdzielona mmm
+Group:		Libraries
+
+%description libs
+Shared mmm library.
+
+%description libs -l pl.UTF-8
+Biblioteka współdzielona mmm.
+
+%package devel
+Summary:	Header files for mmm library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki mmm
+Group:		Development/Libraries
+Requires:	%{name}-libs = %{version}-%{release}
+
+%description devel
+Header files for mmm library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki mmm.
+
+%package static
+Summary:	Static mmm library
+Summary(pl.UTF-8):	Statyczna biblioteka mmm
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static mmm library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka mmm.
+
+%prep
+%setup -q -n %{name}-%{gitref}
+%patch0 -p1
+
+%build
+CFLAGS="%{rpmcflags}" \
+LD_FLAGS="%{rpmldflags}" \
+%{__make} \
+	CC="%{__cc}" \
+	LD="%{__cc}" \
+	LIBDIR=%{_libdir}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT \
+	PREFIX=%{_prefix} \
+	LIBDIR=%{_libdir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	libs -p /sbin/ldconfig
+%postun	libs -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/mmm
+%attr(755,root,root) %{_bindir}/mmm.linux
+%attr(755,root,root) %{_bindir}/mmm.sdl
+
+%files libs
+%defattr(644,root,root,755)
+%doc COPYING README.md
+%attr(755,root,root) %{_libdir}/libmmm.so
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/mmm
+%{_pkgconfigdir}/mmm.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libmmm.a
diff --git a/mmm-mm.patch b/mmm-mm.patch
new file mode 100644
index 0000000..53814be
--- /dev/null
+++ b/mmm-mm.patch
@@ -0,0 +1,58 @@
+--- mmm-e41eee502568d479c6483ecae7f554312ab4ad27/.mm/bin.orig	2015-04-15 17:22:26.000000000 +0200
++++ mmm-e41eee502568d479c6483ecae7f554312ab4ad27/.mm/bin	2015-11-23 19:55:08.826073329 +0100
+@@ -12,11 +12,11 @@
+ BIN_LD_FLAGS += $(shell test "$(BIN_PKGMODULES)" 2>/dev/null && pkg-config $(BIN_PKGMODULES) --libs)
+ 
+ $(BINARY): $(BIN_CFILES) $(LIBNAME_A)
+-	@echo "CCLD" $@; $(CC) $(SYSROOT) -Ilib -I .. $(BIN_CFLAGS) $(BIN_LD_FLAGS)  \
++	echo "CCLD" $@; $(CC) $(SYSROOT) -Ilib -I .. $(BIN_CFLAGS) $(BIN_LD_FLAGS)  \
+ 		$(BIN_CFILES) $(LIBNAME_A) -o $@
+ 
+ $(BINARY).efence: $(BIN_CFILES) $(LIBNAME_A) 
+-	@echo "CCLD" $@; $(CC) $(SYSROOT) -Ilib -I .. $(BIN_CFLAGS) $(BIN_LD_FLAGS) \
++	echo "CCLD" $@; $(CC) $(SYSROOT) -Ilib -I .. $(BIN_CFLAGS) $(BIN_LD_FLAGS) \
+ 		$(BIN_CFILES) $(LIBNAME_A) -lefence -o $@
+ 
+ all: $(BIN_TARGETS)
+--- mmm-e41eee502568d479c6483ecae7f554312ab4ad27/.mm/lib.orig	2015-04-15 17:22:26.000000000 +0200
++++ mmm-e41eee502568d479c6483ecae7f554312ab4ad27/.mm/lib	2015-11-23 20:11:23.212699103 +0100
+@@ -16,23 +16,23 @@
+ LIBNAME_A=$(LIBNAME).a
+ 
+ $(LIBNAME).a: $(LIB_OBJS)
+-	@echo "  AR" $@;ar rcs $@ $(LIB_OBJS)
++	echo "  AR" $@;ar rcs $@ $(LIB_OBJS)
+ 
+ CLEAN_FILES += symbols
+ 
+ symbols: Makefile $(LIB_OBJS)
+-	@echo " gen" $@;  nm -a $(LIB_OBJS) | grep " T " | cut -f 3 -d ' ' | grep "^$(SYMBOL_PREFIX)" | grep -v "^_" | sort > $@
++	echo " gen" $@;  nm -a $(LIB_OBJS) | grep " T " | cut -f 3 -d ' ' | grep "^$(SYMBOL_PREFIX)" | grep -v "^_" | sort > $@
+ 
+ $(LIBNAME).$(LIBEXT): $(LIB_OBJS) symbols
+-	@echo "  LD" $@;$(LD) --retain-symbols-file=symbols -shared $(LIB_OBJS) -o $@ $(LIB_LD_FLAGS)
++	echo "  LD" $@;$(LD) -Wl,--retain-symbols-file=symbols -shared $(LIB_OBJS) -o $@ $(LIB_LD_FLAGS)
+ 
+ # this rule is generic and could also belong with bin..
+ # we try to be overly generic and throw in the cflags of both lib and bin..
+ %.o: %.c *.h $(LIB_HFILES)
+-	@echo "  CC" $@;$(CC) $(SYSROOT) -c $(LIB_CFLAGS) $< -o $@
++	echo "  CC" $@;$(CC) $(SYSROOT) -c $(LIB_CFLAGS) $< -o $@
+ 
+ lib/%.o: lib/%.c lib/*.h $(LIB_HFILES)
+-	@echo "  CC" $@;$(CC) $(SYSROOT) -c $(LIB_CFLAGS) $< -o $@
++	echo "  CC" $@;$(CC) $(SYSROOT) -c $(LIB_CFLAGS) $< -o $@
+ 
+ LIBDIR ?= $(PREFIX)/lib
+ #$(P64)
+--- mmm-e41eee502568d479c6483ecae7f554312ab4ad27/.mm/pkgconfig.orig	2015-04-15 17:22:26.000000000 +0200
++++ mmm-e41eee502568d479c6483ecae7f554312ab4ad27/.mm/pkgconfig	2015-11-23 20:21:30.166007161 +0100
+@@ -6,7 +6,7 @@
+ 	@echo " gen" $@
+ 	@echo "prefix=$(PREFIX)"     > $@
+ 	@echo exec_prefix=\$${prefix} >> $@
+-	@echo libdir=\$${prefix}/lib >> $@
++	@echo "libdir=$(LIBDIR)" >> $@
+ 	@echo includedir=\$${prefix}/include >> $@
+ 	@echo apiversion=$(API_VERSION) >> $@
+ 	@echo >> $@
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mmm.git/commitdiff/e18abb12f088ea00c5f86eadbd4cf89b2e61898c



More information about the pld-cvs-commit mailing list