diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/by-name/po/polyml/package.nix similarity index 66% rename from pkgs/development/compilers/polyml/default.nix rename to pkgs/by-name/po/polyml/package.nix index be8ff324271f..18674635298b 100644 --- a/pkgs/development/compilers/polyml/default.nix +++ b/pkgs/by-name/po/polyml/package.nix @@ -1,20 +1,24 @@ { lib, stdenv, + pkgsHostTarget, fetchFromGitHub, autoreconfHook, gmp, libffi, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "polyml"; version = "5.9.2"; + __structuredAttrs = true; + strictDeps = true; + src = fetchFromGitHub { owner = "polyml"; repo = "polyml"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-dHP5XNoLcFIqASfZVWu3MtY3B3H66skEl8ohlwTGyyM="; }; @@ -32,6 +36,7 @@ stdenv.mkDerivation rec { buildInputs = [ libffi gmp + pkgsHostTarget.stdenv.cc ]; nativeBuildInputs = [ autoreconfHook ]; @@ -42,14 +47,13 @@ stdenv.mkDerivation rec { "--with-gmp" ]; - doCheck = true; - - checkPhase = '' - runHook preCheck - make check - runHook postCheck + preInstall = '' + substituteInPlace polyc \ + --replace-fail "LINK=\"$CXX\"" "LINK=\"${lib.getExe' pkgsHostTarget.stdenv.cc "c++"}\"" ''; + doCheck = true; + meta = { description = "Standard ML compiler and interpreter"; longDescription = '' @@ -58,8 +62,9 @@ stdenv.mkDerivation rec { homepage = "https://www.polyml.org/"; license = lib.licenses.lgpl21; platforms = with lib.platforms; (linux ++ darwin); - maintainers = with lib.maintainers; [ - kovirobi - ]; + # Broken as make target `polyimport.o` requires running code + # compiled by the cross-compiler + broken = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform); + maintainers = with lib.maintainers; [ sempiternal-aurora ]; }; -} +}) diff --git a/pkgs/development/compilers/polyml/5.6.nix b/pkgs/development/compilers/polyml/5.6.nix deleted file mode 100644 index 5b1d9f799738..000000000000 --- a/pkgs/development/compilers/polyml/5.6.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - autoreconfHook, - fetchpatch, -}: - -let - version = "5.6"; -in - -stdenv.mkDerivation { - pname = "polyml"; - inherit version; - - postPatch = '' - substituteInPlace configure.ac \ - --replace-fail 'AC_FUNC_ALLOCA' "AC_FUNC_ALLOCA - AH_TEMPLATE([_Static_assert]) - AC_DEFINE([_Static_assert], [static_assert]) - " - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace configure.ac --replace-fail stdc++ c++ - ''; - - patches = [ - # glibc 2.34 compat - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/polyml/raw/4d8868ca5a1ce3268f212599a321f8011c950496/f/polyml-pthread-stack-min.patch"; - sha256 = "1h5ihg2sxld9ymrl3f2mpnbn2242ka1fsa0h4gl9h90kndvg6kby"; - }) - ]; - - nativeBuildInputs = [ autoreconfHook ]; - - src = fetchurl { - url = "mirror://sourceforge/polyml/polyml.${version}.tar.gz"; - sha256 = "05d6l2a5m9jf32a8kahwg2p2ph4x9rjf1nsl83331q3gwn5bkmr0"; - }; - - meta = { - description = "Standard ML compiler and interpreter"; - longDescription = '' - Poly/ML is a full implementation of Standard ML. - ''; - homepage = "https://www.polyml.org/"; - license = lib.licenses.lgpl21; - platforms = with lib.platforms; linux; - maintainers = [ - # Add your name here! - ]; - }; -} diff --git a/pkgs/development/compilers/polyml/5.7-new-libffi-FFI_SYSV.patch b/pkgs/development/compilers/polyml/5.7-new-libffi-FFI_SYSV.patch deleted file mode 100644 index c5c9846300f1..000000000000 --- a/pkgs/development/compilers/polyml/5.7-new-libffi-FFI_SYSV.patch +++ /dev/null @@ -1,34 +0,0 @@ -For 5.7 the copyright header is different. - -From ad32de7f181acaffaba78d5c3d9e5aa6b84a741c Mon Sep 17 00:00:00 2001 -From: David Matthews -Date: Sun, 7 Apr 2019 13:41:33 +0100 -Subject: [PATCH] Remove FFI_SYSV from abi table for X86/64 Unix. It appears - that this has been removed in upstream versions of libffi and causes problems - when building using the system libffi. - ---- - libpolyml/polyffi.cpp | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/libpolyml/polyffi.cpp b/libpolyml/polyffi.cpp -index 5424dd84..3dc9cc7c 100644 ---- a/libpolyml/polyffi.cpp -+++ b/libpolyml/polyffi.cpp -@@ -1,7 +1,7 @@ - /* - Title: New Foreign Function Interface - -- Copyright (c) 2015 David C.J. Matthews -+ Copyright (c) 2015, 2019 David C.J. Matthews - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public -@@ -109,7 +109,6 @@ static struct _abiTable { const char *abiName; ffi_abi abiCode; } abiTable[] = - #elif defined(X86_WIN64) - {"win64", FFI_WIN64}, - #elif defined(X86_ANY) -- {"sysv", FFI_SYSV}, - {"unix64", FFI_UNIX64}, - #endif - { "default", FFI_DEFAULT_ABI} diff --git a/pkgs/development/compilers/polyml/5.7.nix b/pkgs/development/compilers/polyml/5.7.nix deleted file mode 100644 index a9cf21157fea..000000000000 --- a/pkgs/development/compilers/polyml/5.7.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - autoreconfHook, - gmp, - libffi, - fetchpatch, -}: - -stdenv.mkDerivation rec { - pname = "polyml"; - version = "5.7.1"; - - postPatch = '' - substituteInPlace configure.ac \ - --replace-fail 'AC_FUNC_ALLOCA' "AC_FUNC_ALLOCA - AH_TEMPLATE([_Static_assert]) - AC_DEFINE([_Static_assert], [static_assert]) - " - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace configure.ac --replace-fail stdc++ c++ - ''; - - patches = [ - ./5.7-new-libffi-FFI_SYSV.patch - - # glibc 2.34 compat - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/polyml/raw/4d8868ca5a1ce3268f212599a321f8011c950496/f/polyml-pthread-stack-min.patch"; - sha256 = "1h5ihg2sxld9ymrl3f2mpnbn2242ka1fsa0h4gl9h90kndvg6kby"; - }) - ]; - - buildInputs = [ - libffi - gmp - ]; - - nativeBuildInputs = [ autoreconfHook ]; - - configureFlags = [ - "--enable-shared" - "--with-system-libffi" - "--with-gmp" - ]; - - src = fetchFromGitHub { - owner = "polyml"; - repo = "polyml"; - rev = "v${version}"; - sha256 = "0j0wv3ijfrjkfngy7dswm4k1dchk3jak9chl5735dl8yrl8mq755"; - }; - - meta = { - description = "Standard ML compiler and interpreter"; - longDescription = '' - Poly/ML is a full implementation of Standard ML. - ''; - homepage = "https://www.polyml.org/"; - license = lib.licenses.lgpl21; - platforms = with lib.platforms; (linux ++ darwin); - # never built on aarch64-darwin since first introduction in nixpkgs - # The last successful Darwin Hydra build was in 2024 - broken = stdenv.hostPlatform.isDarwin; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 1749b21f0fb5..7d544d13b1ef 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1757,6 +1757,8 @@ mapAliases { podofo_1_0 = throw "'podofo_1_0' has been deprecated in favour of 'podofo'"; # Added 2026-05-08 polipo = throw "'polipo' has been removed as it is unmaintained upstream"; # Added 2025-05-18 polonium = throw "'polonium' has been removed, as Plasma 5 has reached end of life."; # Added 2026-05-01 + polyml56 = throw "'polyml56' has been deprecated in favor of polyml"; # Added 2026-06-01 + polyml57 = throw "'polyml57' has been deprecated in favor of polyml"; # Added 2026-06-01 polypane = throw "'polypane' has been removed due to lack of maintenance in nixpkgs"; # Added 2025-06-25 poppler_utils = throw "'poppler_utils' has been renamed to/replaced by 'poppler-utils'"; # Converted to throw 2025-10-27 popura = throw "'popura' is abandoned upstream and in nixpkgs and has been removed"; # Added 2026-01-15 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 83d919288d1d..e6a67b5a2d61 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4846,10 +4846,6 @@ with pkgs; php85Extensions = recurseIntoAttrs php85.extensions; php85Packages = recurseIntoAttrs php85.packages; - polyml = callPackage ../development/compilers/polyml { }; - polyml56 = callPackage ../development/compilers/polyml/5.6.nix { }; - polyml57 = callPackage ../development/compilers/polyml/5.7.nix { }; - # Python interpreters. All standard library modules are included except for tkinter, which is # available as `pythonPackages.tkinter` and can be used as any other Python package. # When switching these sets, please update docs at ../../doc/languages-frameworks/python.md