import js-d3-flame-graph-4.0.7-1.el9
This commit is contained in:
		
						commit
						8f618d4caf
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					SOURCES/d3-flame-graph-4.0.7.tar.gz
 | 
				
			||||||
 | 
					SOURCES/js-d3-flame-graph-vendor-4.0.7-1.tar.xz
 | 
				
			||||||
							
								
								
									
										2
									
								
								.js-d3-flame-graph.metadata
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.js-d3-flame-graph.metadata
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					b80fbdf125fcadec5ec1b3d8acc216f6cbd4c2d5 SOURCES/d3-flame-graph-4.0.7.tar.gz
 | 
				
			||||||
 | 
					7dafbc87ec919cdb14e5b01fbdb115a75312f7fb SOURCES/js-d3-flame-graph-vendor-4.0.7-1.tar.xz
 | 
				
			||||||
@ -0,0 +1,62 @@
 | 
				
			|||||||
 | 
					diff --git a/package.json b/package.json
 | 
				
			||||||
 | 
					index 9469638..d81424f 100644
 | 
				
			||||||
 | 
					--- a/package.json
 | 
				
			||||||
 | 
					+++ b/package.json
 | 
				
			||||||
 | 
					@@ -61,5 +61,9 @@
 | 
				
			||||||
 | 
					     "d3-scale": "^3.2.1",
 | 
				
			||||||
 | 
					     "d3-selection": "^1.4.1",
 | 
				
			||||||
 | 
					     "d3-transition": "^1.3.2"
 | 
				
			||||||
 | 
					+  },
 | 
				
			||||||
 | 
					+  "resolutions": {
 | 
				
			||||||
 | 
					+    "crypto-browserify": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.1.1.tgz",
 | 
				
			||||||
 | 
					+    "http-signature": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.1.1.tgz"
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					diff --git a/webpack.config.js b/webpack.config.js
 | 
				
			||||||
 | 
					index 00e171a..8997a9f 100644
 | 
				
			||||||
 | 
					--- a/webpack.config.js
 | 
				
			||||||
 | 
					+++ b/webpack.config.js
 | 
				
			||||||
 | 
					@@ -8,6 +8,13 @@ const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin')
 | 
				
			||||||
 | 
					 const TerserPlugin = require('terser-webpack-plugin')
 | 
				
			||||||
 | 
					 const packageFile = require('./package.json')
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+// monkey patch crypto module to not use deprecated md4 hash algorithm,
 | 
				
			||||||
 | 
					+// which is removed in OpenSSL 3.0
 | 
				
			||||||
 | 
					+// https://github.com/webpack/webpack/issues/13572#issuecomment-923736472
 | 
				
			||||||
 | 
					+const crypto = require("crypto");
 | 
				
			||||||
 | 
					+const crypto_orig_createHash = crypto.createHash;
 | 
				
			||||||
 | 
					+crypto.createHash = algorithm => crypto_orig_createHash(algorithm == "md4" ? "sha256" : algorithm);
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 module.exports = [{
 | 
				
			||||||
 | 
					     context: path.join(__dirname, 'src'),
 | 
				
			||||||
 | 
					     entry: {
 | 
				
			||||||
 | 
					@@ -21,6 +28,9 @@ module.exports = [{
 | 
				
			||||||
 | 
					         libraryExport: 'default',
 | 
				
			||||||
 | 
					         libraryTarget: 'umd'
 | 
				
			||||||
 | 
					     },
 | 
				
			||||||
 | 
					+    node: {
 | 
				
			||||||
 | 
					+        crypto: false
 | 
				
			||||||
 | 
					+    },
 | 
				
			||||||
 | 
					     plugins: [
 | 
				
			||||||
 | 
					         new CopyWebpackPlugin([{
 | 
				
			||||||
 | 
					             from: 'flamegraph.css',
 | 
				
			||||||
 | 
					@@ -58,6 +68,9 @@ module.exports = [{
 | 
				
			||||||
 | 
					         library: ['flamegraph', '[name]'],
 | 
				
			||||||
 | 
					         libraryTarget: 'umd'
 | 
				
			||||||
 | 
					     },
 | 
				
			||||||
 | 
					+    node: {
 | 
				
			||||||
 | 
					+        crypto: false
 | 
				
			||||||
 | 
					+    },
 | 
				
			||||||
 | 
					     module: {
 | 
				
			||||||
 | 
					         rules: [{
 | 
				
			||||||
 | 
					             test: /\.js$/,
 | 
				
			||||||
 | 
					@@ -79,6 +92,9 @@ module.exports = [{
 | 
				
			||||||
 | 
					         path: path.resolve(__dirname, 'dist', 'templates'),
 | 
				
			||||||
 | 
					         filename: 'bundle.js'
 | 
				
			||||||
 | 
					     },
 | 
				
			||||||
 | 
					+    node: {
 | 
				
			||||||
 | 
					+        crypto: false
 | 
				
			||||||
 | 
					+    },
 | 
				
			||||||
 | 
					     plugins: [
 | 
				
			||||||
 | 
					         new CleanWebpackPlugin({
 | 
				
			||||||
 | 
					             protectWebpackAssets: false,
 | 
				
			||||||
							
								
								
									
										39
									
								
								SOURCES/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								SOURCES/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					VERSION := $(shell rpm --specfile *.spec --qf '%{VERSION}\n' | head -1)
 | 
				
			||||||
 | 
					RELEASE := $(shell rpm --specfile *.spec --qf '%{RELEASE}\n' | head -1 | cut -d. -f1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NAME       := d3-flame-graph
 | 
				
			||||||
 | 
					RPM_NAME   := js-$(NAME)
 | 
				
			||||||
 | 
					SOURCE_DIR := $(NAME)-$(VERSION)
 | 
				
			||||||
 | 
					SOURCE_TAR := $(NAME)-$(VERSION).tar.gz
 | 
				
			||||||
 | 
					VENDOR_TAR := $(RPM_NAME)-vendor-$(VERSION)-$(RELEASE).tar.xz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ALL_PATCHES     := $(sort $(wildcard *.patch))
 | 
				
			||||||
 | 
					VENDOR_PATCHES  := $(sort $(wildcard *.vendor.patch))
 | 
				
			||||||
 | 
					COND_PATCHES    := $(sort $(wildcard *.cond.patch))
 | 
				
			||||||
 | 
					REGULAR_PATCHES := $(filter-out $(VENDOR_PATCHES) $(COND_PATCHES),$(ALL_PATCHES))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					all: $(SOURCE_TAR) $(VENDOR_TAR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(SOURCE_TAR):
 | 
				
			||||||
 | 
						spectool -g $(RPM_NAME).spec
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(VENDOR_TAR): $(SOURCE_TAR)
 | 
				
			||||||
 | 
						rm -rf $(SOURCE_DIR)
 | 
				
			||||||
 | 
						tar xf $(SOURCE_TAR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Patches to apply before vendoring
 | 
				
			||||||
 | 
						for patch in $(REGULAR_PATCHES); do echo applying $$patch ...; patch -d $(SOURCE_DIR) -p1 --fuzz=0 < $$patch; done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Node.js
 | 
				
			||||||
 | 
						cd $(SOURCE_DIR) && yarn import && yarn install --pure-lockfile
 | 
				
			||||||
 | 
						./list_bundled_nodejs_packages.py $(SOURCE_DIR) >> $@.manifest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Patches to apply after vendoring
 | 
				
			||||||
 | 
						for patch in $(VENDOR_PATCHES); do echo applying $$patch ...; patch -d $(SOURCE_DIR) -p1 --fuzz=0 < $$patch; done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Create tarball
 | 
				
			||||||
 | 
						XZ_OPT=-9 time -p tar cJf $@ \
 | 
				
			||||||
 | 
							$(SOURCE_DIR)/node_modules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						rm -rf *.tar.gz *.tar.xz *.manifest *.rpm $(NAME)-*/
 | 
				
			||||||
							
								
								
									
										47
									
								
								SOURCES/list_bundled_nodejs_packages.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										47
									
								
								SOURCES/list_bundled_nodejs_packages.py
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env python3
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# generates Provides: bundled(npm(...)) = ... lines for each declared dependency and devDependency of package.json
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					import json
 | 
				
			||||||
 | 
					import re
 | 
				
			||||||
 | 
					from packaging import version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def read_declared_pkgs(package_json_path):
 | 
				
			||||||
 | 
					    with open(package_json_path) as f:
 | 
				
			||||||
 | 
					        package_json = json.load(f)
 | 
				
			||||||
 | 
					        return list(package_json['dependencies'].keys()) + list(package_json['devDependencies'].keys())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def read_installed_pkgs(yarn_lock_path):
 | 
				
			||||||
 | 
					    with open(yarn_lock_path) as f:
 | 
				
			||||||
 | 
					        lockfile = f.read()
 | 
				
			||||||
 | 
					        return re.findall(r'^"?'  # can start with a "
 | 
				
			||||||
 | 
					                          r'(.+?)@.+(?:,.*)?:\n'  # characters up to @
 | 
				
			||||||
 | 
					                          r'  version "(.+)"',  # and the version
 | 
				
			||||||
 | 
					                          lockfile, re.MULTILINE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def list_provides(declared_pkgs, installed_pkgs):
 | 
				
			||||||
 | 
					    for declared_pkg in declared_pkgs:
 | 
				
			||||||
 | 
					        # there can be multiple versions installed of one package (transitive dependencies)
 | 
				
			||||||
 | 
					        # but rpm doesn't support Provides: with a single package and multiple versions
 | 
				
			||||||
 | 
					        # so let's declare the oldest version here
 | 
				
			||||||
 | 
					        versions = [version.parse(pkg_version)
 | 
				
			||||||
 | 
					                    for pkg_name, pkg_version in installed_pkgs if pkg_name == declared_pkg]
 | 
				
			||||||
 | 
					        oldest_version = sorted(versions)[0]
 | 
				
			||||||
 | 
					        yield f"Provides: bundled(npm({declared_pkg})) = {oldest_version}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == "__main__":
 | 
				
			||||||
 | 
					    if len(sys.argv) != 2:
 | 
				
			||||||
 | 
					        print(f"usage: {sys.argv[0]} package-X.Y.Z/", file=sys.stdout)
 | 
				
			||||||
 | 
					        sys.exit(1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    package_dir = sys.argv[1]
 | 
				
			||||||
 | 
					    declared_pkgs = read_declared_pkgs(f"{package_dir}/package.json")
 | 
				
			||||||
 | 
					    installed_pkgs = read_installed_pkgs(f"{package_dir}/yarn.lock")
 | 
				
			||||||
 | 
					    provides = list_provides(declared_pkgs, installed_pkgs)
 | 
				
			||||||
 | 
					    for provide in sorted(provides):
 | 
				
			||||||
 | 
					        print(provide)
 | 
				
			||||||
							
								
								
									
										133
									
								
								SPECS/js-d3-flame-graph.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								SPECS/js-d3-flame-graph.spec
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,133 @@
 | 
				
			|||||||
 | 
					%global         pkgname d3-flame-graph
 | 
				
			||||||
 | 
					%global         github https://github.com/spiermar/d3-flame-graph
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Name:           js-d3-flame-graph
 | 
				
			||||||
 | 
					Version:        4.0.7
 | 
				
			||||||
 | 
					Release:        1%{?dist}
 | 
				
			||||||
 | 
					Summary:        A D3.js plugin that produces flame graphs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BuildArch:      noarch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					License:        ASL 2.0
 | 
				
			||||||
 | 
					URL:            %{github}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Source0:        %{github}/archive/%{version}/%{pkgname}-%{version}.tar.gz
 | 
				
			||||||
 | 
					# Note: In case there were no changes to this tarball, the NVR of this tarball
 | 
				
			||||||
 | 
					# lags behind the NVR of this package.
 | 
				
			||||||
 | 
					Source1:        js-d3-flame-graph-vendor-%{version}-1.tar.xz
 | 
				
			||||||
 | 
					Source2:        Makefile
 | 
				
			||||||
 | 
					Source3:        list_bundled_nodejs_packages.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Patch1:         001-remove-unused-frontend-crypto-and-patch-md4.patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BuildRequires:  web-assets-devel
 | 
				
			||||||
 | 
					BuildRequires:  nodejs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%if 0%{?fedora}
 | 
				
			||||||
 | 
					Requires:       web-assets-filesystem
 | 
				
			||||||
 | 
					%endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Bundled npm packages
 | 
				
			||||||
 | 
					Provides: bundled(npm(babel-preset-env)) = 1.7.0
 | 
				
			||||||
 | 
					Provides: bundled(npm(clean-webpack-plugin)) = 3.0.0
 | 
				
			||||||
 | 
					Provides: bundled(npm(copy-webpack-plugin)) = 5.1.1
 | 
				
			||||||
 | 
					Provides: bundled(npm(css-loader)) = 3.5.2
 | 
				
			||||||
 | 
					Provides: bundled(npm(d3-array)) = 2.4.0
 | 
				
			||||||
 | 
					Provides: bundled(npm(d3-dispatch)) = 1.0.6
 | 
				
			||||||
 | 
					Provides: bundled(npm(d3-ease)) = 1.0.6
 | 
				
			||||||
 | 
					Provides: bundled(npm(d3-format)) = 1.4.4
 | 
				
			||||||
 | 
					Provides: bundled(npm(d3-hierarchy)) = 1.1.9
 | 
				
			||||||
 | 
					Provides: bundled(npm(d3-scale)) = 3.2.1
 | 
				
			||||||
 | 
					Provides: bundled(npm(d3-selection)) = 1.4.1
 | 
				
			||||||
 | 
					Provides: bundled(npm(d3-transition)) = 1.3.2
 | 
				
			||||||
 | 
					Provides: bundled(npm(eslint)) = 6.8.0
 | 
				
			||||||
 | 
					Provides: bundled(npm(eslint-config-standard)) = 14.1.1
 | 
				
			||||||
 | 
					Provides: bundled(npm(eslint-loader)) = 4.0.0
 | 
				
			||||||
 | 
					Provides: bundled(npm(eslint-plugin-import)) = 2.20.2
 | 
				
			||||||
 | 
					Provides: bundled(npm(eslint-plugin-node)) = 11.1.0
 | 
				
			||||||
 | 
					Provides: bundled(npm(eslint-plugin-promise)) = 4.2.1
 | 
				
			||||||
 | 
					Provides: bundled(npm(eslint-plugin-standard)) = 4.0.1
 | 
				
			||||||
 | 
					Provides: bundled(npm(html-webpack-plugin)) = 4.2.0
 | 
				
			||||||
 | 
					Provides: bundled(npm(jest)) = 25.4.0
 | 
				
			||||||
 | 
					Provides: bundled(npm(prettier)) = 2.0.4
 | 
				
			||||||
 | 
					Provides: bundled(npm(script-ext-html-webpack-plugin)) = 2.1.4
 | 
				
			||||||
 | 
					Provides: bundled(npm(style-loader)) = 1.1.4
 | 
				
			||||||
 | 
					Provides: bundled(npm(terser-webpack-plugin)) = 1.4.3
 | 
				
			||||||
 | 
					Provides: bundled(npm(webpack)) = 4.42.1
 | 
				
			||||||
 | 
					Provides: bundled(npm(webpack-cli)) = 3.3.11
 | 
				
			||||||
 | 
					Provides: bundled(npm(webpack-dev-server)) = 3.10.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%description
 | 
				
			||||||
 | 
					A D3.js plugin that produces flame graphs from hierarchical data.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%package doc
 | 
				
			||||||
 | 
					Summary: Documentation and example files for js-d3-flame-graph
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%description doc
 | 
				
			||||||
 | 
					Documentation and example files for js-d3-flame-graph.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%prep
 | 
				
			||||||
 | 
					%setup -q -T -D -b 0 -n %{pkgname}-%{version}
 | 
				
			||||||
 | 
					%setup -q -T -D -b 1 -n %{pkgname}-%{version}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%patch1 -p1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%build
 | 
				
			||||||
 | 
					./node_modules/.bin/webpack --mode production
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%install
 | 
				
			||||||
 | 
					install -d -m 755 %{buildroot}/%{_datadir}/%{pkgname}
 | 
				
			||||||
 | 
					mv dist/templates/* %{buildroot}/%{_datadir}/%{pkgname}
 | 
				
			||||||
 | 
					rmdir dist/templates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					install -d -m 755 %{buildroot}/%{_jsdir}/%{pkgname}
 | 
				
			||||||
 | 
					cp -a dist/* %{buildroot}/%{_jsdir}/%{pkgname}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%check
 | 
				
			||||||
 | 
					./node_modules/.bin/jest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%files
 | 
				
			||||||
 | 
					%{_jsdir}/%{pkgname}
 | 
				
			||||||
 | 
					%{_datadir}/%{pkgname}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%license LICENSE
 | 
				
			||||||
 | 
					%doc README.md
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%files doc
 | 
				
			||||||
 | 
					%doc README.md examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%changelog
 | 
				
			||||||
 | 
					* Fri Oct 01 2021 Andreas Gerstmayr <agerstmayr@redhat.com> - 4.0.7-1
 | 
				
			||||||
 | 
					- update to 4.0.7 tagged upstream community sources, see CHANGELOG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.2-7
 | 
				
			||||||
 | 
					- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
 | 
				
			||||||
 | 
					  Related: rhbz#1991688
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Wed Jun 30 2021 Andreas Gerstmayr <agerstmayr@redhat.com> - 3.0.2-6
 | 
				
			||||||
 | 
					- change webpack hash function to sha256
 | 
				
			||||||
 | 
					- remove unused cryptographic implementations
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.2-5
 | 
				
			||||||
 | 
					- Rebuilt for RHEL 9 BETA for openssl 3.0
 | 
				
			||||||
 | 
					  Related: rhbz#1971065
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.2-4
 | 
				
			||||||
 | 
					- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-3
 | 
				
			||||||
 | 
					- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-2
 | 
				
			||||||
 | 
					- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Fri Mar 20 2020 Andreas Gerstmayr <agerstmayr@redhat.com> 3.0.2-1
 | 
				
			||||||
 | 
					- initial version
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user