Merge branch 'master' into x-updates
This commit is contained in:
@@ -1,14 +1,16 @@
|
||||
{stdenv, fetchurl, sqlite, postgresql, zlib, acl, ncurses, openssl, readline}:
|
||||
{ stdenv, fetchurl, sqlite, postgresql, zlib, acl, ncurses, openssl, readline }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bacula-5.2.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/bacula/${name}.tar.gz";
|
||||
url = "mirror://sourceforge/bacula/${name}.tar.gz";
|
||||
sha256 = "1n3sc0kd7r0afpyi708y3md0a24rbldnfcdz0syqj600pxcd9gm4";
|
||||
};
|
||||
|
||||
buildInputs = [ postgresql sqlite zlib acl ncurses openssl readline ];
|
||||
buildInputs = [ postgresql sqlite zlib ncurses openssl readline ]
|
||||
# acl relies on attr, which I can't get to build on darwin
|
||||
++ stdenv.lib.optional (!stdenv.isDarwin) acl;
|
||||
|
||||
configureFlags = [
|
||||
"--with-sqlite3=${sqlite}"
|
||||
@@ -20,11 +22,11 @@ stdenv.mkDerivation rec {
|
||||
ln -s $out/sbin/* $out/bin
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "Enterprise ready, Network Backup Tool";
|
||||
homepage = http://bacula.org/;
|
||||
license = "GPLv2";
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = [ stdenv.lib.maintainers.iElectric ];
|
||||
homepage = http://bacula.org/;
|
||||
license = "GPLv2";
|
||||
maintainers = with maintainers; [ iElectric lovek323 ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
109
pkgs/tools/backup/store-backup/default.nix
Normal file
109
pkgs/tools/backup/store-backup/default.nix
Normal file
@@ -0,0 +1,109 @@
|
||||
{stdenv, which, coreutils, perl, fetchurl, perlPackages, makeWrapper, diffutils , writeScriptBin, bzip2}:
|
||||
|
||||
# quick usage:
|
||||
# storeBackup.pl --sourceDir /home/user --backupDir /tmp/my_backup_destination
|
||||
# Its slow the first time because it compresses all files bigger than 1k (default setting)
|
||||
# The backup tool is bookkeeping which files got compressed
|
||||
|
||||
# btrfs warning: you may run out of hardlinks soon
|
||||
|
||||
# known impurity: test cases seem to bu using /tmp/storeBackup.lock ..
|
||||
|
||||
let dummyMount = writeScriptBin "mount" "#!/bin/sh";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
|
||||
name = "store-backup-3.4";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [ perl makeWrapper ];
|
||||
|
||||
src = fetchurl {
|
||||
url = http://download.savannah.gnu.org/releases/storebackup/storeBackup-3.4.tar.bz2;
|
||||
sha256 = "101k3nhyfjj8y8hg0v0xqxsr4vlcfkmlczgbihvlv722fb7n5gi3";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
ensureDir $out/scripts
|
||||
mv * $out
|
||||
mv $out/_ATTENTION_ $out/doc
|
||||
mv $out/{correct.sh,cron-storebackup} $out/scripts
|
||||
|
||||
find $out -name "*.pl" | xargs sed -i \
|
||||
-e 's@/bin/pwd@${coreutils}/bin/pwd@' \
|
||||
-e 's@/bin/sync@${coreutils}/bin/sync@' \
|
||||
-e '1 s@/usr/bin/env perl@${perl}/bin/perl@'
|
||||
|
||||
for p in $out/bin/*
|
||||
do wrapProgram "$p" \
|
||||
--prefix PERL5LIB ":" "${perlPackages.DBFile}/lib/perl5/site_perl" \
|
||||
--prefix PATH ":" "${which}/bin:${bzip2}/bin"
|
||||
done
|
||||
|
||||
patchShebangs $out
|
||||
# do a dummy test ensuring this works
|
||||
|
||||
PATH=$PATH:${dummyMount}/bin
|
||||
|
||||
|
||||
{ # simple sanity test, test backup/restore of simple store paths
|
||||
|
||||
mkdir backup
|
||||
|
||||
backupRestore(){
|
||||
source="$2"
|
||||
echo =========
|
||||
echo RUNNING TEST "$1" source: "$source"
|
||||
mkdir restored
|
||||
|
||||
$out/bin/storeBackup.pl --sourceDir "$source" --backupDir backup
|
||||
latestBackup=backup/default/$(ls -1 backup/default | sort | tail -n 1)
|
||||
$out/bin/storeBackupRecover.pl -b "$latestBackup" -t restored -r /
|
||||
${diffutils}/bin/diff -r "$source" restored
|
||||
|
||||
# storeBackupCheckSource should return 0
|
||||
$out/bin/storeBackupCheckSource.pl -s "$source" -b "$latestBackup"
|
||||
# storeBackupCheckSource should return not 0 when using different source
|
||||
! $out/bin/storeBackupCheckSource.pl -s $TMP -b "$latestBackup"
|
||||
|
||||
# storeBackupCheckBackup should return 0
|
||||
$out/bin/storeBackupCheckBackup.pl -c "$latestBackup"
|
||||
|
||||
chmod -R +w restored
|
||||
rm -fr restored
|
||||
}
|
||||
|
||||
testDir=$TMP/testDir
|
||||
|
||||
mkdir $testDir
|
||||
echo X > $testDir/X
|
||||
ln -s ./X $testDir/Y
|
||||
|
||||
backupRestore 'test 1: backup, restore' $testDir
|
||||
|
||||
# test huge blocks, according to docs files bigger than 100MB get split
|
||||
# into pieces
|
||||
dd if=/dev/urandom bs=100M of=block-1 count=1
|
||||
dd if=/dev/urandom bs=100M of=block-2 count=1
|
||||
cat block-1 block-2 > $testDir/block
|
||||
backupRestore 'test 1 with huge block' $testDir
|
||||
|
||||
cat block-2 block-1 > $testDir/block
|
||||
backupRestore 'test 1 with huge block reversed' $testDir
|
||||
|
||||
backupRestore 'test 2: backup, restore' $out
|
||||
backupRestore 'test 3: backup, restore' $out
|
||||
backupRestore 'test 4: backup diffutils to same backup locations, restore' ${diffutils}
|
||||
}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Storebackup is a backup suite that stores files on other disks";
|
||||
homepage = http://savannah.nongnu.org/projects/storebackup;
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
maintainers = [stdenv.lib.maintainers.marcweber];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{stdenv, fetchurl, pkgconfig, openobex, bluez}:
|
||||
{stdenv, fetchurl, pkgconfig, openobex, bluez, cmake}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "obexftp-0.23";
|
||||
name = "obexftp-0.24";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/openobex/${name}.tar.bz2";
|
||||
sha256 = "0djv239b14p221xjxzza280w3pnnwzpw4ssd6mshz36ki3r4z9s4";
|
||||
url = "mirror://sourceforge/openobex/${name}-Source.tar.gz";
|
||||
sha256 = "0szy7p3y75bd5h4af0j5kf0fpzx2w560fpy4kg3603mz11b9c1xr";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig bluez];
|
||||
buildInputs = [pkgconfig bluez cmake];
|
||||
|
||||
propagatedBuildInputs = [openobex];
|
||||
|
||||
|
||||
@@ -1,17 +1,21 @@
|
||||
{stdenv, fetchurl, pkgconfig, bluez, libusb}:
|
||||
{stdenv, fetchurl, pkgconfig, bluez, libusb, cmake}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "openobex-1.5";
|
||||
name = "openobex-1.7.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/bluetooth/${name}.tar.gz";
|
||||
sha256 = "0rayjci99ahhvs2d16as1qql3vrcizd0nhi8n3n4g6krf1sh80p6";
|
||||
url = "mirror://sourceforge/openobex/${name}-Source.tar.gz";
|
||||
sha256 = "0mza0mrdrbcw4yix6qvl31kqy7bdkgxjycr0yx7yl089v5jlc9iv";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig bluez libusb];
|
||||
buildInputs = [pkgconfig bluez libusb cmake];
|
||||
|
||||
configureFlags = "--enable-apps";
|
||||
|
||||
patchPhase = ''
|
||||
sed -i "s!/lib/udev!$out/lib/udev!" udev/CMakeLists.txt
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://dev.zuckschwerdt.org/openobex/;
|
||||
description = "An open source implementation of the Object Exchange (OBEX) protocol";
|
||||
|
||||
29
pkgs/tools/filesystems/fuse-exfat/default.nix
Normal file
29
pkgs/tools/filesystems/fuse-exfat/default.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{ stdenv, fetchurl, pkgconfig, fuse, scons }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "fuse-exfat-1.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://exfat.googlecode.com/files/${name}.tar.gz";
|
||||
sha256 = "0n27hpi45lj9hpi7k8d7npiwyhasf1v832g7ckpknd6lnyhipb0j";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig fuse scons ];
|
||||
|
||||
buildPhase = ''
|
||||
export CCFLAGS="-O2 -Wall -std=c99 -I${fuse}/include"
|
||||
export LDFLAGS="-L${fuse}/lib"
|
||||
mkdir -pv $out/sbin
|
||||
scons DESTDIR=$out/sbin install
|
||||
'';
|
||||
|
||||
installPhase = ":";
|
||||
|
||||
meta = {
|
||||
homepage = http://code.google.com/p/exfat/;
|
||||
description = "A FUSE-based filesystem that allows read and write access to exFAT devices";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -16,4 +16,10 @@
|
||||
preFixup = ''
|
||||
make clean
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Encoder for the JBIG2 image compression format";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "heimdall-1.3.0";
|
||||
name = "heimdall-1.4.0";
|
||||
|
||||
src = fetchgit {
|
||||
url = git://github.com/Benjamin-Dobell/Heimdall.git;
|
||||
rev = "ed9b08e5d9e3db60d52bccf6cb6919fb4bd47602";
|
||||
sha256 = "e65f18299a05699595548cb27393a01b4e1dbbced82d4add8d0d55ef6514a691";
|
||||
rev = "refs/tags/v1.4.0";
|
||||
sha256 = "285785d83fd4edbe98c0fa38c27772f72950a5887b255c00937a1f11c79ebf57";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@@ -16,14 +16,14 @@ stdenv.mkDerivation {
|
||||
++ stdenv.lib.optional enableGUI qt4 ;
|
||||
|
||||
makeFlags = "udevrulesdir=$(out)/lib/udev/rules.d";
|
||||
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
pushd libpit
|
||||
./configure
|
||||
make
|
||||
popd
|
||||
|
||||
|
||||
cd heimdall
|
||||
substituteInPlace Makefile.in --replace sudo true
|
||||
|
||||
|
||||
34
pkgs/tools/misc/stow/default.nix
Normal file
34
pkgs/tools/misc/stow/default.nix
Normal file
@@ -0,0 +1,34 @@
|
||||
{ stdenv, fetchurl, perl, perlPackages }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "stow-2.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://gnu/stow/stow-2.2.0.tar.bz2;
|
||||
sha256 = "01bbsqjmrnd9925s3grvgjnrl52q4w65imrvzy05qaij3pz31g46";
|
||||
};
|
||||
|
||||
buildInputs = [ perl perlPackages.TestOutput ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Stow is a tool for managing the installation of multiple software packages in the same run-time directory tree.";
|
||||
|
||||
longDescription = ''
|
||||
GNU Stow is a symlink farm manager which takes distinct packages
|
||||
of software and/or data located in separate directories on the
|
||||
filesystem, and makes them appear to be installed in the same
|
||||
place. For example, /usr/local/bin could contain symlinks to
|
||||
files within /usr/local/stow/emacs/bin, /usr/local/stow/perl/bin
|
||||
etc., and likewise recursively for any other subdirectories such
|
||||
as .../share, .../man, and so on.
|
||||
'';
|
||||
|
||||
license = "GPLv3+";
|
||||
homepage = http://www.gnu.org/software/stow/;
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/package-management/cabal-install/1.18.0.nix
Normal file
30
pkgs/tools/package-management/cabal-install/1.18.0.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ cabal, Cabal, filepath, HTTP, HUnit, mtl, network, QuickCheck
|
||||
, random, stm, testFramework, testFrameworkHunit
|
||||
, testFrameworkQuickcheck2, time, zlib
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "cabal-install";
|
||||
version = "1.18.0";
|
||||
sha256 = "14c4i8cy2rnvjj2krv3swna53k2674xhpzqkmcr56lxnyzych5wh";
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
Cabal filepath HTTP mtl network random stm time zlib
|
||||
];
|
||||
testDepends = [
|
||||
Cabal filepath HTTP HUnit mtl network QuickCheck stm testFramework
|
||||
testFrameworkHunit testFrameworkQuickcheck2 time zlib
|
||||
];
|
||||
postInstall = ''
|
||||
mkdir $out/etc
|
||||
mv bash-completion $out/etc/bash_completion.d
|
||||
'';
|
||||
meta = {
|
||||
homepage = "http://www.haskell.org/cabal/";
|
||||
description = "The command-line interface for Cabal and Hackage";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
maintainers = [ self.stdenv.lib.maintainers.andres ];
|
||||
};
|
||||
})
|
||||
@@ -5,11 +5,11 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nix-1.6pre3187_3fb7ae0";
|
||||
name = "nix-1.6pre3215_2c1ecf8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://hydra.nixos.org/build/5663853/download/5/${name}.tar.xz";
|
||||
sha256 = "3cd695b3bb23ea7f9e4779f5b79180319444204b30120ed2cc0f0bf1e070403f";
|
||||
url = "http://hydra.nixos.org/build/5940181/download/5/${name}.tar.xz";
|
||||
sha256 = "404fe856ae534b09e9a81d69751127e0987fea6bf2d0ec01acac3a9ea4ce72ae";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl pkgconfig ];
|
||||
|
||||
20
pkgs/tools/security/scrypt/default.nix
Normal file
20
pkgs/tools/security/scrypt/default.nix
Normal file
@@ -0,0 +1,20 @@
|
||||
{ stdenv, fetchurl, openssl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "scrypt-${version}";
|
||||
version = "1.1.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.tarsnap.com/scrypt/scrypt-1.1.6.tgz";
|
||||
sha256 = "dfd0d1a544439265bbb9b58043ad3c8ce50a3987b44a61b1d39fd7a3ed5b7fb8";
|
||||
};
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
meta = {
|
||||
description = "The scrypt encryption utility";
|
||||
homepage = https://www.tarsnap.com/scrypt.html;
|
||||
license = "BSD";
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
17
pkgs/tools/system/collectd/default.nix
Normal file
17
pkgs/tools/system/collectd/default.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "collectd-5.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://collectd.org/files/${name}.tar.bz2";
|
||||
sha256 = "0gljf5c60q6i0nrii6addxy1p76qqixww8zy17a7a1zil6a3i5wh";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = http://collectd.org;
|
||||
description = "collectd is a daemon which collects system performance statistics periodically";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = "GPLv2";
|
||||
};
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
let
|
||||
dbrev = "3849";
|
||||
driverdb = fetchurl {
|
||||
url = "http://smartmontools.svn.sourceforge.net/viewvc/smartmontools/trunk/smartmontools/drivedb.h?revision=3812";
|
||||
sha256 = "1x22ammjwlb7p3cmd13shqq1payb7nr9pgfa9xifs19qyr77mrwp";
|
||||
url = "http://sourceforge.net/p/smartmontools/code/${dbrev}/tree/trunk/smartmontools/drivedb.h?format=raw";
|
||||
sha256 = "06c1cl0x4sq64l3rmd5rk8wsbggjixphpgj0kf4awqhjgsi102xz";
|
||||
name = "smartmontools-drivedb.h";
|
||||
};
|
||||
in
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
{ stdenv, fetchgit, pkgconfig, libuuid, openssl }:
|
||||
|
||||
let
|
||||
arch = if stdenv.system == "x86_64-linux" then "x86_64"
|
||||
else if stdenv.system == "i686-linux" then "x86"
|
||||
else throw "vboot_reference for: ${stdenv.system} not supported!";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20130507";
|
||||
checkout = "25/50225/2";
|
||||
in stdenv.mkDerivation {
|
||||
|
||||
name = "vboot_reference-${version}";
|
||||
|
||||
src = fetchgit {
|
||||
@@ -22,6 +18,10 @@ in stdenv.mkDerivation {
|
||||
else [ (stdenv.lib.overrideDerivation libuuid
|
||||
(args: { configureFlags = args.configureFlags + " --enable-static"; })) ]);
|
||||
|
||||
arch = if stdenv.system == "x86_64-linux" then "x86_64"
|
||||
else if stdenv.system == "i686-linux" then "x86"
|
||||
else throw "vboot_reference for: ${stdenv.system} not supported!";
|
||||
|
||||
buildPhase = ''
|
||||
make ARCH=${arch} `pwd`/build/cgpt/cgpt
|
||||
make ARCH=${arch} `pwd`/build/utility/vbutil_kernel
|
||||
@@ -38,4 +38,10 @@ in stdenv.mkDerivation {
|
||||
cp build/utility/vbutil_keyblock $out/bin
|
||||
cp build/utility/vbutil_firmware $out/bin
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Chrome OS partitioning and kernel signing tools.";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
let
|
||||
name = "source-highlight";
|
||||
version = "3.1.6";
|
||||
version = "3.1.7";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "${name}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz";
|
||||
sha256 = "0a5zh876nc1gig8z586b953r8ahh9zbs1lmi8vxjrkwp6zqzf4xm";
|
||||
sha256 = "1s49ld8cnpzhhwq0r7s0sfm3cg3nhhm0wla27lwraifrrl3y1cp1";
|
||||
};
|
||||
|
||||
configureFlags = [ "--with-boost=${boost}" ];
|
||||
|
||||
41
pkgs/tools/text/unoconv/default.nix
Normal file
41
pkgs/tools/text/unoconv/default.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{ stdenv, fetchurl, python3, libreoffice, asciidoc, makeWrapper
|
||||
# whether to install odt2pdf/odt2doc/... symlinks to unoconv
|
||||
, installSymlinks ? true
|
||||
}:
|
||||
|
||||
# IMPORTANT: unoconv must use the same python version as libreoffice (unless it
|
||||
# will not be able to load the pyuno module from libreoffice).
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "unoconv-0.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dag.wieers.com/home-made/unoconv/${name}.tar.gz";
|
||||
sha256 = "1m3kv942zf5rzyrbkil0nhmyq9mm3007y64bb3s7w88mhr5n23kr";
|
||||
};
|
||||
|
||||
buildInputs = [ asciidoc makeWrapper ];
|
||||
|
||||
# We need to use python3 because libreoffice 4.x uses it. This patch comes
|
||||
# from unoconv.git, so it will be a part of the next release.
|
||||
patches = [ ./unoconv-python3.patch ];
|
||||
|
||||
preBuild = ''
|
||||
makeFlags=prefix="$out"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
sed -i "s|/usr/bin/env python.*|${python3}/bin/${python3.executable}|" "$out/bin/unoconv"
|
||||
wrapProgram "$out/bin/unoconv" --set UNO_PATH "${libreoffice}/lib/libreoffice/program/"
|
||||
'' + (if installSymlinks then ''
|
||||
make install-links prefix="$out"
|
||||
'' else "");
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Convert between any document format supported by LibreOffice/OpenOffice";
|
||||
homepage = http://dag.wieers.com/home-made/unoconv/;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
}
|
||||
374
pkgs/tools/text/unoconv/unoconv-python3.patch
Normal file
374
pkgs/tools/text/unoconv/unoconv-python3.patch
Normal file
@@ -0,0 +1,374 @@
|
||||
commit fc59dd90f03cf88f4cf16c07204809f2239284ee
|
||||
Author: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
|
||||
Date: Thu Dec 20 00:02:53 2012 +0100
|
||||
|
||||
Add support for python3
|
||||
|
||||
Libreoffice 4.0 will switch its internal python version to 3.3.0
|
||||
so it's to support that.
|
||||
|
||||
Porting done automatically 2to3 plus print_function import added
|
||||
manually. Tested on both libreoffice master with internal python
|
||||
and with libreoffince 3.6.4 on debian with system python 2.7.
|
||||
|
||||
This bumps the minimal python version to 2.6 since 2.5 does not
|
||||
have the print function.
|
||||
|
||||
diff --git a/unoconv b/unoconv
|
||||
index 30e6706..f72cf08 100755
|
||||
--- a/unoconv
|
||||
+++ b/unoconv
|
||||
@@ -14,6 +14,8 @@
|
||||
### Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
### Copyright 2007-2010 Dag Wieers <dag@wieers.com>
|
||||
|
||||
+from __future__ import print_function
|
||||
+
|
||||
from distutils.version import LooseVersion
|
||||
import getopt
|
||||
import glob
|
||||
@@ -77,11 +79,11 @@ def find_offices():
|
||||
else:
|
||||
|
||||
if os.name in ( 'nt', 'os2' ):
|
||||
- if 'PROGRAMFILES' in os.environ.keys():
|
||||
+ if 'PROGRAMFILES' in list(os.environ.keys()):
|
||||
extrapaths += glob.glob(os.environ['PROGRAMFILES']+'\\LibreOffice*') + \
|
||||
glob.glob(os.environ['PROGRAMFILES']+'\\OpenOffice.org*')
|
||||
|
||||
- if 'PROGRAMFILES(X86)' in os.environ.keys():
|
||||
+ if 'PROGRAMFILES(X86)' in list(os.environ.keys()):
|
||||
extrapaths += glob.glob(os.environ['PROGRAMFILES(X86)']+'\\LibreOffice*') + \
|
||||
glob.glob(os.environ['PROGRAMFILES(X86)']+'\\OpenOffice.org*')
|
||||
|
||||
@@ -233,18 +235,18 @@ def office_environ(office):
|
||||
|
||||
def debug_office():
|
||||
if 'URE_BOOTSTRAP' in os.environ:
|
||||
- print >>sys.stderr, 'URE_BOOTSTRAP=%s' % os.environ['URE_BOOTSTRAP']
|
||||
+ print('URE_BOOTSTRAP=%s' % os.environ['URE_BOOTSTRAP'], file=sys.stderr)
|
||||
if 'UNO_PATH' in os.environ:
|
||||
- print >>sys.stderr, 'UNO_PATH=%s' % os.environ['UNO_PATH']
|
||||
+ print('UNO_PATH=%s' % os.environ['UNO_PATH'], file=sys.stderr)
|
||||
if 'UNO_TYPES' in os.environ:
|
||||
- print >>sys.stderr, 'UNO_TYPES=%s' % os.environ['UNO_TYPES']
|
||||
- print 'PATH=%s' % os.environ['PATH']
|
||||
+ print('UNO_TYPES=%s' % os.environ['UNO_TYPES'], file=sys.stderr)
|
||||
+ print('PATH=%s' % os.environ['PATH'])
|
||||
if 'PYTHONHOME' in os.environ:
|
||||
- print >>sys.stderr, 'PYTHONHOME=%s' % os.environ['PYTHONHOME']
|
||||
+ print('PYTHONHOME=%s' % os.environ['PYTHONHOME'], file=sys.stderr)
|
||||
if 'PYTHONPATH' in os.environ:
|
||||
- print >>sys.stderr, 'PYTHONPATH=%s' % os.environ['PYTHONPATH']
|
||||
+ print('PYTHONPATH=%s' % os.environ['PYTHONPATH'], file=sys.stderr)
|
||||
if 'LD_LIBRARY_PATH' in os.environ:
|
||||
- print >>sys.stderr, 'LD_LIBRARY_PATH=%s' % os.environ['LD_LIBRARY_PATH']
|
||||
+ print('LD_LIBRARY_PATH=%s' % os.environ['LD_LIBRARY_PATH'], file=sys.stderr)
|
||||
|
||||
def python_switch(office):
|
||||
if office.pythonhome:
|
||||
@@ -335,11 +337,11 @@ class FmtList:
|
||||
return ret
|
||||
|
||||
def display(self, doctype):
|
||||
- print >>sys.stderr, "The following list of %s formats are currently available:\n" % doctype
|
||||
+ print("The following list of %s formats are currently available:\n" % doctype, file=sys.stderr)
|
||||
for fmt in self.list:
|
||||
if fmt.doctype == doctype:
|
||||
- print >>sys.stderr, " %-8s - %s" % (fmt.name, fmt)
|
||||
- print >>sys.stderr
|
||||
+ print(" %-8s - %s" % (fmt.name, fmt), file=sys.stderr)
|
||||
+ print(file=sys.stderr)
|
||||
|
||||
fmts = FmtList()
|
||||
|
||||
@@ -530,14 +532,14 @@ class Options:
|
||||
'outputpath', 'password=', 'pipe=', 'port=', 'server=',
|
||||
'timeout=', 'show', 'stdout', 'template', 'verbose',
|
||||
'version'] )
|
||||
- except getopt.error, exc:
|
||||
- print 'unoconv: %s, try unoconv -h for a list of all the options' % str(exc)
|
||||
+ except getopt.error as exc:
|
||||
+ print('unoconv: %s, try unoconv -h for a list of all the options' % str(exc))
|
||||
sys.exit(255)
|
||||
|
||||
for opt, arg in opts:
|
||||
if opt in ['-h', '--help']:
|
||||
self.usage()
|
||||
- print
|
||||
+ print()
|
||||
self.help()
|
||||
sys.exit(1)
|
||||
elif opt in ['-c', '--connection']:
|
||||
@@ -562,7 +564,7 @@ class Options:
|
||||
except ValueError:
|
||||
self.exportfilter.append( PropertyValue( name, 0, value, 0 ) )
|
||||
else:
|
||||
- print >>sys.stderr, 'Warning: Option %s cannot be parsed, ignoring.' % arg
|
||||
+ print('Warning: Option %s cannot be parsed, ignoring.' % arg, file=sys.stderr)
|
||||
elif opt in ['-f', '--format']:
|
||||
self.format = arg
|
||||
elif opt in ['-i', '--import']:
|
||||
@@ -581,7 +583,7 @@ class Options:
|
||||
except ValueError:
|
||||
self.importfilter.append( PropertyValue( name, 0, value, 0 ) )
|
||||
else:
|
||||
- print >>sys.stderr, 'Warning: Option %s cannot be parsed, ignoring.' % arg
|
||||
+ print('Warning: Option %s cannot be parsed, ignoring.' % arg, file=sys.stderr)
|
||||
elif opt in ['-l', '--listener']:
|
||||
self.listener = True
|
||||
elif opt in ['-n', '--no-launch']:
|
||||
@@ -589,7 +591,7 @@ class Options:
|
||||
elif opt in ['-o', '--output']:
|
||||
self.output = arg
|
||||
elif opt in ['--outputpath']:
|
||||
- print >>sys.stderr, 'Warning: This option is deprecated by --output.'
|
||||
+ print('Warning: This option is deprecated by --output.', file=sys.stderr)
|
||||
self.output = arg
|
||||
elif opt in ['--password']:
|
||||
self.password = arg
|
||||
@@ -615,13 +617,13 @@ class Options:
|
||||
|
||||
### Enable verbosity
|
||||
if self.verbose >= 2:
|
||||
- print >>sys.stderr, 'Verbosity set to level %d' % self.verbose
|
||||
+ print('Verbosity set to level %d' % self.verbose, file=sys.stderr)
|
||||
|
||||
self.filenames = args
|
||||
|
||||
if not self.listener and not self.showlist and self.doctype != 'list' and not self.filenames:
|
||||
- print >>sys.stderr, 'unoconv: you have to provide a filename as argument'
|
||||
- print >>sys.stderr, 'Try `unoconv -h\' for more information.'
|
||||
+ print('unoconv: you have to provide a filename as argument', file=sys.stderr)
|
||||
+ print('Try `unoconv -h\' for more information.', file=sys.stderr)
|
||||
sys.exit(255)
|
||||
|
||||
### Set connection string
|
||||
@@ -659,21 +661,21 @@ class Options:
|
||||
### Get office product information
|
||||
product = uno.getComponentContext().ServiceManager.createInstance("com.sun.star.configuration.ConfigurationProvider").createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", UnoProps(nodepath="/org.openoffice.Setup/Product"))
|
||||
|
||||
- print 'unoconv %s' % VERSION
|
||||
- print 'Written by Dag Wieers <dag@wieers.com>'
|
||||
- print 'Homepage at http://dag.wieers.com/home-made/unoconv/'
|
||||
- print
|
||||
- print 'platform %s/%s' % (os.name, sys.platform)
|
||||
- print 'python %s' % sys.version
|
||||
- print product.ooName, product.ooSetupVersion
|
||||
+ print('unoconv %s' % VERSION)
|
||||
+ print('Written by Dag Wieers <dag@wieers.com>')
|
||||
+ print('Homepage at http://dag.wieers.com/home-made/unoconv/')
|
||||
+ print()
|
||||
+ print('platform %s/%s' % (os.name, sys.platform))
|
||||
+ print('python %s' % sys.version)
|
||||
+ print(product.ooName, product.ooSetupVersion)
|
||||
# print
|
||||
# print 'build revision $Rev$'
|
||||
|
||||
def usage(self):
|
||||
- print >>sys.stderr, 'usage: unoconv [options] file [file2 ..]'
|
||||
+ print('usage: unoconv [options] file [file2 ..]', file=sys.stderr)
|
||||
|
||||
def help(self):
|
||||
- print >>sys.stderr, '''Convert from and to any format supported by LibreOffice
|
||||
+ print('''Convert from and to any format supported by LibreOffice
|
||||
|
||||
unoconv options:
|
||||
-c, --connection=string use a custom connection string
|
||||
@@ -698,7 +700,7 @@ unoconv options:
|
||||
-t, --template=file import the styles from template (.ott)
|
||||
-T, --timeout=secs timeout after secs if connection to listener fails
|
||||
-v, --verbose be more and more verbose (-vvv for debugging)
|
||||
-'''
|
||||
+''', file=sys.stderr)
|
||||
|
||||
class Convertor:
|
||||
def __init__(self):
|
||||
@@ -714,7 +716,7 @@ class Convertor:
|
||||
info(3, 'Connection type: %s' % op.connection)
|
||||
try:
|
||||
unocontext = resolver.resolve("uno:%s" % op.connection)
|
||||
- except NoConnectException, e:
|
||||
+ except NoConnectException as e:
|
||||
# info(3, "Existing listener not found.\n%s" % e)
|
||||
info(3, "Existing listener not found.")
|
||||
|
||||
@@ -749,7 +751,7 @@ class Convertor:
|
||||
raise
|
||||
else:
|
||||
error("Failed to connect to %s (pid=%s) in %d seconds.\n%s" % (office.binary, ooproc.pid, op.timeout, e))
|
||||
- except Exception, e:
|
||||
+ except Exception as e:
|
||||
raise
|
||||
error("Launch of %s failed.\n%s" % (office.binary, e))
|
||||
|
||||
@@ -799,9 +801,9 @@ class Convertor:
|
||||
### No format found, throw error
|
||||
if not outputfmt:
|
||||
if doctype:
|
||||
- print >>sys.stderr, 'unoconv: format [%s/%s] is not known to unoconv.' % (op.doctype, op.format)
|
||||
+ print('unoconv: format [%s/%s] is not known to unoconv.' % (op.doctype, op.format), file=sys.stderr)
|
||||
else:
|
||||
- print >>sys.stderr, 'unoconv: format [%s] is not known to unoconv.' % op.format
|
||||
+ print('unoconv: format [%s] is not known to unoconv.' % op.format, file=sys.stderr)
|
||||
die(1)
|
||||
|
||||
return outputfmt
|
||||
@@ -813,10 +815,10 @@ class Convertor:
|
||||
outputfmt = self.getformat(inputfn)
|
||||
|
||||
if op.verbose > 0:
|
||||
- print >>sys.stderr, 'Input file:', inputfn
|
||||
+ print('Input file:', inputfn, file=sys.stderr)
|
||||
|
||||
if not os.path.exists(inputfn):
|
||||
- print >>sys.stderr, 'unoconv: file `%s\' does not exist.' % inputfn
|
||||
+ print('unoconv: file `%s\' does not exist.' % inputfn, file=sys.stderr)
|
||||
exitcode = 1
|
||||
|
||||
try:
|
||||
@@ -854,7 +856,7 @@ class Convertor:
|
||||
templateurl = unohelper.absolutize(self.cwd, unohelper.systemPathToFileUrl(op.template))
|
||||
document.StyleFamilies.loadStylesFromURL(templateurl, templateprops)
|
||||
else:
|
||||
- print >>sys.stderr, 'unoconv: template file `%s\' does not exist.' % op.template
|
||||
+ print('unoconv: template file `%s\' does not exist.' % op.template, file=sys.stderr)
|
||||
exitcode = 1
|
||||
|
||||
### Update document links
|
||||
@@ -924,40 +926,40 @@ class Convertor:
|
||||
|
||||
try:
|
||||
document.storeToURL(outputurl, tuple(outputprops) )
|
||||
- except IOException, e:
|
||||
+ except IOException as e:
|
||||
raise UnoException("Unable to store document to %s (ErrCode %d)\n\nProperties: %s" % (outputurl, e.ErrCode, outputprops), None)
|
||||
|
||||
phase = "dispose"
|
||||
document.dispose()
|
||||
document.close(True)
|
||||
|
||||
- except SystemError, e:
|
||||
+ except SystemError as e:
|
||||
error("unoconv: SystemError during %s phase:\n%s" % (phase, e))
|
||||
exitcode = 1
|
||||
|
||||
- except RuntimeException, e:
|
||||
+ except RuntimeException as e:
|
||||
error("unoconv: RuntimeException during %s phase:\nOffice probably died. %s" % (phase, e))
|
||||
exitcode = 6
|
||||
|
||||
- except DisposedException, e:
|
||||
+ except DisposedException as e:
|
||||
error("unoconv: DisposedException during %s phase:\nOffice probably died. %s" % (phase, e))
|
||||
exitcode = 7
|
||||
|
||||
- except IllegalArgumentException, e:
|
||||
+ except IllegalArgumentException as e:
|
||||
error("UNO IllegalArgument during %s phase:\nSource file cannot be read. %s" % (phase, e))
|
||||
exitcode = 8
|
||||
|
||||
- except IOException, e:
|
||||
+ except IOException as e:
|
||||
# for attr in dir(e): print '%s: %s', (attr, getattr(e, attr))
|
||||
error("unoconv: IOException during %s phase:\n%s" % (phase, e.Message))
|
||||
exitcode = 3
|
||||
|
||||
- except CannotConvertException, e:
|
||||
+ except CannotConvertException as e:
|
||||
# for attr in dir(e): print '%s: %s', (attr, getattr(e, attr))
|
||||
error("unoconv: CannotConvertException during %s phase:\n%s" % (phase, e.Message))
|
||||
exitcode = 4
|
||||
|
||||
- except UnoException, e:
|
||||
+ except UnoException as e:
|
||||
if hasattr(e, 'ErrCode'):
|
||||
error("unoconv: UnoException during %s phase in %s (ErrCode %d)" % (phase, repr(e.__class__), e.ErrCode))
|
||||
exitcode = e.ErrCode
|
||||
@@ -982,7 +984,7 @@ class Listener:
|
||||
product = self.svcmgr.createInstance("com.sun.star.configuration.ConfigurationProvider").createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", UnoProps(nodepath="/org.openoffice.Setup/Product"))
|
||||
try:
|
||||
unocontext = resolver.resolve("uno:%s" % op.connection)
|
||||
- except NoConnectException, e:
|
||||
+ except NoConnectException as e:
|
||||
pass
|
||||
else:
|
||||
info(1, "Existing %s listener found, nothing to do." % product.ooName)
|
||||
@@ -991,25 +993,25 @@ class Listener:
|
||||
subprocess.call([office.binary, "-headless", "-invisible", "-nocrashreport", "-nodefault", "-nologo", "-nofirststartwizard", "-norestore", "-accept=%s" % op.connection], env=os.environ)
|
||||
else:
|
||||
subprocess.call([office.binary, "--headless", "--invisible", "--nocrashreport", "--nodefault", "--nologo", "--nofirststartwizard", "--norestore", "--accept=%s" % op.connection], env=os.environ)
|
||||
- except Exception, e:
|
||||
+ except Exception as e:
|
||||
error("Launch of %s failed.\n%s" % (office.binary, e))
|
||||
else:
|
||||
info(1, "Existing %s listener found, nothing to do." % product.ooName)
|
||||
|
||||
def error(msg):
|
||||
"Output error message"
|
||||
- print >>sys.stderr, msg
|
||||
+ print(msg, file=sys.stderr)
|
||||
|
||||
def info(level, msg):
|
||||
"Output info message"
|
||||
if 'op' not in globals():
|
||||
pass
|
||||
elif op.verbose >= 3 and level >= 3:
|
||||
- print >>sys.stderr, "DEBUG:", msg
|
||||
+ print("DEBUG:", msg, file=sys.stderr)
|
||||
elif not op.stdout and level <= op.verbose:
|
||||
- print >>sys.stdout, msg
|
||||
+ print(msg, file=sys.stdout)
|
||||
elif level <= op.verbose:
|
||||
- print >>sys.stderr, msg
|
||||
+ print(msg, file=sys.stderr)
|
||||
|
||||
def die(ret, msg=None):
|
||||
"Print optional error and exit with errorcode"
|
||||
@@ -1031,7 +1033,7 @@ def die(ret, msg=None):
|
||||
subprocess.Popen([office.binary, "--headless", "--invisible", "--nocrashreport", "--nodefault", "--nofirststartwizard", "--nologo", "--norestore", "--unaccept=%s" % op.connection], env=os.environ)
|
||||
ooproc.wait()
|
||||
info(2, '%s listener successfully disabled.' % product.ooName)
|
||||
- except Exception, e:
|
||||
+ except Exception as e:
|
||||
error("Terminate using %s failed.\n%s" % (office.binary, e))
|
||||
|
||||
### If there is no GUI attached to the instance, terminate instance
|
||||
@@ -1080,7 +1082,7 @@ def main():
|
||||
for inputfn in op.filenames:
|
||||
convertor.convert(inputfn)
|
||||
|
||||
- except NoConnectException, e:
|
||||
+ except NoConnectException as e:
|
||||
error("unoconv: could not find an existing connection to LibreOffice at %s:%s." % (op.server, op.port))
|
||||
if op.connection:
|
||||
info(0, "Please start an LibreOffice instance on server '%s' by doing:\n\n unoconv --listener --server %s --port %s\n\nor alternatively:\n\n soffice -nologo -nodefault -accept=\"%s\"" % (op.server, op.server, op.port, op.connection))
|
||||
@@ -1110,14 +1112,14 @@ if __name__ == '__main__':
|
||||
break
|
||||
except:
|
||||
# debug_office()
|
||||
- print >>sys.stderr, "unoconv: Cannot find a suitable pyuno library and python binary combination in %s" % of
|
||||
- print >>sys.stderr, "ERROR:", sys.exc_info()[1]
|
||||
- print >>sys.stderr
|
||||
+ print("unoconv: Cannot find a suitable pyuno library and python binary combination in %s" % of, file=sys.stderr)
|
||||
+ print("ERROR:", sys.exc_info()[1], file=sys.stderr)
|
||||
+ print(file=sys.stderr)
|
||||
else:
|
||||
# debug_office()
|
||||
- print >>sys.stderr, "unoconv: Cannot find a suitable office installation on your system."
|
||||
- print >>sys.stderr, "ERROR: Please locate your office installation and send your feedback to:"
|
||||
- print >>sys.stderr, " http://github.com/dagwieers/unoconv/issues"
|
||||
+ print("unoconv: Cannot find a suitable office installation on your system.", file=sys.stderr)
|
||||
+ print("ERROR: Please locate your office installation and send your feedback to:", file=sys.stderr)
|
||||
+ print(" http://github.com/dagwieers/unoconv/issues", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
### Now that we have found a working pyuno library, let's import some classes
|
||||
@@ -1160,6 +1162,6 @@ if __name__ == '__main__':
|
||||
|
||||
try:
|
||||
main()
|
||||
- except KeyboardInterrupt, e:
|
||||
+ except KeyboardInterrupt as e:
|
||||
die(6, 'Exiting on user request')
|
||||
die(exitcode)
|
||||
81
pkgs/tools/text/xml/basex/basex.svg
Normal file
81
pkgs/tools/text/xml/basex/basex.svg
Normal file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg2178"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.45"
|
||||
width="1568"
|
||||
height="1164"
|
||||
version="1.0"
|
||||
sodipodi:docbase="F:\Uni\Scholl\Research\Conferences\BTW2007\Poster"
|
||||
sodipodi:docname="Logo.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
sodipodi:modified="true">
|
||||
<metadata
|
||||
id="metadata2183">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs2181" />
|
||||
<sodipodi:namedview
|
||||
inkscape:window-height="1150"
|
||||
inkscape:window-width="1143"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
inkscape:zoom="0.64948454"
|
||||
inkscape:cx="784"
|
||||
inkscape:cy="584.00852"
|
||||
inkscape:window-x="412"
|
||||
inkscape:window-y="20"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:object-bbox="true"
|
||||
inkscape:object-points="true"
|
||||
gridempspacing="10" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
style="opacity:1">
|
||||
<path
|
||||
style="font-size:1470px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:19.98425102;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Clarendo"
|
||||
d="M 628.08008,847.55762 C 613.24569,864.30587 601.88095,879.3791 593.98584,892.77734 C 586.08995,906.17595 582.1422,916.94254 582.14258,925.07715 C 582.1422,937.9972 586.92735,947.08899 596.49805,952.35254 C 606.06796,957.61633 624.49079,960.24816 651.7666,960.24805 L 720.67285,960.24805 L 720.67285,1072.2207 L 207.46484,1072.2207 L 207.46484,960.24805 L 256.27344,960.24805 C 284.9843,960.24816 308.07265,955.94152 325.53857,947.32813 C 343.00426,938.71498 364.89633,919.09586 391.21484,888.4707 L 673.2998,568.34375 L 441.45898,276.92773 C 416.57596,245.82505 393.60723,224.77038 372.55273,213.76367 C 351.4979,202.75868 325.89734,197.25576 295.75098,197.25488 L 245.50684,197.25488 L 245.50684,86 L 767.32813,86 L 767.32813,197.25488 L 699.85742,197.25488 C 685.97999,197.25576 675.45266,199.76796 668.27539,204.7915 C 661.0972,209.81678 657.50834,217.11414 657.50879,226.68359 C 657.50834,233.38365 659.30277,240.20249 662.89209,247.14014 C 666.4805,254.07943 672.58156,262.57308 681.19531,272.62109 L 810.39453,429.81348 L 967.58691,265.44336 C 974.76388,258.26644 980.50606,250.84945 984.81348,243.19238 C 989.11933,235.53697 991.27265,229.07702 991.27344,223.8125 C 991.27265,215.20008 985.88936,208.62049 975.12354,204.07373 C 964.35618,199.5287 948.20629,197.25576 926.67383,197.25488 L 869.25195,197.25488 L 869.25195,86 L 1332.2158,86 L 1332.2158,197.25488 L 1279.1006,197.25488 C 1241.2968,197.25576 1189.8564,233.14439 1124.7793,304.9209 L 1123.3438,306.35645 L 905.8584,544.65723 L 1155.6436,856.1709 C 1194.8808,904.97966 1224.6684,934.52797 1245.0063,944.81592 C 1265.3422,955.10412 1294.412,960.24816 1332.2158,960.24805 L 1376,960.24805 L 1376,1072.2207 L 810.39453,1072.2207 L 810.39453,960.24805 L 877.86523,960.24805 C 901.79032,960.24816 919.25612,958.21447 930.2627,954.14697 C 941.26782,950.07971 946.77074,943.26087 946.77148,933.69043 C 946.77074,926.51284 945.3352,918.97623 942.46484,911.08057 C 939.59302,903.18523 935.28638,895.64861 929.54492,888.4707 L 768.76367,685.34082 L 628.08008,847.55762 z "
|
||||
id="text2175" />
|
||||
<path
|
||||
style="font-size:500px;font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#e00000;fill-opacity:1;stroke:#ffffff;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Arial Black"
|
||||
d="M 146.16714,395.52869 L 353.19839,395.52869 C 387.70332,395.52904 414.19255,404.07396 432.66616,421.16345 C 451.13913,438.25361 460.37577,459.41244 460.37612,484.64001 C 460.37577,505.79912 453.78398,523.94688 440.60073,539.08337 C 431.81135,549.17472 418.95329,557.14998 402.02651,563.00916 C 427.74234,569.19424 446.66322,579.81434 458.78921,594.86951 C 470.9145,609.92499 476.97732,628.84587 476.97768,651.6322 C 476.97732,670.18697 472.66417,686.8699 464.03823,701.68103 C 455.41158,716.49227 443.61146,728.211 428.63784,736.83728 C 419.36019,742.20839 405.3628,746.11463 386.64565,748.55603 C 361.74306,751.81124 345.22289,753.43884 337.08511,753.43884 L 146.16714,753.43884 L 146.16714,395.52869 z M 257.7394,535.90955 L 305.83511,535.90955 C 323.0875,535.90976 335.09107,532.93939 341.84585,526.99841 C 348.60017,521.05789 351.97744,512.47229 351.97768,501.24158 C 351.97744,490.82517 348.60017,482.68716 341.84585,476.82751 C 335.09107,470.96842 323.33164,468.03874 306.56753,468.03845 L 257.7394,468.03845 L 257.7394,535.90955 z M 257.7394,676.53455 L 314.13589,676.53455 C 333.17863,676.53462 346.60635,673.15735 354.41909,666.40271 C 362.23134,659.64825 366.13758,650.57436 366.13784,639.18103 C 366.13758,628.60173 362.27203,620.0975 354.54116,613.66833 C 346.8098,607.23944 333.26001,604.02493 313.89175,604.02478 L 257.7394,604.02478 L 257.7394,676.53455 z "
|
||||
id="text2205" />
|
||||
<path
|
||||
style="font-size:500px;font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#e00000;fill-opacity:1;stroke:#ffffff;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Arial Black"
|
||||
d="M 703.69272,694.35681 L 577.71616,694.35681 L 560.38217,753.43884 L 447.34506,753.43884 L 581.86655,395.52869 L 702.47202,395.52869 L 836.9935,753.43884 L 721.27084,753.43884 L 703.69272,694.35681 z M 680.49936,616.96423 L 640.94858,488.30212 L 601.64194,616.96423 L 680.49936,616.96423 z "
|
||||
id="text3180" />
|
||||
<path
|
||||
style="font-size:500px;font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#e00000;fill-opacity:1;stroke:#ffffff;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Arial Black"
|
||||
d="M 810.90509,641.13416 L 916.1297,634.54236 C 918.40822,651.63231 923.04689,664.65313 930.04572,673.60486 C 941.4388,688.09061 957.71482,695.33344 978.87384,695.33337 C 994.6614,695.33344 1006.8277,691.63064 1015.3729,684.22498 C 1023.9176,676.81946 1028.19,668.23386 1028.1902,658.46814 C 1028.19,649.19091 1024.121,640.89013 1015.9832,633.5658 C 1007.845,626.24171 988.96479,619.3244 959.34259,612.81384 C 910.83987,601.90905 876.25331,587.42339 855.58282,569.35681 C 834.74945,551.29061 824.33279,528.26004 824.33282,500.26501 C 824.33279,481.87337 829.66319,464.49871 840.32404,448.14099 C 850.98479,431.7839 867.01667,418.92584 888.41974,409.56677 C 909.82262,400.20841 939.16015,395.52905 976.43243,395.52869 C 1022.1679,395.52905 1057.0393,404.03327 1081.0467,421.04138 C 1105.0535,438.05017 1119.3358,465.10906 1123.8934,502.21814 L 1019.6453,508.32166 C 1016.8782,492.20864 1011.0595,480.4899 1002.1893,473.16541 C 993.31863,465.84148 981.07092,462.17937 965.44611,462.17908 C 952.58787,462.17937 942.90364,464.90561 936.39337,470.35779 C 929.88282,475.81055 926.62761,482.44303 926.62775,490.25525 C 926.62761,495.95213 929.31316,501.07908 934.68439,505.63611 C 939.89257,510.35641 952.26235,514.75094 971.79376,518.8197 C 1020.1334,529.2366 1054.7606,539.77533 1075.6756,550.43591 C 1096.59,561.09692 1111.8081,574.32119 1121.3299,590.10876 C 1130.851,605.89668 1135.6118,623.55617 1135.6121,643.08728 C 1135.6118,666.03659 1129.2641,687.19543 1116.5692,706.56384 C 1103.8735,725.93237 1086.1327,740.62148 1063.3465,750.63123 C 1040.5598,760.64099 1011.8326,765.64587 977.16486,765.64587 C 916.29234,765.64587 874.13743,753.92713 850.70001,730.48962 C 827.26248,707.05218 813.99752,677.26705 810.90509,641.13416 L 810.90509,641.13416 z "
|
||||
id="text3184" />
|
||||
<path
|
||||
style="font-size:500px;font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#e00000;fill-opacity:1;stroke:#ffffff;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Arial Black"
|
||||
d="M 1139.0592,395.52869 L 1435.4459,395.52869 L 1435.4459,471.9447 L 1249.899,471.9447 L 1249.899,528.82947 L 1422.0182,528.82947 L 1422.0182,601.82751 L 1249.899,601.82751 L 1249.899,672.38416 L 1440.817,672.38416 L 1440.817,753.43884 L 1139.0592,753.43884 L 1139.0592,395.52869 z "
|
||||
id="text3188" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.2 KiB |
73
pkgs/tools/text/xml/basex/default.nix
Normal file
73
pkgs/tools/text/xml/basex/default.nix
Normal file
@@ -0,0 +1,73 @@
|
||||
{ stdenv, fetchurl, unzip, jre, coreutils, makeDesktopItem }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "basex-7.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://files.basex.org/releases/7.7/BaseX77.zip";
|
||||
sha256 = "1wnndq8lcnfx29bc3j2sgswk6dxgv2nln2chmwbf7h4a05fcavdj";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip jre ];
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "basex";
|
||||
exec = "basexgui %f";
|
||||
icon = "${./basex.svg}"; # icon copied from Ubuntu basex package
|
||||
comment = "Visually query and analyse your XML data";
|
||||
desktopName = "BaseX XML Database";
|
||||
genericName = "XML database tool";
|
||||
categories = "Development;Utility;Database";
|
||||
mimeType = "text/xml";
|
||||
};
|
||||
|
||||
# We're using a pre-built package
|
||||
configurePhase = "true";
|
||||
buildPhase = "true";
|
||||
installPhase = ''
|
||||
mkdir -p "$out"
|
||||
cp -r * "$out"
|
||||
|
||||
# Remove Windows batch files (unclutter $out/bin)
|
||||
rm -f "$out"/bin/*.bat
|
||||
|
||||
# Move some top-level stuff to $out/share/basex (unclutter $out)
|
||||
mkdir -p "$out/share/basex"
|
||||
mv "$out"/*.txt "$out/share/basex/"
|
||||
mv "$out"/webapp "$out/share/basex/"
|
||||
|
||||
# Remove empty directories
|
||||
rmdir "$out/repo"
|
||||
rmdir "$out/data"
|
||||
|
||||
# Install desktop file
|
||||
mkdir -p "$out/share/applications"
|
||||
cp "$desktopItem"/share/applications/* "$out/share/applications/"
|
||||
|
||||
# Use substitutions instead of wrapper scripts
|
||||
for file in "$out"/bin/*; do
|
||||
sed -i -e "s|/usr/bin/env bash|${stdenv.shell}|" \
|
||||
-e "s|java|${jre}/bin/java|" \
|
||||
-e "s|readlink|${coreutils}/bin/readlink|" \
|
||||
-e "s|dirname|${coreutils}/bin/dirname|" \
|
||||
-e "s|basename|${coreutils}/bin/basename|" \
|
||||
-e "s|echo|${coreutils}/bin/echo|" \
|
||||
"$file"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "XML database and XPath/XQuery processor";
|
||||
longDescription = ''
|
||||
BaseX is a very fast and light-weight, yet powerful XML database and
|
||||
XPath/XQuery processor, including support for the latest W3C Full Text
|
||||
and Update Recommendations. It supports large XML instances and offers a
|
||||
highly interactive front-end (basexgui). Apart from two local standalone
|
||||
modes, BaseX offers a client/server architecture.
|
||||
'';
|
||||
homepage = http://basex.org/;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
}
|
||||
@@ -15,30 +15,33 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ flex bison zlib libpng ncurses ed ];
|
||||
|
||||
# fixes "error: conflicting types for 'calloc'", etc.
|
||||
preBuild = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
sed -i 57d texk/kpathsea/c-std.h
|
||||
'';
|
||||
|
||||
patches = [ ./environment.patch ./getline.patch ];
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
configureFlags =
|
||||
[ "--disable-multiplatform"
|
||||
"--without-x11"
|
||||
"--without-xdvik"
|
||||
"--without-oxdvik"
|
||||
"--without-texinfo"
|
||||
"--without-texi2html"
|
||||
"--with-system-zlib"
|
||||
"--with-system-pnglib"
|
||||
"--with-system-ncurses"
|
||||
];
|
||||
[ "--disable-multiplatform" "--without-x11" "--without-xdvik"
|
||||
"--without-oxdvik" "--without-texinfo" "--without-texi2html"
|
||||
"--with-system-zlib" "--with-system-pnglib" "--with-system-ncurses" ]
|
||||
# couldn't get gsftopk working on darwin
|
||||
++ stdenv.lib.optional stdenv.isDarwin "--without-gsftopk";
|
||||
|
||||
postUnpack =
|
||||
''
|
||||
mkdir -p $out/share/texmf
|
||||
mkdir -p $out/share/texmf-dist
|
||||
gunzip < $texmf | (cd $out/share/texmf-dist && tar xvf -)
|
||||
'';
|
||||
postUnpack = ''
|
||||
mkdir -p $out/share/texmf
|
||||
mkdir -p $out/share/texmf-dist
|
||||
gunzip < $texmf | (cd $out/share/texmf-dist && tar xvf -)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A full-featured (La)TeX distribution";
|
||||
meta = with stdenv.lib; {
|
||||
description = "A full-featured (La)TeX distribution";
|
||||
homepage = http://www.tug.org/tetex/;
|
||||
matintainers = with maintainers; [ lovek323 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
args : with args;
|
||||
rec {
|
||||
phaseNames = ["doAggregate"];
|
||||
name = "TeXLive-linkdir";
|
||||
|
||||
buildInputs = lib.closePropagation paths;
|
||||
buildInputs = lib.closePropagation paths
|
||||
++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
|
||||
|
||||
phaseNames = [ "doAggregate" ];
|
||||
|
||||
doAggregate = fullDepEntry (''
|
||||
|
||||
mkdir -p $out/bin
|
||||
for currentPath in ${lib.concatStringsSep " " buildInputs}; do
|
||||
echo Symlinking "$currentPath"
|
||||
@@ -54,7 +55,13 @@ rec {
|
||||
yes | PATH=$PATH:$out/bin mktexlsr $out/texmf*
|
||||
yes | TEXMFCONFIG=$out/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees
|
||||
yes | PATH=$PATH:$out/bin mktexlsr $out/texmf*
|
||||
'') ["minInit" "defEnsureDir" "addInputs"];
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
# did the same thing in texLive, but couldn't get it to carry to the
|
||||
# binaries installed by texLiveFull
|
||||
for prog in $out/bin/*; do
|
||||
wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler}/lib"
|
||||
done
|
||||
'' ) [ "minInit" "defEnsureDir" "addInputs" ];
|
||||
|
||||
meta = {
|
||||
description = "TeX distribution directory";
|
||||
|
||||
@@ -17,7 +17,9 @@ rec {
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
doMainBuild = fullDepEntry (''
|
||||
doMainBuild = fullDepEntry ( stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
export DYLD_LIBRARY_PATH="${poppler}/lib"
|
||||
'' + ''
|
||||
mkdir -p $out
|
||||
mkdir -p $out/nix-support
|
||||
cp ${setupHook} $out/nix-support/setup-hook.sh
|
||||
@@ -40,24 +42,26 @@ rec {
|
||||
./Build --prefix="$out" --datadir="$out/share" --mandir "$out/share/man" --infodir "$out/share/info" \
|
||||
${args.lib.concatStringsSep " " configureFlags}
|
||||
cd Work
|
||||
'') ["minInit" "doUnpack" "addInputs" "defEnsureDir"];
|
||||
'' ) [ "minInit" "doUnpack" "addInputs" "defEnsureDir" ];
|
||||
|
||||
doPostInstall = fullDepEntry(''
|
||||
doPostInstall = fullDepEntry( ''
|
||||
mkdir -p $out/libexec/
|
||||
mv $out/bin $out/libexec/$(uname -m)
|
||||
mkdir -p $out/bin
|
||||
for i in "$out/libexec/"* "$out/libexec/"*/* ; do
|
||||
test \( \! -d "$i" \) -a \( -x "$i" -o -L "$i" \) || continue
|
||||
if [ -x "$i" ]; then
|
||||
echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i)
|
||||
chmod a+x $out/bin/$(basename $i)
|
||||
else
|
||||
mv "$i" "$out/libexec"
|
||||
ln -s "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/bin/$(basename "$i")";
|
||||
ln -sf "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/libexec/$(uname -m)/$(basename "$i")";
|
||||
rm "$out/libexec/$(basename "$i")"
|
||||
fi;
|
||||
|
||||
if [ -x "$i" ]; then
|
||||
echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i)
|
||||
chmod a+x $out/bin/$(basename $i)
|
||||
else
|
||||
mv "$i" "$out/libexec"
|
||||
ln -s "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/bin/$(basename "$i")";
|
||||
ln -sf "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/libexec/$(uname -m)/$(basename "$i")";
|
||||
rm "$out/libexec/$(basename "$i")"
|
||||
fi;
|
||||
done
|
||||
|
||||
[ -d $out/texmf-config ] || ln -s $out/texmf $out/texmf-config
|
||||
ln -s -v "$out/"*texmf* "$out/share/" || true
|
||||
|
||||
@@ -80,29 +84,37 @@ rec {
|
||||
PATH="$PATH:$out/bin" fmtutil-sys --all || true
|
||||
|
||||
PATH=$PATH:$out/bin mktexlsr $out/texmf*
|
||||
'') ["minInit" "defEnsureDir" "doUnpack" "doMakeInstall"];
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
for prog in $out/bin/*; do
|
||||
wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler}/lib"
|
||||
done
|
||||
'' ) [ "minInit" "defEnsureDir" "doUnpack" "doMakeInstall" ];
|
||||
|
||||
buildInputs = [
|
||||
zlib bzip2 ncurses libpng flex bison libX11 libICE
|
||||
xproto freetype t1lib gd libXaw icu ghostscript ed
|
||||
libXt libXpm libXmu libXext xextproto perl libSM
|
||||
ruby expat curl libjpeg python fontconfig xz
|
||||
pkgconfig poppler silgraphite lesstif zziplib
|
||||
];
|
||||
buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11 libICE xproto
|
||||
freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext
|
||||
xextproto perl libSM ruby expat curl libjpeg python fontconfig xz pkgconfig
|
||||
poppler silgraphite lesstif zziplib ]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper ];
|
||||
|
||||
configureFlags = [ "--with-x11"
|
||||
"--enable-ipc" "--with-mktexfmt" "--enable-shared"
|
||||
"--disable-native-texlive-build" "--with-system-zziplib"
|
||||
"--with-system-icu" "--with-system-libgs" "--with-system-t1lib"
|
||||
"--with-system-freetype2"
|
||||
];
|
||||
configureFlags = [ "--with-x11" "--enable-ipc" "--with-mktexfmt"
|
||||
"--enable-shared" "--disable-native-texlive-build" "--with-system-zziplib"
|
||||
"--with-system-libgs" "--with-system-t1lib" "--with-system-freetype2" ]
|
||||
++ ( if stdenv.isDarwin
|
||||
# ironically, couldn't get xetex compiling on darwin
|
||||
then [ "--disable-xetex" "--disable-xdv2pdf" "--disable-xdvipdfmx" ]
|
||||
# couldn't seem to get system icu working on darwin
|
||||
else [ "--with-system-icu" ] );
|
||||
|
||||
phaseNames = ["addInputs" "doMainBuild" "doMakeInstall" "doPostInstall"];
|
||||
phaseNames = [ "addInputs" "doMainBuild" "doMakeInstall" "doPostInstall" ];
|
||||
|
||||
name = "texlive-core-2012";
|
||||
meta = {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A TeX distribution";
|
||||
maintainers = [ args.lib.maintainers.raskin ];
|
||||
platforms = args.lib.platforms.linux ++ args.lib.platforms.freebsd ;
|
||||
homepage = http://www.tug.org/texlive;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = with maintainers; [ lovek323 raskin ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user