Simplify running nix-shell

[?]
Mar 22, 2016, 11:53 AM
X7IAG7JTV4W6JH34JBC6KOVUGBAG643V4Y5MX4GTJL2BV5PP5VIQC

Dependencies

  • [2] GLHKDGJ4 hydra: revert 24180
  • [3] WKBYU46G Fix typo in makefile.
  • [4] DHRHJS5X Fix stupid change
  • [5] V4OIX3FI Number the sections
  • [6] SPGPFOT4 Add the actual file
  • [7] DUUF3XJF Don't mess with $LOGNAME in nix-shell
  • [8] NVMDS7GE Add README.md
  • [9] IS22DF36 Handle building from a dirty Git tree
  • [10] 24BMQDZA Start of single-process hydra-queue-runner
  • [11] WBU4ZFBR Don't copy src for nix-shell
  • [12] RA2MH3CJ Update $PATH
  • [13] ZGGUQ3CG Use nixUnstable for the tarball
  • [14] ZYS73YNT Force bash usage in dev-shell. Should fix #236
  • [15] Z5OWQ4KZ Check Nix version
  • [16] X5QBLQDG
  • [17] 4C5F6SZV add openssl to deps
  • [18] JUQJHSYJ release.nix: Add `--with-docbook-xsl' to the configure flags for `tarball'.
  • [19] XDKFASXT Add bzip2 to buildInputs.
  • [20] BY2UJCXL nix-prefetch-* scripts are in hydra svn now
  • [21] XWNMTW6P Drop building on i686-linux
  • [22] C7CXMZ66 hydra: do not perform git clone every time. in stead work on local clone and pull
  • [23] D3MDJONY
  • [24] T2JRI5RR Second attempt to get Hydra to see style.css & co.
  • [25] UGA45FNC Add a plugin for backing up builds in s3
  • [26] MIC2O6ZF Use evalFile() instead of parseExprFromFile()
  • [27] ZL4LHHZF Remove empty files
  • [28] VXNVNOK5 release.nix: Install the manual under the right prefix.
  • [29] X27GNHDV * Basic job info in the database.
  • [30] FSZJXAHR add sqlite to buildinputs
  • [31] 6NWLMLSS remove nix from buildinputs
  • [32] Z45QO5BP hydra/release.nix: posthook -> postdist
  • [33] UHMUHQMU hydra: fix tarball build, add pre suffix to tarballs
  • [34] ZGBU7H7P * Pass nixUnstable to the tarball build.
  • [35] 4VYY2ADP Allow the machines file to specify host public keys
  • [36] XCHBOA3S svn -> subversion
  • [37] QK2OXCKP hydra/release.nix: move manual to tarball build, restore version in store path for tarball build
  • [38] OEKXEMU2 hydra: Change the `tarball' job to use `--with-nix'.
  • [39] U6MQV7QL Specify all of $(htmldir) as the doc.
  • [40] U2BNO3C5 hydra: fix build job
  • [41] 6XSBP2VG Whitespace
  • [42] 67QM2R5C Depend on Term::Size::Any
  • [43] VOPKXPFE Add OpenSSL as a dependency because Nix needs it
  • [44] E63Q3L3J Build from source remark in README.md
  • [45] 3PNG7NIB Remove trailing whitespace
  • [46] L7RW467Z Add a test for darcs inputs.
  • [47] VM3TQZ65 * hydra: make manual.pdf
  • [48] NRNR4QVJ Use stable Nix
  • [49] FJAF7KWA Disable building the PDF manual
  • [50] RJ5EREYU hydra: add bazaar to path
  • [51] NDJ6PZB7 * Fix symbol to look for.
  • [52] JXLJS4RI release.nix: Make the HTML manual a Hydra build product.
  • [53] WSCHBYEN add topgit to hydra's path
  • [54] LOHWNXEJ Cleanup
  • [55] FVMVRIRR doc: Ship Docbook's callout images.
  • [56] KN3VYE5P * Cleaned up the foreign key constraints.
  • [57] WYM574OI add nix to buildinputs
  • [58] F6IBTEIB Disable the S3 backup test
  • [59] DWQCLOPQ Tweaks for nix-shell
  • [60] 6A6CZ7SC draft manual
  • [61] CLXEECMF * Start putting build results in a database.
  • [62] NAXUITFL hydra/release.nix: use new location for manual.pdf
  • [63] GBCPEGYC Add a .gitignore
  • [64] V2ALOFRR Fix the test
  • [65] 6CZHII3Q Use <...> syntax
  • [66] FV2M6MOT hydra: use autoconf/-make
  • [67] 6U6KBFYP Build the HTML manual; add the HTML & PDF to the distribution; install them.
  • [68] HJECG75O hydrA: add some pkgs to buildinputs for tests
  • [69] SAFVRDTK * Put Hydra's dependencies so that they can easily be installed in a
  • [70] KNLKTCDM Use pkgconfig to find Nix
  • [71] M3A5PZIH hydra: Clarify the dependency on BDW-GC.
  • [72] 7EYLYIJR For nix-shell, set some more variables in preHook
  • [73] HPIJ35SG
  • [74] R6O64PAE Use a nicer version string
  • [75] 6K5PBUUN Use buildEnv to combine Hydra's Perl dependencies
  • [76] YQWH4POV * Simplify.
  • [77] WQ2VQ7H3 Use hydra-module.nix in the tests
  • [78] PD4VHG3K doc: Use a CSS and callout images for the HTML output.
  • [79] WJTP6VZI Fix building against the latest Nix
  • [80] T4LLYESZ * Nix expression for building Hydra.
  • [81] UMEQXUUH hydra: fix name of build jobset
  • [82] DN3VAAP4 hydra: remove HYDRA_HOME env var, not used
  • [83] G2ZB6464 first test, not yet in buildprocess
  • [84] SFMN6AFQ * Include a license.
  • [85] FGI75W53 move nix-prefetch-* into tarball
  • [86] Y2BFYLLK * Install the SQL schemata in $out/share/hydra/sql.
  • [87] RBQEBVT5 Doh
  • [88] IZYR3KTL release.nix: Get rid of the "system" argument

