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
Makefile Normal file
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
Makefile.libffi-dev Normal file
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
SNAP/README Normal file
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.

BIN
SRC/libffi-3.2.tar.gz Normal file

Binary file not shown.

View File

@@ -0,0 +1 @@
fed5f6eec86144608966857f54bd69a5faa43427f27bc9178ebe2c7a1cecf925c20dbd6df07a207ae469842874efcf5b99fb7e09db59cbd92ebfc0a7e1bb62b7

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
SRC/patches/README Normal file
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.