Merge pull request #168737 from NixOS/staging-next
commit
95af2245a3
@ -1,42 +0,0 @@ |
||||
{ config, lib, stdenv, fetchurl, fetchpatch, zlib, pkg-config, mpg123, libogg, libvorbis, portaudio, libsndfile, flac |
||||
, usePulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "libopenmpt"; |
||||
version = "0.5.11"; |
||||
|
||||
outputs = [ "out" "lib" "dev" ]; |
||||
|
||||
src = fetchurl { |
||||
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; |
||||
sha256 = "1c54lldr2imjzhlhq5lvwhj7d5794xm97cby9pznr5wdjjay0sa4"; |
||||
}; |
||||
|
||||
patches = [ |
||||
# Fix pending upstream inclusion for gcc-12 include headers: |
||||
# https://github.com/OpenMPT/openmpt/pull/8 |
||||
(fetchpatch { |
||||
name = "gcc-12.patch"; |
||||
url = "https://github.com/OpenMPT/openmpt/commit/6e7a43190ef2f9ba0b3efc19b9527261b69ec8f7.patch"; |
||||
sha256 = "081m1rf09bbrlg52aihaajmld5dcnwbp6y7zpyik92mm332r330h"; |
||||
}) |
||||
]; |
||||
|
||||
enableParallelBuilding = true; |
||||
|
||||
nativeBuildInputs = [ pkg-config ]; |
||||
buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ] |
||||
++ lib.optional usePulseAudio libpulseaudio; |
||||
|
||||
configureFlags = lib.optional (!usePulseAudio) "--without-pulseaudio"; |
||||
|
||||
doCheck = true; |
||||
|
||||
meta = with lib; { |
||||
description = "A cross-platform command-line based module file player"; |
||||
homepage = "https://lib.openmpt.org/libopenmpt/"; |
||||
license = licenses.bsd3; |
||||
maintainers = with maintainers; [ OPNA2608 ]; |
||||
platforms = platforms.unix; |
||||
}; |
||||
} |
@ -1,91 +0,0 @@ |
||||
{ stdenv |
||||
, runCommand |
||||
, fetchFromGitHub |
||||
, pulseaudio |
||||
, pkg-config |
||||
, ffmpeg |
||||
, patchelf |
||||
, fdk_aac |
||||
, libtool |
||||
, ldacbt |
||||
, cmake |
||||
, bluez |
||||
, dbus |
||||
, sbc |
||||
, lib |
||||
}: |
||||
|
||||
let |
||||
pulseSources = runCommand "pulseaudio-sources" {} '' |
||||
mkdir $out |
||||
if [ -d ${pulseaudio.src} ]; then |
||||
ln -s ${pulseaudio.src}/* $out/ |
||||
else |
||||
tar -xf ${pulseaudio.src} |
||||
mv pulseaudio*/* $out/ |
||||
fi |
||||
''; |
||||
|
||||
in stdenv.mkDerivation rec { |
||||
pname = "pulseaudio-modules-bt"; |
||||
version = "1.4"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "EHfive"; |
||||
repo = "pulseaudio-modules-bt"; |
||||
rev = "v${version}"; |
||||
sha256 = "0bzg6x405j39axnkvc6n6vkl1hv1frk94y1i9sl170081bk23asd"; |
||||
}; |
||||
|
||||
patches = [ |
||||
./fix-install-path.patch |
||||
]; |
||||
|
||||
nativeBuildInputs = [ |
||||
pkg-config |
||||
patchelf |
||||
cmake |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
pulseaudio |
||||
ffmpeg |
||||
fdk_aac |
||||
libtool |
||||
ldacbt |
||||
bluez |
||||
dbus |
||||
sbc |
||||
]; |
||||
|
||||
postPatch = '' |
||||
# Upstream bundles pulseaudio as a submodule |
||||
rm -r pa |
||||
ln -s ${pulseSources} pa |
||||
|
||||
# Pulseaudio version is detected with a -rebootstrapped suffix which build system assumptions |
||||
substituteInPlace config.h.in --replace PulseAudio_VERSION ${pulseaudio.version} |
||||
substituteInPlace CMakeLists.txt --replace '${"\${PULSE_DIR}"}' ${pulseaudio.pulseDir} |
||||
|
||||
# Fraunhofer recommends to enable afterburner but upstream has it set to false by default |
||||
substituteInPlace src/modules/bluetooth/a2dp/a2dp_aac.c \ |
||||
--replace "info->aac_afterburner = false;" "info->aac_afterburner = true;" |
||||
''; |
||||
|
||||
postFixup = '' |
||||
for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do |
||||
orig_rpath=$(patchelf --print-rpath "$so") |
||||
patchelf \ |
||||
--set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg}/lib:$out/${pulseaudio.pulseDir}/modules:$orig_rpath" \ |
||||
"$so" |
||||
done |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://github.com/EHfive/pulseaudio-modules-bt"; |
||||
description = "LDAC, aptX, aptX HD, AAC codecs (A2DP Audio) support for Linux PulseAudio"; |
||||
platforms = platforms.linux; |
||||
license = licenses.mit; |
||||
maintainers = with maintainers; [ adisbladis ]; |
||||
}; |
||||
} |
@ -1,11 +0,0 @@ |
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 8d20dbf..63fe7ba 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -213,5 +213,4 @@ INSTALL(TARGETS
|
||||
module-bluez5-device
|
||||
module-bluetooth-discover
|
||||
module-bluetooth-policy
|
||||
- LIBRARY DESTINATION ${PulseAudio_modlibexecdir})
|
||||
-
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PULSE_DIR}/modules/)
|
@ -1,64 +0,0 @@ |
||||
# New rust versions should first go to staging. |
||||
# Things to check after updating: |
||||
# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin: |
||||
# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github |
||||
# This testing can be also done by other volunteers as part of the pull |
||||
# request review, in case platforms cannot be covered. |
||||
# 2. The LLVM version used for building should match with rust upstream. |
||||
# Check the version number in the src/llvm-project git submodule in: |
||||
# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules |
||||
# 3. Firefox and Thunderbird should still build on x86_64-linux. |
||||
|
||||
{ stdenv, lib |
||||
, buildPackages |
||||
, newScope, callPackage |
||||
, CoreFoundation, Security, SystemConfiguration |
||||
, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost |
||||
, makeRustPlatform |
||||
, llvmPackages_11 |
||||
, llvmPackages_13, llvm_13 |
||||
} @ args: |
||||
|
||||
import ./default.nix { |
||||
rustcVersion = "1.59.0"; |
||||
rustcSha256 = "sha256-p8juruhb/O+EyWsCsxcdHmVA0VF5/4Pd3Z6vuhhfhfk="; |
||||
|
||||
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_13.libllvm.override { enableSharedLibraries = true; }; |
||||
llvmSharedForHost = pkgsBuildHost.llvmPackages_13.libllvm.override { enableSharedLibraries = true; }; |
||||
llvmSharedForTarget = pkgsBuildTarget.llvmPackages_13.libllvm.override { enableSharedLibraries = true; }; |
||||
|
||||
llvmBootstrapForDarwin = llvmPackages_11; |
||||
|
||||
# For use at runtime |
||||
llvmShared = llvm_13.override { enableSharedLibraries = true; }; |
||||
|
||||
# Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox |
||||
llvmPackagesForBuild = pkgsBuildBuild.llvmPackages_13; |
||||
|
||||
# Note: the version MUST be one version prior to the version we're |
||||
# building |
||||
bootstrapVersion = "1.58.1"; |
||||
|
||||
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}` |
||||
bootstrapHashes = { |
||||
i686-unknown-linux-gnu = "c3d282cd96cc9e5292e62db1ebb9fa6d5b738f4684d5ece9883f7472e2f76ad4"; |
||||
x86_64-unknown-linux-gnu = "4fac6df9ea49447682c333e57945bebf4f9f45ec7b08849e507a64b2ccd5f8fb"; |
||||
x86_64-unknown-linux-musl = "7036e34eadc8ce22d16b0625919d9f2244ca49a5441d6599f4822116c181d272"; |
||||
arm-unknown-linux-gnueabihf = "739389d46c5862b0e67d01dece99aa3db2229e055a3d7f7624679c55b6c33e06"; |
||||
armv7-unknown-linux-gnueabihf = "6cede2c7795e8126b0f17b1032d52500e594bac64c7d190bdc0ac1c832ef30bd"; |
||||
aarch64-unknown-linux-gnu = "ce557516593e4526709b0f33c2e1d7c932b3ddf76af94c2417d8d667921ce90c"; |
||||
aarch64-unknown-linux-musl = "b1533fdeeda483a3633617fd18a79d8fad7821331614b8dc13efd8b22acc30f5"; |
||||
x86_64-apple-darwin = "d0044680fc132a721481b130a0a4282a444867f423efdb890fe13e447966412f"; |
||||
aarch64-apple-darwin = "00b44985bc87e53c53d92622fb10226f09e9f25c79db48a77c0a769a36f83b1e"; |
||||
powerpc64le-unknown-linux-gnu = "b15baef702cbd6f0ea2bef7bf98ca7ce5644f2beb219028e8a12e7053da4c849"; |
||||
riscv64gc-unknown-linux-gnu = "d8ea2b11a4b24d1169fa3190127488b951b8bdef28293a4129ddd46c0ba9469b"; |
||||
mips64el-unknown-linux-gnuabi64 = "4f03bc972ae784d4f66cfa77215b369723531e67f647de9f49ce9fc21e5691af"; |
||||
}; |
||||
|
||||
selectRustPackage = pkgs: pkgs.rust_1_59; |
||||
|
||||
rustcPatches = [ |
||||
]; |
||||
} |
||||
|
||||
(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_11" "llvmPackages_13" "llvm_13"]) |
@ -0,0 +1,64 @@ |
||||
# New rust versions should first go to staging. |
||||
# Things to check after updating: |
||||
# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin: |
||||
# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github |
||||
# This testing can be also done by other volunteers as part of the pull |
||||
# request review, in case platforms cannot be covered. |
||||
# 2. The LLVM version used for building should match with rust upstream. |
||||
# Check the version number in the src/llvm-project git submodule in: |
||||
# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules |
||||
# 3. Firefox and Thunderbird should still build on x86_64-linux. |
||||
|
||||
{ stdenv, lib |
||||
, buildPackages |
||||
, newScope, callPackage |
||||
, CoreFoundation, Security, SystemConfiguration |
||||
, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost |
||||
, makeRustPlatform |
||||
, llvmPackages_11 |
||||
, llvmPackages_14, llvm_14 |
||||
} @ args: |
||||
|
||||
import ./default.nix { |
||||
rustcVersion = "1.60.0"; |
||||
rustcSha256 = "1drqr0a26x1rb2w3kj0i6abhgbs3jx5qqkrcwbwdlx7n3inq5ji0"; |
||||
|
||||
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_14.libllvm.override { enableSharedLibraries = true; }; |
||||
llvmSharedForHost = pkgsBuildHost.llvmPackages_14.libllvm.override { enableSharedLibraries = true; }; |
||||
llvmSharedForTarget = pkgsBuildTarget.llvmPackages_14.libllvm.override { enableSharedLibraries = true; }; |
||||
|
||||
llvmBootstrapForDarwin = llvmPackages_11; |
||||
|
||||
# For use at runtime |
||||
llvmShared = llvm_14.override { enableSharedLibraries = true; }; |
||||
|
||||
# Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox |
||||
llvmPackagesForBuild = pkgsBuildBuild.llvmPackages_14; |
||||
|
||||
# Note: the version MUST be one version prior to the version we're |
||||
# building |
||||
bootstrapVersion = "1.59.0"; |
||||
|
||||
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}` |
||||
bootstrapHashes = { |
||||
i686-unknown-linux-gnu = "f57ebfafed1e857b2b1dc1a22cf1133766f68a0759dc2f717dec54a8d4385dec"; |
||||
x86_64-unknown-linux-gnu = "0c1c2da3fa26372e5178123aa5bb0fdcd4933fbad9bfb268ffbd71807182ecae"; |
||||
x86_64-unknown-linux-musl = "c0ae76fa4bb0f1c85b86b9f7637db0fddf5084ce4c8f86c4d4acc3c41813201f"; |
||||
arm-unknown-linux-gnueabihf = "f934ddd8533d5df922e3397a5d30404930c5992c6c91c72d3e1475e2978e8793"; |
||||
armv7-unknown-linux-gnueabihf = "acb0f793c517de927b17e1c85135f6d58ae7430a8bd094a92009bcf0d4bbb8eb"; |
||||
aarch64-unknown-linux-gnu = "ab5da30a3de5433e26cbc74c56b9d97b569769fc2e456fc54378adc8baaee4f0"; |
||||
aarch64-unknown-linux-musl = "a3f8afdf23c98e6d25bf3b4bfcf5e9a4712f4c425f3754500931232d946204a9"; |
||||
x86_64-apple-darwin = "d82204f536af0c7bfd2ea2213dc46b99911860cfc5517f7321244412ae96f159"; |
||||
aarch64-apple-darwin = "5449ae915982967bae97746ce8bea30844f9ab40b4ee4da392b9997e0e7b2926"; |
||||
powerpc64le-unknown-linux-gnu = "6892a706ea8118344a4f4624b57a99460a784b5b30cccd9df430c33008d341f3"; |
||||
riscv64gc-unknown-linux-gnu = "e0cb22c2383d73b3928c17a630ae8d37f6787ddcea7871c9b3e21fd4560226b2"; |
||||
mips64el-unknown-linux-gnuabi64 = "2e2c404741b1dd02b5d73361f187568a91a8531997ade41bd855eca3972e2a5b"; |
||||
}; |
||||
|
||||
selectRustPackage = pkgs: pkgs.rust_1_60; |
||||
|
||||
rustcPatches = [ |
||||
]; |
||||
} |
||||
|
||||
(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_11" "llvmPackages_14" "llvm_14"]) |
@ -1,13 +0,0 @@ |
||||
--- a/src/tools/rustfmt/src/ignore_path.rs
|
||||
+++ b/src/tools/rustfmt/src/ignore_path.rs
|
||||
@@ -37,9 +37,9 @@
|
||||
#[nightly_only_test]
|
||||
#[test]
|
||||
fn test_ignore_path_set() {
|
||||
- use std::path::{Path, PathBuf};
|
||||
use crate::config::{Config, FileName};
|
||||
use crate::ignore_path::IgnorePathSet;
|
||||
+ use std::path::{Path, PathBuf};
|
||||
|
||||
let config =
|
||||
Config::from_toml(r#"ignore = ["foo.rs", "bar_dir/*"]"#, Path::new("")).unwrap();
|
@ -1,15 +1,15 @@ |
||||
{ patchSet, useRailsExpress, ops, patchLevel, fetchpatch }: |
||||
|
||||
{ |
||||
"2.7.5" = ops useRailsExpress [ |
||||
"2.7.6" = ops useRailsExpress [ |
||||
"${patchSet}/patches/ruby/2.7/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch" |
||||
"${patchSet}/patches/ruby/2.7/head/railsexpress/02-improve-gc-stats.patch" |
||||
"${patchSet}/patches/ruby/2.7/head/railsexpress/03-more-detailed-stacktrace.patch" |
||||
]; |
||||
"3.0.3" = ops useRailsExpress [ |
||||
"3.0.4" = ops useRailsExpress [ |
||||
"${patchSet}/patches/ruby/3.0/head/railsexpress/01-improve-gc-stats.patch" |
||||
"${patchSet}/patches/ruby/3.0/head/railsexpress/02-malloc-trim.patch" |
||||
]; |
||||
"3.1.1" = ops useRailsExpress [ # no patches yet (2021-12-25) |
||||
"3.1.2" = ops useRailsExpress [ # no patches yet (2021-12-25) |
||||
]; |
||||
} |
||||
|
@ -0,0 +1,87 @@ |
||||
From 8e85d27f9ccfe152fc1b891c19f125915a907493 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Tue, 1 Oct 2019 12:03:33 +0200
|
||||
Subject: [PATCH] Use `Gem::Package` like object instead of monkey patching.
|
||||
|
||||
1. This is similar to what RubyGems does and it is less magic [[1]].
|
||||
2. It avoids deprecated code paths in RubyGems [[2]].
|
||||
|
||||
[1]: https://github.com/rubygems/rubygems/blob/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L151
|
||||
[2]: https://github.com/rubygems/rubygems/blob/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L187
|
||||
|
||||
(cherry picked from commit e960ef6f18a25c637c54f00c75bb6c24f8ab55d0)
|
||||
---
|
||||
tool/rbinstall.rb | 47 +++++++++++++++++++++++++++--------------------
|
||||
1 file changed, 27 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
|
||||
index 060390626f..28ae8c409a 100755
|
||||
--- a/tool/rbinstall.rb
|
||||
+++ b/tool/rbinstall.rb
|
||||
@@ -710,28 +710,34 @@ def remove_prefix(prefix, string)
|
||||
end
|
||||
end
|
||||
|
||||
- class UnpackedInstaller < Gem::Installer
|
||||
- module DirPackage
|
||||
- def extract_files(destination_dir, pattern = "*")
|
||||
- path = File.dirname(@gem.path)
|
||||
- return if path == destination_dir
|
||||
- File.chmod(0700, destination_dir)
|
||||
- mode = pattern == "bin/*" ? $script_mode : $data_mode
|
||||
- spec.files.each do |f|
|
||||
- src = File.join(path, f)
|
||||
- dest = File.join(without_destdir(destination_dir), f)
|
||||
- makedirs(dest[/.*(?=\/)/m])
|
||||
- install src, dest, :mode => mode
|
||||
- end
|
||||
- File.chmod($dir_mode, destination_dir)
|
||||
+ class DirPackage
|
||||
+ attr_reader :spec
|
||||
+
|
||||
+ attr_accessor :dir_mode
|
||||
+ attr_accessor :prog_mode
|
||||
+ attr_accessor :data_mode
|
||||
+
|
||||
+ def initialize(spec)
|
||||
+ @spec = spec
|
||||
+ @src_dir = File.dirname(@spec.loaded_from)
|
||||
+ end
|
||||
+
|
||||
+ def extract_files(destination_dir, pattern = "*")
|
||||
+ path = @src_dir
|
||||
+ return if path == destination_dir
|
||||
+ File.chmod(0700, destination_dir)
|
||||
+ mode = pattern == "bin/*" ? $script_mode : $data_mode
|
||||
+ spec.files.each do |f|
|
||||
+ src = File.join(path, f)
|
||||
+ dest = File.join(without_destdir(destination_dir), f)
|
||||
+ makedirs(dest[/.*(?=\/)/m])
|
||||
+ install src, dest, :mode => mode
|
||||
end
|
||||
+ File.chmod($dir_mode, destination_dir)
|
||||
end
|
||||
+ end
|
||||
|
||||
- def initialize(spec, *options)
|
||||
- super(spec.loaded_from, *options)
|
||||
- @package.extend(DirPackage).spec = spec
|
||||
- end
|
||||
-
|
||||
+ class UnpackedInstaller < Gem::Installer
|
||||
def write_cache_file
|
||||
end
|
||||
|
||||
@@ -890,7 +896,8 @@ def install_default_gem(dir, srcdir)
|
||||
if File.directory?(ext = "#{gem_ext_dir}/#{spec.full_name}")
|
||||
spec.extensions[0] ||= "-"
|
||||
end
|
||||
- ins = RbInstall::UnpackedInstaller.new(spec, options)
|
||||
+ package = RbInstall::DirPackage.new spec
|
||||
+ ins = RbInstall::UnpackedInstaller.new(package, options)
|
||||
puts "#{INDENT}#{spec.name} #{spec.version}"
|
||||
ins.install
|
||||
File.chmod($data_mode, File.join(install_dir, "specifications", "#{spec.full_name}.gemspec"))
|
||||
--
|
||||
2.35.1
|
||||
|
@ -0,0 +1,66 @@ |
||||
{ config |
||||
, lib |
||||
, stdenv |
||||
, fetchurl |
||||
, zlib |
||||
, pkg-config |
||||
, mpg123 |
||||
, libogg |
||||
, libvorbis |
||||
, portaudio |
||||
, libsndfile |
||||
, flac |
||||
, usePulseAudio ? config.pulseaudio or stdenv.isLinux |
||||
, libpulseaudio |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "libopenmpt"; |
||||
version = "0.6.2"; |
||||
|
||||
outputs = [ "out" "dev" "bin" ]; |
||||
|
||||
src = fetchurl { |
||||
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; |
||||
sha256 = "1dp645gg6d3pzjh82srq1d7qvyxi5h22k7yfdjiyzbyry8pxdh2h"; |
||||
}; |
||||
|
||||
enableParallelBuilding = true; |
||||
|
||||
nativeBuildInputs = [ |
||||
pkg-config |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
zlib |
||||
mpg123 |
||||
libogg |
||||
libvorbis |
||||
portaudio |
||||
libsndfile |
||||
flac |
||||
] ++ lib.optional usePulseAudio libpulseaudio; |
||||
|
||||
configureFlags = lib.optional (!usePulseAudio) "--without-pulseaudio"; |
||||
|
||||
doCheck = true; |
||||
|
||||
postFixup = '' |
||||
moveToOutput share/doc $dev |
||||
''; |
||||
|
||||
passthru.updateScript = ./update.sh; |
||||
|
||||
meta = with lib; { |
||||
description = "Cross-platform C++ and C library to decode tracked music files into a raw PCM audio stream"; |
||||
longDescription = '' |
||||
libopenmpt is a cross-platform C++ and C library to decode tracked music files (modules) into a raw PCM audio stream. |
||||
openmpt123 is a cross-platform command-line or terminal based module file player. |
||||
libopenmpt is based on the player code of the OpenMPT project. |
||||
''; |
||||
homepage = "https://lib.openmpt.org/libopenmpt/"; |
||||
license = licenses.bsd3; |
||||
maintainers = with maintainers; [ OPNA2608 ]; |
||||
platforms = platforms.unix; |
||||
}; |
||||
} |
@ -0,0 +1,31 @@ |
||||
#!/usr/bin/env nix-shell |
||||
#!nix-shell -i bash -p common-updater-scripts curl xmlstarlet |
||||
|
||||
attr=libopenmpt |
||||
|
||||
set -eu -o pipefail |
||||
|
||||
# Get update notifications, remove updates for libopenmpt-modplug, find latest eligible & extract versions |
||||
versions="$( |
||||
curl -s 'https://lib.openmpt.org/libopenmpt/feed.xml' | |
||||
xmlstarlet sel -N atom="http://www.w3.org/2005/Atom" -t -m /atom:feed/atom:entry -v atom:title -n | |
||||
grep -v 'libopenmpt-modplug' | head -n1 | |
||||
grep -Eo '([0-9][^,\s]+)' | tr '\n' ' ' |
||||
)" |
||||
echo "Latest $attr versions: $versions" |
||||
|
||||
# Find a version that is > current version and not a rc |
||||
# rc's have different download path and a full release will usually follow shortly |
||||
currentVersion="$(nix-instantiate --eval -E "with import ./. {}; $attr.version" | tr -d '"')" |
||||
echo "Current $attr version: $currentVersion" |
||||
for version in $versions; do |
||||
(echo "$version" | grep -q 'rc') && continue |
||||
[ "$version" = "$(printf '%s\n%s' "$version" "$currentVersion" | sort -V | head -n1)" ] && continue |
||||
|
||||
echo "Updating to $version. Please check if other versions qualify for backport to stable!" |
||||
update-source-version "$attr" "$version" |
||||
exit 0 |
||||
done |
||||
|
||||
echo "No version eligible for bump." |
||||
exit 0 |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue