summaryrefslogtreecommitdiffstats
path: root/makefu/5pkgs/esniper
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/5pkgs/esniper')
-rw-r--r--makefu/5pkgs/esniper/default.nix32
-rw-r--r--makefu/5pkgs/esniper/find-ca-bundle.patch26
2 files changed, 58 insertions, 0 deletions
diff --git a/makefu/5pkgs/esniper/default.nix b/makefu/5pkgs/esniper/default.nix
new file mode 100644
index 000000000..a6aac5748
--- /dev/null
+++ b/makefu/5pkgs/esniper/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl , openssl, curl, coreutils, gawk, bash, which }:
+
+stdenv.mkDerivation rec {
+ name = "${pname}-2-35-0";
+ pname = "esniper";
+ version = "2.35.0";
+ src = fetchurl {
+ url = "mirror://sourceforge/${pname}/${name}.tgz";
+ sha256 = "04iwjb42lw90c03125bjdpnm0fp78dmwf2j35r7mah0nwcrlagd9";
+ };
+
+
+ buildInputs = [ openssl curl ];
+
+ # Add support for CURL_CA_BUNDLE variable.
+ # Fix <http://sourceforge.net/p/esniper/bugs/648/>.
+ patches = [ ./find-ca-bundle.patch ];
+
+ postInstall = ''
+ sed <"frontends/snipe" >"$out/bin/snipe" \
+ -e "2i export PATH=\"$out/bin:${stdenv.lib.makeBinPath [ coreutils gawk bash which ]}:\$PATH\""
+ chmod 555 "$out/bin/snipe"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Simple, lightweight tool for sniping eBay auctions";
+ homepage = http://esniper.sourceforge.net;
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ lovek323 peti ];
+ platforms = platforms.all;
+ };
+}
diff --git a/makefu/5pkgs/esniper/find-ca-bundle.patch b/makefu/5pkgs/esniper/find-ca-bundle.patch
new file mode 100644
index 000000000..e4df272a0
--- /dev/null
+++ b/makefu/5pkgs/esniper/find-ca-bundle.patch
@@ -0,0 +1,26 @@
+diff -ubr '--exclude=*.o' esniper-2-27-0-orig/http.c esniper-2-27-0-patched/http.c
+--- esniper-2-27-0-orig/http.c 2012-02-06 22:04:06.000000000 +0100
++++ esniper-2-27-0-patched/http.c 2012-07-27 10:54:20.893054646 +0200
+@@ -200,6 +200,9 @@
+ int
+ initCurlStuff(void)
+ {
++ /* Path to OpenSSL bundle file. */
++ const char *ssl_capath=NULL;
++
+ /* list for custom headers */
+ struct curl_slist *slist=NULL;
+
+@@ -241,6 +244,12 @@
+ if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_COOKIEFILE, "")))
+ return initCurlStuffFailed();
+
++ /* If the environment variable CURL_CA_BUNDLE is set, pass through its
++ * contents to curl. */
++ if ((ssl_capath = getenv("CURL_CA_BUNDLE")))
++ if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_CAINFO, ssl_capath)))
++ return initCurlStuffFailed();
++
+ slist = curl_slist_append(slist, "Accept: text/*");
+ slist = curl_slist_append(slist, "Accept-Language: en");
+ slist = curl_slist_append(slist, "Accept-Charset: iso-8859-1,*,utf-8");