libusb: build from source instead of release tarball

This commit is contained in:
Leon Schuermann 2018-10-14 23:18:17 +02:00 committed by Leon Schuermann
parent 54bab3faaf
commit aa63d51a34
2 changed files with 19 additions and 16 deletions

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, pkgconfig, libusb1}: {stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libusb-compat-${version}"; name = "libusb-compat-${version}";
@ -7,12 +7,14 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ]; # get rid of propagating systemd closure outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
outputBin = "dev"; outputBin = "dev";
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig autoreconfHook ];
propagatedBuildInputs = [ libusb1 ]; propagatedBuildInputs = [ libusb1 ];
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/libusb/libusb-compat-0.1/releases/download/v${version}/${name}.tar.gz"; owner = "libusb";
sha256 = "1y2wjba4w9r53sfaacj6awyqhmi31n53j4wwx8g8qj82m8wcwy86"; repo = "libusb-compat-0.1";
rev = "v${version}";
sha256 = "1nybccgjs14b3phhaycq2jx1gym4nf6sghvnv9qdfmlqxacx0jz5";
}; };
patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ./fix-headers.patch; patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ./fix-headers.patch;

View File

@ -1,5 +1,6 @@
{ stdenv { stdenv
, fetchurl , fetchFromGitHub
, autoreconfHook
, pkgconfig , pkgconfig
, enableSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isMusl , enableSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isMusl
, systemd ? null , systemd ? null
@ -10,22 +11,26 @@
assert enableSystemd -> systemd != null; assert enableSystemd -> systemd != null;
stdenv.mkDerivation (rec { stdenv.mkDerivation rec {
pname = "libusb"; pname = "libusb";
version = "1.0.23"; version = "1.0.23";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2"; owner = "libusb";
sha256 = "13dd2a9x290d1q8nb1lqiaf36grcvns5ripk5k2xm0lajmpc04fv"; repo = "libusb";
rev = "v${version}";
sha256 = "0mxbpg01kgbk5nh6524b0m4xk7ywkyzmc3yhi5asqcsd3rbhjj98";
}; };
outputs = [ "out" "dev" ]; # get rid of propagating systemd closure outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig autoreconfHook ];
propagatedBuildInputs = propagatedBuildInputs =
stdenv.lib.optional enableSystemd systemd ++ stdenv.lib.optional enableSystemd systemd ++
stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ]; stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
dontDisableStatic = withStatic;
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
preFixup = stdenv.lib.optionalString stdenv.isLinux '' preFixup = stdenv.lib.optionalString stdenv.isLinux ''
@ -43,8 +48,4 @@ stdenv.mkDerivation (rec {
license = licenses.lgpl21Plus; license = licenses.lgpl21Plus;
maintainers = [ ]; maintainers = [ ];
}; };
} // stdenv.lib.optionalAttrs withStatic { }
# Carefully added here to avoid a mass rebuild.
# Inline this the next time this package changes.
dontDisableStatic = withStatic;
})