summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2023-03-18 22:22:45 +0100
committerDavid Seifert <soap@gentoo.org>2023-03-18 22:22:45 +0100
commit55b721f46cd975804608700185143ba4a06c20eb (patch)
tree0f2959048d383d15ca749790e29435363272d590
parentnet-libs/netwib: fix build with clang 16 (diff)
downloadgentoo-55b721f46cd975804608700185143ba4a06c20eb.tar.gz
gentoo-55b721f46cd975804608700185143ba4a06c20eb.tar.bz2
gentoo-55b721f46cd975804608700185143ba4a06c20eb.zip
app-crypt/ophcrack: fix LLD build
Closes: https://bugs.gentoo.org/828946 Closes: https://bugs.gentoo.org/889364 Signed-off-by: David Seifert <soap@gentoo.org>
-rw-r--r--app-crypt/ophcrack/files/ophcrack-3.8.0-buildsystem.patch223
-rw-r--r--app-crypt/ophcrack/files/ophcrack-ar.patch13
-rw-r--r--app-crypt/ophcrack/ophcrack-3.8.0-r1.ebuild (renamed from app-crypt/ophcrack/ophcrack-3.8.0.ebuild)35
3 files changed, 243 insertions, 28 deletions
diff --git a/app-crypt/ophcrack/files/ophcrack-3.8.0-buildsystem.patch b/app-crypt/ophcrack/files/ophcrack-3.8.0-buildsystem.patch
new file mode 100644
index 000000000000..fc4ec60c016c
--- /dev/null
+++ b/app-crypt/ophcrack/files/ophcrack-3.8.0-buildsystem.patch
@@ -0,0 +1,223 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -35,7 +35,7 @@
+ config \
+ config.h.in \
+ configure \
+- configure.in \
++ configure.ac \
+ COPYING \
+ INSTALL \
+ install-sh \
+@@ -82,13 +82,13 @@
+ tar cfj $(distdir).tar.bz2 $(distdir)
+ rm -rf $(distdir)
+
+-# automatic re-running of configure if the configure.in file has changed
+-configure: configure.in aclocal.m4
++# automatic re-running of configure if the configure.ac file has changed
++configure: configure.ac aclocal.m4
+ autoconf
+
+ # autoheader might not change config.h.in, so touch a stamp file
+ config.h.in: stamp-h.in
+-stamp-h.in: configure.in aclocal.m4
++stamp-h.in: configure.ac aclocal.m4
+ autoheader
+ echo timestamp > stamp-h.in
+
+--- a/configure.in
++++ b/configure.in
+@@ -68,7 +68,7 @@
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+-AC_PROG_RANLIB
++AC_CHECK_TOOL([AR], [ar])
+
+ if test "$GCC" = "yes"; then
+ CFLAGS="$CFLAGS -Wall -std=gnu9x -pedantic -I.."
+@@ -167,55 +167,8 @@
+ AC_CHECK_LIB([pthread], [pthread_mutex_init], [], [AC_MSG_ERROR([ophcrack requires libpthread.])])
+ fi
+
+-
+-AC_MSG_CHECKING(for libssl)
+-with_ssl=no
+-AC_ARG_WITH(libssl, AC_HELP_STRING(--with-libssl=DIR,use libssl in DIR),
+-[ case "$withval" in
+- no)
+- AC_MSG_RESULT(no)
+- ;;
+- *)
+- AC_MSG_RESULT(yes)
+- with_ssl=$withval
+- CFLAGS="$CFLAGS -I$with_ssl/include"
+- CXXFLAGS="$CXXFLAGS -I$with_ssl/include"
+- LIBS="$LIBS -L$with_ssl/lib -lssl -lcrypto"
+- ;;
+- esac ]
+-)
+-
+-if test "x$with_ssl" = "xno"; then
+- CHECK_SSL
+-fi
+-
+-with_expat=no
+-AC_ARG_WITH(libexpat, AC_HELP_STRING(--with-libexpat=DIR,use libexpat in DIR),
+-[ AC_MSG_CHECKING(for libexpat)
+- case "$withval" in
+- no)
+- AC_MSG_RESULT(no)
+- ;;
+- *)
+- AC_MSG_RESULT(yes)
+- with_expat=$withval
+- if test "x$enable_win32" = "xyes"; then
+- CFLAGS="$CFLAGS -I$with_expat/lib"
+- CXXFLAGS="$CXXFLAGS -I$with_expat/lib"
+- LIBS="$LIBS -L$with_expat"
+- LIBS_END="$LIBS_END -lexpat"
+- else
+- CFLAGS="$CFLAGS -I$with_expat/include"
+- CXXFLAGS="$CXXFLAGS -I$with_expat/include"
+- LIBS="$LIBS -L$with_expat/lib -lexpat"
+- fi
+- ;;
+- esac ]
+-)
+-
+-if test "x$with_expat" = "xno"; then
+- AC_CHECK_LIB([expat], [XML_ParserCreate], [], [AC_MSG_ERROR([ophcrack requires libexpat.])])
+-fi
++PKG_CHECK_MODULES([EXPAT], [expat])
++PKG_CHECK_MODULES([CRYPTO], [libcrypto])
+
+ AC_CHECK_LIB([m], [sqrt], [], [AC_MSG_ERROR([ophcrack requires libmath.])])
+
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -20,9 +20,16 @@
+
+ CC = @CC@
+
+-CPPFLAGS = @CPPFLAGS@
+-CFLAGS = @CFLAGS@ -Icore -Intproba
+-LDFLAGS = @LDFLAGS@ @LIBS@
++CPPFLAGS = @CPPFLAGS@ -Icore -Intproba
++CFLAGS = @CFLAGS@
++LIBS = @LIBS@
++LDFLAGS = @LDFLAGS@
++
++EXPAT_CFLAGS = @EXPAT_CFLAGS@
++EXPAT_LIBS = @EXPAT_LIBS@
++
++CRYPTO_CFLAGS = @CRYPTO_CFLAGS@
++CRYPTO_LIBS = @CRYPTO_LIBS@
+
+ SUBDIRS = core ntproba samdump2 test
+ @HAVE_GUI_TRUE@SUBDIRS += gui
+@@ -48,7 +55,7 @@
+ ophcrack: gui/main.cpp core ntproba samdump2
+ cp $< main.c
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c main.c -o main.o
+- $(CC) main.o $(ARCHIVES) -o $@ $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) main.o $(ARCHIVES) -o $@ $(EXPAT_LIBS) $(CRYPTO_LIBS) $(LIBS)
+ rm main.c main.o
+
+ gui: core ntproba samdump2
+--- a/src/common.mk.in
++++ b/src/common.mk.in
+@@ -23,7 +23,14 @@
+
+ CFLAGS = @CFLAGS@
+ CPPFLAGS = @CPPFLAGS@
+-LDFLAGS = @LDFLAGS@ @LIBS@
++LDFLAGS = @LDFLAGS@
++LIBS = @LIBS@
++
++EXPAT_CFLAGS = @EXPAT_CFLAGS@
++EXPAT_LIBS = @EXPAT_LIBS@
++
++CRYPTO_CFLAGS = @CRYPTO_CFLAGS@
++CRYPTO_LIBS = @CRYPTO_LIBS@
+
+ HEADERS = $(wildcard *.h)
+ SOURCES = $(wildcard *.c)
+@@ -32,11 +39,7 @@
+ all:
+
+ %.a:
+- ar r $@ $^
+- $(RANLIB) $@
+-
+-%.o: %.c
+- $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
++ $(AR) rcs $@ $^
+
+ clean_:
+ rm -f *.o *~
+--- a/src/core/Makefile.in
++++ b/src/core/Makefile.in
+@@ -17,7 +17,7 @@
+
+ include ../common.mk
+
+-CFLAGS += -I../.. -I../samdump2 -I../ntproba
++CPPFLAGS += -I../.. -I../samdump2 -I../ntproba $(CRYPTO_CFLAGS)
+
+ all: libophcrack.a
+
+--- a/src/gui/gui.pro.in
++++ b/src/gui/gui.pro.in
+@@ -30,7 +30,7 @@
+ ../ntproba/libntproba.a
+
+ PRE_TARGETDEPS += $$ARCHIVES
+-LIBS += $$ARCHIVES @LDFLAGS@ @LIBS@
++LIBS += $$ARCHIVES @LDFLAGS@ @EXPAT_LIBS@ @CRYPTO_LIBS@ @LIBS@
+
+ QMAKE_CC = @CC@
+ QMAKE_CXX = @CXX@
+--- a/src/ntproba/Makefile.in
++++ b/src/ntproba/Makefile.in
+@@ -17,6 +17,8 @@
+
+ include ../common.mk
+
++CPPFLAGS += $(EXPAT_CFLAGS) $(CRYPTO_CFLAGS)
++
+ all: libntproba.a
+
+ libntproba.a: $(OBJECTS)
+--- a/src/samdump2/Makefile.in
++++ b/src/samdump2/Makefile.in
+@@ -17,7 +17,7 @@
+
+ include ../common.mk
+
+-CFLAGS += -I../core
++CPPFLAGS += -I../core $(CRYPTO_CFLAGS)
+
+ all: libsamdump2.a
+
+--- a/src/test/Makefile.in
++++ b/src/test/Makefile.in
+@@ -17,7 +17,7 @@
+
+ include ../common.mk
+
+-CFLAGS += -I../.. -I../core -I../ntproba
++CPPFLAGS += -I../.. -I../core -I../ntproba
+
+ ARCHIVES = \
+ ../core/libophcrack.a \
+@@ -32,7 +32,7 @@
+ %.a:
+
+ test_%: test_%.o $(ARCHIVES)
+- $(CC) $^ -o $@ $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(EXPAT_LIBS) $(CRYPTO_LIBS) $(LIBS)
+
+ clean: clean_
+ rm -f $(TARGETS)
diff --git a/app-crypt/ophcrack/files/ophcrack-ar.patch b/app-crypt/ophcrack/files/ophcrack-ar.patch
deleted file mode 100644
index 422c17398d20..000000000000
--- a/app-crypt/ophcrack/files/ophcrack-ar.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/common.mk.in b/src/common.mk.in
-index 0f090a8..9c133e0 100644
---- a/src/common.mk.in
-+++ b/src/common.mk.in
-@@ -32,7 +32,7 @@ OBJECTS = $(SOURCES:%.c=%.o)
- all:
-
- %.a:
-- ar r $@ $^
-+ $(AR) r $@ $^
- $(RANLIB) $@
-
- %.o: %.c
diff --git a/app-crypt/ophcrack/ophcrack-3.8.0.ebuild b/app-crypt/ophcrack/ophcrack-3.8.0-r1.ebuild
index c74837410a94..2a8a1e16c775 100644
--- a/app-crypt/ophcrack/ophcrack-3.8.0.ebuild
+++ b/app-crypt/ophcrack/ophcrack-3.8.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit desktop toolchain-funcs qmake-utils
+inherit autotools desktop qmake-utils xdg
DESCRIPTION="A time-memory-trade-off-cracker"
HOMEPAGE="https://ophcrack.sourceforge.io/"
@@ -12,15 +12,17 @@ SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${P}.tar.bz
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="debug qt5 +tables"
+IUSE="gui +tables"
DEPEND="
- dev-libs/openssl:0=
+ dev-libs/openssl:=
dev-libs/expat
net-libs/netwib
- qt5? (
+ gui? (
dev-qt/qtcharts:5
+ dev-qt/qtcore:5
dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
)"
RDEPEND="
${DEPEND}
@@ -29,22 +31,25 @@ BDEPEND="
app-arch/unzip
virtual/pkgconfig"
-PATCHES=( "${FILESDIR}"/ophcrack-ar.patch )
+PATCHES=( "${FILESDIR}"/${P}-buildsystem.patch )
-src_configure() {
- tc-export AR
+src_prepare() {
+ default
+ eautoreconf
+}
+src_configure() {
# bug #765229
- export PATH="$(qt5_get_bindir):${PATH}"
+ use gui && export PATH="$(qt5_get_bindir):${PATH}"
- econf \
- $(use_enable debug) \
- $(use_enable qt5 gui)
+ econf $(use_enable gui)
}
src_install() {
default
- newicon src/gui/pixmaps/os.xpm ophcrack.xpm
- make_desktop_entry "${PN}" OphCrack ophcrack
+ if use gui; then
+ newicon src/gui/pixmaps/os.xpm ophcrack.xpm
+ make_desktop_entry "${PN}" OphCrack ophcrack
+ fi
}