about summary refs log tree commit diff
path: root/pkgs/development/tools/sqsh/default.nix
blob: ec071f739efad6ce134fc64492341a159e7388df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{ lib, stdenv, fetchurl, autoreconfHook, freetds, readline, libiconv }:

let
  mainVersion = "2.5";

in stdenv.mkDerivation rec {
  pname = "sqsh";
  version = "${mainVersion}.16.1";

  src = fetchurl {
    url    = "mirror://sourceforge/sqsh/sqsh/sqsh-${mainVersion}/${pname}-${version}.tgz";
    sha256 = "1wi0hdmhk7l8nrz4j3kaa177mmxyklmzhj7sq1gj4q6fb8v1yr6n";
  };

  preConfigure = ''
    export SYBASE=${freetds}
  '' + lib.optionalString stdenv.isDarwin ''
    substituteInPlace configure --replace "libct.so" "libct.dylib"
  '';

  enableParallelBuilding = true;

  buildInputs = [ freetds readline libiconv ];

  nativeBuildInputs = [ autoreconfHook ];

  patches = [
    (fetchurl {
      # https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/databases/sqsh/patches/patch-src_cmd_connect_c
      name = "patch-src_cmd_connect_c.patch";
      url = "https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/databases/sqsh/patches/patch-src_cmd_connect_c?rev=1.2&content-type=text/plain";
      sha256 = "1dz97knr2h0a0ca1vq2mx6h8s3ns9jb1a0qraa4wkfmcdi3aqw0j";
    })
  ];

  patchFlags = [ "-p0" ];

  meta = with lib; {
    description = "Command line tool for querying Sybase/MSSQL databases";
    mainProgram = "sqsh";
    longDescription = ''
      Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell),
      it is intended as a replacement for the venerable 'isql' program supplied
      by Sybase.
    '';
    license = licenses.gpl2;
    homepage = "https://sourceforge.net/projects/sqsh/";
    platforms = platforms.all;
  };
}