Skip to content

Commit

Permalink
picosat-965 (untested)
Browse files Browse the repository at this point in the history
  • Loading branch information
fd00 committed Jan 25, 2025
1 parent 438bb48 commit 609ebd5
Show file tree
Hide file tree
Showing 3 changed files with 180 additions and 0 deletions.
69 changes: 69 additions & 0 deletions picosat/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
picosat
------------------------------------------
SAT solver

Runtime requirements:
cygwin-3.5.4-1
libpicosat-devel-965-1bl1
libpicosat1-965-1bl1
pkg-config-2.3.0-1

Build requirements:
(besides corresponding -devel packages)
binutils-2.43.1-1
cmake-3.28.3-1
cygport-0.36.9-1
gcc-core-12.4.0-3
ninja-1.12.1-1

Canonical website:
https://fmv.jku.at/picosat/

Canonical download:
https://fmv.jku.at/picosat/picosat-965.tar.gz

-------------------------------------------

Build instructions:
1. unpack picosat-965-X-src.tar.xz
2. if you use setup to install this src package,
it will be unpacked under /usr/src automatically
% cd /usr/src
% cygport ./picosat-965-X.cygport all

This will create:
/usr/src/picosat-965-X-src.tar.xz
/usr/src/picosat-965-X.tar.xz
/usr/src/libpicosat1-965-X.tar.xz
/usr/src/libpicosat-devel-965-X.tar.xz

-------------------------------------------

Files included in the binary package:

(picosat)
/usr/bin/picogcnf.exe
/usr/bin/picomcs.exe
/usr/bin/picomus.exe
/usr/bin/picosat.exe
/usr/share/doc/Cygwin/picosat.README
/usr/share/doc/picosat/LICENSE
/usr/share/doc/picosat/NEWS
/usr/share/doc/picosat/README
/usr/share/man/man1/picomus.1.gz
/usr/share/man/man1/picosat.1.gz

(libpicosat1)
/usr/bin/cygpicosat-1.dll

(libpicosat-devel)
/usr/include/picosat.h
/usr/lib/libpicosat.dll.a
/usr/lib/pkgconfig/picosat.pc

------------------

Port Notes:

----- version 965-1bl1 -----
Initial release by fd0 <https://github.com/fd00/>
59 changes: 59 additions & 0 deletions picosat/picosat-965-1bl1.cygport
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
HOMEPAGE="https://fmv.jku.at/${PN}/"
SRC_URI="
https://fmv.jku.at/${PN}/${P}.tar.gz
https://src.fedoraproject.org/rpms/${PN}/raw/rawhide/f/picosat.1
https://src.fedoraproject.org/rpms/${PN}/raw/rawhide/f/picomus.1
"
PATCH_URI="
https://sources.debian.org/data/main/p/picosat/965-2/debian/patches/verbose_output.patch
"

CATEGORY="Libs"
SUMMARY="SAT solver"
DESCRIPTION="${SUMMARY}"

LICENSE="MIT"
LICENSE_SPDX="SPDX-License-Identifier: MIT"
LICENSE_URI="LICENSE"

inherit cmake

export CPPFLAGS=""

CYGPORT_USE_UNSTABLE_API=1
src_patch_hook()
{
cd ${origsrcdir}/${SRC_DIR}
echo "#define PICOSAT_CC \"${CC}\"" > config.h
echo "#define PICOSAT_CFLAGS \"${CFLAGS}\"" >> config.h
echo "#define PICOSAT_VERSION \"${PV}\"" >> config.h
}

src_install()
{
cd ${B}
ninja_install

cd ${S}
doman *.1
}

PKG_NAMES="
picosat
libpicosat1
libpicosat-devel
"
picosat_CONTENTS="
usr/bin/*.exe
usr/share
"
libpicosat1_CONTENTS="
usr/bin/cyg*-1.dll
"
libpicosat_devel_CONTENTS="
usr/include
usr/lib
"
picosat_SUMMARY="${SUMMARY} (utilities)"
libpicosat1_SUMMARY="${SUMMARY} (runtime)"
libpicosat_devel_SUMMARY="${SUMMARY} (development)"
52 changes: 52 additions & 0 deletions picosat/picosat-965-1bl1.src.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
--- origsrc/picosat-965/CMakeLists.txt 1970-01-01 09:00:00.000000000 +0900
+++ src/picosat-965/CMakeLists.txt 2025-01-25 17:57:48.932593800 +0900
@@ -0,0 +1,36 @@
+cmake_minimum_required(VERSION 3.28)
+project(picosat
+ VERSION 965
+ DESCRIPTION "SAT solver"
+ HOMEPAGE_URL "https://fmv.jku.at/picosat/")
+
+include(GNUInstallDirs)
+include(CTest)
+
+add_library(libpicosat SHARED picosat.c version.c)
+set_target_properties(libpicosat PROPERTIES SOVERSION 1 OUTPUT_NAME picosat)
+
+add_executable(picosat app.c main.c)
+target_link_libraries(picosat libpicosat)
+add_executable(picomcs picomcs.c)
+target_link_libraries(picomcs libpicosat)
+add_executable(picomus picomus.c)
+target_link_libraries(picomus libpicosat)
+add_executable(picogcnf picogcnf.c)
+target_link_libraries(picogcnf libpicosat)
+
+install(TARGETS libpicosat
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+install(TARGETS picosat picomcs picomus picogcnf
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+install(FILES picosat.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+set(prefix ${CMAKE_INSTALL_PREFIX})
+set(exec_prefix ${CMAKE_INSTALL_PREFIX})
+set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
+set(includedir ${CMAKE_INSTALL_PREFIX}/include)
+configure_file(${CMAKE_SOURCE_DIR}/picosat.pc.in ${CMAKE_BINARY_DIR}/picosat.pc @ONLY)
+install(FILES ${CMAKE_BINARY_DIR}/picosat.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
--- origsrc/picosat-965/picosat.pc.in 1970-01-01 09:00:00.000000000 +0900
+++ src/picosat-965/picosat.pc.in 2025-01-25 17:57:58.181833800 +0900
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: picosat
+Description: SAT solver
+Version: @PROJECT_VERSION@
+Libs: -L${libdir} -lpicosat
+Cflags: -I${includedir}

0 comments on commit 609ebd5

Please sign in to comment.