digitalmars.D.learn - tkd does not build anymore after 2.096
- tastyminerals (36/36) Oct 12 2021 There have been numerous deprecation warnings for nice **tkd**
- russhy (14/14) Oct 12 2021 Recent version for nullable removed implicit conversion, you must
- tastyminerals (6/20) Oct 12 2021 Yes, I can locally "fix" that but I would also like whoever wants
- russhy (17/46) Oct 12 2021 I found this twitter: https://twitter.com/nomaddeveloper
- tastyminerals (5/32) Oct 15 2021 Thank you. I have contacted him via LinkedIn and he unarchived
- rikki cattermole (6/6) Oct 12 2021 The repo itself hasn't been archived as of this writing. So a PR may
- WebFreak001 (7/14) Oct 13 2021 it was archived but isn't anymore. Migrating it to
- russhy (8/8) Oct 13 2021 But ultimately, if the repo is archived, that means it is not
There have been numerous deprecation warnings for nice **tkd** library: https://github.com/nomad-software/tkd and with the current ldc 1.27.1 it fails to build. ``` x11 1.0.21: building configuration "tcltk-import"... tcltk 8.6.5: building configuration "library"... tkd 1.1.13: building configuration "library"... ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ar specific.d(134,10): Error: incompatible types for `(0.0) : (this._startAngle)`: `double` and `Nullable!double` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(45,10): Error: incompatible types for `(0) : (this._outlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(92,10): Error: incompatible types for `(0) : (this._activeOutlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/out inewidth.d(139,10): Error: incompatible types for `(0) : (this._disabledOutlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/te tspecific.d(56,10): Error: incompatible types for `(0.0) : (this._angle)`: `double` and `Nullable!double` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/tex specific.d(234,10): Error: incompatible types for `(0) : (this._maxLineLength)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/widg tspecific.d(79,10): Error: incompatible types for `(0) : (this._width)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/widge specific.d(127,10): Error: incompatible types for `(0) : (this._height)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ar specific.d(134,10): Error: incompatible types for `(0.0) : (this._startAngle)`: `double` and `Nullable!double` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(45,10): Error: incompatible types for `(0) : (this._outlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(92,10): Error: incompatible types for `(0) : (this._activeOutlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/out inewidth.d(139,10): Error: incompatible types for `(0) : (this._disabledOutlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(45,10): Error: incompatible types for `(0) : (this._outlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(92,10): Error: incompatible types for `(0) : (this._activeOutlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/out inewidth.d(139,10): Error: incompatible types for `(0) : (this._disabledOutlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(45,10): Error: incompatible types for `(0) : (this._outlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(92,10): Error: incompatible types for `(0) : (this._activeOutlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/out inewidth.d(139,10): Error: incompatible types for `(0) : (this._disabledOutlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(45,10): Error: incompatible types for `(0) : (this._outlineWidth)`: `int` and `Nullable!int` ../../../../.dub/packages/tkd-1.1.13/tkd/source/tkd/widget/common/canvas/ou linewidth.d(92,10): Error: incompatible types for `(0) : (this._activeOutlineWidth)`: `int` and `Nullable!int` /Users/pavels/.local/share/ldc2/bin/ldc2 failed with exit code 1. ``` Since the repo is **archived** now how can we keep the library alive? Is it up to the person whoever forks it and then keeps a working copy of it? What about the corresponding dub package page? Is there a defined process or anything about the potential handover? For example, I could keep a working fork for myself but updating it for the dub would be even better. What do you think?
Oct 12 2021
Recent version for nullable removed implicit conversion, you must call .get now.. wich is a pain to update i suggest using a previous version of ``struct Nullable`` https://github.com/dlang/phobos/blob/v2.096.1/std/typecons.d create a nullable.d file in tkd project, and replace the imports to that module that'll solve this issue but that wouldn't solve the fact that the https://code.dlang.org/packages/tkd package won't build we need to contact the maintainers and suggest to update the library another solution would be to revert the nullable change that sounds like an unnecessary change that breaks lot of code/packages..
Oct 12 2021
On Tuesday, 12 October 2021 at 17:35:53 UTC, russhy wrote:Recent version for nullable removed implicit conversion, you must call .get now.. wich is a pain to update i suggest using a previous version of ``struct Nullable`` https://github.com/dlang/phobos/blob/v2.096.1/std/typecons.d create a nullable.d file in tkd project, and replace the imports to that module that'll solve this issue but that wouldn't solve the fact that the https://code.dlang.org/packages/tkd package won't build we need to contact the maintainers and suggest to update the library another solution would be to revert the nullable change that sounds like an unnecessary change that breaks lot of code/packages..Yes, I can locally "fix" that but I would also like whoever wants to compile the app in the company also compile it for his machine :( I tried to find the email of the maintainer but so far didn't have time for search.
Oct 12 2021
On Tuesday, 12 October 2021 at 18:18:45 UTC, tastyminerals wrote:On Tuesday, 12 October 2021 at 17:35:53 UTC, russhy wrote:I found this twitter: https://twitter.com/nomaddeveloper And his linkdin: https://uk.linkedin.com/in/gary-willoughby-33b48963 (Publicly available on his website: http://nomad.uk.net/pages/about.html) What you should probably do anyways is: 1- fork the project on github 2- apply the workaround for nullable Update your dub file so it picks your dependency (people forgot, but you can use git repo as dependencies, just like in go) ```json "repository":"https://github.com/your_github/tkd.git", "dependencies": { "tkd": "~master" // or what ever version you want } ```Recent version for nullable removed implicit conversion, you must call .get now.. wich is a pain to update i suggest using a previous version of ``struct Nullable`` https://github.com/dlang/phobos/blob/v2.096.1/std/typecons.d create a nullable.d file in tkd project, and replace the imports to that module that'll solve this issue but that wouldn't solve the fact that the https://code.dlang.org/packages/tkd package won't build we need to contact the maintainers and suggest to update the library another solution would be to revert the nullable change that sounds like an unnecessary change that breaks lot of code/packages..Yes, I can locally "fix" that but I would also like whoever wants to compile the app in the company also compile it for his machine :( I tried to find the email of the maintainer but so far didn't have time for search.
Oct 12 2021
On Wednesday, 13 October 2021 at 01:55:38 UTC, russhy wrote:On Tuesday, 12 October 2021 at 18:18:45 UTC, tastyminerals wrote:Thank you. I have contacted him via LinkedIn and he unarchived the repo so I could push a PR. The PR is now merged and a new tkd version `1.1.14` is available via dub. This version is compatible with the recent dmd. All good.On Tuesday, 12 October 2021 at 17:35:53 UTC, russhy wrote:I found this twitter: https://twitter.com/nomaddeveloper And his linkdin: https://uk.linkedin.com/in/gary-willoughby-33b48963 (Publicly available on his website: http://nomad.uk.net/pages/about.html) What you should probably do anyways is: 1- fork the project on github 2- apply the workaround for nullable Update your dub file so it picks your dependency (people forgot, but you can use git repo as dependencies, just like in go) ```json "repository":"https://github.com/your_github/tkd.git", "dependencies": { "tkd": "~master" // or what ever version you want } ```[...]Yes, I can locally "fix" that but I would also like whoever wants to compile the app in the company also compile it for his machine :( I tried to find the email of the maintainer but so far didn't have time for search.
Oct 15 2021
The repo itself hasn't been archived as of this writing. So a PR may succeed. But yeah the guy is gone by the looks. If he is willing this could be a possible candidate for moving it to dlang-community although it'll need someone to shepherd it. https://github.com/nomad-software/tkd
Oct 12 2021
On Wednesday, 13 October 2021 at 02:03:30 UTC, rikki cattermole wrote:The repo itself hasn't been archived as of this writing. So a PR may succeed. But yeah the guy is gone by the looks. If he is willing this could be a possible candidate for moving it to dlang-community although it'll need someone to shepherd it. https://github.com/nomad-software/tkdit was archived but isn't anymore. Migrating it to dlang-community would be a good idea I think, but idk if it's needed having a maintainer for it. Having more people who have push access would at least be better for managing PRs and issues than having it archived though.
Oct 13 2021
But ultimately, if the repo is archived, that means it is not maintained anymore The licence is MIT, so you can fork it and maintain a new updated version, at least an updated one that compiles -- github repos marked as "archived" should be reflected in the code.dlang.org page, dub should also display a warning when compiling an archived package in my opinion
Oct 13 2021