mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 07:00:43 +00:00
Merge branch 'staging-next'
A few thousand Darwin jobs are still pending, but there we're depending on this merge to fix the channel-blocking lz4 failure. https://hydra.nixos.org/eval/1519778?compare=1519770
This commit is contained in:
commit
fc67de1802
|
@ -21,32 +21,23 @@ let
|
|||
|
||||
availableComponents = cfg.package.availableComponents;
|
||||
|
||||
# Given component "parentConfig.platform", returns whether config.parentConfig
|
||||
# is a list containing a set with set.platform == "platform".
|
||||
usedPlatforms = config:
|
||||
if isAttrs config then
|
||||
optional (config ? platform) config.platform
|
||||
++ concatMap usedPlatforms (attrValues config)
|
||||
else if isList config then
|
||||
concatMap usedPlatforms config
|
||||
else [ ];
|
||||
|
||||
# Given a component "platform", looks up whether it is used in the config
|
||||
# as `platform = "platform";`.
|
||||
#
|
||||
# For example, the component sensor.luftdaten is used as follows:
|
||||
# For example, the component mqtt.sensor is used as follows:
|
||||
# config.sensor = [ {
|
||||
# platform = "luftdaten";
|
||||
# platform = "mqtt";
|
||||
# ...
|
||||
# } ];
|
||||
#
|
||||
# Beginning with 0.87 Home Assistant is migrating their components to the
|
||||
# scheme "platform.subComponent", e.g. "hue.light" instead of "light.hue".
|
||||
# See https://developers.home-assistant.io/blog/2019/02/19/the-great-migration.html.
|
||||
# Hence, we also check whether we find an entry in the config when interpreting
|
||||
# the first part of the path as the component.
|
||||
useComponentPlatform = component:
|
||||
let
|
||||
path = splitString "." component;
|
||||
# old: platform is the last part of path
|
||||
parentConfig = attrByPath (init path) null cfg.config;
|
||||
platform = last path;
|
||||
# new: platform is the first part of the path
|
||||
parentConfig' = attrByPath (tail path) null cfg.config;
|
||||
platform' = head path;
|
||||
in
|
||||
(isList parentConfig && any (item: item.platform or null == platform) parentConfig)
|
||||
|| (isList parentConfig' && any (item: item.platform or null == platform') parentConfig');
|
||||
useComponentPlatform = component: elem component (usedPlatforms cfg.config);
|
||||
|
||||
# Returns whether component is used in config
|
||||
useComponent = component:
|
||||
|
|
|
@ -11,8 +11,8 @@ let
|
|||
sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh";
|
||||
};
|
||||
"2" = {
|
||||
fluidsynthVersion = "2.0.4";
|
||||
sha256 = "1v2vji02fbrjgypwb4fw2r90hnfwfbfh3d24j8vjwlbqxhxp16s0";
|
||||
fluidsynthVersion = "2.0.5";
|
||||
sha256 = "0rv0apxbj0cgm8f8sqf5xr6kdi4q58ph92ip6cg716ha0ca5lr8y";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
{ stdenv, fetchurl, pidgin, intltool, libxml2, nss, nspr }:
|
||||
{ stdenv, fetchurl, pidgin, intltool, libxml2, gmime, nss }:
|
||||
|
||||
let version = "1.23.3"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "pidgin-sipe-${version}";
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pidgin-sipe";
|
||||
version = "1.24.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz";
|
||||
sha256 = "0aaiblnagncb0lhdwb8qbps6hxxmyfjg7sdi15lrkl98i3fahg4n";
|
||||
url = "mirror://sourceforge/sipe/${pname}-${version}.tar.gz";
|
||||
sha256 = "04cxprz6dbcsc4n2jg72mr1r9630nhrywn0zim9kwvbgps3wdd9c";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "SIPE plugin for Pidgin IM";
|
||||
homepage = http://sipe.sourceforge.net/;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
nativeBuildInputs = [ intltool ];
|
||||
buildInputs = [ pidgin gmime libxml2 nss ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
|
||||
|
||||
buildInputs = [ pidgin intltool libxml2 nss nspr ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "SIPE plugin for Pidgin IM";
|
||||
homepage = "http://sipe.sourceforge.net/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -166,10 +166,3 @@ int execv(const char *path, char *const argv[])
|
|||
char buf[PATH_MAX];
|
||||
return execv_real(rewrite(path, buf), argv);
|
||||
}
|
||||
|
||||
void *dlopen(const char *filename, int flag)
|
||||
{
|
||||
void * (*__dlopen_real) (const char *, int) = dlsym(RTLD_NEXT, "dlopen");
|
||||
char buf[PATH_MAX];
|
||||
return __dlopen_real(rewrite(filename, buf), flag);
|
||||
}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchzip }:
|
||||
|
||||
let
|
||||
version = "20181219";
|
||||
version = "20190504";
|
||||
in fetchzip {
|
||||
name = "iana-etc-${version}";
|
||||
url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
|
||||
sha256 = "0i3f7shvf1g6dp984w8xfix6id3q5c10b292wz2qw3v5n7h6wkm3";
|
||||
sha256 = "1h61qnb3ybyfivyq8qjnisj4arbnhn8hcwad1bp4iqidjk6rjfv3";
|
||||
|
||||
postFetch = ''
|
||||
tar -xzvf $downloadedFile --strip-components=1
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
--- a/catalog.xml
|
||||
+++ b/catalog.xml
|
||||
@@ -5,4 +5,7 @@
|
||||
<rewriteSystem systemIdStartString="http://cdn.docbook.org/release/xsl@suffix@/current/" rewritePrefix="./"/>
|
||||
<rewriteURI uriStartString="http://cdn.docbook.org/release/xsl@suffix@/@version@/" rewritePrefix="./"/>
|
||||
<rewriteSystem systemIdStartString="http://cdn.docbook.org/release/xsl@suffix@/@version@/" rewritePrefix="./"/>
|
||||
+ <!-- legacy URIs -->
|
||||
+ <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl@legacySuffix@/current/" rewritePrefix="./"/>
|
||||
+ <rewriteSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl@legacySuffix@/current/" rewritePrefix="./"/>
|
||||
</catalog>
|
|
@ -1,16 +1,33 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }:
|
||||
{ lib, stdenv, substituteAll, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }:
|
||||
|
||||
let
|
||||
|
||||
common = { pname, sha256, patches ? [] }: let self = stdenv.mkDerivation rec {
|
||||
name = "${pname}-1.79.1";
|
||||
common = { pname, sha256, suffix ? "" }: let
|
||||
legacySuffix = if suffix == "-nons" then "" else "-ns";
|
||||
self = stdenv.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "1.79.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/docbook/${name}.tar.bz2";
|
||||
url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${version}/docbook-xsl${suffix}-${version}.tar.bz2";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
patches = [
|
||||
# Prevent a potential stack overflow
|
||||
# https://github.com/docbook/xslt10-stylesheets/pull/37
|
||||
(fetchpatch {
|
||||
url = https://src.fedoraproject.org/rpms/docbook-style-xsl/raw/e3ae7a97ed1d185594dd35954e1a02196afb205a/f/docbook-style-xsl-non-recursive-string-subst.patch;
|
||||
sha256 = "0lrjjg5kpwwmbhkxzz6i5zmimb6lsvrrdhzc2qgjmb3r6jnsmii3";
|
||||
stripLen = "1";
|
||||
})
|
||||
|
||||
# Add legacy sourceforge.net URIs to the catalog
|
||||
(substituteAll {
|
||||
src = ./catalog-legacy-uris.patch;
|
||||
inherit legacySuffix suffix version;
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ findXMLCatalogs ];
|
||||
|
||||
|
@ -19,12 +36,15 @@ let
|
|||
installPhase = ''
|
||||
dst=$out/share/xml/${pname}
|
||||
mkdir -p $dst
|
||||
rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp
|
||||
rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh tools Makefile tests extensions webhelp
|
||||
mv * $dst/
|
||||
|
||||
# Backwards compatibility. Will remove eventually.
|
||||
mkdir -p $out/xml/xsl
|
||||
ln -s $dst $out/xml/xsl/docbook
|
||||
|
||||
# More backwards compatibility
|
||||
ln -s $dst $out/share/xml/docbook-xsl${legacySuffix}
|
||||
'';
|
||||
|
||||
passthru.dbtoepub = writeScriptBin "dbtoepub"
|
||||
|
@ -39,28 +59,19 @@ let
|
|||
maintainers = [ lib.maintainers.eelco ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}; in self;
|
||||
};
|
||||
in self;
|
||||
|
||||
in {
|
||||
|
||||
docbook_xsl = common {
|
||||
pname = "docbook-xsl";
|
||||
sha256 = "0s59lihif2fr7rznckxr2kfyrvkirv76r1zvidp9b5mj28p4apvj";
|
||||
|
||||
patches = [(fetchpatch {
|
||||
name = "potential-infinite-template-recursion.patch";
|
||||
url = "https://src.fedoraproject.org/cgit/rpms/docbook-style-xsl.git/"
|
||||
+ "plain/docbook-style-xsl-non-recursive-string-subst.patch?id=bf9e5d16fd";
|
||||
sha256 = "1pfb468bsj3j879ip0950waih0r1s6rzfbm2p70glbz0g3903p7h";
|
||||
stripLen = "1";
|
||||
})];
|
||||
|
||||
docbook-xsl-nons = common {
|
||||
pname = "docbook-xsl-nons";
|
||||
suffix = "-nons";
|
||||
sha256 = "00i1hdyxim8jymv2dz68ix3wbs5w6isxm8ijb03qk3vs1g59x2zf";
|
||||
};
|
||||
|
||||
docbook_xsl_ns = common {
|
||||
docbook-xsl-ns = common {
|
||||
pname = "docbook-xsl-ns";
|
||||
sha256 = "170ggf5dgjar65kkn5n33kvjr3pdinpj66nnxfx8b2avw0k91jin";
|
||||
|
||||
patches = [ ./docbook-xsl-ns-infinite.patch ];
|
||||
sha256 = "0wd33z41kdsybyx3ay21w6bdlmgpd9kyn3mr5y520lsf8km28r9i";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
Description: Remove infinite recursion
|
||||
Attribute: docbook5_xsl
|
||||
Version: 1.79.1
|
||||
URL: https://github.com/NixOS/nixpkgs/issues/39090
|
||||
diff -ru a/lib/lib.xsl b/lib/lib.xsl
|
||||
--- a/lib/lib.xsl 2015-12-26 15:15:37.000000000 -0800
|
||||
+++ b/lib/lib.xsl 2018-03-22 11:52:45.311949264 -0700
|
||||
@@ -11,8 +11,10 @@
|
||||
|
||||
******************************************************************** -->
|
||||
<xsl:stylesheet exclude-result-prefixes="d"
|
||||
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://docbook.org/ns/docbook"
|
||||
-version="1.0">
|
||||
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
+ xmlns:d="http://docbook.org/ns/docbook"
|
||||
+ xmlns:str="http://exslt.org/strings"
|
||||
+ version="1.0">
|
||||
|
||||
<xsl:template name="dot.count">
|
||||
<!-- Returns the number of "." characters in a string -->
|
||||
@@ -58,6 +61,9 @@
|
||||
<xsl:param name="replacement"/>
|
||||
|
||||
<xsl:choose>
|
||||
+ <xsl:when test="function-available('str:replace')">
|
||||
+ <xsl:value-of select="str:replace($string, string($target), string($replacement))"/>
|
||||
+ </xsl:when>
|
||||
<xsl:when test="contains($string, $target)">
|
||||
<xsl:variable name="rest">
|
||||
<xsl:call-template name="string.subst">
|
|
@ -4,14 +4,12 @@
|
|||
|
||||
let
|
||||
generic = lib.makeOverridable ({
|
||||
major, minor, sha256,
|
||||
version, sha256,
|
||||
extraNativeBuildInputs ? [],
|
||||
extraBuildInputs ? [],
|
||||
withGraphviz ? false
|
||||
}:
|
||||
let
|
||||
atLeast = lib.versionAtLeast "${major}.${minor}";
|
||||
|
||||
# Patches from the openembedded-core project to build vala without graphviz
|
||||
# support. We need to apply an additional patch to allow building when the
|
||||
# header file isn't available at all, but that patch (./gvc-compat.patch)
|
||||
|
@ -43,23 +41,23 @@ let
|
|||
# We've reverted the addition of the "--disable-valadoc" option
|
||||
# and then applied the following patch.
|
||||
# 0.42.4: https://github.com/openembedded/openembedded-core/raw/f2b4f9ec6f44dced7f88df849cca68961419eeb8/meta/recipes-devtools/vala/vala/disable-graphviz.patch
|
||||
"0.44" = ./disable-graphviz-0.44.1.patch;
|
||||
"0.44" = ./disable-graphviz-0.44.3.patch;
|
||||
|
||||
}.${major} or (throw "no graphviz patch for this version of vala");
|
||||
}.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala");
|
||||
|
||||
disableGraphviz = atLeast "0.38" && !withGraphviz;
|
||||
disableGraphviz = lib.versionAtLeast version "0.38" && !withGraphviz;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "vala-${version}";
|
||||
version = "${major}.${minor}";
|
||||
pname = "vala";
|
||||
inherit version;
|
||||
|
||||
setupHook = substituteAll {
|
||||
src = ./setup-hook.sh;
|
||||
apiVersion = major;
|
||||
apiVersion = lib.versions.majorMinor version;
|
||||
};
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/vala/${major}/${name}.tar.xz";
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
@ -78,19 +76,27 @@ let
|
|||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig flex bison libxslt
|
||||
] ++ lib.optional (stdenv.isDarwin && (atLeast "0.38")) expat
|
||||
] ++ lib.optional (stdenv.isDarwin && (lib.versionAtLeast version "0.38")) expat
|
||||
++ lib.optional disableGraphviz autoreconfHook # if we changed our ./configure script, need to reconfigure
|
||||
++ extraNativeBuildInputs;
|
||||
|
||||
buildInputs = [
|
||||
glib libiconv libintl
|
||||
] ++ lib.optional (atLeast "0.38" && withGraphviz) graphviz
|
||||
] ++ lib.optional (lib.versionAtLeast version "0.38" && withGraphviz) graphviz
|
||||
++ extraBuildInputs;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # fails, requires dbus daemon
|
||||
|
||||
# Wait for PR #59372
|
||||
#passthru = {
|
||||
# updateScript = gnome3.updateScript {
|
||||
# attrPath = "${pname}_${lib.versions.major version}_${lib.versions.minor version}";
|
||||
# packageName = pname;
|
||||
# };
|
||||
#};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Compiler for GObject type system";
|
||||
homepage = https://wiki.gnome.org/Projects/Vala;
|
||||
|
@ -102,34 +108,29 @@ let
|
|||
|
||||
in rec {
|
||||
vala_0_36 = generic {
|
||||
major = "0.36";
|
||||
minor = "18";
|
||||
sha256 = "0csb9skgy663y05kl813dsarzjbfcdsmx5fvz13p8gas3hycciq9";
|
||||
version = "0.36.19";
|
||||
sha256 = "05si2f4zjvq0q3wqfh1wxdq20jy1xqxq2skqh8vfh2jyp355lwar";
|
||||
};
|
||||
|
||||
vala_0_38 = generic {
|
||||
major = "0.38";
|
||||
minor = "10";
|
||||
version = "0.38.10";
|
||||
sha256 = "1rdwwqs973qv225v8b5izcgwvqn56jxgr4pa3wxxbliar3aww5sw";
|
||||
extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool;
|
||||
};
|
||||
|
||||
vala_0_40 = generic {
|
||||
major = "0.40";
|
||||
minor = "14";
|
||||
sha256 = "0llid9b9cgjcrcclc0pw2skkssb7br7b2clq9cql3p14dl94gki0";
|
||||
version = "0.40.15";
|
||||
sha256 = "0mfayli159yyw6abjf6sgq41j54mr3nspg25b1kxhypcz0scjm19";
|
||||
};
|
||||
|
||||
vala_0_42 = generic {
|
||||
major = "0.42";
|
||||
minor = "6";
|
||||
sha256 = "14024gvs23q323fmd62hqd8jiypaxbjjvamyd782ixbhxmpz8x1p";
|
||||
version = "0.42.7";
|
||||
sha256 = "029ksbsdpl581wzy570kj4kkw8b4bizgh494c051zsvkwck55p83";
|
||||
};
|
||||
|
||||
vala_0_44 = generic {
|
||||
major = "0.44";
|
||||
minor = "1";
|
||||
sha256 = "1qiglkgymws6a3m8xz1v8b3na165ywx2dbipp3bdg134bi0w3a4n";
|
||||
version = "0.44.3";
|
||||
sha256 = "1sgas7z6y9r2mf4pxry3fx2awdnzn3vlg2sxd3hqpy2a90ib8lw5";
|
||||
};
|
||||
|
||||
vala = vala_0_44;
|
||||
|
|
|
@ -23,13 +23,13 @@ index f70234759..b3d6c3833 100644
|
|||
if ENABLE_UNVERSIONED
|
||||
aclocaldir = $(datadir)/aclocal
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 16ebd1f81..cf23db4b8 100644
|
||||
index 504db13aa..622397747 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -156,10 +156,11 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED)
|
||||
AC_SUBST(GMODULE_CFLAGS)
|
||||
@@ -157,10 +157,11 @@ AC_SUBST(GMODULE_CFLAGS)
|
||||
AC_SUBST(GMODULE_LIBS)
|
||||
|
||||
AC_ARG_WITH(cgraph, AS_HELP_STRING([--with-cgraph], [Required flag for cross-compilation to define capability of graphviz]), [], with_cgraph=check)
|
||||
-AC_ARG_ENABLE(valadoc, AS_HELP_STRING([--disable-valadoc], [Disable valadoc]), enable_valadoc=$enableval, enable_valadoc=yes)
|
||||
-if test x$enable_valadoc = xyes; then
|
||||
+AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes)
|
||||
|
@ -40,7 +40,7 @@ index 16ebd1f81..cf23db4b8 100644
|
|||
cgraph_tmp_LIBADD="$LIBADD"
|
||||
cgraph_tmp_CFLAGS="$CFLAGS"
|
||||
LIBADD="$LIBADD $LIBGVC_LIBS"
|
||||
@@ -186,8 +187,8 @@ if test x$enable_valadoc = xyes; then
|
||||
@@ -198,8 +199,8 @@ if test x$enable_valadoc = xyes; then
|
||||
LIBADD="$cgraph_tmp_LIBADD"
|
||||
CFLAGS="$cgraph_tmp_CFLAGS"
|
||||
fi
|
|
@ -11,14 +11,7 @@ let
|
|||
opString = lib.optionalString;
|
||||
patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
|
||||
config = import ./config.nix { inherit fetchFromSavannah; };
|
||||
rubygemsSrc = import ./rubygems-src.nix { inherit fetchurl; };
|
||||
rubygemsPatch = fetchpatch {
|
||||
url = "https://github.com/zimbatm/rubygems/compare/v2.6.6...v2.6.6-nix.patch";
|
||||
sha256 = "0297rdb1m6v75q8665ry9id1s74p9305dv32l95ssf198liaihhd";
|
||||
};
|
||||
unpackdir = obj:
|
||||
lib.removeSuffix ".tgz"
|
||||
(lib.removeSuffix ".tar.gz" obj.name);
|
||||
rubygems = import ./rubygems { inherit stdenv lib fetchurl fetchpatch; };
|
||||
|
||||
# Contains the ruby version heuristics
|
||||
rubyVersion = import ./ruby-version.nix { inherit lib; };
|
||||
|
@ -49,8 +42,10 @@ let
|
|||
, buildEnv, bundler, bundix
|
||||
, libiconv, libobjc, libunwind, Foundation
|
||||
}:
|
||||
let rubySrc =
|
||||
if useRailsExpress then fetchFromGitHub {
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ruby-${version}";
|
||||
|
||||
src = if useRailsExpress then fetchFromGitHub {
|
||||
owner = "ruby";
|
||||
repo = "ruby";
|
||||
rev = tag;
|
||||
|
@ -59,16 +54,6 @@ let
|
|||
url = "https://cache.ruby-lang.org/pub/ruby/${ver.majMin}/ruby-${ver}.tar.gz";
|
||||
sha256 = sha256.src;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ruby-${version}";
|
||||
|
||||
srcs = [ rubySrc rubygemsSrc ];
|
||||
sourceRoot =
|
||||
if useRailsExpress then
|
||||
rubySrc.name
|
||||
else
|
||||
unpackdir rubySrc;
|
||||
|
||||
# Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
|
||||
NROFF = if docSupport then "${groff}/bin/nroff" else null;
|
||||
|
@ -100,10 +85,7 @@ let
|
|||
})."${ver.majMinTiny}";
|
||||
|
||||
postUnpack = ''
|
||||
cp -r ${unpackdir rubygemsSrc} ${sourceRoot}/rubygems
|
||||
pushd ${sourceRoot}/rubygems
|
||||
patch -p1 < ${rubygemsPatch}
|
||||
popd
|
||||
cp -r ${rubygems} $sourceRoot/rubygems
|
||||
'';
|
||||
|
||||
postPatch = if atLeast25 then ''
|
||||
|
@ -146,6 +128,7 @@ let
|
|||
postInstall = ''
|
||||
# Update rubygems
|
||||
pushd rubygems
|
||||
chmod +w bundler/bundler.gemspec
|
||||
${buildRuby} setup.rb --destdir $GEM_HOME
|
||||
popd
|
||||
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
{ fetchurl
|
||||
, version ? "2.7.7"
|
||||
, sha256 ? "1jsmmd31j8j066b83lin4bbqz19jhrirarzb41f3sjhfdjiwkcjc"
|
||||
}:
|
||||
fetchurl {
|
||||
url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
|
||||
sha256 = sha256;
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
From a6485cfcdf51ff8be452980f93cebfea97f34dec Mon Sep 17 00:00:00 2001
|
||||
From: zimbatm <zimbatm@zimbatm.com>
|
||||
Date: Wed, 21 Sep 2016 09:32:34 +0100
|
||||
Subject: [PATCH 1/3] add post-extract hook
|
||||
|
||||
Allows nix to execute scripts just after the gem extraction
|
||||
---
|
||||
lib/rubygems/installer.rb | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
|
||||
index d26b1e88..bf18fb7f 100644
|
||||
--- a/lib/rubygems/installer.rb
|
||||
+++ b/lib/rubygems/installer.rb
|
||||
@@ -848,7 +848,15 @@ TEXT
|
||||
# Ensures that files can't be installed outside the gem directory.
|
||||
|
||||
def extract_files
|
||||
- @package.extract_files gem_dir
|
||||
+ ret = @package.extract_files gem_dir
|
||||
+ if ENV['NIX_POST_EXTRACT_FILES_HOOK']
|
||||
+ puts
|
||||
+ puts "running NIX_POST_EXTRACT_FILES_HOOK #{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{gem_dir}"
|
||||
+ system(ENV['NIX_POST_EXTRACT_FILES_HOOK'], gem_dir.to_s)
|
||||
+ puts "running NIX_POST_EXTRACT_FILES_HOOK done"
|
||||
+ puts
|
||||
+ end
|
||||
+ ret
|
||||
end
|
||||
|
||||
##
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
From 2e1328bcdddd35e557eabdff83ac07f3591dc693 Mon Sep 17 00:00:00 2001
|
||||
From: zimbatm <zimbatm@zimbatm.com>
|
||||
Date: Wed, 21 Sep 2016 19:37:05 +0100
|
||||
Subject: [PATCH 2/3] binaries with env shebang
|
||||
|
||||
By default, don't point to the absolute ruby derivation path. As a user
|
||||
installing a gem in the home, it would freeze the selected ruby version
|
||||
to the currently-installed ruby derivation.
|
||||
---
|
||||
lib/rubygems/dependency_installer.rb | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_installer.rb
|
||||
index 34620860..00ab31d9 100644
|
||||
--- a/lib/rubygems/dependency_installer.rb
|
||||
+++ b/lib/rubygems/dependency_installer.rb
|
||||
@@ -18,7 +18,7 @@ class Gem::DependencyInstaller
|
||||
extend Gem::Deprecate
|
||||
|
||||
DEFAULT_OPTIONS = { # :nodoc:
|
||||
- :env_shebang => false,
|
||||
+ :env_shebang => true,
|
||||
:document => %w[ri],
|
||||
:domain => :both, # HACK dup
|
||||
:force => false,
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
From d69249d0ff210316121b44d971ddd2439b1bc393 Mon Sep 17 00:00:00 2001
|
||||
From: zimbatm <zimbatm@zimbatm.com>
|
||||
Date: Wed, 21 Sep 2016 09:40:39 +0100
|
||||
Subject: [PATCH 3/3] gem install default to user
|
||||
|
||||
Default to not installing gems to the read-only system derivation.
|
||||
---
|
||||
lib/rubygems/path_support.rb | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/rubygems/path_support.rb b/lib/rubygems/path_support.rb
|
||||
index ed680d65..749b9ea6 100644
|
||||
--- a/lib/rubygems/path_support.rb
|
||||
+++ b/lib/rubygems/path_support.rb
|
||||
@@ -23,7 +23,7 @@ class Gem::PathSupport
|
||||
# hashtable, or defaults to ENV, the system environment.
|
||||
#
|
||||
def initialize(env)
|
||||
- @home = env["GEM_HOME"] || Gem.default_dir
|
||||
+ @home = env["GEM_HOME"] || Gem.user_dir
|
||||
|
||||
if File::ALT_SEPARATOR
|
||||
@home = @home.gsub(File::ALT_SEPARATOR, File::SEPARATOR)
|
||||
--
|
||||
2.21.0
|
||||
|
30
pkgs/development/interpreters/ruby/rubygems/default.nix
Normal file
30
pkgs/development/interpreters/ruby/rubygems/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ stdenv, lib, fetchurl, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "rubygems";
|
||||
version = "3.0.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
|
||||
sha256 = "0b6b9ads8522804xv8b8498gqwsv4qawv13f81kyc7g966y7lfmy";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0001-add-post-extract-hook.patch
|
||||
./0002-binaries-with-env-shebang.patch
|
||||
./0003-gem-install-default-to-user.patch
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
cp -r . $out
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Package management framework for Ruby";
|
||||
homepage = https://rubygems.org/;
|
||||
license = with licenses; [ mit /* or */ ruby ];
|
||||
maintainers = with maintainers; [ qyliss zimbatm ];
|
||||
};
|
||||
}
|
|
@ -19,11 +19,11 @@
|
|||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "at-spi2-core";
|
||||
version = "2.32.0";
|
||||
version = "2.32.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "083j1v7kdjrpjsv1b9dl3d8xqj39jyp4cfn8i9gbbm7q2g93b923";
|
||||
sha256 = "0lqd7gsl471v6538iighkvb21gjglcb9pklvas32rjpsxcvsjaiw";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "c-blosc-${version}";
|
||||
version = "1.16.2";
|
||||
version = "1.16.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Blosc";
|
||||
repo = "c-blosc";
|
||||
rev = "v${version}";
|
||||
sha256 = "19wb699rb5bn6h9qhw1m18m2w77lws7r50vxpgrvggnl27mvm3xc";
|
||||
sha256 = "1c58wkf34rp5wh9qp09zdk7zcfn037sk56p4xq1g0vapbnglv603";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake ];
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
{ callPackage, fetchurl, libunistring, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // rec {
|
||||
version = "3.5.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnupg/gnutls/v3.5/gnutls-${version}.tar.xz";
|
||||
sha256 = "17apwvdkkazh5w8z8mbanpj2yj8s2002qwy46wz4v3akpa33wi5g";
|
||||
};
|
||||
})
|
|
@ -1,22 +0,0 @@
|
|||
{ callPackage, fetchurl, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // rec {
|
||||
version = "3.6.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
|
||||
sha256 = "1ql8l6l5bxks2pgpwb1602zc0j6ivhpy27hdfc49h8xgbanhjd2v";
|
||||
};
|
||||
|
||||
# Skip some tests:
|
||||
# - pkgconfig: building against the result won't work before installing (3.5.11)
|
||||
# - fastopen: no idea; it broke between 3.6.2 and 3.6.3 (3437fdde6 in particular)
|
||||
# - trust-store: default trust store path (/etc/ssl/...) is missing in sandbox (3.5.11)
|
||||
# - psk-file: no idea; it broke between 3.6.3 and 3.6.4
|
||||
# Change p11-kit test to use pkg-config to find p11-kit
|
||||
postPatch = ''
|
||||
sed '2iexit 77' -i tests/{pkgconfig,fastopen}.sh
|
||||
sed '/^void doit(void)/,/^{/ s/{/{ exit(77);/' -i tests/{trust-store,psk-file}.c
|
||||
sed 's:/usr/lib64/pkcs11/ /usr/lib/pkcs11/ /usr/lib/x86_64-linux-gnu/pkcs11/:`pkg-config --variable=p11_module_path p11-kit-1`:' -i tests/p11-kit-trust.sh
|
||||
'';
|
||||
})
|
|
@ -1,33 +1,52 @@
|
|||
{ config, lib, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
|
||||
, perl, gmp, autogen, libidn, p11-kit, libiconv
|
||||
{ config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
|
||||
, perl, gmp, autoconf, autogen, automake, libidn, p11-kit, libiconv
|
||||
, unbound, dns-root-data, gettext
|
||||
, guileBindings ? config.gnutls.guile or false, guile
|
||||
, tpmSupport ? false, trousers, which, nettools, libunistring
|
||||
, unbound, dns-root-data, gettext
|
||||
|
||||
# Version dependent args
|
||||
, version, src, patches ? [], postPatch ? "", nativeBuildInputs ? []
|
||||
, buildInputs ? []
|
||||
, ...}:
|
||||
, withSecurity ? false, Security # darwin Security.framework
|
||||
}:
|
||||
|
||||
assert guileBindings -> guile != null;
|
||||
let
|
||||
version = "3.6.7";
|
||||
|
||||
# XXX: Gnulib's `test-select' fails on FreeBSD:
|
||||
# http://hydra.nixos.org/build/2962084/nixlog/1/raw .
|
||||
doCheck = !stdenv.isFreeBSD && !stdenv.isDarwin && lib.versionAtLeast version "3.4"
|
||||
&& stdenv.buildPlatform == stdenv.hostPlatform;
|
||||
|
||||
inherit (stdenv.hostPlatform) isDarwin;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gnutls-${version}";
|
||||
inherit version;
|
||||
|
||||
inherit src patches;
|
||||
src = fetchurl {
|
||||
url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
|
||||
sha256 = "1ql8l6l5bxks2pgpwb1602zc0j6ivhpy27hdfc49h8xgbanhjd2v";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "dev" "out" "man" "devdoc" ];
|
||||
outputInfo = "devdoc";
|
||||
|
||||
patches = [ ./nix-ssl-cert-file.patch ]
|
||||
# Disable native add_system_trust.
|
||||
++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch;
|
||||
|
||||
# Skip some tests:
|
||||
# - pkgconfig: building against the result won't work before installing (3.5.11)
|
||||
# - fastopen: no idea; it broke between 3.6.2 and 3.6.3 (3437fdde6 in particular)
|
||||
# - trust-store: default trust store path (/etc/ssl/...) is missing in sandbox (3.5.11)
|
||||
# - psk-file: no idea; it broke between 3.6.3 and 3.6.4
|
||||
# Change p11-kit test to use pkg-config to find p11-kit
|
||||
postPatch = lib.optionalString (lib.versionAtLeast version "3.4") ''
|
||||
sed '2iecho "name constraints tests skipped due to datefudge problems"\nexit 0' \
|
||||
-i tests/cert-tests/name-constraints
|
||||
'' + postPatch;
|
||||
sed '2iecho "name constraints tests skipped due to datefudge problems"\nexit 0' -i tests/cert-tests/name-constraints
|
||||
'' + lib.optionalString (lib.versionAtLeast version "3.6") ''
|
||||
sed '2iexit 77' -i tests/{pkgconfig,fastopen}.sh
|
||||
sed '/^void doit(void)/,/^{/ s/{/{ exit(77);/' -i tests/{trust-store,psk-file}.c
|
||||
sed 's:/usr/lib64/pkcs11/ /usr/lib/pkcs11/ /usr/lib/x86_64-linux-gnu/pkcs11/:`pkg-config --variable=p11_module_path p11-kit-1`:' -i tests/p11-kit-trust.sh
|
||||
'';
|
||||
|
||||
preConfigure = "patchShebangs .";
|
||||
configureFlags =
|
||||
|
@ -42,11 +61,12 @@ stdenv.mkDerivation {
|
|||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [ lzo lzip libtasn1 libidn p11-kit zlib gmp autogen libunistring unbound gettext libiconv ]
|
||||
++ lib.optional (isDarwin && withSecurity) Security
|
||||
++ lib.optional (tpmSupport && stdenv.isLinux) trousers
|
||||
++ lib.optional guileBindings guile
|
||||
++ buildInputs;
|
||||
++ lib.optional guileBindings guile;
|
||||
|
||||
nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs
|
||||
nativeBuildInputs = [ perl pkgconfig ]
|
||||
++ lib.optionals (isDarwin && !withSecurity) [ autoconf automake ]
|
||||
++ lib.optionals doCheck [ which nettools ];
|
||||
|
||||
propagatedBuildInputs = [ nettle ];
|
||||
|
@ -54,7 +74,7 @@ stdenv.mkDerivation {
|
|||
inherit doCheck;
|
||||
|
||||
# Fixup broken libtool and pkgconfig files
|
||||
preFixup = lib.optionalString (!stdenv.isDarwin) ''
|
||||
preFixup = lib.optionalString (!isDarwin) ''
|
||||
sed ${lib.optionalString tpmSupport "-e 's,-ltspi,-L${trousers}/lib -ltspi,'"} \
|
||||
-e 's,-lz,-L${zlib.out}/lib -lz,' \
|
||||
-e 's,-L${gmp.dev}/lib,-L${gmp.out}/lib,' \
|
19
pkgs/development/libraries/gnutls/nix-ssl-cert-file.patch
Normal file
19
pkgs/development/libraries/gnutls/nix-ssl-cert-file.patch
Normal file
|
@ -0,0 +1,19 @@
|
|||
allow overriding system trust store location via $NIX_SSL_CERT_FILE
|
||||
|
||||
diff --git a/lib/system/certs.c b/lib/system/certs.c
|
||||
index 611c645..6ef6edb 100644
|
||||
--- a/lib/system/certs.c
|
||||
+++ b/lib/system/certs.c
|
||||
@@ -369,6 +369,11 @@ gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t list,
|
||||
unsigned int tl_flags,
|
||||
unsigned int tl_vflags)
|
||||
{
|
||||
- return add_system_trust(list, tl_flags|GNUTLS_TL_NO_DUPLICATES, tl_vflags);
|
||||
+ tl_flags = tl_flags|GNUTLS_TL_NO_DUPLICATES;
|
||||
+ const char *file = secure_getenv("NIX_SSL_CERT_FILE");
|
||||
+ return file
|
||||
+ ? gnutls_x509_trust_list_add_trust_file(
|
||||
+ list, file, NULL/*CRL*/, GNUTLS_X509_FMT_PEM, tl_flags, tl_vflags)
|
||||
+ : add_system_trust(list, tl_flags, tl_vflags);
|
||||
}
|
||||
|
126
pkgs/development/libraries/gnutls/no-security-framework.patch
Normal file
126
pkgs/development/libraries/gnutls/no-security-framework.patch
Normal file
|
@ -0,0 +1,126 @@
|
|||
commit 9bcdde1ab9cdff6a4471f9a926dd488ab70c7247
|
||||
Author: Daiderd Jordan <daiderd@gmail.com>
|
||||
Date: Mon Apr 22 16:38:27 2019 +0200
|
||||
|
||||
Revert "gnutls_x509_trust_list_add_system_trust: Add macOS keychain support"
|
||||
|
||||
This reverts commit c0eb46d3463cd21b3f822ac377ff37f067f66b8d.
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 8ad597bfd..8d14f26cd 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -781,7 +781,7 @@ dnl auto detect https://lists.gnu.org/archive/html/help-gnutls/2012-05/msg00004.
|
||||
AC_ARG_WITH([default-trust-store-file],
|
||||
[AS_HELP_STRING([--with-default-trust-store-file=FILE],
|
||||
[use the given file default trust store])], with_default_trust_store_file="$withval",
|
||||
- [if test "$build" = "$host" && test x$with_default_trust_store_pkcs11 = x && test x$with_default_trust_store_dir = x && test x$have_macosx = x;then
|
||||
+ [if test "$build" = "$host" && test x$with_default_trust_store_pkcs11 = x && test x$with_default_trust_store_dir = x;then
|
||||
for i in \
|
||||
/etc/ssl/ca-bundle.pem \
|
||||
/etc/ssl/certs/ca-certificates.crt \
|
||||
diff --git a/lib/Makefile.am b/lib/Makefile.am
|
||||
index fe9cf63a2..745695f7e 100644
|
||||
--- a/lib/Makefile.am
|
||||
+++ b/lib/Makefile.am
|
||||
@@ -203,10 +203,6 @@ if WINDOWS
|
||||
thirdparty_libadd += -lcrypt32
|
||||
endif
|
||||
|
||||
-if MACOSX
|
||||
-libgnutls_la_LDFLAGS += -framework Security -framework CoreFoundation
|
||||
-endif
|
||||
-
|
||||
libgnutls_la_LIBADD += $(thirdparty_libadd)
|
||||
|
||||
# C++ library
|
||||
diff --git a/lib/system/certs.c b/lib/system/certs.c
|
||||
index 611c645e0..912b0aa5e 100644
|
||||
--- a/lib/system/certs.c
|
||||
+++ b/lib/system/certs.c
|
||||
@@ -44,12 +44,6 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
-#ifdef __APPLE__
|
||||
-# include <CoreFoundation/CoreFoundation.h>
|
||||
-# include <Security/Security.h>
|
||||
-# include <Availability.h>
|
||||
-#endif
|
||||
-
|
||||
/* System specific function wrappers for certificate stores.
|
||||
*/
|
||||
|
||||
@@ -276,72 +270,6 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
|
||||
|
||||
return r;
|
||||
}
|
||||
-#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
|
||||
-static
|
||||
-int osstatus_error(status)
|
||||
-{
|
||||
- CFStringRef err_str = SecCopyErrorMessageString(status, NULL);
|
||||
- _gnutls_debug_log("Error loading system root certificates: %s\n",
|
||||
- CFStringGetCStringPtr(err_str, kCFStringEncodingUTF8));
|
||||
- CFRelease(err_str);
|
||||
- return GNUTLS_E_FILE_ERROR;
|
||||
-}
|
||||
-
|
||||
-static
|
||||
-int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
|
||||
- unsigned int tl_vflags)
|
||||
-{
|
||||
- int r=0;
|
||||
-
|
||||
- SecTrustSettingsDomain domain[] = { kSecTrustSettingsDomainUser,
|
||||
- kSecTrustSettingsDomainAdmin,
|
||||
- kSecTrustSettingsDomainSystem };
|
||||
- for (size_t d=0; d<sizeof(domain)/sizeof(*domain); d++) {
|
||||
- CFArrayRef certs = NULL;
|
||||
- OSStatus status = SecTrustSettingsCopyCertificates(domain[d],
|
||||
- &certs);
|
||||
- if (status == errSecNoTrustSettings)
|
||||
- continue;
|
||||
- if (status != errSecSuccess)
|
||||
- return osstatus_error(status);
|
||||
-
|
||||
- int cert_count = CFArrayGetCount(certs);
|
||||
- for (int i=0; i<cert_count; i++) {
|
||||
- SecCertificateRef cert =
|
||||
- (void*)CFArrayGetValueAtIndex(certs, i);
|
||||
- CFDataRef der;
|
||||
- status = SecItemExport(cert, kSecFormatX509Cert, 0,
|
||||
- NULL, &der);
|
||||
- if (status != errSecSuccess) {
|
||||
- CFRelease(der);
|
||||
- CFRelease(certs);
|
||||
- return osstatus_error(status);
|
||||
- }
|
||||
-
|
||||
- if (gnutls_x509_trust_list_add_trust_mem(list,
|
||||
- &(gnutls_datum_t) {
|
||||
- .data = (void*)CFDataGetBytePtr(der),
|
||||
- .size = CFDataGetLength(der),
|
||||
- },
|
||||
- NULL,
|
||||
- GNUTLS_X509_FMT_DER,
|
||||
- tl_flags,
|
||||
- tl_vflags) > 0)
|
||||
- r++;
|
||||
- CFRelease(der);
|
||||
- }
|
||||
- CFRelease(certs);
|
||||
- }
|
||||
-
|
||||
-#ifdef DEFAULT_BLACKLIST_FILE
|
||||
- ret = gnutls_x509_trust_list_remove_trust_file(list, DEFAULT_BLACKLIST_FILE, GNUTLS_X509_FMT_PEM);
|
||||
- if (ret < 0) {
|
||||
- _gnutls_debug_log("Could not load blacklist file '%s'\n", DEFAULT_BLACKLIST_FILE);
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
- return r;
|
||||
-}
|
||||
#else
|
||||
|
||||
#define add_system_trust(x,y,z) GNUTLS_E_UNIMPLEMENTED_FEATURE
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl, libcddb, pkgconfig, ncurses, help2man, libiconv, Carbon, IOKit }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libcdio-2.0.0";
|
||||
name = "libcdio-2.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/libcdio/${name}.tar.bz2";
|
||||
sha256 = "0jr8ppdm80c533nzmrpz3iffnpc6nhvsria1di9f4jg1l19a03fd";
|
||||
sha256 = "0avi6apv5ydjy6b9c3z9a46rvp5i57qyr09vr7x4nndxkmcfjl45";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libdrm-2.4.97";
|
||||
name = "libdrm-2.4.98";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dri.freedesktop.org/libdrm/${name}.tar.bz2";
|
||||
sha256 = "08yimlp6jir1rs5ajgdx74xa5qdzcqahpdzdk0rmkmhh7vdcrl3p";
|
||||
sha256 = "150qdzsm2nx6dfacc75rx53anzsc6m31nhxidf5xxax3mk6fvq4b";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "bin" ];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libdvdread-${version}";
|
||||
version = "6.0.0";
|
||||
version = "6.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://get.videolan.org/libdvdread/${version}/${name}.tar.bz2";
|
||||
sha256 = "0dgr23fzcjhb7ck54xkr9zmf4jcq3ph0dz3fbyvla1c6ni9ijfxk";
|
||||
sha256 = "1gfmh8ii3s2fw1c8vn57piwxc0smd3va4h7xgp9s8g48cc04zki8";
|
||||
};
|
||||
|
||||
buildInputs = [libdvdcss];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libmbim";
|
||||
version = "1.18.0";
|
||||
version = "1.18.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
|
||||
sha256 = "10mjjy860aakfd3h1yaj9l1jw816amrpwmyqlx37j21xv0l03x3c";
|
||||
sha256 = "0s4jsfsydp2vykv7lnimalp9i680aas1qcx7zdpjiic64b5g48vp";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libqmi";
|
||||
version = "1.22.2";
|
||||
version = "1.22.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
|
||||
sha256 = "09w20dsgr16bgbqw5ds7r6j2s6ihwyalh9zpbjhcn7cvm0afbwgi";
|
||||
sha256 = "1wgrrb9vb3myl8xgck8ik86876ycbg8crylybs3ssi21vrxqwnsc";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
# need pkgconfig so that libshout installs ${out}/lib/pkgconfig/shout.pc
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libshout-2.4.1";
|
||||
name = "libshout-2.4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
|
||||
sha256 = "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k";
|
||||
sha256 = "0qgwarqp2p6jy3zadds6dzj8z1jfb2mbwc3lsdlidf527h0a86ym";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
|
|
|
@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
|
|||
"spawn_setuid_fails" "spawn_setgid_fails" "fs_chown" # user namespaces
|
||||
"getaddrinfo_fail" "getaddrinfo_fail_sync"
|
||||
"threadpool_multiple_event_loops" # times out on slow machines
|
||||
"get_passwd" # passed on NixOS but failed on other Linuxes
|
||||
"tcp_writealot" # times out sometimes
|
||||
] ++ stdenv.lib.optionals stdenv.isDarwin [
|
||||
# Sometimes: timeout (no output), failed uv_listen. Someone
|
||||
# should report these failures to libuv team. There tests should
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pcre2-${version}";
|
||||
version = "10.32";
|
||||
version = "10.33";
|
||||
src = fetchurl {
|
||||
url = "https://ftp.pcre.org/pub/pcre/${name}.tar.bz2";
|
||||
sha256 = "0bkwp2czcckvvbdls7b331cad11rxsm020aqhrbz84z8bp68k7pj";
|
||||
sha256 = "1anqi7vpbfzag7imccrc6di1zl5rl63ab7rfpmajpw6d1kzlsl9m";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pixman-${version}";
|
||||
version = "0.38.0";
|
||||
version = "0.38.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xorg/individual/lib/${name}.tar.bz2";
|
||||
sha256 = "1a1nnkjv0rqdj26847r0saly0kzckjfp4y3ly30bvpjxi7vy6s5p";
|
||||
sha256 = "0l0m48lnmdlmnaxn2021qi5cj366d9fzfjxkqgcj9bs14pxbgaw4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "PyChromecast";
|
||||
version = "3.2.0";
|
||||
version = "3.2.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0jksh7rb4880kni8iw3hb5q9dm5gi40zmx4r2fwydnpfhadhq5af";
|
||||
sha256 = "e1e71e30581e1021b6bdd50a80cfcdcfa86d9082171fdd719c5ca6a77b8a9699";
|
||||
};
|
||||
|
||||
disabled = !isPy3k;
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
{ stdenv, fetchPypi, buildPythonPackage, unidecode, regex, isPy3k }:
|
||||
{ stdenv, fetchPypi, buildPythonPackage, python, text-unidecode }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-slugify";
|
||||
version = "2.0.1";
|
||||
version = "3.0.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "d3e034397236020498e677a35e5c05dcc6ba1624b608b9ef7e5fe3090ccbd5a8";
|
||||
sha256 = "57163ffb345c7e26063435a27add1feae67fa821f1ef4b2f292c25847575d758";
|
||||
};
|
||||
doCheck = !isPy3k;
|
||||
# (only) on python3 unittest loader (loadTestsFromModule) fails
|
||||
|
||||
propagatedBuildInputs = [ unidecode regex ];
|
||||
propagatedBuildInputs = [ text-unidecode ];
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} test.py
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/un33k/python-slugify;
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytz";
|
||||
version = "2018.9";
|
||||
version = "2019.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "d5f05e487007e29e03409f9398d074e158d920d36eb82eaf66fb1136b0c5374c";
|
||||
sha256 = "d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141";
|
||||
};
|
||||
|
||||
checkPhase = ''
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytzdata";
|
||||
version = "2018.9";
|
||||
version = "2019.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "dddaaf4f1717820a6fdcac94057e03c1a15b3829a44d9eaf19988917977db408";
|
||||
sha256 = "f0469062f799c66480fcc7eae69a8270dc83f0e6522c0e70db882d6bd708d378";
|
||||
};
|
||||
|
||||
# No tests
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, lib, buildPackages
|
||||
, fetchurl, zlib, autoreconfHook
|
||||
, fetchurl, zlib, autoreconfHook, gettext
|
||||
# Enabling all targets increases output size to a multiple.
|
||||
, withAllTargets ? false, libbfd, libopcodes
|
||||
, enableShared ? true
|
||||
|
@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
|
|||
] ++ lib.optionals stdenv.targetPlatform.isiOS [
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [ zlib ];
|
||||
buildInputs = [ zlib gettext ];
|
||||
|
||||
inherit noSysDirs;
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl, perlPackages, gettext }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "help2man-1.47.9";
|
||||
name = "help2man-1.47.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/help2man/${name}.tar.xz";
|
||||
sha256 = "1li3b6vifhysc2ckx0d7krwrqb8bk0kzn3k18ff1963hjc1qp7nz";
|
||||
sha256 = "1yywli520246aba12vpgj7bhr1r13swad3xm49a0cygqcgywnwgk";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext perlPackages.LocaleGettext ];
|
||||
|
|
|
@ -184,6 +184,7 @@ let
|
|||
VGA_SWITCHEROO = yes; # Hybrid graphics support
|
||||
DRM_GMA600 = yes;
|
||||
DRM_GMA3600 = yes;
|
||||
DRM_VMWGFX_FBCON = yes;
|
||||
# necessary for amdgpu polaris support
|
||||
DRM_AMD_POWERPLAY = whenBetween "4.5" "4.9" yes;
|
||||
# (experimental) amdgpu support for verde and newer chipsets
|
||||
|
|
|
@ -198,6 +198,10 @@ let
|
|||
cp $buildRoot/{.config,Module.symvers} $dev/lib/modules/${modDirVersion}/build
|
||||
make modules_prepare $makeFlags "''${makeFlagsArray[@]}" O=$dev/lib/modules/${modDirVersion}/build
|
||||
|
||||
# For reproducibility, removes accidental leftovers from a `cc1` call
|
||||
# from a `try-run` call from the Makefile
|
||||
rm -f $dev/lib/modules/${modDirVersion}/build/.[0-9]*.d
|
||||
|
||||
# Keep some extra files on some arches (powerpc, aarch64)
|
||||
for f in arch/powerpc/lib/crtsavres.o arch/arm64/kernel/ftrace-mod.o; do
|
||||
if [ -f "$buildRoot/$f" ]; then
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, libxslt, libxml2
|
||||
, docbook_xml_dtd_412, docbook_xsl, gnome-doc-utils, flex, bison
|
||||
, docbook_xml_dtd_45, docbook_xsl, gnome-doc-utils, flex, bison
|
||||
, pam ? null, glibcCross ? null
|
||||
}:
|
||||
|
||||
|
@ -30,12 +30,21 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
|
||||
nativeBuildInputs = [autoreconfHook libxslt libxml2
|
||||
docbook_xml_dtd_412 docbook_xsl gnome-doc-utils flex bison
|
||||
docbook_xml_dtd_45 docbook_xsl gnome-doc-utils flex bison
|
||||
];
|
||||
|
||||
patches =
|
||||
[ ./keep-path.patch
|
||||
# Obtain XML resources from XML catalog (patch adapted from gtk-doc)
|
||||
./respect-xml-catalog-files-var.patch
|
||||
dots_in_usernames
|
||||
|
||||
# Check for correct DocBook version during configure
|
||||
# https://github.com/shadow-maint/shadow/pull/162
|
||||
(fetchpatch {
|
||||
url = "https://github.com/shadow-maint/shadow/commit/47797ca6654f79e3de854a6c69db2bdb0516db08.patch";
|
||||
sha256 = "1zn8f6fd26gj5sh60099xqc7mjwgbbkkic5xfigvxa4b90vm8fd7";
|
||||
})
|
||||
];
|
||||
|
||||
# The nix daemon often forbids even creating set[ug]id files.
|
||||
|
@ -52,11 +61,6 @@ stdenv.mkDerivation rec {
|
|||
preConfigure = ''
|
||||
export ac_cv_func_setpgrp_void=yes
|
||||
export shadow_cv_logdir=/var/log
|
||||
(
|
||||
head -n -1 "${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml"
|
||||
tail -n +3 "${docbook_xsl}/share/xml/docbook-xsl/catalog.xml"
|
||||
) > xmlcatalog
|
||||
configureFlags="$configureFlags --with-xml-catalog=$PWD/xmlcatalog ";
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index dd01f165..e23160ee 100644
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -46,9 +46,21 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
|
||||
ifelse([$3],,,[$3
|
||||
])dnl
|
||||
else
|
||||
- AC_MSG_RESULT([not found])
|
||||
- ifelse([$4],,
|
||||
- [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
|
||||
- [$4])
|
||||
+ jh_check_xml_catalog_saved_ifs="$IFS"
|
||||
+ IFS=' '
|
||||
+ for f in $XML_CATALOG_FILES; do
|
||||
+ if [[ -f "$f" ]] && \
|
||||
+ AC_RUN_LOG([$XMLCATALOG --noout "$f" "$1" >&2]); then
|
||||
+ jh_found_xmlcatalog=true
|
||||
+ AC_MSG_RESULT([found])
|
||||
+ ifelse([$3],,,[$3])
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+ IFS="$jh_check_xml_catalog_saved_ifs"
|
||||
+ if ! $jh_found_xmlcatalog; then
|
||||
+ AC_MSG_RESULT([not found])
|
||||
+ ifelse([$4],,[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],[$4])
|
||||
+ fi
|
||||
fi
|
||||
])
|
|
@ -5,14 +5,14 @@ let
|
|||
version = lib.concatStringsSep "." ([ majorVersion ]
|
||||
++ lib.optional (patchVersion != "") patchVersion);
|
||||
majorVersion = "2.33";
|
||||
patchVersion = "1";
|
||||
patchVersion = "2";
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "util-linux-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/utils/util-linux/v${majorVersion}/${name}.tar.xz";
|
||||
sha256 = "08ggvgrb59m5jbq29950xxirsgv4xj3nwsc7vf82nyg1nvrxjjy1";
|
||||
sha256 = "15yf2dh4jd1kg6066hydlgdhhs2j3na13qld8yx30qngqvmfh6v3";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -41,15 +41,19 @@ in stdenv.mkDerivation rec {
|
|||
"--disable-use-tty-group"
|
||||
"--enable-fs-paths-default=/run/wrappers/bin:/run/current-system/sw/bin:/sbin"
|
||||
"--disable-makeinstall-setuid" "--disable-makeinstall-chown"
|
||||
"--disable-su" # provided by shadow
|
||||
(lib.withFeature (ncurses != null) "ncursesw")
|
||||
(lib.withFeature (systemd != null) "systemd")
|
||||
(lib.withFeatureAs (systemd != null)
|
||||
"systemdsystemunitdir" "$(bin)/lib/systemd/system/")
|
||||
"systemdsystemunitdir" "${placeholder "bin"}/lib/systemd/system/")
|
||||
] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
|
||||
"scanf_cv_type_modifier=ms"
|
||||
;
|
||||
|
||||
makeFlags = "usrbin_execdir=$(bin)/bin usrsbin_execdir=$(bin)/sbin";
|
||||
makeFlags = [
|
||||
"usrbin_execdir=${placeholder "bin"}/bin"
|
||||
"usrsbin_execdir=${placeholder "bin"}/sbin"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs =
|
||||
|
@ -58,9 +62,7 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
doCheck = false; # "For development purpose only. Don't execute on production system!"
|
||||
|
||||
postInstall = ''
|
||||
rm "$bin/bin/su" # su should be supplied by the su package (shadow)
|
||||
'' + lib.optionalString minimal ''
|
||||
postInstall = lib.optionalString minimal ''
|
||||
rm -rf $out/share/{locale,doc,bash-completion}
|
||||
'';
|
||||
|
||||
|
|
|
@ -24,10 +24,10 @@ let
|
|||
});
|
||||
|
||||
jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.10";
|
||||
version = "2.10.1";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4";
|
||||
sha256 = "065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013";
|
||||
};
|
||||
});
|
||||
|
||||
|
@ -52,11 +52,11 @@ let
|
|||
|
||||
in python.pkgs.buildPythonApplication rec {
|
||||
pname = "appdaemon";
|
||||
version = "3.0.4";
|
||||
version = "3.0.5";
|
||||
|
||||
src = python.pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "e2393b5e0bb34e94e61f5debc95ad74c1c6929635b74bf8ba15c22b40cbdec69";
|
||||
sha256 = "623897ce08dc2efe24d04380df36e4b7fb35c0e4007e882857d4047f0b60349d";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -28,28 +28,20 @@ let
|
|||
"10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69")
|
||||
(mkOverride "bcrypt" "3.1.6"
|
||||
"44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea")
|
||||
(self: super: {
|
||||
pyjwt = super.pyjwt.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.6.4";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "4ee413b357d53fd3fb44704577afac88e72e878716116270d722723d65b42176";
|
||||
};
|
||||
doCheck = false; # https://github.com/jpadilla/pyjwt/issues/382
|
||||
});
|
||||
})
|
||||
(mkOverride "cryptography" "2.5"
|
||||
"00c4d7gvsymlaw0r13zrm32dcnarmpayjyrh65yymlmr6mrbcij9")
|
||||
(mkOverride "cryptography_vectors" "2.5" # required by cryptography==2.5
|
||||
"15qfl3pnw2f11r0z0zhwl56f6pb60ysav8fxmpnz5p80cfwljdik")
|
||||
(mkOverride "python-slugify" "1.2.6"
|
||||
"7723daf30996db26573176bddcdf5fcb98f66dc70df05c9cb29f2c79b8193245")
|
||||
(mkOverride "pyjwt" "1.7.1"
|
||||
"8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96")
|
||||
(mkOverride "cryptography" "2.6.1"
|
||||
"26c821cbeb683facb966045e2064303029d572a87ee69ca5a1bf54bf55f93ca6")
|
||||
(mkOverride "cryptography_vectors" "2.6.1" # required by cryptography==2.6.1
|
||||
"03f38115dccb266dd96538f94067442a877932c2322661bdc5bf2502c76658af")
|
||||
(mkOverride "python-slugify" "3.0.2"
|
||||
"57163ffb345c7e26063435a27add1feae67fa821f1ef4b2f292c25847575d758")
|
||||
(mkOverride "pyyaml" "3.13"
|
||||
"3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf")
|
||||
(mkOverride "requests" "2.21.0"
|
||||
"502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e")
|
||||
(mkOverride "ruamel_yaml" "0.15.89"
|
||||
"86d034aa9e2ab3eacc5f75f5cd6a469a2af533b6d9e60ea92edbba540d21b9b7")
|
||||
(mkOverride "ruamel_yaml" "0.15.91"
|
||||
"692f03ed24c8c1d9fa9fd4c045f7ba1c26f1e96edb8bfb4d54854ba26bc02319")
|
||||
(mkOverride "voluptuous" "0.11.5"
|
||||
"567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
|
||||
(mkOverride "voluptuous-serialize" "2.1.0"
|
||||
|
@ -67,14 +59,13 @@ let
|
|||
# required by home-assistant-frontend
|
||||
(self: super: {
|
||||
user-agents = super.user-agents.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.1.0";
|
||||
version = "2.0.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "selwin";
|
||||
repo = "python-user-agents";
|
||||
rev = "v${version}";
|
||||
sha256 = "14kxd780zhp8718xr1z63xffaj3bvxgr4pldh9sv943m4hvi0gw5";
|
||||
sha256 = "0ix2yajqdnfj433j50dls90mkmqz8m4fiywxg097zwkkc95wm8s4";
|
||||
};
|
||||
doCheck = false; # can be dropped for 2.0
|
||||
});
|
||||
})
|
||||
|
||||
|
@ -118,7 +109,7 @@ let
|
|||
extraBuildInputs = extraPackages py.pkgs;
|
||||
|
||||
# Don't forget to run parse-requirements.py after updating
|
||||
hassVersion = "0.91.4";
|
||||
hassVersion = "0.92.2";
|
||||
|
||||
in with py.pkgs; buildPythonApplication rec {
|
||||
pname = "homeassistant";
|
||||
|
@ -133,7 +124,7 @@ in with py.pkgs; buildPythonApplication rec {
|
|||
owner = "home-assistant";
|
||||
repo = "home-assistant";
|
||||
rev = version;
|
||||
sha256 = "195pif8lz0qxjsannpi39gxphfb6dkj9lkpah0vjw0pgx753sflv";
|
||||
sha256 = "10kqfj7gi8w0d9jalb4i2w4ifla8jkllymjav74abc4b30y08vmw";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -145,16 +136,17 @@ in with py.pkgs; buildPythonApplication rec {
|
|||
] ++ componentBuildInputs ++ extraBuildInputs;
|
||||
|
||||
checkInputs = [
|
||||
asynctest pytest pytest-aiohttp requests-mock pydispatcher
|
||||
asynctest pytest pytest-aiohttp requests-mock pydispatcher aiohue
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
# The components' dependencies are not included, so they cannot be tested
|
||||
py.test --ignore tests/components
|
||||
# test_webhook_create_cloudhook imports hass_nabucasa and is thus excluded
|
||||
py.test --ignore tests/components -k "not test_webhook_create_cloudhook"
|
||||
# Some basic components should be tested however
|
||||
py.test \
|
||||
tests/components/{api,config,configurator,demo,discovery,frontend,group,history,history_graph} \
|
||||
tests/components/{homeassistant,http,introduction,logger,script,shell_command,system_log,websocket_api}
|
||||
tests/components/{homeassistant,http,logger,script,shell_command,system_log,websocket_api}
|
||||
'';
|
||||
|
||||
makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip";
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "home-assistant-frontend";
|
||||
version = "20190331.0";
|
||||
version = "20190427.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "2d266a4d3d31af9a50debb99b0e9e9650044698f9157753bec785785057264cf";
|
||||
sha256 = "eb14e7be0ad591ad4623c67db752bc4eb4f4e43ce60bb0f6d1909e9ad9399d91";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ user-agents ];
|
||||
|
|
|
@ -1,28 +1,30 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ aiohttp astral async-timeout attrs certifi jinja2 pyjwt cryptography pip pytz pyyaml requests ruamel_yaml voluptuous python-slugify ])"
|
||||
#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ attrs ])
|
||||
#
|
||||
# This script downloads Home Assistant's source tarball.
|
||||
# Inside the homeassistant/components directory, each component has an associated .py file,
|
||||
# specifying required packages and other components it depends on:
|
||||
# Inside the homeassistant/components directory, each integration has an associated manifest.json,
|
||||
# specifying required packages and other integrations it depends on:
|
||||
#
|
||||
# REQUIREMENTS = [ 'package==1.2.3' ]
|
||||
# DEPENDENCIES = [ 'component' ]
|
||||
# {
|
||||
# "requirements": [ "package==1.2.3" ],
|
||||
# "dependencies": [ "component" ]
|
||||
# }
|
||||
#
|
||||
# By parsing the files, a dictionary mapping component to requirements and dependencies is created.
|
||||
# By parsing the files, a dictionary mapping integrations to requirements and dependencies is created.
|
||||
# For all of these requirements and the dependencies' requirements,
|
||||
# Nixpkgs' python3Packages are searched for appropriate names.
|
||||
# Then, a Nix attribute set mapping component name to dependencies is created.
|
||||
# nixpkgs' python3Packages are searched for appropriate names.
|
||||
# Then, a Nix attribute set mapping integration name to dependencies is created.
|
||||
|
||||
from urllib.request import urlopen
|
||||
import tempfile
|
||||
from io import BytesIO
|
||||
import tarfile
|
||||
import importlib
|
||||
import subprocess
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import pathlib
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import tarfile
|
||||
from urllib.request import urlopen
|
||||
|
||||
COMPONENT_PREFIX = 'homeassistant.components'
|
||||
PKG_SET = 'python3Packages'
|
||||
|
@ -43,22 +45,17 @@ def get_version():
|
|||
def parse_components(version='master'):
|
||||
components = {}
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
with urlopen('https://github.com/home-assistant/home-assistant/archive/{}.tar.gz'.format(version)) as response:
|
||||
with urlopen(f'https://github.com/home-assistant/home-assistant/archive/{version}.tar.gz') as response:
|
||||
tarfile.open(fileobj=BytesIO(response.read())).extractall(tmp)
|
||||
# Use part of a script from the Home Assistant codebase
|
||||
sys.path.append(tmp + '/home-assistant-{}'.format(version))
|
||||
from script.gen_requirements_all import explore_module
|
||||
for package in explore_module(COMPONENT_PREFIX, True):
|
||||
# Remove 'homeassistant.components.' prefix
|
||||
component = package[len(COMPONENT_PREFIX + '.'):]
|
||||
try:
|
||||
module = importlib.import_module(package)
|
||||
components[component] = {}
|
||||
components[component]['requirements'] = getattr(module, 'REQUIREMENTS', [])
|
||||
components[component]['dependencies'] = getattr(module, 'DEPENDENCIES', [])
|
||||
# If there is an ImportError, the imported file is not the main file of the component
|
||||
except ImportError:
|
||||
continue
|
||||
sys.path.append(os.path.join(tmp, f'home-assistant-{version}'))
|
||||
from script.hassfest.model import Integration
|
||||
integrations = Integration.load_dir(pathlib.Path(
|
||||
os.path.join(tmp, f'home-assistant-{version}', 'homeassistant/components')
|
||||
))
|
||||
for domain in sorted(integrations):
|
||||
integration = integrations[domain]
|
||||
components[domain] = integration.manifest
|
||||
return components
|
||||
|
||||
# Recursively get the requirements of a component and its dependencies
|
||||
|
|
|
@ -1,18 +1,26 @@
|
|||
{ stdenv, fetchFromGitHub, valgrind
|
||||
{ stdenv, fetchFromGitHub, valgrind, fetchpatch
|
||||
, enableStatic ? false, enableShared ? true
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lz4-${version}";
|
||||
pname = "lz4";
|
||||
version = "1.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "1l1caxrik1hqs40vj3bpv1pikw6b74cfazv5c0v6g48zpcbmshl0";
|
||||
rev = "v${version}";
|
||||
repo = "lz4";
|
||||
owner = "lz4";
|
||||
repo = pname;
|
||||
owner = pname;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix detection of Darwin
|
||||
(fetchpatch {
|
||||
url = "https://github.com/lz4/lz4/commit/024216ef7394b6411eeaa5b52d0cec9953a44249.patch";
|
||||
sha256 = "0j0j2pr6pkplxf083hlwl5q4cfp86q3wd8mc64bcfcr7ysc5pzl3";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
buildInputs = stdenv.lib.optional doCheck valgrind;
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
source $stdenv/setup
|
||||
installFlags="prefix=$out"
|
||||
makeFlags="CFLAGS=-DWITHOUT_GETTEXT LIBCGETOPT=0"
|
||||
genericBuild
|
|
@ -1,15 +1,19 @@
|
|||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "getopt-1.1.4";
|
||||
builder = ./builder.sh;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "getopt";
|
||||
version = "1.1.6";
|
||||
src = fetchurl {
|
||||
url = http://tarballs.nixos.org/getopt-1.1.4.tar.gz;
|
||||
sha256 = "1arvjfzw6p310zbgv629w5hkyslrj44imf3r3s2r4ry2jfcks221";
|
||||
url = "http://frodo.looijaard.name/system/files/software/${pname}/${pname}-${version}.tar.gz";
|
||||
sha256 = "1zn5kp8ar853rin0ay2j3p17blxy16agpp8wi8wfg4x98b31vgyh";
|
||||
};
|
||||
preBuild = ''
|
||||
export buildFlags=CC="$CC" # for darwin
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"WITHOUT_GETTEXT=1"
|
||||
"LIBCGETOPT=0"
|
||||
"prefix=${placeholder "out"}"
|
||||
"CC:=$(CC)"
|
||||
];
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
|
|
|
@ -61,13 +61,6 @@ in stdenv.mkDerivation rec {
|
|||
# Meson does not support using different directories during build and
|
||||
# for installation like Autotools did with flags passed to make install.
|
||||
./fix-install-paths.patch
|
||||
|
||||
# Our gobject-introspection patches make the shared library paths absolute
|
||||
# in the GIR files. When building docs, the library is not yet installed,
|
||||
# though, so we need to replace the absolute path with a local one during build.
|
||||
# We are replacing the variables in postPatch since substituteAll does not support
|
||||
# placeholders.
|
||||
./fix-docs-build.patch
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -91,10 +84,15 @@ in stdenv.mkDerivation rec {
|
|||
postPatch = ''
|
||||
patchShebangs ./tools
|
||||
patchShebangs libnm/generate-setting-docs.py
|
||||
'';
|
||||
|
||||
substituteInPlace libnm/meson.build \
|
||||
--subst-var-by DOCS_LD_PRELOAD "${libredirect}/lib/libredirect.so" \
|
||||
--subst-var-by DOCS_NIX_REDIRECTS "${placeholder "out"}/lib/libnm.so.0=$PWD/build/libnm/libnm.so.0"
|
||||
preBuild = ''
|
||||
# Our gobject-introspection patches make the shared library paths absolute
|
||||
# in the GIR files. When building docs, the library is not yet installed,
|
||||
# though, so we need to replace the absolute path with a local one during build.
|
||||
# We are using a symlink that will be overridden during installation.
|
||||
mkdir -p ${placeholder "out"}/lib
|
||||
ln -s $PWD/libnm/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
--- a/libnm/meson.build
|
||||
+++ b/libnm/meson.build
|
||||
@@ -262,6 +262,8 @@
|
||||
'env', '-i',
|
||||
'GI_TYPELIB_PATH=' + gi_typelib_path,
|
||||
'LD_LIBRARY_PATH=' + ld_library_path,
|
||||
+ 'LD_PRELOAD=' + '@DOCS_LD_PRELOAD@',
|
||||
+ 'NIX_REDIRECTS=' + '@DOCS_NIX_REDIRECTS@',
|
||||
]
|
||||
|
||||
name = 'nm-property-docs.xml'
|
|
@ -17,7 +17,7 @@ buildPythonApplication rec {
|
|||
prePatch = ''
|
||||
substituteInPlace requirements.txt --replace "urllib3<1.24" "urllib3<2.0" \
|
||||
--replace "six==1.11.0" "six<2.0.0" \
|
||||
--replace "python-slugify==1.2.6" "python-slugify<3.0.0"
|
||||
--replace "python-slugify==1.2.6" "python-slugify<4.0.0"
|
||||
'';
|
||||
|
||||
# Requires external resources
|
||||
|
|
|
@ -10621,13 +10621,9 @@ in
|
|||
then callPackage ../development/libraries/gnu-efi { }
|
||||
else null;
|
||||
|
||||
gnutls = callPackage
|
||||
(if stdenv.isDarwin
|
||||
# Avoid > 3.5.10 due to frameworks for now; see discussion on:
|
||||
# https://github.com/NixOS/nixpkgs/commit/d6454e6a1
|
||||
then ../development/libraries/gnutls/3.5.10.nix
|
||||
else ../development/libraries/gnutls/3.6.nix)
|
||||
{ };
|
||||
gnutls = callPackage ../development/libraries/gnutls/default.nix {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
|
||||
gnutls-kdh = callPackage ../development/libraries/gnutls-kdh/3.5.nix {
|
||||
gperf = gperf_3_0;
|
||||
|
@ -16094,8 +16090,12 @@ in
|
|||
docbook_xml_ebnf_dtd = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf { };
|
||||
|
||||
inherit (callPackages ../data/sgml+xml/stylesheets/xslt/docbook-xsl { })
|
||||
docbook_xsl
|
||||
docbook_xsl_ns;
|
||||
docbook-xsl-nons
|
||||
docbook-xsl-ns;
|
||||
|
||||
# TODO: move this to aliases
|
||||
docbook_xsl = docbook-xsl-nons;
|
||||
docbook_xsl_ns = docbook-xsl-ns;
|
||||
|
||||
documentation-highlighter = callPackage ../misc/documentation-highlighter { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue