diff --git a/libs/libexplain/DETAILS b/libs/libexplain/DETAILS
new file mode 100755
index 0000000..5fee020
--- /dev/null
+++ b/libs/libexplain/DETAILS
@@ -0,0 +1,36 @@
+ SPELL=libexplain
+ VERSION=1.4
+ SOURCE="$SPELL-$VERSION.tar.gz"
+
SOURCE_URL[0]=http://downloads.sourceforge.net/sourceforge/project/$SPELL/$VERSION/$SOURCE
+
SOURCE_HASH=sha512:c236732f57d0688fed173c27474a00a39c9ac6d5dfbd22f3b68b5d0fff7a70fb130bcedbeb174767f4fd2c012148025e92635cc8df2b958774a3cfba58e6ff2c
+SOURCE_DIRECTORY="$BUILD_DIRECTORY}/$SPELL-$VERSION"
+ WEB_SITE="http://libexplain.sourceforge.net/"
+ LICENSE[0]="LGPLv3+"
+ ENTERED=20150109
+ KEYWORDS=""
+ SHORT="Explain errno values returned by libc functions"
+cat << EOF
+The libexplain package provides a library which may be used to explain
+Unix and Linux system call errors. This will make your application's error
+messages much more informative to your users.
+
+The library is not quite a drop-in replacement for strerror(3), but it
+comes close. Each system call has a dedicated libexplain function, for
example
+ fd = open(path, flags, mode); if (fd < 0) {
+ fprintf(stderr, "%s\n", explain_open(path, flags, mode));
+ exit(EXIT_FAILURE);
+ }
+If, for example, you were to try to open no-such-dir/some-file, you would
+see a message like
+ open(pathname = "no-such-dir/some-file", flags = O_RDONLY) failed, No
+ such file or directory (2, ENOENT) because there is no "no-such-dir"
+ directory in the current directory
+
+The good new is that for each of these functions there is a wrapper function,
+in this case explain_open_or_die(3), that includes the above code fragment.
+Adding good error reporting is as simple as using a different, but similarly
+named, function. The library also provides thread safe variants of each
+explanation function.
+
+Coverage includes 221 system calls and 547 ioctl requests.
+EOF
diff --git a/libs/libexplain/HISTORY b/libs/libexplain/HISTORY
new file mode 100644
index 0000000..299128e
--- /dev/null
+++ b/libs/libexplain/HISTORY
@@ -0,0 +1,2 @@
+2015-01-09 Ismael Luceno <ismael AT sourcemage.org>
+ * DETAILS: spell created
diff --git a/perl-cpan/file-spec/DETAILS b/perl-cpan/file-spec/DETAILS
index 50012de..44199d9 100755
--- a/perl-cpan/file-spec/DETAILS
+++ b/perl-cpan/file-spec/DETAILS
@@ -1,9 +1,10 @@
SPELL=file-spec
- VERSION=3.2701
+ VERSION=3.47
SOURCE=PathTools-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/PathTools-$VERSION
- SOURCE_URL[0]=http://www.cpan.org/authors/id/K/KW/KWILLIAMS/$SOURCE
-
SOURCE_HASH=sha512:cd4cfb7d62b367c9f0f45e5174f909d0db755632eefa82e384350210186e0f766365773a71eb5b71373e43a834cc1bb9f6daac2811ab752195485936e9be3c1c
+ AUTHOR=S/SM/SMUELLER
+ SOURCE_URL[0]=http://www.cpan.org/authors/id/$AUTHOR/$SOURCE
+
SOURCE_HASH=sha512:d7d9056ca11cbf167b8ef8a73f9ef41fd71c6f1e9e16e3e51ea68b999bd2af96f0b2c144425e6adf64f5fb44aaf2e7f5ba6e3de12a0ce072e9e75b3c6558fabd
LICENSE[0]=ART
KEYWORDS="perl"
WEB_SITE="http://search.cpan.org/search?module=File::Spec"
diff --git a/perl-cpan/file-spec/HISTORY b/perl-cpan/file-spec/HISTORY
index 0c9881f..af50eb3 100644
--- a/perl-cpan/file-spec/HISTORY
+++ b/perl-cpan/file-spec/HISTORY
@@ -1,3 +1,6 @@
+2015-01-08 Ismael Luceno <ismael AT sourcemage.org>
+ * DETAILS: updated spell to 3.47
+
2008-06-30 David Kowis <dkowis AT shlrm.org>
* DETAILS: updated spell to 3.2701