homebrew-core/Formula/ldapvi.rb

75 lines
2.4 KiB
Ruby

require 'formula'
class Ldapvi < Formula
homepage 'http://www.lichteblau.com/ldapvi/'
url 'http://www.lichteblau.com/download/ldapvi-1.7.tar.gz'
sha1 'd1cde4cbb618180f9ae0e77c56a1520b8ad61c9a'
depends_on 'pkg-config' => :build
depends_on 'gettext'
depends_on 'glib'
depends_on 'popt'
depends_on 'readline'
# Backporting the fix from the devel version
# (namespace conflict with Lion's getline function)
# http://www.lichteblau.com/git/?p=ldapvi.git;a=commit;h=256ced029c235687bfafdffd07be7d47bf7af39b
# Also fix compilation with clang by changing `return` to `return 0`.
patch :DATA
def install
system "./configure", "--disable-dependency-tracking",
"--prefix=#{prefix}"
system "make install"
end
end
__END__
diff -rupN ldapvi-1.7-orig/common.h ldapvi-1.7-new/common.h
--- ldapvi-1.7-orig/common.h 2007-05-05 12:17:26.000000000 +0200
+++ ldapvi-1.7-new/common.h 2011-09-02 21:40:45.000000000 +0200
@@ -273,7 +273,7 @@ void pipeview_wait(int pid);
char *home_filename(char *name);
void read_ldapvi_history(void);
void write_ldapvi_history(void);
-char *getline(char *prompt, char *value);
+char *ldapvi_getline(char *prompt, char *value);
char *get_password();
char *append(char *a, char *b);
void *xalloc(size_t size);
diff -rupN ldapvi-1.7-orig/ldapvi.c ldapvi-1.7-new/ldapvi.c
--- ldapvi-1.7-orig/ldapvi.c 2007-05-05 12:17:26.000000000 +0200
+++ ldapvi-1.7-new/ldapvi.c 2011-09-02 21:41:17.000000000 +0200
@@ -470,7 +470,7 @@ change_mechanism(bind_options *bo)
bo->authmethod = LDAP_AUTH_SASL;
puts("Switching to SASL authentication.");
}
- bo->sasl_mech = getline("SASL mechanism", bo->sasl_mech);
+ bo->sasl_mech = ldapvi_getline("SASL mechanism", bo->sasl_mech);
}
static int
diff -rupN ldapvi-1.7-orig/misc.c ldapvi-1.7-new/misc.c
--- ldapvi-1.7-orig/misc.c 2007-05-05 12:17:26.000000000 +0200
+++ ldapvi-1.7-new/misc.c 2011-09-02 21:41:45.000000000 +0200
@@ -315,7 +315,7 @@ write_ldapvi_history()
}
char *
-getline(char *prompt, char *value)
+ldapvi_getline(char *prompt, char *value)
{
tdialog d;
init_dialog(&d, DIALOG_DEFAULT, prompt, value);
--- ldapvi-1.7/ldapvi.c 2012-08-15 10:58:23.000000000 -0400
+++ ldapvi-1.7/ldapvi.c.new 2012-08-15 10:58:12.000000000 -0400
@@ -1465,7 +1465,7 @@
int line = 0;
int c;
- if (lstat(sasl, &st) == -1) return;
+ if (lstat(sasl, &st) == -1) return 0;
if ( !(in = fopen(sasl, "r"))) syserr();
if (st.st_size > 0) {