Re: [ITA] tcl-sqlite3

2014-01-21 Thread Corinna Vinschen
On Jan 20 10:37, Jan Nijtmans wrote:
 2014/1/20 Yaakov (Cygwin/X) yselkow...@users.sourceforge.net:
  What is the source of the ICU and zlib patches, and why have you added them?
  ICU is a *huge* dependency for something as small as sqlite3.
 [etc]

Please, who uploaded the tcl-sqlite3-3.8.3-1 package?

It is broken, because it's missing its source package.  There's no
matching sqlite3-3.8.3-1-src.tar.xz file.

We're now constantly getting an upset message warning about this.

For now, I moved the tcl-sqlite3-3.8.3-1.tar.xz packages out of
the release areas.  Please make sure to provide only subpackages
for which the matching source package is available, too.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpbPfqzhtWPN.pgp
Description: PGP signature


Re: [ITA] tcl-sqlite3

2014-01-21 Thread Jan Nijtmans
2014/1/21 Corinna Vinschen:
 Please make sure to provide only subpackages
 for which the matching source package is available, too.

Thank you, I didn't know that. My apologies!

Regards,
   Jan Nijtmans


Re: [ITA] tcl-sqlite3

2014-01-21 Thread Christopher Faylor
On Tue, Jan 21, 2014 at 03:07:28PM +0100, Jan Nijtmans wrote:
2014/1/21 Corinna Vinschen:
 Please make sure to provide only subpackages
 for which the matching source package is available, too.

Thank you, I didn't know that. My apologies!

You didn't know that the source package has to exist?  It's a free
software project.

I also added a '!email' file for you so that you can share in the fun of
getting upset messages.


Re: [ITA] tcl-sqlite3

2014-01-20 Thread Jan Nijtmans
2014/1/20 Yaakov (Cygwin/X) yselkow...@users.sourceforge.net:
 What is the source of the ICU and zlib patches, and why have you added them?
 ICU is a *huge* dependency for something as small as sqlite3.

ICU is a dependency on sqlite3, but not for libsqlite3_0. So applications
like Subversion don't get ICU as additional dependency. I don't think that
the sqlite3 utility is used by many people. And the ones who do, expect
that lower() and upper() work for all Unicode characters. On the SQLite
mailing list I see messages regularly why SQLite doesn't have Unicode
support. So-far, no-one complained about this added dependency. A
solution might be a separate sqlite3-icu package, I'll consider that.
The source for icu.c is in the SQLite source code (unfortunately
not packed in the download). zlib.c is extracted from Fossil. I'm
planning to contribute that upstream as separate SQLite extension.

 Your src.patch includes an incorrect hunk for
 sqlite3.h:SQLITE_VERSION_NUMBER.  I also don't understand the reasoning for
 your tclsqlite3.c patches.
It's on purpose: Subversion internally checks for
   sqlite3_libversion_number() = SQLITE_VERSION_NUMBER
which means that Subversion compiled against SQLite 3.8.2
headers won't run on SQLite 3.8.1 any more. This is nonsense,
and should be fixed upstream (in Subversion), but as long as
that's not done this hack works. David Rothenberger might also
patch Subversion for that, then I'm happy to undo this hack.

libsqlite3.7.15.2.dll exports the following symbols:
  Sqlite3_Init
  Sqlite3_Unload
  TclTomMathInitializeStubs
  Tcl_InitStubs
  Tclsqlite3_Init
  Tclsqlite3_Unload
  memcmp
  tclIntPlatStubsPtr
  tclIntStubsPtr
  tclIntPlatPtr
  tclStubsPtr
  tclTomMathStubsStubsPtr
Only the *_Init and *_Unload functions should be exported. That's
what another patch is for. Finally win32-longpath is a better
default VFS for Tcl as it gives less locking errors and handles
paths  260 bytes better. As soon as the unix-cygwin VFS
is enhanced to handle that better (still on my TODO list), this
patch can be removed as well. But it's difficult to get Cygwin
patches adapted in SQLite upstream, Warren can confirm that ;-)

 Also, you also clobbered the upstream README with a Cygwin-specific one;
 please don't do that.

I'll undo that in my next version. Thanks!

 Huh?  setup will remove the previous version before installing the newer one
 anyway.

