nixpkgs/pkgs/desktops/gnustep/base/default.nix
2024-03-03 20:15:34 +01:00

80 lines
2.2 KiB
Nix

{ lib
, stdenv
, aspell
, audiofile
, make
, wrapGNUstepAppsHook
, cups
, fetchzip
, fetchpatch
, gmp
, gnutls
, libffi
, binutils-unwrapped
, libjpeg
, libtiff
, libpng
, giflib
, libxml2
, libxslt
, libiconv
, libobjc
, libgcrypt
, icu
, pkg-config
, portaudio
, libiberty
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gnustep-base";
version = "1.29.0";
src = fetchzip {
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-${finalAttrs.version}.tar.gz";
hash = "sha256-4fjdsLBsYEDxLOFrq17dKii2sLKvOaFCu0cw3qQtM5U=";
};
outputs = [ "out" "dev" "lib" ];
nativeBuildInputs = [ pkg-config make wrapGNUstepAppsHook ];
propagatedBuildInputs = [
aspell audiofile
cups
gmp gnutls
libffi binutils-unwrapped
libjpeg libtiff libpng giflib
libxml2 libxslt libiconv
libobjc libgcrypt
icu
portaudio
libiberty
];
patches = [
./fixup-paths.patch
# https://github.com/gnustep/libs-base/issues/212 / https://www.sogo.nu/bugs/view.php?id=5416#c15585
(fetchpatch {
url = "https://github.com/gnustep/libs-base/commit/bd5f2909e6edc8012a0a6e44ea1402dfbe1353a4.patch";
revert = true;
sha256 = "02awigkbhqa60hfhqfh2wjsa960y3q6557qck1k2l231piz2xasa";
})
# https://github.com/gnustep/libs-base/issues/294
(fetchpatch {
url = "https://github.com/gnustep/libs-base/commit/37913d006d96a6bdcb963f4ca4889888dcce6094.patch";
sha256 = "PyOmzRIirSKG5SQY+UwD6moCidPb8PXCx3aFgfwxsXE=";
})
# https://github.com/gnustep/libs-base/pull/334
(fetchpatch {
url = "https://github.com/gnustep/libs-base/commit/b4feee311f2beaf499a5742967213f523de30f16.patch";
excludes = [ "ChangeLog" ];
hash = "sha256-r0qpxjpEM6y+F/gju6JhpDNxnFJNHFG/mt3NmC1hWrs=";
})
];
meta = {
changelog = "https://github.com/gnustep/libs-base/releases/tag/base-${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}";
description = "An implementation of AppKit and Foundation libraries of OPENSTEP and Cocoa";
homepage = "https://gnustep.github.io/";
license = lib.licenses.lgpl2Plus;
maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ];
platforms = lib.platforms.linux;
};
})