diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/science')
29 files changed, 474 insertions, 124 deletions
diff --git a/nixpkgs/pkgs/applications/science/biology/igv/default.nix b/nixpkgs/pkgs/applications/science/biology/igv/default.nix index a74208c706a1..827fdb6fa1ab 100644 --- a/nixpkgs/pkgs/applications/science/biology/igv/default.nix +++ b/nixpkgs/pkgs/applications/science/biology/igv/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "igv"; - version = "2.16.2"; + version = "2.17.0"; src = fetchzip { url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip"; - sha256 = "sha256-/X9loW8rOevf/GA/Wk3bVsES9ZceF79Bkwby75SJgTQ="; + sha256 = "sha256-nOwaeVIvqfHrvykfTyOdnMN6+QpsvNN14jXBQx7THsE="; }; installPhase = '' diff --git a/nixpkgs/pkgs/applications/science/biology/trimmomatic/default.nix b/nixpkgs/pkgs/applications/science/biology/trimmomatic/default.nix index ad1dc45c5c26..53cff76badce 100644 --- a/nixpkgs/pkgs/applications/science/biology/trimmomatic/default.nix +++ b/nixpkgs/pkgs/applications/science/biology/trimmomatic/default.nix @@ -1,30 +1,36 @@ { lib , stdenv -, ant , fetchFromGitHub -, jdk11_headless +, ant +, jdk , jre , makeWrapper +, canonicalize-jars-hook }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "trimmomatic"; version = "0.39"; src = fetchFromGitHub { owner = "usadellab"; repo = "Trimmomatic"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-u+ubmacwPy/vsEi0YQCv0fTnVDesQvqeQDEwCbS8M6I="; }; - # Set source and target version to 11 + # Remove jdk version requirement postPatch = '' substituteInPlace ./build.xml \ - --replace 'source="1.5" target="1.5"' 'release="11"' + --replace 'source="1.5" target="1.5"' "" ''; - nativeBuildInputs = [ jdk11_headless ant makeWrapper ]; + nativeBuildInputs = [ + ant + jdk + makeWrapper + canonicalize-jars-hook + ]; buildPhase = '' runHook preBuild @@ -37,16 +43,17 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall - mkdir -p $out/bin $out/share - cp dist/jar/trimmomatic-${version}.jar $out/share/ - cp -r adapters $out/share/ + install -Dm644 dist/jar/trimmomatic-*.jar -t $out/share/trimmomatic + cp -r adapters $out/share/trimmomatic + makeWrapper ${jre}/bin/java $out/bin/trimmomatic \ - --add-flags "-cp $out/share/trimmomatic-${version}.jar org.usadellab.trimmomatic.Trimmomatic" + --add-flags "-jar $out/share/trimmomatic/trimmomatic-*.jar" runHook postInstall ''; meta = { + changelog = "https://github.com/usadellab/Trimmomatic/blob/main/versionHistory.txt"; description = "A flexible read trimming tool for Illumina NGS data"; longDescription = '' Trimmomatic performs a variety of useful trimming tasks for illumina @@ -59,8 +66,9 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl3Only; sourceProvenance = [ lib.sourceTypes.fromSource - lib.sourceTypes.binaryBytecode # source bundles dependencies as jars + lib.sourceTypes.binaryBytecode # source bundles dependencies as jars ]; + mainProgram = "trimmomatic"; maintainers = [ lib.maintainers.kupac ]; }; -} +}) diff --git a/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix b/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix index 16eabbcbcaa1..42bfc6ffe32e 100644 --- a/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix +++ b/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix @@ -38,13 +38,11 @@ then "rocm" else "none" ) -# gpuVersion needs to be set for both CUDA as well as ROCM hardware. -# gpuArch is only required for the ROCM stack. # Change to a value suitable for your target GPU. # For AMD values see https://github.com/cp2k/cp2k/blob/master/INSTALL.md#2v-rocmhip-support-for-amd-gpu # and for Nvidia see https://github.com/cp2k/cp2k/blob/master/INSTALL.md#2i-cuda-optional-improved-performance-on-gpu-systems -, gpuVersion ? "Mi100" -, gpuArch ? "gfx908" +, gpuVersion ? ( if gpuBackend == "cuda" then "A100" else "Mi100" ) +, gpuArch ? ( if gpuBackend == "cuda" then "sm_80" else "gfx908" ) }: assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ]; @@ -56,17 +54,19 @@ let in stdenv.mkDerivation rec { pname = "cp2k"; - version = "2023.2"; + version = "2024.1"; src = fetchFromGitHub { owner = "cp2k"; repo = "cp2k"; rev = "v${version}"; - hash = "sha256-1TJorIjajWFO7i9vqSBDTAIukBdyvxbr5dargt4QB8M="; + hash = "sha256-6PB6wjdTOa55dXV7QIsjxI77hhc95WFEjNePfupBUJQ="; fetchSubmodules = true; }; - nativeBuildInputs = [ python3 which openssh makeWrapper pkg-config ]; + nativeBuildInputs = [ python3 which openssh makeWrapper pkg-config ] + ++ lib.optional (gpuBackend == "cuda") cudaPackages.cuda_nvcc; + buildInputs = [ gfortran fftw @@ -88,8 +88,11 @@ stdenv.mkDerivation rec { libvdwxc ] ++ lib.optional enableElpa elpa - ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit - ++ lib.optional (gpuBackend == "rocm") [ + ++ lib.optionals (gpuBackend == "cuda") [ + cudaPackages.cuda_cudart + cudaPackages.libcublas + cudaPackages.cuda_nvrtc + ] ++ lib.optionals (gpuBackend == "rocm") [ rocmPackages.clr rocmPackages.rocm-core rocmPackages.hipblas @@ -126,7 +129,7 @@ stdenv.mkDerivation rec { AR = ar -r ${lib.strings.optionalString (gpuBackend == "cuda") '' OFFLOAD_CC = nvcc - OFFLOAD_FLAGS = -O3 -g -w --std=c++11 + OFFLOAD_FLAGS = -O3 -g -w --std=c++11 -arch ${gpuArch} OFFLOAD_TARGET = cuda GPUVER = ${gpuVersion} CXX = mpicxx @@ -144,7 +147,7 @@ stdenv.mkDerivation rec { -D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \ -D__MAX_CONTR=4 -D__LIBVORI ${lib.optionalString enableElpa "-D__ELPA"} \ -D__PLUMED2 -D__HDF5 -D__GSL -D__SIRIUS -D__LIBVDWXC -D__SPFFT -D__SPLA \ - ${lib.strings.optionalString (gpuBackend == "cuda") "-D__OFFLOAD_CUDA -D__DBCSR_ACC"} \ + ${lib.strings.optionalString (gpuBackend == "cuda") "-D__OFFLOAD_CUDA -D__ACC -D__DBCSR_ACC -D__NO_OFFLOAD_PW"} \ ${lib.strings.optionalString (gpuBackend == "rocm") "-D__OFFLOAD_HIP -D__DBCSR_ACC -D__NO_OFFLOAD_PW"} CFLAGS = -fopenmp -I${lib.getDev hdf5-fortran}/include -I${lib.getDev gsl}/include FCFLAGS = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \ @@ -154,6 +157,7 @@ stdenv.mkDerivation rec { -I${lib.getDev libint}/include ${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"} \ -I${lib.getDev sirius}/include/sirius \ -I${lib.getDev libxc}/include -I${lib.getDev libxsmm}/include \ + -I${lib.getDev hdf5-fortran}/include \ -fallow-argument-mismatch LIBS = -lfftw3 -lfftw3_threads \ -lscalapack -lblas -llapack \ @@ -163,7 +167,11 @@ stdenv.mkDerivation rec { -fopenmp ${lib.optionalString enableElpa "$(pkg-config --libs elpa)"} \ -lz -ldl ${lib.optionalString (mpi.pname == "openmpi") "$(mpicxx --showme:link)"} \ -lplumed -lhdf5_fortran -lhdf5_hl -lhdf5 -lgsl -lsirius -lspla -lspfft -lvdwxc \ - ${lib.strings.optionalString (gpuBackend == "cuda") "-lcudart -lnvrtc -lcuda -lcublas"} \ + ${lib.strings.optionalString (gpuBackend == "cuda") '' + -L${cudaPackages.cuda_cudart}/lib/stubs/ \ + -lcudart -lnvrtc -lcuda -lcublas + '' + } \ ${lib.strings.optionalString (gpuBackend == "rocm") "-lamdhip64 -lhipfft -lhipblas -lrocblas"} LDFLAGS = \$(FCFLAGS) \$(LIBS) include ${plumed}/lib/plumed/src/lib/Plumed.inc diff --git a/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix index 155d521549e3..553e82eed8fb 100644 --- a/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix +++ b/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix @@ -58,7 +58,7 @@ python3Packages.buildPythonApplication rec { postInstall = with python3Packages; '' wrapProgram $out/bin/pymol \ - --prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" python3.sitePackages [ pyqt5 pyqt5.pyqt5_sip ]} + --prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" python3.sitePackages [ pyqt5 pyqt5.pyqt5-sip ]} mkdir -p "$out/share/icons/" ln -s ../../lib/python/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg" diff --git a/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix b/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix index 3259f0f4ca95..7b7b54201bf7 100644 --- a/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "gtkwave"; - version = "3.3.117"; + version = "3.3.118"; src = fetchurl { url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz"; - sha256 = "sha256-PPFTdYapEcuwYBr4+hjPbacIyKFKcfac48uRGOhXHbk="; + sha256 = "sha256-D0MwwCiiqz0vTUzur222kl2wEMS2/VLRECLQ5d6gSGo="; }; nativeBuildInputs = [ pkg-config wrapGAppsHook ]; diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix index a2e5bbe72a56..bff63f3b2d7e 100644 --- a/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix +++ b/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix @@ -43,6 +43,7 @@ , valgrind , stable +, testing , baseName , kicadSrc , kicadVersion @@ -56,6 +57,8 @@ assert lib.assertMsg (!(sanitizeAddress && sanitizeThreads)) "'sanitizeAddress' and 'sanitizeThreads' are mutually exclusive, use one."; +assert testing -> !stable + -> throw "testing implies stable and cannot be used with stable = false"; let inherit (lib) optional optionals optionalString; @@ -74,9 +77,9 @@ stdenv.mkDerivation rec { ]; # tagged releases don't have "unknown" - # kicad nightlies use git describe --dirty + # kicad testing and nightlies use git describe --dirty # nix removes .git, so its approximated here - postPatch = lib.optionalString (!stable) '' + postPatch = lib.optionalString (!stable || testing) '' substituteInPlace cmake/KiCadVersion.cmake \ --replace "unknown" "${builtins.substring 0 10 src.rev}" @@ -92,7 +95,7 @@ stdenv.mkDerivation rec { ] ++ optionals (stable) [ # https://gitlab.com/kicad/code/kicad/-/issues/12491 - # should be resolved in the next release + # should be resolved in the next major? release "-DCMAKE_CTEST_ARGUMENTS='--exclude-regex;qa_eeschema'" ] ++ optional (stable && !withNgspice) "-DKICAD_SPICE=OFF" diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix index 05498057aac6..fa0c7ae7a75e 100644 --- a/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix +++ b/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix @@ -2,22 +2,26 @@ , runCommand , newScope , fetchFromGitLab -, gnome -, dconf -, wxGTK32 -, gtk3 , makeWrapper -, gsettings-desktop-schemas -, hicolor-icon-theme +, symlinkJoin , callPackage , callPackages + +, gnome +, dconf +, gtk3 +, wxGTK32 , librsvg , cups +, gsettings-desktop-schemas +, hicolor-icon-theme + , unzip , jq , pname ? "kicad" , stable ? true +, testing ? false , withNgspice ? !stdenv.isDarwin , libngspice , withScripting ? true @@ -29,7 +33,6 @@ , with3d ? true , withI18n ? true , srcs ? { } -, symlinkJoin }: # `addons`: https://dev-docs.kicad.org/en/addons/ @@ -75,7 +78,9 @@ # } let - baseName = if (stable) then "kicad" else "kicad-unstable"; + baseName = if (testing) then "kicad-testing" + else if (stable) then "kicad" + else "kicad-unstable"; versionsImport = import ./versions.nix; # versions.nix does not provide us with version, src and rev. We @@ -154,7 +159,7 @@ stdenv.mkDerivation rec { passthru.libraries = callPackages ./libraries.nix { inherit libSrc; }; passthru.callPackage = newScope { inherit addonPath python3; }; base = callPackage ./base.nix { - inherit stable baseName; + inherit stable testing baseName; inherit kicadSrc kicadVersion; inherit wxGTK python wxPython; inherit withNgspice withScripting withI18n; @@ -262,17 +267,16 @@ stdenv.mkDerivation rec { ln -s ${base}/share/metainfo $out/share/metainfo ''; - # can't run this for each pname - # stable and unstable are in the same versions.nix - # and kicad-small reuses stable - # with "all" it updates both, run it manually if you don't want that - # and can't git commit if this could be running in parallel with other scripts - passthru.updateScript = [ ./update.sh "all" ]; + passthru.updateScript = { + command = [ ./update.sh "${pname}" ]; + supportedFeatures = [ "commit" ]; + }; meta = rec { description = (if (stable) then "Open Source Electronics Design Automation suite" - else "Open Source EDA suite, development build") + else if (testing) then "Open Source EDA suite, latest on stable branch" + else "Open Source EDA suite, latest on master branch") + (lib.optionalString (!with3d) ", without 3D models"); homepage = "https://www.kicad.org/"; longDescription = '' diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh b/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh index 625b2962fa23..b47e2d84b336 100755 --- a/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh +++ b/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p coreutils git nix curl +#!nix-shell -i bash -p coreutils git nix curl jq # shellcheck shell=bash enable=all set -e @@ -25,38 +25,63 @@ export TMPDIR=/tmp # if there is, default to commiting? # won't work when running in parallel? # remove items left in /nix/store? +# reuse hashes of already checked revs (to avoid redownloading testing's packages3d) + +# nixpkgs' update.nix passes in UPDATE_NIX_PNAME to indicate which package is being updated +# assigning a default value to that as shellcheck doesn't like the use of unassigned variables +: "${UPDATE_NIX_PNAME:=""}" +# update.nix can also parse JSON output of this script to formulate a commit +# this requires we collect the version string in the old versions.nix for the updated package +old_version="" +new_version="" + # get the latest tag that isn't an RC or *.99 latest_tags="$(git ls-remote --tags --sort -version:refname https://gitlab.com/kicad/code/kicad.git)" # using a scratch variable to ensure command failures get caught (SC2312) scratch="$(grep -o 'refs/tags/[0-9]*\.[0-9]*\.[0-9]*$' <<< "${latest_tags}")" scratch="$(grep -ve '\.99' -e '\.9\.9' <<< "${scratch}")" -scratch="$(head -n 1 <<< "${scratch}")" +scratch="$(sed -n '1p' <<< "${scratch}")" latest_tag="$(cut -d '/' -f 3 <<< "${scratch}")" -all_versions=( "${latest_tag}" master ) +# get the latest branch name for testing +branches="$(git ls-remote --heads --sort -version:refname https://gitlab.com/kicad/code/kicad.git)" +scratch="$(grep -o 'refs/heads/[0-9]*\.[0-9]*$' <<< "${branches}")" +scratch="$(sed -n '1p' <<< "${scratch}")" +testing_branch="$(cut -d '/' -f 3 <<< "${scratch}")" + +# "latest_tag" and "master" directly refer to what we want +# "testing" uses "testing_branch" found above +all_versions=( "${latest_tag}" testing master ) prefetch="nix-prefetch-url --unpack --quiet" clean="" check_stable="" +check_testing=1 check_unstable=1 commit="" -for arg in "$@"; do +for arg in "$@" "${UPDATE_NIX_PNAME}"; do case "${arg}" in help|-h|--help) echo "Read me!" >&2; exit 1; ;; - kicad|release|tag|stable|*small|5*|6*) check_stable=1; check_unstable="" ;; - all|both|full) check_stable=1; check_unstable=1 ;; + kicad|kicad-small|release|tag|stable|5*|6*|7*|8*) check_stable=1; check_testing=""; check_unstable="" ;; + *testing|kicad-testing-small) check_testing=1; check_unstable="" ;; + *unstable|*unstable-small|master|main) check_unstable=1; check_testing="" ;; + latest|now|today) check_unstable=1; check_testing=1 ;; + all|both|full) check_stable=1; check_testing=1; check_unstable=1 ;; + clean|fix|*fuck) check_stable=1; check_testing=1; check_unstable=1; clean=1 ;; commit) commit=1 ;; - clean|fix|*fuck) check_stable=1; check_unstable=1; clean=1 ;; - master|*unstable|latest|now|today) check_unstable=1 ;; *) ;; esac done here="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -now=$(date --iso-8601 --utc) +commit_date() { + gitlab_json="$(curl -s https://gitlab.com/api/v4/projects/kicad%2Fcode%2Fkicad/repository/commits/"$1")" + commit_created="$(jq .created_at --raw-output <<< "${gitlab_json}")" + date --date="${commit_created}" --iso-8601 --utc +} file="${here}/versions.nix" # just in case this runs in parallel @@ -65,11 +90,7 @@ tmp="${here}/,versions.nix.${RANDOM}" libs=( symbols templates footprints packages3d ) get_rev() { - if [[ ${version} == "master" ]]; then - git ls-remote --heads "$@" - else - git ls-remote --tags "$@" - fi + git ls-remote "$@" } gitlab="https://gitlab.com/kicad" @@ -78,13 +99,14 @@ src_pre="https://gitlab.com/api/v4/projects/kicad%2Fcode%2Fkicad/repository/arch lib_pre="https://gitlab.com/api/v4/projects/kicad%2Flibraries%2Fkicad-" lib_mid="/repository/archive.tar.gz?sha=" +# number of items updated count=0 -printf "Latest tag is\t%s\n" "${latest_tag}" >&2 +printf "Latest tag is %s\n" "${latest_tag}" >&2 if [[ ! -f ${file} ]]; then echo "No existing file, generating from scratch" >&2 - check_stable=1; check_unstable=1; clean=1 + check_stable=1; check_testing=1; check_unstable=1; clean=1 fi printf "Writing %s\n" "${tmp}" >&2 @@ -97,32 +119,58 @@ printf "{\n" for version in "${all_versions[@]}"; do + src_version=${version}; + lib_version=${version}; + # testing is the stable branch on the main repo + # but the libraries don't have such a branch + # only the latest release tag and a master branch + if [[ ${version} == "testing" ]]; then + src_version=${testing_branch}; + lib_version=${latest_tag}; + fi + if [[ ${version} == "master" ]]; then pname="kicad-unstable" - today="${now}" + elif [[ ${version} == "testing" ]]; then + pname="kicad-testing" else pname="kicad" - today="${version}" fi + # skip a version if we don't want to check it - if [[ (${version} != "master" && -n ${check_stable}) \ - || (${version} == "master" && -n ${check_unstable}) ]]; then + if [[ (-n ${check_stable} && ${version} != "master" && ${version} != "testing") \ + || (-n ${check_testing} && ${version} == "testing") \ + || (-n ${check_unstable} && ${version} == "master" ) ]]; then + + now=$(commit_date "${src_version}") + + if [[ ${version} == "master" ]]; then + pname="kicad-unstable" + new_version="${now}" + elif [[ ${version} == "testing" ]]; then + pname="kicad-testing" + new_version="${testing_branch}-${now}" + else + pname="kicad" + new_version="${version}" + fi printf "\nChecking %s\n" "${pname}" >&2 printf "%2s\"%s\" = {\n" "" "${pname}" printf "%4skicadVersion = {\n" "" - printf "%6sversion =\t\t\t\"%s\";\n" "" "${today}" + printf "%6sversion =\t\t\t\"%s\";\n" "" "${new_version}" printf "%6ssrc = {\n" "" echo "Checking src" >&2 - scratch="$(get_rev "${gitlab}"/code/kicad.git "${version}")" + scratch="$(get_rev "${gitlab}"/code/kicad.git "${src_version}")" src_rev="$(cut -f1 <<< "${scratch}")" has_rev="$(grep -sm 1 "\"${pname}\"" -A 4 "${file}" | grep -sm 1 "${src_rev}" || true)" has_hash="$(grep -sm 1 "\"${pname}\"" -A 5 "${file}" | grep -sm 1 "sha256" || true)" + old_version="$(grep -sm 1 "\"${pname}\"" -A 3 "${file}" | grep -sm 1 "version" | awk -F "\"" '{print $2}' || true)" if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then - echo "Reusing old ${pname}.src.sha256, already latest .rev" >&2 + echo "Reusing old ${pname}.src.sha256, already latest .rev at ${old_version}" >&2 scratch=$(grep -sm 1 "\"${pname}\"" -A 5 "${file}") grep -sm 1 "rev" -A 1 <<< "${scratch}" else @@ -135,19 +183,19 @@ for version in "${all_versions[@]}"; do printf "%4s};\n" "" printf "%4slibVersion = {\n" "" - printf "%6sversion =\t\t\t\"%s\";\n" "" "${today}" + printf "%6sversion =\t\t\t\"%s\";\n" "" "${new_version}" printf "%6slibSources = {\n" "" for lib in "${libs[@]}"; do echo "Checking ${lib}" >&2 url="${gitlab}/libraries/kicad-${lib}.git" - scratch="$(get_rev "${url}" "${version}")" + scratch="$(get_rev "${url}" "${lib_version}")" scratch="$(cut -f1 <<< "${scratch}")" lib_rev="$(tail -n1 <<< "${scratch}")" has_rev="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" || true)" has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256" || true)" if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then - echo "Reusing old kicad-${lib}-${today}.src.sha256, already latest .rev" >&2 + echo "Reusing old kicad-${lib}-${new_version}.src.sha256, already latest .rev" >&2 scratch="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}")" grep -sm 1 "${lib}" -A 1 <<< "${scratch}" else @@ -191,3 +239,22 @@ if [[ ${count} -gt 0 ]]; then else echo "No changes, those checked are up to date" >&2 fi + +# using UPDATE_NIX_ATTR_PATH to detect if this is being called from update.nix +# and output JSON to describe the changes +if [[ -n ${UPDATE_NIX_ATTR_PATH} ]]; then + + if [[ ${count} -eq 0 ]]; then echo "[{}]"; exit 0; fi + + jq -n \ + --arg attrpath "${UPDATE_NIX_PNAME}" \ + --arg oldversion "${old_version}" \ + --arg newversion "${new_version}" \ + --arg file "${file}" \ +'[{ + "attrPath": $attrpath, + "oldVersion": $oldversion, + "newVersion": $newversion, + "files": [ $file ] +}]' +fi diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix index b938d1659553..ffab1ba75121 100644 --- a/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix +++ b/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix @@ -23,6 +23,28 @@ }; }; }; + "kicad-testing" = { + kicadVersion = { + version = "7.0-2024-01-07"; + src = { + rev = "ace6439758f8d211001235f36f02a60488337e41"; + sha256 = "0z4p2srz9rld7mq6k2y5fipz8mgsdhh2506wam4388nklzzkrccr"; + }; + }; + libVersion = { + version = "7.0-2024-01-07"; + libSources = { + symbols.rev = "eedf6c9ddac2816023e817d4dc91032f9d7390b9"; + symbols.sha256 = "0nlgmxf9z1vf4g350dfkxql1dawgmw275wqxkgszsfxmhdfpmi9v"; + templates.rev = "9ce98cc45f3778e05c404edebf0f98de5c247ffe"; + templates.sha256 = "0mykfwwik7472i4r0isc5szj3dnmvd0538p0vlmzh4rcgj3pj3vm"; + footprints.rev = "7061fc9847ecc1b838e60dc6826db534028494f6"; + footprints.sha256 = "1az6fzh1lma71mj12bc4bblnmzjayrxhkb8w9rjvlhvvgv33cdmy"; + packages3d.rev = "d7345b34daaa23acf0d4506ed937fb424b5b18cd"; + packages3d.sha256 = "0xzyi4mgyifwc6dppdzh6jq294mkj0a71cwkqw2ymz1kfbksw626"; + }; + }; + }; "kicad-unstable" = { kicadVersion = { version = "2023-08-15"; diff --git a/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/default.nix b/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/default.nix index 2e4ef8003d15..1c9ef55e1e01 100644 --- a/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/default.nix +++ b/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/default.nix @@ -50,6 +50,6 @@ stdenv.mkDerivation rec { description = "VLSI layout tool written in Tcl"; homepage = "http://opencircuitdesign.com/magic/"; license = licenses.mit; - maintainers = with maintainers; [ anna328p thoughtpolice AndersonTorres ]; + maintainers = with maintainers; [ thoughtpolice AndersonTorres ]; }; } diff --git a/nixpkgs/pkgs/applications/science/electronics/nanovna-saver/default.nix b/nixpkgs/pkgs/applications/science/electronics/nanovna-saver/default.nix index f65f5e5149ca..e9e693fcf511 100644 --- a/nixpkgs/pkgs/applications/science/electronics/nanovna-saver/default.nix +++ b/nixpkgs/pkgs/applications/science/electronics/nanovna-saver/default.nix @@ -31,8 +31,6 @@ python3.pkgs.buildPythonApplication rec { setuptools-scm ]; - SETUPTOOLS_SCM_PRETEND_VERSION = version; - doCheck = false; dontWrapGApps = true; diff --git a/nixpkgs/pkgs/applications/science/electronics/simulide/default.nix b/nixpkgs/pkgs/applications/science/electronics/simulide/default.nix new file mode 100644 index 000000000000..7a95b68f11f7 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/electronics/simulide/default.nix @@ -0,0 +1,131 @@ +{ lib +, fetchbzr +, mkDerivation +, qmake +, qtserialport +, qtmultimedia +, qttools +, qtscript +}: + +let + generic = + { version + , release + , branch + , rev + , sha256 + , extraPostPatch ? "" + , extraBuildInputs ? [ ] + , iconPath ? "resources/icons/simulide.png" + , installFiles ? '' + cp -r data examples $out/share/simulide + cp simulide $out/bin/simulide + '' + }: + mkDerivation { + pname = "simulide"; + version = "${version}-${release}"; + + src = fetchbzr { + url = "https://code.launchpad.net/~arcachofo/simulide/${branch}"; + inherit rev sha256; + }; + + postPatch = '' + sed -i resources/simulide.desktop \ + -e "s|^Exec=.*$|Exec=simulide|" \ + -e "s|^Icon=.*$|Icon=simulide|" + + # Note: older versions don't have REV_NO + sed -i SimulIDE.pro \ + -e "s|^VERSION = .*$|VERSION = ${version}|" \ + -e "s|^RELEASE = .*$|RELEASE = -${release}|" \ + -e "s|^REV_NO = .*$|REV_NO = ${rev}|" \ + -e "s|^BUILD_DATE = .*$|BUILD_DATE = ??-??-??|" + + ${extraPostPatch} + ''; + + preConfigure = '' + cd build_XX + ''; + + nativeBuildInputs = [ + qmake + ]; + + buildInputs = [ + qtserialport + qtmultimedia + qttools + ] ++ extraBuildInputs; + + installPhase = '' + runHook preInstall + + install -Dm644 ../resources/simulide.desktop $out/share/applications/simulide.desktop + install -Dm644 ../${iconPath} $out/share/icons/hicolor/256x256/apps/simulide.png + + mkdir -p $out/share/simulide $out/bin + pushd executables/SimulIDE_* + ${installFiles} + popd + + runHook postInstall + ''; + + meta = { + description = "A simple real time electronic circuit simulator"; + longDescription = '' + SimulIDE is a simple real time electronic circuit simulator, intended for hobbyist or students + to learn and experiment with analog and digital electronic circuits and microcontrollers. + It supports PIC, AVR, Arduino and other MCUs and MPUs. + ''; + homepage = "https://simulide.com/"; + license = lib.licenses.gpl3Only; + mainProgram = "simulide"; + maintainers = with lib.maintainers; [ carloscraveiro tomasajt ]; + platforms = [ "x86_64-linux" ]; + }; + }; +in +{ + simulide_0_4_15 = generic { + version = "0.4.15"; + release = "SR10"; + branch = "simulide_0.4.14"; # the branch name does not mach the version for some reason + rev = "291"; + sha256 = "sha256-BBoZr/S2pif0Jft5wrem8y00dXl08jq3kFiIUtOr3LM="; + extraPostPatch = '' + # GCC 13 needs the <cstdint> header explicitly included + sed -i src/gpsim/value.h -e '1i #include <cstdint>' + sed -i src/gpsim/modules/watchdog.h -e '1i #include <cstdint>' + ''; + extraBuildInputs = [ qtscript ]; + iconPath = "resources/icons/hicolor/256x256/simulide.png"; # upstream had a messed up icon path in this release + installFiles = '' + cp -r share/simulide/* $out/share/simulide + cp bin/simulide $out/bin/simulide + ''; + }; + + simulide_1_0_0 = generic { + version = "1.0.0"; + release = "SR2"; + branch = "1.0.0"; + rev = "1449"; + sha256 = "sha256-rJWZvnjVzaKXU2ktbde1w8LSNvu0jWkDIk4dq2l7t5g="; + extraBuildInputs = [ qtscript ]; + }; + + simulide_1_1_0 = generic { + version = "1.1.0"; + release = "RC1"; + # The 1.1.0 branch didn't get merged correctly from trunk + # See: https://simulide.com/p/forum/topic/new-files-missing-from-1-1-0-rc1-after-merge + branch = "trunk"; + rev = "2162"; + sha256 = "sha256-bgRAqt7h2LtU2Ze6Jiz8APhyPcV15v4ofxIilIeZV9E="; + }; +} diff --git a/nixpkgs/pkgs/applications/science/logic/cadical/default.nix b/nixpkgs/pkgs/applications/science/logic/cadical/default.nix index b7524e47b315..49ba06e36cc0 100644 --- a/nixpkgs/pkgs/applications/science/logic/cadical/default.nix +++ b/nixpkgs/pkgs/applications/science/logic/cadical/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "cadical"; - version = "1.9.3"; + version = "1.9.4"; src = fetchFromGitHub { owner = "arminbiere"; repo = "cadical"; rev = "rel-${version}"; - sha256 = "sha256-kjvbWFcoEe7Df2HDKKc2txrxpS8/StwiCLbS2RqnkyE="; + sha256 = "sha256-cSuvvd7ci8jXzFowS7+V3bor7bXCxaKcGdDU91nIo+k="; }; outputs = [ "out" "dev" "lib" ]; diff --git a/nixpkgs/pkgs/applications/science/logic/easycrypt/default.nix b/nixpkgs/pkgs/applications/science/logic/easycrypt/default.nix index 2ea2dea70718..36ff9f2046f8 100644 --- a/nixpkgs/pkgs/applications/science/logic/easycrypt/default.nix +++ b/nixpkgs/pkgs/applications/science/logic/easycrypt/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "easycrypt"; - version = "2023.09"; + version = "2024.01"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "r${version}"; - hash = "sha256-9xavU9jRisZekPqC87EyiLXtZCGu/9QeGzq6BJGt1+Y="; + hash = "sha256-UYDoVMi5TtYxgPq5nkp/oRtcMcHl2p7KAG8ptvuOL5U="; }; nativeBuildInputs = with ocamlPackages; [ diff --git a/nixpkgs/pkgs/applications/science/logic/iprover/default.nix b/nixpkgs/pkgs/applications/science/logic/iprover/default.nix index 6485681e3313..77e5919c0eee 100644 --- a/nixpkgs/pkgs/applications/science/logic/iprover/default.nix +++ b/nixpkgs/pkgs/applications/science/logic/iprover/default.nix @@ -1,29 +1,39 @@ -{ lib, stdenv, fetchurl, ocaml, eprover, zlib }: +{ lib, stdenv, fetchFromGitLab, ocamlPackages, eprover, z3, zlib }: stdenv.mkDerivation rec { pname = "iprover"; - version = "3.1"; + version = "3.8.1"; - src = fetchurl { - url = "http://www.cs.man.ac.uk/~korovink/iprover/iprover-v${version}.tar.gz"; - sha256 = "0lik8p7ayhjwpkln1iwf0ri84ramhch74j5nj6z7ph6wfi92pgg8"; + src = fetchFromGitLab { + owner = "korovin"; + repo = pname; + rev = "f61edb113b705606c7314dc4dce0687832c3169f"; + hash = "sha256-XXqbEoYKjoktE3ZBEIEFjLhA1B75zhnfPszhe8SvbI8="; }; + postPatch = '' + substituteInPlace configure --replace Linux Debian + ''; + strictDeps = true; - nativeBuildInputs = [ ocaml eprover ]; - buildInputs = [ zlib ]; + nativeBuildInputs = [ eprover ] ++ (with ocamlPackages; [ + ocaml findlib + ]); + buildInputs = [ zlib ocamlPackages.z3 z3 ] ++ (with ocamlPackages; [ + ocamlgraph yojson zarith + ]); preConfigure = "patchShebangs ."; installPhase = '' + runHook preInstall mkdir -p "$out/bin" cp iproveropt "$out/bin" - mkdir -p "$out/share/${pname}-${version}" - cp *.p "$out/share/${pname}-${version}" echo -e "#! ${stdenv.shell}\\n$out/bin/iproveropt --clausifier \"${eprover}/bin/eprover\" --clausifier_options \" --tstp-format --silent --cnf \" \"\$@\"" > "$out"/bin/iprover chmod a+x "$out"/bin/iprover + runHook postInstall ''; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/science/logic/msat/default.nix b/nixpkgs/pkgs/applications/science/logic/msat/default.nix new file mode 100644 index 000000000000..dc2b1a221199 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/logic/msat/default.nix @@ -0,0 +1,13 @@ +{ lib, ocamlPackages }: + +with ocamlPackages; buildDunePackage { + pname = "msat-bin"; + + inherit (msat) version src; + + buildInputs = [ camlzip containers msat ]; + + meta = msat.meta // { + description = "SAT solver binary based on the msat library"; + }; +} diff --git a/nixpkgs/pkgs/applications/science/machine-learning/fasttext/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/fasttext/default.nix index a04ac5a6945e..301308f90136 100644 --- a/nixpkgs/pkgs/applications/science/machine-learning/fasttext/default.nix +++ b/nixpkgs/pkgs/applications/science/machine-learning/fasttext/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "fasttext"; - version = "0.9.2"; + version = "0.9.2-unstable-2023-11-28"; src = fetchFromGitHub { owner = "facebookresearch"; repo = "fastText"; - rev = "v${version}"; - sha256 = "07cz2ghfq6amcljaxpdr5chbd64ph513y8zqmibfx2xwfp74xkhn"; + rev = "6c2204ba66776b700095ff73e3e599a908ffd9c3"; + hash = "sha256-lSIah4T+QqZwCRpeI3mxJ7PZT6pSHBO26rcEFfK8DSk="; }; nativeBuildInputs = [ cmake ]; diff --git a/nixpkgs/pkgs/applications/science/machine-learning/labelimg/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/labelimg/default.nix index 620ccfb084ef..23703ed09952 100644 --- a/nixpkgs/pkgs/applications/science/machine-learning/labelimg/default.nix +++ b/nixpkgs/pkgs/applications/science/machine-learning/labelimg/default.nix @@ -15,7 +15,7 @@ propagatedBuildInputs = with python3Packages; [ pyqt5 lxml - sip_4 + sip4 ]; preBuild = '' make qt5py3 diff --git a/nixpkgs/pkgs/applications/science/math/caffe/default.nix b/nixpkgs/pkgs/applications/science/math/caffe/default.nix index 6595f0b846dd..25f7229a845a 100644 --- a/nixpkgs/pkgs/applications/science/math/caffe/default.nix +++ b/nixpkgs/pkgs/applications/science/math/caffe/default.nix @@ -153,7 +153,7 @@ stdenv.mkDerivation rec { || cudaSupport || !(leveldbSupport -> (leveldb != null && snappy != null)) || !(cudnnSupport -> (hasCudnn && cudaSupport)) - || !(ncclSupport -> cudaSupport) + || !(ncclSupport -> (cudaSupport && !nccl.meta.unsupported)) || !(pythonSupport -> (python != null && numpy != null)) ; license = licenses.bsd2; diff --git a/nixpkgs/pkgs/applications/science/math/gmsh/default.nix b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix index 4d9b3afe31ca..62a0c3c405df 100644 --- a/nixpkgs/pkgs/applications/science/math/gmsh/default.nix +++ b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, cmake, blas, lapack, gfortran, gmm, fltk, libjpeg +{ lib, stdenv, fetchurl, fetchpatch, cmake, blas, lapack, gfortran, gmm, fltk, libjpeg , zlib, libGL, libGLU, xorg, opencascade-occt , python ? null, enablePython ? false }: @@ -24,7 +24,22 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - patches = [ ./fix-python.patch ]; + patches = [ + ./fix-python.patch + + # Pull upstream fix git gcc-13: + # https://gitlab.onelab.info/gmsh/gmsh/-/issues/2416 + (fetchpatch { + name = "gcc-13-p1.patch"; + url = "https://gitlab.onelab.info/gmsh/gmsh/-/commit/fb81a9c9026700e078de947b4522cb39e543a86b.patch"; + hash = "sha256-1GInFqQZvOgflC3eQTjmZ9uBGFASRNCpCwDACN3yTQ4="; + }) + (fetchpatch { + name = "gcc-13-p2.patch"; + url = "https://gitlab.onelab.info/gmsh/gmsh/-/commit/aceb09c807b78ea26555f99fcb16c4f87c31fb5a.patch"; + hash = "sha256-6FI0hIvj8hglCvxoKV0GzT2/F/Wz+ddkxV/TLzzJBLU="; + }) + ]; postPatch = '' substituteInPlace api/gmsh.py --subst-var-by LIBPATH ${placeholder "out"}/lib/libgmsh.so diff --git a/nixpkgs/pkgs/applications/science/math/mathematica/versions.nix b/nixpkgs/pkgs/applications/science/math/mathematica/versions.nix index 74422621c7b4..3bbf70433471 100644 --- a/nixpkgs/pkgs/applications/science/math/mathematica/versions.nix +++ b/nixpkgs/pkgs/applications/science/math/mathematica/versions.nix @@ -8,6 +8,20 @@ let versions = [ { + version = "14.0.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-NzMhGQZq6o6V4UdtJxUH/yyP2s7wjTR86SRA7lW7JfI="; + installer = "Mathematica_14.0.0_LINUX.sh"; + } + { + version = "14.0.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-UrcBEg6G6nbVX++X0z0oG5JjieXL0AquAqtjzY5EBn4="; + installer = "Mathematica_14.0.0_BNDL_LINUX.sh"; + } + { version = "13.3.1"; lang = "en"; language = "English"; diff --git a/nixpkgs/pkgs/applications/science/math/primecount/default.nix b/nixpkgs/pkgs/applications/science/math/primecount/default.nix index 706cbe28f2c7..c3e2565989ed 100644 --- a/nixpkgs/pkgs/applications/science/math/primecount/default.nix +++ b/nixpkgs/pkgs/applications/science/math/primecount/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "primecount"; - version = "7.9"; + version = "7.10"; src = fetchFromGitHub { owner = "kimwalisch"; repo = "primecount"; rev = "v${version}"; - hash = "sha256-0sn6WnrI6Umrsz3lvFIzFi8/fEAqh1qhWxtNPPq5SyA="; + hash = "sha256-z7sHGR6zZSTV1PbL0WPGHf52CYQ572KC1yznCuIEJbQ="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/science/math/primesieve/default.nix b/nixpkgs/pkgs/applications/science/math/primesieve/default.nix index 24f583a3346b..20da1d342831 100644 --- a/nixpkgs/pkgs/applications/science/math/primesieve/default.nix +++ b/nixpkgs/pkgs/applications/science/math/primesieve/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "primesieve"; - version = "11.1"; + version = "11.2"; src = fetchFromGitHub { owner = "kimwalisch"; repo = "primesieve"; rev = "v${version}"; - hash = "sha256-b6X3zhoJsO3UiWfeW4zbKsaoofIWArJi5usof3efQ0k="; + hash = "sha256-HtVuUS4dmTC7KosyBhqZ0QRstvon9WMxYf9Ocs1XIrs="; }; nativeBuildInputs = [ cmake ]; diff --git a/nixpkgs/pkgs/applications/science/math/readstat/default.nix b/nixpkgs/pkgs/applications/science/math/readstat/default.nix index 08555d12640f..6abae18c5c66 100644 --- a/nixpkgs/pkgs/applications/science/math/readstat/default.nix +++ b/nixpkgs/pkgs/applications/science/math/readstat/default.nix @@ -16,6 +16,13 @@ stdenv.mkDerivation rec { url = "https://github.com/WizardMac/ReadStat/commit/211c342a1cfe46fb7fb984730dd7a29ff4752f35.patch"; hash = "sha256-nkaEgusylVu7NtzSzBklBuOnqO9qJPovf0qn9tTE6ls="; }) + + # Backport use-after-free: + # https://github.com/WizardMac/ReadStat/pull/298 + (fetchpatch { + url = "https://github.com/WizardMac/ReadStat/commit/718d49155e327471ed9bf4a8c157f849f285b46c.patch"; + hash = "sha256-9hmuFa05b4JlxSzquIxXArOGhbi27A+3y5gH1IDg+R0="; + }) ]; nativeBuildInputs = [ pkg-config autoreconfHook ]; diff --git a/nixpkgs/pkgs/applications/science/medicine/dcmtk/0001-Fix-cmake.patch b/nixpkgs/pkgs/applications/science/medicine/dcmtk/0001-Fix-cmake.patch deleted file mode 100644 index 053edac85b21..000000000000 --- a/nixpkgs/pkgs/applications/science/medicine/dcmtk/0001-Fix-cmake.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMake/dcmtk.pc.in b/CMake/dcmtk.pc.in -index 13c79c0d5..b1edf725c 100644 ---- a/CMake/dcmtk.pc.in -+++ b/CMake/dcmtk.pc.in -@@ -1,6 +1,6 @@ - prefix="@CMAKE_INSTALL_PREFIX@" - exec_prefix="${prefix}" -- libdir="${prefix}/@CMAKE_INSTALL_LIBDIR@" -+ libdir=@CMAKE_INSTALL_FULL_LIBDIR@" - includedir="${prefix}/include/" - - Name: DCMTK diff --git a/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix b/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix index 878f62c666e2..812606f9f03f 100644 --- a/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix +++ b/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix @@ -4,20 +4,17 @@ with lib; stdenv.mkDerivation rec { pname = "dcmtk"; - version = "3.6.7"; + version = "3.6.8"; src = fetchFromGitHub { owner = "DCMTK"; repo = pname; rev = "DCMTK-${version}"; - sha256 = "sha256-Pw99R6oGcLX6Z7s8ZnpbBBqcIvY9Rl/nw2PVGjpD3gY="; + hash = "sha256-PQR9+xSlfBvogv0p6AL/yapelJpsYteA4T4lPkOIfLc="; }; nativeBuildInputs = [ cmake ]; buildInputs = [ libpng zlib libtiff libxml2 openssl libiconv ]; - # This is only needed until https://github.com/DCMTK/dcmtk/pull/75/files is merged - patches = [ ./0001-Fix-cmake.patch ]; - doCheck = true; meta = { diff --git a/nixpkgs/pkgs/applications/science/misc/rink/default.nix b/nixpkgs/pkgs/applications/science/misc/rink/default.nix index 18b1e46fde2e..b7e523f67474 100644 --- a/nixpkgs/pkgs/applications/science/misc/rink/default.nix +++ b/nixpkgs/pkgs/applications/science/misc/rink/default.nix @@ -2,17 +2,17 @@ , libiconv, Security }: rustPlatform.buildRustPackage rec { - version = "0.6.3"; + version = "0.7.0"; pname = "rink"; src = fetchFromGitHub { owner = "tiffany352"; repo = "rink-rs"; rev = "v${version}"; - sha256 = "sha256-AhC3c6CpV0tlD6d/hFWt7hGj2UsXsOCeujkRSDlpvCM="; + sha256 = "sha256-5UrSJ/y6GxDUNaljal57JJY17NuI+2yLwVTwp+xBNxs="; }; - cargoSha256 = "sha256-Xo5iYwL4Db+GWMl5UXbPmj0Y0PJYR4Q0aUGnYCd+NB8="; + cargoHash = "sha256-G30NcP1ej01ygHzaxZ2OdgfksvXe/SCsmZFwamxlDvA="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ ncurses ] diff --git a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix index d279bd1e2cfd..085b44bf586c 100644 --- a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix +++ b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix @@ -6,14 +6,18 @@ python3.pkgs.buildPythonApplication rec { pname = "snakemake"; - version = "8.0.1"; + version = "8.2.1"; format = "setuptools"; src = fetchFromGitHub { owner = "snakemake"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-F4c/lgp7J6LLye+f3FpzaXz3zM7R+jXxTziPlVbxFxA="; + hash = "sha256-NpsDJuxH+NHvE735OCHaISPSOhYDxWiKqCb4Yk9DHf4="; + # https://github.com/python-versioneer/python-versioneer/issues/217 + postFetch = '' + sed -i "$out"/snakemake/_version.py -e 's#git_refnames = ".*"#git_refnames = " (tag: v${version})"#' + ''; }; postPatch = '' diff --git a/nixpkgs/pkgs/applications/science/physics/fasthenry/default.nix b/nixpkgs/pkgs/applications/science/physics/fasthenry/default.nix new file mode 100644 index 000000000000..6b9a73f6dd17 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/physics/fasthenry/default.nix @@ -0,0 +1,61 @@ +{ stdenv +, fetchFromGitHub +, lib +}: + +stdenv.mkDerivation rec { + pname = "fasthenry"; + # later versions are Windows only ports + # nixpkgs-update: no auto update + version = "3.0.1"; + + # we don't use the original MIT code at + # https://www.rle.mit.edu/cpg/research_codes.htm + # since the FastFieldSolvers S.R.L. version includes + # a couple of bug fixes + src = fetchFromGitHub { + owner = "ediloren"; + repo = "FastHenry2"; + rev = "R${version}"; + sha256 = "017kcri69zhyhii59kxj1ak0gyfn7jf0qp6p2x3nnljia8njdkcc"; + }; + + dontConfigure = true; + + preBuild = '' + makeFlagsArray=( + CC="gcc" + RM="rm" + SHELL="sh" + "all" + ) + '' + (if stdenv.isx86_64 then '' + makeFlagsArray+=( + CFLAGS="-fcommon -O -DFOUR -m64" + ); + '' else '' + makeFlagsArray+=( + CFLAGS="-fcommon -O -DFOUR" + ); + ''); + + installPhase = '' + mkdir -p $out/bin + cp -r bin/* $out/bin/ + mkdir -p $out/share/doc/${pname}-${version} + cp -r doc/* $out/share/doc/${pname}-${version} + mkdir -p $out/share/${pname}-${version}/examples + cp -r examples/* $out/share/${pname}-${version}/examples + ''; + + meta = with lib; { + description = "Multipole-accelerated inductance analysis program"; + longDescription = '' + Fasthenry is an inductance extraction program based on a + multipole-accelerated algorithm.''; + homepage = "https://www.fastfieldsolvers.com/fasthenry2.htm"; + license = licenses.lgpl2Only; + maintainers = with maintainers; [ fbeffa ]; + platforms = intersectLists (platforms.linux) (platforms.x86_64 ++ platforms.x86); + }; +} |