这是indexloc提供的服务,不要输入任何密码
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions packages/libelf-minimal/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
TERMUX_PKG_HOMEPAGE=https://github.com/arachsys/libelf/
TERMUX_PKG_DESCRIPTION="Freestanding libelf extracted from elfutils"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="0.192.1"
TERMUX_PKG_SRCURL="https://github.com/arachsys/libelf/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=a359755a54200e0d9fab4bf169d5af7d2177d12b324874c6c32eaac5cce79295
TERMUX_PKG_BUILD_DEPENDS="zlib, zstd"
TERMUX_PKG_DEPENDS="zlib, zstd"
TERMUX_PKG_CONFLICTS="libelf-dev, libelf"
TERMUX_PKG_REPLACES="libelf-dev, libelf"
TERMUX_PKG_BUILD_IN_SRC=true

termux_step_make() {
cd $TERMUX_PKG_SRCDIR
make -j $TERMUX_PKG_MAKE_PROCESSES PREFIX=$PREFIX PKG_CONFIG=$PKG_CONFIG
}

termux_step_make_install() {
cd $TERMUX_PKG_SRCDIR
# don't install static
make -j $TERMUX_PKG_MAKE_PROCESSES install-headers \
install-shared install-pc PREFIX=$PREFIX
}
19 changes: 19 additions & 0 deletions packages/libelf-minimal/makefile.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
diff --git a/Makefile b/Makefile
index 2e6bbe5..0e00aea 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,12 @@
INCDIR = $(PREFIX)/include
LIBDIR = $(PREFIX)/lib
+PKG_CONFIG = pkg-config

-CFLAGS = -O2 -Wall
+CFLAGS = -O2 -Wall $(shell $(PKG_CONFIG) --cflags zlib) \
+ $(shell $(PKG_CONFIG) --cflags libzstd)
LDFLAGS =
-LDLIBS = -lz -lzstd
+LDLIBS = $(shell $(PKG_CONFIG) --libs zlib) \
+ $(shell $(PKG_CONFIG) --libs libzstd)

MAJOR = 1
MINOR = 0.192
64 changes: 64 additions & 0 deletions packages/libelf-minimal/pkgconf.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
diff --git a/Makefile b/Makefile
index 0e00aea..4bb6a39 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,7 @@
+PREFIX ?= /usr/local
INCDIR = $(PREFIX)/include
LIBDIR = $(PREFIX)/lib
+DATADIR = $(PREFIX)/share
PKG_CONFIG = pkg-config

CFLAGS = -O2 -Wall $(shell $(PKG_CONFIG) --cflags zlib) \
@@ -18,7 +20,7 @@ PICOBJS = $(patsubst %.c,%.os,$(SOURCES))

override CFLAGS += -DHAVE_CONFIG_H -Iinclude -Isrc

-all: libelf.a libelf.so
+all: libelf.a libelf.so libelf.pc

clean:
rm -f src/*.o src/*.os libelf.a libelf.so
@@ -36,12 +38,24 @@ libelf.so: $(PICOBJS) Makefile
%.os:: %.c $(HEADERS) Makefile
$(CC) $(CFLAGS) -fPIC -c -o $@ $<

-install: install-headers install-static install-shared
+libelf.pc: libelf.pc.in Makefile
+ sed \
+ -e 's!@prefix[@]!$(PREFIX)!g' \
+ -e 's!@libdir[@]!$(LIBDIR)!g' \
+ -e 's!@includedir[@]!$(INCDIR)!g' \
+ -e 's!@VERSION[@]!$(MINOR)!g' \
+ $< >$@
+
+install: install-headers install-static install-shared install-pc

install-headers: include/*.h
mkdir -p $(DESTDIR)$(INCDIR)
install -m 0644 include/*.h $(DESTDIR)$(INCDIR)

+install-pc: libelf.pc
+ mkdir -p $(DESTDIR)$(DATADIR)/pkgconfig
+ install -m 0644 $^ $(DESTDIR)$(DATADIR)/pkgconfig
+
install-static: libelf.a install-headers
mkdir -p $(DESTDIR)$(LIBDIR)
install -m 0644 $< $(DESTDIR)$(LIBDIR)
diff --git a/libelf.pc.in b/libelf.pc.in
new file mode 100644
index 0000000..8212491
--- /dev/null
+++ b/libelf.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libelf
+Description: elfutils libelf library to read and write ELF files
+Version: @VERSION@
+URL: https://github.com/arachsys/libelf/
+
+Libs: -L${libdir} -lelf
+Cflags: -I${includedir}