[Fink-devel] Phynchronicity discontinued; open-source?

2013-11-08 Thread Kevin Walzer
I have decided to discontinue my shareware GUI app for Fink, 
Phynchronicity, after six years of development. After some positive 
exposure and decent sales for a few years, the app's sales have dwindled 
down to almost nothing. Somewhat to my surprise, Phynchronicity never 
gained much traction against FinkCommander, which continues to get tons 
of downloads despite not really being updated for a decade. I suspect 
this has a lot to do with free as in beer (more than free as in 
speech). Also, of course, FC is a well--designed app even if it has not 
worn well in recent years.

While I don't plan to work on Phynchrronicity again, if anyone else from 
the FInk project is interested in working on it, I would consider 
open-sourcing it under a suitable license. Whoever takes up development 
will need advanced skills with Python, Tkinter, and Tcl/Tk. Feel free to 
contact me on or off-list if you'd like to discuss further.

Thank you,
Kevin

-- 
Kevin Walzer
Code by Kevin/Mobile Code by Kevin
http://www.codebykevin.com
http://www.wtmobilesoftware.com

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Most efficient way to list Fink packages by category

2013-03-01 Thread Kevin Walzer
On 2/28/13 9:32 PM, Kevin Walzer wrote:

 Further research indicates that, in fact, fpkg_list.pl from the
 FinkCommander source tree is a good starting point and can easily be
 called as a external process to feed the relevant data to my app.


What I came up with is posted below. I'm quite surprised this 
functionality has never been ported to Fink directly. Feel free to take 
what's here if it's useful.

---
#!/usr/bin/env perl -s

#File: fink_pkg.pl

#Based on fpkg_list.pl by Steven J. Burr, part of the FinkCommander UI 
for Fink.
#This script uses fink's perl subroutines to gather information on
#installed packages and print the data in a long list.  The focus of 
this script is to include
#Fink package categories along with specific information about the package.
#
#Copyright (C) 2002, 2003  Steven J. Burr
#Copyright (c) 2013 by Kevin Walzer
#
#This program is free software; you may redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2 of the License, or
#(at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
#


### Import Modules ###
require 5.006;  # perl 5.6.0 or newer required
use strict;
use lib /sw/lib/perl5;
use lib /sw/lib/perl5/darwin;
use Fink::Services;
use Fink::Package;
use File::Basename;
use File::Spec;

### Declarations ###
my ($configpath, $config);  #used to scan pkgs
my (@pkglist, $package);#list of pkg names, name of each
my ($vo, $lversion);#PkgVersion object, version 
number
my ($pname, $iflag, $description, $full);   #pkg data items
my ($section, $lvinstalled, $lvstable, $lvunstable, $lvlocal, 
$lvfilename);#ditto
my (@versions, $pvo);   #list of providers for virtual package


### Sub: latest_version_for_tree ###

# find the latest version (V) of a package that appears in a particular tree

sub latest_version_for_tree {
my ($mypkg, $mytree) = @_;   #Parameters: Package object, tree as string
my (@all_versions, @tree_versions);
my ($version_string, $vobj);

@all_versions = $mypkg-list_versions();  #all versions of the package
foreach $version_string (@all_versions) {
$vobj = $mypkg-get_version($version_string);
if ($vobj-get_tree() eq $mytree) {   #make list of Vs in target tree
push(@tree_versions, $version_string);
}
}
if (! (@tree_versions)) { return   ;}
return Fink::Services::latest_version(@tree_versions); #latest V in tree
}

### Sub: latest_installed_version ###

sub latest_installed_version {
my $mypkg = shift;
my @instpkgs = $mypkg-list_installed_versions();
return Fink::Services::latest_version(@instpkgs);
}


### Main Routine ###

# read the configuration file
$configpath = /sw/etc/fink.conf;

if (-f $configpath) {
$config = Fink::Services::read_config($configpath);
} else {
print ERROR: Configuration file \$configpath\ not found.\n;
exit 1;
}

Fink::Package-require_packages();

@pkglist = Fink::Package-list_packages();

