First check in

This commit is contained in:
2018-07-27 09:52:59 -05:00
commit 6179765a14
7 changed files with 147 additions and 0 deletions
+97
View File
@@ -0,0 +1,97 @@
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation here:
# (http://www.gnu.org/licenses/gpl-2.0.html)
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
export ARCH = x86_64
export DEPENDS = glibc
export BUILDDEPS =
export SRCPKG = $(PACKAGE)
export URL = https://sourceware.org/libffi/
REPO = main
BRIEF = High level programming interface
DESC = The libffi library provides a portable, high level programming \
interface to various calling conventions. This allows a programmer \
to call any function specified by a call interface description at run-time
SNAPVER = 0
ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1)
TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n')
SRCDIR := $(shell tar -tf $(ARCHIVE)|head -1|sed 's/\/.*//')
PATCHDIR := $(PWD)/SRC/patches
export VERSION := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'| \
sed 's/^-//')-$(SNAPVER)
include /usr/share/snap/Makefile.snaplinux
DEV := $(PWD)/$(PACKAGE)-dev
DEVROOT := $(DEV)/ROOT
$(SRCDIR)/configure: $(ARCHIVE)
@if [ '$(TYPE)' == 'application/x-bzip2' ]; then \
tar -jxf $(ARCHIVE); \
elif [ '$(TYPE)' == 'application/x-gzip' ]; then \
tar -zxf $(ARCHIVE); \
elif [ '$(TYPE)' == 'application/x-tar' ]; then \
tar -xf $(ARCHIVE); \
elif [ '$(TYPE)' == 'application/x-xz' ]; then \
tar -xf $(ARCHIVE); \
else \
echo 'Unable to determine archive type'; \
exit 1; \
fi
@touch $(SRCDIR)/configure
$(SRCDIR)/Makefile: $(SRCDIR)/configure
@cd $(SRCDIR) && \
for patch in `find $(PATCHDIR) -name \*.patch|sort`; do \
patch --verbose -Np1 -i $$patch; \
done
@cd $(SRCDIR); \
./configure \
--prefix=/usr \
--program-prefix='' \
--build=x86_64-snap-linux-gnu \
--host=x86_64-snap-linux-gnu \
--target=x86_64-snap-linux-gnu
$(SRCDIR)/*/.libs/libffi.so: $(SRCDIR)/Makefile
@cd $(SRCDIR) && make
$(ROOT): $(SRCDIR)/*/.libs/libffi.so
@if [ -d $(ROOT) ]; then \
touch $(ROOT); \
else \
mkdir -v $(ROOT); \
fi
@cd $(SRCDIR) && make install DESTDIR=$(ROOT) && \
rm -v $(ROOT)/usr/share/info/dir && \
install -v -d $(DEV)/SNAP && \
install -v -d $(DEVROOT) && \
for file in `find $(ROOT)| \
egrep 'man3\/|pkgconfig\/|\.(h|la)$$'`; do \
path=`dirname $$file|sed "s[$(ROOT)[$(DEVROOT)["`; \
mkdir -p $$path; \
mv $$file $$path; \
done
@find $(ROOT) -type d -empty -delete && \
cd $(DEV) && make -f ../Makefile.$(PACKAGE)-dev && mv *.snap ../
test: $(ROOT)
@cd $(SRCDIR); \
make check
clean:
@rm -rvf $(ROOT) \
$(DEV) \
$(SNAPINFO) \
$(MANIFEST) \
$(FILES) \
$(SRCDIR)
+16
View File
@@ -0,0 +1,16 @@
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation here:
# (http://www.gnu.org/licenses/gpl-2.0.html)
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
DEPENDS = libffi
REPO = dev
BRIEF = Development files for libffi
DESC = Development files for libffi
include /usr/share/snap/Makefile.snaplinux
+3
View File
@@ -0,0 +1,3 @@
This is the directory where the manifest, snapinfo, and files.tar.gz
files will be created. It is also where the usher file should be
placed if it is required by the package.
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
fed5f6eec86144608966857f54bd69a5faa43427f27bc9178ebe2c7a1cecf925c20dbd6df07a207ae469842874efcf5b99fb7e09db59cbd92ebfc0a7e1bb62b7
+28
View File
@@ -0,0 +1,28 @@
diff -Naur a/include/Makefile.in b/include/Makefile.in
--- a/include/Makefile.in 2014-11-11 06:31:12.000000000 -0600
+++ b/include/Makefile.in 2016-09-29 13:11:39.172000000 -0500
@@ -314,7 +314,7 @@
AUTOMAKE_OPTIONS = foreign
DISTCLEANFILES = ffitarget.h
EXTRA_DIST = ffi.h.in ffi_common.h
-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
+includesdir = $(includedir)
nodist_includes_HEADERS = ffi.h ffitarget.h
all: all-am
diff -Naur a/libffi.pc.in b/libffi.pc.in
--- a/libffi.pc.in 2014-11-08 06:47:24.000000000 -0600
+++ b/libffi.pc.in 2016-09-29 13:11:52.508000000 -0500
@@ -2,10 +2,10 @@
exec_prefix=@exec_prefix@
libdir=@libdir@
toolexeclibdir=@toolexeclibdir@
-includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
+includedir=@includedir@
Name: @PACKAGE_NAME@
Description: Library supporting Foreign Function Interfaces
Version: @PACKAGE_VERSION@
Libs: -L${toolexeclibdir} -lffi
-Cflags: -I${includedir}
+Cflags:
+2
View File
@@ -0,0 +1,2 @@
Place any patch files here and preface each with a number indicating
the order of execution. Patch files are expected to use a .patch extension.