nixpkgs/pkgs/development/libraries/tk/generic.nix

65 lines
1.7 KiB
Nix
Raw Normal View History

{ stdenv, lib, src, pkg-config, tcl, libXft, patches ? []
, enableAqua ? stdenv.isDarwin, darwin
, ... }:
tcl.mkTclDerivation {
2022-02-09 13:19:36 +00:00
pname = "tk";
version = tcl.version;
2015-06-19 13:54:35 +00:00
inherit src patches;
outputs = [ "out" "man" "dev" ];
setOutputFlags = false;
2015-04-30 18:42:43 +00:00
preConfigure = ''
configureFlagsArray+=(--mandir=$man/share/man --enable-man-symlinks)
2015-04-30 18:42:43 +00:00
cd unix
'';
postPatch = ''
for file in $(find library/demos/. -type f ! -name "*.*"); do
substituteInPlace $file --replace "exec wish" "exec $out/bin/wish"
done
'';
postInstall = ''
ln -s $out/bin/wish* $out/bin/wish
cp ../{unix,generic}/*.h $out/include
ln -s $out/lib/libtk${tcl.release}${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libtk${stdenv.hostPlatform.extensions.sharedLibrary}
''
+ lib.optionalString (stdenv.isDarwin) ''
cp ../macosx/*.h $out/include
'';
2015-04-30 18:42:43 +00:00
configureFlags = [
"--enable-threads"
] ++ lib.optional stdenv.is64bit "--enable-64bit"
++ lib.optional enableAqua "--enable-aqua";
nativeBuildInputs = [ pkg-config ];
2019-06-20 16:39:41 +00:00
buildInputs = lib.optional enableAqua (with darwin.apple_sdk.frameworks; [ Cocoa ]);
propagatedBuildInputs = [ libXft ];
enableParallelBuilding = true;
doCheck = false; # fails. can't find itself
inherit tcl;
passthru = rec {
inherit (tcl) release version;
libPrefix = "tk${tcl.release}";
libdir = "lib/${libPrefix}";
};
2013-06-29 22:39:32 +00:00
meta = with lib; {
2013-06-29 22:39:32 +00:00
description = "A widget toolkit that provides a library of basic elements for building a GUI in many different programming languages";
homepage = "https://www.tcl.tk/";
2015-04-30 18:42:43 +00:00
license = licenses.tcltk;
platforms = platforms.all;
maintainers = with maintainers; [ lovek323 vrthra ];
2013-06-29 22:39:32 +00:00
};
}