I didn't know that. Thanks!

 If it works, don't fix it.  IMO we should let TEA do its thing.

I'm willing to change that in my next version (assuming Corinna agrees
on that) .
SQLite 3.8.3 is going to be released in about 3 weeks anyway.

 That's not necessary, as it will have an external-source: sqlite3.

Then why are  libsqlite3-devel and libsqlite3_0 listed there as
separate packages?

Thanks for all feedback!

Regards,
 Jan Nijtmans


Re: [ITA] tcl-sqlite3

2014-01-19 Thread Yaakov (Cygwin/X)

On 2014-01-15 03:12, Jan Nijtmans wrote:

2014/1/14 Yaakov (Cygwin/X):

I don't see any links to a -src package, or better yet, a URL to the
.cygport and patches (if any).


That's because  the -src package is the same as
the sqlite3 src package.
However, the one with the latest modifications can be found here now:
 
https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/sqlite3-3.8.2-3-src.tar.xz


What is the source of the ICU and zlib patches, and why have you added 
them?  ICU is a *huge* dependency for something as small as sqlite3.


Your src.patch includes an incorrect hunk for 
sqlite3.h:SQLITE_VERSION_NUMBER.  I also don't understand the reasoning 
for your tclsqlite3.c patches.


Also, you also clobbered the upstream README with a Cygwin-specific one; 
please don't do that.



It's not a problem, but partly-versioned (only the 3) library file
has the advantage that no uninstall needs to be done after
an upgrade to a higher version. The directory cannot
accidentally keep old versions of files around, every
upgrade will simply overwrite it with the new version.


Huh?  setup will remove the previous version before installing the newer 
one anyway.



If the filename is agreed upon, still agreement is needed on
the directory where those file should be installed. Using
/usr/lib/tcl8.x/sqlite3 is not strange at all: TEA dictates
that there should be a tclConfig.sh file in /usr/lib, but
Debian moves that to /usr/lib/tcl8.x as well. It's
already in the search path of Tcl, so it will work
without the need to patch Tcl itself.


No one's talking about patching Tcl.  The OOTB default works as well, 
and doesn't pollute a directory which is currently used solely for the 
standard library.



