-- Perl 5.8.8 documentation --
Fink::VirtPackage

NAME

Fink::VirtPackage - Provide "virtual" packages for Fink and related tools

SYNOPSIS

Fink::VirtPackage is generally not used directly, but is instead used by the fink-virtual-pkgs tool.

DESCRIPTION

Fink::VirtPackage is used to inject "fake" package data into the fink database, as well as to generate a list of dpkg- and apt-get-compatible packages to satisfy dependencies outside of Fink.

TESTS

  • darwin

    This test checks for the darwin version by running the system uname(1) call. This should *always* exist.

  • system-perl

    This package represents the version of the perl in /usr/bin. It is determined by parsing the $^V variable in a perl script. It also provides the perlXXX-core package that corresponds with it's version.

  • system-javaXX

    This package represents an installed version of Apple's Java. It is considered present if the /System/Library/Frameworks/JavaVM.framework/Versions/[VERSION]/Commands directory exists.

  • system-javaXX-dev

    This package represents an installed version of Apple's Java SDK. It is considered present if the /System/Library/Frameworks/JavaVM.framework/Versions/[VERSION]/Headers directory exists.

  • system-java

    This is a convenience package that represents the latest Java version that is considered installed, based on the previous tests.

  • system-java-dev

    This is a convenience package that represents the latest Java SDK version that is considered installed, based on the previous tests.

  • system-java3d

    This package represents the Java3D APIs available as a separate download from Apple. It is considered present if the j3dcore.jar file exists in the system Java extensions directory.

  • system-javaai

    This package represents the JavaAdvancedImaging APIs available as a separate download from Apple. It is considered present if the jai_core.jar file exists in the system Java extensions directory.

  • cctools-XXX

    This package represents the compiler tools provided by Apple. It is considered present if either /usr/bin/what /usr/bin/ld or /usr/bin/ld -v contain a valid cctools-XXX string.

  • cctools-single-module

    This package represents whether the cctools linker is capable of using the -single_module flag. It is considered present if a dummy file can be linked using the -single_module flag.

  • gcc-*

    The GCC virtual packages exist based on gcc* commands in /usr/bin. They are considered present based on the successful execution of "gcc --version".

  • broken-gcc

    This package represents broken versions of the GCC compiler as shipped by Apple. Currently it checks for the XCode 1.5 cc1plus.

  • gimp-print-shlibs

    This package represents the GIMP printing libraries provided by Apple on Mac OS X 10.3 and higher. They are considered present if libgimpprint.*.dylib exists in /usr/lib.

  • system-xfree86-shlibs

    This package represents the shared libraries from an X11 installation (be it XFree86, X.org, Apple's X11, or something else). It is considered present if libX11.*.dylib exists.

  • system-xfree86

    This package represents an X11 implementation up to and including the X server. It is considered present if an X server is found.

  • system-xfree86-dev

    This package represents the development headers and libraries for X11. It is considered present if the X11/Xlib.h header is found.

  • extra X11 provides

    Depending on the existence of certain files, the system-xfree86* packages can Provide a number of extra virtual packages.

    • libgl and libgl-shlibs

      These packages represent the existence of the OpenGL libraries. They are considered present if libGL.1.dylib is found.

    • libgl-dev

      This package represents the existence of the OpenGL development headers and libraries. It is considered present if GL/gl.h and libGL.dylib are found.

    • xftX-shlibs

      This package represents the shared libraries for the modern font API for X. It currently creates a Provide for major versions 1 and 2 of the libXft.[version].dylib library if it is found.

    • xftX and xftX-dev

      These packages represent the development headers and library for the Xft font API. It is considered present if libXft.dylib exists and the version number X is based on the version the symlink points to.

    • fontconfigX-shlibs

      This package reprents the font configuration API for X11. It is considered present if libfontconfig.*.dylib is found.

    • fontconfigX and fontconfigX-dev

      These packages represent the development headers and library for the X11 font configuration API. It is considered present if libXft.dylib exists.

    • rman

      This package represents the X11-based man-page reader. It is considered present if /usr/X11R6/bin/rman exists.

    • xfree86-base-threaded and xfree86-base-threaded-shlibs

      These packages represent whether libXt has support for threading. It is considered present if the pthread_mutex_lock symbol exists in the library.

  • Growl

    This package represents the Growl notification system. For more info on this package see http://growl.info/.

INTERNAL APIs

  • $self->query_package(package_name)

    Query a package by name.

    Returns false when not installed, returns the full version when installed and configured.

  • $self->list(%options)

    Retrieves a complete hash of all virtual packages, with versions, regardless of installed status.

    The list is a hash reference, with the package name as key and the value a reference to a hash containing the package attributes. The package and version attributes are guaranteed to exist.

    %options is provided for future implementation, but currently does nothing.

  • &has_header($headername)

    Searches for a header file in a list of common places.

    Returns true if found, false if not.

  • &has_lib($libname)

    Searches for a library in a list of common places.

    Returns true if found, false if not.

  • &check_x11_version()

    Attempts to determine the version of X11 based on a number of heuristics, including parsing the versions in man pages (less expensive) and running Xserver -version (more expensive).

    Returns the X11 version if found.