transmission_4: init at 4.0.3#215316
Conversation
|
seems to break |
|
cc @emilytrau |
|
According to Building-Transmission, I think we can use |
|
Result of |
We prefer not using vendored libraries whenever possible, and since things work fine with our versions, I don't see why we should change that all of a sudden.
Is there something you forgot to say here? (I ask because I don't see its relevance, and want to make sure this bump doesn't regress anything.) |
|
Sure, I'll look into it some time in the next few hours, looks simple enough. |
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 80e159d9545..07a82bbc24c 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -32,6 +32,7 @@
, enableCli ? true
, installLib ? false
, apparmorRulesFromClosure
+, Foundation
}:
let
@@ -62,6 +63,12 @@ in stdenv.mkDerivation {
"-DENABLE_DAEMON=${mkFlag enableDaemon}"
"-DENABLE_CLI=${mkFlag enableCli}"
"-DINSTALL_LIB=${mkFlag installLib}"
+ ] ++ lib.optionals stdenv.isDarwin [
+ # Transmission sets this to 10.13 if not explicitly specified, see https://github.com/transmission/transmission/blob/0be7091eb12f4eb55f6690f313ef70a66795ee72/CMakeLists.txt#L7-L16.
+ "-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.hostPlatform.darwinMinVersion}"
+
+ # This doesn't work on Darwin, see #214945.
+ "-DRUN_CLANG_TIDY=OFF"
];
nativeBuildInputs = [
@@ -90,7 +97,7 @@ in stdenv.mkDerivation {
++ lib.optionals enableGTK3 [ gtk3 gtkmm3 xorg.libpthreadstubs ]
++ lib.optionals enableSystemd [ systemd ]
++ lib.optionals stdenv.isLinux [ inotify-tools ]
- ++ lib.optionals stdenv.isDarwin [ libiconv ];
+ ++ lib.optionals stdenv.isDarwin [ libiconv Foundation ];
postInstall = ''
mkdir $apparmor
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 72a973650f7..1c7bef1076b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -33334,7 +33334,9 @@ with pkgs;
transcribe = callPackage ../applications/audio/transcribe { };
- transmission = callPackage ../applications/networking/p2p/transmission { };
+ transmission = darwin.apple_sdk_11_0.callPackage ../applications/networking/p2p/transmission {
+ inherit (darwin.apple_sdk_11_0.frameworks) Foundation;
+ };
libtransmission = transmission.override {
installLib = true;
enableDaemon = false;(Did you want the inputs to be sorted somehow? e.g. I see you added |
|
What does the The inputs are sorted… somehow? I just added Edit: apparently |
30afa8b to
c3d931f
Compare
Correct, it's needed for x86_64-darwin support specifically, as aarch64-darwin already uses a newer SDK. |
c3d931f to
422b785
Compare
|
@ajs124 Can you change the CLANG_TIDY line to be unconditional, saying it doesn't work with clangStdenv (which Darwin uses by default)? I think that's better because it'll maintain support for both Darwin and clangStdenv on Linux users. (Also: the clang-tidy mechanism is a noop for non-Clang stdenv users right now anyways.) |
|
what about using edit: ah, if it's a noop, I guess we can just disable it unconditionally, yes. why is it a noop though? |
|
The CMake file doesn't even try to run clang-tidy with the gccStdenv (as it doesn't exist, so it silently disables it), but with the Clang stdenv, it'll see that clang-tidy exists, but the binary doesn't actually work because it's not wrapped. |
422b785 to
54fdad0
Compare
winterqt
left a comment
There was a problem hiding this comment.
Guess we can just leave the alphabetical Foundation thing as is? shrug
There was a problem hiding this comment.
| # This doesn't work on Darwin, see #214945. |
There was a problem hiding this comment.
Keep styling?
| # breaks on darwin or with clangStdenv and is a noop otherwise | |
| "-DRUN_CLANG_TIDY=OFF" | |
| "-DRUN_CLANG_TIDY=OFF" # breaks on darwin or with clangStdenv and is a noop otherwise |
54fdad0 to
e387232
Compare
|
There doesn't seem to be a lot of movement on the bug linked above. Since the plan is to keep both transmission 3 and 4 around anyway, could we merge this but perhaps keep 3.0 as the default? I am personally looking to upgrade because of the performance improvements realized in 4.0. (I also don't know how common it is to skip downloading files, and the condition of zero-sized files having to be in the torrent as well makes it a rare-enough occurrence I would guess.) Also, 4.0.3 got released a few weeks ago. |
There was a problem hiding this comment.
This should probably go to aliases.nix. The only consumer, torrential already uses transmission_3 directly.
There was a problem hiding this comment.
These should be changed to use transmission_3 too.
There was a problem hiding this comment.
This should be transmission_4, right?
| libtransmission_4 = transmission.override { | |
| libtransmission_4 = transmission_4.override { |
|
I pushed a commit to my nixpkgs fixing eval: chvp@9bc6db8 Feel free to cherry-pick/rebase into this branch. |
- Use one dependency per-line for cleaner diffs. - Order derivation attributes according to convention. - Extract apparmor rules expression into let binding. - Use finalAttrs instead of let binding for consistent overriding.
transmission/libutp@fda9f4b...9cb9f9c Will be required for Transmission 4.0.0, keep the old version for other programs.
Introduces pared down Transmission 3 package for apps that depend on it, until they are ported to Transmission 4. Only keeping the library and daemon, as they are needed for Torrential and Fragments, respectively. Not separating into different derivations them since the daemon only adds 1M to the closure.
https://github.com/transmission/transmission/releases/tag/4.0.0 https://github.com/transmission/transmission/releases/tag/4.0.1 https://github.com/transmission/transmission/releases/tag/4.0.2 Not adding fmt and utf8cpp to AppArmor list since those are header only. Co-Authored-By: Jan Tojnar <jtojnar@gmail.com>
|
Have been using |
chvp
left a comment
There was a problem hiding this comment.
Using the full patch as it's in this PR now, transmission 4 is running fine on my server as well (on x86_64).
| meta = { | ||
| description = "Old version of libtransmission library for apps that depend on it"; | ||
| homepage = "http://www.transmissionbt.com/"; | ||
| license = lib.licenses.gpl2Plus; # parts are under MIT |
There was a problem hiding this comment.
Then the license should be both
| description = "Old version of libtransmission library for apps that depend on it"; | ||
| homepage = "http://www.transmissionbt.com/"; | ||
| license = lib.licenses.gpl2Plus; # parts are under MIT | ||
| maintainers = with lib.maintainers; [ ]; |
|
feel free to take over anyone, I don't have time for this anymore |
|
I've taken over in #241146. |
|
For all those interested, I propose a rename making |
Description of changes
https://github.com/transmission/transmission/releases/tag/4.0.0
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes