diff --git a/pkgs/by-name/li/libxp/package.nix b/pkgs/by-name/li/libxp/package.nix new file mode 100644 index 000000000000..076b7ddb5510 --- /dev/null +++ b/pkgs/by-name/li/libxp/package.nix @@ -0,0 +1,69 @@ +# TODO: remove this deprecated package +# X.Org removed support for the Xprt server from the xorg-server releases in the 1.6.0 release in +# 2009, and the standalone git repo it was moved to has been unmaintained since 2009, making it +# difficult to actually use this library. +# Some packages in nixpkgs still somehow depend on it tho. +{ + lib, + stdenv, + fetchurl, + pkg-config, + xorgproto, + libx11, + libxau, + libxext, + writeScript, + testers, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libxp"; + version = "1.0.4"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchurl { + url = "mirror://xorg/individual/lib/libXp-${finalAttrs.version}.tar.xz"; + hash = "sha256-HxnjuOgqNKj9mImn2a8KvoWIywP7V8N8VpY0zzud8aQ="; + }; + + strictDeps = true; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + xorgproto + libx11 + libxau + libxext + ]; + + propagatedBuildInputs = [ xorgproto ]; + + passthru = { + updateScript = writeScript "update-${finalAttrs.pname}" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts + version="$(list-directory-versions --pname libXp \ + --url https://xorg.freedesktop.org/releases/individual/lib/ \ + | sort -V | tail -n1)" + update-source-version ${finalAttrs.pname} "$version" + ''; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; + + meta = { + description = "X Print Client Library"; + longDescription = '' + This library provides support for X11 clients to print via the X Print Extension, as + previously implemented in the Xprt server. + ''; + homepage = "https://gitlab.freedesktop.org/xorg/lib/libxp"; + license = lib.licenses.x11; + maintainers = [ ]; + pkgConfigModules = [ "xp" ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 8d98269160a1..05a46b3329f4 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -63,6 +63,7 @@ libxft, libxi, libxmu, + libxp, libxpm, libxrandr, libxrender, @@ -229,6 +230,7 @@ self: with self; { libXft = libxft; libXi = libxi; libXmu = libxmu; + libXp = libxp; libXpm = libxpm; libXrandr = libxrandr; libXrender = libxrender; @@ -1051,46 +1053,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - libXp = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libX11, - libXau, - libXext, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "libXp"; - version = "1.0.4"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/lib/libXp-1.0.4.tar.xz"; - sha256 = "197iklxwyd4naryc6mzv0g5qi1dy1apxk9w9k3yshd1ax2wf668z"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libX11 - libXau - libXext - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ "xp" ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! libXpresent = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 0eed02f53618..0e3d2e3123c3 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -74,6 +74,7 @@ $pcMap{"xft"} = "libXft"; $pcMap{"xi"} = "libXi"; $pcMap{"xmu"} = "libXmu"; $pcMap{"xmuu"} = "libXmu"; +$pcMap{"xp"} = "libXp"; $pcMap{"xpm"} = "libXpm"; $pcMap{"xrandr"} = "libXrandr"; $pcMap{"xrender"} = "libXrender"; @@ -386,6 +387,7 @@ print OUT <