Change contents

  • file deletion: dev-shell (---r------)
    [16.2][16.254:287](),[16.287][16.1:1]()
    #! /usr/bin/env bash
    s=$(type -p nix-shell)
    exec $s release.nix -A build.x86_64-linux --exclude tarball --command "
    export NIX_REMOTE=daemon
    export NIX_PATH='$NIX_PATH'
    export NIX_BUILD_SHELL=$(type -p bash)
    exec $s release.nix -A tarball" "$@"
  • replacement in README.md at line 3
    [8.35][8.35:53]()
    $ ./dev-shell
    [8.35]
    [8.53]
    $ nix-shell
  • edit in configure.ac at line 15
    [16.16097][16.0:161]()
    dnl Optional dependencies to build the manual, normally not needed
    dnl since the tarball comes with the PDF and HTML manuals.
    AC_PATH_PROG([DBLATEX], [dblatex])
  • edit in doc/manual/Makefile.am at line 12
    [5.133][16.17051:17129](),[16.17051][16.17051:17129]()
    dblatex_opts = \
    -V \
    -P doc.collab.show=0 \
    -P latex.output.revhistory=0
  • edit in doc/manual/Makefile.am at line 14
    [16.150][16.0:28]()
    #dist_pdf_DATA = manual.pdf
  • replacement in doc/manual/Makefile.am at line 19
    [16.530][16.530:570](),[16.570][16.151:243](),[16.243][16.626:693](),[16.626][16.626:693](),[16.693][3.0:57](),[3.57][16.751:773](),[16.751][16.751:773]()
    if test "$(XSLTPROC)" != ""; then \
    $(XSLTPROC) $(xsltproc_opts) --nonet --xinclude \
    --output manual.html \
    $(docbookxsl)/html/docbook.xsl manual.xml; \
    else \
    echo "Please install xsltproc and rerun configure."; \
    exit 1; \
    fi
    [16.530]
    [16.773]
    $(XSLTPROC) $(xsltproc_opts) --nonet --xinclude \
    --output manual.html \
    $(docbookxsl)/xhtml/docbook.xsl manual.xml
  • edit in doc/manual/Makefile.am at line 23
    [16.774][16.0:29](),[16.29][16.775:811](),[16.17159][16.775:811](),[16.811][4.0:50](),[4.50][16.17245:17340](),[16.79][16.17245:17340](),[16.861][16.17245:17340](),[16.17245][16.17245:17340]()
    manual.pdf: $(DOCBOOK_FILES)
    if test "$(DBLATEX)" != ""; then \
    $(DBLATEX) $(dblatex_opts) manual.xml; \
    else \
    echo "Please install dblatex and rerun configure."; \
    exit 1; \
    fi
  • replacement in doc/manual/Makefile.am at line 25
    [16.280][16.280:478]()
    if cp $(docbookxsl)/images/callouts/*.gif images/callouts; then \
    chmod +wx images images/callouts; \
    else \
    echo "Please install Docbook XSL and try again."; \
    exit 1; \
    fi
    [16.280]
    [16.478]
    cp $(docbookxsl)/images/callouts/*.gif images/callouts
    chmod +wx images images/callouts
  • replacement in doc/manual/hacking.xml at line 25
    [6.652][6.652:666]()
    $ ./dev-shell
    [6.652]
    [6.666]
    $ nix-shell
  • replacement in release.nix at line 1
    [16.1][16.0:68]()
    { hydraSrc ? { outPath = ./.; revCount = 1234; gitTag = "abcdef"; }
    [16.1]
    [16.65]
    { hydraSrc ? { outPath = ./.; revCount = 1234; rev = "abcdef"; }
  • edit in release.nix at line 31
    [16.533]
    [15.92]
    version = builtins.readFile ./version + "." + toString hydraSrc.revCount + "." + hydraSrc.rev;
  • edit in release.nix at line 38
    [15.178][16.112:113](),[16.112][16.112:113](),[16.1][16.729:741](),[16.113][16.729:741](),[16.101][16.729:741](),[16.741][15.179:194](),[16.60][16.23:24](),[16.101][16.23:24](),[15.194][16.23:24](),[16.17585][16.23:24](),[16.23][16.23:24](),[16.24][16.17586:17653](),[16.17653][11.0:55](),[11.55][16.17698:17729](),[16.17698][16.17698:17729](),[16.17729][16.0:45](),[16.45][16.74:75](),[16.17729][16.74:75](),[16.75][16.40:60](),[16.60][13.0:75](),[16.73][16.76:77](),[16.74][16.76:77](),[13.75][16.76:77](),[16.77][16.76:77](),[16.81][16.76:77](),[16.84][16.76:77](),[16.87][16.76:77](),[16.96][16.76:77](),[16.114][16.76:77](),[16.134][16.76:77](),[16.146][16.76:77](),[16.146][16.76:77](),[16.17782][16.76:77](),[16.77][16.147:257](),[16.257][16.355:374](),[16.374][16.101:188](),[16.101][16.101:188](),[16.188][16.0:48](),[16.48][16.70:126](),[16.126][12.0:59](),[12.59][16.90:138](),[16.126][16.90:138](),[16.90][16.90:138](),[16.83][16.115:125](),[16.138][16.115:125](),[16.248][16.115:125](),[16.188][16.115:125]()
    tarball =
    with pkgs;
    releaseTools.makeSourceTarball {
    name = "hydra-tarball";
    src = if lib.inNixShell then null else hydraSrc;
    inherit officialRelease;
    version = builtins.readFile ./version;
    buildInputs =
    [ perl libxslt nukeReferences pkgconfig nixUnstable git openssl ];
    versionSuffix = if officialRelease then "" else "pre${toString hydraSrc.revCount}-${hydraSrc.gitTag}";
    preHook = ''
    # TeX needs a writable font cache.
    export VARTEXFONTS=$TMPDIR/texfonts
    addToSearchPath PATH $(pwd)/src/script
    addToSearchPath PATH $(pwd)/src/hydra-eval-jobs
    addToSearchPath PATH $(pwd)/src/hydra-queue-runner
    addToSearchPath PERL5LIB $(pwd)/src/lib
    '';
  • edit in release.nix at line 39
    [16.1][9.0:225](),[9.225][16.0:23](),[16.1][16.0:23](),[16.23][16.147:212](),[16.45][16.125:126](),[16.126][16.125:126](),[16.212][16.125:126](),[16.125][16.125:126](),[16.126][16.0:20](),[16.20][16.0:49](),[16.87][16.87:88](),[16.88][16.0:64](),[16.269][16.269:319](),[16.95][16.188:198](),[16.319][16.188:198](),[16.336][16.188:198](),[16.188][16.188:198](),[16.198][16.1540:1548](),[16.1540][16.1540:1548](),[16.1548][16.88:89]()
    postUnpack = ''
    # Clean up when building from a working tree.
    if [ -z "$IN_NIX_SHELL" ]; then
    (cd $sourceRoot && (git ls-files -o --directory | xargs -r rm -rfv)) || true
    fi
    '';
    configureFlags =
    [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
    postDist = ''
    make -C doc/manual install prefix="$out"
    echo "doc manual $out/share/doc/hydra manual.html" >> \
    "$out/nix-support/hydra-build-products"
    '';
    };
  • replacement in release.nix at line 105
    [16.24][16.1145:1165](),[16.1145][16.1145:1165]()
    nix git
    [16.1145]
    [16.1165]
    nix git boehmgc
  • replacement in release.nix at line 113
    [16.22][16.753:774]()
    src = tarball;
    [16.22]
    [16.925]
    src = if lib.inNixShell then null else hydraSrc;
  • replacement in release.nix at line 117
    [16.1780][10.35:111](),[10.111][16.0:77](),[16.281][16.0:77](),[16.1272][16.0:77]()
    [ makeWrapper libtool unzip nukeReferences pkgconfig sqlite libpqxx
    gitAndTools.topGit mercurial darcs subversion bazaar openssl bzip2
    [16.1780]
    [16.1343]
    [ makeWrapper autoconf automake libtool unzip nukeReferences pkgconfig sqlite libpqxx
    gitAndTools.topGit mercurial darcs subversion bazaar openssl bzip2 libxslt
  • edit in release.nix at line 133
    [16.75]
    [7.0]
    postUnpack = ''
    # Clean up when building from a working tree.
    if [ -z "$IN_NIX_SHELL" ]; then
    (cd $sourceRoot && (git ls-files -o --directory | xargs -r rm -rfv)) || true
    fi
    '';
    configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
    preConfigure = "autoreconf -vfi";
    enableParallelBuilding = true;
  • replacement in release.nix at line 158
    [16.2937][16.2937:2994]()
    --set HYDRA_RELEASE ${tarball.version} \
    [16.2883]
    [2.0]
    --set HYDRA_RELEASE ${version} \
  • file addition: shell.nix (----------)
    [16.2]
    (import ./release.nix {}).build.x86_64-linux