Skip to content
mohawk2 edited this page Apr 15, 2022 · 9 revisions

This page contains documentation and links related to the maintenance and development of the Perl Data Language.

TOC

Developing PDL using Git

The first step in developing PDL is getting the source files from the Git repository on Sourceforge. To begin, you should install Git. Then see the PDL FAQ 4.11 I have gotten developer access to Git, how do I upload my changes?.

Modifying the Website

As of April 2022, pdl.perl.org is hosted by GitHub Pages from github.com/PDLPorters/pdlporters.github.com. See their docs for how to operate this.

As a temporary measure, there are redirecting HTML pages under PDLdocs/ with <link rel=canonical> to tell Google to use MetaCPAN pages instead. Once Google searches for e.g. whistogram stop giving hits for pdl.perl.org those can safely be removed.

Survey Results

Read the Results from the Fall 2009 Usage and Installation Survey.

Building SciPDL for Release

This section is for Matt and other Mac OS X PDL users/developers to document the recipe for building SciPDL for a new PDL release. Ideally, following these instructions would allow another PDL developer with a Mac OS X platform to build a new SciPDL package for release.

Checking Dependencies with Devel::CheckLib

Dependency checking is a critical component of the build process for PDL where many of the submodules depend on external libraries to provide needed functionality. We would like to move to a common framework for dependency detection that this platform independent and robust.

Devel::CheckLib looks like a promising approach. The idea is that Devel::CheckLib implements checks for libraries, include files, and functionality by compiling test programs with candidate options and verifying that they build and run. To this end, the current release of Devel::CheckLib is bundled with the PDL release to support checks without additional required external dependencies.

Sorting files based on last commit date

Portions of PDL have not been modified in a long time, in some cases a decade or more. The following command (in a bash shell from the top of the PDL git repository) sorts all the files in the tree by the date of last commit. You might find something you never knew was in there! (note: this may take some time to run because git, unlike cvs, does not keep track of files, but of commits, so there is not (to my knowledge) a one-off way to do this).

git ls-tree -r --name-only HEAD | while read filename; do echo "$(git log -1 --format="%ai" -- $filename) $filename"; done | sort -r
Clone this wiki locally