102 lines
3 KiB
Ruby
102 lines
3 KiB
Ruby
require 'formula'
|
|
|
|
class Libiscsi < Formula
|
|
homepage 'https://github.com/sahlberg/libiscsi'
|
|
url 'https://sites.google.com/site/libiscsitarballs/libiscsitarballs/libiscsi-1.9.0.tar.gz'
|
|
sha1 'b3d079cbafab68fe39a8061c4ed5094353094e3b'
|
|
head 'https://github.com/sahlberg/libiscsi.git'
|
|
|
|
option 'with-noinst', 'Install the noinst binaries (e.g. iscsi-test-cu)'
|
|
|
|
depends_on 'cunit' if build.with? 'noinst'
|
|
depends_on 'popt'
|
|
depends_on :autoconf
|
|
depends_on :automake
|
|
depends_on :libtool
|
|
|
|
# Fix version number being too large for clang's linker (fixed upstream)
|
|
# Workaround Silent Rules complaint with automake 1.10 from XCode 3.2.6 on
|
|
# 10.6
|
|
# Fix typo in libiscsi.syms (fixed upstream)
|
|
# Fix SOL_TCP not being defined on OSX (fixed upstream)
|
|
def patches
|
|
DATA
|
|
end
|
|
|
|
def install
|
|
if build.with? 'noinst'
|
|
# Install the noinst binaries
|
|
inreplace 'Makefile.am', 'noinst_PROGRAMS +=', 'bin_PROGRAMS +='
|
|
end
|
|
|
|
# inline usage requires gnu89 semantics
|
|
ENV.append 'CFLAGS', '-std=gnu89 -g -O2' if ENV.compiler == :clang
|
|
|
|
system "./autogen.sh"
|
|
system "./configure", "--disable-dependency-tracking",
|
|
"--prefix=#{prefix}"
|
|
system "make install"
|
|
end
|
|
end
|
|
|
|
__END__
|
|
diff --git a/Makefile.am b/Makefile.am
|
|
index 1797ddf..1cf0732 100644
|
|
--- a/Makefile.am
|
|
+++ b/Makefile.am
|
|
@@ -34,8 +34,12 @@ lib_libiscsi_la_SOURCES = \
|
|
lib/logging.c
|
|
|
|
SONAME=$(firstword $(subst ., ,$(VERSION)))
|
|
-SOREL=$(shell printf "%d%02d%02d" $(subst ., ,$(VERSION)))
|
|
-lib_libiscsi_la_LDFLAGS = \
|
|
+version_split = $(subst ., ,$(VERSION))
|
|
+SOMAJOR = $(firstword $(version_split))
|
|
+SOMINOR = $(word 2, $(version_split))
|
|
+SOREVISION = $(word 3, $(version_split))
|
|
+SOREL = $(shell echo $(SOMINOR) + $(SOREVISION) | bc)
|
|
+ lib_libiscsi_la_LDFLAGS = \
|
|
-version-info $(SONAME):$(SOREL):0 -bindir $(bindir) -no-undefined \
|
|
-export-symbols $(srcdir)/lib/libiscsi.syms
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 7995d06..bbdabe9 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -3,8 +3,8 @@ AC_INIT(libiscsi, m4_esyscmd([grep 'Version:' ./packaging/RPM/libiscsi.spec.in 2
|
|
AC_CONFIG_SRCDIR([lib/init.c])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
-AM_INIT_AUTOMAKE
|
|
-AM_SILENT_RULES
|
|
+AM_INIT_AUTOMAKE([foreign])
|
|
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
|
|
LT_INIT
|
|
|
|
AC_CANONICAL_HOST
|
|
diff --git a/lib/libiscsi.syms b/lib/libiscsi.syms
|
|
index 80673f5..35e06d1 100644
|
|
--- a/lib/libiscsi.syms
|
|
+++ b/lib/libiscsi.syms
|
|
@@ -87,7 +87,7 @@ iscsi_set_tcp_keepidle
|
|
iscsi_set_tcp_keepcnt
|
|
iscsi_set_tcp_keepintvl
|
|
iscsi_set_tcp_syncnt
|
|
-iscsi_set_bind_interface
|
|
+iscsi_set_bind_interfaces
|
|
iscsi_startstopunit_sync
|
|
iscsi_startstopunit_task
|
|
iscsi_synchronizecache10_sync
|
|
diff --git a/lib/socket.c b/lib/socket.c
|
|
index 54d6234..53c9581 100644
|
|
--- a/lib/socket.c
|
|
+++ b/lib/socket.c
|
|
@@ -103,7 +103,7 @@ int set_tcp_sockopt(int sockfd, int optname, int value)
|
|
{
|
|
int level;
|
|
|
|
- #if defined(__FreeBSD__) || defined(__sun)
|
|
+ #if defined(__FreeBSD__) || defined(__sun) || (defined(__APPLE__) && defined(__MACH__))
|
|
struct protoent *buf;
|
|
|
|
if ((buf = getprotobyname("tcp")) != NULL)
|