foreach $pname (sort @pkglist) {
$package = Fink::Package-package_by_name($pname);
if ($package-is_virtual() == 1) {
$lvstable = $lvunstable = $lvlocal = $lvfilename = $iflag = $lversion = 
$lvinstalled =  ;
$description = [virtual package];
$full = $description\nThis is a virtual package provided by another 
package. It can't be removed or installed.\n.\n$pname is provided by the 
following packages:\n.\n;
@versions = $package-get_all_providers();
foreach $pvo (@versions) {
if ($pvo-get_name() ne $pname) {
$full = join , $full, $pvo-get_tree(),  , 
$pvo-get_name(),  , 
$pvo-get_fullversion();
if ($pvo-is_installed()) {
$iflag = current;
$lvinstalled = provided;
$full = join  , $full, (installed);
}
$full = join , $full, \n.\n;
}
}
$section = virtual;
} else {
$lversion = Fink::Services::latest_version($package-list_versions());
$lvstable = latest_version_for_tree($package, stable) ||  ;
$lvunstable = latest_version_for_tree($package, unstable) ||  ;
$lvlocal = latest_version_for_tree($package, local) ||  ;
$lvinstalled = latest_installed_version($package) ||  ;
$vo = $package-get_version($lversion) ||  ;
$description = $vo-get_shortdescription() ||  ;
$full = $vo-get_description() ||  ;
$section = $vo-get_section

[Fink-devel] Most efficient way to list Fink packages by category

2013-02-28 Thread Kevin Walzer
I develop a GUI for Fink that attempts, among other things, to provide a 
one-screen view of all Fink packages, including their 
categories/sections. Historically the fink command-line tool has 
provided a flag to query the packages by a single category, e.g. fink 
list --section=foo, but no other hooks; fink list lacks this 
information. (This is in contrast to MacPorts, whose equivalent command 
to fink list does list categories.)

The result is that, to build a complete list of Fink packages that 
includes their categories, I must loop through each category in turn and 
append to the list that way, which is painfully slow. Here's the Python 
code that I use:

 self.getpackages = os.popen('%s list --section=%s' % 
(finkcmd, self.catname), 'r', os.O_NONBLOCK)
 for line in self.getpackages:
 newline = line.split('\t')
 rawcat = newline[0]
 if rawcat == '(i)':
 firstcat=rawcat.replace('(i)', 'outdated')
 elif rawcat == ' i ':
 firstcat=rawcat.replace('i', 'current')
 elif rawcat == ' p ':
 firstcat=rawcat.replace('p', 'provided')
 else:
 firstcat = rawcat
 self.packagelist = (firstcat, newline[1], newline[2], 
self.catname, newline[3].strip('\n'))
 self.masterlist.append(self.packagelist)


Because the Fink site is still apparently down, I am not able to check 
the developer documentation to see if there have been any changes or 
enhancements to the fink tool API. Is there any better way to get a 
complete list of packages and their categories in a single pass that I'm 
not aware of, perhaps using some Perl and calling Fink's API directly as 
a module?

Thanks,
Kevin

-- 
Kevin Walzer
Code by Kevin/Mobile Code by Kevin
http://www.codebykevin.com
http://www.wtmobilesoftware.com

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Most efficient way to list Fink packages by category

2013-02-28 Thread Kevin Walzer
On 2/28/13 10:37 AM, Kevin Walzer wrote:
 Is there any better way to get a
 complete list of packages and their categories in a single pass that I'm
 not aware of, perhaps using some Perl and calling Fink's API directly as
 a module?

Further research indicates that, in fact, fpkg_list.pl from the 
FinkCommander source tree is a good starting point and can easily be 
called as a external process to feed the relevant data to my app.

--Kevin

-- 
Kevin Walzer
Code by Kevin/Mobile Code by Kevin
http://www.codebykevin.com
http://www.wtmobilesoftware.com

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


[Fink-devel] Query a package's category

2007-09-26 Thread Kevin Walzer
Does the Fink command-line tool provide any hooks for querying what 
category a package belongs to? Right now the only way I can get at this 
information is to iterate through fink list --section=foo, parse the 
output from each section, and then merge everything into a large 
list/array. Iterating through fink list so many times (22 by my count, 
for all sections of Fink packages) is very slow, and also causes Perl to 
consume up to 99% of CPU time for each iteration. If there is a more 
efficient approach than I have outlined here, for instance through some 
command-line switch that could add a section column to the output of 
fink list, that would be optimal.

Any advice is appreciated.

Regards,
Kevin

-- 
Kevin Walzer
Code by Kevin
http://www.codebykevin.com

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Query a package's category

2007-09-26 Thread Kevin Walzer
Daniel Macks wrote:

 I would have thought that 'fink dumpinfo -fsection PACKAGENAME' would
 tell you, but -fsection doesn't seem implemented? Oops.However, you
 can 'fink dumpinfo -finfofile PACKAGENAME' and see the section
 embedded in the pathname.
 
 dan
 

Well, this works, and doesn't spike my CPU to 90%. However, to get the 
same results as iterating through each section (22 calls to Fink), I now 
have to iterate through all 6,444 individual packages and call this 
command (fink dumpinfo -fsection PACKAGENAME) each time: 6,444 calls to 
Fink, which I then must parse further by extracting the directory name 
from the output. I guess I have to pick my poison.

MacPorts includes the package category in its basic listing. Here's a 
sample from the command-line (port list):

zope-ploneerrorreporting   @0.11   zope/zope-ploneerrorreporting


It's useful from the command-line because you can see what categories 
are available without going to a website. How can I submit this as a 
feature request for Fink? For instance, the output could look like this:

p   ztrack  1.0-1   games   Curses-based 
pseudo 3D driving game

I'm assuming that Fink would be able to parse its own data cache fairly 
quickly and include the category with the standard output--much faster 
than extracting the data as I currently am.

If I knew Perl, I'd submit a patch myself, but I presume this wouldn't 
be too difficult to implement for someone knowledgable about Fink's 
internals. However, if I'm wrong about its difficulty, or the Fink devs 
judge this an unneeded feature, then I understand.

Thanks!

--Kevin

-- 
Kevin Walzer
Code by Kevin
http://www.codebykevin.com

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Query a package's category

2007-09-26 Thread Kevin Walzer
Daniel Macks wrote:

 Curiosity's getting to me and I gotta ask...of what use is knowing the
 section to which a package belongs? Or is there some other ultimate
 goal here (sounds like what you *really* want is just a list of all
 sections)?

I guess I'm just used to the way MacPorts does it--I like seeing the 
category in the standard output. For instance, MacPorts doesn't provide 
a command-line switch for finding ports by category, but because the 
category is included in standard output, port list | grep gnome/ 
provides all the ports in the Gnome category--and this seems to run 
faster than fink list --section=gnome.

You're probably right, this may not be an essential feature for most 
users. I can always get off the dime, learn Perl, and submit a patch if 
I really want it done. :-)

-- 
Kevin Walzer
Code by Kevin
http://www.codebykevin.com

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Tool to bundle-ize shlibs from fink

2007-09-25 Thread Kevin Walzer
Philip Lamb wrote:
 Hi all,
 
 This might seem like a sacreligious quesion to ask, but has anyone made 
 a tool to automate the process of bundle-izing a given set of shlibs 
 from a fink installation?
 
 By bundle-ize, I mean making a copy of a given library and all its 
 dependencies that live in /sw, and rewriting (with install_name_tool) 
 the install name of the libs and their connections with each other so 
 that they hang off @executable_path/ instead of /sw/lib.
 
 I ask because it could be a really useful tool for developers.. you 
 generate some libraries using Fink, and then bundle them (paying 
 attention to the license terms of course) inside an application which 
 can then be distributed without any dependence on fink.
 
 At the moment I'm doing this manually, but with two libraries with 
 another 6 dependent libraries, its time consuming to repeat each time 
 the libs change.
 
 Regards,
 Phil.
 


macho_standalone, a part of py2app, might do the trick. See 
http://www.undefined.org/python/ for information on py2app.

-- 
Kevin Walzer
Code by Kevin
http://www.codebykevin.com

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] What feature would you like to see in fink/Fink?

