Skip to content

Instantly share code, notes, and snippets.

@knedlsepp
Last active November 18, 2022 23:41
Show Gist options
  • Save knedlsepp/31f38110286fe244c6f8473e065f68cf to your computer and use it in GitHub Desktop.
Save knedlsepp/31f38110286fe244c6f8473e065f68cf to your computer and use it in GitHub Desktop.
custom unixodbc
let
pkgs = import <nixpkgs> {};
unixODBC-cache = pkgs.stdenv.mkDerivation {
name = "unixODBC-cache";
src = pkgs.fetchurl {
url = "ftp://ftp.intersystems.com/pub/cache/odbc/2014/cache.2014.1.3.ODBC-lnxrhx64.tar.gz";
sha256 = "0rgmpac45q126capd32gyhxk0pjjyg9kad5gqs9k0iyj022csxl8";
};
sourceRoot = "bin";
installPhase = ''
mkdir -p $out/lib
mv libcache* $out/lib
'';
nativeBuildInputs = with pkgs; [
autoPatchelfHook
];
buildInputs = with pkgs; [
stdenv.cc.cc.lib
];
passthru = {
fancyName = "UnixODBC-Cache";
driver = "lib/libcacheodbc35.so";
};
};
in with pkgs;
stdenv.mkDerivation {
name = "project-depending-on-unixODBC-cache";
buildInputs = [
unixODBC-cache
];
nativeBuildInputs = [
unixODBC
];
shellHook = let
ODBCINI = writeTextDir "odbc.ini" ''
[unixODBC-cache]
Description = unixODBC-cache
Driver = ${unixODBC-cache}/lib/libcacheodbc35.so
'';
in ''
export ODBCINI=${ODBCINI}/odbc.ini
'';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment