···12# ~/.cabal/config file.
1314# e.g. username: maralorn
15-# password-command: pass hackage.haskell.org (this can be any command, but not an arbitrary shell expression.)
16# Those fields are specified under `upload` on the `cabal` man page.
1718package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv"
19username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //")
20password_command=$(grep "^password-command:" ~/.cabal/config | sed "s/^password-command: //")
21-curl -u "$username:$($password_command)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv
···12# ~/.cabal/config file.
1314# e.g. username: maralorn
15+# password-command: pass hackage.haskell.org (this can be any command, but not an arbitrary shell expression. Like cabal we only read the first output line and ignore the rest.)
16# Those fields are specified under `upload` on the `cabal` man page.
1718package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv"
19username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //")
20password_command=$(grep "^password-command:" ~/.cabal/config | sed "s/^password-command: //")
21+curl -u "$username:$($password_command | head -n1)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv
···33 meta = with lib; {
34 description = "A little krunner plugin (Plasma 5) to retrieve unicode symbols, or any other string, based on a corresponding keyword";
35 homepage = "https://github.com/domschrei/krunner-symbols";
36- license = licenses.gpl3Only;
37 maintainers = with maintainers; [ hqurve ];
38 platforms = platforms.linux;
39 };
···33 meta = with lib; {
34 description = "A little krunner plugin (Plasma 5) to retrieve unicode symbols, or any other string, based on a corresponding keyword";
35 homepage = "https://github.com/domschrei/krunner-symbols";
36+ license = licenses.gpl3Plus;
37 maintainers = with maintainers; [ hqurve ];
38 platforms = platforms.linux;
39 };
+9-4
pkgs/development/coq-modules/interval/default.nix
···1-{ lib, mkCoqDerivation, which, autoconf, coq, coquelicot, flocq, bignums ? null, version ? null }:
23-with lib; mkCoqDerivation {
4 pname = "interval";
5 owner = "coqinterval";
6 domain = "gitlab.inria.fr";
7 inherit version;
8 defaultVersion = with versions; switch coq.coq-version [
9- { case = isGe "8.8" ; out = "4.1.1"; }
10 { case = range "8.8" "8.12"; out = "4.0.0"; }
11 { case = range "8.7" "8.11"; out = "3.4.2"; }
12 { case = range "8.5" "8.6"; out = "3.3.0"; }
13 ] null;
0014 release."4.1.1".sha256 = "sha256-h2NJ6sZt1C/88v7W2xyuftEDoyRt3H6kqm5g2hc1aoU=";
15 release."4.0.0".sha256 = "1hhih6zmid610l6c8z3x4yzdzw9jniyjiknd1vpkyb2rxvqm3gzp";
16 release."3.4.2".sha256 = "07ngix32qarl3pjnm9d0vqc9fdrgm08gy7zp306hwxjyq7h1v7z0";
···18 releaseRev = v: "interval-${v}";
1920 nativeBuildInputs = [ which autoconf ];
21- propagatedBuildInputs = [ bignums coquelicot flocq ];
022 useMelquiondRemake.logpath = "Interval";
002324 meta = with lib; {
25 description = "Tactics for simplifying the proofs of inequalities on expressions of real numbers for the Coq proof assistant";
···1+{ lib, mkCoqDerivation, which, autoconf, coq, coquelicot, flocq, bignums ? null, gnuplot_qt, version ? null }:
23+with lib; mkCoqDerivation rec {
4 pname = "interval";
5 owner = "coqinterval";
6 domain = "gitlab.inria.fr";
7 inherit version;
8 defaultVersion = with versions; switch coq.coq-version [
9+ { case = isGe "8.8" ; out = "4.3.0"; }
10 { case = range "8.8" "8.12"; out = "4.0.0"; }
11 { case = range "8.7" "8.11"; out = "3.4.2"; }
12 { case = range "8.5" "8.6"; out = "3.3.0"; }
13 ] null;
14+ release."4.3.0".sha256 = "sha256-k8DLC4HYYpHeEEgXUafS8jkaECqlM+/CoYaInmUTYko=";
15+ release."4.2.0".sha256 = "sha256-SD5thgpirs3wmZBICjXGpoefg9AAXyExb5t8tz3iZhE=";
16 release."4.1.1".sha256 = "sha256-h2NJ6sZt1C/88v7W2xyuftEDoyRt3H6kqm5g2hc1aoU=";
17 release."4.0.0".sha256 = "1hhih6zmid610l6c8z3x4yzdzw9jniyjiknd1vpkyb2rxvqm3gzp";
18 release."3.4.2".sha256 = "07ngix32qarl3pjnm9d0vqc9fdrgm08gy7zp306hwxjyq7h1v7z0";
···20 releaseRev = v: "interval-${v}";
2122 nativeBuildInputs = [ which autoconf ];
23+ propagatedBuildInputs = [ bignums coquelicot flocq ]
24+ ++ lib.optionals (versions.isGe "4.2.0" defaultVersion) [ gnuplot_qt ];
25 useMelquiondRemake.logpath = "Interval";
26+ mlPlugin = true;
27+ enableParallelBuilding = true;
2829 meta = with lib; {
30 description = "Tactics for simplifying the proofs of inequalities on expressions of real numbers for the Coq proof assistant";
+2-2
pkgs/development/interpreters/erlang/R24.nix
···3# How to obtain `sha256`:
4# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
5mkDerivation {
6- version = "24.0.4";
7- sha256 = "OeXXNaVJh5el+V+5ukcNOAgDmkJuGy1lYLpUTd1yxHM=";
8}
···3# How to obtain `sha256`:
4# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
5mkDerivation {
6+ version = "24.0.5";
7+ sha256 = "4ZyYcBhep67aPr8SY7JK/3YXD5Th8UcyjTP7UIZ5c5Q=";
8}
+3-3
pkgs/development/interpreters/yabasic/default.nix
···1011stdenv.mkDerivation rec {
12 pname = "yabasic";
13- version = "2.89.1";
1415 src = fetchurl {
16 url = "http://www.yabasic.de/download/${pname}-${version}.tar.gz";
17- hash = "sha256-k8QmQCpszLyotEiWDrG878RM2wqSq7I4W9j6Z2Ub3Yg=";
18 };
1920 buildInputs = [
···26 ];
2728 meta = with lib; {
29- homepage = "http://www.yabasic.de/";
30 description = "Yet another BASIC";
31 longDescription = ''
32 Yabasic is a traditional basic-interpreter. It comes with goto and various
···1011stdenv.mkDerivation rec {
12 pname = "yabasic";
13+ version = "2.90.1";
1415 src = fetchurl {
16 url = "http://www.yabasic.de/download/${pname}-${version}.tar.gz";
17+ hash = "sha256-9LqiwS3Udql3YZoufo3spVpE46me3McI8L08TpNJpJo=";
18 };
1920 buildInputs = [
···26 ];
2728 meta = with lib; {
29+ homepage = "http://2484.de/yabasic/";
30 description = "Yet another BASIC";
31 longDescription = ''
32 Yabasic is a traditional basic-interpreter. It comes with goto and various
···1-diff --git a/magic/loader.py b/magic/loader.py
2-index 6b2bfcb..69778af 100644
3---- a/magic/loader.py
4-+++ b/magic/loader.py
5-@@ -5,11 +5,7 @@ import glob
006 def load_lib():
7- libmagic = None
8- # Let's try to find magic or magic1
9-- dll = ctypes.util.find_library('magic') \
10-- or ctypes.util.find_library('magic1') \
11-- or ctypes.util.find_library('cygmagic-1') \
12-- or ctypes.util.find_library('libmagic-1') \
13-- or ctypes.util.find_library('msys-magic-1') # for MSYS2
14-+ dll = '@libmagic@'
0000000001516- # necessary because find_library returns None if it doesn't find the library
17- if dll:
···1+diff --git i/magic/loader.py w/magic/loader.py
2+index 931f161..b8096d1 100644
3+--- i/magic/loader.py
4++++ w/magic/loader.py
5+@@ -35,16 +35,12 @@ def _lib_candidates():
6+7+8 def load_lib():
9++ lib = '@libmagic@'
10+11+- for lib in _lib_candidates():
12+- # find_library returns None when lib not found
13+- if lib is None:
14+- continue
15+- try:
16+- return ctypes.CDLL(lib)
17+- except OSError:
18+- pass
19+- else:
20+- # It is better to raise an ImportError since we are importing magic module
21+- raise ImportError('failed to find libmagic. Check your installation')
22++ try:
23++ return ctypes.CDLL(lib)
24++ except OSError:
25++ pass
2627++ # It is better to raise an ImportError since we are importing magic module
28++ raise ImportError('failed to find libmagic. Check your installation')
···49 meta = with lib; {
50 description = "A graphical user interface for the PDF Toolkit (PDFtk)";
51 homepage = "https://pdfchain.sourceforge.io";
52- license = licenses.gpl3Only;
53 maintainers = with maintainers; [ hqurve ];
54 platforms = platforms.linux;
55 };
···49 meta = with lib; {
50 description = "A graphical user interface for the PDF Toolkit (PDFtk)";
51 homepage = "https://pdfchain.sourceforge.io";
52+ license = licenses.gpl3Plus;
53 maintainers = with maintainers; [ hqurve ];
54 platforms = platforms.linux;
55 };