[Fink-devel] Phynchronicity discontinued; open-source?
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
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
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
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
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
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
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
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?
-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?
-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