nixpkgs/pkgs/by-name/om/omniorb/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

53 lines
1.7 KiB
Nix

{ lib
, stdenv
, fetchurl
, pkg-config
, python3
}:
stdenv.mkDerivation rec {
pname = "omniorb";
version = "4.3.2";
src = fetchurl {
url = "mirror://sourceforge/project/omniorb/omniORB/omniORB-${version}/omniORB-${version}.tar.bz2";
hash = "sha256-HHRTMNAZBK/Xoe0KWJa5puU6waS4ZKSFA7k8fuy/H6g=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ python3 ];
enableParallelBuilding = true;
hardeningDisable = [ "format" ];
# Transform omniidl_be into a PEP420 namespace to allow other projects to define
# their omniidl backends. Especially useful for omniorbpy, the python backend.
postInstall = ''
rm $out/${python3.sitePackages}/omniidl_be/__init__.py
rm $out/${python3.sitePackages}/omniidl_be/__pycache__/__init__.*.pyc
'';
# Ensure postInstall didn't break cxx backend
# Same as 'pythonImportsCheck = ["omniidl_be.cxx"];', but outside buildPythonPackage
doInstallCheck = true;
postInstallCheck = ''
export PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
${lib.getExe python3} -c "import omniidl_be.cxx"
'';
meta = with lib; {
description = "Robust high performance CORBA ORB for C++ and Python";
longDescription = ''
omniORB is a robust high performance CORBA ORB for C++ and Python.
It is freely available under the terms of the GNU Lesser General Public License
(for the libraries),and GNU General Public License (for the tools).
omniORB is largely CORBA 2.6 compliant.
'';
homepage = "http://omniorb.sourceforge.net/";
license = with licenses; [ gpl2Plus lgpl21Plus ];
maintainers = with maintainers; [ smironov ];
platforms = platforms.unix;
};
}