Merge remote-tracking branch 'upstream/master' into mingw-mcfthreads
This commit is contained in:
@@ -13,6 +13,16 @@
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
extraPropagatedBuildInputs = [ ]
|
||||
++ optionals x11Support [ libXext libICE libXrandr ]
|
||||
++ optionals openglSupport [ libGL libGLU ]
|
||||
++ optional alsaSupport alsaLib
|
||||
++ optional pulseaudioSupport libpulseaudio
|
||||
++ optional stdenv.isDarwin Cocoa;
|
||||
rpath = makeLibraryPath extraPropagatedBuildInputs;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "SDL";
|
||||
version = "1.2.15";
|
||||
@@ -31,12 +41,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkgconfig ]
|
||||
++ optional stdenv.isLinux libcap;
|
||||
|
||||
propagatedBuildInputs = [ libiconv ]
|
||||
++ optionals x11Support [ libXext libICE libXrandr ]
|
||||
++ optionals openglSupport [ libGL libGLU ]
|
||||
++ optional alsaSupport alsaLib
|
||||
++ optional pulseaudioSupport libpulseaudio
|
||||
++ optional stdenv.isDarwin Cocoa;
|
||||
propagatedBuildInputs = [ libiconv ] ++ extraPropagatedBuildInputs;
|
||||
|
||||
buildInputs = [ ]
|
||||
++ optional (!stdenv.hostPlatform.isMinGW && alsaSupport) audiofile
|
||||
@@ -108,7 +113,7 @@ stdenv.mkDerivation rec {
|
||||
postFixup = ''
|
||||
for lib in $out/lib/*.so* ; do
|
||||
if [[ -L "$lib" ]]; then
|
||||
patchelf --set-rpath "$(patchelf --print-rpath $lib):${makeLibraryPath propagatedBuildInputs}" "$lib"
|
||||
patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
diff -ru3 SDL-1.2.15/sdl-config.in SDL-1.2.15-new/sdl-config.in
|
||||
--- SDL-1.2.15/sdl-config.in 2012-01-19 10:30:06.000000000 +0400
|
||||
+++ SDL-1.2.15-new/sdl-config.in 2016-08-22 05:32:52.716397920 +0300
|
||||
@@ -42,7 +42,11 @@
|
||||
diff --git a/sdl-config.in b/sdl-config.in
|
||||
index e0fcc0c..bf7928a 100644
|
||||
--- a/sdl-config.in
|
||||
+++ b/sdl-config.in
|
||||
@@ -42,14 +42,18 @@ while test $# -gt 0; do
|
||||
echo @SDL_VERSION@
|
||||
;;
|
||||
--cflags)
|
||||
@@ -13,4 +14,13 @@ diff -ru3 SDL-1.2.15/sdl-config.in SDL-1.2.15-new/sdl-config.in
|
||||
+ echo $SDL_CFLAGS @SDL_CFLAGS@
|
||||
;;
|
||||
@ENABLE_SHARED_TRUE@ --libs)
|
||||
@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
|
||||
-@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
|
||||
+@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ $SDL_LIB_PATH
|
||||
@ENABLE_SHARED_TRUE@ ;;
|
||||
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs)
|
||||
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs)
|
||||
-@ENABLE_STATIC_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@
|
||||
+@ENABLE_STATIC_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@ $SDL_LIB_PATH
|
||||
@ENABLE_STATIC_TRUE@ ;;
|
||||
*)
|
||||
echo "${usage}" 1>&2
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
addSDLPath () {
|
||||
if [ -e "$1/include/SDL" ]; then
|
||||
export SDL_PATH="$SDL_PATH $1/include/SDL"
|
||||
export SDL_LIB_PATH="$SDL_LIB_PATH -L$1/lib"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,13 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [ ./find-headers.patch ];
|
||||
|
||||
# Fix with mesa 19.2: https://bugzilla.libsdl.org/show_bug.cgi?id=4797
|
||||
postPatch = ''
|
||||
substituteInPlace include/SDL_opengl_glext.h \
|
||||
--replace "typedef ptrdiff_t GLsizeiptr;" "typedef signed long int khronos_ssize_t; typedef khronos_ssize_t GLsizeiptr;" \
|
||||
--replace "typedef ptrdiff_t GLintptr;" "typedef signed long int khronos_intptr_t; typedef khronos_intptr_t GLintptr;"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
propagatedBuildInputs = dlopenPropagatedBuildInputs;
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
{ stdenv, fetchpatch, fetchurl, SDL, autoreconfHook, pango, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "SDL_Pango";
|
||||
version = "0.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/sdlpango/${pname}-${version}.tar.gz";
|
||||
sha256 = "197baw1dsg0p4pljs5k0fshbyki00r4l49m1drlpqw6ggawx6xbz";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = https://sources.debian.org/data/main/s/sdlpango/0.1.2-6/debian/patches/api_additions.patch;
|
||||
sha256 = "00p5ry5gd3ixm257p9i2c4jg0qj8ipk8nf56l7c9fma8id3zxyld";
|
||||
})
|
||||
./fixes.patch
|
||||
];
|
||||
|
||||
preConfigure = "autoreconf -i -f";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
buildInputs = [ SDL pango ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Connects the Pango rendering engine to SDL";
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = platforms.all;
|
||||
homepage = http://sdlpango.sourceforge.net/;
|
||||
maintainers = with maintainers; [ puckipedia ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
diff --git a/SDL_Pango.pc.in b/SDL_Pango.pc.in
|
||||
index 750d091..3af38ff 100644
|
||||
--- a/SDL_Pango.pc.in
|
||||
+++ b/SDL_Pango.pc.in
|
||||
@@ -6,6 +6,6 @@ includedir=@includedir@
|
||||
Name: SDL_Pango
|
||||
Description: SDL library for internationalized text rendering
|
||||
Version: @VERSION@
|
||||
-Requires: pango
|
||||
+Requires: pango pangoft2
|
||||
Libs: -L${libdir} -lSDL_Pango
|
||||
Cflags: -I${includedir}
|
||||
\ No newline at end of file
|
||||
diff --git a/src/SDL_Pango.c b/src/SDL_Pango.c
|
||||
index b969bc1..cc2c3f5 100644
|
||||
--- a/src/SDL_Pango.c
|
||||
+++ b/src/SDL_Pango.c
|
||||
@@ -231,6 +231,41 @@
|
||||
|
||||
#include "SDL_Pango.h"
|
||||
|
||||
+const SDLPango_Matrix _MATRIX_WHITE_BACK
|
||||
+ = {255, 0, 0, 0,
|
||||
+ 255, 0, 0, 0,
|
||||
+ 255, 0, 0, 0,
|
||||
+ 255, 255, 0, 0,};
|
||||
+const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK;
|
||||
+
|
||||
+const SDLPango_Matrix _MATRIX_BLACK_BACK
|
||||
+ = {0, 255, 0, 0,
|
||||
+ 0, 255, 0, 0,
|
||||
+ 0, 255, 0, 0,
|
||||
+ 255, 255, 0, 0,};
|
||||
+const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK;
|
||||
+
|
||||
+const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER
|
||||
+ = {0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0,
|
||||
+ 0, 255, 0, 0,};
|
||||
+const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER;
|
||||
+
|
||||
+const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER
|
||||
+ = {255, 255, 0, 0,
|
||||
+ 255, 255, 0, 0,
|
||||
+ 255, 255, 0, 0,
|
||||
+ 0, 255, 0, 0,};
|
||||
+const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER;
|
||||
+
|
||||
+const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER
|
||||
+ = {255, 255, 0, 0,
|
||||
+ 255, 255, 0, 0,
|
||||
+ 255, 255, 0, 0,
|
||||
+ 0, 0, 0, 0,};
|
||||
+const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;
|
||||
+
|
||||
//! non-zero if initialized
|
||||
static int IS_INITIALIZED = 0;
|
||||
|
||||
diff --git a/src/SDL_Pango.h b/src/SDL_Pango.h
|
||||
index 6ebdf78..b7e5e58 100644
|
||||
--- a/src/SDL_Pango.h
|
||||
+++ b/src/SDL_Pango.h
|
||||
@@ -47,57 +47,32 @@ typedef struct _SDLPango_Matrix {
|
||||
Uint8 m[4][4]; /*! Matrix variables */
|
||||
} SDLPango_Matrix;
|
||||
|
||||
-const SDLPango_Matrix _MATRIX_WHITE_BACK
|
||||
- = {255, 0, 0, 0,
|
||||
- 255, 0, 0, 0,
|
||||
- 255, 0, 0, 0,
|
||||
- 255, 255, 0, 0,};
|
||||
|
||||
/*!
|
||||
Specifies white back and black letter.
|
||||
*/
|
||||
-const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK;
|
||||
+extern const SDLPango_Matrix *MATRIX_WHITE_BACK;
|
||||
|
||||
-const SDLPango_Matrix _MATRIX_BLACK_BACK
|
||||
- = {0, 255, 0, 0,
|
||||
- 0, 255, 0, 0,
|
||||
- 0, 255, 0, 0,
|
||||
- 255, 255, 0, 0,};
|
||||
/*!
|
||||
Specifies black back and white letter.
|
||||
*/
|
||||
-const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK;
|
||||
+extern const SDLPango_Matrix *MATRIX_BLACK_BACK;
|
||||
|
||||
-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER
|
||||
- = {0, 0, 0, 0,
|
||||
- 0, 0, 0, 0,
|
||||
- 0, 0, 0, 0,
|
||||
- 0, 255, 0, 0,};
|
||||
/*!
|
||||
Specifies transparent back and black letter.
|
||||
*/
|
||||
-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER;
|
||||
+extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER;
|
||||
|
||||
-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER
|
||||
- = {255, 255, 0, 0,
|
||||
- 255, 255, 0, 0,
|
||||
- 255, 255, 0, 0,
|
||||
- 0, 255, 0, 0,};
|
||||
/*!
|
||||
Specifies transparent back and white letter.
|
||||
*/
|
||||
-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER;
|
||||
+extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER;
|
||||
|
||||
-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER
|
||||
- = {255, 255, 0, 0,
|
||||
- 255, 255, 0, 0,
|
||||
- 255, 255, 0, 0,
|
||||
- 0, 0, 0, 0,};
|
||||
/*!
|
||||
Specifies transparent back and transparent letter.
|
||||
This is useful for KARAOKE like rendering.
|
||||
*/
|
||||
-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;
|
||||
+extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;
|
||||
|
||||
/*!
|
||||
Specifies direction of text. See Pango reference for detail
|
||||
@@ -186,7 +161,8 @@ extern DECLSPEC void SDLCALL SDLPango_SetBaseDirection(
|
||||
SDLPango_Direction direction);
|
||||
|
||||
|
||||
-#ifdef __FT2_BUILD_UNIX_H__
|
||||
+
|
||||
+#ifdef __PANGO_H__
|
||||
|
||||
extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface(
|
||||
const FT_Bitmap *bitmap,
|
||||
@@ -194,11 +170,8 @@ extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface(
|
||||
const SDLPango_Matrix *matrix,
|
||||
SDL_Rect *rect);
|
||||
|
||||
-#endif /* __FT2_BUILD_UNIX_H__ */
|
||||
|
||||
|
||||
-#ifdef __PANGO_H__
|
||||
-
|
||||
extern DECLSPEC PangoFontMap* SDLCALL SDLPango_GetPangoFontMap(
|
||||
SDLPango_Context *context);
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "accounts-qt";
|
||||
version = "1.15";
|
||||
version = "1.16";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
sha256 = "0cnra7g2mcgzh8ykrj1dpb4khkx676pzdr4ia1bvsp0cli48691w";
|
||||
sha256 = "1vmpjvysm0ld8dqnx8msa15hlhrkny02cqycsh4k2azrnijg0xjz";
|
||||
rev = "VERSION_${version}";
|
||||
repo = "libaccounts-qt";
|
||||
owner = "accounts-sso";
|
||||
|
||||
@@ -60,6 +60,8 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
./no-create-dirs.patch
|
||||
./Disable-methods-that-change-files-in-etc.patch
|
||||
# Fixes https://github.com/NixOS/nixpkgs/issues/72396
|
||||
./drop-prefix-check-extensions.patch
|
||||
# Systemd unit improvements. Notably using StateDirectory eliminating the
|
||||
# need of an ad-hoc script.
|
||||
(fetchpatch {
|
||||
@@ -70,6 +72,11 @@ stdenv.mkDerivation rec {
|
||||
url = "https://gitlab.freedesktop.org/accountsservice/accountsservice/commit/0e712e935abd26499ff5995ab363e5bfd9ee7c4c.patch";
|
||||
sha256 = "1y60a5fmgfqjzprwpizilrazqn3mggdlgc5sgcpsprsp62fv78rl";
|
||||
})
|
||||
# Don't use etc/dbus-1/system.d
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.freedesktop.org/accountsservice/accountsservice/commit/ced73d0fcbd2a54085a660d260482fc70d79bd5c.patch";
|
||||
sha256 = "0s7fknfgxl8hnf6givmhfg4586fjb2n64i9arh1w7xnq7x9x8d4c";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
diff --git a/src/extensions.c b/src/extensions.c
|
||||
index 038dcb2..830465d 100644
|
||||
--- a/src/extensions.c
|
||||
+++ b/src/extensions.c
|
||||
@@ -121,16 +121,7 @@ daemon_read_extension_directory (GHashTable *ifaces,
|
||||
continue;
|
||||
}
|
||||
|
||||
- /* Ensure it looks like "../../dbus-1/interfaces/${name}" */
|
||||
- const gchar * const prefix = "../../dbus-1/interfaces/";
|
||||
- if (g_str_has_prefix (symlink, prefix) && g_str_equal (symlink + strlen (prefix), name)) {
|
||||
- daemon_read_extension_file (ifaces, filename);
|
||||
- }
|
||||
- else {
|
||||
- g_warning ("Found accounts service vendor extension symlink %s, but it must be exactly "
|
||||
- "equal to '../../dbus-1/interfaces/%s' for forwards-compatibility reasons.",
|
||||
- filename, name);
|
||||
- }
|
||||
+ daemon_read_extension_file (ifaces, filename);
|
||||
}
|
||||
|
||||
g_dir_close (dir);
|
||||
@@ -3,13 +3,13 @@
|
||||
stdenv.mkDerivation rec
|
||||
{
|
||||
pname = "alembic";
|
||||
version = "1.7.11";
|
||||
version = "1.7.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alembic";
|
||||
repo = "alembic";
|
||||
rev = version;
|
||||
sha256 = "1lalbqn4cwf0vp4hiq72gwpd7kq501j21rnjb380mv26pk7r2ivz";
|
||||
sha256 = "0a9icrv6pwh2b73lywq1aj7i19pmzpg59iy3ngal8vq4zdciylqc";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "dev" "out" "lib" ];
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "alkimia";
|
||||
version = "8.0.1";
|
||||
version = "8.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/alkimia/${version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "059i6vn36sdq5zn2vqzh4asvvgdgs7n478nk9phvb5gdys01fq7m";
|
||||
sha256 = "0al5k9irmg9gsjc234qxjsqfzgzsavl18pspqk78mkp8zlv7fvv1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ extra-cmake-modules doxygen graphviz ];
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchurl, gtk3
|
||||
, pkgconfig, gnome3, dbus, xvfb_run }:
|
||||
let
|
||||
version = "5.0.0";
|
||||
version = "5.0.1";
|
||||
pname = "amtk";
|
||||
in stdenv.mkDerivation {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1zriix7bdwcg0868mfc7jy6zbwjwdmjwbh0ah6dbddrhiabrda8j";
|
||||
sha256 = "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "apr-1.6.5";
|
||||
name = "apr-1.7.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/apr/${name}.tar.bz2";
|
||||
sha256 = "01d1n1ql66bxsjx0wyzazmkqdqdmr0is6a7lwyy5kzy4z7yajz56";
|
||||
sha256 = "1spp6r2a3xcl5yajm9safhzyilsdzgagc2dadif8x6z9nbq4iqg2";
|
||||
};
|
||||
|
||||
patches = stdenv.lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ];
|
||||
|
||||
@@ -33,13 +33,13 @@ in
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "aravis";
|
||||
version = "0.6.3";
|
||||
version = "0.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AravisProject";
|
||||
repo = pname;
|
||||
rev= "ARAVIS_${builtins.replaceStrings ["."] ["_"] version}";
|
||||
sha256 = "0lmgx854z522dwcxsg37bxdyiai9fnycpx1nvgayksj38h39kfn2";
|
||||
sha256 = "18fnliks661kzc3g8v08hcaj18hjid8b180d6s9gwn0zgv4g374w";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "dev" "out" "lib" ];
|
||||
|
||||
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
||||
description = ''A library for arbitrary-precision interval arithmetic'';
|
||||
license = stdenv.lib.licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ raskin timokau ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "armadillo";
|
||||
version = "9.600.6";
|
||||
version = "9.800.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
|
||||
sha256 = "0wlk1yv9531vpvgja4cpy0sxykrn0p5w376kx86vl45b50yamx7g";
|
||||
sha256 = "1vnshgkz4d992kk2fwqigqfx7gx3145ryb8d2794hn2667h5gkzb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig
|
||||
, cudatoolkit, opencl-clhpp, ocl-icd, fftw, fftwFloat, mkl
|
||||
, blas, openblas, boost, mesa, libGLU_combined
|
||||
, freeimage, python, clfft, clblas
|
||||
, doxygen, buildDocs ? false
|
||||
}:
|
||||
|
||||
let
|
||||
strOnLinux = stdenv.lib.optionalString stdenv.isLinux;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "arrayfire";
|
||||
version = "3.6.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://arrayfire.com/arrayfire_source/arrayfire-full-${version}.tar.bz2";
|
||||
sha256 = "1fin7a9rliyqic3z83agkpb8zlq663q6gdxsnm156cs8s7f7rc9h";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DAF_BUILD_OPENCL=OFF"
|
||||
"-DAF_BUILD_EXAMPLES=OFF"
|
||||
"-DBUILD_TESTING=OFF"
|
||||
(strOnLinux "-DCMAKE_LIBRARY_PATH=${cudatoolkit}/lib/stubs")
|
||||
];
|
||||
|
||||
patches = [ ./no-download.patch ];
|
||||
|
||||
postPatch = ''
|
||||
mkdir -p ./build/third_party/clFFT/src
|
||||
cp -R --no-preserve=mode,ownership ${clfft.src}/ ./build/third_party/clFFT/src/clFFT-ext/
|
||||
mkdir -p ./build/third_party/clBLAS/src
|
||||
cp -R --no-preserve=mode,ownership ${clblas.src}/ ./build/third_party/clBLAS/src/clBLAS-ext/
|
||||
mkdir -p ./build/include/CL
|
||||
cp -R --no-preserve=mode,ownership ${opencl-clhpp}/include/CL/cl2.hpp ./build/include/CL/cl2.hpp
|
||||
'';
|
||||
|
||||
preBuild = strOnLinux ''
|
||||
export CUDA_PATH="${cudatoolkit}"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkgconfig
|
||||
python
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
opencl-clhpp fftw fftwFloat
|
||||
mkl
|
||||
openblas
|
||||
libGLU_combined
|
||||
mesa freeimage
|
||||
boost.out boost.dev
|
||||
] ++ (stdenv.lib.optional stdenv.isLinux [ cudatoolkit ocl-icd ])
|
||||
++ (stdenv.lib.optional buildDocs [ doxygen ]);
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A general-purpose library for parallel and massively-parallel computations";
|
||||
longDescription = ''
|
||||
A general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.";
|
||||
'';
|
||||
license = licenses.bsd3;
|
||||
homepage = "https://arrayfire.com/";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ chessai ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
diff --git a/CMakeModules/build_clBLAS.cmake b/CMakeModules/build_clBLAS.cmake
|
||||
index 8de529e8..6361b613 100644
|
||||
--- a/CMakeModules/build_clBLAS.cmake
|
||||
+++ b/CMakeModules/build_clBLAS.cmake
|
||||
@@ -14,8 +14,7 @@ find_package(OpenCL)
|
||||
|
||||
ExternalProject_Add(
|
||||
clBLAS-ext
|
||||
- GIT_REPOSITORY https://github.com/arrayfire/clBLAS.git
|
||||
- GIT_TAG arrayfire-release
|
||||
+ DOWNLOAD_COMMAND true
|
||||
BUILD_BYPRODUCTS ${clBLAS_location}
|
||||
PREFIX "${prefix}"
|
||||
INSTALL_DIR "${prefix}"
|
||||
diff --git a/CMakeModules/build_clFFT.cmake b/CMakeModules/build_clFFT.cmake
|
||||
index 28be38a3..85e3915e 100644
|
||||
--- a/CMakeModules/build_clFFT.cmake
|
||||
+++ b/CMakeModules/build_clFFT.cmake
|
||||
@@ -20,8 +20,7 @@ ENDIF()
|
||||
|
||||
ExternalProject_Add(
|
||||
clFFT-ext
|
||||
- GIT_REPOSITORY https://github.com/arrayfire/clFFT.git
|
||||
- GIT_TAG arrayfire-release
|
||||
+ DOWNLOAD_COMMAND true
|
||||
PREFIX "${prefix}"
|
||||
INSTALL_DIR "${prefix}"
|
||||
UPDATE_COMMAND ""
|
||||
@@ -1,4 +1,6 @@
|
||||
{ stdenv, fetchurl, fetchFromGitHub, fixDarwinDylibNames, autoconf, boost, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl, python, rapidjson, snappy, thrift, uriparser, which, zlib, zstd }:
|
||||
{ stdenv, fetchurl, fetchFromGitHub, fixDarwinDylibNames, autoconf, boost
|
||||
, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl
|
||||
, python, rapidjson, snappy, thrift, uriparser, which, zlib, zstd }:
|
||||
|
||||
let
|
||||
parquet-testing = fetchFromGitHub {
|
||||
@@ -7,15 +9,15 @@ let
|
||||
rev = "a277dc4e55ded3e3ea27dab1e4faf98c112442df";
|
||||
sha256 = "1yh5a8l4ship36hwmgmp2kl72s5ac9r8ly1qcs650xv2g9q7yhnq";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "arrow-cpp";
|
||||
version = "0.14.1";
|
||||
version = "0.15.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
|
||||
sha256 = "0a0xrsbr7dd1yp34yw82jw7psfkfvm935jhd5mam32vrsjvdsj4r";
|
||||
url =
|
||||
"mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
|
||||
sha256 = "1jbghpppabsix2rkxbnh41inj9lcxfz4q94p96xzxshh4g3mhb4s";
|
||||
};
|
||||
|
||||
sourceRoot = "apache-arrow-${version}/cpp";
|
||||
@@ -24,57 +26,81 @@ stdenv.mkDerivation rec {
|
||||
# From
|
||||
# ./cpp/cmake_modules/ThirdpartyToolchain.cmake
|
||||
# ./cpp/thirdparty/versions.txt
|
||||
url = "https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.bz2";
|
||||
url =
|
||||
"https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.bz2";
|
||||
sha256 = "1d73a5c5qdrwck0fa5pxz0myizaf3s9alsvhiqwrjahdlr29zgkl";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# patch to fix python-test
|
||||
./darwin.patch
|
||||
];
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake autoconf /* for vendored jemalloc */ ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
autoconf # for vendored jemalloc
|
||||
flatbuffers
|
||||
] ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
buildInputs = [
|
||||
boost brotli double-conversion flatbuffers gflags glog gtest lz4 rapidjson
|
||||
snappy thrift uriparser zlib zstd python.pkgs.python python.pkgs.numpy
|
||||
boost
|
||||
brotli
|
||||
double-conversion
|
||||
flatbuffers
|
||||
gflags
|
||||
glog
|
||||
gtest
|
||||
lz4
|
||||
rapidjson
|
||||
snappy
|
||||
thrift
|
||||
uriparser
|
||||
zlib
|
||||
zstd
|
||||
python.pkgs.python
|
||||
python.pkgs.numpy
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace cmake_modules/FindLz4.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
|
||||
|
||||
patchShebangs build-support/
|
||||
|
||||
# Fix build for ARROW_USE_SIMD=OFF
|
||||
# https://jira.apache.org/jira/browse/ARROW-5007
|
||||
sed -i src/arrow/util/sse-util.h -e '1i#include "arrow/util/logging.h"'
|
||||
sed -i src/arrow/util/neon-util.h -e '1i#include "arrow/util/logging.h"'
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DARROW_BUILD_TESTS=ON"
|
||||
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
|
||||
"-DARROW_PARQUET=ON"
|
||||
"-DARROW_PLASMA=ON"
|
||||
"-DARROW_PYTHON=ON"
|
||||
"-Duriparser_SOURCE=SYSTEM"
|
||||
] ++ stdenv.lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF";
|
||||
|
||||
doInstallCheck = true;
|
||||
PARQUET_TEST_DATA = if doInstallCheck then "${parquet-testing}/data" else null;
|
||||
PARQUET_TEST_DATA =
|
||||
if doInstallCheck then "${parquet-testing}/data" else null;
|
||||
installCheckInputs = [ perl which ];
|
||||
installCheckPhase = (stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
for f in release/*test; do
|
||||
for f in release/*test{,s}; do
|
||||
install_name_tool -add_rpath "$out"/lib "$f"
|
||||
done
|
||||
'') + ''
|
||||
ctest -L unittest -V
|
||||
'';
|
||||
'')
|
||||
+ (let
|
||||
excludedTests = stdenv.lib.optionals stdenv.isDarwin [
|
||||
# Some plasma tests need to be patched to use a shorter AF_UNIX socket
|
||||
# path on Darwin. See https://github.com/NixOS/nix/pull/1085
|
||||
"plasma-external-store-tests"
|
||||
"plasma-client-tests"
|
||||
];
|
||||
in ''
|
||||
ctest -L unittest -V \
|
||||
--exclude-regex '^(${builtins.concatStringsSep "|" excludedTests})$'
|
||||
'');
|
||||
|
||||
meta = {
|
||||
description = "A cross-language development platform for in-memory data";
|
||||
homepage = https://arrow.apache.org/;
|
||||
homepage = "https://arrow.apache.org/";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ veprbl ];
|
||||
maintainers = with stdenv.lib.maintainers; [ tobim veprbl ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -298,10 +298,10 @@ in rec {
|
||||
|
||||
en = buildOfficialDict {
|
||||
language = "en";
|
||||
version = "2018.04.16-0";
|
||||
version = "2019.10.06-0";
|
||||
fullName = "English";
|
||||
filename = "aspell6";
|
||||
sha256 = "0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i";
|
||||
sha256 = "1zai9wrqwgb9z9vfgb22qhrvxvg73jg0ix44j1khm2f6m96lncr4";
|
||||
};
|
||||
|
||||
eo = buildOfficialDict {
|
||||
@@ -919,12 +919,12 @@ in rec {
|
||||
|
||||
src1 = fetchurl {
|
||||
url = http://jpetrie.net/wp-content/uploads/custom_scientific_US.txt;
|
||||
sha256 = "1psqm094zl4prk2f8h18jv0d471hxykzd1zdnrlx7gzrzy6pz5r3";
|
||||
sha256 = "1nf4py2mg0mlv9s5a7had2wn29z2v6bcca0fs6rbpdn4nqc4s7dm";
|
||||
};
|
||||
|
||||
src2 = fetchurl {
|
||||
url = http://jpetrie.net/wp-content/uploads/custom_scientific_UK.txt;
|
||||
sha256 = "17ss1sdr3k70zbyx2z9xf74345slrp41gbkpih8axrmg4x92fgm1";
|
||||
sha256 = "0f88il1ds6qazy1ghxviqcwsywrbf6pzl2lmzf4f3qvhdfb6f1y0";
|
||||
};
|
||||
|
||||
langInputs = [ en ];
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "assimp";
|
||||
version = "4.1.0";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub{
|
||||
owner = "assimp";
|
||||
repo = "assimp";
|
||||
rev = "v${version}";
|
||||
sha256 = "00g61g3ixmfszzjncpvm8x7gp2livaj4lmhbycjmrw4x3gfqlc4r";
|
||||
sha256 = "17y5q5hbygmb0cgf96gd3v8sal5g69cp8hmh1cs3yz7v00kjysmz";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake boost zlib ];
|
||||
|
||||
@@ -10,23 +10,20 @@
|
||||
, dbus
|
||||
, glib
|
||||
, libxml2
|
||||
, fixDarwinDylibNames
|
||||
|
||||
, gnome3 # To pass updateScript
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "at-spi2-atk";
|
||||
version = "2.32.0";
|
||||
version = "2.34.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0p54wx6f6q7s8w0b1j0sgw87pikllp79q5g3lfiwqazs779ycl8b";
|
||||
sha256 = "00250s72ii8w6lb6ww61v49y9k4cswfj0hhawqlram7bl6b7x6is";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkgconfig ]
|
||||
# Fixup rpaths because of meson, remove with meson-0.47
|
||||
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
nativeBuildInputs = [ meson ninja pkgconfig ];
|
||||
buildInputs = [ at-spi2-core atk dbus glib libxml2 ];
|
||||
|
||||
doCheck = false; # fails with "No test data file provided"
|
||||
@@ -40,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
description = "D-Bus bridge for Assistive Technology Service Provider Interface (AT-SPI) and Accessibility Toolkit (ATK)";
|
||||
homepage = https://gitlab.gnome.org/GNOME/at-spi2-atk;
|
||||
license = licenses.lgpl2Plus; # NOTE: 2018-06-06: Please check the license when upstream sorts-out licensing: https://gitlab.gnome.org/GNOME/at-spi2-atk/issues/2
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = gnome3.maintainers;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
@@ -13,25 +13,22 @@
|
||||
, libX11
|
||||
, libXtst # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case
|
||||
, libXi
|
||||
, fixDarwinDylibNames
|
||||
|
||||
, gnome3 # To pass updateScript
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "at-spi2-core";
|
||||
version = "2.32.1";
|
||||
version = "2.34.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0lqd7gsl471v6538iighkvb21gjglcb9pklvas32rjpsxcvsjaiw";
|
||||
sha256 = "1ihixwhh3c16q6253qj9gf69741rb2pi51822a4rylsfcyywsafn";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection makeWrapper ]
|
||||
# Fixup rpaths because of meson, remove with meson-0.47
|
||||
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection makeWrapper ];
|
||||
buildInputs = [ dbus glib libX11 libXtst libXi ];
|
||||
|
||||
doCheck = false; # fails with "AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?"
|
||||
@@ -58,7 +55,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
description = "Assistive Technology Service Provider Interface protocol definitions and daemon for D-Bus";
|
||||
homepage = https://gitlab.gnome.org/GNOME/at-spi2-core;
|
||||
license = licenses.lgpl2Plus; # NOTE: 2018-06-06: Please check the license when upstream sorts-out licensing: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/2
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = gnome3.maintainers;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
let
|
||||
pname = "atk";
|
||||
version = "2.32.0";
|
||||
version = "2.34.1";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "1k4i817bd2w5b9z394f2yyx95591l2746wa40am0vvz4gzdgwhfb";
|
||||
sha256 = "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
@@ -26,6 +26,12 @@ stdenv.mkDerivation rec {
|
||||
glib
|
||||
];
|
||||
|
||||
patches = [
|
||||
# meson builds an incorrect .pc file
|
||||
# glib should be Requires not Requires.private
|
||||
./fix_pc.patch
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
--- a/atk/meson.build
|
||||
+++ b/atk/meson.build
|
||||
@@ -162,5 +162,6 @@ pkgconfig.generate(libatk,
|
||||
name: 'Atk',
|
||||
description: 'Accessibility Toolkit',
|
||||
subdirs: atk_api_name,
|
||||
+ requires: glib_dep,
|
||||
filebase: 'atk',
|
||||
)
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libmysofa";
|
||||
version = "0.7";
|
||||
version = "0.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hoene";
|
||||
repo = "libmysofa";
|
||||
rev = "v${version}";
|
||||
sha256 = "0si0z7cfw6xcs3dkrb4zini55xpxwfp27yl8lbx39gx2pf8v2jls";
|
||||
sha256 = "1gas6fp0xy57wwdvsdfq1yq2hg4zl2c074b260y7hh92z96pj22j";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2, alsaLib, rtmidi }:
|
||||
{ stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2, alsaLib, pulseaudio, rtmidi }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "5.1.0";
|
||||
@@ -13,18 +13,18 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [ autoconf automake libtool libjack2 alsaLib rtmidi ];
|
||||
buildInputs = [ autoconf automake libtool libjack2 alsaLib pulseaudio rtmidi ];
|
||||
|
||||
preConfigure = ''
|
||||
./autogen.sh --no-configure
|
||||
./configure
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A set of C++ classes that provide a cross platform API for realtime audio input/output";
|
||||
homepage = http://www.music.mcgill.ca/~gary/rtaudio/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = [ stdenv.lib.maintainers.magnetophon ];
|
||||
platforms = with stdenv.lib.platforms; linux ++ darwin;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags =
|
||||
[ "--disable-qt3" "--disable-gdbm" "--disable-mono"
|
||||
"--disable-gtk"
|
||||
"--disable-gtk" "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
|
||||
(stdenv.lib.enableFeature gtk3Support "gtk3")
|
||||
"--${if qt4Support then "enable" else "disable"}-qt4"
|
||||
(stdenv.lib.enableFeature withPython "python")
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{ stdenv, cmake, fetchurl, pkgconfig, jansson, zlib }:
|
||||
|
||||
let
|
||||
version = "1.9.0";
|
||||
version = "1.9.1";
|
||||
in stdenv.mkDerivation {
|
||||
pname = "avro-c";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/avro/avro-${version}/c/avro-c-${version}.tar.gz";
|
||||
sha256 = "1ch8z9jpkjxjx2zh28z0946gz3vwj1jnkrzg4vwvfa287128cml0";
|
||||
sha256 = "0hj6w1w5mqkhnhkvjc0zz5njnnrbcjv5ml4f8gq80wff2cgbrxvx";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, curl, openssl, zlib
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, curl, openssl, zlib, fetchpatch
|
||||
, aws-c-common, aws-c-event-stream, aws-checksums
|
||||
, CoreAudio, AudioToolbox
|
||||
, # Allow building a limited set of APIs, e.g. ["s3" "ec2"].
|
||||
@@ -21,7 +21,6 @@ stdenv.mkDerivation rec {
|
||||
# FIXME: might be nice to put different APIs in different outputs
|
||||
# (e.g. libaws-cpp-sdk-s3.so in output "s3").
|
||||
outputs = [ "out" "dev" ];
|
||||
separateDebugInfo = stdenv.isLinux;
|
||||
|
||||
nativeBuildInputs = [ cmake curl ];
|
||||
|
||||
@@ -50,6 +49,13 @@ stdenv.mkDerivation rec {
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/aws/aws-sdk-cpp/commit/42991ab549087c81cb630e5d3d2413e8a9cf8a97.patch";
|
||||
sha256 = "0myq5cm3lvl5r56hg0sc0zyn1clbkd9ys0wr95ghw6bhwpvfv8gr";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A C++ interface for Amazon Web Services";
|
||||
homepage = https://github.com/awslabs/aws-sdk-cpp;
|
||||
|
||||
@@ -66,8 +66,8 @@ stdenv.mkDerivation rec {
|
||||
# TODO: Requires /etc/machine-id
|
||||
doCheck = false;
|
||||
|
||||
# ignore deprecation errors
|
||||
NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
|
||||
# glib-2.62 deprecations
|
||||
NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Application matching framework";
|
||||
|
||||
@@ -16,22 +16,20 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
separateDebugInfo = stdenv.isLinux;
|
||||
separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl";
|
||||
|
||||
preConfigure = stdenv.lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
|
||||
export NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
|
||||
'';
|
||||
|
||||
patches =
|
||||
# https://github.com/ivmai/bdwgc/pull/208
|
||||
patches = # https://github.com/ivmai/bdwgc/pull/208
|
||||
lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch
|
||||
# boehm-gc whitelists GCC threading models
|
||||
++ lib.optional stdenv.hostPlatform.isMinGW ./mcfgthread.patch;
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-cplusplus" "--with-libatomic-ops=none" ]
|
||||
++ lib.optional enableLargeConfig "--enable-large-config"
|
||||
++ lib.optional (stdenv.hostPlatform.libc == "musl") "--disable-static";
|
||||
++ lib.optional enableLargeConfig "--enable-large-config";
|
||||
|
||||
nativeBuildInputs =
|
||||
lib.optional stdenv.hostPlatform.isMinGW autoreconfHook;
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, pkg-config, gettext, libcsptr, dyncall
|
||||
, nanomsg, python37Packages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "unstable-2019-09-19";
|
||||
pname = "boxfort";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Snaipe";
|
||||
repo = "BoxFort";
|
||||
rev = "926bd4ce968592dbbba97ec1bb9aeca3edf29b0d";
|
||||
sha256 = "0mzy4f8qij6ckn5578y3l4rni2470pdkjy5xww7ak99l1kh3p3v6";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
dyncall
|
||||
gettext
|
||||
libcsptr
|
||||
nanomsg
|
||||
];
|
||||
|
||||
checkInputs = with python37Packages; [ cram ];
|
||||
|
||||
cmakeFlags = [ "-DBXF_FORK_RESILIENCE=OFF" ];
|
||||
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
|
||||
'';
|
||||
|
||||
outputs = [ "dev" "out" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Convenient & cross-platform sandboxing C library";
|
||||
homepage = "https://github.com/Snaipe/BoxFort";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
thesola10
|
||||
Yumasi
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -40,7 +40,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=argument-outside-range";
|
||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang
|
||||
"-Wno-error=argument-outside-range -Wno-error=c++11-narrowing";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A professional free 3D Game Multiphysics Library";
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "c-blosc";
|
||||
version = "1.16.3";
|
||||
version = "1.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Blosc";
|
||||
repo = "c-blosc";
|
||||
rev = "v${version}";
|
||||
sha256 = "1c58wkf34rp5wh9qp09zdk7zcfn037sk56p4xq1g0vapbnglv603";
|
||||
sha256 = "0c4vh7kyxm57jclk8jlcnc11w7nd2m81qk454gav58aji85w16hg";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake ];
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "actor-framework";
|
||||
version = "0.17.0";
|
||||
version = "0.17.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "actor-framework";
|
||||
repo = "actor-framework";
|
||||
rev = version;
|
||||
sha256 = "10dcpmdsfq6r7hpvg413pqi1q3rjvgn7f87c17ghyz30x6rjhaic";
|
||||
sha256 = "1xbq591m3v6pkz4z3dg2lsxr6bxv1lpz4yhdci3vi55y6x9pwyfw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "catch2";
|
||||
version = "2.8.0";
|
||||
version = "2.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "catchorg";
|
||||
repo = "Catch2";
|
||||
rev = "v${version}";
|
||||
sha256="1i7nz29gcsy9cnljb0sb1fw8fg9p1gdh2pdhrgj3kcrsnxgbyhrq";
|
||||
sha256="01ldfv4337s3vdhsx415d49jchpvqy61c77dhnri30ip5af0ipjs";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C)";
|
||||
homepage = http://catch-lib.net;
|
||||
homepage = "http://catch-lib.net";
|
||||
license = licenses.boost;
|
||||
maintainers = with maintainers; [ edwtjo knedlsepp ];
|
||||
platforms = with platforms; unix;
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
{ stdenv, fetchFromGitHub, cmake }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cereal";
|
||||
version = "1.2.2";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "USCiLab";
|
||||
repo = "cereal";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ckr8r03ggg5pyzg8yw40d5ssq40h5najvyqlnxc85fxxp8rnrx4";
|
||||
};
|
||||
|
||||
cmakeFlagsArray = [ "-DJUST_INSTALL_CEREAL=yes" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A header-only C++11 serialization library";
|
||||
homepage = https://uscilab.github.io/cereal/;
|
||||
platforms = platforms.all;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
@@ -1,17 +1,21 @@
|
||||
{ stdenv, fetchurl }:
|
||||
{ stdenv, fetchFromGitHub, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "chmlib-0.40";
|
||||
name = "chmlib-0.40a";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/${name}.tar.bz2";
|
||||
sha256 = "18zzb4x3z0d7fjh1x5439bs62dmgsi4c1pg3qyr7h5gp1i5xcj9l";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jedwing";
|
||||
repo = "CHMLib";
|
||||
rev = "2bef8d063ec7d88a8de6fd9f0513ea42ac0fa21f";
|
||||
sha256 = "1hah0nw0l05npva2r35ywwd0kzyiiz4vamghm6d71h8170iva6m9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
meta = {
|
||||
homepage = http://www.jedrea.com/chmlib;
|
||||
license = stdenv.lib.licenses.lgpl2;
|
||||
description = "A library for dealing with Microsoft ITSS/CHM format files";
|
||||
platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
|
||||
platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux"];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "chromaprint";
|
||||
version = "1.3.2";
|
||||
version = "1.4.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/acoustid/chromaprint/downloads/${pname}-${version}.tar.gz";
|
||||
sha256 = "0lln8dh33gslb9cbmd1hcv33pr6jxdwipd8m8gbsyhksiq6r1by3";
|
||||
url = "https://github.com/acoustid/chromaprint/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "10kz8lncal4s2rp2rqpgc6xyjp0jzcrihgkx7chf127vfs5n067a";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ boost ffmpeg ];
|
||||
|
||||
cmakeFlags = [ "-DBUILD_EXAMPLES=ON" ];
|
||||
cmakeFlags = [ "-DBUILD_EXAMPLES=ON" "-DBUILD_TOOLS=ON" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://acoustid.org/chromaprint;
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cimg";
|
||||
version = "2.7.0";
|
||||
version = "2.7.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://cimg.eu/files/CImg_${version}.zip";
|
||||
sha256 = "1la6332cppyciyn3pflbchxa3av72a70p0n1c9sm1hgfbjlydqnv";
|
||||
sha256 = "1xhs0j7mfiln9apfcc9cd3cmjj1prm211vih2zn2qi87ialv36cg";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, fftw, fftwFloat, boost166, opencl-clhpp, ocl-icd }:
|
||||
|
||||
let
|
||||
version = "2.12.2";
|
||||
in stdenv.mkDerivation {
|
||||
pname = "clfft";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "clMathLibraries";
|
||||
repo = "clFFT";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "134vb6214hn00qy84m4djg4hqs6hw19gkp8d0wlq8gb9m3mfx7na";
|
||||
};
|
||||
|
||||
sourceRoot = "source/src";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ fftw fftwFloat boost166 opencl-clhpp ocl-icd ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Library containing FFT functions written in OpenCL";
|
||||
longDescription = ''
|
||||
clFFT is a software library containing FFT functions written in OpenCL.
|
||||
In addition to GPU devices, the library also supports running on CPU devices to facilitate debugging and heterogeneous programming.
|
||||
'';
|
||||
license = licenses.asl20;
|
||||
homepage = "http://clmathlibraries.github.io/clFFT/";
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ chessai ];
|
||||
inherit version;
|
||||
};
|
||||
}
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cpp-utilities";
|
||||
version = "4.17.1";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Martchus";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "12088cwg3jbqipmbn4843w1cgxi1q6vwx47gy042rkfvbk6azhxl";
|
||||
sha256 = "11wm7z4ldsja2x2m2dkj3xhiammkwfqgbgkwq9gssnv14803fhnv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, cmake, sqlite, mysql, postgresql, unixODBC }:
|
||||
{ stdenv, fetchurl, cmake, sqlite, libmysqlclient, postgresql, unixODBC }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cppdb";
|
||||
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [ cmake sqlite mysql.connector-c postgresql unixODBC ];
|
||||
buildInputs = [ cmake sqlite libmysqlclient postgresql unixODBC ];
|
||||
|
||||
cmakeFlags = [ "--no-warn-unused-cli" ];
|
||||
NIX_CFLAGS_COMPILE = [ "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ];
|
||||
NIX_CFLAGS_COMPILE = [ "-I${libmysqlclient}/include/mysql" "-L${libmysqlclient}/lib/mysql" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://cppcms.com/sql/cppdb/;
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
{ stdenv, fetchFromGitHub, boxfort, cmake, libcsptr, pkg-config, gettext
|
||||
, dyncall , nanomsg, python37Packages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.3.3";
|
||||
pname = "criterion";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Snaipe";
|
||||
repo = "Criterion";
|
||||
rev = "v${version}";
|
||||
sha256 = "0y1ay8is54k3y82vagdy0jsa3nfkczpvnqfcjm5n9iarayaxaq8p";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
boxfort.dev
|
||||
dyncall
|
||||
gettext
|
||||
libcsptr
|
||||
nanomsg
|
||||
];
|
||||
|
||||
checkInputs = with python37Packages; [ cram ];
|
||||
|
||||
cmakeFlags = [ "-DCTESTS=ON" ];
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
|
||||
'';
|
||||
checkTarget = "criterion_tests test";
|
||||
|
||||
outputs = [ "dev" "out" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A cross-platform C and C++ unit testing framework for the 21th century";
|
||||
homepage = "https://github.com/Snaipe/Criterion";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
thesola10
|
||||
Yumasi
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
diff --git a/GNUmakefile b/GNUmakefile
|
||||
index 4de9d10..ff4789a 100755
|
||||
--- a/GNUmakefile
|
||||
+++ b/GNUmakefile
|
||||
@@ -271,8 +271,8 @@ endif # OpenMP
|
||||
endif # IS_LINUX
|
||||
|
||||
ifneq ($(IS_DARWIN),0)
|
||||
-AR = libtool
|
||||
-ARFLAGS = -static -o
|
||||
+AR = ar
|
||||
+ARFLAGS = cru
|
||||
CXX ?= c++
|
||||
ifeq ($(IS_GCC_29),1)
|
||||
CXXFLAGS += -fno-coalesce-templates -fno-coalesce-static-vtables
|
||||
@@ -1,49 +1,47 @@
|
||||
{ fetchFromGitHub, stdenv }:
|
||||
{ stdenv, fetchFromGitHub, nasm, which }:
|
||||
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "crypto++";
|
||||
majorVersion = "5.6";
|
||||
version = "${majorVersion}.5";
|
||||
version = "8.2.0";
|
||||
underscoredVersion = strings.replaceStrings ["."] ["_"] version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "weidai11";
|
||||
repo = "cryptopp";
|
||||
rev = "CRYPTOPP_5_6_5";
|
||||
sha256 = "1yk7jyf4va9425cg05llskpls2jm7n3jwy2hj5jm74zkr4mwpvl7";
|
||||
rev = "CRYPTOPP_${underscoredVersion}";
|
||||
sha256 = "01zrrzjn14yhkb9fzzl57vmh7ig9a6n6fka45f8za0gf7jpcq3mj";
|
||||
};
|
||||
|
||||
patches = stdenv.lib.concatLists [
|
||||
(stdenv.lib.optional (stdenv.hostPlatform.system != "i686-cygwin") ./dll.patch)
|
||||
(stdenv.lib.optional stdenv.hostPlatform.isDarwin ./GNUmakefile-darwin.patch)
|
||||
];
|
||||
|
||||
|
||||
configurePhase = ''
|
||||
sed -i GNUmakefile \
|
||||
-e 's|-march=native|-fPIC|g' \
|
||||
-e '/^CXXFLAGS =/s|-g ||'
|
||||
postPatch = ''
|
||||
substituteInPlace GNUmakefile \
|
||||
--replace "AR = libtool" "AR = ar" \
|
||||
--replace "ARFLAGS = -static -o" "ARFLAGS = -cru"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = optionals stdenv.hostPlatform.isx86 [ nasm which ];
|
||||
|
||||
preBuild = optionalString stdenv.hostPlatform.isx86 "${stdenv.shell} rdrand-nasm.sh";
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
buildFlags = [ "shared" "libcryptopp.pc" ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
buildFlags = [ "libcryptopp.so" ];
|
||||
installFlags = [ "LDCONF=true" ];
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = "LD_LIBRARY_PATH=`pwd` make test";
|
||||
|
||||
# prefer -fPIC and .so to .a; cryptotest.exe seems superfluous
|
||||
postInstall = ''
|
||||
rm "$out"/lib/*.a -r "$out/bin"
|
||||
ln -sf "$out"/lib/libcryptopp.so.${version} "$out"/lib/libcryptopp.so.${majorVersion}
|
||||
preInstall = "rm libcryptopp.a"; # built for checks but we don't install static lib into the nix store
|
||||
installTargets = "install-lib";
|
||||
installFlags = [ "LDCONF=true" ];
|
||||
postInstall = optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||
ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${versions.majorMinor version}
|
||||
ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${versions.major version}
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = {
|
||||
description = "Crypto++, a free C++ class library of cryptographic schemes";
|
||||
homepage = http://cryptopp.com/;
|
||||
license = licenses.boost;
|
||||
homepage = "https://cryptopp.com/";
|
||||
changelog = "https://raw.githubusercontent.com/weidai11/cryptopp/CRYPTOPP_${underscoredVersion}/History.txt";
|
||||
license = with licenses; [ boost publicDomain ];
|
||||
platforms = platforms.all;
|
||||
maintainers = [ ];
|
||||
maintainers = with maintainers; [ c0bw3b ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
Get rid of Windows-specific stuff.
|
||||
|
||||
diff --git a/GNUmakefile b/GNUmakefile
|
||||
index 4de9d10..ff4789a 100755
|
||||
--- a/GNUmakefile
|
||||
+++ b/GNUmakefile
|
||||
@@ -656,7 +656,7 @@ nolib: $(OBJS)
|
||||
dll: cryptest.import.exe dlltest.exe
|
||||
|
||||
cryptopp.dll: $(DLLOBJS)
|
||||
- $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a
|
||||
+ $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS)
|
||||
|
||||
libcryptopp.import.a: $(LIBIMPORTOBJS)
|
||||
$(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS)
|
||||
diff --git a/dll.cpp b/dll.cpp
|
||||
index 72dade9..b5097ab 100644
|
||||
--- a/dll.cpp
|
||||
+++ b/dll.cpp
|
||||
@@ -48,7 +48,7 @@ NAMESPACE_END
|
||||
|
||||
#endif
|
||||
|
||||
-#ifdef CRYPTOPP_EXPORTS
|
||||
+#if defined CRYPTOPP_EXPORTS && defined _MSC_VER
|
||||
|
||||
USING_NAMESPACE(CryptoPP)
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cutelyst";
|
||||
version = "2.8.0";
|
||||
version = "2.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cutelyst";
|
||||
repo = "cutelyst";
|
||||
rev = "v${version}";
|
||||
sha256 = "02jys32qkyksa2dmanyg4x0y5lh4ra0xbn2mfr2k84slrxbgjs1g";
|
||||
sha256 = "13h2sj131s31qdzdwa3hx7ildmvlk8mv9s0j99kvx1ijaq49z79f";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
|
||||
|
||||
@@ -1,30 +1,32 @@
|
||||
{ stdenv, fetchFromGitLab
|
||||
, meson, ninja, nasm, pkgconfig
|
||||
, withTools ? false, SDL2
|
||||
, withTools ? false # "dav1d" binary
|
||||
, withExamples ? false, SDL2 # "dav1dplay" binary
|
||||
, useVulkan ? false, libplacebo, vulkan-loader, vulkan-headers
|
||||
}:
|
||||
|
||||
assert useVulkan -> withTools;
|
||||
assert useVulkan -> withExamples;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dav1d";
|
||||
version = "0.4.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "code.videolan.org";
|
||||
owner = "videolan";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1fbalfzw8j00vwbrh9h8kjdx6h99dr10vmvbpg3rhsspmxq9h66h";
|
||||
sha256 = "08cgccp7xvwn24w9iab4fzi18x3m6xyvvnz36qf7clcz0aqbfb9w";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja nasm pkgconfig ];
|
||||
# TODO: doxygen (currently only HTML and not build by default).
|
||||
buildInputs = stdenv.lib.optional withTools SDL2
|
||||
buildInputs = stdenv.lib.optional withExamples SDL2
|
||||
++ stdenv.lib.optionals useVulkan [ libplacebo vulkan-loader vulkan-headers ];
|
||||
|
||||
mesonFlags= [
|
||||
"-Denable_tools=${stdenv.lib.boolToString withTools}"
|
||||
"-Denable_examples=${stdenv.lib.boolToString withExamples}"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
, fetchurl
|
||||
, pkgconfig
|
||||
, expat
|
||||
, enableSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isMusl
|
||||
, systemd
|
||||
, libX11 ? null
|
||||
, libICE ? null
|
||||
@@ -15,6 +16,8 @@ assert
|
||||
x11Support ->
|
||||
libX11 != null && libICE != null && libSM != null;
|
||||
|
||||
assert enableSystemd -> systemd != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dbus";
|
||||
version = "1.12.16";
|
||||
@@ -50,16 +53,18 @@ stdenv.mkDerivation rec {
|
||||
expat
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals x11Support [
|
||||
libX11
|
||||
libICE
|
||||
libSM
|
||||
] ++ lib.optional stdenv.isLinux systemd;
|
||||
buildInputs =
|
||||
lib.optionals x11Support [
|
||||
libX11
|
||||
libICE
|
||||
libSM
|
||||
] ++ lib.optional enableSystemd systemd;
|
||||
# ToDo: optional selinux?
|
||||
|
||||
configureFlags = [
|
||||
"--enable-user-session"
|
||||
"--libexecdir=${placeholder ''out''}/libexec"
|
||||
"--datadir=/etc"
|
||||
"--localstatedir=/var"
|
||||
"--runstatedir=/run"
|
||||
"--sysconfdir=/etc"
|
||||
@@ -100,6 +105,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Simple interprocess messaging system";
|
||||
homepage = http://www.freedesktop.org/wiki/Software/dbus/;
|
||||
license = licenses.gpl2Plus; # most is also under AFL-2.1
|
||||
maintainers = with maintainers; [ worldofpeace ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{ stdenv
|
||||
, fetchgit
|
||||
, fetchpatch
|
||||
, pkgconfig
|
||||
, glib
|
||||
, icu
|
||||
, gobject-introspection
|
||||
, dbus-glib
|
||||
, vala_0_40
|
||||
, vala
|
||||
, python3
|
||||
, autoreconfHook
|
||||
}:
|
||||
@@ -18,20 +19,26 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.launchpad.net/ubuntu/+source/dee";
|
||||
rev = "import/1.2.7+17.10.20170616-4ubuntu1";
|
||||
sha256 = "0q3d9d6ahcyibp6x23g1wvjfcppjh9v614s328yjmx47216z7394";
|
||||
rev = "import/1.2.7+17.10.20170616-4ubuntu3";
|
||||
sha256 = "09blrdj7229vscp4mkg0fabmcvc6jdpamvblrq86rbky7j2nnwlk";
|
||||
};
|
||||
|
||||
patches = [
|
||||
"${src}/debian/patches/gtkdocize.patch"
|
||||
"${src}/debian/patches/strict-prototype.patch"
|
||||
"${src}/debian/patches/icu-pkg-config.patch"
|
||||
"${src}/debian/patches/vapi-skip-properties.patch"
|
||||
|
||||
# Fixes glib 2.62 deprecations
|
||||
(fetchpatch {
|
||||
name = "dee-1.2.7-deprecated-g_type_class_add_private.patch";
|
||||
url = "https://src.fedoraproject.org/rpms/dee/raw/1a9a4ce3377074fabfca653ffe0287cd73aef82f/f/dee-1.2.7-deprecated-g_type_class_add_private.patch";
|
||||
sha256 = "13nyprq7bb7lnzkcb7frcpzidbl836ycn5bvmwa2k0nhmj6ycbx5";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
# https://gitlab.gnome.org/GNOME/vala/issues/803
|
||||
vala_0_40
|
||||
vala
|
||||
autoreconfHook
|
||||
gobject-introspection
|
||||
python3
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dlib";
|
||||
version = "19.17";
|
||||
version = "19.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "davisking";
|
||||
repo = "dlib";
|
||||
rev ="v${version}";
|
||||
sha256 = "0g11ilma6cll3bd2ahm66j1sjb9v4rxz3xjbfkcg5pjsvb49n029";
|
||||
sha256 = "1kbrcf35pn2ymyr8q48ls98n2zb7rrz5207kwpisfh6k22g802ic";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,24 +1,36 @@
|
||||
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libuv, sqlite-replication }:
|
||||
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, file, libco-canonical
|
||||
, libuv, raft-canonical, sqlite-replication }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dqlite";
|
||||
version = "0.2.6";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CanonicalLtd";
|
||||
owner = "canonical";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "13l7na5858v2ah1vim6lafmzajgkymfi5rd6bk14cm4vcnxc40wb";
|
||||
sha256 = "0670c1c84lcf5vl3h6mlff00fz2fnm766bzlk526sjjzysx3zjya";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
nativeBuildInputs = [ autoreconfHook file pkgconfig ];
|
||||
buildInputs = [ libco-canonical.dev libuv raft-canonical.dev
|
||||
sqlite-replication ];
|
||||
|
||||
buildInputs = [ libuv sqlite-replication ];
|
||||
preConfigure= ''
|
||||
substituteInPlace configure --replace /usr/bin/ " "
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
outputs = [ "dev" "out" ];
|
||||
|
||||
meta = {
|
||||
description = "Expose a SQLite database over the network and replicate it across a cluster of peers";
|
||||
description = ''
|
||||
Expose a SQLite database over the network and replicate it across a
|
||||
cluster of peers
|
||||
'';
|
||||
homepage = https://github.com/CanonicalLtd/dqlite/;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ joko ];
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "drumstick";
|
||||
version = "1.1.2";
|
||||
version = "1.1.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/drumstick/${version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "0kljqyqj7s1i2z52i24x7ail1bywn6dcxxfbad5c59drm8wv94bp";
|
||||
sha256 = "1n9wvg79yvkygrkc8xd8pgrd3d7hqmr7gh24dccf0px23lla9b3m";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
||||
@@ -14,7 +14,7 @@ assert withFlint -> flint != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "eclib";
|
||||
version = "20190226"; # upgrade might break the sage interface
|
||||
version = "20190909"; # upgrade might break the sage interface
|
||||
# sage tests to run:
|
||||
# src/sage/interfaces/mwrank.py
|
||||
# src/sage/libs/eclib
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "JohnCremona";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1910np1xzyjzszay24xn4b81qhpsvhp5aix9vdpknplni2mq8kwb";
|
||||
sha256 = "0y1vdi4120gdw56gg2dn3wh625yr9wpyk3wpbsd25w4lv83qq5da";
|
||||
};
|
||||
buildInputs = [
|
||||
pari
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "expat-2.2.7";
|
||||
name = "expat-2.2.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/expat/${name}.tar.bz2";
|
||||
sha256 = "067cfhqwiswm4zynw7xaxl59mrrimaiyjhnn8byxma1i98pi1jfb";
|
||||
url = "https://github.com/libexpat/libexpat/releases/download/R_2_2_8/${name}.tar.xz";
|
||||
sha256 = "16vpj5mk3lps3x7fr8cs03rffx3ir4jilyqw0frayn6q94daijk1";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ]; # TODO: fix referrers
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, SDL2}:
|
||||
|
||||
#TODO: tests
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "faudio";
|
||||
version = "19.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FNA-XNA";
|
||||
repo = "FAudio";
|
||||
rev = version;
|
||||
sha256 = "0ckpr6ffz8ssfh1y850dhip5s5jv0j6n90qz5yx1v9d6gpwf08rp";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [cmake];
|
||||
|
||||
buildInputs = [ SDL2 ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "XAudio reimplementation focusing to develop a fully accurate DirectX audio library";
|
||||
homepage = "https://github.com/FNA-XNA/FAudio";
|
||||
license = licenses.zlib;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.marius851000 ];
|
||||
};
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
{stdenv, fetchurl, autoreconfHook, givaro_3_7, pkgconfig, openblas, gmpxx}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fflas-ffpack";
|
||||
version = "1.6.0";
|
||||
src = fetchurl {
|
||||
url = "http://linalg.org/fflas-ffpack-${version}.tar.gz";
|
||||
sha256 = "02fr675278c65hfiy1chb903j4ix9i8yni1xc2g5nmsjcaf9vra9";
|
||||
};
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
buildInputs = [ givaro_3_7 openblas gmpxx];
|
||||
configureFlags = [
|
||||
"--with-blas=-lopenblas"
|
||||
"--with-gmp=${gmpxx.dev}"
|
||||
"--with-givaro=${givaro_3_7}"
|
||||
];
|
||||
meta = {
|
||||
inherit version;
|
||||
description = ''Finite Field Linear Algebra Subroutines'';
|
||||
license = stdenv.lib.licenses.lgpl21Plus;
|
||||
maintainers = [stdenv.lib.maintainers.raskin];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
homepage = https://linbox-team.github.io/fflas-ffpack/;
|
||||
};
|
||||
}
|
||||
@@ -30,24 +30,25 @@ stdenv.mkDerivation rec {
|
||||
"--with-lapack-libs=-l${blas.linkName}"
|
||||
] ++ stdenv.lib.optionals stdenv.isx86_64 {
|
||||
# disable SIMD instructions (which are enabled *when available* by default)
|
||||
default = [ "--disable-sse3" "--disable-ssse3" "--disable-sse41" "--disable-sse42" "--disable-avx" "--disable-avx2" "--disable-fma" "--disable-fma4" ];
|
||||
westmere = [ "--disable-avx" "--disable-avx2" "--disable-fma" "--disable-fma4" ];
|
||||
sandybridge = [ "--disable-avx2" "--disable-fma" "--disable-fma4" ];
|
||||
ivybridge = [ "--disable-avx2" "--disable-fma" "--disable-fma4" ];
|
||||
haswell = [ "--disable-fma4" ];
|
||||
broadwell = [ "--disable-fma4" ];
|
||||
skylake = [ "--disable-fma4" ];
|
||||
skylake-avx512 = [ "--disable-fma4" ];
|
||||
# for now we need to be careful to disable *all* relevant versions of an instruction set explicitly (https://github.com/linbox-team/fflas-ffpack/issues/284)
|
||||
default = [ "--disable-sse3" "--disable-ssse3" "--disable-sse41" "--disable-sse42" "--disable-avx" "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
|
||||
westmere = [ "--disable-avx" "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
|
||||
sandybridge = [ "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
|
||||
ivybridge = [ "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
|
||||
haswell = [ "--disable-fma4" ];
|
||||
broadwell = [ "--disable-fma4" ];
|
||||
skylake = [ "--disable-fma4" ];
|
||||
skylake-avx512 = [ "--disable-fma4" ];
|
||||
}.${stdenv.hostPlatform.platform.gcc.arch or "default"};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
inherit version;
|
||||
description = ''Finite Field Linear Algebra Subroutines'';
|
||||
license = stdenv.lib.licenses.lgpl21Plus;
|
||||
maintainers = [stdenv.lib.maintainers.raskin];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ raskin timokau ];
|
||||
platforms = platforms.unix;
|
||||
homepage = https://linbox-team.github.io/fflas-ffpack/;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensing options (yes some are listed twice, filters and such are not listed)
|
||||
*/
|
||||
, gplLicensing ? true # GPL: fdkaac,openssl,frei0r,cdio,samba,utvideo,vidstab,x265,x265,xavs,avid,zvbi,x11grab
|
||||
, version3Licensing ? true # (L)GPL3: opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc
|
||||
, version3Licensing ? true # (L)GPL3: libvmaf,opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc
|
||||
, nonfreeLicensing ? false # NONFREE: openssl,fdkaac,blackmagic-design-desktop-video
|
||||
/*
|
||||
* Build options
|
||||
@@ -87,6 +87,7 @@
|
||||
, libv4l ? null # Video 4 Linux support
|
||||
, libva ? null # Vaapi hardware acceleration
|
||||
, libvdpau ? null # Vdpau hardware acceleration
|
||||
, libvmaf ? null # Netflix's VMAF (Video Multi-Method Assessment Fusion)
|
||||
, libvorbis ? null # Vorbis de/encoding, native encoder exists
|
||||
, libvpx ? null # VP8 & VP9 de/encoding
|
||||
, libwebp ? null # WebP encoder
|
||||
@@ -238,11 +239,11 @@ assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ffmpeg-full";
|
||||
version = "4.2";
|
||||
version = "4.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
|
||||
sha256 = "1mgcxm7sqkajx35px05szsmn9mawwm03cfpmk3br7bcp3a1i0gq2";
|
||||
sha256 = "1m5nkc61ihgcf0b2wabm0zyqa8sj3c0w8fi6kr879lb0kdzciiyf";
|
||||
};
|
||||
|
||||
patches = [ ./prefer-libdav1d-over-libaom.patch ];
|
||||
@@ -364,6 +365,7 @@ stdenv.mkDerivation rec {
|
||||
(enableFeature ((isLinux || isFreeBSD) && libva != null) "vaapi")
|
||||
(enableFeature (libvdpau != null) "vdpau")
|
||||
(enableFeature (libvorbis != null) "libvorbis")
|
||||
(enableFeature (!isAarch64 && libvmaf != null && version3Licensing) "libvmaf")
|
||||
(enableFeature (libvpx != null) "libvpx")
|
||||
(enableFeature (libwebp != null) "libwebp")
|
||||
(enableFeature (libX11 != null && libXv != null && libXext != null) "xlib")
|
||||
@@ -425,6 +427,7 @@ stdenv.mkDerivation rec {
|
||||
] ++ optional openglExtlib libGLU_combined
|
||||
++ optionals nonfreeLicensing [ fdk_aac openssl ]
|
||||
++ optional ((isLinux || isFreeBSD) && libva != null) libva
|
||||
++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf
|
||||
++ optionals isLinux [ alsaLib libraw1394 libv4l ]
|
||||
++ optional (isLinux && !isAarch64 && libmfx != null) libmfx
|
||||
++ optional nvenc nv-codec-headers
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
}@args:
|
||||
|
||||
callPackage ./generic.nix (args // rec {
|
||||
version = branch;
|
||||
version = "4.2.1";
|
||||
branch = "4.2";
|
||||
sha256 = "1f3glany3p2j832a9wia5vj8ds9xpm0xxlyia91y17hy85gxwsrh";
|
||||
sha256 = "090naa6rj46pzkgh03bf51hbqdz356qqckr2pw6pykc6ysiryak8";
|
||||
darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
|
||||
})
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, perl, texinfo, yasm
|
||||
{ stdenv, fetchurl, pkgconfig, addOpenGLRunpath, perl, texinfo, yasm
|
||||
, alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
|
||||
, libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr
|
||||
, x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
let
|
||||
inherit (stdenv) isDarwin isFreeBSD isLinux isAarch32;
|
||||
inherit (stdenv.lib) optional optionals enableFeature;
|
||||
inherit (stdenv.lib) optional optionals optionalString enableFeature;
|
||||
|
||||
cmpVer = builtins.compareVersions;
|
||||
reqMin = requiredVersion: (cmpVer requiredVersion branch != 1);
|
||||
@@ -157,7 +157,7 @@ stdenv.mkDerivation rec {
|
||||
"--enable-cross-compile"
|
||||
] ++ optional stdenv.cc.isClang "--cc=clang";
|
||||
|
||||
nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
|
||||
nativeBuildInputs = [ addOpenGLRunpath perl pkgconfig texinfo yasm ];
|
||||
|
||||
buildInputs = [
|
||||
bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
|
||||
@@ -186,6 +186,10 @@ stdenv.mkDerivation rec {
|
||||
substituteInPlace $pc \
|
||||
--replace "includedir=$out" "includedir=''${!outputInclude}"
|
||||
done
|
||||
'' + optionalString stdenv.isLinux ''
|
||||
# Set RUNPATH so that libnvcuvid in /run/opengl-driver(-32)/lib can be found.
|
||||
# See the explanation in addOpenGLRunpath.
|
||||
addOpenGLRunpath $out/lib/libavcodec.so*
|
||||
'';
|
||||
|
||||
installFlags = [ "install-man" ];
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ffmpegthumbnailer";
|
||||
version = "2.2.0";
|
||||
version = "2.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dirkvdb";
|
||||
repo = "ffmpegthumbnailer";
|
||||
rev = version;
|
||||
sha256 = "0kl8aa547icy9b05njps02a8sw4yn4f8fzs228kig247sn09s4cp";
|
||||
sha256 = "1bakbr714j7yxdal1f5iq0gcl4cxggbbgj227ihdh5kvygqlwich";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "flatcc";
|
||||
version = "0.5.3";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dvidelabs";
|
||||
repo = "flatcc";
|
||||
rev = "v${version}";
|
||||
sha256 = "06wnwvnkhw1rk0y3nncjmcyjy3bgpw8i9xqd5gpbhbrm38718cjk";
|
||||
sha256 = "0cy79swgdbaf3zmsaqa6gz3b0fad2yqawwcnsipnpl9d8hn1linm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, autoreconfHook, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43, docbook_xsl, which, libxml2
|
||||
, gobject-introspection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc, xdg-dbus-proxy, p11-kit
|
||||
, bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, gettext, hicolor-icon-theme, fuse
|
||||
, bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, gettext, hicolor-icon-theme, fuse, nixosTests
|
||||
, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, wrapGAppsHook, gnome3, gsettings-desktop-schemas, librsvg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -61,6 +61,7 @@ stdenv.mkDerivation rec {
|
||||
configureFlags = [
|
||||
"--with-system-bubblewrap=${bubblewrap}/bin/bwrap"
|
||||
"--with-system-dbus-proxy=${xdg-dbus-proxy}/bin/xdg-dbus-proxy"
|
||||
"--with-dbus-config-dir=${placeholder "out"}/share/dbus-1/system.d"
|
||||
"--localstatedir=/var"
|
||||
"--enable-installed-tests"
|
||||
];
|
||||
@@ -75,6 +76,12 @@ stdenv.mkDerivation rec {
|
||||
patchShebangs tests
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
installedTests = nixosTests.installed-tests.flatpak;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Linux application sandboxing and distribution framework";
|
||||
homepage = https://flatpak.org/;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, enableShared ? true }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "5.3.0";
|
||||
version = "6.0.0";
|
||||
pname = "fmt";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fmtlib";
|
||||
repo = "fmt";
|
||||
rev = version;
|
||||
sha256 = "1hl9s69a5ql5nckc0ifh2fzlgsgv1wsn6yhqkpnrhasqkhj0hgv4";
|
||||
sha256 = "0yfrw6by4h27k3psv9x1q7z2kdbz7pkwxidr494bpa6ppglij6ba";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
# preCheckHook ensures the test binaries can find libfmt.so.5
|
||||
# preCheckHook ensures the test binaries can find libfmt.so
|
||||
preCheck = if enableShared
|
||||
then "export LD_LIBRARY_PATH=\"$PWD\""
|
||||
else "";
|
||||
|
||||
@@ -30,13 +30,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "folks";
|
||||
version = "0.12.1";
|
||||
version = "0.13.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0xfl6rnzhdbmw1q26xiq34cdiy7a9karpi2r7wyplnnz1zaz5a9w";
|
||||
sha256 = "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x";
|
||||
};
|
||||
|
||||
mesonFlags = [
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "folly";
|
||||
version = "2019.08.05.00";
|
||||
version = "2019.10.21.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "folly";
|
||||
rev = "v${version}";
|
||||
sha256 = "03arl9hg06rzbyaf3fzyk7q8d5mfbzfwmhqnfnvqcgzlqdj0gaa5";
|
||||
sha256 = "1jy0yxqzcxxs6sq8161zbdzj4ngwjs0h2aca6n9qkaj1v5jd27c7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
let version = "2016-04-23"; in
|
||||
stdenv.mkDerivation {
|
||||
pname = "fontconfig-ultimate";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "1rd2n60l8bamx84q3l91pd9a0wz9h7p6ajvx1dw22qn8rah4h498";
|
||||
rev = version;
|
||||
repo = "fontconfig-ultimate";
|
||||
owner = "bohoomil";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/etc/fonts/conf.d
|
||||
cp conf.d.infinality/*.conf $out/etc/fonts/conf.d
|
||||
|
||||
# Base rendering settings will be determined by NixOS module
|
||||
rm $out/etc/fonts/conf.d/10-base-rendering.conf
|
||||
|
||||
# Options controlled by NixOS module
|
||||
rm $out/etc/fonts/conf.d/35-repl-custom.conf
|
||||
rm $out/etc/fonts/conf.d/38-repl-*.conf
|
||||
rm $out/etc/fonts/conf.d/82-*.conf
|
||||
rm $out/etc/fonts/conf.d/83-*.conf
|
||||
|
||||
# Inclusion of local and user configs handled by global configuration
|
||||
rm $out/etc/fonts/conf.d/29-local.conf
|
||||
rm $out/etc/fonts/conf.d/28-user.conf
|
||||
|
||||
cp fontconfig_patches/fonts-settings/*.conf $out/etc/fonts/conf.d
|
||||
|
||||
# fix font priority issue https://github.com/bohoomil/fontconfig-ultimate/issues/173
|
||||
mv $out/etc/fonts/conf.d/{43,60}-wqy-zenhei-sharp.conf
|
||||
|
||||
mkdir -p $out/etc/fonts/presets/{combi,free,ms}
|
||||
cp fontconfig_patches/combi/*.conf $out/etc/fonts/presets/combi
|
||||
cp fontconfig_patches/free/*.conf $out/etc/fonts/presets/free
|
||||
cp fontconfig_patches/ms/*.conf $out/etc/fonts/presets/ms
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Font configuration files, patches, scripts and source packages (Infinality & friends)";
|
||||
homepage = https://github.com/bohoomil/fontconfig-ultimate;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig
|
||||
, arrayfire, expat, fontconfig, freeimage, freetype, boost
|
||||
, mesa, libGLU_combined, glfw3, SDL2, cudatoolkit
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "forge";
|
||||
version = "1.0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "arrayfire";
|
||||
repo = "forge";
|
||||
rev = "v${version}";
|
||||
sha256 = "00pmky6kccd7pwi8sma79qpmzr2f9pbn6gym3gyqm64yckw6m484";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkgconfig
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
expat
|
||||
fontconfig
|
||||
freetype
|
||||
boost.out
|
||||
boost.dev
|
||||
freeimage
|
||||
mesa
|
||||
libGLU_combined
|
||||
glfw3
|
||||
SDL2
|
||||
cudatoolkit
|
||||
arrayfire
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend";
|
||||
longDescription = ''
|
||||
An OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend.
|
||||
The goal of Forge is to provide high performance OpenGL visualizations for C/C++ applications that use CUDA/OpenCL.
|
||||
Forge uses OpenGL >=3.3 forward compatible contexts, so please make sure you have capable hardware before trying it out.
|
||||
'';
|
||||
license = licenses.bsd3;
|
||||
homepage = "https://arrayfire.com/";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ chessai ];
|
||||
};
|
||||
|
||||
}
|
||||
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
|
||||
description = ''Lattice algorithms using floating-point arithmetic'';
|
||||
license = stdenv.lib.licenses.lgpl21Plus;
|
||||
maintainers = [stdenv.lib.maintainers.raskin];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,23 +10,16 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fribidi";
|
||||
version = "1.0.5";
|
||||
version = "1.0.7";
|
||||
|
||||
outputs = [ "out" "devdoc" ];
|
||||
|
||||
# NOTE: 2018-06-06 v1.0.5: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
|
||||
# NOTE: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
|
||||
src = fetchurl {
|
||||
url = "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a";
|
||||
sha256 = "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/fribidi/fribidi/pull/88.patch";
|
||||
sha256 = "1n4l6333vhbxfckwg101flmvq6bbygg66fjp69ddcjqaqb6gh9k9";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs test
|
||||
'';
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fstrm";
|
||||
version = "0.5.0";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "farsightsec";
|
||||
repo = "fstrm";
|
||||
rev = "v${version}";
|
||||
sha256 = "1vm880h6vpnxqh7v0x17yfim6f2fbxwkm03ms58s2h9akmph9xm5";
|
||||
sha256 = "0b6x9wgyn92vykkmd3ynhnpbdl77zb4wf4rm7p0h8p9pwq953hdm";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "out" "dev" ];
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, libyaml
|
||||
, swig
|
||||
, pkgconfig
|
||||
, wafHook
|
||||
, makeWrapper
|
||||
, qt4
|
||||
, pythonPackages
|
||||
, pythonSupport ? false
|
||||
# Default to false since it breaks the build, see https://github.com/MTG/gaia/issues/11
|
||||
, stlfacadeSupport ? false
|
||||
, assertsSupport ? true
|
||||
, cyclopsSupport ? true
|
||||
}:
|
||||
|
||||
assert pythonSupport -> pythonPackages != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gaia";
|
||||
version = "2.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MTG";
|
||||
repo = "gaia";
|
||||
rev = "v${version}";
|
||||
sha256 = "12jxb354s2dblr2ghnl3w05m23jgzvrrgywfj8jaa32j3gw48fv2";
|
||||
};
|
||||
|
||||
# Fix installation error when waf tries to put files in /etc/
|
||||
prePatch = ''
|
||||
'' + lib.optionalString cyclopsSupport ''
|
||||
substituteInPlace src/wscript \
|
||||
--replace "/etc/cyclops" "$out/etc/cyclops" \
|
||||
--replace "/etc/init.d" "$out/etc/init.d"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
wafHook
|
||||
pkgconfig
|
||||
swig
|
||||
]
|
||||
# The gaiafusion binary inside $out/bin needs a shebangs patch, and
|
||||
# wrapping with the appropriate $PYTHONPATH
|
||||
++ lib.optionals (pythonSupport) [
|
||||
pythonPackages.wrapPython
|
||||
]
|
||||
;
|
||||
|
||||
buildInputs = [
|
||||
libyaml
|
||||
qt4
|
||||
];
|
||||
|
||||
propagatedBuildInputs = []
|
||||
++ lib.optionals (pythonSupport) [
|
||||
# This is not exactly specified in upstream's README but it's needed by the
|
||||
# resulting $out/bin/gaiafusion script
|
||||
pythonPackages.pyyaml
|
||||
]
|
||||
;
|
||||
|
||||
wafConfigureFlags = []
|
||||
++ lib.optionals (pythonSupport) [ "--with-python-bindings" ]
|
||||
++ lib.optionals (stlfacadeSupport) [ "--with-stlfacade" ]
|
||||
++ lib.optionals (assertsSupport) [ "--with-asserts" ]
|
||||
++ lib.optionals (cyclopsSupport) [ "--with-cyclops" ]
|
||||
;
|
||||
|
||||
postFixup = ''
|
||||
''
|
||||
+ lib.optionalString pythonSupport ''
|
||||
wrapPythonPrograms
|
||||
''
|
||||
;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/MTG/gaia";
|
||||
description = "General library to work with points in a semimetric space";
|
||||
maintainers = with maintainers; [ doronbehar ];
|
||||
platforms = platforms.all;
|
||||
license = licenses.agpl3;
|
||||
};
|
||||
}
|
||||
@@ -1,38 +1,83 @@
|
||||
{ stdenv, fetchurl, gettext, gobject-introspection, pkgconfig
|
||||
, meson, ninja, glibcLocales, git, vala, glib, zlib, gnome3
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, gettext
|
||||
, gobject-introspection
|
||||
, gtk-doc
|
||||
, docbook_xsl
|
||||
, docbook_xml_dtd_43
|
||||
, pkgconfig
|
||||
, meson
|
||||
, ninja
|
||||
, git
|
||||
, vala
|
||||
, glib
|
||||
, zlib
|
||||
, gnome3
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gcab";
|
||||
version = "1.2";
|
||||
version = "1.3";
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
outputs = [ "bin" "out" "dev" "devdoc" "installedTests" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "038h5kk41si2hc9d9169rrlvp8xgsxq27kri7hv2vr39gvz9cbas";
|
||||
sha256 = "1rv81b37d5ya7xpfdxrfk173jjcwabxyng7vafgwyl5myv44qc0h";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja glibcLocales git pkgconfig vala gettext gobject-introspection ];
|
||||
patches = [
|
||||
# allow installing installed tests to a separate output
|
||||
./installed-tests-path.patch
|
||||
];
|
||||
|
||||
buildInputs = [ glib zlib ];
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
git
|
||||
pkgconfig
|
||||
vala
|
||||
gettext
|
||||
gobject-introspection
|
||||
gtk-doc
|
||||
docbook_xsl
|
||||
docbook_xml_dtd_43
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
zlib
|
||||
];
|
||||
|
||||
# required by libgcab-1.0.pc
|
||||
propagatedBuildInputs = [
|
||||
glib
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddocs=false"
|
||||
"-Dtests=false"
|
||||
"-Dinstalled_tests=true"
|
||||
"-Dinstalled_test_prefix=${placeholder ''installedTests''}"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome3.updateScript {
|
||||
packageName = pname;
|
||||
versionPolicy = "none";
|
||||
};
|
||||
|
||||
tests = {
|
||||
installedTests = nixosTests.installed-tests.gcab;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GObject library to create cabinet files";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/gcab";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = gnome3.maintainers;
|
||||
platforms = platforms.linux;
|
||||
license = licenses.lgpl21;
|
||||
homepage = "https://wiki.gnome.org/msitools";
|
||||
maintainers = [ maintainers.lethalman ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index c1b1da1..9b76022 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -4,3 +4,4 @@
|
||||
option('vapi', type : 'boolean', value : true, description: 'generate Vala bindings (requires introspection)')
|
||||
option('tests', type : 'boolean', value : true, description : 'enable tests')
|
||||
option('installed_tests', type : 'boolean', value : false, description : 'install tests for "as-installed" testing')
|
||||
+option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
||||
index 1e46e2a..aa780d0 100644
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -1,5 +1,5 @@
|
||||
-installed_tests_metadir = join_paths(get_option('datadir'), 'installed-tests', 'libgcab-1.0')
|
||||
-installed_tests_execdir = join_paths(get_option('libexecdir'), 'installed-tests', 'libgcab-1.0')
|
||||
+installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', 'libgcab-1.0')
|
||||
+installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', 'libgcab-1.0')
|
||||
installed_tests_enabled = get_option('installed_tests')
|
||||
installed_tests_template_tap = files('template-tap.test.in')
|
||||
abs_installed_tests_execdir = join_paths(get_option('prefix'), installed_tests_execdir)
|
||||
@@ -1,15 +1,15 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11-kit, glib
|
||||
{ stdenv, fetchurl, pkgconfig, gettext, gnupg, p11-kit, glib
|
||||
, libgcrypt, libtasn1, dbus-glib, gtk3, pango, gdk-pixbuf, atk
|
||||
, gobject-introspection, makeWrapper, libxslt, vala, gnome3
|
||||
, python2 }:
|
||||
, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gcr";
|
||||
version = "3.28.1";
|
||||
version = "3.33.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m";
|
||||
sha256 = "1hf06p4qfyywnb6334ysnr6aqxik3srb37glclvr4yhb3wzrjqnm";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
@@ -22,17 +22,13 @@ stdenv.mkDerivation rec {
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool gobject-introspection libxslt makeWrapper vala ];
|
||||
nativeBuildInputs = [ pkgconfig gettext gobject-introspection libxslt makeWrapper vala ];
|
||||
|
||||
buildInputs = let
|
||||
gpg = gnupg.override { guiSupport = false; }; # prevent build cycle with pinentry_gnome
|
||||
in [
|
||||
gpg libgcrypt libtasn1 dbus-glib pango gdk-pixbuf atk
|
||||
];
|
||||
buildInputs = [ gnupg libgcrypt libtasn1 dbus-glib pango gdk-pixbuf atk ];
|
||||
|
||||
propagatedBuildInputs = [ glib gtk3 p11-kit ];
|
||||
|
||||
checkInputs = [ python2 ];
|
||||
checkInputs = [ python3 ];
|
||||
doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
|
||||
|
||||
#enableParallelBuilding = true; issues on hydra
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, fetchpatch, unzip, libjpeg, libtiff, zlib
|
||||
, postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
|
||||
, postgresql, libmysqlclient, libgeotiff, pythonPackages, proj, geos, openssl
|
||||
, libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
|
||||
, libiconv, libxml2
|
||||
, netcdfSupport ? true, netcdf, hdf5, curl
|
||||
@@ -16,6 +16,15 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "09qgy36z0jc9w05373m4n0vm4j54almdzql6z9p9zr9pdp61syf3";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2019-17545.patch";
|
||||
url = "https://github.com/OSGeo/gdal/commit/8cd2d2eb6327cf782a74dae263ffa6f89f46c93d.patch";
|
||||
stripLen = 1;
|
||||
sha256 = "06h88a659jcqf6ps1m91qy78s6s9krbkwnz28f5qh7032vlp6qpw";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ unzip libjpeg libtiff libgeotiff libpng proj openssl sqlite
|
||||
libspatialite poppler hdf4 qhull giflib expat libxml2 proj ]
|
||||
++ (with pythonPackages; [ python numpy wrapPython ])
|
||||
@@ -30,7 +39,7 @@ stdenv.mkDerivation rec {
|
||||
"--with-poppler=${poppler.dev}" # optional
|
||||
"--with-libz=${zlib.dev}" # optional
|
||||
"--with-pg=${postgresql}/bin/pg_config"
|
||||
"--with-mysql=${mysql.connector-c or mysql}/bin/mysql_config"
|
||||
"--with-mysql=${libmysqlclient}/bin/mysql_config"
|
||||
"--with-geotiff=${libgeotiff.dev}"
|
||||
"--with-sqlite3=${sqlite.dev}"
|
||||
"--with-spatialite=${libspatialite}"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, unzip, libjpeg, libtiff, zlib
|
||||
, postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
|
||||
, postgresql, libmysqlclient, libgeotiff, pythonPackages, proj, geos, openssl
|
||||
, libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
|
||||
, libiconv, libxml2, autoreconfHook
|
||||
, netcdfSupport ? true, netcdf, hdf5, curl
|
||||
@@ -20,7 +20,15 @@ stdenv.mkDerivation rec {
|
||||
|
||||
sourceRoot = "source/gdal";
|
||||
|
||||
patches = [ ./001.3_0_1.darwin.patch ];
|
||||
patches = [
|
||||
./001.3_0_1.darwin.patch
|
||||
(fetchpatch {
|
||||
name = "CVE-2019-17545.patch";
|
||||
url = "https://github.com/OSGeo/gdal/commit/148115fcc40f1651a5d15fa34c9a8c528e7147bb.patch";
|
||||
stripLen = 1;
|
||||
sha256 = "0hai59hhvrci9xwjw4lp3wc1brn00imngmqrbbs8v9yr3b0fzbgs";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
@@ -38,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||
"--with-poppler=${poppler.dev}" # optional
|
||||
"--with-libz=${zlib.dev}" # optional
|
||||
"--with-pg=${postgresql}/bin/pg_config"
|
||||
"--with-mysql=${mysql.connector-c or mysql}/bin/mysql_config"
|
||||
"--with-mysql=${libmysqlclient}/bin/mysql_config"
|
||||
"--with-geotiff=${libgeotiff}"
|
||||
"--with-sqlite3=${sqlite.dev}"
|
||||
"--with-spatialite=${libspatialite}"
|
||||
|
||||
@@ -37,5 +37,6 @@ in stdenv.mkDerivation {
|
||||
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, cmake, vtk, darwin }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.0.1";
|
||||
version = "3.0.4";
|
||||
pname = "gdcm";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gdcm/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1n206rr28f9ysd5yns6hc6vxwhwj1ck59p2j1wqyclm60zr84isq";
|
||||
sha256 = "0g46l7fjvn37sg29m0nb7wlnnpnxmlm9ryp7vam26ni02l73paid";
|
||||
};
|
||||
|
||||
dontUseCmakeBuildDir = true;
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{ stdenv, fetchurl, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
|
||||
{ stdenv, fetchurl, nixosTests, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
|
||||
, docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
|
||||
, jasper, gobject-introspection, doCheck ? false, makeWrapper }:
|
||||
|
||||
let
|
||||
pname = "gdk-pixbuf";
|
||||
version = "2.38.1";
|
||||
version = "2.40.0";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "0fmbjgjcyym3qg46f64qgl7icdm4ii77flyc1mhk244rp8vgi7zi";
|
||||
sha256 = "1rnlx9yfw970maxi2x6niaxmih5la11q1ilr7gzshz2kk585k0hm";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -85,6 +85,10 @@ in stdenv.mkDerivation rec {
|
||||
packageName = pname;
|
||||
};
|
||||
|
||||
tests = {
|
||||
installedTests = nixosTests.installed-tests.gdk-pixbuf;
|
||||
};
|
||||
|
||||
# gdk_pixbuf_moduledir variable from gdk-pixbuf-2.0.pc
|
||||
moduleDir = "lib/gdk-pixbuf-2.0/2.10.0/loaders";
|
||||
};
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gdl";
|
||||
version = "3.28.0";
|
||||
version = "3.34.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gdl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1dipnzqpxl0yfwzl2lqdf6vb3174gb9f1d5jndkq8505q7n9ik2j";
|
||||
sha256 = "00ldva6wg6s4wlxmisiqzyz8ihsprra7sninx2rlqk6frpq312w5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
@@ -1,31 +1,123 @@
|
||||
{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
|
||||
, librsvg, pango, gtk, bzip2, json-glib, gettext, autoreconfHook, libraw
|
||||
, gexiv2, libwebp, libintl }:
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, pkgconfig
|
||||
, vala
|
||||
, gobject-introspection
|
||||
, gtk-doc
|
||||
, docbook_xsl
|
||||
, docbook_xml_dtd_43
|
||||
, glib
|
||||
, babl
|
||||
, libpng
|
||||
, cairo
|
||||
, libjpeg
|
||||
, librsvg
|
||||
, lensfun
|
||||
, libspiro
|
||||
, netsurf
|
||||
, pango
|
||||
, poly2tri-c
|
||||
, bzip2
|
||||
, json-glib
|
||||
, gettext
|
||||
, meson
|
||||
, ninja
|
||||
, libraw
|
||||
, gexiv2
|
||||
, libwebp
|
||||
, luajit
|
||||
, openexr
|
||||
, OpenCL
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gegl";
|
||||
version = "0.4.16";
|
||||
version = "0.4.18";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
outputBin = "dev";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "0njydcr6qdmfzh4fxx544681qxdpf7y6b2f47jcypn810dlxy4h1";
|
||||
url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0r6akqnrkvxizyhyi8sv40mxm7j4bcwjb6mqjpxy0zzbbfsdyin9";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
patches = [
|
||||
# Fix arch detection.
|
||||
# https://gitlab.gnome.org/GNOME/gegl/merge_requests/53
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gegl/commit/6bcf95fd0f32cf5e8b1ddbe17b14d9ad049bded8.patch";
|
||||
sha256 = "0aqdr3y5mr47wq44jnhp97188bvpjlf56zrlmn8aazdf07r2apma";
|
||||
})
|
||||
|
||||
doCheck = true;
|
||||
|
||||
buildInputs = [
|
||||
libpng cairo libjpeg librsvg pango gtk bzip2
|
||||
libraw libwebp gexiv2
|
||||
# Fix Darwin build.
|
||||
# https://gitlab.gnome.org/GNOME/gegl/merge_requests/54
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gegl/commit/2bc06bfedee4fb25f6a966c8235b75292e24e55f.patch";
|
||||
sha256 = "1psls61wsrdq5pzpvj22mrm46lpzrw3wkx6li7dv6fyb65wz2n4d";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ glib json-glib babl ]; # for gegl-4.0.pc
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
gettext
|
||||
meson
|
||||
ninja
|
||||
vala
|
||||
gobject-introspection
|
||||
gtk-doc
|
||||
docbook_xsl
|
||||
docbook_xml_dtd_43
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig gettext which autoreconfHook libintl ];
|
||||
buildInputs = [
|
||||
libpng
|
||||
cairo
|
||||
libjpeg
|
||||
librsvg
|
||||
lensfun
|
||||
libspiro
|
||||
netsurf.libnsgif
|
||||
pango
|
||||
poly2tri-c
|
||||
bzip2
|
||||
libraw
|
||||
libwebp
|
||||
gexiv2
|
||||
luajit
|
||||
openexr
|
||||
] ++ stdenv.lib.optional stdenv.isDarwin OpenCL;
|
||||
|
||||
# for gegl-4.0.pc
|
||||
propagatedBuildInputs = [
|
||||
glib
|
||||
json-glib
|
||||
babl
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddocs=true"
|
||||
"-Dmrg=disabled" # not sure what that is
|
||||
"-Dsdl2=disabled"
|
||||
"-Dpygobject=disabled"
|
||||
"-Dlibav=disabled"
|
||||
"-Dlibv4l=disabled"
|
||||
"-Dlibv4l2=disabled"
|
||||
"-Dumfpack=disabled"
|
||||
];
|
||||
|
||||
# TODO: Fix missing math symbols in gegl seamless clone.
|
||||
# It only appears when we use packaged poly2tri-c instead of vendored one.
|
||||
NIX_CFLAGS_COMPILE = [ "-lm" ];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x tests/opencl/opencl_test.sh tests/buffer/buffer-tests-run.sh
|
||||
patchShebangs tests/ff-load-save/tests_ff_load_save.sh tests/opencl/opencl_test.sh tests/buffer/buffer-tests-run.sh tools/xml_insert.sh
|
||||
'';
|
||||
|
||||
# tests fail to connect to the com.apple.fonts daemon in sandboxed mode
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Graph-based image processing framework";
|
||||
|
||||
@@ -7,14 +7,14 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geoclue";
|
||||
version = "2.5.3";
|
||||
version = "2.5.5";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1wbpi74dw3p7izxwd57irz2i1g55r7wzl5h2yf0ns0hgq2njdfsg";
|
||||
sha256 = "0a8wmf5v3x4035ixz9jypj7c6qknvs6gjv2zawa3msq1j75rf2r5";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
|
||||
"--sysconfdir=/etc"
|
||||
"-Dsysconfdir_install=${placeholder "out"}/etc"
|
||||
"-Ddbus-srv-user=geoclue"
|
||||
"-Ddbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d"
|
||||
] ++ optionals stdenv.isDarwin [
|
||||
"-D3g-source=false"
|
||||
"-Dcdma-source=false"
|
||||
|
||||
@@ -1,37 +1,45 @@
|
||||
# in geoipDatabase, you can insert a package defining ${geoipDatabase}/share/GeoIP
|
||||
# e.g. geolite-legacy
|
||||
{ stdenv, fetchFromGitHub, autoreconfHook
|
||||
, drvName ? "geoip", geoipDatabase ? "/var/lib/geoip-databases" }:
|
||||
, drvName ? "geoip"
|
||||
|
||||
let version = "1.6.12";
|
||||
dataDir = if (stdenv.lib.isDerivation geoipDatabase) then "${toString geoipDatabase}/share/GeoIP" else geoipDatabase;
|
||||
in stdenv.mkDerivation {
|
||||
name = "${drvName}-${version}";
|
||||
# in geoipDatabase, you can insert a package defining
|
||||
# "${geoipDatabase}/share/GeoIP" e.g. geolite-legacy
|
||||
, geoipDatabase ? "/var/lib/geoip-databases"
|
||||
}:
|
||||
|
||||
let
|
||||
dataDir = if stdenv.lib.isDerivation geoipDatabase
|
||||
then "${toString geoipDatabase}/share/GeoIP"
|
||||
else geoipDatabase;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = drvName;
|
||||
version = "1.6.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maxmind";
|
||||
repo = "geoip-api-c";
|
||||
rev = "v${version}";
|
||||
owner = "maxmind";
|
||||
repo = "geoip-api-c";
|
||||
rev = "v${version}";
|
||||
sha256 = "0ixyp3h51alnncr17hqp1p0rlqz9w69nlhm60rbzjjz3vjx52ajv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
# Cross compilation shenanigans
|
||||
configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"ac_cv_func_malloc_0_nonnull=yes"
|
||||
"ac_cv_func_realloc_0_nonnull=yes"
|
||||
];
|
||||
|
||||
# Fix up the default data directory
|
||||
postConfigure = ''
|
||||
find . -name Makefile.in -exec sed -i -r 's#^pkgdatadir\s*=.+$#pkgdatadir = ${dataDir}#' {} \;
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Geolocation API";
|
||||
maintainers = [ stdenv.lib.maintainers.raskin ];
|
||||
license = stdenv.lib.licenses.lgpl21;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
homepage = http://geolite.maxmind.com/;
|
||||
downloadPage = "http://geolite.maxmind.com/download/";
|
||||
meta = with stdenv.lib; {
|
||||
description = "An API for GeoIP/Geolocation databases";
|
||||
maintainers = with maintainers; [ thoughtpolice raskin ];
|
||||
license = licenses.lgpl21;
|
||||
platforms = platforms.unix;
|
||||
homepage = "http://maxmind.com";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, python }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "geos-3.7.2";
|
||||
name = "geos-3.7.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.osgeo.org/geos/${name}.tar.bz2";
|
||||
sha256 = "01vpkncvq1i1191agq03yg1h7d0igj10gv5z2mqk24nnwrdycri1";
|
||||
sha256 = "0znaby3fs3fy7af5njrnmjnfsa80ac97fvamlnjiywddw3j5l0q2";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -3,11 +3,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "getdns";
|
||||
version = "1.5.1";
|
||||
version = "1.5.2";
|
||||
versionRewrite = builtins.splitVersion version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://getdnsapi.net/releases/${pname}-1-5-1/${pname}-${version}.tar.gz";
|
||||
sha256 = "5686e61100599c309ce03535f9899a5a3d94a82cc08d10718e2cd73ad3dc28af";
|
||||
url = "https://getdnsapi.net/releases/${pname}-${builtins.concatStringsSep "-" versionRewrite}/${pname}-${version}.tar.gz";
|
||||
sha256 = "1h4l0sbkpiahpx2pd5lby10yi22mdxgx5xf1y80r77pa46iac9hq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ libtool m4 autoreconfHook automake file ];
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "giflib-5.1.4";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/giflib/giflib-5.1.4.tar.bz2;
|
||||
sha256 = "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz";
|
||||
};
|
||||
|
||||
buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
|
||||
meta = {
|
||||
description = "A library for reading and writing gif images";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
|
||||
branch = "5.1";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{ stdenv, fetchurl, fetchpatch, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "giflib-5.2.1";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/giflib/${name}.tar.gz";
|
||||
sha256 = "1gbrg03z1b6rlrvjyc6d41bc8j1bsr7rm8206gb1apscyii5bnii";
|
||||
};
|
||||
|
||||
patches = stdenv.lib.optional stdenv.hostPlatform.isDarwin
|
||||
(fetchpatch {
|
||||
# https://sourceforge.net/p/giflib/bugs/133/
|
||||
name = "darwin-soname.patch";
|
||||
url = "https://sourceforge.net/p/giflib/bugs/_discuss/thread/4e811ad29b/c323/attachment/Makefile.patch";
|
||||
sha256 = "12afkqnlkl3n1hywwgx8sqnhp3bz0c5qrwcv8j9hifw1lmfhv67r";
|
||||
extraPrefix = "./";
|
||||
});
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace 'PREFIX = /usr/local' 'PREFIX = ${builtins.placeholder "out"}'
|
||||
'';
|
||||
|
||||
buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
|
||||
|
||||
meta = {
|
||||
description = "A library for reading and writing gif images";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
|
||||
branch = "5.2";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
{ fetchurl
|
||||
, stdenv
|
||||
, pkgconfig
|
||||
, gnome3
|
||||
, gtk3
|
||||
, atk
|
||||
, gobject-introspection
|
||||
, spidermonkey_60
|
||||
, pango
|
||||
, readline
|
||||
, glib
|
||||
, libxml2
|
||||
, dbus
|
||||
, gdk-pixbuf
|
||||
, makeWrapper
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gjs";
|
||||
version = "1.58.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1xf68rbagkflb9yi3visfw8cbxqlzd717y8jakgw0y6whzm1dpxl";
|
||||
};
|
||||
|
||||
outputs = [ "out" "installedTests" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libxml2
|
||||
gobject-introspection
|
||||
glib
|
||||
pango
|
||||
readline
|
||||
dbus
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
spidermonkey_60
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-installed-tests"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
for f in installed-tests/*.test.in; do
|
||||
substituteInPlace "$f" --subst-var-by pkglibexecdir "$installedTests/libexec/gjs"
|
||||
done
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la
|
||||
|
||||
moveToOutput "share/installed-tests" "$installedTests"
|
||||
moveToOutput "libexec/gjs/installed-tests" "$installedTests"
|
||||
|
||||
wrapProgram "$installedTests/libexec/gjs/installed-tests/minijasmine" \
|
||||
--prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gtk3 atk pango.out gdk-pixbuf ]}:$installedTests/libexec/gjs/installed-tests"
|
||||
'';
|
||||
|
||||
separateDebugInfo = stdenv.isLinux;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome3.updateScript {
|
||||
packageName = "gjs";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "JavaScript bindings for GNOME";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Home.md";
|
||||
license = licenses.lgpl2Plus;
|
||||
maintainers = gnome3.maintainers;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -1,16 +1,17 @@
|
||||
{ stdenv, lib, fetchFromGitHub, cmake, libGL, libXrandr, libXinerama, libXcursor, libX11
|
||||
{ stdenv, lib, fetchFromGitHub, cmake
|
||||
, libGL, libXrandr, libXinerama, libXcursor, libX11, libXi, libXext
|
||||
, Cocoa, Kernel, fixDarwinDylibNames
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.2.1";
|
||||
version = "3.3";
|
||||
pname = "glfw";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "glfw";
|
||||
repo = "GLFW";
|
||||
rev = version;
|
||||
sha256 = "0gq6ad38b3azk0w2yy298yz2vmg2jmf9g0ydidqbmiswpk25ills";
|
||||
sha256 = "1f1hqpqffzg46z33ybs2c3akmkly7b3qmgp5byk50nvad6g2pm4p";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ libX11 libXrandr libXinerama libXcursor ]
|
||||
buildInputs = [ libX11 libXrandr libXinerama libXcursor libXi libXext ]
|
||||
++ lib.optionals stdenv.isDarwin [ Cocoa Kernel fixDarwinDylibNames ];
|
||||
|
||||
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
|
||||
@@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";
|
||||
homepage = https://www.glfw.org/;
|
||||
license = licenses.zlib;
|
||||
maintainers = with maintainers; [ marcweber ];
|
||||
maintainers = with maintainers; [ marcweber twey ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "glib-networking";
|
||||
version = "2.60.3";
|
||||
version = "2.62.1";
|
||||
|
||||
outputs = [ "out" "installedTests" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm";
|
||||
sha256 = "043imcynl3rwdz79wvpdfhkmqmgdhr34z0vac3x7jymdf5kswm9w";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
tests = {
|
||||
installedTests = nixosTests.glib-networking;
|
||||
installedTests = nixosTests.installed-tests.glib-networking;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, stdenv, fetchurl, gettext, meson, ninja, pkgconfig, perl, python3, glibcLocales
|
||||
{ config, stdenv, fetchurl, gettext, meson, ninja, pkgconfig, perl, python3
|
||||
, libiconv, zlib, libffi, pcre, libelf, gnome3, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45
|
||||
# use utillinuxMinimal to avoid circular dependency (utillinux, systemd, glib)
|
||||
, utillinuxMinimal ? null
|
||||
@@ -8,7 +8,7 @@
|
||||
, doCheck ? config.doCheckByDefault or false
|
||||
, coreutils, dbus, libxml2, tzdata
|
||||
, desktop-file-utils, shared-mime-info
|
||||
, darwin
|
||||
, darwin, fetchpatch
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
@@ -44,32 +44,53 @@ let
|
||||
done
|
||||
ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true
|
||||
'';
|
||||
|
||||
binPrograms = optional (!stdenv.isDarwin) "gapplication" ++ [ "gdbus" "gio" "gsettings" ];
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "glib";
|
||||
version = "2.60.7";
|
||||
version = "2.62.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0433m0na8nc4cf0gidf4gfzz8k5d3dsssmh541qkpzcsaspw04lb";
|
||||
sha256 = "1pzrw2x9r0kyghrvwdbx3nqn2wcrrxy962f5gbdacwh83m705n9x";
|
||||
};
|
||||
|
||||
patches = optional stdenv.isDarwin ./darwin-compilation.patch
|
||||
++ optional doCheck ./skip-timer-test.patch
|
||||
++ optionals stdenv.hostPlatform.isMusl [
|
||||
./quark_init_on_demand.patch
|
||||
./gobject_init_on_demand.patch
|
||||
] ++ [
|
||||
./schema-override-variable.patch
|
||||
# Require substituteInPlace in postPatch
|
||||
./fix-gio-launch-desktop-path.patch
|
||||
];
|
||||
patches = optionals stdenv.isDarwin [
|
||||
./darwin-compilation.patch
|
||||
] ++ optionals stdenv.hostPlatform.isMusl [
|
||||
./quark_init_on_demand.patch
|
||||
./gobject_init_on_demand.patch
|
||||
] ++ [
|
||||
./schema-override-variable.patch
|
||||
# Require substituteInPlace in postPatch
|
||||
./fix-gio-launch-desktop-path.patch
|
||||
|
||||
# GLib contains many binaries used for different purposes;
|
||||
# we will install them to different outputs:
|
||||
# 1. Tools for desktop environment ($bin)
|
||||
# * gapplication (non-darwin)
|
||||
# * gdbus
|
||||
# * gio
|
||||
# * gio-launch-desktop (symlink to $out)
|
||||
# * gsettings
|
||||
# 2. Development/build tools ($dev)
|
||||
# * gdbus-codegen
|
||||
# * gio-querymodules
|
||||
# * glib-compile-resources
|
||||
# * glib-compile-schemas
|
||||
# * glib-genmarshal
|
||||
# * glib-gettextize
|
||||
# * glib-mkenums
|
||||
# * gobject-query
|
||||
# * gresource
|
||||
# * gtester
|
||||
# * gtester-report
|
||||
# 3. Tools for desktop environment that cannot go to $bin due to $out depending on them ($out)
|
||||
# * gio-launch-desktop
|
||||
./split-dev-programs.patch
|
||||
] ++ optional doCheck ./skip-timer-test.patch;
|
||||
|
||||
outputs = [ "bin" "out" "dev" "devdoc" ];
|
||||
outputBin = "dev";
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
@@ -84,7 +105,7 @@ stdenv.mkDerivation rec {
|
||||
]);
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson ninja pkgconfig perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45 glibcLocales
|
||||
meson ninja pkgconfig perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ zlib libffi gettext libiconv ];
|
||||
@@ -94,10 +115,9 @@ stdenv.mkDerivation rec {
|
||||
# Instead we just copy them over from the native output.
|
||||
"-Dgtk_doc=${if stdenv.hostPlatform == stdenv.buildPlatform then "true" else "false"}"
|
||||
"-Dnls=enabled"
|
||||
"-Ddevbindir=${placeholder ''dev''}/bin"
|
||||
];
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-Wno-error=nonnull"
|
||||
# Default for release buildtype but passed manually because
|
||||
@@ -111,6 +131,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
chmod +x gio/tests/gengiotypefuncs.py
|
||||
patchShebangs gio/tests/gengiotypefuncs.py
|
||||
chmod +x docs/reference/gio/concat-files-helper.py
|
||||
patchShebangs docs/reference/gio/concat-files-helper.py
|
||||
patchShebangs glib/gen-unicode-tables.pl
|
||||
patchShebangs tests/gen-casefold-txt.py
|
||||
patchShebangs tests/gen-casemap-txt.py
|
||||
@@ -122,18 +144,6 @@ stdenv.mkDerivation rec {
|
||||
DETERMINISTIC_BUILD = 1;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $bin/bin
|
||||
for app in ${concatStringsSep " " binPrograms}; do
|
||||
mv "$dev/bin/$app" "$bin/bin"
|
||||
done
|
||||
|
||||
'' + optionalString (!stdenv.isDarwin) ''
|
||||
# Add gio-launch-desktop to $out so we can refer to it from $dev
|
||||
mkdir $out/bin
|
||||
mv "$dev/bin/gio-launch-desktop" "$out/bin/"
|
||||
ln -s "$out/bin/gio-launch-desktop" "$bin/bin/"
|
||||
|
||||
'' + ''
|
||||
moveToOutput "share/glib-2.0" "$dev"
|
||||
substituteInPlace "$dev/bin/gdbus-codegen" --replace "$out" "$dev"
|
||||
sed -i "$dev/bin/glib-gettextize" -e "s|^gettext_dir=.*|gettext_dir=$dev/share/glib-2.0/gettext|"
|
||||
@@ -141,6 +151,11 @@ stdenv.mkDerivation rec {
|
||||
# This file is *included* in gtk3 and would introduce runtime reference via __FILE__.
|
||||
sed '1i#line 1 "${pname}-${version}/include/glib-2.0/gobject/gobjectnotifyqueue.c"' \
|
||||
-i "$dev"/include/glib-2.0/gobject/gobjectnotifyqueue.c
|
||||
'' + optionalString (!stdenv.isDarwin) ''
|
||||
# Add gio-launch-desktop to $out so we can refer to it from $lib
|
||||
mkdir $out/bin
|
||||
mv "$bin/bin/gio-launch-desktop" "$out/bin/"
|
||||
ln -s "$out/bin/gio-launch-desktop" "$bin/bin/"
|
||||
'' + optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||
cp -r ${buildPackages.glib.devdoc} $devdoc
|
||||
'';
|
||||
@@ -173,6 +188,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
inherit doCheck;
|
||||
|
||||
separateDebugInfo = stdenv.isLinux;
|
||||
|
||||
passthru = rec {
|
||||
gioModuleDir = "lib/gio/modules";
|
||||
makeSchemaPath = dir: name: "${dir}/share/gsettings-schemas/${name}/glib-2.0/schemas";
|
||||
@@ -185,7 +202,7 @@ stdenv.mkDerivation rec {
|
||||
description = "C library of programming buildings blocks";
|
||||
homepage = https://www.gtk.org/;
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ lovek323 raskin ];
|
||||
maintainers = with maintainers; [ lovek323 raskin worldofpeace ];
|
||||
platforms = platforms.unix;
|
||||
|
||||
longDescription = ''
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build
|
||||
index 121e9e6bb..b76fa0188 100644
|
||||
--- a/gio/gdbus-2.0/codegen/meson.build
|
||||
+++ b/gio/gdbus-2.0/codegen/meson.build
|
||||
@@ -16,7 +16,7 @@ gdbus_codegen_conf.set('DATADIR', glib_datadir)
|
||||
# Install gdbus-codegen executable
|
||||
gdbus_codegen = configure_file(input : 'gdbus-codegen.in',
|
||||
output : 'gdbus-codegen',
|
||||
- install_dir : get_option('bindir'),
|
||||
+ install_dir : get_option('devbindir'),
|
||||
configuration : gdbus_codegen_conf
|
||||
)
|
||||
# Provide tools for others when we're a subproject and they use the Meson GNOME module
|
||||
diff --git a/gio/meson.build b/gio/meson.build
|
||||
index 9a9e621b3..12e1d146a 100644
|
||||
--- a/gio/meson.build
|
||||
+++ b/gio/meson.build
|
||||
@@ -830,14 +830,15 @@ pkg.generate(libgio,
|
||||
variables : ['datadir=' + join_paths('${prefix}', get_option('datadir')),
|
||||
'schemasdir=' + join_paths('${datadir}', schemas_subdir),
|
||||
'bindir=' + join_paths('${prefix}', get_option('bindir')),
|
||||
+ 'devbindir=' + get_option('devbindir'),
|
||||
'giomoduledir=' + giomodulesdir,
|
||||
'gio=' + join_paths('${bindir}', 'gio'),
|
||||
- 'gio_querymodules=' + join_paths('${bindir}', 'gio-querymodules'),
|
||||
- 'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
|
||||
- 'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
|
||||
+ 'gio_querymodules=' + join_paths('${devbindir}', 'gio-querymodules'),
|
||||
+ 'glib_compile_schemas=' + join_paths('${devbindir}', 'glib-compile-schemas'),
|
||||
+ 'glib_compile_resources=' + join_paths('${devbindir}', 'glib-compile-resources'),
|
||||
'gdbus=' + join_paths('${bindir}', 'gdbus'),
|
||||
- 'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen'),
|
||||
- 'gresource=' + join_paths('${bindir}', 'gresource'),
|
||||
+ 'gdbus_codegen=' + join_paths('${devbindir}', 'gdbus-codegen'),
|
||||
+ 'gresource=' + join_paths('${devbindir}', 'gresource'),
|
||||
'gsettings=' + join_paths('${bindir}', 'gsettings')],
|
||||
version : glib_version,
|
||||
install_dir : glib_pkgconfigreldir,
|
||||
@@ -938,12 +939,14 @@ executable('gio', gio_tool_sources,
|
||||
|
||||
executable('gresource', 'gresource-tool.c',
|
||||
install : true,
|
||||
+ install_dir : get_option('devbindir'),
|
||||
# intl.lib is not compatible with SAFESEH
|
||||
link_args : noseh_link_args,
|
||||
dependencies : [libelf, libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
|
||||
|
||||
gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodule-priv.c',
|
||||
install : true,
|
||||
+ install_dir : get_option('devbindir'),
|
||||
c_args : gio_c_args,
|
||||
# intl.lib is not compatible with SAFESEH
|
||||
link_args : noseh_link_args,
|
||||
@@ -952,6 +955,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
|
||||
glib_compile_schemas = executable('glib-compile-schemas',
|
||||
[gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-schemas.c'],
|
||||
install : true,
|
||||
+ install_dir : get_option('devbindir'),
|
||||
# intl.lib is not compatible with SAFESEH
|
||||
link_args : noseh_link_args,
|
||||
dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
|
||||
@@ -959,6 +963,7 @@ glib_compile_schemas = executable('glib-compile-schemas',
|
||||
glib_compile_resources = executable('glib-compile-resources',
|
||||
[gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-resources.c'],
|
||||
install : true,
|
||||
+ install_dir : get_option('devbindir'),
|
||||
c_args : gio_c_args,
|
||||
# intl.lib is not compatible with SAFESEH
|
||||
link_args : noseh_link_args,
|
||||
diff --git a/glib/meson.build b/glib/meson.build
|
||||
index 91a48f194..80472a06b 100644
|
||||
--- a/glib/meson.build
|
||||
+++ b/glib/meson.build
|
||||
@@ -375,9 +375,10 @@ pkg.generate(libglib,
|
||||
subdirs : ['glib-2.0'],
|
||||
extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
|
||||
variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
|
||||
- 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
|
||||
- 'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
|
||||
- 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
|
||||
+ 'devbindir=' + get_option('devbindir'),
|
||||
+ 'glib_genmarshal=' + join_paths('${devbindir}', 'glib-genmarshal'),
|
||||
+ 'gobject_query=' + join_paths('${devbindir}', 'gobject-query'),
|
||||
+ 'glib_mkenums=' + join_paths('${devbindir}', 'glib-mkenums')],
|
||||
version : glib_version,
|
||||
install_dir : glib_pkgconfigreldir,
|
||||
filebase : 'glib-2.0',
|
||||
@@ -413,6 +414,7 @@ if host_system == 'windows'
|
||||
else
|
||||
gtester = executable('gtester', 'gtester.c',
|
||||
install : true,
|
||||
+ install_dir : get_option('devbindir'),
|
||||
c_args : ['-UG_DISABLE_ASSERT'],
|
||||
include_directories : configinc,
|
||||
dependencies : [libglib_dep])
|
||||
@@ -424,7 +426,7 @@ report_conf.set('PYTHON', python_name)
|
||||
configure_file(
|
||||
input: 'gtester-report.in',
|
||||
output: 'gtester-report',
|
||||
- install_dir: get_option('bindir'),
|
||||
+ install_dir: get_option('devbindir'),
|
||||
configuration: report_conf,
|
||||
install_mode: 'rwxr-xr-x'
|
||||
)
|
||||
diff --git a/gobject/meson.build b/gobject/meson.build
|
||||
index c7805c556..22ec629a4 100644
|
||||
--- a/gobject/meson.build
|
||||
+++ b/gobject/meson.build
|
||||
@@ -75,7 +75,7 @@ foreach tool: python_tools
|
||||
input : tool + '.in',
|
||||
output : tool,
|
||||
configuration : python_tools_conf,
|
||||
- install_dir : glib_bindir,
|
||||
+ install_dir : get_option('devbindir'),
|
||||
)
|
||||
|
||||
# Set variables for later use
|
||||
@@ -145,6 +145,7 @@ libgobject_dep = declare_dependency(link_with : libgobject,
|
||||
|
||||
executable('gobject-query', 'gobject-query.c',
|
||||
install : true,
|
||||
+ install_dir : get_option('devbindir'),
|
||||
dependencies : [libglib_dep, libgobject_dep])
|
||||
|
||||
install_data('gobject_gdb.py', install_dir : join_paths(glib_pkgdatadir, 'gdb'))
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 717d1bccb..fb0bee8a1 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -2118,7 +2118,7 @@ if have_sh
|
||||
gettextize_conf.set('datarootdir', glib_datadir)
|
||||
gettextize_conf.set('datadir', glib_datadir)
|
||||
configure_file(input : 'glib-gettextize.in',
|
||||
- install_dir : glib_bindir,
|
||||
+ install_dir : get_option('devbindir'),
|
||||
output : 'glib-gettextize',
|
||||
configuration : gettextize_conf)
|
||||
endif
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 2c831e37e..5d8928577 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -3,6 +3,11 @@ option('runtime_libdir',
|
||||
value : '',
|
||||
description : 'install runtime libraries relative to libdir')
|
||||
|
||||
+option('devbindir',
|
||||
+ type : 'string',
|
||||
+ value : '',
|
||||
+ description : 'bindir for development tools')
|
||||
+
|
||||
option('iconv',
|
||||
type : 'combo',
|
||||
choices : ['auto', 'libc', 'external'],
|
||||
@@ -0,0 +1,146 @@
|
||||
From 5460617d1567657621107d895ee2dd83bc1f88f2 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Pluzhnikov <ppluzhnikov@google.com>
|
||||
Date: Tue, 8 May 2018 18:12:41 -0700
|
||||
Subject: [PATCH] Fix BZ 22786: integer addition overflow may cause stack
|
||||
buffer overflow when realpath() input length is close to SSIZE_MAX.
|
||||
|
||||
2018-05-09 Paul Pluzhnikov <ppluzhnikov@google.com>
|
||||
|
||||
[BZ #22786]
|
||||
* stdlib/canonicalize.c (__realpath): Fix overflow in path length
|
||||
computation.
|
||||
* stdlib/Makefile (test-bz22786): New test.
|
||||
* stdlib/test-bz22786.c: New test.
|
||||
---
|
||||
ChangeLog | 8 +++++
|
||||
stdlib/Makefile | 2 +-
|
||||
stdlib/canonicalize.c | 2 +-
|
||||
stdlib/test-bz22786.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 100 insertions(+), 2 deletions(-)
|
||||
create mode 100644 stdlib/test-bz22786.c
|
||||
|
||||
diff --git a/stdlib/Makefile b/stdlib/Makefile
|
||||
index af1643c..1ddb1f9 100644
|
||||
--- a/stdlib/Makefile
|
||||
+++ b/stdlib/Makefile
|
||||
@@ -84,7 +84,7 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
|
||||
tst-cxa_atexit tst-on_exit test-atexit-race \
|
||||
test-at_quick_exit-race test-cxa_atexit-race \
|
||||
test-on_exit-race test-dlclose-exit-race \
|
||||
- tst-makecontext-align
|
||||
+ tst-makecontext-align test-bz22786
|
||||
|
||||
tests-internal := tst-strtod1i tst-strtod3 tst-strtod4 tst-strtod5i \
|
||||
tst-tls-atexit tst-tls-atexit-nodelete
|
||||
diff --git a/stdlib/canonicalize.c b/stdlib/canonicalize.c
|
||||
index 4135f3f..390fb43 100644
|
||||
--- a/stdlib/canonicalize.c
|
||||
+++ b/stdlib/canonicalize.c
|
||||
@@ -181,7 +181,7 @@ __realpath (const char *name, char *resolved)
|
||||
extra_buf = __alloca (path_max);
|
||||
|
||||
len = strlen (end);
|
||||
- if ((long int) (n + len) >= path_max)
|
||||
+ if (path_max - n <= len)
|
||||
{
|
||||
__set_errno (ENAMETOOLONG);
|
||||
goto error;
|
||||
diff --git a/stdlib/test-bz22786.c b/stdlib/test-bz22786.c
|
||||
new file mode 100644
|
||||
index 0000000..e7837f9
|
||||
--- /dev/null
|
||||
+++ b/stdlib/test-bz22786.c
|
||||
@@ -0,0 +1,90 @@
|
||||
+/* Bug 22786: test for buffer overflow in realpath.
|
||||
+ Copyright (C) 2018 Free Software Foundation, Inc.
|
||||
+ This file is part of the GNU C Library.
|
||||
+
|
||||
+ The GNU C Library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with the GNU C Library; if not, see
|
||||
+ <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+/* This file must be run from within a directory called "stdlib". */
|
||||
+
|
||||
+#include <errno.h>
|
||||
+#include <limits.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <unistd.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <support/test-driver.h>
|
||||
+#include <libc-diag.h>
|
||||
+
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ const char dir[] = "bz22786";
|
||||
+ const char lnk[] = "bz22786/symlink";
|
||||
+
|
||||
+ rmdir (dir);
|
||||
+ if (mkdir (dir, 0755) != 0 && errno != EEXIST)
|
||||
+ {
|
||||
+ printf ("mkdir %s: %m\n", dir);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+ if (symlink (".", lnk) != 0 && errno != EEXIST)
|
||||
+ {
|
||||
+ printf ("symlink (%s, %s): %m\n", dir, lnk);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ const size_t path_len = (size_t) INT_MAX + 1;
|
||||
+
|
||||
+ DIAG_PUSH_NEEDS_COMMENT;
|
||||
+#if __GNUC_PREREQ (7, 0)
|
||||
+ /* GCC 7 warns about too-large allocations; here we need such
|
||||
+ allocation to succeed for the test to work. */
|
||||
+ DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
|
||||
+#endif
|
||||
+ char *path = malloc (path_len);
|
||||
+ DIAG_POP_NEEDS_COMMENT;
|
||||
+
|
||||
+ if (path == NULL)
|
||||
+ {
|
||||
+ printf ("malloc (%zu): %m\n", path_len);
|
||||
+ return EXIT_UNSUPPORTED;
|
||||
+ }
|
||||
+
|
||||
+ /* Construct very long path = "bz22786/symlink/aaaa....." */
|
||||
+ char *p = mempcpy (path, lnk, sizeof (lnk) - 1);
|
||||
+ *(p++) = '/';
|
||||
+ memset (p, 'a', path_len - (path - p) - 2);
|
||||
+ p[path_len - (path - p) - 1] = '\0';
|
||||
+
|
||||
+ /* This call crashes before the fix for bz22786 on 32-bit platforms. */
|
||||
+ p = realpath (path, NULL);
|
||||
+
|
||||
+ if (p != NULL || errno != ENAMETOOLONG)
|
||||
+ {
|
||||
+ printf ("realpath: %s (%m)", p);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ /* Cleanup. */
|
||||
+ unlink (lnk);
|
||||
+ rmdir (dir);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#define TEST_FUNCTION do_test
|
||||
+#include <support/test-driver.c>
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
From f51c8367685dc888a02f7304c729ed5277904aff Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schwab <schwab@suse.de>
|
||||
Date: Thu, 24 May 2018 14:39:18 +0200
|
||||
Subject: [PATCH] Don't write beyond destination in
|
||||
__mempcpy_avx512_no_vzeroupper (bug 23196)
|
||||
|
||||
When compiled as mempcpy, the return value is the end of the destination
|
||||
buffer, thus it cannot be used to refer to the start of it.
|
||||
|
||||
(cherry picked from commit 9aaaab7c6e4176e61c59b0a63c6ba906d875dc0e)
|
||||
---
|
||||
ChangeLog | 9 +++++++++
|
||||
NEWS | 7 +++++++
|
||||
string/test-mempcpy.c | 1 +
|
||||
sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S | 5 +++--
|
||||
4 files changed, 20 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/string/test-mempcpy.c b/string/test-mempcpy.c
|
||||
index c08fba8..d98ecdd 100644
|
||||
--- a/string/test-mempcpy.c
|
||||
+++ b/string/test-mempcpy.c
|
||||
@@ -18,6 +18,7 @@
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#define MEMCPY_RESULT(dst, len) (dst) + (len)
|
||||
+#define MIN_PAGE_SIZE 131072
|
||||
#define TEST_MAIN
|
||||
#define TEST_NAME "mempcpy"
|
||||
#include "test-string.h"
|
||||
diff --git a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
|
||||
index 23c0f7a..effc3ac 100644
|
||||
--- a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
|
||||
+++ b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
|
||||
@@ -336,6 +336,7 @@ L(preloop_large):
|
||||
vmovups (%rsi), %zmm4
|
||||
vmovups 0x40(%rsi), %zmm5
|
||||
|
||||
+ mov %rdi, %r11
|
||||
/* Align destination for access with non-temporal stores in the loop. */
|
||||
mov %rdi, %r8
|
||||
and $-0x80, %rdi
|
||||
@@ -366,8 +367,8 @@ L(gobble_256bytes_nt_loop):
|
||||
cmp $256, %rdx
|
||||
ja L(gobble_256bytes_nt_loop)
|
||||
sfence
|
||||
- vmovups %zmm4, (%rax)
|
||||
- vmovups %zmm5, 0x40(%rax)
|
||||
+ vmovups %zmm4, (%r11)
|
||||
+ vmovups %zmm5, 0x40(%r11)
|
||||
jmp L(check)
|
||||
|
||||
L(preloop_large_bkw):
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
{ stdenv, lib
|
||||
, buildPackages
|
||||
, fetchurl ? null
|
||||
, fetchurl, fetchpatch
|
||||
, linuxHeaders ? null
|
||||
, gd ? null, libpng ? null
|
||||
, bison
|
||||
@@ -92,10 +92,23 @@ stdenv.mkDerivation ({
|
||||
url = "https://salsa.debian.org/glibc-team/glibc/raw/49767c9f7de4828220b691b29de0baf60d8a54ec/debian/patches/localedata/locale-C.diff";
|
||||
sha256 = "0irj60hs2i91ilwg5w7sqrxb695c93xg0ik7yhhq9irprd7fidn4";
|
||||
})
|
||||
|
||||
# https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5460617d1567657621107d895ee2dd83bc1f88f2
|
||||
./CVE-2018-11236.patch
|
||||
# https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f51c8367685dc888a02f7304c729ed5277904aff
|
||||
./CVE-2018-11237.patch
|
||||
]
|
||||
++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch
|
||||
++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
|
||||
++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch;
|
||||
++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch
|
||||
|
||||
# Remove after upgrading to glibc 2.28+
|
||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform || stdenv.hostPlatform.isMusl) (fetchpatch {
|
||||
url = "https://sourceware.org/git/?p=glibc.git;a=patch;h=780684eb04298977bc411ebca1eadeeba4877833";
|
||||
name = "correct-pwent-parsing-issue-and-resulting-build.patch";
|
||||
sha256 = "08fja894vzaj8phwfhsfik6jj2pbji7kypy3q8pgxvsd508zdv1q";
|
||||
excludes = [ "ChangeLog" ];
|
||||
});
|
||||
|
||||
postPatch =
|
||||
''
|
||||
|
||||
@@ -40,7 +40,21 @@ callPackage ./common.nix { inherit stdenv; } {
|
||||
# limit rebuilds by only disabling pie w/musl
|
||||
++ stdenv.lib.optional stdenv.hostPlatform.isMusl "pie";
|
||||
|
||||
NIX_CFLAGS_COMPILE = if withGd then "-Wno-error=stringop-truncation" else null;
|
||||
NIX_CFLAGS_COMPILE =
|
||||
if !stdenv.hostPlatform.isMusl
|
||||
# TODO: This (returning a string or `null`, instead of a list) is to
|
||||
# not trigger a mass rebuild due to the introduction of the
|
||||
# musl-specific flags below.
|
||||
# At next change to non-musl glibc builds, remove this `then`
|
||||
# and the above condition, instead keeping only the `else` below.
|
||||
then (if withGd then "-Wno-error=stringop-truncation" else null)
|
||||
else
|
||||
builtins.concatLists [
|
||||
(stdenv.lib.optional withGd "-Wno-error=stringop-truncation")
|
||||
# Fix -Werror build failure when building glibc with musl with GCC >= 8, see:
|
||||
# https://github.com/NixOS/nixpkgs/pull/68244#issuecomment-544307798
|
||||
(stdenv.lib.optional stdenv.hostPlatform.isMusl "-Wno-error=attribute-alias")
|
||||
];
|
||||
|
||||
# When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
|
||||
# any program we run, because the gcc will have been placed at a new
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user