diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-08-14 00:02:54 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-08-14 00:02:54 +0000 |
commit | f9abd30e11337cf07034f2cc8ad1691aa4a69386 (patch) | |
tree | c3b5c34b1c533f5c231dc6707e96795fb3a9a138 /nixpkgs/pkgs/development/libraries | |
parent | 44e04ea2730f8e3b863b81b0056babe233c244f6 (diff) | |
parent | 1036dc664169b32613ec11b58cc1740c7511a340 (diff) | |
download | nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.gz nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.bz2 nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.lz nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.xz nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.zst nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.zip |
Merge commit '1036dc664169b32613ec11b58cc1740c7511a340'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries')
38 files changed, 561 insertions, 404 deletions
diff --git a/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix new file mode 100644 index 000000000000..cd16dea56b18 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, cmake, cppunit }: + +stdenv.mkDerivation rec { + pname = "cpp-utilities"; + version = "4.17.1"; + + src = fetchFromGitHub { + owner = "Martchus"; + repo = pname; + rev = "v${version}"; + sha256 = "12088cwg3jbqipmbn4843w1cgxi1q6vwx47gy042rkfvbk6azhxl"; + }; + + nativeBuildInputs = [ cmake ]; + checkInputs = [ cppunit ]; + # Otherwise, tests fail since the resulting shared object libc++utilities.so is only available in PWD of the make files + checkFlagsArray = [ "LD_LIBRARY_PATH=$(PWD)" ]; + doCheck = true; + + meta = with stdenv.lib; { + homepage = "https://github.com/Martchus/cpp-utilities"; + description = "Common C++ classes and routines used by @Martchus' applications featuring argument parser, IO and conversion utilities"; + license = licenses.gpl2; + maintainers = with maintainers; [ doronbehar ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/elf-header/default.nix b/nixpkgs/pkgs/development/libraries/elf-header/default.nix index 47b39eeb7e97..c1764e83c303 100644 --- a/nixpkgs/pkgs/development/libraries/elf-header/default.nix +++ b/nixpkgs/pkgs/development/libraries/elf-header/default.nix @@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation { src = null; - unpackPhase = "true"; + dontUnpack = true; dontBuild = true; diff --git a/nixpkgs/pkgs/development/libraries/expat/default.nix b/nixpkgs/pkgs/development/libraries/expat/default.nix index 7e4d46c012dd..ef2574019459 100644 --- a/nixpkgs/pkgs/development/libraries/expat/default.nix +++ b/nixpkgs/pkgs/development/libraries/expat/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "expat-2.2.6"; + name = "expat-2.2.7"; src = fetchurl { url = "mirror://sourceforge/expat/${name}.tar.bz2"; - sha256 = "1wl1x93b5w457ddsdgj0lh7yjq4q6l7wfbgwhagkc8fm2qkkrd0p"; + sha256 = "067cfhqwiswm4zynw7xaxl59mrrimaiyjhnn8byxma1i98pi1jfb"; }; outputs = [ "out" "dev" ]; # TODO: fix referrers diff --git a/nixpkgs/pkgs/development/libraries/freetds/default.nix b/nixpkgs/pkgs/development/libraries/freetds/default.nix index d8bb9e8e85b0..ee63ce2f2f9e 100644 --- a/nixpkgs/pkgs/development/libraries/freetds/default.nix +++ b/nixpkgs/pkgs/development/libraries/freetds/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { version = "1.1.6"; src = fetchurl { - url = "http://www.freetds.org/files/stable/${name}.tar.bz2"; + url = "https://www.freetds.org/files/stable/${name}.tar.bz2"; sha256 = "18rry59npbhxpzjb0l3ib7zlnlzj43srb5adcm65wyklklsh0gn2"; }; diff --git a/nixpkgs/pkgs/development/libraries/glfw/3.x.nix b/nixpkgs/pkgs/development/libraries/glfw/3.x.nix index 668fe436e915..13bd4a456c97 100644 --- a/nixpkgs/pkgs/development/libraries/glfw/3.x.nix +++ b/nixpkgs/pkgs/development/libraries/glfw/3.x.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time"; - homepage = http://www.glfw.org/; + homepage = https://www.glfw.org/; license = licenses.zlib; maintainers = with maintainers; [ marcweber ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/development/libraries/glib-networking/default.nix b/nixpkgs/pkgs/development/libraries/glib-networking/default.nix index a51183e4e11a..4f853e9821ff 100644 --- a/nixpkgs/pkgs/development/libraries/glib-networking/default.nix +++ b/nixpkgs/pkgs/development/libraries/glib-networking/default.nix @@ -3,14 +3,14 @@ let pname = "glib-networking"; - version = "2.60.2"; + version = "2.60.3"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0cl74q7hvq4xqqc88vlzmfw1sh5n9hdh1yvn2v1vg9am1z8z68n0"; + sha256 = "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"; }; outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs diff --git a/nixpkgs/pkgs/development/libraries/gpgme/default.nix b/nixpkgs/pkgs/development/libraries/gpgme/default.nix index fc7634128dc0..c462f2e685a2 100644 --- a/nixpkgs/pkgs/development/libraries/gpgme/default.nix +++ b/nixpkgs/pkgs/development/libraries/gpgme/default.nix @@ -13,11 +13,11 @@ in stdenv.mkDerivation rec { name = "gpgme-${version}"; - version = "1.13.0"; + version = "1.13.1"; src = fetchurl { url = "mirror://gnupg/gpgme/${name}.tar.bz2"; - sha256 = "0c6676g0yhfsmy32i1dgwh5cx0ja8vhcqf4k08zad177m53kxcnl"; + sha256 = "0imyjfryvvjdbai454p70zcr95m94j9xnzywrlilqdw2fqi0pqy4"; }; outputs = [ "out" "dev" "info" ]; diff --git a/nixpkgs/pkgs/development/libraries/gtk+/3.x.nix b/nixpkgs/pkgs/development/libraries/gtk+/3.x.nix index 21f1d4c39990..378f3904d5d1 100644 --- a/nixpkgs/pkgs/development/libraries/gtk+/3.x.nix +++ b/nixpkgs/pkgs/development/libraries/gtk+/3.x.nix @@ -53,8 +53,9 @@ stdenv.mkDerivation rec { ++ optional cupsSupport cups; #TODO: colord? - # demos fail to install, no idea where's the problem - preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in"; + ## (2019-06-12) Demos seem to install fine now. Keeping this around in case it fails again. + ## (2014-03-27) demos fail to install, no idea where's the problem + #preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in"; enableParallelBuilding = true; diff --git a/nixpkgs/pkgs/development/libraries/hwloc/default.nix b/nixpkgs/pkgs/development/libraries/hwloc/default.nix index 5866d6b8fedb..0f4ce4e6b97c 100644 --- a/nixpkgs/pkgs/development/libraries/hwloc/default.nix +++ b/nixpkgs/pkgs/development/libraries/hwloc/default.nix @@ -15,7 +15,7 @@ in stdenv.mkDerivation { inherit name; src = fetchurl { - url = "http://www.open-mpi.org/software/hwloc/v${versmm}/downloads/${name}.tar.bz2"; + url = "https://www.open-mpi.org/software/hwloc/v${versmm}/downloads/${name}.tar.bz2"; sha256 = "1aa7s208gdijk19vvzzahyl8pglk1va3yd6kdbpfa5pz5ms0ag35"; }; @@ -78,7 +78,7 @@ in stdenv.mkDerivation { more. ''; - # http://www.open-mpi.org/projects/hwloc/license.php + # https://www.open-mpi.org/projects/hwloc/license.php license = licenses.bsd3; homepage = https://www.open-mpi.org/projects/hwloc/; maintainers = with maintainers; [ fpletz markuskowa ]; diff --git a/nixpkgs/pkgs/development/libraries/ilmbase/default.nix b/nixpkgs/pkgs/development/libraries/ilmbase/default.nix index 42cf77802625..2d22788e1ecd 100644 --- a/nixpkgs/pkgs/development/libraries/ilmbase/default.nix +++ b/nixpkgs/pkgs/development/libraries/ilmbase/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { doCheck = stdenv.isx86_64; meta = with stdenv.lib; { - homepage = http://www.openexr.com/; + homepage = https://www.openexr.com/; license = licenses.bsd3; platforms = platforms.all; }; diff --git a/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix b/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix index b543d47a050d..fa2b45ae948e 100644 --- a/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix +++ b/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "jsoncpp"; - version = "1.8.4"; + version = "1.9.0"; src = fetchFromGitHub { owner = "open-source-parsers"; repo = "jsoncpp"; rev = version; - sha256 = "1z0gj7a6jypkijmpknis04qybs1hkd04d1arr3gy89lnxmp6qzlm"; + sha256 = "10wnwlq92gp32f5p55kjcc12jfsl0yq6f2y4abb0si6wym12krw9"; }; /* During darwin bootstrap, we have a cp that doesn't understand the diff --git a/nixpkgs/pkgs/development/libraries/leatherman/default.nix b/nixpkgs/pkgs/development/libraries/leatherman/default.nix index 9ab68e578fbf..95924050ff32 100644 --- a/nixpkgs/pkgs/development/libraries/leatherman/default.nix +++ b/nixpkgs/pkgs/development/libraries/leatherman/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "leatherman-${version}"; - version = "1.6.0"; + version = "1.7.0"; src = fetchFromGitHub { - sha256 = "1dy1iisc0h1l28ff72pq7vxa4mj5zpq2jflpdghhx8yqksxhii4k"; + sha256 = "0n6vcbc43hdaxg5inl2b43bsksdkj3k0qxis6gkkclipivp8pz0p"; rev = version; repo = "leatherman"; owner = "puppetlabs"; diff --git a/nixpkgs/pkgs/development/libraries/libdrm/default.nix b/nixpkgs/pkgs/development/libraries/libdrm/default.nix index 7415aa754e7d..4ed3ad356a9f 100644 --- a/nixpkgs/pkgs/development/libraries/libdrm/default.nix +++ b/nixpkgs/pkgs/development/libraries/libdrm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }: +{ stdenv, fetchurl, pkgconfig, meson, ninja, libpthreadstubs, libpciaccess, valgrind-light }: stdenv.mkDerivation rec { name = "libdrm-2.4.98"; @@ -10,9 +10,8 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "bin" ]; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig meson ninja ]; buildInputs = [ libpthreadstubs libpciaccess valgrind-light ]; - # libdrm as of 2.4.70 does not actually do anything with udev. postPatch = '' for a in */*-symbol-check ; do @@ -20,13 +19,15 @@ stdenv.mkDerivation rec { done ''; - configureFlags = [ "--enable-install-test-programs" ] + mesonFlags = + [ "-Dinstall-test-programs=true" ] ++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64) - [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ] - ++ stdenv.lib.optional stdenv.isDarwin "-C" - ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-intel" + [ "-Dtegra=true" "-Detnaviv=true" ] + ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-Dintel=false" ; + enableParallelBuilding = true; + meta = { homepage = https://dri.freedesktop.org/libdrm/; description = "Library for accessing the kernel's Direct Rendering Manager"; diff --git a/nixpkgs/pkgs/development/libraries/libelf/default.nix b/nixpkgs/pkgs/development/libraries/libelf/default.nix index 55a01c75dcf2..5105bf7e73f0 100644 --- a/nixpkgs/pkgs/development/libraries/libelf/default.nix +++ b/nixpkgs/pkgs/development/libraries/libelf/default.nix @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { patches = [ ./dont-hardcode-ar.patch + # Fix warnings from preprocessor instructions. + # https://github.com/NixOS/nixpkgs/issues/59929 + ./preprocessor-warnings.patch ]; doCheck = true; diff --git a/nixpkgs/pkgs/development/libraries/libelf/preprocessor-warnings.patch b/nixpkgs/pkgs/development/libraries/libelf/preprocessor-warnings.patch new file mode 100644 index 000000000000..e04c8ee202a0 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libelf/preprocessor-warnings.patch @@ -0,0 +1,264 @@ +diff --git a/lib/elf_repl.h b/lib/elf_repl.h +index c5cf90f..7e1e8df 100644 +--- a/lib/elf_repl.h ++++ b/lib/elf_repl.h +@@ -45,7 +45,7 @@ typedef __libelf_u32_t Elf32_Word; + #define ELF32_FSZ_SWORD 4 + #define ELF32_FSZ_WORD 4 + +-#if __LIBELF64 ++#if defined(__LIBELF64) + + typedef __libelf_u64_t Elf64_Addr; + typedef __libelf_u16_t Elf64_Half; +@@ -93,7 +93,7 @@ typedef struct { + Elf32_Half e_shstrndx; + } Elf32_Ehdr; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + typedef struct { + unsigned char e_ident[EI_NIDENT]; + Elf64_Half e_type; +@@ -307,7 +307,7 @@ typedef struct { + Elf32_Word sh_entsize; + } Elf32_Shdr; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + typedef struct { + Elf64_Word sh_name; + Elf64_Word sh_type; +@@ -434,7 +434,7 @@ typedef struct { + Elf32_Half st_shndx; + } Elf32_Sym; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + typedef struct { + Elf64_Word st_name; + unsigned char st_info; +@@ -457,7 +457,7 @@ typedef struct { + #define ELF32_ST_TYPE(i) ((i)&0xf) + #define ELF32_ST_INFO(b,t) (((b)<<4)+((t)&0xf)) + +-#if __LIBELF64 ++#if defined(__LIBELF64) + #define ELF64_ST_BIND(i) ((i)>>4) + #define ELF64_ST_TYPE(i) ((i)&0xf) + #define ELF64_ST_INFO(b,t) (((b)<<4)+((t)&0xf)) +@@ -495,7 +495,7 @@ typedef struct { + * Macros for manipulating st_other + */ + #define ELF32_ST_VISIBILITY(o) ((o)&0x3) +-#if __LIBELF64 ++#if defined(__LIBELF64) + #define ELF64_ST_VISIBILITY(o) ((o)&0x3) + #endif /* __LIBELF64 */ + +@@ -521,7 +521,7 @@ typedef struct { + Elf32_Sword r_addend; + } Elf32_Rela; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + typedef struct { + Elf64_Addr r_offset; + Elf64_Xword r_info; +@@ -541,7 +541,7 @@ typedef struct { + #define ELF32_R_TYPE(i) ((unsigned char)(i)) + #define ELF32_R_INFO(s,t) (((s)<<8)+(unsigned char)(t)) + +-#if __LIBELF64 ++#if defined(__LIBELF64) + #define ELF64_R_SYM(i) ((Elf64_Xword)(i)>>32) + #define ELF64_R_TYPE(i) ((i)&0xffffffffL) + #define ELF64_R_INFO(s,t) (((Elf64_Xword)(s)<<32)+((t)&0xffffffffL)) +@@ -556,7 +556,7 @@ typedef struct { + Elf32_Word n_type; /* descriptor type */ + } Elf32_Nhdr; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + /* Solaris and GNU use this layout. Be compatible. */ + /* XXX: Latest ELF specs say it's 64-bit!!! */ + typedef struct { +@@ -587,7 +587,7 @@ typedef struct { + Elf32_Word p_align; + } Elf32_Phdr; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + typedef struct { + Elf64_Word p_type; + Elf64_Word p_flags; +@@ -654,7 +654,7 @@ typedef struct { + } d_un; + } Elf32_Dyn; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + typedef struct { + Elf64_Sxword d_tag; + union { +@@ -798,7 +798,7 @@ typedef struct { + Elf32_Half si_flags; + } Elf32_Syminfo; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + typedef struct { + Elf64_Half si_boundto; + Elf64_Half si_flags; +@@ -863,7 +863,7 @@ typedef struct { + + typedef Elf32_Half Elf32_Versym; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + + typedef struct { + Elf64_Half vd_version; +@@ -933,7 +933,7 @@ typedef Elf64_Half Elf64_Versym; + /* + * Move section + */ +-#if __LIBELF64 ++#if defined(__LIBELF64) + + typedef struct { + Elf32_Lword m_value; +@@ -973,7 +973,7 @@ typedef struct { + } c_un; + } Elf32_Cap; + +-#if __LIBELF64 ++#if defined(__LIBELF64) + + typedef struct { + Elf64_Xword c_tag; +diff --git a/lib/gelf.h b/lib/gelf.h +index 5af0558..98a759c 100644 +--- a/lib/gelf.h ++++ b/lib/gelf.h +@@ -22,15 +22,15 @@ + #ifndef _GELF_H + #define _GELF_H + +-#if __LIBELF_INTERNAL__ ++#if defined(__LIBELF_INTERNAL__) + #include <libelf.h> + #else /* __LIBELF_INTERNAL__ */ + #include <libelf/libelf.h> + #endif /* __LIBELF_INTERNAL__ */ + +-#if __LIBELF_NEED_LINK_H ++#if defined(__LIBELF_NEED_LINK_H) + #include <link.h> +-#elif __LIBELF_NEED_SYS_LINK_H ++#elif defined(__LIBELF_NEED_SYS_LINK_H) + #include <sys/link.h> + #endif /* __LIBELF_NEED_LINK_H */ + +@@ -46,7 +46,7 @@ extern "C" { + # endif /* __STDC__ || defined(__cplusplus) */ + #endif /* __P */ + +-#if !__LIBELF64 ++#if !defined(__LIBELF64) + + #error "GElf is not supported on this system." + +@@ -71,7 +71,7 @@ typedef Elf64_Sym GElf_Sym; + /* + * Symbol versioning + */ +-#if __LIBELF_SYMBOL_VERSIONS ++#if defined(__LIBELF_SYMBOL_VERSIONS) + typedef Elf64_Verdef GElf_Verdef; + typedef Elf64_Verneed GElf_Verneed; + typedef Elf64_Verdaux GElf_Verdaux; +diff --git a/lib/libelf.h b/lib/libelf.h +index 3ebd0f3..788482d 100644 +--- a/lib/libelf.h ++++ b/lib/libelf.h +@@ -25,7 +25,7 @@ + #include <stddef.h> /* for size_t */ + #include <sys/types.h> + +-#if __LIBELF_INTERNAL__ ++#if defined(__LIBELF_INTERNAL__) + #include <sys_elf.h> + #else /* __LIBELF_INTERNAL__ */ + #include <libelf/sys_elf.h> +@@ -224,7 +224,7 @@ extern Elf_Data *elf32_xlatetom __P((Elf_Data *__dst, const Elf_Data *__src, + */ + extern long elf32_checksum __P((Elf *__elf)); + +-#if __LIBELF64 ++#if defined(__LIBELF64) + /* + * 64-bit ELF functions + * Not available on all platforms +diff --git a/lib/sys_elf.h.in b/lib/sys_elf.h.in +index b71a20d..722051b 100644 +--- a/lib/sys_elf.h.in ++++ b/lib/sys_elf.h.in +@@ -68,7 +68,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + #ifdef __LIBELF_HEADER_ELF_H + # include __LIBELF_HEADER_ELF_H + #else /* __LIBELF_HEADER_ELF_H */ +-# if __LIBELF_INTERNAL__ ++# if defined(__LIBELF_INTERNAL__) + # include <elf_repl.h> + # else /* __LIBELF_INTERNAL__ */ + # include <libelf/elf_repl.h> +@@ -92,7 +92,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + # define STN_UNDEF 0 + # endif /* STN_UNDEF */ + +-# if __LIBELF64 ++# if defined(__LIBELF64) + + # ifndef ELF64_FSZ_ADDR + # define ELF64_FSZ_ADDR 8 +@@ -116,7 +116,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + # define ELF64_R_INFO(s,t) (((Elf64_Xword)(s)<<32)+((t)&0xffffffffL)) + # endif /* ELF64_R_SYM */ + +-# if __LIBELF64_LINUX ++# if defined(__LIBELF64_LINUX) + typedef __libelf_u64_t Elf64_Addr; + typedef __libelf_u16_t Elf64_Half; + typedef __libelf_u64_t Elf64_Off; +diff --git a/lib/sys_elf.h.w32 b/lib/sys_elf.h.w32 +index 0f93c55..7360104 100644 +--- a/lib/sys_elf.h.w32 ++++ b/lib/sys_elf.h.w32 +@@ -68,7 +68,7 @@ + #ifdef __LIBELF_HEADER_ELF_H + # include __LIBELF_HEADER_ELF_H + #else /* __LIBELF_HEADER_ELF_H */ +-# if __LIBELF_INTERNAL__ ++# if defined(__LIBELF_INTERNAL__) + # include <elf_repl.h> + # else /* __LIBELF_INTERNAL__ */ + # include <libelf/elf_repl.h> +@@ -92,7 +92,7 @@ + # define STN_UNDEF 0 + # endif /* STN_UNDEF */ + +-# if __LIBELF64 ++# if defined(__LIBELF64) + + # ifndef ELF64_FSZ_ADDR + # define ELF64_FSZ_ADDR 8 +@@ -116,7 +116,7 @@ + # define ELF64_R_INFO(s,t) (((Elf64_Xword)(s)<<32)+((t)&0xffffffffL)) + # endif /* ELF64_R_SYM */ + +-# if __LIBELF64_LINUX ++# if defined(__LIBELF64_LINUX) + typedef __libelf_u64_t Elf64_Addr; + typedef __libelf_u16_t Elf64_Half; + typedef __libelf_u64_t Elf64_Off; diff --git a/nixpkgs/pkgs/development/libraries/libinput/default.nix b/nixpkgs/pkgs/development/libraries/libinput/default.nix index 651c43297082..0c759835183b 100644 --- a/nixpkgs/pkgs/development/libraries/libinput/default.nix +++ b/nixpkgs/pkgs/development/libraries/libinput/default.nix @@ -27,11 +27,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "libinput-${version}"; - version = "1.13.2"; + version = "1.13.4"; src = fetchurl { url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz"; - sha256 = "0vbapc90m49n0z8w8w4v0qf1iiwaixw9h79jfmps9pj8hdls17qx"; + sha256 = "07a0w7rak7rvnh6g4j0akwjxwinxfszc1xi9mrx12fv82k3mgsyk"; }; outputs = [ "bin" "out" "dev" ]; diff --git a/nixpkgs/pkgs/development/libraries/libnxml/default.nix b/nixpkgs/pkgs/development/libraries/libnxml/default.nix index 8d97a13b0a08..0a6c58c8a015 100644 --- a/nixpkgs/pkgs/development/libraries/libnxml/default.nix +++ b/nixpkgs/pkgs/development/libraries/libnxml/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { buildInputs = [ curl ]; meta = { - homepage = http://www.autistici.org/bakunin/libnxml/; + homepage = https://www.autistici.org/bakunin/libnxml/; description = "C library for parsing, writing and creating XML 1.0 and 1.1 files or streams"; license = stdenv.lib.licenses.lgpl2; diff --git a/nixpkgs/pkgs/development/libraries/libow/default.nix b/nixpkgs/pkgs/development/libraries/libow/default.nix index 66cb0762c25a..7797061a71aa 100644 --- a/nixpkgs/pkgs/development/libraries/libow/default.nix +++ b/nixpkgs/pkgs/development/libraries/libow/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "1-Wire File System full library"; - homepage = http://owfs.org/; + homepage = https://owfs.org/; license = licenses.gpl2; maintainers = with maintainers; [ disserman ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/development/libraries/libshout/default.nix b/nixpkgs/pkgs/development/libraries/libshout/default.nix index 3753a070c639..849c93962f88 100644 --- a/nixpkgs/pkgs/development/libraries/libshout/default.nix +++ b/nixpkgs/pkgs/development/libraries/libshout/default.nix @@ -4,11 +4,11 @@ # need pkgconfig so that libshout installs ${out}/lib/pkgconfig/shout.pc stdenv.mkDerivation rec { - name = "libshout-2.4.2"; + name = "libshout-2.4.3"; src = fetchurl { url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz"; - sha256 = "0qgwarqp2p6jy3zadds6dzj8z1jfb2mbwc3lsdlidf527h0a86ym"; + sha256 = "1zhdshas539cs8fsz8022ljxnnncr5lafhfd1dqr1gs125fzb2hd"; }; outputs = [ "out" "dev" "doc" ]; diff --git a/nixpkgs/pkgs/development/libraries/libssh2/default.nix b/nixpkgs/pkgs/development/libraries/libssh2/default.nix index 483a56dcdce6..d4205981499c 100644 --- a/nixpkgs/pkgs/development/libraries/libssh2/default.nix +++ b/nixpkgs/pkgs/development/libraries/libssh2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libssh2"; - version = "1.8.2"; + version = "1.9.0"; src = fetchurl { url = "${meta.homepage}/download/${pname}-${version}.tar.gz"; - sha256 = "0rqd37pc80nm2pz4sa2m9pfc48axys7jwq1l7z0vii5nyvchg0q8"; + sha256 = "1zfsz9nldakfz61d2j70pk29zlmj7w2vv46s9l3x2prhcgaqpyym"; }; outputs = [ "out" "dev" "devdoc" ]; diff --git a/nixpkgs/pkgs/development/libraries/libuv/default.nix b/nixpkgs/pkgs/development/libraries/libuv/default.nix index f5026da4c3b9..ade3f5796d51 100644 --- a/nixpkgs/pkgs/development/libraries/libuv/default.nix +++ b/nixpkgs/pkgs/development/libraries/libuv/default.nix @@ -1,14 +1,14 @@ { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, ApplicationServices, CoreServices }: stdenv.mkDerivation rec { - version = "1.29.1"; + version = "1.30.0"; pname = "libuv"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "0scnircr6khgh7l3bw9zyfzdgx2c11mpfhd9d8qlw47arrvqg7l8"; + sha256 = "0j26nh799962l1gn3v3sw1x6fnia2dx5irhl33nc77gy2gzayv07"; }; postPatch = let diff --git a/nixpkgs/pkgs/development/libraries/liquid-dsp/default.nix b/nixpkgs/pkgs/development/libraries/liquid-dsp/default.nix index 391606d59e68..99ea6343d70f 100644 --- a/nixpkgs/pkgs/development/libraries/liquid-dsp/default.nix +++ b/nixpkgs/pkgs/development/libraries/liquid-dsp/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; meta = { - homepage = http://liquidsdr.org/; + homepage = https://liquidsdr.org/; description = "Digital signal processing library for software-defined radios"; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.unix; diff --git a/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix index a35bdb5764bb..2c5e4a8e034e 100644 --- a/nixpkgs/pkgs/development/libraries/mesa/default.nix +++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchurl, lib -, pkgconfig, intltool, autoreconfHook -, file, expat, libdrm, xorg, wayland, wayland-protocols, openssl +{ stdenv, lib, fetchurl, fetchpatch +, pkgconfig, intltool, ninja, meson +, file, flex, bison, expat, libdrm, xorg, wayland, wayland-protocols, openssl , llvmPackages, libffi, libomxil-bellagio, libva-minimal -, libelf, libvdpau, python2, python2Packages +, libelf, libvdpau, python3Packages , libglvnd , enableRadv ? true -, galliumDrivers ? null -, driDrivers ? null -, vulkanDrivers ? null +, galliumDrivers ? ["auto"] +, driDrivers ? ["auto"] +, vulkanDrivers ? ["auto"] , eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" "drm" ] , OpenGL, Xplugin , withValgrind ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32, valgrind-light @@ -27,49 +27,13 @@ with stdenv.lib; let - # platforms that have PCIe slots and thus can use most non-integrated GPUs - pciePlatform = !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64; - defaultGalliumDrivers = optionals (elem "drm" eglPlatforms) ([ "virgl" ] - ++ lib.optionals pciePlatform [ "r300" "r600" "radeonsi" ] - ++ lib.optionals (pciePlatform || stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "nouveau" ] - ++ lib.optionals stdenv.hostPlatform.isx86 [ "i915" "svga" ] - ++ lib.optionals (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "vc4" ] - ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "freedreno" "etnaviv" "imx" ] - ); - defaultDriDrivers = optionals (elem "drm" eglPlatforms) ([ ] - ++ lib.optionals pciePlatform [ "radeon" "r200" ] - ++ lib.optionals (pciePlatform || stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "nouveau" ] - ++ lib.optionals stdenv.hostPlatform.isx86 [ "i915" "i965" ]); - defaultVulkanDrivers = optionals stdenv.hostPlatform.isLinux ([ ] - ++ lib.optional stdenv.hostPlatform.isx86 "intel" - ++ lib.optional enableRadv "radeon"); -in - -let gallium_ = galliumDrivers; dri_ = driDrivers; vulkan_ = vulkanDrivers; in - -let - galliumDrivers = - (if gallium_ == null - then defaultGalliumDrivers - else gallium_) - ++ lib.optional stdenv.isLinux "swrast"; - driDrivers = - (if dri_ == null - then optionals (elem "drm" eglPlatforms) defaultDriDrivers - else dri_) ++ lib.optional stdenv.isLinux "swrast"; - vulkanDrivers = - if vulkan_ == null - then defaultVulkanDrivers - else vulkan_; -in - -let - version = "18.3.4"; + version = "19.1.1"; branch = head (splitString "." version); in -let self = stdenv.mkDerivation { - name = "mesa-${version}"; +stdenv.mkDerivation rec { + pname = "mesa"; + inherit version; src = fetchurl { urls = [ @@ -78,7 +42,7 @@ let self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" ]; - sha256 = "01xv03ah4l5lcfx015n3fg1620dh4nbbv6gmhh6zhdsx6sj4sc9j"; + sha256 = "10amy5sdmpjbskr3xazgk0jyli8xpgi0y1nsmjr76hx8nhb4n4bj"; }; prePatch = "patchShebangs ."; @@ -87,60 +51,58 @@ let self = stdenv.mkDerivation { # revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved # ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog patches = [ - ./symlink-drivers.patch ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl + ./opencl-install-dir.patch ./disk_cache-include-dri-driver-path-in-cache-key.patch - ]; + ] # do not prefix user provided dri-drivers-path + ++ lib.optional (lib.versionOlder version "19.0.0") (fetchpatch { + url = "https://gitlab.freedesktop.org/mesa/mesa/commit/f6556ec7d126b31da37c08d7cb657250505e01a0.patch"; + sha256 = "0z6phi8hbrbb32kkp1js7ggzviq7faz1ria36wi4jbc4in2392d9"; + }) + ++ lib.optionals (lib.versionOlder version "19.1.0") [ + # do not prefix user provided d3d-drivers-path + (fetchpatch { + url = "https://gitlab.freedesktop.org/mesa/mesa/commit/dcc48664197c7e44684ccfb970a4ae083974d145.patch"; + sha256 = "1nhs0xpx3hiy8zfb5gx1zd7j7xha6h0hr7yingm93130a5902lkb"; + }) + + # don't build libGLES*.so with GLVND + (fetchpatch { + url = "https://gitlab.freedesktop.org/mesa/mesa/commit/b01524fff05eef66e8cd24f1c5aacefed4209f03.patch"; + sha256 = "1pszr6acx2xw469zq89n156p3bf3xf84qpbjw5fr1sj642lbyh7c"; + }) + ]; - outputs = [ "out" "dev" "drivers" ] - ++ lib.optional (elem "swrast" galliumDrivers) "osmesa"; + outputs = [ "out" "dev" "drivers" "osmesa" ]; # TODO: Figure out how to enable opencl without having a runtime dependency on clang - configureFlags = [ - "--sysconfdir=${libglvnd.driverLink}/etc" - "--localstatedir=/var" - "--with-dri-driverdir=$(drivers)/lib/dri" - "--with-dri-searchpath=${libglvnd.driverLink}/lib/dri" - "--with-platforms=${concatStringsSep "," eglPlatforms}" - "--with-gallium-drivers=${concatStringsSep "," galliumDrivers}" - "--with-dri-drivers=${concatStringsSep "," driDrivers}" - "--with-vulkan-drivers=${concatStringsSep "," vulkanDrivers}" - "--enable-texture-float" - (enableFeature stdenv.isLinux "dri3") - (enableFeature stdenv.isLinux "nine") # Direct3D in Wine - (enableFeature stdenv.isLinux "libglvnd") - "--enable-dri" - "--enable-driglx-direct" - "--enable-gles1" - "--enable-gles2" - "--enable-glx" - # https://bugs.freedesktop.org/show_bug.cgi?id=35268 - (enableFeature (!stdenv.hostPlatform.isMusl) "glx-tls") - # used by wine - (enableFeature (elem "swrast" galliumDrivers) "gallium-osmesa") - "--enable-llvm" - (enableFeature stdenv.isLinux "egl") - (enableFeature stdenv.isLinux "xa") # used in vmware driver - (enableFeature stdenv.isLinux "gbm") - "--enable-xvmc" - "--enable-vdpau" - "--enable-shared-glapi" - "--enable-llvm-shared-libs" - (enableFeature stdenv.isLinux "omx-bellagio") - (enableFeature stdenv.isLinux "va") - "--disable-opencl" - ]; - - nativeBuildInputs = [ - autoreconfHook intltool pkgconfig file - python2 python2Packages.Mako + mesonFlags = [ + "--sysconfdir=/etc" + + # Don't build in debug mode + # https://gitlab.freedesktop.org/mesa/mesa/blob/master/docs/meson.html#L327 + "-Db_ndebug=true" + + "-Ddisk-cache-key=${placeholder "drivers"}" + "-Ddri-search-path=${libglvnd.driverLink}/lib/dri" + + "-Dplatforms=${concatStringsSep "," eglPlatforms}" + "-Ddri-drivers=${concatStringsSep "," driDrivers}" + "-Dgallium-drivers=${concatStringsSep "," galliumDrivers}" + "-Dvulkan-drivers=${concatStringsSep "," vulkanDrivers}" + + "-Ddri-drivers-path=${placeholder "drivers"}/lib/dri" + "-Dvdpau-libs-path=${placeholder "drivers"}/lib/vdpau" + "-Dxvmc-libs-path=${placeholder "drivers"}/lib" + "-Domx-libs-path=${placeholder "drivers"}/lib/bellagio" + "-Dva-libs-path=${placeholder "drivers"}/lib/dri" + "-Dd3d-drivers-path=${placeholder "drivers"}/lib/d3d" + ] ++ optionals stdenv.isLinux [ + "-Dglvnd=true" + "-Dosmesa=gallium" # used by wine + "-Dgallium-nine=true" # Direct3D in Wine ]; - propagatedBuildInputs = with xorg; [ - libXdamage libXxf86vm - ] ++ optional stdenv.isLinux libdrm - ++ optionals stdenv.isDarwin [ OpenGL Xplugin ]; - buildInputs = with xorg; [ expat llvmPackages.llvm libglvnd xorgproto libX11 libXext libxcb libXt libXfixes libxshmfence libXrandr @@ -150,50 +112,38 @@ let self = stdenv.mkDerivation { ++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal ] ++ lib.optional withValgrind valgrind-light; + nativeBuildInputs = [ + pkgconfig meson ninja + intltool bison flex file + python3Packages.python python3Packages.Mako + ]; + + propagatedBuildInputs = with xorg; [ + libXdamage libXxf86vm + ] ++ optional stdenv.isLinux libdrm + ++ optionals stdenv.isDarwin [ OpenGL Xplugin ]; + enableParallelBuilding = true; doCheck = false; - installFlags = [ - "sysconfdir=\${drivers}/etc" - "localstatedir=\${TMPDIR}" - "vendorjsondir=\${out}/share/glvnd/egl_vendor.d" - ]; - - # TODO: probably not all .la files are completely fixed, but it shouldn't matter; postInstall = '' # Some installs don't have any drivers so this directory is never created. - mkdir -p $drivers - '' + optionalString (galliumDrivers != []) '' + mkdir -p $drivers $osmesa + '' + optionalString stdenv.isLinux '' + mkdir -p $drivers/lib + # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM - mv -t "$drivers/lib/" \ - $out/lib/libXvMC* \ - $out/lib/d3d \ - $out/lib/vdpau \ - $out/lib/bellagio \ + mv -t $drivers/lib \ $out/lib/libxatracker* \ $out/lib/libvulkan_* # Move other drivers to a separate output - mv $out/lib/dri/* $drivers/lib/dri # */ - rmdir "$out/lib/dri" mv $out/lib/lib*_mesa* $drivers/lib # move libOSMesa to $osmesa, as it's relatively big - mkdir -p {$osmesa,$drivers}/lib/ + mkdir -p $osmesa/lib mv -t $osmesa/lib/ $out/lib/libOSMesa* - # now fix references in .la files - sed "/^libdir=/s,$out,$osmesa," -i $osmesa/lib/libOSMesa*.la - - # set the default search path for DRI drivers; used e.g. by X server - substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${libglvnd.driverLink}" - - # remove GLES libraries; they are provided by libglvnd - rm $out/lib/lib{GLESv1_CM,GLESv2}.* - - # remove pkgconfig files for GL/GLES/EGL; they are provided by libGL. - rm $dev/lib/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc - # move vendor files mv $out/share/ $drivers/ @@ -202,11 +152,6 @@ let self = stdenv.mkDerivation { substituteInPlace "$js" --replace '"libEGL_' '"'"$drivers/lib/libEGL_" done - # Update search path used by pkg-config - for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do - substituteInPlace "$pc" --replace $out $drivers - done - '' + optionalString (vulkanDrivers != []) '' # Update search path used by Vulkan (it's pointing to $out but # drivers are in $drivers) for js in $drivers/share/vulkan/icd.d/*.json; do @@ -217,7 +162,18 @@ let self = stdenv.mkDerivation { # TODO: # check $out doesn't depend on llvm: builder failures are ignored # for some reason grep -qv '${llvmPackages.llvm}' -R "$out"; - postFixup = optionalString (galliumDrivers != []) '' + postFixup = optionalString stdenv.isLinux '' + # set the default search path for DRI drivers; used e.g. by X server + substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace "$drivers" "${libglvnd.driverLink}" + + # remove pkgconfig files for GL/EGL; they are provided by libGL. + rm $dev/lib/pkgconfig/{gl,egl}.pc + + # Update search path used by pkg-config + for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do + substituteInPlace "$pc" --replace $out $drivers + done + # add RPATH so the drivers can find the moved libgallium and libdricore9 # moved here to avoid problems with stripping patchelfed files for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do @@ -227,81 +183,11 @@ let self = stdenv.mkDerivation { done ''; + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-fno-common"; + passthru = { - inherit libdrm version; + inherit libdrm; inherit (libglvnd) driverLink; - - # Use stub libraries from libglvnd and headers from Mesa. - stubs = stdenv.mkDerivation { - name = "libGL-${libglvnd.version}"; - outputs = [ "out" "dev" ]; - - # On macOS, libglvnd is not supported, so we just use what mesa - # build. We need to also include OpenGL.framework, and some - # extra tricks to go along with. We add mesa’s libGLX to support - # the X extensions to OpenGL. - buildCommand = if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/nix-support $dev - echo ${OpenGL} >> $out/nix-support/propagated-build-inputs - ln -s ${self.out}/lib $out/lib - - mkdir -p $dev/lib/pkgconfig $dev/nix-support - echo "$out" > $dev/nix-support/propagated-build-inputs - ln -s ${self.dev}/include $dev/include - - cat <<EOF >$dev/lib/pkgconfig/gl.pc - Name: gl - Description: gl library - Version: ${self.version} - Libs: -L${self.out}/lib -lGL - Cflags: -I${self.dev}/include - EOF - - cat <<EOF >$dev/lib/pkgconfig/glesv1_cm.pc - Name: glesv1_cm - Description: glesv1_cm library - Version: ${self.version} - Libs: -L${self.out}/lib -lGLESv1_CM - Cflags: -I${self.dev}/include - EOF - - cat <<EOF >$dev/lib/pkgconfig/glesv2.pc - Name: glesv2 - Description: glesv2 library - Version: ${self.version} - Libs: -L${self.out}/lib -lGLESv2 - Cflags: -I${self.dev}/include - EOF - '' - - # Otherwise, setup gl stubs to use libglvnd. - else '' - mkdir -p $out/nix-support - ln -s ${libglvnd.out}/lib $out/lib - - mkdir -p $dev/{,lib/pkgconfig,nix-support} - echo "$out" > $dev/nix-support/propagated-build-inputs - ln -s ${self.dev}/include $dev/include - - genPkgConfig() { - local name="$1" - local lib="$2" - - cat <<EOF >$dev/lib/pkgconfig/$name.pc - Name: $name - Description: $lib library - Version: ${self.version} - Libs: -L${libglvnd.out}/lib -l$lib - Cflags: -I${self.dev}/include - EOF - } - - genPkgConfig gl GL - genPkgConfig egl EGL - genPkgConfig glesv1_cm GLESv1_CM - genPkgConfig glesv2 GLESv2 - ''; - }; }; meta = with stdenv.lib; { @@ -311,5 +197,4 @@ let self = stdenv.mkDerivation { platforms = platforms.mesaPlatforms; maintainers = with maintainers; [ vcunat ]; }; -}; -in self +} diff --git a/nixpkgs/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch b/nixpkgs/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch index 37813db89347..1e280b64ee5f 100644 --- a/nixpkgs/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch +++ b/nixpkgs/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch @@ -6,29 +6,30 @@ Subject: [PATCH] disk_cache: include dri driver path in cache key This fixes invalid cache hits on NixOS where all shared library timestamps in /nix/store are zero. --- - src/util/Makefile.am | 3 +++ + meson_options.txt | 6 ++++++ src/util/disk_cache.c | 3 +++ - 2 files changed, 6 insertions(+) + src/util/meson.build | 7 ++++++- + 3 files changed, 15 insertions(+), 1 deletion(-) -diff --git a/src/util/Makefile.am b/src/util/Makefile.am -index bafb57439a..a22e2e41eb 100644 ---- a/src/util/Makefile.am -+++ b/src/util/Makefile.am -@@ -35,6 +35,9 @@ noinst_LTLIBRARIES = \ - libmesautil.la \ - libxmlconfig.la - -+AM_CFLAGS = \ -+ -DDISK_CACHE_KEY=\"$(drivers)\" -+ - AM_CPPFLAGS = \ - $(PTHREAD_CFLAGS) \ - -I$(top_srcdir)/include +diff --git a/meson_options.txt b/meson_options.txt +index a723b5406cf..65a8954291f 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -330,3 +330,9 @@ option( + value : true, + description : 'Enable direct rendering in GLX and EGL for DRI', + ) ++option( ++ 'disk-cache-key', ++ type : 'string', ++ value : '', ++ description : 'Mesa cache key.' ++) diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c -index 368ec41792..071220b2ba 100644 +index 0aa2646a9bb..bd784d38e21 100644 --- a/src/util/disk_cache.c +++ b/src/util/disk_cache.c -@@ -388,8 +388,10 @@ disk_cache_create(const char *gpu_name, const char *driver_id, +@@ -389,8 +389,10 @@ disk_cache_create(const char *gpu_name, const char *driver_id, /* Create driver id keys */ size_t id_size = strlen(driver_id) + 1; @@ -39,7 +40,7 @@ index 368ec41792..071220b2ba 100644 cache->driver_keys_blob_size += gpu_name_size; /* We sometimes store entire structs that contains a pointers in the cache, -@@ -410,6 +412,7 @@ disk_cache_create(const char *gpu_name, const char *driver_id, +@@ -411,6 +413,7 @@ disk_cache_create(const char *gpu_name, const char *driver_id, uint8_t *drv_key_blob = cache->driver_keys_blob; DRV_KEY_CPY(drv_key_blob, &cache_version, cv_size) DRV_KEY_CPY(drv_key_blob, driver_id, id_size) @@ -47,6 +48,24 @@ index 368ec41792..071220b2ba 100644 DRV_KEY_CPY(drv_key_blob, gpu_name, gpu_name_size) DRV_KEY_CPY(drv_key_blob, &ptr_size, ptr_size_size) DRV_KEY_CPY(drv_key_blob, &driver_flags, driver_flags_size) +diff --git a/src/util/meson.build b/src/util/meson.build +index 397c2228129..77013563e5d 100644 +--- a/src/util/meson.build ++++ b/src/util/meson.build +@@ -120,7 +120,12 @@ libmesa_util = static_library( + [files_mesa_util, format_srgb], + include_directories : inc_common, + dependencies : [dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m], +- c_args : [c_msvc_compat_args, c_vis_args], ++ c_args : [ ++ c_msvc_compat_args, c_vis_args, ++ '-DDISK_CACHE_KEY="@0@"'.format( ++ get_option('disk-cache-key') ++ ), ++ ], + build_by_default : false + ) + -- -2.19.1 +2.19.2 diff --git a/nixpkgs/pkgs/development/libraries/mesa/opencl-install-dir.patch b/nixpkgs/pkgs/development/libraries/mesa/opencl-install-dir.patch new file mode 100644 index 000000000000..fe85d2c90bb2 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/mesa/opencl-install-dir.patch @@ -0,0 +1,12 @@ +diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build +index 317ad8dab4a..5567308caf0 100644 +--- a/src/gallium/targets/opencl/meson.build ++++ b/src/gallium/targets/opencl/meson.build +@@ -68,6 +68,6 @@ if with_opencl_icd + input : 'mesa.icd.in', + output : 'mesa.icd', + install : true, +- install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'), ++ install_dir : join_paths(get_option('prefix'), 'etc', 'OpenCL', 'vendors'), + ) + endif diff --git a/nixpkgs/pkgs/development/libraries/mesa/stubs.nix b/nixpkgs/pkgs/development/libraries/mesa/stubs.nix new file mode 100644 index 000000000000..5cb6ac3d4d13 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/mesa/stubs.nix @@ -0,0 +1,75 @@ +{ stdenv +, libglvnd, mesa +, OpenGL }: + +stdenv.mkDerivation { + inherit (libglvnd) version; + pname = "libGL"; + outputs = [ "out" "dev" ]; + + # On macOS, libglvnd is not supported, so we just use what mesa + # build. We need to also include OpenGL.framework, and some + # extra tricks to go along with. We add mesa’s libGLX to support + # the X extensions to OpenGL. + buildCommand = if stdenv.hostPlatform.isDarwin then '' + mkdir -p $out/nix-support $dev + echo ${OpenGL} >> $out/nix-support/propagated-build-inputs + ln -s ${mesa.out}/lib $out/lib + + mkdir -p $dev/lib/pkgconfig $dev/nix-support + echo "$out" > $dev/nix-support/propagated-build-inputs + ln -s ${mesa.dev}/include $dev/include + + cat <<EOF >$dev/lib/pkgconfig/gl.pc + Name: gl + Description: gl library + Version: ${mesa.version} + Libs: -L${mesa.out}/lib -lGL + Cflags: -I${mesa.dev}/include + EOF + + cat <<EOF >$dev/lib/pkgconfig/glesv1_cm.pc + Name: glesv1_cm + Description: glesv1_cm library + Version: ${mesa.version} + Libs: -L${mesa.out}/lib -lGLESv1_CM + Cflags: -I${mesa.dev}/include + EOF + + cat <<EOF >$dev/lib/pkgconfig/glesv2.pc + Name: glesv2 + Description: glesv2 library + Version: ${mesa.version} + Libs: -L${mesa.out}/lib -lGLESv2 + Cflags: -I${mesa.dev}/include + EOF + '' + + # Otherwise, setup gl stubs to use libglvnd. + else '' + mkdir -p $out/nix-support + ln -s ${libglvnd.out}/lib $out/lib + + mkdir -p $dev/{,lib/pkgconfig,nix-support} + echo "$out" > $dev/nix-support/propagated-build-inputs + ln -s ${mesa.dev}/include $dev/include + + genPkgConfig() { + local name="$1" + local lib="$2" + + cat <<EOF >$dev/lib/pkgconfig/$name.pc + Name: $name + Description: $lib library + Version: ${mesa.version} + Libs: -L${libglvnd.out}/lib -l$lib + Cflags: -I${mesa.dev}/include + EOF + } + + genPkgConfig gl GL + genPkgConfig egl EGL + genPkgConfig glesv1_cm GLESv1_CM + genPkgConfig glesv2 GLESv2 + ''; +} diff --git a/nixpkgs/pkgs/development/libraries/mesa/symlink-drivers.patch b/nixpkgs/pkgs/development/libraries/mesa/symlink-drivers.patch deleted file mode 100644 index af2ec9fdb096..000000000000 --- a/nixpkgs/pkgs/development/libraries/mesa/symlink-drivers.patch +++ /dev/null @@ -1,112 +0,0 @@ -diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/dri/Makefile.am mesa-12.0.3/src/gallium/targets/dri/Makefile.am ---- mesa-12.0.3-orig/src/gallium/targets/dri/Makefile.am 2016-09-08 18:57:48.000000000 +0200 -+++ mesa-12.0.3/src/gallium/targets/dri/Makefile.am 2016-09-22 14:42:19.173575498 +0200 -@@ -134,14 +134,13 @@ - done; - endif - --# hardlink each megadriver instance, but don't actually have --# gallium_dri.so in the set of final installed files. -+# symlink each megadriver instance. - install-data-hook: - for i in $(TARGET_DRIVERS); do \ -- ln -f $(DESTDIR)$(dridir)/gallium_dri.so \ -+ ln -srf $(DESTDIR)$(dridir)/gallium_dri.so \ - $(DESTDIR)$(dridir)/$${i}_dri.so; \ - done; \ -- $(RM) $(DESTDIR)$(dridir)/gallium_dri.*; \ -+ $(RM) $(DESTDIR)$(dridir)/gallium_dri.la \ - $(RM) -d $(DESTDIR)$(dridir) &>/dev/null || true - - uninstall-hook: - for i in $(TARGET_DRIVERS); do \ -diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/va/Makefile.am mesa-12.0.3/src/gallium/targets/va/Makefile.am ---- mesa-12.0.3-orig/src/gallium/targets/va/Makefile.am 2016-09-08 18:57:48.000000000 +0200 -+++ mesa-12.0.3/src/gallium/targets/va/Makefile.am 2016-09-22 14:45:39.635963339 +0200 -@@ -71,10 +71,10 @@ - # gallium_drv_video.so in the set of final installed files. - install-data-hook: - for i in $(TARGET_DRIVERS); do \ -- ln -f $(DESTDIR)$(vadir)/gallium_drv_video.so \ -+ ln -srf $(DESTDIR)$(vadir)/gallium_drv_video.so \ - $(DESTDIR)$(vadir)/$${i}_drv_video.so; \ - done; \ -- $(RM) $(DESTDIR)$(vadir)/gallium_drv_video.* -+ $(RM) $(DESTDIR)$(vadir)/gallium_drv_video.la - - uninstall-hook: - for i in $(TARGET_DRIVERS); do \ -diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/vdpau/Makefile.am mesa-12.0.3/src/gallium/targets/vdpau/Makefile.am ---- mesa-12.0.3-orig/src/gallium/targets/vdpau/Makefile.am 2016-05-24 21:19:37.000000000 +0200 -+++ mesa-12.0.3/src/gallium/targets/vdpau/Makefile.am 2016-09-22 14:42:19.173575498 +0200 -@@ -103,15 +103,14 @@ - done; - endif - --# hardlink each megadriver instance, but don't actually have --# libvdpau_gallium.so in the set of final installed files. -+# symlink each megadriver instance. - install-data-hook: - $(AM_V_GEN)dest_dir=$(DESTDIR)/$(vdpaudir); \ - for i in $(TARGET_DRIVERS); do \ - j=libvdpau_gallium.$(LIB_EXT); \ - k=libvdpau_$${i}.$(LIB_EXT); \ - l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \ -- ln -f $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \ -+ ln -srf $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \ - $${dest_dir}/$${l}; \ - ln -sf $${l} \ - $${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \ -@@ -120,7 +119,7 @@ - ln -sf $${l} \ - $${dest_dir}/$${k}; \ - done; \ -- $(RM) $${dest_dir}/libvdpau_gallium.*; \ -+ $(RM) $${dest_dir}/libvdpau_gallium.la \ - $(RM) -d $${dest_dir} &>/dev/null || true - - uninstall-hook: - for i in $(TARGET_DRIVERS); do \ -diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/xvmc/Makefile.am mesa-12.0.3/src/gallium/targets/xvmc/Makefile.am ---- mesa-12.0.3-orig/src/gallium/targets/xvmc/Makefile.am 2016-05-24 21:19:37.000000000 +0200 -+++ mesa-12.0.3/src/gallium/targets/xvmc/Makefile.am 2016-09-22 14:54:22.291014543 +0200 -@@ -73,7 +73,7 @@ - j=libXvMCgallium.$(LIB_EXT); \ - k=libXvMC$${i}.$(LIB_EXT); \ - l=$${k}.$(XVMC_MAJOR).$(XVMC_MINOR).0; \ -- ln -f $${dest_dir}/$${j}.$(XVMC_MAJOR).$(XVMC_MINOR).0 \ -+ ln -srf $${dest_dir}/$${j}.$(XVMC_MAJOR).$(XVMC_MINOR).0 \ - $${dest_dir}/$${l}; \ - ln -sf $${l} \ - $${dest_dir}/$${k}.$(XVMC_MAJOR).$(XVMC_MINOR); \ -@@ -82,7 +82,7 @@ - ln -sf $${l} \ - $${dest_dir}/$${k}; \ - done; \ -- $(RM) $${dest_dir}/libXvMCgallium.*; \ -+ $(RM) $${dest_dir}/libXvMCgallium.la \ - $(RM) -d $${dest_dir} &>/dev/null || true - - uninstall-hook: - for i in $(TARGET_DRIVERS); do \ -diff -ru -x '*~' mesa-12.0.3-orig/src/mesa/drivers/dri/Makefile.am mesa-12.0.3/src/mesa/drivers/dri/Makefile.am ---- mesa-12.0.3-orig/src/mesa/drivers/dri/Makefile.am 2016-09-08 18:57:48.000000000 +0200 -+++ mesa-12.0.3/src/mesa/drivers/dri/Makefile.am 2016-09-22 14:42:19.173575498 +0200 -@@ -94,14 +94,13 @@ - done; - endif - --# hardlink each megadriver instance, but don't actually have --# mesa_dri_drivers.so in the set of final installed files. -+# symink each megadriver instance. - install-data-hook: - for i in $(MEGADRIVERS); do \ -- ln -f $(DESTDIR)$(dridir)/mesa_dri_drivers.so \ -+ ln -srf $(DESTDIR)$(dridir)/mesa_dri_drivers.so \ - $(DESTDIR)$(dridir)/$$i; \ - done; -- $(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.* -+ $(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.la - - uninstall-hook: - for i in $(MEGADRIVERS); do \ diff --git a/nixpkgs/pkgs/development/libraries/openexr/default.nix b/nixpkgs/pkgs/development/libraries/openexr/default.nix index 54b617fdc014..072848d7bbca 100644 --- a/nixpkgs/pkgs/development/libraries/openexr/default.nix +++ b/nixpkgs/pkgs/development/libraries/openexr/default.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { doCheck = false; # fails 1 of 1 tests meta = with stdenv.lib; { - homepage = http://www.openexr.com/; + homepage = https://www.openexr.com/; license = licenses.bsd3; platforms = platforms.all; }; diff --git a/nixpkgs/pkgs/development/libraries/openmpi/default.nix b/nixpkgs/pkgs/development/libraries/openmpi/default.nix index e597a26dad9f..17ad9e53005b 100644 --- a/nixpkgs/pkgs/development/libraries/openmpi/default.nix +++ b/nixpkgs/pkgs/development/libraries/openmpi/default.nix @@ -15,7 +15,7 @@ in stdenv.mkDerivation rec { name = "openmpi-${version}"; src = with stdenv.lib.versions; fetchurl { - url = "http://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${name}.tar.bz2"; + url = "https://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${name}.tar.bz2"; sha256 = "02cpzcp113gj5hb0j2xc0cqma2fn04i2i0bzf80r71120p9bdryc"; }; @@ -52,7 +52,7 @@ in stdenv.mkDerivation rec { doCheck = true; meta = with stdenv.lib; { - homepage = http://www.open-mpi.org/; + homepage = https://www.open-mpi.org/; description = "Open source MPI-3 implementation"; longDescription = "The Open MPI Project is an open source MPI-3 implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers."; maintainers = with maintainers; [ markuskowa ]; diff --git a/nixpkgs/pkgs/development/libraries/packr/default.nix b/nixpkgs/pkgs/development/libraries/packr/default.nix index c44695cb70a3..bc8133aaf822 100644 --- a/nixpkgs/pkgs/development/libraries/packr/default.nix +++ b/nixpkgs/pkgs/development/libraries/packr/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "packr"; - version = "2.5.1"; + version = "2.5.2"; src = fetchFromGitHub { owner = "gobuffalo"; repo = pname; rev = "v${version}"; - sha256 = "070hpnsr5w1r1cg9wl80cafmhkx4z3s29wq04fa7rk49hmwml4jy"; + sha256 = "1ciffa5xbd93fylwz93wr4m4fj83dcla55dmdshaqz28rbsapnc1"; }; - modSha256 = "0xvpk9jjcqac44s4fp0jwpljxvs0ypjwc5qfg0w90s2r7jn50fxn"; + modSha256 = "086gydrl3i35hawb5m7rsb4a0llcpdpgid1xfw2z9n6jkwkclw4n"; meta = with lib; { description = "The simple and easy way to embed static files into Go binaries"; diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.4.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.4.nix deleted file mode 100644 index 5a9034a56a80..000000000000 --- a/nixpkgs/pkgs/development/libraries/protobuf/3.4.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ callPackage, lib, ... }: - -lib.overrideDerivation (callPackage ./generic-v3.nix { - version = "3.4.1"; - sha256 = "1lzxmbqlnmi34kymnf399azv86gmdbrf71xiad6wc24bzpkzqybb"; -}) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; }) diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.5.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.5.nix deleted file mode 100644 index db9cb6f0371b..000000000000 --- a/nixpkgs/pkgs/development/libraries/protobuf/3.5.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ callPackage, lib, ... }: - -lib.overrideDerivation (callPackage ./generic-v3.nix { - version = "3.5.1.1"; - sha256 = "1h4xydr5j2zg1888ncn8a1jvqq8fgpgckrmjg6lqzy9jpkvqvfdk"; -}) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; }) diff --git a/nixpkgs/pkgs/development/libraries/protobuf/generic-v3.nix b/nixpkgs/pkgs/development/libraries/protobuf/generic-v3.nix index 610efcfef298..a98521a2d1ee 100644 --- a/nixpkgs/pkgs/development/libraries/protobuf/generic-v3.nix +++ b/nixpkgs/pkgs/development/libraries/protobuf/generic-v3.nix @@ -40,10 +40,6 @@ mkProtobufDerivation = buildProtobuf: stdenv: stdenv.mkDerivation rec { dontDisableStatic = true; - NIX_CFLAGS_COMPILE = with stdenv.lib; - # gcc before 6 doesn't know this option - optionalString (hasPrefix "gcc-6" stdenv.cc.cc.name) "-Wno-error=misleading-indentation"; - meta = { description = "Google's data interchange format"; longDescription = diff --git a/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix b/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix index 8134cc63eb02..4ae5ea522555 100644 --- a/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix +++ b/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix @@ -83,7 +83,7 @@ let ''; meta = { description = "A domain-specific language for finite element variational forms"; - homepage = http://fenicsproject.org/; + homepage = https://fenicsproject.org/; platforms = stdenv.lib.platforms.all; license = stdenv.lib.licenses.lgpl3; }; @@ -102,7 +102,7 @@ let ''; meta = { description = "A compiler for finite element variational forms"; - homepage = http://fenicsproject.org/; + homepage = https://fenicsproject.org/; platforms = stdenv.lib.platforms.all; license = stdenv.lib.licenses.lgpl3; }; @@ -117,7 +117,7 @@ let buildInputs = [ numpy six ]; meta = { description = "Instant inlining of C and C++ code in Python"; - homepage = http://fenicsproject.org/; + homepage = https://fenicsproject.org/; platforms = stdenv.lib.platforms.all; license = stdenv.lib.licenses.lgpl3; }; @@ -162,7 +162,7 @@ stdenv.mkDerivation { postInstall = "source $out/share/dolfin/dolfin.conf"; meta = { description = "The FEniCS Problem Solving Environment in Python and C++"; - homepage = http://fenicsproject.org/; + homepage = https://fenicsproject.org/; platforms = stdenv.lib.platforms.darwin; license = stdenv.lib.licenses.lgpl3; }; diff --git a/nixpkgs/pkgs/development/libraries/speexdsp/default.nix b/nixpkgs/pkgs/development/libraries/speexdsp/default.nix index 16be9fa1e3b1..4d74c7e05598 100644 --- a/nixpkgs/pkgs/development/libraries/speexdsp/default.nix +++ b/nixpkgs/pkgs/development/libraries/speexdsp/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, fftw }: stdenv.mkDerivation rec { - name = "speexdsp-1.2rc3"; + name = "speexdsp-1.2.0"; src = fetchurl { url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz"; - sha256 = "1wcjyrnwlkayb20zdhp48y260rfyzg925qpjpljd5x9r01h8irja"; + sha256 = "0wa7sqpk3x61zz99m7lwkgr6yv62ml6lfgs5xja65vlvdzy44838"; }; patches = [ ./build-fix.patch ]; diff --git a/nixpkgs/pkgs/development/libraries/spice-gtk/default.nix b/nixpkgs/pkgs/development/libraries/spice-gtk/default.nix index d597fd16ad07..079d61ca3d58 100644 --- a/nixpkgs/pkgs/development/libraries/spice-gtk/default.nix +++ b/nixpkgs/pkgs/development/libraries/spice-gtk/default.nix @@ -109,7 +109,6 @@ stdenv.mkDerivation rec { PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions"; mesonFlags = [ - "-Dauto_features=enabled" "-Dcelt051=disabled" "-Dpulse=disabled" # is deprecated upstream ]; diff --git a/nixpkgs/pkgs/development/libraries/spice/default.nix b/nixpkgs/pkgs/development/libraries/spice/default.nix index 9e50a3b86b94..d2c4ddb8631e 100644 --- a/nixpkgs/pkgs/development/libraries/spice/default.nix +++ b/nixpkgs/pkgs/development/libraries/spice/default.nix @@ -77,7 +77,6 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-fno-stack-protector"; mesonFlags = [ - "-Dauto_features=enabled" "-Dgstreamer=1.0" "-Dcelt051=disabled" ]; diff --git a/nixpkgs/pkgs/development/libraries/zlib/default.nix b/nixpkgs/pkgs/development/libraries/zlib/default.nix index 3a5638b22814..7fb5be1c3434 100644 --- a/nixpkgs/pkgs/development/libraries/zlib/default.nix +++ b/nixpkgs/pkgs/development/libraries/zlib/default.nix @@ -86,5 +86,5 @@ stdenv.mkDerivation (rec { export CHOST=${stdenv.hostPlatform.config} ''; } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.libc == "msvcrt") { - configurePhase = ":"; + dontConfigure = true; }) |