diff --git a/pkgs/development/libraries/sope/default.nix b/pkgs/development/libraries/sope/default.nix new file mode 100644 index 000000000000..9d0b3bf76b36 --- /dev/null +++ b/pkgs/development/libraries/sope/default.nix @@ -0,0 +1,46 @@ +{ gnustep, lib, fetchFromGitHub , libxml2, openssl_1_1 +, openldap, mysql, libmysqlclient, postgresql }: with lib; gnustep.stdenv.mkDerivation rec { + pname = "sope"; + version = "4.3.2"; + + src = fetchFromGitHub { + owner = "inverse-inc"; + repo = pname; + rev = "SOPE-${version}"; + sha256 = "0ny1ihx38gd25w8f3dfybyswvyjfljvb2fhfmkajgg6hhjrkfar2"; + }; + + nativeBuildInputs = [ gnustep.make ]; + buildInputs = flatten ([ gnustep.base libxml2 openssl_1_1 ] + ++ optional (openldap != null) openldap + ++ optionals (mysql != null) [ libmysqlclient mysql ] + ++ optional (postgresql != null) postgresql); + + postPatch = '' + # Exclude NIX_ variables + sed -i 's/grep GNUSTEP_/grep ^GNUSTEP_/g' configure + ''; + + preConfigure = '' + export DESTDIR="$out" + ''; + + configureFlags = [ "--prefix=" "--disable-debug" "--enable-xml" "--with-ssl=ssl" ] + ++ optional (openldap != null) "--enable-openldap" + ++ optional (mysql != null) "--enable-mysql" + ++ optional (postgresql != null) "--enable-postgresql"; + + # Yes, this is ugly. + preFixup = '' + cp -rlPa $out/nix/store/*/* $out + rm -rf $out/nix/store + ''; + + meta = { + description = "SOPE is an extensive set of frameworks which form a complete Web application server environment"; + license = licenses.publicDomain; + homepage = "https://github.com/inverse-inc/sope"; + platforms = platforms.linux; + maintainers = with maintainers; [ ajs124 das_j ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3fa8a2b4b156..92742c9f5fb2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14489,6 +14489,8 @@ in sonic = callPackage ../development/libraries/sonic { }; + sope = callPackage ../development/libraries/sope { }; + soprano = callPackage ../development/libraries/soprano { }; soqt = callPackage ../development/libraries/soqt { };