TEA (without full-version):
TM (Tcl module new style):
My suggestion (looks like Fedora's sqlite-tcl package):


If it works, don't fix it.  IMO we should let TEA do its thing.


And who can add the tcl-sqlite3 package to cygwin-pkg-maint?


That's not necessary, as it will have an external-source: sqlite3.


Yaakov



Re: [ITA] tcl-sqlite3

2014-01-15 Thread Jan Nijtmans
2014/1/14 Yaakov (Cygwin/X):
 I don't see any links to a -src package, or better yet, a URL to the
 .cygport and patches (if any).

That's because  the -src package is the same as
the sqlite3 src package. Apparently that was not
clear enough from the mailed setup.hint file, it's
already uploaded to cygwin.com:
2014/1/13 Jan Nijtmans jan.nijtm...@gmail.com:
 =
 tcl-sqlite3/setup.hint
...
 external-source: sqlite3
 prev: 3.7.15.2-1
 curr: 3.8.2-3

However, the one with the latest modifications can be found here now:

https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/sqlite3-3.8.2-3-src.tar.xz

2014/1/14 Warren Young war...@etr-usa.com:
 If it's hidden under /usr/lib/tcl or whatever, I don't see a problem with
 the fully-versioned library file.  It's only for tcl-sqlite's use, and it's
 behind a layer of indirection, so it can call its file whatever it wants.

It's not a problem, but partly-versioned (only the 3) library file
has the advantage that no uninstall needs to be done after
an upgrade to a higher version. The directory cannot
accidentally keep old versions of files around, every
upgrade will simply overwrite it with the new version.

If the filename is agreed upon, still agreement is needed on
the directory where those file should be installed. Using
/usr/lib/tcl8.x/sqlite3 is not strange at all: TEA dictates
that there should be a tclConfig.sh file in /usr/lib, but
Debian moves that to /usr/lib/tcl8.x as well. It's
already in the search path of Tcl, so it will work
without the need to patch Tcl itself.

Putting it in /usr/lib/tcl8.6/sqlite3, and create a link
in /usr/lib/tcl8.5 as well, has the advantage that
it is already ready for (my locally compiled) Tcl 8.6.
Of course, it could be the other way around
as well, but then I would like to to put a link
in /usr/lib/tcl8.6 anyway. It just depends on what
plans Cygwin has for Tcl 8.6 in the near future,
I simply don't know.

Summarised:

TEA (without full-version):
   /usr/lib/sqlite3/tclsqlite3.dll
   /usr/lib/sqlite3/pkgIndex.tcl

TM (Tcl module new style):
   /usr/lib/tcl8/8.5/sqlite3/tclsqlite3.dll
   /usr/lib/tcl8/8.5/sqlite3/sqlite3-3.8.2.tm
 (not a good idea, because tm-files are
  expected to contain the full version number)

My suggestion (looks like Fedora's sqlite-tcl package):
   /usr/lib/tcl8.5/sqlite3 - ../tcl8.6/sqlite3
   /usr/lib/tcl8.6/sqlite3/tclsqlite3.dll
   /usr/lib/tcl8.6/sqlite3/pkgIndex.tcl
or
   /usr/lib/tcl8.6/sqlite3 - ../tcl8.5/sqlite3
   /usr/lib/tcl8.5/sqlite3/tclsqlite3.dll
   /usr/lib/tcl8.5/sqlite3/pkgIndex.tcl

Who has the authority to make such decision? And who can
add the tcl-sqlite3 package to cygwin-pkg-maint?

Thanks for all your cooperation!

Regards,
Jan Nijtmans


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Corinna Vinschen
Hi Jan,

On Jan 13 11:57, Jan Nijtmans wrote:
 Cygwin64 has an exisiting tcl-sqlite3 package
 (version 3.7.15.2-1) which doesn't exist in
 Cygwin32. This package is not in cygwin-pkg-maint,
 so I assume someone (other than Warren Young)
 uploaded it as part of the Cygwin64 bootstrap process.
 This package was very useful to me: The source code
 of the bindings is already included in the sqlite3 source
 package, all that needed to be added is a few lines
 to actually build it. I think it is useful to more people
 than only me: It is part of the batteries included
 Tcl 8.6 package, but it works fine with Tcl 8.5
 as well without re-compilation (I tested it with both!)
 
 I'm thus offering to take over the following package:
 - tcl-sqlite3
 
 Following http://cygwin.com/setup.html, I've copied the
 assorted setup.hint files below and uploaded the packages
 to my dropbox area:
 
 https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/setup.hint
 https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz
 https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/setup.hint
 https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz
 
 I'm not sure if a GTG is needed from another package maintainer,
 otherwise Warren Young would be the most logical choice. Anyway,
 whatever feedback from Warren (or anyone else) is appreciated!

I don't know much about sqlite, but your package content puzzles me:

  usr/lib/sqlite3.8.2/pkgIndex.tcl
  usr/lib/sqlite3.8.2/sqlite382.dll
  usr/share/man/mann/sqlite3.n.gz

This looks only vaguely related to tcl.  I see that the existing
tcl-sqlite3-3.7.15.2-1.tar.bz2 in the 64 bit distro looks similar,
but it's bound against sqlite-3.7.15.2, so it probably won't work
with recent sqlite versions anyway.

I really don't quite grok the directory layout and the naming.

I took a look into the Fedora package, which is called sqlite-tcl.
It provides

  /usr/lib/tcl8.5/sqlite3
  /usr/lib/tcl8.5/sqlite3/libtclsqlite3.so
  /usr/lib/tcl8.5/sqlite3/pkgIndex.tcl

That makes more sense to me:

- As a tcl package the shared lib should be under /usr/lib/tcl8.5

- The subdir and the shared lib shouldn't have the *exact* name of
  the sqlite version, otherwise they don't make sense anymore if
  sqlite gets updated to, say, 3.8.3.

Warren and Yaakov, what are you saying as sqlite and tcl maintainers?


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpvD6Ad0PNz5.pgp
Description: PGP signature


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Jan Nijtmans
2014/1/14 Corinna Vinschen:
 I don't know much about sqlite, but your package content puzzles me:

   usr/lib/sqlite3.8.2/pkgIndex.tcl
   usr/lib/sqlite3.8.2/sqlite382.dll
   usr/share/man/mann/sqlite3.n.gz

 This looks only vaguely related to tcl.  I see that the existing
 tcl-sqlite3-3.7.15.2-1.tar.bz2 in the 64 bit distro looks similar,
 but it's bound against sqlite-3.7.15.2, so it probably won't work
 with recent sqlite versions anyway.

Well, I tested it, and the tcl-sqlite-3.7.15.2 package works
fine together with the sqlite-3.8.2 package: All sqlite3
package are binary upwards compatible.

 I really don't quite grok the directory layout and the naming.

Without patching, the TEA (Tcl Extension Architecture) is
followed, of course I can patch it to whatever structure
is required for Cygwin. Thanks!

 I took a look into the Fedora package, which is called sqlite-tcl.
 It provides

   /usr/lib/tcl8.5/sqlite3
   /usr/lib/tcl8.5/sqlite3/libtclsqlite3.so
   /usr/lib/tcl8.5/sqlite3/pkgIndex.tcl

 That makes more sense to me:

My tcl-sqlite3 build works with both Tcl 8.5 and 8.6 without
re-compilation. Of course I could install copies in both
/usr/lib/tcl8.5 and /usr/lib/tcl8.6, if that is desired, but
both copies would just be identical.

Regards,
 Jan Nijtmans


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Corinna Vinschen
On Jan 14 13:15, Jan Nijtmans wrote:
 2014/1/14 Corinna Vinschen:
  I don't know much about sqlite, but your package content puzzles me:
 
usr/lib/sqlite3.8.2/pkgIndex.tcl
usr/lib/sqlite3.8.2/sqlite382.dll
usr/share/man/mann/sqlite3.n.gz
 
  This looks only vaguely related to tcl.  I see that the existing
  tcl-sqlite3-3.7.15.2-1.tar.bz2 in the 64 bit distro looks similar,
  but it's bound against sqlite-3.7.15.2, so it probably won't work
  with recent sqlite versions anyway.
 
 Well, I tested it, and the tcl-sqlite-3.7.15.2 package works
 fine together with the sqlite-3.8.2 package: All sqlite3
 package are binary upwards compatible.
 
  I really don't quite grok the directory layout and the naming.
 
 Without patching, the TEA (Tcl Extension Architecture) is
 followed, of course I can patch it to whatever structure
 is required for Cygwin. Thanks!
 
  I took a look into the Fedora package, which is called sqlite-tcl.
  It provides
 
/usr/lib/tcl8.5/sqlite3
/usr/lib/tcl8.5/sqlite3/libtclsqlite3.so
/usr/lib/tcl8.5/sqlite3/pkgIndex.tcl
 
  That makes more sense to me:
 
 My tcl-sqlite3 build works with both Tcl 8.5 and 8.6 without
 re-compilation. Of course I could install copies in both
 /usr/lib/tcl8.5 and /usr/lib/tcl8.6, if that is desired, but
 both copies would just be identical.

That's not what I meant.  What I meant is that Tcl extras are installed
under /usr/lib/tcl, not directly under /usr/lib.  I have no idea about
the TEA, but it looks wrong to install Tcl stuff to /usr/lib.  Perl
stuff is under /usr/lib/perl, python stuff is under /usr/lib/python,
ruby stuff is under /usr/lib/ruby... you get the idea.

Also, even if sqlite3.8.2 and sqlite382.dll works, it's kind of
puzzeling.  Are you saying using sqlite3 and libtclsqlite3.so on Fedora
is wrong, not following TEA?  It's much easier to grok and doesn't
wrongly imply it only works on a specificx sqlite 3.x.x version, IMHO.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpY1AoJorkSD.pgp
Description: PGP signature


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Jan Nijtmans
2014/1/14 Corinna Vinschen:
 That's not what I meant.  What I meant is that Tcl extras are installed
 under /usr/lib/tcl, not directly under /usr/lib.  I have no idea about
 the TEA, but it looks wrong to install Tcl stuff to /usr/lib.  Perl
 stuff is under /usr/lib/perl, python stuff is under /usr/lib/python,
 ruby stuff is under /usr/lib/ruby... you get the idea.

Agreed. Then it's most logical to install in /usr/lib/tcl. I'll do that.

 Also, even if sqlite3.8.2 and sqlite382.dll works, it's kind of
 puzzeling.  Are you saying using sqlite3 and libtclsqlite3.so on Fedora
 is wrong, not following TEA?  It's much easier to grok and doesn't
 wrongly imply it only works on a specificx sqlite 3.x.x version, IMHO.

No, I'm not implying at all that Fedora (or Cygwin) is wrong
at following TEA. TEA is designed to be able to install
multiple versions of Tcl extensions next to each other,
so if there are incompatible changes each Tcl application
can choose which one it wants. Sqlite3 is very careful
keeping upwards compatibility, so I would say
Sqlite doesn't need that. And I don't intend to support
multiple tcl-sqlite3 versions anyway. I have no problem
at all patching the TEA build scripts for that, just
as Fedora did.

Thanks!
Jan Nijtmans


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Jan Nijtmans
2014/1/14 Corinna Vinschen:
 I don't know much about sqlite, but your package content puzzles me:

   usr/lib/sqlite3.8.2/pkgIndex.tcl
   usr/lib/sqlite3.8.2/sqlite382.dll
   usr/share/man/mann/sqlite3.n.gz

After some experimenting, I'm proposing the following layout:

   usr/lib/tcl8.5/sqlite3-  ../tcl8.6/sqlite3 (soft link)
   usr/lib/tcl8.6/sqlite3/pkgIndex.tcl
   usr/lib/tcl8.6/sqlite3/tclsqlite3.dll
   usr/share/man/mann/sqlite3.n.gz

This way, both Tcl 8.5 and 8.6 can find the package without
the need to duplicate anything. And the full version
numbers are gone. Is that better?

 Warren and Yaakov, what are you saying as sqlite and tcl maintainers?

I've copied the modified tar.xz files (setup.hint is unmodified)
to my dropbox area:

https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/setup.hint
https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz
https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/setup.hint
https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz

Thanks very much for your feedback!

Regards,
 Jan Nijtmans


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Corinna Vinschen
On Jan 14 16:50, Jan Nijtmans wrote:
 2014/1/14 Corinna Vinschen:
  I don't know much about sqlite, but your package content puzzles me:
 
usr/lib/sqlite3.8.2/pkgIndex.tcl
usr/lib/sqlite3.8.2/sqlite382.dll
usr/share/man/mann/sqlite3.n.gz
 
 After some experimenting, I'm proposing the following layout:
 
usr/lib/tcl8.5/sqlite3-  ../tcl8.6/sqlite3 (soft link)
usr/lib/tcl8.6/sqlite3/pkgIndex.tcl
usr/lib/tcl8.6/sqlite3/tclsqlite3.dll
usr/share/man/mann/sqlite3.n.gz
 
 This way, both Tcl 8.5 and 8.6 can find the package without
 the need to duplicate anything. And the full version
 numbers are gone. Is that better?

That looks good to me, but I'm not a tcl expert.

And, having said that, I'm wondering why Cygwin has two dirs:

  /usr/lib/tcl8.5
  /usr/lib/tcl8

with the latter having two subdirs, 8.4 and 8.5.  What's the
deal here?

  Warren and Yaakov, what are you saying as sqlite and tcl maintainers?

I'd still love to have some more feedback from Warren and Yaakov...


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpKxiVe_msE_.pgp
Description: PGP signature


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Yaakov (Cygwin/X)

On 2014-01-14 03:55, Corinna Vinschen wrote:

I don't know much about sqlite, but your package content puzzles me:

   usr/lib/sqlite3.8.2/pkgIndex.tcl
   usr/lib/sqlite3.8.2/sqlite382.dll
   usr/share/man/mann/sqlite3.n.gz

This looks only vaguely related to tcl.  I see that the existing
tcl-sqlite3-3.7.15.2-1.tar.bz2 in the 64 bit distro looks similar,


Yes, that's the default TEA layout.


but it's bound against sqlite-3.7.15.2, so it probably won't work
with recent sqlite versions anyway.


It should still work, it just won't have bindings for the newest 
features in sqlite-3.8.x.



I really don't quite grok the directory layout and the naming.

I took a look into the Fedora package, which is called sqlite-tcl.
It provides

   /usr/lib/tcl8.5/sqlite3
   /usr/lib/tcl8.5/sqlite3/libtclsqlite3.so
   /usr/lib/tcl8.5/sqlite3/pkgIndex.tcl

That makes more sense to me:

- As a tcl package the shared lib should be under /usr/lib/tcl8.5


Not necessarily.  Packages built with Tcl stubs are not linked to 
libtcl8.5 and should be compatible with any (at least newer) version of 
Tcl without having to be rebuilt.



- The subdir and the shared lib shouldn't have the *exact* name of
   the sqlite version, otherwise they don't make sense anymore if
   sqlite gets updated to, say, 3.8.3.


Tcl extensions are loaded via pkgIndex.tcl, so the module name itself is 
irrelevant.



Yaakov



Re: [ITA] tcl-sqlite3

2014-01-14 Thread Yaakov (Cygwin/X)

On 2014-01-14 10:45, Corinna Vinschen wrote:

And, having said that, I'm wondering why Cygwin has two dirs:

   /usr/lib/tcl8.5
   /usr/lib/tcl8

with the latter having two subdirs, 8.4 and 8.5.  What's the
deal here?


There are two different ways of providing tcl extensions, packages and 
modules, the latter being new in 8.5 but AFAICS hasn't taken off.  You 
can read more about them here:


http://wiki.tcl.tk/37432
http://wiki.tcl.tk/12999


Yaakov



Re: [ITA] tcl-sqlite3

2014-01-14 Thread Yaakov (Cygwin/X)

On 2014-01-14 09:50, Jan Nijtmans wrote:

After some experimenting, I'm proposing the following layout:

usr/lib/tcl8.5/sqlite3-  ../tcl8.6/sqlite3 (soft link)
usr/lib/tcl8.6/sqlite3/pkgIndex.tcl
usr/lib/tcl8.6/sqlite3/tclsqlite3.dll
usr/share/man/mann/sqlite3.n.gz

This way, both Tcl 8.5 and 8.6 can find the package without
the need to duplicate anything. And the full version
numbers are gone. Is that better?


/usr/lib/tcl8.x is for the Tcl standard library; I don't think that 
other packages -- particularly those that aren't actually dependent on a 
particular version of Tcl -- belong there.



Yaakov



Re: [ITA] tcl-sqlite3

2014-01-14 Thread Corinna Vinschen
On Jan 14 13:30, Yaakov (Cygwin/X) wrote:
 On 2014-01-14 10:45, Corinna Vinschen wrote:
 And, having said that, I'm wondering why Cygwin has two dirs:
 
/usr/lib/tcl8.5
/usr/lib/tcl8
 
 with the latter having two subdirs, 8.4 and 8.5.  What's the
 deal here?
 
 There are two different ways of providing tcl extensions, packages
 and modules, the latter being new in 8.5 but AFAICS hasn't taken
 off.  You can read more about them here:
 
 http://wiki.tcl.tk/37432
 http://wiki.tcl.tk/12999

Ok, thanks.  Apart from that, would you mind to review the package and
give a GTG (or not)?  I'm just not feeling savvy enough, neither in tcl
nor in sqlite.


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpKyxdhSF7st.pgp
Description: PGP signature


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Warren Young

On 1/14/2014 05:44, Corinna Vinschen wrote:


Also, even if sqlite3.8.2 and sqlite382.dll works, it's kind of
puzzeling.  Are you saying using sqlite3 and libtclsqlite3.so on Fedora
is wrong, not following TEA?  It's much easier to grok and doesn't
wrongly imply it only works on a specificx sqlite 3.x.x version, IMHO.


Yaakov makes a good point: the whole idea of tcl-sqlite is that it wraps 
the SQLite 3 API exactly, so when new public APIs get exported by 
SQLite, new APIs appear in the Tcl wrapper.  Therefore, a new version of 
tcl-sqlite really *could* depend on a specific version of SQLite, if the 
API changed.


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Warren Young

On 1/13/2014 03:57, Jan Nijtmans wrote:

I assume someone (other than Warren Young)
uploaded it as part of the Cygwin64 bootstrap process.


Yep, not me.  Probably Yaakov.


I'm not sure if a GTG is needed from another package maintainer,


If you've written a new .cygport file, I think you should seek a GTG.

A second pair of eyeballs can't hurt.


otherwise Warren Young would be the most logical choice.


Not really.  I've never used tcl-sqlite, and I haven't used Tcl in at 
least a dozen years.


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Corinna Vinschen
On Jan 14 13:34, Warren Young wrote:
 On 1/14/2014 05:44, Corinna Vinschen wrote:
 
 Also, even if sqlite3.8.2 and sqlite382.dll works, it's kind of
 puzzeling.  Are you saying using sqlite3 and libtclsqlite3.so on Fedora
 is wrong, not following TEA?  It's much easier to grok and doesn't
 wrongly imply it only works on a specificx sqlite 3.x.x version, IMHO.
 
 Yaakov makes a good point: the whole idea of tcl-sqlite is that it
 wraps the SQLite 3 API exactly, so when new public APIs get exported
 by SQLite, new APIs appear in the Tcl wrapper.  Therefore, a new
 version of tcl-sqlite really *could* depend on a specific version of
 SQLite, if the API changed.

In how far does that affect the filename?  We're adding new APIs
to Cygwin all the time, but the DLL is still called cygwin1.dll.
And that's how it works for any other DLL as well as long as it
doesn't break backward compatibility, API-wise.

It's your and Yaakov's call eventually, so I retract all my idle
musings in terms of the file or directory names.  Just let Jan know
how you want to have it.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpHaFwmtIswH.pgp
Description: PGP signature


Re: [ITA] tcl-sqlite3

2014-01-14 Thread Yaakov (Cygwin/X)

On 2014-01-14 14:52, Corinna Vinschen wrote:

In how far does that affect the filename?  We're adding new APIs
to Cygwin all the time, but the DLL is still called cygwin1.dll.
And that's how it works for any other DLL as well as long as it
doesn't break backward compatibility, API-wise.


This is a loadable module, not a link library, and unlike other language 
interpreters which load extensions directly based on file name, Tcl 
package-type extensions are loaded based on a metadata file 
(pkgIndex.tcl).  It is actually typical of Tcl extensions to be 
versioned in this way.



Yaakov



Re: [ITA] tcl-sqlite3

2014-01-14 Thread Yaakov (Cygwin/X)

On 2014-01-14 13:49, Corinna Vinschen wrote:

Ok, thanks.  Apart from that, would you mind to review the package and
give a GTG (or not)?  I'm just not feeling savvy enough, neither in tcl
nor in sqlite.


I don't see any links to a -src package, or better yet, a URL to the 
.cygport and patches (if any).



Yaakov



[ITA] tcl-sqlite3

2014-01-13 Thread Jan Nijtmans
Cygwin64 has an exisiting tcl-sqlite3 package
(version 3.7.15.2-1) which doesn't exist in
Cygwin32. This package is not in cygwin-pkg-maint,
so I assume someone (other than Warren Young)
uploaded it as part of the Cygwin64 bootstrap process.
This package was very useful to me: The source code
of the bindings is already included in the sqlite3 source
package, all that needed to be added is a few lines
to actually build it. I think it is useful to more people
than only me: It is part of the batteries included
Tcl 8.6 package, but it works fine with Tcl 8.5
as well without re-compilation (I tested it with both!)

I'm thus offering to take over the following package:
- tcl-sqlite3

Following http://cygwin.com/setup.html, I've copied the
assorted setup.hint files below and uploaded the packages
to my dropbox area:

https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/setup.hint
https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz
https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/setup.hint
https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz

I'm not sure if a GTG is needed from another package maintainer,
otherwise Warren Young would be the most logical choice. Anyway,
whatever feedback from Warren (or anyone else) is appreciated!

Jan Nijtmans

=
tcl-sqlite3/setup.hint
category: Database Tcl
requires: libsqlite3_0 tcl
sdesc: Tcl bindings for SQLite
ldesc: SQLite is a C library that implements an embeddable SQL database
engine.  Programs that link with the SQLite library can have SQL
database access without running a separate RDBMS process. The
distribution comes with a standalone command-line access program
(sqlite3) that can be used to administer an SQLite database and which
serves as an example of how to use the SQLite library.
external-source: sqlite3
prev: 3.7.15.2-1
curr: 3.8.2-3