Adding WebDruid log analyzer. In the same time, reworking source autoupdate system a bit
svn path=/nixpkgs/trunk/; revision=16859
This commit is contained in:
parent
e8931adcf3
commit
fbea8a558a
@ -521,4 +521,9 @@ let inherit (builtins) head tail trace; in
|
|||||||
ensureDir $(toPythonPath $out)
|
ensureDir $(toPythonPath $out)
|
||||||
export PYTHONPATH=$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath $out)
|
export PYTHONPATH=$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath $out)
|
||||||
'') ["minInit" "addInputs" "defEnsureDir"];
|
'') ["minInit" "addInputs" "defEnsureDir"];
|
||||||
|
|
||||||
|
fetchUrlFromSrcInfo = srcInfo: fetchurl {
|
||||||
|
url = srcInfo.url;
|
||||||
|
sha256 = srcInfo.hash;
|
||||||
|
};
|
||||||
}) // args
|
}) // args
|
||||||
|
@ -1,26 +1,20 @@
|
|||||||
a :
|
a :
|
||||||
let
|
let
|
||||||
fetchurl = a.fetchurl;
|
s = import ./src-for-default.nix;
|
||||||
s = import ./src-info-for-default.nix;
|
|
||||||
|
|
||||||
version = a.lib.attrByPath ["version"] s.version a;
|
|
||||||
buildInputs = with a; [
|
buildInputs = with a; [
|
||||||
|
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
src = fetchurl {
|
src = a.fetchUrlFromSrcInfo s;
|
||||||
url = s.url;
|
|
||||||
sha256 = s.hash;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
inherit (s) name;
|
||||||
inherit buildInputs;
|
inherit buildInputs;
|
||||||
configureFlags = [];
|
configureFlags = [];
|
||||||
|
|
||||||
/* doConfigure should be removed if not needed */
|
/* doConfigure should be removed if not needed */
|
||||||
phaseNames = ["doConfigure" "doMakeInstall"];
|
phaseNames = ["doConfigure" "doMakeInstall"];
|
||||||
|
|
||||||
name = "${abort "Specify name"}-" + version;
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "${abort "Specify description"}";
|
description = "${abort "Specify description"}";
|
||||||
maintainers = [
|
maintainers = [
|
||||||
|
@ -12,6 +12,7 @@ Attributes:
|
|||||||
src-info-for-file.nix:
|
src-info-for-file.nix:
|
||||||
|
|
||||||
downloadPage
|
downloadPage
|
||||||
|
baseName (default = unnamed-package)
|
||||||
sourceRegexp (default = '.*[.]tar[.].*')
|
sourceRegexp (default = '.*[.]tar[.].*')
|
||||||
choiceCommand (default = 'head -1')
|
choiceCommand (default = 'head -1')
|
||||||
versionExtractorSedScript (default = 's/.*-([0-9.]+)[.].*/\1/')
|
versionExtractorSedScript (default = 's/.*-([0-9.]+)[.].*/\1/')
|
||||||
@ -24,3 +25,4 @@ advertisedUrl (its match is the check for update presence)
|
|||||||
url
|
url
|
||||||
hash
|
hash
|
||||||
version
|
version
|
||||||
|
name
|
||||||
|
6
pkgs/build-support/upstream-updater/snippets.sh
Normal file
6
pkgs/build-support/upstream-updater/snippets.sh
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# sed scripts
|
||||||
|
|
||||||
|
#http://sourceforge.net/projects/webdruid/files/webdruid/0.6.0-alpha5/webdruid-0.6.0-alpha5.tar.gz/download
|
||||||
|
#http://downloads.sourceforge.net/webdruid/files/webdruid/0.6.0-alpha5/webdruid-0.6.0-alpha5.tar.gz
|
||||||
|
skipRedirectSF='s@^http://sourceforge.net/projects/@http://downloads.sourceforge.net/@; s@/download$@@'
|
||||||
|
extractReleaseSF='s@.*/([^/]+)/[^/]+@\1@'
|
@ -1,13 +1,18 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
own_dir="$(cd "$(dirname "$0")"; sh -c pwd)"
|
own_dir="$(cd "$(dirname "$0")"; sh -c pwd)"
|
||||||
|
|
||||||
|
source "$own_dir/snippets.sh"
|
||||||
|
|
||||||
main_file="$1"
|
main_file="$1"
|
||||||
main_dir="$(cd "$(dirname "$main_file")" ; sh -c pwd)"
|
main_dir="$(cd "$(dirname "$main_file")" ; sh -c pwd)"
|
||||||
file_name="$(basename "$main_file")"
|
file_name="$(basename "$main_file")"
|
||||||
defs_file="$main_dir"/src-info-for-"$file_name"
|
defs_file="$main_dir"/src-info-for-"$file_name"
|
||||||
src_file="$main_dir"/src-for-"$file_name"
|
src_file="$main_dir"/src-for-"$file_name"
|
||||||
new_src_file="$main_dir"/updated-src-for-"$file_name"
|
# OK, [vcs] revert is always possible
|
||||||
|
new_src_file="$main_dir"/src-for-"$file_name"
|
||||||
|
|
||||||
forcedUrl="$2"
|
forcedUrl="$2"
|
||||||
|
|
||||||
@ -23,8 +28,12 @@ getAttr () {
|
|||||||
|
|
||||||
if [ -z "$forcedUrl" ] ; then
|
if [ -z "$forcedUrl" ] ; then
|
||||||
freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" |
|
freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" |
|
||||||
egrep "$(getAttr sourceRegexp '.*[.]tar[.].*')" |
|
eval "egrep \"$(getAttr sourceRegexp '.*[.]tar[.].*')\"" |
|
||||||
sh -c "$(getAttr choiceCommand 'head -1')")"
|
eval "$(getAttr choiceCommand 'head -1')")"
|
||||||
|
|
||||||
|
if ! egrep ':' freshUrl ; then
|
||||||
|
freshUrl="$(dirname "$(getAttr downloadPage).")/$freshUrl"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Found download link: $freshUrl" >&2
|
echo "Found download link: $freshUrl" >&2
|
||||||
else
|
else
|
||||||
@ -37,21 +46,35 @@ if [ x"$freshUrl" = x"$(cat "$src_defs_dir"/advertisedUrl)" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
version="$(echo "$freshUrl" |
|
version="$(echo "$freshUrl" |
|
||||||
sed -re "$(getAttr versionExtractorSedScript \
|
eval "sed -re \"$(getAttr versionExtractorSedScript \
|
||||||
's/.*-([0-9.]+)[.].*/\1/')")"
|
's/.*-([0-9.]+)[.].*/\1/')\"")"
|
||||||
|
|
||||||
mirrorUrl="$(echo "$freshUrl" |
|
mirrorUrl="$(echo "$freshUrl" |
|
||||||
sed -r -e "$(getAttr versionReferenceCreator \
|
eval "sed -r -e \"$(getAttr versionReferenceCreator \
|
||||||
's/-([0-9.]+)[.]/-${version}./')" |
|
's/-([0-9.]+)[.]/-${version}./')\"" |
|
||||||
sed -r -e "$(getAttr mirrorSedScript)")"
|
eval "sed -r -e \"$(getAttr mirrorSedScript)\"")"
|
||||||
|
|
||||||
hash=$(nix-prefetch-url "$freshUrl")
|
hash=$(nix-prefetch-url "$freshUrl")
|
||||||
|
|
||||||
|
baseName="$(getAttr baseName 'unnamed-package')"
|
||||||
|
name="$baseName-$version"
|
||||||
|
|
||||||
|
advertisedUrl="$freshUrl"
|
||||||
|
url="$mirrorUrl"
|
||||||
|
|
||||||
|
extraAssignments=""
|
||||||
|
for i in $(getAttr extraVars ''); do
|
||||||
|
eval "$(getAttr "eval_$i" 'i=""')"
|
||||||
|
extraAssignments="$extraAssignments $i=\"$(eval echo \"\$$i\")\";"
|
||||||
|
done
|
||||||
|
|
||||||
cat << EOF > "$new_src_file"
|
cat << EOF > "$new_src_file"
|
||||||
rec {
|
rec {
|
||||||
advertisedUrl="$freshUrl";
|
advertisedUrl="$advertisedUrl";
|
||||||
version = "$version";
|
version = "$version";
|
||||||
url="$mirrorUrl";
|
url="$url";
|
||||||
hash = "$hash";
|
hash = "$hash";
|
||||||
|
name = "$name";
|
||||||
|
$extraAssignments
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
25
pkgs/development/libraries/geoip/default.nix
Normal file
25
pkgs/development/libraries/geoip/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
a :
|
||||||
|
let
|
||||||
|
s = import ./src-for-default.nix;
|
||||||
|
buildInputs = with a; [
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
src = a.fetchUrlFromSrcInfo s;
|
||||||
|
|
||||||
|
inherit (s) name;
|
||||||
|
inherit buildInputs;
|
||||||
|
configureFlags = [];
|
||||||
|
|
||||||
|
/* doConfigure should be removed if not needed */
|
||||||
|
phaseNames = ["doConfigure" "doMakeInstall"];
|
||||||
|
goSrcDir = "cd GeoIP-*/";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Geolocation API";
|
||||||
|
maintainers = [
|
||||||
|
a.lib.maintainers.raskin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
8
pkgs/development/libraries/geoip/src-for-default.nix
Normal file
8
pkgs/development/libraries/geoip/src-for-default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
rec {
|
||||||
|
advertisedUrl="http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz";
|
||||||
|
version = "1.4.6";
|
||||||
|
url="http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz";
|
||||||
|
hash = "1i4ixj6ha62qqzsn23qg428cv1zjj2ip7kmas62xgivvgm02kd0n";
|
||||||
|
name = "geoip-1.4.6";
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
downloadPage = "http://geolite.maxmind.com/download/geoip/api/c/";
|
||||||
|
sourceRegexp = "GeoIP-[0-9.]+[.]tar[.]gz";
|
||||||
|
choiceCommand = "tail -1";
|
||||||
|
baseName = "geoip";
|
||||||
|
}
|
30
pkgs/tools/admin/webdruid/default.nix
Normal file
30
pkgs/tools/admin/webdruid/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
a :
|
||||||
|
let
|
||||||
|
s = import ./src-for-default.nix;
|
||||||
|
buildInputs = with a; [
|
||||||
|
zlib libpng freetype gd which libxml2
|
||||||
|
geoip
|
||||||
|
];
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
src = a.fetchUrlFromSrcInfo s;
|
||||||
|
|
||||||
|
inherit (s) name;
|
||||||
|
inherit buildInputs;
|
||||||
|
configureFlags = [];
|
||||||
|
|
||||||
|
/* doConfigure should be removed if not needed */
|
||||||
|
phaseNames = ["doConfigure" "doMakeInstall" "doLinks"];
|
||||||
|
|
||||||
|
doLinks = a.fullDepEntry (''
|
||||||
|
ln -s shared_en.xsl $out/share/webdruid/classic/shared.xsl
|
||||||
|
'') ["minInit"];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A web log analyzer";
|
||||||
|
maintainers = [
|
||||||
|
a.lib.maintainers.raskin
|
||||||
|
];
|
||||||
|
platforms = a.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
8
pkgs/tools/admin/webdruid/src-for-default.nix
Normal file
8
pkgs/tools/admin/webdruid/src-for-default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
rec {
|
||||||
|
advertisedUrl="http://downloads.sourceforge.net/webdruid/files/webdruid/0.6.0-alpha5/webdruid-0.6.0-alpha5.tar.gz";
|
||||||
|
version = "0.6.0-alpha5";
|
||||||
|
url="http://downloads.sourceforge.net/webdruid/files/webdruid/${version}/webdruid-${version}.tar.gz";
|
||||||
|
hash = "1aiqffccayvf02snl9la62zqb1674cp4rv19af6xyxgvw4334hw0";
|
||||||
|
name = "webdruid-0.6.0-alpha5";
|
||||||
|
|
||||||
|
}
|
7
pkgs/tools/admin/webdruid/src-info-for-default.nix
Normal file
7
pkgs/tools/admin/webdruid/src-info-for-default.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
downloadPage = "http://sourceforge.net/projects/webdruid/files/";
|
||||||
|
choiceCommand = ''head -1 | sed -re "$skipRedirectSF"'';
|
||||||
|
versionExtractorSedScript = ''$extractReleaseSF'';
|
||||||
|
versionReferenceCreator = ''s@$version@\''${version}@g'';
|
||||||
|
baseName = "webdruid";
|
||||||
|
}
|
@ -1516,6 +1516,11 @@ let
|
|||||||
inherit (gtkLibs) glib;
|
inherit (gtkLibs) glib;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
webdruid = builderDefsPackage ../tools/admin/webdruid {
|
||||||
|
inherit zlib libpng freetype gd which
|
||||||
|
libxml2 geoip;
|
||||||
|
};
|
||||||
|
|
||||||
wget = import ../tools/networking/wget {
|
wget = import ../tools/networking/wget {
|
||||||
inherit fetchurl stdenv gettext openssl;
|
inherit fetchurl stdenv gettext openssl;
|
||||||
};
|
};
|
||||||
@ -3097,6 +3102,10 @@ let
|
|||||||
inherit (gtkLibs) pango glib gtk;
|
inherit (gtkLibs) pango glib gtk;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
geoip = builderDefsPackage ../development/libraries/geoip {
|
||||||
|
inherit zlib;
|
||||||
|
};
|
||||||
|
|
||||||
geos = import ../development/libraries/geos {
|
geos = import ../development/libraries/geos {
|
||||||
inherit fetchurl fetchsvn stdenv autoconf
|
inherit fetchurl fetchsvn stdenv autoconf
|
||||||
automake libtool swig which lib composableDerivation python ruby;
|
automake libtool swig which lib composableDerivation python ruby;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user