diff --git a/srcpkgs/libfetch-devel b/srcpkgs/libfetch-devel new file mode 120000 index 0000000000..bb26756bb3 --- /dev/null +++ b/srcpkgs/libfetch-devel @@ -0,0 +1 @@ +libfetch \ No newline at end of file diff --git a/srcpkgs/libfetch/depends b/srcpkgs/libfetch/depends new file mode 100644 index 0000000000..1bce2af358 --- /dev/null +++ b/srcpkgs/libfetch/depends @@ -0,0 +1,2 @@ +abi_depends=">=2.33" +api_depends="${abi_depends}" diff --git a/srcpkgs/libfetch/files/Makefile b/srcpkgs/libfetch/files/Makefile new file mode 100644 index 0000000000..34f3b1d999 --- /dev/null +++ b/srcpkgs/libfetch/files/Makefile @@ -0,0 +1,68 @@ +prefix = /usr +DESTDIR = +DEBUG = false +FETCH_WITH_INET6 = true +FETCH_WITH_OPENSSL = true + +WARNINGS = -Wall -Wstrict-prototypes -Wsign-compare -Wchar-subscripts \ + -Wpointer-arith -Wcast-align + +CFLAGS ?= -O2 -pipe + +CFLAGS += -fPIC $(WARNINGS) +CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES +CFLAGS += -DFTP_COMBINE_CWDS -DNETBSD + +ifeq ($(strip $(FETCH_WITH_INET6)), true) +CFLAGS += -DINET6 +endif + +ifeq ($(strip $(FETCH_WITH_OPENSSL)), true) +CFLAGS += -DWITH_SSL +LDADD += -Wl,-lssl -Wl,-lcrypto +endif + +INSTALL = install -c -D + +OBJS= fetch.o common.o ftp.o http.o file.o +INCS= fetch.h common.h +GEN = ftperr.h httperr.h +MAN = libdownload.3 + +all: libfetch.so libfetch.a +.PHONY: all + +%.o: %.c $(INCS) $(GEN) + $(CC) $(CFLAGS) -c $< + +ftperr.h: ftp.errors Makefile errlist.sh + ./errlist.sh ftp_errlist FTP ftp.errors > $@ + +httperr.h: http.errors Makefile errlist.sh + ./errlist.sh http_errlist HTTP http.errors > $@ + +libfetch.so: $(GEN) $(INCS) $(OBJS) + rm -f $@ + $(CC) $(LDFLAGS) $(OBJS) $(LDADD) -shared -fPIC -o $@ + +libfetch.a: $(GEN) $(INCS) $(OBJS) + rm -f $@ + $(AR) rcs $@ $(OBJS) + +clean: + rm -f libfetch.so libfetch.a *.o $(GEN) +.PHONY: clean + +install: all + $(INSTALL) -m 755 libfetch.so $(DESTDIR)$(prefix)/lib/libfetch.so + $(INSTALL) -m 644 libfetch.a $(DESTDIR)$(prefix)/lib/libfetch.a + $(INSTALL) -m 644 fetch.h $(DESTDIR)$(prefix)/include/fetch.h + $(INSTALL) -m 644 fetch.3 $(DESTDIR)$(prefix)/share/man/man3/fetch.3 +.PHONY: install + +uninstall: + rm -f $(DESTDIR)$(prefix)/lib/libfetch.so + rm -f $(DESTDIR)$(prefix)/lib/libfetch.a + rm -f $(DESTDIR)$(prefix)/include/fetch.h + rm -f $(DESTDIR)$(prefix)/share/man/man3/fetch.3 +.PHONY: uninstall diff --git a/srcpkgs/libfetch/libfetch-devel.template b/srcpkgs/libfetch/libfetch-devel.template new file mode 100644 index 0000000000..c07c23400b --- /dev/null +++ b/srcpkgs/libfetch/libfetch-devel.template @@ -0,0 +1,16 @@ +# Template file for 'libfetch-devel'. +# +short_desc="${short_desc} - development files" +long_desc="${long_desc} + + This package contains files for development, headers, static libs, etc." + +Add_dependency run openssl-devel +Add_dependency run libfetch + +do_install() +{ + mkdir -p ${DESTDIR}/usr/lib + mv ${SRCPKGDESTDIR}/usr/{include,share} ${DESTDIR}/usr + mv ${SRCPKGDESTDIR}/usr/lib/*.a ${DESTDIR}/usr/lib +} diff --git a/srcpkgs/libfetch/template b/srcpkgs/libfetch/template new file mode 100644 index 0000000000..823bc7fcfa --- /dev/null +++ b/srcpkgs/libfetch/template @@ -0,0 +1,21 @@ +# Template file for 'libfetch' +pkgname=libfetch +version=2.33 +distfiles="ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$version.tar.gz" +build_style=gnu_makefile +short_desc="File Transfer Library for URLs" +maintainer="Juan RP " +checksum=3226f53d5ad29cc27510db968ef0d37bf4554b8aaaeadcd56e23067213b08943 +long_desc=" + libfetch provides a high-level library for retrieving and uploading + files using Uniform Resource Locators (URLs)." + +subpackages="$pkgname-devel" +Add_dependency run glibc +Add_dependency run libssl +Add_dependency build openssl-devel + +pre_build() +{ + cp ${FILESDIR}/Makefile ${wrksrc} +} diff --git a/xbps-src/common/mapping_shlib_binpkg.txt b/xbps-src/common/mapping_shlib_binpkg.txt index 6279172a57..70092519ef 100644 --- a/xbps-src/common/mapping_shlib_binpkg.txt +++ b/xbps-src/common/mapping_shlib_binpkg.txt @@ -734,3 +734,4 @@ VBoxOGLhostcrutil.so virtualbox-ose VBoxKeyboard.so virtualbox-ose VBoxOGLrenderspu.so virtualbox-ose VBoxOGLcrutil.so virtualbox-ose-guest +libfetch.so libfetch libfetch-devel