commit c43b10825b2c430779aaf05f70a0c09cb52b368f Author: Michael Raitza Date: Sun Oct 18 14:27:19 2020 +0200 Initial commit diff --git a/carl/default.nix b/carl/default.nix new file mode 100644 index 0000000..6924125 --- /dev/null +++ b/carl/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchFromGitHub, autoconf, pkgconfig, cmake +, cln, ginac, gmp, boost, eigen3_3, python2, googletest }: + +let + gtest-cmake = ./gtest.cmake; + +in stdenv.mkDerivation rec { + name = "carl-${version}"; + version = "17.12"; + + buildInputs = [ cln ginac gmp boost python2 googletest ]; + + nativeBuildInputs = [ autoconf pkgconfig cmake ]; + + propagatedBuildInputs = [ eigen3_3 ]; + + src = fetchFromGitHub { + owner = "smtrat"; + repo = "carl"; + rev = version; + sha256 = "1299i0b6w4v6s2a2kci3jrpdq1lpaw4j3p34gx6gmp9g3n1yp6xq"; + }; + + enableParallelBuilding = true; + + cmakeFlags = [ + "-DEXPORT_TO_CMAKE=off" + "-DUSE_CLN_NUMBERS=on" + "-DTHREAD_SAFE=on" + "-DUSE_GINAC=on" + "-DGINAC_FOUND=on" + "-DGINAC_INCLUDE_DIR=${ginac}/include/ginac" + "-DGINAC_LIBRARY=${ginac}/lib/libginac.so" + "-DGTEST_FOUND=on" + "-DGTEST_MAIN_LIBRARY=${googletest}/lib/libgtest_main.a" + "-DGTEST_LIBRARY=${googletest}/lib/libgtest.a" + ]; + + postPatch = '' + cp ${gtest-cmake} resources/gtest.cmake + substituteInPlace resources/gtest.cmake --subst-var-by googletest ${googletest} + sed -e '/set(GTEST/i include(resources/gtest.cmake)' -i resources/resources.cmake + ''; + + meta = with stdenv.lib; { + description = "Computer ARithmetic and Logic library"; + homepage = http://smtrat.github.io/carl; + mainainers = [ maintainers.spacefrogg ]; + platforms = platforms.all; + }; +} diff --git a/carl/gtest.cmake b/carl/gtest.cmake new file mode 100644 index 0000000..4f09815 --- /dev/null +++ b/carl/gtest.cmake @@ -0,0 +1,3 @@ +add_imported_library(GTESTCORE STATIC "@googletest@/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest${STATIC_EXT}" "@googletest@/include") +add_imported_library(GTESTMAIN STATIC "@googletest@/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest_main${STATIC_EXT}" "@googletest@/include") +set(GTEST_LIBRARIES GTESTCORE_STATIC GTESTMAIN_STATIC pthread dl) \ No newline at end of file diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..992f758 --- /dev/null +++ b/default.nix @@ -0,0 +1,40 @@ +self: super: +with self; +with self.lib; +let + mapAttrs = super.stdenv.lib.mapAttrs; + flip = super.stdenv.lib.flip; + callPackage = super.lib.callPackageWith self; + _self = { + # flightgear = libsForQt5.callPackage ./flightgear { }; + # openscenegraph = callPackage ./openscenegraph.nix { inherit (xorg) libX11 libXrandr; }; + # simgear = callPackage ./simgear.nix { inherit (xorg) libX11 libXext libXi libICE + # libSM libXmu xextproto inputproto + # xproto libXt; }; + # obnam = callPackage ./obnam { }; + #pdfchain = callPackage ./pdfchain { }; + # z3 = callPackage ./z3 { }; + # stormChecker = callPackage ./storm-checker { ltoSupport = false; tbbSupport = false; mathsatSupport = false; z3Support = false; }; + # carl = callPackage ./carl { }; + # googletest = callPackage ./googletest { }; + # l3pp = callPackage ./l3pp { }; + # mathsat = callPackage ./mathsat { }; + + foxitreader = callPackage ./foxitreader.nix { openssl = super.openssl_1_0_2; }; + # Used to run diskover file crawler + rq = callPackage ./rq { }; + + pharo-with-libs = callPackage ./pharo.nix { libgit2_32 = super.pkgsi686Linux.libgit2; }; + + # latest.rustChannels = + # flip mapAttrs self.latest.rustChannels (name: value: value // { + # rust = value.rust.override { + # extensions = ["rust-src"]; + # }; + # }); + # # pijul = callPackage ./pijul.nix { rustPlatform = super.makeRustPlatform { inherit (self.rustChannelOf { date = "2019-01-04"; channel = "nightly"; }) rustc cargo; }; }; + # pijul = callPackage ./pijul.nix { rustPlatform = super.makeRustPlatform { inherit (_self.latest.rustChannels.nightly) rustc cargo; }; }; + myR = super.rWrapper.override { packages = with super.rPackages; [ ggplot2 lintr tikzDevice rlang ]; }; + gledger = callPackage ./gledger { }; + }; +in _self diff --git a/flightgear/default.nix b/flightgear/default.nix new file mode 100644 index 0000000..84e52de --- /dev/null +++ b/flightgear/default.nix @@ -0,0 +1,83 @@ +{ stdenv, fetchurl, makeWrapper, pkgconfig +, freeglut, freealut, libGLU, libICE, libjpeg, openal, openscenegraph, plib +, libSM, libunwind, libX11, xproto, libXext, xextproto, libXi, inputproto +, libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr +, makeDesktopItem, qtbase, qtdeclarative, glew, sqlite, speex +}: + +let + version = "2017.2.1"; + shortVersion = "2017.2"; + data = stdenv.mkDerivation rec { + name = "flightgear-base-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.tar.bz2"; + sha256 = "196imk6ppin98djrci52ixm75a4183kvjysya6y7xnd1012hwdf9"; + }; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p "$out/share/FlightGear" + tar xf "${src}" -C "$out/share/FlightGear/" --strip-components=1 + ''; + }; +in +stdenv.mkDerivation rec { + name = "flightgear-${version}"; + # inheriting data for `nix-prefetch-url -A pkgs.flightgear.data.src` + inherit version data; + + src = fetchurl { + url = "mirror://sourceforge/flightgear/release-${shortVersion}/${name}.tar.bz2"; + sha256 = "0nqz66xlqfyip9srbx4wk0d4m21npghzil07cwih5zfa6qvsdnf7"; + }; + + # Of all the files in the source and data archives, there doesn't seem to be + # a decent icon :-) + iconsrc = fetchurl { + url = "http://wiki.flightgear.org/images/6/62/FlightGear_logo.png"; + sha256 = "1ikz413jia55vfnmx8iwrlxvx8p16ggm81mbrj66wam3q7s2dm5p"; + }; + + desktopItem = makeDesktopItem { + name = "flightgear"; + exec = "fgfs"; + icon = "${iconsrc}"; + comment = "FlightGear Flight Simulator"; + desktopName = "FlightGear"; + genericName = "Flight simulator"; + categories = "Game;Simulation"; + }; + + buildInputs = [ + makeWrapper pkgconfig + freeglut freealut libGLU libICE libjpeg openal openscenegraph plib + libSM libunwind libX11 xproto libXext xextproto libXi inputproto + libXmu libXt simgear zlib boost cmake libpng udev fltk13 apr qtbase + qtdeclarative glew sqlite speex + ]; + + cmakeFlags="-DFG_BUILD_TYPE=Release -DSYSTEM_SQLITE=ON -DSYSTEM_SPEEX=ON"; + + postInstall = '' + mkdir -p "$out/share/applications/" + cp "${desktopItem}"/share/applications/* "$out/share/applications/" #*/ + + for f in $out/bin/* #*/ + do + wrapProgram $f --set FG_ROOT "${data}/share/FlightGear" + done + + + ''; + + meta = with stdenv.lib; { + description = "Flight simulator"; + maintainers = with maintainers; [ raskin the-kenny ]; + platforms = platforms.linux; + hydraPlatforms = []; # disabled from hydra because it's so big + license = licenses.gpl2; + }; +} diff --git a/foxit-src-extractor-env.nix b/foxit-src-extractor-env.nix new file mode 100644 index 0000000..5acd497 --- /dev/null +++ b/foxit-src-extractor-env.nix @@ -0,0 +1,13 @@ +# Build an env that allow to run the Foxit installer from the website. Install +# foxit to a temporary location from there and make a tarball out of the result. +# Add it with nix-prefetch-url file:///location/of/tarball and update the +# requireFile call in foxitreader.nix. +{ pkgs? import {} }: + +pkgs.buildFHSUserEnv rec { + name = "foxit-env"; + + targetPkgs = pkgs: (with pkgs; [ glib libsecret openssl dbus freetype fontconfig stdenv.cc.cc stdenv.cc.cc.lib ] ++ + (with qt5; [ qtwebkit qtbase qtxmlpatterns ]) ++ + (with xlibs; [ libX11 libxcb ])); +} diff --git a/foxitreader.nix b/foxitreader.nix new file mode 100644 index 0000000..f509afe --- /dev/null +++ b/foxitreader.nix @@ -0,0 +1,124 @@ +{ stdenv, requireFile, runCommand, fetchurl, libsForQt5, p7zip, openssl, libsecret, glib +, qt5, dbus, fontconfig, freetype, xorg, libGL }: +let + license = fetchurl { + url = "https://www.foxitsoftware.com/products/pdf-reader/eula.html"; + sha256 = "0513x9i503h3yxf69j6d0k461pyr7pyvffdbxx364z9lanw4hb1z"; + }; + + version = "2.4.4.0911"; + + unpacked = stdenv.mkDerivation { + pname = "foxit-reader-files"; + inherit version; + + src = if stdenv.system == "x86_64-linux" then + # /nix/store/l6xwnm2h3jy25yq3sinwikqw8sjx2rw4-FoxitReader-2.4.4.0911.x64 + requireFile { + url = "http://foxitsoftware.com"; + #name = "FoxitReader.2.4.4.0911.x64.tar.gz"; + #sha256 = "0if5wn6jw2jz9jrdmxfnwkbggk2y0mn25x0ny7kqmlkk6snfwqkg"; + name = "FoxitReader.enu.setup.2.4.4.0911.x64.run.tar.gz"; + sha256 = "144v4jyclhi4qjpxdc1ip22m02ys272qd6001bkzg1nzxka9nmvb"; + } else fetchurl { + url = "http://cdn09.foxitsoftware.com/pub/foxit/reader/desktop/linux/2.x/2.4/en_us/FoxitReader2.4.0.14978_Server_x86_enu_Setup.run.tar.gz"; + sha256 = "1x3j76faflh84mnl119prgqskg4a90adry8mp0bc82q9dg6vy10q"; + }; + + nativeBuildInputs = [ p7zip ]; + + phases = [ "installPhase" ]; + + positions = [ + 27055774 # fxplugins + 30563301 # imageformats + 30673930 # images + 30727824 # lang + #30866319 # lib (actual content, replaced with nixpkgs libs) + 63397954 # platforminputcontexts + 63490947 # platforms (inputmethods) + 63965424 # platformthemes (gtk adapter) + 63991419 # printsupport + 64284448 # resource (again, icons) + 64299491 # rmssdk (some logging framework) + 64836796 # sensors (fingerprint?!) + 64854050 # sqldrivers (cloud, I guess) + 65195808 # stamps (clipart) + 66470077 # welcome + 66585904 # Wrappers + # 66636680 # top-level (binary), handled separately + ]; + top_level_pos = 66636680; # keep updated with positions! + + installPhase = '' + mkdir -p $out + tar xf $src + src=$(ls *.run) + for pos in ''${positions[@]}; do + tail -c +$pos $src > tmp$pos.7z + 7z x -o$out tmp$pos.7z + rm tmp$pos.7z + done + + pos=$top_level_pos + tail -c +$pos $src >tmp$pos.7z + 7z x -o$out tmp$pos.7z FoxitReader FoxitReader.desktop + rm tmp$pos.7z + ''; + }; + + openssl-so-wrapper = with stdenv.lib; runCommand "openssl-so-10" {} '' + mkdir -p $out/lib + ln -s ${getLib openssl}/lib/libssl.so $out/lib/libssl.so.10 + ln -s ${getLib openssl}/lib/libcrypto.so $out/lib/libcrypto.so.10 + ''; + +in +stdenv.mkDerivation rec { + pname = "foxit-reader"; + inherit version; + + src = unpacked; + + buildInputs = [ qt5.wrapQtAppsHook ]; + + libPath = with qt5; with xorg; stdenv.lib.makeLibraryPath + [ stdenv.cc.cc stdenv.cc.cc.lib + glib libsecret openssl-so-wrapper libX11 libxcb libGL + dbus fontconfig freetype + qtwebkit qtbase qtxmlpatterns ]; + + phases = "unpackPhase installPhase fixupPhase"; + + installPhase = '' + mkdir -p $out/{bin,lib,share/{pixmaps,applications,licenses}} + + cp -r * $out/lib + + #rm -rf $out/lib/lib + mv $out/lib/FoxitReader.desktop $out/share/applications + echo 'Exec=FoxitReader %U' >> $out/share/applications/FoxitReader.desktop + mv $out/lib/images/FoxitReader.png $out/share/pixmaps + ln -s $out/lib/FoxitReader $out/bin/FoxitReader + ln -s ${license} $out/share/licenses/eula.html + + find $out/lib -type d -name .svn -exec rm -rf {} + + find $out/lib -type f -name .directory -exec rm -rf {} + + + for f in $out/lib/fxplugins $out/lib/platforminputcontexts $out/lib/platformthemes $out/lib/printsupport $out/lib/rmssdk $out/lib/sensors $out/lib/sqldrivers ; do + find $f -type f -executable -exec patchelf --set-rpath $libPath:$out/lib/fxplugins {} \; + done + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath $libPath $out/lib/FoxitReader + ''; + + dontStrip = true; + dontPatchELF = true; + + meta = { + description = "A versatile PDF reader application"; + homepage = http://www.foxitsoftware.com; + license = stdenv.lib.licenses.unfree // { fullName = "Foxit EULA"; }; + maintainer = [ stdenv.lib.maintainers.spacefrogg ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} diff --git a/gledger/default.nix b/gledger/default.nix new file mode 100644 index 0000000..14c8303 --- /dev/null +++ b/gledger/default.nix @@ -0,0 +1,23 @@ +{ stdenv, gnupg, ledger, writeScriptBin }: + +let gledger = '' +''; +in stdenv.mkDerivation { + pname = "gledger"; + version = "2"; + + phases = [ "installPhase" "fixupPhase" ]; + + binpath = stdenv.lib.makeBinPath [ gnupg ledger ]; + installPhase = '' + mkdir -p $out/bin + substituteAll ${./gledger} $out/bin/gledger + cp ${./gledger-camt-csv} $out/bin/gledger-camt-csv + chmod +x $out/bin/* + ''; + + meta = with stdenv.lib; { + description = "GNUPG wrapper and tools for ledger"; + maintainers = with maintainers; [ spacefrogg ]; + }; +} diff --git a/gledger/gledger b/gledger/gledger new file mode 100644 index 0000000..d987ce9 --- /dev/null +++ b/gledger/gledger @@ -0,0 +1,39 @@ +#!/bin/sh +PATH=@binpath@${PATH+:}$PATH +_f= +args= +while [ $# -gt 0 ]; do + case $1 in + -f|--file) + # Breaks if -f has no argument + _f=$2 + shift 2 + ;; + *) args="$args $1" + shift + ;; + esac +done + +set -- $args + +if [ -z "$_f" -o ! -f "$_f" ]; then + if [ -n "$LEDGER_FILE" ]; then + _f=$LEDGER_FILE + else + while read -r f; do + if [ "${f#*--file }" != "$f" ]; then + _f=${f#*--file } + break + fi + printf "Error: No journal file specified\n" >&2 + exit 1 + done <$HOME/.ledgerrc + fi +fi + +if [ "${_f%.gpg}" = "$_f" ]; then + ledger "$@" +else + gpg --no-tty --quiet -d "$_f" | ledger -f - "$@" +fi diff --git a/gledger/gledger-camt-csv b/gledger/gledger-camt-csv new file mode 100644 index 0000000..ad32026 --- /dev/null +++ b/gledger/gledger-camt-csv @@ -0,0 +1,41 @@ +#!/bin/sh +# Sparkasse Germany CAMT CSV format +# Sparkasse Germany VISA CSV format + +set -e + +[ $# -ge 2 ] || { printf "Usage: gledger-camt-csv [-visa | -camt] CSV ACCOUNT\n">&2; exit 1; } + +CAMT_HDR=",date,posted,,note,,,,,,,payee,pIBAN,pBIC,amount,," +VISA_HDR=",date,posted,oAmount,oCommodity,,amount,,payee,note,,,,,," +HDR=$CAMT_HDR +case $1 in + -visa) shift + HDR=$VISA_HDR + ;; + -camt) shift + HDR=$CAMT_HDR + ;; +esac + +DATE_FMT="%d.%m.%y" +INFILE=$1 +_INDIR=$(dirname "$INFILE") +if [ "${_INDIR##/}" != "new" ]; then + printf "Error: Expecting input file in new/ of a maildir-like directory structure\n" >&2 + exit 1 +fi + +BASEDIR=$(dirname $1)/.. +BASEDIR=$(realpath "$BASEDIR") +MANGLED=$(mktemp -p $BASEDIR/tmp/ mangled-XXXXXX.csv) +OUTFILE=$BASEDIR/tmp/$(basename "${INFILE%.CSV}.ledger") + +{ echo "$HDR"; tail -n+2 "$INFILE"; } | + sed -e 's/";"/","/g' | + iconv -f ISO-8859-1 -t UTF-8 >$MANGLED +gledger convert "$MANGLED" --input-date-format "$DATE_FMT" --invert --rich-data --account $2 >$OUTFILE +echo "$BASEDIR/new/"$(basename "$OUTFILE") >&2 +rm -f "$MANGLED" +mv "$INFILE" "$BASEDIR/cur" +mv "$OUTFILE" "$BASEDIR/new" diff --git a/googletest/default.nix b/googletest/default.nix new file mode 100644 index 0000000..b46d517 --- /dev/null +++ b/googletest/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + name = "googletest-${version}"; + version = "1.8.0"; + + buildInputs = [ cmake ]; + + src = fetchFromGitHub { + owner = "google"; + repo = "googletest"; + rev = "release-${version}"; + sha256 = "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"; + }; + + meta = with stdenv.lib; { + description = "Google's C++ test framework"; + homepage = "https://github.com/google/googletest"; + maintainers = [ maintainers.spacefrogg ]; + platforms = platforms.all; + }; +} diff --git a/kelpie/default.nix b/kelpie/default.nix new file mode 100644 index 0000000..58c1707 --- /dev/null +++ b/kelpie/default.nix @@ -0,0 +1,12 @@ +{ stdenv, fetchurl, unzip, jdk8, jre8, ant }: + +stdenv.mkDerivation rec { + name = "kelpie-${version}"; + version = "1.2.0"; + src = fetchurl { + url = "mirror://sourceforge/fgflightplanner/${version}/fgfp-src.${version}.zip"; + sha256 = "1qnnjk7h47sryb8dj0lz8qs9jpzzzskz1hjn92b8yi7ccxk24zhn"; + }; + + buildInputs = [ jdk8 jre8 ant unzip ]; +} diff --git a/l3pp/default.nix b/l3pp/default.nix new file mode 100644 index 0000000..ac21c5f --- /dev/null +++ b/l3pp/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub }: +stdenv.mkDerivation rec { + name = "l3pp-${version}"; + version = "git"; + + src = fetchFromGitHub { + owner = "hbruintjes"; + repo = "l3pp"; + rev = "e4f8d7fe6c328849aff34d2dfd6fd592c14070d5"; + sha256 = "0bd0m4hj7iy5y9546sr7d156hmq6q7d5jys495jd26ngvibkv9hp"; + }; + phases = "unpackPhase installPhase fixupPhase"; + + installPhase = '' + mkdir -p $out/include $out/share/doc/l3pp + cp LICENSE Readme.md $out/share/doc/l3pp + cp -r *.h impl $out/include + ''; + + meta = with stdenv.lib; { + description = "Lightweight Logging Library for C++"; + homepage = https://github.com/hbruintjes/l3pp; + maintainers = [ maintainers.spacefrogg ]; + platforms = platforms.all; + }; +} diff --git a/mathsat/default.nix b/mathsat/default.nix new file mode 100644 index 0000000..180e50a --- /dev/null +++ b/mathsat/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, file +, gmp +, reentrantBuild ? true +}: + +let + version = "5.5.1"; + name = "mathsat-${version}"; + genUrl = reentrant: "http://mathsat.fbk.eu/download.php?file=${name}-linux-x86_64${reentrant}.tar.gz"; + srcAttrs = if reentrantBuild then { + url = genUrl "-reentrant"; + sha256 = "10ng53nvxyyvml3gbzl87vj3c75fgb14zdlakwasz7zczn7hm978"; + } else { + url = genUrl ""; + sha256 = "0jnbiaq27hzdzavkr3sdh2ym0bc3ykamacj8k08pvyf7vil2hkdz"; + }; + +in stdenv.mkDerivation rec { + inherit name version; + + src = fetchurl srcAttrs; + + nativeBuildInputs = [ gmp ]; + + libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc stdenv.glibc gmp ]; + phases = "unpackPhase installPhase fixupPhase"; + + installPhase = '' + mkdir -p $out/{bin,lib,include} + patchelf --set-rpath "$libPath" lib/libmathsat.so + cp bin/* $out/bin + cp lib/* $out/lib + cp -r include/* $out/include + ''; + + meta = with stdenv.lib; { + description = "Satisfiability modulo theories (SMT) solver"; + homepage = http://mathsat.fbk.eu; + license = { + fullName = "Unfree, redistributable for non-commercial applications"; + free = false; + }; + maintainer = [ maintainers.spacefrogg ]; + platforms = platforms.linux; + }; +} diff --git a/obnam/default.nix b/obnam/default.nix new file mode 100644 index 0000000..a7b4844 --- /dev/null +++ b/obnam/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, python2Packages, gnupg }: + +python2Packages.buildPythonApplication rec { + name = "obnam-${version}"; + version = "1.22"; + + src = fetchurl { + url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.xz"; + sha256 = "0z3absbcpdk8zmmi6n3vwmwyv0pnzy7lp1rcsymb292p04alcn3x"; + }; + + patches = [ ./gpg-name.patch ]; + propagatedBuildInputs = with python2Packages; [ cliapp cmdtest fuse larch paramiko pyyaml tracing ttystatus ]; + + makeWrapperArgs = [ "--prefix PATH : ${gnupg}/bin" ]; + + meta = with stdenv.lib; { + description = "Backup program supporting GPG encryption, SFTP, deduplication, generations."; + homepage = "https://obnam.org"; + download = "https://code.liw.fi/debian/pool/main/o/obnam/"; + license = licenses.gpl3; + maintainers = [ maintainers.spacefrogg ]; + }; +} diff --git a/obnam/gpg-name.patch b/obnam/gpg-name.patch new file mode 100644 index 0000000..5f3f3db --- /dev/null +++ b/obnam/gpg-name.patch @@ -0,0 +1,14 @@ +diff -u obnam-1.22/obnamlib/encryption.py.orig obnam-1.22/obnamlib/encryption.py +--- obnam-1.22/obnamlib/encryption.py.orig 2017-07-21 17:57:59.323647221 +0200 ++++ obnam-1.22/obnamlib/encryption.py 2017-07-21 17:58:35.817783095 +0200 +@@ -122,7 +122,7 @@ + env['GNUPGHOME'] = gpghome + tracing.trace('gpghome=%s' % gpghome) + +- argv = ['gpg', '-q', '--batch', '--no-textmode'] + args ++ argv = ['gpg2', '-q', '--batch', '--no-textmode'] + args + tracing.trace('argv=%s', repr(argv)) + p = subprocess.Popen(argv, stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env) + +Diff finished. Fri Jul 21 17:58:49 2017 diff --git a/openscenegraph.nix b/openscenegraph.nix new file mode 100644 index 0000000..8d08390 --- /dev/null +++ b/openscenegraph.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchurl, cmake, pkgconfig, doxygen, unzip +, freetype, libjpeg, jasper, libxml2, zlib, gdal, curl, libX11 +, cairo, poppler, librsvg, libpng, libtiff, libXrandr +, xineLib, boost +, withApps ? false +, withSDL ? false, SDL +, withQt4 ? false, qt4 +}: + +stdenv.mkDerivation rec { + name = "openscenegraph-${version}"; + version = "3.4.0"; + + src = fetchurl { + url = "http://trac.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-${version}.zip"; + sha256 = "03h4wfqqk7rf3mpz0sa99gy715cwpala7964z2npd8jxfn27swjw"; + }; + + nativeBuildInputs = [ pkgconfig cmake doxygen unzip ]; + + buildInputs = [ + freetype libjpeg jasper libxml2 zlib gdal curl libX11 + cairo poppler librsvg libpng libtiff libXrandr boost + xineLib + ] ++ lib.optional withSDL SDL + ++ lib.optional withQt4 qt4; + + enableParallelBuilding = true; + + cmakeFlags = lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF"; + + meta = with stdenv.lib; { + description = "A 3D graphics toolkit"; + homepage = http://www.openscenegraph.org/; + maintainers = [ maintainers.raskin ]; + platforms = platforms.linux; + license = "OpenSceneGraph Public License - free LGPL-based license"; + }; +} diff --git a/pdfchain/default.nix b/pdfchain/default.nix new file mode 100644 index 0000000..06415e2 --- /dev/null +++ b/pdfchain/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, wrapGAppsHook, gtkmm3, gnome3, gtk3, pdftk }: + +stdenv.mkDerivation rec { + name = "pdfchain-${version}"; + version = "0.4.4.2"; + + src = fetchurl { + url = "mirror://sourceforge/pdfchain/pdfchain-${version}.tar.gz"; + sha256 = "0g9gfm1wiriczbpnrkb7vs6cli8a1shw0kpyz7wwxjg8vf9hzvhy"; + }; + + nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; + buildInputs = [ gtkmm3 gtk3 gnome3.adwaita-icon-theme ]; + + enableParallelBuilding = true; + + preConfigure = '' + substituteInPlace src/constant.h --replace /usr/share/pixmaps/pdfchain.png $out/share/pixmaps/pdfchain.png + ''; + + preFixup = '' + gappsWrapperArgs+=(--prefix PATH : ${stdenv.lib.makeBinPath [ pdftk ]}) + ''; + + meta = with stdenv.lib; { + description = "GTK GUI for pdftk to modify PDF documents"; + homepage = http://pdfchain.sourceforge.net; + license = licenses.gpl3; + maintainers = [ maintainers.spacefrogg ]; + }; +} diff --git a/pharo.nix b/pharo.nix new file mode 100644 index 0000000..7624b96 --- /dev/null +++ b/pharo.nix @@ -0,0 +1,14 @@ +{ stdenv, makeWrapper, libgit2, libgit2_32, pharo }: + +stdenv.mkDerivation { + name = "pharo"; + buildInputs = [ makeWrapper pharo ]; + + phases = "installPhase fixupPhase"; + + installPhase = '' + mkdir -p $out/bin + ln -s ${pharo}/bin/pharo $out/bin + wrapProgram $out/bin/pharo --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libgit2 libgit2_32 ]} + ''; +} diff --git a/pijul.nix b/pijul.nix new file mode 100644 index 0000000..7123573 --- /dev/null +++ b/pijul.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, rustPlatform, darwin, libsodium, pkgconfig, openssl }: + +with rustPlatform; + +buildRustPackage rec { + name = "pijul-${version}"; + version = "0.11.0"; + + src = fetchurl { + url = "https://pijul.org/releases/${name}.tar.gz"; + sha256 = "1rdmnvl9mg3782b4sdmmzarfn1z5pan9i5jhsp0m942f2amr61z6"; + }; + + sourceRoot = "${name}"; + + buildInputs = (stdenv.lib.optionals stdenv.isDarwin + (with darwin.apple_sdk.frameworks; [ Security ])) ++ [ libsodium pkgconfig openssl ]; + + doCheck = false; + + cargoSha256 = "1r76azmka1d76ff0ddfhzr24b0ry496qrp13945i3vs0fgzk2sdz"; + + meta = with stdenv.lib; { + description = "A distributed version control system"; + homepage = https://pijul.org; + license = with licenses; [ gpl2Plus ]; + maintainers = [ maintainers.gal_bolle ]; + platforms = platforms.all; + }; +} diff --git a/qtinstaller.nix b/qtinstaller.nix new file mode 100644 index 0000000..a03ddb9 --- /dev/null +++ b/qtinstaller.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, qtdeclarative , qttools, qtbase, qmake }: + +stdenv.mkDerivation rec { + name = "qtinstaller"; + + propagatedBuildInputs = [ qtdeclarative qttools ]; + nativeBuildInputs = [ qmake ]; + + version = "2.0.3"; + src = fetchurl { + url = "http://download.qt.io/official_releases/qt-installer-framework/${version}/qt-installer-framework-opensource-${version}-src.tar.gz"; + sha256 = "003gwjg02isw8qjyka377g1ahlisfyi44l6xfa4hvvdgqqq0hy2f"; + name = "qt-installer-framework-opensource-src-${version}.tar.gz"; + }; + + outputs = [ "out" "dev" "doc" ]; + + setOutputFlags = false; + enableParallelBuilding = true; + NIX_QT_SUBMODULE = true; + + installPhase = '' + mkdir -p $out/{bin,lib,share/qt-installer-framework} + cp -a bin/{archivegen,binarycreator,devtool,installerbase,repogen} $out/bin + cp -a lib/{libinstaller.so*,lib7z.a} $out/lib + cp -a examples $out/share/qt-installer-framework/ + ''; + + postFixup = '' + moveToOutput "bin/archivegen" "$out" + moveToOutput "bin/binarycreator" "$out" + moveToOutput "bin/devtool" "$out" + moveToOutput "bin/installerbase" "$out" + moveToOutput "bin/repogen" "$out" + moveToOutput "share" "$doc" + moveToOutput "lib/libinstaller.so" "$out" + moveToOutput "lib/libinstaller.so.1" "$out" + moveToOutput "lib/libinstaller.so.1.0" "$out" + moveToOutput "lib/libinstaller.so.1.0.0" "$out" + ''; + + meta = { + description = ''Qt installer framework''; + inherit (qtbase.meta) platforms license homepage; + }; +} diff --git a/rq/default.nix b/rq/default.nix new file mode 100644 index 0000000..f7752c0 --- /dev/null +++ b/rq/default.nix @@ -0,0 +1,19 @@ +{ stdenv, python2Packages, gnupg }: + +python2Packages.buildPythonPackage rec { + pname = "rq"; + version = "0.11.0"; + + src = python2Packages.fetchPypi { + inherit pname version; + sha256 = "0ny1phglqp884phzl3nh9kzxx9r4qiw2ymv2j67g7bk9bs6d55zr"; + }; + + buildInputs = with python2Packages; [ click redis ]; + + meta = with stdenv.lib; { + maintainers = [ maintainers.spacefrogg ]; + description = "Simple and lightweight library for creating background jobs using redis"; + license = licenses.bsd2; + }; +} diff --git a/simgear.nix b/simgear.nix new file mode 100644 index 0000000..1ecd371 --- /dev/null +++ b/simgear.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, plib, freeglut, xproto, libX11, libXext, xextproto, libXi +, inputproto, libICE, libSM, libXt, libXmu, libGLU, boost, zlib, libjpeg, freealut +, openscenegraph, openal, expat, cmake, apr +, curl +}: + +stdenv.mkDerivation rec { + name = "simgear-${version}"; + version = "2017.2.1"; + shortVersion = "2017.2"; + + src = fetchurl { + url = "mirror://sourceforge/flightgear/release-${shortVersion}/${name}.tar.bz2"; + sha256 = "17ksghj6rqip8r73ygapzdlyrkkqfqxw87gzl1kashfb04n5j94r"; + }; + + buildInputs = [ plib freeglut xproto libX11 libXext xextproto libXi inputproto + libICE libSM libXt libXmu libGLU boost zlib libjpeg freealut + openscenegraph openal expat cmake apr curl ]; + + meta = with stdenv.lib; { + description = "Simulation construction toolkit"; + homepage = https://gitorious.org/fg/simgear; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.linux; + license = licenses.lgpl2; + }; +} + diff --git a/storm-checker/default.nix b/storm-checker/default.nix new file mode 100644 index 0000000..6c32250 --- /dev/null +++ b/storm-checker/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchFromGitHub, writeText, autoconf, automake, cmake +, boost, carl, cln, doxygen, gmp, ginac, glpk, hwloc, l3pp, xercesc +, ltoSupport ? true +, mathsatSupport ? false, mathsat +, tbbSupport ? false, tbb +, z3Support ? true, z3 +}: + +let + l3ppCmakeSed = writeText "l3pp-sed" '' +8,27d +28i\ +set(l3pp_INCLUDE "${l3pp}/include/") +30d + ''; + inherit (stdenv.lib) optional singleton; + genCmakeOption = bool: name: + singleton "-D${name}=${if bool then "on" else "off"}"; + +in stdenv.mkDerivation { + name = "storm-git"; + + src = fetchFromGitHub { + owner = "moves-rwth"; + repo = "storm"; + rev = "4378279c6419541e7100270937c849e5c5d53fea"; + sha256 = "1yhz9642s09izy9qid0a03i4c29cdvrmrrx9wa35dw5vkv6gxp0f"; + }; + + buildInputs = [ boost carl cln doxygen gmp ginac glpk hwloc l3pp xercesc ] + ++ optional tbbSupport tbb + ++ optional z3Support z3; + + nativeBuildInputs = [ autoconf automake cmake ]; + + cmakeFlags = genCmakeOption tbbSupport "STORM_USE_INTELTBB" + ++ genCmakeOption ltoSupport "STORM_USE_LTO" + ++ optional mathsatSupport "-DMSAT_ROOT=${mathsat}" ; + + postPatch = '' + sed -f ${l3ppCmakeSed} -i resources/3rdparty/CMakeLists.txt + substituteInPlace CMakeLists.txt --replace "include(export)" "" + ''; + + meta = with stdenv.lib; { + description = "Probabilistic Model Checker"; + homepage = http://www.stormchecker.org; + license = licenses.gpl3; + maintainer = [ maintainers.spacefrogg ]; + platforms = platforms.all; + }; +} diff --git a/xplane.nix b/xplane.nix new file mode 100644 index 0000000..0e764e7 --- /dev/null +++ b/xplane.nix @@ -0,0 +1,32 @@ +{ pkgs? import {}, xplanePathStr }: + +let + runScript = pkgs.writeScript "x-plane-script" '' + #!${pkgs.stdenv.shell} + sys=${pkgs.stdenv.targetPlatform.system} + sys=''${sys%-linux} + : ''${XPLANEPATH:=${xplanePathStr}} + case $1 in + X-Plane) exec "''${XPLANEPATH}/X-Plane-$sys" ;; + Airfoil*) exec "''${XPLANEPATH}/Airfoil Maker-$sys" ;; + Plane*) exec "''${XPLANEPATH}/Plane Maker-$sys" ;; + ''') exec "''${XPLANEPATH}/X-Plane-$sys" ;; + SHELL) exec "bash" ;; + *) exec "''${XPLANEPATH}/$1" ;; + esac + ''; +in pkgs.buildFHSUserEnv rec { + name = "x-plane-env"; + + # Also add GAppsWrapper environment stuff such that binaries see the GTK theme... + + targetPkgs = pkgs: (with pkgs; [ unzip atk gdk_pixbuf cairo pango mesa_glu libGL openalSoft gtk2 glib dbus pulseaudio ] ++ + (with xorg; [ libX11 libXext libXrandr libXcursor libXinerama ])); + extraBuildCommands = '' + chmod u+w $out/etc + mkdir $out/etc/openal + chmod u-w $out/etc + echo "drivers=pulse" > $out/etc/openal/alsoft.conf + ''; + inherit runScript; +} diff --git a/z3/default.nix b/z3/default.nix new file mode 100644 index 0000000..3bb9d1a --- /dev/null +++ b/z3/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchFromGitHub, python3 }: + +stdenv.mkDerivation rec { + name = "z3-${version}"; + version = "4.6.0"; + + src = fetchFromGitHub { + owner = "Z3Prover"; + repo = "z3"; + rev = "z3-${version}"; + sha256 = "1cgwlmjdbf4rsv2rriqi2sdpz9qxihxrcpm6a4s37ijy437xg78l"; + }; + + buildInputs = [ python3 ]; + phases = "unpackPhase buildPhase installPhase fixupPhase"; + preBuild = '' + python3 scripts/mk_make.py --prefix=$out + cd build + ''; +}