···585586 # Some programs need SUID wrappers, can be configured further or are
587 # started in user sessions.
588- # programs.bash.enableCompletion = true;
589 # programs.mtr.enable = true;
590 # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
591
···585586 # Some programs need SUID wrappers, can be configured further or are
587 # started in user sessions.
0588 # programs.mtr.enable = true;
589 # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
590
···1-/* Beware!
2-After starting Guake it will give the error message "Guake can not init! Gconf Error. Have you installed guake.schemas properly?",
3-which will have to be resolved manually, because I have not found a way to automate this, without being impure.
4-5-If you have Guake installed, you can use `nix-build -A gnome3.guake` to get the path to the build directory in the nix store,
6-which then can be used in the following command to install the schemas file of Guake:
7-gconftool-2 --install-schema-file /path/returned/by/nix-build/share/gconf/schemas/guake.schemas
8-9-It can be removed again by the following command:
10-gconftool-2 --recursive-unset /apps/guake
11-*/
12-{ stdenv, fetchurl, lib
13-, pkgconfig, libtool, intltool, makeWrapper
14-, dbus, gtk2, gconf, python2Packages, libutempter, vte, keybinder, gnome2, gnome3 }:
15-16-with lib;
1718let
19- inherit (python2Packages) python;
20- inputs = [ dbus gtk2 gconf python libutempter vte keybinder gnome3.gnome-common ];
21- pyPath = makeSearchPathOutput "lib" python.sitePackages (attrVals [ "dbus-python" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]);
22- in stdenv.mkDerivation rec {
23 name = "guake-${version}";
24- version = "0.8.3";
2526- src = fetchurl {
27- url = "https://github.com/Guake/guake/archive/${version}.tar.gz";
28- sha256 = "1lbmdz3i9a97840h8239s360hd37nmhy3hs6kancxbzl1512ak1y";
0029 };
3031- nativeBuildInputs = [ pkgconfig libtool intltool makeWrapper ];
3233- buildInputs = inputs ++ (with python2Packages; [ pyGtkGlade pyxdg ]);
34-35- propagatedUserEnvPkgs = [ gconf.out ];
3637- patchPhase = ''
38- patchShebangs .
39- '';
4041- configureScript = "./autogen.sh";
4243- configureFlags = [
44- "--sysconfdir=/etc"
45- "--localstatedir=/var"
46- "--disable-schemas-install"
47- ];
4849- installFlags = [
50- # Configuring the installation to not install gconf schemas is not always supported,
51- # therefore gconftool-2 has this variable, which will make gconftool-2 not update any of the databases.
52- "GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1"
53- "sysconfdir=\${out}/etc"
54- "localstatedir=\${TMPDIR}"
55 ];
5657- postInstall = ''
58- mkdir -p $out/share/gconf/schemas
59- cp data/guake.schemas $out/share/gconf/schemas
60 '';
6162- postFixup = ''
63- for bin in $out/bin/{guake,guake-prefs}; do
64- substituteInPlace $bin \
65- --replace '/usr/bin/env python2' ${python.interpreter}
66- wrapProgram $bin \
67- --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
68- --prefix LD_LIBRARY_PATH : ${makeLibraryPath inputs} \
69- --prefix PYTHONPATH : "$out/${python.sitePackages}:${pyPath}:$PYTHONPATH"
70- done
71- '';
72-73- meta = {
74 description = "Drop-down terminal for GNOME";
75 homepage = http://guake-project.org;
76 license = licenses.gpl2;
···1---- testssl/testssl.sh 2017-09-24 16:53:29.395263437 +0200
2-+++ testssl-new/testssl.sh 2017-09-24 16:53:41.221154492 +0200
3-@@ -165,6 +165,7 @@
4- # following variables make use of $ENV, e.g. OPENSSL=<myprivate_path_to_openssl> ./testssl.sh <host>
5- # 0 means (normally) true here. Some of the variables are also accessible with a command line switch, see --help
6- declare -x OPENSSL OPENSSL_TIMEOUT
7-+OPENSSL=${OPENSSL:-"@@openssl-path@@"}
8- FAST_SOCKET=${FAST_SOCKET:-false} # EXPERIMENTAL feature to accelerate sockets -- DO NOT USE it for production
9- COLOR=${COLOR:-2} # 2: Full color, 1: b/w+positioning, 0: no ESC at all
10- COLORBLIND=${COLORBLIND:-false} # if true, swap blue and green in the output
···0000000000
+6-1
pkgs/applications/office/libreoffice/still.nix
···2, CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
3, libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
4, bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
5-, icu, boost, jdk, ant, cups, xorg, libcmis
6, openssl, gperf, cppunit, GConf, ORBit2, poppler
7, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw
8, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
···106107 # BLFS patch for Glibc 2.23 renaming isnan
108 sed -ire "s@isnan@std::&@g" xmloff/source/draw/ximp3dscene.cxx
00000109 '';
110111 # fetch_Download_item tries to interpret the name as a variable name
···2, CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
3, libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
4, bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
5+, icu, boost, jdk, ant, cups, xorg, libcmis, carlito
6, openssl, gperf, cppunit, GConf, ORBit2, poppler
7, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw
8, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
···106107 # BLFS patch for Glibc 2.23 renaming isnan
108 sed -ire "s@isnan@std::&@g" xmloff/source/draw/ximp3dscene.cxx
109+110+ # This is required as some cppunittests require fontconfig configured
111+ cp "${fontsConf}" fonts.conf
112+ sed -e '/include/i<include>${carlito}/etc/fonts/conf.d</include>' -i fonts.conf
113+ export FONTCONFIG_FILE="$PWD/fonts.conf"
114 '';
115116 # fetch_Download_item tries to interpret the name as a variable name
+3-12
pkgs/applications/office/libreoffice/wrapper.sh
···3export SAL_USE_VCLPLUGIN="${SAL_USE_VCLPLUGIN:-gen}"
45if uname | grep Linux > /dev/null &&
6- ! ( test -n "$DBUS_SESSION_BUS_ADDRESS" &&
7- test -n "$DBUS_SYSTEM_BUS_ADDRESS" ); then
8 dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"
9 mkdir "$dbus_tmp_dir"
10 dbus_socket_dir="$(mktemp -d -p "$dbus_tmp_dir")"
11- cat "@dbus@/share/dbus-1/system.conf" |
12- grep -v '[<]user[>]messagebus' > "$dbus_socket_dir/system.conf"
13- if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
14- "@dbus@"/bin/dbus-daemon --nopidfile --nofork --config-file "@dbus@"/share/dbus-1/session.conf --address "unix:path=$dbus_socket_dir/session" >&2 &
15- export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session"
16- fi
17- if test -z "$DBUS_SYSTEM_BUS_ADDRESS"; then
18- "@dbus@"/bin/dbus-daemon --nopidfile --nofork --config-file "$dbus_socket_dir/system.conf" --address "unix:path=$dbus_socket_dir/system" >&2 &
19- export DBUS_SYSTEM_BUS_ADDRESS="unix:path=$dbus_socket_dir/system"
20- fi
21fi
2223"@libreoffice@/bin/$(basename "$0")" "$@"
···23set -eu -o pipefail
40005path_backup="$PATH"
6if [ -n "@coreutils_bin@" ]; then
7 PATH="@coreutils_bin@/bin"
8fi
910-declare -r recurThreshold=300
0000001112-declare overflowCount=0
13-for ((n=0; n < $#; ++n)); do
14- case "${!n}" in
15- -l*) let overflowCount+=1 ;;
16- -reexport-l*) let overflowCount+=1 ;;
17- *) ;;
0000000000000000000000000000000000000000000018 esac
19done
2021-declare -a allArgs=()
2223if (( "$overflowCount" <= "$recurThreshold" )); then
24- allArgs=("$@")
25-else
26- declare -a childrenLookup=() childrenLink=()
0002728- while (( $# )); do
29- case "$1" in
30- -L/*)
31- childrenLookup+=("$1")
32- allArgs+=("$1")
33- ;;
34- -L)
35- echo "cctools LD does not support '-L foo' or '-l foo'" >&2
36- exit 1
37- ;;
38- -l)
39- echo "cctools LD does not support '-L foo' or '-l foo'" >&2
40- exit 1
41- ;;
42- -lazy_library | -lazy_framework | -lto_library)
43- # We aren't linking any "azy_library", "to_library", etc.
44- allArgs+=("$1")
45- ;;
46- -lazy-l | -weak-l) allArgs+=("$1") ;;
47- # We can't so easily prevent header issues from these.
48- -lSystem) allArgs+=("$1") ;;
49- # Special case as indirection seems like a bad idea for something
50- # so fundamental. Can be removed for simplicity.
51- -l?* | -reexport-l?*) childrenLink+=("$1") ;;
52- *) allArgs+=("$1") ;;
53- esac
5455- shift
56- done
5758- declare n=0
59- while (( $n < "${#childrenLink[@]}" )); do
60- if [[ "${childrenLink[n]}" = -l* ]]; then
61- childrenLink[n]="-reexport${childrenLink[n]}"
62- fi
63- let ++n
64 done
65- unset n
6667- declare -r outputNameLibless=$(basename $( \
68- if [[ -z "${outputName:+isUndefined}" ]]; then
69- echo unnamed
70- elif [[ "${outputName:0:3}" = lib ]]; then
71- echo "${outputName:3}"
72- else
73- echo "${outputName}"
74- fi))
75- declare -ra children=("$outputNameLibless-reexport-delegate-0" \
76- "$outputNameLibless-reexport-delegate-1")
000000000000000000000000000000000007778- mkdir -p "$out/lib"
7980- PATH="$PATH:@out@/bin"
8182- symbolBloatObject=$outputNameLibless-symbol-hack.o
83- if [[ ! -e $symbolBloatObject ]]; then
84- # `-Q` means use GNU Assembler rather than Clang, avoiding an awkward
85- # dependency cycle.
86- printf '.private_extern _______child_hack_foo\nchild_hack_foo:\n' \
87- | @targetPrefix@as -Q -- -o $symbolBloatObject
000000000000000088 fi
08990- # first half of libs
91- @targetPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
92- -o "$out/lib/lib${children[0]}.dylib" \
93- -install_name "$out/lib/lib${children[0]}.dylib" \
94- "${childrenLookup[@]}" "$symbolBloatObject" \
95- "${childrenLink[@]:0:$((${#childrenLink[@]} / 2 ))}"
0000000000000000000000000000000000000000000009697- # second half of libs
98- @targetPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
99- -o "$out/lib/lib${children[1]}.dylib" \
100- -install_name "$out/lib/lib${children[1]}.dylib" \
101- "${childrenLookup[@]}" "$symbolBloatObject" \
102- "${childrenLink[@]:$((${#childrenLink[@]} / 2 ))}"
103104- allArgs+=("-L$out/lib" "-l${children[0]}" "-l${children[1]}")
00000000000105fi
106107PATH="$path_backup"
108-exec @prog@ "${allArgs[@]}"
···23set -eu -o pipefail
45+# For cmd | while read; do ...; done
6+shopt -s lastpipe
7+8path_backup="$PATH"
9if [ -n "@coreutils_bin@" ]; then
10 PATH="@coreutils_bin@/bin"
11fi
1213+declare -ri recurThreshold=200
14+declare -i overflowCount=0
15+16+declare -ar origArgs=("$@")
17+18+# Throw away what we won't need
19+declare -a parentArgs=()
2021+while (( $# )); do
22+ case "$1" in
23+ -l)
24+ echo "cctools LD does not support '-l foo'" >&2
25+ exit 1
26+ ;;
27+ -lazy_library | -reexport_library | -upward_library | -weak_library)
28+ overflowCount+=1
29+ shift 2
30+ ;;
31+ -l* | *.so.* | *.dylib | -lazy-l* | -reexport-l* | -upward-l* | -weak-l*)
32+ overflowCount+=1
33+ shift 1
34+ ;;
35+ *.a | *.o)
36+ shift 1
37+ ;;
38+ -L | -F)
39+ # Evidentally ld doesn't like using the child's RPATH, so it still
40+ # needs these.
41+ parentArgs+=("$1" "$2")
42+ shift 2
43+ ;;
44+ -L?* | -F?*)
45+ parentArgs+=("$1")
46+ shift 1
47+ ;;
48+ -o)
49+ outputName="$2"
50+ parentArgs+=("$1" "$2")
51+ shift 2
52+ ;;
53+ -install_name | -dylib_install_name | -dynamic-linker | -plugin)
54+ parentArgs+=("$1" "$2")
55+ shift 2
56+ ;;
57+ -rpath)
58+ # Only an rpath to the child is needed, which we will add
59+ shift 2
60+ ;;
61+ *)
62+ if [[ -f "$1" ]]; then
63+ # Propabably a non-standard object file like Haskell's
64+ # `.dyn_o`. Skip it like other inputs
65+ :
66+ else
67+ parentArgs+=("$1")
68+ fi
69+ shift 1
70+ ;;
71 esac
72done
7374+7576if (( "$overflowCount" <= "$recurThreshold" )); then
77+ if [ -n "${NIX_DEBUG:-}" ]; then
78+ echo "ld-wrapper: Only ${overflowCount} inputs counted while ${recurThreshold} is the ceiling, linking normally. " >&2
79+ fi
80+ PATH="$path_backup"
81+ exec @prog@ "${origArgs[@]}"
82+fi
8384+85+86+if [ -n "${NIX_DEBUG:-}" ]; then
87+ echo "ld-wrapper: ${overflowCount} inputs counted when ${recurThreshold} is the ceiling, inspecting further. " >&2
88+fi
0000000000000000000008990+# Collect the normalized linker input
91+declare -a norm=()
9293+# Arguments are null-separated
94+@prog@ --dump-normalized-lib-args "${origArgs[@]}" |
95+ while IFS= read -r -d '' input; do
96+ norm+=("$input")
0097 done
09899+declare -i leafCount=0
100+declare lastLeaf=''
101+declare -a childrenInputs=() trailingInputs=()
102+while (( "${#norm[@]}" )); do
103+ case "${norm[0]}" in
104+ -lazy_library | -upward_library)
105+ # TODO(@Ericson2314): Don't do that, but intersperse children
106+ # between such args.
107+ echo "ld-wrapper: Warning: Potentially changing link order" >&2
108+ trailingInputs+=("${norm[0]}" "${norm[1]}")
109+ norm=("${norm[@]:2}")
110+ ;;
111+ -reexport_library | -weak_library)
112+ childrenInputs+=("${norm[0]}" "${norm[1]}")
113+ if [[ "${norm[1]}" != "$lastLeaf" ]]; then
114+ leafCount+=1
115+ lastLeaf="${norm[1]}"
116+ fi
117+ norm=("${norm[@]:2}")
118+ ;;
119+ *.so | *.dylib)
120+ childrenInputs+=(-reexport_library "${norm[0]}")
121+ if [[ "${norm[0]}" != "$lastLeaf" ]]; then
122+ leafCount+=1
123+ lastLeaf="${norm[0]}"
124+ fi
125+ norm=("${norm[@]:1}")
126+ ;;
127+ *.o | *.a)
128+ # Don't delegate object files or static libs
129+ parentArgs+=("${norm[0]}")
130+ norm=("${norm[@]:1}")
131+ ;;
132+ *)
133+ if [[ -f "${norm[0]}" ]]; then
134+ # Propabably a non-standard object file. We'll let it by.
135+ parentArgs+=("${norm[0]}")
136+ norm=("${norm[@]:1}")
137+ else
138+ echo "ld-wrapper: Internal Error: Invalid normalized argument" >&2
139+ exit -1
140+ fi
141+ ;;
142+ esac
143+done
14401450146147+if (( "$leafCount" <= "$recurThreshold" )); then
148+ if [ -n "${NIX_DEBUG:-}" ]; then
149+ echo "ld-wrapper: Only ${leafCount} *dynamic* inputs counted while ${recurThreshold} is the ceiling, linking normally. " >&2
150+ fi
151+ PATH="$path_backup"
152+ exec @prog@ "${origArgs[@]}"
153+fi
154+155+156+157+if [ -n "${NIX_DEBUG:-}" ]; then
158+ echo "ld-wrapper: ${leafCount} *dynamic* inputs counted when ${recurThreshold} is the ceiling, delegating to children. " >&2
159+fi
160+161+declare -r outputNameLibless=$( \
162+ if [[ -z "${outputName:+isUndefined}" ]]; then
163+ echo unnamed
164+ return 0;
165+ fi
166+ baseName=$(basename ${outputName})
167+ if [[ "$baseName" = lib* ]]; then
168+ baseName="${baseName:3}"
169 fi
170+ echo "$baseName")
171172+declare -ra children=(
173+ "$outputNameLibless-reexport-delegate-0"
174+ "$outputNameLibless-reexport-delegate-1"
175+)
176+177+mkdir -p "$out/lib"
178+179+symbolBloatObject=$outputNameLibless-symbol-hack.o
180+if [[ ! -f $symbolBloatObject ]]; then
181+ # `-Q` means use GNU Assembler rather than Clang, avoiding an awkward
182+ # dependency cycle.
183+ printf '.private_extern _______child_hack_foo\nchild_hack_foo:\n' |
184+ PATH="$PATH:@out@/bin" @targetPrefix@as -Q -- -o $symbolBloatObject
185+fi
186+187+# Split inputs between children
188+declare -a child0Inputs=() child1Inputs=("${childrenInputs[@]}")
189+let "countFirstChild = $leafCount / 2" || true
190+lastLeaf=''
191+while (( "$countFirstChild" )); do
192+ case "${child1Inputs[0]}" in
193+ -reexport_library | -weak_library)
194+ child0Inputs+=("${child1Inputs[0]}" "${child1Inputs[1]}")
195+ if [[ "${child1Inputs[1]}" != "$lastLeaf" ]]; then
196+ let countFirstChild-=1 || true
197+ lastLeaf="${child1Inputs[1]}"
198+ fi
199+ child1Inputs=("${child1Inputs[@]:2}")
200+ ;;
201+ *.so | *.dylib)
202+ child0Inputs+=(-reexport_library "${child1Inputs[0]}")
203+ if [[ "${child1Inputs[0]}" != "$lastLeaf" ]]; then
204+ let countFirstChild-=1 || true
205+ lastLeaf="${child1Inputs[1]}"
206+ fi
207+ child1Inputs=("${child1Inputs[@]:2}")
208+ ;;
209+ *)
210+ echo "ld-wrapper: Internal Error: Invalid delegated input" >&2
211+ exit -1
212+ ;;
213+ esac
214+done
215+216+217+# First half of libs
218+@out@/bin/@targetPrefix@ld \
219+ -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
220+ -o "$out/lib/lib${children[0]}.dylib" \
221+ -install_name "$out/lib/lib${children[0]}.dylib" \
222+ "$symbolBloatObject" "${child0Inputs[@]}" "${trailingInputs[@]}"
223224+# Second half of libs
225+@out@/bin/@targetPrefix@ld \
226+ -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
227+ -o "$out/lib/lib${children[1]}.dylib" \
228+ -install_name "$out/lib/lib${children[1]}.dylib" \
229+ "$symbolBloatObject" "${child1Inputs[@]}" "${trailingInputs[@]}"
230231+parentArgs+=("-L$out/lib" -rpath "$out/lib")
232+if [[ $outputName != *reexport-delegate* ]]; then
233+ parentArgs+=("-l${children[0]}" "-l${children[1]}")
234+else
235+ parentArgs+=("-reexport-l${children[0]}" "-reexport-l${children[1]}")
236+fi
237+238+parentArgs+=("${trailingInputs[@]}")
239+240+if [ -n "${NIX_DEBUG:-}" ]; then
241+ echo "flags using delegated children to @prog@:" >&2
242+ printf " %q\n" "${parentArgs[@]}" >&2
243fi
244245PATH="$path_backup"
246+exec @prog@ "${parentArgs[@]}"
+5-3
pkgs/build-support/build-setupcfg/default.nix
···5# * meta: Standard nixpkgs metadata.
6# * application: Whether this package is a python library or an
7# application which happens to be written in python.
8-pythonPackages: { src, info, meta ? {}, application ? false }: let
009 build = if application
10 then pythonPackages.buildPythonApplication
11 else pythonPackages.buildPythonPackage;
12in build {
13 inherit (info) pname version;
1415- inherit src meta;
1617 nativeBuildInputs = map (p: pythonPackages.${p}) (
18 (info.setup_requires or []) ++
19- (info.tests_require or []));
2021 propagatedBuildInputs = map (p: pythonPackages.${p})
22 (info.install_requires or []);
···5# * meta: Standard nixpkgs metadata.
6# * application: Whether this package is a python library or an
7# application which happens to be written in python.
8+# * doCheck: Whether to run the test suites.
9+pythonPackages:
10+{ src, info, meta ? {}, application ? false, doCheck ? true }: let
11 build = if application
12 then pythonPackages.buildPythonApplication
13 else pythonPackages.buildPythonPackage;
14in build {
15 inherit (info) pname version;
1617+ inherit src meta doCheck;
1819 nativeBuildInputs = map (p: pythonPackages.${p}) (
20 (info.setup_requires or []) ++
21+ (if doCheck then (info.tests_require or []) else []));
2223 propagatedBuildInputs = map (p: pythonPackages.${p})
24 (info.install_requires or []);
+14
pkgs/build-support/kernel/modules-closure.sh
···1source $stdenv/setup
2000000000000003version=$(cd $kernel/lib/modules && ls -d *)
45echo "kernel version is $version"
···1source $stdenv/setup
23+# When no modules are built, the $out/lib/modules directory will not
4+# exist. Because the rest of the script assumes it does exist, we
5+# handle this special case first.
6+if ! test -d "$kernel/lib/modules"; then
7+ if test -z "$rootModules" || test -n "$allowMissing"; then
8+ mkdir -p "$out"
9+ exit 0
10+ else
11+ echo "Required modules: $rootModules"
12+ echo "Can not derive a closure of kernel modules because no modules were provided."
13+ exit 1
14+ fi
15+fi
16+17version=$(cd $kernel/lib/modules && ls -d *)
1819echo "kernel version is $version"
···1-Description: Get rid of recursive deprecated warnings.
2- As is, gcc gives warnings when a function with the
3- deprecated attribute calls another function with
4- the deprecated attribute.
5- See http://stackoverflow.com/questions/13459602/how-can-i-get-rid-of-deprecated-warnings-in-deprecated-functions-in-gcc
6-7-Author: James Kuszmaul <jbkuszmaul@wpi.edu>
8-9---
10-11---- gcc-armel-4.9.1.orig/gcc/tree.c
12-+++ gcc-armel-4.9.1/gcc/tree.c
13-@@ -12063,6 +12063,9 @@ warn_deprecated_use (tree node, tree attr)
14- if (node == 0 || !warn_deprecated_decl)
15- return;
16-17-+ if (current_function_decl && TREE_DEPRECATED(current_function_decl))
18-+ return;
19-+
20- if (!attr)
21- {
22- if (DECL_P (node))
···53 RUSTFLAGS = "-Ccodegen-units=10";
5455 # We need rust to build rust. If we don't provide it, configure will try to download it.
056 configureFlags = configureFlags
57 ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
58 ++ [ "--enable-vendor" ]
···61 ++ optional (!forceBundledLLVM) [ "--enable-llvm-link-shared" ]
62 ++ optional (targets != []) "--target=${target}"
63 ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}";
00000006465 patches = patches ++ targetPatches;
66···100101 # Useful debugging parameter
102 # export VERBOSE=1
103- '' + optionalString stdenv.isAarch64 ''
104- # https://github.com/rust-lang/rust/issues/49807
105- rm -vr src/test/debuginfo/by-value-self-argument-in-trait-impl.rs
106 '' + optionalString stdenv.isDarwin ''
107 # Disable all lldb tests.
108 # error: Can't run LLDB test because LLDB's python path is not set
···53 RUSTFLAGS = "-Ccodegen-units=10";
5455 # We need rust to build rust. If we don't provide it, configure will try to download it.
56+ # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py
57 configureFlags = configureFlags
58 ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
59 ++ [ "--enable-vendor" ]
···62 ++ optional (!forceBundledLLVM) [ "--enable-llvm-link-shared" ]
63 ++ optional (targets != []) "--target=${target}"
64 ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}";
65+66+ # The boostrap.py will generated a Makefile that then executes the build.
67+ # The BOOTSTRAP_ARGS used by this Makefile must include all flags to pass
68+ # to the bootstrap builder.
69+ postConfigure = ''
70+ substituteInPlace Makefile --replace 'BOOTSTRAP_ARGS :=' 'BOOTSTRAP_ARGS := --jobs $(NIX_BUILD_CORES)'
71+ '';
7273 patches = patches ++ targetPatches;
74···108109 # Useful debugging parameter
110 # export VERBOSE=1
000111 '' + optionalString stdenv.isDarwin ''
112 # Disable all lldb tests.
113 # error: Can't run LLDB test because LLDB's python path is not set
···1+{ stdenv
2+, fetchFromGitHub
3+, autoreconfHook
4+}:
5+6+stdenv.mkDerivation rec {
7+ version = "1.21";
8+ name = "cliquer-${version}";
9+10+ # autotoolized version of the original cliquer
11+ src = fetchFromGitHub {
12+ owner = "dimpase";
13+ repo = "autocliquer";
14+ rev = "v${version}";
15+ sha256 = "180i4qj1a25qfp75ig2d3144xfpb1dgcgpha0iqqghd7di4awg7z";
16+ };
17+18+ doCheck = true;
19+20+ buildInputs = [
21+ autoreconfHook
22+ ];
23+24+ meta = with stdenv.lib; {
25+ homepage = https://users.aalto.fi/~pat/cliquer.html;
26+ downloadPage = src.meta.homepage; # autocliquer
27+ description = "Routines for clique searching";
28+ longDescription = ''
29+ Cliquer is a set of C routines for finding cliques in an arbitrary weighted graph.
30+ It uses an exact branch-and-bound algorithm developed by Patric Östergård.
31+ It is designed with the aim of being efficient while still being flexible and
32+ easy to use.
33+ '';
34+ license = licenses.gpl2Plus;
35+ maintainers = with maintainers; [ timokau ];
36+ platforms = platforms.linux;
37+ };
38+}
···14 # temporary install phase until xcodebuild has "install" support
15 installPhase = ''
16 mkdir -p $out/bin/
17- install basic_cmds-*/Build/Products/Release/* $out/bin/
1819 for n in 1; do
20 mkdir -p $out/share/man/man$n
···14 # temporary install phase until xcodebuild has "install" support
15 installPhase = ''
16 mkdir -p $out/bin/
17+ install Products/Release/* $out/bin/
1819 for n in 1; do
20 mkdir -p $out/share/man/man$n
···11 # temporary install phase until xcodebuild has "install" support
12 installPhase = ''
13 mkdir -p $out/bin/
14- install developer_cmds-*/Build/Products/Release/* $out/bin/
1516 for n in 1; do
17 mkdir -p $out/share/man/man$n
···11 # temporary install phase until xcodebuild has "install" support
12 installPhase = ''
13 mkdir -p $out/bin/
14+ install Products/Release/* $out/bin/
1516 for n in 1; do
17 mkdir -p $out/share/man/man$n
···19 # temporary install phase until xcodebuild has "install" support
20 installPhase = ''
21 mkdir -p $out/bin/
22- install file_cmds-*/Build/Products/Release/* $out/bin
2324 for n in 1; do
25 mkdir -p $out/share/man/man$n
···19 # temporary install phase until xcodebuild has "install" support
20 installPhase = ''
21 mkdir -p $out/bin/
22+ install Products/Release/* $out/bin
2324 for n in 1; do
25 mkdir -p $out/share/man/man$n
···19 # temporary install phase until xcodebuild has "install" support
20 installPhase = ''
21 mkdir -p $out/bin/
22- install network_cmds-*/Build/Products/Release/* $out/bin/
2324 for n in 1 5; do
25 mkdir -p $out/share/man/man$n
···19 # temporary install phase until xcodebuild has "install" support
20 installPhase = ''
21 mkdir -p $out/bin/
22+ install Products/Release/* $out/bin/
2324 for n in 1 5; do
25 mkdir -p $out/share/man/man$n
···73 };
74 };
7576+ # https://patchwork.kernel.org/patch/9626797/
77+ # Should be included in 4.17, so this patch can be dropped when 4.16 becomes obsolete.
78+ bcm2835_mmal_v4l2_camera_driver = rec {
79+ name = "bcm2835_mmal_v4l2_camera_driver";
80+ patch = fetchpatch {
81+ name = name + ".patch";
82+ url = https://patchwork.kernel.org/patch/9626797/raw/;
83+ sha256 = "0iwb0yxsf95zv4qxkvlvhqfmzx0rk13g9clvxsharvwkb4w5lwa0";
84+ };
85+ };
86+87}
+6
pkgs/os-specific/linux/kmod/aggregator.nix
···9 ''
10 source ${stdenv}/setup
1100000012 kernelVersion=$(cd $out/lib/modules && ls -d *)
13 if test "$(echo $kernelVersion | wc -w)" != 1; then
14 echo "inconsistent kernel versions: $kernelVersion"
···9 ''
10 source ${stdenv}/setup
1112+ if ! test -d "$out/lib/modules"; then
13+ echo "No modules found."
14+ # To support a kernel without modules
15+ exit 0
16+ fi
17+18 kernelVersion=$(cd $out/lib/modules && ls -d *)
19 if test "$(echo $kernelVersion | wc -w)" != 1; then
20 echo "inconsistent kernel versions: $kernelVersion"
···1112 buildInputs = [ e2fsprogs ];
130000000014 meta = with stdenv.lib; {
15 description = "Utility that can recover deleted files from an ext3 or ext4 partition";
16 homepage = http://extundelete.sourceforge.net/;
···1112 buildInputs = [ e2fsprogs ];
1314+ # inode field i_dir_acl was repurposed as i_size_high in e2fsprogs 1.44,
15+ # breaking the build
16+ patchPhase = ''
17+ substituteInPlace src/insertionops.cc \
18+ --replace "Directory ACL:" "High 32 bits of size:" \
19+ --replace "inode.i_dir_acl" "inode.i_size_high"
20+ '';
21+22 meta = with stdenv.lib; {
23 description = "Utility that can recover deleted files from an ext3 or ext4 partition";
24 homepage = http://extundelete.sourceforge.net/;
+17-10
pkgs/tools/filesystems/mergerfs/default.nix
···1-{ stdenv, fetchgit, autoconf, automake, pkgconfig, gettext, libtool, git, pandoc, which, attr, libiconv }:
23stdenv.mkDerivation rec {
4 name = "mergerfs-${version}";
5- version = "2.24.0";
67- # not using fetchFromGitHub because of changelog being built with git log
8- src = fetchgit {
9- url = "https://github.com/trapexit/mergerfs";
10- rev = "refs/tags/${version}";
11- sha256 = "12ci1i5zkarl1rz0pq1ldw0fpp4yfj8vz36jij63am7w7gp7qly2";
12- deepClone = true;
13- leaveDotGit = true;
14 };
1516- nativeBuildInputs = [ autoconf automake pkgconfig gettext libtool git pandoc which ];
0017 buildInputs = [ attr libiconv ];
00000001819 makeFlags = [ "PREFIX=$(out)" "XATTR_AVAILABLE=1" ];
20
···13549 };
13550 setOutputFlags = false;
13551 buildInputs = [ pkgs.which ];
013552 meta = {
13553 description = "IPv6 related part of the C socket.h defines and structure manipulators";
13554 license = stdenv.lib.licenses.bsd3;
···13549 };
13550 setOutputFlags = false;
13551 buildInputs = [ pkgs.which ];
13552+ patches = [ ../development/perl-modules/Socket6-sv_undef.patch ];
13553 meta = {
13554 description = "IPv6 related part of the C socket.h defines and structure manipulators";
13555 license = stdenv.lib.licenses.bsd3;