summaryrefslogtreecommitdiffstats
path: root/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-csh.sh
blob: 5e2367003ade65818d396f279184ca9dfae16220 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
patchRcPathCsh(){
    local FILE_TO_PATCH="$1"
    local SOURCETIME_PATH="$2"
    local FILE_TO_WORK_ON="$(mktemp "$(basename "$FILE_TO_PATCH").XXXXXX.tmp")"
    cat <<EOF >> "$FILE_TO_WORK_ON"
# Lines to add to PATH the source-time utilities for Nixpkgs packaging
if (\$?NIXPKGS_SOURCETIME_PATH) then
    if ("\$NIXPKGS_SOURCETIME_PATH" != "") then
        if (\$?NIXPKGS_SOURCETIME_PATH_OLD) then
            if ("\$NIXPKGS_SOURCETIME_PATH_OLD" != "")
                set NIXPKGS_SOURCETIME_PATH_OLD = (\$NIXPKGS_SOURCETIME_PATH \$NIXPKGS_SOURCETIME_PATH_OLD)
            else
                set NIXPKGS_SOURCETIME_PATH_OLD = \$NIXPKGS_SOURCETIME_PATH
            endif
        else
            set NIXPKGS_SOURCETIME_PATH_OLD = \$NIXPKGS_SOURCETIME_PATH
        endif
    endif
endif
set NIXPKGS_SOURCETIME_PATH = "$SOURCETIME_PATH"
if (! \$?PATH) then
    setenv PATH ""
endif
if ("\$PATH" != "") then
    setenv PATH "\${NIXPKGS_SOURCETIME_PATH}:\$PATH"
else
    setenv PATH "\$NIXPKGS_SOURCETIME_PATH"
endif
# End of lines to add to PATH source-time utilities for Nixpkgs packaging
EOF
    cat "$FILE_TO_PATCH" >> "$FILE_TO_WORK_ON"
    cat <<EOF >> "$FILE_TO_WORK_ON"
# Lines to clean up inside PATH the source-time utilities for Nixpkgs packaging
if (\$?PATH) then
    if ("\$PATH" != "") then
        # Remove the inserted section, the duplicated colons, and the leading and trailing colon
        setenv PATH \`echo "\$PATH" | @sed@ "s#\${NIXPKGS_SOURCETIME_PATH}##" | @sed@ "s#::#:#g" | @sed@ "s#^:##" | @sed@ 's#:\$##'\`
    endif
endif
if (\$?NIXPKGS_SOURCETIME_PATH_OLD) then
    if ("\$NIXPKGS_SOURCETIME_PATH_OLD" != "") then
        set NIXPKGS_SOURCETIME_PATH = \$NIXPKGS_SOURCETIME_PATH_OLD[1]
        set NIXPKGS_SOURCETIME_PATH_OLD = \$NIXPKGS_SOURCETIME_PATH_OLD[2-]
    else
        unset NIXPKGS_SOURCETIME_PATH
    endif
    if (NIXPKGS_SOURCETIME_PATH_OLD == "") then
        unset NIXPKGS_SOURCETIME_PATH_OLD
    endif
else
    unset NIXPKGS_SOURCETIME_PATH
endif
# End of lines to clean up inside PATH the source-time utilities for Nixpkgs packaging
EOF
    cat "$FILE_TO_WORK_ON" > "$FILE_TO_PATCH"
    rm "$FILE_TO_WORK_ON"
}