From 8d4272fdf1569986c756382f6801f5cb26ea407e Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 29 Sep 2021 16:01:00 +0200 Subject: [PATCH] libsoup3: init at 3.0.1 https://gitlab.gnome.org/GNOME/libsoup/-/blob/9be41160825b8238b482208b46bfe16b2f239ce3/NEWS --- pkgs/development/libraries/libsoup/3.x.nix | 102 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 104 insertions(+) create mode 100644 pkgs/development/libraries/libsoup/3.x.nix diff --git a/pkgs/development/libraries/libsoup/3.x.nix b/pkgs/development/libraries/libsoup/3.x.nix new file mode 100644 index 000000000000..6fd7f3e696a2 --- /dev/null +++ b/pkgs/development/libraries/libsoup/3.x.nix @@ -0,0 +1,102 @@ +{ stdenv +, lib +, fetchurl +, glib +, meson +, ninja +, pkg-config +, gnome +, libsysprof-capture +, sqlite +, glib-networking +, gobject-introspection +, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform +, vala +, withVala ? stdenv.buildPlatform == stdenv.hostPlatform +, libpsl +, python3 +, brotli +, libnghttp2 +}: + +stdenv.mkDerivation rec { + pname = "libsoup"; + version = "3.0.1"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-bwwxbRD4RYuW9WTHZEvjwgEb11rVBUyNsmr7DJqRvEc="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + glib + ] ++ lib.optionals withIntrospection [ + gobject-introspection + ] ++ lib.optionals withVala [ + vala + ]; + + buildInputs = [ + python3 + sqlite + libpsl + glib.out + brotli + libnghttp2 + ] ++ lib.optionals stdenv.isLinux [ + libsysprof-capture + ]; + + propagatedBuildInputs = [ + glib + ]; + + mesonFlags = [ + "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency + "-Dgssapi=disabled" + "-Dvapi=${if withVala then "enabled" else "disabled"}" + "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" + "-Dntlm=disabled" + # Requires wstest from autobahn-testsuite. + "-Dautobahn=disabled" + # Requires quart Python module. + "-Dhttp2_tests=disabled" + # Requires gnutls, not added for closure size. + "-Dpkcs11_tests=disabled" + ] ++ lib.optionals (!stdenv.isLinux) [ + "-Dsysprof=disabled" + ]; + + # TODO: For some reason the pkg-config setup hook does not pick this up. + PKG_CONFIG_PATH = "${libnghttp2.dev}/lib/pkgconfig"; + + # HSTS tests fail. + doCheck = false; + + postPatch = '' + patchShebangs libsoup/ + ''; + + passthru = { + propagatedUserEnvPackages = [ + glib-networking.out + ]; + updateScript = gnome.updateScript { + attrPath = "libsoup3"; + packageName = pname; + versionPolicy = "odd-unstable"; + }; + }; + + meta = { + description = "HTTP client/server library for GNOME"; + homepage = "https://wiki.gnome.org/Projects/libsoup"; + license = lib.licenses.lgpl2Plus; + inherit (glib.meta) maintainers platforms; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d29b7e82c8d..c0e912b202d7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17831,6 +17831,8 @@ with pkgs; libsoup = callPackage ../development/libraries/libsoup { }; + libsoup3 = callPackage ../development/libraries/libsoup/3.x.nix { }; + libspectrum = callPackage ../development/libraries/libspectrum { }; libspiro = callPackage ../development/libraries/libspiro {};