summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Picciano <me@mediocregopher.com>2024-12-29 19:58:06 +0100
committerBrian Picciano <me@mediocregopher.com>2024-12-29 19:58:06 +0100
commit655ebd530215bec1b09cc653c020e601ead1d424 (patch)
tree20dfcf5cb6b5aab0c0b6fea0c875724983191088
parentf6a4a0103897fcaedc2158290e63a167351c3189 (diff)
Update bandcamp-dlHEADmain
-rw-r--r--default.nix5
-rw-r--r--nix/bandcamp-dl.nix10
-rw-r--r--nix/beautifulsoup4.nix75
-rw-r--r--pkgs.nix6
4 files changed, 92 insertions, 4 deletions
diff --git a/default.nix b/default.nix
index 81e43a7..076488b 100644
--- a/default.nix
+++ b/default.nix
@@ -3,6 +3,7 @@
hostConfig,
pkgs ? (import ./pkgs.nix).stable {},
+ pkgsUnstable ? (import ./pkgs.nix).unstable {},
}: let
@@ -144,7 +145,9 @@ in rec {
pkgs.wireshark
pkgs.electrum
- (pkgs.callPackage ./nix/bandcamp-dl.nix {})
+ (pkgsUnstable.callPackage ./nix/bandcamp-dl.nix {
+ beautifulsoup4 = pkgsUnstable.python3Packages.callPackage ./nix/beautifulsoup4.nix {};
+ })
bin
((import ./nvim) {}).nvim
diff --git a/nix/bandcamp-dl.nix b/nix/bandcamp-dl.nix
index b55b539..74380e0 100644
--- a/nix/bandcamp-dl.nix
+++ b/nix/bandcamp-dl.nix
@@ -1,18 +1,21 @@
{
python3Packages,
+ fetchPypi,
makeWrapper,
+ beautifulsoup4,
}: let
- version = "v0.0.13";
+ version = "v0.0.16";
src = builtins.fetchGit {
url = "https://github.com/iheanyi/bandcamp-dl.git";
- rev = "fe2eafae4bfc901d2760aef9d4cc6db60528b4b4";
+ rev = "cdf24c019d9014a6e203458b9a0cd3a03081e05a";
};
in
python3Packages.buildPythonApplication {
inherit version src;
+ format = "pyproject";
pname = "bandcamp-dl";
propagatedBuildInputs = [
- python3Packages.beautifulsoup4
+ beautifulsoup4
python3Packages.demjson3
python3Packages.mutagen
python3Packages.requests
@@ -20,6 +23,7 @@ in
python3Packages.docopt
python3Packages.lxml
python3Packages.mock
+ python3Packages.setuptools
];
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
diff --git a/nix/beautifulsoup4.nix b/nix/beautifulsoup4.nix
new file mode 100644
index 0000000..b5c5a6e
--- /dev/null
+++ b/nix/beautifulsoup4.nix
@@ -0,0 +1,75 @@
+{
+ lib,
+ buildPythonPackage,
+ fetchPypi,
+ fetchpatch,
+ chardet,
+ hatchling,
+ html5lib,
+ lxml,
+ pytestCheckHook,
+ pythonOlder,
+ soupsieve,
+ typing-extensions,
+
+ # for passthru.tests
+ html-sanitizer,
+ markdownify,
+ mechanicalsoup,
+ nbconvert,
+ subliminal,
+ wagtail,
+}:
+
+buildPythonPackage rec {
+ pname = "beautifulsoup4";
+ version = "4.13.0b2";
+ pyproject = true;
+
+ disabled = pythonOlder "3.6";
+
+ src = fetchPypi {
+ inherit pname version;
+ hash = "sha256-xoTd7AcaoSCBmImqnolA+Fw/PNqgjiO5+iZRA4eJe9U=";
+ };
+
+ doCheck = false;
+
+ nativeBuildInputs = [
+ hatchling
+ ];
+
+ propagatedBuildInputs = [
+ chardet
+ soupsieve
+ typing-extensions
+ ];
+
+ optional-dependencies = {
+ html5lib = [ html5lib ];
+ lxml = [ lxml ];
+ };
+
+ nativeCheckInputs = [
+ pytestCheckHook
+ ] ++ lib.flatten (builtins.attrValues optional-dependencies);
+
+ passthru.tests = {
+ inherit
+ html-sanitizer
+ markdownify
+ mechanicalsoup
+ nbconvert
+ subliminal
+ wagtail
+ ;
+ };
+
+ meta = with lib; {
+ changelog = "https://git.launchpad.net/beautifulsoup/tree/CHANGELOG?h=${version}";
+ description = "HTML and XML parser";
+ homepage = "http://crummy.com/software/BeautifulSoup/bs4/";
+ license = licenses.mit;
+ maintainers = with maintainers; [ domenkozar ];
+ };
+}
diff --git a/pkgs.nix b/pkgs.nix
index f7a3f55..22fc305 100644
--- a/pkgs.nix
+++ b/pkgs.nix
@@ -21,4 +21,10 @@ rec {
url = "https://github.com/nixos/nixpkgs/archive/63dacb46bf939521bdc93981b4cbb7ecb58427a0.tar.gz";
sha256 = "sha256:1lr1h35prqkd1mkmzriwlpvxcb34kmhc9dnr48gkm8hh089hifmx";
});
+
+ unstable = mkPkgs (builtins.fetchTarball {
+ name = "nixpkgs-2411-beta";
+ url = "https://github.com/nixos/nixpkgs/archive/8b27c1239e5c421a2bbc2c65d52e4a6fbf2ff296.tar.gz";
+ sha256 = "sha256:1gx0hihb7kcddv5h0k7dysp2xhf1ny0aalxhjbpj2lmvj7h9g80a";
+ });
}