#!/bin/sh # GNU Guix --- Functional package management for GNU # Copyright © 2012, 2013, 2014 Ludovic Courtès # # This file is part of GNU Guix. # # GNU Guix is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or (at # your option) any later version. # # GNU Guix is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Guix. If not, see . # # Update the local copy of Nix source code needed to build the daemon. # Assume GNU Coreutils and Git are available. # top_srcdir="${top_srcdir:-..}" log() { echo "sync-with-upstream: $@" >&2 } # checked_in_p FILE checked_in_p() { ( cd "$top_srcdir" ; git ls-tree HEAD -- "nix/$1" | grep "$1" > /dev/null ) } if [ ! -d "$top_srcdir/build-aux" ] then log "\`$top_srcdir' is not the valid top-level source directory" exit 1 fi set -e for upstream_file in `cd "$top_srcdir/nix-upstream/src" ; find . -name \*.c -or -name \*.h -or -name \*.cc -or -name \*.hh \ -or -name \*.cpp -or -name \*.hpp -or -name \*.sql` do if grep "$upstream_file" "$top_srcdir/daemon.am" > /dev/null then if checked_in_p "$upstream_file" then log "skipping \`$upstream_file', which has a checked-in copy" else ( cd "$top_srcdir/nix-upstream/src" && \ cp -v --parents "$upstream_file" ../../nix ) fi else log "skipping \`$upstream_file', which is not used" fi done # This file should be generated by our build system so remove it. rm -fv "$top_srcdir/nix/libstore/schema.sql.hh" cp -v "$top_srcdir/nix-upstream/COPYING" "$top_srcdir/nix" # Generate an 'AUTHORS' file since upstream Nix no longer has one. cat > "$top_srcdir/nix/AUTHORS" <> "$top_srcdir/nix/AUTHORS" # Substitutions. sed -i "$top_srcdir/nix/libstore/gc.cc" \ -e 's|/nix/find-runtime-roots\.pl|/guix/list-runtime-roots|g' # Our 'guix_hash_context' structure has a copy constructor, specifically to # handle the use case in 'HashSink::currentHash()' where the copy of the # context is expected to truly copy the underlying hash context. The copy # constructor cannot be used in 'Ctx' if that's a union, so turn it into a # structure (we can afford to two wasted words.) sed -i "$top_srcdir/nix/libutil/hash.cc" "$top_srcdir/nix/libutil/hash.hh" \ -e 's|union Ctx|struct Ctx|g' -0400'>2023-09-10gnu: Remove extraneous imports.Maxim Cournoyer 2022-09-01gnu: boost: Update to 1.80.0.Greg Hogan 2022-08-11Merge branch 'staging' into core-updatesMarius Bakke 2022-08-11gnu: mdds: Update to 2.0.3.Marius Bakke 2022-07-06gnu: Boost: Use #:configure-flags.Marius Bakke 2022-07-06gnu: Boost: Avoid usage of 'this-package-input'.Marius Bakke 2022-07-06gnu: boost-mpi: OpenMPI is not native.Marius Bakke 2022-07-06gnu: Boost: Python input is not native.Marius Bakke 2022-07-06gnu: boost, boost-static: Consolidate libboost_python phases.Marius Bakke 2022-07-06gnu: boost-mpi: Remove input labels.Marius Bakke 2022-06-30gnu: Boost: Use G-expressions.Marius Bakke 2022-06-08Merge branch 'master' into core-updatesLudovic Courtès 2022-05-31gnu: Remove boost-with-python2.Maxim Cournoyer 2022-05-08gnu: boost: Update to 1.79.0.Greg Hogan 2022-03-28gnu: boost: Update to 1.78.0.Greg Hogan 2021-12-17gnu: boost-sync: Update to 1.55-1-e690de2d.Aleksandr Vityazev 2021-12-15gnu: boost-signals2: Update hash to matched moved tag.Aleksandr Vityazev 2021-12-13gnu: Simplify package inputs.Ludovic Courtès 2021-11-17Merge branch 'master' into core-updates-frozenLudovic Courtès