From 33ec1b434b4e7cc6aceb0893fbf2ed0c8aed43ff Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 13:36:30 +0100 Subject: [PATCH 01/10] bencodetools: Drop python module building Newest python makes "setup.py install" not work anymore. This is likely better handled by making this a proper pythonPackages entry anyway. --- pkgs/by-name/be/bencodetools/package.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/be/bencodetools/package.nix b/pkgs/by-name/be/bencodetools/package.nix index b6a9ab68dda0..3ea2307397b7 100644 --- a/pkgs/by-name/be/bencodetools/package.nix +++ b/pkgs/by-name/be/bencodetools/package.nix @@ -2,7 +2,6 @@ stdenv, lib, fetchFromGitLab, - python3, }: stdenv.mkDerivation { @@ -24,13 +23,20 @@ stdenv.mkDerivation { enableParallelBuilding = true; - nativeBuildInputs = [ - (python3.withPackages (ps: with ps; [ distutils ])) + configureFlags = [ + (lib.strings.withFeature false "python") ]; # installCheck instead of check due to -install_name'd library on Darwin doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; - installCheckTarget = "check"; + + installCheckPhase = '' + runHook preInstallCheck + + ./bencodetest + + runHook postInstallCheck + ''; meta = with lib; { description = "Collection of tools for manipulating bencoded data"; From d6b1d5c1e21895ec524027e14f4f7112f5553526 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 13:36:52 +0100 Subject: [PATCH 02/10] bencodetools: nixfmt --- pkgs/by-name/be/bencodetools/package.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/by-name/be/bencodetools/package.nix b/pkgs/by-name/be/bencodetools/package.nix index 3ea2307397b7..f21b250a4cff 100644 --- a/pkgs/by-name/be/bencodetools/package.nix +++ b/pkgs/by-name/be/bencodetools/package.nix @@ -23,9 +23,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; - configureFlags = [ - (lib.strings.withFeature false "python") - ]; + configureFlags = [ (lib.strings.withFeature false "python") ]; # installCheck instead of check due to -install_name'd library on Darwin doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; From 14a65d60132d73d955a588b74d73d2ed37de830a Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 13:39:40 +0100 Subject: [PATCH 03/10] bencodetools: Modernise --- pkgs/by-name/be/bencodetools/package.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/be/bencodetools/package.nix b/pkgs/by-name/be/bencodetools/package.nix index f21b250a4cff..6e7c827b097a 100644 --- a/pkgs/by-name/be/bencodetools/package.nix +++ b/pkgs/by-name/be/bencodetools/package.nix @@ -12,13 +12,11 @@ stdenv.mkDerivation { owner = "heikkiorsila"; repo = "bencodetools"; rev = "384d78d297a561dddbbd0f4632f0c74c0db41577"; - sha256 = "1d699q9r33hkmmqkbh92ax54mcdf9smscmc0dza2gp4srkhr83qm"; + hash = "sha256-FQ+U4cya3CfUb4BVpqtOrrFKSlciwTVxrROOkRNOybQ="; }; postPatch = '' patchShebangs configure - substituteInPlace configure \ - --replace 'python_install_option=""' 'python_install_option="--prefix=$out"' ''; enableParallelBuilding = true; @@ -36,12 +34,12 @@ stdenv.mkDerivation { runHook postInstallCheck ''; - meta = with lib; { + meta = { description = "Collection of tools for manipulating bencoded data"; homepage = "https://gitlab.com/heikkiorsila/bencodetools"; - license = licenses.bsd2; - maintainers = with maintainers; [ OPNA2608 ]; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ OPNA2608 ]; mainProgram = "bencat"; - platforms = platforms.unix; + platforms = lib.platforms.unix; }; } From 320dfaba2d92d3ad7bb70cd55b20d83484f7f967 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 13:43:12 +0100 Subject: [PATCH 04/10] bencodetools: unstable-2022-05-11 -> 1.0.1 --- pkgs/by-name/be/bencodetools/package.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/be/bencodetools/package.nix b/pkgs/by-name/be/bencodetools/package.nix index 6e7c827b097a..26b069f8b17e 100644 --- a/pkgs/by-name/be/bencodetools/package.nix +++ b/pkgs/by-name/be/bencodetools/package.nix @@ -2,17 +2,18 @@ stdenv, lib, fetchFromGitLab, + gitUpdater, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "bencodetools"; - version = "unstable-2022-05-11"; + version = "1.0.1"; src = fetchFromGitLab { owner = "heikkiorsila"; repo = "bencodetools"; - rev = "384d78d297a561dddbbd0f4632f0c74c0db41577"; - hash = "sha256-FQ+U4cya3CfUb4BVpqtOrrFKSlciwTVxrROOkRNOybQ="; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-5Y1r6+aVtK22lYr2N+YUPPdUts9PIF9I/Pq/mI+WqQs="; }; postPatch = '' @@ -34,6 +35,8 @@ stdenv.mkDerivation { runHook postInstallCheck ''; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; + meta = { description = "Collection of tools for manipulating bencoded data"; homepage = "https://gitlab.com/heikkiorsila/bencodetools"; @@ -42,4 +45,4 @@ stdenv.mkDerivation { mainProgram = "bencat"; platforms = lib.platforms.unix; }; -} +}) From c07a80fd1c505132bd59eee4fb7869183c0c79e5 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 14:05:38 +0100 Subject: [PATCH 05/10] python3Packages.bencodetools: init at 1.0.1 --- pkgs/by-name/be/bencodetools/package.nix | 6 +++- .../python-modules/bencodetools/default.nix | 30 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 +++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/python-modules/bencodetools/default.nix diff --git a/pkgs/by-name/be/bencodetools/package.nix b/pkgs/by-name/be/bencodetools/package.nix index 26b069f8b17e..cf46f7dd734e 100644 --- a/pkgs/by-name/be/bencodetools/package.nix +++ b/pkgs/by-name/be/bencodetools/package.nix @@ -3,6 +3,7 @@ lib, fetchFromGitLab, gitUpdater, + python3Packages, }: stdenv.mkDerivation (finalAttrs: { @@ -35,7 +36,10 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstallCheck ''; - passthru.updateScript = gitUpdater { rev-prefix = "v"; }; + passthru = { + tests.python-module = python3Packages.bencodetools; + updateScript = gitUpdater { rev-prefix = "v"; }; + }; meta = { description = "Collection of tools for manipulating bencoded data"; diff --git a/pkgs/development/python-modules/bencodetools/default.nix b/pkgs/development/python-modules/bencodetools/default.nix new file mode 100644 index 000000000000..ae25f07db2be --- /dev/null +++ b/pkgs/development/python-modules/bencodetools/default.nix @@ -0,0 +1,30 @@ +{ + buildPythonPackage, + bencodetools, + pytestCheckHook, + setuptools, +}: +buildPythonPackage { + inherit (bencodetools) pname version src; + format = "pyproject"; + + nativeBuildInputs = [ setuptools ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + dontConfigure = true; + + pythonImportsCheck = [ + "bencode" + "typevalidator" + ]; + + meta = { + inherit (bencodetools.meta) + description + homepage + license + maintainers + ; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb1a12c33f6a..ccf4030e7021 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1575,6 +1575,10 @@ self: super: with self; { bencoder = callPackage ../development/python-modules/bencoder { }; + bencodetools = callPackage ../development/python-modules/bencodetools { + bencodetools = pkgs.bencodetools; + }; + beniget = callPackage ../development/python-modules/beniget { }; bentoml = callPackage ../development/python-modules/bentoml { }; From 1068fc949e406ca3a3b71b60eaebde4104646aad Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 15:52:54 +0100 Subject: [PATCH 06/10] libzakalwe: init at 1.0.0-unstable-2024-02-26 --- pkgs/by-name/li/libzakalwe/package.nix | 58 ++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 pkgs/by-name/li/libzakalwe/package.nix diff --git a/pkgs/by-name/li/libzakalwe/package.nix b/pkgs/by-name/li/libzakalwe/package.nix new file mode 100644 index 000000000000..912eae924579 --- /dev/null +++ b/pkgs/by-name/li/libzakalwe/package.nix @@ -0,0 +1,58 @@ +{ + stdenv, + lib, + fetchFromGitLab, + unstableGitUpdater, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libzakalwe"; + version = "1.0.0-unstable-2024-02-26"; + + src = fetchFromGitLab { + owner = "hors"; + repo = "libzakalwe"; + rev = "c7eba014ba14dc6fa145f6e71e75cca2b65bbc8a"; + hash = "sha256-2a30ztFnemCgGW/I5S6Dz4eC1Y6K2aV9dPvysvQtBxo="; + }; + + outputs = [ + "out" + "dev" + ]; + + postPatch = + '' + substituteInPlace Makefile.in \ + --replace-fail 'libzakalwe.so' "libzakalwe${stdenv.hostPlatform.extensions.sharedLibrary}" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Makefile.in \ + --replace-fail '-soname' '-install_name' + ''; + + strictDeps = true; + + enableParallelBuilding = true; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-D_DARWIN_C_SOURCE"; + + # Darwin: Assertion failed at thread_util_test_0:52: tr != NULL + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform && (!stdenv.hostPlatform.isDarwin); + + installFlags = [ "PREFIX=$(out)" ]; + + preInstall = '' + mkdir -p $out/lib + ''; + + passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; }; + + meta = { + description = "Library for functions shared across zakalwe projects"; + homepage = "https://gitlab.com/hors/libzakalwe"; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ OPNA2608 ]; + platforms = lib.platforms.unix; + }; +}) From 4038161320825f3641ac63aeabb7b80750acbdde Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 15:21:28 +0100 Subject: [PATCH 07/10] uade: Drop write-audio tools building Newest python makes "setup.py install" not work anymore. --- pkgs/by-name/ua/uade/package.nix | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/pkgs/by-name/ua/uade/package.nix b/pkgs/by-name/ua/uade/package.nix index b435bba66b96..e83e50b9de57 100644 --- a/pkgs/by-name/ua/uade/package.nix +++ b/pkgs/by-name/ua/uade/package.nix @@ -11,8 +11,6 @@ , lame , flac , vorbis-tools -# https://gitlab.com/uade-music-player/uade/-/issues/38 -, withWriteAudio ? !stdenv.hostPlatform.isDarwin }: stdenv.mkDerivation rec { @@ -44,8 +42,6 @@ stdenv.mkDerivation rec { pkg-config which makeWrapper - ] ++ lib.optionals withWriteAudio [ - python3 ]; buildInputs = [ @@ -55,18 +51,11 @@ stdenv.mkDerivation rec { lame flac vorbis-tools - ] ++ lib.optionals withWriteAudio [ - (python3.withPackages (p: with p; [ - pillow - tqdm - more-itertools - ])) ]; configureFlags = [ "--bencode-tools-prefix=${bencodetools}" "--with-text-scope" - ] ++ lib.optionals (!withWriteAudio) [ "--without-write-audio" ]; @@ -79,9 +68,6 @@ stdenv.mkDerivation rec { --prefix PATH : $out/bin:${lib.makeBinPath [ sox lame flac vorbis-tools ]} # This is an old script, don't break expectations by renaming it ln -s $out/bin/mod2ogg2{.sh,} - '' + lib.optionalString withWriteAudio '' - wrapProgram $out/bin/generate_amiga_oscilloscope_view \ - --prefix PYTHONPATH : "$PYTHONPATH:$out/${python3.sitePackages}" ''; meta = with lib; { From c802a0129dcf6919a82c2d4c466bd5d0332612cd Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 15:22:13 +0100 Subject: [PATCH 08/10] uade: nixfmt --- pkgs/by-name/ua/uade/package.nix | 36 +++++++++++++++++++------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/ua/uade/package.nix b/pkgs/by-name/ua/uade/package.nix index e83e50b9de57..f74102e2038f 100644 --- a/pkgs/by-name/ua/uade/package.nix +++ b/pkgs/by-name/ua/uade/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitLab -, python3 -, pkg-config -, which -, makeWrapper -, libao -, bencodetools -, sox -, lame -, flac -, vorbis-tools +{ + lib, + stdenv, + fetchFromGitLab, + python3, + pkg-config, + which, + makeWrapper, + libao, + bencodetools, + sox, + lame, + flac, + vorbis-tools, }: stdenv.mkDerivation rec { @@ -65,7 +66,14 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/mod2ogg2.sh \ - --prefix PATH : $out/bin:${lib.makeBinPath [ sox lame flac vorbis-tools ]} + --prefix PATH : $out/bin:${ + lib.makeBinPath [ + sox + lame + flac + vorbis-tools + ] + } # This is an old script, don't break expectations by renaming it ln -s $out/bin/mod2ogg2{.sh,} ''; From cb171c5233e87c12b28af729d47fcdeb23867b12 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 15:33:24 +0100 Subject: [PATCH 09/10] uade: Modernise --- pkgs/by-name/ua/uade/package.nix | 56 +++++++++++++++++--------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/pkgs/by-name/ua/uade/package.nix b/pkgs/by-name/ua/uade/package.nix index f74102e2038f..e8b8b23d3884 100644 --- a/pkgs/by-name/ua/uade/package.nix +++ b/pkgs/by-name/ua/uade/package.nix @@ -2,62 +2,63 @@ lib, stdenv, fetchFromGitLab, + bencodetools, + flac, + lame, + libao, + makeWrapper, python3, pkg-config, - which, - makeWrapper, - libao, - bencodetools, sox, - lame, - flac, vorbis-tools, + which, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "uade"; version = "3.02"; src = fetchFromGitLab { owner = "uade-music-player"; repo = "uade"; - rev = "uade-${version}"; + rev = "uade-${finalAttrs.version}"; hash = "sha256-skPEXBQwyr326zCmZ2jwGxcBoTt3Y/h2hagDeeqbMpw="; }; postPatch = '' patchShebangs configure - substituteInPlace configure \ - --replace 'PYTHON_SETUP_ARGS=""' 'PYTHON_SETUP_ARGS="--prefix=$out"' + substituteInPlace src/frontends/mod2ogg/mod2ogg2.sh.in \ - --replace '-e stat' '-n stat' \ - --replace '/usr/local' "$out" + --replace-fail '-e stat' '-n stat' \ + --replace-fail '/usr/local' "$out" + substituteInPlace python/uade/generate_oscilloscope_view.py \ - --replace "default='uade123'" "default='$out/bin/uade123'" + --replace-fail "default='uade123'" "default='$out/bin/uade123'" + # https://gitlab.com/uade-music-player/uade/-/issues/37 substituteInPlace write_audio/Makefile.in \ - --replace 'g++' '${stdenv.cc.targetPrefix}c++' + --replace-fail 'g++' '${stdenv.cc.targetPrefix}c++' ''; nativeBuildInputs = [ + makeWrapper pkg-config which - makeWrapper ]; buildInputs = [ - libao bencodetools - sox - lame flac + lame + libao + sox vorbis-tools ]; configureFlags = [ "--bencode-tools-prefix=${bencodetools}" - "--with-text-scope" - "--without-write-audio" + (lib.strings.withFeature true "text-scope") + (lib.strings.withFeature false "write-audio") ]; enableParallelBuilding = true; @@ -68,26 +69,27 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/mod2ogg2.sh \ --prefix PATH : $out/bin:${ lib.makeBinPath [ - sox - lame flac + lame + sox vorbis-tools ] } + # This is an old script, don't break expectations by renaming it ln -s $out/bin/mod2ogg2{.sh,} ''; - meta = with lib; { + meta = { description = "Plays old Amiga tunes through UAE emulation and cloned m68k-assembler Eagleplayer API"; homepage = "https://zakalwe.fi/uade/"; # It's a mix of licenses. "GPL", Public Domain, "LGPL", GPL2+, BSD, LGPL21+ and source code with unknown licenses. E.g. # - hippel-coso player is "[not] under any Open Source certified license" # - infogrames player is disassembled from Andi Silvas player, unknown license # Let's make it easy and flag the whole package as unfree. - license = licenses.unfree; - maintainers = with maintainers; [ OPNA2608 ]; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ OPNA2608 ]; mainProgram = "uade123"; - platforms = platforms.unix; + platforms = lib.platforms.unix; }; -} +}) From 35a5b6028f53d808f634267a40f145fbc0bdaf89 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Nov 2024 15:58:14 +0100 Subject: [PATCH 10/10] uade: 3.02 -> 3.05 --- pkgs/by-name/ua/uade/package.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ua/uade/package.nix b/pkgs/by-name/ua/uade/package.nix index e8b8b23d3884..8b539d25056a 100644 --- a/pkgs/by-name/ua/uade/package.nix +++ b/pkgs/by-name/ua/uade/package.nix @@ -2,10 +2,12 @@ lib, stdenv, fetchFromGitLab, + gitUpdater, bencodetools, flac, lame, libao, + libzakalwe, makeWrapper, python3, pkg-config, @@ -16,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "uade"; - version = "3.02"; + version = "3.05"; src = fetchFromGitLab { owner = "uade-music-player"; repo = "uade"; rev = "uade-${finalAttrs.version}"; - hash = "sha256-skPEXBQwyr326zCmZ2jwGxcBoTt3Y/h2hagDeeqbMpw="; + hash = "sha256-k6t8EQ/G8PbfRrBMXubn1XfBPvw1qDoMGh5xJKrcX+E="; }; postPatch = '' @@ -34,10 +36,6 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace python/uade/generate_oscilloscope_view.py \ --replace-fail "default='uade123'" "default='$out/bin/uade123'" - - # https://gitlab.com/uade-music-player/uade/-/issues/37 - substituteInPlace write_audio/Makefile.in \ - --replace-fail 'g++' '${stdenv.cc.targetPrefix}c++' ''; nativeBuildInputs = [ @@ -51,12 +49,14 @@ stdenv.mkDerivation (finalAttrs: { flac lame libao + libzakalwe sox vorbis-tools ]; configureFlags = [ "--bencode-tools-prefix=${bencodetools}" + "--libzakalwe-prefix=${libzakalwe}" (lib.strings.withFeature true "text-scope") (lib.strings.withFeature false "write-audio") ]; @@ -80,6 +80,8 @@ stdenv.mkDerivation (finalAttrs: { ln -s $out/bin/mod2ogg2{.sh,} ''; + passthru.updateScript = gitUpdater { rev-prefix = "uade-"; }; + meta = { description = "Plays old Amiga tunes through UAE emulation and cloned m68k-assembler Eagleplayer API"; homepage = "https://zakalwe.fi/uade/";