2006-12-06 Thread Kevin Walzer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Benjamin Reed wrote:

 
 I've thought about reimplementing it in PerlQt though, might be an
 option.  :)
 


Does PerlQt exist on Mac OS X, natively?

And out of curiosity, how would you deploy such an app? Does Perl have a
mechanism for generating standalone app bundles on OS X?

- --
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFd39YEsLm8HXyq4sRAkEuAJ9XiRJ7dVN8DEPJLn9+pm4+ZuifDwCgguHj
D2wNz3frzYoBxAr1zn0RSZc=
=8XSQ
-END PGP SIGNATURE-

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


[Fink-devel] App bundles now in Fink?

2004-09-28 Thread Kevin Walzer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
I've been away from Fink for awhile, but after downloading the latest
upgrade I noticed that TexShop is now a Fink package. Does this mean
that there is now a process for packaging app bundles? When Dave
Morrison asked me earlier this summer to think about packaging a couple
of my AppleScript Fink app launchers, I declined because I couldn't
translate the packaging instructions at the Fink site into an app bundle
(no one else had done it either). But now I see that TexShop installs in
/sw/Applications using the command-line version of pbxbuild; perhaps
something similar could be put together with osacompile for my app
launchers.
Can someone point me to the additional/different steps one needs to take
with app bundles (how this process is different from the packaging
tutorial and other documentation at the Fink site)? I haven't seen any
of this stuff written down anywhere on the site or in the mailing list
archives. If I can figure this out, I would be glad to take a shot at
packaging AquaEthereal (which has tons of downloads at Apple) or
AquaScribus and submitting it at the Fink site.
Thanks!
- --
Kevin Walzer, PhD
WordTech Software--Open Source Applications and Packages for OS X
http://www.wordtech-software.com
http://www.smallbizmac.com
http://www.kevin-walzer.com
mailto:[EMAIL PROTECTED]
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (Darwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFBWdceJmdQs+6YVcoRAs3JAKCA67ltE6IYFRrdPqCT1tqtu980dwCeLdCp
FJ7bpLfxqC0JN3TXGdwIr2Y=
=D4AW
-END PGP SIGNATURE-
---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel