Skip to content

Commit

Permalink
Add QCDLoop Fortran
Browse files Browse the repository at this point in the history
* Add QCDLoop v1.98 in Fortran.
   - c.f. https://qcdloop.fnal.gov/
* Permission to license QCDLoop as MIT (previously unlicensed) was given by
  author R. Keith Ellis via email on 2025-02-03.
  • Loading branch information
matthewfeickert committed Feb 3, 2025
1 parent 6f943a2 commit 0aef66a
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 0 deletions.
40 changes: 40 additions & 0 deletions recipes/qcdloop-fortran/license.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
From 4cf02f788bae19ecf4ab5a0a11a3b9cbe83d86b9 Mon Sep 17 00:00:00 2001
From: Matthew Feickert <[email protected]>
Date: Mon, 3 Feb 2025 13:05:17 -0700
Subject: [PATCH] Add QCDLoop MIT license copyright R. Keith Ellis

---
LICENSE | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 LICENSE

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..bc2ad63
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2007 R. Keith Ellis
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
--
2.47.1

75 changes: 75 additions & 0 deletions recipes/qcdloop-fortran/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
{% set name = "qcdloop-fortran" %}
{% set version = "1.98" %}

package:
name: {{ name }}
version: {{ version }}

source:
url: https://qcdloop.fnal.gov/QCDLoop-{{ version }}.tar.gz
sha256: 917ba1daa6d526937a93e0e0b3392103660efdeef2880a0d9188bdc0ad9c0035
# QCDLoop was unversioned but permission was given by Keith Ellis to license under MIT on 2025-02-03
patches:
- license.patch

build:
number: 0

outputs:
- name: {{ name }}-static

build:
skip: true # [win]
script:
# Enable extended-source with '-ffixed-line-length-none' for long lines
# c.f. https://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html#index-ffixed-line-length-n
- cd ql
- make FC=$FC FFLAGS="$FFLAGS -std=legacy -Wall -ffixed-line-length-none"
- cd ..

# Install
- mv ql/libqcdloop.a $PREFIX/lib/

- mkdir -p $PREFIX/include/ql
- mv ql/*.mod $PREFIX/include/ql/

requirements:
build:
- {{ stdlib('c') }}
- {{ compiler('fortran') }}
- make
- libtool
run:
# QCDLoop calls FF functions
- ff-static

test:
source_files:
- test.f
requires:
- {{ compiler('fortran') }}
commands:
- test -f $PREFIX/lib/libqcdloop.a
- test -f $PREFIX/include/ql/qldiffi2.mod
- test -f $PREFIX/include/ql/solvequadratic.mod

- $FC test.f -o test $FFLAGS -I$PREFIX/include/ql -std=legacy $LDFLAGS -lqcdloop -lff
- ./test

about:
home: https://qcdloop.fnal.gov/
summary: 'QCDLoop: one-loop scalar integrals'
description: |
QCDLoop is software for one-loop scalar Feynman integrals, evaluated
close to four dimensions. For integrals with all massive internal lines
the integrals are all known, both analytically and numerically.
license: MIT
license_family: MIT
license_file: LICENSE
dev_url: https://qcdloop.fnal.gov/
doc_url: https://qcdloop.fnal.gov/

extra:
feedstock-name: qcdloop-fortran
recipe-maintainers:
- matthewfeickert

0 comments on commit 0aef66a

Please sign in to comment.