tcl9Packages: init (#508586)

This commit is contained in:
Francesco Gazzetta
2026-04-24 16:02:01 +00:00
committed by GitHub
14 changed files with 46 additions and 26 deletions
@@ -130,6 +130,7 @@ let
passthru = rec {
inherit release version;
isTcl9 = lib.versions.major version == "9";
libPrefix = "tcl${release}";
libdir = "lib/${libPrefix}";
tclPackageHook = callPackage (
@@ -81,5 +81,6 @@ tcl.mkTclDerivation rec {
platforms = lib.platforms.unix;
mainProgram = "expect";
maintainers = with lib.maintainers; [ SuperSandro2000 ];
broken = tcl.isTcl9;
};
}
@@ -46,5 +46,6 @@ mkTclDerivation rec {
license = lib.licenses.tcltk;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ thoughtpolice ];
broken = tcl.isTcl9;
};
}
@@ -3,6 +3,7 @@
mkTclDerivation,
fetchzip,
autoreconfHook,
tcl,
}:
mkTclDerivation {
@@ -24,5 +25,6 @@ mkTclDerivation {
license = lib.licenses.tcltk;
maintainers = with lib.maintainers; [ fgaz ];
platforms = lib.platforms.all;
broken = tcl.isTcl9;
};
}
@@ -4,40 +4,30 @@
fetchFromGitHub,
autoreconfHook,
tcl,
pandoc,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rl_json";
version = "0.15.7";
version = "0.16";
src = fetchFromGitHub {
owner = "RubyLane";
repo = "rl_json";
tag = finalAttrs.version;
hash = "sha256-6Y6bq/Lm6KCFFV3RF6v4fVPEN1LO+jE2xZV50a8zyng=";
hash = "sha256-rXr7x9Cr+gD938+NEPguvYVWH5s9bKccMobuZsb0IQY=";
fetchSubmodules = true;
};
# The vendored libtommath conflicts with tclTomMath.
# Replacing it with tclTomMath fixes the issue.
# https://github.com/RubyLane/rl_json/issues/57
# The switch to a vendored libtommath was done in 0.15.4 in commit
# https://github.com/RubyLane/rl_json/commit/9294d533f4d81288acf53045666b1587cf7fbf92
# "for proper bignum handling", but the commit message doesn't explain what's wrong
# with tclTomMath's bignum handling and all tests pass anyway.
postPatch = ''
rm -r deps/libtommath
substituteInPlace Makefile.in \
--replace-fail 'deps: local/lib/libtommath.a' 'deps:'
substituteInPlace configure.ac \
--replace-fail -ltommath ""
substituteInPlace generic/rl_jsonInt.h \
--replace-fail '#include <tommath.h>' '#include <tclTomMath.h>'
mkdir doc/.build
cp doc/json.md.in doc/.build/json.md.in
'';
nativeBuildInputs = [
autoreconfHook
tcl.tclPackageHook
pandoc
];
configureFlags = [
@@ -47,8 +37,6 @@ stdenv.mkDerivation (finalAttrs: {
"--datarootdir=${placeholder "out"}/share"
];
env.NIX_CFLAGS_COMPILE = "-Wno-error";
doCheck = true;
meta = {
@@ -3,6 +3,7 @@
fetchFromGitHub,
mkTclDerivation,
tclx,
tcl,
}:
mkTclDerivation {
@@ -31,5 +32,6 @@ mkTclDerivation {
license = lib.licenses.bsd2;
platforms = tclx.meta.platforms;
maintainers = with lib.maintainers; [ nat-418 ];
broken = tcl.isTcl9;
};
}
@@ -3,6 +3,7 @@
mkTclDerivation,
fetchFromGitHub,
curl,
tcl,
}:
mkTclDerivation rec {
@@ -29,5 +30,6 @@ mkTclDerivation rec {
changelog = "https://github.com/flightaware/tclcurl-fa/blob/master/ChangeLog.txt";
license = lib.licenses.tcltk;
maintainers = with lib.maintainers; [ fgaz ];
broken = tcl.isTcl9;
};
}
@@ -3,6 +3,7 @@
mkTclDerivation,
fetchzip,
graphicsmagick,
tcl,
tk,
}:
@@ -34,5 +35,6 @@ mkTclDerivation rec {
homepage = "http://www.graphicsmagick.org/TclMagick/doc/";
license = lib.licenses.tcltk;
maintainers = with lib.maintainers; [ fgaz ];
broken = tcl.isTcl9;
};
}
@@ -3,6 +3,7 @@
fetchurl,
mkTclDerivation,
openssl,
tcl,
}:
mkTclDerivation rec {
@@ -28,5 +29,6 @@ mkTclDerivation rec {
maintainers = [ lib.maintainers.agbrooks ];
license = lib.licenses.tcltk;
platforms = lib.platforms.unix;
broken = tcl.isTcl9;
};
}
@@ -2,6 +2,7 @@
lib,
mkTclDerivation,
fetchfossil,
tcl,
}:
mkTclDerivation rec {
@@ -35,5 +36,6 @@ mkTclDerivation rec {
homepage = "https://core.tcl-lang.org/tcludp";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fgaz ];
broken = tcl.isTcl9;
};
}
@@ -60,5 +60,6 @@ tcl.mkTclDerivation {
bsd2 # tix
gpl2 # patches from portage
];
broken = tcl.isTcl9;
};
}
@@ -1,20 +1,20 @@
{
lib,
fetchsvn,
fetchzip,
tcl,
tcllib,
tk,
libx11,
zlib,
}:
tcl.mkTclDerivation rec {
pname = "tkimg";
version = "623";
version = "2.1.1";
src = fetchsvn {
url = "svn://svn.code.sf.net/p/tkimg/code/trunk";
rev = version;
sha256 = "sha256-6GlkqYxXmMGjiJTZS2fQNVSimcKc1BZ/lvzvtkhty+o=";
src = fetchzip {
url = "mirror://sourceforge/tkimg/tkimg/Img-${version}.tar.gz";
hash = "sha256-TRtE2/BVrYgkdKtbF06UjLvokokgLGQ/EKDLxhz2Ckw=";
};
configureFlags = [
@@ -26,6 +26,7 @@ tcl.mkTclDerivation rec {
buildInputs = [
libx11
tcllib
zlib
];
meta = {
@@ -2,6 +2,7 @@
lib,
mkTclDerivation,
fetchFromGitHub,
tcl,
}:
mkTclDerivation rec {
@@ -22,5 +23,6 @@ mkTclDerivation rec {
description = "Numeric array and linear algebra extension for Tcl";
maintainers = with lib.maintainers; [ fgaz ];
license = lib.licenses.tcltk;
broken = tcl.isTcl9;
};
}
+15 -2
View File
@@ -5234,8 +5234,21 @@ with pkgs;
tcl-8_6 = callPackage ../development/interpreters/tcl/8.6.nix { };
tcl-9_0 = callPackage ../development/interpreters/tcl/9.0.nix { };
# We don't need versioned package sets thanks to the tcl stubs mechanism
tclPackages = recurseIntoAttrs (callPackage ./tcl-packages.nix { });
tclPackages = dontRecurseIntoAttrs tcl8Packages;
# We don't need minor-versioned package sets thanks to the tcl stubs mechanism.
# Major versions have bigger incompatibilities and need package sets.
tcl8Packages = recurseIntoAttrs (
callPackage ./tcl-packages.nix {
tcl = tcl-8_6;
tk = tk-8_6;
}
);
tcl9Packages = recurseIntoAttrs (
callPackage ./tcl-packages.nix {
tcl = tcl-9_0;
tk = tk-9_0;
}
);
tclreadline = tclPackages.tclreadline;