diff --git a/info.yml b/info.yml new file mode 100644 index 0000000..596c912 --- /dev/null +++ b/info.yml @@ -0,0 +1,20 @@ +name: json-c +description: A JSON implementation in C +version: "0.18" +revision: 2 +url: https://github.com/json-c/json-c +license: MIT +maintainers: + - enumdev@enumerated.dev +architecture: any +type: source +depends: + - glibc +make_depends: + - cmake + - ninja +downloads: + - url: https://s3.amazonaws.com/json-c_releases/releases/json-c-${BPM_PKG_VERSION}.tar.gz + extract_to: ${BPM_SOURCE} + extract_strip_components: 1 + checksum: 876ab046479166b869afc6896d288183bbc0e5843f141200c677b3e8dfb11724 diff --git a/pkg.info b/pkg.info deleted file mode 100644 index 7c03997..0000000 --- a/pkg.info +++ /dev/null @@ -1,9 +0,0 @@ -name: json-c -description: A JSON implementation in C -version: 0.18 -url: https://github.com/json-c/json-c -license: MIT -architecture: any -depends: ["glibc"] -make_depends: ["cmake","ninja"] -type: source diff --git a/source.sh b/recipe.sh similarity index 50% rename from source.sh rename to recipe.sh index 6474cce..4975e23 100644 --- a/source.sh +++ b/recipe.sh @@ -1,45 +1,30 @@ -# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# This is the recipe.sh script. It is executed by BPM in a temporary directory when compiling a source package # BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT -DOWNLOAD="https://s3.amazonaws.com/json-c_releases/releases/json-c-${BPM_PKG_VERSION}.tar.gz" -FILENAME="${DOWNLOAD##*/}" - -# The prepare function is executed in the root of the temp directory -# This function is used for downloading files and putting them into the correct location -prepare() { - wget "$DOWNLOAD" - tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" -} - # The build function is executed in the source directory # This function is used to compile the source code build() { - mkdir build - cd build - - cmake -DCMAKE_BUILD_TYPE=None \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DBUILD_STATIC_LIBS=OFF \ - -DENABLE_THREADING=ON \ - -DENABLE_RDRAND=OFF \ - -G Ninja .. - ninja + cmake -B build \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_STATIC_LIBS=OFF \ + -DENABLE_THREADING=ON \ + -DENABLE_RDRAND=OFF + cmake --build build } # The check function is executed in the source directory # This function is used to run tests to verify the package has been compiled correctly check() { - cd build - ninja test + ctest --test-dir build } # The package function is executed in the source directory # This function is used to move the compiled files into the output directory package() { - cd build - DESTDIR="$BPM_OUTPUT" ninja install + DESTDIR="$BPM_OUTPUT" cmake --install build + # Install package license install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/json-c/COPYING }