From 33cc05e0c1d877e7d99d012a7d8f5282b156fc92 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Sat, 12 Nov 2022 19:31:11 +0100 Subject: [PATCH] Add lots of packages --- .gitignore | 3 + README.md | 34 +++++ flake.nix | 25 +++- pkgs/ani-cli/default.nix | 57 ++++++++ pkgs/ark-pixel-font/default.nix | 40 ++++++ pkgs/bdfr/default.nix | 48 +++++++ pkgs/ddh/default.nix | 25 ++++ pkgs/fcitx5-material-color/default.nix | 49 +++++++ pkgs/git-mirror/default.nix | 37 ++++++ pkgs/koneko/default.nix | 27 ++++ pkgs/nuber/default.nix | 45 +++++++ pkgs/rsnake/default.nix | 24 ++++ pkgs/scdl/default.nix | 55 ++++++++ pkgs/simplicity-studio-5/default.nix | 166 ++++++++++++++++++++++++ pkgs/simplicity-studio-5/studio.desktop | 8 ++ pkgs/soundcloud-v2/default.nix | 41 ++++++ pkgs/super-tiny-icons/default.nix | 47 +++++++ pkgs/xiu/default.nix | 28 ++++ 18 files changed, 756 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 pkgs/ani-cli/default.nix create mode 100644 pkgs/ark-pixel-font/default.nix create mode 100644 pkgs/bdfr/default.nix create mode 100644 pkgs/ddh/default.nix create mode 100644 pkgs/fcitx5-material-color/default.nix create mode 100644 pkgs/git-mirror/default.nix create mode 100644 pkgs/koneko/default.nix create mode 100644 pkgs/nuber/default.nix create mode 100644 pkgs/rsnake/default.nix create mode 100644 pkgs/scdl/default.nix create mode 100644 pkgs/simplicity-studio-5/default.nix create mode 100644 pkgs/simplicity-studio-5/studio.desktop create mode 100644 pkgs/soundcloud-v2/default.nix create mode 100644 pkgs/super-tiny-icons/default.nix create mode 100644 pkgs/xiu/default.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c4b874 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +result +result-man +result-doc diff --git a/README.md b/README.md new file mode 100644 index 0000000..93b6996 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# WIP Nix packages + +This is a repo where I temporarily put all the nix packages I am working on. + +Note that: + +- This is my personal repo where I put WIP stuff. It is not indended for use by anyone else. +- The git commits of this repo has no good structure. I will rather copy the files directly and make new commits in nixpkgs. Most commits are temprorary commits. +- Many of the packages does not build. + +You are free to copy any build instructions you like. + +## Overview of package status: + +| Name | Building | Added to Nixpkgs | TODO | +|---|---|---|---| +| `ani-cli` | V | V | Already added to nixpkgs by another person | +| `ankiTab` | X | X | Need start the package config. | +| `ark-pixel-font` | X | X | This library depends on a html-minifying library that has bindings for several langauges. I am a little unsure of how to package this properly. | +| `bdfr` | X | X | Needs to finish package config. | +| `boomer` | X | X | Research nixpkgs nim infrastructure | +| `ddh` | X | X | Missing Cargo.lock | +| `epy` | X | X | Need start the package config. | +| `fcitx5-material-color` | V | X | Cannot get fcitx5 to work, in order to test the package. | +| `git-mirror` | X: | X | https://github.com/alexcrichton/openssl-src-rs/pull/162 | +| `koneko` | V | X | Open a PR | +| `nuber` | X | X | Cannot build project. https://github.com/mtshrmn/nuber/issues/7 | +| `rofi-lpass` | X | X | Need start the package config. | +| `rsnake` | X | X | Some opengl trouble? | +| `scdl` | V | V | Already added to nixpkgs by another person | +| `simplicity studio` | V | X | Needs more testing. This probably needs to go into an FHS env, to support plugins properly | +| `super-tiny-icons` | V | X | PR is open, waiting for approval | +| `xiu` | X | X | Missing Cargo.lock | + diff --git a/flake.nix b/flake.nix index 56ab136..b879756 100644 --- a/flake.nix +++ b/flake.nix @@ -8,12 +8,31 @@ system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; + inherit (pkgs) lib; in { - overlays.default = new: old: old // self.packages.${system}; + overlays.default = final: prev: prev // self.packages.${system}; - packages.${system} = {}; + packages.${system} = let + inherit (pkgs) callPackage; + in rec { + ani-cli = callPackage ./pkgs/ani-cli {}; + ark-pixel-font = callPackage ./pkgs/ark-pixel-font {}; + ddh = callPackage ./pkgs/ddh {}; + fcitx5-material-color = callPackage ./pkgs/fcitx5-material-color {}; + git-mirror = callPackage ./pkgs/git-mirror {}; + koneko = callPackage ./pkgs/koneko {}; + nuber = callPackage ./pkgs/nuber {}; + rsnake = callPackage ./pkgs/rsnake {}; + scdl = callPackage ./pkgs/scdl (pkgs.python310Packages // { inherit soundcloud-v2; }); + simplicity-studio-5 = pkgs.libsForQt5.callPackage ./pkgs/simplicity-studio-5 {}; + soundcloud-v2 = callPackage ./pkgs/soundcloud-v2 pkgs.python310Packages; + super-tiny-icons = callPackage ./pkgs/super-tiny-icons {}; + xiu = callPackage ./pkgs/xiu {}; + }; - hydraJobs = {}; + hydraJobs = lib.mapAttrs' + (name: value: lib.nameValuePair name { ${system} = value; }) + self.packages.${system}; }; } diff --git a/pkgs/ani-cli/default.nix b/pkgs/ani-cli/default.nix new file mode 100644 index 0000000..2c26d33 --- /dev/null +++ b/pkgs/ani-cli/default.nix @@ -0,0 +1,57 @@ +{ pkgs, lib, stdenvNoCC, fetchFromGitHub, ffmpeg, mpv }: +stdenvNoCC.mkDerivation rec { + pname = "ani-cli"; + version = "3.4"; + + src = fetchFromGitHub { + owner = "pystardust"; + repo = "ani-cli"; + rev = "v${version}"; + sha256 = "Xb7MNL7YKbvyRR5ZppUfCYeYpjNAiJWNOjIFk5fUvpY="; + }; + + outputs = ["out" "man" "doc"]; + + buildInputs = [ + mpv + ffmpeg + ]; + + buildPhase = '' + runHook preBuild + + cp $src/ani-cli . + sed -i -e "s|ffmpeg|${ffmpeg}/bin/ffmpeg|" \ + -e "s|mpv|${mpv}/bin/mpv|" \ + ani-cli + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -Dm755 -t $out/bin ani-cli + install -Dm644 ani-cli.1.gz $man/share/man/man1/ani-cli.1.gz + install -Dm644 -t $doc/share/doc/ani-cli/ \ + CONTRIBUTING.md \ + disclaimer.md \ + LICENSE \ + README.md + + runHook postInstall + ''; + + meta = with lib; { + description = "A cli tool to browse and play anime"; + longDescription = '' + A cli to browse and watch anime (alone AND with friends). + This tool scrapes the site animixplay. + ''; + homepage = "https://github.com/pystardust/ani-cli"; + license = licenses.gpl3; + maintainers = [ maintainers.h7x4 ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/ark-pixel-font/default.nix b/pkgs/ark-pixel-font/default.nix new file mode 100644 index 0000000..ce01bce --- /dev/null +++ b/pkgs/ark-pixel-font/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenvNoCC, python3Packages, fetchFromGitHub }: + +stdenvNoCC.mkDerivation rec { + pname = "ark-pixel-font"; + version = "2022.11.11"; + + src = fetchFromGitHub { + owner = "TakWolf"; + repo = pname; + rev = version; + sha256 = "KCYXKPu0DoEQ+QCPUn9yODiBqW3H7YtiHHhct8bT0JA="; + }; + + nativeBuildInputs = with python3Packages; [ + python + beautifulsoup4 + brotli + fonttools + gitdb + GitPython + jinja2 + markupsafe + # minify_html + pillow + pypng + smmap + soupsieve + ]; + + buildPhase = '' + python build.py + ''; + + meta = with lib; { + homepage = "https://github.com/TakWolf/ark-pixel-font"; + description = "Open source Pan-CJK pixel font"; + license = with licenses; [ mit ofl ]; + maintainers = with maintainers; [ h7x4 ]; + }; +} diff --git a/pkgs/bdfr/default.nix b/pkgs/bdfr/default.nix new file mode 100644 index 0000000..f903674 --- /dev/null +++ b/pkgs/bdfr/default.nix @@ -0,0 +1,48 @@ +{ pkgs ? import }: let + p = pkgs.python39Packages; +in p.buildPythonApplication rec { + pname = "bulk-downloader-for-reddit"; + version = "2.5.2"; + src = p.fetchPypi { + pname = "bdfr"; + inherit version; + sha256 = "3+5bShEytO/M7tX0RMUYrQdTjrolP1+vDM9JifrZ+hk="; # TODO + }; + # src = pkgs.fetchFromGitHub { + # owner = "aliparlakci"; + # repo = "bulk-downloader-for-reddit"; + # rev = "v2.5.2"; + # sha256 = "Q5kWlWzAm7a3DhsRNyGdtyELnVH8LMNNLPEOrYog4W0="; + # }; + + patchPhase = '' + sed -i "s/bs4>=0.0.1/beautifulsoup4>=4.11/g" requirements.txt + ''; + + buildInputs = with p; [ + pytest + ]; + + propagatedBuildInputs = with p; [ + appdirs + beautifulsoup4 + dict2xml + pbr + praw + pyyaml + yt-dlp + ffmpeg-python + click + requests + ]; + + postInstall = '' + mkdir -p $out/bin + echo "python -m bdfr" > $out/bin/bdfr + chmod +x $out/bin/bdfr + ''; + + # shellHook = '' + # ls + # ''; +} diff --git a/pkgs/ddh/default.nix b/pkgs/ddh/default.nix new file mode 100644 index 0000000..83f914b --- /dev/null +++ b/pkgs/ddh/default.nix @@ -0,0 +1,25 @@ +{ lib, fetchFromGitHub, rustPlatform, ... }: +rustPlatform.buildRustPackage rec { + pname = "ddh"; + version = "0.12.0"; + + src = fetchFromGitHub { + owner = "darakian"; + repo = pname; + rev = version; + sha256 = "BttBEbGzN2z/Dasr7DZUucXCn3tsIDugdFRmqssL4PE="; + }; + + cargoSha256 = ""; + + meta = with lib; { + description = "A fast duplicate file finder"; + longDescription = '' + DDH traverses input directories and their subdirectories. + It also hashes files as needed and reports findings. + ''; + homepage = "https://github.com/darakian/ddh"; + license = licenses.unlicense; + maintainers = [ maintainers.tailhook ]; + }; +} \ No newline at end of file diff --git a/pkgs/fcitx5-material-color/default.nix b/pkgs/fcitx5-material-color/default.nix new file mode 100644 index 0000000..360b0bb --- /dev/null +++ b/pkgs/fcitx5-material-color/default.nix @@ -0,0 +1,49 @@ +{ + lib, + + stdenvNoCC, + fetchFromGitHub +}: +stdenvNoCC.mkDerivation rec { + pname = "fcitx5-material-color"; + version = "0.2.1"; + + src = fetchFromGitHub { + owner = "hosxy"; + repo = "Fcitx5-Material-Color"; + rev = "${version}"; + sha256 = "i9JHIJ+cHLTBZUNzj9Ujl3LIdkCllTWpO1Ta4OT1LTc="; + }; + + outputs = [ "out" "doc" ]; + + installPhase = '' + runHook preInstall + + install -Dm644 -t $out/usr/share/fcitx5/themes/fcitx5-material-color radio.png arrow.png + + find $src -type f -name 'theme*.conf' \ + -exec install -Dm644 -t $out/usr/share/fcitx5/themes/fcitx5-material-color {} + + + find $src/screenshot -type f \ + -exec install -Dm644 -t $doc/usr/share/doc/fcitx5/themes/fcitx5-material-color {} + + + install -Dm644 -t $doc/usr/share/doc/fcitx5/themes/fcitx5-material-color \ + LICENSE \ + README.md + + runHook postInstall + ''; + + meta = with lib; { + description = ""; + longDescription = '' + A fcitx5 skin with colors from Material Design. + Designed to mimick the interface of the Windows 10 IME. + ''; + homepage = "https://github.com/hosxy/Fcitx5-Material-Color"; + license = licenses.asl20; + maintainers = [ maintainers.h7x4 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/git-mirror/default.nix b/pkgs/git-mirror/default.nix new file mode 100644 index 0000000..7ce9a26 --- /dev/null +++ b/pkgs/git-mirror/default.nix @@ -0,0 +1,37 @@ +{ + pkg-config, + cmake, + + rustPlatform, + fetchFromGitHub, + lib, + openssl +}: +rustPlatform.buildRustPackage rec { + pname = "git-mirror"; + version = "0.14.6"; + + src = fetchFromGitHub { + owner = "bachp"; + repo = "git-mirror"; + rev = "v${version}"; + sha256 = "sha256-jF4KvMrC2+SIt45HgcHKy1jNOYmSb0vBC6iMQ5x8M78="; + }; + + cargoSha256 = "sha256-lHIOZBUq5wH/J4f/CZwzbXdEGkWUPoz323czAaJes6Q="; + + nativeBuildDependencies = [ cmake pkg-config ]; + buildDependencies = [ openssl ]; + + OPENSSL_DIR = "${openssl}/"; + RUST_BACKTRACE="1"; + + meta = with lib; { + description = "A small utility that allows to mirror external repositories to GitLab, GitHub and possible more"; + homepage = "https://github.com/${owner}/${repo}"; + license = licenses.mit; + # maintainers = with maintainers; [ h7x4 ]; + platforms = platforms.unix; + changelog = "https://github.com/${owner}/${repo}/blob/v${version}/CHANGELOG.md"; + }; +} diff --git a/pkgs/koneko/default.nix b/pkgs/koneko/default.nix new file mode 100644 index 0000000..7d32267 --- /dev/null +++ b/pkgs/koneko/default.nix @@ -0,0 +1,27 @@ +{ lib, buildGoModule, fetchFromGitHub }: +buildGoModule rec { + pname = "koneko"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "irevenko"; + repo = "koneko"; + rev = "e6c3f62"; + sha256 = "5QMqlZrGEzGwmIr3cB3N12A/bYwoRs94bmPnkIUWOZ8="; + }; + + vendorSha256 = "m3k/f2W+aLUf67c0WmTIN2Ym+K+/DoYe4shau8ccOE4="; + + # runVend = true; + + outputs = [ "out" ]; + + meta = with lib; { + description = "nyaa.si terminal BitTorrent tracker"; + longDescription = "Download Anime, Literature, Audio, Live Action, Pictures, Software and more!"; + homepage = "https://github.com/irevenko/koneko"; + license = licenses.mit; + maintainers = [ maintainers.h7x4 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/nuber/default.nix b/pkgs/nuber/default.nix new file mode 100644 index 0000000..65187c8 --- /dev/null +++ b/pkgs/nuber/default.nix @@ -0,0 +1,45 @@ +{ rustPlatform, lib, fetchFromGitHub, pythonPackages, ... }: +pythonPackages.buildPythonPackage rec { + pname = "nuber"; + version = "1.1.0"; + src = fetchFromGitHub { + owner = "mtshrmn"; + repo = pname; + rev = "v${version}"; + sha256 = "yjVu3GwdyiGKVRlETeLT0ww8ftvPRobJYzvesoPxrRo="; + fetchSubmodules = true; + }; + + cargoDeps = rustPlatform.importCargoLock { + lockFile = "${src}/Cargo.lock"; + }; + + nativeBuildInputs = with rustPlatform; [ + cargoSetupHook + maturinBuildHook + ]; + + # preBuild = '' + # # cp ${src}/ + # # # avoid ENOENT in maturinBuildHook + # # touch wheel/Cargo.lock + # ''; + + propagatedBuildInputs = with pythonPackages; [ + ueberzug + appdirs + click + # toml + ]; + + # no tests implemented + doCheck = false; + + meta = with lib; { + description = "Epub terminal reader with inline images"; + longDescription = '' + + ''; + maintainers = []; + }; +} \ No newline at end of file diff --git a/pkgs/rsnake/default.nix b/pkgs/rsnake/default.nix new file mode 100644 index 0000000..2b8b0e0 --- /dev/null +++ b/pkgs/rsnake/default.nix @@ -0,0 +1,24 @@ +{ lib, fetchFromGitHub, rustPlatform, xorg, ... }: +rustPlatform.buildRustPackage rec { + pname = "rsnake"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "mara214"; + repo = pname; + rev = "v${version}"; + sha256 = "ZRr253pp7HElwArxqNlAIYg0ksIvSRWVE2YDwC9/6y8="; + }; + + cargoSha256 = "HsAW1Az6R30xgRtM+lkIW81HdQUQa/X2my4VetwqxOc="; + + buildInputs = [ xorg.libX11 ]; + + meta = with lib; { + description = "Snake implemented in rust"; + homepage = "https://github.com/BurntSushi/ripgrep"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = [ maintainers.h7x4 ]; + }; +} diff --git a/pkgs/scdl/default.nix b/pkgs/scdl/default.nix new file mode 100644 index 0000000..5ef2511 --- /dev/null +++ b/pkgs/scdl/default.nix @@ -0,0 +1,55 @@ +{ + lib, + + buildPythonPackage, + fetchPypi, + + docopt, + mutagen, + termcolor, + requests, + clint, + pathvalidate, + soundcloud-v2, + ... +}: +buildPythonPackage rec { + pname = "scdl"; + version = "2.7.3"; + src = fetchPypi { + inherit pname version; + sha256 = "YChLewWAQNSEfy5LCrkGsQ6VnVH5dqAYhkHo4QaFR08="; + }; + + propagatedBuildInputs = [ + docopt + mutagen + termcolor + requests + clint + pathvalidate + soundcloud-v2 + ]; + + outputs = [ "out" "doc" ]; + + postInstall = '' + install -Dm644 -t $doc/share/doc/scdl/ \ + AUTHORS \ + LICENSE \ + README.md \ + scdl/scdl.cfg + ''; + + meta = with lib; { + description = "Soundcloud Music Downloader"; + longDescription = '' + This script is able to download music from SoundCloud and set id3tag to the downloaded music. + Compatible with Windows, OS X, Linux. + ''; + homepage = "https://github.com/flyingrub/scdl"; + license = licenses.gpl2; + maintainers = [ maintainers.h7x4 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/simplicity-studio-5/default.nix b/pkgs/simplicity-studio-5/default.nix new file mode 100644 index 0000000..9bb19b4 --- /dev/null +++ b/pkgs/simplicity-studio-5/default.nix @@ -0,0 +1,166 @@ +{ alsa-lib +, atk +, autoPatchelfHook +, bzip2 +, cairo +, fontconfig +, freetype +, gcc +, gdk-pixbuf +, glib +, glibc +, gtk3 +, jdk +, lib +, libX11 +, libXrender +, libXtst +, libglvnd +, libsecret +, libsoup +, libusb-compat-0_1 +, makeDesktopItem +, ncurses5 +, openssl +, pango +, patchelf +, pkg-config +, qtbase +, readline +, stdenv +, swt +, webkitgtk +, wine +, wrapQtAppsHook +, zlib +}: +let + installationDir = "$out/opt"; + + desktopItem = makeDesktopItem { + name = "Simplicity Studio"; + desktopName = "Simplicity Studio"; + # exec = "${installationDir}/studio"; + # icon = "${installationDir}/icon.xpm"; + type = "Application"; + terminal = false; + categories = [ "Development" "IDE" ]; + }; +in + stdenv.mkDerivation rec { + pname = "simplicity-studio-5"; + version = "5.0.0"; + + # rev = "cbe903e7f8839794fbe572ea4c811e2c802a4038"; + src = builtins.fetchTarball { + url = "https://www.silabs.com/documents/login/software/SimplicityStudio-5.tgz"; + sha256 = "0b23w7fnnipn78kvi921588sa1ckl9v2jbgnn3ywhcx3nnbsxlg4"; + }; + + buildInputs = [ + alsa-lib + bzip2.out + gcc + gdk-pixbuf + glib + gtk3 + libXtst + libusb-compat-0_1 + ncurses5 + openssl + qtbase + readline + webkitgtk + wine + swt + ]; + + nativeBuildInputs = [ + wrapQtAppsHook + autoPatchelfHook + pkg-config + ]; + + # configurePhase = '' + # cmake . + # ''; + + # buildPhase = '' + # make + # ''; + + dontWrapQtApps = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r $src/ ${installationDir} + + mkdir -p $out/bin + + # patchelf --set-interpreter ${glibc.out}/lib/ld-linux*.so.2 $out/opt/studio + makeWrapper $out/opt/studio $out/bin/studio \ + "''${qtWrapperArgs[@]}" \ + --prefix PATH : ${jdk}/bin \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ + --prefix CLASSPATH : "$out/opt/plugins/" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk3 libXtst webkitgtk swt freetype fontconfig libX11 libXrender zlib glib cairo libsoup atk gdk-pixbuf pango libglvnd libsecret ]}" + + find $src/StudioLinux/ -type f -name '*.rules' -exec install -Dm644 -t $out/lib/udev/rules.d/ {} + + find ${desktopItem}/share/applications/ -type f -name '*.desktop' -exec install -Dm644 -t $out/usr/share/applications {} + + + mkdir -p $out/lib + + ln -s ${openssl.out}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0 + ln -s ${openssl.out}/lib/libssl.so $out/lib/libssl.so.1.0.0 + ln -s ${bzip2.out}/lib/libbz2.so.1 $out/lib/libbz2.so.1.0 + + runHook postInstall + ''; + } + +# pkgname=simplicitystudio5-bin +# pkgver=5 +# pkgrel=1 +# pkgdesc='Design tools, documentation, software and support resources for EFM32™, EFM8™, 8051, Wireless MCUs and Wireless SoCs.' +# arch=(x86_64) +# url=https://www.silabs.com/products/development-tools/software/simplicity-studio +# license=(unknown) +# backup=("opt/$installdir/studio.ini") +# depends=(qt5-base libxtst webkit2gtk) +# optdepends=('wine: for IAR support' +# 'lib32-qt4: for old tools like battery estimator' +# 'qt4: for Segger tools like systemview') +# options=('!strip') +# install=simplicitystudio5.install +# source=(https://www.silabs.com/documents/login/software/SimplicityStudio-5.tgz +# simplicitystudio5.desktop) +# sha256sums=('SKIP' +# 'd0c7b8d6f8b9bcb8d900dfdb047d5a833aae2d131bc4c675e67aec7e3ac3f0e7') + +# installdir=simplicitystudio5 + +# prepare() { +# cd "$srcdir/SimplicityStudio_v5" +# } + +# package() { +# install -dm755 "$pkgdir/opt/" +# cp -a "$srcdir/SimplicityStudio_v5" "$pkgdir/opt/$installdir" + +# install -dm755 "$pkgdir/etc/udev/rules.d/" +# find "$srcdir/SimplicityStudio_v5/StudioLinux" -name '*.rules' \ +# -exec install -m644 {} "$pkgdir/etc/udev/rules.d/" \; + +# mkdir -p $pkgdir/usr/bin +# ln -sf /opt/$installdir/studio $pkgdir/usr/bin/$installdir +# install -Dm644 "simplicitystudio5.desktop" \ +# "$pkgdir/usr/share/applications/simplicitystudio5.desktop" + +# # installation directory has to be writable +# find "$pkgdir/opt/$installdir" -type d -exec chmod a+w {} + +# find "$pkgdir/opt/$installdir" -type f -exec chmod a+w {} + +# } + + diff --git a/pkgs/simplicity-studio-5/studio.desktop b/pkgs/simplicity-studio-5/studio.desktop new file mode 100644 index 0000000..c1b91a5 --- /dev/null +++ b/pkgs/simplicity-studio-5/studio.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Terminal=false +Exec=${installDir}/studio +Name=Simplicity Studio +Path=${installDir} +Icon=${installDir}/icon.xpm diff --git a/pkgs/soundcloud-v2/default.nix b/pkgs/soundcloud-v2/default.nix new file mode 100644 index 0000000..e1eaf94 --- /dev/null +++ b/pkgs/soundcloud-v2/default.nix @@ -0,0 +1,41 @@ +{ + lib, + + buildPythonPackage, + fetchPypi, + + dacite, + python-dateutil, + requests, + ... +}: +buildPythonPackage rec { + pname = "soundcloud-v2"; + version = "1.3.1"; + src = fetchPypi { + inherit pname version; + sha256 = "mpwSqiLnFWbiymAVJnyrwYVq/Xn6RY8PxDxEhywYR0E="; + }; + + propagatedBuildInputs = [ + dacite + python-dateutil + requests + ]; + + outputs = [ "out" "doc" ]; + + postInstall = '' + install -Dm644 -t $doc/share/doc/soundcloud-v2/ \ + LICENSE \ + README.md + ''; + + meta = with lib; { + description = "Python wrapper for some of the v2 SoundCloud API"; + homepage = "https://github.com/7x11x13/soundcloud.py"; + license = licenses.mit; + maintainers = [ maintainers.h7x4 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/super-tiny-icons/default.nix b/pkgs/super-tiny-icons/default.nix new file mode 100644 index 0000000..e8e7050 --- /dev/null +++ b/pkgs/super-tiny-icons/default.nix @@ -0,0 +1,47 @@ +{ pkgs, lib, stdenvNoCC, fetchFromGitHub, }: +stdenvNoCC.mkDerivation rec { + pname = "super-tiny-icons"; + version = "20221107-${lib.strings.substring 0 7 rev}"; + rev = "b4d5a3be04c99ec0a309ac9e0d0b21207c237c7d"; + + src = fetchFromGitHub { + owner = "edent"; + repo = "SuperTinyIcons"; + inherit rev; + sha256 = "670ndAuBrZBr7YOTQm2zHJfpiBC56aPk+ZKMneREEoI="; + }; + + outputs = ["out" "doc"]; + phases = [ "installPhase" ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/icons/SuperTinyIcons + for icondir in $(find $src/images -type d); do + cp -r $icondir $out/share/icons/SuperTinyIcons/ + done + + install -Dm644 -t $doc/share/doc/SuperTinyIcons/ \ + $src/CODE_OF_CONDUCT.md \ + $src/CONTRIBUTING.md \ + $src/ISSUE_TEMPLATE.md \ + $src/LICENSE \ + $src/README.md + + runHook postInstall + ''; + + meta = with lib; { + description = "Miniscule SVG versions of common logos"; + longDescription = '' + Super Tiny Web Icons are minuscule SVG versions of your favourite logos. + The average size is under 568 bytes! + ''; + homepage = "https://github.com/edent/SuperTinyIcons"; + license = licenses.mit; + maintainers = [ maintainers.h7x4 ]; + platforms = platforms.all; + }; +} + diff --git a/pkgs/xiu/default.nix b/pkgs/xiu/default.nix new file mode 100644 index 0000000..87c3a36 --- /dev/null +++ b/pkgs/xiu/default.nix @@ -0,0 +1,28 @@ +{ lib, fetchFromGitHub, rustPlatform, ... }: +rustPlatform.buildRustPackage rec { + pname = "xiu"; + version = "0.0.11"; + + src = fetchFromGitHub { + owner = "harlanc"; + repo = pname; + rev = "v${version}"; + sha256 = "N3Y5AMKfK5KGCxygYGxqrBdcGs/VjCEYMMrWEbxnavE="; + }; + + cargoSha256 = ""; + + meta = with lib; { + description = "A simple and secure live media server in pure Rust"; + longDescription = '' + Xiu is a simple and secure live media server written by pure Rust. + It now supports popular live protocols like RTMP/HLS/HTTP-FLV (and maybe other protocols in the future). + You can deploy it as a stand-alone server or a cluster using the relay feature. + ''; + + homepage = "https://github.com/harlanc/xiu"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = [ maintainers.h7x4 ]; + }; +}