Merge #178690: staging-next 2022-06-23
This commit is contained in:
commit
06e4e9c867
|
@ -153,6 +153,24 @@ Add the following to your `mkDerivation` invocation.
|
||||||
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
|
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Package using Meson needs to run binaries for the host platform during build. {#cross-meson-runs-host-code}
|
||||||
|
|
||||||
|
Add `mesonEmulatorHook` cross conditionally to `nativeBuildInputs`.
|
||||||
|
|
||||||
|
e.g.
|
||||||
|
|
||||||
|
```
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
|
mesonEmulatorHook
|
||||||
|
];
|
||||||
|
```
|
||||||
|
|
||||||
|
Example of an error which this fixes.
|
||||||
|
|
||||||
|
`[Errno 8] Exec format error: './gdk3-scan'`
|
||||||
|
|
||||||
## Cross-building packages {#sec-cross-usage}
|
## Cross-building packages {#sec-cross-usage}
|
||||||
|
|
||||||
Nixpkgs can be instantiated with `localSystem` alone, in which case there is no cross-compiling and everything is built by and for that system, or also with `crossSystem`, in which case packages run on the latter, but all building happens on the former. Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section. As mentioned above, `lib.systems.examples` has some platforms which are used as arguments for these parameters in practice. You can use them programmatically, or on the command line:
|
Nixpkgs can be instantiated with `localSystem` alone, in which case there is no cross-compiling and everything is built by and for that system, or also with `crossSystem`, in which case packages run on the latter, but all building happens on the former. Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section. As mentioned above, `lib.systems.examples` has some platforms which are used as arguments for these parameters in practice. You can use them programmatically, or on the command line:
|
||||||
|
|
|
@ -83,7 +83,7 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
in ''
|
in ''
|
||||||
mkdir -p $out/etc/udev/rules.d/
|
mkdir -p $out/etc/udev/rules.d/
|
||||||
./tools/sane-desc -m udev > $out/etc/udev/rules.d/49-libsane.rules || \
|
./tools/sane-desc -m udev+hwdb -s doc/descriptions:doc/descriptions-external > $out/etc/udev/rules.d/49-libsane.rules || \
|
||||||
cp tools/udev/libsane.rules $out/etc/udev/rules.d/49-libsane.rules
|
cp tools/udev/libsane.rules $out/etc/udev/rules.d/49-libsane.rules
|
||||||
# the created 49-libsane references /bin/sh
|
# the created 49-libsane references /bin/sh
|
||||||
substituteInPlace $out/etc/udev/rules.d/49-libsane.rules \
|
substituteInPlace $out/etc/udev/rules.d/49-libsane.rules \
|
||||||
|
|
|
@ -58,7 +58,12 @@ let
|
||||||
];
|
];
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin")
|
gappsWrapperArgs+=(
|
||||||
|
--prefix PATH : "${coreutils}/bin:${gawk}/bin"
|
||||||
|
|
||||||
|
# fix for https://docs.microsoft.com/en-us/answers/questions/298724/open-teams-meeting-link-on-linux-doens39t-work.html?childToView=309406#comment-309406
|
||||||
|
--append-flags '--disable-namespace-sandbox --disable-setuid-sandbox'
|
||||||
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,15 +124,6 @@ let
|
||||||
echo "Adding runtime dependencies to RPATH of Node module $mod"
|
echo "Adding runtime dependencies to RPATH of Node module $mod"
|
||||||
patchelf --set-rpath "$runtime_rpath:$mod_rpath" "$mod"
|
patchelf --set-rpath "$runtime_rpath:$mod_rpath" "$mod"
|
||||||
done;
|
done;
|
||||||
|
|
||||||
# fix for https://docs.microsoft.com/en-us/answers/questions/298724/open-teams-meeting-link-on-linux-doens39t-work.html?childToView=309406#comment-309406
|
|
||||||
wrapped=$out/bin/.teams-old
|
|
||||||
mv "$out/bin/teams" "$wrapped"
|
|
||||||
cat > "$out/bin/teams" << EOF
|
|
||||||
#! ${runtimeShell}
|
|
||||||
exec $wrapped "\$@" --disable-namespace-sandbox --disable-setuid-sandbox
|
|
||||||
EOF
|
|
||||||
chmod +x "$out/bin/teams"
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -41,15 +41,15 @@ let
|
||||||
"8.12.0".sha256 = "18dc7k0piv6v064zgdadpw6mkkxk7j663hb3svgj5236fihjr0cz";
|
"8.12.0".sha256 = "18dc7k0piv6v064zgdadpw6mkkxk7j663hb3svgj5236fihjr0cz";
|
||||||
"8.12.1".sha256 = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q";
|
"8.12.1".sha256 = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q";
|
||||||
"8.12.2".sha256 = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n";
|
"8.12.2".sha256 = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n";
|
||||||
"8.13.0".sha256 = "0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd";
|
"8.13.0".sha256 = "1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi";
|
||||||
"8.13.1".sha256 = "0xx2ns84mlip9bg2mkahy3pmc5zfcgrjxsviq9yijbzy1r95wf0n";
|
"8.13.1".sha256 = "15drjcqhsgwqnv02bbidyhk316ypyhz1pxfz2gwsalci9svhkz0v";
|
||||||
"8.13.2".sha256 = "1884vbmwmqwn9ngibax6dhnqh4cc02l0s2ajc6jb1xgr0i60whjk";
|
"8.13.2".sha256 = "14d4alp35hngvga9m7cfp5d1nl62xdj0nm4811f2jjblk86gxxk4";
|
||||||
"8.14.0".sha256 = "04y2z0qyvag66zanfyc3f9agvmzbn4lsr0p1l7ck6yjhqx7vbm17";
|
"8.14.0".sha256 = "0yxjx9kq9bfpk31dc1c6a0pz0827fz7jmrcwwd4n7dc07yi0arq8";
|
||||||
"8.14.1".sha256 = "0sx78pgx0qw8v7v2r32zzy3l161zipzq95iacda628girim7psnl";
|
"8.14.1".sha256 = "0xdqiabgm4lrm6d7lw544zd8xwb1cdcavsxvwwlqq6yid2rl2yli";
|
||||||
"8.15.0".sha256 = "sha256:1ma76wfrpfsl72yh10w1ys2a0vi0mdc2jc79kdc8nrmxkhpw1nxx";
|
"8.15.0".sha256 = "sha256:0q7jl3bn0d1v9cwdkxykw4frccww6wbh1p8hdrfqw489mkxmh5jh";
|
||||||
"8.15.1".sha256 = "sha256:1dsa04jzkx5pw69pmxn0l55q4w88lg6fvz7clbga0bazzsfnsgd6";
|
"8.15.1".sha256 = "sha256:1janvmnk3czimp0j5qmnfwx6509vhpjc2q7lcza1bc6dm6kn8n42";
|
||||||
"8.15.2".sha256 = "sha256:0gn8dz69scxnxaq6ycb3x34bjfk9wlp1y2xn8w69kg9fm4b6gkc7";
|
"8.15.2".sha256 = "sha256:0qibbvzrhsvs6w3zpkhyclndp29jnr6bs9i5skjlpp431jdjjfqd";
|
||||||
"8.16+rc1".sha256 = "sha256-dU+E0Mz7MVntbQIeG9I59ANBaHaXXSrjCRdoqZ5TO60=";
|
"8.16+rc1".sha256 = "sha256-hmZQ6rFIOZJwnAh23nKScJ3Nn+xqDRn5q2Tn82igpYE=";
|
||||||
};
|
};
|
||||||
releaseRev = v: "V${v}";
|
releaseRev = v: "V${v}";
|
||||||
fetched = import ../../../../build-support/coq/meta-fetch/default.nix
|
fetched = import ../../../../build-support/coq/meta-fetch/default.nix
|
||||||
|
|
11
pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh
Normal file
11
pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
needsTarget=true
|
||||||
|
|
||||||
|
for p in "${params[@]}"; do
|
||||||
|
case "$p" in
|
||||||
|
-target | --target=*) needsTarget=false ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if $needsTarget; then
|
||||||
|
extraBefore+=(-target @defaultTarget@)
|
||||||
|
fi
|
|
@ -38,36 +38,23 @@ nParams=${#params[@]}
|
||||||
while (( "$n" < "$nParams" )); do
|
while (( "$n" < "$nParams" )); do
|
||||||
p=${params[n]}
|
p=${params[n]}
|
||||||
p2=${params[n+1]:-} # handle `p` being last one
|
p2=${params[n+1]:-} # handle `p` being last one
|
||||||
if [ "$p" = -c ]; then
|
|
||||||
dontLink=1
|
|
||||||
elif [ "$p" = -S ]; then
|
|
||||||
dontLink=1
|
|
||||||
elif [ "$p" = -E ]; then
|
|
||||||
dontLink=1
|
|
||||||
elif [ "$p" = -E ]; then
|
|
||||||
dontLink=1
|
|
||||||
elif [ "$p" = -M ]; then
|
|
||||||
dontLink=1
|
|
||||||
elif [ "$p" = -MM ]; then
|
|
||||||
dontLink=1
|
|
||||||
elif [[ "$p" = -x && "$p2" = *-header ]]; then
|
|
||||||
dontLink=1
|
|
||||||
elif [[ "$p" = -x && "$p2" = c++* && "$isCxx" = 0 ]]; then
|
|
||||||
isCxx=1
|
|
||||||
elif [ "$p" = -nostdlib ]; then
|
|
||||||
cxxLibrary=0
|
|
||||||
elif [ "$p" = -nostdinc ]; then
|
|
||||||
cInclude=0
|
|
||||||
cxxInclude=0
|
|
||||||
elif [ "$p" = -nostdinc++ ]; then
|
|
||||||
cxxInclude=0
|
|
||||||
elif [[ "$p" != -?* ]]; then
|
|
||||||
# A dash alone signifies standard input; it is not a flag
|
|
||||||
nonFlagArgs=1
|
|
||||||
elif [ "$p" = -cc1 ]; then
|
|
||||||
cc1=1
|
|
||||||
fi
|
|
||||||
n+=1
|
n+=1
|
||||||
|
|
||||||
|
case "$p" in
|
||||||
|
-[cSEM] | -MM) dontLink=1 ;;
|
||||||
|
-cc1) cc1=1 ;;
|
||||||
|
-nostdinc) cInclude=0 cxxInclude=0 ;;
|
||||||
|
-nostdinc++) cxxInclude=0 ;;
|
||||||
|
-nostdlib) cxxLibrary=0 ;;
|
||||||
|
-x)
|
||||||
|
case "$p2" in
|
||||||
|
*-header) dontLink=1 ;;
|
||||||
|
c++*) isCxx=1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
-?*) ;;
|
||||||
|
*) nonFlagArgs=1 ;; # Includes a solitary dash (`-`) which signifies standard input; it is not a flag
|
||||||
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
# If we pass a flag like -Wl, then gcc will call the linker unless it
|
# If we pass a flag like -Wl, then gcc will call the linker unless it
|
||||||
|
@ -81,29 +68,31 @@ fi
|
||||||
|
|
||||||
# Optionally filter out paths not refering to the store.
|
# Optionally filter out paths not refering to the store.
|
||||||
if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then
|
if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then
|
||||||
rest=()
|
kept=()
|
||||||
nParams=${#params[@]}
|
nParams=${#params[@]}
|
||||||
declare -i n=0
|
declare -i n=0
|
||||||
while (( "$n" < "$nParams" )); do
|
while (( "$n" < "$nParams" )); do
|
||||||
p=${params[n]}
|
p=${params[n]}
|
||||||
p2=${params[n+1]:-} # handle `p` being last one
|
p2=${params[n+1]:-} # handle `p` being last one
|
||||||
if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then
|
|
||||||
skip "${p:2}"
|
|
||||||
elif [ "$p" = -L ] && badPath "$p2"; then
|
|
||||||
n+=1; skip "$p2"
|
|
||||||
elif [ "${p:0:3}" = -I/ ] && badPath "${p:2}"; then
|
|
||||||
skip "${p:2}"
|
|
||||||
elif [ "$p" = -I ] && badPath "$p2"; then
|
|
||||||
n+=1; skip "$p2"
|
|
||||||
elif [ "$p" = -isystem ] && badPath "$p2"; then
|
|
||||||
n+=1; skip "$p2"
|
|
||||||
else
|
|
||||||
rest+=("$p")
|
|
||||||
fi
|
|
||||||
n+=1
|
n+=1
|
||||||
|
|
||||||
|
skipNext=false
|
||||||
|
path=""
|
||||||
|
case "$p" in
|
||||||
|
-[IL]/*) path=${p:2} ;;
|
||||||
|
-[IL] | -isystem) path=$p2 skipNext=true ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ -n $path ]] && badPath "$path"; then
|
||||||
|
skip "$path"
|
||||||
|
$skipNext && n+=1
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
kept+=("$p")
|
||||||
done
|
done
|
||||||
# Old bash empty array hack
|
# Old bash empty array hack
|
||||||
params=(${rest+"${rest[@]}"})
|
params=(${kept+"${kept[@]}"})
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Flirting with a layer violation here.
|
# Flirting with a layer violation here.
|
||||||
|
@ -118,17 +107,17 @@ fi
|
||||||
|
|
||||||
# Clear march/mtune=native -- they bring impurity.
|
# Clear march/mtune=native -- they bring impurity.
|
||||||
if [ "$NIX_ENFORCE_NO_NATIVE_@suffixSalt@" = 1 ]; then
|
if [ "$NIX_ENFORCE_NO_NATIVE_@suffixSalt@" = 1 ]; then
|
||||||
rest=()
|
kept=()
|
||||||
# Old bash empty array hack
|
# Old bash empty array hack
|
||||||
for p in ${params+"${params[@]}"}; do
|
for p in ${params+"${params[@]}"}; do
|
||||||
if [[ "$p" = -m*=native ]]; then
|
if [[ "$p" = -m*=native ]]; then
|
||||||
skip "$p"
|
skip "$p"
|
||||||
else
|
else
|
||||||
rest+=("$p")
|
kept+=("$p")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# Old bash empty array hack
|
# Old bash empty array hack
|
||||||
params=(${rest+"${rest[@]}"})
|
params=(${kept+"${kept[@]}"})
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$isCxx" = 1 ]]; then
|
if [[ "$isCxx" = 1 ]]; then
|
||||||
|
@ -170,6 +159,10 @@ if [ "$dontLink" != 1 ]; then
|
||||||
export NIX_LINK_TYPE_@suffixSalt@=$linkType
|
export NIX_LINK_TYPE_@suffixSalt@=$linkType
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -e @out@/nix-support/add-local-cc-cflags-before.sh ]]; then
|
||||||
|
source @out@/nix-support/add-local-cc-cflags-before.sh
|
||||||
|
fi
|
||||||
|
|
||||||
# As a very special hack, if the arguments are just `-v', then don't
|
# As a very special hack, if the arguments are just `-v', then don't
|
||||||
# add anything. This is to prevent `gcc -v' (which normally prints
|
# add anything. This is to prevent `gcc -v' (which normally prints
|
||||||
# out the version number and returns exit code 0) from printing out
|
# out the version number and returns exit code 0) from printing out
|
||||||
|
|
|
@ -297,14 +297,6 @@ stdenv.mkDerivation {
|
||||||
fi
|
fi
|
||||||
''
|
''
|
||||||
|
|
||||||
##
|
|
||||||
## General Clang support
|
|
||||||
##
|
|
||||||
+ optionalString isClang ''
|
|
||||||
|
|
||||||
echo "-target ${targetPlatform.config}" >> $out/nix-support/cc-cflags
|
|
||||||
''
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## GCC libs for non-GCC support
|
## GCC libs for non-GCC support
|
||||||
##
|
##
|
||||||
|
@ -524,6 +516,15 @@ stdenv.mkDerivation {
|
||||||
substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash
|
substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash
|
||||||
''
|
''
|
||||||
|
|
||||||
|
##
|
||||||
|
## General Clang support
|
||||||
|
## Needs to go after ^ because the for loop eats \n and makes this file an invalid script
|
||||||
|
##
|
||||||
|
+ optionalString isClang ''
|
||||||
|
export defaultTarget=${targetPlatform.config}
|
||||||
|
substituteAll ${./add-clang-cc-cflags-before.sh} $out/nix-support/add-local-cc-cflags-before.sh
|
||||||
|
''
|
||||||
|
|
||||||
##
|
##
|
||||||
## Extra custom steps
|
## Extra custom steps
|
||||||
##
|
##
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# (e.g. due to minor changes in the compression algorithm, or changes
|
# (e.g. due to minor changes in the compression algorithm, or changes
|
||||||
# in timestamps).
|
# in timestamps).
|
||||||
|
|
||||||
{ lib, fetchurl, unzip }:
|
{ lib, fetchurl, unzip, glibcLocalesUtf8 }:
|
||||||
|
|
||||||
{ # Optionally move the contents of the unpacked tree up one level.
|
{ # Optionally move the contents of the unpacked tree up one level.
|
||||||
stripRoot ? true
|
stripRoot ? true
|
||||||
|
@ -35,7 +35,10 @@ in {
|
||||||
|
|
||||||
downloadToTemp = true;
|
downloadToTemp = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
|
# Have to pull in glibcLocalesUtf8 for unzip in setup-hook.sh to handle
|
||||||
|
# UTF-8 aware locale:
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/176225#issuecomment-1146617263
|
||||||
|
nativeBuildInputs = [ unzip glibcLocalesUtf8 ] ++ nativeBuildInputs;
|
||||||
|
|
||||||
postFetch =
|
postFetch =
|
||||||
''
|
''
|
||||||
|
|
|
@ -15,17 +15,19 @@ assertExecutable() {
|
||||||
# makeWrapper EXECUTABLE OUT_PATH ARGS
|
# makeWrapper EXECUTABLE OUT_PATH ARGS
|
||||||
|
|
||||||
# ARGS:
|
# ARGS:
|
||||||
# --argv0 NAME : set the name of the executed process to NAME
|
# --argv0 NAME : set the name of the executed process to NAME
|
||||||
# (if unset or empty, defaults to EXECUTABLE)
|
# (if unset or empty, defaults to EXECUTABLE)
|
||||||
# --inherit-argv0 : the executable inherits argv0 from the wrapper.
|
# --inherit-argv0 : the executable inherits argv0 from the wrapper.
|
||||||
# (use instead of --argv0 '$0')
|
# (use instead of --argv0 '$0')
|
||||||
# --set VAR VAL : add VAR with value VAL to the executable's environment
|
# --set VAR VAL : add VAR with value VAL to the executable's environment
|
||||||
# --set-default VAR VAL : like --set, but only adds VAR if not already set in
|
# --set-default VAR VAL : like --set, but only adds VAR if not already set in
|
||||||
# the environment
|
# the environment
|
||||||
# --unset VAR : remove VAR from the environment
|
# --unset VAR : remove VAR from the environment
|
||||||
# --chdir DIR : change working directory (use instead of --run "cd DIR")
|
# --chdir DIR : change working directory (use instead of --run "cd DIR")
|
||||||
# --add-flags FLAGS : add FLAGS to invocation of executable
|
# --add-flags ARGS : prepend ARGS to the invocation of the executable
|
||||||
# TODO(@ncfavier): --append-flags
|
# (that is, *before* any arguments passed on the command line)
|
||||||
|
# --append-flags ARGS : append ARGS to the invocation of the executable
|
||||||
|
# (that is, *after* any arguments passed on the command line)
|
||||||
|
|
||||||
# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
|
# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
|
||||||
# --suffix
|
# --suffix
|
||||||
|
@ -83,7 +85,7 @@ makeDocumentedCWrapper() {
|
||||||
# makeCWrapper EXECUTABLE ARGS
|
# makeCWrapper EXECUTABLE ARGS
|
||||||
# ARGS: same as makeWrapper
|
# ARGS: same as makeWrapper
|
||||||
makeCWrapper() {
|
makeCWrapper() {
|
||||||
local argv0 inherit_argv0 n params cmd main flagsBefore flags executable length
|
local argv0 inherit_argv0 n params cmd main flagsBefore flagsAfter flags executable length
|
||||||
local uses_prefix uses_suffix uses_assert uses_assert_success uses_stdio uses_asprintf
|
local uses_prefix uses_suffix uses_assert uses_assert_success uses_stdio uses_asprintf
|
||||||
executable=$(escapeStringLiteral "$1")
|
executable=$(escapeStringLiteral "$1")
|
||||||
params=("$@")
|
params=("$@")
|
||||||
|
@ -150,6 +152,13 @@ makeCWrapper() {
|
||||||
n=$((n + 1))
|
n=$((n + 1))
|
||||||
[ $n -ge "$length" ] && main="$main#error makeCWrapper: $p takes 1 argument"$'\n'
|
[ $n -ge "$length" ] && main="$main#error makeCWrapper: $p takes 1 argument"$'\n'
|
||||||
;;
|
;;
|
||||||
|
--append-flags)
|
||||||
|
flags="${params[n + 1]}"
|
||||||
|
flagsAfter="$flagsAfter $flags"
|
||||||
|
uses_assert=1
|
||||||
|
n=$((n + 1))
|
||||||
|
[ $n -ge "$length" ] && main="$main#error makeCWrapper: $p takes 1 argument"$'\n'
|
||||||
|
;;
|
||||||
--argv0)
|
--argv0)
|
||||||
argv0=$(escapeStringLiteral "${params[n + 1]}")
|
argv0=$(escapeStringLiteral "${params[n + 1]}")
|
||||||
inherit_argv0=
|
inherit_argv0=
|
||||||
|
@ -165,8 +174,7 @@ makeCWrapper() {
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
# shellcheck disable=SC2086
|
[[ -z "$flagsBefore" && -z "$flagsAfter" ]] || main="$main"${main:+$'\n'}$(addFlags "$flagsBefore" "$flagsAfter")$'\n'$'\n'
|
||||||
[ -z "$flagsBefore" ] || main="$main"${main:+$'\n'}$(addFlags $flagsBefore)$'\n'$'\n'
|
|
||||||
[ -z "$inherit_argv0" ] && main="${main}argv[0] = \"${argv0:-${executable}}\";"$'\n'
|
[ -z "$inherit_argv0" ] && main="${main}argv[0] = \"${argv0:-${executable}}\";"$'\n'
|
||||||
main="${main}return execv(\"${executable}\", argv);"$'\n'
|
main="${main}return execv(\"${executable}\", argv);"$'\n'
|
||||||
|
|
||||||
|
@ -184,21 +192,25 @@ makeCWrapper() {
|
||||||
}
|
}
|
||||||
|
|
||||||
addFlags() {
|
addFlags() {
|
||||||
local result n flag flags var
|
local n flag before after var
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
before=($1) after=($2)
|
||||||
var="argv_tmp"
|
var="argv_tmp"
|
||||||
flags=("$@")
|
printf '%s\n' "char **$var = calloc(${#before[@]} + argc + ${#after[@]} + 1, sizeof(*$var));"
|
||||||
for ((n = 0; n < ${#flags[*]}; n += 1)); do
|
|
||||||
flag=$(escapeStringLiteral "${flags[$n]}")
|
|
||||||
result="$result${var}[$((n+1))] = \"$flag\";"$'\n'
|
|
||||||
done
|
|
||||||
printf '%s\n' "char **$var = calloc($((n+1)) + argc, sizeof(*$var));"
|
|
||||||
printf '%s\n' "assert($var != NULL);"
|
printf '%s\n' "assert($var != NULL);"
|
||||||
printf '%s\n' "${var}[0] = argv[0];"
|
printf '%s\n' "${var}[0] = argv[0];"
|
||||||
printf '%s' "$result"
|
for ((n = 0; n < ${#before[@]}; n += 1)); do
|
||||||
|
flag=$(escapeStringLiteral "${before[n]}")
|
||||||
|
printf '%s\n' "${var}[$((n + 1))] = \"$flag\";"
|
||||||
|
done
|
||||||
printf '%s\n' "for (int i = 1; i < argc; ++i) {"
|
printf '%s\n' "for (int i = 1; i < argc; ++i) {"
|
||||||
printf '%s\n' " ${var}[$n + i] = argv[i];"
|
printf '%s\n' " ${var}[${#before[@]} + i] = argv[i];"
|
||||||
printf '%s\n' "}"
|
printf '%s\n' "}"
|
||||||
printf '%s\n' "${var}[$n + argc] = NULL;"
|
for ((n = 0; n < ${#after[@]}; n += 1)); do
|
||||||
|
flag=$(escapeStringLiteral "${after[n]}")
|
||||||
|
printf '%s\n' "${var}[${#before[@]} + argc + $n] = \"$flag\";"
|
||||||
|
done
|
||||||
|
printf '%s\n' "${var}[${#before[@]} + argc + ${#after[@]}] = NULL;"
|
||||||
printf '%s\n' "argv = $var;"
|
printf '%s\n' "argv = $var;"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -366,6 +378,10 @@ formatArgs() {
|
||||||
formatArgsLine 1 "$@"
|
formatArgsLine 1 "$@"
|
||||||
shift 1
|
shift 1
|
||||||
;;
|
;;
|
||||||
|
--append-flags)
|
||||||
|
formatArgsLine 1 "$@"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
--argv0)
|
--argv0)
|
||||||
formatArgsLine 1 "$@"
|
formatArgsLine 1 "$@"
|
||||||
shift 1
|
shift 1
|
||||||
|
|
|
@ -11,18 +11,20 @@ assertExecutable() {
|
||||||
# makeWrapper EXECUTABLE OUT_PATH ARGS
|
# makeWrapper EXECUTABLE OUT_PATH ARGS
|
||||||
|
|
||||||
# ARGS:
|
# ARGS:
|
||||||
# --argv0 NAME : set the name of the executed process to NAME
|
# --argv0 NAME : set the name of the executed process to NAME
|
||||||
# (if unset or empty, defaults to EXECUTABLE)
|
# (if unset or empty, defaults to EXECUTABLE)
|
||||||
# --inherit-argv0 : the executable inherits argv0 from the wrapper.
|
# --inherit-argv0 : the executable inherits argv0 from the wrapper.
|
||||||
# (use instead of --argv0 '$0')
|
# (use instead of --argv0 '$0')
|
||||||
# --set VAR VAL : add VAR with value VAL to the executable's environment
|
# --set VAR VAL : add VAR with value VAL to the executable's environment
|
||||||
# --set-default VAR VAL : like --set, but only adds VAR if not already set in
|
# --set-default VAR VAL : like --set, but only adds VAR if not already set in
|
||||||
# the environment
|
# the environment
|
||||||
# --unset VAR : remove VAR from the environment
|
# --unset VAR : remove VAR from the environment
|
||||||
# --chdir DIR : change working directory (use instead of --run "cd DIR")
|
# --chdir DIR : change working directory (use instead of --run "cd DIR")
|
||||||
# --run COMMAND : run command before the executable
|
# --run COMMAND : run command before the executable
|
||||||
# --add-flags FLAGS : add FLAGS to invocation of executable
|
# --add-flags ARGS : prepend ARGS to the invocation of the executable
|
||||||
# TODO(@ncfavier): --append-flags
|
# (that is, *before* any arguments passed on the command line)
|
||||||
|
# --append-flags ARGS : append ARGS to the invocation of the executable
|
||||||
|
# (that is, *after* any arguments passed on the command line)
|
||||||
|
|
||||||
# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
|
# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
|
||||||
# --suffix
|
# --suffix
|
||||||
|
@ -36,7 +38,7 @@ makeShellWrapper() {
|
||||||
local original="$1"
|
local original="$1"
|
||||||
local wrapper="$2"
|
local wrapper="$2"
|
||||||
local params varName value command separator n fileNames
|
local params varName value command separator n fileNames
|
||||||
local argv0 flagsBefore flags
|
local argv0 flagsBefore flagsAfter flags
|
||||||
|
|
||||||
assertExecutable "$original"
|
assertExecutable "$original"
|
||||||
|
|
||||||
|
@ -165,6 +167,10 @@ makeShellWrapper() {
|
||||||
flags="${params[$((n + 1))]}"
|
flags="${params[$((n + 1))]}"
|
||||||
n=$((n + 1))
|
n=$((n + 1))
|
||||||
flagsBefore="$flagsBefore $flags"
|
flagsBefore="$flagsBefore $flags"
|
||||||
|
elif [[ "$p" == "--append-flags" ]]; then
|
||||||
|
flags="${params[$((n + 1))]}"
|
||||||
|
n=$((n + 1))
|
||||||
|
flagsAfter="$flagsAfter $flags"
|
||||||
elif [[ "$p" == "--argv0" ]]; then
|
elif [[ "$p" == "--argv0" ]]; then
|
||||||
argv0="${params[$((n + 1))]}"
|
argv0="${params[$((n + 1))]}"
|
||||||
n=$((n + 1))
|
n=$((n + 1))
|
||||||
|
@ -177,7 +183,7 @@ makeShellWrapper() {
|
||||||
done
|
done
|
||||||
|
|
||||||
echo exec ${argv0:+-a \"$argv0\"} \""$original"\" \
|
echo exec ${argv0:+-a \"$argv0\"} \""$original"\" \
|
||||||
"$flagsBefore" '"$@"' >> "$wrapper"
|
"$flagsBefore" '"$@"' "$flagsAfter" >> "$wrapper"
|
||||||
|
|
||||||
chmod +x "$wrapper"
|
chmod +x "$wrapper"
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ stdenvNoCC.mkDerivation rec {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
url =
|
url =
|
||||||
"http://language.moe.gov.tw/001/Upload/Files/site_content/M0001/MoeLI-3.0.zip";
|
"http://language.moe.gov.tw/001/Upload/Files/site_content/M0001/MoeLI-3.0.zip";
|
||||||
sha256 = "0vpmm2qb429npng0aqkafwgs7cjibq8a3f7bbn9hysbm2lndwxwd";
|
sha256 = "0b4kjdk0h0hx446swi0wzawia0mf16qh9b6v4h4nqg8qx0p2sd3c";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, lib, fetchurl, fetchpatch, pkg-config, flex, bison, libxslt, autoconf, autoreconfHook
|
{ stdenv, lib, fetchurl, fetchpatch, pkg-config, flex, bison, libxslt, autoconf, autoreconfHook
|
||||||
, gnome, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll
|
, gnome, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll, vala
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -49,7 +49,9 @@ let
|
||||||
# so that it can be used to regenerate documentation.
|
# so that it can be used to regenerate documentation.
|
||||||
patches = lib.optionals disableGraphviz [ graphvizPatch ./gvc-compat.patch ];
|
patches = lib.optionals disableGraphviz [ graphvizPatch ./gvc-compat.patch ];
|
||||||
configureFlags = lib.optional disableGraphviz "--disable-graphviz";
|
configureFlags = lib.optional disableGraphviz "--disable-graphviz";
|
||||||
preBuild = lib.optionalString disableGraphviz "buildFlagsArray+=(\"VALAC=$(pwd)/compiler/valac\")";
|
# when cross-compiling ./compiler/valac is valac for host
|
||||||
|
# so add the build vala in nativeBuildInputs
|
||||||
|
preBuild = lib.optionalString (disableGraphviz && (stdenv.buildPlatform == stdenv.hostPlatform)) "buildFlagsArray+=(\"VALAC=$(pwd)/compiler/valac\")";
|
||||||
|
|
||||||
outputs = [ "out" "devdoc" ];
|
outputs = [ "out" "devdoc" ];
|
||||||
|
|
||||||
|
@ -57,6 +59,7 @@ let
|
||||||
pkg-config flex bison libxslt
|
pkg-config flex bison libxslt
|
||||||
] ++ lib.optional (stdenv.isDarwin && (lib.versionAtLeast version "0.38")) expat
|
] ++ lib.optional (stdenv.isDarwin && (lib.versionAtLeast version "0.38")) expat
|
||||||
++ lib.optional disableGraphviz autoreconfHook # if we changed our ./configure script, need to reconfigure
|
++ lib.optional disableGraphviz autoreconfHook # if we changed our ./configure script, need to reconfigure
|
||||||
|
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ vala ]
|
||||||
++ extraNativeBuildInputs;
|
++ extraNativeBuildInputs;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -39,6 +39,8 @@
|
||||||
# IE: programs coupled with the compiler
|
# IE: programs coupled with the compiler
|
||||||
, allowGoReference ? false
|
, allowGoReference ? false
|
||||||
|
|
||||||
|
, CGO_ENABLED ? go.CGO_ENABLED
|
||||||
|
|
||||||
, meta ? {}
|
, meta ? {}
|
||||||
|
|
||||||
# Not needed with buildGoModule
|
# Not needed with buildGoModule
|
||||||
|
@ -141,6 +143,7 @@ let
|
||||||
|
|
||||||
GO111MODULE = "on";
|
GO111MODULE = "on";
|
||||||
GOFLAGS = lib.optionals (!proxyVendor) [ "-mod=vendor" ] ++ lib.optionals (!allowGoReference) [ "-trimpath" ];
|
GOFLAGS = lib.optionals (!proxyVendor) [ "-mod=vendor" ] ++ lib.optionals (!allowGoReference) [ "-trimpath" ];
|
||||||
|
inherit CGO_ENABLED;
|
||||||
|
|
||||||
configurePhase = args.configurePhase or ''
|
configurePhase = args.configurePhase or ''
|
||||||
runHook preConfigure
|
runHook preConfigure
|
||||||
|
|
|
@ -133,10 +133,10 @@ with pkgs;
|
||||||
sourceVersion = {
|
sourceVersion = {
|
||||||
major = "3";
|
major = "3";
|
||||||
minor = "10";
|
minor = "10";
|
||||||
patch = "4";
|
patch = "5";
|
||||||
suffix = "";
|
suffix = "";
|
||||||
};
|
};
|
||||||
sha256 = "sha256-gL+SX1cdpDazUhCIbPefbrX6XWxXExa3NWg0NFH3ehk=";
|
sha256 = "sha256-hDfv1bEG7wp1qr+/I9iAYlEgpzqGoireTS4uaNe3RIY=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -59,23 +59,26 @@ _pythonRemoveDeps() {
|
||||||
pythonRelaxDepsHook() {
|
pythonRelaxDepsHook() {
|
||||||
pushd dist
|
pushd dist
|
||||||
|
|
||||||
local -r package="$pname-$version"
|
# See https://peps.python.org/pep-0491/#escaping-and-unicode
|
||||||
|
local -r pkg_name="${pname//[^[:alnum:].]/_}-$version"
|
||||||
local -r unpack_dir="unpacked"
|
local -r unpack_dir="unpacked"
|
||||||
local -r metadata_file="$unpack_dir/$package/$package.dist-info/METADATA"
|
local -r metadata_file="$unpack_dir/$pkg_name/$pkg_name.dist-info/METADATA"
|
||||||
local -r wheel=$(echo "$package"*".whl")
|
|
||||||
|
|
||||||
@pythonInterpreter@ -m wheel unpack --dest "$unpack_dir" "$wheel"
|
# We generally shouldn't have multiple wheel files, but let's be safer here
|
||||||
rm -rf "$wheel"
|
for wheel in "$pkg_name"*".whl"; do
|
||||||
|
@pythonInterpreter@ -m wheel unpack --dest "$unpack_dir" "$wheel"
|
||||||
|
rm -rf "$wheel"
|
||||||
|
|
||||||
_pythonRelaxDeps "$metadata_file"
|
_pythonRelaxDeps "$metadata_file"
|
||||||
_pythonRemoveDeps "$metadata_file"
|
_pythonRemoveDeps "$metadata_file"
|
||||||
|
|
||||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then
|
if (( "${NIX_DEBUG:-0}" >= 1 )); then
|
||||||
echo "pythonRelaxDepsHook: resulting METADATA:"
|
echo "pythonRelaxDepsHook: resulting METADATA for '$wheel':"
|
||||||
cat "$unpack_dir/$package/$package.dist-info/METADATA"
|
cat "$unpack_dir/$pkg_name/$pkg_name.dist-info/METADATA"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@pythonInterpreter@ -m wheel pack "$unpack_dir/$package"
|
@pythonInterpreter@ -m wheel pack "$unpack_dir/$pkg_name"
|
||||||
|
done
|
||||||
|
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,6 +137,10 @@ let
|
||||||
(lib.enableFeature docSupport "install-doc")
|
(lib.enableFeature docSupport "install-doc")
|
||||||
(lib.withFeature jemallocSupport "jemalloc")
|
(lib.withFeature jemallocSupport "jemalloc")
|
||||||
(lib.withFeatureAs docSupport "ridir" "${placeholder "devdoc"}/share/ri")
|
(lib.withFeatureAs docSupport "ridir" "${placeholder "devdoc"}/share/ri")
|
||||||
|
# ruby enables -O3 for gcc, however our compiler hardening wrapper
|
||||||
|
# overrides that by enabling `-O2` which is the minimum optimization
|
||||||
|
# needed for `_FORTIFY_SOURCE`.
|
||||||
|
] ++ lib.optional stdenv.cc.isGNU "CFLAGS=-O3" ++ [
|
||||||
] ++ ops stdenv.isDarwin [
|
] ++ ops stdenv.isDarwin [
|
||||||
# on darwin, we have /usr/include/tk.h -- so the configure script detects
|
# on darwin, we have /usr/include/tk.h -- so the configure script detects
|
||||||
# that tk is installed
|
# that tk is installed
|
||||||
|
|
|
@ -1,21 +1,25 @@
|
||||||
{ fetchurl, fetchpatch, lib, stdenv, pkg-config, libdaemon, dbus, perlPackages
|
{ fetchurl
|
||||||
, expat, gettext, intltool, glib, libiconv, writeShellScriptBin, libevent
|
, fetchpatch
|
||||||
|
, lib
|
||||||
|
, stdenv
|
||||||
|
, pkg-config
|
||||||
|
, libdaemon
|
||||||
|
, dbus
|
||||||
|
, perlPackages
|
||||||
|
, expat
|
||||||
|
, gettext
|
||||||
|
, glib
|
||||||
|
, libiconv
|
||||||
|
, libevent
|
||||||
, nixosTests
|
, nixosTests
|
||||||
, gtk3Support ? false, gtk3 ? null
|
, gtk3Support ? false
|
||||||
, qt4 ? null
|
, gtk3 ? null
|
||||||
, qt4Support ? false
|
|
||||||
, qt5 ? null
|
, qt5 ? null
|
||||||
, qt5Support ? false
|
, qt5Support ? false
|
||||||
, withLibdnssdCompat ? false
|
, withLibdnssdCompat ? false
|
||||||
, python ? null
|
, python ? null
|
||||||
, withPython ? false }:
|
, withPython ? false
|
||||||
|
}:
|
||||||
assert qt4Support -> qt4 != null;
|
|
||||||
|
|
||||||
let
|
|
||||||
# despite the configure script claiming it supports $PKG_CONFIG, it doesnt respect it
|
|
||||||
pkg-config-helper = writeShellScriptBin "pkg-config" ''exec $PKG_CONFIG "$@"'';
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "avahi${lib.optionalString withLibdnssdCompat "-compat"}";
|
pname = "avahi${lib.optionalString withLibdnssdCompat "-compat"}";
|
||||||
|
@ -26,45 +30,72 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1npdixwxxn3s9q1f365x9n9rc5xgfz39hxf23faqvlrklgbhj0q6";
|
sha256 = "1npdixwxxn3s9q1f365x9n9rc5xgfz39hxf23faqvlrklgbhj0q6";
|
||||||
};
|
};
|
||||||
|
|
||||||
prePatch = ''
|
|
||||||
substituteInPlace configure \
|
|
||||||
--replace pkg-config "$PKG_CONFIG"
|
|
||||||
'';
|
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./no-mkdir-localstatedir.patch
|
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://github.com/lathiat/avahi/commit/9d31939e55280a733d930b15ac9e4dda4497680c.patch";
|
url = "https://github.com/lathiat/avahi/commit/9d31939e55280a733d930b15ac9e4dda4497680c.patch";
|
||||||
sha256 = "sha256-BXWmrLWUvDxKPoIPRFBpMS3T4gijRw0J+rndp6iDybU=";
|
sha256 = "sha256-BXWmrLWUvDxKPoIPRFBpMS3T4gijRw0J+rndp6iDybU=";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [ libdaemon dbus glib expat libiconv libevent ]
|
depsBuildBuild = [
|
||||||
++ (with perlPackages; [ perl XMLParser ])
|
pkg-config
|
||||||
++ (lib.optional gtk3Support gtk3)
|
];
|
||||||
++ (lib.optional qt4Support qt4)
|
|
||||||
++ (lib.optional qt5Support qt5);
|
|
||||||
|
|
||||||
propagatedBuildInputs =
|
nativeBuildInputs = [
|
||||||
lib.optionals withPython (with python.pkgs; [ python pygobject3 dbus-python ]);
|
pkg-config
|
||||||
|
gettext
|
||||||
|
glib
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config pkg-config-helper gettext intltool glib ];
|
buildInputs = [
|
||||||
|
libdaemon
|
||||||
|
dbus
|
||||||
|
glib
|
||||||
|
expat
|
||||||
|
libiconv
|
||||||
|
libevent
|
||||||
|
] ++ (with perlPackages; [
|
||||||
|
perl
|
||||||
|
XMLParser
|
||||||
|
]) ++ lib.optionals gtk3Support [
|
||||||
|
gtk3
|
||||||
|
] ++ lib.optionals qt5Support [
|
||||||
|
qt5
|
||||||
|
];
|
||||||
|
|
||||||
configureFlags =
|
propagatedBuildInputs = lib.optionals withPython (with python.pkgs; [
|
||||||
[ "--disable-qt3" "--disable-gdbm" "--disable-mono"
|
python
|
||||||
"--disable-gtk" "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
|
pygobject3
|
||||||
(lib.enableFeature gtk3Support "gtk3")
|
dbus-python
|
||||||
"--${if qt4Support then "enable" else "disable"}-qt4"
|
]);
|
||||||
"--${if qt5Support then "enable" else "disable"}-qt5"
|
|
||||||
(lib.enableFeature withPython "python")
|
configureFlags = [
|
||||||
"--localstatedir=/var" "--with-distro=none"
|
"--disable-gdbm"
|
||||||
# A systemd unit is provided by the avahi-daemon NixOS module
|
"--disable-mono"
|
||||||
"--with-systemdsystemunitdir=no" ]
|
# Use non-deprecated path https://github.com/lathiat/avahi/pull/376
|
||||||
++ lib.optional withLibdnssdCompat "--enable-compat-libdns_sd"
|
"--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
|
||||||
|
(lib.enableFeature gtk3Support "gtk3")
|
||||||
|
(lib.enableFeature qt5Support "qt5")
|
||||||
|
(lib.enableFeature withPython "python")
|
||||||
|
"--localstatedir=/var"
|
||||||
|
"--runstatedir=/run"
|
||||||
|
"--sysconfdir=/etc"
|
||||||
|
"--with-distro=none"
|
||||||
|
# A systemd unit is provided by the avahi-daemon NixOS module
|
||||||
|
"--with-systemdsystemunitdir=no"
|
||||||
|
] ++ lib.optionals withLibdnssdCompat [
|
||||||
|
"--enable-compat-libdns_sd"
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
# autoipd won't build on darwin
|
# autoipd won't build on darwin
|
||||||
++ lib.optional stdenv.isDarwin "--disable-autoipd";
|
"--disable-autoipd"
|
||||||
|
];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-DAVAHI_SERVICE_DIR=\"/etc/avahi/services\"";
|
installFlags = [
|
||||||
|
# Override directories to install into the package.
|
||||||
|
# Replace with runstatedir once is merged https://github.com/lathiat/avahi/pull/377
|
||||||
|
"avahi_runtime_dir=${placeholder "out"}/run"
|
||||||
|
"sysconfdir=${placeholder "out"}/etc"
|
||||||
|
];
|
||||||
|
|
||||||
preBuild = lib.optionalString stdenv.isDarwin ''
|
preBuild = lib.optionalString stdenv.isDarwin ''
|
||||||
sed -i '20 i\
|
sed -i '20 i\
|
||||||
|
@ -73,14 +104,10 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall =
|
postInstall =
|
||||||
# Maintain compat for mdnsresponder and howl
|
# Maintain compat for mdnsresponder
|
||||||
lib.optionalString withLibdnssdCompat ''
|
lib.optionalString withLibdnssdCompat ''
|
||||||
ln -s avahi-compat-libdns_sd/dns_sd.h "$out/include/dns_sd.h"
|
ln -s avahi-compat-libdns_sd/dns_sd.h "$out/include/dns_sd.h"
|
||||||
'';
|
'';
|
||||||
/* # these don't exist (anymore?)
|
|
||||||
ln -s avahi-compat-howl $out/include/howl
|
|
||||||
ln -s avahi-compat-howl.pc $out/lib/pkgconfig/howl.pc
|
|
||||||
*/
|
|
||||||
|
|
||||||
passthru.tests = {
|
passthru.tests = {
|
||||||
smoke-test = nixosTests.avahi;
|
smoke-test = nixosTests.avahi;
|
||||||
|
@ -89,9 +116,9 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "mDNS/DNS-SD implementation";
|
description = "mDNS/DNS-SD implementation";
|
||||||
homepage = "http://avahi.org";
|
homepage = "http://avahi.org";
|
||||||
license = licenses.lgpl2Plus;
|
license = licenses.lgpl2Plus;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ lovek323 globin ];
|
maintainers = with maintainers; [ lovek323 globin ];
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
Don't "mkdir $(localstatedir)" since we can't do it (/var).
|
|
||||||
|
|
||||||
--- a/avahi-daemon/Makefile.in
|
|
||||||
+++ b/avahi-daemon/Makefile.in
|
|
||||||
@@ -1625,7 +1625,6 @@ xmllint:
|
|
||||||
done
|
|
||||||
|
|
||||||
install-data-local:
|
|
||||||
- test -z "$(avahi_runtime_dir)" || $(MKDIR_P) "$(DESTDIR)$(avahi_runtime_dir)"
|
|
||||||
|
|
||||||
update-systemd:
|
|
||||||
curl http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.c > sd-daemon.c
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ lib, stdenv
|
{ stdenv
|
||||||
, fetchpatch
|
, lib
|
||||||
, substituteAll
|
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, python3
|
, python3
|
||||||
|
@ -15,23 +14,15 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fontconfig";
|
pname = "fontconfig";
|
||||||
version = "2.13.94";
|
version = "2.14.0";
|
||||||
|
|
||||||
|
outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.freedesktop.org/software/fontconfig/release/${pname}-${version}.tar.xz";
|
url = "https://www.freedesktop.org/software/fontconfig/release/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0g004r0bkkqz00mpm3svnnxn7d83158q0yb9ggxryizxfg5m5w55";
|
sha256 = "3L64TJx0u/2xM9U1/hx77cnyIhqNrzkUuYTETFIOm6w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Fix font style detection
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/92fbf14b0d7c4737ffe1e8326b7ab8ffae5548c3.patch";
|
|
||||||
sha256 = "1wmyax2151hg3m11q61mv25k45zk2w3xapb4p1r6wzk91zjlsgyr";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
gperf
|
gperf
|
||||||
|
|
|
@ -15,8 +15,13 @@ stdenv.mkDerivation {
|
||||||
sourceRoot = "svn-r1900/FreeImage/trunk";
|
sourceRoot = "svn-r1900/FreeImage/trunk";
|
||||||
|
|
||||||
# Ensure that the bundled libraries are not used at all
|
# Ensure that the bundled libraries are not used at all
|
||||||
prePatch = "rm -rf Source/Lib* Source/OpenEXR Source/ZLib";
|
prePatch = ''
|
||||||
patches = [ ./unbundle.diff ];
|
rm -rf Source/Lib* Source/OpenEXR Source/ZLib
|
||||||
|
'';
|
||||||
|
patches = [
|
||||||
|
./unbundle.diff
|
||||||
|
./libtiff-4.4.0.diff
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# To support cross compilation, use the correct `pkg-config`.
|
# To support cross compilation, use the correct `pkg-config`.
|
||||||
|
|
15
pkgs/development/libraries/freeimage/libtiff-4.4.0.diff
Normal file
15
pkgs/development/libraries/freeimage/libtiff-4.4.0.diff
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Fix build with libtiff 4.4.0 by not using a private libtiff API.
|
||||||
|
Patch by Kurt Schwehr: https://sourceforge.net/p/freeimage/discussion/36109/thread/2018fdc6e7/
|
||||||
|
|
||||||
|
diff -ru a/Source/Metadata/XTIFF.cpp b/Source/Metadata/XTIFF.cpp
|
||||||
|
--- a/Source/Metadata/XTIFF.cpp
|
||||||
|
+++ b/Source/Metadata/XTIFF.cpp
|
||||||
|
@@ -749,7 +749,7 @@
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// type of storage may differ (e.g. rationnal array vs float array type)
|
||||||
|
- if((unsigned)_TIFFDataSize(tif_tag_type) != FreeImage_TagDataWidth(tag_type)) {
|
||||||
|
+ if((unsigned)TIFFFieldSetGetSize(fld) != FreeImage_TagDataWidth(tag_type)) {
|
||||||
|
// skip tag or _TIFFmemcpy will fail
|
||||||
|
continue;
|
||||||
|
}
|
|
@ -5,7 +5,8 @@
|
||||||
, guileBindings ? config.gnutls.guile or false, guile
|
, guileBindings ? config.gnutls.guile or false, guile
|
||||||
, tpmSupport ? false, trousers, which, nettools, libunistring
|
, tpmSupport ? false, trousers, which, nettools, libunistring
|
||||||
, withP11-kit ? !stdenv.hostPlatform.isStatic, p11-kit
|
, withP11-kit ? !stdenv.hostPlatform.isStatic, p11-kit
|
||||||
, withSecurity ? false, Security # darwin Security.framework
|
, withSecurity ? true, Security # darwin Security.framework
|
||||||
|
# certificate compression - only zlib now, more possible: zstd, brotli
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert guileBindings -> guile != null;
|
assert guileBindings -> guile != null;
|
||||||
|
@ -21,11 +22,11 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnutls";
|
pname = "gnutls";
|
||||||
version = "3.7.3";
|
version = "3.7.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz";
|
url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz";
|
||||||
sha256 = "16n4yvw3792gcdxkikjmhddr6cbs4wlk027zfxlhmchsqcxw8ngw";
|
sha256 = "1zv2097v9f6f4c66q7yn3c6gggjk9jz38095ma7v3gs5lccmf1kp";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "man" "devdoc" ];
|
outputs = [ "bin" "dev" "out" "man" "devdoc" ];
|
||||||
|
@ -35,6 +36,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
patches = [ ./nix-ssl-cert-file.patch ]
|
patches = [ ./nix-ssl-cert-file.patch ]
|
||||||
# Disable native add_system_trust.
|
# Disable native add_system_trust.
|
||||||
|
# FIXME: apparently it's not enough to drop the framework anymore; maybe related to
|
||||||
|
# https://gitlab.com/gnutls/gnutls/-/commit/c19cb93d492e45141bfef9b926dfeba36003261c
|
||||||
++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch;
|
++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch;
|
||||||
|
|
||||||
# Skip some tests:
|
# Skip some tests:
|
||||||
|
@ -73,7 +76,6 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [ lzo lzip libtasn1 libidn2 zlib gmp libunistring unbound gettext libiconv ]
|
buildInputs = [ lzo lzip libtasn1 libidn2 zlib gmp libunistring unbound gettext libiconv ]
|
||||||
++ lib.optional (withP11-kit) p11-kit
|
++ lib.optional (withP11-kit) p11-kit
|
||||||
++ lib.optional (isDarwin && withSecurity) Security
|
|
||||||
++ lib.optional (tpmSupport && stdenv.isLinux) trousers
|
++ lib.optional (tpmSupport && stdenv.isLinux) trousers
|
||||||
++ lib.optional guileBindings guile;
|
++ lib.optional guileBindings guile;
|
||||||
|
|
||||||
|
@ -81,7 +83,9 @@ stdenv.mkDerivation rec {
|
||||||
++ lib.optionals (isDarwin && !withSecurity) [ autoconf automake ]
|
++ lib.optionals (isDarwin && !withSecurity) [ autoconf automake ]
|
||||||
++ lib.optionals doCheck [ which nettools util-linux ];
|
++ lib.optionals doCheck [ which nettools util-linux ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ nettle ];
|
propagatedBuildInputs = [ nettle ]
|
||||||
|
# Builds dynamically linking against gnutls seem to need the framework now.
|
||||||
|
++ lib.optional (isDarwin && withSecurity) Security;
|
||||||
|
|
||||||
inherit doCheck;
|
inherit doCheck;
|
||||||
# stdenv's `NIX_SSL_CERT_FILE=/no-cert-file.crt` breaks tests.
|
# stdenv's `NIX_SSL_CERT_FILE=/no-cert-file.crt` breaks tests.
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
, cairo
|
, cairo
|
||||||
, gnome
|
, gnome
|
||||||
, substituteAll
|
, substituteAll
|
||||||
|
, buildPackages
|
||||||
|
, gobject-introspection-unwrapped
|
||||||
, nixStoreDir ? builtins.storeDir
|
, nixStoreDir ? builtins.storeDir
|
||||||
, x11Support ? true
|
, x11Support ? true
|
||||||
}:
|
}:
|
||||||
|
@ -67,7 +69,7 @@ stdenv.mkDerivation rec {
|
||||||
docbook_xml_dtd_45
|
docbook_xml_dtd_45
|
||||||
python3
|
python3
|
||||||
setupHook # move .gir files
|
setupHook # move .gir files
|
||||||
];
|
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ gobject-introspection-unwrapped ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
python3
|
python3
|
||||||
|
@ -86,7 +88,11 @@ stdenv.mkDerivation rec {
|
||||||
"--datadir=${placeholder "dev"}/share"
|
"--datadir=${placeholder "dev"}/share"
|
||||||
"-Ddoctool=disabled"
|
"-Ddoctool=disabled"
|
||||||
"-Dcairo=disabled"
|
"-Dcairo=disabled"
|
||||||
"-Dgtk_doc=true"
|
"-Dgtk_doc=${lib.boolToString (stdenv.hostPlatform == stdenv.buildPlatform)}"
|
||||||
|
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||||
|
"-Dgi_cross_ldd_wrapper=${buildPackages.prelink}/bin/prelink-rtld"
|
||||||
|
"-Dgi_cross_use_prebuilt_gi=true"
|
||||||
|
"-Dgi_cross_binary_wrapper=${stdenv.hostPlatform.emulator buildPackages}"
|
||||||
];
|
];
|
||||||
|
|
||||||
doCheck = !stdenv.isAarch64;
|
doCheck = !stdenv.isAarch64;
|
||||||
|
@ -97,6 +103,10 @@ stdenv.mkDerivation rec {
|
||||||
patchShebangs tools/*
|
patchShebangs tools/*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
postInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||||
|
cp -r ${buildPackages.gobject-introspection-unwrapped.devdoc} $devdoc
|
||||||
|
'';
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
# Our gobject-introspection patches make the shared library paths absolute
|
# Our gobject-introspection patches make the shared library paths absolute
|
||||||
# in the GIR files. When running tests, the library is not yet installed,
|
# in the GIR files. When running tests, the library is not yet installed,
|
||||||
|
@ -122,7 +132,7 @@ stdenv.mkDerivation rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A middleware layer between C libraries and language bindings";
|
description = "A middleware layer between C libraries and language bindings";
|
||||||
homepage = "https://gi.readthedocs.io/";
|
homepage = "https://gi.readthedocs.io/";
|
||||||
maintainers = teams.gnome.members ++ (with maintainers; [ lovek323 ]);
|
maintainers = teams.gnome.members ++ (with maintainers; [ lovek323 artturin ]);
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = with licenses; [ gpl2 lgpl2 ];
|
license = with licenses; [ gpl2 lgpl2 ];
|
||||||
|
|
||||||
|
|
29
pkgs/development/libraries/gobject-introspection/wrapper.nix
Normal file
29
pkgs/development/libraries/gobject-introspection/wrapper.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, buildPackages
|
||||||
|
, gobject-introspection-unwrapped
|
||||||
|
, targetPackages
|
||||||
|
}:
|
||||||
|
|
||||||
|
# to build, run
|
||||||
|
# `nix build ".#pkgsCross.aarch64-multiplatform.buildPackages.gobject-introspection"`
|
||||||
|
gobject-introspection-unwrapped.overrideAttrs (_previousAttrs: {
|
||||||
|
pname = "gobject-introspection-wrapped";
|
||||||
|
postFixup = ''
|
||||||
|
mv $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped
|
||||||
|
mv $dev/bin/g-ir-scanner $dev/bin/.g-ir-scanner-wrapped
|
||||||
|
|
||||||
|
(
|
||||||
|
export bash="${buildPackages.bash}/bin/bash"
|
||||||
|
export emulator=${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)}
|
||||||
|
export buildprelink="${buildPackages.prelink}/bin/prelink-rtld"
|
||||||
|
|
||||||
|
export targetgir="${lib.getDev targetPackages.gobject-introspection-unwrapped}"
|
||||||
|
|
||||||
|
substituteAll "${./wrappers/g-ir-compiler.sh}" "$dev/bin/g-ir-compiler"
|
||||||
|
substituteAll "${./wrappers/g-ir-scanner.sh}" "$dev/bin/g-ir-scanner"
|
||||||
|
chmod +x "$dev/bin/g-ir-compiler"
|
||||||
|
chmod +x "$dev/bin/g-ir-scanner"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
})
|
|
@ -0,0 +1,4 @@
|
||||||
|
#! @bash@
|
||||||
|
# shellcheck shell=bash
|
||||||
|
|
||||||
|
exec @emulator@ @targetgir@/bin/g-ir-compiler "$@"
|
|
@ -0,0 +1,7 @@
|
||||||
|
#! @bash@
|
||||||
|
# shellcheck shell=bash
|
||||||
|
|
||||||
|
exec @dev@/bin/.g-ir-scanner-wrapped \
|
||||||
|
--use-binary-wrapper=@emulator@ \
|
||||||
|
--use-ldd-wrapper=@buildprelink@ \
|
||||||
|
"$@"
|
|
@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0xslckwdh2i0g2qjsb6rnm8mjmbagvziz0hjlf7d1lbljfms1iw1";
|
sha256 = "0xslckwdh2i0g2qjsb6rnm8mjmbagvziz0hjlf7d1lbljfms1iw1";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoconf automake ];
|
strictDeps = true;
|
||||||
buildInputs = [ libtool ];
|
nativeBuildInputs = [ autoconf automake libtool ];
|
||||||
|
|
||||||
preConfigure = "./autogen.sh";
|
preConfigure = "./autogen.sh";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
{ lib, stdenv, fetchzip, yasm, perl, cmake, pkg-config, python3 }:
|
{ lib, stdenv, fetchzip, yasm, perl, cmake, pkg-config, python3
|
||||||
|
, enableButteraugli ? false, libjxl # Broken
|
||||||
|
, enableVmaf ? true, libvmaf
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libaom";
|
pname = "libaom";
|
||||||
|
@ -16,6 +19,9 @@ stdenv.mkDerivation rec {
|
||||||
yasm perl cmake pkg-config python3
|
yasm perl cmake pkg-config python3
|
||||||
];
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = lib.optional enableButteraugli libjxl
|
||||||
|
++ lib.optional enableVmaf libvmaf;
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
# build uses `git describe` to set the build version
|
# build uses `git describe` to set the build version
|
||||||
cat > $NIX_BUILD_TOP/git << "EOF"
|
cat > $NIX_BUILD_TOP/git << "EOF"
|
||||||
|
@ -32,6 +38,10 @@ stdenv.mkDerivation rec {
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DBUILD_SHARED_LIBS=ON"
|
"-DBUILD_SHARED_LIBS=ON"
|
||||||
"-DENABLE_TESTS=OFF"
|
"-DENABLE_TESTS=OFF"
|
||||||
|
] ++ lib.optionals enableButteraugli [
|
||||||
|
"-DCONFIG_TUNE_BUTTERAUGLI=1"
|
||||||
|
] ++ lib.optionals enableVmaf [
|
||||||
|
"-DCONFIG_TUNE_VMAF=1"
|
||||||
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
||||||
# CPU detection isn't supported on Darwin and breaks the aarch64-darwin build:
|
# CPU detection isn't supported on Darwin and breaks the aarch64-darwin build:
|
||||||
"-DCONFIG_RUNTIME_CPU_DETECT=0"
|
"-DCONFIG_RUNTIME_CPU_DETECT=0"
|
||||||
|
@ -58,7 +68,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
homepage = "https://aomedia.org/av1-features/get-started/";
|
homepage = "https://aomedia.org/av1-features/get-started/";
|
||||||
changelog = "https://aomedia.googlesource.com/aom/+/refs/tags/v${version}/CHANGELOG";
|
changelog = "https://aomedia.googlesource.com/aom/+/refs/tags/v${version}/CHANGELOG";
|
||||||
maintainers = with maintainers; [ primeos kiloreux ];
|
maintainers = with maintainers; [ primeos kiloreux dandellion ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libdrm";
|
pname = "libdrm";
|
||||||
version = "2.4.110";
|
version = "2.4.111";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz";
|
url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0dwpry9m5l27dlhq48j4bsiqwm0247cxdqwv3b7ddmkynk2f9kpf";
|
sha256 = "1adjg96mz0ghjzsgp9hrdr622shrvqmjcz5sxksfcka2fx7idmqs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
|
|
|
@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
configurePlatforms = [ "build" "host" ];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-gcc-arch=generic" # no detection of -march= or -mtune=
|
"--with-gcc-arch=generic" # no detection of -march= or -mtune=
|
||||||
"--enable-pax_emutramp"
|
"--enable-pax_emutramp"
|
||||||
|
|
|
@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
# Beware: non-bootstrap libidn2 is overridden by ./hack.nix
|
||||||
outputs = [ "bin" "dev" "out" "info" "devdoc" ];
|
outputs = [ "bin" "dev" "out" "info" "devdoc" ];
|
||||||
|
|
||||||
patches = optional stdenv.isDarwin ./fix-error-darwin.patch;
|
patches = optional stdenv.isDarwin ./fix-error-darwin.patch;
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
{ stdenv, lib, libidn2, libunistring, runCommandLocal, patchelf }:
|
||||||
|
# Construct a copy of libidn2.* where all (transitive) libc references (in .bin)
|
||||||
|
# get replaced by a new one, so that there's no reference to bootstrap tools.
|
||||||
|
runCommandLocal
|
||||||
|
"${libidn2.pname}-${libidn2.version}"
|
||||||
|
{
|
||||||
|
outputs = [ "bin" "dev" "out" ];
|
||||||
|
passthru = {
|
||||||
|
inherit (libidn2) out info devdoc; # no need to touch these store paths
|
||||||
|
};
|
||||||
|
}
|
||||||
|
''
|
||||||
|
cp -r '${libidn2.bin}' "$bin"
|
||||||
|
chmod +w "$bin"/bin/*
|
||||||
|
patchelf \
|
||||||
|
--set-interpreter '${stdenv.cc.bintools.dynamicLinker}' \
|
||||||
|
--set-rpath '${lib.concatMapStringsSep ":" (p: lib.getLib p + "/lib")
|
||||||
|
[ stdenv.cc.libc libunistring libidn2 ]}' \
|
||||||
|
"$bin"/bin/*
|
||||||
|
|
||||||
|
cp -r '${libidn2.dev}' "$dev"
|
||||||
|
chmod +w "$dev"/nix-support/propagated-build-inputs
|
||||||
|
substituteInPlace "$dev"/nix-support/propagated-build-inputs \
|
||||||
|
--replace '${libidn2.bin}' "$bin"
|
||||||
|
substituteInPlace "$dev"/lib/pkgconfig/libidn2.pc \
|
||||||
|
--replace '${libidn2.dev}' "$dev"
|
||||||
|
|
||||||
|
ln -s '${libidn2.out}' "$out" # it's hard to be without any $out
|
||||||
|
''
|
||||||
|
|
|
@ -45,7 +45,7 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libinput";
|
pname = "libinput";
|
||||||
version = "1.20.1";
|
version = "1.21.0";
|
||||||
|
|
||||||
outputs = [ "bin" "out" "dev" ];
|
outputs = [ "bin" "out" "dev" ];
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "libinput";
|
owner = "libinput";
|
||||||
repo = "libinput";
|
repo = "libinput";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "eujnabUaeNEJC/tPPhwcNS9sqDIorF52RjfqKBotbmc=";
|
sha256 = "R94BdrjI4szNbVtQ+ydRNUg9clR8mkRL7+GE9b2FcDs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libipt";
|
pname = "libipt";
|
||||||
version = "2.0.4";
|
version = "2.0.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "intel";
|
owner = "intel";
|
||||||
repo = "libipt";
|
repo = "libipt";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-KhRmRoIHvpx5rV7roCnUH+a7JtPb6UqD41Wi4wHSR1c=";
|
sha256 = "sha256-W7Hvc2zkmR6FdPGsymWXtm66BiHLcW9r7mywHjabeLc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
{ stdenv, lib, fetchFromGitHub
|
{ stdenv, lib, fetchFromGitHub
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, asciidoc
|
|
||||||
, brotli
|
, brotli
|
||||||
, cmake
|
, cmake
|
||||||
, graphviz
|
|
||||||
, doxygen
|
|
||||||
, giflib
|
, giflib
|
||||||
, gperftools
|
, gperftools
|
||||||
, gtest
|
, gtest
|
||||||
|
@ -14,8 +11,12 @@
|
||||||
, libwebp
|
, libwebp
|
||||||
, openexr
|
, openexr
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, python3
|
|
||||||
, zlib
|
, zlib
|
||||||
|
, buildDocs ? true
|
||||||
|
, asciidoc
|
||||||
|
, graphviz
|
||||||
|
, doxygen
|
||||||
|
, python3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -50,13 +51,14 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
asciidoc # for docs
|
|
||||||
cmake
|
cmake
|
||||||
graphviz # for docs via doxygen component `dot`
|
|
||||||
doxygen # for docs
|
|
||||||
gtest
|
gtest
|
||||||
pkg-config
|
pkg-config
|
||||||
python3 # for docs
|
] ++ lib.optionals buildDocs [
|
||||||
|
asciidoc
|
||||||
|
graphviz
|
||||||
|
doxygen
|
||||||
|
python3
|
||||||
];
|
];
|
||||||
|
|
||||||
# Functionality not currently provided by this package
|
# Functionality not currently provided by this package
|
||||||
|
@ -76,10 +78,8 @@ stdenv.mkDerivation rec {
|
||||||
# conclusively in its README or otherwise; they can best be determined
|
# conclusively in its README or otherwise; they can best be determined
|
||||||
# by checking the CMake output for "Could NOT find".
|
# by checking the CMake output for "Could NOT find".
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
brotli
|
|
||||||
giflib
|
giflib
|
||||||
gperftools # provides `libtcmalloc`
|
gperftools # provides `libtcmalloc`
|
||||||
libhwy
|
|
||||||
libjpeg
|
libjpeg
|
||||||
libpng
|
libpng
|
||||||
libwebp
|
libwebp
|
||||||
|
@ -87,6 +87,11 @@ stdenv.mkDerivation rec {
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
brotli
|
||||||
|
libhwy
|
||||||
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
# For C dependencies like brotli, which are dynamically linked,
|
# For C dependencies like brotli, which are dynamically linked,
|
||||||
# we want to use the system libraries, so that we don't have to care about
|
# we want to use the system libraries, so that we don't have to care about
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libnetfilter_cthelper";
|
pname = "libnetfilter_cthelper";
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://netfilter.org/projects/libnetfilter_cthelper/files/${pname}-${version}.tar.bz2";
|
url = "https://netfilter.org/projects/libnetfilter_cthelper/files/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "07618e71c4d9a6b6b3dc1986540486ee310a9838ba754926c7d14a17d8fccf3d";
|
sha256 = "sha256-FAc9VIcjOJc1XT/wTdwcjQPMW6jSNWI2qogWGp8tyRI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
buildInputs = [ libmnl ];
|
buildInputs = [ libmnl ];
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libnetfilter_cttimeout";
|
pname = "libnetfilter_cttimeout";
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://netfilter.org/projects/libnetfilter_cttimeout/files/${pname}-${version}.tar.bz2";
|
url = "https://netfilter.org/projects/libnetfilter_cttimeout/files/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "aeab12754f557cba3ce2950a2029963d817490df7edb49880008b34d7ff8feba";
|
sha256 = "sha256-C1naLzIE4cgMuF0fbXIoX8B7AaL1Z4q/Xcz7vv1lAyU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
buildInputs = [ libmnl ];
|
buildInputs = [ libmnl ];
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "librsvg";
|
pname = "librsvg";
|
||||||
version = "2.54.3";
|
version = "2.54.4";
|
||||||
|
|
||||||
outputs = [ "out" "dev" "installedTests" ] ++ lib.optionals withIntrospection [
|
outputs = [ "out" "dev" "installedTests" ] ++ lib.optionals withIntrospection [
|
||||||
"devdoc"
|
"devdoc"
|
||||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "ZhWPLvRt3iYAJoRsTaEC5KndTlKTAQ8wlJxswm3W7+g=";
|
sha256 = "6hUqJD9qQ8DgNqKMcN4/y83qVmTGgRx4WSvCKezCSDM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoVendorDir = "vendor";
|
cargoVendorDir = "vendor";
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libseccomp";
|
pname = "libseccomp";
|
||||||
version = "2.5.3";
|
version = "2.5.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
|
url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
|
||||||
sha256 = "sha256-WQZchzM2RyXpchukjDqZu8Uq+SHa9I30seAS+8exCnY=";
|
sha256 = "sha256-2CkCQAQFzwBoV07z3B/l9ZJiB1Q7oa5vjnoVdjUdy9s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "lib" "dev" "man" "pythonsrc" ];
|
outputs = [ "out" "lib" "dev" "man" "pythonsrc" ];
|
||||||
|
|
|
@ -25,11 +25,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libtiff";
|
pname = "libtiff";
|
||||||
version = "4.3.0";
|
version = "4.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
|
url = "https://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
|
||||||
sha256 = "1j3snghqjbhwmnm5vz3dr1zm68dj15mgbx1wqld7vkl7n2nfaihf";
|
sha256 = "1vdbk3sc497c58kxmp02irl6nqkfm9rjs3br7g59m59qfnrj6wli";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -38,61 +38,6 @@ stdenv.mkDerivation rec {
|
||||||
# libc++abi 11 has an `#include <version>`, this picks up files name
|
# libc++abi 11 has an `#include <version>`, this picks up files name
|
||||||
# `version` in the project's include paths
|
# `version` in the project's include paths
|
||||||
./rename-version.patch
|
./rename-version.patch
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-22844.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/03047a26952a82daaa0792957ce211e0aa51bc64.patch";
|
|
||||||
sha256 = "0cfih55f5qpc84mvlwsffik80bgz6drkflkhrdyqq8m84jw3mbwb";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-0561.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch";
|
|
||||||
sha256 = "0m57fdxyvhhr9cc260lvkkn2g4zr4n4v9nricc6lf9h6diagd7mk";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-0562.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/561599c99f987dc32ae110370cfdd7df7975586b.patch";
|
|
||||||
sha256 = "0ycirjjc1vigj03kwjb92n6jszsl9p17ccw5hry7lli9gxyyr0an";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-0891.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/46dc8fcd4d38c3b6f35ab28e532aee80e6f609d6.patch";
|
|
||||||
sha256 = "1zn2pgsmbrjx3g2bpdggvwwbp6i348mikwlx4ws482h2379vmyj1";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-0865.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/5e18004500cda10d9074bdb6166b054e95b659ed.patch";
|
|
||||||
sha256 = "131b9ial6avl2agwk31wp2jkrx59955f4r0dikx1jdaywqb7zhd1";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-0924.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/408976c44ef0aad975e0d1b6c6dc80d60f9dc665.patch";
|
|
||||||
sha256 = "1aqaynp74ijxr3rizvbyz23ncs71pbbcw5src1zv46473sy55s8p";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-0907.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/f2b656e2e64adde07a6cffd5c8e96bd81a850fea.patch";
|
|
||||||
sha256 = "0nsplq671qx0f35qww9mx27raqp3nvslz8iv7f3hxdgldylmh2vs";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-0909.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/f8d0f9aa1ba04c9ae3bfe869a18141a8b8117ad7.patch";
|
|
||||||
sha256 = "1plhk6ildl16bp0k3wvzfd4a97hqfqfbbn7vjinsaasf4v0x3q5j";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-0908.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/a95b799f65064e4ba2e2dfc206808f86faf93e85.patch";
|
|
||||||
sha256 = "0i61kkjaixdn2p933lpma9s6i0772vhxjxxcwyqagw96lmszrcm7";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-1354.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/87f580f39011109b3bb5f6eca13fac543a542798.patch";
|
|
||||||
sha256 = "0171c662xiv3295x4wsq6qq0v90js51j54vsl7wm043kjkrp1fsb";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2022-1355.patch";
|
|
||||||
url = "https://gitlab.com/libtiff/libtiff/-/commit/c1ae29f9ebacd29b7c3e0c7db671af7db3584bc2.patch";
|
|
||||||
sha256 = "1y75c72s41pl39d5zr5pmkiyfrancllv8fbl10zvc67pg3qjq4v8";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -21,11 +21,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libxkbcommon";
|
pname = "libxkbcommon";
|
||||||
version = "1.4.0";
|
version = "1.4.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://xkbcommon.org/download/${pname}-${version}.tar.xz";
|
url = "https://xkbcommon.org/download/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0ca00awfzvxiznvd4mgwgxyqxiwvi07j5xxmg5z0l47rcd9fqv0h";
|
sha256 = "0fbb2dyjvf71p42y2jmwdcylsvj03w52f5rb23c2d00rwahhfg4l";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "doc" ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "onig";
|
pname = "onig";
|
||||||
version = "6.9.7.1";
|
version = "6.9.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kkos";
|
owner = "kkos";
|
||||||
repo = "oniguruma";
|
repo = "oniguruma";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-IBWxmzmVdKTkHbfy7V8ejpeIdfOU/adGwpUTCMdLU3w=";
|
sha256 = "sha256-8aFZdhh6ovLCR0A17rvWq/Oif66rSMnHcCYHjClNElw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook ];
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
|
|
|
@ -186,8 +186,8 @@ in {
|
||||||
|
|
||||||
|
|
||||||
openssl_1_1 = common rec {
|
openssl_1_1 = common rec {
|
||||||
version = "1.1.1o";
|
version = "1.1.1p";
|
||||||
sha256 = "sha256-k4SisFcN2ANYhBRkZ3EV33he25QccSEfdQdtcv5rQ48=";
|
sha256 = "sha256-v2G2Kqpmx8djmUKpTeTJroKAwI8X1OrC5EZE2fyKzm8=";
|
||||||
patches = [
|
patches = [
|
||||||
./1.1/nix-ssl-cert-file.patch
|
./1.1/nix-ssl-cert-file.patch
|
||||||
|
|
||||||
|
@ -201,8 +201,8 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
openssl_3 = common {
|
openssl_3 = common {
|
||||||
version = "3.0.3";
|
version = "3.0.4";
|
||||||
sha256 = "sha256-7gB4rc7x3l8APGLIDMllJ3IWCcbzu0K3eV3zH4tVjAs=";
|
sha256 = "sha256-KDGEPppmigq0eOcCCtY9LWXlH3KXdHLcc+/O+6/AwA8=";
|
||||||
patches = [
|
patches = [
|
||||||
./3.0/nix-ssl-cert-file.patch
|
./3.0/nix-ssl-cert-file.patch
|
||||||
|
|
||||||
|
|
|
@ -59,9 +59,10 @@ stdenv.mkDerivation rec {
|
||||||
"--sysconfdir=/etc"
|
"--sysconfdir=/etc"
|
||||||
"--localstatedir=/var"
|
"--localstatedir=/var"
|
||||||
"--with-trust-paths=${lib.concatStringsSep ":" [
|
"--with-trust-paths=${lib.concatStringsSep ":" [
|
||||||
"/etc/ssl/trust-source" # p11-kit trust source
|
"/etc/ssl/trust-source" # p11-kit trust source
|
||||||
"/etc/ssl/certs/ca-certificates.crt" # NixOS + Debian/Ubuntu/Arch/Gentoo...
|
"/etc/ssl/certs/ca-certificates.crt" # NixOS + Debian/Ubuntu/Arch/Gentoo...
|
||||||
"/etc/pki/tls/certs/ca-bundle.crt" # Fedora/CentOS
|
"/etc/pki/tls/certs/ca-bundle.crt" # Fedora/CentOS
|
||||||
|
"/var/lib/ca-certificates/ca-bundle.pem" # openSUSE
|
||||||
]}"
|
]}"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
, jsonschema
|
, jsonschema
|
||||||
, mock
|
, mock
|
||||||
, parameterized
|
, parameterized
|
||||||
|
, pytest-env
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, pyyaml
|
, pyyaml
|
||||||
|
@ -13,7 +14,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aws-sam-translator";
|
pname = "aws-sam-translator";
|
||||||
version = "1.42.0";
|
version = "1.46.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
@ -22,7 +23,7 @@ buildPythonPackage rec {
|
||||||
owner = "aws";
|
owner = "aws";
|
||||||
repo = "serverless-application-model";
|
repo = "serverless-application-model";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-pjcRsmxPL4lbgDopW+wKQRkRcqebLPTd95JTL8PiWtc=";
|
sha256 = "sha256-SLGxpRbTuK+Lxww45dfHIMwwxV5vhlnYyG4WqG45aNg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -41,6 +42,7 @@ buildPythonPackage rec {
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
mock
|
mock
|
||||||
parameterized
|
parameterized
|
||||||
|
pytest-env
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
pyyaml
|
pyyaml
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,21 +1,38 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, setuptools }:
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bottle";
|
pname = "bottle";
|
||||||
version = "0.12.19";
|
version = "0.12.21";
|
||||||
|
|
||||||
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "a9d73ffcbc6a1345ca2d7949638db46349f5b2b77dac65d6494d45c23628da2c";
|
sha256 = "787c61b6cc02b9c229bf2663011fac53dd8fc197f7f8ad2eeede29d888d7887e";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ setuptools ];
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
cd test
|
||||||
|
'';
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
"test_delete_cookie"
|
||||||
|
"test_error"
|
||||||
|
"test_error_in_generator_callback"
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "http://bottlepy.org";
|
homepage = "https://bottlepy.org/";
|
||||||
description = "A fast and simple micro-framework for small web-applications";
|
description = "A fast and simple micro-framework for small web-applications";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ koral ];
|
maintainers = with maintainers; [ koral ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,13 +15,12 @@
|
||||||
, build
|
, build
|
||||||
, python
|
, python
|
||||||
, requests
|
, requests
|
||||||
, toml
|
|
||||||
, virtualenv
|
, virtualenv
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "hatchling";
|
pname = "hatchling";
|
||||||
version = "0.25.0";
|
version = "1.0.0";
|
||||||
in
|
in
|
||||||
buildPythonPackage {
|
buildPythonPackage {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
@ -29,7 +28,7 @@ buildPythonPackage {
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-k/bjZvGaOjZshVr6w3Jb7XaC1dAOlIaraFQKCth2ZII=";
|
sha256 = "d235a5fa8aff89e8d9d6d4033594aa4c3bc00ec5e31d3e80c153bfcf951b4f98";
|
||||||
};
|
};
|
||||||
|
|
||||||
# listed in backend/src/hatchling/ouroboros.py
|
# listed in backend/src/hatchling/ouroboros.py
|
||||||
|
@ -38,9 +37,10 @@ buildPythonPackage {
|
||||||
packaging
|
packaging
|
||||||
pathspec
|
pathspec
|
||||||
pluggy
|
pluggy
|
||||||
tomli
|
|
||||||
] ++ lib.optionals (pythonOlder "3.8") [
|
] ++ lib.optionals (pythonOlder "3.8") [
|
||||||
importlib-metadata
|
importlib-metadata
|
||||||
|
] ++ lib.optionals (pythonOlder "3.11") [
|
||||||
|
tomli
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
|
@ -56,7 +56,6 @@ buildPythonPackage {
|
||||||
build
|
build
|
||||||
packaging
|
packaging
|
||||||
requests
|
requests
|
||||||
toml
|
|
||||||
virtualenv
|
virtualenv
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -72,7 +71,7 @@ buildPythonPackage {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Modern, extensible Python build backend";
|
description = "Modern, extensible Python build backend";
|
||||||
homepage = "https://ofek.dev/hatch/latest/";
|
homepage = "https://hatch.pypa.io/latest/";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ hexa ofek ];
|
maintainers = with maintainers; [ hexa ofek ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
|
||||||
# Build dependencies
|
# Build dependencies
|
||||||
, glibcLocales
|
, setuptools
|
||||||
|
|
||||||
# Runtime dependencies
|
# Runtime dependencies
|
||||||
, appnope
|
, appnope
|
||||||
|
@ -27,17 +27,17 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ipython";
|
pname = "ipython";
|
||||||
version = "8.2.0";
|
version = "8.4.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-cOXrEyysWUo0tfeZvSUliQCZBfBRBHKK6mpAPsJRncE=";
|
sha256 = "f2db3a10254241d9b447232cec8b424847f338d9d36f9a577a6192c332a46abd";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
glibcLocales
|
setuptools
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -55,8 +55,6 @@ buildPythonPackage rec {
|
||||||
appnope
|
appnope
|
||||||
];
|
];
|
||||||
|
|
||||||
LC_ALL="en_US.UTF-8";
|
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"IPython"
|
"IPython"
|
||||||
];
|
];
|
||||||
|
@ -74,7 +72,10 @@ buildPythonPackage rec {
|
||||||
testpath
|
testpath
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTests = lib.optionals (stdenv.isDarwin) [
|
disabledTests = [
|
||||||
|
# UnboundLocalError: local variable 'child' referenced before assignment
|
||||||
|
"test_system_interrupt"
|
||||||
|
] ++ lib.optionals (stdenv.isDarwin) [
|
||||||
# FileNotFoundError: [Errno 2] No such file or directory: 'pbpaste'
|
# FileNotFoundError: [Errno 2] No such file or directory: 'pbpaste'
|
||||||
"test_clipboard_get"
|
"test_clipboard_get"
|
||||||
];
|
];
|
||||||
|
@ -82,6 +83,7 @@ buildPythonPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "IPython: Productive Interactive Computing";
|
description = "IPython: Productive Interactive Computing";
|
||||||
homepage = "https://ipython.org/";
|
homepage = "https://ipython.org/";
|
||||||
|
changelog = "https://github.com/ipython/ipython/blob/${version}/docs/source/whatsnew/version${lib.versions.major version}.rst";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = with maintainers; [ bjornfor fridh ];
|
maintainers = with maintainers; [ bjornfor fridh ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
|
, fetchpatch
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
|
@ -22,6 +23,14 @@ import ./generic.nix (rec {
|
||||||
sha256 = "sha256-dQJTmTm1PXVl89Edh8eOfskA08cpRdTuDi8lDVmDCaA=";
|
sha256 = "sha256-dQJTmTm1PXVl89Edh8eOfskA08cpRdTuDi8lDVmDCaA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fix failing test with libtiff 4.4.0
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/python-pillow/Pillow/commit/40a918d274182b7d7c063d7797fb77d967982c4a.patch";
|
||||||
|
sha256 = "sha256-f8m3Xt3V3pHggK1JEc2tnPmrTVPFjfV4YJqwE1KM1pA=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
passthru.tests = {
|
passthru.tests = {
|
||||||
inherit imageio matplotlib pilkit pydicom reportlab;
|
inherit imageio matplotlib pilkit pydicom reportlab;
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
, version
|
, version
|
||||||
, disabled
|
, disabled
|
||||||
, src
|
, src
|
||||||
|
, patches ? []
|
||||||
, meta
|
, meta
|
||||||
, passthru ? {}
|
, passthru ? {}
|
||||||
, ...
|
, ...
|
||||||
|
@ -10,7 +11,7 @@
|
||||||
with args;
|
with args;
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
inherit pname version src meta passthru;
|
inherit pname version src meta passthru patches;
|
||||||
|
|
||||||
# Disable imagefont tests, because they don't work well with infinality:
|
# Disable imagefont tests, because they don't work well with infinality:
|
||||||
# https://github.com/python-pillow/Pillow/issues/1259
|
# https://github.com/python-pillow/Pillow/issues/1259
|
||||||
|
|
|
@ -14,14 +14,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pip";
|
pname = "pip";
|
||||||
version = "22.0.4";
|
version = "22.1.2";
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pypa";
|
owner = "pypa";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-gtDaopeFVpVFXpBtHDzBuZuXUrJciSSIppYXBx1anu4=";
|
sha256 = "sha256-Id/oz0e59WWpafR1cIYIogvOgxKGKVqrwNON32BU9zU=";
|
||||||
name = "${pname}-${version}-source";
|
name = "${pname}-${version}-source";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
, pysigma
|
, pysigma
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
, pythonRelaxDepsHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
|
@ -23,12 +24,17 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
poetry-core
|
poetry-core
|
||||||
|
pythonRelaxDepsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
pysigma
|
pysigma
|
||||||
];
|
];
|
||||||
|
|
||||||
|
pythonRelaxDeps = [
|
||||||
|
"pysigma"
|
||||||
|
];
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, pythonOlder
|
|
||||||
, brotli
|
|
||||||
, brotlicffi
|
, brotlicffi
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, certifi
|
, certifi
|
||||||
|
@ -9,24 +7,22 @@
|
||||||
, charset-normalizer
|
, charset-normalizer
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, idna
|
, idna
|
||||||
, isPy27
|
|
||||||
, isPy3k
|
|
||||||
, pysocks
|
, pysocks
|
||||||
, pytest-mock
|
, pytest-mock
|
||||||
, pytest-xdist
|
, pytest-xdist
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
, urllib3
|
, urllib3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "requests";
|
pname = "requests";
|
||||||
version = "2.27.1";
|
version = "2.28.0";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-aNfFb9WomZiHco7zBKbRLtx7508c+kdxT8i0FFJcmmE=";
|
hash = "sha256-1WhyOn69JYddjR6vXfoGjNL8gZSy5IPXsffIGRjb7Gs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -59,9 +55,6 @@ buildPythonPackage rec {
|
||||||
]
|
]
|
||||||
++ passthru.optional-dependencies.socks;
|
++ passthru.optional-dependencies.socks;
|
||||||
|
|
||||||
# AttributeError: 'KeywordMapping' object has no attribute 'get'
|
|
||||||
doCheck = !isPy27;
|
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
# Disable tests that require network access and use httpbin
|
# Disable tests that require network access and use httpbin
|
||||||
"requests.api.request"
|
"requests.api.request"
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
, python
|
, python
|
||||||
, bootstrapped-pip
|
, bootstrapped-pip
|
||||||
, lib
|
, lib
|
||||||
|
@ -27,6 +28,14 @@ let
|
||||||
patches = [
|
patches = [
|
||||||
./tag-date.patch
|
./tag-date.patch
|
||||||
./setuptools-distutils-C++.patch
|
./setuptools-distutils-C++.patch
|
||||||
|
# Use sysconfigdata to find headers. Fixes cross-compilation of extension modules.
|
||||||
|
# https://github.com/pypa/distutils/pull/145
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/pypa/distutils/commit/aed7294b7b0c228cc0666a8b04f2959bf310ab57.patch";
|
||||||
|
hash = "sha256-/9+TKv0nllBfnj48zcXLrOgyBj52dBIVbrpnIaQ4O84=";
|
||||||
|
stripLen = 2;
|
||||||
|
extraPrefix = "setuptools/_distutils/";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
|
|
@ -52,7 +52,7 @@ buildPythonPackage rec {
|
||||||
substituteInPlace setup.py \
|
substituteInPlace setup.py \
|
||||||
--replace "docutils>=0.14,<0.18" "docutils>=0.14"
|
--replace "docutils>=0.14,<0.18" "docutils>=0.14"
|
||||||
|
|
||||||
# remove impurity caused by date inclusion
|
# remove impurity caused by date inclusion
|
||||||
# https://github.com/sphinx-doc/sphinx/blob/master/setup.cfg#L4-L6
|
# https://github.com/sphinx-doc/sphinx/blob/master/setup.cfg#L4-L6
|
||||||
substituteInPlace setup.cfg \
|
substituteInPlace setup.cfg \
|
||||||
--replace "tag_build = .dev" "" \
|
--replace "tag_build = .dev" "" \
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
, cython
|
, cython
|
||||||
, setuptools-scm
|
, setuptools-scm
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
|
, ApplicationServices
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
|
@ -31,6 +32,8 @@ buildPythonPackage rec {
|
||||||
setuptools-scm
|
setuptools-scm
|
||||||
];
|
];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals stdenv.isDarwin [ ApplicationServices ];
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
|
@ -42,6 +45,5 @@ buildPythonPackage rec {
|
||||||
homepage = "https://github.com/harfbuzz/uharfbuzz";
|
homepage = "https://github.com/harfbuzz/uharfbuzz";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ wolfangaukang ];
|
maintainers = with maintainers; [ wolfangaukang ];
|
||||||
broken = stdenv.isDarwin;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,20 @@ stdenv.mkDerivation rec {
|
||||||
url = "https://bugsfiles.kde.org/attachment.cgi?id=148912";
|
url = "https://bugsfiles.kde.org/attachment.cgi?id=148912";
|
||||||
sha256 = "Za+7K93pgnuEUQ+jDItEzWlN0izhbynX2crSOXBBY/I=";
|
sha256 = "Za+7K93pgnuEUQ+jDItEzWlN0izhbynX2crSOXBBY/I=";
|
||||||
})
|
})
|
||||||
|
# Fix build on armv7l.
|
||||||
|
# https://bugs.kde.org/show_bug.cgi?id=454346
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://bugsfiles.kde.org/attachment.cgi?id=149172";
|
||||||
|
sha256 = "sha256-4MASLsEK8wcshboR4YOc6mIt7AvAgDPvqIZyHqlvTEs=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://bugsfiles.kde.org/attachment.cgi?id=149173";
|
||||||
|
sha256 = "sha256-jX9hD4utWRebbXMJYZ5mu9jecvdrNP05E5J+PnKRTyQ=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://bugsfiles.kde.org/attachment.cgi?id=149174";
|
||||||
|
sha256 = "sha256-f1YIFIhWhXYVw3/UNEWewDak2mvbAd3aGzK4B+wTlys=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "out" "dev" "man" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "aws-sam-cli";
|
pname = "aws-sam-cli";
|
||||||
version = "1.37.0";
|
version = "1.52.0";
|
||||||
|
|
||||||
src = python3.pkgs.fetchPypi {
|
src = python3.pkgs.fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-XE3g2mKwAiaJvi0ShVScnCKrmz7ujaQgOeFXuYwtP4g=";
|
hash = "sha256-ldr0X+I5+Nfb+WBDOe0m202WOuccGUI5HFL3fpbBNPo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
@ -36,15 +36,23 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
wrapProgram $out/bin/sam --set SAM_CLI_TELEMETRY 0
|
wrapProgram $out/bin/sam --set SAM_CLI_TELEMETRY 0
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Click 8.1 removed `get_terminal_size`, recommending
|
||||||
|
# `shutil.get_terminal_size` instead.
|
||||||
|
# (https://github.com/pallets/click/pull/2130)
|
||||||
|
./support-click-8-1.patch
|
||||||
|
];
|
||||||
|
|
||||||
# fix over-restrictive version bounds
|
# fix over-restrictive version bounds
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace requirements/base.txt \
|
substituteInPlace requirements/base.txt \
|
||||||
--replace "aws_lambda_builders==" "aws-lambda-builders #" \
|
--replace "aws_lambda_builders==" "aws-lambda-builders #" \
|
||||||
--replace "click~=7.1" "click~=8.0" \
|
--replace "click~=7.1" "click~=8.1" \
|
||||||
--replace "dateparser~=1.0" "dateparser>=0.7" \
|
--replace "dateparser~=1.0" "dateparser>=0.7" \
|
||||||
--replace "docker~=4.2.0" "docker>=4.2.0" \
|
--replace "docker~=4.2.0" "docker>=4.2.0" \
|
||||||
--replace "Flask~=1.1.2" "Flask~=2.0" \
|
--replace "Flask~=1.1.2" "Flask~=2.0" \
|
||||||
--replace "jmespath~=0.10.0" "jmespath" \
|
--replace "jmespath~=0.10.0" "jmespath" \
|
||||||
|
--replace "MarkupSafe==2.0.1" "MarkupSafe #" \
|
||||||
--replace "PyYAML~=5.3" "PyYAML #" \
|
--replace "PyYAML~=5.3" "PyYAML #" \
|
||||||
--replace "regex==" "regex #" \
|
--replace "regex==" "regex #" \
|
||||||
--replace "requests==" "requests #" \
|
--replace "requests==" "requests #" \
|
||||||
|
|
21
pkgs/development/tools/aws-sam-cli/support-click-8-1.patch
Normal file
21
pkgs/development/tools/aws-sam-cli/support-click-8-1.patch
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
diff --git a/samcli/commands/_utils/table_print.py b/samcli/commands/_utils/table_print.py
|
||||||
|
index de63af29..a9d0f2fe 100644
|
||||||
|
--- a/samcli/commands/_utils/table_print.py
|
||||||
|
+++ b/samcli/commands/_utils/table_print.py
|
||||||
|
@@ -7,6 +7,7 @@ from functools import wraps
|
||||||
|
from typing import Sized
|
||||||
|
|
||||||
|
import click
|
||||||
|
+import shutil
|
||||||
|
|
||||||
|
MIN_OFFSET = 20
|
||||||
|
|
||||||
|
@@ -30,7 +31,7 @@ def pprint_column_names(
|
||||||
|
|
||||||
|
def pprint_wrap(func):
|
||||||
|
# Calculate terminal width, number of columns in the table
|
||||||
|
- width, _ = click.get_terminal_size()
|
||||||
|
+ width, _ = shutil.get_terminal_size()
|
||||||
|
# For UX purposes, set a minimum width for the table to be usable
|
||||||
|
# and usable_width keeps margins in mind.
|
||||||
|
width = max(width, min_width)
|
|
@ -0,0 +1,5 @@
|
||||||
|
add_meson_exe_wrapper_cross_flag() {
|
||||||
|
mesonFlagsArray+=(--cross-file=@crossFile@)
|
||||||
|
}
|
||||||
|
|
||||||
|
preConfigureHooks+=(add_meson_exe_wrapper_cross_flag)
|
|
@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0j3jdjpf5ly39dlp0bg70h72nzqr059k0x8iqxvaxf106chpgn9j";
|
sha256 = "0j3jdjpf5ly39dlp0bg70h72nzqr059k0x8iqxvaxf106chpgn9j";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ m4 perl ];
|
strictDeps = true;
|
||||||
|
nativeBuildInputs = [ m4 perl ];
|
||||||
|
buildInputs = [ m4 ];
|
||||||
|
|
||||||
# Work around a known issue in Cygwin. See
|
# Work around a known issue in Cygwin. See
|
||||||
# http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
|
# http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
|
||||||
|
|
|
@ -18,7 +18,9 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
patches = [ ./fix-test-autoconf-2.69.patch ./fix-perl-5.26.patch ];
|
patches = [ ./fix-test-autoconf-2.69.patch ./fix-perl-5.26.patch ];
|
||||||
|
|
||||||
buildInputs = [ perl autoconf ];
|
strictDeps = true;
|
||||||
|
nativeBuildInputs = [ perl autoconf ];
|
||||||
|
buildInputs = [ autoconf ];
|
||||||
|
|
||||||
# Disable indented log output from Make, otherwise "make.test" will
|
# Disable indented log output from Make, otherwise "make.test" will
|
||||||
# fail.
|
# fail.
|
||||||
|
|
|
@ -7,11 +7,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "help2man";
|
pname = "help2man";
|
||||||
version = "1.49.1";
|
version = "1.49.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
|
url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-/ZmmZOxL6ahqDdiXGZifFPNnqcB5110OHXHhinu1GwM=";
|
sha256 = "sha256-ni4OITp+CjYkTu1iBNkCtlBGAqV4tuzRUmixRU3q3TY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, buildPackages, ncurses }:
|
{ lib, stdenv, fetchFromGitHub, fetchpatch, buildPackages, ncurses }:
|
||||||
|
|
||||||
let dialect = with lib; last (splitString "-" stdenv.hostPlatform.system); in
|
let dialect = with lib; last (splitString "-" stdenv.hostPlatform.system); in
|
||||||
|
|
||||||
|
@ -16,7 +16,17 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0yxv2jg6rnzys49lyrz9yjb4knamah4xvlqj596y6ix3vm4k3chp";
|
sha256 = "0yxv2jg6rnzys49lyrz9yjb4knamah4xvlqj596y6ix3vm4k3chp";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./no-build-info.patch ];
|
patches = [
|
||||||
|
./no-build-info.patch
|
||||||
|
|
||||||
|
# Pull upstream fix for -fno-common toolchains:
|
||||||
|
# https://github.com/lsof-org/lsof/pull/221
|
||||||
|
(fetchpatch {
|
||||||
|
name = "fno-common.patch";
|
||||||
|
url = "https://github.com/lsof-org/lsof/commit/80e7c890585deec02c527dbcf42bc0e5d8d7c534.patch";
|
||||||
|
sha256 = "17xshi7j7af9nli1zjk1m5f4il2ajvvhw7lii8g8d27rkkgyb8g6";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = lib.optionalString stdenv.hostPlatform.isMusl ''
|
postPatch = lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
substituteInPlace dialects/linux/dlsof.h --replace "defined(__UCLIBC__)" 1
|
substituteInPlace dialects/linux/dlsof.h --replace "defined(__UCLIBC__)" 1
|
||||||
|
|
|
@ -1,22 +1,54 @@
|
||||||
{ lib, stdenv, fetchurl, libelf }:
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchgit
|
||||||
|
, autoreconfHook
|
||||||
|
, libelf
|
||||||
|
, libiberty
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "prelink";
|
pname = "prelink";
|
||||||
version = "20130503";
|
version = "unstable-2019-06-24";
|
||||||
|
|
||||||
buildInputs = [
|
src = fetchgit {
|
||||||
libelf stdenv.cc.libc (lib.getOutput "static" stdenv.cc.libc)
|
url = "https://git.yoctoproject.org/git/prelink-cross";
|
||||||
|
branchName = "cross_prelink";
|
||||||
|
rev = "f9975537dbfd9ade0fc813bd5cf5fcbe41753a37";
|
||||||
|
sha256 = "sha256-O9/oZooLRyUBBZX3SFcB6LFMmi2vQqkUlqtZnrq5oZc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
configurePlatforms = [ "build" "host" ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
];
|
];
|
||||||
|
|
||||||
src = fetchurl {
|
buildInputs = [
|
||||||
url = "https://people.redhat.com/jakub/prelink/prelink-${version}.tar.bz2";
|
stdenv.cc.libc
|
||||||
sha256 = "1w20f6ilqrz8ca51qhrn1n13h7q1r34k09g33d6l2vwvbrhcffb3";
|
libelf
|
||||||
};
|
libiberty
|
||||||
|
];
|
||||||
|
|
||||||
meta = {
|
# Disable some tests because they're failing
|
||||||
homepage = "https://people.redhat.com/jakub/prelink/";
|
preCheck = ''
|
||||||
license = "GPL";
|
for f in reloc2 layout1 unprel1 tls3 cxx2 cxx3 quick1 quick2 deps1 deps2; do
|
||||||
|
echo '#' > testsuite/''${f}.sh
|
||||||
|
done
|
||||||
|
patchShebangs --build testsuite
|
||||||
|
'';
|
||||||
|
|
||||||
|
# most tests fail
|
||||||
|
doCheck = !stdenv.isAarch64;
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
meta = with lib;{
|
||||||
description = "ELF prelinking utility to speed up dynamic linking";
|
description = "ELF prelinking utility to speed up dynamic linking";
|
||||||
platforms = lib.platforms.linux;
|
homepage = "https://wiki.yoctoproject.org/wiki/Cross-Prelink";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ artturin ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "rust-cbindgen";
|
pname = "rust-cbindgen";
|
||||||
version = "0.24.2";
|
version = "0.24.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "eqrion";
|
owner = "eqrion";
|
||||||
repo = "cbindgen";
|
repo = "cbindgen";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-7nl2VHw4l0hUVLs4fAnmkVaxTFRe3OcUwHXMqf/cH40=";
|
hash = "sha256-v5g6/ul6mJtzC4O4WlNopPtFUSbx2Jv79mZL72mucws=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256:0q99vy5k57phi80viqhkw8cyw7kglap1yf6m8n25n4knf7z9l119";
|
cargoSha256 = "sha256-j3/2cFjSDkx0TXCaxYSCLrBbAHrJfJ6hwBcXlDedwh8=";
|
||||||
|
|
||||||
buildInputs = lib.optional stdenv.isDarwin Security;
|
buildInputs = lib.optional stdenv.isDarwin Security;
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
, cmake
|
, cmake
|
||||||
, curl
|
, curl
|
||||||
, nasm
|
, nasm
|
||||||
, openmpt123
|
, libopenmpt
|
||||||
, p7zip
|
, p7zip
|
||||||
, libgme
|
, libgme
|
||||||
, libpng
|
, libpng
|
||||||
|
@ -50,7 +50,7 @@ in stdenv.mkDerivation rec {
|
||||||
curl
|
curl
|
||||||
libgme
|
libgme
|
||||||
libpng
|
libpng
|
||||||
openmpt123
|
libopenmpt
|
||||||
SDL2
|
SDL2
|
||||||
SDL2_mixer
|
SDL2_mixer
|
||||||
zlib
|
zlib
|
||||||
|
@ -59,7 +59,7 @@ in stdenv.mkDerivation rec {
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DSRB2_ASSET_DIRECTORY=/build/source/assets"
|
"-DSRB2_ASSET_DIRECTORY=/build/source/assets"
|
||||||
"-DGME_INCLUDE_DIR=${libgme}/include"
|
"-DGME_INCLUDE_DIR=${libgme}/include"
|
||||||
"-DOPENMPT_INCLUDE_DIR=${openmpt123}/include"
|
"-DOPENMPT_INCLUDE_DIR=${libopenmpt.dev}/include"
|
||||||
"-DSDL2_MIXER_INCLUDE_DIR=${SDL2_mixer}/include/SDL2"
|
"-DSDL2_MIXER_INCLUDE_DIR=${SDL2_mixer}/include/SDL2"
|
||||||
"-DSDL2_INCLUDE_DIR=${SDL2.dev}/include/SDL2"
|
"-DSDL2_INCLUDE_DIR=${SDL2.dev}/include/SDL2"
|
||||||
];
|
];
|
||||||
|
|
|
@ -11,7 +11,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
fuse_3 = mkFuse {
|
fuse_3 = mkFuse {
|
||||||
version = "3.10.5";
|
version = "3.11.0";
|
||||||
sha256Hash = "1yxh85m8fnn3w21f6g6vza7k2giizmyhcbkms4rmkcd2dd2rzk3y";
|
sha256Hash = "1wx80xxlvjn0wxhmkr1g91vwrgxssyzds1hizzxc2xrd4kjh9dfb";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,33 @@
|
||||||
{ lib, stdenv, fetchurl, pkg-config, pruneLibtoolFiles, flex, bison
|
{ lib, stdenv, fetchurl, pkg-config, pruneLibtoolFiles, flex, bison
|
||||||
, libmnl, libnetfilter_conntrack, libnfnetlink, libnftnl, libpcap
|
, libmnl, libnetfilter_conntrack, libnfnetlink, libnftnl, libpcap
|
||||||
, nftablesCompat ? true
|
, nftablesCompat ? true
|
||||||
|
, fetchpatch
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.8.7";
|
version = "1.8.8";
|
||||||
pname = "iptables";
|
pname = "iptables";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
|
url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "1w6qx3sxzkv80shk21f63rq41c84irpx68k62m2cv629n1mwj2f1";
|
sha256 = "sha256-ccdYidxxBnZjFVPrFRHaAXe7qvG1USZbkS0jbD9RhZ8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# xshared: Fix build for -Werror=format-security
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://git.netfilter.org/iptables/patch/?id=b72eb12ea5a61df0655ad99d5048994e916be83a";
|
||||||
|
sha256 = "sha256-pnamqOagwNWoiwlxPnKCqSc2N7MP/eZlT7JiE09c8OE=";
|
||||||
|
})
|
||||||
|
# treewide: use uint* instead of u_int*
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://git.netfilter.org/iptables/patch/?id=f319389525b066b7dc6d389c88f16a0df3b8f189";
|
||||||
|
sha256 = "sha256-rOxCEWZoI8Ac5fQDp286YHAwvreUAoDVAbomboKrGyM=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" "man" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config pruneLibtoolFiles flex bison ];
|
nativeBuildInputs = [ pkg-config pruneLibtoolFiles flex bison ];
|
||||||
|
|
||||||
buildInputs = [ libmnl libnetfilter_conntrack libnfnetlink libnftnl libpcap ];
|
buildInputs = [ libmnl libnetfilter_conntrack libnfnetlink libnftnl libpcap ];
|
||||||
|
@ -28,11 +42,9 @@ stdenv.mkDerivation rec {
|
||||||
"--enable-libipq"
|
"--enable-libipq"
|
||||||
"--enable-nfsynproxy"
|
"--enable-nfsynproxy"
|
||||||
"--enable-shared"
|
"--enable-shared"
|
||||||
] ++ optional (!nftablesCompat) "--disable-nftables";
|
] ++ lib.optional (!nftablesCompat) "--disable-nftables";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
postInstall = lib.optionalString nftablesCompat ''
|
||||||
|
|
||||||
postInstall = optionalString nftablesCompat ''
|
|
||||||
rm $out/sbin/{iptables,iptables-restore,iptables-save,ip6tables,ip6tables-restore,ip6tables-save}
|
rm $out/sbin/{iptables,iptables-restore,iptables-save,ip6tables,ip6tables-restore,ip6tables-save}
|
||||||
ln -sv xtables-nft-multi $out/bin/iptables
|
ln -sv xtables-nft-multi $out/bin/iptables
|
||||||
ln -sv xtables-nft-multi $out/bin/iptables-restore
|
ln -sv xtables-nft-multi $out/bin/iptables-restore
|
||||||
|
@ -42,7 +54,7 @@ stdenv.mkDerivation rec {
|
||||||
ln -sv xtables-nft-multi $out/bin/ip6tables-save
|
ln -sv xtables-nft-multi $out/bin/ip6tables-save
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
description = "A program to configure the Linux IP packet filtering ruleset";
|
description = "A program to configure the Linux IP packet filtering ruleset";
|
||||||
homepage = "https://www.netfilter.org/projects/iptables/index.html";
|
homepage = "https://www.netfilter.org/projects/iptables/index.html";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|
|
@ -93,6 +93,9 @@ in {
|
||||||
};
|
};
|
||||||
patches = [
|
patches = [
|
||||||
./no-relocs.patch # for building x86 kernel headers on non-ELF platforms
|
./no-relocs.patch # for building x86 kernel headers on non-ELF platforms
|
||||||
|
|
||||||
|
# 5.19 backport. Can be removed on update.
|
||||||
|
./restore-__bitwise__.patch
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
https://github.com/torvalds/linux/commit/caa28984163cb63ea0be4cb8dbf05defdc7303f9
|
||||||
|
|
||||||
|
Fixes openiscsi build.
|
||||||
|
--- a/include/uapi/linux/types.h
|
||||||
|
+++ b/include/uapi/linux/types.h
|
||||||
|
@@ -26,6 +26,9 @@
|
||||||
|
#define __bitwise
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/* The kernel doesn't use this legacy form, but user space does */
|
||||||
|
+#define __bitwise__ __bitwise
|
||||||
|
+
|
||||||
|
typedef __u16 __bitwise __le16;
|
||||||
|
typedef __u16 __bitwise __be16;
|
||||||
|
typedef __u32 __bitwise __le32;
|
|
@ -1,9 +1,14 @@
|
||||||
{ lib, stdenv, buildPackages
|
{ lib
|
||||||
, fetchurl, linuxHeaders, libiconvReal
|
, stdenv
|
||||||
|
, buildPackages
|
||||||
|
, fetchurl
|
||||||
|
, linuxHeaders
|
||||||
|
, libiconvReal
|
||||||
, extraConfig ? ""
|
, extraConfig ? ""
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
isCross = (stdenv.buildPlatform != stdenv.hostPlatform);
|
||||||
configParser = ''
|
configParser = ''
|
||||||
function parseconfig {
|
function parseconfig {
|
||||||
set -x
|
set -x
|
||||||
|
@ -36,12 +41,13 @@ let
|
||||||
UCLIBC_HAS_RPC y
|
UCLIBC_HAS_RPC y
|
||||||
DO_C99_MATH y
|
DO_C99_MATH y
|
||||||
UCLIBC_HAS_PROGRAM_INVOCATION_NAME y
|
UCLIBC_HAS_PROGRAM_INVOCATION_NAME y
|
||||||
|
UCLIBC_HAS_RESOLVER_SUPPORT y
|
||||||
UCLIBC_SUSV4_LEGACY y
|
UCLIBC_SUSV4_LEGACY y
|
||||||
UCLIBC_HAS_THREADS_NATIVE y
|
UCLIBC_HAS_THREADS_NATIVE y
|
||||||
KERNEL_HEADERS "${linuxHeaders}/include"
|
KERNEL_HEADERS "${linuxHeaders}/include"
|
||||||
'' + lib.optionalString (stdenv.hostPlatform.gcc.float or "" == "soft") ''
|
'' + lib.optionalString (stdenv.hostPlatform.gcc.float or "" == "soft") ''
|
||||||
UCLIBC_HAS_FPU n
|
UCLIBC_HAS_FPU n
|
||||||
'' + lib.optionalString (stdenv.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) ''
|
'' + lib.optionalString (stdenv.isAarch32 && isCross) ''
|
||||||
CONFIG_ARM_EABI y
|
CONFIG_ARM_EABI y
|
||||||
ARCH_WANTS_BIG_ENDIAN n
|
ARCH_WANTS_BIG_ENDIAN n
|
||||||
ARCH_BIG_ENDIAN n
|
ARCH_BIG_ENDIAN n
|
||||||
|
@ -49,18 +55,14 @@ let
|
||||||
ARCH_LITTLE_ENDIAN y
|
ARCH_LITTLE_ENDIAN y
|
||||||
UCLIBC_HAS_FPU n
|
UCLIBC_HAS_FPU n
|
||||||
'';
|
'';
|
||||||
|
|
||||||
version = "1.0.38";
|
|
||||||
in
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "uclibc-ng";
|
pname = "uclibc-ng";
|
||||||
inherit version;
|
version = "1.0.41";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.uclibc-ng.org/releases/${version}/uClibc-ng-${version}.tar.bz2";
|
url = "https://downloads.uclibc-ng.org/releases/${version}/uClibc-ng-${version}.tar.xz";
|
||||||
# from "${url}.sha256";
|
sha256 = "sha256-syqSoCGNlZItaXZGTm71Hi66z7zbYFggRY2du4ph4CU=";
|
||||||
sha256 = "sha256-7wexvOOfDpIsM3XcdhHxESz7GsOW+ZkiA0dfiN5rHrU=";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# 'ftw' needed to build acl, a coreutils dependency
|
# 'ftw' needed to build acl, a coreutils dependency
|
||||||
|
@ -78,7 +80,7 @@ stdenv.mkDerivation {
|
||||||
hardeningDisable = [ "stackprotector" ];
|
hardeningDisable = [ "stackprotector" ];
|
||||||
|
|
||||||
# Cross stripping hurts.
|
# Cross stripping hurts.
|
||||||
dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
|
dontStrip = isCross;
|
||||||
|
|
||||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||||
|
|
||||||
|
@ -86,7 +88,7 @@ stdenv.mkDerivation {
|
||||||
"ARCH=${stdenv.hostPlatform.linuxArch}"
|
"ARCH=${stdenv.hostPlatform.linuxArch}"
|
||||||
"TARGET_ARCH=${stdenv.hostPlatform.linuxArch}"
|
"TARGET_ARCH=${stdenv.hostPlatform.linuxArch}"
|
||||||
"VERBOSE=1"
|
"VERBOSE=1"
|
||||||
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
] ++ lib.optionals (isCross) [
|
||||||
"CROSS=${stdenv.cc.targetPrefix}"
|
"CROSS=${stdenv.cc.targetPrefix}"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -95,24 +97,45 @@ stdenv.mkDerivation {
|
||||||
enableParallelBuilding = false;
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
make $makeFlags PREFIX=$out VERBOSE=1 install
|
make $makeFlags PREFIX=$out VERBOSE=1 install
|
||||||
(cd $out/include && ln -s $(ls -d ${linuxHeaders}/include/* | grep -v "scsi$") .)
|
(cd $out/include && ln -s $(ls -d ${linuxHeaders}/include/* | grep -v "scsi$") .)
|
||||||
# libpthread.so may not exist, so I do || true
|
# libpthread.so may not exist, so I do || true
|
||||||
sed -i s@/lib/@$out/lib/@g $out/lib/libc.so $out/lib/libpthread.so || true
|
sed -i s@/lib/@$out/lib/@g $out/lib/libc.so $out/lib/libpthread.so || true
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
runHook postInstall
|
||||||
# Derivations may check for the existance of this attribute, to know what to link to.
|
'';
|
||||||
libiconv = libiconvReal;
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://uclibc-ng.org";
|
homepage = "https://uclibc-ng.org";
|
||||||
description = "A small implementation of the C library";
|
description = "Embedded C library";
|
||||||
maintainers = with maintainers; [ rasendubi ];
|
longDescription = ''
|
||||||
license = licenses.lgpl2;
|
uClibc-ng is a small C library for developing embedded Linux systems. It
|
||||||
|
is much smaller than the GNU C Library, but nearly all applications
|
||||||
|
supported by glibc also work perfectly with uClibc-ng.
|
||||||
|
|
||||||
|
Porting applications from glibc to uClibc-ng typically involves just
|
||||||
|
recompiling the source code. uClibc-ng supports shared libraries and
|
||||||
|
threading. It currently runs on standard Linux and MMU-less (also known as
|
||||||
|
uClinux) systems with support for Aarch64, Alpha, ARC, ARM, AVR32,
|
||||||
|
Blackfin, CRIS, C-Sky, C6X, FR-V, H8/300, HPPA, i386, IA64, KVX, LM32,
|
||||||
|
M68K/Coldfire, Metag, Microblaze, MIPS, MIPS64, NDS32, NIOS2, OpenRISC,
|
||||||
|
PowerPC, RISCV64, Sparc, Sparc64, SuperH, Tile, X86_64 and XTENSA
|
||||||
|
processors. Alpha, FR-V, HPPA, IA64, LM32, NIOS2, Tile and Sparc64 are
|
||||||
|
experimental and need more testing.
|
||||||
|
'';
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
|
maintainers = with maintainers; [ rasendubi AndersonTorres ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
broken = stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64;
|
badPlatforms = platforms.aarch64;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
# Derivations may check for the existance of this attribute, to know what to
|
||||||
|
# link to.
|
||||||
|
libiconv = libiconvReal;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,9 +1,8 @@
|
||||||
{ config, stdenv, lib, fetchurl, fetchpatch
|
{ config, stdenv, lib, fetchurl, fetchpatch
|
||||||
, perl, pkg-config
|
, perl, pkg-config
|
||||||
, libcap, libtool, libxml2, openssl, libuv, nghttp2, jemalloc
|
, libcap, libtool, libxml2, openssl, libuv, nghttp2, jemalloc
|
||||||
, enableGSSAPI ? true, libkrb5
|
|
||||||
, enablePython ? false, python3
|
, enablePython ? false, python3
|
||||||
, enableSeccomp ? false, libseccomp
|
, enableGSSAPI ? true, libkrb5
|
||||||
, buildPackages, nixosTests
|
, buildPackages, nixosTests
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -25,7 +24,6 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [ perl pkg-config ];
|
nativeBuildInputs = [ perl pkg-config ];
|
||||||
buildInputs = [ libtool libxml2 openssl libuv nghttp2 jemalloc ]
|
buildInputs = [ libtool libxml2 openssl libuv nghttp2 jemalloc ]
|
||||||
++ lib.optional stdenv.isLinux libcap
|
++ lib.optional stdenv.isLinux libcap
|
||||||
++ lib.optional enableSeccomp libseccomp
|
|
||||||
++ lib.optional enableGSSAPI libkrb5
|
++ lib.optional enableGSSAPI libkrb5
|
||||||
++ lib.optional enablePython (python3.withPackages (ps: with ps; [ ply ]));
|
++ lib.optional enablePython (python3.withPackages (ps: with ps; [ ply ]));
|
||||||
|
|
||||||
|
@ -33,25 +31,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--localstatedir=/var"
|
"--localstatedir=/var"
|
||||||
"--with-libtool"
|
|
||||||
(if enablePython then "--with-python" else "--without-python")
|
|
||||||
"--without-atf"
|
|
||||||
"--without-dlopen"
|
|
||||||
"--without-docbook-xsl"
|
|
||||||
"--without-idn"
|
|
||||||
"--without-idnlib"
|
|
||||||
"--without-lmdb"
|
"--without-lmdb"
|
||||||
"--without-libjson"
|
] ++ lib.optional enableGSSAPI "--with-gssapi=${libkrb5.dev}/bin/krb5-config"
|
||||||
"--without-pkcs11"
|
|
||||||
"--without-purify"
|
|
||||||
"--with-randomdev=/dev/random"
|
|
||||||
"--with-ecdsa"
|
|
||||||
"--with-gost"
|
|
||||||
"--without-eddsa"
|
|
||||||
"--with-aes"
|
|
||||||
] ++ lib.optional stdenv.isLinux "--with-libcap=${libcap.dev}"
|
|
||||||
++ lib.optional enableSeccomp "--enable-seccomp"
|
|
||||||
++ lib.optional enableGSSAPI "--with-gssapi=${libkrb5.dev}/bin/krb5-config"
|
|
||||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "BUILD_CC=$(CC_FOR_BUILD)";
|
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "BUILD_CC=$(CC_FOR_BUILD)";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|
|
@ -213,6 +213,7 @@ in python.pkgs.buildPythonApplication rec {
|
||||||
"cryptography"
|
"cryptography"
|
||||||
"httpx"
|
"httpx"
|
||||||
"PyJWT"
|
"PyJWT"
|
||||||
|
"requests"
|
||||||
];
|
];
|
||||||
in ''
|
in ''
|
||||||
sed -r -i \
|
sed -r -i \
|
||||||
|
|
|
@ -239,9 +239,9 @@ in self: {
|
||||||
};
|
};
|
||||||
|
|
||||||
postgresql_14 = self.callPackage generic {
|
postgresql_14 = self.callPackage generic {
|
||||||
version = "14.3";
|
version = "14.4";
|
||||||
psqlSchema = "14";
|
psqlSchema = "14";
|
||||||
sha256 = "sha256-J5BXNov1mpGcBa2o+VxeBKu0PnS5oqacPUaiDgeprzg=";
|
sha256 = "sha256-wjtiN8UjHHkVEb3HkJhhfWhS6eO982Dv2LXRWho9j2o=";
|
||||||
this = self.postgresql_14;
|
this = self.postgresql_14;
|
||||||
thisAttr = "postgresql_14";
|
thisAttr = "postgresql_14";
|
||||||
inherit self;
|
inherit self;
|
||||||
|
|
|
@ -1026,15 +1026,15 @@ configurePhase() {
|
||||||
# scripts with vendored libtool code. Preserve mtimes to
|
# scripts with vendored libtool code. Preserve mtimes to
|
||||||
# prevent some packages (e.g. libidn2) from spontaneously
|
# prevent some packages (e.g. libidn2) from spontaneously
|
||||||
# autoreconf'ing themselves
|
# autoreconf'ing themselves
|
||||||
CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXX)
|
CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX)
|
||||||
find . \
|
find . \
|
||||||
-executable \
|
-executable \
|
||||||
-type f \
|
-type f \
|
||||||
-name configure \
|
-name configure \
|
||||||
-execdir grep -l 'GNU Libtool is free software; you can redistribute it and/or modify' {} \; \
|
-exec grep -l 'GNU Libtool is free software; you can redistribute it and/or modify' {} \; \
|
||||||
-execdir touch -r {} "$CONFIGURE_MTIME_REFERENCE" \; \
|
-exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \; \
|
||||||
-execdir sed -i s_/usr/bin/file_file_g {} \; \
|
-exec sed -i s_/usr/bin/file_file_g {} \; \
|
||||||
-execdir touch -r "$CONFIGURE_MTIME_REFERENCE" {} \;
|
-exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \;
|
||||||
rm -f "$CONFIGURE_MTIME_REFERENCE"
|
rm -f "$CONFIGURE_MTIME_REFERENCE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -436,8 +436,16 @@ in
|
||||||
inherit (prevStage)
|
inherit (prevStage)
|
||||||
gzip bzip2 xz bash coreutils diffutils findutils gawk
|
gzip bzip2 xz bash coreutils diffutils findutils gawk
|
||||||
gnumake gnused gnutar gnugrep gnupatch patchelf
|
gnumake gnused gnutar gnugrep gnupatch patchelf
|
||||||
attr acl zlib pcre libunistring libidn2;
|
attr acl zlib pcre libunistring;
|
||||||
${localSystem.libc} = getLibc prevStage;
|
${localSystem.libc} = getLibc prevStage;
|
||||||
|
|
||||||
|
# Hack: avoid libidn2.{bin,dev} referencing bootstrap tools. There's a logical cycle.
|
||||||
|
libidn2 = import ../../development/libraries/libidn2/no-bootstrap-reference.nix {
|
||||||
|
inherit lib;
|
||||||
|
inherit (prevStage) libidn2;
|
||||||
|
inherit (self) stdenv runCommandLocal patchelf libunistring;
|
||||||
|
};
|
||||||
|
|
||||||
} // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) {
|
} // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) {
|
||||||
# Need to get rid of these when cross-compiling.
|
# Need to get rid of these when cross-compiling.
|
||||||
inherit (prevStage) binutils binutils-unwrapped;
|
inherit (prevStage) binutils binutils-unwrapped;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
char **argv_tmp = calloc(5 + argc, sizeof(*argv_tmp));
|
char **argv_tmp = calloc(4 + argc + 2 + 1, sizeof(*argv_tmp));
|
||||||
assert(argv_tmp != NULL);
|
assert(argv_tmp != NULL);
|
||||||
argv_tmp[0] = argv[0];
|
argv_tmp[0] = argv[0];
|
||||||
argv_tmp[1] = "-x";
|
argv_tmp[1] = "-x";
|
||||||
|
@ -13,7 +13,9 @@ int main(int argc, char **argv) {
|
||||||
for (int i = 1; i < argc; ++i) {
|
for (int i = 1; i < argc; ++i) {
|
||||||
argv_tmp[4 + i] = argv[i];
|
argv_tmp[4 + i] = argv[i];
|
||||||
}
|
}
|
||||||
argv_tmp[4 + argc] = NULL;
|
argv_tmp[4 + argc + 0] = "-foo";
|
||||||
|
argv_tmp[4 + argc + 1] = "-bar";
|
||||||
|
argv_tmp[4 + argc + 2] = NULL;
|
||||||
argv = argv_tmp;
|
argv = argv_tmp;
|
||||||
|
|
||||||
argv[0] = "/send/me/flags";
|
argv[0] = "/send/me/flags";
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
|
--append-flags "-foo -bar" \
|
||||||
--add-flags "-x -y -z" \
|
--add-flags "-x -y -z" \
|
||||||
--add-flags -abc
|
--add-flags -abc
|
||||||
|
|
|
@ -4,3 +4,5 @@ SUBST_ARGV0
|
||||||
-y
|
-y
|
||||||
-z
|
-z
|
||||||
-abc
|
-abc
|
||||||
|
-foo
|
||||||
|
-bar
|
||||||
|
|
|
@ -36,7 +36,7 @@ int main(int argc, char **argv) {
|
||||||
set_env_suffix("PATH", ":", "/usr/local/bin/");
|
set_env_suffix("PATH", ":", "/usr/local/bin/");
|
||||||
putenv("MESSAGE2=WORLD");
|
putenv("MESSAGE2=WORLD");
|
||||||
|
|
||||||
char **argv_tmp = calloc(4 + argc, sizeof(*argv_tmp));
|
char **argv_tmp = calloc(3 + argc + 0 + 1, sizeof(*argv_tmp));
|
||||||
assert(argv_tmp != NULL);
|
assert(argv_tmp != NULL);
|
||||||
argv_tmp[0] = argv[0];
|
argv_tmp[0] = argv[0];
|
||||||
argv_tmp[1] = "-x";
|
argv_tmp[1] = "-x";
|
||||||
|
@ -45,7 +45,7 @@ int main(int argc, char **argv) {
|
||||||
for (int i = 1; i < argc; ++i) {
|
for (int i = 1; i < argc; ++i) {
|
||||||
argv_tmp[3 + i] = argv[i];
|
argv_tmp[3 + i] = argv[i];
|
||||||
}
|
}
|
||||||
argv_tmp[3 + argc] = NULL;
|
argv_tmp[3 + argc + 0] = NULL;
|
||||||
argv = argv_tmp;
|
argv = argv_tmp;
|
||||||
|
|
||||||
argv[0] = "my-wrapper";
|
argv[0] = "my-wrapper";
|
||||||
|
|
|
@ -62,7 +62,7 @@ runCommand "make-wrapper-test"
|
||||||
(mkWrapperBinary { name = "test-unset"; args = [ "--unset" "VAR" ]; })
|
(mkWrapperBinary { name = "test-unset"; args = [ "--unset" "VAR" ]; })
|
||||||
(mkWrapperBinary { name = "test-run"; args = [ "--run" "echo bar" ]; })
|
(mkWrapperBinary { name = "test-run"; args = [ "--run" "echo bar" ]; })
|
||||||
(mkWrapperBinary { name = "test-run-and-set"; args = [ "--run" "export VAR=foo" "--set" "VAR" "bar" ]; })
|
(mkWrapperBinary { name = "test-run-and-set"; args = [ "--run" "export VAR=foo" "--set" "VAR" "bar" ]; })
|
||||||
(mkWrapperBinary { name = "test-args"; args = [ "--add-flags" "abc" ]; wrapped = wrappedBinaryArgs; })
|
(mkWrapperBinary { name = "test-args"; args = [ "--add-flags" "abc" "--append-flags" "xyz" ]; wrapped = wrappedBinaryArgs; })
|
||||||
(mkWrapperBinary { name = "test-prefix"; args = [ "--prefix" "VAR" ":" "abc" ]; })
|
(mkWrapperBinary { name = "test-prefix"; args = [ "--prefix" "VAR" ":" "abc" ]; })
|
||||||
(mkWrapperBinary { name = "test-prefix-noglob"; args = [ "--prefix" "VAR" ":" "./*" ]; })
|
(mkWrapperBinary { name = "test-prefix-noglob"; args = [ "--prefix" "VAR" ":" "./*" ]; })
|
||||||
(mkWrapperBinary { name = "test-suffix"; args = [ "--suffix" "VAR" ":" "abc" ]; })
|
(mkWrapperBinary { name = "test-suffix"; args = [ "--suffix" "VAR" ":" "abc" ]; })
|
||||||
|
@ -89,10 +89,10 @@ runCommand "make-wrapper-test"
|
||||||
# --unset works
|
# --unset works
|
||||||
+ mkTest "VAR=foo test-unset" "VAR="
|
+ mkTest "VAR=foo test-unset" "VAR="
|
||||||
|
|
||||||
# --add-flags works
|
# --add-flags and --append-flags work
|
||||||
+ mkTest "test-args" "abc"
|
+ mkTest "test-args" "abc xyz"
|
||||||
# given flags are appended
|
# given flags are kept
|
||||||
+ mkTest "test-args foo" "abc foo"
|
+ mkTest "test-args foo" "abc foo xyz"
|
||||||
|
|
||||||
# --run works
|
# --run works
|
||||||
+ mkTest "test-run" "bar\nVAR="
|
+ mkTest "test-run" "bar\nVAR="
|
||||||
|
|
|
@ -29,7 +29,7 @@ let
|
||||||
in
|
in
|
||||||
with py.pkgs; buildPythonApplication rec {
|
with py.pkgs; buildPythonApplication rec {
|
||||||
pname = "awscli2";
|
pname = "awscli2";
|
||||||
version = "2.7.8"; # N.B: if you change this, check if overrides are still up-to-date
|
version = "2.7.9"; # N.B: if you change this, check if overrides are still up-to-date
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "aws";
|
owner = "aws";
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
unpackCmdHooks+=(_tryUnzip)
|
unpackCmdHooks+=(_tryUnzip)
|
||||||
_tryUnzip() {
|
_tryUnzip() {
|
||||||
if ! [[ "$curSrc" =~ \.zip$ ]]; then return 1; fi
|
if ! [[ "$curSrc" =~ \.zip$ ]]; then return 1; fi
|
||||||
unzip -qq "$curSrc"
|
|
||||||
|
# UTF-8 locale is needed for unzip on glibc to handle UTF-8 symbols:
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/176225#issuecomment-1146617263
|
||||||
|
# Otherwise unzip unpacks escaped file names as if '-U' options was in effect.
|
||||||
|
#
|
||||||
|
# Pick en_US.UTF-8 as most possible to be present on glibc, musl and darwin.
|
||||||
|
LANG=en_US.UTF-8 unzip -qq "$curSrc"
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "f2fs-tools";
|
pname = "f2fs-tools";
|
||||||
version = "1.14.0";
|
version = "1.15.0";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git";
|
url = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "06ss05n87i1c3149qb3n7j1qp2scv3g2adx0v6ljkl59ab9b5saj";
|
sha256 = "sha256-RSWvdC6kV0KfyJefK9qyFCWjlezFc7DBOOn+uy7S3Lk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||||
|
|
|
@ -1,36 +1,46 @@
|
||||||
{ stdenv, lib, buildPackages
|
{ lib
|
||||||
, autoreconfHook, bison, texinfo, fetchurl, perl, xz, libiconv, gmp ? null
|
, stdenv
|
||||||
, aclSupport ? stdenv.isLinux, acl ? null
|
, fetchurl
|
||||||
, attrSupport ? stdenv.isLinux, attr ? null
|
, autoreconfHook
|
||||||
, selinuxSupport? false, libselinux ? null, libsepol ? null
|
, buildPackages
|
||||||
|
, libiconv
|
||||||
|
, perl
|
||||||
|
, texinfo
|
||||||
|
, xz
|
||||||
|
, gmpSupport ? true, gmp
|
||||||
|
, aclSupport ? stdenv.isLinux, acl
|
||||||
|
, attrSupport ? stdenv.isLinux, attr
|
||||||
|
, selinuxSupport ? false, libselinux, libsepol
|
||||||
# No openssl in default version, so openssl-induced rebuilds aren't too big.
|
# No openssl in default version, so openssl-induced rebuilds aren't too big.
|
||||||
# It makes *sum functions significantly faster.
|
# It makes *sum functions significantly faster.
|
||||||
, minimal ? true, withOpenssl ? !minimal, openssl ? null
|
, minimal ? true
|
||||||
|
, withOpenssl ? !minimal, openssl
|
||||||
, withPrefix ? false
|
, withPrefix ? false
|
||||||
, singleBinary ? "symlinks" # you can also pass "shebangs" or false
|
, singleBinary ? "symlinks" # you can also pass "shebangs" or false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# Note: this package is used for bootstrapping fetchurl, and thus
|
# Note: this package is used for bootstrapping fetchurl, and thus cannot use
|
||||||
# cannot use fetchpatch! All mutable patches (generated by GitHub or
|
# fetchpatch! All mutable patches (generated by GitHub or cgit) that are needed
|
||||||
# cgit) that are needed here should be included directly in Nixpkgs as
|
# here should be included directly in Nixpkgs as files.
|
||||||
# files.
|
|
||||||
|
|
||||||
assert aclSupport -> acl != null;
|
assert aclSupport -> acl != null;
|
||||||
assert selinuxSupport -> libselinux != null && libsepol != null;
|
assert selinuxSupport -> libselinux != null && libsepol != null;
|
||||||
|
|
||||||
with lib;
|
let
|
||||||
|
inherit (lib) concatStringsSep isString optional optionals optionalString;
|
||||||
stdenv.mkDerivation (rec {
|
isCross = (stdenv.hostPlatform != stdenv.buildPlatform);
|
||||||
pname = "coreutils${optionalString (!minimal) "-full"}";
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "coreutils" + (optionalString (!minimal) "-full");
|
||||||
version = "9.1";
|
version = "9.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/coreutils/coreutils-${version}.tar.xz";
|
url = "mirror://gnu/coreutils/coreutils-${version}.tar.xz";
|
||||||
sha256 = "sha256:08q4b0w7mwfxbqjs712l6wrwl2ijs7k50kssgbryg9wbsw8g98b1";
|
sha256 = "sha256-YaH0ENeLp+fzelpPUObRMgrKMzdUhKMlXt3xejhYBCM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# The test tends to fail on btrfs,f2fs and maybe other unusual filesystems.
|
# The test tends to fail on btrfs, f2fs and maybe other unusual filesystems.
|
||||||
sed '2i echo Skipping dd sparse test && exit 77' -i ./tests/dd/sparse.sh
|
sed '2i echo Skipping dd sparse test && exit 77' -i ./tests/dd/sparse.sh
|
||||||
sed '2i echo Skipping du threshold test && exit 77' -i ./tests/du/threshold.sh
|
sed '2i echo Skipping du threshold test && exit 77' -i ./tests/du/threshold.sh
|
||||||
sed '2i echo Skipping cp sparse test && exit 77' -i ./tests/cp/sparse.sh
|
sed '2i echo Skipping cp sparse test && exit 77' -i ./tests/cp/sparse.sh
|
||||||
|
@ -60,7 +70,7 @@ stdenv.mkDerivation (rec {
|
||||||
|
|
||||||
# intermittent failures on builders, unknown reason
|
# intermittent failures on builders, unknown reason
|
||||||
sed '2i echo Skipping du basic test && exit 77' -i ./tests/du/basic.sh
|
sed '2i echo Skipping du basic test && exit 77' -i ./tests/du/basic.sh
|
||||||
'' + (optionalString (stdenv.hostPlatform.libc == "musl") (lib.concatStringsSep "\n" [
|
'' + (optionalString (stdenv.hostPlatform.libc == "musl") (concatStringsSep "\n" [
|
||||||
''
|
''
|
||||||
echo "int main() { return 77; }" > gnulib-tests/test-parse-datetime.c
|
echo "int main() { return 77; }" > gnulib-tests/test-parse-datetime.c
|
||||||
echo "int main() { return 77; }" > gnulib-tests/test-getlogin.c
|
echo "int main() { return 77; }" > gnulib-tests/test-getlogin.c
|
||||||
|
@ -75,43 +85,54 @@ stdenv.mkDerivation (rec {
|
||||||
outputs = [ "out" "info" ];
|
outputs = [ "out" "info" ];
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ perl xz.bin autoreconfHook ] # autoreconfHook is due to patch, normally only needed for cygwin
|
nativeBuildInputs = [
|
||||||
++ optionals stdenv.hostPlatform.isCygwin [ texinfo ]; # due to patch
|
# autoreconfHook is due to patch, normally only needed for cygwin
|
||||||
|
autoreconfHook
|
||||||
|
perl
|
||||||
|
xz.bin
|
||||||
|
]
|
||||||
|
++ optionals stdenv.hostPlatform.isCygwin [
|
||||||
|
# due to patch
|
||||||
|
texinfo
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [ ]
|
||||||
|
++ optional aclSupport acl
|
||||||
|
++ optional attrSupport attr
|
||||||
|
++ optional gmpSupport gmp
|
||||||
|
++ optional withOpenssl openssl
|
||||||
|
++ optionals selinuxSupport [ libselinux libsepol ]
|
||||||
|
# TODO(@Ericson2314): Investigate whether Darwin could benefit too
|
||||||
|
++ optional (isCross && stdenv.hostPlatform.libc != "glibc") libiconv;
|
||||||
|
|
||||||
configureFlags = [ "--with-packager=https://nixos.org" ]
|
configureFlags = [ "--with-packager=https://nixos.org" ]
|
||||||
++ optional (singleBinary != false)
|
++ optional (singleBinary != false)
|
||||||
("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}")
|
("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}")
|
||||||
++ optional withOpenssl "--with-openssl"
|
++ optional withOpenssl "--with-openssl"
|
||||||
++ optional stdenv.hostPlatform.isSunOS "ac_cv_func_inotify_init=no"
|
++ optional stdenv.hostPlatform.isSunOS "ac_cv_func_inotify_init=no"
|
||||||
++ optional withPrefix "--program-prefix=g"
|
++ optional withPrefix "--program-prefix=g"
|
||||||
++ optional stdenv.isDarwin "--disable-nls" # the shipped configure script doesn't enable nls, but using autoreconfHook does so which breaks the build
|
# the shipped configure script doesn't enable nls, but using autoreconfHook
|
||||||
++ optionals (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.libc == "glibc") [
|
# does so which breaks the build
|
||||||
|
++ optional stdenv.isDarwin "--disable-nls"
|
||||||
|
++ optionals (isCross && stdenv.hostPlatform.libc == "glibc") [
|
||||||
# TODO(19b98110126fde7cbb1127af7e3fe1568eacad3d): Needed for fstatfs() I
|
# TODO(19b98110126fde7cbb1127af7e3fe1568eacad3d): Needed for fstatfs() I
|
||||||
# don't know why it is not properly detected cross building with glibc.
|
# don't know why it is not properly detected cross building with glibc.
|
||||||
"fu_cv_sys_stat_statfs2_bsize=yes"
|
"fu_cv_sys_stat_statfs2_bsize=yes"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
buildInputs = [ gmp ]
|
|
||||||
++ optional aclSupport acl
|
|
||||||
++ optional attrSupport attr
|
|
||||||
++ optional withOpenssl openssl
|
|
||||||
++ optionals selinuxSupport [ libselinux libsepol ]
|
|
||||||
# TODO(@Ericson2314): Investigate whether Darwin could benefit too
|
|
||||||
++ optional (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.libc != "glibc") libiconv;
|
|
||||||
|
|
||||||
# The tests are known broken on Cygwin
|
# The tests are known broken on Cygwin
|
||||||
# (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
|
# (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
|
||||||
# Darwin (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19351),
|
# Darwin (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19351),
|
||||||
# and {Open,Free}BSD.
|
# and {Open,Free}BSD.
|
||||||
# With non-standard storeDir: https://github.com/NixOS/nix/issues/512
|
# With non-standard storeDir: https://github.com/NixOS/nix/issues/512
|
||||||
# On aarch64+musl, test-init.sh fails due to a segfault in diff.
|
# On aarch64+musl, test-init.sh fails due to a segfault in diff.
|
||||||
doCheck = stdenv.hostPlatform == stdenv.buildPlatform
|
doCheck = (!isCross)
|
||||||
&& (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.isMusl)
|
&& (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.libc == "musl")
|
||||||
&& !(stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64)
|
&& !(stdenv.hostPlatform.libc == "musl" && stdenv.hostPlatform.isAarch64)
|
||||||
&& !stdenv.isAarch32;
|
&& !stdenv.isAarch32;
|
||||||
|
|
||||||
# Prevents attempts of running 'help2man' on cross-built binaries.
|
# Prevents attempts of running 'help2man' on cross-built binaries.
|
||||||
PERL = if stdenv.hostPlatform == stdenv.buildPlatform then null else "missing";
|
PERL = if isCross then "missing" else null;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
@ -124,11 +145,11 @@ stdenv.mkDerivation (rec {
|
||||||
|
|
||||||
# Works around a bug with 8.26:
|
# Works around a bug with 8.26:
|
||||||
# Makefile:3440: *** Recursive variable 'INSTALL' references itself (eventually). Stop.
|
# Makefile:3440: *** Recursive variable 'INSTALL' references itself (eventually). Stop.
|
||||||
preInstall = optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
preInstall = optionalString isCross ''
|
||||||
sed -i Makefile -e 's|^INSTALL =.*|INSTALL = ${buildPackages.coreutils}/bin/install -c|'
|
sed -i Makefile -e 's|^INSTALL =.*|INSTALL = ${buildPackages.coreutils}/bin/install -c|'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = optionalString (stdenv.hostPlatform != stdenv.buildPlatform && !minimal) ''
|
postInstall = optionalString (isCross && !minimal) ''
|
||||||
rm $out/share/man/man1/*
|
rm $out/share/man/man1/*
|
||||||
cp ${buildPackages.coreutils-full}/share/man/man1/* $out/share/man/man1
|
cp ${buildPackages.coreutils-full}/share/man/man1/* $out/share/man/man1
|
||||||
''
|
''
|
||||||
|
@ -137,18 +158,17 @@ stdenv.mkDerivation (rec {
|
||||||
rm -r "$out/share"
|
rm -r "$out/share"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
homepage = "https://www.gnu.org/software/coreutils/";
|
homepage = "https://www.gnu.org/software/coreutils/";
|
||||||
description = "The basic file, shell and text manipulation utilities of the GNU operating system";
|
description = "The GNU Core Utilities";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
The GNU Core Utilities are the basic file, shell and text
|
The GNU Core Utilities are the basic file, shell and text manipulation
|
||||||
manipulation utilities of the GNU operating system. These are
|
utilities of the GNU operating system. These are the core utilities which
|
||||||
the core utilities which are expected to exist on every
|
are expected to exist on every operating system.
|
||||||
operating system.
|
|
||||||
'';
|
'';
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.unix ++ platforms.windows;
|
maintainers = with maintainers; [ das_j ];
|
||||||
|
platforms = with platforms; unix ++ windows;
|
||||||
priority = 10;
|
priority = 10;
|
||||||
maintainers = [ maintainers.das_j ];
|
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ethtool";
|
pname = "ethtool";
|
||||||
version = "5.17";
|
version = "5.18";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz";
|
url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-ZKuRS5xrRQRyRdkfQLh2CycomSqeWvInF8ZEI46IkTM=";
|
sha256 = "sha256-lXey/7znELZZ+yOVmOySvO0cpADKDxKGdiv6ROR4QnA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "file";
|
pname = "file";
|
||||||
version = "5.41";
|
version = "5.42";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
"ftp://ftp.astron.com/pub/file/${pname}-${version}.tar.gz"
|
"https://astron.com/pub/file/${pname}-${version}.tar.gz"
|
||||||
"https://distfiles.macports.org/file/${pname}-${version}.tar.gz"
|
"https://distfiles.macports.org/file/${pname}-${version}.tar.gz"
|
||||||
];
|
];
|
||||||
sha256 = "sha256-E+Uyx7Nk99V+I9/uoxRxAxUMuQWTpXr4bBDk9uQRYD8=";
|
sha256 = "sha256-wHb7TQKcdAc/FcQzYe9XLPuGhAfTRxkLqDSvOxY5sOQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
|
@ -43,11 +43,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "unbound";
|
pname = "unbound";
|
||||||
version = "1.14.0";
|
version = "1.16.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://nlnetlabs.nl/downloads/unbound/unbound-${version}.tar.gz";
|
url = "https://nlnetlabs.nl/downloads/unbound/unbound-${version}.tar.gz";
|
||||||
sha256 = "sha256-bvkcvwLVKZ6rOTKMCFc5Pee0iFov5yM93+PBJP9aicg=";
|
hash = "sha256-ZwFTTJOOsBliZgEZHtxtAS/FNMCdJBjVuSgn2wy+SKU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
|
outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
/* The top-level package collection of nixpkgs.
|
/* The top-level package collection of nixpkgs.
|
||||||
* It is sorted by categories corresponding to the folder names
|
* It is sorted by categories corresponding to the folder names in the /pkgs
|
||||||
* in the /pkgs folder. Inside the categories packages are roughly
|
* folder. Inside the categories packages are roughly sorted by alphabet, but
|
||||||
* sorted by alphabet, but strict sorting has been long lost due
|
* strict sorting has been long lost due to merges. Please use the full-text
|
||||||
* to merges. Please use the full-text search of your editor. ;)
|
* search of your editor. ;)
|
||||||
* Hint: ### starts category names.
|
* Hint: ### starts category names.
|
||||||
*/
|
*/
|
||||||
{ lib, noSysDirs, config, overlays }:
|
{ lib, noSysDirs, config, overlays }:
|
||||||
|
@ -4033,6 +4033,24 @@ with pkgs;
|
||||||
|
|
||||||
meson = callPackage ../development/tools/build-managers/meson { };
|
meson = callPackage ../development/tools/build-managers/meson { };
|
||||||
|
|
||||||
|
# while building documentation meson may want to run binaries for host
|
||||||
|
# which needs an emulator
|
||||||
|
# example of an error which this fixes
|
||||||
|
# [Errno 8] Exec format error: './gdk3-scan'
|
||||||
|
mesonEmulatorHook =
|
||||||
|
if (stdenv.buildPlatform != stdenv.targetPlatform) then
|
||||||
|
makeSetupHook
|
||||||
|
{
|
||||||
|
name = "mesonEmulatorHook";
|
||||||
|
substitutions = {
|
||||||
|
crossFile = writeText "cross-file.conf" ''
|
||||||
|
[binaries]
|
||||||
|
exe_wrapper = ${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
} ../development/tools/build-managers/meson/emulator-hook.sh
|
||||||
|
else throw "mesonEmulatorHook has to be in a cross conditional i.e. (stdenv.buildPlatform != stdenv.hostPlatform)";
|
||||||
|
|
||||||
meson-tools = callPackage ../misc/meson-tools { };
|
meson-tools = callPackage ../misc/meson-tools { };
|
||||||
|
|
||||||
metabase = callPackage ../servers/metabase { };
|
metabase = callPackage ../servers/metabase { };
|
||||||
|
@ -17697,7 +17715,14 @@ with pkgs;
|
||||||
relibc = callPackage ../development/libraries/relibc { };
|
relibc = callPackage ../development/libraries/relibc { };
|
||||||
|
|
||||||
# Only supported on Linux
|
# Only supported on Linux
|
||||||
glibcLocales = if stdenv.hostPlatform.isLinux then callPackage ../development/libraries/glibc/locales.nix { } else null;
|
glibcLocales =
|
||||||
|
if stdenv.hostPlatform.isLinux
|
||||||
|
then callPackage ../development/libraries/glibc/locales.nix { }
|
||||||
|
else null;
|
||||||
|
glibcLocalesUtf8 =
|
||||||
|
if stdenv.hostPlatform.isLinux
|
||||||
|
then callPackage ../development/libraries/glibc/locales.nix { allLocales = false; }
|
||||||
|
else null;
|
||||||
|
|
||||||
glibcInfo = callPackage ../development/libraries/glibc/info.nix { };
|
glibcInfo = callPackage ../development/libraries/glibc/info.nix { };
|
||||||
|
|
||||||
|
@ -17763,7 +17788,10 @@ with pkgs;
|
||||||
gns3-gui = gns3Packages.guiStable;
|
gns3-gui = gns3Packages.guiStable;
|
||||||
gns3-server = gns3Packages.serverStable;
|
gns3-server = gns3Packages.serverStable;
|
||||||
|
|
||||||
gobject-introspection = callPackage ../development/libraries/gobject-introspection {
|
gobject-introspection = if (stdenv.hostPlatform != stdenv.targetPlatform)
|
||||||
|
then callPackage ../development/libraries/gobject-introspection/wrapper.nix { } else gobject-introspection-unwrapped;
|
||||||
|
|
||||||
|
gobject-introspection-unwrapped = callPackage ../development/libraries/gobject-introspection {
|
||||||
nixStoreDir = config.nix.storeDir or builtins.storeDir;
|
nixStoreDir = config.nix.storeDir or builtins.storeDir;
|
||||||
inherit (darwin) cctools;
|
inherit (darwin) cctools;
|
||||||
};
|
};
|
||||||
|
@ -18372,7 +18400,10 @@ with pkgs;
|
||||||
|
|
||||||
libantlr3c = callPackage ../development/libraries/libantlr3c {};
|
libantlr3c = callPackage ../development/libraries/libantlr3c {};
|
||||||
|
|
||||||
libaom = callPackage ../development/libraries/libaom { };
|
libaom = callPackage ../development/libraries/libaom {
|
||||||
|
# Remove circular dependency for libavif
|
||||||
|
libjxl = libjxl.override { buildDocs = false; };
|
||||||
|
};
|
||||||
|
|
||||||
libappindicator-gtk2 = libappindicator.override { gtkVersion = "2"; };
|
libappindicator-gtk2 = libappindicator.override { gtkVersion = "2"; };
|
||||||
libappindicator-gtk3 = libappindicator.override { gtkVersion = "3"; };
|
libappindicator-gtk3 = libappindicator.override { gtkVersion = "3"; };
|
||||||
|
@ -24196,12 +24227,16 @@ with pkgs;
|
||||||
buildBarebox
|
buildBarebox
|
||||||
bareboxTools;
|
bareboxTools;
|
||||||
|
|
||||||
uclibc = callPackage ../os-specific/linux/uclibc { };
|
uclibc-ng = callPackage ../os-specific/linux/uclibc-ng { };
|
||||||
|
|
||||||
uclibcCross = callPackage ../os-specific/linux/uclibc {
|
uclibc-ng-cross = callPackage ../os-specific/linux/uclibc-ng {
|
||||||
stdenv = crossLibcStdenv;
|
stdenv = crossLibcStdenv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Aliases
|
||||||
|
uclibc = uclibc-ng;
|
||||||
|
uclibcCross = uclibc-ng-cross;
|
||||||
|
|
||||||
eudev = callPackage ../os-specific/linux/eudev { util-linux = util-linuxMinimal; };
|
eudev = callPackage ../os-specific/linux/eudev { util-linux = util-linuxMinimal; };
|
||||||
|
|
||||||
libudev0-shim = callPackage ../os-specific/linux/libudev0-shim { };
|
libudev0-shim = callPackage ../os-specific/linux/libudev0-shim { };
|
||||||
|
|
|
@ -10848,7 +10848,9 @@ in {
|
||||||
|
|
||||||
ueagle = callPackage ../development/python-modules/ueagle { };
|
ueagle = callPackage ../development/python-modules/ueagle { };
|
||||||
|
|
||||||
uharfbuzz = callPackage ../development/python-modules/uharfbuzz { };
|
uharfbuzz = callPackage ../development/python-modules/uharfbuzz {
|
||||||
|
inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices;
|
||||||
|
};
|
||||||
|
|
||||||
ujson = callPackage ../development/python-modules/ujson { };
|
ujson = callPackage ../development/python-modules/ujson { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue