Merge commit '3b29468313bc8604fe8f85c8d9316fd276d3985c' into HEAD
This commit is contained in:
commit
6bbc3a0b24
@ -73,7 +73,7 @@
|
|||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
$outputMan</varname></term><listitem><para>
|
$outputMan</varname></term><listitem><para>
|
||||||
is for man pages (except for section 3). They go to <varname>man</varname> or <varname>doc</varname> or <varname>$outputBin</varname> by default.
|
is for man pages (except for section 3). They go to <varname>man</varname> or <varname>$outputBin</varname> by default.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
@ -83,7 +83,7 @@
|
|||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
$outputInfo</varname></term><listitem><para>
|
$outputInfo</varname></term><listitem><para>
|
||||||
is for info pages. They go to <varname>info</varname> or <varname>doc</varname> or <varname>$outputMan</varname> by default.
|
is for info pages. They go to <varname>info</varname> or <varname>$outputBin</varname> by default.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
@ -6,7 +6,7 @@ let
|
|||||||
);
|
);
|
||||||
|
|
||||||
origKernel = pkgs.buildLinux {
|
origKernel = pkgs.buildLinux {
|
||||||
inherit (pkgs.linux) src version;
|
inherit (pkgs.linux) src version stdenv;
|
||||||
inherit configfile;
|
inherit configfile;
|
||||||
allowImportFromDerivation = true;
|
allowImportFromDerivation = true;
|
||||||
kernelPatches = [ pkgs.kernelPatches.cifs_timeout_2_6_38 ];
|
kernelPatches = [ pkgs.kernelPatches.cifs_timeout_2_6_38 ];
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
#doCheck = true; # takes lots of time
|
#doCheck = true; # takes lots of time
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ];
|
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://xiph.org/flac/;
|
homepage = https://xiph.org/flac/;
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
make PREFIX=$out install
|
make PREFIX=$out install
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
buildInputs = [ libXext libX11 libjpeg libpng giflib ];
|
buildInputs = [ libXext libX11 libjpeg libpng giflib ];
|
||||||
|
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "3.3.0";
|
version = "3.5.0";
|
||||||
name = "calibre-${version}";
|
name = "calibre-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
||||||
sha256 = "1zq3aihnyxdczdz8b0w02xfw4b0l9i23f6ljpmsmm69jyh4j3m0c";
|
sha256 = "1al0vy11zvlxlrf03i631p6b419hy47pbzmgydswrii4prndj4xv";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
# Remove unneeded files and libs
|
# Remove unneeded files and libs
|
||||||
rm -rf resources/calibre-portable.* \
|
rm -rf resources/calibre-portable.* \
|
||||||
src/{chardet,cherrypy,html5lib,odf,routes}
|
src/odf
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontUseQmakeConfigure = true;
|
dontUseQmakeConfigure = true;
|
||||||
@ -49,12 +49,11 @@ stdenv.mkDerivation rec {
|
|||||||
poppler_utils libpng imagemagick libjpeg
|
poppler_utils libpng imagemagick libjpeg
|
||||||
fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook
|
fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook
|
||||||
] ++ (with python2Packages; [
|
] ++ (with python2Packages; [
|
||||||
html5lib_0_9999999 # needs to be before mechanize ?
|
apsw cssselect cssutils dateutil html5-parser lxml mechanize netifaces pillow
|
||||||
apsw cssselect cssutils dateutil lxml mechanize netifaces pillow
|
|
||||||
python pyqt5 sip
|
python pyqt5 sip
|
||||||
regex msgpack
|
regex msgpack
|
||||||
# the following are distributed with calibre, but we use upstream instead
|
# the following are distributed with calibre, but we use upstream instead
|
||||||
chardet cherrypy odfpy routes
|
odfpy
|
||||||
]);
|
]);
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -91,6 +90,9 @@ stdenv.mkDerivation rec {
|
|||||||
substituteAllInPlace $entry
|
substituteAllInPlace $entry
|
||||||
done
|
done
|
||||||
|
|
||||||
|
mkdir -p $out/share
|
||||||
|
cp -a man-pages $out/share/man
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0khdbwfclvpjgyk5ar1fs4j66zsjikaj422wlvrvqhyzi1v5arpr";
|
sha256 = "0khdbwfclvpjgyk5ar1fs4j66zsjikaj422wlvrvqhyzi1v5arpr";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake perl ];
|
nativeBuildInputs = [ cmake perl ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
makeFlags = [ "prefix=$(out)" ];
|
makeFlags = [ "prefix=$(out)" ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ zlib libX11 libXcursor libXext harfbuzz mesa libXrandr libXinerama freetype libjpeg jbig2dec openjpeg ];
|
buildInputs = [ zlib libX11 libXcursor libXext harfbuzz mesa libXrandr libXinerama freetype libjpeg jbig2dec openjpeg ];
|
||||||
outputs = [ "bin" "dev" "out" "doc" ];
|
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
# Don't remove mujs because upstream version is incompatible
|
# Don't remove mujs because upstream version is incompatible
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
make PREFIX=$out install
|
make PREFIX=$out install
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
buildInputs = [ libX11 ];
|
buildInputs = [ libX11 ];
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0xfnhaxmvxdxs3ic0qs5lwq3yl4pi5ib99p0p5lv3v2vldqlm4lc";
|
sha256 = "0xfnhaxmvxdxs3ic0qs5lwq3yl4pi5ib99p0p5lv3v2vldqlm4lc";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" ]; # "doc" was here but was not produced
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
cmakeFlags = with stdenv.lib; [
|
cmakeFlags = with stdenv.lib; [
|
||||||
|
@ -29,6 +29,8 @@ in stdenv.mkDerivation rec {
|
|||||||
sha512 = "10e6495d207328aae325a797be1de5e535b5d967df929b0af9d7554d0473b5a7931c8f9cb1793e843b1913f441f790169dd4ac1ad9e0e53e66bc8e1c1dd60e66";
|
sha512 = "10e6495d207328aae325a797be1de5e535b5d967df929b0af9d7554d0473b5a7931c8f9cb1793e843b1913f441f790169dd4ac1ad9e0e53e66bc8e1c1dd60e66";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./gcc6.patch ];
|
||||||
|
|
||||||
# New sed no longer tolerates this mistake.
|
# New sed no longer tolerates this mistake.
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
for f in mozilla/{js/src,}/configure; do
|
for f in mozilla/{js/src,}/configure; do
|
||||||
|
@ -0,0 +1,75 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Mike Hommey <mh+mozilla@glandium.org>
|
||||||
|
# Date 1457596445 -32400
|
||||||
|
# Node ID 55212130f19da3079167a6b0a5a0ed6689c9a71d
|
||||||
|
# Parent 27c94617d7064d566c24a42e11cd4c7ef725923d
|
||||||
|
Bug 1245076 - Don't include mozalloc.h from the cstdlib wrapper. r=froydnj
|
||||||
|
|
||||||
|
Our STL wrappers do various different things, one of which is including
|
||||||
|
mozalloc.h for infallible operator new. mozalloc.h includes stdlib.h,
|
||||||
|
which, in libstdc++ >= 6 is now itself a wrapper around cstdlib, which
|
||||||
|
circles back to our STL wrapper.
|
||||||
|
|
||||||
|
But of the things our STL wrappers do, including mozalloc.h is not one
|
||||||
|
that is necessary for cstdlib. So skip including mozalloc.h in our
|
||||||
|
cstdlib wrapper.
|
||||||
|
|
||||||
|
Additionally, some C++ sources (in media/mtransport) are including
|
||||||
|
headers in an extern "C" block, which end up including stdlib.h, which
|
||||||
|
ends up including cstdlib because really, this is all C++, and our
|
||||||
|
wrapper pre-includes <new> for mozalloc.h, which fails because templates
|
||||||
|
don't work inside extern "C". So, don't pre-include <new> when we're not
|
||||||
|
including mozalloc.h.
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/mozilla/config/gcc-stl-wrapper.template.h b/mozilla/config/gcc-stl-wrapper.template.h
|
||||||
|
--- a/mozilla/config/gcc-stl-wrapper.template.h
|
||||||
|
+++ b/mozilla/config/gcc-stl-wrapper.template.h
|
||||||
|
@@ -12,33 +12,40 @@
|
||||||
|
// compiling ObjC.
|
||||||
|
#if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
|
||||||
|
# error "STL code can only be used with -fno-exceptions"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Silence "warning: #include_next is a GCC extension"
|
||||||
|
#pragma GCC system_header
|
||||||
|
|
||||||
|
+// Don't include mozalloc for cstdlib. See bug 1245076.
|
||||||
|
+#ifndef moz_dont_include_mozalloc_for_cstdlib
|
||||||
|
+# define moz_dont_include_mozalloc_for_cstdlib
|
||||||
|
+#endif
|
||||||
|
+#ifndef moz_dont_include_mozalloc_for_${HEADER}
|
||||||
|
// mozalloc.h wants <new>; break the cycle by always explicitly
|
||||||
|
// including <new> here. NB: this is a tad sneaky. Sez the gcc docs:
|
||||||
|
//
|
||||||
|
// `#include_next' does not distinguish between <file> and "file"
|
||||||
|
// inclusion, nor does it check that the file you specify has the
|
||||||
|
// same name as the current file. It simply looks for the file
|
||||||
|
// named, starting with the directory in the search path after the
|
||||||
|
// one where the current file was found.
|
||||||
|
-#include_next <new>
|
||||||
|
+# include_next <new>
|
||||||
|
|
||||||
|
// See if we're in code that can use mozalloc. NB: this duplicates
|
||||||
|
// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
|
||||||
|
// can't build with that being included before base/basictypes.h.
|
||||||
|
-#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
|
||||||
|
-# include "mozilla/mozalloc.h"
|
||||||
|
-#else
|
||||||
|
-# error "STL code can only be used with infallible ::operator new()"
|
||||||
|
+# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
|
||||||
|
+# include "mozilla/mozalloc.h"
|
||||||
|
+# else
|
||||||
|
+# error "STL code can only be used with infallible ::operator new()"
|
||||||
|
+# endif
|
||||||
|
+
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
|
||||||
|
// Enable checked iterators and other goodies
|
||||||
|
//
|
||||||
|
// FIXME/bug 551254: gcc's debug STL implementation requires -frtti.
|
||||||
|
// Figure out how to resolve this with -fno-rtti. Maybe build with
|
||||||
|
// -frtti in DEBUG builds?
|
||||||
|
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1wfir1gvh5h7izgvx2kd1pr2k7wlncd33zq7qi9s9k2y0aza93yr";
|
sha256 = "1wfir1gvh5h7izgvx2kd1pr2k7wlncd33zq7qi9s9k2y0aza93yr";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "contrib" "doc" "info" ];
|
outputs = [ "out" "contrib" "man" "doc" "info" ];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
# >=1.4.9 requires this even with readline in inputs
|
# >=1.4.9 requires this even with readline in inputs
|
||||||
|
@ -34,7 +34,7 @@ cppInclude=1
|
|||||||
expandResponseParams "$@"
|
expandResponseParams "$@"
|
||||||
declare -i n=0
|
declare -i n=0
|
||||||
nParams=${#params[@]}
|
nParams=${#params[@]}
|
||||||
while [ "$n" -lt "$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
|
if [ "$p" = -c ]; then
|
||||||
@ -83,7 +83,7 @@ if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then
|
|||||||
rest=()
|
rest=()
|
||||||
nParams=${#params[@]}
|
nParams=${#params[@]}
|
||||||
declare -i n=0
|
declare -i n=0
|
||||||
while [ "$n" -lt "$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
|
if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then
|
||||||
@ -101,21 +101,24 @@ if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then
|
|||||||
fi
|
fi
|
||||||
n+=1
|
n+=1
|
||||||
done
|
done
|
||||||
params=("${rest[@]}")
|
# Old bash empty array hack
|
||||||
|
params=(${rest+"${rest[@]}"})
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Clear march/mtune=native -- they bring impurity.
|
# Clear march/mtune=native -- they bring impurity.
|
||||||
if [ "$NIX_@infixSalt@_ENFORCE_NO_NATIVE" = 1 ]; then
|
if [ "$NIX_@infixSalt@_ENFORCE_NO_NATIVE" = 1 ]; then
|
||||||
rest=()
|
rest=()
|
||||||
for p in "${params[@]}"; do
|
# Old bash empty array hack
|
||||||
|
for p in ${params+"${params[@]}"}; do
|
||||||
if [[ "$p" = -m*=native ]]; then
|
if [[ "$p" = -m*=native ]]; then
|
||||||
skip "$p"
|
skip "$p"
|
||||||
else
|
else
|
||||||
rest+=("$p")
|
rest+=("$p")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
params=("${rest[@]}")
|
# Old bash empty array hack
|
||||||
|
params=(${rest+"${rest[@]}"})
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$isCpp" = 1 ]]; then
|
if [[ "$isCpp" = 1 ]]; then
|
||||||
@ -163,14 +166,13 @@ fi
|
|||||||
|
|
||||||
# Optionally print debug info.
|
# Optionally print debug info.
|
||||||
if [ -n "${NIX_DEBUG:-}" ]; then
|
if [ -n "${NIX_DEBUG:-}" ]; then
|
||||||
set +u # Old bash workaround, see ld-wrapper for explanation.
|
# Old bash workaround, see ld-wrapper for explanation.
|
||||||
echo "extra flags before to @prog@:" >&2
|
echo "extra flags before to @prog@:" >&2
|
||||||
printf " %q\n" "${extraBefore[@]}" >&2
|
printf " %q\n" ${extraBefore+"${extraBefore[@]}"} >&2
|
||||||
echo "original flags to @prog@:" >&2
|
echo "original flags to @prog@:" >&2
|
||||||
printf " %q\n" "${params[@]}" >&2
|
printf " %q\n" ${params+"${params[@]}"} >&2
|
||||||
echo "extra flags after to @prog@:" >&2
|
echo "extra flags after to @prog@:" >&2
|
||||||
printf " %q\n" "${extraAfter[@]}" >&2
|
printf " %q\n" ${extraAfter+"${extraAfter[@]}"} >&2
|
||||||
set -u
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$NIX_CC_WRAPPER_@infixSalt@_EXEC_HOOK" ]; then
|
if [ -n "$NIX_CC_WRAPPER_@infixSalt@_EXEC_HOOK" ]; then
|
||||||
@ -178,5 +180,8 @@ if [ -n "$NIX_CC_WRAPPER_@infixSalt@_EXEC_HOOK" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
PATH="$path_backup"
|
PATH="$path_backup"
|
||||||
set +u # Old bash workaround, see above.
|
# Old bash workaround, see above.
|
||||||
exec @prog@ "${extraBefore[@]}" "${params[@]}" "${extraAfter[@]}"
|
exec @prog@ \
|
||||||
|
${extraBefore+"${extraBefore[@]}"} \
|
||||||
|
${params+"${params[@]}"} \
|
||||||
|
${extraAfter+"${extraAfter[@]}"}
|
||||||
|
@ -84,6 +84,8 @@ let
|
|||||||
# Work around "stdenv-darwin-boot-2 is not allowed to refer to path /nix/store/...-expand-response-params.c"
|
# Work around "stdenv-darwin-boot-2 is not allowed to refer to path /nix/store/...-expand-response-params.c"
|
||||||
cp "$src" expand-response-params.c
|
cp "$src" expand-response-params.c
|
||||||
"$CC" -std=c99 -O3 -o "$out" expand-response-params.c
|
"$CC" -std=c99 -O3 -o "$out" expand-response-params.c
|
||||||
|
strip -S $out
|
||||||
|
${optionalString hostPlatform.isLinux "patchelf --shrink-rpath $out"}
|
||||||
'';
|
'';
|
||||||
} else "";
|
} else "";
|
||||||
|
|
||||||
@ -102,6 +104,8 @@ stdenv.mkDerivation {
|
|||||||
binPrefix = prefix;
|
binPrefix = prefix;
|
||||||
inherit infixSalt;
|
inherit infixSalt;
|
||||||
|
|
||||||
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile
|
inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile
|
||||||
prefix;
|
prefix;
|
||||||
@ -120,7 +124,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
buildCommand =
|
buildCommand =
|
||||||
''
|
''
|
||||||
mkdir -p $out/bin $out/nix-support
|
mkdir -p $out/bin $out/nix-support $man/nix-support
|
||||||
|
|
||||||
wrap() {
|
wrap() {
|
||||||
local dst="$1"
|
local dst="$1"
|
||||||
@ -231,7 +235,8 @@ stdenv.mkDerivation {
|
|||||||
# Propagate the wrapped cc so that if you install the wrapper,
|
# Propagate the wrapped cc so that if you install the wrapper,
|
||||||
# you get tools like gcov, the manpages, etc. as well (including
|
# you get tools like gcov, the manpages, etc. as well (including
|
||||||
# for binutils and Glibc).
|
# for binutils and Glibc).
|
||||||
printWords ${cc} ${cc.man or ""} ${binutils_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages
|
printWords ${cc} ${binutils_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages
|
||||||
|
printWords ${cc.man or ""} > $man/nix-support/propagated-user-env-packages
|
||||||
|
|
||||||
printWords ${toString extraPackages} > $out/nix-support/propagated-native-build-inputs
|
printWords ${toString extraPackages} > $out/nix-support/propagated-native-build-inputs
|
||||||
''
|
''
|
||||||
|
@ -28,7 +28,7 @@ if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}"
|
|||||||
rest=()
|
rest=()
|
||||||
nParams=${#params[@]}
|
nParams=${#params[@]}
|
||||||
declare -i n=0
|
declare -i n=0
|
||||||
while [ "$n" -lt "$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
|
if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then
|
||||||
@ -51,7 +51,8 @@ if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}"
|
|||||||
fi
|
fi
|
||||||
n+=1
|
n+=1
|
||||||
done
|
done
|
||||||
params=("${rest[@]}")
|
# Old bash empty array hack
|
||||||
|
params=(${rest+"${rest[@]}"})
|
||||||
fi
|
fi
|
||||||
|
|
||||||
source @out@/nix-support/add-hardening.sh
|
source @out@/nix-support/add-hardening.sh
|
||||||
@ -73,11 +74,12 @@ relocatable=
|
|||||||
# Find all -L... switches for rpath, and relocatable flags for build id.
|
# Find all -L... switches for rpath, and relocatable flags for build id.
|
||||||
if [ "$NIX_@infixSalt@_DONT_SET_RPATH" != 1 ] || [ "$NIX_@infixSalt@_SET_BUILD_ID" = 1 ]; then
|
if [ "$NIX_@infixSalt@_DONT_SET_RPATH" != 1 ] || [ "$NIX_@infixSalt@_SET_BUILD_ID" = 1 ]; then
|
||||||
prev=
|
prev=
|
||||||
# Old bash thinks empty arrays are undefined, ugh, so temporarily disable
|
# Old bash thinks empty arrays are undefined, ugh.
|
||||||
# `set -u`.
|
for p in \
|
||||||
set +u
|
${extraBefore+"${extraBefore[@]}"} \
|
||||||
for p in "${extraBefore[@]}" "${params[@]}" "${extraAfter[@]}"; do
|
${params+"${params[@]}"} \
|
||||||
set -u
|
${extraAfter+"${extraAfter[@]}"}
|
||||||
|
do
|
||||||
case "$prev" in
|
case "$prev" in
|
||||||
-L)
|
-L)
|
||||||
libDirs+=("$p")
|
libDirs+=("$p")
|
||||||
@ -155,14 +157,13 @@ fi
|
|||||||
|
|
||||||
# Optionally print debug info.
|
# Optionally print debug info.
|
||||||
if [ -n "${NIX_DEBUG:-}" ]; then
|
if [ -n "${NIX_DEBUG:-}" ]; then
|
||||||
set +u # Old bash workaround, see above.
|
# Old bash workaround, see above.
|
||||||
echo "extra flags before to @prog@:" >&2
|
echo "extra flags before to @prog@:" >&2
|
||||||
printf " %q\n" "${extraBefore[@]}" >&2
|
printf " %q\n" ${extraBefore+"${extraBefore[@]}"} >&2
|
||||||
echo "original flags to @prog@:" >&2
|
echo "original flags to @prog@:" >&2
|
||||||
printf " %q\n" "${params[@]}" >&2
|
printf " %q\n" ${params+"${params[@]}"} >&2
|
||||||
echo "extra flags after to @prog@:" >&2
|
echo "extra flags after to @prog@:" >&2
|
||||||
printf " %q\n" "${extraAfter[@]}" >&2
|
printf " %q\n" ${extraAfter+"${extraAfter[@]}"} >&2
|
||||||
set -u
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$NIX_LD_WRAPPER_@infixSalt@_EXEC_HOOK" ]; then
|
if [ -n "$NIX_LD_WRAPPER_@infixSalt@_EXEC_HOOK" ]; then
|
||||||
@ -170,5 +171,8 @@ if [ -n "$NIX_LD_WRAPPER_@infixSalt@_EXEC_HOOK" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
PATH="$path_backup"
|
PATH="$path_backup"
|
||||||
set +u # Old bash workaround, see above.
|
# Old bash workaround, see above.
|
||||||
exec @prog@ "${extraBefore[@]}" "${params[@]}" "${extraAfter[@]}"
|
exec @prog@ \
|
||||||
|
${extraBefore+"${extraBefore[@]}"} \
|
||||||
|
${params+"${params[@]}"} \
|
||||||
|
${extraAfter+"${extraAfter[@]}"}
|
||||||
|
@ -139,7 +139,6 @@ export ${role}CC=@named_cc@
|
|||||||
export ${role}CXX=@named_cxx@
|
export ${role}CXX=@named_cxx@
|
||||||
|
|
||||||
for CMD in \
|
for CMD in \
|
||||||
cpp \
|
|
||||||
ar as nm objcopy ranlib strip strings size ld windres
|
ar as nm objcopy ranlib strip strings size ld windres
|
||||||
do
|
do
|
||||||
if
|
if
|
||||||
|
@ -24,7 +24,7 @@ badPath() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
expandResponseParams() {
|
expandResponseParams() {
|
||||||
declare -g params=("$@")
|
declare -ga params=("$@")
|
||||||
local arg
|
local arg
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
if [[ "$arg" == @* ]]; then
|
if [[ "$arg" == @* ]]; then
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
# assertExecutable FILE
|
# assertExecutable FILE
|
||||||
assertExecutable() {
|
assertExecutable() {
|
||||||
local file="$1"
|
local file="$1"
|
||||||
[[ -f "${file}" && -x "${file}" ]] || \
|
[[ -f "$file" && -x "$file" ]] || \
|
||||||
die "Cannot wrap ${file} because it is not an executable file"
|
die "Cannot wrap '$file' because it is not an executable file"
|
||||||
}
|
}
|
||||||
|
|
||||||
# construct an executable file that wraps the actual executable
|
# construct an executable file that wraps the actual executable
|
||||||
@ -33,7 +33,7 @@ makeWrapper() {
|
|||||||
local params varName value command separator n fileNames
|
local params varName value command separator n fileNames
|
||||||
local argv0 flagsBefore flags
|
local argv0 flagsBefore flags
|
||||||
|
|
||||||
assertExecutable "${original}"
|
assertExecutable "$original"
|
||||||
|
|
||||||
mkdir -p "$(dirname "$wrapper")"
|
mkdir -p "$(dirname "$wrapper")"
|
||||||
|
|
||||||
@ -131,7 +131,7 @@ wrapProgram() {
|
|||||||
local prog="$1"
|
local prog="$1"
|
||||||
local hidden
|
local hidden
|
||||||
|
|
||||||
assertExecutable "${prog}"
|
assertExecutable "$prog"
|
||||||
|
|
||||||
hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped
|
hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped
|
||||||
while [ -e "$hidden" ]; do
|
while [ -e "$hidden" ]; do
|
||||||
|
@ -40,9 +40,9 @@ _overrideFirst outputLib "lib" "out"
|
|||||||
_overrideFirst outputDoc "doc" "out"
|
_overrideFirst outputDoc "doc" "out"
|
||||||
_overrideFirst outputDevdoc "devdoc" REMOVE # documentation for developers
|
_overrideFirst outputDevdoc "devdoc" REMOVE # documentation for developers
|
||||||
# man and info pages are small and often useful to distribute with binaries
|
# man and info pages are small and often useful to distribute with binaries
|
||||||
_overrideFirst outputMan "man" "doc" "$outputBin"
|
_overrideFirst outputMan "man" "$outputBin"
|
||||||
_overrideFirst outputDevman "devman" "devdoc" "$outputMan"
|
_overrideFirst outputDevman "devman" "devdoc" "$outputMan"
|
||||||
_overrideFirst outputInfo "info" "doc" "$outputMan"
|
_overrideFirst outputInfo "info" "$outputBin"
|
||||||
|
|
||||||
|
|
||||||
# Add standard flags to put files into the desired outputs.
|
# Add standard flags to put files into the desired outputs.
|
||||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||||||
"TZDIR=$(out)/share/zoneinfo"
|
"TZDIR=$(out)/share/zoneinfo"
|
||||||
"ETCDIR=$(TMPDIR)/etc"
|
"ETCDIR=$(TMPDIR)/etc"
|
||||||
"LIBDIR=$(dev)/lib"
|
"LIBDIR=$(dev)/lib"
|
||||||
"MANDIR=$(man)/man"
|
"MANDIR=$(man)/share/man"
|
||||||
"AWK=awk"
|
"AWK=awk"
|
||||||
"CFLAGS=-DHAVE_LINK=0"
|
"CFLAGS=-DHAVE_LINK=0"
|
||||||
];
|
];
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "09ch709cb9fniwc4221xgkq0jf0x0lxs814sqig8p2dcll0llvzk";
|
sha256 = "09ch709cb9fniwc4221xgkq0jf0x0lxs814sqig8p2dcll0llvzk";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" ];
|
||||||
|
|
||||||
buildInputs = [ ORBit2 dbus_libs dbus_glib libxml2 ]
|
buildInputs = [ ORBit2 dbus_libs dbus_glib libxml2 ]
|
||||||
# polkit requires pam, which requires shadow.h, which is not available on
|
# polkit requires pam, which requires shadow.h, which is not available on
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ fetchurl, stdenv, pkgconfig, gnome3, gtk3, gobjectIntrospection
|
{ fetchurl, stdenv, pkgconfig, gnome3, gtk3, gobjectIntrospection
|
||||||
, spidermonkey_24, pango, readline, glib, libxml2, dbus }:
|
, spidermonkey_31, pango, readline, glib, libxml2, dbus }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
inherit (import ./src.nix fetchurl) name src;
|
inherit (import ./src.nix fetchurl) name src;
|
||||||
|
|
||||||
buildInputs = [ libxml2 gobjectIntrospection pkgconfig gtk3 glib pango readline dbus ];
|
buildInputs = [ libxml2 gobjectIntrospection pkgconfig gtk3 glib pango readline dbus ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ spidermonkey_24 ];
|
propagatedBuildInputs = [ spidermonkey_31 ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la
|
sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# Autogenerated by maintainers/scripts/gnome.sh update
|
# Autogenerated by maintainers/scripts/gnome.sh update
|
||||||
|
|
||||||
fetchurl: rec {
|
fetchurl: rec {
|
||||||
name = "gjs-${major}.0";
|
name = "gjs-${major}.4";
|
||||||
major = "1.46";
|
major = "1.47";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gjs/${major}/${name}.tar.xz";
|
url = "mirror://gnome/sources/gjs/${major}/${name}.tar.xz";
|
||||||
sha256 = "2283591fa70785443793e1d7db66071b36052d707075f229baeb468d8dd25ad4";
|
sha256 = "05x9yk3h53wn9fpwbcxl8yz71znhwhzwy7412di77x88ghkxi2c1";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -344,8 +344,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
# On GNU/Hurd glibc refers to Mach & Hurd
|
# On GNU/Hurd glibc refers to Mach & Hurd
|
||||||
# headers.
|
# headers.
|
||||||
++ optionals (libcCross != null &&
|
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
|
||||||
hasAttr "propagatedBuildInputs" libcCross)
|
|
||||||
libcCross.propagatedBuildInputs);
|
libcCross.propagatedBuildInputs);
|
||||||
|
|
||||||
LIBRARY_PATH = makeLibraryPath ([]
|
LIBRARY_PATH = makeLibraryPath ([]
|
||||||
|
@ -467,7 +467,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
# On GNU/Hurd glibc refers to Mach & Hurd
|
# On GNU/Hurd glibc refers to Mach & Hurd
|
||||||
# headers.
|
# headers.
|
||||||
++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" )
|
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
|
||||||
libcCross.propagatedBuildInputs);
|
libcCross.propagatedBuildInputs);
|
||||||
|
|
||||||
LIBRARY_PATH = makeLibraryPath ([]
|
LIBRARY_PATH = makeLibraryPath ([]
|
||||||
|
@ -473,7 +473,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
# On GNU/Hurd glibc refers to Mach & Hurd
|
# On GNU/Hurd glibc refers to Mach & Hurd
|
||||||
# headers.
|
# headers.
|
||||||
++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" )
|
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
|
||||||
libcCross.propagatedBuildInputs);
|
libcCross.propagatedBuildInputs);
|
||||||
|
|
||||||
LIBRARY_PATH = makeLibraryPath ([]
|
LIBRARY_PATH = makeLibraryPath ([]
|
||||||
|
@ -325,13 +325,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure =
|
preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
|
||||||
# Not sure why this is causing problems, now that the stdenv
|
|
||||||
# exports CPP=cpp the build fails with strange errors on darwin.
|
|
||||||
# https://github.com/NixOS/nixpkgs/issues/27889
|
|
||||||
stdenv.lib.optionalString stdenv.cc.isClang ''
|
|
||||||
unset CPP
|
|
||||||
'' + stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
|
|
||||||
export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
|
export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
|
||||||
export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
|
export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
|
||||||
export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
|
export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
|
||||||
@ -497,7 +491,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
# On GNU/Hurd glibc refers to Mach & Hurd
|
# On GNU/Hurd glibc refers to Mach & Hurd
|
||||||
# headers.
|
# headers.
|
||||||
++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" )
|
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
|
||||||
libcCross.propagatedBuildInputs);
|
libcCross.propagatedBuildInputs);
|
||||||
|
|
||||||
LIBRARY_PATH = makeLibraryPath ([]
|
LIBRARY_PATH = makeLibraryPath ([]
|
||||||
|
@ -226,6 +226,19 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
|
# This should kill all the stdinc frameworks that gcc and friends like to
|
||||||
|
# insert into default search paths.
|
||||||
|
prePatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
|
||||||
|
substituteInPlace gcc/config/darwin-c.c \
|
||||||
|
--replace 'if (stdinc)' 'if (0)'
|
||||||
|
|
||||||
|
substituteInPlace libgcc/config/t-slibgcc-darwin \
|
||||||
|
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)"
|
||||||
|
|
||||||
|
substituteInPlace libgfortran/configure \
|
||||||
|
--replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
|
||||||
|
'';
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
if (hostPlatform.isHurd
|
if (hostPlatform.isHurd
|
||||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||||
@ -468,7 +481,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
# On GNU/Hurd glibc refers to Mach & Hurd
|
# On GNU/Hurd glibc refers to Mach & Hurd
|
||||||
# headers.
|
# headers.
|
||||||
++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs")
|
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
|
||||||
libcCross.propagatedBuildInputs);
|
libcCross.propagatedBuildInputs);
|
||||||
|
|
||||||
LIBRARY_PATH = makeLibraryPath ([]
|
LIBRARY_PATH = makeLibraryPath ([]
|
||||||
|
@ -228,6 +228,19 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
|
# This should kill all the stdinc frameworks that gcc and friends like to
|
||||||
|
# insert into default search paths.
|
||||||
|
prePatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
|
||||||
|
substituteInPlace gcc/config/darwin-c.c \
|
||||||
|
--replace 'if (stdinc)' 'if (0)'
|
||||||
|
|
||||||
|
substituteInPlace libgcc/config/t-slibgcc-darwin \
|
||||||
|
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)"
|
||||||
|
|
||||||
|
substituteInPlace libgfortran/configure \
|
||||||
|
--replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
|
||||||
|
'';
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
if (hostPlatform.isHurd
|
if (hostPlatform.isHurd
|
||||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||||
@ -470,7 +483,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
# On GNU/Hurd glibc refers to Mach & Hurd
|
# On GNU/Hurd glibc refers to Mach & Hurd
|
||||||
# headers.
|
# headers.
|
||||||
++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs")
|
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
|
||||||
libcCross.propagatedBuildInputs);
|
libcCross.propagatedBuildInputs);
|
||||||
|
|
||||||
LIBRARY_PATH = makeLibraryPath ([]
|
LIBRARY_PATH = makeLibraryPath ([]
|
||||||
|
@ -470,7 +470,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
# On GNU/Hurd glibc refers to Mach & Hurd
|
# On GNU/Hurd glibc refers to Mach & Hurd
|
||||||
# headers.
|
# headers.
|
||||||
++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs")
|
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
|
||||||
libcCross.propagatedBuildInputs);
|
libcCross.propagatedBuildInputs);
|
||||||
|
|
||||||
LIBRARY_PATH = makeLibraryPath ([]
|
LIBRARY_PATH = makeLibraryPath ([]
|
||||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" "doc" ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||||
|
@ -21,42 +21,42 @@ let
|
|||||||
else
|
else
|
||||||
throw "openjdk requires i686-linux or x86_64 linux";
|
throw "openjdk requires i686-linux or x86_64 linux";
|
||||||
|
|
||||||
update = "141";
|
update = "152";
|
||||||
build = "15";
|
build = "04";
|
||||||
baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
|
baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
|
||||||
repover = "jdk8u${update}-b${build}";
|
repover = "jdk8u${update}-b${build}";
|
||||||
paxflags = if stdenv.isi686 then "msp" else "m";
|
paxflags = if stdenv.isi686 then "msp" else "m";
|
||||||
jdk8 = fetchurl {
|
jdk8 = fetchurl {
|
||||||
url = "${baseurl}/archive/${repover}.tar.gz";
|
url = "${baseurl}/archive/${repover}.tar.gz";
|
||||||
sha256 = "0b2nf1x2wcjn0ijyxhnrhcap4vq43sbblh5kf0qcqmx83cs3z6yh";
|
sha256 = "1hnpbx0v89jmbg58ym4zm255da11zf5jq8y5s58zj4x2z6b1fpxi";
|
||||||
};
|
};
|
||||||
langtools = fetchurl {
|
langtools = fetchurl {
|
||||||
url = "${baseurl}/langtools/archive/${repover}.tar.gz";
|
url = "${baseurl}/langtools/archive/${repover}.tar.gz";
|
||||||
sha256 = "1mirjjywv7mnirrxj5sx3zg6j2864vjvphkn9mxx1pad49by7157";
|
sha256 = "060q01msfyspn14c9mkf9x0l8sprki9n8zb3cwlgglhnr2d4gfbr";
|
||||||
};
|
};
|
||||||
hotspot = fetchurl {
|
hotspot = fetchurl {
|
||||||
url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
|
url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
|
||||||
sha256 = "0hhvsrclx58i7ns2v7la2wncnndblppwjncniwcvhnhgl5zhpp31";
|
sha256 = "0705667y6llsmszvdcbhbxzbn1csv1f2rlyghwggx5xnaq46dhx6";
|
||||||
};
|
};
|
||||||
corba = fetchurl {
|
corba = fetchurl {
|
||||||
url = "${baseurl}/corba/archive/${repover}.tar.gz";
|
url = "${baseurl}/corba/archive/${repover}.tar.gz";
|
||||||
sha256 = "1brr72rlpaz70ihymdyp808vw433cr8b11l5qdc76aic2ywbwjyp";
|
sha256 = "13f4h43lw9q1292fymn2d7whwvccpkcqraasdhvzf904101xcpsl";
|
||||||
};
|
};
|
||||||
jdk = fetchurl {
|
jdk = fetchurl {
|
||||||
url = "${baseurl}/jdk/archive/${repover}.tar.gz";
|
url = "${baseurl}/jdk/archive/${repover}.tar.gz";
|
||||||
sha256 = "1d4q531jswzk00kdskzfkgr0f4qmxpc7pg9w8p1gq84yz93wz11k";
|
sha256 = "16wqinqv0aqyf6jg3nsn6rj5s7ggq82wvx86zm584g56011vkgf6";
|
||||||
};
|
};
|
||||||
jaxws = fetchurl {
|
jaxws = fetchurl {
|
||||||
url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
|
url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
|
||||||
sha256 = "0haw5095p45w33m8pafnp5r5j2lif8c1271chad5sp4gbbk40ai4";
|
sha256 = "0japl4nyb8y3w1mpfpkxn5vkf8fap1rg340vjnb6qm6fpqvl964f";
|
||||||
};
|
};
|
||||||
jaxp = fetchurl {
|
jaxp = fetchurl {
|
||||||
url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
|
url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
|
||||||
sha256 = "0pm2cccy31d9rnkgc2hcxbpjjhf4wbayx18qn736nncvwcwa76bj";
|
sha256 = "024zphx9r92ws9xjihvhyrbbbamfl7js0s24ff577v5z5gdb1lly";
|
||||||
};
|
};
|
||||||
nashorn = fetchurl {
|
nashorn = fetchurl {
|
||||||
url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
|
url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
|
||||||
sha256 = "1g05vfggjjg51dki28zby27pnd4z1b23fv9kyc3hdmc4bcj306x0";
|
sha256 = "1crnbjjv1s6ndqpllcrggcpsxvqcnpr58zp51y0hjz3m3gpsxwcq";
|
||||||
};
|
};
|
||||||
openjdk8 = stdenv.mkDerivation {
|
openjdk8 = stdenv.mkDerivation {
|
||||||
name = "openjdk-8u${update}b${build}";
|
name = "openjdk-8u${update}b${build}";
|
||||||
@ -98,6 +98,10 @@ let
|
|||||||
substituteInPlace configure --replace /bin/bash "$shell"
|
substituteInPlace configure --replace /bin/bash "$shell"
|
||||||
substituteInPlace hotspot/make/linux/adlc_updater --replace /bin/sh "$shell"
|
substituteInPlace hotspot/make/linux/adlc_updater --replace /bin/sh "$shell"
|
||||||
substituteInPlace hotspot/make/linux/makefiles/dtrace.make --replace /usr/include/sys/sdt.h "/no-such-path"
|
substituteInPlace hotspot/make/linux/makefiles/dtrace.make --replace /usr/include/sys/sdt.h "/no-such-path"
|
||||||
|
''
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1306558
|
||||||
|
+ stdenv.lib.optionalString stdenv.cc.isGNU ''
|
||||||
|
NIX_CFLAGS_COMPILE+=" -fno-lifetime-dse -fno-delete-null-pointer-checks"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
|
@ -124,7 +124,7 @@ stdenv.mkDerivation {
|
|||||||
buildInputs = [ ncurses ] ++ targetToolchains
|
buildInputs = [ ncurses ] ++ targetToolchains
|
||||||
++ optional (!forceBundledLLVM) llvmShared;
|
++ optional (!forceBundledLLVM) llvmShared;
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" "doc" ];
|
||||||
setOutputFlags = false;
|
setOutputFlags = false;
|
||||||
|
|
||||||
# Disable codegen units for the tests.
|
# Disable codegen units for the tests.
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
|
nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
|
||||||
buildInputs = [ readline libtool libunistring libffi ];
|
buildInputs = [ readline libtool libunistring libffi ];
|
||||||
propagatedBuildInputs = [ gmp boehmgc ]
|
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ gmp boehmgc ]
|
||||||
# XXX: These ones aren't normally needed here, but since
|
# XXX: These ones aren't normally needed here, but since
|
||||||
# `libguile-2.0.la' reads `-lltdl -lunistring', adding them here will add
|
# `libguile-2.0.la' reads `-lltdl -lunistring', adding them here will add
|
||||||
# the needed `-L' flags. As for why the `.la' file lacks the `-L' flags,
|
# the needed `-L' flags. As for why the `.la' file lacks the `-L' flags,
|
||||||
|
@ -127,7 +127,6 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
# Use Python3 as default python
|
# Use Python3 as default python
|
||||||
ln -s "$out/bin/idle3" "$out/bin/idle"
|
ln -s "$out/bin/idle3" "$out/bin/idle"
|
||||||
ln -s "$out/bin/pip3" "$out/bin/pip"
|
|
||||||
ln -s "$out/bin/pydoc3" "$out/bin/pydoc"
|
ln -s "$out/bin/pydoc3" "$out/bin/pydoc"
|
||||||
ln -s "$out/bin/python3" "$out/bin/python"
|
ln -s "$out/bin/python3" "$out/bin/python"
|
||||||
ln -s "$out/bin/python3-config" "$out/bin/python-config"
|
ln -s "$out/bin/python3-config" "$out/bin/python-config"
|
||||||
|
@ -125,7 +125,6 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
# Use Python3 as default python
|
# Use Python3 as default python
|
||||||
ln -s "$out/bin/idle3" "$out/bin/idle"
|
ln -s "$out/bin/idle3" "$out/bin/idle"
|
||||||
ln -s "$out/bin/pip3" "$out/bin/pip"
|
|
||||||
ln -s "$out/bin/pydoc3" "$out/bin/pydoc"
|
ln -s "$out/bin/pydoc3" "$out/bin/pydoc"
|
||||||
ln -s "$out/bin/python3" "$out/bin/python"
|
ln -s "$out/bin/python3" "$out/bin/python"
|
||||||
ln -s "$out/bin/python3-config" "$out/bin/python-config"
|
ln -s "$out/bin/python3-config" "$out/bin/python-config"
|
||||||
|
@ -125,7 +125,6 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
# Use Python3 as default python
|
# Use Python3 as default python
|
||||||
ln -s "$out/bin/idle3" "$out/bin/idle"
|
ln -s "$out/bin/idle3" "$out/bin/idle"
|
||||||
ln -s "$out/bin/pip3" "$out/bin/pip"
|
|
||||||
ln -s "$out/bin/pydoc3" "$out/bin/pydoc"
|
ln -s "$out/bin/pydoc3" "$out/bin/pydoc"
|
||||||
ln -s "$out/bin/python3" "$out/bin/python"
|
ln -s "$out/bin/python3" "$out/bin/python"
|
||||||
ln -s "$out/bin/python3-config" "$out/bin/python-config"
|
ln -s "$out/bin/python3-config" "$out/bin/python-config"
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, nspr, perl, python2, zip, libffi, readline, icu }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
version = "24.2.0";
|
|
||||||
name = "spidermonkey-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://mozilla/js/mozjs-${version}.tar.bz2";
|
|
||||||
sha256 = "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" "lib" ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ nspr ];
|
|
||||||
|
|
||||||
buildInputs = [ pkgconfig perl python2 zip libffi readline icu ];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# Fixes an issue with version detection under perl 5.22.x
|
|
||||||
sed -i 's/(defined\((@TEMPLATE_FILE)\))/\1/' config/milestone.pl
|
|
||||||
'';
|
|
||||||
|
|
||||||
postUnpack = "sourceRoot=\${sourceRoot}/js/src";
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr"
|
|
||||||
export LIBXUL_DIST=$out
|
|
||||||
'';
|
|
||||||
|
|
||||||
setOutputFlags = false;
|
|
||||||
configureFlags = [
|
|
||||||
"--libdir=$(lib)/lib"
|
|
||||||
"--includedir=$(dev)/include"
|
|
||||||
"--enable-threadsafe"
|
|
||||||
"--with-system-icu"
|
|
||||||
"--with-system-nspr"
|
|
||||||
"--with-system-ffi"
|
|
||||||
"--enable-readline"
|
|
||||||
];
|
|
||||||
|
|
||||||
# hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
|
|
||||||
preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
doCheck = true;
|
|
||||||
preCheck = "rm jit-test/tests/sunspider/check-date-format-tofte.js"; # https://bugzil.la/600522
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
rm "$lib"/lib/*.a # halve the output size
|
|
||||||
moveToOutput "bin/js*-config" "$dev" # break the cycle
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Mozilla's JavaScript engine written in C/C++";
|
|
||||||
homepage = https://developer.mozilla.org/en/SpiderMonkey;
|
|
||||||
# TODO: MPL/GPL/LGPL tri-license.
|
|
||||||
maintainers = [ maintainers.goibhniu ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv";
|
sha256 = "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ];
|
outputs = [ "bin" "dev" "out" "man" "info" ];
|
||||||
setOutputFlags = false; # Doesn't support all the flags
|
setOutputFlags = false; # Doesn't support all the flags
|
||||||
|
|
||||||
patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ];
|
patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ];
|
||||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p";
|
sha256 = "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ];
|
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
buildInputs = [ attr ];
|
buildInputs = [ attr ];
|
||||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5";
|
sha256 = "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ];
|
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "202ee45af747f18642ae0a088d7c4553521714a511a1a9ec99b8144cf9928317";
|
sha256 = "202ee45af747f18642ae0a088d7c4553521714a511a1a9ec99b8144cf9928317";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./gcc6.patch ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Core library for full-featured text search engine";
|
description = "Core library for full-featured text search engine";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
146
pkgs/development/libraries/clucene-core/gcc6.patch
Normal file
146
pkgs/development/libraries/clucene-core/gcc6.patch
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=998477
|
||||||
|
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h.gcc48 clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h.gcc48 2008-10-23 12:44:35.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h 2013-08-27 13:17:35.754234297 -0500
|
||||||
|
@@ -58,7 +58,7 @@ public:
|
||||||
|
__cl_refcount--;
|
||||||
|
return __cl_refcount;
|
||||||
|
}
|
||||||
|
- virtual ~LuceneBase(){};
|
||||||
|
+ virtual ~LuceneBase() throw(CLuceneError&) {};
|
||||||
|
};
|
||||||
|
|
||||||
|
class LuceneVoidBase{
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp.gcc48 2013-08-27 13:17:35.754234297 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp 2013-08-27 13:18:02.844949386 -0500
|
||||||
|
@@ -94,7 +94,7 @@ CompoundFileReader::CompoundFileReader(D
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
-CompoundFileReader::~CompoundFileReader(){
|
||||||
|
+CompoundFileReader::~CompoundFileReader() throw(CLuceneError&) {
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h.gcc48 clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h.gcc48 2008-10-23 12:44:37.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h 2013-08-27 13:17:35.755234286 -0500
|
||||||
|
@@ -95,7 +95,7 @@ protected:
|
||||||
|
|
||||||
|
public:
|
||||||
|
CompoundFileReader(CL_NS(store)::Directory* dir, char* name);
|
||||||
|
- ~CompoundFileReader();
|
||||||
|
+ ~CompoundFileReader() throw(CLuceneError&);
|
||||||
|
CL_NS(store)::Directory* getDirectory();
|
||||||
|
const char* getName() const;
|
||||||
|
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/index/Term.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/index/Term.cpp
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/index/Term.cpp.gcc48 2008-10-23 12:44:37.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/index/Term.cpp 2013-08-27 13:17:35.755234286 -0500
|
||||||
|
@@ -81,7 +81,7 @@ Term::Term(const TCHAR* fld, const TCHAR
|
||||||
|
set(fld,txt);
|
||||||
|
}
|
||||||
|
|
||||||
|
-Term::~Term(){
|
||||||
|
+Term::~Term() throw (CLuceneError&) {
|
||||||
|
//Func - Destructor.
|
||||||
|
//Pre - true
|
||||||
|
//Post - The instance has been destroyed. field and text have been deleted if pre(intrn) is false
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/index/Term.h.gcc48 clucene-core-0.9.21b/src/CLucene/index/Term.h
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/index/Term.h.gcc48 2008-10-23 12:44:37.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/index/Term.h 2013-08-27 13:17:35.755234286 -0500
|
||||||
|
@@ -68,7 +68,7 @@ class Term:LUCENE_REFBASE {
|
||||||
|
Term(const TCHAR* fld, const TCHAR* txt);
|
||||||
|
|
||||||
|
///Destructor.
|
||||||
|
- ~Term();
|
||||||
|
+ ~Term() throw(CLuceneError&);
|
||||||
|
|
||||||
|
///Returns the field of this term, an interned string. The field indicates
|
||||||
|
///the part of a document which this term came from.
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/store/Directory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/Directory.h
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/store/Directory.h.gcc48 2008-10-23 12:44:36.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/store/Directory.h 2013-08-27 13:17:35.756234276 -0500
|
||||||
|
@@ -41,7 +41,7 @@ CL_NS_DEF(store)
|
||||||
|
public:
|
||||||
|
DEFINE_MUTEX(THIS_LOCK)
|
||||||
|
|
||||||
|
- virtual ~Directory(){ };
|
||||||
|
+ virtual ~Directory() throw(CLuceneError&) { };
|
||||||
|
|
||||||
|
// Returns an null terminated array of strings, one for each file in the directory.
|
||||||
|
char** list() const{
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp.gcc48 2008-10-23 13:01:52.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp 2013-08-27 13:17:35.756234276 -0500
|
||||||
|
@@ -368,7 +368,7 @@ void FSDirectory::FSIndexInput::readInte
|
||||||
|
strcat(buffer,name);
|
||||||
|
}
|
||||||
|
|
||||||
|
- FSDirectory::~FSDirectory(){
|
||||||
|
+ FSDirectory::~FSDirectory() throw(CLuceneError&) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void FSDirectory::list(vector<string>* names) const{ //todo: fix this, ugly!!!
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h.gcc48 2008-10-23 13:00:43.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h 2013-08-27 13:17:35.756234276 -0500
|
||||||
|
@@ -155,7 +155,7 @@
|
||||||
|
///Destructor - only call this if you are sure the directory
|
||||||
|
///is not being used anymore. Otherwise use the ref-counting
|
||||||
|
///facilities of _CLDECDELETE
|
||||||
|
- ~FSDirectory();
|
||||||
|
+ ~FSDirectory() throw(CLuceneError&);
|
||||||
|
|
||||||
|
/// Get a list of strings, one for each file in the directory.
|
||||||
|
void list(vector<string>* names) const;
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp.gcc48 2008-10-23 12:44:36.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp 2013-08-27 13:17:35.757234265 -0500
|
||||||
|
@@ -219,7 +219,7 @@ CL_NS_DEF(store)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
- RAMDirectory::~RAMDirectory(){
|
||||||
|
+ RAMDirectory::~RAMDirectory() throw(CLuceneError&) {
|
||||||
|
//todo: should call close directory?
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h.gcc48 2008-10-23 12:44:36.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h 2013-08-27 13:17:35.757234265 -0500
|
||||||
|
@@ -131,7 +131,7 @@ CL_NS_DEF(store)
|
||||||
|
///Destructor - only call this if you are sure the directory
|
||||||
|
///is not being used anymore. Otherwise use the ref-counting
|
||||||
|
///facilities of dir->close
|
||||||
|
- virtual ~RAMDirectory();
|
||||||
|
+ virtual ~RAMDirectory() throw(CLuceneError&);
|
||||||
|
RAMDirectory(Directory* dir);
|
||||||
|
|
||||||
|
/**
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp.gcc48 2008-10-23 12:44:36.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp 2013-08-27 13:17:35.757234265 -0500
|
||||||
|
@@ -16,7 +16,7 @@ CL_NS_USE(util)
|
||||||
|
{
|
||||||
|
transOpen = false;
|
||||||
|
}
|
||||||
|
- TransactionalRAMDirectory::~TransactionalRAMDirectory(){
|
||||||
|
+ TransactionalRAMDirectory::~TransactionalRAMDirectory() throw(CLuceneError&) {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TransactionalRAMDirectory::archiveOrigFileIfNecessary(const char* name) {
|
||||||
|
diff -up clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h
|
||||||
|
--- clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h.gcc48 2008-10-23 12:44:36.000000000 -0500
|
||||||
|
+++ clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h 2013-08-27 13:17:35.757234265 -0500
|
||||||
|
@@ -44,7 +44,7 @@ CL_NS_DEF(store)
|
||||||
|
|
||||||
|
public:
|
||||||
|
TransactionalRAMDirectory();
|
||||||
|
- virtual ~TransactionalRAMDirectory();
|
||||||
|
+ virtual ~TransactionalRAMDirectory() throw(CLuceneError&);
|
||||||
|
|
||||||
|
bool transIsOpen() const;
|
||||||
|
void transStart();
|
@ -6,8 +6,8 @@ assert x11Support -> libX11 != null
|
|||||||
&& libSM != null;
|
&& libSM != null;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.10.20";
|
version = "1.10.22";
|
||||||
sha256 = "0j0b8rn9fvh1m4nndp9fzq09xw50grp5kfvkv7jgs9al1dwbjx75";
|
sha256 = "15vv9gz5i4f5l7h0d045qz5iyvl89hjk2k83lb4vbizd7qg41cg2";
|
||||||
|
|
||||||
self = stdenv.mkDerivation {
|
self = stdenv.mkDerivation {
|
||||||
name = "dbus-${version}";
|
name = "dbus-${version}";
|
||||||
|
@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
|
|||||||
postPatch = ''patchShebangs .'';
|
postPatch = ''patchShebangs .'';
|
||||||
inherit patches;
|
inherit patches;
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" ]
|
outputs = [ "bin" "dev" "out" "man" ]
|
||||||
++ optional (reqMin "1.0") "doc" ; # just dev-doc
|
++ optional (reqMin "1.0") "doc" ; # just dev-doc
|
||||||
setOutputFlags = false; # doesn't accept all and stores configureFlags in libs!
|
setOutputFlags = false; # doesn't accept all and stores configureFlags in libs!
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0g8qk98lgq770ixdf7n36yd5xjsgm2v3wzvnphwmhy6r4y2amx0y";
|
sha256 = "0g8qk98lgq770ixdf7n36yd5xjsgm2v3wzvnphwmhy6r4y2amx0y";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ]; # it's dev-doc only
|
outputs = [ "out" "dev" "man" "info" ]; # it's dev-doc only
|
||||||
outputBin = "dev"; # fftw-wisdom
|
outputBin = "dev"; # fftw-wisdom
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
|
@ -3,14 +3,16 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
ver_maj = "2.36";
|
ver_maj = "2.36";
|
||||||
ver_min = "6";
|
ver_min = "7";
|
||||||
|
# TODO: since 2.36.8 gdk-pixbuf gets configured to use mime-type sniffing,
|
||||||
|
# which apparently requires access to shared_mime_info files during runtime.
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gdk-pixbuf-${ver_maj}.${ver_min}";
|
name = "gdk-pixbuf-${ver_maj}.${ver_min}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
|
url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
|
||||||
sha256 = "455eb90c09ed1b71f95f3ebfe1c904c206727e0eeb34fc94e5aaf944663a820c";
|
sha256 = "1b6e5eef09d98f05f383014ecd3503e25dfb03d7e5b5f5904e5a65b049a6a4d8";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "devdoc" ];
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
patches = [ ./absolute-paths.diff ];
|
patches = [ ./absolute-paths.diff ];
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" "doc" "info" ];
|
||||||
|
|
||||||
# FIXME stackprotector needs gcc 4.9 in bootstrap tools
|
# FIXME stackprotector needs gcc 4.9 in bootstrap tools
|
||||||
hardeningDisable = [ "format" "stackprotector" ];
|
hardeningDisable = [ "format" "stackprotector" ];
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
From 0edeadc0d396aa713b808ae50a0058aca5d3837e Mon Sep 17 00:00:00 2001
|
|
||||||
From: "H.J. Lu" <hjl.tools@gmail.com>
|
|
||||||
Date: Wed, 26 Jul 2017 10:08:46 -0700
|
|
||||||
Subject: [PATCH] Avoid .symver on common symbols [BZ #21666]
|
|
||||||
|
|
||||||
The .symver directive on common symbol just creates a new common symbol,
|
|
||||||
not an alias and the newer assembler with the bug fix for
|
|
||||||
|
|
||||||
https://sourceware.org/bugzilla/show_bug.cgi?id=21661
|
|
||||||
|
|
||||||
will issue an error. Before the fix, we got
|
|
||||||
|
|
||||||
$ readelf -sW libc.so | grep "loc[12s]"
|
|
||||||
5109: 00000000003a0608 8 OBJECT LOCAL DEFAULT 36 loc1
|
|
||||||
5188: 00000000003a0610 8 OBJECT LOCAL DEFAULT 36 loc2
|
|
||||||
5455: 00000000003a0618 8 OBJECT LOCAL DEFAULT 36 locs
|
|
||||||
6575: 00000000003a05f0 8 OBJECT GLOBAL DEFAULT 36 locs@GLIBC_2.2.5
|
|
||||||
7156: 00000000003a05f8 8 OBJECT GLOBAL DEFAULT 36 loc1@GLIBC_2.2.5
|
|
||||||
7312: 00000000003a0600 8 OBJECT GLOBAL DEFAULT 36 loc2@GLIBC_2.2.5
|
|
||||||
|
|
||||||
in libc.so. The versioned loc1, loc2 and locs have the wrong addresses.
|
|
||||||
After the fix, we got
|
|
||||||
|
|
||||||
$ readelf -sW libc.so | grep "loc[12s]"
|
|
||||||
6570: 000000000039e3b8 8 OBJECT GLOBAL DEFAULT 34 locs@GLIBC_2.2.5
|
|
||||||
7151: 000000000039e3c8 8 OBJECT GLOBAL DEFAULT 34 loc1@GLIBC_2.2.5
|
|
||||||
7307: 000000000039e3c0 8 OBJECT GLOBAL DEFAULT 34 loc2@GLIBC_2.2.5
|
|
||||||
|
|
||||||
[BZ #21666]
|
|
||||||
* misc/regexp.c (loc1): Add __attribute__ ((nocommon));
|
|
||||||
(loc2): Likewise.
|
|
||||||
(locs): Likewise.
|
|
||||||
|
|
||||||
(cherry picked from commit 388b4f1a02f3a801965028bbfcd48d905638b797)
|
|
||||||
---
|
|
||||||
ChangeLog | 7 +++++++
|
|
||||||
misc/regexp.c | 9 +++++----
|
|
||||||
2 files changed, 12 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/misc/regexp.c b/misc/regexp.c
|
|
||||||
index 19d76c0..eaea7c3 100644
|
|
||||||
--- a/misc/regexp.c
|
|
||||||
+++ b/misc/regexp.c
|
|
||||||
@@ -29,14 +29,15 @@
|
|
||||||
|
|
||||||
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_23)
|
|
||||||
|
|
||||||
-/* Define the variables used for the interface. */
|
|
||||||
-char *loc1;
|
|
||||||
-char *loc2;
|
|
||||||
+/* Define the variables used for the interface. Avoid .symver on common
|
|
||||||
+ symbol, which just creates a new common symbol, not an alias. */
|
|
||||||
+char *loc1 __attribute__ ((nocommon));
|
|
||||||
+char *loc2 __attribute__ ((nocommon));
|
|
||||||
compat_symbol (libc, loc1, loc1, GLIBC_2_0);
|
|
||||||
compat_symbol (libc, loc2, loc2, GLIBC_2_0);
|
|
||||||
|
|
||||||
/* Although we do not support the use we define this variable as well. */
|
|
||||||
-char *locs;
|
|
||||||
+char *locs __attribute__ ((nocommon));
|
|
||||||
compat_symbol (libc, locs, locs, GLIBC_2_0);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
2.9.3
|
|
@ -64,9 +64,6 @@ stdenv.mkDerivation ({
|
|||||||
./CVE-2017-1000366-rtld-LD_LIBRARY_PATH.patch
|
./CVE-2017-1000366-rtld-LD_LIBRARY_PATH.patch
|
||||||
./CVE-2017-1000366-rtld-LD_PRELOAD.patch
|
./CVE-2017-1000366-rtld-LD_PRELOAD.patch
|
||||||
./CVE-2017-1000366-rtld-LD_AUDIT.patch
|
./CVE-2017-1000366-rtld-LD_AUDIT.patch
|
||||||
|
|
||||||
/* https://sourceware.org/bugzilla/show_bug.cgi?id=21666 */
|
|
||||||
./avoid-semver-on-common.patch
|
|
||||||
]
|
]
|
||||||
++ lib.optionals stdenv.isi686 [
|
++ lib.optionals stdenv.isi686 [
|
||||||
./fix-i686-memchr.patch
|
./fix-i686-memchr.patch
|
||||||
|
@ -13,7 +13,7 @@ with stdenv.lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
ver_maj = "3.22";
|
ver_maj = "3.22";
|
||||||
ver_min = "16";
|
ver_min = "18";
|
||||||
version = "${ver_maj}.${ver_min}";
|
version = "${ver_maj}.${ver_min}";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
|
url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
|
||||||
sha256 = "3e0c3ad01f3c8c5c9b1cc1ae00852bd55164c8e5a9c1f90ba5e07f14f175fe2c";
|
sha256 = "b64b1c2ec20adf128ac08ee704d1f4e7b0a8d3df097d51f62edb271c7bb1bf69";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.4.6";
|
version = "1.4.8";
|
||||||
inherit (stdenv.lib) optional optionals optionalString;
|
inherit (stdenv.lib) optional optionals optionalString;
|
||||||
in
|
in
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
|
url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
|
||||||
sha256 = "21a78b81cd20cbffdb04b59ac7edfb410e42141869f637ae1d6778e74928d293";
|
sha256 = "ccec4930ff0bb2d0c40aee203075447954b64a8c2695202413cc5e428c907131";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
@ -20,6 +20,12 @@ stdenv.mkDerivation rec {
|
|||||||
substituteInPlace configure --replace stdc++ c++
|
substituteInPlace configure --replace stdc++ c++
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
patches = [(fetchurl {
|
||||||
|
name = "gcc6.patch";
|
||||||
|
url = "http://pkgs.fedoraproject.org/rpms/kyotocabinet/raw/master/f/kyotocabinet-1.2.76-gcc6.patch";
|
||||||
|
sha256 = "1h5k38mkiq7lz8nd2gbn7yvimcz49g3z7phn1cr560bzjih8rz23";
|
||||||
|
})];
|
||||||
|
|
||||||
buildInputs = [ zlib ];
|
buildInputs = [ zlib ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83";
|
sha256 = "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ pkgconfig ] ++
|
[ pkgconfig ] ++
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
|
{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libdrm-2.4.81";
|
name = "libdrm-2.4.82";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
|
url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
|
||||||
sha256 = "8cc05c195ac8708199979a94c4e4d1a928c14ec338ecbcb38ead09f54dae11ae";
|
sha256 = "43fa2dbd422d6d41ac141272cc9855360ce4d08c7cf7f2c7bb55dfe449c4ce1c";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = stdenv.lib.optional stdenv.isCygwin ./3.2.1-cygwin.patch;
|
patches = stdenv.lib.optional stdenv.isCygwin ./3.2.1-cygwin.patch;
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" "info" ];
|
||||||
|
|
||||||
buildInputs = stdenv.lib.optional doCheck dejagnu;
|
buildInputs = stdenv.lib.optional doCheck dejagnu;
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
stdenv.lib.optional (hostPlatform.libc or null == "msvcrt")
|
stdenv.lib.optional (hostPlatform.libc or null == "msvcrt")
|
||||||
./mingw-boolean.patch;
|
./mingw-boolean.patch;
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ];
|
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ nasm ];
|
nativeBuildInputs = [ nasm ];
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0h53q4sns1jz1pkmhcz5wp9qrfn9f5g9i3vjv6dafwzzlvblyi21";
|
sha256 = "0h53q4sns1jz1pkmhcz5wp9qrfn9f5g9i3vjv6dafwzzlvblyi21";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "info" ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ libgpgerror ];
|
propagatedBuildInputs = [ libgpgerror ];
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0nxb4x8l092xckk4dy84cn5qhviif8akzy0miypapjqqbalm53fa";
|
sha256 = "0nxb4x8l092xckk4dy84cn5qhviif8akzy0miypapjqqbalm53fa";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
|
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ];
|
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||||
|
|
||||||
# need headers from the Carbon.framework in /System/Library/Frameworks to
|
# need headers from the Carbon.framework in /System/Library/Frameworks to
|
||||||
# compile this on darwin -- not sure how to handle
|
# compile this on darwin -- not sure how to handle
|
||||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||||||
patches="$patches $(cat debian/patches/series | sed 's|^|debian/patches/|')"
|
patches="$patches $(cat debian/patches/series | sed 's|^|debian/patches/|')"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ];
|
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ]
|
outputs = [ "bin" "dev" "out" "man" "doc" ]
|
||||||
++ lib.optional pythonSupport "py";
|
++ lib.optional pythonSupport "py";
|
||||||
propagatedBuildOutputs = "out bin" + lib.optionalString pythonSupport " py";
|
propagatedBuildOutputs = "out bin" + lib.optionalString pythonSupport " py";
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
|||||||
--replace 'la_LDFLAGS =' 'la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS)'
|
--replace 'la_LDFLAGS =' 'la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS)'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ] ++ stdenv.lib.optional pythonSupport "py";
|
outputs = [ "bin" "dev" "out" "man" "doc" ] ++ stdenv.lib.optional pythonSupport "py";
|
||||||
|
|
||||||
buildInputs = [ libxml2.dev ] ++ stdenv.lib.optionals pythonSupport [ libxml2.py python2 ];
|
buildInputs = [ libxml2.dev ] ++ stdenv.lib.optionals pythonSupport [ libxml2.py python2 ];
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ let
|
|||||||
in
|
in
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "17.1.5";
|
version = "17.1.6";
|
||||||
branch = head (splitString "." version);
|
branch = head (splitString "." version);
|
||||||
driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
|
driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
|
||||||
in
|
in
|
||||||
@ -82,7 +82,7 @@ stdenv.mkDerivation {
|
|||||||
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
|
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
|
||||||
"https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
|
"https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
|
||||||
];
|
];
|
||||||
sha256 = "378516b171712687aace4c7ea8b37c85895231d7a6d61e1e27362cf6034fded9";
|
sha256 = "0686deadde1f126b20aa67e47e8c50502043eee4ecdf60d5009ffda3cebfee50";
|
||||||
};
|
};
|
||||||
|
|
||||||
prePatch = "patchShebangs .";
|
prePatch = "patchShebangs .";
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
--- a/Makefile.am
|
|
||||||
+++ b/Makefile.am
|
|
||||||
@@ -27,7 +27,6 @@ SUBDIRS = bindings bitmaps \
|
|
||||||
include \
|
|
||||||
tools \
|
|
||||||
clients \
|
|
||||||
- doc \
|
|
||||||
- demos
|
|
||||||
+ doc
|
|
||||||
AUTOMAKE_OPTIONS = 1.4
|
|
||||||
ACLOCAL_AMFLAGS = -I .
|
|
@ -3,7 +3,7 @@
|
|||||||
, expat, libjpeg, libpng, libiconv
|
, expat, libjpeg, libpng, libiconv
|
||||||
, flex
|
, flex
|
||||||
, libXp, libXau
|
, libXp, libXau
|
||||||
, demoSupport ? false, autoconf, automake
|
, demoSupport ? false
|
||||||
}:
|
}:
|
||||||
# refer to the gentoo package
|
# refer to the gentoo package
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
|||||||
expat libjpeg libpng libiconv
|
expat libjpeg libpng libiconv
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig flex ] ++ stdenv.lib.optionals (!demoSupport) [ autoconf automake ];
|
nativeBuildInputs = [ pkgconfig flex ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ libXp libXau ];
|
propagatedBuildInputs = [ libXp libXau ];
|
||||||
|
|
||||||
@ -30,13 +30,16 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
makeFlags = [ "CFLAGS=-fno-strict-aliasing" ];
|
makeFlags = [ "CFLAGS=-fno-strict-aliasing" ];
|
||||||
|
|
||||||
prePatch = ''rm lib/Xm/Xm.h'';
|
prePatch = ''
|
||||||
|
rm lib/Xm/Xm.h
|
||||||
|
'' + stdenv.lib.optionalString (!demoSupport) ''
|
||||||
|
sed '/^SUBDIRS =,^$/s/\<demos\>//' -i Makefile.{am,in}
|
||||||
|
'';
|
||||||
|
|
||||||
patches = [ ./Remove-unsupported-weak-refs-on-darwin.patch
|
patches = [ ./Remove-unsupported-weak-refs-on-darwin.patch
|
||||||
./Use-correct-header-for-malloc.patch
|
./Use-correct-header-for-malloc.patch
|
||||||
./Add-X.Org-to-bindings-file.patch
|
./Add-X.Org-to-bindings-file.patch
|
||||||
]
|
];
|
||||||
++ stdenv.lib.optional (!demoSupport) ./Do-not-compile-demos.patch;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://motif.ics.com;
|
homepage = http://motif.ics.com;
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = [ ./upstream.patch ];
|
patches = [ ./upstream.patch ];
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "doc" "info" ];
|
||||||
|
|
||||||
# mpfr.h requires gmp.h
|
# mpfr.h requires gmp.h
|
||||||
propagatedBuildInputs = [ gmp ];
|
propagatedBuildInputs = [ gmp ];
|
||||||
|
@ -6,14 +6,14 @@ with stdenv.lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
ver_maj = "1.40";
|
ver_maj = "1.40";
|
||||||
ver_min = "6";
|
ver_min = "9";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "pango-${ver_maj}.${ver_min}";
|
name = "pango-${ver_maj}.${ver_min}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/pango/${ver_maj}/${name}.tar.xz";
|
url = "mirror://gnome/sources/pango/${ver_maj}/${name}.tar.xz";
|
||||||
sha256 = "ca152b7383a1e9f7fd74ae96023dc6770dc5043414793bfe768ff06b6759e573";
|
sha256 = "9faea6535312fe4436b93047cf7a04af544eb52a079179bd3a33821aacce7e16";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "devdoc" ];
|
outputs = [ "bin" "dev" "out" "devdoc" ];
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn";
|
sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" "info" ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ncurses];
|
propagatedBuildInputs = [ncurses];
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0d13sg9ksf982rrrmv5mb6a2p4ys9rvg9r71d6il0vr8hmql63bm";
|
sha256 = "0d13sg9ksf982rrrmv5mb6a2p4ys9rvg9r71d6il0vr8hmql63bm";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" "info" ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ncurses];
|
propagatedBuildInputs = [ncurses];
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0dlcy0hn0j6cj9qj5x6hpb0axifnvzzmv5jqq0wq14fygw0c7w2l";
|
sha256 = "0dlcy0hn0j6cj9qj5x6hpb0axifnvzzmv5jqq0wq14fygw0c7w2l";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
|
|
||||||
# Fix some wrong hardcoded paths
|
# Fix some wrong hardcoded paths
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
assert interactive -> readline != null && ncurses != null;
|
assert interactive -> readline != null && ncurses != null;
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "sqlite-3.19.3";
|
name = "sqlite-3.20.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://sqlite.org/2017/sqlite-autoconf-3190300.tar.gz";
|
url = "http://sqlite.org/2017/sqlite-autoconf-3200000.tar.gz";
|
||||||
sha256 = "00b3l2qglpl1inx21fckiwxnfq5xf6441flc79rqg7zdvh1rq4h6";
|
sha256 = "1876dapm1xx5aqd2d8l7ymmkd2z9rybh99rp5f5rd4zz57vcc51q";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" ];
|
outputs = [ "bin" "dev" "out" ];
|
||||||
|
@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
|
|||||||
CLUCENE_HOME = clucene_core;
|
CLUCENE_HOME = clucene_core;
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ zlib bzip2 stdenv.cc.libc libxml2 qt4 exiv2 clucene_core fam dbus_tools ];
|
[ zlib bzip2 libxml2 qt4 exiv2 clucene_core fam dbus_tools ];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig perl ];
|
nativeBuildInputs = [ cmake pkgconfig perl ];
|
||||||
|
|
||||||
patches = [ ./export_bufferedstream.patch ];
|
patches = [ ./export_bufferedstream.patch ./gcc6.patch ];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
45
pkgs/development/libraries/strigi/gcc6.patch
Normal file
45
pkgs/development/libraries/strigi/gcc6.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
https://sourceforge.net/p/strigi/patches/4/
|
||||||
|
|
||||||
|
and a fix for
|
||||||
|
|
||||||
|
/tmp/nix-build-strigi-0.7.8.drv-0/strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp:325:37: error: no matching function for call to 'make_pair(std::__cxx11::string, std::__cxx11::string&)'
|
||||||
|
wchartoutf8(name), value));
|
||||||
|
|
||||||
|
diff -Naur strigi-0.7.8.old/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake strigi-0.7.8/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake
|
||||||
|
--- strigi-0.7.8.old/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake 2013-02-05 16:34:52.000000000 -0500
|
||||||
|
+++ strigi-0.7.8/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake 2016-05-14 11:39:54.586260564 -0400
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
# get the gcc version
|
||||||
|
exec_program(${CMAKE_C_COMPILER} ARGS ${CMAKE_C_COMPILER_ARG1} --version OUTPUT_VARIABLE _gcc_version_info)
|
||||||
|
|
||||||
|
- string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
|
||||||
|
+ string (REGEX MATCH "[3456789]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
|
||||||
|
# gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here:
|
||||||
|
if (NOT _gcc_version)
|
||||||
|
string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
|
||||||
|
diff -Naur strigi-0.7.8.old/libstreams/cmake/MacroCheckGccVisibility.cmake strigi-0.7.8/libstreams/cmake/MacroCheckGccVisibility.cmake
|
||||||
|
--- strigi-0.7.8.old/libstreams/cmake/MacroCheckGccVisibility.cmake 2013-02-05 16:34:57.000000000 -0500
|
||||||
|
+++ strigi-0.7.8/libstreams/cmake/MacroCheckGccVisibility.cmake 2016-05-14 11:40:11.340134414 -0400
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
# get the gcc version
|
||||||
|
exec_program(${CMAKE_C_COMPILER} ARGS ${CMAKE_C_COMPILER_ARG1} --version OUTPUT_VARIABLE _gcc_version_info)
|
||||||
|
|
||||||
|
- string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
|
||||||
|
+ string (REGEX MATCH "[3456789]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
|
||||||
|
# gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here:
|
||||||
|
if (NOT _gcc_version)
|
||||||
|
string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
|
||||||
|
|
||||||
|
diff -ru strigi-0.7.8-orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
|
||||||
|
--- strigi-0.7.8-orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp 2013-02-05 22:34:52.000000000 +0100
|
||||||
|
+++ strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp 2017-07-31 10:56:27.067902643 +0200
|
||||||
|
@@ -321,8 +321,7 @@
|
||||||
|
string size = value;
|
||||||
|
doc.size = atoi(size.c_str());
|
||||||
|
} else {
|
||||||
|
- doc.properties.insert(make_pair<const string, string>(
|
||||||
|
- wchartoutf8(name), value));
|
||||||
|
+ doc.properties.emplace(wchartoutf8(name), value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Variant
|
@ -7,6 +7,9 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348";
|
sha256 = "b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# needed to successfully compile with gcc 6
|
||||||
|
NIX_CFLAGS_COMPILE = "-std=c90 -fPIC";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.oberhumer.com/opensource/ucl/;
|
homepage = http://www.oberhumer.com/opensource/ucl/;
|
||||||
description = "Portable lossless data compression library";
|
description = "Portable lossless data compression library";
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "wayland-protocols-${version}";
|
name = "wayland-protocols-${version}";
|
||||||
version = "1.7";
|
version = "1.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
|
url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
|
||||||
sha256 = "07qw166s6bm81zfnhf4lmww6wj0il960fm3vp7n1z3rign9jlpv3";
|
sha256 = "5719c51d7354864983171c5083e93a72ac99229e2b460c4bb10513de08839c0a";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -11,7 +11,7 @@ let
|
|||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" "doc" ];
|
||||||
|
|
||||||
buildInputs = [ libuuid zlib ];
|
buildInputs = [ libuuid zlib ];
|
||||||
nativeBuildInputs = [ autoreconfHook ];
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "zziplib-${version}";
|
name = "zziplib-${version}";
|
||||||
version = "0.13.66";
|
version = "0.13.67";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/zziplib/zziplib13/${version}/${name}.tar.gz";
|
url = "https://github.com/gdraheim/zziplib/archive/v${version}.tar.gz";
|
||||||
sha256 = "0zdx0s19slzv79xplnr6jx0xjb01dd71jzpscf6vlj6k9ry8rcar";
|
sha256 = "0802kdxwxx9zanpwb4w4wfi3blwhv0ri05mzdgd35j5sva5ify0j";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
|
23
pkgs/development/python-modules/html5-parser/default.nix
Normal file
23
pkgs/development/python-modules/html5-parser/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi, pkgs, pkgconfig, chardet, lxml }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "html5-parser";
|
||||||
|
version = "0.4.3";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "173vzg214x7qfq201m4b09wg5nszdgwjw5q02v23k54iqm3kcpnx";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig ];
|
||||||
|
propagatedBuildInputs = [ chardet lxml pkgs.libxml2 ];
|
||||||
|
|
||||||
|
doCheck = false; # No such file or directory: 'run_tests.py'
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Fast C based HTML 5 parsing for python";
|
||||||
|
homepage = https://html5-parser.readthedocs.io;
|
||||||
|
license = licenses.asl20;
|
||||||
|
};
|
||||||
|
}
|
@ -25,7 +25,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
configureFlags = stdenv.lib.optional guileSupport "--with-guile";
|
configureFlags = stdenv.lib.optional guileSupport "--with-guile";
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" "info" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://www.gnu.org/software/make/;
|
homepage = http://www.gnu.org/software/make/;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
|
{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "automake-1.15";
|
name = "automake-1.15.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/automake/${name}.tar.xz";
|
url = "mirror://gnu/automake/${name}.tar.xz";
|
||||||
sha256 = "0dl6vfi2lzz8alnklwxzfz624b95hb1ipjvd3mk177flmddcf24r";
|
sha256 = "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ perl autoconf ];
|
buildInputs = [ perl autoconf ];
|
||||||
|
@ -5,7 +5,10 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.29";
|
# Note to whoever is upgrading this: 2.29 is broken.
|
||||||
|
# ('nix-build pkgs/stdenv/linux/make-bootstrap-tools.nix -A test' segfaults on aarch64)
|
||||||
|
# Also glibc might need patching, see commit 733e20fee4a6700510f71fbe1a58ac23ea202f6a.
|
||||||
|
version = "2.28.1";
|
||||||
basename = "binutils-${version}";
|
basename = "binutils-${version}";
|
||||||
inherit (stdenv.lib) optional optionals optionalString;
|
inherit (stdenv.lib) optional optionals optionalString;
|
||||||
# The prefix prepended to binary names to allow multiple binuntils on the
|
# The prefix prepended to binary names to allow multiple binuntils on the
|
||||||
@ -18,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/binutils/${basename}.tar.bz2";
|
url = "mirror://gnu/binutils/${basename}.tar.bz2";
|
||||||
sha256 = "1gqfyksdnj3iir5gzyvlp785mnk60g1pll6zbzbslfchhr4rb8i9";
|
sha256 = "1sj234nd05cdgga1r36zalvvdkvpfbr12g5mir2n8i1dwsdrj939";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -45,18 +48,8 @@ stdenv.mkDerivation rec {
|
|||||||
# there) and causes a cycle between the lib and bin outputs, so
|
# there) and causes a cycle between the lib and bin outputs, so
|
||||||
# get rid of it.
|
# get rid of it.
|
||||||
./no-plugins.patch
|
./no-plugins.patch
|
||||||
|
|
||||||
# remove after 2.29.1/2.30
|
|
||||||
(fetchurl {
|
|
||||||
url = "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=patch;h=c6b78c965a96fb152fbd58926edccb5dee2707a5";
|
|
||||||
sha256 = "0rkbq5pf7ffgcggfk4czkxin1091bqjj92an9wxnqkgqwq6cx5yr";
|
|
||||||
name = "readelf-empty-sections.patch";
|
|
||||||
})
|
|
||||||
./elf-check-orphan-input.patch
|
|
||||||
./elf-check-orphan-placement.patch
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# TODO: all outputs on all platform
|
|
||||||
outputs = [ "out" ]
|
outputs = [ "out" ]
|
||||||
++ optional (targetPlatform == hostPlatform && !hostPlatform.isDarwin) "lib" # problems in Darwin stdenv
|
++ optional (targetPlatform == hostPlatform && !hostPlatform.isDarwin) "lib" # problems in Darwin stdenv
|
||||||
++ [ "info" ]
|
++ [ "info" ]
|
||||||
@ -91,7 +84,7 @@ stdenv.mkDerivation rec {
|
|||||||
else "-static-libgcc";
|
else "-static-libgcc";
|
||||||
|
|
||||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||||
configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
|
configurePlatforms = stdenv.lib.optionals (targetPlatform != hostPlatform) [ "build" "host" "target" ];
|
||||||
configureFlags =
|
configureFlags =
|
||||||
[ "--enable-shared" "--enable-deterministic-archives" "--disable-werror" ]
|
[ "--enable-shared" "--enable-deterministic-archives" "--disable-werror" ]
|
||||||
++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
|
++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
|
||||||
|
@ -1,99 +0,0 @@
|
|||||||
From a388b7afeffad6411686d39dc1c62294da48a814 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "H.J. Lu" <hjl.tools@gmail.com>
|
|
||||||
Date: Wed, 2 Aug 2017 05:10:29 -0700
|
|
||||||
Subject: [PATCH] Check ELF section header only for ELF output
|
|
||||||
|
|
||||||
When placing an orphan input section, check ELF section header only for
|
|
||||||
ELF output.
|
|
||||||
|
|
||||||
PR ld/21884
|
|
||||||
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Check
|
|
||||||
ELF section header only for ELF output.
|
|
||||||
* testsuite/ld-elf/pr21884.d: New test.
|
|
||||||
* testsuite/ld-elf/pr21884.t: Likewise.
|
|
||||||
* testsuite/ld-elf/pr21884a.s: Likewise.
|
|
||||||
* testsuite/ld-elf/pr21884b.s: Likewise.
|
|
||||||
|
|
||||||
(cherry picked from commit db99ecc08f5b66fbe9cb72e90352c7f77ec71a6e)
|
|
||||||
---
|
|
||||||
ld/ChangeLog | 10 ++++++++++
|
|
||||||
ld/emultempl/elf32.em | 3 ++-
|
|
||||||
ld/testsuite/ld-elf/pr21884.d | 11 +++++++++++
|
|
||||||
ld/testsuite/ld-elf/pr21884.t | 7 +++++++
|
|
||||||
ld/testsuite/ld-elf/pr21884a.s | 5 +++++
|
|
||||||
ld/testsuite/ld-elf/pr21884b.s | 5 +++++
|
|
||||||
6 files changed, 40 insertions(+), 1 deletion(-)
|
|
||||||
create mode 100644 ld/testsuite/ld-elf/pr21884.d
|
|
||||||
create mode 100644 ld/testsuite/ld-elf/pr21884.t
|
|
||||||
create mode 100644 ld/testsuite/ld-elf/pr21884a.s
|
|
||||||
create mode 100644 ld/testsuite/ld-elf/pr21884b.s
|
|
||||||
|
|
||||||
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
|
|
||||||
index d2551b6..75ded12 100644
|
|
||||||
--- a/ld/emultempl/elf32.em
|
|
||||||
+++ b/ld/emultempl/elf32.em
|
|
||||||
@@ -2136,7 +2136,8 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Look through the script to see where to place this section. */
|
|
||||||
- if (constraint == 0)
|
|
||||||
+ if (constraint == 0
|
|
||||||
+ && link_info.output_bfd->xvec->flavour == bfd_target_elf_flavour)
|
|
||||||
for (os = lang_output_section_find (secname);
|
|
||||||
os != NULL;
|
|
||||||
os = next_matching_output_section_statement (os, 0))
|
|
||||||
diff --git a/ld/testsuite/ld-elf/pr21884.d b/ld/testsuite/ld-elf/pr21884.d
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..52cd2c1
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-elf/pr21884.d
|
|
||||||
@@ -0,0 +1,11 @@
|
|
||||||
+#source: pr21884a.s
|
|
||||||
+#source: pr21884b.s
|
|
||||||
+#ld: -T pr21884.t
|
|
||||||
+#objdump: -b binary -s
|
|
||||||
+#notarget: aarch64*-*-* arm*-*-* nds32*-*-*
|
|
||||||
+# Skip targets which can't change output format to binary.
|
|
||||||
+
|
|
||||||
+.*: file format binary
|
|
||||||
+
|
|
||||||
+Contents of section .data:
|
|
||||||
+#pass
|
|
||||||
diff --git a/ld/testsuite/ld-elf/pr21884.t b/ld/testsuite/ld-elf/pr21884.t
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..d483911
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-elf/pr21884.t
|
|
||||||
@@ -0,0 +1,7 @@
|
|
||||||
+OUTPUT_FORMAT("binary")
|
|
||||||
+
|
|
||||||
+ENTRY(_main);
|
|
||||||
+SECTIONS {
|
|
||||||
+ . = 0;
|
|
||||||
+ .setup : { *(.setup) }
|
|
||||||
+}
|
|
||||||
diff --git a/ld/testsuite/ld-elf/pr21884a.s b/ld/testsuite/ld-elf/pr21884a.s
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..a3361b2
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-elf/pr21884a.s
|
|
||||||
@@ -0,0 +1,5 @@
|
|
||||||
+ .text
|
|
||||||
+ .globl _main
|
|
||||||
+ .type _main,%function
|
|
||||||
+_main:
|
|
||||||
+ .dc.a bar
|
|
||||||
diff --git a/ld/testsuite/ld-elf/pr21884b.s b/ld/testsuite/ld-elf/pr21884b.s
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..e533837
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-elf/pr21884b.s
|
|
||||||
@@ -0,0 +1,5 @@
|
|
||||||
+ .text
|
|
||||||
+ .globl bar
|
|
||||||
+ .type bar,%function
|
|
||||||
+bar:
|
|
||||||
+ .byte 0
|
|
||||||
--
|
|
||||||
2.9.3
|
|
||||||
|
|
@ -1,161 +0,0 @@
|
|||||||
From 36088682f447540fd8666a2c437fa232064044a7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alan Modra <amodra@gmail.com>
|
|
||||||
Date: Thu, 3 Aug 2017 14:01:34 +0930
|
|
||||||
Subject: [PATCH] ELF checks for orphan placement
|
|
||||||
|
|
||||||
The loop checking for previous orphan placement should run even when
|
|
||||||
the output is non-ELF.
|
|
||||||
|
|
||||||
PR ld/21884
|
|
||||||
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Revert
|
|
||||||
last change. Rename iself to elfinput. Expand comments. Condition
|
|
||||||
ELF checks on having both input and output ELF files. Extract..
|
|
||||||
(elf_orphan_compatible): ..this new function.
|
|
||||||
---
|
|
||||||
ld/ChangeLog | 8 ++++++
|
|
||||||
ld/emultempl/elf32.em | 76 +++++++++++++++++++++++++++++++--------------------
|
|
||||||
2 files changed, 55 insertions(+), 29 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
|
|
||||||
index 75ded12..9ac1840 100644
|
|
||||||
--- a/ld/emultempl/elf32.em
|
|
||||||
+++ b/ld/emultempl/elf32.em
|
|
||||||
@@ -2008,6 +2008,29 @@ output_rel_find (asection *sec, int isdyn)
|
|
||||||
return last;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* Return whether IN is suitable to be part of OUT. */
|
|
||||||
+
|
|
||||||
+static bfd_boolean
|
|
||||||
+elf_orphan_compatible (asection *in, asection *out)
|
|
||||||
+{
|
|
||||||
+ /* Non-zero sh_info implies a section with SHF_INFO_LINK with
|
|
||||||
+ unknown semantics for the generic linker, or a SHT_REL/SHT_RELA
|
|
||||||
+ section where sh_info specifies a symbol table. (We won't see
|
|
||||||
+ SHT_GROUP, SHT_SYMTAB or SHT_DYNSYM sections here.) We clearly
|
|
||||||
+ can't merge SHT_REL/SHT_RELA using differing symbol tables, and
|
|
||||||
+ shouldn't merge sections with differing unknown semantics. */
|
|
||||||
+ if (elf_section_data (out)->this_hdr.sh_info
|
|
||||||
+ != elf_section_data (in)->this_hdr.sh_info)
|
|
||||||
+ return FALSE;
|
|
||||||
+ /* We can't merge two sections with differing SHF_EXCLUDE when doing
|
|
||||||
+ a relocatable link. */
|
|
||||||
+ if (bfd_link_relocatable (&link_info)
|
|
||||||
+ && ((elf_section_flags (out) ^ elf_section_flags (in)) & SHF_EXCLUDE) != 0)
|
|
||||||
+ return FALSE;
|
|
||||||
+ return _bfd_elf_match_sections_by_type (link_info.output_bfd, out,
|
|
||||||
+ in->owner, in);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Place an orphan section. We use this to put random SHF_ALLOC
|
|
||||||
sections in the right segment. */
|
|
||||||
|
|
||||||
@@ -2064,8 +2087,9 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
|
|
||||||
lang_output_section_statement_type *os;
|
|
||||||
lang_output_section_statement_type *match_by_name = NULL;
|
|
||||||
int isdyn = 0;
|
|
||||||
- int iself = s->owner->xvec->flavour == bfd_target_elf_flavour;
|
|
||||||
- unsigned int sh_type = iself ? elf_section_type (s) : SHT_NULL;
|
|
||||||
+ int elfinput = s->owner->xvec->flavour == bfd_target_elf_flavour;
|
|
||||||
+ int elfoutput = link_info.output_bfd->xvec->flavour == bfd_target_elf_flavour;
|
|
||||||
+ unsigned int sh_type = elfinput ? elf_section_type (s) : SHT_NULL;
|
|
||||||
flagword flags;
|
|
||||||
asection *nexts;
|
|
||||||
|
|
||||||
@@ -2073,7 +2097,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
|
|
||||||
&& link_info.combreloc
|
|
||||||
&& (s->flags & SEC_ALLOC))
|
|
||||||
{
|
|
||||||
- if (iself)
|
|
||||||
+ if (elfinput)
|
|
||||||
switch (sh_type)
|
|
||||||
{
|
|
||||||
case SHT_RELA:
|
|
||||||
@@ -2095,6 +2119,8 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!bfd_link_relocatable (&link_info)
|
|
||||||
+ && elfinput
|
|
||||||
+ && elfoutput
|
|
||||||
&& (s->flags & SEC_ALLOC) != 0
|
|
||||||
&& (elf_section_flags (s) & SHF_GNU_MBIND) != 0)
|
|
||||||
{
|
|
||||||
@@ -2135,9 +2161,11 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
|
|
||||||
secname = ".mbind.text";
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* Look through the script to see where to place this section. */
|
|
||||||
- if (constraint == 0
|
|
||||||
- && link_info.output_bfd->xvec->flavour == bfd_target_elf_flavour)
|
|
||||||
+ /* Look through the script to see where to place this section. The
|
|
||||||
+ script includes entries added by previous lang_insert_orphan
|
|
||||||
+ calls, so this loop puts multiple compatible orphans of the same
|
|
||||||
+ name into a single output section. */
|
|
||||||
+ if (constraint == 0)
|
|
||||||
for (os = lang_output_section_find (secname);
|
|
||||||
os != NULL;
|
|
||||||
os = next_matching_output_section_statement (os, 0))
|
|
||||||
@@ -2146,29 +2174,19 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
|
|
||||||
lang_insert_orphan to create a new output section. */
|
|
||||||
constraint = SPECIAL;
|
|
||||||
|
|
||||||
- /* SEC_EXCLUDE is cleared when doing a relocatable link. But
|
|
||||||
- we can't merge 2 input sections with the same name when only
|
|
||||||
- one of them has SHF_EXCLUDE. Don't merge 2 sections with
|
|
||||||
- different sh_info. */
|
|
||||||
+ /* Check to see if we already have an output section statement
|
|
||||||
+ with this name, and its bfd section has compatible flags.
|
|
||||||
+ If the section already exists but does not have any flags
|
|
||||||
+ set, then it has been created by the linker, possibly as a
|
|
||||||
+ result of a --section-start command line switch. */
|
|
||||||
if (os->bfd_section != NULL
|
|
||||||
- && (elf_section_data (os->bfd_section)->this_hdr.sh_info
|
|
||||||
- == elf_section_data (s)->this_hdr.sh_info)
|
|
||||||
&& (os->bfd_section->flags == 0
|
|
||||||
- || ((!bfd_link_relocatable (&link_info)
|
|
||||||
- || (iself && (((elf_section_flags (s)
|
|
||||||
- ^ elf_section_flags (os->bfd_section))
|
|
||||||
- & SHF_EXCLUDE) == 0)))
|
|
||||||
- && ((s->flags ^ os->bfd_section->flags)
|
|
||||||
+ || (((s->flags ^ os->bfd_section->flags)
|
|
||||||
& (SEC_LOAD | SEC_ALLOC)) == 0
|
|
||||||
- && _bfd_elf_match_sections_by_type (link_info.output_bfd,
|
|
||||||
- os->bfd_section,
|
|
||||||
- s->owner, s))))
|
|
||||||
+ && (!elfinput
|
|
||||||
+ || !elfoutput
|
|
||||||
+ || elf_orphan_compatible (s, os->bfd_section)))))
|
|
||||||
{
|
|
||||||
- /* We already have an output section statement with this
|
|
||||||
- name, and its bfd section has compatible flags.
|
|
||||||
- If the section already exists but does not have any flags
|
|
||||||
- set, then it has been created by the linker, probably as a
|
|
||||||
- result of a --section-start command line switch. */
|
|
||||||
lang_add_section (&os->children, s, NULL, os);
|
|
||||||
return os;
|
|
||||||
}
|
|
||||||
@@ -2244,8 +2262,8 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
|
|
||||||
else if ((flags & SEC_ALLOC) == 0)
|
|
||||||
;
|
|
||||||
else if ((flags & SEC_LOAD) != 0
|
|
||||||
- && ((iself && sh_type == SHT_NOTE)
|
|
||||||
- || (!iself && CONST_STRNEQ (secname, ".note"))))
|
|
||||||
+ && ((elfinput && sh_type == SHT_NOTE)
|
|
||||||
+ || (!elfinput && CONST_STRNEQ (secname, ".note"))))
|
|
||||||
place = &hold[orphan_interp];
|
|
||||||
else if ((flags & (SEC_LOAD | SEC_HAS_CONTENTS | SEC_THREAD_LOCAL)) == 0)
|
|
||||||
place = &hold[orphan_bss];
|
|
||||||
@@ -2255,8 +2273,8 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
|
|
||||||
place = &hold[orphan_tdata];
|
|
||||||
else if ((flags & SEC_READONLY) == 0)
|
|
||||||
place = &hold[orphan_data];
|
|
||||||
- else if (((iself && (sh_type == SHT_RELA || sh_type == SHT_REL))
|
|
||||||
- || (!iself && CONST_STRNEQ (secname, ".rel")))
|
|
||||||
+ else if (((elfinput && (sh_type == SHT_RELA || sh_type == SHT_REL))
|
|
||||||
+ || (!elfinput && CONST_STRNEQ (secname, ".rel")))
|
|
||||||
&& (flags & SEC_LOAD) != 0)
|
|
||||||
place = &hold[orphan_rel];
|
|
||||||
else if ((flags & SEC_CODE) == 0)
|
|
||||||
--
|
|
||||||
2.9.3
|
|
||||||
|
|
@ -66,13 +66,6 @@ stdenv.mkDerivation rec {
|
|||||||
++ stdenv.lib.optional (!pythonSupport) "--without-python"
|
++ stdenv.lib.optional (!pythonSupport) "--without-python"
|
||||||
++ stdenv.lib.optional multitarget "--enable-targets=all";
|
++ stdenv.lib.optional multitarget "--enable-targets=all";
|
||||||
|
|
||||||
preConfigure =
|
|
||||||
# Not sure why this is causing problems, now that the stdenv
|
|
||||||
# exports CPP=cpp the build fails with strange errors on darwin.
|
|
||||||
stdenv.lib.optionalString stdenv.cc.isClang ''
|
|
||||||
unset CPP
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall =
|
postInstall =
|
||||||
'' # Remove Info files already provided by Binutils and other packages.
|
'' # Remove Info files already provided by Binutils and other packages.
|
||||||
rm -v $out/share/info/bfd.info
|
rm -v $out/share/info/bfd.info
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, libdrm, libpciaccess, cairo, dri2proto, udev
|
{ stdenv, fetchurl, pkgconfig, libdrm, libpciaccess, cairo, dri2proto, udev
|
||||||
, libX11, libXext, libXv, libXrandr, glib, bison, libunwind, python3, kmod
|
, libX11, libXext, libXv, libXrandr, glib, bison, libunwind, python3, kmod
|
||||||
, procps, autoconf, automake }:
|
, procps, autoreconfHook, utilmacros }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "intel-gpu-tools-1.19";
|
name = "intel-gpu-tools-1.19";
|
||||||
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1wdhwf3im6ids95qw5r9hjj9hvp0qhzgi4llrlriy723q3kqm754";
|
sha256 = "1wdhwf3im6ids95qw5r9hjj9hvp0qhzgi4llrlriy723q3kqm754";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig autoconf automake ];
|
nativeBuildInputs = [ pkgconfig autoreconfHook utilmacros ];
|
||||||
buildInputs = [ libdrm libpciaccess cairo dri2proto udev libX11 kmod
|
buildInputs = [ libdrm libpciaccess cairo dri2proto udev libX11 kmod
|
||||||
libXext libXv libXrandr glib bison libunwind python3 procps ];
|
libXext libXv libXrandr glib bison libunwind python3 procps ];
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ Author: Robin Gloster <mail@glob.in>
|
|||||||
{
|
{
|
||||||
if (!show)
|
if (!show)
|
||||||
- return false;
|
- return false;
|
||||||
+ return NULL;
|
+ return nullptr;
|
||||||
const std::vector<PolygonItem *>& items = poly->GetItem();
|
const std::vector<PolygonItem *>& items = poly->GetItem();
|
||||||
WeaponMenuItem * tmp;
|
WeaponMenuItem * tmp;
|
||||||
Interface::GetInstance()->SetCurrentOverflyWeapon(NULL);
|
Interface::GetInstance()->SetCurrentOverflyWeapon(NULL);
|
||||||
|
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
|||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" "doc" ];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
assert enablePython -> python != null;
|
assert enablePython -> python != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "audit-2.7.6";
|
name = "audit-2.7.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
|
url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
|
||||||
sha256 = "1rqlj15kbyfw4z88z8whf1q2rcg17vs439fvzdds55fwzyf2hrgs";
|
sha256 = "1vvqw5xgirap0jdmajw7l3pq563aycvy3hlqvj3k2cac8i4jbqlq";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "man" "plugins" ];
|
outputs = [ "bin" "dev" "out" "man" "plugins" ];
|
||||||
|
@ -103,7 +103,7 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
kernel = buildLinux {
|
kernel = buildLinux {
|
||||||
inherit version modDirVersion src kernelPatches;
|
inherit version modDirVersion src kernelPatches stdenv;
|
||||||
|
|
||||||
configfile = configfile.nativeDrv or configfile;
|
configfile = configfile.nativeDrv or configfile;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, runCommand, nettools, bc, perl, gmp, libmpc, mpfr, kmod, openssl
|
{ runCommand, nettools, bc, perl, gmp, libmpc, mpfr, kmod, openssl
|
||||||
, writeTextFile, ubootChooser
|
, writeTextFile, ubootChooser
|
||||||
, hostPlatform
|
, hostPlatform
|
||||||
}:
|
}:
|
||||||
@ -14,6 +14,8 @@ let
|
|||||||
echo "}" >> $out
|
echo "}" >> $out
|
||||||
'').outPath;
|
'').outPath;
|
||||||
in {
|
in {
|
||||||
|
# Allow overriding stdenv on each buildLinux call
|
||||||
|
stdenv,
|
||||||
# The kernel version
|
# The kernel version
|
||||||
version,
|
version,
|
||||||
# The version of the kernel module directory
|
# The version of the kernel module directory
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0qjiqc5pknaal57453nxcbz3mn1r4hkyywam41wfcglq3v2qlg39";
|
sha256 = "0qjiqc5pknaal57453nxcbz3mn1r4hkyywam41wfcglq3v2qlg39";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "lib" "doc" ]
|
outputs = [ "out" "dev" "lib" "man" "doc" ]
|
||||||
++ stdenv.lib.optional (pam != null) "pam";
|
++ stdenv.lib.optional (pam != null) "pam";
|
||||||
|
|
||||||
nativeBuildInputs = [ perl ];
|
nativeBuildInputs = [ perl ];
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0spl155k0g2l2hvqf8xyjv08i68gfyhzpjva6cwlzxx0bz4gbify";
|
sha256 = "0spl155k0g2l2hvqf8xyjv08i68gfyhzpjva6cwlzxx0bz4gbify";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
patches = [ ./force-path.patch ];
|
patches = [ ./force-path.patch ];
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# FIXME: -dev depends on -doc
|
# FIXME: -dev depends on -doc
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
setOutputFlags = false; # it would move $out/modules, etc.
|
setOutputFlags = false; # it would move $out/modules, etc.
|
||||||
|
|
||||||
buildInputs = [perl] ++
|
buildInputs = [perl] ++
|
||||||
|
@ -11,16 +11,16 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ openssl ];
|
buildInputs = [ openssl ];
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
substituteInPlace makefile --replace gcc cc
|
substituteInPlace makefile --replace gcc cc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin $doc/share/man/man1
|
mkdir -p $out/bin $man/share/man/man1
|
||||||
cp {uftp,uftpd,uftp_keymgt,uftpproxyd} $out/bin/
|
cp {uftp,uftpd,uftp_keymgt,uftpproxyd} $out/bin/
|
||||||
cp {uftp.1,uftpd.1,uftp_keymgt.1,uftpproxyd.1} $doc/share/man/man1
|
cp {uftp.1,uftpd.1,uftp_keymgt.1,uftpproxyd.1} $man/share/man/man1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -73,7 +73,7 @@ in
|
|||||||
libxcb = attrs : attrs // {
|
libxcb = attrs : attrs // {
|
||||||
nativeBuildInputs = [ args.python ];
|
nativeBuildInputs = [ args.python ];
|
||||||
configureFlags = "--enable-xkb --enable-xinput";
|
configureFlags = "--enable-xkb --enable-xinput";
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
xcbproto = attrs : attrs // {
|
xcbproto = attrs : attrs // {
|
||||||
@ -177,7 +177,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
libXext = attrs: attrs // {
|
libXext = attrs: attrs // {
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
propagatedBuildInputs = [ xorg.xproto xorg.libXau ];
|
propagatedBuildInputs = [ xorg.xproto xorg.libXau ];
|
||||||
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
||||||
};
|
};
|
||||||
@ -187,7 +187,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
libXi = attrs: attrs // {
|
libXi = attrs: attrs // {
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
propagatedBuildInputs = [ xorg.libXfixes ];
|
propagatedBuildInputs = [ xorg.libXfixes ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -36,10 +36,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" "info" ];
|
outputs = [ "out" "dev" "doc" "info" ]
|
||||||
|
# the man pages are small and useful enough, so include them in $out in interactive builds
|
||||||
# the man pages are small and useful enough
|
++ stdenv.lib.optional (!interactive) "man";
|
||||||
outputMan = if interactive then "out" else null;
|
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = ''
|
NIX_CFLAGS_COMPILE = ''
|
||||||
-DSYS_BASHRC="/etc/bashrc"
|
-DSYS_BASHRC="/etc/bashrc"
|
||||||
|
@ -40,6 +40,8 @@ let
|
|||||||
|
|
||||||
allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
|
allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
|
||||||
|
|
||||||
|
allowUnsupportedSystem = config.allowUnsupportedSystem or false;
|
||||||
|
|
||||||
isUnfree = licenses: lib.lists.any (l:
|
isUnfree = licenses: lib.lists.any (l:
|
||||||
!l.free or true || l == "unfree" || l == "unfree-redistributable") licenses;
|
!l.free or true || l == "unfree" || l == "unfree-redistributable") licenses;
|
||||||
|
|
||||||
@ -177,7 +179,7 @@ let
|
|||||||
{ valid = false; reason = "blacklisted"; errormsg = "has a blacklisted license (‘${showLicense attrs.meta.license}’)"; }
|
{ valid = false; reason = "blacklisted"; errormsg = "has a blacklisted license (‘${showLicense attrs.meta.license}’)"; }
|
||||||
else if !allowBroken && attrs.meta.broken or false then
|
else if !allowBroken && attrs.meta.broken or false then
|
||||||
{ valid = false; reason = "broken"; errormsg = "is marked as broken"; }
|
{ valid = false; reason = "broken"; errormsg = "is marked as broken"; }
|
||||||
else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem system attrs.meta.platforms then
|
else if !allowUnsupportedSystem && !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem system attrs.meta.platforms then
|
||||||
{ valid = false; reason = "broken"; errormsg = "is not supported on ‘${system}’"; }
|
{ valid = false; reason = "broken"; errormsg = "is not supported on ‘${system}’"; }
|
||||||
else if !(hasAllowedInsecure attrs) then
|
else if !(hasAllowedInsecure attrs) then
|
||||||
{ valid = false; reason = "insecure"; errormsg = "is marked as insecure"; }
|
{ valid = false; reason = "insecure"; errormsg = "is marked as insecure"; }
|
||||||
|
@ -43,29 +43,21 @@ rec {
|
|||||||
, propagatedSandboxProfile ? ""
|
, propagatedSandboxProfile ? ""
|
||||||
, ... } @ attrs:
|
, ... } @ attrs:
|
||||||
let
|
let
|
||||||
dependencies = [
|
dependencies = map lib.chooseDevOutputs [
|
||||||
(map (drv: drv.nativeDrv or drv) nativeBuildInputs)
|
(map (drv: drv.nativeDrv or drv) nativeBuildInputs
|
||||||
|
++ lib.optional separateDebugInfo ../../build-support/setup-hooks/separate-debug-info.sh
|
||||||
|
++ lib.optional stdenv.hostPlatform.isWindows ../../build-support/setup-hooks/win-dll-link.sh)
|
||||||
(map (drv: drv.crossDrv or drv) buildInputs)
|
(map (drv: drv.crossDrv or drv) buildInputs)
|
||||||
];
|
];
|
||||||
propagatedDependencies = [
|
propagatedDependencies = map lib.chooseDevOutputs [
|
||||||
(map (drv: drv.nativeDrv or drv) propagatedNativeBuildInputs)
|
(map (drv: drv.nativeDrv or drv) propagatedNativeBuildInputs)
|
||||||
(map (drv: drv.crossDrv or drv) propagatedBuildInputs)
|
(map (drv: drv.crossDrv or drv) propagatedBuildInputs)
|
||||||
];
|
];
|
||||||
in let
|
|
||||||
|
|
||||||
outputs' =
|
outputs' =
|
||||||
outputs ++
|
outputs ++
|
||||||
(if separateDebugInfo then assert stdenv.hostPlatform.isLinux; [ "debug" ] else []);
|
(if separateDebugInfo then assert stdenv.hostPlatform.isLinux; [ "debug" ] else []);
|
||||||
|
|
||||||
dependencies' = let
|
|
||||||
justMap = map lib.chooseDevOutputs dependencies;
|
|
||||||
nativeBuildInputs = lib.head justMap
|
|
||||||
++ lib.optional separateDebugInfo ../../build-support/setup-hooks/separate-debug-info.sh
|
|
||||||
++ lib.optional stdenv.hostPlatform.isWindows ../../build-support/setup-hooks/win-dll-link.sh;
|
|
||||||
in [ nativeBuildInputs ] ++ lib.tail justMap;
|
|
||||||
|
|
||||||
propagatedDependencies' = map lib.chooseDevOutputs propagatedDependencies;
|
|
||||||
|
|
||||||
derivationArg =
|
derivationArg =
|
||||||
(removeAttrs attrs
|
(removeAttrs attrs
|
||||||
["meta" "passthru" "crossAttrs" "pos"
|
["meta" "passthru" "crossAttrs" "pos"
|
||||||
@ -73,13 +65,13 @@ rec {
|
|||||||
"sandboxProfile" "propagatedSandboxProfile"])
|
"sandboxProfile" "propagatedSandboxProfile"])
|
||||||
// (let
|
// (let
|
||||||
computedSandboxProfile =
|
computedSandboxProfile =
|
||||||
lib.concatMap (input: input.__propagatedSandboxProfile or []) (stdenv.extraBuildInputs ++ lib.concatLists dependencies');
|
lib.concatMap (input: input.__propagatedSandboxProfile or []) (stdenv.extraBuildInputs ++ lib.concatLists dependencies);
|
||||||
computedPropagatedSandboxProfile =
|
computedPropagatedSandboxProfile =
|
||||||
lib.concatMap (input: input.__propagatedSandboxProfile or []) (lib.concatLists propagatedDependencies');
|
lib.concatMap (input: input.__propagatedSandboxProfile or []) (lib.concatLists propagatedDependencies);
|
||||||
computedImpureHostDeps =
|
computedImpureHostDeps =
|
||||||
lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (stdenv.extraBuildInputs ++ lib.concatLists dependencies'));
|
lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (stdenv.extraBuildInputs ++ lib.concatLists dependencies));
|
||||||
computedPropagatedImpureHostDeps =
|
computedPropagatedImpureHostDeps =
|
||||||
lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (lib.concatLists propagatedDependencies'));
|
lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (lib.concatLists propagatedDependencies));
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = name + lib.optionalString
|
name = name + lib.optionalString
|
||||||
@ -92,11 +84,11 @@ rec {
|
|||||||
userHook = config.stdenv.userHook or null;
|
userHook = config.stdenv.userHook or null;
|
||||||
__ignoreNulls = true;
|
__ignoreNulls = true;
|
||||||
|
|
||||||
nativeBuildInputs = lib.elemAt dependencies' 0;
|
nativeBuildInputs = lib.elemAt dependencies 0;
|
||||||
buildInputs = lib.elemAt dependencies' 1;
|
buildInputs = lib.elemAt dependencies 1;
|
||||||
|
|
||||||
propagatedNativeBuildInputs = lib.elemAt propagatedDependencies' 0;
|
propagatedNativeBuildInputs = lib.elemAt propagatedDependencies 0;
|
||||||
propagatedBuildInputs = lib.elemAt propagatedDependencies' 1;
|
propagatedBuildInputs = lib.elemAt propagatedDependencies 1;
|
||||||
|
|
||||||
# This parameter is sometimes a string, sometimes null, and sometimes a list, yuck
|
# This parameter is sometimes a string, sometimes null, and sometimes a list, yuck
|
||||||
configureFlags = let inherit (lib) optional elem; in
|
configureFlags = let inherit (lib) optional elem; in
|
||||||
|
@ -299,13 +299,22 @@ in
|
|||||||
shellPackage = prevStage.bash;
|
shellPackage = prevStage.bash;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* outputs TODO
|
# Mainly avoid reference to bootstrap tools
|
||||||
allowedRequisites = with prevStage;
|
allowedRequisites = with prevStage; with lib;
|
||||||
|
# Simple executable tools
|
||||||
|
concatMap (p: [ (getBin p) (getLib p) ])
|
||||||
[ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
|
[ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
|
||||||
glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl
|
gnumake gnused gnutar gnugrep gnupatch patchelf ed paxctl
|
||||||
paxctl zlib pcre linuxHeaders ed gcc gcc.cc libsigsegv
|
]
|
||||||
] ++ lib.optional (system == "aarch64-linux") prevStage.updateAutotoolsGnuConfigScriptsHook;
|
# Library dependencies
|
||||||
*/
|
++ map getLib [ attr acl zlib pcre libsigsegv ]
|
||||||
|
# More complicated cases
|
||||||
|
++ [
|
||||||
|
glibc.out glibc.dev glibc.bin/*propagated from .dev*/ linuxHeaders
|
||||||
|
gcc gcc.cc gcc.cc.lib gcc.expandResponseParams
|
||||||
|
]
|
||||||
|
++ lib.optionals (system == "aarch64-linux")
|
||||||
|
[ prevStage.updateAutotoolsGnuConfigScriptsHook prevStage.gnu-config ];
|
||||||
|
|
||||||
overrides = self: super: {
|
overrides = self: super: {
|
||||||
inherit (prevStage)
|
inherit (prevStage)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user