diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libsoup')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libsoup/3.x.nix | 102 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libsoup/default.nix | 96 |
2 files changed, 198 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libsoup/3.x.nix b/nixpkgs/pkgs/development/libraries/libsoup/3.x.nix new file mode 100644 index 000000000000..4791e49ae3fa --- /dev/null +++ b/nixpkgs/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.5"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-9dFD22gws4Je3CocREnWOSc7C/oBeklwhxli2byiIUU="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + glib + python3 + ] ++ lib.optionals withIntrospection [ + gobject-introspection + ] ++ lib.optionals withVala [ + vala + ]; + + buildInputs = [ + 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 = "libsoup_3"; + 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/nixpkgs/pkgs/development/libraries/libsoup/default.nix b/nixpkgs/pkgs/development/libraries/libsoup/default.nix new file mode 100644 index 000000000000..83fb0c4a0292 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libsoup/default.nix @@ -0,0 +1,96 @@ +{ stdenv +, lib +, fetchurl +, glib +, libxml2 +, meson +, ninja +, pkg-config +, gnome +, libsysprof-capture +, gnomeSupport ? true +, sqlite +, glib-networking +, gobject-introspection +, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform +, vala +, withVala ? stdenv.buildPlatform == stdenv.hostPlatform +, libpsl +, python3 +, brotli +}: + +stdenv.mkDerivation rec { + pname = "libsoup"; + version = "2.74.2"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-8KQnZW5f4Z4d9xwQfojfobLmc8JcVHt4I7YBi0DQEVk="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + glib + ] ++ lib.optionals withIntrospection [ + gobject-introspection + ] ++ lib.optionals withVala [ + vala + ]; + + buildInputs = [ + python3 + sqlite + libpsl + glib.out + brotli + ] ++ lib.optionals stdenv.isLinux [ + libsysprof-capture + ]; + + propagatedBuildInputs = [ + glib + libxml2 + ]; + + 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"}" + "-Dgnome=${lib.boolToString gnomeSupport}" + "-Dntlm=disabled" + ] ++ lib.optionals (!stdenv.isLinux) [ + "-Dsysprof=disabled" + ]; + + NIX_CFLAGS_COMPILE = "-lpthread"; + + doCheck = false; # ERROR:../tests/socket-test.c:37:do_unconnected_socket_test: assertion failed (res == SOUP_STATUS_OK): (2 == 200) + + postPatch = '' + patchShebangs libsoup/ + ''; + + passthru = { + propagatedUserEnvPackages = [ + glib-networking.out + ]; + updateScript = gnome.updateScript { + packageName = pname; + versionPolicy = "odd-unstable"; + freeze = true; + }; + }; + + meta = { + description = "HTTP client/server library for GNOME"; + homepage = "https://wiki.gnome.org/Projects/libsoup"; + license = lib.licenses.lgpl2Plus; + inherit (glib.meta) maintainers platforms; + }; +} |